diff --git a/doc_mall/consumer/backup_doc/一客一价专属折扣改造设计方案.md b/doc_mall/consumer/backup_doc/一客一价专属折扣改造设计方案.md new file mode 100644 index 00000000..940131d0 --- /dev/null +++ b/doc_mall/consumer/backup_doc/一客一价专属折扣改造设计方案.md @@ -0,0 +1,89 @@ +# “一客一价” (客户专属单品折扣) 改造设计方案 + +## 1. 背景与业务痛点 +* **当前系统瓶颈**:目前系统仅支持“全局统一折扣”或“商品级统一折扣”。也就是说,如果给商品 A 设置了 8 折,那么所有 VIP 卡客户买商品 A 都是 8 折。 +* **新业务需求**:为了精细化管理客户(尤其是 B2B 批发客户或核心大客户),需要实现**客户维度与商品维度的交叉定价**。例如:核心客户张三由于拿货量大,商品 A 给他 7.5 折;而普通客户李四拿货少,商品 A 只能给他 9 折;同时,张三买商品 B 可能利润薄,这件只给 95 折。 +* **业务目标**:打造千人千面的私有价格体系(一客一价),增强熟客黏性。 + +--- + +## 2. 数据库设计 (Database Schema) + +由于需求属于“多对多”(多客户对应多商品,各有独立折扣价),必须引入一张新的映射关联表。 + +### 新增关联表:`ml_user_product_discounts` +我们需要在 Supabase 中创建这张记录专属折扣的桥接表。 + +```sql +CREATE TABLE ml_user_product_discounts ( + id UUID DEFAULT uuid_generate_v4() PRIMARY KEY, + user_id UUID NOT NULL, -- 关联:客户(买家) ID + product_id UUID NOT NULL, -- 关联:商品 ID + discount_rate NUMERIC NOT NULL, -- 该客户买该商品的专属折扣率 (例如 0.75) + created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + UNIQUE(user_id, product_id) -- 核心约束:保证同个客户对同个商品只有一条有效规则 +); + +-- 出于性能考虑,建议在 `user_id` 和 `product_id` 上添加索引,方便检索某个用户购物车里商品的价格。 +CREATE INDEX idx_user_discount_user ON ml_user_product_discounts(user_id); +``` + +*(附注:该表的数据由**商家端**维护分配,**买家端**在此表面前仅为“只读查询”角色。)* + +--- + +## 3. 商家端 (Merchant App) 功能拆解 + +系统需要提供给商家的管理入口从“发商品时”转移到“管客户时”。 + +### 3.1 【客户分析/管理】入口 +* 若当前缺少直接管理消费者的模块,需先建设一个简单的【客户列表页】,加载已在平台注册/下单过的用户。 +* 点击具体用户,进入【客户详情管理页】。 + +### 3.2 专属商品折扣分配功能 +* **功能入口**:在【客户详情页】底部增加按钮或标签卡——「配置专属折扣商品」。 +* **交互流程**: + 1. 商家调出平台的全量商品列表面板(可能带有搜索与分类)。 + 2. 商家勾选指定的若干个商品,将它们加入到此客户的“专属打折清单”中。 + 3. 出现在专属清单中的每一个商品,商家可通过步进器或输入框单独设置对于该客户的**专属折扣率**。 + 4. 提交保存后,数据 `UPSERT` 存入 `ml_user_product_discounts` 表。 + 5. 商家也可以随时将某个商品从该客户的专属清单中踢出(删除记录)。 + +### 3.3 系统融合建议 +* 如果商家发现给每个特定商品设价格太累,仍可以保留“商品通用VIP折扣”作为保底。 + +--- + +## 4. 消费者端 (Consumer App) 核心计价降级逻辑 (重要!) + +在价格体系变得复杂后,**消费者渲染的价格、加入购物车的价格、结算付款时的价格**,这三端必须遵循绝对严格的“逐层降级(Fallback)”查询机制。 + +**价格优先级链条设定如下(权重由高到低):** + +* **👑 T0 级别(最高):一客一价** + - 前端去查当前商品是否在 `ml_user_product_discounts` 里有当前用户的专属记录。如果有,以此为准。(如:张三专属 75 折) +* **🥇 T1 级别:单品通用 VIP 折扣** + - 如果 T0 没有,接着查 `ml_products` 中该商品的 `is_vip_discount` 是否为 true 且配置了 `vip_discount_rate`。如果有,以此为准。(如:全民VIP买此衣服 8 折) +* **🥈 T2 级别:全站全局 VIP 折扣** + - 如果 T1 也没有,接着查询该用户绑定等级的全局默认折扣(如:白银会员全场 95 折,如果在历史版本中还在生效的话)。 +* **🥉 T3 级别(底线):原价销售** + - 兜底机制,以原先的 `base_price`(销售商品原价)售卖。 + +### 4.1 查询性能优化 (购物车与订单结算) +**防止 N+1 查询问题**:当用户在购物车勾选了 20 个不同商品进行结算时,**绝对不能**在后端使用循环去数据库查 20 次个人折扣表! +* **正确做法**:将购物车里所有商品的 `product_id` 组装成一个数组。执行一次 `SELECT * FROM ml_user_product_discounts WHERE user_id = 'xxx' AND product_id IN (id1, id2, id3...);` 构建一个映射字典(Map/Hash),然后在内存在结算链中匹配。 + +--- + +## 5. 项目分期与落地计划 + +为了控制风险保障业务不中断,建议采取“两周敏捷迭代”策略。 + +* **Phase 1 (第一期):打通通道与数据库** + * 在 Supabase `ml_user_product_discounts` 建表与打入测试数据。 + * 改写买家端商品详情与结算页的逻辑,先完成**后端价格过滤模型**。这一步让消费者能准确以多级降级的形式算清最后的价格。 +* **Phase 2 (第二期):商家端可视化管理体系** + * 开发并上线商家的【客户管理页】。 + * 根据客户维度拉取列表,并制作批量打折与分配商品的界面。 + * 上线后通知业务方进行试发价。 \ No newline at end of file diff --git a/manifest.json b/manifest.json index 64972729..f1a87b28 100644 --- a/manifest.json +++ b/manifest.json @@ -47,7 +47,8 @@ "optimization": { "subPackages": true }, - "lazyCodeLoading": "requiredComponents" + "lazyCodeLoading": "requiredComponents", + "runmode": "liberate" }, "mp-alipay": { "appid": "", diff --git a/manifest.json.bak b/manifest.json.bak deleted file mode 100644 index f1a87b28..00000000 --- a/manifest.json.bak +++ /dev/null @@ -1,83 +0,0 @@ -{ - "name": "商城消费者端", - "appid": "__UNI__CONSUMER", - "description": "商城消费者端 - 购物、订单、会员等功能", - "versionName": "1.0.0", - "versionCode": "100", - "transformPx": false, - "app-plus": { - "usingComponents": true, - "nvueStyleCompiler": "uni-app", - "compilerVersion": 3, - "splashscreen": { - "alwaysShowBeforeRender": true, - "waiting": true, - "autoclose": true, - "delay": 0 - }, - "modules": {}, - "distribute": { - "android": { - "permissions": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "ios": {}, - "sdkConfigs": {} - } - }, - "quickapp": {}, - "mp-weixin": { - "appid": "", - "setting": { - "urlCheck": false, - "es6": true, - "postcss": true, - "minified": true, - "enhance": true - }, - "usingComponents": true, - "optimization": { - "subPackages": true - }, - "lazyCodeLoading": "requiredComponents", - "runmode": "liberate" - }, - "mp-alipay": { - "appid": "", - "usingComponents": true - }, - "mp-baidu": { - "usingComponents": true - }, - "mp-toutiao": { - "usingComponents": true - }, - "uniStatistics": { - "enable": false - }, - "vueVersion": "3", - "uni-app-x": {}, - "h5": { - "title": "商城消费者端", - "router": { - "mode": "hash", - "base": "./" - } - }, - "app-android": { - "distribute": { - "modules": {}, - "android": { - "usesCleartextTraffic": true - } - } - } -} diff --git a/pages.json b/pages.json index 6b81184b..eddfdfcd 100644 --- a/pages.json +++ b/pages.json @@ -5,10 +5,71 @@ "style": { "navigationBarTitleText": "用户登录", "navigationStyle": "custom" + } + }, +// { +// "path": "pages/mall/admin/homePage/index", +// "style": { +// "navigationBarTitleText": "管理后台", +// "navigationStyle": "custom" +// } +// }, + { + "path": "pages/user/boot", + "style": { + "navigationBarTitleText": "" } }, { - "path": "pages/main/index", + "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/mall/consumer/index", "style": { "navigationBarTitleText": "首页", "navigationStyle": "custom", @@ -16,24 +77,29 @@ } }, { - "path": "pages/main/category", + "path": "pages/mall/consumer/category", "style": { "navigationBarTitleText": "分类", "navigationStyle": "custom" } }, { - "path": "pages/main/cart", + "path": "pages/mall/consumer/messages", "style": { - "navigationBarTitleText": "购物车", - "navigationStyle": "custom" + "navigationBarTitleText": "消息", + "enablePullDownRefresh": true } }, { - "path": "pages/main/profile", + "path": "pages/mall/consumer/cart", "style": { - "navigationBarTitleText": "我的", - "navigationStyle": "custom" + "navigationBarTitleText": "购物车" + } + }, + { + "path": "pages/mall/consumer/profile", + "style": { + "navigationBarTitleText": "我的" } } ], @@ -43,206 +109,577 @@ "pages": [ { "path": "settings", - "style": { "navigationBarTitleText": "设置" } + "style": { + "navigationBarTitleText": "设置" + } }, { "path": "wallet", - "style": { "navigationBarTitleText": "我的钱包" } + "style": { + "navigationBarTitleText": "我的钱包" + } }, { "path": "withdraw", - "style": { "navigationBarTitleText": "余额提现" } + "style": { + "navigationBarTitleText": "余额提现" + } }, { "path": "search", - "style": { "navigationBarTitleText": "搜索", "navigationStyle": "custom" } + "style": { + "navigationBarTitleText": "搜索", + "navigationStyle": "custom" + } }, { "path": "product-detail", - "style": { "navigationBarTitleText": "商品详情" } + "style": { + "navigationBarTitleText": "商品详情" + } }, { "path": "shop-detail", - "style": { "navigationBarTitleText": "店铺详情" } + "style": { + "navigationBarTitleText": "店铺详情" + } }, { "path": "coupons", - "style": { "navigationBarTitleText": "我的优惠券" } + "style": { + "navigationBarTitleText": "我的优惠券" + } }, { "path": "favorites", - "style": { "navigationBarTitleText": "我的收藏" } + "style": { + "navigationBarTitleText": "我的收藏" + } }, { "path": "footprint", - "style": { "navigationBarTitleText": "我的足迹" } + "style": { + "navigationBarTitleText": "我的足迹" + } }, { "path": "address-list", - "style": { "navigationBarTitleText": "收货地址" } + "style": { + "navigationBarTitleText": "收货地址" + } }, { "path": "address-edit", - "style": { "navigationBarTitleText": "编辑地址" } + "style": { + "navigationBarTitleText": "编辑地址" + } }, { "path": "checkout", - "style": { "navigationBarTitleText": "确认订单" } + "style": { + "navigationBarTitleText": "确认订单" + } }, { "path": "payment", - "style": { "navigationBarTitleText": "收银台" } + "style": { + "navigationBarTitleText": "收银台" + } }, { "path": "payment-success", - "style": { "navigationBarTitleText": "支付成功", "navigationStyle": "custom" } + "style": { + "navigationBarTitleText": "支付成功", + "navigationStyle": "custom" + } }, { "path": "orders", - "style": { "navigationBarTitleText": "我的订单", "enablePullDownRefresh": true } + "style": { + "navigationBarTitleText": "我的订单", + "enablePullDownRefresh": true + } }, { "path": "order-detail", - "style": { "navigationBarTitleText": "订单详情" } + "style": { + "navigationBarTitleText": "订单详情" + } }, { "path": "logistics", - "style": { "navigationBarTitleText": "物流详情" } + "style": { + "navigationBarTitleText": "物流详情" + } }, { "path": "review", - "style": { "navigationBarTitleText": "评价晒单" } + "style": { + "navigationBarTitleText": "评价晒单" + } }, { "path": "refund", - "style": { "navigationBarTitleText": "退款/售后" } + "style": { + "navigationBarTitleText": "退款/售后" + } }, { "path": "apply-refund", - "style": { "navigationBarTitleText": "申请售后" } + "style": { + "navigationBarTitleText": "申请售后" + } }, { "path": "refund-review", - "style": { "navigationBarTitleText": "服务评价" } + "style": { + "navigationBarTitleText": "服务评价" + } }, { "path": "chat", - "style": { "navigationBarTitleText": "客服聊天", "navigationStyle": "custom" } + "style": { + "navigationBarTitleText": "客服聊天", + "navigationStyle": "custom" + } + }, + { + "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": "关注店铺" } + "style": { + "navigationBarTitleText": "关注店铺" + } }, { "path": "points/index", - "style": { "navigationBarTitleText": "积分管理" } - }, - { - "path": "points/signin", - "style": { "navigationBarTitleText": "每日签到" } - }, - { - "path": "points/exchange", - "style": { "navigationBarTitleText": "积分兑换" } - }, - { - "path": "points/exchange-records", - "style": { "navigationBarTitleText": "兑换记录" } - }, - { - "path": "product-reviews", - "style": { "navigationBarTitleText": "商品评价" } - }, - { - "path": "my-reviews", - "style": { "navigationBarTitleText": "我的评价" } - }, - { - "path": "balance/index", - "style": { "navigationBarTitleText": "我的余额" } - }, - { - "path": "share/index", - "style": { "navigationBarTitleText": "我的分享" } - }, - { - "path": "share/detail", - "style": { "navigationBarTitleText": "分享详情" } - }, - { - "path": "member/index", - "style": { "navigationBarTitleText": "会员中心" } - }, - { - "path": "message-detail", - "style": { "navigationBarTitleText": "消息详情" } + "style": { + "navigationBarTitleText": "积分管理" + } }, { "path": "red-packets/index", - "style": { "navigationBarTitleText": "我的红包" } + "style": { + "navigationBarTitleText": "我的红包" + } }, { "path": "bank-cards/index", - "style": { "navigationBarTitleText": "银行卡管理" } + "style": { + "navigationBarTitleText": "银行卡管理" + } }, { "path": "bank-cards/add", - "style": { "navigationBarTitleText": "添加银行卡" } + "style": { + "navigationBarTitleText": "添加银行卡" + } } ] } +// { +// "root": "pages/mall/delivery", +// "pages": [ +// { +// "path": "index", +// "style": { +// "navigationBarTitleText": "配送中心", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "order-detail", +// "style": { +// "navigationBarTitleText": "订单详情页", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "profile", +// "style": { +// "navigationBarTitleText": "配送个人中心", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "order-history", +// "style": { +// "navigationBarTitleText": "历史记录", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "earnings", +// "style": { +// "navigationBarTitleText": "收入明细", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "tasks", +// "style": { +// "navigationBarTitleText": "全部任务", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "task-detail", +// "style": { +// "navigationBarTitleText": "任务详情", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "profile-edit", +// "style": { +// "navigationBarTitleText": "编辑个人资料", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "ratings", +// "style": { +// "navigationBarTitleText": "评价", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "vehicle", +// "style": { +// "navigationBarTitleText": "车辆管理", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "vehicle-add", +// "style": { +// "navigationBarTitleText": "添加车辆", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "vehicle-edit", +// "style": { +// "navigationBarTitleText": "编辑车辆", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "help-center", +// "style": { +// "navigationBarTitleText": "帮助中心", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "about", +// "style": { +// "navigationBarTitleText": "关于我们", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "feedback", +// "style": { +// "navigationBarTitleText": "意见反馈", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "test", +// "style": { +// "navigationBarTitleText": "test", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "settings", +// "style": { +// "navigationBarTitleText": "设置", +// "navigationStyle": "custom" +// } +// } +// ] +// }, +// { +// "root": "pages/mall/analytics", +// "pages": [ +// { +// "path": "index", +// "style": { +// "navigationBarTitleText": "数据分析", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "profile", +// "style": { +// "navigationBarTitleText": "数据分析个人中心" +// } +// }, +// { +// "path": "sales-report", +// "style": { +// "navigationBarTitleText": "销售报表" +// } +// }, +// { +// "path": "user-analysis", +// "style": { +// "navigationBarTitleText": "用户分析" +// } +// }, +// { +// "path": "product-insights", +// "style": { +// "navigationBarTitleText": "商品洞察" +// } +// }, +// { +// "path": "delivery-analysis", +// "style": { +// "navigationBarTitleText": "配送效率分析" +// } +// }, +// { +// "path": "coupon-analysis", +// "style": { +// "navigationBarTitleText": "优惠券效果分析" +// } +// }, +// { +// "path": "market-trends", +// "style": { +// "navigationBarTitleText": "市场趋势" +// } +// }, +// { +// "path": "custom-report", +// "style": { +// "navigationBarTitleText": "自定义报表" +// } +// }, +// { +// "path": "report-detail", +// "style": { +// "navigationBarTitleText": "报表详情", +// "enablePullDownRefresh": false +// } +// }, +// { +// "path": "data-detail", +// "style": { +// "navigationBarTitleText": "数据分析详情", +// "enablePullDownRefresh": false +// } +// }, +// { +// "path": "insight-detail", +// "style": { +// "navigationBarTitleText": "数据洞察详情", +// "enablePullDownRefresh": false +// } +// } +// ] +// }, +// { +// "root": "pages/mall/admin", +// "pages": [ +// { +// "path": "user-management", +// "style": { +// "navigationBarTitleText": "用户管理", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "product-management", +// "style": { +// "navigationBarTitleText": "商品管理", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "order-management", +// "style": { +// "navigationBarTitleText": "订单管理", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "finance/record", +// "style": { +// "navigationBarTitleText": "财务管理", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "user-statistics", +// "style": { +// "navigationBarTitleText": "用户统计", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "system-settings", +// "style": { +// "navigationBarTitleText": "系统设置", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "subscription/plan-management", +// "style": { +// "navigationBarTitleText": "订阅方案管理" +// } +// }, +// { +// "path": "subscription/user-subscriptions", +// "style": { +// "navigationBarTitleText": "用户订阅管理" +// } +// }, +// { +// "path": "marketing/coupon/list", +// "style": { +// "navigationBarTitleText": "优惠券列表" +// } +// }, +// { +// "path": "marketing/coupon/receive", +// "style": { +// "navigationBarTitleText": "用户领取记录" +// } +// }, +// { +// "path": "marketing/signin/rule", +// "style": { +// "navigationBarTitleText": "签到规则" +// } +// }, +// { +// "path": "marketing/signin/record", +// "style": { +// "navigationBarTitleText": "签到记录" +// } +// } +// ] +// }, +// { +// "root": "pages/mall/merchant", +// "pages": [ +// { +// "path": "index", +// "style": { +// "navigationBarTitleText": "商家中心", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "product-detail", +// "style": { +// "navigationBarTitleText": "商品管理详情", +// "enablePullDownRefresh": false +// } +// }, +// { +// "path": "profile", +// "style": { +// "navigationBarTitleText": "个人资料" +// } +// } +// ] +// }, +// { +// "root": "pages/mall/service", +// "pages": [ +// { +// "path": "index", +// "style": { +// "navigationBarTitleText": "客服工作台", +// "navigationStyle": "custom" +// } +// }, +// { +// "path": "profile", +// "style": { +// "navigationBarTitleText": "客服个人中心" +// } +// }, +// { +// "path": "ticket-detail", +// "style": { +// "navigationBarTitleText": "工单详情", +// "enablePullDownRefresh": false +// } +// } +// ] +// } ], - "globalStyle": { - "navigationBarTextStyle": "black", - "navigationBarTitleText": "商城", - "navigationBarBackgroundColor": "#ffffff", - "backgroundColor": "#f5f5f5" - }, "tabBar": { "color": "#999999", "selectedColor": "#ff5000", - "borderStyle": "black", "backgroundColor": "#ffffff", + "borderStyle": "black", "list": [ { - "pagePath": "pages/main/index", + "pagePath": "pages/mall/consumer/index", "text": "首页", "iconPath": "static/tabbar/home.png", "selectedIconPath": "static/tabbar/home-active.png" }, { - "pagePath": "pages/main/category", + "pagePath": "pages/mall/consumer/category", "text": "分类", "iconPath": "static/tabbar/category.png", - "selectedIconPath": "static/tabbar/category.png" + "selectedIconPath": "static/tabbar/category-active.png" }, { - "pagePath": "pages/main/cart", + "pagePath": "pages/mall/consumer/messages", + "text": "消息", + "iconPath": "static/tabbar/messages.png", + "selectedIconPath": "static/tabbar/messages-active.png" + }, + { + "pagePath": "pages/mall/consumer/cart", "text": "购物车", "iconPath": "static/tabbar/cart.png", - "selectedIconPath": "static/tabbar/cart.png" + "selectedIconPath": "static/tabbar/cart-active.png" }, { - "pagePath": "pages/main/profile", + "pagePath": "pages/mall/consumer/profile", "text": "我的", - "iconPath": "static/tabbar/user.png", - "selectedIconPath": "static/tabbar/user.png" + "iconPath": "static/tabbar/profile.png", + "selectedIconPath": "static/tabbar/profile-active.png" } ] }, - "preloadRule": { - "pages/main/index": { - "network": "all", - "packages": ["pages/mall/consumer"] - } - }, - "easycom": { - "autoscan": true, - "custom": { - "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue" - } - }, - "optimization": { - "subPackages": true + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "mall", + "navigationBarBackgroundColor": "#FFFFFF", + "backgroundColor": "#F8F8F8" } -} +} \ No newline at end of file diff --git a/pages.json.bak b/pages.json.bak deleted file mode 100644 index 6b81184b..00000000 --- a/pages.json.bak +++ /dev/null @@ -1,248 +0,0 @@ -{ - "pages": [ - { - "path": "pages/user/login", - "style": { - "navigationBarTitleText": "用户登录", - "navigationStyle": "custom" - } - }, - { - "path": "pages/main/index", - "style": { - "navigationBarTitleText": "首页", - "navigationStyle": "custom", - "enablePullDownRefresh": false - } - }, - { - "path": "pages/main/category", - "style": { - "navigationBarTitleText": "分类", - "navigationStyle": "custom" - } - }, - { - "path": "pages/main/cart", - "style": { - "navigationBarTitleText": "购物车", - "navigationStyle": "custom" - } - }, - { - "path": "pages/main/profile", - "style": { - "navigationBarTitleText": "我的", - "navigationStyle": "custom" - } - } - ], - "subPackages": [ - { - "root": "pages/mall/consumer", - "pages": [ - { - "path": "settings", - "style": { "navigationBarTitleText": "设置" } - }, - { - "path": "wallet", - "style": { "navigationBarTitleText": "我的钱包" } - }, - { - "path": "withdraw", - "style": { "navigationBarTitleText": "余额提现" } - }, - { - "path": "search", - "style": { "navigationBarTitleText": "搜索", "navigationStyle": "custom" } - }, - { - "path": "product-detail", - "style": { "navigationBarTitleText": "商品详情" } - }, - { - "path": "shop-detail", - "style": { "navigationBarTitleText": "店铺详情" } - }, - { - "path": "coupons", - "style": { "navigationBarTitleText": "我的优惠券" } - }, - { - "path": "favorites", - "style": { "navigationBarTitleText": "我的收藏" } - }, - { - "path": "footprint", - "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": "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": "product-reviews", - "style": { "navigationBarTitleText": "商品评价" } - }, - { - "path": "my-reviews", - "style": { "navigationBarTitleText": "我的评价" } - }, - { - "path": "balance/index", - "style": { "navigationBarTitleText": "我的余额" } - }, - { - "path": "share/index", - "style": { "navigationBarTitleText": "我的分享" } - }, - { - "path": "share/detail", - "style": { "navigationBarTitleText": "分享详情" } - }, - { - "path": "member/index", - "style": { "navigationBarTitleText": "会员中心" } - }, - { - "path": "message-detail", - "style": { "navigationBarTitleText": "消息详情" } - }, - { - "path": "red-packets/index", - "style": { "navigationBarTitleText": "我的红包" } - }, - { - "path": "bank-cards/index", - "style": { "navigationBarTitleText": "银行卡管理" } - }, - { - "path": "bank-cards/add", - "style": { "navigationBarTitleText": "添加银行卡" } - } - ] - } - ], - "globalStyle": { - "navigationBarTextStyle": "black", - "navigationBarTitleText": "商城", - "navigationBarBackgroundColor": "#ffffff", - "backgroundColor": "#f5f5f5" - }, - "tabBar": { - "color": "#999999", - "selectedColor": "#ff5000", - "borderStyle": "black", - "backgroundColor": "#ffffff", - "list": [ - { - "pagePath": "pages/main/index", - "text": "首页", - "iconPath": "static/tabbar/home.png", - "selectedIconPath": "static/tabbar/home-active.png" - }, - { - "pagePath": "pages/main/category", - "text": "分类", - "iconPath": "static/tabbar/category.png", - "selectedIconPath": "static/tabbar/category.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" - } - ] - }, - "preloadRule": { - "pages/main/index": { - "network": "all", - "packages": ["pages/mall/consumer"] - } - }, - "easycom": { - "autoscan": true, - "custom": { - "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue" - } - }, - "optimization": { - "subPackages": true - } -} diff --git a/pages/main/cart.uvue b/pages/main/cart.uvue index 257d32aa..d6fec47a 100644 --- a/pages/main/cart.uvue +++ b/pages/main/cart.uvue @@ -3,7 +3,7 @@ - + 购物车 diff --git a/pages/main/category.uvue b/pages/main/category.uvue index 59cd7ef1..14215f89 100644 --- a/pages/main/category.uvue +++ b/pages/main/category.uvue @@ -2,7 +2,7 @@ - + 请输入商品名称、店铺 diff --git a/pages/main/index.uvue b/pages/main/index.uvue index 194cfc0d..068187c6 100644 --- a/pages/main/index.uvue +++ b/pages/main/index.uvue @@ -9,7 +9,7 @@ transform: showNavbar ? 'translateY(0)' : 'translateY(-100%)' }" > - + 请输入商品名称、店铺 @@ -1146,7 +1146,7 @@ const navigateToReminders = () => uni.navigateTo({ url: '/pages/user/reminders' } .nav-inner-search-text { - font-size: 12px; /* 字体稍微变小 */ + font-size: 12px; color: #ffffff; font-weight: normal; } diff --git a/pages/main/messages.uvue b/pages/main/messages.uvue index 0fdc09cc..5adf02bd 100644 --- a/pages/main/messages.uvue +++ b/pages/main/messages.uvue @@ -2,7 +2,7 @@ - + 消息中心 @@ -263,6 +263,20 @@ const unreadCount = ref(12) const statusBarHeight = ref(0) const scrollTop = ref(0) const scrollHeight = ref(0) +const navBarRight = ref(0) + +// 小程序胶囊按钮信息类型 +type CapsuleButtonInfo = { + left: number, + top: number, + right: number, + bottom: number, + width: number, + height: number +} + +// 小程序胶囊按钮信息 +const capsuleButtonInfo = ref(null) // 消息分类标签 const messageTabs = reactive([ @@ -339,6 +353,23 @@ const initPage = () => { const systemInfo = uni.getSystemInfoSync() statusBarHeight.value = systemInfo.statusBarHeight + // 获取小程序胶囊按钮信息 + // #ifdef MP-WEIXIN + try { + capsuleButtonInfo.value = uni.getMenuButtonBoundingClientRect() + if (capsuleButtonInfo.value != null) { + navBarRight.value = (systemInfo.screenWidth - capsuleButtonInfo.value.left) + 10 + } + } catch (e) { + console.log('获取胶囊按钮信息失败', e) + navBarRight.value = 90 + } + // #endif + + // #ifndef MP-WEIXIN + navBarRight.value = 0 + // #endif + const windowHeight = systemInfo.windowHeight scrollHeight.value = windowHeight - statusBarHeight.value - 44 - 42 } diff --git a/pages/main/profile.uvue b/pages/main/profile.uvue index 0e77d270..4dd30da0 100644 --- a/pages/main/profile.uvue +++ b/pages/main/profile.uvue @@ -3,7 +3,7 @@ - + - + 积分 {{ userStats.points }} @@ -31,12 +31,14 @@ - + + ⚙️ + @@ -48,6 +50,11 @@ 我的服务 + + 💬 + 消息中心 + {{ serviceCounts.unreadMessages }} + 🎫 优惠券 @@ -301,6 +308,7 @@ type OrderCountsType = { type ServiceCountsType = { coupons: number favorites: number + unreadMessages: number } type ConsumptionStatsType = { @@ -354,7 +362,8 @@ export default { } as OrderCountsType, serviceCounts: { coupons: 0, - favorites: 0 + favorites: 0, + unreadMessages: 0 } as ServiceCountsType, recentOrders: [] as Array, statsPeriods: [ @@ -543,6 +552,10 @@ export default { this.navBarRight = 90 } // #endif + + // #ifndef MP-WEIXIN + this.navBarRight = 0 + // #endif }, async loadUserProfile() { try { @@ -1166,6 +1179,12 @@ export default { url: '/pages/mall/consumer/coupons' }) }, + + goToMessages() { + uni.navigateTo({ + url: '/pages/main/messages' + }) + }, goToPoints() { uni.navigateTo({ diff --git a/pages/mall/consumer/product-detail.uvue b/pages/mall/consumer/product-detail.uvue index 379ad3da..06cf36eb 100644 --- a/pages/mall/consumer/product-detail.uvue +++ b/pages/mall/consumer/product-detail.uvue @@ -38,7 +38,13 @@ - {{ product.name }} + + {{ product.name }} + + 已售{{ product.sales }}件 · 库存{{ product.stock }}件 @@ -277,6 +283,61 @@ + + + @@ -326,6 +387,8 @@ export default { // 新增: 优惠券相关 coupons: [] as Array, showCoupons: false, + // 分享相关 + showShare: false, // 会员价相关 memberPrice: 0 as number, memberDiscount: 0 as number, @@ -1007,6 +1070,114 @@ export default { if (this.product.approval_number != null && (this.product.approval_number as string) != '') summary += '批准文号 ' const finalSummary = summary.trim() return finalSummary != '' ? finalSummary : '查看详情' + }, + + // 分享相关方法 + showSharePopup() { + this.showShare = true + }, + + hideSharePopup() { + this.showShare = false + }, + + shareToWechat() { + this.hideSharePopup() + // #ifdef MP-WEIXIN + // 小程序分享 + uni.share({ + provider: 'weixin', + scene: 'WXSceneSession', + type: 0, + title: this.product.name, + summary: `¥${this.product.price} - ${this.product.description ?? '精选好物'}`, + imageUrl: this.product.images.length > 0 ? this.product.images[0] : '', + success: () => { + uni.showToast({ title: '分享成功', icon: 'success' }) + }, + fail: (err) => { + console.error('分享失败', err) + uni.showToast({ title: '分享失败', icon: 'none' }) + } + }) + // #endif + // #ifndef MP-WEIXIN + uni.showToast({ title: '请在微信中打开分享', icon: 'none' }) + // #endif + }, + + shareToMoments() { + this.hideSharePopup() + // #ifdef MP-WEIXIN + uni.share({ + provider: 'weixin', + scene: 'WXSceneTimeline', + type: 0, + title: this.product.name, + summary: `¥${this.product.price} - ${this.product.description ?? '精选好物'}`, + imageUrl: this.product.images.length > 0 ? this.product.images[0] : '', + success: () => { + uni.showToast({ title: '分享成功', icon: 'success' }) + }, + fail: (err) => { + console.error('分享失败', err) + uni.showToast({ title: '分享失败', icon: 'none' }) + } + }) + // #endif + // #ifndef MP-WEIXIN + uni.showToast({ title: '请在微信中打开分享', icon: 'none' }) + // #endif + }, + + shareToQQ() { + this.hideSharePopup() + uni.showToast({ title: 'QQ分享开发中', icon: 'none' }) + }, + + copyLink() { + this.hideSharePopup() + const shareLink = `pages/mall/consumer/product-detail?id=${this.product.id}` + uni.setClipboardData({ + data: shareLink, + success: () => { + uni.showToast({ title: '链接已复制', icon: 'success' }) + } + }) + }, + + saveImage() { + this.hideSharePopup() + if (this.product.images.length > 0) { + uni.showLoading({ title: '保存中...' }) + uni.downloadFile({ + url: this.product.images[0], + success: (res) => { + uni.saveImageToPhotosAlbum({ + filePath: res.tempFilePath, + success: () => { + uni.hideLoading() + uni.showToast({ title: '已保存到相册', icon: 'success' }) + }, + fail: () => { + uni.hideLoading() + uni.showToast({ title: '保存失败', icon: 'none' }) + } + }) + }, + fail: () => { + uni.hideLoading() + uni.showToast({ title: '下载失败', icon: 'none' }) + } + }) + } else { + uni.showToast({ title: '暂无图片可保存', icon: 'none' }) + } + }, + + generatePoster() { + this.hideSharePopup() + uni.showToast({ title: '海报生成功能开发中', icon: 'none' }) } } } @@ -1193,9 +1364,38 @@ export default { font-weight: bold; color: #333; line-height: 1.4; + flex: 1; +} + +.product-name-row { + display: flex; + flex-direction: row; + align-items: flex-start; + justify-content: space-between; margin-bottom: 15rpx; } +.share-btn { + display: flex; + flex-direction: column; + align-items: center; + padding: 8rpx 16rpx; + background-color: #f8f8f8; + border-radius: 12rpx; + flex-shrink: 0; + margin-left: 20rpx; +} + +.share-icon { + font-size: 32rpx; +} + +.share-text { + font-size: 22rpx; + color: #666; + margin-top: 4rpx; +} + .sales-info { font-size: 26rpx; color: #666; @@ -1822,6 +2022,118 @@ export default { margin-left: 10rpx; } +/* 分享弹窗样式 */ +.share-popup-mask { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.5); + display: flex; + justify-content: flex-end; + flex-direction: column; + z-index: 1000; +} + +.share-popup-content{ + background-color: #fff; + width: 100%; + border-radius: 24rpx 24rpx 0 0; + padding: 30rpx; + padding-bottom: calc(30rpx + env(safe-area-inset-bottom)); +} + +.share-popup-header{ + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + margin-bottom: 30rpx; +} + +.share-popup-title{ + font-size: 32rpx; + font-weight: bold; + color: #333; +} + +.share-options{ + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + padding: 20rpx 0; +} + +.share-option{ + width: 25%; + display: flex; + flex-direction: column; + align-items: center; + margin-bottom: 30rpx; +} + +.share-icon-wrapper{ + width: 100rpx; + height: 100rpx; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 16rpx; +} + +.share-icon-wrapper.wechat{ + background-color: #07C160; +} + +.share-icon-wrapper.moments{ + background-color: #07C160; +} + +.share-icon-wrapper.qq{ + background-color: #12B7F5; +} + +.share-icon-wrapper.link{ + background-color: #FF9500; +} + +.share-icon-wrapper.image{ + background-color: #FF2D55; +} + +.share-icon-wrapper.poster{ + background-color: #5856D6; +} + +.share-option-icon{ + font-size: 44rpx; + color: #fff; +} + +.share-option-text{ + font-size: 24rpx; + color: #333; +} + +.share-cancel-btn{ + width: 100%; + height: 88rpx; + background-color: #f5f5f5; + border-radius: 44rpx; + display: flex; + align-items: center; + justify-content: center; + margin-top: 20rpx; +} + +.cancel-text{ + font-size: 30rpx; + color: #333; +} + /* 商品参数弹窗样式 */ .params-modal { position: fixed; diff --git a/pagesbackup.json b/pagesbackup.json deleted file mode 100644 index eddfdfcd..00000000 --- a/pagesbackup.json +++ /dev/null @@ -1,685 +0,0 @@ -{ - "pages": [ - { - "path": "pages/user/login", - "style": { - "navigationBarTitleText": "用户登录", - "navigationStyle": "custom" - } - }, -// { -// "path": "pages/mall/admin/homePage/index", -// "style": { -// "navigationBarTitleText": "管理后台", -// "navigationStyle": "custom" -// } -// }, - { - "path": "pages/user/boot", - "style": { - "navigationBarTitleText": "" - } - }, - { - "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/mall/consumer/index", - "style": { - "navigationBarTitleText": "首页", - "navigationStyle": "custom", - "enablePullDownRefresh": false - } - }, - { - "path": "pages/mall/consumer/category", - "style": { - "navigationBarTitleText": "分类", - "navigationStyle": "custom" - } - }, - { - "path": "pages/mall/consumer/messages", - "style": { - "navigationBarTitleText": "消息", - "enablePullDownRefresh": true - } - }, - { - "path": "pages/mall/consumer/cart", - "style": { - "navigationBarTitleText": "购物车" - } - }, - { - "path": "pages/mall/consumer/profile", - "style": { - "navigationBarTitleText": "我的" - } - } - ], - "subPackages": [ - { - "root": "pages/mall/consumer", - "pages": [ - { - "path": "settings", - "style": { - "navigationBarTitleText": "设置" - } - }, - { - "path": "wallet", - "style": { - "navigationBarTitleText": "我的钱包" - } - }, - { - "path": "withdraw", - "style": { - "navigationBarTitleText": "余额提现" - } - }, - { - "path": "search", - "style": { - "navigationBarTitleText": "搜索", - "navigationStyle": "custom" - } - }, - { - "path": "product-detail", - "style": { - "navigationBarTitleText": "商品详情" - } - }, - { - "path": "shop-detail", - "style": { - "navigationBarTitleText": "店铺详情" - } - }, - { - "path": "coupons", - "style": { - "navigationBarTitleText": "我的优惠券" - } - }, - { - "path": "favorites", - "style": { - "navigationBarTitleText": "我的收藏" - } - }, - { - "path": "footprint", - "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": "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": "red-packets/index", - "style": { - "navigationBarTitleText": "我的红包" - } - }, - { - "path": "bank-cards/index", - "style": { - "navigationBarTitleText": "银行卡管理" - } - }, - { - "path": "bank-cards/add", - "style": { - "navigationBarTitleText": "添加银行卡" - } - } - ] - } -// { -// "root": "pages/mall/delivery", -// "pages": [ -// { -// "path": "index", -// "style": { -// "navigationBarTitleText": "配送中心", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "order-detail", -// "style": { -// "navigationBarTitleText": "订单详情页", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "profile", -// "style": { -// "navigationBarTitleText": "配送个人中心", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "order-history", -// "style": { -// "navigationBarTitleText": "历史记录", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "earnings", -// "style": { -// "navigationBarTitleText": "收入明细", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "tasks", -// "style": { -// "navigationBarTitleText": "全部任务", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "task-detail", -// "style": { -// "navigationBarTitleText": "任务详情", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "profile-edit", -// "style": { -// "navigationBarTitleText": "编辑个人资料", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "ratings", -// "style": { -// "navigationBarTitleText": "评价", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "vehicle", -// "style": { -// "navigationBarTitleText": "车辆管理", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "vehicle-add", -// "style": { -// "navigationBarTitleText": "添加车辆", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "vehicle-edit", -// "style": { -// "navigationBarTitleText": "编辑车辆", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "help-center", -// "style": { -// "navigationBarTitleText": "帮助中心", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "about", -// "style": { -// "navigationBarTitleText": "关于我们", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "feedback", -// "style": { -// "navigationBarTitleText": "意见反馈", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "test", -// "style": { -// "navigationBarTitleText": "test", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "settings", -// "style": { -// "navigationBarTitleText": "设置", -// "navigationStyle": "custom" -// } -// } -// ] -// }, -// { -// "root": "pages/mall/analytics", -// "pages": [ -// { -// "path": "index", -// "style": { -// "navigationBarTitleText": "数据分析", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "profile", -// "style": { -// "navigationBarTitleText": "数据分析个人中心" -// } -// }, -// { -// "path": "sales-report", -// "style": { -// "navigationBarTitleText": "销售报表" -// } -// }, -// { -// "path": "user-analysis", -// "style": { -// "navigationBarTitleText": "用户分析" -// } -// }, -// { -// "path": "product-insights", -// "style": { -// "navigationBarTitleText": "商品洞察" -// } -// }, -// { -// "path": "delivery-analysis", -// "style": { -// "navigationBarTitleText": "配送效率分析" -// } -// }, -// { -// "path": "coupon-analysis", -// "style": { -// "navigationBarTitleText": "优惠券效果分析" -// } -// }, -// { -// "path": "market-trends", -// "style": { -// "navigationBarTitleText": "市场趋势" -// } -// }, -// { -// "path": "custom-report", -// "style": { -// "navigationBarTitleText": "自定义报表" -// } -// }, -// { -// "path": "report-detail", -// "style": { -// "navigationBarTitleText": "报表详情", -// "enablePullDownRefresh": false -// } -// }, -// { -// "path": "data-detail", -// "style": { -// "navigationBarTitleText": "数据分析详情", -// "enablePullDownRefresh": false -// } -// }, -// { -// "path": "insight-detail", -// "style": { -// "navigationBarTitleText": "数据洞察详情", -// "enablePullDownRefresh": false -// } -// } -// ] -// }, -// { -// "root": "pages/mall/admin", -// "pages": [ -// { -// "path": "user-management", -// "style": { -// "navigationBarTitleText": "用户管理", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "product-management", -// "style": { -// "navigationBarTitleText": "商品管理", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "order-management", -// "style": { -// "navigationBarTitleText": "订单管理", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "finance/record", -// "style": { -// "navigationBarTitleText": "财务管理", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "user-statistics", -// "style": { -// "navigationBarTitleText": "用户统计", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "system-settings", -// "style": { -// "navigationBarTitleText": "系统设置", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "subscription/plan-management", -// "style": { -// "navigationBarTitleText": "订阅方案管理" -// } -// }, -// { -// "path": "subscription/user-subscriptions", -// "style": { -// "navigationBarTitleText": "用户订阅管理" -// } -// }, -// { -// "path": "marketing/coupon/list", -// "style": { -// "navigationBarTitleText": "优惠券列表" -// } -// }, -// { -// "path": "marketing/coupon/receive", -// "style": { -// "navigationBarTitleText": "用户领取记录" -// } -// }, -// { -// "path": "marketing/signin/rule", -// "style": { -// "navigationBarTitleText": "签到规则" -// } -// }, -// { -// "path": "marketing/signin/record", -// "style": { -// "navigationBarTitleText": "签到记录" -// } -// } -// ] -// }, -// { -// "root": "pages/mall/merchant", -// "pages": [ -// { -// "path": "index", -// "style": { -// "navigationBarTitleText": "商家中心", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "product-detail", -// "style": { -// "navigationBarTitleText": "商品管理详情", -// "enablePullDownRefresh": false -// } -// }, -// { -// "path": "profile", -// "style": { -// "navigationBarTitleText": "个人资料" -// } -// } -// ] -// }, -// { -// "root": "pages/mall/service", -// "pages": [ -// { -// "path": "index", -// "style": { -// "navigationBarTitleText": "客服工作台", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "profile", -// "style": { -// "navigationBarTitleText": "客服个人中心" -// } -// }, -// { -// "path": "ticket-detail", -// "style": { -// "navigationBarTitleText": "工单详情", -// "enablePullDownRefresh": false -// } -// } -// ] -// } - ], - "tabBar": { - "color": "#999999", - "selectedColor": "#ff5000", - "backgroundColor": "#ffffff", - "borderStyle": "black", - "list": [ - { - "pagePath": "pages/mall/consumer/index", - "text": "首页", - "iconPath": "static/tabbar/home.png", - "selectedIconPath": "static/tabbar/home-active.png" - }, - { - "pagePath": "pages/mall/consumer/category", - "text": "分类", - "iconPath": "static/tabbar/category.png", - "selectedIconPath": "static/tabbar/category-active.png" - }, - { - "pagePath": "pages/mall/consumer/messages", - "text": "消息", - "iconPath": "static/tabbar/messages.png", - "selectedIconPath": "static/tabbar/messages-active.png" - }, - { - "pagePath": "pages/mall/consumer/cart", - "text": "购物车", - "iconPath": "static/tabbar/cart.png", - "selectedIconPath": "static/tabbar/cart-active.png" - }, - { - "pagePath": "pages/mall/consumer/profile", - "text": "我的", - "iconPath": "static/tabbar/profile.png", - "selectedIconPath": "static/tabbar/profile-active.png" - } - ] - }, - "globalStyle": { - "navigationBarTextStyle": "black", - "navigationBarTitleText": "mall", - "navigationBarBackgroundColor": "#FFFFFF", - "backgroundColor": "#F8F8F8" - } -} \ No newline at end of file diff --git a/pagesme.json b/pagesme.json index eddfdfcd..6b81184b 100644 --- a/pagesme.json +++ b/pagesme.json @@ -5,71 +5,10 @@ "style": { "navigationBarTitleText": "用户登录", "navigationStyle": "custom" - } - }, -// { -// "path": "pages/mall/admin/homePage/index", -// "style": { -// "navigationBarTitleText": "管理后台", -// "navigationStyle": "custom" -// } -// }, - { - "path": "pages/user/boot", - "style": { - "navigationBarTitleText": "" } }, { - "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/mall/consumer/index", + "path": "pages/main/index", "style": { "navigationBarTitleText": "首页", "navigationStyle": "custom", @@ -77,29 +16,24 @@ } }, { - "path": "pages/mall/consumer/category", + "path": "pages/main/category", "style": { "navigationBarTitleText": "分类", "navigationStyle": "custom" } }, { - "path": "pages/mall/consumer/messages", + "path": "pages/main/cart", "style": { - "navigationBarTitleText": "消息", - "enablePullDownRefresh": true + "navigationBarTitleText": "购物车", + "navigationStyle": "custom" } }, { - "path": "pages/mall/consumer/cart", + "path": "pages/main/profile", "style": { - "navigationBarTitleText": "购物车" - } - }, - { - "path": "pages/mall/consumer/profile", - "style": { - "navigationBarTitleText": "我的" + "navigationBarTitleText": "我的", + "navigationStyle": "custom" } } ], @@ -109,577 +43,206 @@ "pages": [ { "path": "settings", - "style": { - "navigationBarTitleText": "设置" - } + "style": { "navigationBarTitleText": "设置" } }, { "path": "wallet", - "style": { - "navigationBarTitleText": "我的钱包" - } + "style": { "navigationBarTitleText": "我的钱包" } }, { "path": "withdraw", - "style": { - "navigationBarTitleText": "余额提现" - } + "style": { "navigationBarTitleText": "余额提现" } }, { "path": "search", - "style": { - "navigationBarTitleText": "搜索", - "navigationStyle": "custom" - } + "style": { "navigationBarTitleText": "搜索", "navigationStyle": "custom" } }, { "path": "product-detail", - "style": { - "navigationBarTitleText": "商品详情" - } + "style": { "navigationBarTitleText": "商品详情" } }, { "path": "shop-detail", - "style": { - "navigationBarTitleText": "店铺详情" - } + "style": { "navigationBarTitleText": "店铺详情" } }, { "path": "coupons", - "style": { - "navigationBarTitleText": "我的优惠券" - } + "style": { "navigationBarTitleText": "我的优惠券" } }, { "path": "favorites", - "style": { - "navigationBarTitleText": "我的收藏" - } + "style": { "navigationBarTitleText": "我的收藏" } }, { "path": "footprint", - "style": { - "navigationBarTitleText": "我的足迹" - } + "style": { "navigationBarTitleText": "我的足迹" } }, { "path": "address-list", - "style": { - "navigationBarTitleText": "收货地址" - } + "style": { "navigationBarTitleText": "收货地址" } }, { "path": "address-edit", - "style": { - "navigationBarTitleText": "编辑地址" - } + "style": { "navigationBarTitleText": "编辑地址" } }, { "path": "checkout", - "style": { - "navigationBarTitleText": "确认订单" - } + "style": { "navigationBarTitleText": "确认订单" } }, { "path": "payment", - "style": { - "navigationBarTitleText": "收银台" - } + "style": { "navigationBarTitleText": "收银台" } }, { "path": "payment-success", - "style": { - "navigationBarTitleText": "支付成功", - "navigationStyle": "custom" - } + "style": { "navigationBarTitleText": "支付成功", "navigationStyle": "custom" } }, { "path": "orders", - "style": { - "navigationBarTitleText": "我的订单", - "enablePullDownRefresh": true - } + "style": { "navigationBarTitleText": "我的订单", "enablePullDownRefresh": true } }, { "path": "order-detail", - "style": { - "navigationBarTitleText": "订单详情" - } + "style": { "navigationBarTitleText": "订单详情" } }, { "path": "logistics", - "style": { - "navigationBarTitleText": "物流详情" - } + "style": { "navigationBarTitleText": "物流详情" } }, { "path": "review", - "style": { - "navigationBarTitleText": "评价晒单" - } + "style": { "navigationBarTitleText": "评价晒单" } }, { "path": "refund", - "style": { - "navigationBarTitleText": "退款/售后" - } + "style": { "navigationBarTitleText": "退款/售后" } }, { "path": "apply-refund", - "style": { - "navigationBarTitleText": "申请售后" - } + "style": { "navigationBarTitleText": "申请售后" } }, { "path": "refund-review", - "style": { - "navigationBarTitleText": "服务评价" - } + "style": { "navigationBarTitleText": "服务评价" } }, { "path": "chat", - "style": { - "navigationBarTitleText": "客服聊天", - "navigationStyle": "custom" - } - }, - { - "path": "subscription/plan-list", - "style": { - "navigationBarTitleText": "软件订阅" - } - }, - { - "path": "subscription/plan-detail", - "style": { - "navigationBarTitleText": "订阅详情" - } - }, - { - "path": "subscription/subscribe-checkout", - "style": { - "navigationBarTitleText": "确认订阅" - } - }, - { - "path": "subscription/my-subscriptions", - "style": { - "navigationBarTitleText": "我的订阅" - } + "style": { "navigationBarTitleText": "客服聊天", "navigationStyle": "custom" } }, { "path": "subscription/followed-shops", - "style": { - "navigationBarTitleText": "关注店铺" - } + "style": { "navigationBarTitleText": "关注店铺" } }, { "path": "points/index", - "style": { - "navigationBarTitleText": "积分管理" - } + "style": { "navigationBarTitleText": "积分管理" } + }, + { + "path": "points/signin", + "style": { "navigationBarTitleText": "每日签到" } + }, + { + "path": "points/exchange", + "style": { "navigationBarTitleText": "积分兑换" } + }, + { + "path": "points/exchange-records", + "style": { "navigationBarTitleText": "兑换记录" } + }, + { + "path": "product-reviews", + "style": { "navigationBarTitleText": "商品评价" } + }, + { + "path": "my-reviews", + "style": { "navigationBarTitleText": "我的评价" } + }, + { + "path": "balance/index", + "style": { "navigationBarTitleText": "我的余额" } + }, + { + "path": "share/index", + "style": { "navigationBarTitleText": "我的分享" } + }, + { + "path": "share/detail", + "style": { "navigationBarTitleText": "分享详情" } + }, + { + "path": "member/index", + "style": { "navigationBarTitleText": "会员中心" } + }, + { + "path": "message-detail", + "style": { "navigationBarTitleText": "消息详情" } }, { "path": "red-packets/index", - "style": { - "navigationBarTitleText": "我的红包" - } + "style": { "navigationBarTitleText": "我的红包" } }, { "path": "bank-cards/index", - "style": { - "navigationBarTitleText": "银行卡管理" - } + "style": { "navigationBarTitleText": "银行卡管理" } }, { "path": "bank-cards/add", - "style": { - "navigationBarTitleText": "添加银行卡" - } + "style": { "navigationBarTitleText": "添加银行卡" } } ] } -// { -// "root": "pages/mall/delivery", -// "pages": [ -// { -// "path": "index", -// "style": { -// "navigationBarTitleText": "配送中心", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "order-detail", -// "style": { -// "navigationBarTitleText": "订单详情页", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "profile", -// "style": { -// "navigationBarTitleText": "配送个人中心", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "order-history", -// "style": { -// "navigationBarTitleText": "历史记录", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "earnings", -// "style": { -// "navigationBarTitleText": "收入明细", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "tasks", -// "style": { -// "navigationBarTitleText": "全部任务", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "task-detail", -// "style": { -// "navigationBarTitleText": "任务详情", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "profile-edit", -// "style": { -// "navigationBarTitleText": "编辑个人资料", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "ratings", -// "style": { -// "navigationBarTitleText": "评价", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "vehicle", -// "style": { -// "navigationBarTitleText": "车辆管理", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "vehicle-add", -// "style": { -// "navigationBarTitleText": "添加车辆", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "vehicle-edit", -// "style": { -// "navigationBarTitleText": "编辑车辆", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "help-center", -// "style": { -// "navigationBarTitleText": "帮助中心", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "about", -// "style": { -// "navigationBarTitleText": "关于我们", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "feedback", -// "style": { -// "navigationBarTitleText": "意见反馈", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "test", -// "style": { -// "navigationBarTitleText": "test", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "settings", -// "style": { -// "navigationBarTitleText": "设置", -// "navigationStyle": "custom" -// } -// } -// ] -// }, -// { -// "root": "pages/mall/analytics", -// "pages": [ -// { -// "path": "index", -// "style": { -// "navigationBarTitleText": "数据分析", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "profile", -// "style": { -// "navigationBarTitleText": "数据分析个人中心" -// } -// }, -// { -// "path": "sales-report", -// "style": { -// "navigationBarTitleText": "销售报表" -// } -// }, -// { -// "path": "user-analysis", -// "style": { -// "navigationBarTitleText": "用户分析" -// } -// }, -// { -// "path": "product-insights", -// "style": { -// "navigationBarTitleText": "商品洞察" -// } -// }, -// { -// "path": "delivery-analysis", -// "style": { -// "navigationBarTitleText": "配送效率分析" -// } -// }, -// { -// "path": "coupon-analysis", -// "style": { -// "navigationBarTitleText": "优惠券效果分析" -// } -// }, -// { -// "path": "market-trends", -// "style": { -// "navigationBarTitleText": "市场趋势" -// } -// }, -// { -// "path": "custom-report", -// "style": { -// "navigationBarTitleText": "自定义报表" -// } -// }, -// { -// "path": "report-detail", -// "style": { -// "navigationBarTitleText": "报表详情", -// "enablePullDownRefresh": false -// } -// }, -// { -// "path": "data-detail", -// "style": { -// "navigationBarTitleText": "数据分析详情", -// "enablePullDownRefresh": false -// } -// }, -// { -// "path": "insight-detail", -// "style": { -// "navigationBarTitleText": "数据洞察详情", -// "enablePullDownRefresh": false -// } -// } -// ] -// }, -// { -// "root": "pages/mall/admin", -// "pages": [ -// { -// "path": "user-management", -// "style": { -// "navigationBarTitleText": "用户管理", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "product-management", -// "style": { -// "navigationBarTitleText": "商品管理", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "order-management", -// "style": { -// "navigationBarTitleText": "订单管理", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "finance/record", -// "style": { -// "navigationBarTitleText": "财务管理", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "user-statistics", -// "style": { -// "navigationBarTitleText": "用户统计", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "system-settings", -// "style": { -// "navigationBarTitleText": "系统设置", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "subscription/plan-management", -// "style": { -// "navigationBarTitleText": "订阅方案管理" -// } -// }, -// { -// "path": "subscription/user-subscriptions", -// "style": { -// "navigationBarTitleText": "用户订阅管理" -// } -// }, -// { -// "path": "marketing/coupon/list", -// "style": { -// "navigationBarTitleText": "优惠券列表" -// } -// }, -// { -// "path": "marketing/coupon/receive", -// "style": { -// "navigationBarTitleText": "用户领取记录" -// } -// }, -// { -// "path": "marketing/signin/rule", -// "style": { -// "navigationBarTitleText": "签到规则" -// } -// }, -// { -// "path": "marketing/signin/record", -// "style": { -// "navigationBarTitleText": "签到记录" -// } -// } -// ] -// }, -// { -// "root": "pages/mall/merchant", -// "pages": [ -// { -// "path": "index", -// "style": { -// "navigationBarTitleText": "商家中心", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "product-detail", -// "style": { -// "navigationBarTitleText": "商品管理详情", -// "enablePullDownRefresh": false -// } -// }, -// { -// "path": "profile", -// "style": { -// "navigationBarTitleText": "个人资料" -// } -// } -// ] -// }, -// { -// "root": "pages/mall/service", -// "pages": [ -// { -// "path": "index", -// "style": { -// "navigationBarTitleText": "客服工作台", -// "navigationStyle": "custom" -// } -// }, -// { -// "path": "profile", -// "style": { -// "navigationBarTitleText": "客服个人中心" -// } -// }, -// { -// "path": "ticket-detail", -// "style": { -// "navigationBarTitleText": "工单详情", -// "enablePullDownRefresh": false -// } -// } -// ] -// } ], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "商城", + "navigationBarBackgroundColor": "#ffffff", + "backgroundColor": "#f5f5f5" + }, "tabBar": { "color": "#999999", "selectedColor": "#ff5000", - "backgroundColor": "#ffffff", "borderStyle": "black", + "backgroundColor": "#ffffff", "list": [ { - "pagePath": "pages/mall/consumer/index", + "pagePath": "pages/main/index", "text": "首页", "iconPath": "static/tabbar/home.png", "selectedIconPath": "static/tabbar/home-active.png" }, { - "pagePath": "pages/mall/consumer/category", + "pagePath": "pages/main/category", "text": "分类", "iconPath": "static/tabbar/category.png", - "selectedIconPath": "static/tabbar/category-active.png" + "selectedIconPath": "static/tabbar/category.png" }, { - "pagePath": "pages/mall/consumer/messages", - "text": "消息", - "iconPath": "static/tabbar/messages.png", - "selectedIconPath": "static/tabbar/messages-active.png" - }, - { - "pagePath": "pages/mall/consumer/cart", + "pagePath": "pages/main/cart", "text": "购物车", "iconPath": "static/tabbar/cart.png", - "selectedIconPath": "static/tabbar/cart-active.png" + "selectedIconPath": "static/tabbar/cart.png" }, { - "pagePath": "pages/mall/consumer/profile", + "pagePath": "pages/main/profile", "text": "我的", - "iconPath": "static/tabbar/profile.png", - "selectedIconPath": "static/tabbar/profile-active.png" + "iconPath": "static/tabbar/user.png", + "selectedIconPath": "static/tabbar/user.png" } ] }, - "globalStyle": { - "navigationBarTextStyle": "black", - "navigationBarTitleText": "mall", - "navigationBarBackgroundColor": "#FFFFFF", - "backgroundColor": "#F8F8F8" + "preloadRule": { + "pages/main/index": { + "network": "all", + "packages": ["pages/mall/consumer"] + } + }, + "easycom": { + "autoscan": true, + "custom": { + "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue" + } + }, + "optimization": { + "subPackages": true } -} \ No newline at end of file +} diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773106246554.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773106246554.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773106246554.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773110292570.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773110292570.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773110292570.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773110718254.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773110718254.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773110718254.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773110883838.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773110883838.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773110883838.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773111960498.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773111960498.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773111960498.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773112141960.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773112141960.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773112141960.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773112147694.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773112147694.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773112147694.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773113496919.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773113496919.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773113496919.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773113785374.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773113785374.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773113785374.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773115566370.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773115566370.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773115566370.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773116010340.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773116010340.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773116010340.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773116224367.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773116224367.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773116224367.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773116675132.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773116675132.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773116675132.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773125237819.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773125237819.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773125237819.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773125383449.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773125383449.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773125383449.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773126911927.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773126911927.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773126911927.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773127076102.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773127076102.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773127076102.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773128899761.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773128899761.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773128899761.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773129490890.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773129490890.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773129490890.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773129780244.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773129780244.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773129780244.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773129910152.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773129910152.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773129910152.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773130672554.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773130672554.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773130672554.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773130883244.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773130883244.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773130883244.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773131735813.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773131735813.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773131735813.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773131915137.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773131915137.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773131915137.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773132068754.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773132068754.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773132068754.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773132203095.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773132203095.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773132203095.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773132224308.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773132224308.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773132224308.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773132390724.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773132390724.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773132390724.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773191396189.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773191396189.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773191396189.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773191936555.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773191936555.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773191936555.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773191962345.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773191962345.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773191962345.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773196067746.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773196067746.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773196067746.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773197281880.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773197281880.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773197281880.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773198208558.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773198208558.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773198208558.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773198782428.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773198782428.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773198782428.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773198998094.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773198998094.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773198998094.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773199076148.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773199076148.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773199076148.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773199117854.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773199117854.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773199117854.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773199500843.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773199500843.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773199500843.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773199524286.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773199524286.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773199524286.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773199823963.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773199823963.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773199823963.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773199831000.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773199831000.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773199831000.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773200592338.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773200592338.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773200592338.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773200681834.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773200681834.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773200681834.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773201132136.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773201132136.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773201132136.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773201228015.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773201228015.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773201228015.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773201308050.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773201308050.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773201308050.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773202296724.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773202296724.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773202296724.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773202381515.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773202381515.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773202381515.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773202874761.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773202874761.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773202874761.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773202925066.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773202925066.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773202925066.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773202973847.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773202973847.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773202973847.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773203035094.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773203035094.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773203035094.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773203076853.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773203076853.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773203076853.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773204252846.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773204252846.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773204252846.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773204409747.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773204409747.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773204409747.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773204524929.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773204524929.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773204524929.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773210699992.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773210699992.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773210699992.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773210962407.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773210962407.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773210962407.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773211123576.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773211123576.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773211123576.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773212988763.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773212988763.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773212988763.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773213350753.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773213350753.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773213350753.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773213561653.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773213561653.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773213561653.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773213789176.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773213789176.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773213789176.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773214056990.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773214056990.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773214056990.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773217116351.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773217116351.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773217116351.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773217332418.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773217332418.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773217332418.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773217387501.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773217387501.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773217387501.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773218115231.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773218115231.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773218115231.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773219025088.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773219025088.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773219025088.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773219362288.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773219362288.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773219362288.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773219516607.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773219516607.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773219516607.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773219626839.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773219626839.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773219626839.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773219694888.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773219694888.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773219694888.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773219718609.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773219718609.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773219718609.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773219780770.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773219780770.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773219780770.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773219842554.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773219842554.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773219842554.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773220091263.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773220091263.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773220091263.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773220151965.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773220151965.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773220151965.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773220245855.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773220245855.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773220245855.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773220305997.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773220305997.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773220305997.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773220378663.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773220378663.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773220378663.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773220805552.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773220805552.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773220805552.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773221180327.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773221180327.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773221180327.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773221313747.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773221313747.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773221313747.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773277785288.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773277785288.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773277785288.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773278310518.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773278310518.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773278310518.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773278877919.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773278877919.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773278877919.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773278960314.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773278960314.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773278960314.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773279883162.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773279883162.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773279883162.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773279913669.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773279913669.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773279913669.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773279990478.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773279990478.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773279990478.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773281318383.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773281318383.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773281318383.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773281761772.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773281761772.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773281761772.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773284934718.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773284934718.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773284934718.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773285006797.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773285006797.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773285006797.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773285624654.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773285624654.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773285624654.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773285698015.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773285698015.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773285698015.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773298280394.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773298280394.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773298280394.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773298944933.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773298944933.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773298944933.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773298973496.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773298973496.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773298973496.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773299706099.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773299706099.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773299706099.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773301974630.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773301974630.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773301974630.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773303294343.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773303294343.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773303294343.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773363606749.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773363606749.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773363606749.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773363814984.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773363814984.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773363814984.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773364708664.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773364708664.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773364708664.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773364974745.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773364974745.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773364974745.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773365620066.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773365620066.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773365620066.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773365663379.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773365663379.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773365663379.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773366482637.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773366482637.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773366482637.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773366483269.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773366483269.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773366483269.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773367178140.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773367178140.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773367178140.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773367915321.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773367915321.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773367915321.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773369729034.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773369729034.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773369729034.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773369730357.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773369730357.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773369730357.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773370060719.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773370060719.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773370060719.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773370061436.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773370061436.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773370061436.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773370380839.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773370380839.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773370380839.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773370381617.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773370381617.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773370381617.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773370892575.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773370892575.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773370892575.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773370893666.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773370893666.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773370893666.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773370914877.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773370914877.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773370914877.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773370963519.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773370963519.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773370963519.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773370987611.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773370987611.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773370987611.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773371069069.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773371069069.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773371069069.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773371081853.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773371081853.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773371081853.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773372444064.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773372444064.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773372444064.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773372445111.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773372445111.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773372445111.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773374268922.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773374268922.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773374268922.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773388150944.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773388150944.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773388150944.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773388153479.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773388153479.kotlin_module deleted file mode 100644 index 379a9d26..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773388153479.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773388569644.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773388569644.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773388569644.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773389536540.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773389536540.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773389536540.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773389539276.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773389539276.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773389539276.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773389791704.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773389791704.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773389791704.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773389949920.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773389949920.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773389949920.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773391717608.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773391717608.kotlin_module deleted file mode 100644 index 070f7eb5..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773391717608.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773391864758.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773391864758.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773391864758.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773392479520.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773392479520.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773392479520.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773392537173.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773392537173.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773392537173.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/META-INF/main-1773392570369.kotlin_module b/unpackage/cache/.app-android/class/META-INF/main-1773392570369.kotlin_module deleted file mode 100644 index ef915de2..00000000 Binary files a/unpackage/cache/.app-android/class/META-INF/main-1773392570369.kotlin_module and /dev/null differ diff --git a/unpackage/cache/.app-android/class/ktClasss.ser b/unpackage/cache/.app-android/class/ktClasss.ser deleted file mode 100644 index b2d1177d..00000000 Binary files a/unpackage/cache/.app-android/class/ktClasss.ser and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddAddressParams.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddAddressParams.class deleted file mode 100644 index 42d76f36..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddAddressParams.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Address.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/Address.class deleted file mode 100644 index f9877903..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Address.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressForm.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressForm.class deleted file mode 100644 index b7bc71ea..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressForm.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressFormReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressFormReactiveObject.class deleted file mode 100644 index 0f1470cd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressFormReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressItem.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressItem.class deleted file mode 100644 index 7d65dfc3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressItemReactiveObject.class deleted file mode 100644 index 8d898b54..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressReactiveObject.class deleted file mode 100644 index c08bf351..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressType.class deleted file mode 100644 index 3d0ba001..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressTypeReactiveObject.class deleted file mode 100644 index aa408eee..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AddressTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Address__1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/Address__1.class deleted file mode 100644 index 21ea759a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Address__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$refreshTokenIfNeeded$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$refreshTokenIfNeeded$1.class deleted file mode 100644 index 09c09467..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$refreshTokenIfNeeded$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$request$1$doOnce$1$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$request$1$doOnce$1$1$1$1.class deleted file mode 100644 index 2659dbb3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$request$1$doOnce$1$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$request$1$invokeSuspend$lambda$3$lambda$2$$inlined$request$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$request$1$invokeSuspend$lambda$3$lambda$2$$inlined$request$1.class deleted file mode 100644 index 5d63a87a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$request$1$invokeSuspend$lambda$3$lambda$2$$inlined$request$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$request$1$invokeSuspend$lambda$3$lambda$2$$inlined$request$2.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$request$1$invokeSuspend$lambda$3$lambda$2$$inlined$request$2.class deleted file mode 100644 index 96523216..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$request$1$invokeSuspend$lambda$3$lambda$2$$inlined$request$2.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$request$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$request$1.class deleted file mode 100644 index b6e7dcf5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$request$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$upload$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$upload$1$1.class deleted file mode 100644 index 790894f7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$upload$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$upload$1$2.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$upload$1$2.class deleted file mode 100644 index 2185105a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$upload$1$2.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$upload$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$upload$1.class deleted file mode 100644 index f9bb606a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion$upload$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion.class deleted file mode 100644 index 7106165b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq.class deleted file mode 100644 index 3245df91..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReq.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReqOptions.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReqOptions.class deleted file mode 100644 index e574c64b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReqOptions.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReqResponse.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReqResponse.class deleted file mode 100644 index ccda6d09..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReqResponse.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReqUploadOptions.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReqUploadOptions.class deleted file mode 100644 index c0c05e96..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkReqUploadOptions.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$delete$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$delete$1.class deleted file mode 100644 index e6ff7de3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$delete$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$hydrateSessionFromStorage$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$hydrateSessionFromStorage$1.class deleted file mode 100644 index 441d7cb2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$hydrateSessionFromStorage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$insert$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$insert$1.class deleted file mode 100644 index 792edc56..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$insert$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$refreshSession$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$refreshSession$1.class deleted file mode 100644 index dc0577ca..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$refreshSession$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$requestWithAutoRefresh$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$requestWithAutoRefresh$1.class deleted file mode 100644 index 0fdfbf4e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$requestWithAutoRefresh$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$resetPassword$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$resetPassword$1.class deleted file mode 100644 index 38069227..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$resetPassword$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$rpc$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$rpc$1.class deleted file mode 100644 index 5f9ee504..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$rpc$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$select$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$select$1.class deleted file mode 100644 index c23e5e73..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$select$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$select_uts$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$select_uts$1.class deleted file mode 100644 index 30f476e9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$select_uts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$signIn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$signIn$1.class deleted file mode 100644 index 3b94a023..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$signIn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$signOut$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$signOut$1.class deleted file mode 100644 index f42d05ed..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$signOut$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$signUp$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$signUp$1.class deleted file mode 100644 index 8a34e65e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$signUp$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$update$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$update$1.class deleted file mode 100644 index 074e6571..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$update$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$updateUserMetadata$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$updateUserMetadata$1.class deleted file mode 100644 index e115715c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa$updateUserMetadata$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa.class deleted file mode 100644 index bd63497a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupa.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaCondition.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaCondition.class deleted file mode 100644 index 6a5030bf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaCondition.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$execute$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$execute$1.class deleted file mode 100644 index fc4a1dae..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$execute$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1$invokeSuspend$$inlined$parse$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1$invokeSuspend$$inlined$parse$1.class deleted file mode 100644 index 00d7c0ce..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1$invokeSuspend$$inlined$parse$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1$invokeSuspend$$inlined$parse$2.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1$invokeSuspend$$inlined$parse$2.class deleted file mode 100644 index a2e517d8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1$invokeSuspend$$inlined$parse$2.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1$invokeSuspend$lambda$0$$inlined$parse$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1$invokeSuspend$lambda$0$$inlined$parse$1.class deleted file mode 100644 index 1b0534f0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1$invokeSuspend$lambda$0$$inlined$parse$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1$invokeSuspend$lambda$0$$inlined$parse$2.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1$invokeSuspend$lambda$0$$inlined$parse$2.class deleted file mode 100644 index 50677f14..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1$invokeSuspend$lambda$0$$inlined$parse$2.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1.class deleted file mode 100644 index 534efc60..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder$executeAs$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder.class deleted file mode 100644 index e6749b70..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaQueryBuilder.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaRealtimeChannel$_checkUpdates$1$1$payload$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaRealtimeChannel$_checkUpdates$1$1$payload$1.class deleted file mode 100644 index ede2efb6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaRealtimeChannel$_checkUpdates$1$1$payload$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaRealtimeChannel$_checkUpdates$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaRealtimeChannel$_checkUpdates$1.class deleted file mode 100644 index 1d5edcb3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaRealtimeChannel$_checkUpdates$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaRealtimeChannel.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaRealtimeChannel.class deleted file mode 100644 index a0c575c3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaRealtimeChannel.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaSelectOptions.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaSelectOptions.class deleted file mode 100644 index f66f9688..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaSelectOptions.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaSessionInfo.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaSessionInfo.class deleted file mode 100644 index dbc4c3a7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaSessionInfo.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaSignInResult.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaSignInResult.class deleted file mode 100644 index d2160b7a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaSignInResult.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaStorageApi.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaStorageApi.class deleted file mode 100644 index 6cb0d250..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaStorageApi.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaStorageBucket$upload$1$formData$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaStorageBucket$upload$1$formData$1.class deleted file mode 100644 index e63cc08d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaStorageBucket$upload$1$formData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaStorageBucket$upload$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaStorageBucket$upload$1.class deleted file mode 100644 index 9dbcd093..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaStorageBucket$upload$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaStorageBucket.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaStorageBucket.class deleted file mode 100644 index 9623b0e5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/AkSupaStorageBucket.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BalanceRecord.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/BalanceRecord.class deleted file mode 100644 index 18b79ad1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BalanceRecord.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BalanceRecordReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/BalanceRecordReactiveObject.class deleted file mode 100644 index d522e520..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BalanceRecordReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCard.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCard.class deleted file mode 100644 index e609504c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCard.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCardForm.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCardForm.class deleted file mode 100644 index 77c48771..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCardForm.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCardFormReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCardFormReactiveObject.class deleted file mode 100644 index 2c53e1e1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCardFormReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCardReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCardReactiveObject.class deleted file mode 100644 index 4b5e504f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCardReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCard__1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCard__1.class deleted file mode 100644 index 5c4e4897..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCard__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCard__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCard__1ReactiveObject.class deleted file mode 100644 index 2116f3a9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BankCard__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Brand.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/Brand.class deleted file mode 100644 index a363790d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Brand.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BrandReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/BrandReactiveObject.class deleted file mode 100644 index 192b07b4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BrandReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BuyerType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/BuyerType.class deleted file mode 100644 index c7787bab..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BuyerType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BuyerTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/BuyerTypeReactiveObject.class deleted file mode 100644 index ff41601d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/BuyerTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CalendarDay.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CalendarDay.class deleted file mode 100644 index f4e347c0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CalendarDay.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo.class deleted file mode 100644 index 17dca06c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfoReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfoReactiveObject.class deleted file mode 100644 index 01ff2343..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfoReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo__1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo__1.class deleted file mode 100644 index 53010acf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo__1ReactiveObject.class deleted file mode 100644 index 3e102fec..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo__2.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo__2.class deleted file mode 100644 index 70367cda..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo__2.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo__2ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo__2ReactiveObject.class deleted file mode 100644 index 3fed3cf4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CapsuleButtonInfo__2ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CartGroup.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CartGroup.class deleted file mode 100644 index a9883449..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CartGroup.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CartItem.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CartItem.class deleted file mode 100644 index 50f5d0c7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CartItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Category.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/Category.class deleted file mode 100644 index 6311947b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Category.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CategoryReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CategoryReactiveObject.class deleted file mode 100644 index 1b371a33..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CategoryReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ChatMessage.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ChatMessage.class deleted file mode 100644 index d52766b4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ChatMessage.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ChatRoom.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ChatRoom.class deleted file mode 100644 index d4049180..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ChatRoom.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CheckoutItemType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CheckoutItemType.class deleted file mode 100644 index 9054fbcf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CheckoutItemType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CheckoutItemTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CheckoutItemTypeReactiveObject.class deleted file mode 100644 index 3a2fa19f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CheckoutItemTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ConfirmReceiptResponse.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ConfirmReceiptResponse.class deleted file mode 100644 index 43d593fb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ConfirmReceiptResponse.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ConsumptionStatsType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ConsumptionStatsType.class deleted file mode 100644 index 15df8d3d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ConsumptionStatsType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ConsumptionStatsTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ConsumptionStatsTypeReactiveObject.class deleted file mode 100644 index 9a9b1523..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ConsumptionStatsTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Coupon.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/Coupon.class deleted file mode 100644 index 9582e2b0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Coupon.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponReactiveObject.class deleted file mode 100644 index 20ca0f9f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTemplateType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTemplateType.class deleted file mode 100644 index 50b744bc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTemplateType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTemplateTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTemplateTypeReactiveObject.class deleted file mode 100644 index 53d873c8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTemplateTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTemplateType__1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTemplateType__1.class deleted file mode 100644 index 777d370b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTemplateType__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTemplateType__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTemplateType__1ReactiveObject.class deleted file mode 100644 index 87113d93..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTemplateType__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponType.class deleted file mode 100644 index b60ac23a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTypeReactiveObject.class deleted file mode 100644 index 461a0e1d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CouponTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CreateOrderParams.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/CreateOrderParams.class deleted file mode 100644 index 3c5c9207..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/CreateOrderParams.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeliveryInfoType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeliveryInfoType.class deleted file mode 100644 index abd4f9d0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeliveryInfoType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeliveryInfoTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeliveryInfoTypeReactiveObject.class deleted file mode 100644 index 5a90ac53..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeliveryInfoTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeliveryOptionType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeliveryOptionType.class deleted file mode 100644 index 9a0e6db3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeliveryOptionType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeliveryOptionTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeliveryOptionTypeReactiveObject.class deleted file mode 100644 index f6da6455..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeliveryOptionTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeviceInfo.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeviceInfo.class deleted file mode 100644 index cf73a28d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeviceInfo.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeviceInfoReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeviceInfoReactiveObject.class deleted file mode 100644 index 98ee0caf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeviceInfoReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeviceState.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeviceState.class deleted file mode 100644 index 40e3ede1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeviceState.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeviceStateReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeviceStateReactiveObject.class deleted file mode 100644 index 39471f6f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/DeviceStateReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExchangeRecord.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExchangeRecord.class deleted file mode 100644 index 5d295e76..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExchangeRecord.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExchangeRecordReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExchangeRecordReactiveObject.class deleted file mode 100644 index ed0b086f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExchangeRecordReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExpiringDetail.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExpiringDetail.class deleted file mode 100644 index 32573d82..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExpiringDetail.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExpiringDetailReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExpiringDetailReactiveObject.class deleted file mode 100644 index 90f29f0d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExpiringDetailReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExtraInfoItem.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExtraInfoItem.class deleted file mode 100644 index 0de3dd3d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExtraInfoItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExtraInfoItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExtraInfoItemReactiveObject.class deleted file mode 100644 index 5be380f3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ExtraInfoItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FavoriteType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/FavoriteType.class deleted file mode 100644 index 09d436b7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FavoriteType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FavoriteTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/FavoriteTypeReactiveObject.class deleted file mode 100644 index 2adf8c59..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FavoriteTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FollowedShop.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/FollowedShop.class deleted file mode 100644 index dcd0ca15..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FollowedShop.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FollowedShopReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/FollowedShopReactiveObject.class deleted file mode 100644 index b97beefc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FollowedShopReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintGroup.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintGroup.class deleted file mode 100644 index 3be8555f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintGroup.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintItemType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintItemType.class deleted file mode 100644 index da6576ce..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintItemType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintSaveType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintSaveType.class deleted file mode 100644 index 1b805be9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintSaveType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintType.class deleted file mode 100644 index 0536c6ce..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintTypeReactiveObject.class deleted file mode 100644 index 3e62d574..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/FootprintTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenApp$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenApp$Companion.class deleted file mode 100644 index bfc2d738..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenApp$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenApp$checkExistingSession$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenApp$checkExistingSession$1.class deleted file mode 100644 index 2b2423be..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenApp$checkExistingSession$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenApp.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenApp.class deleted file mode 100644 index 196db200..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenApp.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$addToCart$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$addToCart$1$1.class deleted file mode 100644 index 3645de71..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$addToCart$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$decreaseQuantity$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$decreaseQuantity$1$1.class deleted file mode 100644 index b1ec4fd1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$decreaseQuantity$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$deleteSelectedItems$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$deleteSelectedItems$1$1.class deleted file mode 100644 index efbf6dba..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$deleteSelectedItems$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$goToCheckout$1$selectedItems$2$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$goToCheckout$1$selectedItems$2$1.class deleted file mode 100644 index e465b377..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$goToCheckout$1$selectedItems$2$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$increaseQuantity$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$increaseQuantity$1$1.class deleted file mode 100644 index bae8a881..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$increaseQuantity$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$loadCartData$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$loadCartData$1$1.class deleted file mode 100644 index 6c6a2b25..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$loadCartData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$refreshRecommend$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$refreshRecommend$1$1.class deleted file mode 100644 index 9333c5f4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$refreshRecommend$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$toggleSelect$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$toggleSelect$1$1.class deleted file mode 100644 index 00e07f37..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$toggleSelect$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$toggleSelectAll$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$toggleSelectAll$1$1.class deleted file mode 100644 index 99317fd0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$toggleSelectAll$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$toggleShopSelect$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$toggleShopSelect$1$1.class deleted file mode 100644 index 0d157ff2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion$setup$1$toggleShopSelect$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion.class deleted file mode 100644 index 0de96c3e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart.class deleted file mode 100644 index b721fc64..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCart.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$addToCart$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$addToCart$1.class deleted file mode 100644 index 354bf43d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$addToCart$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_addToCart_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_addToCart_fn$1.class deleted file mode 100644 index 6aa14800..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_addToCart_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_loadCategories_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_loadCategories_fn$1.class deleted file mode 100644 index 4091b39a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_loadCategories_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_loadProducts_fn$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_loadProducts_fn$1$1.class deleted file mode 100644 index 31f6971c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_loadProducts_fn$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_loadProducts_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_loadProducts_fn$1.class deleted file mode 100644 index 08812935..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_loadProducts_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_loadSubCategories_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_loadSubCategories_fn$1.class deleted file mode 100644 index 795c44a5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_loadSubCategories_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_selectPrimaryCategory_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_selectPrimaryCategory_fn$1.class deleted file mode 100644 index 121fd188..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_selectPrimaryCategory_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_selectSubCategory_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_selectSubCategory_fn$1.class deleted file mode 100644 index a67509c3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$gen_selectSubCategory_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$getPrimaryItemBgColor$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$getPrimaryItemBgColor$1.class deleted file mode 100644 index 98131443..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$getPrimaryItemBgColor$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$isPrimaryActive$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$isPrimaryActive$1.class deleted file mode 100644 index b45f17cd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$isPrimaryActive$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$isSubActive$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$isSubActive$1.class deleted file mode 100644 index df37e0ec..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$isSubActive$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$loadCategories$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$loadCategories$1.class deleted file mode 100644 index 4398b184..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$loadCategories$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$loadMore$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$loadMore$1.class deleted file mode 100644 index c237cd92..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$loadMore$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$loadProducts$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$loadProducts$1.class deleted file mode 100644 index 129bd929..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$loadProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$loadSubCategories$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$loadSubCategories$1.class deleted file mode 100644 index ef01caee..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$loadSubCategories$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$navigateToCart$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$navigateToCart$1.class deleted file mode 100644 index 3408f256..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$navigateToCart$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$navigateToProduct$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$navigateToProduct$1.class deleted file mode 100644 index dc575ec7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$navigateToProduct$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$navigateToSearch$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$navigateToSearch$1.class deleted file mode 100644 index d51d4fab..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$navigateToSearch$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$onCamera$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$onCamera$1.class deleted file mode 100644 index aa503249..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$onCamera$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$onScan$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$onScan$1.class deleted file mode 100644 index f4675be8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$onScan$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$selectPrimaryCategory$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$selectPrimaryCategory$1.class deleted file mode 100644 index 077166c4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$selectPrimaryCategory$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$selectSubCategory$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$selectSubCategory$1.class deleted file mode 100644 index fa574618..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion$setup$1$selectSubCategory$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion.class deleted file mode 100644 index f19ddbf4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory.class deleted file mode 100644 index f249a1b4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainCategory.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$addToCart$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$addToCart$1$1.class deleted file mode 100644 index 4c50238f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$addToCart$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$doLoadHotProducts$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$doLoadHotProducts$1$1.class deleted file mode 100644 index 47c4435e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$doLoadHotProducts$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$doLoadRecommendedProducts$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$doLoadRecommendedProducts$1$1.class deleted file mode 100644 index 87a82a29..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$doLoadRecommendedProducts$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$initData$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$initData$1$1.class deleted file mode 100644 index d40fc735..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$initData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadBrands$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadBrands$1$1.class deleted file mode 100644 index 08e44b4d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadBrands$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadCategories$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadCategories$1$1.class deleted file mode 100644 index 7f3b5c78..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadCategories$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadHotKeywords$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadHotKeywords$1$1.class deleted file mode 100644 index a5eae7f0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadHotKeywords$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadHotProducts$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadHotProducts$1.class deleted file mode 100644 index 1da6be4f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadHotProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadMore$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadMore$1$1.class deleted file mode 100644 index f9d1d2b6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadMore$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadRecommendedProducts$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadRecommendedProducts$1.class deleted file mode 100644 index 78c7f11a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadRecommendedProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadSubCategories$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadSubCategories$1$1.class deleted file mode 100644 index 3e4ceb2d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$loadSubCategories$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$onParentCategoryClick$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$onParentCategoryClick$1$1.class deleted file mode 100644 index 77443fd4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$onParentCategoryClick$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$onRefresh$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$onRefresh$1$1.class deleted file mode 100644 index c6ba10c9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion$setup$1$onRefresh$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion.class deleted file mode 100644 index e5b957aa..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex.class deleted file mode 100644 index 597dcd7f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainIndex.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainMessages$Companion$setup$1$claimCoupon$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainMessages$Companion$setup$1$claimCoupon$1$1.class deleted file mode 100644 index c92e40f1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainMessages$Companion$setup$1$claimCoupon$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainMessages$Companion$setup$1$loadMessages$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainMessages$Companion$setup$1$loadMessages$1$1.class deleted file mode 100644 index ff6bb492..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainMessages$Companion$setup$1$loadMessages$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainMessages$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainMessages$Companion.class deleted file mode 100644 index 61f11aba..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainMessages$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainMessages.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainMessages.class deleted file mode 100644 index a980ce1b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainMessages.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$Companion.class deleted file mode 100644 index 78d2621c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$applyRefund$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$applyRefund$1.class deleted file mode 100644 index 24839e5e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$applyRefund$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$bindEmail$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$bindEmail$1.class deleted file mode 100644 index f2183021..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$bindEmail$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$bindPhone$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$bindPhone$1.class deleted file mode 100644 index bd8487e2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$bindPhone$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$calculateLevel$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$calculateLevel$1.class deleted file mode 100644 index e7762048..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$calculateLevel$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$cancelOrderAction$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$cancelOrderAction$1.class deleted file mode 100644 index fafc4681..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$cancelOrderAction$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$changePassword$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$changePassword$1.class deleted file mode 100644 index 229e9d62..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$changePassword$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$confirmReceive$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$confirmReceive$1.class deleted file mode 100644 index 7865dcf8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$confirmReceive$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$contactSeller$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$contactSeller$1.class deleted file mode 100644 index 52c06de4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$contactSeller$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$contactService$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$contactService$1.class deleted file mode 100644 index 14340ef8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$contactService$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$deleteOrder$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$deleteOrder$1.class deleted file mode 100644 index 778595c2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$deleteOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$editProfile$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$editProfile$1.class deleted file mode 100644 index d8a3d413..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$editProfile$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$formatDateTime$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$formatDateTime$1.class deleted file mode 100644 index d1e6fe45..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$formatDateTime$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$formatTime$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$formatTime$1.class deleted file mode 100644 index 99931126..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$formatTime$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$gen_loadOrders_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$gen_loadOrders_fn$1.class deleted file mode 100644 index 39dad296..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$gen_loadOrders_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$gen_loadUserProfile_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$gen_loadUserProfile_fn$1.class deleted file mode 100644 index 83d89d11..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$gen_loadUserProfile_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$gen_updateCouponCount_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$gen_updateCouponCount_fn$1.class deleted file mode 100644 index 0c9374b8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$gen_updateCouponCount_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getMerchantIdFromOrder$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getMerchantIdFromOrder$1.class deleted file mode 100644 index faa59948..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getMerchantIdFromOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderItemCount$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderItemCount$1.class deleted file mode 100644 index 79279a4c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderItemCount$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderMainImage$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderMainImage$1.class deleted file mode 100644 index 1c8030da..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderMainImage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderSectionTitle$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderSectionTitle$1.class deleted file mode 100644 index c3d79073..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderSectionTitle$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderShopName$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderShopName$1.class deleted file mode 100644 index 1cc97251..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderShopName$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderSpec$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderSpec$1.class deleted file mode 100644 index 0d0c5ad7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderSpec$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderStatusClass$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderStatusClass$1.class deleted file mode 100644 index e5723d77..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderStatusClass$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderStatusText$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderStatusText$1.class deleted file mode 100644 index e0cf286f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderStatusText$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderTitle$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderTitle$1.class deleted file mode 100644 index 9c25d36d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getOrderTitle$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getUserLevel$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getUserLevel$1.class deleted file mode 100644 index e3e295e8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$getUserLevel$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goShopping$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goShopping$1.class deleted file mode 100644 index 861dea3a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goShopping$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToAddress$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToAddress$1.class deleted file mode 100644 index fd3a7256..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToAddress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToBalance$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToBalance$1.class deleted file mode 100644 index 27e4a63d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToBalance$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToCoupons$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToCoupons$1.class deleted file mode 100644 index d2ee4044..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToCoupons$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToFavorites$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToFavorites$1.class deleted file mode 100644 index acb3f4ba..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToFavorites$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToFollowedShops$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToFollowedShops$1.class deleted file mode 100644 index 3ce7caf7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToFollowedShops$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToFootprint$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToFootprint$1.class deleted file mode 100644 index 1d7bccef..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToFootprint$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToMember$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToMember$1.class deleted file mode 100644 index fbb669ea..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToMember$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToMySubscriptions$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToMySubscriptions$1.class deleted file mode 100644 index 11508b99..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToMySubscriptions$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToOrderReviews$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToOrderReviews$1.class deleted file mode 100644 index 9026f23d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToOrderReviews$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToOrders$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToOrders$1.class deleted file mode 100644 index aac62ba7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToOrders$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToPoints$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToPoints$1.class deleted file mode 100644 index 028c9b0f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToPoints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToProductFromOrder$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToProductFromOrder$1.class deleted file mode 100644 index 2bc2684d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToProductFromOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToRefund$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToRefund$1.class deleted file mode 100644 index fcd6801c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToRefund$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToSettings$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToSettings$1.class deleted file mode 100644 index 3f4219fa..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToSettings$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToShare$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToShare$1.class deleted file mode 100644 index 598ff35a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToShare$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToWallet$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToWallet$1.class deleted file mode 100644 index 5ab4e174..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$goToWallet$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$handleOrderAction$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$handleOrderAction$1.class deleted file mode 100644 index 79bc36ef..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$handleOrderAction$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$handleOrderUpdated$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$handleOrderUpdated$1.class deleted file mode 100644 index 2a654739..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$handleOrderUpdated$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$initPage$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$initPage$1.class deleted file mode 100644 index 3e5ee16a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$initPage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$loadConsumptionStats$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$loadConsumptionStats$1.class deleted file mode 100644 index f2c9b5b6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$loadConsumptionStats$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$loadOrders$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$loadOrders$1.class deleted file mode 100644 index d12eed37..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$loadOrders$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$loadUserProfile$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$loadUserProfile$1.class deleted file mode 100644 index aa37b305..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$loadUserProfile$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$payOrder$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$payOrder$1.class deleted file mode 100644 index ddf581a6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$payOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$refreshData$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$refreshData$1.class deleted file mode 100644 index 595e8c2e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$refreshData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$remindShipping$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$remindShipping$1.class deleted file mode 100644 index 89b079f3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$remindShipping$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$repurchase$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$repurchase$1.class deleted file mode 100644 index 61566495..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$repurchase$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$reviewOrder$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$reviewOrder$1.class deleted file mode 100644 index 8316d9e6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$reviewOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$showOrderMenu$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$showOrderMenu$1.class deleted file mode 100644 index 1a4503c0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$showOrderMenu$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$switchOrderTab$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$switchOrderTab$1.class deleted file mode 100644 index ce5ce2d9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$switchOrderTab$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$switchStatsPeriod$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$switchStatsPeriod$1.class deleted file mode 100644 index 6d3f11fc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$switchStatsPeriod$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$updateCouponCount$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$updateCouponCount$1.class deleted file mode 100644 index 8afca614..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$updateCouponCount$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$viewLogistics$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$viewLogistics$1.class deleted file mode 100644 index ae95d658..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$viewLogistics$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$viewOrderDetail$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$viewOrderDetail$1.class deleted file mode 100644 index 8f32e816..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$viewOrderDetail$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$viewRefundProgress$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$viewRefundProgress$1.class deleted file mode 100644 index a99efe81..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile$viewRefundProgress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile.class deleted file mode 100644 index 73f14b66..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMainProfile.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit$Companion$setup$1$loadAddress$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit$Companion$setup$1$loadAddress$1$1.class deleted file mode 100644 index c290e34a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit$Companion$setup$1$loadAddress$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit$Companion$setup$1$saveAddress$1$1$invokeSuspend$$inlined$assign$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit$Companion$setup$1$saveAddress$1$1$invokeSuspend$$inlined$assign$1.class deleted file mode 100644 index 67a0bf1b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit$Companion$setup$1$saveAddress$1$1$invokeSuspend$$inlined$assign$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit$Companion$setup$1$saveAddress$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit$Companion$setup$1$saveAddress$1$1.class deleted file mode 100644 index b4e767b4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit$Companion$setup$1$saveAddress$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit$Companion.class deleted file mode 100644 index 1e5ccace..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit.class deleted file mode 100644 index d4dcb2ed..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressEdit.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressList$Companion$setup$1$loadAddresses$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressList$Companion$setup$1$loadAddresses$1$1.class deleted file mode 100644 index 1e8f33e4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressList$Companion$setup$1$loadAddresses$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressList$Companion$setup$1$selectAddress$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressList$Companion$setup$1$selectAddress$1$1.class deleted file mode 100644 index 9e2f9f4b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressList$Companion$setup$1$selectAddress$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressList$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressList$Companion.class deleted file mode 100644 index 2b7ddbf9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressList$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressList.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressList.class deleted file mode 100644 index 0f60d928..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerAddressList.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund$Companion$setup$1$loadOrderInfo$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund$Companion$setup$1$loadOrderInfo$1$1.class deleted file mode 100644 index 96082908..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund$Companion$setup$1$loadOrderInfo$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund$Companion$setup$1$submitRefund$1$1$result$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund$Companion$setup$1$submitRefund$1$1$result$1.class deleted file mode 100644 index 2e26c287..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund$Companion$setup$1$submitRefund$1$1$result$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund$Companion$setup$1$submitRefund$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund$Companion$setup$1$submitRefund$1$1.class deleted file mode 100644 index f2c1264c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund$Companion$setup$1$submitRefund$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund$Companion.class deleted file mode 100644 index e4c7d71b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund.class deleted file mode 100644 index 8056ce92..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerApplyRefund.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadBalance$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadBalance$1$1.class deleted file mode 100644 index fd3b3d8f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadBalance$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadData$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadData$1$1.class deleted file mode 100644 index 3ebdcc8a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadRecords$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadRecords$1$1.class deleted file mode 100644 index dfa4c3a1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadRecords$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex$Companion.class deleted file mode 100644 index 26c89664..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex.class deleted file mode 100644 index 31ef5b3b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBalanceIndex.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsAdd$Companion$setup$1$submit$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsAdd$Companion$setup$1$submit$1$1.class deleted file mode 100644 index 55cd45c3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsAdd$Companion$setup$1$submit$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsAdd$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsAdd$Companion.class deleted file mode 100644 index 882c7854..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsAdd$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsAdd.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsAdd.class deleted file mode 100644 index 0d99d5d6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsAdd.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsIndex$Companion$setup$1$loadData$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsIndex$Companion$setup$1$loadData$1$1.class deleted file mode 100644 index 50e2ee32..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsIndex$Companion$setup$1$loadData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsIndex$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsIndex$Companion.class deleted file mode 100644 index 8407e95b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsIndex$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsIndex.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsIndex.class deleted file mode 100644 index 17820ba6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerBankCardsIndex.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$doUploadImage$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$doUploadImage$1.class deleted file mode 100644 index 36c93bbc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$doUploadImage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$gen_doUploadImage_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$gen_doUploadImage_fn$1.class deleted file mode 100644 index 84102e9b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$gen_doUploadImage_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$gen_loadChatHistory_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$gen_loadChatHistory_fn$1.class deleted file mode 100644 index 7a0fdc76..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$gen_loadChatHistory_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$gen_loadMerchantInfo_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$gen_loadMerchantInfo_fn$1.class deleted file mode 100644 index ebdb1ff2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$gen_loadMerchantInfo_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$gen_setupRealtimeSubscription_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$gen_setupRealtimeSubscription_fn$1.class deleted file mode 100644 index 3d4f8d98..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$gen_setupRealtimeSubscription_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$getCurrentTime$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$getCurrentTime$1.class deleted file mode 100644 index 186561c4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$getCurrentTime$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$insertEmoji$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$insertEmoji$1.class deleted file mode 100644 index 6f690b18..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$insertEmoji$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$loadChatHistory$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$loadChatHistory$1.class deleted file mode 100644 index fe1635b9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$loadChatHistory$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$loadMerchantInfo$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$loadMerchantInfo$1.class deleted file mode 100644 index 92e3620b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$loadMerchantInfo$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$onScrollToUpper$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$onScrollToUpper$1.class deleted file mode 100644 index e9c2ad8d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$onScrollToUpper$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$previewImage$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$previewImage$1.class deleted file mode 100644 index ac6cf857..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$previewImage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$scrollToBottom$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$scrollToBottom$1.class deleted file mode 100644 index cffded8a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$scrollToBottom$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$sendMessage$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$sendMessage$1$1.class deleted file mode 100644 index 487b3098..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$sendMessage$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$setupRealtimeSubscription$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$setupRealtimeSubscription$1.class deleted file mode 100644 index 158d5f42..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$setupRealtimeSubscription$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$showEmojiPicker$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$showEmojiPicker$1.class deleted file mode 100644 index f3e19fdc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$showEmojiPicker$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$showImagePicker$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$showImagePicker$1.class deleted file mode 100644 index 36ff5f4a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$showImagePicker$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$showMoreActions$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$showMoreActions$1.class deleted file mode 100644 index 775a461e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$showMoreActions$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$showMoreTools$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$showMoreTools$1.class deleted file mode 100644 index 87c35ebe..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion$setup$1$showMoreTools$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion.class deleted file mode 100644 index c33b149a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat.class deleted file mode 100644 index fe558ea2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerChat.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$formatSpecs$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$formatSpecs$1.class deleted file mode 100644 index 1e6dd0cc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$formatSpecs$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_initCheckoutData_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_initCheckoutData_fn$1.class deleted file mode 100644 index eb2fca25..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_initCheckoutData_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadAddressList_fn$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadAddressList_fn$1$1$1.class deleted file mode 100644 index dc175c19..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadAddressList_fn$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadAddressList_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadAddressList_fn$1.class deleted file mode 100644 index d566ebcb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadAddressList_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadDefaultAddress_fn$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadDefaultAddress_fn$1$1$1.class deleted file mode 100644 index 1c440588..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadDefaultAddress_fn$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadDefaultAddress_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadDefaultAddress_fn$1.class deleted file mode 100644 index 9ce979fe..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadDefaultAddress_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadFromLocalStorage_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadFromLocalStorage_fn$1.class deleted file mode 100644 index b5b9957d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadFromLocalStorage_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$getCurrentUserId$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$getCurrentUserId$1.class deleted file mode 100644 index 00357307..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$getCurrentUserId$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$getObjectKeys$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$getObjectKeys$1.class deleted file mode 100644 index 564dc82d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$getObjectKeys$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$handleSaveConfirm$1$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$handleSaveConfirm$1$1$1$1.class deleted file mode 100644 index 17afb468..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$handleSaveConfirm$1$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$handleSaveConfirm$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$handleSaveConfirm$1$1.class deleted file mode 100644 index a9fb1dd4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$handleSaveConfirm$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$initCheckoutData$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$initCheckoutData$1.class deleted file mode 100644 index b42bf1d2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$initCheckoutData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$loadAddressList$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$loadAddressList$1.class deleted file mode 100644 index a992c325..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$loadAddressList$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$loadCheckoutData$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$loadCheckoutData$1.class deleted file mode 100644 index c1ff50fe..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$loadCheckoutData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$loadDefaultAddress$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$loadDefaultAddress$1.class deleted file mode 100644 index be4bed0a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$loadDefaultAddress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$loadFromLocalStorage$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$loadFromLocalStorage$1.class deleted file mode 100644 index 3c19bd0d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$loadFromLocalStorage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$onShow__1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$onShow__1$1.class deleted file mode 100644 index c6d1e21e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$onShow__1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1$1$1.class deleted file mode 100644 index f45d5959..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1.class deleted file mode 100644 index e47189b5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$saveNewAddress$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$saveNewAddress$1$1.class deleted file mode 100644 index 564dd81d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$saveNewAddress$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1$1$1.class deleted file mode 100644 index 924a55b3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1$1$2$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1$1$2$1.class deleted file mode 100644 index 1f6edca2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1$1$2$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1.class deleted file mode 100644 index 02dc9700..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion.class deleted file mode 100644 index b402b8b9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout.class deleted file mode 100644 index 322e2996..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCheckout.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCoupons$Companion$setup$1$loadCoupons$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCoupons$Companion$setup$1$loadCoupons$1$1.class deleted file mode 100644 index 74ae42eb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCoupons$Companion$setup$1$loadCoupons$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCoupons$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCoupons$Companion.class deleted file mode 100644 index ae2c033a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCoupons$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCoupons.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCoupons.class deleted file mode 100644 index daaa513e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerCoupons.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFavorites$Companion$setup$1$addToCart$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFavorites$Companion$setup$1$addToCart$1$1.class deleted file mode 100644 index 1a9a68ea..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFavorites$Companion$setup$1$addToCart$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFavorites$Companion$setup$1$loadFavorites$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFavorites$Companion$setup$1$loadFavorites$1$1.class deleted file mode 100644 index c58e3e2e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFavorites$Companion$setup$1$loadFavorites$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFavorites$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFavorites$Companion.class deleted file mode 100644 index 9ecc06b1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFavorites$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFavorites.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFavorites.class deleted file mode 100644 index 00a48ffd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFavorites.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFootprint$Companion$setup$1$addToCart$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFootprint$Companion$setup$1$addToCart$1$1.class deleted file mode 100644 index 15398b9c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFootprint$Companion$setup$1$addToCart$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFootprint$Companion$setup$1$loadFootprints$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFootprint$Companion$setup$1$loadFootprints$1$1.class deleted file mode 100644 index 95e256a8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFootprint$Companion$setup$1$loadFootprints$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFootprint$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFootprint$Companion.class deleted file mode 100644 index 7e8c5e63..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFootprint$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFootprint.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFootprint.class deleted file mode 100644 index 84b13064..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerFootprint.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerLogistics$Companion$setup$1$loadLogisticsInfo$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerLogistics$Companion$setup$1$loadLogisticsInfo$1$1.class deleted file mode 100644 index fb44063e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerLogistics$Companion$setup$1$loadLogisticsInfo$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerLogistics$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerLogistics$Companion.class deleted file mode 100644 index 8739bed8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerLogistics$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerLogistics.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerLogistics.class deleted file mode 100644 index 0c7cd0f6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerLogistics.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadLevels$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadLevels$1$1.class deleted file mode 100644 index b3b1409d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadLevels$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadLogs$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadLogs$1$1.class deleted file mode 100644 index 87b86339..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadLogs$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadMemberInfo$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadMemberInfo$1$1.class deleted file mode 100644 index 573ef657..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadMemberInfo$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex$Companion.class deleted file mode 100644 index bfd8d063..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex.class deleted file mode 100644 index 09ac4d78..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMemberIndex.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMessageDetail$Companion$setup$1$loadMessage$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMessageDetail$Companion$setup$1$loadMessage$1$1.class deleted file mode 100644 index 0c719ca3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMessageDetail$Companion$setup$1$loadMessage$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMessageDetail$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMessageDetail$Companion.class deleted file mode 100644 index 61f3b3c1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMessageDetail$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMessageDetail.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMessageDetail.class deleted file mode 100644 index a4767d1f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMessageDetail.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion$setup$1$doDelete$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion$setup$1$doDelete$1$1.class deleted file mode 100644 index b09caf1c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion$setup$1$doDelete$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion$setup$1$loadPendingItems$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion$setup$1$loadPendingItems$1$1.class deleted file mode 100644 index afe91725..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion$setup$1$loadPendingItems$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion$setup$1$loadReviews$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion$setup$1$loadReviews$1$1.class deleted file mode 100644 index 7b0059d0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion$setup$1$loadReviews$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion$setup$1$submitAppend$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion$setup$1$submitAppend$1$1.class deleted file mode 100644 index d2d7fa06..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion$setup$1$submitAppend$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion.class deleted file mode 100644 index 589823cf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews.class deleted file mode 100644 index b516f665..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerMyReviews.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$doApplyRefund$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$doApplyRefund$1$1.class deleted file mode 100644 index cf38ec77..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$doApplyRefund$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$doCancelOrder$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$doCancelOrder$1$1.class deleted file mode 100644 index e89d2439..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$doCancelOrder$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$doConfirmReceive$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$doConfirmReceive$1$1.class deleted file mode 100644 index c0f2796b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$doConfirmReceive$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$formatSpecs$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$formatSpecs$1.class deleted file mode 100644 index 2e0c063b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$formatSpecs$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$loadOrderDetail$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$loadOrderDetail$1$1.class deleted file mode 100644 index d243e4e8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$loadOrderDetail$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$loadShopInfo$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$loadShopInfo$1$1.class deleted file mode 100644 index 7a6bc903..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$loadShopInfo$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$rePurchase$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$rePurchase$1$1.class deleted file mode 100644 index cd3d6592..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$rePurchase$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$remindDelivery$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$remindDelivery$1$1.class deleted file mode 100644 index 8320a40e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$remindDelivery$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$shareForFree$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$shareForFree$1$1.class deleted file mode 100644 index d53613d0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion$setup$1$shareForFree$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion.class deleted file mode 100644 index 3f1988c2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail.class deleted file mode 100644 index 7b4762b6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrderDetail.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$doCancelRefund$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$doCancelRefund$1$1.class deleted file mode 100644 index b2119152..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$doCancelRefund$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$doConfirmReceipt$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$doConfirmReceipt$1$1.class deleted file mode 100644 index 13a0d354..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$doConfirmReceipt$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$formatSpecObj$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$formatSpecObj$1.class deleted file mode 100644 index 045a27e5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$formatSpecObj$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$getCurrentOrderData$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$getCurrentOrderData$1.class deleted file mode 100644 index 67a243f5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$getCurrentOrderData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$loadMerchantPromotionConfigs$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$loadMerchantPromotionConfigs$1$1.class deleted file mode 100644 index 7a675de7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$loadMerchantPromotionConfigs$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$loadOrders$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$loadOrders$1$1.class deleted file mode 100644 index 30b79894..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$loadOrders$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$parseSpecText$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$parseSpecText$1.class deleted file mode 100644 index 027c6fb4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$parseSpecText$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$remindShipping$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$remindShipping$1$1.class deleted file mode 100644 index 0d02836e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$remindShipping$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$shareForFree$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$shareForFree$1$1.class deleted file mode 100644 index 77a858e7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion$setup$1$shareForFree$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion.class deleted file mode 100644 index 21c4314d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders.class deleted file mode 100644 index 761e2313..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerOrders.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$cancelPayment$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$cancelPayment$1$1$1.class deleted file mode 100644 index a6e7673f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$cancelPayment$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$cancelPayment$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$cancelPayment$1$1.class deleted file mode 100644 index 95a91eaf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$cancelPayment$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$confirmPayment$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$confirmPayment$1$1$1.class deleted file mode 100644 index 1a4118fa..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$confirmPayment$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$confirmPayment$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$confirmPayment$1$1.class deleted file mode 100644 index 6945cb4a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$confirmPayment$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$loadOrderInfo$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$loadOrderInfo$1$1.class deleted file mode 100644 index 3add2895..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$loadOrderInfo$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$loadUserBalance$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$loadUserBalance$1$1.class deleted file mode 100644 index 98b059ea..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$loadUserBalance$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$verifyPassword$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$verifyPassword$1$1.class deleted file mode 100644 index e76d74b1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion$setup$1$verifyPassword$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion.class deleted file mode 100644 index cf1c7ef4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment.class deleted file mode 100644 index 964c7289..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPayment.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPaymentSuccess$Companion$setup$1$loadOrderInfo$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPaymentSuccess$Companion$setup$1$loadOrderInfo$1$1.class deleted file mode 100644 index d8d867ef..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPaymentSuccess$Companion$setup$1$loadOrderInfo$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPaymentSuccess$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPaymentSuccess$Companion.class deleted file mode 100644 index 5504bc92..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPaymentSuccess$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPaymentSuccess.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPaymentSuccess.class deleted file mode 100644 index 0ced21d8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPaymentSuccess.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchange$Companion$setup$1$confirmExchange$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchange$Companion$setup$1$confirmExchange$1$1.class deleted file mode 100644 index 52059148..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchange$Companion$setup$1$confirmExchange$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchange$Companion$setup$1$loadProducts$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchange$Companion$setup$1$loadProducts$1$1.class deleted file mode 100644 index c25ca99e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchange$Companion$setup$1$loadProducts$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchange$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchange$Companion.class deleted file mode 100644 index a7871928..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchange$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchange.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchange.class deleted file mode 100644 index 691ab5c6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchange.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchangeRecords$Companion$setup$1$loadRecords$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchangeRecords$Companion$setup$1$loadRecords$1$1.class deleted file mode 100644 index d7c7bb88..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchangeRecords$Companion$setup$1$loadRecords$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchangeRecords$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchangeRecords$Companion.class deleted file mode 100644 index b2dd761c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchangeRecords$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchangeRecords.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchangeRecords.class deleted file mode 100644 index 103189c0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsExchangeRecords.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadData$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadData$1$1.class deleted file mode 100644 index e02903b2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadExpiringPoints$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadExpiringPoints$1$1.class deleted file mode 100644 index 45a688ac..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadExpiringPoints$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadPoints$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadPoints$1$1.class deleted file mode 100644 index b1c99fc2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadPoints$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadRecords$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadRecords$1$1.class deleted file mode 100644 index 7678302b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadRecords$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadSigninStatus$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadSigninStatus$1$1.class deleted file mode 100644 index 3991d658..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadSigninStatus$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion.class deleted file mode 100644 index 7dc05c8f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex.class deleted file mode 100644 index 58228c2e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsIndex.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsSignin$Companion$setup$1$doSignin$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsSignin$Companion$setup$1$doSignin$1$1.class deleted file mode 100644 index 677ae321..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsSignin$Companion$setup$1$doSignin$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsSignin$Companion$setup$1$loadSigninData$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsSignin$Companion$setup$1$loadSigninData$1$1.class deleted file mode 100644 index 4bee9076..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsSignin$Companion$setup$1$loadSigninData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsSignin$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsSignin$Companion.class deleted file mode 100644 index 16149c6b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsSignin$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsSignin.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsSignin.class deleted file mode 100644 index 78c3e980..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerPointsSignin.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$1$1.class deleted file mode 100644 index 5bd0f55a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$Companion.class deleted file mode 100644 index 3309538b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$addToCart$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$addToCart$1.class deleted file mode 100644 index ce388b31..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$addToCart$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$buyNow$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$buyNow$1.class deleted file mode 100644 index 1cd944ea..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$buyNow$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$checkFavorite$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$checkFavorite$1.class deleted file mode 100644 index 4552b1b4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$checkFavorite$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$checkFavoriteStatus$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$checkFavoriteStatus$1.class deleted file mode 100644 index d8fa3296..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$checkFavoriteStatus$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$claimCoupon$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$claimCoupon$1.class deleted file mode 100644 index 5e3e1a08..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$claimCoupon$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$contactMerchant$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$contactMerchant$1.class deleted file mode 100644 index 579c8d2d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$contactMerchant$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$decreaseQuantity$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$decreaseQuantity$1.class deleted file mode 100644 index fd1f8cd1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$decreaseQuantity$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$formatDate$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$formatDate$1.class deleted file mode 100644 index e8a201f8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$formatDate$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_addToCart_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_addToCart_fn$1.class deleted file mode 100644 index a4d7608c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_addToCart_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_checkFavorite_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_checkFavorite_fn$1.class deleted file mode 100644 index 2dbe157e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_checkFavorite_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_claimCoupon_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_claimCoupon_fn$1.class deleted file mode 100644 index 20e9b4ae..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_claimCoupon_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadCoupons_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadCoupons_fn$1.class deleted file mode 100644 index 0d8a8d9e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadCoupons_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadMemberPrice_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadMemberPrice_fn$1.class deleted file mode 100644 index 6d8adb53..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadMemberPrice_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadMerchantInfo_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadMerchantInfo_fn$1.class deleted file mode 100644 index feb1a4a6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadMerchantInfo_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadProductSkus_fn$1$1$specs$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadProductSkus_fn$1$1$specs$1.class deleted file mode 100644 index 0a908d25..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadProductSkus_fn$1$1$specs$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadProductSkus_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadProductSkus_fn$1.class deleted file mode 100644 index 246b77c0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_loadProductSkus_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_toggleFavorite_fn$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_toggleFavorite_fn$1.class deleted file mode 100644 index b926956e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$gen_toggleFavorite_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getAvailableStock$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getAvailableStock$1.class deleted file mode 100644 index e12d4ac9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getAvailableStock$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getMaxQuantity$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getMaxQuantity$1.class deleted file mode 100644 index 3d09d455..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getMaxQuantity$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getParamsSummary$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getParamsSummary$1.class deleted file mode 100644 index ed65d5f1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getParamsSummary$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getSelectedSkuImage$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getSelectedSkuImage$1.class deleted file mode 100644 index 5b2fb61c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getSelectedSkuImage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getSelectedSkuPrice$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getSelectedSkuPrice$1.class deleted file mode 100644 index f7e2892c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getSelectedSkuPrice$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getSelectedSkuStock$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getSelectedSkuStock$1.class deleted file mode 100644 index a2fce655..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getSelectedSkuStock$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getSkuSpecText$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getSkuSpecText$1.class deleted file mode 100644 index a5ea7061..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$getSkuSpecText$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$goToCart$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$goToCart$1.class deleted file mode 100644 index 4f0f2bcd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$goToCart$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$goToHome$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$goToHome$1.class deleted file mode 100644 index f27cb880..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$goToHome$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$goToShop$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$goToShop$1.class deleted file mode 100644 index bedf986c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$goToShop$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$hideCouponModal$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$hideCouponModal$1.class deleted file mode 100644 index 76ac85b1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$hideCouponModal$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$hideParamsModal$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$hideParamsModal$1.class deleted file mode 100644 index b0fbfe8a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$hideParamsModal$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$hideSpecModal$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$hideSpecModal$1.class deleted file mode 100644 index 28e70eef..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$hideSpecModal$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$increaseQuantity$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$increaseQuantity$1.class deleted file mode 100644 index df9ec805..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$increaseQuantity$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadCoupons$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadCoupons$1.class deleted file mode 100644 index bc244000..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadCoupons$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadMemberPrice$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadMemberPrice$1.class deleted file mode 100644 index dc77e302..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadMemberPrice$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadMerchantInfo$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadMerchantInfo$1.class deleted file mode 100644 index e434a8d3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadMerchantInfo$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadProductDetail$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadProductDetail$1.class deleted file mode 100644 index cfa3c7bc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadProductDetail$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadProductSkus$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadProductSkus$1.class deleted file mode 100644 index 7e08ddb4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$loadProductSkus$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$onSwiperChange$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$onSwiperChange$1.class deleted file mode 100644 index ffcdda18..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$onSwiperChange$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$previewImage$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$previewImage$1.class deleted file mode 100644 index ffd583a0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$previewImage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$saveFootprint$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$saveFootprint$1.class deleted file mode 100644 index 9ac0f7ff..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$saveFootprint$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$selectSku$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$selectSku$1.class deleted file mode 100644 index 72cfe50c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$selectSku$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$showCouponModal$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$showCouponModal$1.class deleted file mode 100644 index 04609cc9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$showCouponModal$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$showParamsModal$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$showParamsModal$1.class deleted file mode 100644 index 7c1c55ae..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$showParamsModal$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$showSpecModal$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$showSpecModal$1.class deleted file mode 100644 index ac9edb59..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$showSpecModal$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$toggleFavorite$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$toggleFavorite$1.class deleted file mode 100644 index 3ee77b12..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$toggleFavorite$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$validateQuantity$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$validateQuantity$1.class deleted file mode 100644 index cc01b712..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail$validateQuantity$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail.class deleted file mode 100644 index 73cb9f92..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductDetail.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews$Companion$setup$1$loadReviews$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews$Companion$setup$1$loadReviews$1$1.class deleted file mode 100644 index 25c74823..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews$Companion$setup$1$loadReviews$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews$Companion$setup$1$loadStats$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews$Companion$setup$1$loadStats$1$1.class deleted file mode 100644 index 2d6c165a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews$Companion$setup$1$loadStats$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews$Companion$setup$1$toggleLike$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews$Companion$setup$1$toggleLike$1$1.class deleted file mode 100644 index 5751950d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews$Companion$setup$1$toggleLike$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews$Companion.class deleted file mode 100644 index f1a167e8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews.class deleted file mode 100644 index baf337d1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerProductReviews.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRedPacketsIndex$Companion$setup$1$loadData$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRedPacketsIndex$Companion$setup$1$loadData$1$1.class deleted file mode 100644 index b75ade28..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRedPacketsIndex$Companion$setup$1$loadData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRedPacketsIndex$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRedPacketsIndex$Companion.class deleted file mode 100644 index 76e68bf5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRedPacketsIndex$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRedPacketsIndex.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRedPacketsIndex.class deleted file mode 100644 index dace1776..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRedPacketsIndex.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$doCancelRefund$1$1$result$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$doCancelRefund$1$1$result$1.class deleted file mode 100644 index 41810f7d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$doCancelRefund$1$1$result$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$doCancelRefund$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$doCancelRefund$1$1.class deleted file mode 100644 index 94fafcfe..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$doCancelRefund$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$doDeleteRefund$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$doDeleteRefund$1$1.class deleted file mode 100644 index c27890e4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$doDeleteRefund$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$loadRefunds$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$loadRefunds$1$1.class deleted file mode 100644 index 6ad53017..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$loadRefunds$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$loadTabCounts$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$loadTabCounts$1$1.class deleted file mode 100644 index 9864ab20..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion$setup$1$loadTabCounts$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion.class deleted file mode 100644 index 8b008eb9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund.class deleted file mode 100644 index eac51e8d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefund.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefundReview$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefundReview$Companion.class deleted file mode 100644 index 4addd1dc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefundReview$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefundReview.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefundReview.class deleted file mode 100644 index 34cc7fd2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerRefundReview.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview$Companion$setup$1$loadOrderData$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview$Companion$setup$1$loadOrderData$1$1.class deleted file mode 100644 index e4763c53..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview$Companion$setup$1$loadOrderData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview$Companion$setup$1$submitReview$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview$Companion$setup$1$submitReview$1$1.class deleted file mode 100644 index 8157ae06..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview$Companion$setup$1$submitReview$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview$Companion$setup$1$uploadImage$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview$Companion$setup$1$uploadImage$1$1.class deleted file mode 100644 index c6510bd0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview$Companion$setup$1$uploadImage$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview$Companion.class deleted file mode 100644 index 76f50e96..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview.class deleted file mode 100644 index 875bf665..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerReview.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$addToCart$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$addToCart$1$1.class deleted file mode 100644 index eb7c5f87..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$addToCart$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$fetchSuggestions$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$fetchSuggestions$1$1.class deleted file mode 100644 index eefeb23f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$fetchSuggestions$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$loadData$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$loadData$1$1.class deleted file mode 100644 index 42ec32e4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$loadData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$loadMore$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$loadMore$1$1.class deleted file mode 100644 index 430164bf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$loadMore$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$performSearch$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$performSearch$1$1.class deleted file mode 100644 index 75a6bf2f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion$setup$1$performSearch$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion.class deleted file mode 100644 index 5bf44160..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch.class deleted file mode 100644 index 8f3e11c8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSearch.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSettings$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSettings$Companion.class deleted file mode 100644 index da7d1ad8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSettings$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSettings.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSettings.class deleted file mode 100644 index a3bb578f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSettings.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareDetail$Companion$setup$1$loadShareDetail$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareDetail$Companion$setup$1$loadShareDetail$1$1.class deleted file mode 100644 index cef1051e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareDetail$Companion$setup$1$loadShareDetail$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareDetail$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareDetail$Companion.class deleted file mode 100644 index 4e250271..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareDetail$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareDetail.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareDetail.class deleted file mode 100644 index 04a7a3db..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareDetail.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareIndex$Companion$setup$1$loadShares$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareIndex$Companion$setup$1$loadShares$1$1.class deleted file mode 100644 index 1fe83316..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareIndex$Companion$setup$1$loadShares$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareIndex$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareIndex$Companion.class deleted file mode 100644 index 5eadcc15..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareIndex$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareIndex.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareIndex.class deleted file mode 100644 index cbd6f434..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShareIndex.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$addToCart$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$addToCart$1$1.class deleted file mode 100644 index fb70ee11..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$addToCart$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$checkFollowStatus$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$checkFollowStatus$1$1.class deleted file mode 100644 index 9bd26312..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$checkFollowStatus$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$claimCoupon$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$claimCoupon$1$1.class deleted file mode 100644 index e20ba9ff..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$claimCoupon$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$loadCoupons$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$loadCoupons$1$1.class deleted file mode 100644 index 215b383a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$loadCoupons$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$loadShopData$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$loadShopData$1$1.class deleted file mode 100644 index 9b5c63be..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$loadShopData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$loadShopProducts$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$loadShopProducts$1$1.class deleted file mode 100644 index 396a8556..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$loadShopProducts$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$toggleFollow$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$toggleFollow$1$1.class deleted file mode 100644 index 982d531b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion$setup$1$toggleFollow$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion.class deleted file mode 100644 index f0917dc5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail.class deleted file mode 100644 index b4e19ff9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerShopDetail.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$doUnfollow$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$doUnfollow$1$1.class deleted file mode 100644 index de89b526..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$doUnfollow$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$loadFollowedShops$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$loadFollowedShops$1$1.class deleted file mode 100644 index 7fe11ea0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$loadFollowedShops$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$unfollow$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$unfollow$1$1.class deleted file mode 100644 index 9bd377d2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$unfollow$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops$Companion.class deleted file mode 100644 index 5da9d5dd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops.class deleted file mode 100644 index 74d6bc8d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerSubscriptionFollowedShops.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion$setup$1$confirmRecharge$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion$setup$1$confirmRecharge$1$1.class deleted file mode 100644 index 222317fb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion$setup$1$confirmRecharge$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion$setup$1$loadBalance$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion$setup$1$loadBalance$1$1.class deleted file mode 100644 index f9aefb09..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion$setup$1$loadBalance$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion$setup$1$loadTransactions$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion$setup$1$loadTransactions$1$1.class deleted file mode 100644 index ee6859a6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion$setup$1$loadTransactions$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion$setup$1$loadWalletData$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion$setup$1$loadWalletData$1$1.class deleted file mode 100644 index c4de38df..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion$setup$1$loadWalletData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion.class deleted file mode 100644 index 46012943..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet.class deleted file mode 100644 index 71bd8c7a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWallet.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWithdraw$Companion$setup$1$loadData$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWithdraw$Companion$setup$1$loadData$1$1.class deleted file mode 100644 index 153c79ce..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWithdraw$Companion$setup$1$loadData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWithdraw$Companion$setup$1$submitWithdraw$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWithdraw$Companion$setup$1$submitWithdraw$1$1.class deleted file mode 100644 index c9b4bd9c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWithdraw$Companion$setup$1$submitWithdraw$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWithdraw$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWithdraw$Companion.class deleted file mode 100644 index c8a6d828..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWithdraw$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWithdraw.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWithdraw.class deleted file mode 100644 index 739e469f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesMallConsumerWithdraw.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindEmail$Companion$setup$1$handleSubmit$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindEmail$Companion$setup$1$handleSubmit$1$1.class deleted file mode 100644 index 260ed757..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindEmail$Companion$setup$1$handleSubmit$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindEmail$Companion$setup$1$sendCode$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindEmail$Companion$setup$1$sendCode$1$1.class deleted file mode 100644 index de05f88a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindEmail$Companion$setup$1$sendCode$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindEmail$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindEmail$Companion.class deleted file mode 100644 index 13e86865..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindEmail$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindEmail.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindEmail.class deleted file mode 100644 index 192698ce..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindEmail.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindPhone$Companion$setup$1$handleSubmit$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindPhone$Companion$setup$1$handleSubmit$1$1.class deleted file mode 100644 index 66e409dc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindPhone$Companion$setup$1$handleSubmit$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindPhone$Companion$setup$1$sendCode$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindPhone$Companion$setup$1$sendCode$1$1.class deleted file mode 100644 index 3b970eed..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindPhone$Companion$setup$1$sendCode$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindPhone$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindPhone$Companion.class deleted file mode 100644 index 2b5663df..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindPhone$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindPhone.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindPhone.class deleted file mode 100644 index d8484db3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBindPhone.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBoot$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBoot$Companion.class deleted file mode 100644 index e49b9f65..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBoot$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBoot$checkAndRedirect$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBoot$checkAndRedirect$1.class deleted file mode 100644 index 18a1d4e4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBoot$checkAndRedirect$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBoot.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBoot.class deleted file mode 100644 index c6c40388..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserBoot.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserCenter$Companion$setup$1$loadProfile$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserCenter$Companion$setup$1$loadProfile$1$1.class deleted file mode 100644 index acc24e5f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserCenter$Companion$setup$1$loadProfile$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserCenter$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserCenter$Companion.class deleted file mode 100644 index e263da2c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserCenter$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserCenter.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserCenter.class deleted file mode 100644 index 7010cac1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserCenter.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserChangePassword$Companion$setup$1$handleSubmit$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserChangePassword$Companion$setup$1$handleSubmit$1$1.class deleted file mode 100644 index ce509432..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserChangePassword$Companion$setup$1$handleSubmit$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserChangePassword$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserChangePassword$Companion.class deleted file mode 100644 index b27fe66c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserChangePassword$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserChangePassword.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserChangePassword.class deleted file mode 100644 index fffaa2ad..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserChangePassword.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserForgotPassword$Companion$setup$1$handleResetRequest$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserForgotPassword$Companion$setup$1$handleResetRequest$1$1.class deleted file mode 100644 index 78322760..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserForgotPassword$Companion$setup$1$handleResetRequest$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserForgotPassword$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserForgotPassword$Companion.class deleted file mode 100644 index c845a05e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserForgotPassword$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserForgotPassword.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserForgotPassword.class deleted file mode 100644 index 2f9943d4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserForgotPassword.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin$Companion$setup$1$cssVars$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin$Companion$setup$1$cssVars$1.class deleted file mode 100644 index 3fe7d10c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin$Companion$setup$1$cssVars$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin$Companion$setup$1$getCode$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin$Companion$setup$1$getCode$1$1.class deleted file mode 100644 index a1c058d1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin$Companion$setup$1$getCode$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin$Companion$setup$1$handleLogin$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin$Companion$setup$1$handleLogin$1$1.class deleted file mode 100644 index 5874b37b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin$Companion$setup$1$handleLogin$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin$Companion.class deleted file mode 100644 index 79ef70a0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin.class deleted file mode 100644 index 1b6ec063..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserLogin.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion$setup$1$loadProfile$1$1$newProfile$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion$setup$1$loadProfile$1$1$newProfile$1.class deleted file mode 100644 index 2a368743..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion$setup$1$loadProfile$1$1$newProfile$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion$setup$1$loadProfile$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion$setup$1$loadProfile$1$1.class deleted file mode 100644 index 855994c3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion$setup$1$loadProfile$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion$setup$1$saveProfile$1$1$updateData$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion$setup$1$saveProfile$1$1$updateData$1.class deleted file mode 100644 index 7274a8ed..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion$setup$1$saveProfile$1$1$updateData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion$setup$1$saveProfile$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion$setup$1$saveProfile$1$1.class deleted file mode 100644 index 467b50e8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion$setup$1$saveProfile$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion.class deleted file mode 100644 index a2e0ebdd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile.class deleted file mode 100644 index da520841..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserProfile.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserRegister$Companion$setup$1$handleRegister$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserRegister$Companion$setup$1$handleRegister$1$1.class deleted file mode 100644 index cd4a0153..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserRegister$Companion$setup$1$handleRegister$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserRegister$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserRegister$Companion.class deleted file mode 100644 index ff11b152..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserRegister$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserRegister.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserRegister.class deleted file mode 100644 index c9bac9f4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserRegister.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserTerms$Companion.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserTerms$Companion.class deleted file mode 100644 index e162893c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserTerms$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserTerms$goBack$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserTerms$goBack$1.class deleted file mode 100644 index c1ded171..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserTerms$goBack$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserTerms.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserTerms.class deleted file mode 100644 index 170ae4da..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenPagesUserTerms.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenUniApp.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenUniApp.class deleted file mode 100644 index bbf76fed..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GenUniApp.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GuessItemType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GuessItemType.class deleted file mode 100644 index fe12554a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GuessItemType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GuessItemTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/GuessItemTypeReactiveObject.class deleted file mode 100644 index f7ff7391..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/GuessItemTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/HotSearchItemType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/HotSearchItemType.class deleted file mode 100644 index 979c0f98..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/HotSearchItemType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/HotSearchItemTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/HotSearchItemTypeReactiveObject.class deleted file mode 100644 index b67bfc77..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/HotSearchItemTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/I18nGlobal.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/I18nGlobal.class deleted file mode 100644 index a9a01b24..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/I18nGlobal.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/I18nInstance.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/I18nInstance.class deleted file mode 100644 index 3cebdc4b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/I18nInstance.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$ADDRESS_LABEL$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$ADDRESS_LABEL$1.class deleted file mode 100644 index 9f55a3a6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$ADDRESS_LABEL$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$COUPON_TYPE$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$COUPON_TYPE$1.class deleted file mode 100644 index 581cfe22..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$COUPON_TYPE$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$DELIVERY_STATUS$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$DELIVERY_STATUS$1.class deleted file mode 100644 index 818c732c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$DELIVERY_STATUS$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$FAVORITE_TYPE$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$FAVORITE_TYPE$1.class deleted file mode 100644 index 996f838a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$FAVORITE_TYPE$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$MALL_USER_TYPE$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$MALL_USER_TYPE$1.class deleted file mode 100644 index 4c3a9c47..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$MALL_USER_TYPE$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$ORDER_STATUS$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$ORDER_STATUS$1.class deleted file mode 100644 index 9e3dc53c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$ORDER_STATUS$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$PAYMENT_METHOD$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$PAYMENT_METHOD$1.class deleted file mode 100644 index 9d807c93..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$PAYMENT_METHOD$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$SUBSCRIPTION_PERIOD$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$SUBSCRIPTION_PERIOD$1.class deleted file mode 100644 index a4de96b4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$SUBSCRIPTION_PERIOD$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$SUBSCRIPTION_STATUS$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$SUBSCRIPTION_STATUS$1.class deleted file mode 100644 index e5f558bd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$SUBSCRIPTION_STATUS$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$VERIFICATION_STATUS$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$VERIFICATION_STATUS$1.class deleted file mode 100644 index 51a03d5a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$VERIFICATION_STATUS$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$ensureUserProfile$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$ensureUserProfile$1$1.class deleted file mode 100644 index 6185bd4a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$ensureUserProfile$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$ensureUserProfile$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$ensureUserProfile$1.class deleted file mode 100644 index f68b8b89..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$ensureUserProfile$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$getCurrentUser$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$getCurrentUser$1.class deleted file mode 100644 index d8d6466a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt$getCurrentUser$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt.class deleted file mode 100644 index f74c6388..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/IndexKt.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/LevelLog.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/LevelLog.class deleted file mode 100644 index 4581c8b2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/LevelLog.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/LevelLogReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/LevelLogReactiveObject.class deleted file mode 100644 index e7345481..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/LevelLogReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocalCartItem.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocalCartItem.class deleted file mode 100644 index 1096c326..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocalCartItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocalCartItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocalCartItemReactiveObject.class deleted file mode 100644 index 14ef1f22..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocalCartItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocalCategory.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocalCategory.class deleted file mode 100644 index 5882034e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocalCategory.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocalCategoryReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocalCategoryReactiveObject.class deleted file mode 100644 index ae8d6094..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocalCategoryReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocaleWrapper.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocaleWrapper.class deleted file mode 100644 index 91dbbca1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/LocaleWrapper.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MemberInfo.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MemberInfo.class deleted file mode 100644 index 3a51c6de..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MemberInfo.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MemberInfoReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MemberInfoReactiveObject.class deleted file mode 100644 index 23cda3e5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MemberInfoReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MemberLevel.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MemberLevel.class deleted file mode 100644 index aa39c909..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MemberLevel.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MemberLevelReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MemberLevelReactiveObject.class deleted file mode 100644 index a54cc0a5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MemberLevelReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantRatingType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantRatingType.class deleted file mode 100644 index 17e025be..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantRatingType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantRatingTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantRatingTypeReactiveObject.class deleted file mode 100644 index 4f8a877f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantRatingTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantType.class deleted file mode 100644 index 415ebbce..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantTypeReactiveObject.class deleted file mode 100644 index 640d1e65..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantType__1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantType__1.class deleted file mode 100644 index d2b2ce91..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantType__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantType__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantType__1ReactiveObject.class deleted file mode 100644 index 63a427cd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MerchantType__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageItem.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageItem.class deleted file mode 100644 index 8a86484b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageItemReactiveObject.class deleted file mode 100644 index ace10d5c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageTab.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageTab.class deleted file mode 100644 index c060293c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageTab.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageTabReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageTabReactiveObject.class deleted file mode 100644 index bc8f319a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageTabReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageType.class deleted file mode 100644 index 544ffb5d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageTypeReactiveObject.class deleted file mode 100644 index 35ab9729..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MessageTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MockAddress.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MockAddress.class deleted file mode 100644 index 7453bd4f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MockAddress.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MyReviewItem.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MyReviewItem.class deleted file mode 100644 index f8e34e3e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MyReviewItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MyReviewItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/MyReviewItemReactiveObject.class deleted file mode 100644 index 8a067378..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/MyReviewItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/NewAddressData.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/NewAddressData.class deleted file mode 100644 index 2f74a584..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/NewAddressData.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/NewAddressForm.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/NewAddressForm.class deleted file mode 100644 index 94f4f49d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/NewAddressForm.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/NewAddressFormReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/NewAddressFormReactiveObject.class deleted file mode 100644 index c5fafc3b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/NewAddressFormReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Notification.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/Notification.class deleted file mode 100644 index 00658fc3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Notification.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/NotificationType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/NotificationType.class deleted file mode 100644 index 2576b4e3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/NotificationType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/NotificationTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/NotificationTypeReactiveObject.class deleted file mode 100644 index ec743bdc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/NotificationTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderCountsType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderCountsType.class deleted file mode 100644 index 5eb44cb4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderCountsType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderCountsTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderCountsTypeReactiveObject.class deleted file mode 100644 index 41aa9157..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderCountsTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItem.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItem.class deleted file mode 100644 index 1b6f9002..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemReactiveObject.class deleted file mode 100644 index 9e9f8196..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType.class deleted file mode 100644 index 3890b7d1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemTypeReactiveObject.class deleted file mode 100644 index bc1e3891..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType__1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType__1.class deleted file mode 100644 index 3824afc6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType__1ReactiveObject.class deleted file mode 100644 index 690291f4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType__2.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType__2.class deleted file mode 100644 index be439472..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType__2.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType__2ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType__2ReactiveObject.class deleted file mode 100644 index e10fa5b5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderItemType__2ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderOptions.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderOptions.class deleted file mode 100644 index d0839891..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderOptions.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderProduct.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderProduct.class deleted file mode 100644 index c78d5a7e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderProduct.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderProductReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderProductReactiveObject.class deleted file mode 100644 index e41c56d9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderProductReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderTabItem.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderTabItem.class deleted file mode 100644 index 8bdd6d32..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderTabItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderTabItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderTabItemReactiveObject.class deleted file mode 100644 index 16d57718..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderTabItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderType.class deleted file mode 100644 index 5efa7b9a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderTypeReactiveObject.class deleted file mode 100644 index 17039183..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderType__1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderType__1.class deleted file mode 100644 index b5a0aa9a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderType__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderType__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderType__1ReactiveObject.class deleted file mode 100644 index 78cf4a4e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/OrderType__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PaginatedResponse.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/PaginatedResponse.class deleted file mode 100644 index 69753639..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PaginatedResponse.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PaymentMethodType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/PaymentMethodType.class deleted file mode 100644 index 5a73aa0a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PaymentMethodType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PaymentMethodTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/PaymentMethodTypeReactiveObject.class deleted file mode 100644 index 0646336e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PaymentMethodTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PendingItem.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/PendingItem.class deleted file mode 100644 index 5333c241..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PendingItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PendingItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/PendingItemReactiveObject.class deleted file mode 100644 index d5eac26d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PendingItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PointProduct.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/PointProduct.class deleted file mode 100644 index b3e2e521..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PointProduct.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PointProductReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/PointProductReactiveObject.class deleted file mode 100644 index 76de48d1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PointProductReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PointRecord.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/PointRecord.class deleted file mode 100644 index a860e657..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PointRecord.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PointRecordReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/PointRecordReactiveObject.class deleted file mode 100644 index 225cff03..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PointRecordReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PrivacyType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/PrivacyType.class deleted file mode 100644 index bf000913..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PrivacyType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PrivacyTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/PrivacyTypeReactiveObject.class deleted file mode 100644 index ce0ebca7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/PrivacyTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Product.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/Product.class deleted file mode 100644 index 4ab2d9c4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Product.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductReactiveObject.class deleted file mode 100644 index 26699ed8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductSku.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductSku.class deleted file mode 100644 index 7f850406..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductSku.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductSkuType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductSkuType.class deleted file mode 100644 index 79b2f550..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductSkuType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductSkuTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductSkuTypeReactiveObject.class deleted file mode 100644 index 008db19d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductSkuTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductType.class deleted file mode 100644 index 5c3e4c0f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductTypeReactiveObject.class deleted file mode 100644 index 221bd10b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProductTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProfileType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProfileType.class deleted file mode 100644 index 5f922045..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProfileType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProfileTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProfileTypeReactiveObject.class deleted file mode 100644 index 67dd84ce..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ProfileTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RecommendProduct.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RecommendProduct.class deleted file mode 100644 index 8fbf92d0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RecommendProduct.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RecommendProductReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RecommendProductReactiveObject.class deleted file mode 100644 index 74612e4b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RecommendProductReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RedPacket.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RedPacket.class deleted file mode 100644 index 9fe4ed63..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RedPacket.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RedPacketReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RedPacketReactiveObject.class deleted file mode 100644 index c3629333..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RedPacketReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundOrderInfo.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundOrderInfo.class deleted file mode 100644 index 9d022be3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundOrderInfo.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundOrderInfoReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundOrderInfoReactiveObject.class deleted file mode 100644 index 777d691c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundOrderInfoReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundOrderItem.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundOrderItem.class deleted file mode 100644 index 1e71a5fd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundOrderItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundOrderItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundOrderItemReactiveObject.class deleted file mode 100644 index 8df41a89..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundOrderItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundProductInfo.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundProductInfo.class deleted file mode 100644 index 502679f1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundProductInfo.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundProductInfoReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundProductInfoReactiveObject.class deleted file mode 100644 index eb324dc9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundProductInfoReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundResponse.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundResponse.class deleted file mode 100644 index 1a1138a7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundResponse.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundStatusHistoryItem.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundStatusHistoryItem.class deleted file mode 100644 index 0d159e52..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundStatusHistoryItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundStatusHistoryItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundStatusHistoryItemReactiveObject.class deleted file mode 100644 index b3b3c602..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundStatusHistoryItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundType.class deleted file mode 100644 index 2bdec805..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundTypeReactiveObject.class deleted file mode 100644 index 4da151b6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/RefundTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ReviewItem.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ReviewItem.class deleted file mode 100644 index 8a483627..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ReviewItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ReviewItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ReviewItemReactiveObject.class deleted file mode 100644 index 8f7cae85..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ReviewItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SearchResultType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SearchResultType.class deleted file mode 100644 index 20c882fe..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SearchResultType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SearchResultTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SearchResultTypeReactiveObject.class deleted file mode 100644 index 44b2198a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SearchResultTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ServiceCountsType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ServiceCountsType.class deleted file mode 100644 index f1de917e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ServiceCountsType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ServiceCountsTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ServiceCountsTypeReactiveObject.class deleted file mode 100644 index 758956b3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ServiceCountsTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShareRecord.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShareRecord.class deleted file mode 100644 index 4cf5647d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShareRecord.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShareRecordReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShareRecordReactiveObject.class deleted file mode 100644 index 86c0dd90..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShareRecordReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShareRecordType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShareRecordType.class deleted file mode 100644 index 279675d7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShareRecordType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShareRecordTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShareRecordTypeReactiveObject.class deleted file mode 100644 index 04b6bc06..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShareRecordTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Shop.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/Shop.class deleted file mode 100644 index ff662a38..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/Shop.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopGroupType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopGroupType.class deleted file mode 100644 index 95f32579..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopGroupType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopOrderParams.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopOrderParams.class deleted file mode 100644 index 936a6990..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopOrderParams.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopOrderResponse.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopOrderResponse.class deleted file mode 100644 index 94a77e6a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopOrderResponse.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopResultType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopResultType.class deleted file mode 100644 index 490e6958..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopResultType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopResultTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopResultTypeReactiveObject.class deleted file mode 100644 index c48a2948..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/ShopResultTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SortTab.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SortTab.class deleted file mode 100644 index 64199a51..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SortTab.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/State.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/State.class deleted file mode 100644 index aa46e1b4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/State.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/StateReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/StateReactiveObject.class deleted file mode 100644 index a9ccc64a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/StateReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsPeriodType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsPeriodType.class deleted file mode 100644 index 869c6958..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsPeriodType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsPeriodTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsPeriodTypeReactiveObject.class deleted file mode 100644 index ca0711a7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsPeriodTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsType.class deleted file mode 100644 index 1c995d0b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsTypeReactiveObject.class deleted file mode 100644 index 4d77d66e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsType__1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsType__1.class deleted file mode 100644 index e2a95d5b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsType__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsType__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsType__1ReactiveObject.class deleted file mode 100644 index fd89456c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/StatsType__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addAddress$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addAddress$1$response$1.class deleted file mode 100644 index d8704c7e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addAddress$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addAddress$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addAddress$1.class deleted file mode 100644 index ba54c043..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addAddress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addBankCard$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addBankCard$1.class deleted file mode 100644 index d8cd447d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addBankCard$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addFootprint$1$updateRes$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addFootprint$1$updateRes$1.class deleted file mode 100644 index c410e9dc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addFootprint$1$updateRes$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addFootprint$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addFootprint$1.class deleted file mode 100644 index 643337a5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addFootprint$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addPoints$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addPoints$1.class deleted file mode 100644 index 39f5adca..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addPoints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addToCart$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addToCart$1$1.class deleted file mode 100644 index 1424a387..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addToCart$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addToCart$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addToCart$1.class deleted file mode 100644 index da0384e8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$addToCart$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$appendReview$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$appendReview$1.class deleted file mode 100644 index 643ef182..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$appendReview$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$applyRefund$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$applyRefund$1$response$1.class deleted file mode 100644 index 9e915a0a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$applyRefund$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$applyRefund$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$applyRefund$1.class deleted file mode 100644 index 61041304..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$applyRefund$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$batchDeleteCartItems$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$batchDeleteCartItems$1.class deleted file mode 100644 index 9fd52af4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$batchDeleteCartItems$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$batchUpdateCartItemSelection$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$batchUpdateCartItemSelection$1.class deleted file mode 100644 index 3f4c890c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$batchUpdateCartItemSelection$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelOrder$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelOrder$1$response$1.class deleted file mode 100644 index 37e8cf25..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelOrder$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelOrder$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelOrder$1.class deleted file mode 100644 index d70dccd0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelRefund$1$orderUpdateResponse$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelRefund$1$orderUpdateResponse$1.class deleted file mode 100644 index 48ff8b94..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelRefund$1$orderUpdateResponse$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelRefund$1$refundUpdateResponse$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelRefund$1$refundUpdateResponse$1.class deleted file mode 100644 index 29a3d2f5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelRefund$1$refundUpdateResponse$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelRefund$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelRefund$1.class deleted file mode 100644 index 16604c1c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$cancelRefund$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$checkFavorite$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$checkFavorite$1.class deleted file mode 100644 index 40acabc7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$checkFavorite$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$claimCoupon$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$claimCoupon$1.class deleted file mode 100644 index 1d2c2a0a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$claimCoupon$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$claimShopCoupon$1$fallbackData$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$claimShopCoupon$1$fallbackData$1.class deleted file mode 100644 index ba0fcbfe..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$claimShopCoupon$1$fallbackData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$claimShopCoupon$1$insertData$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$claimShopCoupon$1$insertData$1.class deleted file mode 100644 index 2c92d68e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$claimShopCoupon$1$insertData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$claimShopCoupon$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$claimShopCoupon$1.class deleted file mode 100644 index 7ff05234..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$claimShopCoupon$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$clearCart$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$clearCart$1.class deleted file mode 100644 index 66fcee5b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$clearCart$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$clearDefaultAddress$1$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$clearDefaultAddress$1$1.class deleted file mode 100644 index c5d9320a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$clearDefaultAddress$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$clearDefaultAddress$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$clearDefaultAddress$1.class deleted file mode 100644 index 97b7f087..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$clearDefaultAddress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$clearFootprints$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$clearFootprints$1.class deleted file mode 100644 index ba04ab0a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$clearFootprints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$confirmOrderReceived$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$confirmOrderReceived$1$response$1.class deleted file mode 100644 index f13bad01..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$confirmOrderReceived$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$confirmOrderReceived$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$confirmOrderReceived$1.class deleted file mode 100644 index c3b6bc87..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$confirmOrderReceived$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$confirmReceipt$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$confirmReceipt$1.class deleted file mode 100644 index f47b483c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$confirmReceipt$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createOrder$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createOrder$1.class deleted file mode 100644 index 11b42be9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createOrdersByShop$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createOrdersByShop$1.class deleted file mode 100644 index 26aade8d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createOrdersByShop$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createRefund$1$payload$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createRefund$1$payload$1.class deleted file mode 100644 index dbffd10f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createRefund$1$payload$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createRefund$1$updateResponse$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createRefund$1$updateResponse$1.class deleted file mode 100644 index 5546ff75..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createRefund$1$updateResponse$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createRefund$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createRefund$1.class deleted file mode 100644 index 934337ab..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createRefund$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createShareRecord$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createShareRecord$1.class deleted file mode 100644 index 1e9299ea..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$createShareRecord$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deductPoints$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deductPoints$1.class deleted file mode 100644 index 1c788d38..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deductPoints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteAddress$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteAddress$1.class deleted file mode 100644 index 37b2450c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteAddress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteBankCard$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteBankCard$1.class deleted file mode 100644 index 780a8746..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteBankCard$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteCartItem$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteCartItem$1.class deleted file mode 100644 index 70dd63f9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteCartItem$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteFootprint$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteFootprint$1.class deleted file mode 100644 index 1453a271..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteFootprint$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteFootprints$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteFootprints$1.class deleted file mode 100644 index 214a4981..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteFootprints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteOrder$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteOrder$1.class deleted file mode 100644 index 4c680b8e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteRefund$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteRefund$1.class deleted file mode 100644 index 7f38d73a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteRefund$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteReview$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteReview$1.class deleted file mode 100644 index 7ed01415..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$deleteReview$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$ensureSession$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$ensureSession$1.class deleted file mode 100644 index 51beb8e0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$ensureSession$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$exchangeProduct$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$exchangeProduct$1.class deleted file mode 100644 index 8c8a6bf1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$exchangeProduct$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$fetchShopCoupons$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$fetchShopCoupons$1.class deleted file mode 100644 index 94733500..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$fetchShopCoupons$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$followShop$1$res$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$followShop$1$res$1.class deleted file mode 100644 index 649b6b38..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$followShop$1$res$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$followShop$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$followShop$1.class deleted file mode 100644 index 59af5490..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$followShop$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getAddressById$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getAddressById$1.class deleted file mode 100644 index 84494c06..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getAddressById$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getAddressList$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getAddressList$1.class deleted file mode 100644 index 175feb51..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getAddressList$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getAddresses$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getAddresses$1.class deleted file mode 100644 index 2a59b381..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getAddresses$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getAvailableCoupons$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getAvailableCoupons$1.class deleted file mode 100644 index 208df785..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getAvailableCoupons$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getBalanceRecords$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getBalanceRecords$1.class deleted file mode 100644 index 9e07e7ac..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getBalanceRecords$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getBrands$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getBrands$1.class deleted file mode 100644 index d0f88a57..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getBrands$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getCartItems$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getCartItems$1.class deleted file mode 100644 index 7958c225..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getCartItems$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getCategories$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getCategories$1.class deleted file mode 100644 index 11bea0cc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getCategories$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getCategoryById$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getCategoryById$1.class deleted file mode 100644 index 040523bc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getCategoryById$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getChatMessages$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getChatMessages$1.class deleted file mode 100644 index 50e635ae..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getChatMessages$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getChatRooms$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getChatRooms$1.class deleted file mode 100644 index c18749fd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getChatRooms$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getDiscountProducts$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getDiscountProducts$1.class deleted file mode 100644 index 5e76fdb6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getDiscountProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getExchangeRecords$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getExchangeRecords$1.class deleted file mode 100644 index 219b2d25..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getExchangeRecords$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getExpiringPoints$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getExpiringPoints$1.class deleted file mode 100644 index 22d99a30..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getExpiringPoints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getExpiryNotifications$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getExpiryNotifications$1.class deleted file mode 100644 index 4febfe44..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getExpiryNotifications$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getFavorites$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getFavorites$1.class deleted file mode 100644 index 1c559cf0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getFavorites$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getFollowedShops$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getFollowedShops$1.class deleted file mode 100644 index a6b5cf32..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getFollowedShops$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getFootprints$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getFootprints$1.class deleted file mode 100644 index 56e323e6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getFootprints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getFreeOrderRewards$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getFreeOrderRewards$1.class deleted file mode 100644 index 992657cc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getFreeOrderRewards$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getHotKeywords$1$KeywordEntry.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getHotKeywords$1$KeywordEntry.class deleted file mode 100644 index 93501873..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getHotKeywords$1$KeywordEntry.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getHotKeywords$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getHotKeywords$1.class deleted file mode 100644 index 166750b6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getHotKeywords$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getHotProducts$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getHotProducts$1.class deleted file mode 100644 index 566a48ad..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getHotProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMemberLevelLogs$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMemberLevelLogs$1.class deleted file mode 100644 index 2d0a0399..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMemberLevelLogs$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMemberLevels$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMemberLevels$1.class deleted file mode 100644 index dea44e8b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMemberLevels$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMerchantPromotionConfig$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMerchantPromotionConfig$1.class deleted file mode 100644 index 6831d45a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMerchantPromotionConfig$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMyReviews$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMyReviews$1.class deleted file mode 100644 index 7a000b33..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMyReviews$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMyShareRecords$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMyShareRecords$1.class deleted file mode 100644 index 6549a84d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getMyShareRecords$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getOrderById$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getOrderById$1.class deleted file mode 100644 index 463e89a9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getOrderById$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getOrderDetail$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getOrderDetail$1.class deleted file mode 100644 index a4200e8f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getOrderDetail$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getOrders$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getOrders$1.class deleted file mode 100644 index fda5371d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getOrders$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getParentCategories$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getParentCategories$1.class deleted file mode 100644 index a5bc443c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getParentCategories$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getPointProducts$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getPointProducts$1.class deleted file mode 100644 index a25d4b9d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getPointProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getPointRecords$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getPointRecords$1.class deleted file mode 100644 index bb070578..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getPointRecords$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getPointsOverview$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getPointsOverview$1.class deleted file mode 100644 index 82a5cf74..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getPointsOverview$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductById$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductById$1.class deleted file mode 100644 index eb9256d9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductById$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductReviews$1$query$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductReviews$1$query$1.class deleted file mode 100644 index c251dfdd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductReviews$1$query$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductReviews$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductReviews$1.class deleted file mode 100644 index 12c48cbd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductReviews$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductSkus$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductSkus$1.class deleted file mode 100644 index d1ba1589..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductSkus$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByCategories$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByCategories$1.class deleted file mode 100644 index b66ee59c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByCategories$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByCategory$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByCategory$1$response$1.class deleted file mode 100644 index 3a99d1ab..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByCategory$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByCategory$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByCategory$1.class deleted file mode 100644 index d205aefa..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByCategory$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByMerchantId$1$query$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByMerchantId$1$query$1.class deleted file mode 100644 index fd5fdfd2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByMerchantId$1$query$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByMerchantId$1$query2$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByMerchantId$1$query2$1.class deleted file mode 100644 index c6121a45..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByMerchantId$1$query2$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByMerchantId$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByMerchantId$1.class deleted file mode 100644 index d752e440..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByMerchantId$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByNewest$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByNewest$1.class deleted file mode 100644 index e342a4c1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByNewest$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByPrice$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByPrice$1.class deleted file mode 100644 index dcc7ac5d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByPrice$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsBySales$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsBySales$1.class deleted file mode 100644 index 0dbf1b62..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsBySales$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByShopId$1$query$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByShopId$1$query$1.class deleted file mode 100644 index 9a878649..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByShopId$1$query$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByShopId$1$query2$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByShopId$1$query2$1.class deleted file mode 100644 index 69e97bba..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByShopId$1$query2$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByShopId$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByShopId$1.class deleted file mode 100644 index 5dd8fe35..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getProductsByShopId$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getRecommendedProducts$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getRecommendedProducts$1.class deleted file mode 100644 index 881904ce..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getRecommendedProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getRefunds$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getRefunds$1.class deleted file mode 100644 index 3f0f028e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getRefunds$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getReviewStats$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getReviewStats$1.class deleted file mode 100644 index e283f77b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getReviewStats$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getShareDetail$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getShareDetail$1.class deleted file mode 100644 index 11671c76..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getShareDetail$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getShopByMerchantId$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getShopByMerchantId$1.class deleted file mode 100644 index 202aa1ba..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getShopByMerchantId$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getSigninRecords$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getSigninRecords$1.class deleted file mode 100644 index d65752b7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getSigninRecords$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getSmartRecommendations$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getSmartRecommendations$1.class deleted file mode 100644 index 66f0f792..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getSmartRecommendations$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getSubCategories$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getSubCategories$1.class deleted file mode 100644 index 43b57bb2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getSubCategories$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getTodaySigninStatus$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getTodaySigninStatus$1.class deleted file mode 100644 index a14d742a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getTodaySigninStatus$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getTotalEarned$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getTotalEarned$1.class deleted file mode 100644 index 8b46eeb2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getTotalEarned$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getTransactions$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getTransactions$1.class deleted file mode 100644 index 7bbeeab9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getTransactions$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserBalance$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserBalance$1.class deleted file mode 100644 index 8cadfa62..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserBalance$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserBalanceNumber$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserBalanceNumber$1.class deleted file mode 100644 index 87c26dba..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserBalanceNumber$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserBankCards$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserBankCards$1.class deleted file mode 100644 index 619102a0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserBankCards$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserBrowseCategories$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserBrowseCategories$1.class deleted file mode 100644 index 8cf4f929..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserBrowseCategories$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserChatMessages$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserChatMessages$1.class deleted file mode 100644 index 9c44f22d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserChatMessages$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserCouponCount$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserCouponCount$1$response$1.class deleted file mode 100644 index abc79d3f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserCouponCount$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserCouponCount$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserCouponCount$1.class deleted file mode 100644 index 93e982f1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserCouponCount$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserCoupons$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserCoupons$1.class deleted file mode 100644 index 18874b34..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserCoupons$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserMemberInfo$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserMemberInfo$1.class deleted file mode 100644 index c70c0a13..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserMemberInfo$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserNotifications$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserNotifications$1.class deleted file mode 100644 index 5eec29a1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserNotifications$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserPoints$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserPoints$1.class deleted file mode 100644 index fa3f4a82..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserPoints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserProfile$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserProfile$1.class deleted file mode 100644 index 61165da4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserProfile$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserRedPackets$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserRedPackets$1.class deleted file mode 100644 index 0c616885..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserRedPackets$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserSearchHistory$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserSearchHistory$1.class deleted file mode 100644 index 9032215b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$getUserSearchHistory$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$isShareFreeEnabled$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$isShareFreeEnabled$1.class deleted file mode 100644 index ce88ba7a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$isShareFreeEnabled$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$isShopFollowed$1$res$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$isShopFollowed$1$res$1.class deleted file mode 100644 index 63c69be6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$isShopFollowed$1$res$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$isShopFollowed$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$isShopFollowed$1.class deleted file mode 100644 index 29b5a7d0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$isShopFollowed$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$markNotificationRead$1$res$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$markNotificationRead$1$res$1.class deleted file mode 100644 index 7b05210d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$markNotificationRead$1$res$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$markNotificationRead$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$markNotificationRead$1.class deleted file mode 100644 index b775c4b1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$markNotificationRead$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$markRead$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$markRead$1$response$1.class deleted file mode 100644 index f728ab46..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$markRead$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$markRead$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$markRead$1.class deleted file mode 100644 index 1a38a0a2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$markRead$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$payOrder$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$payOrder$1.class deleted file mode 100644 index f3ec9ea2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$payOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$rePurchase$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$rePurchase$1.class deleted file mode 100644 index 5f371d87..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$rePurchase$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$rechargeBalance$1$res$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$rechargeBalance$1$res$1.class deleted file mode 100644 index f57d8229..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$rechargeBalance$1$res$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$rechargeBalance$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$rechargeBalance$1.class deleted file mode 100644 index 35d78407..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$rechargeBalance$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$recordBrowse$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$recordBrowse$1.class deleted file mode 100644 index c8a0bf07..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$recordBrowse$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$recordSearch$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$recordSearch$1.class deleted file mode 100644 index 842dd4b6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$recordSearch$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchProducts$1$query$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchProducts$1$query$1.class deleted file mode 100644 index fd283608..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchProducts$1$query$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchProducts$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchProducts$1.class deleted file mode 100644 index f2d92399..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchProductsByKeywords$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchProductsByKeywords$1.class deleted file mode 100644 index 743bd3c8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchProductsByKeywords$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchShops$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchShops$1$response$1.class deleted file mode 100644 index 9c8e1586..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchShops$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchShops$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchShops$1.class deleted file mode 100644 index afe07d09..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$searchShops$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$sendChatMessage$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$sendChatMessage$1.class deleted file mode 100644 index efcf21c5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$sendChatMessage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$sendMessage$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$sendMessage$1.class deleted file mode 100644 index cd7e5c89..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$sendMessage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$setDefaultAddress$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$setDefaultAddress$1$response$1.class deleted file mode 100644 index a10fe4d1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$setDefaultAddress$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$setDefaultAddress$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$setDefaultAddress$1.class deleted file mode 100644 index 3d7c523a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$setDefaultAddress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$signin$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$signin$1.class deleted file mode 100644 index 7698a44f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$signin$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$simulateServiceReply$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$simulateServiceReply$1.class deleted file mode 100644 index 43bea191..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$simulateServiceReply$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$submitProductReviews$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$submitProductReviews$1.class deleted file mode 100644 index f0be6c7b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$submitProductReviews$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$submitShopReview$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$submitShopReview$1.class deleted file mode 100644 index b37e5f9c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$submitShopReview$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$toggleFavorite$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$toggleFavorite$1$response$1.class deleted file mode 100644 index 2b36e0e9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$toggleFavorite$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$toggleFavorite$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$toggleFavorite$1.class deleted file mode 100644 index 197bbe0b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$toggleFavorite$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$toggleReviewLike$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$toggleReviewLike$1.class deleted file mode 100644 index c7aff9f1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$toggleReviewLike$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$triggerPointsMaintenance$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$triggerPointsMaintenance$1.class deleted file mode 100644 index 30a031b3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$triggerPointsMaintenance$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$unfollowShop$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$unfollowShop$1.class deleted file mode 100644 index b122e40a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$unfollowShop$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateAddress$1$updateData$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateAddress$1$updateData$1.class deleted file mode 100644 index e1dc8b03..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateAddress$1$updateData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateAddress$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateAddress$1.class deleted file mode 100644 index dd4de699..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateAddress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateCartItemQuantity$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateCartItemQuantity$1.class deleted file mode 100644 index 54ef6d93..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateCartItemQuantity$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateCartItemSelection$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateCartItemSelection$1.class deleted file mode 100644 index a8ad98c5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateCartItemSelection$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateOrderStatus$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateOrderStatus$1.class deleted file mode 100644 index 0169b3aa..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$updateOrderStatus$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$uploadChatImage$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$uploadChatImage$1.class deleted file mode 100644 index 9c2490ad..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$uploadChatImage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$validateShareCode$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$validateShareCode$1.class deleted file mode 100644 index cc5fbd38..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$validateShareCode$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$withdrawBalance$1$res$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$withdrawBalance$1$res$1.class deleted file mode 100644 index f4c4c7e0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$withdrawBalance$1$res$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$withdrawBalance$1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$withdrawBalance$1.class deleted file mode 100644 index 1a105e55..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService$withdrawBalance$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService.class deleted file mode 100644 index f4be8cc8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/SupabaseService.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/TabCountsType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/TabCountsType.class deleted file mode 100644 index f4e5b678..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/TabCountsType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/TabCountsTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/TabCountsTypeReactiveObject.class deleted file mode 100644 index 6f940b66..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/TabCountsTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/TimelineStepType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/TimelineStepType.class deleted file mode 100644 index ff811cc7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/TimelineStepType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/TrackItem.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/TrackItem.class deleted file mode 100644 index e2034538..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/TrackItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/TrackItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/TrackItemReactiveObject.class deleted file mode 100644 index 8fbc34b0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/TrackItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/TransactionType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/TransactionType.class deleted file mode 100644 index 29a33115..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/TransactionType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/TransactionTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/TransactionTypeReactiveObject.class deleted file mode 100644 index a2a10612..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/TransactionTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UiChatMessage.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UiChatMessage.class deleted file mode 100644 index aa5d95a7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UiChatMessage.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UiChatMessageReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UiChatMessageReactiveObject.class deleted file mode 100644 index 7d80fbe7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UiChatMessageReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UniAppConfig.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UniAppConfig.class deleted file mode 100644 index 576fcc25..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UniAppConfig.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UpdateAddressParams.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UpdateAddressParams.class deleted file mode 100644 index 601eac4a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UpdateAddressParams.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserAddress.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserAddress.class deleted file mode 100644 index cfd22841..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserAddress.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserCoupon.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserCoupon.class deleted file mode 100644 index 1b319923..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserCoupon.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserCouponType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserCouponType.class deleted file mode 100644 index 886b45f3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserCouponType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserCouponTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserCouponTypeReactiveObject.class deleted file mode 100644 index b32d9f30..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserCouponTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserProfile.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserProfile.class deleted file mode 100644 index b920bbbb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserProfile.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserProfileReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserProfileReactiveObject.class deleted file mode 100644 index c4078eb2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserProfileReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserStatsType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserStatsType.class deleted file mode 100644 index 6f2119a1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserStatsType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserStatsTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserStatsTypeReactiveObject.class deleted file mode 100644 index 5581daf1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserStatsTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserStatsType__1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserStatsType__1.class deleted file mode 100644 index dffdaedb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserStatsType__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserStatsType__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserStatsType__1ReactiveObject.class deleted file mode 100644 index af868404..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserStatsType__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserType.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserType.class deleted file mode 100644 index dd652a47..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserTypeReactiveObject.class deleted file mode 100644 index 94ab0ed2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserType__1.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserType__1.class deleted file mode 100644 index 1fe90951..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserType__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserType__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserType__1ReactiveObject.class deleted file mode 100644 index dc6248c3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNICONSUMER/UserType__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddAddressParams.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddAddressParams.class deleted file mode 100644 index 989e4f5b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddAddressParams.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Address.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Address.class deleted file mode 100644 index 6ac20c10..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Address.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressForm.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressForm.class deleted file mode 100644 index 55a9661c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressForm.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressFormReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressFormReactiveObject.class deleted file mode 100644 index f41d2d13..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressFormReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressItem.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressItem.class deleted file mode 100644 index 59125c53..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressItemReactiveObject.class deleted file mode 100644 index c2527bf7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressReactiveObject.class deleted file mode 100644 index da3814ac..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressType.class deleted file mode 100644 index 79dc62ce..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressTypeReactiveObject.class deleted file mode 100644 index 47d526cc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AddressTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Address__1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Address__1.class deleted file mode 100644 index 269937fe..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Address__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$refreshTokenIfNeeded$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$refreshTokenIfNeeded$1$1.class deleted file mode 100644 index f4dc2617..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$refreshTokenIfNeeded$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$refreshTokenIfNeeded$1$headers$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$refreshTokenIfNeeded$1$headers$1.class deleted file mode 100644 index ec6c37af..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$refreshTokenIfNeeded$1$headers$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$refreshTokenIfNeeded$1$res$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$refreshTokenIfNeeded$1$res$1.class deleted file mode 100644 index 5e2e8dd2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$refreshTokenIfNeeded$1$res$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$refreshTokenIfNeeded$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$refreshTokenIfNeeded$1.class deleted file mode 100644 index 06cdb8a0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$refreshTokenIfNeeded$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$request$1$doOnce$1$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$request$1$doOnce$1$1$1$1.class deleted file mode 100644 index 0f7b5d74..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$request$1$doOnce$1$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$request$1$invokeSuspend$lambda$3$lambda$2$$inlined$request$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$request$1$invokeSuspend$lambda$3$lambda$2$$inlined$request$1.class deleted file mode 100644 index 96d906f8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$request$1$invokeSuspend$lambda$3$lambda$2$$inlined$request$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$request$1$invokeSuspend$lambda$3$lambda$2$$inlined$request$2.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$request$1$invokeSuspend$lambda$3$lambda$2$$inlined$request$2.class deleted file mode 100644 index f596cdd1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$request$1$invokeSuspend$lambda$3$lambda$2$$inlined$request$2.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$request$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$request$1.class deleted file mode 100644 index 5812e3ec..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$request$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$upload$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$upload$1$1.class deleted file mode 100644 index 74f57e9a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$upload$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$upload$1$2.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$upload$1$2.class deleted file mode 100644 index 802a901e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$upload$1$2.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$upload$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$upload$1.class deleted file mode 100644 index d2378281..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion$upload$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion.class deleted file mode 100644 index d5bf6cd0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq.class deleted file mode 100644 index c36d76ed..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReq.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReqOptions.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReqOptions.class deleted file mode 100644 index 8c148814..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReqOptions.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReqResponse.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReqResponse.class deleted file mode 100644 index 687b775e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReqResponse.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReqUploadOptions.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReqUploadOptions.class deleted file mode 100644 index 485491cf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkReqUploadOptions.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$delete$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$delete$1.class deleted file mode 100644 index 97c01b82..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$delete$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$hydrateSessionFromStorage$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$hydrateSessionFromStorage$1.class deleted file mode 100644 index f4404ca5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$hydrateSessionFromStorage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$insert$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$insert$1.class deleted file mode 100644 index 78cfbdc7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$insert$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$refreshSession$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$refreshSession$1.class deleted file mode 100644 index 75b62adb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$refreshSession$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$requestWithAutoRefresh$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$requestWithAutoRefresh$1.class deleted file mode 100644 index 4617b45b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$requestWithAutoRefresh$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$resetPassword$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$resetPassword$1.class deleted file mode 100644 index ac4d3d11..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$resetPassword$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$rpc$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$rpc$1.class deleted file mode 100644 index cce82d3c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$rpc$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$select$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$select$1.class deleted file mode 100644 index 05384e91..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$select$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$select_uts$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$select_uts$1.class deleted file mode 100644 index 2864efaa..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$select_uts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$signIn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$signIn$1.class deleted file mode 100644 index c51cfbef..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$signIn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$signOut$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$signOut$1.class deleted file mode 100644 index f6d30468..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$signOut$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$signUp$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$signUp$1.class deleted file mode 100644 index ec626da7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$signUp$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$update$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$update$1.class deleted file mode 100644 index d87f8e79..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$update$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$updateUserMetadata$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$updateUserMetadata$1.class deleted file mode 100644 index 4eb62ffb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa$updateUserMetadata$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa.class deleted file mode 100644 index 750328d0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupa.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaCondition.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaCondition.class deleted file mode 100644 index 99f419f5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaCondition.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$execute$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$execute$1.class deleted file mode 100644 index da44f7cf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$execute$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1$invokeSuspend$$inlined$parse$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1$invokeSuspend$$inlined$parse$1.class deleted file mode 100644 index 983cdea0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1$invokeSuspend$$inlined$parse$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1$invokeSuspend$$inlined$parse$2.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1$invokeSuspend$$inlined$parse$2.class deleted file mode 100644 index 6b94b457..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1$invokeSuspend$$inlined$parse$2.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1$invokeSuspend$lambda$0$$inlined$parse$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1$invokeSuspend$lambda$0$$inlined$parse$1.class deleted file mode 100644 index 7f7ccdc7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1$invokeSuspend$lambda$0$$inlined$parse$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1$invokeSuspend$lambda$0$$inlined$parse$2.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1$invokeSuspend$lambda$0$$inlined$parse$2.class deleted file mode 100644 index 7a5e2ac0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1$invokeSuspend$lambda$0$$inlined$parse$2.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1.class deleted file mode 100644 index 3a064901..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder$executeAs$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder.class deleted file mode 100644 index 0f996299..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaQueryBuilder.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaRealtimeChannel$_checkUpdates$1$1$payload$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaRealtimeChannel$_checkUpdates$1$1$payload$1.class deleted file mode 100644 index 6ccf58b1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaRealtimeChannel$_checkUpdates$1$1$payload$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaRealtimeChannel$_checkUpdates$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaRealtimeChannel$_checkUpdates$1.class deleted file mode 100644 index 4dd532fe..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaRealtimeChannel$_checkUpdates$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaRealtimeChannel.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaRealtimeChannel.class deleted file mode 100644 index 5cfb87a7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaRealtimeChannel.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaSelectOptions.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaSelectOptions.class deleted file mode 100644 index 6a432af9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaSelectOptions.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaSessionInfo.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaSessionInfo.class deleted file mode 100644 index 5d2f8b11..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaSessionInfo.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaSignInResult.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaSignInResult.class deleted file mode 100644 index 6133466d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaSignInResult.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaStorageApi.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaStorageApi.class deleted file mode 100644 index 185ba5ce..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaStorageApi.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaStorageBucket$upload$1$formData$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaStorageBucket$upload$1$formData$1.class deleted file mode 100644 index 25d306be..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaStorageBucket$upload$1$formData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaStorageBucket$upload$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaStorageBucket$upload$1.class deleted file mode 100644 index b346091e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaStorageBucket$upload$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaStorageBucket.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaStorageBucket.class deleted file mode 100644 index e3536bf4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/AkSupaStorageBucket.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BalanceRecord.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BalanceRecord.class deleted file mode 100644 index 5b55b3d8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BalanceRecord.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BalanceRecordReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BalanceRecordReactiveObject.class deleted file mode 100644 index 052cf451..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BalanceRecordReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCard.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCard.class deleted file mode 100644 index ddcdfb65..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCard.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCardForm.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCardForm.class deleted file mode 100644 index 65fe528c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCardForm.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCardFormReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCardFormReactiveObject.class deleted file mode 100644 index 55d37111..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCardFormReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCardReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCardReactiveObject.class deleted file mode 100644 index da370db6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCardReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCard__1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCard__1.class deleted file mode 100644 index 902d476a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCard__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCard__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCard__1ReactiveObject.class deleted file mode 100644 index 2924a68d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BankCard__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Brand.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Brand.class deleted file mode 100644 index f47cd404..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Brand.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BrandReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BrandReactiveObject.class deleted file mode 100644 index b1497e9e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BrandReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BuyerType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BuyerType.class deleted file mode 100644 index ecede70f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BuyerType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BuyerTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BuyerTypeReactiveObject.class deleted file mode 100644 index da8c18ab..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/BuyerTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CalendarDay.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CalendarDay.class deleted file mode 100644 index b04e1cec..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CalendarDay.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CapsuleButtonInfo.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CapsuleButtonInfo.class deleted file mode 100644 index 003cfc32..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CapsuleButtonInfo.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CapsuleButtonInfoReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CapsuleButtonInfoReactiveObject.class deleted file mode 100644 index a48a378e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CapsuleButtonInfoReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CartGroup.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CartGroup.class deleted file mode 100644 index 8c9270eb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CartGroup.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CartItem.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CartItem.class deleted file mode 100644 index 634ad91d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CartItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Category.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Category.class deleted file mode 100644 index 5d7994b5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Category.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CategoryReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CategoryReactiveObject.class deleted file mode 100644 index 0dea02c8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CategoryReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ChatMessage.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ChatMessage.class deleted file mode 100644 index 698f0d9b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ChatMessage.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ChatRoom.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ChatRoom.class deleted file mode 100644 index c5df949e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ChatRoom.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CheckoutItemType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CheckoutItemType.class deleted file mode 100644 index 5cd31613..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CheckoutItemType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CheckoutItemTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CheckoutItemTypeReactiveObject.class deleted file mode 100644 index 78855003..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CheckoutItemTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ConfirmReceiptResponse.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ConfirmReceiptResponse.class deleted file mode 100644 index 06b924e2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ConfirmReceiptResponse.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ConsumptionStatsType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ConsumptionStatsType.class deleted file mode 100644 index a677a827..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ConsumptionStatsType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ConsumptionStatsTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ConsumptionStatsTypeReactiveObject.class deleted file mode 100644 index 4d546321..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ConsumptionStatsTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Coupon.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Coupon.class deleted file mode 100644 index 6c15868c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Coupon.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponReactiveObject.class deleted file mode 100644 index a3611f77..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTemplateType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTemplateType.class deleted file mode 100644 index 562eed89..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTemplateType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTemplateTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTemplateTypeReactiveObject.class deleted file mode 100644 index 2c9ddd4c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTemplateTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTemplateType__1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTemplateType__1.class deleted file mode 100644 index fba6d838..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTemplateType__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTemplateType__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTemplateType__1ReactiveObject.class deleted file mode 100644 index b7caea1c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTemplateType__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponType.class deleted file mode 100644 index c3d10bfa..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTypeReactiveObject.class deleted file mode 100644 index f382f3c9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CouponTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CreateOrderParams.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CreateOrderParams.class deleted file mode 100644 index d78934d2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/CreateOrderParams.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeliveryInfoType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeliveryInfoType.class deleted file mode 100644 index e21c2482..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeliveryInfoType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeliveryInfoTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeliveryInfoTypeReactiveObject.class deleted file mode 100644 index 66a9da8c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeliveryInfoTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeliveryOptionType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeliveryOptionType.class deleted file mode 100644 index 06356198..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeliveryOptionType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeliveryOptionTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeliveryOptionTypeReactiveObject.class deleted file mode 100644 index 4407e38e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeliveryOptionTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeviceInfo.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeviceInfo.class deleted file mode 100644 index cb1bd355..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeviceInfo.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeviceInfoReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeviceInfoReactiveObject.class deleted file mode 100644 index 56f69783..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeviceInfoReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeviceState.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeviceState.class deleted file mode 100644 index 0cb6d3c3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeviceState.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeviceStateReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeviceStateReactiveObject.class deleted file mode 100644 index a6b454a6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/DeviceStateReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExchangeRecord.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExchangeRecord.class deleted file mode 100644 index 24a99b7a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExchangeRecord.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExchangeRecordReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExchangeRecordReactiveObject.class deleted file mode 100644 index 22da1a99..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExchangeRecordReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExpiringDetail.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExpiringDetail.class deleted file mode 100644 index a59d312f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExpiringDetail.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExpiringDetailReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExpiringDetailReactiveObject.class deleted file mode 100644 index 61a8a4b8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExpiringDetailReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExtraInfoItem.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExtraInfoItem.class deleted file mode 100644 index bd9442f8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExtraInfoItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExtraInfoItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExtraInfoItemReactiveObject.class deleted file mode 100644 index 3a4cc2c2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ExtraInfoItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FavoriteType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FavoriteType.class deleted file mode 100644 index 34c2423c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FavoriteType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FavoriteTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FavoriteTypeReactiveObject.class deleted file mode 100644 index 2491f30b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FavoriteTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FollowedShop.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FollowedShop.class deleted file mode 100644 index ff08554b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FollowedShop.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FollowedShopReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FollowedShopReactiveObject.class deleted file mode 100644 index f0f9db25..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FollowedShopReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintGroup.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintGroup.class deleted file mode 100644 index e278926e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintGroup.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintItemType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintItemType.class deleted file mode 100644 index d57b0148..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintItemType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintSaveType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintSaveType.class deleted file mode 100644 index 42c4a5a1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintSaveType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintType.class deleted file mode 100644 index c9b1e784..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintTypeReactiveObject.class deleted file mode 100644 index 08ccd6f8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/FootprintTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenApp$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenApp$Companion.class deleted file mode 100644 index ffcd7c32..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenApp$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenApp$checkExistingSession$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenApp$checkExistingSession$1.class deleted file mode 100644 index 13d0676a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenApp$checkExistingSession$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenApp.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenApp.class deleted file mode 100644 index 2becf1ba..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenApp.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$addToCart$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$addToCart$1$1.class deleted file mode 100644 index b6ef4954..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$addToCart$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$decreaseQuantity$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$decreaseQuantity$1$1.class deleted file mode 100644 index 954db5c1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$decreaseQuantity$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$deleteSelectedItems$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$deleteSelectedItems$1$1.class deleted file mode 100644 index 3bc792c1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$deleteSelectedItems$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$goToCheckout$1$selectedItems$2$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$goToCheckout$1$selectedItems$2$1.class deleted file mode 100644 index c2bd4be4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$goToCheckout$1$selectedItems$2$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$increaseQuantity$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$increaseQuantity$1$1.class deleted file mode 100644 index 0fb0e9af..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$increaseQuantity$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$loadCartData$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$loadCartData$1$1.class deleted file mode 100644 index 89b2ac5d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$loadCartData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$refreshRecommend$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$refreshRecommend$1$1.class deleted file mode 100644 index 00546d99..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$refreshRecommend$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$toggleSelect$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$toggleSelect$1$1.class deleted file mode 100644 index f238e9be..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$toggleSelect$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$toggleSelectAll$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$toggleSelectAll$1$1.class deleted file mode 100644 index 42a5d03d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$toggleSelectAll$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$toggleShopSelect$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$toggleShopSelect$1$1.class deleted file mode 100644 index 34790932..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion$setup$1$toggleShopSelect$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion.class deleted file mode 100644 index f49413d9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart.class deleted file mode 100644 index 8a1f7ace..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCart.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$addToCart$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$addToCart$1.class deleted file mode 100644 index 8a715f44..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$addToCart$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_addToCart_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_addToCart_fn$1.class deleted file mode 100644 index e2db8d0a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_addToCart_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_loadCategories_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_loadCategories_fn$1.class deleted file mode 100644 index 1fbaf792..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_loadCategories_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_loadProducts_fn$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_loadProducts_fn$1$1.class deleted file mode 100644 index 444cf73f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_loadProducts_fn$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_loadProducts_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_loadProducts_fn$1.class deleted file mode 100644 index b7502529..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_loadProducts_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_loadSubCategories_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_loadSubCategories_fn$1.class deleted file mode 100644 index 8625c3fd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_loadSubCategories_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_selectPrimaryCategory_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_selectPrimaryCategory_fn$1.class deleted file mode 100644 index 63a006b4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_selectPrimaryCategory_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_selectSubCategory_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_selectSubCategory_fn$1.class deleted file mode 100644 index 1e527eb3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$gen_selectSubCategory_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$getPrimaryItemBgColor$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$getPrimaryItemBgColor$1.class deleted file mode 100644 index 8dade6de..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$getPrimaryItemBgColor$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$isPrimaryActive$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$isPrimaryActive$1.class deleted file mode 100644 index 9219240e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$isPrimaryActive$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$isSubActive$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$isSubActive$1.class deleted file mode 100644 index 810d15d2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$isSubActive$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$loadCategories$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$loadCategories$1.class deleted file mode 100644 index 4a95ebb2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$loadCategories$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$loadMore$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$loadMore$1.class deleted file mode 100644 index 3d92bc69..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$loadMore$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$loadProducts$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$loadProducts$1.class deleted file mode 100644 index 016c7fde..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$loadProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$loadSubCategories$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$loadSubCategories$1.class deleted file mode 100644 index c8d6110e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$loadSubCategories$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$navigateToCart$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$navigateToCart$1.class deleted file mode 100644 index a95354e4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$navigateToCart$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$navigateToProduct$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$navigateToProduct$1.class deleted file mode 100644 index d79ee222..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$navigateToProduct$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$navigateToSearch$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$navigateToSearch$1.class deleted file mode 100644 index b2471f6d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$navigateToSearch$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$onCamera$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$onCamera$1.class deleted file mode 100644 index 7cb8fbc9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$onCamera$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$onScan$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$onScan$1.class deleted file mode 100644 index bd93b9cd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$onScan$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$selectPrimaryCategory$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$selectPrimaryCategory$1.class deleted file mode 100644 index 614ccb75..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$selectPrimaryCategory$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$selectSubCategory$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$selectSubCategory$1.class deleted file mode 100644 index 1a8b9682..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion$setup$1$selectSubCategory$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion.class deleted file mode 100644 index 544d79bc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory.class deleted file mode 100644 index e997c448..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainCategory.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$addToCart$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$addToCart$1$1.class deleted file mode 100644 index cb1a5e9d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$addToCart$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$doLoadHotProducts$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$doLoadHotProducts$1$1.class deleted file mode 100644 index fe550e0d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$doLoadHotProducts$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$doLoadRecommendedProducts$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$doLoadRecommendedProducts$1$1.class deleted file mode 100644 index b30c183d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$doLoadRecommendedProducts$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$initData$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$initData$1$1.class deleted file mode 100644 index c7f67958..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$initData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadBrands$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadBrands$1$1.class deleted file mode 100644 index acf07da5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadBrands$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadCategories$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadCategories$1$1.class deleted file mode 100644 index 1c59c0dd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadCategories$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadHotKeywords$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadHotKeywords$1$1.class deleted file mode 100644 index f37e3d77..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadHotKeywords$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadHotProducts$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadHotProducts$1.class deleted file mode 100644 index 1769f011..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadHotProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadMore$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadMore$1$1.class deleted file mode 100644 index 07b913e3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadMore$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadRecommendedProducts$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadRecommendedProducts$1.class deleted file mode 100644 index 5f720d9f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadRecommendedProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadSubCategories$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadSubCategories$1$1.class deleted file mode 100644 index eb26b511..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$loadSubCategories$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$onParentCategoryClick$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$onParentCategoryClick$1$1.class deleted file mode 100644 index 44289153..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$onParentCategoryClick$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$onRefresh$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$onRefresh$1$1.class deleted file mode 100644 index a199badd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion$setup$1$onRefresh$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion.class deleted file mode 100644 index 7e4070b2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex.class deleted file mode 100644 index 7902bada..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainIndex.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainMessages$Companion$setup$1$claimCoupon$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainMessages$Companion$setup$1$claimCoupon$1$1.class deleted file mode 100644 index 38c5a55a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainMessages$Companion$setup$1$claimCoupon$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainMessages$Companion$setup$1$loadMessages$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainMessages$Companion$setup$1$loadMessages$1$1.class deleted file mode 100644 index 8976e6bc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainMessages$Companion$setup$1$loadMessages$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainMessages$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainMessages$Companion.class deleted file mode 100644 index 82a1d22f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainMessages$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainMessages.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainMessages.class deleted file mode 100644 index 411a3ed3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainMessages.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$Companion.class deleted file mode 100644 index f80decb7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$applyRefund$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$applyRefund$1.class deleted file mode 100644 index be54a59a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$applyRefund$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$bindEmail$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$bindEmail$1.class deleted file mode 100644 index 58dcd4b7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$bindEmail$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$bindPhone$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$bindPhone$1.class deleted file mode 100644 index f9b2b33a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$bindPhone$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$calculateLevel$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$calculateLevel$1.class deleted file mode 100644 index f9e0fdc5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$calculateLevel$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$cancelOrderAction$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$cancelOrderAction$1.class deleted file mode 100644 index 4f1a2abb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$cancelOrderAction$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$changePassword$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$changePassword$1.class deleted file mode 100644 index eaa73227..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$changePassword$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$confirmReceive$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$confirmReceive$1.class deleted file mode 100644 index 6e9f6099..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$confirmReceive$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$contactSeller$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$contactSeller$1.class deleted file mode 100644 index eae2f9d3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$contactSeller$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$contactService$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$contactService$1.class deleted file mode 100644 index f1501e29..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$contactService$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$deleteOrder$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$deleteOrder$1.class deleted file mode 100644 index beec2509..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$deleteOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$editProfile$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$editProfile$1.class deleted file mode 100644 index 6e8a7e5c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$editProfile$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$formatDateTime$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$formatDateTime$1.class deleted file mode 100644 index 1e0ca53c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$formatDateTime$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$formatTime$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$formatTime$1.class deleted file mode 100644 index 0f210264..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$formatTime$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$gen_loadOrders_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$gen_loadOrders_fn$1.class deleted file mode 100644 index ef325371..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$gen_loadOrders_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$gen_loadUserProfile_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$gen_loadUserProfile_fn$1.class deleted file mode 100644 index 12cc6d06..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$gen_loadUserProfile_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$gen_updateCouponCount_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$gen_updateCouponCount_fn$1.class deleted file mode 100644 index a8cdae24..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$gen_updateCouponCount_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getMerchantIdFromOrder$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getMerchantIdFromOrder$1.class deleted file mode 100644 index 11c46940..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getMerchantIdFromOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderItemCount$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderItemCount$1.class deleted file mode 100644 index 0afa618b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderItemCount$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderMainImage$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderMainImage$1.class deleted file mode 100644 index c1ea336d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderMainImage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderSectionTitle$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderSectionTitle$1.class deleted file mode 100644 index ecfcaad2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderSectionTitle$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderShopName$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderShopName$1.class deleted file mode 100644 index a57e25be..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderShopName$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderSpec$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderSpec$1.class deleted file mode 100644 index af1fa60d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderSpec$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderStatusClass$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderStatusClass$1.class deleted file mode 100644 index d5043dad..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderStatusClass$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderStatusText$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderStatusText$1.class deleted file mode 100644 index 0fee53ea..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderStatusText$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderTitle$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderTitle$1.class deleted file mode 100644 index a7aa8175..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getOrderTitle$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getUserLevel$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getUserLevel$1.class deleted file mode 100644 index 8015fcb1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$getUserLevel$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goShopping$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goShopping$1.class deleted file mode 100644 index a3cbb747..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goShopping$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToAddress$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToAddress$1.class deleted file mode 100644 index 5b18459f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToAddress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToBalance$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToBalance$1.class deleted file mode 100644 index 7a7937c1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToBalance$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToCoupons$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToCoupons$1.class deleted file mode 100644 index f89d99db..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToCoupons$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToFavorites$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToFavorites$1.class deleted file mode 100644 index 76d03663..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToFavorites$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToFollowedShops$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToFollowedShops$1.class deleted file mode 100644 index e99a01ad..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToFollowedShops$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToFootprint$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToFootprint$1.class deleted file mode 100644 index c681af35..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToFootprint$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToMember$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToMember$1.class deleted file mode 100644 index ee44299f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToMember$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToMySubscriptions$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToMySubscriptions$1.class deleted file mode 100644 index 3956865e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToMySubscriptions$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToOrderReviews$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToOrderReviews$1.class deleted file mode 100644 index ee140ad6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToOrderReviews$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToOrders$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToOrders$1.class deleted file mode 100644 index 713d8ecc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToOrders$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToPoints$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToPoints$1.class deleted file mode 100644 index 41282421..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToPoints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToProductFromOrder$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToProductFromOrder$1.class deleted file mode 100644 index 555de36d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToProductFromOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToRefund$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToRefund$1.class deleted file mode 100644 index 145fe921..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToRefund$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToSettings$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToSettings$1.class deleted file mode 100644 index 67bb83de..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToSettings$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToShare$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToShare$1.class deleted file mode 100644 index 3bfe89f9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToShare$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToWallet$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToWallet$1.class deleted file mode 100644 index b91555eb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$goToWallet$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$handleOrderAction$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$handleOrderAction$1.class deleted file mode 100644 index 9f48b7a9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$handleOrderAction$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$handleOrderUpdated$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$handleOrderUpdated$1.class deleted file mode 100644 index aaeff42c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$handleOrderUpdated$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$initPage$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$initPage$1.class deleted file mode 100644 index b7160d91..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$initPage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$loadConsumptionStats$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$loadConsumptionStats$1.class deleted file mode 100644 index 483d3931..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$loadConsumptionStats$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$loadOrders$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$loadOrders$1.class deleted file mode 100644 index 46e3e27d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$loadOrders$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$loadUserProfile$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$loadUserProfile$1.class deleted file mode 100644 index fe0c905f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$loadUserProfile$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$payOrder$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$payOrder$1.class deleted file mode 100644 index e36a8694..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$payOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$refreshData$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$refreshData$1.class deleted file mode 100644 index 87cf6fff..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$refreshData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$remindShipping$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$remindShipping$1.class deleted file mode 100644 index 4e0ef25f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$remindShipping$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$repurchase$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$repurchase$1.class deleted file mode 100644 index 81c25f1b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$repurchase$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$reviewOrder$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$reviewOrder$1.class deleted file mode 100644 index d8801fdb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$reviewOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$showOrderMenu$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$showOrderMenu$1.class deleted file mode 100644 index 96d6d7d6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$showOrderMenu$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$switchOrderTab$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$switchOrderTab$1.class deleted file mode 100644 index c57f0e87..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$switchOrderTab$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$switchStatsPeriod$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$switchStatsPeriod$1.class deleted file mode 100644 index 41587aab..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$switchStatsPeriod$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$updateCouponCount$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$updateCouponCount$1.class deleted file mode 100644 index 0b5c35a9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$updateCouponCount$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$viewLogistics$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$viewLogistics$1.class deleted file mode 100644 index bb5624b5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$viewLogistics$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$viewOrderDetail$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$viewOrderDetail$1.class deleted file mode 100644 index 5e948559..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$viewOrderDetail$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$viewRefundProgress$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$viewRefundProgress$1.class deleted file mode 100644 index df39b750..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile$viewRefundProgress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile.class deleted file mode 100644 index 4fab5acf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMainProfile.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit$Companion$setup$1$loadAddress$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit$Companion$setup$1$loadAddress$1$1.class deleted file mode 100644 index db726743..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit$Companion$setup$1$loadAddress$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit$Companion$setup$1$saveAddress$1$1$invokeSuspend$$inlined$assign$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit$Companion$setup$1$saveAddress$1$1$invokeSuspend$$inlined$assign$1.class deleted file mode 100644 index bfa0abcd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit$Companion$setup$1$saveAddress$1$1$invokeSuspend$$inlined$assign$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit$Companion$setup$1$saveAddress$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit$Companion$setup$1$saveAddress$1$1.class deleted file mode 100644 index de4a6db5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit$Companion$setup$1$saveAddress$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit$Companion.class deleted file mode 100644 index 647f576e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit.class deleted file mode 100644 index 62dc3415..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressEdit.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressList$Companion$setup$1$loadAddresses$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressList$Companion$setup$1$loadAddresses$1$1.class deleted file mode 100644 index 99a6c10d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressList$Companion$setup$1$loadAddresses$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressList$Companion$setup$1$selectAddress$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressList$Companion$setup$1$selectAddress$1$1.class deleted file mode 100644 index 93622984..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressList$Companion$setup$1$selectAddress$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressList$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressList$Companion.class deleted file mode 100644 index 9e03adad..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressList$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressList.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressList.class deleted file mode 100644 index 6c3b84fc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerAddressList.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund$Companion$setup$1$loadOrderInfo$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund$Companion$setup$1$loadOrderInfo$1$1.class deleted file mode 100644 index 5db4006b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund$Companion$setup$1$loadOrderInfo$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund$Companion$setup$1$submitRefund$1$1$result$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund$Companion$setup$1$submitRefund$1$1$result$1.class deleted file mode 100644 index 695a14eb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund$Companion$setup$1$submitRefund$1$1$result$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund$Companion$setup$1$submitRefund$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund$Companion$setup$1$submitRefund$1$1.class deleted file mode 100644 index 0afc7b03..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund$Companion$setup$1$submitRefund$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund$Companion.class deleted file mode 100644 index e8e29fc3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund.class deleted file mode 100644 index 06927fd2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerApplyRefund.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadBalance$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadBalance$1$1.class deleted file mode 100644 index 25b175aa..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadBalance$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadData$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadData$1$1.class deleted file mode 100644 index 059cf598..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadRecords$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadRecords$1$1.class deleted file mode 100644 index 25d7ab7e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex$Companion$setup$1$loadRecords$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex$Companion.class deleted file mode 100644 index 9c8121d6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex.class deleted file mode 100644 index c3a5efd7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBalanceIndex.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsAdd$Companion$setup$1$submit$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsAdd$Companion$setup$1$submit$1$1.class deleted file mode 100644 index f9a901e8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsAdd$Companion$setup$1$submit$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsAdd$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsAdd$Companion.class deleted file mode 100644 index ced379b6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsAdd$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsAdd.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsAdd.class deleted file mode 100644 index ea7e41c7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsAdd.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsIndex$Companion$setup$1$loadData$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsIndex$Companion$setup$1$loadData$1$1.class deleted file mode 100644 index 5118b7b7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsIndex$Companion$setup$1$loadData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsIndex$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsIndex$Companion.class deleted file mode 100644 index b88b161b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsIndex$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsIndex.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsIndex.class deleted file mode 100644 index 697cf2e3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerBankCardsIndex.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$doUploadImage$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$doUploadImage$1.class deleted file mode 100644 index c4a5d449..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$doUploadImage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$gen_doUploadImage_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$gen_doUploadImage_fn$1.class deleted file mode 100644 index 0e7bc55e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$gen_doUploadImage_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$gen_loadChatHistory_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$gen_loadChatHistory_fn$1.class deleted file mode 100644 index 31892e1b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$gen_loadChatHistory_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$gen_loadMerchantInfo_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$gen_loadMerchantInfo_fn$1.class deleted file mode 100644 index c0c51df0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$gen_loadMerchantInfo_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$gen_setupRealtimeSubscription_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$gen_setupRealtimeSubscription_fn$1.class deleted file mode 100644 index 2391d79a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$gen_setupRealtimeSubscription_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$getCurrentTime$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$getCurrentTime$1.class deleted file mode 100644 index fa20e02d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$getCurrentTime$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$insertEmoji$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$insertEmoji$1.class deleted file mode 100644 index 71b53d77..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$insertEmoji$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$loadChatHistory$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$loadChatHistory$1.class deleted file mode 100644 index 04fadc3e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$loadChatHistory$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$loadMerchantInfo$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$loadMerchantInfo$1.class deleted file mode 100644 index 99105948..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$loadMerchantInfo$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$onScrollToUpper$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$onScrollToUpper$1.class deleted file mode 100644 index ed652b04..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$onScrollToUpper$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$previewImage$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$previewImage$1.class deleted file mode 100644 index 67e5d226..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$previewImage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$scrollToBottom$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$scrollToBottom$1.class deleted file mode 100644 index cd9ba35b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$scrollToBottom$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$sendMessage$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$sendMessage$1$1.class deleted file mode 100644 index 23ac6d81..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$sendMessage$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$setupRealtimeSubscription$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$setupRealtimeSubscription$1.class deleted file mode 100644 index 1d52f20a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$setupRealtimeSubscription$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$showEmojiPicker$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$showEmojiPicker$1.class deleted file mode 100644 index 2c6e2394..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$showEmojiPicker$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$showImagePicker$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$showImagePicker$1.class deleted file mode 100644 index 49e62772..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$showImagePicker$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$showMoreActions$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$showMoreActions$1.class deleted file mode 100644 index 607e51e1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$showMoreActions$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$showMoreTools$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$showMoreTools$1.class deleted file mode 100644 index 964f0a63..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion$setup$1$showMoreTools$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion.class deleted file mode 100644 index c6a90443..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat.class deleted file mode 100644 index 371fadb5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerChat.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$formatSpecs$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$formatSpecs$1.class deleted file mode 100644 index e15bb87b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$formatSpecs$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_initCheckoutData_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_initCheckoutData_fn$1.class deleted file mode 100644 index a72d5701..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_initCheckoutData_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadAddressList_fn$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadAddressList_fn$1$1$1.class deleted file mode 100644 index 1f737f13..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadAddressList_fn$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadAddressList_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadAddressList_fn$1.class deleted file mode 100644 index 1f3c81e5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadAddressList_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadDefaultAddress_fn$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadDefaultAddress_fn$1$1$1.class deleted file mode 100644 index 0699a1f3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadDefaultAddress_fn$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadDefaultAddress_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadDefaultAddress_fn$1.class deleted file mode 100644 index b4d1ca27..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadDefaultAddress_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadFromLocalStorage_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadFromLocalStorage_fn$1.class deleted file mode 100644 index 7d593de3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$gen_loadFromLocalStorage_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$getCurrentUserId$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$getCurrentUserId$1.class deleted file mode 100644 index 44c1e184..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$getCurrentUserId$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$getObjectKeys$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$getObjectKeys$1.class deleted file mode 100644 index 7684976e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$getObjectKeys$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$handleSaveConfirm$1$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$handleSaveConfirm$1$1$1$1.class deleted file mode 100644 index c4e7a0fd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$handleSaveConfirm$1$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$handleSaveConfirm$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$handleSaveConfirm$1$1.class deleted file mode 100644 index 2659e77e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$handleSaveConfirm$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$initCheckoutData$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$initCheckoutData$1.class deleted file mode 100644 index c4d32a46..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$initCheckoutData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$loadAddressList$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$loadAddressList$1.class deleted file mode 100644 index 9c768eeb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$loadAddressList$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$loadCheckoutData$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$loadCheckoutData$1.class deleted file mode 100644 index 3cdbb985..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$loadCheckoutData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$loadDefaultAddress$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$loadDefaultAddress$1.class deleted file mode 100644 index 92b862af..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$loadDefaultAddress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$loadFromLocalStorage$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$loadFromLocalStorage$1.class deleted file mode 100644 index 924d82c0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$loadFromLocalStorage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$onShow__1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$onShow__1$1.class deleted file mode 100644 index a851aa0d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$onShow__1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1$1$1.class deleted file mode 100644 index 26de5bb3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1$1.class deleted file mode 100644 index 9b3fd25b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1.class deleted file mode 100644 index 96116389..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$processCheckoutItems$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$saveNewAddress$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$saveNewAddress$1$1.class deleted file mode 100644 index 9f07dbc9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$saveNewAddress$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1$1$1.class deleted file mode 100644 index a9536edb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1$1$2$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1$1$2$1.class deleted file mode 100644 index afd464d7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1$1$2$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1.class deleted file mode 100644 index f699c1bf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion$setup$1$submitOrder$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion.class deleted file mode 100644 index 2ea33257..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout.class deleted file mode 100644 index 879f3b19..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCheckout.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCoupons$Companion$setup$1$loadCoupons$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCoupons$Companion$setup$1$loadCoupons$1$1.class deleted file mode 100644 index 029612c2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCoupons$Companion$setup$1$loadCoupons$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCoupons$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCoupons$Companion.class deleted file mode 100644 index e848d68e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCoupons$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCoupons.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCoupons.class deleted file mode 100644 index eda3550b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerCoupons.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFavorites$Companion$setup$1$addToCart$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFavorites$Companion$setup$1$addToCart$1$1.class deleted file mode 100644 index 9a47ef7c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFavorites$Companion$setup$1$addToCart$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFavorites$Companion$setup$1$loadFavorites$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFavorites$Companion$setup$1$loadFavorites$1$1.class deleted file mode 100644 index effa93f3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFavorites$Companion$setup$1$loadFavorites$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFavorites$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFavorites$Companion.class deleted file mode 100644 index cf9b060c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFavorites$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFavorites.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFavorites.class deleted file mode 100644 index 281be1b7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFavorites.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFootprint$Companion$setup$1$addToCart$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFootprint$Companion$setup$1$addToCart$1$1.class deleted file mode 100644 index 1e3797ac..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFootprint$Companion$setup$1$addToCart$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFootprint$Companion$setup$1$loadFootprints$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFootprint$Companion$setup$1$loadFootprints$1$1.class deleted file mode 100644 index 35ed2032..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFootprint$Companion$setup$1$loadFootprints$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFootprint$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFootprint$Companion.class deleted file mode 100644 index 22150258..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFootprint$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFootprint.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFootprint.class deleted file mode 100644 index 065e97ca..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerFootprint.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerLogistics$Companion$setup$1$loadLogisticsInfo$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerLogistics$Companion$setup$1$loadLogisticsInfo$1$1.class deleted file mode 100644 index 6a7eca80..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerLogistics$Companion$setup$1$loadLogisticsInfo$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerLogistics$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerLogistics$Companion.class deleted file mode 100644 index 63f17f70..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerLogistics$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerLogistics.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerLogistics.class deleted file mode 100644 index 754890dd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerLogistics.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadLevels$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadLevels$1$1.class deleted file mode 100644 index 77502def..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadLevels$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadLogs$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadLogs$1$1.class deleted file mode 100644 index 305f872d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadLogs$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadMemberInfo$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadMemberInfo$1$1.class deleted file mode 100644 index 87fab643..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex$Companion$setup$1$loadMemberInfo$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex$Companion.class deleted file mode 100644 index 0e41ec2d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex.class deleted file mode 100644 index 1936116d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMemberIndex.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMessageDetail$Companion$setup$1$loadMessage$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMessageDetail$Companion$setup$1$loadMessage$1$1.class deleted file mode 100644 index 4fdb08ff..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMessageDetail$Companion$setup$1$loadMessage$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMessageDetail$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMessageDetail$Companion.class deleted file mode 100644 index d2a95f70..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMessageDetail$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMessageDetail.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMessageDetail.class deleted file mode 100644 index 76e52997..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMessageDetail.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion$setup$1$doDelete$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion$setup$1$doDelete$1$1.class deleted file mode 100644 index 5564470b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion$setup$1$doDelete$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion$setup$1$loadPendingItems$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion$setup$1$loadPendingItems$1$1.class deleted file mode 100644 index d4296c72..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion$setup$1$loadPendingItems$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion$setup$1$loadReviews$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion$setup$1$loadReviews$1$1.class deleted file mode 100644 index 99cd860f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion$setup$1$loadReviews$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion$setup$1$submitAppend$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion$setup$1$submitAppend$1$1.class deleted file mode 100644 index c9a73cf0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion$setup$1$submitAppend$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion.class deleted file mode 100644 index 83859367..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews.class deleted file mode 100644 index 811f9278..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerMyReviews.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$doApplyRefund$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$doApplyRefund$1$1.class deleted file mode 100644 index aacef698..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$doApplyRefund$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$doCancelOrder$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$doCancelOrder$1$1.class deleted file mode 100644 index 1b0474f5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$doCancelOrder$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$doConfirmReceive$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$doConfirmReceive$1$1.class deleted file mode 100644 index fceb56e2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$doConfirmReceive$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$formatSpecs$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$formatSpecs$1.class deleted file mode 100644 index 124fbb38..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$formatSpecs$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$loadOrderDetail$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$loadOrderDetail$1$1.class deleted file mode 100644 index 31f53654..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$loadOrderDetail$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$loadShopInfo$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$loadShopInfo$1$1.class deleted file mode 100644 index 1aba1188..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$loadShopInfo$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$rePurchase$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$rePurchase$1$1.class deleted file mode 100644 index dca1da73..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$rePurchase$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$remindDelivery$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$remindDelivery$1$1.class deleted file mode 100644 index 851ee2c3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$remindDelivery$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$shareForFree$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$shareForFree$1$1.class deleted file mode 100644 index a79e71a2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion$setup$1$shareForFree$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion.class deleted file mode 100644 index 45ed089e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail.class deleted file mode 100644 index 8a4253a4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrderDetail.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$doCancelRefund$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$doCancelRefund$1$1.class deleted file mode 100644 index 68d8b38e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$doCancelRefund$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$doConfirmReceipt$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$doConfirmReceipt$1$1.class deleted file mode 100644 index b7bd37f2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$doConfirmReceipt$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$formatSpecObj$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$formatSpecObj$1.class deleted file mode 100644 index 59605bb2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$formatSpecObj$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$getCurrentOrderData$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$getCurrentOrderData$1.class deleted file mode 100644 index fdb71135..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$getCurrentOrderData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$loadMerchantPromotionConfigs$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$loadMerchantPromotionConfigs$1$1.class deleted file mode 100644 index da032502..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$loadMerchantPromotionConfigs$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$loadOrders$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$loadOrders$1$1.class deleted file mode 100644 index f467f0d9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$loadOrders$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$parseSpecText$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$parseSpecText$1.class deleted file mode 100644 index 4571a03f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$parseSpecText$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$remindShipping$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$remindShipping$1$1.class deleted file mode 100644 index 96d5d75c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$remindShipping$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$shareForFree$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$shareForFree$1$1.class deleted file mode 100644 index 858e9367..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion$setup$1$shareForFree$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion.class deleted file mode 100644 index 3f0a7448..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders.class deleted file mode 100644 index 7e2d6a88..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerOrders.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$cancelPayment$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$cancelPayment$1$1$1.class deleted file mode 100644 index 81f08bb2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$cancelPayment$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$cancelPayment$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$cancelPayment$1$1.class deleted file mode 100644 index 3a11edf5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$cancelPayment$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$confirmPayment$1$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$confirmPayment$1$1$1.class deleted file mode 100644 index 3fdfdd26..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$confirmPayment$1$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$confirmPayment$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$confirmPayment$1$1.class deleted file mode 100644 index a6d4d58b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$confirmPayment$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$loadOrderInfo$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$loadOrderInfo$1$1.class deleted file mode 100644 index 7a0f7e4d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$loadOrderInfo$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$loadUserBalance$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$loadUserBalance$1$1.class deleted file mode 100644 index cc614e62..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$loadUserBalance$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$verifyPassword$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$verifyPassword$1$1.class deleted file mode 100644 index b05cb1c9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion$setup$1$verifyPassword$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion.class deleted file mode 100644 index 4b1334fc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment.class deleted file mode 100644 index 7ffc7998..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPayment.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPaymentSuccess$Companion$setup$1$loadOrderInfo$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPaymentSuccess$Companion$setup$1$loadOrderInfo$1$1.class deleted file mode 100644 index eff22ec5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPaymentSuccess$Companion$setup$1$loadOrderInfo$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPaymentSuccess$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPaymentSuccess$Companion.class deleted file mode 100644 index 693632a5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPaymentSuccess$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPaymentSuccess.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPaymentSuccess.class deleted file mode 100644 index 7d85ea81..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPaymentSuccess.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchange$Companion$setup$1$confirmExchange$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchange$Companion$setup$1$confirmExchange$1$1.class deleted file mode 100644 index c8b83eee..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchange$Companion$setup$1$confirmExchange$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchange$Companion$setup$1$loadProducts$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchange$Companion$setup$1$loadProducts$1$1.class deleted file mode 100644 index 16cf7854..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchange$Companion$setup$1$loadProducts$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchange$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchange$Companion.class deleted file mode 100644 index 466a544e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchange$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchange.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchange.class deleted file mode 100644 index 2839e42b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchange.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchangeRecords$Companion$setup$1$loadRecords$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchangeRecords$Companion$setup$1$loadRecords$1$1.class deleted file mode 100644 index d008f660..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchangeRecords$Companion$setup$1$loadRecords$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchangeRecords$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchangeRecords$Companion.class deleted file mode 100644 index 6127f5dd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchangeRecords$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchangeRecords.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchangeRecords.class deleted file mode 100644 index 72ddb5cd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsExchangeRecords.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadData$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadData$1$1.class deleted file mode 100644 index e4060499..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadExpiringPoints$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadExpiringPoints$1$1.class deleted file mode 100644 index 3f20b31d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadExpiringPoints$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadPoints$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadPoints$1$1.class deleted file mode 100644 index 06409633..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadPoints$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadRecords$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadRecords$1$1.class deleted file mode 100644 index f02fcbc4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadRecords$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadSigninStatus$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadSigninStatus$1$1.class deleted file mode 100644 index 606a013a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion$setup$1$loadSigninStatus$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion.class deleted file mode 100644 index ae619420..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex.class deleted file mode 100644 index cacd0c4a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsIndex.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsSignin$Companion$setup$1$doSignin$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsSignin$Companion$setup$1$doSignin$1$1.class deleted file mode 100644 index 0b82ff49..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsSignin$Companion$setup$1$doSignin$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsSignin$Companion$setup$1$loadSigninData$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsSignin$Companion$setup$1$loadSigninData$1$1.class deleted file mode 100644 index 2bf3dbc2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsSignin$Companion$setup$1$loadSigninData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsSignin$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsSignin$Companion.class deleted file mode 100644 index fb923ca4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsSignin$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsSignin.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsSignin.class deleted file mode 100644 index e4f49954..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerPointsSignin.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$1$1.class deleted file mode 100644 index 3057d89f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$Companion.class deleted file mode 100644 index d130983a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$addToCart$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$addToCart$1.class deleted file mode 100644 index 67b4767c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$addToCart$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$buyNow$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$buyNow$1.class deleted file mode 100644 index 196bcb6e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$buyNow$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$checkFavorite$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$checkFavorite$1.class deleted file mode 100644 index fd1756ad..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$checkFavorite$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$checkFavoriteStatus$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$checkFavoriteStatus$1.class deleted file mode 100644 index b844d56e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$checkFavoriteStatus$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$claimCoupon$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$claimCoupon$1.class deleted file mode 100644 index 5166c7c8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$claimCoupon$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$contactMerchant$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$contactMerchant$1.class deleted file mode 100644 index e3b7b9da..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$contactMerchant$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$decreaseQuantity$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$decreaseQuantity$1.class deleted file mode 100644 index a3ead49f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$decreaseQuantity$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$formatDate$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$formatDate$1.class deleted file mode 100644 index 946eb568..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$formatDate$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_addToCart_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_addToCart_fn$1.class deleted file mode 100644 index 2b4696c8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_addToCart_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_checkFavorite_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_checkFavorite_fn$1.class deleted file mode 100644 index d82cc56e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_checkFavorite_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_claimCoupon_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_claimCoupon_fn$1.class deleted file mode 100644 index 93371208..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_claimCoupon_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadCoupons_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadCoupons_fn$1.class deleted file mode 100644 index f8f8f43d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadCoupons_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadMemberPrice_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadMemberPrice_fn$1.class deleted file mode 100644 index 9d061150..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadMemberPrice_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadMerchantInfo_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadMerchantInfo_fn$1.class deleted file mode 100644 index c476adee..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadMerchantInfo_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadProductSkus_fn$1$1$specs$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadProductSkus_fn$1$1$specs$1.class deleted file mode 100644 index 649d5ac6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadProductSkus_fn$1$1$specs$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadProductSkus_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadProductSkus_fn$1.class deleted file mode 100644 index 135dbb03..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_loadProductSkus_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_toggleFavorite_fn$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_toggleFavorite_fn$1.class deleted file mode 100644 index 9414f787..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$gen_toggleFavorite_fn$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getAvailableStock$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getAvailableStock$1.class deleted file mode 100644 index 96bdbfcf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getAvailableStock$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getMaxQuantity$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getMaxQuantity$1.class deleted file mode 100644 index a6f89b35..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getMaxQuantity$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getParamsSummary$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getParamsSummary$1.class deleted file mode 100644 index 15c48e23..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getParamsSummary$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getSelectedSkuImage$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getSelectedSkuImage$1.class deleted file mode 100644 index 3271cb4f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getSelectedSkuImage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getSelectedSkuPrice$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getSelectedSkuPrice$1.class deleted file mode 100644 index ad54896d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getSelectedSkuPrice$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getSelectedSkuStock$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getSelectedSkuStock$1.class deleted file mode 100644 index bc168dac..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getSelectedSkuStock$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getSkuSpecText$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getSkuSpecText$1.class deleted file mode 100644 index 754f958a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$getSkuSpecText$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$goToCart$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$goToCart$1.class deleted file mode 100644 index b847fcac..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$goToCart$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$goToHome$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$goToHome$1.class deleted file mode 100644 index 85344766..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$goToHome$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$goToShop$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$goToShop$1.class deleted file mode 100644 index 67db75a2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$goToShop$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$hideCouponModal$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$hideCouponModal$1.class deleted file mode 100644 index ec4d4ace..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$hideCouponModal$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$hideParamsModal$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$hideParamsModal$1.class deleted file mode 100644 index 67cba3c0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$hideParamsModal$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$hideSpecModal$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$hideSpecModal$1.class deleted file mode 100644 index 3f974664..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$hideSpecModal$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$increaseQuantity$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$increaseQuantity$1.class deleted file mode 100644 index 134cdd98..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$increaseQuantity$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadCoupons$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadCoupons$1.class deleted file mode 100644 index 8bc4d9a6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadCoupons$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadMemberPrice$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadMemberPrice$1.class deleted file mode 100644 index 69529a32..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadMemberPrice$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadMerchantInfo$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadMerchantInfo$1.class deleted file mode 100644 index bfe1a380..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadMerchantInfo$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadProductDetail$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadProductDetail$1.class deleted file mode 100644 index f78c6dbc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadProductDetail$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadProductSkus$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadProductSkus$1.class deleted file mode 100644 index 27b9147c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$loadProductSkus$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$onSwiperChange$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$onSwiperChange$1.class deleted file mode 100644 index 620ca14c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$onSwiperChange$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$previewImage$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$previewImage$1.class deleted file mode 100644 index a77c5a35..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$previewImage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$saveFootprint$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$saveFootprint$1.class deleted file mode 100644 index e994048d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$saveFootprint$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$selectSku$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$selectSku$1.class deleted file mode 100644 index 839da812..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$selectSku$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$showCouponModal$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$showCouponModal$1.class deleted file mode 100644 index 18ae9d85..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$showCouponModal$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$showParamsModal$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$showParamsModal$1.class deleted file mode 100644 index 8bf3ba6a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$showParamsModal$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$showSpecModal$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$showSpecModal$1.class deleted file mode 100644 index 7f63fdc5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$showSpecModal$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$toggleFavorite$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$toggleFavorite$1.class deleted file mode 100644 index c5eadb08..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$toggleFavorite$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$validateQuantity$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$validateQuantity$1.class deleted file mode 100644 index 52befc6d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail$validateQuantity$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail.class deleted file mode 100644 index 359e3908..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductDetail.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews$Companion$setup$1$loadReviews$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews$Companion$setup$1$loadReviews$1$1.class deleted file mode 100644 index 0e166471..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews$Companion$setup$1$loadReviews$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews$Companion$setup$1$loadStats$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews$Companion$setup$1$loadStats$1$1.class deleted file mode 100644 index 6b508849..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews$Companion$setup$1$loadStats$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews$Companion$setup$1$toggleLike$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews$Companion$setup$1$toggleLike$1$1.class deleted file mode 100644 index b8a12c80..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews$Companion$setup$1$toggleLike$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews$Companion.class deleted file mode 100644 index 6f7511ee..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews.class deleted file mode 100644 index aedbfea9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerProductReviews.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRedPacketsIndex$Companion$setup$1$loadData$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRedPacketsIndex$Companion$setup$1$loadData$1$1.class deleted file mode 100644 index 17720ebc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRedPacketsIndex$Companion$setup$1$loadData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRedPacketsIndex$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRedPacketsIndex$Companion.class deleted file mode 100644 index 24cfe6a2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRedPacketsIndex$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRedPacketsIndex.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRedPacketsIndex.class deleted file mode 100644 index c686b501..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRedPacketsIndex.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$doCancelRefund$1$1$result$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$doCancelRefund$1$1$result$1.class deleted file mode 100644 index 92061f49..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$doCancelRefund$1$1$result$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$doCancelRefund$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$doCancelRefund$1$1.class deleted file mode 100644 index 65e2d3a9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$doCancelRefund$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$doDeleteRefund$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$doDeleteRefund$1$1.class deleted file mode 100644 index 584d3c14..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$doDeleteRefund$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$loadRefunds$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$loadRefunds$1$1.class deleted file mode 100644 index 1e7148ec..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$loadRefunds$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$loadTabCounts$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$loadTabCounts$1$1.class deleted file mode 100644 index 08c58491..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion$setup$1$loadTabCounts$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion.class deleted file mode 100644 index f934195c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund.class deleted file mode 100644 index 98c07dc1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefund.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefundReview$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefundReview$Companion.class deleted file mode 100644 index 60da76e5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefundReview$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefundReview.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefundReview.class deleted file mode 100644 index ea245ec9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerRefundReview.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview$Companion$setup$1$loadOrderData$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview$Companion$setup$1$loadOrderData$1$1.class deleted file mode 100644 index 80e283f1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview$Companion$setup$1$loadOrderData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview$Companion$setup$1$submitReview$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview$Companion$setup$1$submitReview$1$1.class deleted file mode 100644 index 188b29d6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview$Companion$setup$1$submitReview$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview$Companion$setup$1$uploadImage$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview$Companion$setup$1$uploadImage$1$1.class deleted file mode 100644 index d345a8b8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview$Companion$setup$1$uploadImage$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview$Companion.class deleted file mode 100644 index 1b8ab76e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview.class deleted file mode 100644 index 0c279f4f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerReview.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$addToCart$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$addToCart$1$1.class deleted file mode 100644 index 4f07f5c9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$addToCart$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$fetchSuggestions$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$fetchSuggestions$1$1.class deleted file mode 100644 index ee2ab53d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$fetchSuggestions$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$loadData$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$loadData$1$1.class deleted file mode 100644 index 3176e903..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$loadData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$loadMore$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$loadMore$1$1.class deleted file mode 100644 index c07d9544..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$loadMore$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$performSearch$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$performSearch$1$1.class deleted file mode 100644 index 224dd5f2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion$setup$1$performSearch$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion.class deleted file mode 100644 index b562566a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch.class deleted file mode 100644 index 4fc53212..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSearch.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSettings$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSettings$Companion.class deleted file mode 100644 index 7dbf9169..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSettings$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSettings.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSettings.class deleted file mode 100644 index a27aed84..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSettings.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareDetail$Companion$setup$1$loadShareDetail$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareDetail$Companion$setup$1$loadShareDetail$1$1.class deleted file mode 100644 index 3e57dbf0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareDetail$Companion$setup$1$loadShareDetail$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareDetail$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareDetail$Companion.class deleted file mode 100644 index a8da9a0e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareDetail$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareDetail.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareDetail.class deleted file mode 100644 index eb6c87e3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareDetail.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareIndex$Companion$setup$1$loadShares$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareIndex$Companion$setup$1$loadShares$1$1.class deleted file mode 100644 index 74be2e57..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareIndex$Companion$setup$1$loadShares$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareIndex$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareIndex$Companion.class deleted file mode 100644 index d8680309..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareIndex$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareIndex.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareIndex.class deleted file mode 100644 index 7609933d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShareIndex.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$addToCart$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$addToCart$1$1.class deleted file mode 100644 index ab367fbc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$addToCart$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$checkFollowStatus$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$checkFollowStatus$1$1.class deleted file mode 100644 index 1b8b2192..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$checkFollowStatus$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$claimCoupon$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$claimCoupon$1$1.class deleted file mode 100644 index e44de926..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$claimCoupon$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$loadCoupons$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$loadCoupons$1$1.class deleted file mode 100644 index 7d5e968d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$loadCoupons$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$loadShopData$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$loadShopData$1$1.class deleted file mode 100644 index 3f4e910d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$loadShopData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$loadShopProducts$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$loadShopProducts$1$1.class deleted file mode 100644 index b92a187e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$loadShopProducts$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$toggleFollow$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$toggleFollow$1$1.class deleted file mode 100644 index 5b338c8f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion$setup$1$toggleFollow$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion.class deleted file mode 100644 index 8c691c35..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail.class deleted file mode 100644 index 9e90a6a5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerShopDetail.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$doUnfollow$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$doUnfollow$1$1.class deleted file mode 100644 index 42da3b87..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$doUnfollow$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$loadFollowedShops$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$loadFollowedShops$1$1.class deleted file mode 100644 index 01780c80..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$loadFollowedShops$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$unfollow$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$unfollow$1$1.class deleted file mode 100644 index 92a3aeb4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops$Companion$setup$1$unfollow$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops$Companion.class deleted file mode 100644 index f70a04af..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops.class deleted file mode 100644 index 032d67a0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerSubscriptionFollowedShops.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion$setup$1$confirmRecharge$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion$setup$1$confirmRecharge$1$1.class deleted file mode 100644 index 7d2066b1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion$setup$1$confirmRecharge$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion$setup$1$loadBalance$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion$setup$1$loadBalance$1$1.class deleted file mode 100644 index ac65f1db..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion$setup$1$loadBalance$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion$setup$1$loadTransactions$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion$setup$1$loadTransactions$1$1.class deleted file mode 100644 index c4701368..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion$setup$1$loadTransactions$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion$setup$1$loadWalletData$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion$setup$1$loadWalletData$1$1.class deleted file mode 100644 index 3457291b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion$setup$1$loadWalletData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion.class deleted file mode 100644 index 666723cf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet.class deleted file mode 100644 index 22750917..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWallet.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWithdraw$Companion$setup$1$loadData$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWithdraw$Companion$setup$1$loadData$1$1.class deleted file mode 100644 index ff68e040..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWithdraw$Companion$setup$1$loadData$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWithdraw$Companion$setup$1$submitWithdraw$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWithdraw$Companion$setup$1$submitWithdraw$1$1.class deleted file mode 100644 index 80b440d3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWithdraw$Companion$setup$1$submitWithdraw$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWithdraw$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWithdraw$Companion.class deleted file mode 100644 index 9f65fc6c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWithdraw$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWithdraw.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWithdraw.class deleted file mode 100644 index f0b7c122..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesMallConsumerWithdraw.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindEmail$Companion$setup$1$handleSubmit$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindEmail$Companion$setup$1$handleSubmit$1$1.class deleted file mode 100644 index 65799a42..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindEmail$Companion$setup$1$handleSubmit$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindEmail$Companion$setup$1$sendCode$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindEmail$Companion$setup$1$sendCode$1$1.class deleted file mode 100644 index 3432bfe1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindEmail$Companion$setup$1$sendCode$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindEmail$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindEmail$Companion.class deleted file mode 100644 index c8e7d1c5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindEmail$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindEmail.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindEmail.class deleted file mode 100644 index 89ec427a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindEmail.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindPhone$Companion$setup$1$handleSubmit$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindPhone$Companion$setup$1$handleSubmit$1$1.class deleted file mode 100644 index b44d4364..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindPhone$Companion$setup$1$handleSubmit$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindPhone$Companion$setup$1$sendCode$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindPhone$Companion$setup$1$sendCode$1$1.class deleted file mode 100644 index 5aa82f3b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindPhone$Companion$setup$1$sendCode$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindPhone$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindPhone$Companion.class deleted file mode 100644 index 02fa12ad..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindPhone$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindPhone.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindPhone.class deleted file mode 100644 index 19b9216c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBindPhone.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBoot$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBoot$Companion.class deleted file mode 100644 index f9d2ced8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBoot$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBoot$checkAndRedirect$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBoot$checkAndRedirect$1.class deleted file mode 100644 index ae1455af..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBoot$checkAndRedirect$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBoot.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBoot.class deleted file mode 100644 index 411a824d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserBoot.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserCenter$Companion$setup$1$loadProfile$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserCenter$Companion$setup$1$loadProfile$1$1.class deleted file mode 100644 index 8b755b29..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserCenter$Companion$setup$1$loadProfile$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserCenter$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserCenter$Companion.class deleted file mode 100644 index 56e9bae9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserCenter$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserCenter.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserCenter.class deleted file mode 100644 index 194e1000..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserCenter.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserChangePassword$Companion$setup$1$handleSubmit$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserChangePassword$Companion$setup$1$handleSubmit$1$1.class deleted file mode 100644 index fcd78912..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserChangePassword$Companion$setup$1$handleSubmit$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserChangePassword$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserChangePassword$Companion.class deleted file mode 100644 index 6bbaef49..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserChangePassword$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserChangePassword.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserChangePassword.class deleted file mode 100644 index 53e23570..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserChangePassword.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserForgotPassword$Companion$setup$1$handleResetRequest$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserForgotPassword$Companion$setup$1$handleResetRequest$1$1.class deleted file mode 100644 index e69a16a8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserForgotPassword$Companion$setup$1$handleResetRequest$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserForgotPassword$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserForgotPassword$Companion.class deleted file mode 100644 index 682d7a87..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserForgotPassword$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserForgotPassword.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserForgotPassword.class deleted file mode 100644 index 797c7e82..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserForgotPassword.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin$Companion$setup$1$cssVars$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin$Companion$setup$1$cssVars$1.class deleted file mode 100644 index 8b80e8e2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin$Companion$setup$1$cssVars$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin$Companion$setup$1$getCode$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin$Companion$setup$1$getCode$1$1.class deleted file mode 100644 index cbdf7daf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin$Companion$setup$1$getCode$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin$Companion$setup$1$handleLogin$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin$Companion$setup$1$handleLogin$1$1.class deleted file mode 100644 index 3d7b585c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin$Companion$setup$1$handleLogin$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin$Companion.class deleted file mode 100644 index 36e00f25..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin.class deleted file mode 100644 index 573020ee..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserLogin.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion$setup$1$loadProfile$1$1$newProfile$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion$setup$1$loadProfile$1$1$newProfile$1.class deleted file mode 100644 index 8a635e47..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion$setup$1$loadProfile$1$1$newProfile$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion$setup$1$loadProfile$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion$setup$1$loadProfile$1$1.class deleted file mode 100644 index 3c3af53b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion$setup$1$loadProfile$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion$setup$1$saveProfile$1$1$updateData$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion$setup$1$saveProfile$1$1$updateData$1.class deleted file mode 100644 index 4091d133..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion$setup$1$saveProfile$1$1$updateData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion$setup$1$saveProfile$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion$setup$1$saveProfile$1$1.class deleted file mode 100644 index eab086ce..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion$setup$1$saveProfile$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion.class deleted file mode 100644 index e19183e4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile.class deleted file mode 100644 index 3d6a43c4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserProfile.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserRegister$Companion$setup$1$handleRegister$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserRegister$Companion$setup$1$handleRegister$1$1.class deleted file mode 100644 index 22cea22c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserRegister$Companion$setup$1$handleRegister$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserRegister$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserRegister$Companion.class deleted file mode 100644 index da94b586..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserRegister$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserRegister.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserRegister.class deleted file mode 100644 index 467c390c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserRegister.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserTerms$Companion.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserTerms$Companion.class deleted file mode 100644 index 269c8a22..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserTerms$Companion.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserTerms$goBack$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserTerms$goBack$1.class deleted file mode 100644 index ad9225aa..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserTerms$goBack$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserTerms.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserTerms.class deleted file mode 100644 index 235608a1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenPagesUserTerms.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenUniApp.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenUniApp.class deleted file mode 100644 index ad2b3236..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GenUniApp.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GuessItemType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GuessItemType.class deleted file mode 100644 index b3a2d7ac..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GuessItemType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GuessItemTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GuessItemTypeReactiveObject.class deleted file mode 100644 index 3dab6ec4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/GuessItemTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/HotSearchItemType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/HotSearchItemType.class deleted file mode 100644 index 2b1151de..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/HotSearchItemType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/HotSearchItemTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/HotSearchItemTypeReactiveObject.class deleted file mode 100644 index 3f5f7172..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/HotSearchItemTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/I18nGlobal.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/I18nGlobal.class deleted file mode 100644 index 88f0d87e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/I18nGlobal.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/I18nInstance.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/I18nInstance.class deleted file mode 100644 index 2b804e7d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/I18nInstance.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$ADDRESS_LABEL$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$ADDRESS_LABEL$1.class deleted file mode 100644 index 0e3633a8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$ADDRESS_LABEL$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$COUPON_TYPE$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$COUPON_TYPE$1.class deleted file mode 100644 index 2c5007ad..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$COUPON_TYPE$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$DELIVERY_STATUS$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$DELIVERY_STATUS$1.class deleted file mode 100644 index 6932d174..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$DELIVERY_STATUS$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$FAVORITE_TYPE$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$FAVORITE_TYPE$1.class deleted file mode 100644 index 58206a36..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$FAVORITE_TYPE$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$MALL_USER_TYPE$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$MALL_USER_TYPE$1.class deleted file mode 100644 index 4471a932..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$MALL_USER_TYPE$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$ORDER_STATUS$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$ORDER_STATUS$1.class deleted file mode 100644 index 70c485d2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$ORDER_STATUS$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$PAYMENT_METHOD$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$PAYMENT_METHOD$1.class deleted file mode 100644 index 5b75fa71..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$PAYMENT_METHOD$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$SUBSCRIPTION_PERIOD$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$SUBSCRIPTION_PERIOD$1.class deleted file mode 100644 index 93e07d4a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$SUBSCRIPTION_PERIOD$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$SUBSCRIPTION_STATUS$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$SUBSCRIPTION_STATUS$1.class deleted file mode 100644 index 847205e1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$SUBSCRIPTION_STATUS$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$VERIFICATION_STATUS$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$VERIFICATION_STATUS$1.class deleted file mode 100644 index 5304d888..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$VERIFICATION_STATUS$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$ensureUserProfile$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$ensureUserProfile$1$1.class deleted file mode 100644 index cc343bc6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$ensureUserProfile$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$ensureUserProfile$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$ensureUserProfile$1.class deleted file mode 100644 index 4e61abb0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$ensureUserProfile$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$getCurrentUser$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$getCurrentUser$1.class deleted file mode 100644 index 611b2027..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt$getCurrentUser$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt.class deleted file mode 100644 index fc8709cb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/IndexKt.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LevelLog.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LevelLog.class deleted file mode 100644 index e26fb47c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LevelLog.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LevelLogReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LevelLogReactiveObject.class deleted file mode 100644 index d6b173e0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LevelLogReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocalCartItem.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocalCartItem.class deleted file mode 100644 index 65e0d6d0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocalCartItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocalCartItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocalCartItemReactiveObject.class deleted file mode 100644 index c58d68da..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocalCartItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocalCategory.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocalCategory.class deleted file mode 100644 index 19376d92..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocalCategory.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocalCategoryReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocalCategoryReactiveObject.class deleted file mode 100644 index fc971f5b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocalCategoryReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocaleWrapper.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocaleWrapper.class deleted file mode 100644 index 099dca1a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/LocaleWrapper.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MemberInfo.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MemberInfo.class deleted file mode 100644 index 0cbb27e6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MemberInfo.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MemberInfoReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MemberInfoReactiveObject.class deleted file mode 100644 index e3fb255c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MemberInfoReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MemberLevel.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MemberLevel.class deleted file mode 100644 index ae1db357..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MemberLevel.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MemberLevelReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MemberLevelReactiveObject.class deleted file mode 100644 index 92e3481c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MemberLevelReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantRatingType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantRatingType.class deleted file mode 100644 index 65927f05..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantRatingType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantRatingTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantRatingTypeReactiveObject.class deleted file mode 100644 index 930bb019..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantRatingTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantType.class deleted file mode 100644 index 995e8311..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantTypeReactiveObject.class deleted file mode 100644 index 81495d56..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantType__1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantType__1.class deleted file mode 100644 index 55ae9aa2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantType__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantType__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantType__1ReactiveObject.class deleted file mode 100644 index 84ddcd9d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MerchantType__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageItem.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageItem.class deleted file mode 100644 index 898a8e96..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageItemReactiveObject.class deleted file mode 100644 index 41354654..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageTab.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageTab.class deleted file mode 100644 index 3d20116b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageTab.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageTabReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageTabReactiveObject.class deleted file mode 100644 index 37a671d3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageTabReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageType.class deleted file mode 100644 index 1ad48e0c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageTypeReactiveObject.class deleted file mode 100644 index f78c3f15..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MessageTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MockAddress.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MockAddress.class deleted file mode 100644 index fb433b42..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MockAddress.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MyReviewItem.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MyReviewItem.class deleted file mode 100644 index 3a11c928..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MyReviewItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MyReviewItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MyReviewItemReactiveObject.class deleted file mode 100644 index ae9dda10..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/MyReviewItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NewAddressData.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NewAddressData.class deleted file mode 100644 index 4e9f3333..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NewAddressData.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NewAddressForm.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NewAddressForm.class deleted file mode 100644 index 09d2ca2a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NewAddressForm.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NewAddressFormReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NewAddressFormReactiveObject.class deleted file mode 100644 index 3d00893d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NewAddressFormReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Notification.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Notification.class deleted file mode 100644 index fd7b853d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Notification.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NotificationType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NotificationType.class deleted file mode 100644 index 9d1fc845..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NotificationType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NotificationTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NotificationTypeReactiveObject.class deleted file mode 100644 index 0ca9ecee..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/NotificationTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderCountsType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderCountsType.class deleted file mode 100644 index da70f115..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderCountsType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderCountsTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderCountsTypeReactiveObject.class deleted file mode 100644 index 51699212..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderCountsTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItem.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItem.class deleted file mode 100644 index a49de992..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemReactiveObject.class deleted file mode 100644 index 4b7710e5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType.class deleted file mode 100644 index 41f1f6df..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemTypeReactiveObject.class deleted file mode 100644 index 7f0501fb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType__1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType__1.class deleted file mode 100644 index 5450f1e1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType__1ReactiveObject.class deleted file mode 100644 index dde364b5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType__2.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType__2.class deleted file mode 100644 index 7a7cb858..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType__2.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType__2ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType__2ReactiveObject.class deleted file mode 100644 index cb5a1e94..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderItemType__2ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderOptions.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderOptions.class deleted file mode 100644 index 174afecc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderOptions.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderProduct.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderProduct.class deleted file mode 100644 index 3731e96f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderProduct.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderProductReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderProductReactiveObject.class deleted file mode 100644 index c836306c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderProductReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderTabItem.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderTabItem.class deleted file mode 100644 index 7c28ea3b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderTabItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderTabItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderTabItemReactiveObject.class deleted file mode 100644 index 36efd428..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderTabItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderType.class deleted file mode 100644 index 75064a0a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderTypeReactiveObject.class deleted file mode 100644 index 30316334..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderType__1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderType__1.class deleted file mode 100644 index 16b06b88..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderType__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderType__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderType__1ReactiveObject.class deleted file mode 100644 index 09139f5a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/OrderType__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PaginatedResponse.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PaginatedResponse.class deleted file mode 100644 index 7d922909..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PaginatedResponse.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PaymentMethodType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PaymentMethodType.class deleted file mode 100644 index 6f74306d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PaymentMethodType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PaymentMethodTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PaymentMethodTypeReactiveObject.class deleted file mode 100644 index 0d682011..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PaymentMethodTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PendingItem.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PendingItem.class deleted file mode 100644 index 30baa24a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PendingItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PendingItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PendingItemReactiveObject.class deleted file mode 100644 index 94bcf125..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PendingItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PointProduct.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PointProduct.class deleted file mode 100644 index ecb71b54..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PointProduct.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PointProductReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PointProductReactiveObject.class deleted file mode 100644 index 400eb2f5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PointProductReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PointRecord.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PointRecord.class deleted file mode 100644 index fb90bc21..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PointRecord.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PointRecordReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PointRecordReactiveObject.class deleted file mode 100644 index cb249a70..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PointRecordReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PrivacyType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PrivacyType.class deleted file mode 100644 index c669e3c3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PrivacyType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PrivacyTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PrivacyTypeReactiveObject.class deleted file mode 100644 index f2f47ace..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/PrivacyTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Product.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Product.class deleted file mode 100644 index 78942014..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Product.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductReactiveObject.class deleted file mode 100644 index c5808fa9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductSku.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductSku.class deleted file mode 100644 index 0a8bb6e8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductSku.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductSkuType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductSkuType.class deleted file mode 100644 index b3e1b3b1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductSkuType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductSkuTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductSkuTypeReactiveObject.class deleted file mode 100644 index 8dae8cd9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductSkuTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductType.class deleted file mode 100644 index 701df504..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductTypeReactiveObject.class deleted file mode 100644 index 3af6aff9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProductTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProfileType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProfileType.class deleted file mode 100644 index c3ab8a99..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProfileType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProfileTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProfileTypeReactiveObject.class deleted file mode 100644 index 2c5715a3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ProfileTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RecommendProduct.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RecommendProduct.class deleted file mode 100644 index cb86e6f6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RecommendProduct.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RecommendProductReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RecommendProductReactiveObject.class deleted file mode 100644 index 4a2e3179..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RecommendProductReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RedPacket.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RedPacket.class deleted file mode 100644 index 9496e88a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RedPacket.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RedPacketReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RedPacketReactiveObject.class deleted file mode 100644 index d70f7ca0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RedPacketReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundOrderInfo.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundOrderInfo.class deleted file mode 100644 index f7f97d1c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundOrderInfo.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundOrderInfoReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundOrderInfoReactiveObject.class deleted file mode 100644 index b35d59b3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundOrderInfoReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundOrderItem.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundOrderItem.class deleted file mode 100644 index 96462bd2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundOrderItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundOrderItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundOrderItemReactiveObject.class deleted file mode 100644 index 89940e87..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundOrderItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundProductInfo.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundProductInfo.class deleted file mode 100644 index 9c979205..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundProductInfo.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundProductInfoReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundProductInfoReactiveObject.class deleted file mode 100644 index 70af3b54..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundProductInfoReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundResponse.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundResponse.class deleted file mode 100644 index a575dedf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundResponse.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundStatusHistoryItem.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundStatusHistoryItem.class deleted file mode 100644 index d8284760..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundStatusHistoryItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundStatusHistoryItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundStatusHistoryItemReactiveObject.class deleted file mode 100644 index 655e19de..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundStatusHistoryItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundType.class deleted file mode 100644 index 7cdb7063..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundTypeReactiveObject.class deleted file mode 100644 index a5624ee8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/RefundTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ReviewItem.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ReviewItem.class deleted file mode 100644 index 07202e0b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ReviewItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ReviewItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ReviewItemReactiveObject.class deleted file mode 100644 index f96bcf67..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ReviewItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SearchResultType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SearchResultType.class deleted file mode 100644 index bbe6f3f4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SearchResultType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SearchResultTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SearchResultTypeReactiveObject.class deleted file mode 100644 index 02bd03c0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SearchResultTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ServiceCountsType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ServiceCountsType.class deleted file mode 100644 index 638b3823..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ServiceCountsType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ServiceCountsTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ServiceCountsTypeReactiveObject.class deleted file mode 100644 index e4359cf3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ServiceCountsTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShareRecord.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShareRecord.class deleted file mode 100644 index f4b70fe4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShareRecord.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShareRecordReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShareRecordReactiveObject.class deleted file mode 100644 index 1c568b96..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShareRecordReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShareRecordType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShareRecordType.class deleted file mode 100644 index 0f5182c5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShareRecordType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShareRecordTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShareRecordTypeReactiveObject.class deleted file mode 100644 index 01adfa47..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShareRecordTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Shop.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Shop.class deleted file mode 100644 index 1df52681..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/Shop.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopGroupType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopGroupType.class deleted file mode 100644 index 800f5ec6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopGroupType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopOrderParams.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopOrderParams.class deleted file mode 100644 index 3662682c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopOrderParams.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopOrderResponse.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopOrderResponse.class deleted file mode 100644 index 3013ed91..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopOrderResponse.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopResultType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopResultType.class deleted file mode 100644 index 4bb4ce90..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopResultType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopResultTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopResultTypeReactiveObject.class deleted file mode 100644 index f7231faf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/ShopResultTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SortTab.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SortTab.class deleted file mode 100644 index 9051cbd5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SortTab.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/State.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/State.class deleted file mode 100644 index ec4541aa..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/State.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StateReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StateReactiveObject.class deleted file mode 100644 index 469def63..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StateReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsPeriodType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsPeriodType.class deleted file mode 100644 index 38fa794c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsPeriodType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsPeriodTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsPeriodTypeReactiveObject.class deleted file mode 100644 index 6cde3e8d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsPeriodTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsType.class deleted file mode 100644 index 400a7160..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsTypeReactiveObject.class deleted file mode 100644 index 548cb2a1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsType__1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsType__1.class deleted file mode 100644 index 38b31371..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsType__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsType__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsType__1ReactiveObject.class deleted file mode 100644 index 663de3a5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/StatsType__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addAddress$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addAddress$1$response$1.class deleted file mode 100644 index 0b2dba98..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addAddress$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addAddress$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addAddress$1.class deleted file mode 100644 index f949a935..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addAddress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addBankCard$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addBankCard$1.class deleted file mode 100644 index c9b7214a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addBankCard$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addFootprint$1$updateRes$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addFootprint$1$updateRes$1.class deleted file mode 100644 index f9d7347e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addFootprint$1$updateRes$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addFootprint$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addFootprint$1.class deleted file mode 100644 index ec608b9f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addFootprint$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addPoints$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addPoints$1.class deleted file mode 100644 index 213617f2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addPoints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addToCart$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addToCart$1$1.class deleted file mode 100644 index ab504e8f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addToCart$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addToCart$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addToCart$1.class deleted file mode 100644 index 5d7beed5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$addToCart$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$appendReview$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$appendReview$1.class deleted file mode 100644 index 80fec2e9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$appendReview$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$applyRefund$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$applyRefund$1$response$1.class deleted file mode 100644 index 0fe5cc0f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$applyRefund$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$applyRefund$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$applyRefund$1.class deleted file mode 100644 index 08d1b2f4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$applyRefund$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$batchDeleteCartItems$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$batchDeleteCartItems$1.class deleted file mode 100644 index c3bbbea8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$batchDeleteCartItems$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$batchUpdateCartItemSelection$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$batchUpdateCartItemSelection$1.class deleted file mode 100644 index 27b2af79..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$batchUpdateCartItemSelection$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelOrder$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelOrder$1$response$1.class deleted file mode 100644 index 0adac680..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelOrder$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelOrder$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelOrder$1.class deleted file mode 100644 index e48bc646..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelRefund$1$orderUpdateResponse$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelRefund$1$orderUpdateResponse$1.class deleted file mode 100644 index f01debce..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelRefund$1$orderUpdateResponse$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelRefund$1$refundUpdateResponse$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelRefund$1$refundUpdateResponse$1.class deleted file mode 100644 index 8f7077a8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelRefund$1$refundUpdateResponse$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelRefund$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelRefund$1.class deleted file mode 100644 index 556d742a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$cancelRefund$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$checkFavorite$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$checkFavorite$1.class deleted file mode 100644 index 1246331e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$checkFavorite$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$claimCoupon$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$claimCoupon$1.class deleted file mode 100644 index ff3e0bb1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$claimCoupon$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$claimShopCoupon$1$fallbackData$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$claimShopCoupon$1$fallbackData$1.class deleted file mode 100644 index 4a26b3a1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$claimShopCoupon$1$fallbackData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$claimShopCoupon$1$insertData$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$claimShopCoupon$1$insertData$1.class deleted file mode 100644 index 0552b865..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$claimShopCoupon$1$insertData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$claimShopCoupon$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$claimShopCoupon$1.class deleted file mode 100644 index 9a47722f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$claimShopCoupon$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$clearCart$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$clearCart$1.class deleted file mode 100644 index d847664d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$clearCart$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$clearDefaultAddress$1$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$clearDefaultAddress$1$1.class deleted file mode 100644 index 6ce525e6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$clearDefaultAddress$1$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$clearDefaultAddress$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$clearDefaultAddress$1.class deleted file mode 100644 index d377731b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$clearDefaultAddress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$clearFootprints$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$clearFootprints$1.class deleted file mode 100644 index 4d69da83..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$clearFootprints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$confirmOrderReceived$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$confirmOrderReceived$1$response$1.class deleted file mode 100644 index 1309cf88..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$confirmOrderReceived$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$confirmOrderReceived$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$confirmOrderReceived$1.class deleted file mode 100644 index 7321983e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$confirmOrderReceived$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$confirmReceipt$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$confirmReceipt$1.class deleted file mode 100644 index 79d046c7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$confirmReceipt$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createOrder$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createOrder$1.class deleted file mode 100644 index d59392cf..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createOrdersByShop$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createOrdersByShop$1.class deleted file mode 100644 index 553fd76a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createOrdersByShop$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createRefund$1$payload$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createRefund$1$payload$1.class deleted file mode 100644 index 7ce3d39e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createRefund$1$payload$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createRefund$1$updateResponse$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createRefund$1$updateResponse$1.class deleted file mode 100644 index 6668bd66..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createRefund$1$updateResponse$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createRefund$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createRefund$1.class deleted file mode 100644 index a8e784ba..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createRefund$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createShareRecord$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createShareRecord$1.class deleted file mode 100644 index c20b3095..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$createShareRecord$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deductPoints$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deductPoints$1.class deleted file mode 100644 index 26ffd80d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deductPoints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteAddress$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteAddress$1.class deleted file mode 100644 index 33832177..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteAddress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteBankCard$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteBankCard$1.class deleted file mode 100644 index 7389373a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteBankCard$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteCartItem$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteCartItem$1.class deleted file mode 100644 index 9dfeb6b9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteCartItem$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteFootprint$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteFootprint$1.class deleted file mode 100644 index f81d14a4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteFootprint$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteFootprints$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteFootprints$1.class deleted file mode 100644 index a406f830..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteFootprints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteOrder$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteOrder$1.class deleted file mode 100644 index 0dc05e6f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteRefund$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteRefund$1.class deleted file mode 100644 index 14ea3975..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteRefund$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteReview$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteReview$1.class deleted file mode 100644 index de8b52bc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$deleteReview$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$ensureSession$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$ensureSession$1.class deleted file mode 100644 index 20a4dde3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$ensureSession$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$exchangeProduct$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$exchangeProduct$1.class deleted file mode 100644 index 40adbefe..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$exchangeProduct$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$fetchShopCoupons$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$fetchShopCoupons$1.class deleted file mode 100644 index 3a199ac5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$fetchShopCoupons$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$followShop$1$res$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$followShop$1$res$1.class deleted file mode 100644 index 5bc32ea8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$followShop$1$res$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$followShop$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$followShop$1.class deleted file mode 100644 index 6bea7189..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$followShop$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getAddressById$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getAddressById$1.class deleted file mode 100644 index 4fb46adc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getAddressById$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getAddressList$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getAddressList$1.class deleted file mode 100644 index 0233e49a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getAddressList$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getAddresses$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getAddresses$1.class deleted file mode 100644 index 02aea407..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getAddresses$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getAvailableCoupons$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getAvailableCoupons$1.class deleted file mode 100644 index 9f37d765..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getAvailableCoupons$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getBalanceRecords$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getBalanceRecords$1.class deleted file mode 100644 index 39e0314d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getBalanceRecords$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getBrands$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getBrands$1.class deleted file mode 100644 index 224fdb27..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getBrands$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getCartItems$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getCartItems$1.class deleted file mode 100644 index c68a0784..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getCartItems$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getCategories$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getCategories$1.class deleted file mode 100644 index fb3cbf04..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getCategories$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getCategoryById$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getCategoryById$1.class deleted file mode 100644 index 1279287d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getCategoryById$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getChatMessages$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getChatMessages$1.class deleted file mode 100644 index fb151014..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getChatMessages$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getChatRooms$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getChatRooms$1.class deleted file mode 100644 index 66076a2b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getChatRooms$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getDiscountProducts$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getDiscountProducts$1.class deleted file mode 100644 index 004471b9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getDiscountProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getExchangeRecords$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getExchangeRecords$1.class deleted file mode 100644 index b2fc2422..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getExchangeRecords$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getExpiringPoints$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getExpiringPoints$1.class deleted file mode 100644 index 368ff94e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getExpiringPoints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getExpiryNotifications$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getExpiryNotifications$1.class deleted file mode 100644 index f4404fbc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getExpiryNotifications$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getFavorites$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getFavorites$1.class deleted file mode 100644 index d8c6ed17..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getFavorites$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getFollowedShops$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getFollowedShops$1.class deleted file mode 100644 index 1e6ede90..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getFollowedShops$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getFootprints$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getFootprints$1.class deleted file mode 100644 index 20f34eec..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getFootprints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getFreeOrderRewards$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getFreeOrderRewards$1.class deleted file mode 100644 index d9e3deda..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getFreeOrderRewards$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getHotKeywords$1$KeywordEntry.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getHotKeywords$1$KeywordEntry.class deleted file mode 100644 index 91bf88db..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getHotKeywords$1$KeywordEntry.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getHotKeywords$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getHotKeywords$1.class deleted file mode 100644 index 964f2f32..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getHotKeywords$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getHotProducts$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getHotProducts$1.class deleted file mode 100644 index a98d91d8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getHotProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMemberLevelLogs$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMemberLevelLogs$1.class deleted file mode 100644 index 16367dbb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMemberLevelLogs$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMemberLevels$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMemberLevels$1.class deleted file mode 100644 index c1640e6e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMemberLevels$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMerchantPromotionConfig$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMerchantPromotionConfig$1.class deleted file mode 100644 index ceadfa22..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMerchantPromotionConfig$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMyReviews$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMyReviews$1.class deleted file mode 100644 index e51e7597..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMyReviews$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMyShareRecords$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMyShareRecords$1.class deleted file mode 100644 index 563a80a0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getMyShareRecords$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getOrderById$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getOrderById$1.class deleted file mode 100644 index fd2e2717..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getOrderById$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getOrderDetail$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getOrderDetail$1.class deleted file mode 100644 index 921e2943..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getOrderDetail$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getOrders$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getOrders$1.class deleted file mode 100644 index f06ca99b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getOrders$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getParentCategories$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getParentCategories$1.class deleted file mode 100644 index 293456e1..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getParentCategories$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getPointProducts$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getPointProducts$1.class deleted file mode 100644 index 9d61f60d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getPointProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getPointRecords$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getPointRecords$1.class deleted file mode 100644 index a79d0e1c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getPointRecords$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getPointsOverview$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getPointsOverview$1.class deleted file mode 100644 index dd7eb750..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getPointsOverview$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductById$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductById$1.class deleted file mode 100644 index f6ed4610..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductById$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductReviews$1$query$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductReviews$1$query$1.class deleted file mode 100644 index fceb5de4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductReviews$1$query$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductReviews$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductReviews$1.class deleted file mode 100644 index 647fb535..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductReviews$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductSkus$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductSkus$1.class deleted file mode 100644 index ea09de34..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductSkus$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByCategories$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByCategories$1.class deleted file mode 100644 index af2f5458..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByCategories$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByCategory$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByCategory$1$response$1.class deleted file mode 100644 index cbe31179..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByCategory$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByCategory$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByCategory$1.class deleted file mode 100644 index 92713cd4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByCategory$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByMerchantId$1$query$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByMerchantId$1$query$1.class deleted file mode 100644 index a8a6996d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByMerchantId$1$query$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByMerchantId$1$query2$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByMerchantId$1$query2$1.class deleted file mode 100644 index 25e361a7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByMerchantId$1$query2$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByMerchantId$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByMerchantId$1.class deleted file mode 100644 index 4f0dfb0f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByMerchantId$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByNewest$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByNewest$1.class deleted file mode 100644 index 71743a5d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByNewest$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByPrice$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByPrice$1.class deleted file mode 100644 index 795ca5d3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByPrice$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsBySales$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsBySales$1.class deleted file mode 100644 index cde87b72..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsBySales$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByShopId$1$query$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByShopId$1$query$1.class deleted file mode 100644 index 8db5325f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByShopId$1$query$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByShopId$1$query2$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByShopId$1$query2$1.class deleted file mode 100644 index 76a6d518..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByShopId$1$query2$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByShopId$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByShopId$1.class deleted file mode 100644 index 6ba621ac..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getProductsByShopId$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getRecommendedProducts$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getRecommendedProducts$1.class deleted file mode 100644 index 8e2b03cc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getRecommendedProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getRefunds$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getRefunds$1.class deleted file mode 100644 index 581ca670..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getRefunds$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getReviewStats$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getReviewStats$1.class deleted file mode 100644 index 1637807c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getReviewStats$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getShareDetail$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getShareDetail$1.class deleted file mode 100644 index 96e5daa0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getShareDetail$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getShopByMerchantId$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getShopByMerchantId$1.class deleted file mode 100644 index cada1c5e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getShopByMerchantId$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getSigninRecords$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getSigninRecords$1.class deleted file mode 100644 index 49df2506..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getSigninRecords$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getSmartRecommendations$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getSmartRecommendations$1.class deleted file mode 100644 index 5d971d35..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getSmartRecommendations$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getSubCategories$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getSubCategories$1.class deleted file mode 100644 index 8be4a285..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getSubCategories$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getTodaySigninStatus$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getTodaySigninStatus$1.class deleted file mode 100644 index f69e544c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getTodaySigninStatus$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getTotalEarned$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getTotalEarned$1.class deleted file mode 100644 index d015e873..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getTotalEarned$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getTransactions$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getTransactions$1.class deleted file mode 100644 index bf6ca950..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getTransactions$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserBalance$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserBalance$1.class deleted file mode 100644 index 1ee38853..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserBalance$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserBalanceNumber$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserBalanceNumber$1.class deleted file mode 100644 index 2869590e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserBalanceNumber$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserBankCards$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserBankCards$1.class deleted file mode 100644 index 60b819e6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserBankCards$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserBrowseCategories$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserBrowseCategories$1.class deleted file mode 100644 index fa94690d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserBrowseCategories$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserChatMessages$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserChatMessages$1.class deleted file mode 100644 index 6074156e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserChatMessages$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserCouponCount$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserCouponCount$1$response$1.class deleted file mode 100644 index 50f6fc13..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserCouponCount$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserCouponCount$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserCouponCount$1.class deleted file mode 100644 index 6413ad58..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserCouponCount$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserCoupons$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserCoupons$1.class deleted file mode 100644 index 08ae527b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserCoupons$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserMemberInfo$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserMemberInfo$1.class deleted file mode 100644 index 3db99a3b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserMemberInfo$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserNotifications$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserNotifications$1.class deleted file mode 100644 index e71f401a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserNotifications$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserPoints$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserPoints$1.class deleted file mode 100644 index 09b059a2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserPoints$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserProfile$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserProfile$1.class deleted file mode 100644 index b22dfd61..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserProfile$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserRedPackets$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserRedPackets$1.class deleted file mode 100644 index 74b4e41d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserRedPackets$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserSearchHistory$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserSearchHistory$1.class deleted file mode 100644 index c8d63a62..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$getUserSearchHistory$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$isShareFreeEnabled$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$isShareFreeEnabled$1.class deleted file mode 100644 index c5b71ca9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$isShareFreeEnabled$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$isShopFollowed$1$res$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$isShopFollowed$1$res$1.class deleted file mode 100644 index 14d8e515..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$isShopFollowed$1$res$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$isShopFollowed$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$isShopFollowed$1.class deleted file mode 100644 index c17230cc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$isShopFollowed$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$markNotificationRead$1$res$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$markNotificationRead$1$res$1.class deleted file mode 100644 index 9e8e37d7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$markNotificationRead$1$res$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$markNotificationRead$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$markNotificationRead$1.class deleted file mode 100644 index f4c62c8c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$markNotificationRead$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$markRead$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$markRead$1$response$1.class deleted file mode 100644 index 5e8dd672..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$markRead$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$markRead$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$markRead$1.class deleted file mode 100644 index d5e931b3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$markRead$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$payOrder$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$payOrder$1.class deleted file mode 100644 index bdf17e0e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$payOrder$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$rePurchase$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$rePurchase$1.class deleted file mode 100644 index c07be631..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$rePurchase$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$rechargeBalance$1$res$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$rechargeBalance$1$res$1.class deleted file mode 100644 index e241f328..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$rechargeBalance$1$res$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$rechargeBalance$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$rechargeBalance$1.class deleted file mode 100644 index 5f7accb7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$rechargeBalance$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$recordBrowse$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$recordBrowse$1.class deleted file mode 100644 index 420651b8..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$recordBrowse$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$recordSearch$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$recordSearch$1.class deleted file mode 100644 index b40ad8f5..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$recordSearch$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchProducts$1$query$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchProducts$1$query$1.class deleted file mode 100644 index f28e108e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchProducts$1$query$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchProducts$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchProducts$1.class deleted file mode 100644 index 3be4687e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchProducts$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchProductsByKeywords$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchProductsByKeywords$1.class deleted file mode 100644 index d1acf3cd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchProductsByKeywords$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchShops$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchShops$1$response$1.class deleted file mode 100644 index 750b2df2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchShops$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchShops$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchShops$1.class deleted file mode 100644 index 3ecddb42..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$searchShops$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$sendChatMessage$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$sendChatMessage$1.class deleted file mode 100644 index b9862a40..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$sendChatMessage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$sendMessage$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$sendMessage$1.class deleted file mode 100644 index 3b991575..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$sendMessage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$setDefaultAddress$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$setDefaultAddress$1$response$1.class deleted file mode 100644 index b1be1c93..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$setDefaultAddress$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$setDefaultAddress$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$setDefaultAddress$1.class deleted file mode 100644 index c2b2097c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$setDefaultAddress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$signin$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$signin$1.class deleted file mode 100644 index 747ef5ec..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$signin$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$simulateServiceReply$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$simulateServiceReply$1.class deleted file mode 100644 index 9d7807a4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$simulateServiceReply$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$submitProductReviews$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$submitProductReviews$1.class deleted file mode 100644 index 3723fdcd..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$submitProductReviews$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$submitShopReview$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$submitShopReview$1.class deleted file mode 100644 index 8669b4e7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$submitShopReview$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$toggleFavorite$1$response$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$toggleFavorite$1$response$1.class deleted file mode 100644 index 28c29b7f..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$toggleFavorite$1$response$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$toggleFavorite$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$toggleFavorite$1.class deleted file mode 100644 index ccf241b3..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$toggleFavorite$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$toggleReviewLike$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$toggleReviewLike$1.class deleted file mode 100644 index 694575cb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$toggleReviewLike$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$triggerPointsMaintenance$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$triggerPointsMaintenance$1.class deleted file mode 100644 index bf005a30..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$triggerPointsMaintenance$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$unfollowShop$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$unfollowShop$1.class deleted file mode 100644 index d9cc4613..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$unfollowShop$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateAddress$1$updateData$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateAddress$1$updateData$1.class deleted file mode 100644 index dbe4aae0..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateAddress$1$updateData$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateAddress$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateAddress$1.class deleted file mode 100644 index c9e35444..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateAddress$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateCartItemQuantity$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateCartItemQuantity$1.class deleted file mode 100644 index 17b8e405..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateCartItemQuantity$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateCartItemSelection$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateCartItemSelection$1.class deleted file mode 100644 index f0e9bc0c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateCartItemSelection$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateOrderStatus$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateOrderStatus$1.class deleted file mode 100644 index 04c3d343..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$updateOrderStatus$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$uploadChatImage$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$uploadChatImage$1.class deleted file mode 100644 index ce4a2332..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$uploadChatImage$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$validateShareCode$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$validateShareCode$1.class deleted file mode 100644 index 5947f09a..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$validateShareCode$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$withdrawBalance$1$res$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$withdrawBalance$1$res$1.class deleted file mode 100644 index 5f5d6154..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$withdrawBalance$1$res$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$withdrawBalance$1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$withdrawBalance$1.class deleted file mode 100644 index 41497edb..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService$withdrawBalance$1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService.class deleted file mode 100644 index cc1775bc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/SupabaseService.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TabCountsType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TabCountsType.class deleted file mode 100644 index a9f43948..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TabCountsType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TabCountsTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TabCountsTypeReactiveObject.class deleted file mode 100644 index 4a03948d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TabCountsTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TimelineStepType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TimelineStepType.class deleted file mode 100644 index 63ed4a9c..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TimelineStepType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TrackItem.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TrackItem.class deleted file mode 100644 index 9712a268..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TrackItem.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TrackItemReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TrackItemReactiveObject.class deleted file mode 100644 index 3e4ec9a7..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TrackItemReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TransactionType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TransactionType.class deleted file mode 100644 index 6ad95572..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TransactionType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TransactionTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TransactionTypeReactiveObject.class deleted file mode 100644 index 6c91753b..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/TransactionTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UiChatMessage.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UiChatMessage.class deleted file mode 100644 index ef7860fe..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UiChatMessage.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UiChatMessageReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UiChatMessageReactiveObject.class deleted file mode 100644 index dc6792cc..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UiChatMessageReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UniAppConfig.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UniAppConfig.class deleted file mode 100644 index 8e90c7ec..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UniAppConfig.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UpdateAddressParams.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UpdateAddressParams.class deleted file mode 100644 index 67a66440..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UpdateAddressParams.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserAddress.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserAddress.class deleted file mode 100644 index 11cb104e..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserAddress.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserCoupon.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserCoupon.class deleted file mode 100644 index 0c097f92..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserCoupon.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserCouponType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserCouponType.class deleted file mode 100644 index 6df9a196..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserCouponType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserCouponTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserCouponTypeReactiveObject.class deleted file mode 100644 index 81cbfeea..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserCouponTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserProfile.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserProfile.class deleted file mode 100644 index e8b938b9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserProfile.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserProfileReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserProfileReactiveObject.class deleted file mode 100644 index 968b95a2..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserProfileReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserStatsType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserStatsType.class deleted file mode 100644 index 7a25e911..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserStatsType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserStatsTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserStatsTypeReactiveObject.class deleted file mode 100644 index c4643ec4..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserStatsTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserStatsType__1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserStatsType__1.class deleted file mode 100644 index e70af047..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserStatsType__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserStatsType__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserStatsType__1ReactiveObject.class deleted file mode 100644 index 1aaef1a9..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserStatsType__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserType.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserType.class deleted file mode 100644 index 6feff545..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserType.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserTypeReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserTypeReactiveObject.class deleted file mode 100644 index df4b83ab..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserTypeReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserType__1.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserType__1.class deleted file mode 100644 index c49c3ca6..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserType__1.class and /dev/null differ diff --git a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserType__1ReactiveObject.class b/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserType__1ReactiveObject.class deleted file mode 100644 index b313146d..00000000 Binary files a/unpackage/cache/.app-android/class/uni/UNIEC68BC3/UserType__1ReactiveObject.class and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/index/classes.dex b/unpackage/cache/.app-android/dex/index/classes.dex deleted file mode 100644 index a081ce8b..00000000 Binary files a/unpackage/cache/.app-android/dex/index/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/main/cart/classes.dex b/unpackage/cache/.app-android/dex/pages/main/cart/classes.dex deleted file mode 100644 index 763097ac..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/main/cart/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/main/category/classes.dex b/unpackage/cache/.app-android/dex/pages/main/category/classes.dex deleted file mode 100644 index d52b717e..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/main/category/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/main/index/classes.dex b/unpackage/cache/.app-android/dex/pages/main/index/classes.dex deleted file mode 100644 index eaa4fe0d..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/main/index/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/main/messages/classes.dex b/unpackage/cache/.app-android/dex/pages/main/messages/classes.dex deleted file mode 100644 index 6a1c80c5..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/main/messages/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/main/profile/classes.dex b/unpackage/cache/.app-android/dex/pages/main/profile/classes.dex deleted file mode 100644 index 3b497c01..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/main/profile/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/address-edit/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/address-edit/classes.dex deleted file mode 100644 index bc6d3646..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/address-edit/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/address-list/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/address-list/classes.dex deleted file mode 100644 index 1934a302..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/address-list/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/apply-refund/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/apply-refund/classes.dex deleted file mode 100644 index cd4ca748..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/apply-refund/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/balance/index/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/balance/index/classes.dex deleted file mode 100644 index 1c1523e7..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/balance/index/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/bank-cards/add/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/bank-cards/add/classes.dex deleted file mode 100644 index 51f737e0..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/bank-cards/add/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/bank-cards/index/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/bank-cards/index/classes.dex deleted file mode 100644 index 8099f96c..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/bank-cards/index/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/chat/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/chat/classes.dex deleted file mode 100644 index 8e1b4bfd..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/chat/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/checkout/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/checkout/classes.dex deleted file mode 100644 index 2aa57793..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/checkout/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/coupons/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/coupons/classes.dex deleted file mode 100644 index 8ab2a3aa..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/coupons/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/favorites/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/favorites/classes.dex deleted file mode 100644 index cac83ecf..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/favorites/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/footprint/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/footprint/classes.dex deleted file mode 100644 index a5d5ee59..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/footprint/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/logistics/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/logistics/classes.dex deleted file mode 100644 index 0677e321..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/logistics/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/member/index/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/member/index/classes.dex deleted file mode 100644 index 61c6c3fe..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/member/index/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/message-detail/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/message-detail/classes.dex deleted file mode 100644 index eb886c87..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/message-detail/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/my-reviews/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/my-reviews/classes.dex deleted file mode 100644 index 65d7b1c9..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/my-reviews/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/order-detail/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/order-detail/classes.dex deleted file mode 100644 index e04b931c..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/order-detail/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/orders/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/orders/classes.dex deleted file mode 100644 index 84f25bcc..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/orders/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/payment-success/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/payment-success/classes.dex deleted file mode 100644 index 1a37682c..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/payment-success/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/payment/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/payment/classes.dex deleted file mode 100644 index c45cafcd..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/payment/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/points/exchange-records/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/points/exchange-records/classes.dex deleted file mode 100644 index 9fd81a95..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/points/exchange-records/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/points/exchange/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/points/exchange/classes.dex deleted file mode 100644 index 195d75fa..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/points/exchange/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/points/index/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/points/index/classes.dex deleted file mode 100644 index 291f46de..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/points/index/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/points/signin/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/points/signin/classes.dex deleted file mode 100644 index 7d323db9..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/points/signin/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/product-detail/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/product-detail/classes.dex deleted file mode 100644 index fce19945..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/product-detail/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/product-reviews/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/product-reviews/classes.dex deleted file mode 100644 index ade07203..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/product-reviews/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/red-packets/index/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/red-packets/index/classes.dex deleted file mode 100644 index ebb3bd08..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/red-packets/index/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/refund-review/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/refund-review/classes.dex deleted file mode 100644 index 109be0bc..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/refund-review/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/refund/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/refund/classes.dex deleted file mode 100644 index 1f3ee25a..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/refund/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/review/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/review/classes.dex deleted file mode 100644 index b76535db..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/review/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/search/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/search/classes.dex deleted file mode 100644 index 9d7c40f6..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/search/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/settings/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/settings/classes.dex deleted file mode 100644 index 6ea1ea0a..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/settings/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/share/detail/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/share/detail/classes.dex deleted file mode 100644 index 34296224..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/share/detail/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/share/index/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/share/index/classes.dex deleted file mode 100644 index 7515e253..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/share/index/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/shop-detail/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/shop-detail/classes.dex deleted file mode 100644 index 99945251..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/shop-detail/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/subscription/followed-shops/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/subscription/followed-shops/classes.dex deleted file mode 100644 index 8492f80f..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/subscription/followed-shops/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/wallet/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/wallet/classes.dex deleted file mode 100644 index 38194c2f..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/wallet/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/mall/consumer/withdraw/classes.dex b/unpackage/cache/.app-android/dex/pages/mall/consumer/withdraw/classes.dex deleted file mode 100644 index 830c833b..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/mall/consumer/withdraw/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/user/bind-email/classes.dex b/unpackage/cache/.app-android/dex/pages/user/bind-email/classes.dex deleted file mode 100644 index 93646438..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/user/bind-email/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/user/bind-phone/classes.dex b/unpackage/cache/.app-android/dex/pages/user/bind-phone/classes.dex deleted file mode 100644 index c95d7779..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/user/bind-phone/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/user/boot/classes.dex b/unpackage/cache/.app-android/dex/pages/user/boot/classes.dex deleted file mode 100644 index 4607f1c2..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/user/boot/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/user/center/classes.dex b/unpackage/cache/.app-android/dex/pages/user/center/classes.dex deleted file mode 100644 index 0e168dfc..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/user/center/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/user/change-password/classes.dex b/unpackage/cache/.app-android/dex/pages/user/change-password/classes.dex deleted file mode 100644 index e8a8ba36..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/user/change-password/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/user/forgot-password/classes.dex b/unpackage/cache/.app-android/dex/pages/user/forgot-password/classes.dex deleted file mode 100644 index eb36a15b..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/user/forgot-password/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/user/login/classes.dex b/unpackage/cache/.app-android/dex/pages/user/login/classes.dex deleted file mode 100644 index aefff91a..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/user/login/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/user/profile/classes.dex b/unpackage/cache/.app-android/dex/pages/user/profile/classes.dex deleted file mode 100644 index c0c16073..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/user/profile/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/user/register/classes.dex b/unpackage/cache/.app-android/dex/pages/user/register/classes.dex deleted file mode 100644 index 1c87551e..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/user/register/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/dex/pages/user/terms/classes.dex b/unpackage/cache/.app-android/dex/pages/user/terms/classes.dex deleted file mode 100644 index 9cf6f1c4..00000000 Binary files a/unpackage/cache/.app-android/dex/pages/user/terms/classes.dex and /dev/null differ diff --git a/unpackage/cache/.app-android/sourcemap/index.kt.map b/unpackage/cache/.app-android/sourcemap/index.kt.map deleted file mode 100644 index c23df2c3..00000000 --- a/unpackage/cache/.app-android/sourcemap/index.kt.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../../../../../HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/src/runtime/app/socket.ts","uni_modules/ak-req/ak-req.uts","App.uvue","../../../../../../../HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/src/runtime/app/index.ts","uni_modules/ak-req/interface.uts","ak/config.uts","uni_modules/i18n/index.uts","utils/utils.uts","components/supadb/aksupa.uts","components/supadb/aksupainstance.uts","types/mall-types.uts","pages/sense/types.uts","utils/sapi.uts","utils/store.uts","main.uts","utils/supabaseService.uts","pages/main/index.uvue","pages/main/category.uvue","pages/main/cart.uvue","pages/main/profile.uvue","pages/mall/consumer/settings.uvue","pages/mall/consumer/wallet.uvue","pages/mall/consumer/withdraw.uvue","pages/mall/consumer/search.uvue","pages/mall/consumer/shop-detail.uvue","pages/mall/consumer/coupons.uvue","pages/mall/consumer/favorites.uvue","pages/mall/consumer/footprint.uvue","pages/mall/consumer/address-list.uvue","pages/mall/consumer/address-edit.uvue","pages/mall/consumer/checkout.uvue","pages/mall/consumer/payment.uvue","pages/mall/consumer/orders.uvue","pages/mall/consumer/order-detail.uvue","pages/mall/consumer/logistics.uvue","pages/mall/consumer/review.uvue","pages/mall/consumer/refund.uvue","pages/mall/consumer/chat.uvue","pages/mall/consumer/subscription/followed-shops.uvue","pages/mall/consumer/points/index.uvue","pages/mall/consumer/points/signin.uvue","pages/mall/consumer/points/exchange.uvue","pages/mall/consumer/points/exchange-records.uvue","pages/mall/consumer/product-reviews.uvue","pages/mall/consumer/my-reviews.uvue","pages/mall/consumer/balance/index.uvue","pages/mall/consumer/share/index.uvue","pages/mall/consumer/share/detail.uvue","pages/mall/consumer/member/index.uvue","pages/mall/consumer/message-detail.uvue","pages/mall/consumer/red-packets/index.uvue","pages/mall/consumer/bank-cards/index.uvue","pages/mall/consumer/bank-cards/add.uvue"],"sourcesContent":["/// \n// 之所以又写了一份,是因为外层的socket,connectSocket的时候必须传入multiple:true\n// 但是android又不能传入,目前代码里又不能写条件编译之类的。\nexport function initRuntimeSocket(\n hosts: string,\n port: string,\n id: string\n): Promise {\n if (hosts == '' || port == '' || id == '') return Promise.resolve(null)\n return hosts\n .split(',')\n .reduce>(\n (\n promise: Promise,\n host: string\n ): Promise => {\n return promise.then((socket): Promise => {\n if (socket != null) return Promise.resolve(socket)\n return tryConnectSocket(host, port, id)\n })\n },\n Promise.resolve(null)\n )\n}\n\nconst SOCKET_TIMEOUT = 500\nfunction tryConnectSocket(\n host: string,\n port: string,\n id: string\n): Promise {\n return new Promise((resolve, reject) => {\n const socket = uni.connectSocket({\n url: `ws://${host}:${port}/${id}`,\n fail() {\n resolve(null)\n },\n })\n const timer = setTimeout(() => {\n // @ts-expect-error\n socket.close({\n code: 1006,\n reason: 'connect timeout',\n } as CloseSocketOptions)\n resolve(null)\n }, SOCKET_TIMEOUT)\n\n socket.onOpen((e) => {\n clearTimeout(timer)\n resolve(socket)\n })\n socket.onClose((e) => {\n clearTimeout(timer)\n resolve(null)\n })\n socket.onError((e) => {\n clearTimeout(timer)\n resolve(null)\n })\n })\n}\n","import { AkReqUploadOptions, AkReqOptions, AkReqResponse, AkReqError } from './interface.uts';\r\nimport { SUPA_URL, SUPA_KEY, IS_TEST_MODE } from '@/ak/config.uts';\r\n\r\n// token 持久化 key\r\nconst ACCESS_TOKEN_KEY = 'akreq_access_token';\r\nconst REFRESH_TOKEN_KEY = 'akreq_refresh_token';\r\nconst EXPIRES_AT_KEY = 'akreq_expires_at';\r\n\r\n// 优化:用静态变量缓存 token,只有 set/clear 时同步 storage\r\nlet _accessToken : string | null = null;\r\nlet _refreshToken : string | null = null;\r\nlet _expiresAt : number | null = null;\r\n\r\nexport class AkReq {\r\n\tstatic setToken(token : string, refreshToken : string, expiresAt : number) {\r\n\t\t_accessToken = token;\r\n\t\t_refreshToken = refreshToken;\r\n\t\t_expiresAt = expiresAt;\r\n\t\tuni.setStorageSync(ACCESS_TOKEN_KEY, token);\r\n\t\tuni.setStorageSync(REFRESH_TOKEN_KEY, refreshToken);\r\n\t\tuni.setStorageSync(EXPIRES_AT_KEY, expiresAt);\r\n\t}\r\n\tstatic getToken() : string | null {\r\n\t\tif (_accessToken != null) return _accessToken;\r\n\t\tconst t = uni.getStorageSync(ACCESS_TOKEN_KEY) as string | null;\r\n\t\t_accessToken = t;\r\n\t\treturn t;\r\n\t}\r\n\tstatic getRefreshToken() : string | null {\r\n\t\tif (_refreshToken != null) return _refreshToken;\r\n\t\tconst t = uni.getStorageSync(REFRESH_TOKEN_KEY) as string | null;\r\n\t\t_refreshToken = t;\r\n\t\treturn t;\r\n\t} static getExpiresAt() : number | null {\r\n\t\tconst val = _expiresAt;\r\n\t\tif (val != null) return val;\r\n\t\tconst t = uni.getStorageSync(EXPIRES_AT_KEY) as number | null;\r\n\t\t_expiresAt = t;\r\n\t\treturn t;\r\n\t}\r\n\tstatic clearToken() {\r\n\t\t_accessToken = null;\r\n\t\t_refreshToken = null;\r\n\t\t_expiresAt = null;\r\n\t\tuni.removeStorageSync(ACCESS_TOKEN_KEY);\r\n\t\tuni.removeStorageSync(REFRESH_TOKEN_KEY);\r\n\t\tuni.removeStorageSync(EXPIRES_AT_KEY);\r\n\t}\t// 判断 token 是否即将过期(提前5分钟刷新)\r\n\tstatic isTokenExpiring() : boolean {\r\n\t\tconst expiresAt = this.getExpiresAt();\r\n\t\tif (expiresAt === null || expiresAt == 0) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tconst now = Math.floor(Date.now() / 1000);\r\n\t\treturn (expiresAt - now) < 300; // 提前5分钟刷新\r\n\t}\r\n\r\n\t// 自动刷新 token,返回 true=已刷新,false=未刷新\r\n\tstatic async refreshTokenIfNeeded(apikey ?: string) : Promise {\r\n\t\t// 没有 access_token 直接返回,不刷新\r\n\t\tconst accessToken = this.getToken();\r\n\t\tif (accessToken === null || accessToken === \"\") {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tif (!this.isTokenExpiring()) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tconst refreshToken = this.getRefreshToken();\r\n\t\tif (refreshToken === null || refreshToken === \"\") {\r\n\t\t\tthis.clearToken();\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t// 构造 header,必须带 apikey\r\n\t\tlet headers = new UTSJSONObject();\r\n\t\tif (apikey !== null && apikey !== \"\") {\r\n\t\t\theaders.set('apikey', apikey)\r\n\t\t}\r\n\t\tconst reqData = new UTSJSONObject()\r\n\t\treqData.set('refresh_token', refreshToken)\r\n\t\ttry {\r\n\t\t\tconst res = await this.request({\r\n\t\t\t\turl: SUPA_URL + '/auth/v1/token?grant_type=refresh_token',\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\tdata: reqData,\r\n\t\t\t\theaders: headers,\r\n\t\t\t\tcontentType: 'application/json'\r\n\t\t\t}, true); // skipRefresh=true,避免递归\r\n\t\t\tconst data = res.data as UTSJSONObject | null;\r\n\t\t\tlet accessToken : string | null = null;\r\n\t\t\tlet refreshTokenNew : string | null = null;\r\n\t\t\tlet expiresAt : number | null = null;\r\n\t\t\tif (data != null && typeof data.getString === 'function' && typeof data.getNumber === 'function') {\r\n\t\t\t\taccessToken = data.getString('access_token');\r\n\t\t\t\trefreshTokenNew = data.getString('refresh_token');\r\n\t\t\t\texpiresAt = data.getNumber('expires_at');\r\n\t\t\t}\r\n\t\t\tif (accessToken !== null && refreshTokenNew !== null && expiresAt !== null) {\r\n\t\t\t\tthis.setToken(accessToken, refreshTokenNew, expiresAt);\r\n\t\t\t\treturn true;\r\n\t\t\t} else {\r\n\t\t\t\tthis.clearToken();\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tthis.clearToken();\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\t// options: AkReqOptions, skipRefresh: boolean = false\r\n\tstatic async request(options : AkReqOptions, skipRefresh ?: boolean) : Promise> {\r\n\t\t// 自动刷新 token\r\n\t\tif (skipRefresh != true) {\r\n\t\t\tlet apikey : string | null = null;\r\n\t\t\tconst headersObj = options.headers;\r\n\t\t\tif (headersObj != null && typeof headersObj.getString === 'function') {\r\n\t\t\t\tapikey = headersObj.getString('apikey');\r\n\t\t\t}\r\n\t\t\tawait this.refreshTokenIfNeeded(apikey);\r\n\t\t}\r\n\r\n\t\t// 构建新的 headers 对象,确保所有字段都被正确传递\r\n\t\tconst newHeaders = new UTSJSONObject()\r\n\t\t\r\n\t\t// 首先复制原始 headers\r\n\t\tif (options.headers != null) {\r\n\t\t\tconst originalHeaders = options.headers\r\n\t\t\tif (typeof originalHeaders.getString === 'function') {\r\n\t\t\t\t// 复制 apikey\r\n\t\t\t\tconst apikeyStr = originalHeaders.getString('apikey')\r\n\t\t\t\tif (apikeyStr != null) {\r\n\t\t\t\t\tnewHeaders.set('apikey', apikeyStr)\r\n\t\t\t\t}\r\n\t\t\t\t// 复制 Content-Type\r\n\t\t\t\tconst contentType = originalHeaders.getString('Content-Type')\r\n\t\t\t\tif (contentType != null) {\r\n\t\t\t\t\tnewHeaders.set('Content-Type', contentType)\r\n\t\t\t\t}\r\n\t\t\t\t// 复制 Prefer\r\n\t\t\t\tconst prefer = originalHeaders.getString('Prefer')\r\n\t\t\t\tif (prefer != null) {\r\n\t\t\t\t\tnewHeaders.set('Prefer', prefer)\r\n\t\t\t\t}\r\n\t\t\t\t// 复制 Authorization(如果存在)\r\n\t\t\t\tconst auth = originalHeaders.getString('Authorization')\r\n\t\t\t\tif (auth != null) {\r\n\t\t\t\t\tnewHeaders.set('Authorization', auth)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// 补齐 apikey (如果 headers 中没有,则直接使用 SUPA_KEY 补全)\r\n\t\tif (newHeaders.getString('apikey') == null) {\r\n\t\t\tif (SUPA_KEY != null && SUPA_KEY != \"\") {\r\n\t\t\t\tnewHeaders.set('apikey', SUPA_KEY)\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t// 添加/更新 Authorization\r\n\t\tconst token = this.getToken();\r\n\t\tif (token != null && token != \"\") {\r\n\t\t\tnewHeaders.set('Authorization', `Bearer ${token}`)\r\n\t\t}\r\n\t\t\r\n\t\t// 确保 Content-Type 存在\r\n\t\tif (newHeaders.getString('Content-Type') == null) {\r\n\t\t\tconst contentType = options.contentType ?? 'application/json'\r\n\t\t\tif (contentType != null && contentType != \"\") {\r\n\t\t\t\tnewHeaders.set('Content-Type', contentType)\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t// 添加 Accept\r\n\t\tnewHeaders.set('Accept', 'application/json')\r\n\t\t\r\n\t\t__f__('log','at uni_modules/ak-req/ak-req.uts:175','[AkReq.request] headers:', JSON.stringify(newHeaders))\r\n\t\t\r\n\t\tconst headers = newHeaders\r\n\r\n\t\tconst timeout = options.timeout ?? 10000;\r\n\t\tconst maxRetry = Math.max(0, options.retryCount ?? 0);\r\n\t\tconst baseDelay = Math.max(0, options.retryDelayMs ?? 300);\r\n\r\n\t\tconst doOnce = (): Promise> => {\r\n\t\t\treturn new Promise>((resolve) => {\r\n\t\t\t\tuni.request({\r\n\t\t\t\t\turl: options.url,\r\n\t\t\t\t\tmethod: options.method ?? 'GET',\r\n\t\t\t\t\tdata: options.data,\r\n\t\t\t\t\theader: headers,\r\n\t\t\t\t\ttimeout: timeout,\r\n\t\t\t\t\tsuccess: (res) => {\r\n\t\t\t\t\t\t// HEAD 请求特殊处理:没有响应体,只有 headers\r\n\t\t\t\t\t\tif (options.method == 'HEAD') {\r\n\t\t\t\t\t\t\tconst result = AkReq.createResponse(\r\n\t\t\t\t\t\t\t\tres.statusCode,\r\n\t\t\t\t\t\t\t\t[] as Array,\r\n\t\t\t\t\t\t\t\tres.header as UTSJSONObject\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tresolve(result);\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// 兼容 res.data 可能为 string 或 UTSJSONObject 或 UTSArray\r\n\t\t\t\t\t\tlet data : UTSJSONObject | Array | null;\r\n\t\t\t\t\t\tif (typeof res.data == 'string') {\r\n\t\t\t\t\t\t\tconst strData = res.data as string;\r\n\t\t\t\t\t\t\tif (strData.length > 0 && /[^\\s]/.test(strData)) {\r\n\t\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\t\tdata = JSON.parse(strData) as UTSJSONObject;\r\n\t\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\t\t// 非 JSON 响应(例如纯文本/空响应/数字等),保持原始字符串,避免 JSON.parse 崩溃\r\n\t\t\t\t\t\t\t\t\tdata = new UTSJSONObject({ raw: strData });\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tdata = null;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else if (Array.isArray(res.data)) {\r\n\t\t\t\t\t\t\tdata = res.data as UTSJSONObject[];\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst objData = res.data as UTSJSONObject | null;\r\n\t\t\t\t\t\t\tdata = objData;\r\n\t\t\t\t\t\t\tif (objData != null) {\r\n\t\t\t\t\t\t\t\tconst accessToken = objData.getString('access_token');\r\n\t\t\t\t\t\t\t\tconst refreshTokenNew = objData.getString('refresh_token');\r\n\t\t\t\t\t\t\t\tconst expiresAt = objData.getNumber('expires_at');\r\n\t\t\t\t\t\t\t\tif (accessToken !== null && refreshTokenNew !== null && expiresAt !== null) {\r\n\t\t\t\t\t\t\t\t\tAkReq.setToken(accessToken, refreshTokenNew, expiresAt);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tconst result = AkReq.createResponse(\r\n\t\t\t\t\t\t\tres.statusCode,\r\n\t\t\t\t\t\t\tdata ?? {},\r\n\t\t\t\t\t\t\tres.header as UTSJSONObject\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tresolve(result);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tfail: (err) => {\r\n\t\t\t\t\t\tconst errStatus = (err.errCode != null && typeof err.errCode === 'number') ? err.errCode : 0;\r\n\t\t\t\t\t\tconst result = AkReq.createResponse(\r\n\t\t\t\t\t\t\terrStatus,\r\n\t\t\t\t\t\t\t{} as UTSJSONObject,\r\n\t\t\t\t\t\t\t{} as UTSJSONObject,\r\n\t\t\t\t\t\t\tnew UniError('uni-request', errStatus, err.errMsg ?? 'request fail')\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tresolve(result);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tlet attempt = 0;\r\n\t\tlet lastRes: AkReqResponse | null = null;\r\n\t\twhile (attempt <= maxRetry) {\r\n\t\t\tconst res = await doOnce();\r\n\t\t\tlastRes = res;\r\n\t\t\t// 仅网络失败/超时(errCode 非 0 且 status 非 2xx/3xx)时重试\r\n\t\t\tconst status = res.status ?? 0;\r\n\t\t\tconst isOk = status >= 200 && status < 400;\r\n\t\t\tif (isOk) return res;\r\n\t\t\tif (attempt === maxRetry) break;\r\n\t\t\t// 简单退避\r\n\t\t\tconst delay = baseDelay * Math.pow(2, attempt);\r\n await new Promise((r) => { setTimeout(() => { r(); }, delay); });\r\n\t\t\tattempt++;\r\n\t\t}\r\n\t\tconst finalRes = lastRes!!;\r\n\t\t// 全局处理 401 未授权:在非 refresh 场景下,清理 token。\r\n\t\t// 测试模式下不强制跳登录页,避免影响任意跳转调试。\r\n\t\tif ((finalRes.status === 401) && (skipRefresh !== true)) {\r\n\t\t\ttry {\r\n\t\t\t\tthis.clearToken();\r\n\t\t\t\tuni.showToast({ title: '未授权或登录已过期,请重新登录', icon: 'none' });\r\n\t\t\t} catch (e) {}\r\n\t\t\ttry {\r\n\t\t\t\t// 动态读取配置,避免 ak-req 模块与业务工程强耦合\r\n\t\t\t\t// const cfg = require('@/ak/config.uts') as any\r\n\t\t\t\t// const isTest = cfg != null ? (cfg.IS_TEST_MODE === true) : false\r\n const isTest = IS_TEST_MODE\r\n\t\t\t\t// if (!isTest) {\r\n\t\t\t\t// \tuni.reLaunch({ url: '/pages/user/login' });\r\n\t\t\t\t// }\r\n\t\t\t} catch (e) {\r\n\t\t\t\t// try { uni.reLaunch({ url: '/pages/user/login' }); } catch (e2) {}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn finalRes;\r\n\t}\r\n\r\n\t// 新增 upload 方法,支持 uni.uploadFile,自动带 token/apikey\t\r\n\tstatic async upload(options : AkReqUploadOptions) : Promise> {\r\n\t\t// 上传前尝试刷新 token(若即将过期)。优先从 options.headers 或 apikey 字段获取 apikey\r\n\t\tlet apikey: string | null = null;\r\n\t\tconst hdr = options.headers;\r\n\t\tif (hdr != null && typeof hdr.getString === 'function') {\r\n\t\t\tapikey = hdr.getString('apikey');\r\n\t\t}\r\n if (apikey == null && options.apikey != null) apikey = options.apikey;\r\n await this.refreshTokenIfNeeded(apikey != null ? apikey : null);\r\n\r\n\t\tlet headers = options.headers ?? ({} as UTSJSONObject);\r\n\t\tconst token = this.getToken();\r\n\t\tif (token != null && token !== \"\") {\r\n\t\t\theaders = Object.assign({}, headers, { Authorization: `Bearer ${token}` }) as UTSJSONObject;\r\n\t\t}\r\n if (apikey != null && apikey !== \"\") {\r\n\t\t\theaders = Object.assign({}, headers, { apikey: apikey }) as UTSJSONObject;\r\n\t\t}\r\n\t\t// 默认 Accept\r\n\t\theaders = Object.assign({ Accept: 'application/json' } as UTSJSONObject, headers) as UTSJSONObject;\r\n\r\n\t\tconst timeout = options.timeout ?? 10000;\r\n\t\tconst maxRetry = Math.max(0, options.retryCount ?? 0);\r\n\t\tconst baseDelay = Math.max(0, options.retryDelayMs ?? 300);\r\n\r\n\t\tconst doOnce = (): Promise> => {\r\n\t\t\treturn new Promise>((resolve) => {\r\n\t\tconst task = uni.uploadFile({\r\n\t\t\turl: options.url,\r\n\t\t\tfilePath: options.filePath,\r\n\t\t\tname: options.name,\r\n\t\t\tformData: options.formData ?? {},\r\n\t\t\theader: headers,\r\n\t\t\ttimeout: timeout,\r\n\t\t\tsuccess: (res : UploadFileSuccess) => {\r\n\t\t\t\tlet parsed: UTSJSONObject | null = null;\r\n\t\t\t\ttry {\r\n\t\t\t\t\tparsed = JSON.parse(res.data) as UTSJSONObject;\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\tparsed = null;\r\n\t\t\t\t}\r\n\t\t\t\tif (parsed != null) {\r\n\t\t\t\t\tconst accessToken = parsed.getString('access_token');\r\n\t\t\t\t\tconst refreshTokenNew = parsed.getString('refresh_token');\r\n\t\t\t\t\tconst expiresAt = parsed.getNumber('expires_at');\r\n\t\t\t\t\tif (accessToken !== null && refreshTokenNew !== null && expiresAt !== null) {\r\n\t\t\t\t\t\tAkReq.setToken(accessToken, refreshTokenNew, expiresAt);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tconst result = AkReq.createResponse(\r\n\t\t\t\t\tres.statusCode,\r\n\t\t\t\t\tparsed ?? {},\r\n\t\t\t\t\theaders\r\n\t\t\t\t);\r\n\t\t\t\tresolve(result);\r\n\t\t\t},\r\n\t\t\tfail: (err) => {\r\n\t\t\t\tconst errStatus = (err.errCode != null && typeof err.errCode === 'number') ? err.errCode : 0;\r\n\t\t\t\tconst result = AkReq.createResponse(\r\n\t\t\t\t\terrStatus,\r\n\t\t\t\t\t{} as UTSJSONObject,\r\n\t\t\t\t\t{} as UTSJSONObject,\r\n\t\t\t\t\tnew UniError('uni-upload', errStatus, err.errMsg ?? 'upload fail')\r\n\t\t\t\t);\r\n\t\t\t\tresolve(result);\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (options.onProgress != null && task != null) {\r\n\t\t\tconst progressCallback = (res: OnProgressUpdateResult) => {\r\n\t\t\t\tconst percent = res.progress as number; // 0-100\r\n\t\t\t\tconst sent = res.totalBytesSent as number | null;\r\n\t\t\t\tconst expected = res.totalBytesExpectedToSend as number | null;\r\n\t\t\t\tif (options.onProgress != null) {\r\n\t\t\t\t\toptions.onProgress(percent, sent, expected);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\ttask.onProgressUpdate(progressCallback);\r\n\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tlet attempt = 0;\r\n\t\tlet lastRes: AkReqResponse | null = null;\r\n\t\twhile (attempt <= maxRetry) {\r\n\t\t\tconst res = await doOnce();\r\n\t\t\tlastRes = res;\r\n\t\t\tconst status = res.status ?? 0;\r\n\t\t\tconst isOk = status >= 200 && status < 400;\r\n\t\t\tif (isOk) return res;\r\n\t\t\tif (attempt === maxRetry) break;\r\n\t\t\tconst delay = baseDelay * Math.pow(2, attempt);\r\n\t\t\tawait new Promise((resolve) => {\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tresolve();\r\n\t\t\t\t}, delay);\r\n\t\t\t});\r\n\t\t\tattempt++;\r\n\t\t}\r\n\t\treturn lastRes!!;\r\n\t}\r\n\t// 辅助方法:创建 AkReqResponse 对象,避免类型推断问题\r\n\tstatic createResponse(\r\n\t\tstatus: number,\r\n\t\tdata: T | Array ,\r\n\t\theaders: UTSJSONObject,\r\n\t\terror: UniError | null = null,\r\n\t\ttotal: number | null = null,\r\n\t\tpage: number | null = null,\r\n\t\tlimit: number | null = null,\r\n\t\thasmore: boolean | null = null,\r\n\t\torigin: any | null = null\r\n\t): AkReqResponse {\r\n\t\treturn {\r\n\t\t\tstatus,\r\n\t\t\tdata,\r\n\t\t\theaders,\r\n\t\t\terror,\r\n\t\t\ttotal,\r\n\t\t\tpage,\r\n\t\t\tlimit,\r\n\t\t\thasmore,\r\n\t\t\torigin\r\n\t\t};\r\n\t}\r\n\r\n}\r\n\r\nexport default AkReq;","\r\n\r\n\r\n","import { initRuntimeSocket } from './socket'\n\nexport function initRuntimeSocketService(): Promise {\n const hosts: string = process.env.UNI_SOCKET_HOSTS\n const port: string = process.env.UNI_SOCKET_PORT\n const id: string = process.env.UNI_SOCKET_ID\n if (hosts == '' || port == '' || id == '') return Promise.resolve(false)\n let socketTask: SocketTask | null = null\n __registerWebViewUniConsole(\n (): string => {\n return process.env.UNI_CONSOLE_WEBVIEW_EVAL_JS_CODE\n },\n (data: string) => {\n socketTask?.send({\n data,\n } as SendSocketMessageOptions)\n }\n )\n return Promise.resolve()\n .then((): Promise => {\n return initRuntimeSocket(hosts, port, id).then((socket): boolean => {\n if (socket == null) {\n return false\n }\n socketTask = socket\n return true\n })\n })\n .catch((): boolean => {\n return false\n })\n}\n\ninitRuntimeSocketService()\n","// ak-req 类型定义\r\nexport type AkReqOptions = {\r\n url: string;\r\n method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' |'HEAD';\r\n data?: UTSJSONObject | Array;\r\n headers?: UTSJSONObject;\r\n timeout?: number;\r\n contentType?: string; // 新增,支持顶级 contentType\r\n // 可选:重试设置(仅网络错误/超时触发)。默认重试 0 次\r\n retryCount?: number; // 最大重试次数,默认 0\r\n retryDelayMs?: number; // 首次重试延迟,默认 300ms,指数退避\r\n};\r\n// 上传参数类型定义\r\nexport type AkReqUploadOptions = {\r\n url: string,\r\n filePath: string,\r\n name: string,\r\n formData?: UTSJSONObject,\r\n headers?: UTSJSONObject,\r\n apikey?: string,\r\n timeout?: number,\r\n // 进度回调,0-100(注意:H5/APP 平台支持不同)\r\n onProgress?: (progress: number, transferredBytes?: number, totalBytes?: number) => void,\r\n // 可选:重试设置(仅网络错误/超时触发)。默认 0\r\n retryCount?: number,\r\n retryDelayMs?: number\r\n};\r\n\r\nexport type AkReqResponse = {\r\n status: number;\r\n data: T | Array | null; // 支持 null\r\n headers: UTSJSONObject;\r\n error: UniError | null;\r\n total:number |null;\r\n page: number |null;\r\n limit: number |null;\r\n hasmore:boolean |null;\r\n origin: any | null;\r\n};\r\n\r\nexport class AkReqError extends Error {\r\n code: number;\r\n constructor(message: string, code: number = 0) {\r\n super(message);\r\n this.code = code;\r\n this.name = 'AkReqError';\r\n }\r\n}\r\n","// Supabase 配置\r\n// 内网环境 - 本地部署的 Supabase\r\n// IP: 192.168.1.62\r\n// Kong HTTP Port: 8000\r\n\r\n//export const SUPA_URL: string = 'http://192.168.1.61:18000'\r\n//export const SUPA_KEY: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlzcyI6InN1cGFiYXNlLTEiLCJpYXQiOjE3Njk2NzY0OTgsImV4cCI6MTkyNzM1NjQ5OH0.ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'\r\nexport const SUPA_URL: string = 'http://119.146.131.237:9126'\r\nexport const SUPA_KEY: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlzcyI6InN1cGFiYXNlLTEiLCJpYXQiOjE3Njk2NzY0OTgsImV4cCI6MTkyNzM1NjQ5OH0.ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'\r\n\r\n// WebSocket 实时连接(内网使用 ws:// 而非 wss://)\r\nexport const WS_URL: string = 'ws://119.146.131.237:9126/realtime/v1/websocket'\r\n//export const WS_URL: string = 'ws://localhost:18000/realtime/v1/websocket'\r\n\r\n// 备用配置(已注释,如需切换可取消注释)\r\n// 开发环境 - 其他内网地址\r\n// export const SUPA_URL: string = 'http://192.168.0.150:8080'\r\n// export const SUPA_KEY: string = 'your-anon-key'\r\n// export const WS_URL: string = 'ws://192.168.0.150:8080/realtime/v1/websocket'\r\n\r\n// 生产环境 - Supabase 云服务(已注释)\r\n// export const SUPA_URL: string = 'https://ak3.oulog.com'\r\n// export const SUPA_KEY: string = 'your-anon-key'\r\n// export const WS_URL: string = 'wss://ak3.oulog.com/realtime/v1/websocket'\r\n\r\n// 指向你的 Supabase 服务(开发/私有部署)\r\n// export const SUPA_URL: string = 'http://192.168.1.64:3000'\r\n// export const SUPA_KEY: string = 'your-anon-key'\r\n// export const WS_URL: string = 'ws://192.168.1.64:3000/realtime/v1'\r\n\r\n// 路由配置\r\nexport const HOME_REDIRECT: string = '/pages/main/index'\r\nexport const TABORPAGE: string = '/pages/main/index'\r\n\r\n// 测试模式:放开任意跳转(禁用启动页/登录/401 的强制重定向)\r\nexport const IS_TEST_MODE: boolean = true","// i18n 国际化配置\r\n// 这是一个简化的 i18n 实现,用于支持多语言切换\r\n\r\n// 语言资源\r\nconst messages: UTSJSONObject = new UTSJSONObject()\r\n\r\n// 默认语言\r\nconst defaultLocale = 'zh-CN'\r\n\r\n// 当前语言(响应式)\r\nlet currentLocale = defaultLocale\r\n\r\n// 翻译函数\r\nfunction t(key: string, values: UTSJSONObject | null = null, locale: string | null = null): string {\r\n\tconst targetLocale = locale ?? currentLocale\r\n\t// 这里应该从 messages 中获取翻译,简化实现直接返回 key\r\n\t// 实际项目中应该加载语言资源文件\r\n\treturn key\r\n}\r\n\r\n// 创建响应式 locale 对象\r\nclass LocaleWrapper {\r\n get value(): string {\r\n return currentLocale\r\n }\r\n set value(newLocale: string) {\r\n currentLocale = newLocale\r\n }\r\n}\r\nconst localeObj = new LocaleWrapper()\r\n\r\n// I18n Global Context\r\nclass I18nGlobal {\r\n\tt(key: string, values: UTSJSONObject | null = null, locale: string | null = null): string {\r\n\t\treturn t(key, values, locale)\r\n\t}\r\n\tlocale: LocaleWrapper = localeObj\r\n}\r\n\r\n// I18n Instance\r\nclass I18nInstance {\r\n\tglobal: I18nGlobal = new I18nGlobal()\r\n}\r\n\r\n// 导出 i18n 对象\r\nconst i18n = new I18nInstance()\r\nexport default i18n\r\n","// 通用 UTSJSONObject 转任意 type 的函数\r\n// UTS 2024\r\n\r\nimport i18n from '@/uni_modules/i18n/index.uts';\r\n\r\n/**\r\n * 切换应用语言设置\r\n * @param locale 语言代码,如 'zh-CN' 或 'en-US'\r\n */\r\nexport function switchLocale(locale: string) {\r\n // 设置存储\r\n uni.setStorageSync('uVueI18nLocale', locale);\r\n \r\n // 设置 i18n 语言\r\n try {\r\n if (i18n != null && i18n.global != null) {\r\n i18n.global.locale.value = locale;\r\n }\r\n } catch (err) {\r\n __f__('error','at utils/utils.uts:20','Failed to switch locale:', err);\r\n }\r\n}\r\n\r\n/**\r\n * 获取当前语言设置\r\n * @returns 当前语言代码\r\n */\r\nexport function getCurrentLocale(): string {\r\n const locale = uni.getStorageSync('uVueI18nLocale') as string;\r\n if (locale == null || locale == '') {\r\n return 'zh-CN';\r\n }\r\n return locale;\r\n}\r\n\r\n/**\r\n * 确保语言设置正确初始化\r\n */\r\nexport function ensureLocaleInitialized() {\r\n const currentLocale = getCurrentLocale();\r\n if (currentLocale == null || currentLocale == '') {\r\n switchLocale('zh-CN');\r\n }\r\n}\r\n/**\r\n * 将任意错误对象转换为标准的 UniError\r\n * @param error 任意类型的错误对象\r\n * @param defaultMessage 默认错误消息\r\n * @returns 标准化的 UniError 对象\r\n */\r\nexport function toUniError(error: any, defaultMessage: string = '操作失败'): UniError {\r\n // 如果已经是 UniError,直接返回\r\n if (error instanceof UniError) {\r\n return error\r\n }\r\n let errorMessage = defaultMessage\r\n let errorCode = -1\r\n \r\n try {\r\n // 如果是普通 Error 对象\r\n if (error instanceof Error) {\r\n errorMessage = error.message != null && error.message != '' ? error.message : defaultMessage\r\n }\r\n // 如果是字符串\r\n else if (typeof error === 'string') {\r\n errorMessage = error\r\n } // 如果是对象,尝试提取错误信息\r\n else if (error != null && typeof error === 'object') {\r\n const errorObj = error as UTSJSONObject\r\n let message: string = ''\r\n \r\n // 逐个检查字段,避免使用 || 操作符\r\n if (errorObj['message'] != null) {\r\n const msgValue = errorObj['message']\r\n if (typeof msgValue === 'string') {\r\n message = msgValue\r\n }\r\n } else if (errorObj['errMsg'] != null) {\r\n const msgValue = errorObj['errMsg']\r\n if (typeof msgValue === 'string') {\r\n message = msgValue\r\n }\r\n } else if (errorObj['error'] != null) {\r\n const msgValue = errorObj['error']\r\n if (typeof msgValue === 'string') {\r\n message = msgValue\r\n }\r\n } else if (errorObj['details'] != null) {\r\n const msgValue = errorObj['details']\r\n if (typeof msgValue === 'string') {\r\n message = msgValue\r\n }\r\n } else if (errorObj['msg'] != null) {\r\n const msgValue = errorObj['msg']\r\n if (typeof msgValue === 'string') {\r\n message = msgValue\r\n }\r\n }\r\n \r\n if (message != '') {\r\n errorMessage = message\r\n }\r\n \r\n // 尝试提取错误码\r\n let code: number = 0\r\n if (errorObj['code'] != null) {\r\n const codeValue = errorObj['code']\r\n if (typeof codeValue === 'number') {\r\n code = codeValue\r\n }\r\n } else if (errorObj['errCode'] != null) {\r\n const codeValue = errorObj['errCode']\r\n if (typeof codeValue === 'number') {\r\n code = codeValue\r\n }\r\n } else if (errorObj['status'] != null) {\r\n const codeValue = errorObj['status']\r\n if (typeof codeValue === 'number') {\r\n code = codeValue\r\n }\r\n }\r\n \r\n if (code != 0) {\r\n errorCode = code\r\n }\r\n }\r\n } catch (e) {\r\n __f__('error','at utils/utils.uts:128','Error converting to UniError:', e)\r\n errorMessage = defaultMessage\r\n }\r\n // 创建标准 UniError\r\n const uniError = new UniError('AppError', errorCode, errorMessage)\r\n return uniError\r\n}\r\n\r\n/**\r\n * 响应式状态管理\r\n * @returns 响应式状态对象\r\n */\r\nexport function responsiveState() {\r\n const screenInfo = uni.getSystemInfoSync()\r\n const screenWidth = screenInfo.screenWidth\r\n \r\n return {\r\n isLargeScreen: screenWidth >= 768,\r\n isSmallScreen: screenWidth < 576,\r\n screenWidth: screenWidth,\r\n cardColumns: screenWidth >= 768 ? 3 : screenWidth >= 576 ? 2 : 1\r\n }\r\n}\r\n\r\nexport function goToLogin(redirectUrl?: string | null) {\r\n try {\r\n const target = redirectUrl != null && redirectUrl.length > 0 ? redirectUrl : ''\r\n if (target.length > 0) {\r\n const redirect = encodeURIComponent(target)\r\n uni.navigateTo({ url: `/pages/user/login?redirect=${redirect}` })\r\n } else {\r\n uni.navigateTo({ url: '/pages/user/login' })\r\n }\r\n } catch (e) {\r\n uni.navigateTo({ url: '/pages/user/login' })\r\n }\r\n}\r\n\r\n/**\r\n * 兼容 UTS Android 的剪贴板写入\r\n * @param text 要写入剪贴板的文本\r\n */\r\nexport function setClipboard(text: string): void {\r\n\r\n\r\n\r\n}\r\n\r\n/**\r\n * 格式化时间,显示为相对时间(如:刚刚,几小时前)\r\n * @param dateStr ISO 格式的日期字符串\r\n * @returns 格式化后的相对时间字符串\r\n */\r\nexport function formatTime(dateStr: string): string {\r\n if (dateStr == '') return ''\r\n try {\r\n const date = new Date(dateStr)\r\n const now = new Date()\r\n const diff = now.getTime() - date.getTime()\r\n const hours = Math.floor(diff / (1000 * 60 * 60))\r\n \r\n if (hours < 1) {\r\n return '刚刚'\r\n } else if (hours < 24) {\r\n return `${hours}小时前`\r\n } else {\r\n return `${Math.floor(hours / 24)}天前`\r\n }\r\n } catch (e) {\r\n __f__('error','at utils/utils.uts:197','formatTime error:', e)\r\n return dateStr.replace('T', ' ').split('.')[0]\r\n }\r\n}\r\n\r\n","import { AkReqResponse, AkReqUploadOptions, AkReq } from '@/uni_modules/ak-req/index.uts'\r\nimport type { AkReqOptions } from '@/uni_modules/ak-req/index.uts'\r\nimport { toUniError } from '@/utils/utils.uts'\r\n\r\nexport type AkSupaSignInResult = {\r\n\taccess_token : string;\r\n\trefresh_token : string;\r\n\texpires_at : number;\r\n\tuser : UTSJSONObject | null;\r\n\ttoken_type ?: string;\r\n\texpires_in ?: number;\r\n\traw : UTSJSONObject;\r\n}\r\n\r\n// Count 选项枚举\r\nexport type CountOption = 'exact' | 'planned' | 'estimated';\r\n\r\n// 定义查询选项类型,兼容 UTS\r\nexport type AkSupaSelectOptions = {\r\n\tlimit ?: number;\r\n\torder ?: string;\r\n\tgetcount ?: string; // 保持向后兼容\r\n\tcount ?: CountOption; // 新增:更清晰的 count 选项\r\n\thead ?: boolean; // 新增:head 模式,只返回元数据\r\n\tcolumns ?: string;\r\n\tsingle ?: boolean; // 新增,支持 single-object\r\n\trangeFrom ?: number; // 新增:range 分页起始位置\r\n\trangeTo ?: number; // 新增:range 分页结束位置\r\n};\r\n\r\n// 新增:order方法参数类型\r\nexport type OrderOptions = {\r\n\tascending ?: boolean;\r\n};\r\n\r\n// 新增类型定义,便于 getSession 返回类型复用\r\nexport type AkSupaSessionInfo = {\r\n\tsession : AkSupaSignInResult | null;\r\n\tuser : UTSJSONObject | null;\r\n};\r\n\r\n// 链式请求构建器\r\n// 强类型条件定义\r\ntype AkSupaCondition = {\r\n\tfield : string; // 已经 encodeURIComponent 过\r\n\top : string;\r\n\tvalue : any;\r\n\tlogic : string; // 'and' | 'or'\r\n};\r\n\r\nexport class AkSupaQueryBuilder {\r\n\tprivate _supa : AkSupa;\r\n\tprivate _table : string;\r\n\tprivate _filter : UTSJSONObject | null = null;\r\n\tprivate _options : AkSupaSelectOptions = {};\r\n\tprivate _values : UTSJSONObject | Array | null = null;\r\n\tprivate _single : boolean = false;\r\n\tprivate _conditions : Array = [];\r\n\tprivate _nextLogic : string = 'and';\r\n\t// 新增:记录当前操作类型\r\n\tprivate _action : 'select' | 'insert' | 'update' | 'delete' | 'rpc' | null = null;\r\n\tprivate _orString : string | null = null; // 新增:支持 or 字符串\r\n\tprivate _rpcFunction : string | null = null;\r\n\tprivate _rpcParams : UTSJSONObject | null = null;\r\n\tprivate _page : number = 1; // 新增:当前页码\r\n\r\n\tconstructor(supa : AkSupa, table : string) {\r\n\t\tthis._supa = supa;\r\n\t\tthis._table = table;\r\n\t}\r\n\r\n\t// 链式条件方法\r\n\teq(field : string, value : any) : AkSupaQueryBuilder { return this._addCond(field, 'eq', value); }\r\n\tneq(field : string, value : any) : AkSupaQueryBuilder { return this._addCond(field, 'neq', value); }\r\n\tgt(field : string, value : any) : AkSupaQueryBuilder { return this._addCond(field, 'gt', value); }\r\n\tgte(field : string, value : any) : AkSupaQueryBuilder { return this._addCond(field, 'gte', value); }\r\n\tlt(field : string, value : any) : AkSupaQueryBuilder { return this._addCond(field, 'lt', value); }\r\n\tlte(field : string, value : any) : AkSupaQueryBuilder { return this._addCond(field, 'lte', value); }\r\n\tlike(field : string, value : any) : AkSupaQueryBuilder { return this._addCond(field, 'like', value); }\r\n\tilike(field : string, value : any) : AkSupaQueryBuilder { return this._addCond(field, 'ilike', value); }\r\n\tin(field : string, value : any[]) : AkSupaQueryBuilder { return this._addCond(field, 'in', value); }\r\n\tis(field : string, value : any | null) : AkSupaQueryBuilder { return this._addCond(field, 'is', value); }\r\n\tcontains(field : string, value : any) : AkSupaQueryBuilder { return this._addCond(field, 'cs', value); }\r\n\tcontainedBy(field : string, value : any) : AkSupaQueryBuilder { return this._addCond(field, 'cd', value); }\r\n\tnot(field : string, opOrValue : any, value: any | null = null) : AkSupaQueryBuilder {\r\n\t\tif (value != null) {\r\n\t\t\t// 三元形式:field, operator, value\r\n\t\t\t// 例如 not('badge', 'is', null) -> badge=not.is.null\r\n\t\t\tconst combinedOp = 'not.' + opOrValue;\r\n\t\t\t// 将 null 转换为字符串 'null',避免构造对象时缺少 value 属性\r\n\t\t\tlet safeValue = value;\r\n\t\t\tif (value === null) {\r\n\t\t\t\tsafeValue = 'null';\r\n\t\t\t}\r\n\t\t\treturn this._addCond(field, combinedOp, safeValue);\r\n\t\t} else {\r\n\t\t\t// 二元形式:field, value\r\n\t\t\tlet safeValue = opOrValue;\r\n\t\t\tif (opOrValue === null) {\r\n\t\t\t\tsafeValue = 'null';\r\n\t\t\t}\r\n\t\t\treturn this._addCond(field, 'not', safeValue);\r\n\t\t}\r\n\t}\r\n\r\n\tand() : AkSupaQueryBuilder { this._nextLogic = 'and'; return this; }\r\n\tor(str ?: string) : AkSupaQueryBuilder {\r\n\t\tif (typeof str == 'string') {\r\n\t\t\tthis._orString = str;\r\n\t\t} else {\r\n\t\t\tthis._nextLogic = 'or';\r\n\t\t}\r\n\t\treturn this;\r\n\t}\r\n\r\n\tprivate _addCond(afield : string, op : string, value : any | null) : AkSupaQueryBuilder {\r\n\t\t//__f__('log','at components/supadb/aksupa.uts:117','add cond:', op, afield, value)\r\n\t\tconst field = encodeURIComponent(afield)!!\r\n\t\t// 将值安全存储,避免安卓端类型转换问题\r\n\t\tlet safeValue: any | null = value;\r\n\t\tif (value === null) {\r\n\t\t\tsafeValue = 'null';\r\n\t\t} else if (Array.isArray(value)) {\r\n\t\t\t// 数组类型保持原样,用于 in 操作符\r\n\t\t\tsafeValue = value;\r\n\t\t} else if (typeof value === 'number') {\r\n\t\t\t// 数字类型保持原样\r\n\t\t\tsafeValue = value;\r\n\t\t} else if (typeof value === 'boolean') {\r\n\t\t\t// 布尔类型保持原样\r\n\t\t\tsafeValue = value;\r\n\t\t} else if (typeof value !== 'string') {\r\n\t\t\t// 其他类型尝试转换为字符串\r\n\t\t\ttry {\r\n\t\t\t\tsafeValue = value.toString();\r\n\t\t\t} catch (e) {\r\n\t\t\t\tsafeValue = '';\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis._conditions.push({ field, op, value: safeValue ?? '', logic: this._nextLogic });\r\n\t\t//__f__('log','at components/supadb/aksupa.uts:141',this._conditions)\r\n\t\tthis._nextLogic = 'and';\r\n\t\treturn this;\r\n\t}\r\n\r\n\t// 支持原有 where 方式\r\n\twhere(filter : UTSJSONObject) : AkSupaQueryBuilder {\r\n\t\tthis._filter = filter;\r\n\t\treturn this;\r\n\t}\r\n\r\n\tpage(page : number) : AkSupaQueryBuilder {\r\n\t\tthis._page = page;\r\n\t\t// 如果已设置 limit,则自动设置 range\r\n\t\tlet limit = 0;\r\n\t\tif (typeof this._options.limit == 'number') {\r\n\t\t\tlimit = this._options.limit ?? 0;\r\n\t\t}\r\n\t\tif (limit > 0) {\r\n\t\t\tconst from = (page - 1) * limit;\r\n\t\t\tconst to = from + limit - 1;\r\n\t\t\tthis.range(from, to);\r\n\t\t}\r\n\t\treturn this;\r\n\t}\r\n\tlimit(limit : number) : AkSupaQueryBuilder {\r\n\t\tthis._options.limit = limit;\r\n\t\t// 总是为 limit 设置对应的 range,确保限制生效\r\n\t\tconst from = (this._page - 1) * limit;\r\n\t\tconst to = from + limit - 1;\r\n\t\tthis.range(from, to);\r\n\t\treturn this;\r\n\t}\r\n\r\n\torder(order : string, options ?: OrderOptions) : AkSupaQueryBuilder {\r\n\t\tif (options != null && options.ascending == false) {\r\n\t\t\tthis._options.order = order + '.desc';\r\n\t\t} else {\r\n\t\t\tthis._options.order = order + '.asc';\r\n\t\t}\r\n\t\treturn this;\r\n\t}\r\n\tcolumns(columns : string) : AkSupaQueryBuilder {\r\n\t\tthis._options.columns = columns;\r\n\t\treturn this;\r\n\t}\r\n\r\n\t// 新增:专门的 count 方法\r\n\tcount(option : CountOption = 'exact') : AkSupaQueryBuilder {\r\n\t\tthis._options.count = option;\r\n\t\tthis._options.head = true; // count 操作默认使用 head 模式\r\n\t\treturn this;\r\n\t}\r\n\r\n\t// 新增:便捷的 count 方法\r\n\tcountExact() : AkSupaQueryBuilder {\r\n\t\treturn this.count('exact');\r\n\t}\r\n\r\n\tcountEstimated() : AkSupaQueryBuilder {\r\n\t\treturn this.count('estimated');\r\n\t}\r\n\r\n\tcountPlanned() : AkSupaQueryBuilder {\r\n\t\treturn this.count('planned');\r\n\t}\r\n\r\n\t// 新增:head 模式方法\r\n\thead(enable : boolean = true) : AkSupaQueryBuilder {\r\n\t\tthis._options.head = enable;\r\n\t\treturn this;\r\n\t}\r\n\r\n\tvalues(values : UTSJSONObject) : AkSupaQueryBuilder {\r\n\t\tthis._values = values;\r\n\t\treturn this;\r\n\t}\r\n\tsingle() : AkSupaQueryBuilder {\r\n\t\tthis._single = true;\r\n\t\treturn this;\r\n\t}\r\n\trange(from : number, to : number) : AkSupaQueryBuilder {\r\n\t\tthis._options.rangeFrom = from;\r\n\t\tthis._options.rangeTo = to;\r\n\t\t//__f__('log','at components/supadb/aksupa.uts:225','设置 range:', from, 'to', to);\r\n\t\treturn this;\r\n\t}\r\n\r\n\t// 辅助函数:安全地将值转换为字符串\r\n\tprivate _valToStr(val: any): string {\r\n\t\tif (val == null) return '';\r\n\t\ttry {\r\n\t\t\t// 尝试直接调用 toString\r\n\t\t\treturn val.toString();\r\n\t\t} catch (e) {\r\n\t\t\ttry {\r\n\t\t\t\t// 尝试 JSON 序列化\r\n\t\t\t\treturn JSON.stringify(val);\r\n\t\t\t} catch (e2) {\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// 将 _conditions 强类型直接转换为 Supabase/PostgREST 查询字符串(不再用 UTSJSONObject 做中转)\r\n\tprivate _buildFilter() : string | null {\r\n\t\tif (this._conditions.length == 0 && (this._orString==null || this._orString == \"\")) {\r\n\t\t\t// 兼容 where(filter) 方式\r\n\t\t\tif (this._filter == null) return null;\r\n\t\t\t// 兼容旧的 UTSJSONObject filter\r\n\t\t\treturn buildSupabaseFilterQuery(this._filter);\r\n\t\t}\r\n\r\n\t\t// 先分组 and/or,全部用 AkSupaCondition 强类型\r\n\t\tconst ands: AkSupaCondition[] = [];\r\n\t\tconst ors: AkSupaCondition[] = [];\r\n\t\tfor (const c of this._conditions) {\r\n\t\t\tif (c.logic == \"or\") {\r\n\t\t\t\tors.push(c);\r\n\t\t\t} else {\r\n\t\t\t\tands.push(c);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst params: string[] = [];\r\n\t\t// 处理 and 条件\r\n\t\tfor (const cond of ands) {\r\n\t\t\tconst k = cond.field;\r\n\t\t\tconst op = cond.op;\r\n\t\t\tconst val = cond.value;\r\n\t\t\tif ((op == 'in' || op == 'not.in') && Array.isArray(val)) {\r\n\t\t\t\tparams.push(`${k}=${op}.(${val.map(x => this._valToStr(x)).map(x => encodeURIComponent(x)).join(',')})`);\r\n\t\t\t} else if ((op == 'is' || op == 'not.is') && (val == null || val == 'null')) {\r\n\t\t\t\tparams.push(`${k}=${op}.null`);\r\n\t\t\t} else if (op == 'like' || op == 'ilike') {\r\n\t\t\t\tparams.push(`${k}=${op}.${this._valToStr(val)}`);\r\n\t\t\t} else {\r\n\t\t\t\tparams.push(`${k}=${op}.${encodeURIComponent(this._valToStr(val))}`);\r\n\t\t\t}\r\n\t\t}\r\n\t\t// 处理 or 条件\r\n\t\tif (ors.length > 0) {\r\n\t\t\tconst orStr = ors.map(o => {\r\n\t\t\t\tconst k = o.field;\r\n\t\t\t\tconst op = o.op;\r\n\t\t\t\tconst val = o.value;\r\n\t\t\t\tif (op == \"in\" && Array.isArray(val)) {\r\n\t\t\t\t\treturn `${k}.in.(${val.map(x => encodeURIComponent(this._valToStr(x))).join(\",\")})`;\r\n\t\t\t\t}\r\n\t\t\t\tif (op == \"is\" && (val == null)) {\r\n\t\t\t\t\treturn `${k}.is.null`;\r\n\t\t\t\t}\r\n\t\t\t\tif (op == \"like\" || op == \"ilike\") {\r\n\t\t\t\t\treturn `${k}.${op}.${this._valToStr(val)}`;\r\n\t\t\t\t}\r\n\t\t\t\treturn `${k}.${op}.${encodeURIComponent(this._valToStr(val))}`;\r\n\t\t\t}).join(\",\");\r\n\t\t\tparams.push(`or=(${orStr})`);\r\n\t\t}\r\n\t\tif (this._orString!=null && this._orString !== \"\") {\r\n\t\t\t__f__('log','at components/supadb/aksupa.uts:301','[AkSupaQueryBuilder] or字符串:', this._orString)\r\n\t\t\tparams.push(`or=(${this._orString!!})`);\r\n\t\t}\r\n\t\treturn params.length > 0 ? params.join('&') : null;\r\n\t}\r\n\r\n\tselect(columns : string = \"*\", opt : UTSJSONObject | null = null) : AkSupaQueryBuilder {\r\n\t\tthis._action = 'select';\r\n\t\tif (columns != null) {\r\n\t\t\tthis._options.columns = columns;\r\n\t\t}\r\n\t\tif (opt != null) {\r\n\t\t\t// 合并 opt 到 this._options\r\n\t\t\tObject.assign(this._options, opt);\r\n\t\t}\r\n\t\treturn this;\r\n\t}\r\n\tinsert(values : UTSJSONObject | Array) : AkSupaQueryBuilder {\r\n\t\tthis._action = 'insert';\r\n\t\t// 检查是否为空\r\n\t\tif (Array.isArray(values)) {\r\n\t\t\tif (values.length == 0) throw toUniError('No values set for insert', 'Insert操作缺少数据');\r\n\t\t} else {\r\n\t\t\tif (UTSJSONObject.keys(values).length == 0) throw toUniError('No values set for insert', 'Insert操作缺少数据');\r\n\t\t}\r\n\t\tthis._values = values;\r\n\t\treturn this;\r\n\t}\r\n\tupdate(values : UTSJSONObject) : AkSupaQueryBuilder {\r\n\t\tthis._action = 'update';\r\n\t\t//__f__('log','at components/supadb/aksupa.uts:331','ak update', this._action)\r\n\t\tif (UTSJSONObject.keys(values).length == 0) throw toUniError('No values set for update', '更新操作缺少数据');\r\n\t\tthis._values = values;\r\n\t\t//__f__('log','at components/supadb/aksupa.uts:334','ak update', values)\r\n\t\treturn this;\r\n\t}\r\n\tdelete() : AkSupaQueryBuilder {\r\n\t\tthis._action = 'delete';\r\n\t\t//__f__('log','at components/supadb/aksupa.uts:339','delete action now')\r\n\t\tconst filter = this._buildFilter();\r\n\t\t//__f__('log','at components/supadb/aksupa.uts:341',filter)\r\n\t\tif (filter == null) throw toUniError('No filter set for delete', '删除操作缺少筛选条件');\r\n\t\t//__f__('log','at components/supadb/aksupa.uts:343','delete action')\r\n\t\treturn this;\r\n\t}\r\n\r\n\trpc(functionName : string, params ?: UTSJSONObject) : AkSupaQueryBuilder {\r\n\t\tthis._action = 'rpc';\r\n\t\tthis._rpcFunction = functionName;\r\n\t\tthis._rpcParams = params;\r\n\t\treturn this;\r\n\t}\r\n\t// 链式请求最终执行方法 - 返回 UTSJSONObject\r\n\tasync execute() : Promise> {\r\n\t\t//__f__('log','at components/supadb/aksupa.uts:355','execute')\r\n\t\tconst filter = this._buildFilter();\r\n\t\t__f__('log','at components/supadb/aksupa.uts:357','[AkSupaQueryBuilder] execute - 表:', this._table, 'filter:', filter)\r\n\t\tlet res : any;\r\n\t\tswitch (this._action) {\r\n\t\t\tcase 'select': {\r\n\t\t\t\t// 传递 single 状态到 options\r\n\t\t\t\tif (this._single) {\r\n\t\t\t\t\tthis._options.single = true;\r\n\t\t\t\t\t// 如果是 single 请求,自动设置 limit 为 1\r\n\t\t\t\t\tif (this._options.limit == null) {\r\n\t\t\t\t\t\tthis._options.limit = 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//__f__('log','at components/supadb/aksupa.uts:368',this._options)\r\n\t\t\t\t}\t\t\t\t// 保证分页统计\r\n\t\t\t\tif (this._options.limit != null) {\r\n\t\t\t\t\tif (this._options.getcount == null && this._options.count == null) {\r\n\t\t\t\t\t\tthis._options.count = 'exact'; // 优先使用新的 count 选项\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tres = await this._supa.select(this._table, filter, this._options);\r\n\t\t\t\t// 解析 content-range header\r\n\t\t\t\tlet total = 0;\r\n\t\t\t\tlet hasmore = false;\r\n\t\t\t\tconst page = this._page;\r\n\t\t\t\tlet resdata = res.data\r\n\t\t\t\tlet limit = 0;\r\n\t\t\t\tif (typeof this._options.limit == 'number') {\r\n\t\t\t\t\tlimit = this._options.limit ?? 0;\r\n\t\t\t\t} else if (Array.isArray(resdata)) {\r\n\t\t\t\t\tlimit = resdata.length;\r\n\t\t\t\t}\r\n\t\t\t\tlet contentRange : string | null = null;\r\n\t\t\t\tif (res.headers != null) {\r\n\t\t\t\t\tlet theheader = res.headers as UTSJSONObject\r\n\t\t\t\t\tif (typeof theheader.get == 'function') {\r\n\r\n\t\t\t\t\t\tcontentRange = theheader.get('content-range') as string | null;\r\n\t\t\t\t\t} else if (typeof theheader['content-range'] == 'string') {\r\n\t\t\t\t\t\tcontentRange = theheader['content-range'] as string;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (contentRange != null) {\r\n\t\t\t\t\tconst match = /\\/(\\d+)$/.exec(contentRange);\r\n\t\t\t\t\tif (match != null) {\r\n\t\t\t\t\t\ttotal = parseInt(match[1] ?? \"0\");\r\n\t\t\t\t\t\thasmore = (page * limit) < total;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (total == 0) {\r\n\t\t\t\t\t// 使用 JSON 序列化访问 res 对象\r\n\t\t\t\t\tconst resStr = JSON.stringify(res)\r\n\t\t\t\t\tconst resParsed = JSON.parse(resStr)\r\n\t\t\t\t\tif (resParsed != null) {\r\n\t\t\t\t\t\tconst resObj = resParsed as UTSJSONObject\r\n\t\t\t\t\t\tconst countVal = resObj.getNumber('count')\r\n\t\t\t\t\t\tif (countVal != null) {\r\n\t\t\t\t\t\t\ttotal = countVal\r\n\t\t\t\t\t\t} else if (Array.isArray(resdata)) {\r\n\t\t\t\t\t\t\ttotal = resdata.length\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\ttotal = 0\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (Array.isArray(resdata)) {\r\n\t\t\t\t\t\ttotal = resdata.length\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttotal = 0\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (!hasmore) hasmore = (page * limit) < total;\t\t\t\t// 如果是 head 模式,只返回 count 信息\r\n\t\t\t\tif (this._options.head == true) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdata: null, // head 模式不返回数据\r\n\t\t\t\t\t\ttotal,\r\n\t\t\t\t\t\tpage,\r\n\t\t\t\t\t\tlimit,\r\n\t\t\t\t\t\thasmore: false, // head 模式不需要分页信息\r\n\t\t\t\t\t\torigin: res,\r\n\t\t\t\t\t\tstatus: res.status,\r\n\t\t\t\t\t\theaders: res.headers,\r\n\t\t\t\t\t\terror: res.error\r\n\t\t\t\t\t} as AkReqResponse;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tdata: res.data,\r\n\t\t\t\t\ttotal,\r\n\t\t\t\t\tpage,\r\n\t\t\t\t\tlimit,\r\n\t\t\t\t\thasmore,\r\n\t\t\t\t\torigin: res,\r\n\t\t\t\t\tstatus: res.status,\r\n\t\t\t\t\theaders: res.headers,\r\n\t\t\t\t\terror: res.error\r\n\t\t\t\t} as AkReqResponse;\r\n\t\t\t}\r\n\t\t\tcase 'insert': {\r\n\t\t\t\tconst insertValues = this._values;\r\n\t\t\t\tif (insertValues == null) throw toUniError('No values set for insert', '插入操作缺少数据');\r\n\t\t\t\tres = await this._supa.insert(this._table, insertValues);\r\n\t\t\t\tbreak;\r\n\t\t\t} case 'update': {\r\n\t\t\t\tconst updateValues = this._values;\r\n\t\t\t\tif (updateValues == null) throw toUniError('No values set for update', '更新操作缺少数据');\r\n\t\t\t\tif (filter == null) throw toUniError('No filter set for update', '更新操作缺少筛选条件');\r\n\t\t\t\t// Update操作只支持单个对象,不支持数组\r\n\t\t\t\tif (Array.isArray(updateValues)) throw toUniError('Update does not support array values', '更新操作不支持数组数据');\r\n\t\t\t\tres = await this._supa.update(this._table, filter, updateValues as UTSJSONObject);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase 'delete': {\r\n\t\t\t\tif (filter == null) throw toUniError('No filter set for delete', '删除操作缺少筛选条件');\r\n\t\t\t\tres = await this._supa.delete(this._table, filter);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase 'rpc': {\r\n\t\t\t\tif (this._rpcFunction == null) throw toUniError('No RPC function specified', 'RPC调用缺少函数名');\r\n\t\t\t\tres = await this._supa.rpc(this._rpcFunction as string, this._rpcParams);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\tres = await this._supa.select(this._table, filter, this._options);\r\n\t\t\t}\r\n\t\t}\r\n\t\t// 保证 data 字段存在(不能赋null,赋空对象或空字符串)\r\n\t\tif (res[\"data\"] == null) res[\"data\"] = {};\r\n\t\treturn res;\r\n\t}\t// 新增:支持类型转换的执行方法\r\n\tasync executeAs() : Promise> {\r\n\t\tconst result = await this.execute();\r\n\r\n\t\tif (result.data == null) {\r\n\t\t\treturn result as AkReqResponse;\r\n\t\t}\r\n\r\n\t\tlet convertedData : any | null = null;\r\n\r\n\t\ttry {\r\n\t\t\tif (Array.isArray(result.data)) {\r\n\t\t\t\tconst dataArray = result.data;\r\n\t\t\t\tconst convertedArray : Array = [];\r\n\t\t\t\tfor (let i = 0; i < dataArray.length; i++) {\r\n\t\t\t\t\tconst item = dataArray[i];\r\n\t\t\t\t\tif (item instanceof UTSJSONObject) {\r\n\r\n\t\t\t\t\t\tconst parsed = item.parse();\r\n\r\n\r\n\r\n\r\n\t\t\t\t\t\tif (parsed != null) {\r\n\t\t\t\t\t\t\tconvertedArray.push(parsed);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t__f__('warn','at components/supadb/aksupa.uts:508','转换失败,使用原始对象:', item);\r\n\t\t\t\t\t\t\tconvertedArray.push(item);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst jsonObj = new UTSJSONObject(item);\r\n\r\n\t\t\t\t\t\tconst parsed = jsonObj.parse();\r\n\r\n\r\n\r\n\r\n\t\t\t\t\t\tif (parsed != null) {\r\n\t\t\t\t\t\t\tconvertedArray.push(parsed);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t__f__('warn','at components/supadb/aksupa.uts:523','转换失败,使用原始对象:', item);\r\n\t\t\t\t\t\t\tconvertedArray.push(item);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tconvertedData = convertedArray;\r\n\r\n\t\t\t} else {\r\n\t\t\t\tconst convertedArray : Array = [];\r\n\t\t\t\tif (result.data instanceof UTSJSONObject) {\r\n\t\t\t\t\tconst parsed = result.data.parse();\r\n\r\n\t\t\t\t\tif (parsed != null) {\r\n\t\t\t\t\t\tconvertedArray.push(parsed);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t//__f__('log','at components/supadb/aksupa.uts:539','转换失败:', result.data)\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst jsonObj = new UTSJSONObject(result.data);\r\n\t\t\t\t\tconst parsed = jsonObj.parse();\r\n\t\t\t\t\tif (parsed != null) {\r\n\t\t\t\t\t\tconvertedArray.push(parsed);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t//__f__('log','at components/supadb/aksupa.uts:548','转换失败:', result.data)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tconvertedData = convertedArray;\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\t__f__('warn','at components/supadb/aksupa.uts:554','数据类型转换失败,使用原始数据:', e);\r\n\t\t\t__f__('log','at components/supadb/aksupa.uts:555',result.data)\r\n\t\t\tconvertedData = result.data as any;\r\n\t\t}\r\n\t\tresult.data = convertedData\r\n\t\treturn result as AkReqResponse;\r\n\r\n\t}\r\n}\r\n\r\n// 新增:链式 Storage 上传\r\nexport class AkSupaStorageUploadBuilder {\r\n\tprivate _supa : AkSupa;\r\n\tprivate _bucket : string = '';\r\n\tprivate _path : string = '';\r\n private _file : string = '';\r\n\tprivate _options : UTSJSONObject = {};\r\n\r\n\tconstructor(supa : AkSupa, bucket : string) {\r\n\t\tthis._supa = supa;\r\n\t\tthis._bucket = bucket;\r\n\t}\r\n\r\n\tpath(path : string) : AkSupaStorageUploadBuilder {\r\n\t\tthis._path = path;\r\n\t\treturn this;\r\n\t}\r\n\r\n file(file : string) : AkSupaStorageUploadBuilder {\r\n\t\tthis._file = file;\r\n\t\treturn this;\r\n\t}\r\n\r\n\toptions(options : UTSJSONObject) : AkSupaStorageUploadBuilder {\r\n\t\tthis._options = options;\r\n\t\treturn this;\r\n\t}\r\n\tasync upload() : Promise> {\r\n if (this._bucket == '' || this._path == '' || this._file == '') {\r\n\t\t\tthrow toUniError('bucket, path, file are required', '上传文件缺少必要参数');\r\n\t\t}\r\n\t\tconst url = `${this._supa.baseUrl}/storage/v1/object/${this._bucket}/${this._path}`;\r\n\t\tconst apikey = this._supa.apikey;\r\n\t\t// 适配 uni.uploadFile\r\n\t\tconst uploadOptions : AkReqUploadOptions = {\r\n\t\t\turl,\r\n\t\t\tfilePath: this._file, // 这里假设 file 是本地路径\r\n\t\t\tname: 'file', // 默认字段名\r\n\t\t\theaders: {},\r\n\t\t\tapikey,\r\n\t\t\tformData: this._options\r\n\t\t};\r\n\t\treturn await AkReq.upload(uploadOptions);\r\n\t}\r\n}\r\n\r\n// 新增:明确的 StorageBucket 类,支持链式 upload\r\nclass AkSupaStorageBucket {\r\n\tprivate supa : AkSupa;\r\n\tprivate bucket : string;\r\n\tconstructor(supa : AkSupa, bucket : string) {\r\n\t\tthis.supa = supa;\r\n\t\tthis.bucket = bucket;\r\n\t}\r\n\tasync upload(path : string, filePath : string, options ?: UTSJSONObject) : Promise> {\r\n\t\tconst url = `${this.supa.baseUrl}/storage/v1/object/${this.bucket}/${path}`;\r\n\t\tlet headers : UTSJSONObject = { apikey: this.supa.apikey };\r\n\t\tconst formData : UTSJSONObject = {};\r\n\t\tif (options != null && typeof options == 'object') {\r\n\t\t\tif (typeof options.get == 'function' && options.get('x-upsert') != null) {\r\n\t\t\t\theaders['x-upsert'] = options.get('x-upsert');\r\n\t\t\t}\r\n\t\t\tconst keys = UTSJSONObject.keys(options);\r\n\t\t\tfor (let i = 0; i < keys.length; i++) {\r\n\t\t\t\tconst k = keys[i];\r\n\t\t\t\tif (k != 'x-upsert') formData[k] = options.get(k);\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst token = AkReq.getToken();\r\n\t\tif (token != null && !(token == '')) {\r\n\t\t\theaders['Authorization'] = `Bearer ${token}`;\r\n\t\t}\r\n\t\treturn await AkReq.upload({\r\n\t\t\turl,\r\n\t\t\tfilePath,\r\n\t\t\tname: 'file',\r\n\t\t\tapikey: this.supa.apikey,\r\n\t\t\tformData,\r\n\t\t\theaders\r\n\t\t});\r\n\t}\r\n}\r\n\r\nexport class AkSupaStorageApi {\r\n\tprivate _supa : AkSupa;\r\n\tconstructor(supa : AkSupa) {\r\n\t\tthis._supa = supa;\r\n\t}\r\n\tfrom(bucket : string) : AkSupaStorageBucket {\r\n\t\treturn new AkSupaStorageBucket(this._supa, bucket);\r\n\t}\r\n}\r\n\r\nexport class AkSupa {\r\n\tbaseUrl : string;\r\n\tapikey : string;\r\n\tsession : AkSupaSignInResult | null = null;\r\n\tuser : UTSJSONObject | null = null;\r\n\tstorage : AkSupaStorageApi;\r\n\r\n\tconstructor(baseUrl : string, apikey : string) {\r\n\t\tthis.baseUrl = baseUrl;\r\n\t\tthis.apikey = apikey;\r\n\t\tthis.storage = new AkSupaStorageApi(this);\r\n\t\t// [CHANGE][2026-01-30] hydrate user/session from persisted token (see docs: components/supadb/docs/CHANGELOG.md)\r\n\t\ttry {\r\n\t\t\tthis.hydrateSessionFromStorage();\r\n\t\t} catch (e) {\r\n\t\t\t// ignore\r\n\t\t}\r\n\t}\r\n\r\n\t// [CHANGE][2026-01-30] hydrate user from /auth/v1/user when token exists in storage\r\n\tasync hydrateSessionFromStorage() : Promise {\r\n\t\ttry {\r\n\t\t\tconst token = AkReq.getToken();\r\n\t\t\tif (token == null || token == '') return false;\r\n\t\t\tconst res = await AkReq.request({\r\n\t\t\t\turl: this.baseUrl + '/auth/v1/user',\r\n\t\t\t\tmethod: 'GET',\r\n\t\t\t\theaders: {\r\n\t\t\t\t\tapikey: this.apikey,\r\n\t\t\t\t\tAuthorization: `Bearer ${token}`,\r\n\t\t\t\t\t'Content-Type': 'application/json'\r\n\t\t\t\t} as UTSJSONObject\r\n\t\t\t}, false);\r\n\t\t\tconst status = res.status ?? 0;\r\n\t\t\tif (!(status >= 200 && status < 400)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tlet user: UTSJSONObject | null = null;\r\n\t\t\ttry {\r\n\t\t\t\tuser = new UTSJSONObject(res.data);\r\n\t\t\t} catch (e) {\r\n\t\t\t\tuser = null;\r\n\t\t\t}\r\n\t\t\tif (user == null) return false;\r\n\t\t\tthis.user = user;\r\n\t\t\t// 仅补齐最小 session 结构,供 getSession / UI 判断登录态使用\r\n\t\t\tif (this.session == null) {\r\n\t\t\t\tthis.session = {\r\n\t\t\t\t\taccess_token: token,\r\n\t\t\t\t\trefresh_token: AkReq.getRefreshToken() ?? '',\r\n\t\t\t\t\texpires_at: AkReq.getExpiresAt() ?? 0,\r\n\t\t\t\t\tuser: user,\r\n\t\t\t\t\ttoken_type: 'bearer',\r\n\t\t\t\t\texpires_in: 0,\r\n\t\t\t\t\traw: user\r\n\t\t\t\t} as AkSupaSignInResult;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t} catch (e) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\tasync resetPassword(email : string) : Promise {\r\n\t\tconst res = await AkReq.request({\r\n\t\t\turl: this.baseUrl + '/auth/v1/recover',\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders: {\r\n\t\t\t\tapikey: this.apikey,\r\n\t\t\t\t'Content-Type': 'application/json'\r\n\t\t\t} as UTSJSONObject,\r\n\t\t\tdata: { email } as UTSJSONObject,\r\n\t\t\tcontentType: 'application/json'\r\n\t\t}, false);\r\n\r\n\t\t// Supabase returns 200 when the reset email is sent successfully\r\n\t\treturn res.status == 200;\r\n\t}\r\n\tasync signOut() {\r\n\t\tthis.session = null\r\n\t\tthis.user = null\r\n\t}\r\n\tasync signIn(email : string, password : string) : Promise {\r\n\t\t// 提前检查 apikey 配置是否为占位符,避免发送无效请求导致 401\r\n\t\tif (this.apikey == null || this.apikey.trim() === '' || this.apikey === 'your-anon-key') {\r\n\t\t\tthrow new Error('Supabase 配置错误:请在 ak/config.uts 中设置 SUPA_KEY(当前为占位符)');\r\n\t\t}\r\n\t\tconst headers = new UTSJSONObject()\r\n\t\theaders.set('apikey', this.apikey)\r\n\t\theaders.set('Content-Type', 'application/json')\r\n\t\tconst reqData = new UTSJSONObject()\r\n\t\treqData.set('email', email)\r\n\t\treqData.set('password', password)\r\n\t\tconst res = await AkReq.request({\r\n\t\t\turl: this.baseUrl + '/auth/v1/token?grant_type=password',\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders: headers,\r\n\t\t\tdata: reqData,\r\n\t\t\tcontentType: 'application/json'\r\n\t\t}, false);\r\n\t\t// 如果响应不是 2xx(例如 401),提取后端错误信息并抛出,便于上层显示具体原因\r\n\t\tconst status = res.status ?? 0;\r\n\t\tif (!(status >= 200 && status < 400)) {\r\n\t\t\tlet msg = 'user.login.login_failed';\r\n\t\t\ttry {\r\n\t\t\t\tif (res.data != null) {\r\n\t\t\t\t\tconst obj = new UTSJSONObject(res.data);\r\n\t\t\t\t\tconst rawMsg = obj.getString('message') ?? obj.getString('error') ?? obj.getString('msg') ?? obj.getString('description') ?? obj.getString('error_description') ?? '';\r\n\t\t\t\t\t\r\n\t\t\t\t\t// 核心修复:在这里拦截英文错误并转换为中文\r\n\t\t\t\t\tif (rawMsg.includes('Invalid login credentials')) {\r\n\t\t\t\t\t\tmsg = '用户名或密码错误';\r\n\t\t\t\t\t} else if (rawMsg != '') {\r\n\t\t\t\t\t\tmsg = rawMsg;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} catch (e) {\r\n\t\t\t\t// ignore\r\n\t\t\t}\r\n\t\t\tthrow new Error(msg);\r\n\t\t}\r\n\t\t// 解析成功的返回体\r\n\t\tlet data: UTSJSONObject;\r\n\t\ttry {\r\n\t\t\tdata = new UTSJSONObject(res.data);\r\n\t\t} catch (e) {\r\n\t\t\tdata = new UTSJSONObject({});\r\n\t\t}\r\n\t\tconst access_token = data.getString('access_token') ?? '';\r\n\t\tconst refresh_token = data.getString('refresh_token') ?? '';\r\n\t\tconst expires_at = data.getNumber('expires_at') ?? 0;\r\n\t\tconst user = data.getJSON('user');\r\n\t\tAkReq.setToken(access_token, refresh_token, expires_at);\r\n\t\tconst session : AkSupaSignInResult = {\r\n\t\t\taccess_token: access_token,\r\n\t\t\trefresh_token: refresh_token,\r\n\t\t\texpires_at: expires_at,\r\n\t\t\tuser: user,\r\n\t\t\ttoken_type: data.getString('token_type') ?? '',\r\n\t\t\texpires_in: data.getNumber('expires_in') ?? 0,\r\n\t\t\traw: data\r\n\t\t};\r\n\t\tthis.session = session;\r\n\t\tthis.user = user;\r\n\t\treturn session;\r\n\t}\r\n\r\n\t/**\r\n\t * 获取当前 session 和 user\r\n\t */\r\n\tgetSession() : AkSupaSessionInfo {\r\n\t\treturn {\r\n\t\t\tsession: this.session,\r\n\t\t\tuser: this.user\r\n\t\t};\r\n\t}\r\n\r\n\tasync signUp(email : string, password : string, options : UTSJSONObject | null = null) : Promise {\r\n\t\tconst headers = new UTSJSONObject()\r\n\t\theaders.set('apikey', this.apikey)\r\n\t\theaders.set('Content-Type', 'application/json')\r\n\t\tconst data = new UTSJSONObject()\r\n\t\tdata.set('email', email)\r\n\t\tdata.set('password', password)\r\n\t\t\r\n\t\tif (options != null) {\r\n\t\t\tconst dataField = options.getJSON('data')\r\n\t\t\tif (dataField != null) {\r\n\t\t\t\tdata.set('data', dataField)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst res = await AkReq.request({\r\n\t\t\turl: this.baseUrl + '/auth/v1/signup',\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders: headers,\r\n\t\t\tdata: data,\r\n\t\t\tcontentType: 'application/json'\r\n\t\t}, false);\r\n\t\treturn res.data as UTSJSONObject;\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * 查询表数据(GET方式,支持多条件、limit等,filter自动转为supabase风格query)\r\n\t * filter 支持:\r\n\t * { usr_id: { lt: 800 }, name: { ilike: '%foo%' }, status: 'active', age: { gte: 18, lte: 30 } }\r\n\t * 操作符支持 eq, neq, lt, lte, gt, gte, like, ilike, in, is, not, contains, containedBy, range, fts, plfts, phfts, wfts\r\n\t */\r\nasync select(table : string, filter ?: string | null, options ?: AkSupaSelectOptions) : Promise> {\r\n\tlet url = this.baseUrl + '/rest/v1/' + table;\r\n\tlet headers = new UTSJSONObject()\r\n\theaders.set('apikey', this.apikey)\r\n\theaders.set('Content-Type', 'application/json')\r\n\theaders.set('Authorization', `Bearer ${AkReq.getToken() ?? ''}`)\r\n\tlet params : string[] = [];\r\n\tif (options != null) {\r\n\t\tif (options.columns != null && !(options.columns == \"\")) params.push('select=' + encodeURIComponent(options.columns ?? \"\"));\r\n\t\tif (options.limit != null) {\r\n\t\t\tparams.push('limit=' + options.limit);\r\n\t\t\t//__f__('log','at components/supadb/aksupa.uts:857','设置 limit 参数:', options.limit);\r\n\t\t}\r\n\t\tif (options.order != null && !(options.order == \"\")) params.push('order=' + encodeURIComponent(options.order ?? \"\"));\r\n\t\tif (options.rangeFrom != null && options.rangeTo != null) {\r\n\t\t\theaders['Range'] = `${options.rangeFrom}-${options.rangeTo}`;\r\n\t\t\theaders['Range-Unit'] = 'items';\r\n\t\t\t//__f__('log','at components/supadb/aksupa.uts:863','设置 Range 头部:', `${options.rangeFrom}-${options.rangeTo}`);\r\n\t\t}\r\n\r\n\t\t// 向后兼容:支持旧的 getcount 参数\r\n\t\tlet countOption = options.count ?? options.getcount;\r\n\t\tif (countOption != null) {\r\n\t\t\theaders['Prefer'] = `count=${countOption}`;\r\n\t\t}\r\n\t\t// 新增:head 模式支持\r\n\t\tif (options.head == true) {\r\n\t\t\t//__f__('log','at components/supadb/aksupa.uts:873','使用 head 模式,只返回元数据');\r\n\t\t\t// HEAD 请求用于只获取 count,不返回数据\r\n\t\t\tif (headers['Prefer'] != null) {\r\n\t\t\t\theaders['Prefer'] = (headers['Prefer'] as string) + ',return=minimal';\r\n\t\t\t} else {\r\n\t\t\t\theaders['Prefer'] = 'return=minimal';\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (options.single == true) {\r\n\t\t\t//__f__('log','at components/supadb/aksupa.uts:883','使用 single() 模式');\r\n\t\t\tif (headers['Prefer'] != null) {\r\n\t\t\t\theaders['Prefer'] = (headers['Prefer'] as string) + ',return=representation,single-object';\r\n\t\t\t} else {\r\n\t\t\t\theaders['Prefer'] = 'return=representation,single-object';\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t// 确保有 select 参数\r\n\t\tif (options.columns == null) {\r\n\t\t\tparams.push('select=*');\r\n\t\t} else if (options.columns == \"\") {\r\n\t\t\tparams.push('select=*');\r\n\t\t}\r\n\t} else {\r\n\t\tparams.push('select=*');\r\n\t}\r\n\t// 直接用 string filter\r\n\tif (filter!=null && filter !== \"\") {\r\n\t\tparams.push(filter!!);\r\n\t}\r\n\tif (params.length > 0) {\r\n\t\turl += '?' + params.join('&');\r\n\t}\r\n\r\n\t//__f__('log','at components/supadb/aksupa.uts:908',url)\r\n\r\n\t// 确定HTTP方法:如果是head模式,使用HEAD方法\r\n\tlet httpMethod: 'GET' | 'HEAD' = 'GET';\r\n\tif (options != null && options.head == true) {\r\n\t\thttpMethod = 'HEAD';\r\n\t\t//__f__('log','at components/supadb/aksupa.uts:914','使用 HEAD 方法进行 count 查询');\r\n\t}\r\n\r\n\tlet reqOptions : AkReqOptions = {\r\n\t\turl,\r\n\t\tmethod: httpMethod,\r\n\t\theaders\r\n\t};\r\n\treturn await this.requestWithAutoRefresh(reqOptions);\r\n}\r\n\r\nasync select_uts(table : string, filter ?: UTSJSONObject | null, options ?: AkSupaSelectOptions) : Promise> {\r\n\tconst filter_str = buildSupabaseFilterQuery(filter)\r\n\treturn this.select(table,filter_str,options)\r\n}\r\n\t/**\r\n\t * 插入表数据\r\n\t * @param table 表名\r\n\t * @param row 插入对象\r\n\t * @returns 插入结果\r\n\t */\r\n\tasync insert(table : string, row : UTSJSONObject | Array) : Promise> {\r\n\t\tconst url = this.baseUrl + '/rest/v1/' + table;\r\n\t\tconst headers = new UTSJSONObject()\r\n\t\theaders.set('apikey', this.apikey)\r\n\t\theaders.set('Content-Type', 'application/json')\r\n\t\theaders.set('Authorization', `Bearer ${AkReq.getToken() ?? ''}`)\r\n\t\theaders.set('Prefer', 'return=representation')\r\n\r\n\t\tlet reqOptions : AkReqOptions = {\r\n\t\t\turl,\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders,\r\n\t\t\tdata: row,\r\n\t\t\tcontentType: 'application/json'\r\n\t\t};\r\n\t\treturn await this.requestWithAutoRefresh(reqOptions);\r\n\t}\r\n\r\n\t/**\r\n\t * 更新表数据\r\n\t * @param table 表名\r\n\t * @param filter 过滤条件对象\r\n\t * @param values 更新内容对象\r\n\t * @returns 更新结果\r\n\t */\r\nasync update(table : string, filter : string | null, values : UTSJSONObject) : Promise> {\r\n\tlet url = this.baseUrl + '/rest/v1/' + table;\r\n\tif (filter!=null && filter !== \"\") {\r\n\t\turl += '?' + filter;\r\n\t}\r\n\tconst headers = new UTSJSONObject()\r\n\theaders.set('apikey', this.apikey)\r\n\theaders.set('Content-Type', 'application/json')\r\n\theaders.set('Authorization', `Bearer ${AkReq.getToken() ?? ''}`)\r\n\theaders.set('Prefer', 'return=representation')\r\n\tlet reqOptions : AkReqOptions = {\r\n\t\turl,\r\n\t\tmethod: 'PATCH',\r\n\t\theaders,\r\n\t\tdata: values,\r\n\t\tcontentType: 'application/json'\r\n\t};\r\n\treturn await this.requestWithAutoRefresh(reqOptions);\r\n}\r\n\r\n\t/**\r\n\t * 删除表数据\r\n\t * @param table 表名\r\n\t * @param filter 过滤条件对象\r\n\t * @returns 删除结果\r\n\t */\r\nasync delete(table : string, filter : string | null) : Promise> {\r\n\tlet url = this.baseUrl + '/rest/v1/' + table;\r\n\tif (filter!=null && filter !== \"\") {\r\n\t\turl += '?' + filter;\r\n\t}\r\n\tconst headers = new UTSJSONObject()\r\n\theaders.set('apikey', this.apikey)\r\n\theaders.set('Content-Type', 'application/json')\r\n\theaders.set('Authorization', `Bearer ${AkReq.getToken() ?? ''}`)\r\n\theaders.set('Prefer', 'return=representation')\r\n\tlet reqOptions : AkReqOptions = {\r\n\t\turl,\r\n\t\tmethod: 'DELETE',\r\n\t\theaders,\r\n\t\tcontentType: 'application/json'\r\n\t};\r\n\treturn await this.requestWithAutoRefresh(reqOptions);\r\n}\r\n\r\n\t/**\r\n\t * 调用 Supabase/PostgREST RPC (function)\r\n\t * @param functionName 函数名\r\n\t * @param params 参数对象\r\n\t * @returns AkReqResponse\r\n\t */\r\n\tasync rpc(functionName : string, params ?: UTSJSONObject) : Promise> {\r\n\t\tconst url = this.baseUrl + '/rest/v1/rpc/' + functionName;\r\n\t\tconst headers = new UTSJSONObject()\r\n\t\theaders.set('apikey', this.apikey)\r\n\t\theaders.set('Content-Type', 'application/json')\r\n\t\theaders.set('Authorization', `Bearer ${AkReq.getToken() ?? ''}`)\r\n\t\tlet reqOptions : AkReqOptions = {\r\n\t\t\turl,\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders,\r\n\t\t\tdata: params ?? new UTSJSONObject(),\r\n\t\t\tcontentType: 'application/json'\r\n\t\t};\r\n\t\treturn await this.requestWithAutoRefresh(reqOptions);\r\n\t}\r\n\t/**\r\n\t * 兼容 supabase-js 风格\r\n\t * @param tableName 表名\r\n\t */\r\n\tfrom(tableName : string) : AkSupaQueryBuilder {\r\n\t\treturn new AkSupaQueryBuilder(this, tableName);\r\n\t}\r\n\r\n /**\r\n * 创建实时订阅通道 (兼容 Supabase Realtime 接口,目前使用轮询模拟)\r\n * @param topic 通道名称,如 public:table\r\n */\r\n channel(topic: string): AkSupaRealtimeChannel {\r\n return new AkSupaRealtimeChannel(this, topic);\r\n }\r\n \r\n /**\r\n * 移除通道\r\n */\r\n removeChannel(channel: AkSupaRealtimeChannel): Promise {\r\n channel.unsubscribe();\r\n return Promise.resolve('ok');\r\n }\r\n\t// AkSupa类内新增:自动刷新session\r\n\tasync refreshSession() : Promise {\r\n\t\tif (this.session == null || this.session?.refresh_token == null) return false;\r\n\t\ttry {\r\n\t\t\tconst headers = new UTSJSONObject()\r\n\t\t\theaders.set('apikey', this.apikey)\r\n\t\t\theaders.set('Content-Type', 'application/json')\r\n\t\t\tconst data = new UTSJSONObject()\r\n\t\t\tdata.set('refresh_token', this.session?.refresh_token)\r\n\t\t\tconst res = await AkReq.request({\r\n\t\t\t\turl: this.baseUrl + '/auth/v1/token?grant_type=refresh_token',\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\theaders: headers,\r\n\t\t\t\tdata: data,\r\n\t\t\t\tcontentType: 'application/json'\r\n\t\t\t}, false);\r\n\t\t\tif (res.status == 200 && (res.data != null)) {\r\n\t\t\t\tconst data = res.data as UTSJSONObject;\r\n\t\t\t\tconst access_token = data.getString('access_token') ?? '';\r\n\t\t\t\tconst refresh_token = data.getString('refresh_token') ?? '';\r\n\t\t\t\tconst expires_at = data.getNumber('expires_at') ?? 0;\r\n\t\t\t\tconst user = data.getJSON('user');\r\n\t\t\t\tthis.session = {\r\n\t\t\t\t\taccess_token,\r\n\t\t\t\t\trefresh_token,\r\n\t\t\t\t\texpires_at,\r\n\t\t\t\t\tuser,\r\n\t\t\t\t\ttoken_type: data.getString('token_type') ?? '',\r\n\t\t\t\t\texpires_in: data.getNumber('expires_in') ?? 0,\r\n\t\t\t\t\traw: data\r\n\t\t\t\t};\r\n\t\t\t\tthis.user = user;\r\n\t\t\t\t// 更新本地token\r\n\t\t\t\tAkReq.setToken(access_token, refresh_token, expires_at);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t} catch (e) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\tasync updateUserMetadata(metadata: UTSJSONObject): Promise {\r\n\t\tconst headers = new UTSJSONObject()\r\n\t\theaders.set('apikey', this.apikey)\r\n\t\theaders.set('Content-Type', 'application/json')\r\n\t\theaders.set('Authorization', `Bearer ${AkReq.getToken() ?? ''}`)\r\n\t\tconst data = new UTSJSONObject()\r\n\t\tdata.set('data', metadata)\r\n\t\tconst res = await AkReq.request({\r\n\t\t\turl: this.baseUrl + '/auth/v1/user',\r\n\t\t\tmethod: 'PUT',\r\n\t\t\theaders: headers,\r\n\t\t\tdata: data,\r\n\t\t\tcontentType: 'application/json'\r\n\t\t}, false);\r\n\t\treturn res.data as UTSJSONObject;\r\n\t}\r\n\r\n\t// AkSupa类内新增:自动刷新封装\r\n\tasync requestWithAutoRefresh(reqOptions : AkReqOptions, isRetry = false) : Promise> {\r\n\t\tlet res = await AkReq.request(reqOptions, false);\r\n\t\t// JWT过期:Supabase风格\r\n\t\tconst isJwtExpired = (res.status == 401); //res != null && res.data != null && typeof res.data == 'object' && (res.data as UTSJSONObject)?.getString('code') == 'PGRST301';\r\n\t\t// 401未授权\r\n\t\tconst isUnauthorized = (res.status == 401);\r\n\t\tif ((isJwtExpired || isUnauthorized) && !isRetry) {\r\n\t\t\tconst ok = await this.refreshSession();\r\n\t\t\tif (ok) {\r\n\t\t\t\tlet headers = reqOptions.headers\r\n\t\t\t\tif (headers == null) {\r\n\t\t\t\t\theaders = new UTSJSONObject()\r\n\t\t\t\t}\r\n\t\t\t\tif (typeof headers.set == 'function') {\r\n\t\t\t\t\theaders.set('Authorization', `Bearer ${AkReq.getToken() ?? ''}`)\r\n\t\t\t\t\treqOptions.headers = headers\r\n\t\t\t\t}\r\n\r\n\t\t\t\tres = await AkReq.request(reqOptions, false);\r\n\t\t\t} else {\r\n\t\t\t\tuni.removeStorageSync('user_id');\r\n\t\t\t\tuni.removeStorageSync('token');\r\n\r\n\t\t\t\t//uni.reLaunch({ url: '/pages/user/login' });\r\n __f__('log','at components/supadb/aksupa.uts:1133','登录已过期,请重新登录');\r\n\t\t\t\tthrow toUniError('登录已过期,请重新登录', '用户认证失败');\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn res;\r\n\t}\r\n}\r\n\r\n// 工具函数:将 UTSJSONObject filter 转为 Supabase/PostgREST 查询字符串\r\nfunction buildSupabaseFilterQuery(filter : UTSJSONObject | null) : string {\r\n\t//__f__('log','at components/supadb/aksupa.uts:1143',filter)\r\n\tif (filter == null) return \"\";\r\n\t// 类型保护:如果不是 UTSJSONObject,自动包裹\r\n\tif (typeof filter.get !== 'function') {\r\n\t\ttry {\r\n\t\t\tfilter = new UTSJSONObject(filter as any)\r\n\t\t} catch (e) {\r\n\t\t\t__f__('warn','at components/supadb/aksupa.uts:1150','filter 不是 UTSJSONObject,且无法转换', filter)\r\n\t\t\treturn ''\r\n\t\t}\r\n\t}\r\n\tconst params : string[] = [];\r\n\tconst keys : string[] = UTSJSONObject.keys(filter);\r\n\tfor (let i = 0; i < keys.length; i++) {\r\n\t\tconst k = keys[i];\r\n\t\tconst v = filter.get(k);\r\n\t\tif (k == 'or' && typeof v == 'string') {\r\n\t\t\tparams.push(`or=(${v})`);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (v != null && typeof v == 'object' && typeof (v as UTSJSONObject).get == 'function') {\r\n\t\t\tconst vObj = v as UTSJSONObject;\r\n\t\t\tconst opKeys = UTSJSONObject.keys(vObj);\r\n\t\t\tfor (let j = 0; j < opKeys.length; j++) {\r\n\t\t\t\tconst op = opKeys[j];\r\n\t\t\t\tconst opVal = vObj.get(op);\r\n\t\t\t\tif ((op == 'in' || op == 'not.in') && Array.isArray(opVal)) {\r\n\t\t\t\t\tparams.push(`${k}=${op}.(${opVal.map(x => typeof x == 'object' ? encodeURIComponent(JSON.stringify(x)) : encodeURIComponent(x.toString())).join(',')})`);\r\n\t\t\t\t} else if (op == 'is' && (opVal == null || opVal == 'null')) {\r\n\t\t\t\t\tparams.push(`${k}=is.null`);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst opvalstr : string = (typeof opVal == 'object') ? JSON.stringify(opVal) : (opVal as string);\r\n\t\t\t\t\tparams.push(`${k}=${op}.${encodeURIComponent(opvalstr)}`);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (v != null && typeof v == 'object') {\r\n\t\t\tconst vObj = v as UTSJSONObject;\r\n\t\t\tconst opKeys = UTSJSONObject.keys(vObj);\r\n\t\t\tfor (let j = 0; j < opKeys.length; j++) {\r\n\t\t\t\tconst op = opKeys[j];\r\n\t\t\t\tconst opVal = vObj.get(op);\r\n\t\t\t\tparams.push(`${k}=${op}.${encodeURIComponent(!(opVal == null) ? (typeof opVal == 'object' ? JSON.stringify(opVal) : opVal.toString()) : '')}`);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tparams.push(`${k}=eq.${encodeURIComponent(!(v == null) ? v.toString() : '')}`);\r\n\t\t}\r\n\t}\r\n\treturn params.join('&');\r\n}\r\n\r\n/**\r\n * 创建 Supabase 客户端实例\r\n * @param url 项目 URL\r\n * @param key 项目匿名密钥 (Anon Key)\r\n */\r\nexport function createClient(url : string, key : string) : AkSupa {\r\n\treturn new AkSupa(url, key);\r\n}\r\n\r\n// 模拟 Realtime Channel 类 (Polling Fallback)\r\nexport class AkSupaRealtimeChannel {\r\n private _supa: AkSupa;\r\n private _topic: string;\r\n private _timer: number = 0;\r\n private _callback: ((payload: any) => void) | null = null;\r\n private _table: string = '';\r\n private _lastTime: string = new Date().toISOString(); \r\n private _isSubscribed: boolean = false;\r\n\r\n constructor(supa: AkSupa, topic: string) {\r\n this._supa = supa;\r\n this._topic = topic;\r\n }\r\n\r\n // 绑定事件 (仅支持 postgres_changes INSERT)\r\n on(type: string, filter: UTSJSONObject, callback: (payload: any) => void): AkSupaRealtimeChannel {\r\n // 解析 table\r\n const table = filter.getString('table');\r\n if (table != null) {\r\n this._table = table;\r\n }\r\n this._callback = callback;\r\n return this;\r\n }\r\n\r\n // 开始订阅\r\n subscribe(callback?: (status: string, err: any | null) => void): AkSupaRealtimeChannel {\r\n if (this._isSubscribed) return this;\r\n this._isSubscribed = true;\r\n \r\n // 初始回调\r\n if (callback != null) {\r\n callback('SUBSCRIBED', null);\r\n }\r\n\r\n // 如果没有指定 table,无法轮询\r\n if (this._table == '') {\r\n __f__('warn','at components/supadb/aksupa.uts:1240','Realtime check: No table specified for polling.');\r\n return this;\r\n }\r\n\r\n // 开始轮询 (每3秒)\r\n this._timer = setInterval(() => {\r\n this._checkUpdates();\r\n }, 3000);\r\n\r\n return this;\r\n }\r\n\r\n // 停止订阅\r\n unsubscribe() {\r\n if (this._timer > 0) {\r\n clearInterval(this._timer);\r\n this._timer = 0;\r\n }\r\n this._isSubscribed = false;\r\n }\r\n\r\n // 检查更新\r\n private async _checkUpdates() {\r\n if (!this._isSubscribed || this._table == '') return;\r\n \r\n try {\r\n const now = new Date().toISOString();\r\n \r\n const res = await this._supa\r\n .from(this._table)\r\n .select('*')\r\n .gt('created_at', this._lastTime)\r\n .order('created_at', { ascending: true })\r\n .execute();\r\n \r\n if (res.error == null && res.data != null) {\r\n let list: any[] = [];\r\n if (Array.isArray(res.data)) {\r\n list = res.data as any[];\r\n }\r\n \r\n if (list.length > 0) {\r\n // 更新最后时间\r\n const lastItem = list[list.length - 1];\r\n let lastTimeStr: string | null = null;\r\n \r\n if (lastItem instanceof UTSJSONObject) {\r\n lastTimeStr = lastItem.getString('created_at');\r\n } else {\r\n // 尝试转 json\r\n const j = JSON.parse(JSON.stringify(lastItem)) as UTSJSONObject;\r\n lastTimeStr = j.getString('created_at');\r\n }\r\n \r\n if (lastTimeStr != null) {\r\n this._lastTime = lastTimeStr;\r\n } else {\r\n this._lastTime = now;\r\n }\r\n\r\n // 触发回调\r\n if (this._callback != null) {\r\n // 模拟 Realtime payload\r\n list.forEach(item => {\r\n const payload = {\r\n new: item,\r\n eventType: 'INSERT',\r\n old: null\r\n };\r\n this._callback?.(payload);\r\n });\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n __f__('error','at components/supadb/aksupa.uts:1315','Realtime polling error:', e);\r\n }\r\n }\r\n}\r\n\r\nexport default AkSupa;\r\n","// /components/supadb/aksupainstance.uts\r\nimport { createClient } from './aksupa.uts'\r\nimport { SUPA_URL, SUPA_KEY } from '@/ak/config.uts'\r\n\r\n// 创建单一真实的 Supabase 客户端实例 (使用 config.uts 配置)\r\n// Create single source of truth client using config\r\nconst supaInstance = createClient(SUPA_URL, SUPA_KEY)\r\n\r\n// 导出默认实例 (供 login.uvue 等使用)\r\nexport default supaInstance\r\n\r\n// 导出命名实例 'supabase' (供 store.uts 使用)\r\nexport const supabase = supaInstance\r\n\r\n// 导出 isSupabaseReady 状态\r\nexport const isSupabaseReady = true\r\n\r\n// 兼容 ensureSupabaseReady\r\nexport async function ensureSupabaseReady() {\r\n return true\r\n}\r\n\r\n// 检查连接状态的函数\r\nexport function checkConnection() {\r\n return Promise.resolve(true)\r\n}\r\n\r\n// 兼容 supaReady Promise\r\nexport const supaReady = Promise.resolve(true)\r\n\r\n// 如果有其他需要导出的函数,可以这样导出:\r\nexport function initializeSupabase(url: string, key: string) {\r\n return createClient(url, key)\r\n}\r\n","// 电商商城系统类型定义 - UTS Android 兼容\r\n\r\n// 用户类型\r\nexport type UserType = {\r\n\tid: string\r\n\tphone: string\r\n\temail: string | null\r\n\tnickname: string | null\r\n\tavatar_url: string | null\r\n\tgender: number\r\n\tuser_type: number\r\n\tstatus: number\r\n\tcreated_at: string\r\n}\r\n\r\n// 商城用户扩展信息类型\r\nexport type MallUserProfileType = {\r\n\tid: string\r\n\tuser_id: string\r\n\tuser_type: number\r\n\tstatus: number\r\n\treal_name: string | null\r\n\tid_card: string | null\r\n\tcredit_score: number\r\n\tmall_role: string\r\n\tverification_status: number\r\n\tverification_data: UTSJSONObject | null\r\n\tbusiness_license: string | null\r\n\tshop_category: string | null\r\n\tservice_areas: UTSJSONObject | null\r\n\temergency_contact: string | null\r\n\tpreferences: UTSJSONObject | null\r\n\tcreated_at: string\r\n\tupdated_at: string\r\n}\r\n\r\n// 用户地址类型\r\nexport type UserAddressType = {\r\n\tid: string\r\n\tuser_id: string\r\n\treceiver_name: string\r\n\treceiver_phone: string\r\n\tprovince: string\r\n\tcity: string\r\n\tdistrict: string\r\n\taddress_detail: string\r\n\tpostal_code: string | null\r\n\tis_default: boolean\r\n\tlabel: string | null\r\n\tcoordinates: string | null\r\n\tdelivery_instructions: string | null\r\n\tbusiness_hours: string | null\r\n\tstatus: number\r\n\tcreated_at: string\r\n\tupdated_at: string\r\n}\r\n\r\n// 商家类型\r\nexport type MerchantType = {\r\n\tid: string\r\n\tuser_id: string\r\n\tshop_name: string\r\n\tshop_logo: string | null\r\n\tshop_banner: string | null\r\n\tshop_description: string | null\r\n\tcontact_name: string\r\n\tcontact_phone: string\r\n\tshop_status: number\r\n\trating: number\r\n\ttotal_sales: number\r\n\tcreated_at: string\r\n}\r\n\r\n// 商品类型\r\nexport type ProductType = {\r\n\tid: string\r\n\tmerchant_id: string\r\n\tcategory_id: string\r\n\tname: string\r\n\tdescription: string | null\r\n\timages: Array\r\n\tprice: number\r\n\toriginal_price: number | null\r\n\tstock: number\r\n\tsales: number\r\n\tstatus: number\r\n\tcreated_at: string\r\n\t// 药品相关字段\r\n\tspecification?: string | null // 规格说明\r\n\tusage?: string | null // 用法用量\r\n\tside_effects?: string | null // 副作用\r\n\tprecautions?: string | null // 注意事项\r\n\texpiry_date?: string | null // 有效期\r\n\tstorage_conditions?: string | null // 储存条件\r\n\tapproval_number?: string | null // 批准文号\r\n\ttags?: Array | null // 商品标签\r\n}\r\n\r\n// 商品SKU类型\r\nexport type ProductSkuType = {\r\n\tid: string\r\n\tproduct_id: string\r\n\tsku_code: string\r\n\tspecifications: UTSJSONObject | null\r\n\tprice: number\r\n\tstock: number\r\n\timage_url: string | null\r\n\tstatus: number\r\n}\r\n\r\n// 购物车类型\r\nexport type CartItemType = {\r\n\tid: string\r\n\tuser_id: string\r\n\tproduct_id: string\r\n\tsku_id: string\r\n\tquantity: number\r\n\tselected: boolean\r\n\tproduct: ProductType | null\r\n\tsku: ProductSkuType | null\r\n}\r\n\r\n// 订单类型\r\nexport type OrderType = {\r\n\tid: string\r\n\torder_no: string\r\n\tuser_id: string\r\n\tmerchant_id: string\r\n\tstatus: number\r\n\ttotal_amount: number\r\n\tdiscount_amount: number\r\n\tdelivery_fee: number\r\n\tactual_amount: number\r\n\tpayment_method: number | null\r\n\tpayment_status: number\r\n\tdelivery_address: UTSJSONObject\r\n\tcreated_at: string\r\n}\r\n\r\n// 订单商品类型\r\nexport type OrderItemType = {\r\n\tid: string\r\n\torder_id: string\r\n\tproduct_id: string\r\n\tsku_id: string\r\n\tproduct_name: string\r\n\tsku_specifications: UTSJSONObject | null\r\n\tprice: number\r\n\tquantity: number\r\n\ttotal_amount: number\r\n}\r\n\r\n// 配送员类型\r\nexport type DeliveryDriverType = {\r\n\tid: string\r\n\tuser_id: string\r\n\treal_name: string\r\n\tid_card: string\r\n\tdriver_license: string | null\r\n\tvehicle_type: number\r\n\tvehicle_number: string | null\r\n\twork_status: number\r\n\tcurrent_location: UTSJSONObject | null\r\n\tservice_areas: Array\r\n\trating: number\r\n\ttotal_orders: number\r\n\tauth_status: number\r\n\tcreated_at: string\r\n\tupdated_at: string\r\n}\r\n\r\n// 配送任务类型\r\nexport type DeliveryTaskType = {\r\n\tid: string\r\n\torder_id: string\r\n\tdriver_id: string | null\r\n\tpickup_address: UTSJSONObject\r\n\tdelivery_address: UTSJSONObject\r\n\tdistance: number | null\r\n\testimated_time: number | null\r\n\tdelivery_fee: number\r\n\tstatus: number\r\n\tpickup_time: string | null\r\n\tdelivered_time: string | null\r\n\tdelivery_code: string | null\r\n\tremark: string | null\r\n\tcreated_at: string\r\n\tupdated_at: string\r\n}\r\n\r\n// 优惠券模板类型\r\nexport type CouponTemplateType = {\r\n\tid: string\r\n\tname: string\r\n\tdescription: string | null\r\n\tcoupon_type: number\r\n\tdiscount_type: number\r\n\tdiscount_value: number\r\n\tmin_order_amount: number\r\n\tmax_discount_amount: number | null\r\n\ttotal_quantity: number | null\r\n\tper_user_limit: number\r\n\tusage_limit: number\r\n\tmerchant_id: string | null\r\n\tcategory_ids: Array\r\n\tproduct_ids: Array\r\n\tuser_type_limit: number | null\r\n\tstart_time: string\r\n\tend_time: string\r\n\tstatus: number\r\n\tcreated_at: string\r\n}\r\n\r\n// 用户优惠券类型\r\nexport type UserCouponType = {\r\n\tid: string\r\n\tuser_id: string\r\n\ttemplate_id: string\r\n\tcoupon_code: string\r\n\tstatus: number\r\n\tused_at: string | null\r\n\torder_id: string | null\r\n\treceived_at: string\r\n\texpire_at: string\r\n}\r\n\r\n// 分页数据类型\r\nexport type PageDataType = {\r\n\tdata: Array\r\n\ttotal: number\r\n\tpage: number\r\n\tpageSize: number\r\n\thasMore: boolean\r\n}\r\n\r\n// API响应类型\r\nexport type ApiResponseType = {\r\n\tsuccess: boolean\r\n\tdata: T | null\r\n\tmessage: string\r\n\tcode: number\r\n}\r\n\r\n// 订单状态枚举\r\nexport const ORDER_STATUS = {\r\n\tPENDING_PAYMENT: 1,\r\n\tPAID: 2,\r\n\tSHIPPED: 3,\r\n\tDELIVERED: 4,\r\n\tCOMPLETED: 5,\r\n\tCANCELLED: 6,\r\n\tREFUNDING: 7,\r\n\tREFUNDED: 8\r\n}\r\n\r\n// 优惠券类型枚举\r\nexport const COUPON_TYPE = {\r\n\tDISCOUNT_AMOUNT: 1, // 满减券\r\n\tDISCOUNT_PERCENT: 2, // 折扣券\r\n\tFREE_SHIPPING: 3, // 免运费券\r\n\tNEWBIE: 4, // 新人券\r\n\tMEMBER: 5, // 会员券\r\n\tCATEGORY: 6, // 品类券\r\n\tMERCHANT: 7, // 商家券\r\n\tLIMITED_TIME: 8 // 限时券\r\n}\r\n\r\n// 支付方式枚举\r\nexport const PAYMENT_METHOD = {\r\n\tWECHAT: 1,\r\n\tALIPAY: 2,\r\n\tUNIONPAY: 3,\r\n\tBALANCE: 4\r\n}\r\n\r\n// 配送状态枚举\r\nexport const DELIVERY_STATUS = {\r\n\tPENDING: 1,\r\n\tASSIGNED: 2,\r\n\tPICKED_UP: 3,\r\n\tIN_TRANSIT: 4,\r\n\tDELIVERED: 5,\r\n\tFAILED: 6\r\n}\r\n\r\n// 用户类型枚举\r\nexport const MALL_USER_TYPE = {\r\n\tCONSUMER: 1, // 消费者\r\n\tMERCHANT: 2, // 商家\r\n\tDELIVERY: 3, // 配送员\r\n\tSERVICE: 4, // 客服\r\n\tADMIN: 5 // 管理员\r\n}\r\n\r\n// 用户状态枚举\r\nexport const USER_STATUS = {\r\n\tNORMAL: 1, // 正常\r\n\tFROZEN: 2, // 冻结\r\n\tCANCELLED: 3, // 注销\r\n\tPENDING: 4 // 待审核\r\n} as const\r\n\r\n// 认证状态枚举\r\nexport const VERIFICATION_STATUS = {\r\n\tUNVERIFIED: 0, // 未认证\r\n\tVERIFIED: 1, // 已认证\r\n\tFAILED: 2 // 认证失败\r\n}\r\n\r\n// 地址标签枚举\r\nexport const ADDRESS_LABEL = {\r\n\tHOME: 'home', // 家\r\n\tOFFICE: 'office', // 公司\r\n\tSCHOOL: 'school', // 学校\r\n\tOTHER: 'other' // 其他\r\n}\r\n\r\n// 收藏类型枚举\r\nexport const FAVORITE_TYPE = {\r\n\tPRODUCT: 'product', // 商品\r\n\tSHOP: 'shop' // 店铺\r\n}\r\n\r\n// =========================\r\n// 订阅相关类型与枚举\r\n// =========================\r\n\r\n// 订阅周期枚举\r\nexport const SUBSCRIPTION_PERIOD = {\r\n\tMONTHLY: 'monthly',\r\n\tYEARLY: 'yearly'\r\n}\r\n\r\n// 订阅状态枚举\r\nexport const SUBSCRIPTION_STATUS = {\r\n\tTRIAL: 'trial',\r\n\tACTIVE: 'active',\r\n\tPAST_DUE: 'past_due',\r\n\tCANCELED: 'canceled',\r\n\tEXPIRED: 'expired'\r\n}\r\n\r\n// 软件订阅方案类型\r\nexport type SubscriptionPlanType = {\r\n\tid: string\r\n\tplan_code: string\r\n\tname: string\r\n\tdescription: string | null\r\n\tfeatures: UTSJSONObject | null // { featureKey: description }\r\n\tprice: number // 单位:元(或分,取决于后端;前端以显示为准)\r\n\tcurrency: string | null // 'CNY' | 'USD' ...\r\n\tbilling_period: string // 'monthly' | 'yearly'\r\n\ttrial_days: number | null\r\n\tis_active: boolean\r\n\tsort_order?: number | null\r\n\tcreated_at?: string\r\n\tupdated_at?: string\r\n}\r\n\r\n// 用户订阅记录类型\r\nexport type UserSubscriptionType = {\r\n\tid: string\r\n\tuser_id: string\r\n\tplan_id: string\r\n\tstatus: string\r\n\tstart_date: string\r\n\tend_date: string | null\r\n\tnext_billing_date: string | null\r\n\tauto_renew: boolean\r\n\tcancel_at_period_end?: boolean | null\r\n\tmetadata?: UTSJSONObject | null\r\n\tcreated_at?: string\r\n\tupdated_at?: string\r\n}\r\n\r\n// 用户基础信息类型 (兼容 pages/user/types.uts)\r\nexport type UserProfile = {\r\n id?: string;\r\n username: string;\r\n email: string;\r\n gender?: string;\r\n birthday?: string;\r\n height_cm?: number;\r\n weight_kg?: number;\r\n bio?: string;\r\n avatar_url?: string;\r\n preferred_language?: string;\r\n role?: string;\r\n school_id?: string;\r\n grade_id?: string;\r\n class_id?: string;\r\n created_at?: string;\r\n updated_at?: string;\r\n}\r\n\r\nexport type UserStats = {\r\n trainings: number;\r\n points: number;\r\n streak: number;\r\n}\r\n\r\n// 足迹项类型\r\nexport type FootprintItemType = {\r\n id: string\r\n name: string\r\n price: number\r\n original_price: number | null\r\n image: string\r\n sales: number\r\n shopId: string\r\n shopName: string\r\n viewTime: number\r\n}\r\n\r\n// =========================\r\n// 积分相关类型\r\n// =========================\r\n\r\n// 签到记录类型\r\nexport type SigninRecordType = {\r\n id: string\r\n user_id: string\r\n signin_date: string\r\n points_earned: number\r\n bonus_points: number\r\n continuous_days: number\r\n created_at: string\r\n}\r\n\r\n// 签到结果类型\r\nexport type SigninResultType = {\r\n success: boolean\r\n points: number\r\n continuous_days: number\r\n bonus_points: number\r\n total_points: number\r\n message: string\r\n}\r\n\r\n// 积分兑换商品类型\r\nexport type PointProductType = {\r\n id: string\r\n name: string\r\n description: string | null\r\n image_url: string | null\r\n product_type: string\r\n points_required: number\r\n original_price: number | null\r\n stock: number\r\n status: number\r\n sort_order: number\r\n created_at: string\r\n}\r\n\r\n// 积分兑换记录类型\r\nexport type PointExchangeType = {\r\n id: string\r\n user_id: string\r\n product_id: string\r\n quantity: number\r\n points_used: number\r\n status: number\r\n tracking_no: string | null\r\n address_snapshot: UTSJSONObject | null\r\n created_at: string\r\n product: PointProductType | null\r\n}\r\n\r\n// 积分规则类型\r\nexport type PointRuleType = {\r\n id: string\r\n rule_type: string\r\n rule_name: string\r\n points: number\r\n description: string | null\r\n config: UTSJSONObject | null\r\n status: number\r\n}\r\n\r\n// 积分概览类型\r\nexport type PointsOverviewType = {\r\n current_points: number\r\n total_earned: number\r\n total_used: number\r\n expiring_points: number\r\n expiring_date: string | null\r\n}\r\n\r\n// =========================\r\n// 评价相关类型\r\n// =========================\r\n\r\n// 商品评价类型(扩展)\r\nexport type ProductReviewType = {\r\n id: string\r\n user_id: string\r\n product_id: string\r\n order_id: string\r\n order_item_id: string | null\r\n rating: number\r\n content: string | null\r\n images: string[]\r\n videos: string[]\r\n tags: string[]\r\n is_anonymous: boolean\r\n like_count: number\r\n is_edited: boolean\r\n append_content: string | null\r\n append_at: string | null\r\n append_images: string[]\r\n reply: string | null\r\n reply_time: string | null\r\n created_at: string\r\n updated_at: string\r\n user_name: string | null\r\n user_avatar: string | null\r\n is_liked: boolean\r\n}\r\n\r\n// 评价统计类型\r\nexport type ReviewStatsType = {\r\n total_count: number\r\n avg_rating: number\r\n good_rate: number\r\n rating_distribution: Map\r\n tags: ReviewTagType[]\r\n}\r\n\r\n// 评价标签类型\r\nexport type ReviewTagType = {\r\n name: string\r\n count: number\r\n}\r\n\r\n// 评价点赞类型\r\nexport type ReviewLikeType = {\r\n id: string\r\n review_id: string\r\n user_id: string\r\n created_at: string\r\n}\r\n\r\n// 评价举报类型\r\nexport type ReviewReportType = {\r\n id: string\r\n review_id: string\r\n user_id: string\r\n reason: string\r\n description: string | null\r\n status: number\r\n handle_result: string | null\r\n created_at: string\r\n}\r\n\r\n// 配送员评价类型\r\nexport type DeliveryRatingType = {\r\n id: string\r\n order_id: string\r\n delivery_user_id: string\r\n user_id: string\r\n rating: number\r\n content: string | null\r\n created_at: string\r\n}\r\n\r\n// 我的评价列表项类型\r\nexport type MyReviewItemType = {\r\n id: string\r\n product_id: string\r\n product_name: string\r\n product_image: string\r\n rating: number\r\n content: string | null\r\n images: string[]\r\n created_at: string\r\n can_append: boolean\r\n can_edit: boolean\r\n}\r\n\r\n// =========================\r\n// 推销模式相关类型\r\n// =========================\r\n\r\n// 用户余额类型\r\nexport type UserBalanceType = {\r\n id: string\r\n user_id: string\r\n balance: number\r\n frozen_balance: number\r\n total_earned: number\r\n total_withdrawn: number\r\n updated_at: string\r\n}\r\n\r\n// 余额变动记录类型\r\nexport type BalanceRecordType = {\r\n id: string\r\n user_id: string\r\n type: string\r\n amount: number\r\n balance_before: number\r\n balance_after: number\r\n related_id: string | null\r\n description: string | null\r\n operator_id: string | null\r\n created_at: string\r\n}\r\n\r\n// 分享记录类型\r\nexport type ShareRecordType = {\r\n id: string\r\n user_id: string\r\n product_id: string\r\n order_id: string\r\n order_item_id: string | null\r\n share_code: string\r\n product_name: string\r\n product_image: string | null\r\n product_price: number\r\n required_count: number\r\n current_count: number\r\n status: number\r\n reward_amount: number | null\r\n created_at: string\r\n completed_at: string | null\r\n expired_at: string | null\r\n}\r\n\r\n// 二级购买记录类型\r\nexport type SecondaryPurchaseType = {\r\n id: string\r\n share_record_id: string\r\n buyer_id: string\r\n order_id: string\r\n quantity: number\r\n unit_price: number\r\n created_at: string\r\n}\r\n\r\n// 免单奖励记录类型\r\nexport type FreeOrderRewardType = {\r\n id: string\r\n user_id: string\r\n share_record_id: string\r\n amount: number\r\n status: number\r\n balance_record_id: string | null\r\n cleared_at: string | null\r\n cleared_by: string | null\r\n created_at: string\r\n}\r\n\r\n// 会员等级类型\r\nexport type MemberLevelType = {\r\n id: number\r\n name: string\r\n min_amount: number\r\n discount: number\r\n icon: string | null\r\n description: string | null\r\n sort_order: number\r\n status: number\r\n}\r\n\r\n// 用户会员信息类型\r\nexport type UserMemberInfoType = {\r\n member_level: number\r\n level_name: string\r\n discount: number\r\n total_spent: number\r\n next_level: MemberLevelType | null\r\n progress_percent: number\r\n manual_level: boolean\r\n}\r\n\r\n// 会员等级变更记录类型\r\nexport type MemberLevelLogType = {\r\n id: string\r\n user_id: string\r\n old_level: number\r\n new_level: number\r\n reason: string | null\r\n operator_id: string | null\r\n created_at: string\r\n}\r\n","// 设备信息类型\r\nexport type DeviceInfo = {\r\n\tid: string\r\n\tdevice_name?: string\r\n\tstatus?: string // 'online' | 'offline' | 其他状态\r\n\tuser_id?: string\r\n\t// 可根据实际需求添加更多字段\r\n}\r\n\r\n// 设备查询参数类型\r\nexport type DeviceParams = {\r\n\tuser_id: string\r\n\t// 可根据实际需求添加更多查询参数\r\n}\r\n","import supabase, { supaReady } from '@/components/supadb/aksupainstance.uts'\r\nimport type { UserProfile } from '@/types/mall-types.uts'\r\n\r\n/**\r\n * 确保用户资料存在,如果不存在则创建基础资料\r\n * @param sessionUser 会话用户对象 (UTSJSONObject)\r\n * @returns 创建的用户资料,如果创建失败则返回 null\r\n */\r\nexport async function ensureUserProfile(sessionUser: UTSJSONObject): Promise {\r\n\ttry {\r\n\t\tawait supaReady\r\n \r\n\t\t// 从 sessionUser 中获取用户ID和邮箱\r\n\t\tconst userId = sessionUser.getString('id')\r\n\t\tconst email = sessionUser.getString('email') ?? ''\r\n\t\t\r\n\t\tif (userId == null || userId === '') {\r\n\t\t\t__f__('error','at utils/sapi.uts:18','无法获取用户ID')\r\n\t\t\treturn null\r\n\t\t}\r\n\t\t\r\n\t\t// 检查用户是否已存在(ak_users 通过 id 或 auth_id 关联 auth.users.id)\r\n\t\tconst checkRes = await supabase.from('ak_users')\r\n\t\t\t.select('*', {})\r\n\t\t\t.or('id.eq.' + userId + ',auth_id.eq.' + userId)\r\n\t\t\t.execute()\r\n\t\t\r\n\t\t__f__('log','at utils/sapi.uts:28','ensureUserProfile check ak_users:', {\r\n\t\t\tstatus: checkRes.status,\r\n\t\t\thasData: checkRes.data != null\r\n\t\t})\r\n\t\t\r\n\t\tconst dataList = checkRes.data\r\n\t\tif (checkRes.status >= 200 && checkRes.status < 300 && dataList != null && (dataList as any[]).length > 0) {\r\n\t\t\t// 用户已存在,返回现有资料(H5 下 checkRes.data 可能是 plain object,不一定是 UTSJSONObject)\r\n\t\t\tlet existingUser: UTSJSONObject\r\n\t\t\tconst firstItem = (dataList as any[])[0]\r\n\t\t\tif (firstItem instanceof UTSJSONObject) {\r\n\t\t\t\texistingUser = firstItem\r\n\t\t\t} else {\r\n\t\t\t\texistingUser = new UTSJSONObject(firstItem)\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tconst currentRole = existingUser.getString('role')\r\n\t\t\tconst currentAuthId = existingUser.getString('auth_id')\r\n\t\t\t\r\n\t\t\t// 【强力修复逻辑】如果 role 是 student 或者 auth_id 为空,进行 upsert 修复\r\n\t\t\tif (currentRole == 'student' || currentAuthId == null || currentAuthId == '') {\r\n\t\t\t\t__f__('log','at utils/sapi.uts:49','检测到旧数据异常,正在修复角色或关联ID...')\r\n\t\t\t\tconst updateData = new UTSJSONObject()\r\n\t\t\t\t// updateData.set('id', userId) // update 场景不需要传 ID 在 body 里,通常作为 filter\r\n\t\t\t\tupdateData.set('auth_id', userId)\r\n\t\t\t\tupdateData.set('role', 'consumer')\r\n\t\t\t\t\r\n\t\t\t\tawait supabase.from('ak_users')\r\n\t\t\t\t.update(updateData)\r\n\t\t\t\t.eq('id', userId)\r\n\t\t\t\t.execute()\r\n\t\t\t\t\r\n\t\t\t\t// 同步 Auth 元数据\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst meta = new UTSJSONObject()\r\n\t\t\t\t\tmeta.set('user_role', 'consumer')\r\n\t\t\t\t\tawait supabase.updateUserMetadata(meta)\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\t__f__('warn','at utils/sapi.uts:66','同步 Auth 元数据失败:', e)\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t// 返回修复后的对象\r\n\t\t\t\treturn {\r\n\t\t\t\t\tid: userId,\r\n\t\t\t\t\tusername: existingUser.getString('username') ?? email.split('@')[0],\r\n\t\t\t\t\temail: existingUser.getString('email') ?? email,\r\n\t\t\t\t\trole: 'consumer'\r\n\t\t\t\t} as UserProfile\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tid: userId, // 始终返回 auth.users.id 作为 Profile ID\r\n\t\t\t\tusername: existingUser.getString('username') ?? '',\r\n\t\t\t\temail: existingUser.getString('email') ?? email,\r\n\t\t\t\tgender: existingUser.getString('gender'),\r\n\t\t\t\tbirthday: existingUser.getString('birthday'),\r\n\t\t\t\theight_cm: existingUser.getNumber('height_cm'),\r\n\t\t\t\tweight_kg: existingUser.getNumber('weight_kg'),\r\n\t\t\t\tbio: existingUser.getString('bio'),\r\n\t\t\t\tavatar_url: existingUser.getString('avatar_url'),\r\n\t\t\t\tpreferred_language: existingUser.getString('preferred_language'),\r\n\t\t\t\trole: existingUser.getString('role') ?? 'consumer',\r\n\t\t\t\tcreated_at: existingUser.getString('created_at'),\r\n\t\t\t\tupdated_at: existingUser.getString('updated_at')\r\n\t\t\t} as UserProfile\r\n\t\t}\r\n\t\t\r\n\t\t// 用户不存在,创建新用户资料\r\n\t\tconst newUserData = new UTSJSONObject()\r\n\t\tnewUserData.set('id', userId)\r\n\t\tnewUserData.set('auth_id', userId) // 确保 auth_id 被存储,解决登录查不到 Profile 的问题\r\n\t\tnewUserData.set('email', email)\r\n\t\tnewUserData.set('username', email.split('@')[0] ?? 'user') // 默认用户名为邮箱前缀\r\n\t\tnewUserData.set('role', 'consumer') // 强制设置为消费者角色\r\n\t\tnewUserData.set('created_at', new Date().toISOString()) // 手动设置创建时间\r\n\t\t\r\n\t\t// 尝试同步更新 Auth 元数据,确保以后登录生成的 JWT 中角色也为 consumer\r\n\t\ttry {\r\n\t\t\tconst meta = new UTSJSONObject()\r\n\t\t\tmeta.set('user_role', 'consumer')\r\n\t\t\tawait supabase.updateUserMetadata(meta)\r\n\t\t} catch (e) {\r\n\t\t\t__f__('warn','at utils/sapi.uts:110','同步 Auth 元数据失败 (非致命):', e)\r\n\t\t}\r\n\r\n\t\t__f__('log','at utils/sapi.uts:113','准备插入 ak_users, 目标 ID:', userId)\r\n\t\t__f__('log','at utils/sapi.uts:114','正在执行 insert 资料:', JSON.stringify(newUserData))\r\n\t\tconst insertRes = await supabase.from('ak_users')\r\n\t\t\t.insert(newUserData)\r\n\t\t\t.select('*', {})\r\n\t\t\t.execute()\r\n\t\t\r\n\t\t__f__('log','at utils/sapi.uts:120','ensureUserProfile insert ak_users 完整结果:', JSON.stringify(insertRes))\r\n\t\t\r\n\t\tif (insertRes.status >= 200 && insertRes.status < 300) {\r\n\t\t\tconst dataList = (insertRes.data != null) ? (insertRes.data as any[]) : []\r\n\t\t\tconst rawData = dataList.length > 0 ? dataList[0] : null\r\n\t\t\t\r\n\t\t\tif (rawData == null) {\r\n\t\t\t\t__f__('log','at utils/sapi.uts:127','ensureUserProfile: 资料插入操作已完成(200),但未返回数据(可能是 RLS 限制)');\r\n\t\t\t\treturn {\r\n\t\t\t\t\tid: userId,\r\n\t\t\t\t\tusername: email.split('@')[0] ?? 'user',\r\n\t\t\t\t\temail: email,\r\n\t\t\t\t\trole: 'consumer',\r\n\t\t\t\t\tcreated_at: newUserData.getString('created_at')\r\n\t\t\t\t} as UserProfile\r\n\t\t\t}\r\n\r\n\t\t\tconst newUser = (rawData instanceof UTSJSONObject)\r\n\t\t\t\t? (rawData as UTSJSONObject)\r\n\t\t\t\t: new UTSJSONObject(rawData)\r\n\t\t\treturn {\r\n\t\t\t\tid: newUser.getString('id') ?? userId,\r\n\t\t\t\tusername: newUser.getString('username') ?? email.split('@')[0],\r\n\t\t\t\temail: newUser.getString('email') ?? email,\r\n\t\t\t\tgender: newUser.getString('gender'),\r\n\t\t\t\tbirthday: newUser.getString('birthday'),\r\n\t\t\t\theight_cm: newUser.getNumber('height_cm'),\r\n\t\t\t\tweight_kg: newUser.getNumber('weight_kg'),\r\n\t\t\t\tbio: newUser.getString('bio'),\r\n\t\t\t\tavatar_url: newUser.getString('avatar_url'),\r\n\t\t\t\tpreferred_language: newUser.getString('preferred_language'),\r\n\t\t\t\trole: newUser.getString('role') ?? 'consumer',\r\n\t\t\t\tcreated_at: newUser.getString('created_at'),\r\n\t\t\t\tupdated_at: newUser.getString('updated_at')\r\n\t\t\t} as UserProfile\r\n\t\t} else {\r\n\t\t\t__f__('error','at utils/sapi.uts:156','创建用户资料失败:', insertRes.status)\r\n\t\t\treturn null\r\n\t\t}\r\n\t} catch (error) {\r\n\t\t__f__('error','at utils/sapi.uts:160','ensureUserProfile 异常:', error)\r\n\t\treturn null\r\n\t}\r\n}\r\n","import supa, { supaReady } from '@/components/supadb/aksupainstance.uts'\r\nimport type { UserProfile, UserStats } from '@/types/mall-types.uts'\r\nimport type { DeviceInfo } from '@/pages/sense/types.uts'\r\nimport { SenseDataService, type DeviceParams } from '@/pages/sense/senseDataService.uts'\r\nimport { reactive } from 'vue'\r\nimport { ensureUserProfile } from './sapi.uts'\r\n\r\n// 设备状态类型\r\nexport type DeviceState = {\r\n\tdevices : Array\r\n\tcurrentDevice : DeviceInfo | null\r\n\tisLoading : boolean\r\n\tlastUpdated : number | null\r\n}\r\n\r\n//定义一个大写的State类型\r\nexport type State = {\r\n\tglobalNum : number\r\n\tuserProfile ?: UserProfile\r\n\tisLoggedIn : boolean // 新增字段\r\n\tdeviceState : DeviceState // 新增设备状态\r\n\t// 如有需要,可增加更多属性\r\n}\r\n\r\n// 实例化为state\r\nexport const state = reactive({\r\n\tglobalNum: 0,\r\n\tuserProfile: { username: '', email: '' },\r\n\tisLoggedIn: false,\r\n\tdeviceState: {\r\n\t\tdevices: [],\r\n\t\tcurrentDevice: null,\r\n\t\tisLoading: false,\r\n\t\tlastUpdated: null\r\n\t} as DeviceState\r\n} as State)\r\n// 定义修改属性值的方法\r\nexport const setGlobalNum = (num : number) => {\r\n\tstate.globalNum = num\r\n}\r\n// 新增:设置登录状态的方法\r\nexport const setIsLoggedIn = (val : boolean) => {\r\n\tstate.isLoggedIn = val\r\n}\r\n// 定义全局设置用户信息的方法\r\nexport const setUserProfile = (profile : UserProfile) => {\r\n\tstate.userProfile = profile\r\n}\r\n\r\n// 获取当前用户信息(含补全 profile)\r\nexport async function getCurrentUser() : Promise {\r\n\ttry {\r\n\t\tawait supaReady\r\n\t} catch (_) {}\r\n\r\n\tconst sessionInfo = supa.getSession()\r\n\tif (sessionInfo.user == null) {\r\n\t\tstate.userProfile = { username: '', email: '' } as UserProfile\r\n\t\tstate.isLoggedIn = false // 未登录\r\n\t\treturn null\r\n\t}\r\n\tconst userId = sessionInfo.user?.getString(\"id\")\r\n\tif (userId == null) {\r\n\t\tstate.userProfile = { username: '', email: '' } as UserProfile\r\n\t\tstate.isLoggedIn = false // 未登录\r\n\t\treturn null\r\n\t}\t// 查询 ak_users 表补全 profile\r\n\tconst res = await supa.from('ak_users').select('*', {}).eq('id', userId).execute()\r\n\t__f__('log','at utils/store.uts:69',res)\r\n\tif (res.status >= 200 && res.status < 300 && (res.data != null)) {\r\n\t\tlet user : UTSJSONObject | null = null;\r\n\t\tconst data = res.data as any;\r\n\t\tif (Array.isArray(data)) {\r\n\t\t\tif (data.length > 0) {\r\n\t\t\t\tuser = data[0] as UTSJSONObject;\r\n\t\t\t}\r\n\t\t} else if (data != null) {\r\n\t\t\tuser = data as UTSJSONObject;\r\n\t\t} __f__('log','at utils/store.uts:79',user)\r\n\t\tif (user == null) {\r\n\t\t\t__f__('log','at utils/store.uts:81','用户资料为空,尝试创建基础资料...')\t\t\t// 如果用户资料为空,尝试创建基础用户资料\r\n\t\t\tconst sessionUser = sessionInfo.user\r\n\t\t\tif (sessionUser != null) {\r\n\t\t\t\tconst createdProfile = await ensureUserProfile(sessionUser)\r\n\t\t\t\tif (createdProfile != null) {\r\n\t\t\t\t\tstate.userProfile = createdProfile\r\n\t\t\t\t\tstate.isLoggedIn = true\r\n\t\t\t\t\treturn createdProfile\r\n\t\t\t\t} else {\r\n\t\t\t\t\t__f__('error','at utils/store.uts:90','创建用户资料失败')\r\n\t\t\t\t\tstate.userProfile = { username: '', email: '' } as UserProfile\r\n\t\t\t\t\tstate.isLoggedIn = false\r\n\t\t\t\t\treturn null\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t__f__('error','at utils/store.uts:96','会话用户信息为空')\r\n\t\t\t\tstate.userProfile = { username: '', email: '' } as UserProfile\r\n\t\t\t\tstate.isLoggedIn = false\r\n\t\t\t\treturn null\r\n\t\t\t}\r\n\t\t}\r\n\t\t__f__('log','at utils/store.uts:102',user)\r\n\t\t// 直接用 getString/getNumber,无需兜底属性\t\t\r\n\t\tconst profile : UserProfile = {\r\n\t\t\tid: user.getString('id'),\r\n\t\t\tusername: user.getString('username') ?? \"\",\r\n\t\t\temail: user.getString('email') ?? \"\",\r\n\t\t\tgender: user.getString('gender'),\r\n\t\t\tbirthday: user.getString('birthday'),\r\n\t\t\theight_cm: user.getNumber('height_cm'),\r\n\t\t\tweight_kg: user.getNumber('weight_kg'),\r\n\t\t\tbio: user.getString('bio'),\r\n\t\t\tavatar_url: user.getString('avatar_url'),\r\n\t\t\tpreferred_language: user.getString('preferred_language'),\r\n\t\t\trole: user.getString('role'),\r\n\t\t\tschool_id: user.getString('school_id'),\r\n\t\t\tgrade_id: user.getString('grade_id'),\r\n\t\t\tclass_id: user.getString('class_id')\r\n\t\t}\r\n\t\tstate.userProfile = profile\r\n\t\tstate.isLoggedIn = true // 登录成功\r\n\t\treturn profile\r\n\t} else {\r\n\t\tstate.userProfile = { username: '', email: '' } as UserProfile\r\n\t\tstate.isLoggedIn = false // 未登录\r\n\t\treturn null\r\n\t}\r\n}\r\n\r\n// 登出并清空用户信息\r\nexport function logout() {\r\n\tsupa.signOut()\r\n\tstate.userProfile = { username: '', email: '' } as UserProfile\r\n\tstate.isLoggedIn = false // 登出\r\n}\r\n\r\n// 获取当前用户ID(优先级:state.userProfile.id > session > localStorage)\r\nexport function getCurrentUserId() : string {\r\n\ttry {\r\n\t\tconst profile = state.userProfile\r\n\t\tif (profile != null && profile.id != null) {\r\n\t\t\tconst profileId = profile.id\r\n\t\t\tif (profileId != null) {\r\n\t\t\t\treturn profileId\r\n\t\t\t}\r\n\t\t}\r\n\t} catch (e) { }\r\n\ttry {\r\n\t\tconst session = supa.getSession()\r\n\t\tif (session != null) {\r\n\t\t\tconst curuser = session.user\r\n\t\t\tconst userId = curuser?.getString('id')\r\n\t\t\tif (userId != null) return userId\r\n\t\t}\r\n\t} catch (e) { }\r\n\treturn ''\r\n}\r\n\r\n// 获取当前用户的class_id\r\nexport function getCurrentUserClassId() : string | null {\r\n\ttry {\r\n\t\tconst profile = state.userProfile\r\n\t\tif (profile != null && profile.class_id != null) {\r\n\t\t\treturn profile.class_id\r\n\t\t}\r\n\t} catch (e) {\r\n\t\t__f__('error','at utils/store.uts:167','获取用户class_id失败:', e)\r\n\t}\r\n\treturn null\r\n}\r\n\r\n// User store API for component compatibility\r\nexport function getUserStore() {\r\n\treturn {\r\n\t\tgetUserId() : string | null {\r\n\t\t\tconst sessionInfo = supa.getSession()\r\n\t\t\treturn sessionInfo.user?.getString(\"id\") ?? null\r\n\t\t},\r\n\r\n\t\tgetUserName() : string | null {\r\n\t\t\treturn state.userProfile?.username ?? null\r\n\t\t},\r\n\r\n\t\tgetUserRole() : string | null {\r\n\t\t\t// Default role logic - can be enhanced based on your needs\r\n\t\t\tconst sessionInfo = supa.getSession()\r\n\t\t\tif (sessionInfo.user == null) return null\r\n\r\n\t\t\t// You can add role detection logic here\r\n\t\t\t// For now, return a default role\r\n\t\t\treturn 'teacher' // or determine from user profile/database\r\n\t\t},\r\n\r\n\t\tgetProfile() : UserProfile | null {\r\n\t\t\treturn state.userProfile\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// ========== 设备状态管理方法 ==========\r\n\r\n/**\r\n * 设置设备加载状态\r\n */\r\nexport const setDeviceLoading = (loading : boolean) => {\r\n\tstate.deviceState.isLoading = loading\r\n}\r\n\r\n/**\r\n * 设置设备列表\r\n */\r\nexport const setDevices = (devices : Array) => {\r\n\tstate.deviceState.devices = devices\r\n\tstate.deviceState.lastUpdated = Date.now()\r\n}\r\n\r\n/**\r\n * 添加设备到列表\r\n */\r\nexport const addDevice = (device : DeviceInfo) => {\r\n\tconst existingIndex = state.deviceState.devices.findIndex(d => d.id === device.id)\r\n\tif (existingIndex >= 0) {\r\n\t\t// 更新现有设备\r\n\t\tstate.deviceState.devices[existingIndex] = device\r\n\t} else {\r\n\t\t// 添加新设备\r\n\t\tstate.deviceState.devices.push(device)\r\n\t}\r\n\tstate.deviceState.lastUpdated = Date.now()\r\n}\r\n\r\n/**\r\n * 从列表中移除设备\r\n */\r\nexport const removeDevice = (deviceId : string) => {\r\n\tconst index = state.deviceState.devices.findIndex(d => d.id === deviceId)\r\n\tif (index >= 0) {\r\n\t\tstate.deviceState.devices.splice(index, 1)\r\n\t\t// 如果移除的是当前设备,清空当前设备\r\n\t\tif (state.deviceState.currentDevice?.id === deviceId) {\r\n\t\t\tstate.deviceState.currentDevice = null\r\n\t\t}\r\n\t\tstate.deviceState.lastUpdated = Date.now()\r\n\t}\r\n}\r\n\r\n/**\r\n * 更新设备信息\r\n */\r\nexport const updateDevice = (device : DeviceInfo) => {\r\n\tconst index = state.deviceState.devices.findIndex(d => d.id === device.id)\r\n\tif (index >= 0) {\r\n\t\tstate.deviceState.devices[index] = device\r\n\t\t// 如果更新的是当前设备,也更新当前设备\r\n\t\tif (state.deviceState.currentDevice?.id === device.id) {\r\n\t\t\tstate.deviceState.currentDevice = device\r\n\t\t}\r\n\t\tstate.deviceState.lastUpdated = Date.now()\r\n\t}\r\n}\r\n\r\n/**\r\n * 设置当前选中的设备\r\n */\r\nexport const setCurrentDevice = (device : DeviceInfo | null) => {\r\n\tstate.deviceState.currentDevice = device\r\n}\r\n\r\n/**\r\n * 根据设备ID获取设备信息\r\n */\r\nexport const getDeviceById = (deviceId : string) : DeviceInfo | null => {\r\n\treturn state.deviceState.devices.find(d => d.id === deviceId) ?? null\r\n}\r\n\r\n/**\r\n * 获取在线设备列表\r\n */\r\nexport const getOnlineDevices = () : Array => {\r\n\treturn state.deviceState.devices.filter(d => d.status === 'online')\r\n}\r\n\r\n/**\r\n * 从服务器加载设备列表\r\n */\r\nexport const loadDevices = async (forceRefresh : boolean) : Promise => {\r\n\tconst userId = getCurrentUserId()\r\n\tif (userId == null || userId === '') {\r\n\t\t__f__('log','at utils/store.uts:289','用户未登录,无法加载设备列表')\r\n\t\treturn false\r\n\t}\r\n\r\n\t// 如果不是强制刷新且数据较新(5分钟内),直接返回\r\n\tconst now = Date.now()\r\n\tconst lastUpdated = state.deviceState.lastUpdated\r\n\tif (forceRefresh == false && lastUpdated != null && (now - lastUpdated < 5 * 60 * 1000)) {\r\n\t\t__f__('log','at utils/store.uts:297','设备数据较新,跳过刷新')\r\n\t\treturn true\r\n\t}\r\n\tsetDeviceLoading(true)\r\n\ttry {\r\n\t\tconst result = await SenseDataService.getDevices({ user_id: userId })\r\n\t\tif (result.error === null && result.data != null) {\r\n\t\t\tconst devices = result.data as Array\r\n\t\t\tsetDevices(devices)\r\n\t\t\t__f__('log','at utils/store.uts:306',`加载设备列表成功,共${devices.length}个设备`)\r\n\t\t\treturn true\r\n\t\t} else {\r\n\t\t\t__f__('log','at utils/store.uts:309','加载设备列表失败:', result.error?.message ?? '未知错误')\r\n\t\t\treturn false\r\n\t\t}\r\n\t} catch (error) {\r\n\t\t__f__('log','at utils/store.uts:313','加载设备列表异常:', error)\r\n\t\treturn false\r\n\t} finally {\r\n\t\tsetDeviceLoading(false)\r\n\t}\r\n}\r\n\r\n/**\r\n * 从服务器加载设备列表 - 带默认参数的重载版本\r\n */\r\nexport const loadDevicesWithDefault = async () : Promise => {\r\n\treturn await loadDevices(false)\r\n}\r\n\r\n/**\r\n * 绑定新设备\r\n */\r\nexport const bindNewDevice = async (deviceData : UTSJSONObject) : Promise => {\r\n\tconst userId = getCurrentUserId()\r\n\tif (userId == null) {\r\n\t\t__f__('log','at utils/store.uts:333','用户未登录,无法绑定设备')\r\n\t\treturn false\r\n\t}\r\n\r\n\t// 确保设备数据中包含用户ID\r\n\tdeviceData.set('user_id', userId)\r\n\ttry {\r\n\t\tconst result = await SenseDataService.bindDevice(deviceData)\r\n\t\tif (result.error === null && result.data != null) {\r\n\t\t\t// 添加到本地状态\r\n\t\t\taddDevice(result.data as DeviceInfo)\r\n\t\t\tconst deviceName = (result.data as DeviceInfo).device_name ?? '未知设备'\r\n\t\t\t__f__('log','at utils/store.uts:345','设备绑定成功:', deviceName)\r\n\t\t\treturn true\r\n\t\t} else {\r\n\t\t\t__f__('log','at utils/store.uts:348','设备绑定失败:', result.error?.message ?? '未知错误')\r\n\t\t\treturn false\r\n\t\t}\r\n\t} catch (error) {\r\n\t\t__f__('log','at utils/store.uts:352','设备绑定异常:', error)\r\n\t\treturn false\r\n\t}\r\n}\r\n\r\n/**\r\n * 解绑设备\r\n */\r\nexport const unbindDevice = async (deviceId : string) : Promise => {\r\n\ttry {\r\n\t\tconst result = await SenseDataService.unbindDevice(deviceId)\r\n\t\tif (result.error === null) {\r\n\t\t\t// 从本地状态中移除\r\n\t\t\tremoveDevice(deviceId)\r\n\t\t\t__f__('log','at utils/store.uts:366','设备解绑成功')\r\n\t\t\treturn true\r\n\t\t} else {\r\n\t\t\t__f__('log','at utils/store.uts:369','设备解绑失败:', result.error?.message ?? '未知错误')\r\n\t\t\treturn false\r\n\t\t}\r\n\t} catch (error) {\r\n\t\t__f__('log','at utils/store.uts:373','设备解绑异常:', error)\r\n\t\treturn false\r\n\t}\r\n}\r\n\r\n/**\r\n * 更新设备配置\r\n */\r\nexport const updateDeviceConfig = async (deviceId : string, configData : UTSJSONObject) : Promise => {\r\n\ttry {\r\n\t\tconst result = await SenseDataService.updateDevice(deviceId, configData)\r\n\t\tif (result.error === null && result.data != null) {\r\n\t\t\t// 更新本地状态\r\n\t\t\tupdateDevice(result.data as DeviceInfo)\r\n\t\t\t__f__('log','at utils/store.uts:387','设备配置更新成功')\r\n\t\t\treturn true\r\n\t\t} else {\r\n\t\t\t__f__('log','at utils/store.uts:390','设备配置更新失败:', result.error?.message ?? '未知错误')\r\n\t\t\treturn false\r\n\t\t}\r\n\t} catch (error) {\r\n\t\t__f__('log','at utils/store.uts:394','设备配置更新异常:', error)\r\n\t\treturn false\r\n\t}\r\n}\r\n\r\n// ========== 设备管理 API ==========\r\n\r\n/**\r\n * 获取设备管理相关的API\r\n */\r\nexport function getDeviceStore() {\r\n\treturn {\r\n\t\t// 获取设备状态\r\n\t\tgetDevices() : Array {\r\n\t\t\treturn state.deviceState.devices\r\n\t\t},\r\n\r\n\t\tgetCurrentDevice() : DeviceInfo | null {\r\n\t\t\treturn state.deviceState.currentDevice\r\n\t\t},\r\n\r\n\t\tisLoading() : boolean {\r\n\t\t\treturn state.deviceState.isLoading\r\n\t\t},\r\n\t\tgetLastUpdated() : number | null {\r\n\t\t\treturn state.deviceState.lastUpdated\r\n\t\t},\r\n\r\n\t\t// 设备操作方法\r\n\t\tasync loadDevices(forceRefresh : boolean) : Promise {\r\n\t\t\treturn await loadDevices(forceRefresh)\r\n\t\t},\r\n\r\n\t\tasync refreshDevices() : Promise {\r\n\t\t\treturn await loadDevicesWithDefault()\r\n\t\t},\r\n\r\n\t\tasync bindDevice(deviceData : UTSJSONObject) : Promise {\r\n\t\t\treturn await bindNewDevice(deviceData)\r\n\t\t},\r\n\r\n\t\tasync unbindDevice(deviceId : string) : Promise {\r\n\t\t\treturn await unbindDevice(deviceId)\r\n\t\t},\r\n\r\n\t\tasync updateDevice(deviceId : string, configData : UTSJSONObject) : Promise {\r\n\t\t\treturn await updateDeviceConfig(deviceId, configData)\r\n\t\t},\r\n\r\n\t\t// 设备查询方法\r\n\t\tgetDeviceById(deviceId : string) : DeviceInfo | null {\r\n\t\t\treturn getDeviceById(deviceId)\r\n\t\t},\r\n\r\n\t\tgetOnlineDevices() : Array {\r\n\t\t\treturn getOnlineDevices()\r\n\t\t},\r\n\r\n\t\t// 设备选择\r\n\t\tsetCurrentDevice(device : DeviceInfo | null) {\r\n\t\t\tsetCurrentDevice(device)\r\n\t\t}\r\n\t}\r\n}","import 'D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/src/runtime/app/index.ts';// 简化的main.uts,移除i18n依赖\r\nimport { createSSRApp } from 'vue'\r\nimport App from './App.uvue'\r\nimport i18n from '@/uni_modules/i18n/index.uts'\r\n\r\nexport function createApp() {\r\n const app = createSSRApp(App)\r\n \r\n // 注册 i18n 全局属性,使组件可以使用 $t 方法\r\n\tapp.config.globalProperties.$t = (key: string, values?: any, locale?: string): string => {\r\n\t\tif (i18n.global == null) {\r\n\t\t\t__f__('error','at main.uts:12','i18n is not initialized')\r\n\t\t\treturn key\r\n\t\t}\r\n const params = values as UTSJSONObject | null\r\n\t\tconst res = i18n.global.t(key, params, locale)\r\n if (res.length > 0) {\r\n return res\r\n }\r\n return key\r\n\t}\r\n \r\n return { app }\r\n}\r\n\nexport function main(app: IApp) {\n definePageRoutes();\n defineAppConfig();\n (createApp()['app'] as VueApp).mount(app, GenUniApp());\n}\n\nexport class UniAppConfig extends io.dcloud.uniapp.appframe.AppConfig {\n override name: string = \"商城消费者端\"\n override appid: string = \"__UNI__CONSUMER\"\n override versionName: string = \"1.0.0\"\n override versionCode: string = \"100\"\n override uniCompilerVersion: string = \"4.87\"\n \n constructor() { super() }\n}\n\nimport GenPagesUserLoginClass from './pages/user/login.uvue'\nimport GenPagesMainIndexClass from './pages/main/index.uvue'\nimport GenPagesMainCategoryClass from './pages/main/category.uvue'\nimport GenPagesMainCartClass from './pages/main/cart.uvue'\nimport GenPagesMainProfileClass from './pages/main/profile.uvue'\nimport GenPagesMallConsumerSettingsClass from './pages/mall/consumer/settings.uvue'\nimport GenPagesMallConsumerWalletClass from './pages/mall/consumer/wallet.uvue'\nimport GenPagesMallConsumerWithdrawClass from './pages/mall/consumer/withdraw.uvue'\nimport GenPagesMallConsumerSearchClass from './pages/mall/consumer/search.uvue'\nimport GenPagesMallConsumerProductDetailClass from './pages/mall/consumer/product-detail.uvue'\nimport GenPagesMallConsumerShopDetailClass from './pages/mall/consumer/shop-detail.uvue'\nimport GenPagesMallConsumerCouponsClass from './pages/mall/consumer/coupons.uvue'\nimport GenPagesMallConsumerFavoritesClass from './pages/mall/consumer/favorites.uvue'\nimport GenPagesMallConsumerFootprintClass from './pages/mall/consumer/footprint.uvue'\nimport GenPagesMallConsumerAddressListClass from './pages/mall/consumer/address-list.uvue'\nimport GenPagesMallConsumerAddressEditClass from './pages/mall/consumer/address-edit.uvue'\nimport GenPagesMallConsumerCheckoutClass from './pages/mall/consumer/checkout.uvue'\nimport GenPagesMallConsumerPaymentClass from './pages/mall/consumer/payment.uvue'\nimport GenPagesMallConsumerPaymentSuccessClass from './pages/mall/consumer/payment-success.uvue'\nimport GenPagesMallConsumerOrdersClass from './pages/mall/consumer/orders.uvue'\nimport GenPagesMallConsumerOrderDetailClass from './pages/mall/consumer/order-detail.uvue'\nimport GenPagesMallConsumerLogisticsClass from './pages/mall/consumer/logistics.uvue'\nimport GenPagesMallConsumerReviewClass from './pages/mall/consumer/review.uvue'\nimport GenPagesMallConsumerRefundClass from './pages/mall/consumer/refund.uvue'\nimport GenPagesMallConsumerApplyRefundClass from './pages/mall/consumer/apply-refund.uvue'\nimport GenPagesMallConsumerRefundReviewClass from './pages/mall/consumer/refund-review.uvue'\nimport GenPagesMallConsumerChatClass from './pages/mall/consumer/chat.uvue'\nimport GenPagesMallConsumerSubscriptionFollowedShopsClass from './pages/mall/consumer/subscription/followed-shops.uvue'\nimport GenPagesMallConsumerPointsIndexClass from './pages/mall/consumer/points/index.uvue'\nimport GenPagesMallConsumerPointsSigninClass from './pages/mall/consumer/points/signin.uvue'\nimport GenPagesMallConsumerPointsExchangeClass from './pages/mall/consumer/points/exchange.uvue'\nimport GenPagesMallConsumerPointsExchangeRecordsClass from './pages/mall/consumer/points/exchange-records.uvue'\nimport GenPagesMallConsumerProductReviewsClass from './pages/mall/consumer/product-reviews.uvue'\nimport GenPagesMallConsumerMyReviewsClass from './pages/mall/consumer/my-reviews.uvue'\nimport GenPagesMallConsumerBalanceIndexClass from './pages/mall/consumer/balance/index.uvue'\nimport GenPagesMallConsumerShareIndexClass from './pages/mall/consumer/share/index.uvue'\nimport GenPagesMallConsumerShareDetailClass from './pages/mall/consumer/share/detail.uvue'\nimport GenPagesMallConsumerMemberIndexClass from './pages/mall/consumer/member/index.uvue'\nimport GenPagesMallConsumerMessageDetailClass from './pages/mall/consumer/message-detail.uvue'\nimport GenPagesMallConsumerRedPacketsIndexClass from './pages/mall/consumer/red-packets/index.uvue'\nimport GenPagesMallConsumerBankCardsIndexClass from './pages/mall/consumer/bank-cards/index.uvue'\nimport GenPagesMallConsumerBankCardsAddClass from './pages/mall/consumer/bank-cards/add.uvue'\nfunction definePageRoutes() {\n__uniRoutes.push({ path: \"pages/user/login\", component: GenPagesUserLoginClass, meta: { isQuit: true } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"用户登录\"],[\"navigationStyle\",\"custom\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/main/index\", component: GenPagesMainIndexClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"首页\"],[\"navigationStyle\",\"custom\"],[\"enablePullDownRefresh\",false]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/main/category\", component: GenPagesMainCategoryClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"分类\"],[\"navigationStyle\",\"custom\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/main/cart\", component: GenPagesMainCartClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"购物车\"],[\"navigationStyle\",\"custom\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/main/profile\", component: GenPagesMainProfileClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"我的\"],[\"navigationStyle\",\"custom\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/settings\", component: GenPagesMallConsumerSettingsClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"设置\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/wallet\", component: GenPagesMallConsumerWalletClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"我的钱包\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/withdraw\", component: GenPagesMallConsumerWithdrawClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"余额提现\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/search\", component: GenPagesMallConsumerSearchClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"搜索\"],[\"navigationStyle\",\"custom\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/product-detail\", component: GenPagesMallConsumerProductDetailClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"商品详情\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/shop-detail\", component: GenPagesMallConsumerShopDetailClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"店铺详情\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/coupons\", component: GenPagesMallConsumerCouponsClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"我的优惠券\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/favorites\", component: GenPagesMallConsumerFavoritesClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"我的收藏\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/footprint\", component: GenPagesMallConsumerFootprintClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"我的足迹\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/address-list\", component: GenPagesMallConsumerAddressListClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"收货地址\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/address-edit\", component: GenPagesMallConsumerAddressEditClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"编辑地址\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/checkout\", component: GenPagesMallConsumerCheckoutClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"确认订单\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/payment\", component: GenPagesMallConsumerPaymentClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"收银台\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/payment-success\", component: GenPagesMallConsumerPaymentSuccessClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"支付成功\"],[\"navigationStyle\",\"custom\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/orders\", component: GenPagesMallConsumerOrdersClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"我的订单\"],[\"enablePullDownRefresh\",true]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/order-detail\", component: GenPagesMallConsumerOrderDetailClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"订单详情\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/logistics\", component: GenPagesMallConsumerLogisticsClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"物流详情\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/review\", component: GenPagesMallConsumerReviewClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"评价晒单\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/refund\", component: GenPagesMallConsumerRefundClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"退款/售后\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/apply-refund\", component: GenPagesMallConsumerApplyRefundClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"申请售后\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/refund-review\", component: GenPagesMallConsumerRefundReviewClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"服务评价\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/chat\", component: GenPagesMallConsumerChatClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"客服聊天\"],[\"navigationStyle\",\"custom\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/subscription/followed-shops\", component: GenPagesMallConsumerSubscriptionFollowedShopsClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"关注店铺\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/points/index\", component: GenPagesMallConsumerPointsIndexClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"积分管理\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/points/signin\", component: GenPagesMallConsumerPointsSigninClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"每日签到\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/points/exchange\", component: GenPagesMallConsumerPointsExchangeClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"积分兑换\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/points/exchange-records\", component: GenPagesMallConsumerPointsExchangeRecordsClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"兑换记录\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/product-reviews\", component: GenPagesMallConsumerProductReviewsClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"商品评价\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/my-reviews\", component: GenPagesMallConsumerMyReviewsClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"我的评价\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/balance/index\", component: GenPagesMallConsumerBalanceIndexClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"我的余额\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/share/index\", component: GenPagesMallConsumerShareIndexClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"我的分享\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/share/detail\", component: GenPagesMallConsumerShareDetailClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"分享详情\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/member/index\", component: GenPagesMallConsumerMemberIndexClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"会员中心\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/message-detail\", component: GenPagesMallConsumerMessageDetailClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"消息详情\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/red-packets/index\", component: GenPagesMallConsumerRedPacketsIndexClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"我的红包\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/bank-cards/index\", component: GenPagesMallConsumerBankCardsIndexClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"银行卡管理\"]]) } as UniPageRoute)\n__uniRoutes.push({ path: \"pages/mall/consumer/bank-cards/add\", component: GenPagesMallConsumerBankCardsAddClass, meta: { isQuit: false } as UniPageMeta, style: _uM([[\"navigationBarTitleText\",\"添加银行卡\"]]) } as UniPageRoute)\n}\nconst __uniTabBar: Map | null = _uM([[\"color\",\"#999999\"],[\"selectedColor\",\"#ff5000\"],[\"borderStyle\",\"black\"],[\"backgroundColor\",\"#ffffff\"],[\"list\",[_uM([[\"pagePath\",\"pages/main/index\"],[\"text\",\"首页\"],[\"iconPath\",\"static/tabbar/home.png\"],[\"selectedIconPath\",\"static/tabbar/home-active.png\"]]),_uM([[\"pagePath\",\"pages/main/category\"],[\"text\",\"分类\"],[\"iconPath\",\"static/tabbar/category.png\"],[\"selectedIconPath\",\"static/tabbar/category.png\"]]),_uM([[\"pagePath\",\"pages/main/cart\"],[\"text\",\"购物车\"],[\"iconPath\",\"static/tabbar/cart.png\"],[\"selectedIconPath\",\"static/tabbar/cart.png\"]]),_uM([[\"pagePath\",\"pages/main/profile\"],[\"text\",\"我的\"],[\"iconPath\",\"static/tabbar/user.png\"],[\"selectedIconPath\",\"static/tabbar/user.png\"]])]]])\nconst __uniLaunchPage: Map = _uM([[\"url\",\"pages/user/login\"],[\"style\",_uM([[\"navigationBarTitleText\",\"用户登录\"],[\"navigationStyle\",\"custom\"]])]])\nfunction defineAppConfig(){\n __uniConfig.entryPagePath = '/pages/user/login'\n __uniConfig.globalStyle = _uM([[\"navigationBarTextStyle\",\"black\"],[\"navigationBarTitleText\",\"商城\"],[\"navigationBarBackgroundColor\",\"#ffffff\"],[\"backgroundColor\",\"#f5f5f5\"]])\n __uniConfig.getTabBarConfig = ():Map | null => _uM([[\"color\",\"#999999\"],[\"selectedColor\",\"#ff5000\"],[\"borderStyle\",\"black\"],[\"backgroundColor\",\"#ffffff\"],[\"list\",[_uM([[\"pagePath\",\"pages/main/index\"],[\"text\",\"首页\"],[\"iconPath\",\"static/tabbar/home.png\"],[\"selectedIconPath\",\"static/tabbar/home-active.png\"]]),_uM([[\"pagePath\",\"pages/main/category\"],[\"text\",\"分类\"],[\"iconPath\",\"static/tabbar/category.png\"],[\"selectedIconPath\",\"static/tabbar/category.png\"]]),_uM([[\"pagePath\",\"pages/main/cart\"],[\"text\",\"购物车\"],[\"iconPath\",\"static/tabbar/cart.png\"],[\"selectedIconPath\",\"static/tabbar/cart.png\"]]),_uM([[\"pagePath\",\"pages/main/profile\"],[\"text\",\"我的\"],[\"iconPath\",\"static/tabbar/user.png\"],[\"selectedIconPath\",\"static/tabbar/user.png\"]])]]])\n __uniConfig.tabBar = __uniConfig.getTabBarConfig()\n __uniConfig.conditionUrl = ''\n __uniConfig.uniIdRouter = new Map()\n \n __uniConfig.ready = true\n}\n","import supa from '@/components/supadb/aksupainstance.uts'\r\nimport type { AkReqResponse } from '@/uni_modules/ak-req/index.uts'\r\nimport type { OrderOptions } from '@/components/supadb/aksupa.uts'\r\n\r\nconst OLD_URL = '192.168.1.61:18000'\r\nconst NEW_URL = '119.146.131.237:9126'\r\n\r\nfunction fixImageUrl(url: string | null): string {\r\n if (url == null) return ''\r\n if (url.indexOf(OLD_URL) >= 0) {\r\n return url.replace(OLD_URL, NEW_URL)\r\n }\r\n return url\r\n}\r\n\r\nfunction fixImageUrls(urls: any): string[] {\r\n if (urls == null) return []\r\n if (Array.isArray(urls)) {\r\n const result: string[] = []\r\n const arr = urls as any[]\r\n for (let i = 0; i < arr.length; i++) {\r\n try {\r\n const urlStr = JSON.stringify(arr[i])\r\n if (urlStr != null && urlStr.startsWith('\"') && urlStr.endsWith('\"')) {\r\n const fixed = fixImageUrl(urlStr.substring(1, urlStr.length - 1))\r\n if (fixed !== '') result.push(fixed)\r\n }\r\n } catch (e) {}\r\n }\r\n return result\r\n }\r\n return []\r\n}\r\n\r\n// 使用单例 Supabase 客户端\r\n// const supa = createClient(SUPA_URL, SUPA_KEY)\r\n\r\n// 辅助函数:安全获取字符串值\r\nfunction safeGetString(obj: UTSJSONObject, key: string): string {\r\n try {\r\n const rawVal = obj.get(key)\r\n if (rawVal == null) return ''\r\n const strVal = JSON.stringify(rawVal)\r\n if (strVal == null) return ''\r\n if (strVal.startsWith('\"') && strVal.endsWith('\"')) {\r\n return strVal.substring(1, strVal.length - 1)\r\n }\r\n return strVal\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:50','safeGetString error for key:', key, e)\r\n return ''\r\n }\r\n}\r\n\r\n// 辅助函数:安全获取数值\r\nfunction safeGetNumber(obj: UTSJSONObject, key: string): number {\r\n try {\r\n const rawVal = obj.get(key)\r\n if (rawVal == null) return 0\r\n try {\r\n const numVal = rawVal as number\r\n if (!isNaN(numVal)) return numVal\r\n } catch (e) {}\r\n return 0\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:66','safeGetNumber error for key:', key, e)\r\n return 0\r\n }\r\n}\r\n\r\n// 辅助函数:安全获取布尔值\r\nfunction safeGetBoolean(obj: UTSJSONObject, key: string): boolean {\r\n try {\r\n const rawVal = obj.get(key)\r\n if (rawVal == null) return false\r\n try {\r\n const boolVal = rawVal as boolean\r\n return boolVal\r\n } catch (e) {}\r\n return false\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:82','safeGetBoolean error for key:', key, e)\r\n return false\r\n }\r\n}\r\n\r\n// 辅助函数:安全获取字符串数组\r\nfunction safeGetStringArray(obj: UTSJSONObject, key: string): string[] {\r\n try {\r\n const rawVal = obj.get(key)\r\n if (rawVal != null && Array.isArray(rawVal)) {\r\n return rawVal as string[]\r\n }\r\n return [] as string[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:96','safeGetStringArray error for key:', key, e)\r\n return [] as string[]\r\n }\r\n}\r\n\r\n// 辅助函数:从原始数据解析商品\r\nfunction parseProductFromRaw(item: any): Product {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:104','[parseProductFromRaw] 开始解析商品')\r\n const itemObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n __f__('log','at utils/supabaseService.uts:106','[parseProductFromRaw] JSON转换成功')\r\n \r\n const mainImageUrl = fixImageUrl(safeGetString(itemObj, 'main_image_url'))\r\n const imageUrls = fixImageUrls(safeGetStringArray(itemObj, 'image_urls'))\r\n __f__('log','at utils/supabaseService.uts:110','[parseProductFromRaw] 图片处理完成')\r\n \r\n const result: Product = {\r\n id: safeGetString(itemObj, 'id'),\r\n name: safeGetString(itemObj, 'name'),\r\n description: safeGetString(itemObj, 'description'),\r\n base_price: safeGetNumber(itemObj, 'base_price'),\r\n price: safeGetNumber(itemObj, 'base_price'),\r\n original_price: safeGetNumber(itemObj, 'market_price'),\r\n market_price: safeGetNumber(itemObj, 'market_price'),\r\n main_image_url: mainImageUrl,\r\n image_url: mainImageUrl,\r\n images: imageUrls,\r\n category_id: safeGetString(itemObj, 'category_id'),\r\n brand_id: safeGetString(itemObj, 'brand_id'),\r\n merchant_id: safeGetString(itemObj, 'merchant_id'),\r\n total_stock: safeGetNumber(itemObj, 'total_stock'),\r\n stock: safeGetNumber(itemObj, 'total_stock'),\r\n sale_count: safeGetNumber(itemObj, 'sale_count'),\r\n status: safeGetNumber(itemObj, 'status'),\r\n is_featured: safeGetBoolean(itemObj, 'is_featured'),\r\n is_new: safeGetBoolean(itemObj, 'is_new'),\r\n is_hot: safeGetBoolean(itemObj, 'is_hot'),\r\n specification: safeGetString(itemObj, 'specification'),\r\n usage: safeGetString(itemObj, 'usage'),\r\n side_effects: safeGetString(itemObj, 'side_effects'),\r\n precautions: safeGetString(itemObj, 'precautions'),\r\n expiry_date: safeGetString(itemObj, 'expiry_date'),\r\n storage_conditions: safeGetString(itemObj, 'storage_conditions'),\r\n approval_number: safeGetString(itemObj, 'approval_number'),\r\n created_at: safeGetString(itemObj, 'created_at')\r\n }\r\n __f__('log','at utils/supabaseService.uts:142','[parseProductFromRaw] 商品解析成功:', result.name)\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:145','parseProductFromRaw error:', e)\r\n return {\r\n id: '',\r\n name: '',\r\n description: '',\r\n base_price: 0,\r\n price: 0,\r\n original_price: 0,\r\n market_price: 0,\r\n main_image_url: '',\r\n image_url: '',\r\n images: [] as string[],\r\n category_id: '',\r\n brand_id: '',\r\n merchant_id: '',\r\n total_stock: 0,\r\n stock: 0,\r\n sale_count: 0,\r\n status: 0,\r\n is_featured: false,\r\n is_new: false,\r\n is_hot: false,\r\n specification: '',\r\n usage: '',\r\n side_effects: '',\r\n precautions: '',\r\n expiry_date: '',\r\n storage_conditions: '',\r\n approval_number: '',\r\n created_at: ''\r\n } as Product\r\n }\r\n}\r\n\r\n// 类型定义\r\nexport type Brand = {\r\n id: string\r\n name: string\r\n logo_url: string\r\n description: string\r\n}\r\n\r\nexport type Category = {\r\n id: string\r\n name: string\r\n icon: string\r\n description: string\r\n color: string\r\n parent_id?: string\r\n level?: number\r\n slug?: string\r\n created_at?: string\r\n}\r\n\r\nexport type Product = {\r\n id: string\r\n category_id: string\r\n merchant_id: string\r\n name: string\r\n subtitle?: string\r\n description?: string\r\n base_price?: number\r\n market_price?: number\r\n cost_price?: number\r\n main_image_url?: string\r\n image_url?: string\r\n image_urls?: string\r\n video_urls?: string\r\n images?: string[]\r\n sale_count?: number\r\n view_count?: number\r\n total_stock?: number\r\n available_stock?: number\r\n is_hot?: boolean\r\n is_new?: boolean\r\n is_featured?: boolean\r\n status?: number\r\n rating_avg?: number\r\n rating_count?: number\r\n rating?: number\r\n review_count?: number\r\n brand_id?: string\r\n shop_id?: string\r\n tags?: string\r\n attributes?: string\r\n specification?: string\r\n usage?: string\r\n side_effects?: string\r\n precautions?: string\r\n expiry_date?: string\r\n storage_conditions?: string\r\n approval_number?: string\r\n created_at?: string\r\n updated_at?: string\r\n price?: number\r\n original_price?: number\r\n stock?: number\r\n sales?: number\r\n cover?: string\r\n brand_name?: string\r\n category_name?: string\r\n shop_name?: string\r\n merchant_name?: string\r\n}\r\n\r\nexport type Shop = {\r\n id: string\r\n merchant_id: string\r\n shop_name: string\r\n shop_logo?: string\r\n shop_banner?: string\r\n description?: string\r\n contact_name?: string\r\n contact_phone?: string\r\n rating_avg?: number\r\n total_sales?: number\r\n product_count?: number\r\n total_sales_count?: number\r\n created_at?: string\r\n}\r\n\r\nexport type CartItem = {\r\n id: string\r\n user_id: string\r\n product_id: string\r\n sku_id?: string\r\n merchant_id?: string\r\n quantity: number\r\n selected: boolean\r\n product_name?: string\r\n product_image?: string\r\n product_price?: number\r\n product_specification?: string\r\n shop_id?: string\r\n shop_name?: string\r\n created_at?: string\r\n updated_at?: string\r\n}\r\n\r\nexport type UserAddress = {\r\n id: string\r\n user_id: string\r\n recipient_name: string\r\n phone: string\r\n province: string\r\n city: string\r\n district: string\r\n detail_address: string\r\n postal_code?: string\r\n is_default: boolean\r\n label?: string\r\n created_at?: string\r\n updated_at?: string\r\n}\r\n\r\nexport type UserCoupon = {\r\n id: string\r\n user_id: string\r\n template_id: string\r\n coupon_code: string\r\n status: number // 1: unused, 2: used, 3: expired\r\n received_at: string\r\n expire_at: string\r\n used_at?: string\r\n // join fields from template or view\r\n template_name?: string\r\n amount?: number\r\n min_spend?: number\r\n name?: string\r\n title?: string\r\n}\r\n\r\nexport type ChatRoom = {\r\n id: string\r\n user_id: string\r\n merchant_id: string\r\n shop_name: string\r\n shop_logo?: string\r\n last_message?: string\r\n last_message_at?: string\r\n unread_count: number\r\n is_top: boolean\r\n created_at?: string\r\n updated_at?: string\r\n}\r\n\r\nexport type Notification = {\r\n id: string\r\n user_id: string\r\n type: string\r\n title: string\r\n content: string\r\n icon_url?: string\r\n link_url?: string\r\n is_read: boolean\r\n extra_data?: string\r\n created_at?: string\r\n}\r\n\r\nexport type ChatMessage = {\r\n id: string\r\n session_id?: string\r\n sender_id?: string\r\n receiver_id?: string\r\n content: string\r\n msg_type: string\r\n is_read: boolean\r\n is_from_user: boolean\r\n extra_data?: string\r\n created_at?: string\r\n}\r\n\r\nexport type PaginatedResponse = {\r\n data: T[]\r\n total: number\r\n page: number\r\n limit: number\r\n hasmore: boolean\r\n}\r\n\r\nexport type ProductSku = {\r\n id: string\r\n product_id: string\r\n sku_code: string\r\n specifications: string // JSON string\r\n price: number\r\n market_price?: number\r\n cost_price?: number\r\n stock?: number\r\n warning_stock?: number\r\n image_url?: string\r\n weight?: number\r\n status?: number\r\n created_at?: string\r\n}\r\n\r\nexport type AddAddressParams = {\r\n recipient_name: string\r\n phone: string\r\n province: string\r\n city: string\r\n district: string\r\n detail_address: string\r\n postal_code?: string\r\n is_default?: boolean\r\n label?: string\r\n}\r\n\r\nexport type UpdateAddressParams = {\r\n recipient_name?: string\r\n phone?: string\r\n province?: string\r\n city?: string\r\n district?: string\r\n detail_address?: string\r\n postal_code?: string\r\n is_default?: boolean\r\n label?: string\r\n}\r\n\r\nexport type CreateOrderParams = {\r\n merchant_id: string\r\n product_amount: number\r\n shipping_fee: number\r\n total_amount: number\r\n shipping_address: any\r\n items: any[]\r\n}\r\n\r\nexport type ShopOrderParams = {\r\n shipping_address: any\r\n shopGroups: any[]\r\n deliveryFee: number\r\n discountAmount: number\r\n}\r\n\r\nexport type ShopOrderResponse = {\r\n success: boolean\r\n orderIds: string[]\r\n error?: string\r\n}\r\n\r\nexport type RefundResponse = {\r\n success: boolean\r\n message: string\r\n}\r\n\r\nexport type ConfirmReceiptResponse = {\r\n success: boolean\r\n error?: string\r\n}\r\n\r\nclass SupabaseService {\r\n // 获取当前用户ID\r\n public getCurrentUserId(): string | null {\r\n try {\r\n // 1. 优先从 Supabase 会话获取\r\n const session = supa.getSession()\r\n if (session != null && session.user != null) {\r\n return session.user.getString('id')\r\n }\r\n \r\n // 2. 尝试从 Storage 恢复 Session (针对 App 重启后内存丢失的情况)\r\n // 注意:这里无法异步调用 hydrate,所以只能依赖 UI 层或 init 层的预加载\r\n // 但我们可以返回本地存储 ID 作为 fallback,前提是 Token 有效\r\n \r\n // 后备:尝试从本地存储获取\r\n const userId = uni.getStorageSync('user_id')\r\n return userId != null ? userId as string : null\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:455','获取用户ID失败:', e)\r\n return null\r\n }\r\n }\r\n\r\n // 确保会话有效 (异步)\r\n async ensureSession(): Promise {\r\n let session = supa.getSession()\r\n if (session.user == null) {\r\n __f__('log','at utils/supabaseService.uts:464','Session user is null, attempting to hydrate from storage...')\r\n await supa.hydrateSessionFromStorage()\r\n session = supa.getSession()\r\n }\r\n \r\n if (session.user != null) {\r\n // 同步 user_id 到 storage 保持一致\r\n const uid = session.user!!.getString('id')\r\n if (uid != null) {\r\n uni.setStorageSync('user_id', uid)\r\n return uid\r\n }\r\n }\r\n return this.getCurrentUserId()\r\n }\r\n\r\n // 获取所有分类\r\n async getCategories(): Promise {\r\n try {\r\n const response = await supa\r\n .from('ml_categories')\r\n .select('*')\r\n .order('name', { ascending: true })\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:490','获取分类失败:', response.error)\r\n return []\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) {\r\n return []\r\n }\r\n \r\n const categories: Category[] = []\r\n const rawList = rawData as any[]\r\n for (let i: number = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const catObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n const idVal = catObj.get('id')\r\n const nameVal = catObj.get('name')\r\n const iconVal = catObj.get('icon')\r\n const iconUrlVal = catObj.get('icon_url')\r\n const descVal = catObj.get('description')\r\n const colorVal = catObj.get('color')\r\n const parentIdVal = catObj.get('parent_id')\r\n const levelVal = catObj.get('level')\r\n \r\n const cat: Category = {\r\n id: (typeof idVal == 'string') ? (idVal as string) : '',\r\n name: (typeof nameVal == 'string') ? (nameVal as string) : '',\r\n icon: (typeof iconVal == 'string') ? (iconVal as string) : ((typeof iconUrlVal == 'string') ? (iconUrlVal as string) : ''),\r\n description: (typeof descVal == 'string') ? (descVal as string) : '',\r\n color: (typeof colorVal == 'string') ? (colorVal as string) : '#4CAF50',\r\n parent_id: (typeof parentIdVal == 'string') ? (parentIdVal as string) : null,\r\n level: (typeof levelVal == 'number') ? (levelVal as number) : 0\r\n } as Category\r\n categories.push(cat)\r\n }\r\n return categories\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:526','获取分类异常:', error)\r\n return []\r\n }\r\n }\r\n\r\n // 根据ID获取单个分类\r\n async getCategoryById(categoryId: string): Promise {\r\n try {\r\n const response = await supa\r\n .from('ml_categories')\r\n .select('*')\r\n .eq('id', categoryId)\r\n .limit(1)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:542','获取分类失败:', response.error)\r\n return null\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) {\r\n return null\r\n }\r\n \r\n // 处理数组返回值\r\n const rawList = rawData as any[]\r\n if (rawList.length == 0) {\r\n return null\r\n }\r\n \r\n const item = rawList[0]\r\n const catObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n const idVal = catObj.get('id')\r\n const nameVal = catObj.get('name')\r\n const iconVal = catObj.get('icon')\r\n const iconUrlVal = catObj.get('icon_url')\r\n const descVal = catObj.get('description')\r\n const colorVal = catObj.get('color')\r\n const parentIdVal = catObj.get('parent_id')\r\n const levelVal = catObj.get('level')\r\n \r\n const cat: Category = {\r\n id: (typeof idVal == 'string') ? (idVal as string) : '',\r\n name: (typeof nameVal == 'string') ? (nameVal as string) : '',\r\n icon: (typeof iconVal == 'string') ? (iconVal as string) : ((typeof iconUrlVal == 'string') ? (iconUrlVal as string) : ''),\r\n description: (typeof descVal == 'string') ? (descVal as string) : '',\r\n color: (typeof colorVal == 'string') ? (colorVal as string) : '#4CAF50',\r\n parent_id: (typeof parentIdVal == 'string') ? (parentIdVal as string) : null,\r\n level: (typeof levelVal == 'number') ? (levelVal as number) : 0\r\n } as Category\r\n return cat\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:579','获取分类异常:', error)\r\n return null\r\n }\r\n }\r\n\r\n // 获取一级分类\r\n async getParentCategories(): Promise {\r\n try {\r\n const response = await supa\r\n .from('ml_categories')\r\n .select('*')\r\n .is('parent_id', null)\r\n .order('sort_order', { ascending: true })\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:595','获取一级分类失败:', response.error)\r\n return []\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) {\r\n return []\r\n }\r\n\r\n const categories: Category[] = []\r\n const rawList = rawData as Array\r\n for (let i = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const icon = this.getCategoryIcon(item)\r\n \r\n // 安全获取属性\r\n const idVal = item['id']\r\n const nameVal = item['name']\r\n const descVal = item['description']\r\n const colorVal = item['color']\r\n const slugVal = item['slug']\r\n \r\n const cat: Category = {\r\n id: (typeof idVal == 'string') ? (idVal as string) : '',\r\n name: (typeof nameVal == 'string') ? (nameVal as string) : '',\r\n icon: icon,\r\n description: (typeof descVal == 'string') ? (descVal as string) : '',\r\n color: (typeof colorVal == 'string') ? (colorVal as string) : '#ff5000',\r\n level: 1,\r\n slug: (typeof slugVal == 'string') ? (slugVal as string) : ''\r\n }\r\n categories.push(cat)\r\n }\r\n return categories\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:630','获取一级分类异常:', error)\r\n return []\r\n }\r\n }\r\n\r\n // 获取子分类\r\n async getSubCategories(parentId: string): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:638','[getSubCategories] 开始获取子分类, parentId:', parentId)\r\n const response = await supa\r\n .from('ml_categories')\r\n .select('*')\r\n .order('sort_order', { ascending: true })\r\n .execute()\r\n \r\n __f__('log','at utils/supabaseService.uts:645','[getSubCategories] 查询完成')\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:648','获取子分类失败:', response.error)\r\n return []\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) {\r\n __f__('log','at utils/supabaseService.uts:654','[getSubCategories] 数据为空')\r\n return []\r\n }\r\n\r\n const categories: Category[] = []\r\n const rawList = rawData as any[]\r\n __f__('log','at utils/supabaseService.uts:660','[getSubCategories] 原始数据条数:', rawList.length)\r\n \r\n for (let i = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const itemObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n \r\n // 手动过滤 parent_id\r\n const itemParentId = safeGetString(itemObj, 'parent_id')\r\n const isMatch = (itemParentId.length > 0 && itemParentId == parentId)\r\n if (!isMatch) {\r\n continue\r\n }\r\n \r\n const icon = this.getCategoryIcon(itemObj)\r\n const cat: Category = {\r\n id: safeGetString(itemObj, 'id'),\r\n name: safeGetString(itemObj, 'name'),\r\n icon: icon,\r\n description: safeGetString(itemObj, 'description'),\r\n color: safeGetString(itemObj, 'color').length > 0 ? safeGetString(itemObj, 'color') : '#ff5000',\r\n level: 2,\r\n parent_id: safeGetString(itemObj, 'parent_id'),\r\n slug: safeGetString(itemObj, 'slug')\r\n }\r\n categories.push(cat)\r\n }\r\n __f__('log','at utils/supabaseService.uts:686','[getSubCategories] 返回分类数量:', categories.length)\r\n return categories\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:689','获取子分类异常:', error)\r\n return []\r\n }\r\n }\r\n\r\n // 获取分类图标的辅助方法\r\n getCategoryIcon(item: UTSJSONObject): string {\r\n const itemObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n const icon = safeGetString(itemObj, 'icon')\r\n if (icon.length > 0) {\r\n return icon\r\n }\r\n const iconUrl = safeGetString(itemObj, 'icon_url')\r\n if (iconUrl.length > 0) {\r\n return iconUrl\r\n }\r\n const name = safeGetString(itemObj, 'name')\r\n if (name.includes('数码') || name.includes('电器') || name.includes('手机')) return '📱'\r\n if (name.includes('服装') || name.includes('衣服') || name.includes('鞋')) return '👕'\r\n if (name.includes('食品') || name.includes('水果') || name.includes('零食')) return '🍎'\r\n if (name.includes('美妆') || name.includes('护肤') || name.includes('化妆')) return '💄'\r\n if (name.includes('母婴') || name.includes('婴儿') || name.includes('儿童')) return '👶'\r\n if (name.includes('家居') || name.includes('家具') || name.includes('装饰')) return '🏠'\r\n if (name.includes('图书') || name.includes('文具')) return '📚'\r\n if (name.includes('运动') || name.includes('户外') || name.includes('健身')) return '⚽'\r\n if (name.includes('医药') || name.includes('保健') || name.includes('健康')) return '💊'\r\n return '📦'\r\n }\r\n\r\n // 获取所有品牌\r\n async getBrands(): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:721','[getBrands] 开始获取品牌数据...')\r\n const response = await supa\r\n .from('ml_brands')\r\n .select('id, name, logo_url, description, is_active')\r\n .order('name', { ascending: true })\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:729','获取品牌失败:', response.error)\r\n return []\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) {\r\n __f__('log','at utils/supabaseService.uts:735','[getBrands] 数据为空')\r\n return []\r\n }\r\n \r\n const brands: Brand[] = []\r\n const rawList = rawData as any[]\r\n __f__('log','at utils/supabaseService.uts:741','[getBrands] 数据条数:', rawList.length)\r\n \r\n for (let i: number = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const brandObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n const idVal = brandObj.get('id')\r\n const nameVal = brandObj.get('name')\r\n const logoVal = brandObj.get('logo_url')\r\n const descVal = brandObj.get('description')\r\n const isActiveVal = brandObj.get('is_active')\r\n \r\n let isActiveBool: boolean = true\r\n if (isActiveVal != null) {\r\n if (typeof isActiveVal == 'boolean') {\r\n isActiveBool = isActiveVal as boolean\r\n } else if (typeof isActiveVal == 'number') {\r\n isActiveBool = (isActiveVal as number) === 1\r\n }\r\n }\r\n if (!isActiveBool) {\r\n continue\r\n }\r\n \r\n const brand: Brand = {\r\n id: (typeof idVal == 'string') ? (idVal as string) : '',\r\n name: (typeof nameVal == 'string') ? (nameVal as string) : '',\r\n logo_url: (typeof logoVal == 'string') ? (logoVal as string) : '',\r\n description: (typeof descVal == 'string') ? (descVal as string) : ''\r\n } as Brand\r\n brands.push(brand)\r\n }\r\n __f__('log','at utils/supabaseService.uts:772','[getBrands] 返回品牌数量:', brands.length)\r\n return brands\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:775','获取品牌异常:', error)\r\n return []\r\n }\r\n }\r\n\r\n // 获取指定分类的商品\r\n async getProductsByCategory(\r\n categoryId: string, \r\n page: number = 1, \r\n limit: number = 20\r\n ): Promise> {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:787','[getProductsByCategory] 开始查询,分类ID:', categoryId, '页码:', page)\r\n \r\n // 在数据库层面进行分类过滤\r\n const response = await supa\r\n .from('ml_products_detail_view')\r\n .select('*', { count: 'exact' })\r\n .eq('category_id', categoryId)\r\n .eq('status', '1') // 使用字符串 '1' 而不是整数 1\r\n .order('sale_count', { ascending: false })\r\n .page(page)\r\n .limit(limit)\r\n .execute()\r\n \r\n __f__('log','at utils/supabaseService.uts:800','[getProductsByCategory] 查询完成,total:', response.total)\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:803','获取商品失败:', response.error)\r\n return {\r\n data: [] as Product[],\r\n total: 0,\r\n page,\r\n limit,\r\n hasmore: false\r\n }\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) {\r\n return {\r\n data: [] as Product[],\r\n total: 0,\r\n page,\r\n limit,\r\n hasmore: false\r\n }\r\n }\r\n \r\n const products: Product[] = []\r\n const rawList = rawData as any[]\r\n __f__('log','at utils/supabaseService.uts:826','[getProductsByCategory] 返回数据条数:', rawList.length)\r\n \r\n for (let i: number = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n products.push(parseProductFromRaw(item))\r\n }\r\n \r\n return {\r\n data: products,\r\n total: response.total ?? products.length,\r\n page,\r\n limit,\r\n hasmore: response.hasmore ?? false\r\n }\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:841','获取商品异常:', error)\r\n return {\r\n data: [] as Product[],\r\n total: 0,\r\n page,\r\n limit,\r\n hasmore: false\r\n }\r\n }\r\n }\r\n\r\n // 根据商品ID获取SKU列表\r\n async getProductSkus(productId: string): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:855','[getProductSkus] 开始获取SKU,商品ID:', productId)\r\n const response = await supa\r\n .from('ml_product_skus')\r\n .select('*')\r\n .eq('product_id', productId)\r\n .eq('status', '1')\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:864','获取商品SKU失败:', response.error)\r\n return []\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) return []\r\n \r\n const skus: ProductSku[] = []\r\n const rawList = rawData as any[]\r\n __f__('log','at utils/supabaseService.uts:873','[getProductSkus] 获取到SKU数量:', rawList.length)\r\n \r\n for (let i = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const skuObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n \r\n const rawId = skuObj.get('id')\r\n const rawSkuCode = skuObj.get('sku_code')\r\n const rawProdId = skuObj.get('product_id')\r\n const rawPrice = skuObj.get('price')\r\n const rawStock = skuObj.get('stock')\r\n const rawImageUrl = skuObj.get('image_url')\r\n const rawSpecs = skuObj.get('specifications')\r\n \r\n let specsStr = ''\r\n if (rawSpecs != null) {\r\n try {\r\n if (typeof rawSpecs == 'string') {\r\n specsStr = rawSpecs as string\r\n } else {\r\n specsStr = JSON.stringify(rawSpecs)\r\n }\r\n } catch(e) {\r\n __f__('error','at utils/supabaseService.uts:896','解析SKU规格失败', e)\r\n }\r\n }\r\n \r\n const sku: ProductSku = {\r\n id: (typeof rawId == 'string') ? (rawId as string) : '',\r\n product_id: (typeof rawProdId == 'string') ? (rawProdId as string) : '',\r\n sku_code: (typeof rawSkuCode == 'string') ? (rawSkuCode as string) : '',\r\n specifications: specsStr,\r\n price: (typeof rawPrice == 'number') ? (rawPrice as number) : 0,\r\n stock: (typeof rawStock == 'number') ? (rawStock as number) : 0,\r\n image_url: (typeof rawImageUrl == 'string') ? (rawImageUrl as string) : '',\r\n status: 1\r\n }\r\n skus.push(sku)\r\n }\r\n return skus\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:914','获取商品SKU异常:', error)\r\n return []\r\n }\r\n }\r\n\r\n // 搜索商品\r\n async searchProducts(\r\n keyword: string, \r\n page: number = 1, \r\n limit: number = 20,\r\n sortBy: string = 'sales',\r\n ascending: boolean = false\r\n ): Promise> {\r\n try {\r\n const keywordLower = keyword.toLowerCase()\r\n const encodedKeyword = encodeURIComponent(keywordLower)\r\n const orString = `name.ilike.%${encodedKeyword}%,description.ilike.%${encodedKeyword}%,subtitle.ilike.%${encodedKeyword}%,brand_name.ilike.%${encodedKeyword}%`\r\n __f__('log','at utils/supabaseService.uts:931','[searchProducts] 搜索关键词:', keyword, '编码后:', encodedKeyword)\r\n __f__('log','at utils/supabaseService.uts:932','[searchProducts] or条件:', orString)\r\n \r\n let query = supa\r\n .from('ml_products_detail_view')\r\n .select('*', { count: 'exact' })\r\n .eq('status', 1)\r\n .or(orString)\r\n \r\n if (sortBy === 'price') {\r\n query = query.order('base_price', { ascending })\r\n } else if (sortBy === 'sales' || sortBy === 'sale_count') {\r\n query = query.order('sale_count', { ascending: false })\r\n } else {\r\n query = query.order('sale_count', { ascending: false })\r\n }\r\n \r\n const response = await query\r\n .page(page)\r\n .limit(limit)\r\n .execute()\r\n \r\n let dataLength = 0\r\n try {\r\n const respData = response.data\r\n if (respData != null && Array.isArray(respData)) {\r\n dataLength = (respData as any[]).length\r\n }\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:960','[searchProducts] 获取数据长度失败:', e)\r\n }\r\n let statusNum = 0\r\n try {\r\n statusNum = response.status as number\r\n } catch (e) {}\r\n __f__('log','at utils/supabaseService.uts:966','[searchProducts] 响应状态:', statusNum, '数据条数:', dataLength)\r\n \r\n let hasError = false\r\n try {\r\n hasError = response.error != null\r\n } catch (e) {}\r\n if (hasError) {\r\n __f__('error','at utils/supabaseService.uts:973','[searchProducts] 搜索商品失败:', response.error)\r\n return {\r\n data: [] as Product[],\r\n total: 0,\r\n page,\r\n limit,\r\n hasmore: false\r\n }\r\n }\r\n \r\n const rawData = response.data\r\n __f__('log','at utils/supabaseService.uts:984','[searchProducts] rawData:', rawData != null ? 'not null' : 'null')\r\n if (rawData == null) {\r\n return {\r\n data: [] as Product[],\r\n total: 0,\r\n page,\r\n limit,\r\n hasmore: false\r\n }\r\n }\r\n \r\n const products: Product[] = []\r\n let rawList: any[] = []\r\n try {\r\n rawList = rawData as any[]\r\n __f__('log','at utils/supabaseService.uts:999','[searchProducts] rawList长度:', rawList.length)\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:1001','[searchProducts] 转换rawList失败:', e)\r\n return {\r\n data: [] as Product[],\r\n total: 0,\r\n page,\r\n limit,\r\n hasmore: false\r\n }\r\n }\r\n \r\n for (let i = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n __f__('log','at utils/supabaseService.uts:1013','[searchProducts] 处理第', i + 1, '个商品')\r\n products.push(parseProductFromRaw(item))\r\n }\r\n \r\n let totalNum = 0\r\n try {\r\n totalNum = response.total as number\r\n } catch (e) {}\r\n let hasmoreVal = false\r\n try {\r\n hasmoreVal = response.hasmore as boolean\r\n } catch (e) {}\r\n \r\n return {\r\n data: products,\r\n total: totalNum > 0 ? totalNum : products.length,\r\n page,\r\n limit,\r\n hasmore: hasmoreVal\r\n }\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:1034','搜索商品异常:', error)\r\n return {\r\n data: [] as Product[],\r\n total: 0,\r\n page,\r\n limit,\r\n hasmore: false\r\n }\r\n }\r\n }\r\n\r\n // 搜索店铺\r\n async searchShops(\r\n keyword: string,\r\n page: number = 1,\r\n limit: number = 20\r\n ): Promise> {\r\n try {\r\n const encodedKeyword = encodeURIComponent(keyword)\r\n const response = await supa\r\n .from('ml_shops')\r\n .select('*', { count: 'exact' })\r\n .ilike('shop_name', `%${encodedKeyword}%`)\r\n .order('product_count', { ascending: false })\r\n .page(page)\r\n .limit(limit)\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:1063','搜索店铺失败:', response.error)\r\n return { data: [] as Shop[], total: 0, page, limit, hasmore: false }\r\n }\r\n\r\n const rawData = response.data\r\n if (rawData == null) {\r\n return { data: [] as Shop[], total: 0, page, limit, hasmore: false }\r\n }\r\n\r\n const shops: Shop[] = []\r\n const dataList = rawData as any[]\r\n for (let i = 0; i < dataList.length; i++) {\r\n const item = dataList[i]\r\n const shopObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n \r\n // 手动过滤 status\r\n const rawStatus = shopObj.get('status')\r\n let statusNum: number = 0\r\n if (typeof rawStatus == 'number') {\r\n statusNum = rawStatus as number\r\n }\r\n if (statusNum !== 1) continue\r\n \r\n // 手动创建 Shop 对象,避免安卓端类型转换错误\r\n const shop: Shop = {\r\n id: shopObj.getString('id') ?? '',\r\n merchant_id: shopObj.getString('merchant_id') ?? '',\r\n shop_name: shopObj.getString('shop_name') ?? '',\r\n shop_logo: shopObj.getString('shop_logo'),\r\n shop_banner: shopObj.getString('shop_banner'),\r\n description: shopObj.getString('description'),\r\n contact_name: shopObj.getString('contact_name'),\r\n contact_phone: shopObj.getString('contact_phone'),\r\n rating_avg: shopObj.getNumber('rating_avg'),\r\n total_sales: shopObj.getNumber('total_sales'),\r\n product_count: shopObj.getNumber('product_count'),\r\n total_sales_count: shopObj.getNumber('total_sales_count'),\r\n created_at: shopObj.getString('created_at')\r\n }\r\n shops.push(shop)\r\n }\r\n\r\n return {\r\n data: shops,\r\n total: response.total ?? shops.length,\r\n page,\r\n limit,\r\n hasmore: response.hasmore ?? false\r\n }\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:1113','搜索店铺异常:', error)\r\n return { data: [] as Shop[], total: 0, page, limit, hasmore: false }\r\n }\r\n }\r\n\r\n // 获取单个商品详情\r\n async getProductById(productId: string): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:1121','[getProductById] 开始获取商品详情,ID:', productId)\r\n const response = await supa\r\n .from('ml_products_detail_view')\r\n .select('*')\r\n .eq('id', productId)\r\n .limit(1)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:1130','获取商品详情失败:', response.error)\r\n return null\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) {\r\n __f__('log','at utils/supabaseService.uts:1136','[getProductById] 数据为空')\r\n return null\r\n }\r\n \r\n const rawList = rawData as any[]\r\n if (rawList.length == 0) {\r\n __f__('log','at utils/supabaseService.uts:1142','[getProductById] 未找到商品')\r\n return null\r\n }\r\n \r\n const item = rawList[0]\r\n const product = parseProductFromRaw(item)\r\n __f__('log','at utils/supabaseService.uts:1148','[getProductById] 成功获取商品:', product.name)\r\n return product\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:1151','获取商品详情异常:', error)\r\n return null\r\n }\r\n }\r\n\r\n // --- 关注店铺相关 ---\r\n\r\n // 检查是否已关注店铺\r\n async isShopFollowed(shopId: string, userId: string): Promise {\r\n try {\r\n const res = await supa\r\n .from('ml_shop_follows')\r\n .select('id', { count: 'exact' })\r\n .eq('shop_id', shopId)\r\n .eq('user_id', userId)\r\n .limit(1)\r\n .execute()\r\n \r\n return (res.total != null && res.total! > 0)\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:1171','Check follow error:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 关注店铺\r\n async followShop(shopId: string, userId: string): Promise {\r\n try {\r\n const res = await supa\r\n .from('ml_shop_follows')\r\n .insert({\r\n user_id: userId,\r\n shop_id: shopId\r\n })\r\n .execute()\r\n \r\n return res.error == null\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:1189','Follow shop error:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 取消关注\r\n async unfollowShop(shopId: string, userId: string): Promise {\r\n try {\r\n const res = await supa\r\n .from('ml_shop_follows')\r\n .eq('shop_id', shopId)\r\n .eq('user_id', userId)\r\n .delete()\r\n .execute()\r\n \r\n return res.error == null\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:1206','Unfollow shop error:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 获取我关注的店铺列表\r\n async getFollowedShops(userId: string): Promise {\r\n try {\r\n // 关联查询店铺信息\r\n const res = await supa\r\n .from('ml_shop_follows')\r\n .select('*, ml_shops(*)') \r\n .eq('user_id', userId)\r\n .order('created_at', { ascending: false })\r\n .execute()\r\n \r\n if (res.error != null) {\r\n __f__('error','at utils/supabaseService.uts:1223','getFollowedShops error:', res.error)\r\n return []\r\n }\r\n \r\n return res.data as any[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:1229','getFollowedShops exception:', e)\r\n return []\r\n }\r\n }\r\n\r\n // 根据商户ID获取店铺信息\r\n async getShopByMerchantId(merchantId: string): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:1237','[getShopByMerchantId] 开始获取店铺信息,merchantId:', merchantId)\r\n // 1. Try querying by merchant_id\r\n let response = await supa\r\n .from('ml_shops')\r\n .select('*')\r\n .eq('merchant_id', merchantId)\r\n .limit(1)\r\n .execute()\r\n \r\n if (response.error == null && response.data != null && (response.data as any[]).length > 0) {\r\n const shopData = (response.data as any[])[0]\r\n const shop = this.parseShopFromRaw(shopData)\r\n __f__('log','at utils/supabaseService.uts:1249','[getShopByMerchantId] 通过 merchant_id 找到店铺:', shop.shop_name)\r\n return shop\r\n }\r\n\r\n // 2. Fallback: Try querying by id (Maybe the passed ID is the Shop ID?)\r\n __f__('log','at utils/supabaseService.uts:1254','getShopByMerchantId: merchant_id not found, trying id...', merchantId)\r\n response = await supa\r\n .from('ml_shops')\r\n .select('*')\r\n .eq('id', merchantId)\r\n .limit(1)\r\n .execute()\r\n\r\n if (response.error == null && response.data != null && (response.data as any[]).length > 0) {\r\n __f__('log','at utils/supabaseService.uts:1263','Found shop by ID instead of MerchantID')\r\n const shopData = (response.data as any[])[0]\r\n const shop = this.parseShopFromRaw(shopData)\r\n return shop\r\n }\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:1270','获取店铺信息失败:', response.error)\r\n }\r\n return null\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:1274','获取店铺信息异常:', error)\r\n return null\r\n }\r\n }\r\n \r\n // 解析店铺数据\r\n parseShopFromRaw(item: any): Shop {\r\n const itemObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n \r\n const getSafeString = (key: string): string => {\r\n const val = itemObj.get(key)\r\n if (val == null) return ''\r\n if (typeof val == 'string') return val\r\n return ''\r\n }\r\n \r\n const getSafeNumber = (key: string): number => {\r\n const val = itemObj.get(key)\r\n if (val == null) return 0\r\n if (typeof val == 'number') return val\r\n return 0\r\n }\r\n \r\n return {\r\n id: getSafeString('id'),\r\n merchant_id: getSafeString('merchant_id'),\r\n shop_name: getSafeString('shop_name'),\r\n shop_logo: getSafeString('shop_logo'),\r\n shop_banner: getSafeString('shop_banner'),\r\n description: getSafeString('description'),\r\n contact_name: getSafeString('contact_name'),\r\n contact_phone: getSafeString('contact_phone'),\r\n rating_avg: getSafeNumber('rating_avg'),\r\n total_sales: getSafeNumber('total_sales'),\r\n product_count: getSafeNumber('product_count'),\r\n total_sales_count: getSafeNumber('total_sales_count'),\r\n created_at: getSafeString('created_at')\r\n } as Shop\r\n }\r\n\r\n // 根据商户ID获取商品列表\r\n async getProductsByMerchantId(merchantId: string, page: number = 1, limit: number = 20): Promise> {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:1317','getProductsByMerchantId querying for:', merchantId)\r\n \r\n // 1. Try fetching from view strictly first\r\n let query = supa\r\n .from('ml_products_detail_view')\r\n .select('*', { count: 'exact' })\r\n .eq('merchant_id', merchantId)\r\n // .eq('status', 1) // Temporarily disabled status check to see if products exist at all\r\n .order('created_at', { ascending: false })\r\n .page(page)\r\n .limit(limit)\r\n \r\n const response = await query.execute()\r\n \r\n // 检查视图结果:如果有错误 OR 数据为空,都尝试去查原始表\r\n if (response.error != null || (response.data != null && (response.data as any[]).length === 0)) {\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:1334','获取商户商品失败 (View):', response.error)\r\n } else {\r\n __f__('log','at utils/supabaseService.uts:1336','View returned 0 products, trying raw table fallback...')\r\n }\r\n \r\n // Fallback: Try raw table\r\n __f__('log','at utils/supabaseService.uts:1340','Falling back to raw ml_products table...')\r\n const query2 = supa\r\n .from('ml_products')\r\n .select('*', { count: 'exact' })\r\n .eq('merchant_id', merchantId)\r\n // .eq('status', 1) // Also disabled here\r\n .order('created_at', { ascending: false })\r\n .page(page)\r\n .limit(limit)\r\n \r\n const res2 = await query2.execute()\r\n if (res2.error != null) {\r\n __f__('error','at utils/supabaseService.uts:1352','获取商户商品失败 (Raw):', res2.error)\r\n return {data:[] as Product[], total:0, page, limit, hasmore:false}\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:1356',`Fallback (Raw) found: ${(res2.data as any[]).length} products`)\r\n \r\n const mappedData: Product[] = []\r\n const rawData = res2.data as any[]\r\n for(let i = 0; i < rawData.length; i++) {\r\n const item = JSON.parse(JSON.stringify(rawData[i])) as UTSJSONObject\r\n const images: string[] = []\r\n \r\n const mainImageUrl = fixImageUrl(item.getString('main_image_url'))\r\n if (mainImageUrl != null && mainImageUrl !== '') {\r\n images.push(mainImageUrl)\r\n }\r\n\r\n const imageUrlsRaw = item.get('image_urls')\r\n if (imageUrlsRaw != null) {\r\n try {\r\n if (Array.isArray(imageUrlsRaw)) {\r\n const arr = imageUrlsRaw as string[]\r\n if (arr.length > 0 && images.length === 0) {\r\n for (let j = 0; j < arr.length; j++) {\r\n const fixedUrl = fixImageUrl(arr[j])\r\n if (fixedUrl !== '') images.push(fixedUrl)\r\n }\r\n }\r\n } else {\r\n const rawUrlStr = imageUrlsRaw as string\r\n if (rawUrlStr.startsWith('[')) {\r\n const parsed = JSON.parse(rawUrlStr)\r\n if (Array.isArray(parsed) && images.length === 0) {\r\n for (let j = 0; j < parsed.length; j++) {\r\n const fixedUrl = fixImageUrl(parsed[j] as string)\r\n if (fixedUrl !== '') images.push(fixedUrl)\r\n }\r\n }\r\n } else {\r\n const fixedUrl = fixImageUrl(rawUrlStr)\r\n if (fixedUrl !== '' && images.indexOf(fixedUrl) === -1) images.push(fixedUrl)\r\n }\r\n }\r\n } catch(e) {\r\n __f__('error','at utils/supabaseService.uts:1396','解析图片数组失败:', e)\r\n }\r\n }\r\n \r\n if (images.length === 0) {\r\n images.push('/static/default-product.png')\r\n }\r\n \r\n let safePrice = item.getNumber('base_price')\r\n if (safePrice == null) {\r\n const p = item.getNumber('price')\r\n safePrice = p != null ? p : 0\r\n }\r\n \r\n let safeOriginalPrice = item.getNumber('market_price')\r\n if (safeOriginalPrice == null) {\r\n const op = item.getNumber('original_price')\r\n safeOriginalPrice = op != null ? op : safePrice\r\n }\r\n \r\n let safeStock = item.getNumber('total_stock')\r\n if (safeStock == null) {\r\n let as_ = item.getNumber('available_stock')\r\n if (as_ == null) {\r\n const s = item.getNumber('stock')\r\n safeStock = s != null ? s : 0\r\n } else {\r\n safeStock = as_\r\n }\r\n }\r\n \r\n let safeSales = item.getNumber('sale_count')\r\n if (safeSales == null) {\r\n const s = item.getNumber('sales')\r\n safeSales = s != null ? s : 0\r\n }\r\n \r\n const product: Product = {\r\n id: item.getString('id') ?? '',\r\n category_id: item.getString('category_id') ?? '',\r\n merchant_id: item.getString('merchant_id') ?? '',\r\n name: item.getString('name') ?? '',\r\n description: item.getString('description') ?? '',\r\n images: images,\r\n price: safePrice,\r\n original_price: safeOriginalPrice,\r\n stock: safeStock,\r\n sales: safeSales,\r\n status: item.getNumber('status') ?? 1,\r\n created_at: item.getString('created_at') ?? '',\r\n base_price: safePrice,\r\n market_price: safeOriginalPrice,\r\n main_image_url: images.length > 0 ? images[0] : '',\r\n sale_count: safeSales,\r\n total_stock: safeStock\r\n } as Product\r\n mappedData.push(product)\r\n }\r\n\r\n return {\r\n data: mappedData,\r\n total: res2.total ?? 0,\r\n page,\r\n limit,\r\n hasmore: res2.hasmore ?? false\r\n }\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:1464',`Merchant products found: ${(response.data as any[]).length}`)\r\n \r\n const viewData = response.data as any[]\r\n const parsedProducts: Product[] = []\r\n for (let i = 0; i < viewData.length; i++) {\r\n parsedProducts.push(parseProductFromRaw(viewData[i]))\r\n }\r\n \r\n return {\r\n data: parsedProducts,\r\n total: response.total ?? 0,\r\n page,\r\n limit,\r\n hasmore: response.hasmore ?? false\r\n }\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:1480','获取商户商品异常:', error)\r\n return {\r\n data: [] as Product[],\r\n total: 0,\r\n page,\r\n limit,\r\n hasmore: false\r\n }\r\n }\r\n }\r\n\r\n // 根据店铺ID获取商品列表(新增)\r\n async getProductsByShopId(shopId: string, page: number = 1, limit: number = 20): Promise> {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:1494','getProductsByShopId querying for:', shopId)\r\n \r\n // 1. Try fetching from view with shop_id\r\n let query = supa\r\n .from('ml_products_detail_view')\r\n .select('*', { count: 'exact' })\r\n .eq('shop_id', shopId)\r\n .order('created_at', { ascending: false })\r\n .page(page)\r\n .limit(limit)\r\n \r\n const response = await query.execute()\r\n \r\n // 检查视图结果:如果有错误 OR 数据为空,都尝试去查原始表\r\n if (response.error != null || (response.data != null && (response.data as any[]).length === 0)) {\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:1510','获取店铺商品失败 (View):', response.error)\r\n } else {\r\n __f__('log','at utils/supabaseService.uts:1512','View returned 0 products, trying raw table fallback...')\r\n }\r\n \r\n // Fallback: Try raw table with shop_id\r\n __f__('log','at utils/supabaseService.uts:1516','Falling back to raw ml_products table with shop_id...')\r\n const query2 = supa\r\n .from('ml_products')\r\n .select('*', { count: 'exact' })\r\n .eq('shop_id', shopId)\r\n .order('created_at', { ascending: false })\r\n .page(page)\r\n .limit(limit)\r\n \r\n const res2 = await query2.execute()\r\n if (res2.error != null) {\r\n __f__('error','at utils/supabaseService.uts:1527','获取店铺商品失败 (Raw):', res2.error)\r\n return {data:[] as Product[], total:0, page, limit, hasmore:false}\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:1531',`Fallback (Raw) found: ${(res2.data as any[]).length} products`)\r\n \r\n const mappedData: Product[] = []\r\n const rawData = res2.data as any[]\r\n for(let i = 0; i < rawData.length; i++) {\r\n const item = JSON.parse(JSON.stringify(rawData[i])) as UTSJSONObject\r\n const images: string[] = []\r\n \r\n const mainImageUrl = fixImageUrl(item.getString('main_image_url'))\r\n if (mainImageUrl != null && mainImageUrl !== '') {\r\n images.push(mainImageUrl)\r\n }\r\n\r\n const imageUrlsRaw = item.get('image_urls')\r\n if (imageUrlsRaw != null) {\r\n try {\r\n if (Array.isArray(imageUrlsRaw)) {\r\n const arr = imageUrlsRaw as string[]\r\n if (arr.length > 0 && images.length === 0) {\r\n for (let j = 0; j < arr.length; j++) {\r\n const fixedUrl = fixImageUrl(arr[j])\r\n if (fixedUrl !== '') images.push(fixedUrl)\r\n }\r\n }\r\n } else {\r\n const rawUrlStr = imageUrlsRaw as string\r\n if (rawUrlStr.startsWith('[')) {\r\n const parsed = JSON.parse(rawUrlStr)\r\n if (Array.isArray(parsed) && images.length === 0) {\r\n for (let j = 0; j < parsed.length; j++) {\r\n const fixedUrl = fixImageUrl(parsed[j] as string)\r\n if (fixedUrl !== '') images.push(fixedUrl)\r\n }\r\n }\r\n } else {\r\n const fixedUrl = fixImageUrl(rawUrlStr)\r\n if (fixedUrl !== '' && images.indexOf(fixedUrl) === -1) images.push(fixedUrl)\r\n }\r\n }\r\n } catch(e) {\r\n __f__('error','at utils/supabaseService.uts:1571','解析图片数组失败:', e)\r\n }\r\n }\r\n \r\n if (images.length === 0) {\r\n images.push('/static/default-product.png')\r\n }\r\n \r\n let safePrice = item.getNumber('base_price')\r\n if (safePrice == null) {\r\n const p = item.getNumber('price')\r\n safePrice = p != null ? p : 0\r\n }\r\n \r\n let safeOriginalPrice = item.getNumber('market_price')\r\n if (safeOriginalPrice == null) {\r\n const op = item.getNumber('original_price')\r\n safeOriginalPrice = op != null ? op : safePrice\r\n }\r\n \r\n let safeStock = item.getNumber('total_stock')\r\n if (safeStock == null) {\r\n let as_ = item.getNumber('available_stock')\r\n if (as_ == null) {\r\n const s = item.getNumber('stock')\r\n safeStock = s != null ? s : 0\r\n } else {\r\n safeStock = as_\r\n }\r\n }\r\n \r\n let safeSales = item.getNumber('sale_count')\r\n if (safeSales == null) {\r\n const s = item.getNumber('sales')\r\n safeSales = s != null ? s : 0\r\n }\r\n \r\n const product: Product = {\r\n id: item.getString('id') ?? '',\r\n category_id: item.getString('category_id') ?? '',\r\n merchant_id: item.getString('merchant_id') ?? '',\r\n name: item.getString('name') ?? '',\r\n description: item.getString('description') ?? '',\r\n images: images,\r\n price: safePrice,\r\n original_price: safeOriginalPrice,\r\n stock: safeStock,\r\n sales: safeSales,\r\n status: item.getNumber('status') ?? 1,\r\n created_at: item.getString('created_at') ?? '',\r\n base_price: safePrice,\r\n market_price: safeOriginalPrice,\r\n main_image_url: images.length > 0 ? images[0] : '',\r\n sale_count: safeSales,\r\n total_stock: safeStock\r\n } as Product\r\n mappedData.push(product)\r\n }\r\n\r\n return {\r\n data: mappedData,\r\n total: res2.total ?? 0,\r\n page,\r\n limit,\r\n hasmore: res2.hasmore ?? false\r\n }\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:1639',`Shop products found: ${(response.data as any[]).length}`)\r\n \r\n const viewData = response.data as any[]\r\n const parsedProducts: Product[] = []\r\n for (let i = 0; i < viewData.length; i++) {\r\n parsedProducts.push(parseProductFromRaw(viewData[i]))\r\n }\r\n \r\n return {\r\n data: parsedProducts,\r\n total: response.total ?? 0,\r\n page,\r\n limit,\r\n hasmore: response.hasmore ?? false\r\n }\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:1655','获取店铺商品异常:', error)\r\n return {\r\n data: [] as Product[],\r\n total: 0,\r\n page,\r\n limit,\r\n hasmore: false\r\n }\r\n }\r\n }\r\n\r\n // 获取热销商品(按销量排序)\r\n async getHotProducts(limit: number = 10): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:1669','[getHotProducts] 开始获取热销商品...')\r\n \r\n // 在数据库层面过滤 status,获取更多数据以便手动过滤 is_hot\r\n const response = await supa\r\n .from('ml_products_detail_view')\r\n .select('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')\r\n .eq('status', '1') // 使用字符串 '1'\r\n .order('sale_count', { ascending: false })\r\n .limit(limit * 5) // 获取更多数据以便过滤\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:1681','获取热销商品失败:', response.error)\r\n return []\r\n }\r\n \r\n const rawData = response.data\r\n __f__('log','at utils/supabaseService.uts:1686','[getHotProducts] 原始数据条数:', rawData != null ? (rawData as any[]).length : 0)\r\n if (rawData == null) {\r\n __f__('log','at utils/supabaseService.uts:1688','[getHotProducts] 数据为空')\r\n return []\r\n }\r\n \r\n const products: Product[] = []\r\n const rawList = rawData as any[]\r\n for (let i: number = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const prodObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n \r\n // 手动过滤 is_hot\r\n const rawIsHot = prodObj.get('is_hot')\r\n let isHotBool: boolean = false\r\n if (typeof rawIsHot == 'boolean') {\r\n isHotBool = rawIsHot as boolean\r\n } else if (typeof rawIsHot == 'number') {\r\n isHotBool = (rawIsHot as number) == 1\r\n }\r\n if (!isHotBool) continue\r\n \r\n products.push(parseProductFromRaw(item))\r\n \r\n // 达到目标数量就停止\r\n if (products.length >= limit) break\r\n }\r\n __f__('log','at utils/supabaseService.uts:1713','[getHotProducts] 最终返回商品数:', products.length)\r\n return products\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:1716','获取热销商品异常:', error)\r\n return []\r\n }\r\n }\r\n\r\n // 获取按销量排序的商品(所有商品,不限制 is_hot)\r\n async getProductsBySales(limit: number = 10): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:1724','[getProductsBySales] 开始获取销量排序商品...')\r\n const response = await supa\r\n .from('ml_products_detail_view')\r\n .select('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')\r\n .eq('status', '1')\r\n .order('sale_count', { ascending: false })\r\n .limit(limit)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:1734','获取销量排序商品失败:', response.error)\r\n return []\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) {\r\n return []\r\n }\r\n \r\n const products: Product[] = []\r\n const rawList = rawData as any[]\r\n for (let i: number = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n products.push(parseProductFromRaw(item))\r\n }\r\n __f__('log','at utils/supabaseService.uts:1749','[getProductsBySales] 返回商品数:', products.length)\r\n return products\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:1752','获取销量排序商品异常:', error)\r\n return []\r\n }\r\n }\r\n\r\n // 获取按价格排序的商品(升序:从低到高)\r\n async getProductsByPrice(limit: number = 10, ascending: boolean = true): Promise {\r\n try {\r\n const response = await supa\r\n .from('ml_products_detail_view')\r\n .select('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')\r\n .eq('status', '1') // 在数据库层面过滤\r\n .order('base_price', { ascending })\r\n .limit(limit)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:1769','获取价格排序商品失败:', response.error)\r\n return []\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) {\r\n return []\r\n }\r\n \r\n const products: Product[] = []\r\n const rawList = rawData as any[]\r\n for (let i: number = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n products.push(parseProductFromRaw(item))\r\n }\r\n return products\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:1786','获取价格排序商品异常:', error)\r\n return []\r\n }\r\n }\r\n\r\n // 获取新品(按创建时间排序,最新的在前)\r\n async getProductsByNewest(limit: number = 10): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:1794','[getProductsByNewest] 开始获取新品...')\r\n const response = await supa\r\n .from('ml_products_detail_view')\r\n .select('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')\r\n .eq('status', '1')\r\n .order('created_at', { ascending: false })\r\n .limit(limit * 5)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:1804','获取新品失败:', response.error)\r\n return []\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) {\r\n return []\r\n }\r\n \r\n const products: Product[] = []\r\n const rawList = rawData as any[]\r\n for (let i: number = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const prodObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n \r\n // 手动过滤 is_new\r\n const rawIsNew = prodObj.get('is_new')\r\n let isNewBool: boolean = false\r\n if (typeof rawIsNew == 'boolean') {\r\n isNewBool = rawIsNew as boolean\r\n } else if (typeof rawIsNew == 'number') {\r\n isNewBool = (rawIsNew as number) == 1\r\n }\r\n if (!isNewBool) continue\r\n \r\n products.push(parseProductFromRaw(item))\r\n if (products.length >= limit) break\r\n }\r\n \r\n // 如果 is_new 商品不足,补充普通商品\r\n if (products.length < limit) {\r\n __f__('log','at utils/supabaseService.uts:1835','[getProductsByNewest] is_new商品不足,补充普通商品')\r\n const addedIds = new Set()\r\n for (let i = 0; i < products.length; i++) {\r\n addedIds.add(products[i].id)\r\n }\r\n \r\n for (let i: number = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const prodObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n const rawId = prodObj.get('id')\r\n const itemId = (typeof rawId == 'string') ? (rawId as string) : ''\r\n \r\n if (!addedIds.has(itemId)) {\r\n products.push(parseProductFromRaw(item))\r\n addedIds.add(itemId)\r\n if (products.length >= limit) break\r\n }\r\n }\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:1855','[getProductsByNewest] 返回商品数:', products.length)\r\n return products\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:1858','获取新品异常:', error)\r\n return []\r\n }\r\n }\r\n\r\n // 获取推荐商品(is_featured=true)\r\n async getRecommendedProducts(limit: number = 10): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:1866','[getRecommendedProducts] 开始获取推荐商品...')\r\n const response = await supa\r\n .from('ml_products_detail_view')\r\n .select('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')\r\n .eq('status', '1') // 在数据库层面过滤\r\n .order('sale_count', { ascending: false })\r\n .limit(limit * 5) // 获取更多数据以便过滤 is_featured\r\n .execute()\r\n \r\n __f__('log','at utils/supabaseService.uts:1875','[getRecommendedProducts] 查询完成')\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:1878','获取推荐商品失败:', response.error)\r\n return []\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) {\r\n __f__('log','at utils/supabaseService.uts:1884','[getRecommendedProducts] 数据为空')\r\n return []\r\n }\r\n \r\n const products: Product[] = []\r\n const rawList = rawData as any[]\r\n __f__('log','at utils/supabaseService.uts:1890','[getRecommendedProducts] 数据条数:', rawList.length)\r\n \r\n for (let i: number = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const prodObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n const rawFeatured = prodObj.get('is_featured')\r\n \r\n let isFeaturedBool: boolean = false\r\n if (typeof rawFeatured == 'boolean') {\r\n isFeaturedBool = rawFeatured as boolean\r\n } else if (typeof rawFeatured == 'number') {\r\n isFeaturedBool = (rawFeatured as number) == 1\r\n }\r\n if (!isFeaturedBool) {\r\n continue\r\n }\r\n \r\n products.push(parseProductFromRaw(item))\r\n if (products.length >= limit) break\r\n }\r\n return products\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:1912','获取推荐商品异常:', error)\r\n return []\r\n }\r\n }\r\n\r\n // 获取特价商品(这里假设没有specific flag, just use logic or tag if exists, defaulting to hot for now or just skip)\r\n // Modify to use compatible logic if badge column doesn't exist\r\n async getDiscountProducts(limit: number = 10): Promise {\r\n return [] as Product[] // 暂无特价字段\r\n }\r\n\r\n // 获取当前用户的购物车商品(关联商品和店铺信息)\r\n async getCartItems(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('warn','at utils/supabaseService.uts:1928','用户未登录,无法获取购物车')\r\n return []\r\n }\r\n\r\n // 查询购物车表,并关联商品表(使用内联关联)\r\n // 注意:使用 !inner 进行内连接,或者 left join (默认)\r\n // 修改查询语法以符合 PostgREST 规范\r\n // 尝试简化查询,先只查购物车,再查商品,避免复杂的嵌套查询导致 400 错误\r\n const response = await supa\r\n .from('ml_shopping_cart')\r\n .select('*')\r\n .eq('user_id', userId)\r\n .order('created_at', { ascending: false })\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:1944','获取购物车失败:', response.error)\r\n return []\r\n }\r\n \r\n const cartData = response.data as any[]\r\n // __f__('log','at utils/supabaseService.uts:1949','Raw Cart Data:', JSON.stringify(cartData))\r\n \r\n if (cartData == null || cartData.length === 0) {\r\n return []\r\n }\r\n\r\n // 收集所有 product_id 和 sku_id\r\n const productIds: string[] = []\r\n const skuIds: string[] = []\r\n for (let i = 0; i < cartData.length; i++) {\r\n let item = cartData[i]\r\n let pid: string = ''\r\n let sid: string = ''\r\n if (item instanceof UTSJSONObject) {\r\n pid = item.getString('product_id') ?? ''\r\n sid = item.getString('sku_id') ?? ''\r\n } else {\r\n const itemObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n pid = itemObj.getString('product_id') ?? ''\r\n sid = itemObj.getString('sku_id') ?? ''\r\n }\r\n if (pid !== '' && !productIds.includes(pid)) {\r\n productIds.push(pid)\r\n }\r\n if (sid !== '' && !skuIds.includes(sid)) {\r\n skuIds.push(sid)\r\n }\r\n }\r\n\r\n // 批量查询商品详情 (使用视图关联店铺信息,修复字段名 specification -> attributes)\r\n const productMap = new Map()\r\n \r\n if (productIds.length > 0) {\r\n // Convert string array to any array for .in()\r\n const productIdsAny: any[] = []\r\n for(let i=0; i()\r\n const merchantIds: string[] = []\r\n // 遍历 productMap 获取 merchant_id\r\n productMap.forEach((p: any, pid: string) => {\r\n let mid: string = ''\r\n if (p instanceof UTSJSONObject) {\r\n mid = p.getString('merchant_id') ?? ''\r\n } else {\r\n const pObj = JSON.parse(JSON.stringify(p)) as UTSJSONObject\r\n mid = pObj.getString('merchant_id') ?? ''\r\n }\r\n if (mid !== '' && !merchantIds.includes(mid)) {\r\n merchantIds.push(mid)\r\n }\r\n })\r\n \r\n if (merchantIds.length > 0) {\r\n const merchantIdsAny: any[] = []\r\n for(let i=0; i()\r\n if (skuIds.length > 0) {\r\n const skuIdsAny: any[] = []\r\n for(let i=0; i 0) {\r\n productPrice = skuPrice\r\n }\r\n const skuImg = sku.getString('image_url')\r\n if (skuImg != null && skuImg !== '') {\r\n productImage = skuImg\r\n }\r\n \r\n const specRaw = sku.get('specifications')\r\n if (specRaw != null) {\r\n if (typeof specRaw === 'string') {\r\n productSpec = specRaw\r\n } else if (specRaw instanceof UTSJSONObject) {\r\n const keys = ['规格', '颜色', '尺码', '容量', '版本', '型号']\r\n const result: string[] = []\r\n for (let k = 0; k < keys.length; k++) {\r\n const key = keys[k]\r\n const val = specRaw.get(key)\r\n if (val != null && val !== '') {\r\n result.push(`${val}`)\r\n }\r\n }\r\n if (result.length > 0) {\r\n productSpec = result.join(' ')\r\n } else {\r\n const allKeys = UTSJSONObject.keys(specRaw)\r\n const parts: string[] = []\r\n for(let k = 0; k < allKeys.length; k++) {\r\n let val = specRaw.get(allKeys[k])\r\n if (val != null) {\r\n parts.push(`${val}`)\r\n }\r\n }\r\n productSpec = parts.join(' ')\r\n }\r\n } else {\r\n try {\r\n let jsonStr = JSON.stringify(specRaw)\r\n productSpec = jsonStr.replace(/[\"{}]/g, '').replace(/,/g, ' ').replace(/:/g, ' ')\r\n } catch (e) {}\r\n }\r\n }\r\n } else {\r\n const sObj = JSON.parse(JSON.stringify(sku)) as UTSJSONObject\r\n const skuPrice = sObj.getNumber('price') ?? 0\r\n if (skuPrice > 0) productPrice = skuPrice\r\n\r\n const skuImg = sObj.getString('image_url') ?? ''\r\n if (skuImg !== '') productImage = skuImg\r\n\r\n const specRaw = sObj.get('specifications')\r\n if (specRaw != null) {\r\n if (typeof specRaw === 'string') {\r\n productSpec = specRaw\r\n } else if (specRaw instanceof UTSJSONObject) {\r\n const keys = ['规格', '颜色', '尺码', '容量', '版本', '型号']\r\n const result: string[] = []\r\n for (let k = 0; k < keys.length; k++) {\r\n const key = keys[k]\r\n const val = specRaw.get(key)\r\n if (val != null && val !== '') {\r\n result.push(`${val}`)\r\n }\r\n }\r\n if (result.length > 0) {\r\n productSpec = result.join(' ')\r\n } else {\r\n const allKeys = UTSJSONObject.keys(specRaw)\r\n const parts: string[] = []\r\n for(let k = 0; k < allKeys.length; k++) {\r\n let val = specRaw.get(allKeys[k])\r\n if (val != null) {\r\n parts.push(`${val}`)\r\n }\r\n }\r\n productSpec = parts.join(' ')\r\n }\r\n } else {\r\n try {\r\n let jsonStr = JSON.stringify(specRaw)\r\n productSpec = jsonStr.replace(/[\"{}]/g, '').replace(/,/g, ' ').replace(/:/g, ' ')\r\n } catch (e) {}\r\n }\r\n }\r\n }\r\n }\r\n\r\n let shopIdStr = merchantId != '' ? merchantId : 'unknown_shop'\r\n\r\n \r\n cartItems.push({\r\n id: itemId,\r\n user_id: userIdVal,\r\n product_id: productId,\r\n sku_id: skuId,\r\n merchant_id: merchantId,\r\n quantity: quantity,\r\n selected: selected,\r\n product_name: productName,\r\n product_image: productImage,\r\n product_price: productPrice,\r\n product_specification: productSpec,\r\n shop_id: shopIdStr,\r\n shop_name: shopNameStr,\r\n created_at: createdAt,\r\n updated_at: updatedAt\r\n } as CartItem)\r\n }\r\n }\r\n \r\n return cartItems\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:2296','获取购物车异常:', error)\r\n return []\r\n }\r\n }\r\n\r\n // 获取用户通知 (系统、活动、订单)\r\n async getUserNotifications(type: string | null = null): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:2304','[getUserNotifications] 开始获取通知')\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return []\r\n\r\n let query = supa\r\n .from('ml_notifications')\r\n .select('*')\r\n .eq('user_id', userId)\r\n \r\n if (type != null) {\r\n query = query.eq('type', type)\r\n }\r\n \r\n const response = await query.order('created_at', { ascending: false }).execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:2320','获取通知失败:', response.error)\r\n return []\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) return []\r\n \r\n const notifications: Notification[] = []\r\n const rawList = rawData as any[]\r\n __f__('log','at utils/supabaseService.uts:2329','[getUserNotifications] 获取到通知数量:', rawList.length)\r\n \r\n for (let i = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const noteObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n \r\n const getSafeString = (key: string): string => {\r\n const val = noteObj.get(key)\r\n if (val == null) return ''\r\n if (typeof val == 'string') return val\r\n return ''\r\n }\r\n \r\n const getSafeNumber = (key: string): number => {\r\n const val = noteObj.get(key)\r\n if (val == null) return 0\r\n if (typeof val == 'number') return val\r\n return 0\r\n }\r\n \r\n const getSafeBoolean = (key: string): boolean => {\r\n const val = noteObj.get(key)\r\n if (val == null) return false\r\n if (typeof val == 'boolean') return val\r\n if (typeof val == 'number') return (val as number) == 1\r\n return false\r\n }\r\n \r\n const note: Notification = {\r\n id: getSafeString('id'),\r\n user_id: getSafeString('user_id'),\r\n type: getSafeString('type'),\r\n title: getSafeString('title'),\r\n content: getSafeString('content'),\r\n is_read: getSafeBoolean('is_read'),\r\n icon_url: getSafeString('icon_url'),\r\n link_url: getSafeString('link_url'),\r\n extra_data: getSafeString('extra_data'),\r\n created_at: getSafeString('created_at')\r\n }\r\n notifications.push(note)\r\n }\r\n return notifications\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:2373','获取通知异常:', e)\r\n return []\r\n }\r\n }\r\n\r\n // 获取聊天会话列表\r\n async getChatRooms(): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:2381','[getChatRooms] 开始获取聊天会话')\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return []\r\n\r\n const response = await supa\r\n .from('ml_chat_rooms')\r\n .select('*')\r\n .eq('user_id', userId)\r\n .order('updated_at', { ascending: false })\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:2393','获取聊天会话失败:', response.error)\r\n return []\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) return []\r\n \r\n const rooms: ChatRoom[] = []\r\n const rawList = rawData as any[]\r\n __f__('log','at utils/supabaseService.uts:2402','[getChatRooms] 获取到会话数量:', rawList.length)\r\n \r\n for (let i = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const roomObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n \r\n const getSafeString = (key: string): string => {\r\n const val = roomObj.get(key)\r\n if (val == null) return ''\r\n if (typeof val == 'string') return val\r\n return ''\r\n }\r\n \r\n const getSafeNumber = (key: string): number => {\r\n const val = roomObj.get(key)\r\n if (val == null) return 0\r\n if (typeof val == 'number') return val\r\n return 0\r\n }\r\n \r\n const getSafeBoolean = (key: string): boolean => {\r\n const val = roomObj.get(key)\r\n if (val == null) return false\r\n if (typeof val == 'boolean') return val\r\n if (typeof val == 'number') return (val as number) == 1\r\n return false\r\n }\r\n \r\n const room: ChatRoom = {\r\n id: getSafeString('id'),\r\n user_id: getSafeString('user_id'),\r\n merchant_id: getSafeString('merchant_id'),\r\n shop_name: getSafeString('shop_name'),\r\n shop_logo: getSafeString('shop_logo'),\r\n last_message: getSafeString('last_message'),\r\n last_message_at: getSafeString('last_message_at'),\r\n unread_count: getSafeNumber('unread_count'),\r\n is_top: getSafeBoolean('is_top'),\r\n created_at: getSafeString('created_at'),\r\n updated_at: getSafeString('updated_at')\r\n }\r\n rooms.push(room)\r\n }\r\n return rooms\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:2447','获取聊天会话异常:', e)\r\n return []\r\n }\r\n }\r\n\r\n // 获取用户聊天消息\r\n async getUserChatMessages(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return []\r\n\r\n const response = await supa\r\n .from('ml_chat_messages')\r\n .select('*')\r\n .or(`sender_id.eq.${userId},receiver_id.eq.${userId}`)\r\n .order('created_at', { ascending: false })\r\n .limit(50)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:2467','获取聊天记录失败:', response.error)\r\n return []\r\n }\r\n return response.data as ChatMessage[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:2472','获取聊天记录异常:', e)\r\n return []\r\n }\r\n }\r\n\r\n // 获取与特定商家的聊天记录 (合并版本)\r\n async getChatMessages(merchantId: string, page: number = 1, pageSize: number = 20): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:2480','[getChatMessages] 开始获取聊天记录,merchantId:', merchantId, 'page:', page)\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return []\r\n\r\n const fromIndex = (page - 1) * pageSize\r\n const toIndex = fromIndex + pageSize - 1\r\n\r\n // 使用 or 组合精确条件查询:(我发给商家) OR (商家发给我)\r\n const queryStr = `and(sender_id.eq.${userId},receiver_id.eq.${merchantId}),and(sender_id.eq.${merchantId},receiver_id.eq.${userId})`\r\n \r\n const response = await supa\r\n .from('ml_chat_messages')\r\n .select('*')\r\n .or(queryStr)\r\n .order('created_at', { ascending: false }) // 最新在前\r\n .range(fromIndex, toIndex)\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:2499','getChatMessages error:', response.error)\r\n return []\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) return []\r\n \r\n const messages: ChatMessage[] = []\r\n const rawList = rawData as any[]\r\n __f__('log','at utils/supabaseService.uts:2508','[getChatMessages] 获取到消息数量:', rawList.length)\r\n \r\n for (let i = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const msgObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n \r\n const getSafeString = (key: string): string => {\r\n const val = msgObj.get(key)\r\n if (val == null) return ''\r\n return val.toString()\r\n }\r\n \r\n const getSafeBoolean = (key: string): boolean => {\r\n const val = msgObj.get(key)\r\n if (val == null) return false\r\n if (typeof val == 'boolean') return val as boolean\r\n return (val.toString() == '1' || val.toString() == 'true')\r\n }\r\n \r\n const msg: ChatMessage = {\r\n id: getSafeString('id'),\r\n session_id: getSafeString('session_id'),\r\n sender_id: getSafeString('sender_id'),\r\n receiver_id: getSafeString('receiver_id'),\r\n content: getSafeString('content'),\r\n msg_type: getSafeString('msg_type'),\r\n is_read: getSafeBoolean('is_read'),\r\n is_from_user: getSafeBoolean('is_from_user'),\r\n extra_data: getSafeString('extra_data'),\r\n created_at: getSafeString('created_at')\r\n }\r\n messages.push(msg)\r\n }\r\n return messages\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:2543','获取聊天记录异常:', e)\r\n return []\r\n }\r\n }\r\n\r\n // 发送聊天消息\r\n async sendChatMessage(content: string, toId: string | null = null, type: string = 'text'): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return false\r\n \r\n const payload = {\r\n sender_id: userId,\r\n content: content,\r\n msg_type: type,\r\n is_from_user: true,\r\n created_at: new Date().toISOString()\r\n } as UTSJSONObject\r\n if (toId != null) {\r\n payload.set('receiver_id', toId)\r\n }\r\n\r\n const response = await supa\r\n .from('ml_chat_messages')\r\n .insert(payload)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:2571','发送消息失败:', response.error)\r\n return false\r\n }\r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:2576','发送消息异常:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 模拟客服回复\r\n async simulateServiceReply(content: string): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return false\r\n\r\n const response = await supa\r\n .from('ml_chat_messages')\r\n .insert({\r\n receiver_id: userId,\r\n content: content,\r\n msg_type: 'text',\r\n is_from_user: false,\r\n created_at: new Date().toISOString()\r\n })\r\n .execute()\r\n return response.error == null\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n // 添加商品到购物车\r\n async addToCart(productId: string, quantity: number = 1, skuId: string = '', merchantId: string = ''): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:2608','用户未登录,无法添加商品到购物车')\r\n return false\r\n }\r\n \r\n const realSkuId = (skuId != null && skuId.length > 0) ? skuId : null\r\n const realMerchantId = (merchantId != null && merchantId.length > 0) ? merchantId : null\r\n\r\n // 检查商品是否已在购物车中\r\n // 注意:必须处理 sku_id 为空的情况,使用 is.null 过滤器\r\n let query = supa\r\n .from('ml_shopping_cart')\r\n .select('*')\r\n .eq('user_id', userId)\r\n .eq('product_id', productId)\r\n \r\n if (realSkuId != null) {\r\n query = query.eq('sku_id', realSkuId)\r\n } else {\r\n query = query.is('sku_id', null)\r\n }\r\n\r\n const existingResponse = await query.single().execute()\r\n\r\n let existingItem: any | null = null\r\n \r\n if (existingResponse.data != null) {\r\n const rawData = existingResponse.data as any\r\n if (Array.isArray(rawData)) {\r\n if (rawData.length > 0) {\r\n existingItem = rawData[0]\r\n }\r\n } else {\r\n existingItem = rawData\r\n }\r\n }\r\n\r\n let response: AkReqResponse\r\n if (existingItem != null) {\r\n // 商品已存在,更新数量\r\n __f__('log','at utils/supabaseService.uts:2647','Found existing cart item:', JSON.stringify(existingItem))\r\n\r\n // 确保 existingItem.id 存在\r\n let itemId: string | null = null\r\n let itemQty: any | null = null\r\n\r\n if (existingItem instanceof UTSJSONObject) {\r\n itemId = existingItem.getString('id')\r\n itemQty = existingItem.getNumber('quantity')\r\n } else {\r\n const obj = JSON.parse(JSON.stringify(existingItem)) as UTSJSONObject\r\n itemId = obj.getString('id')\r\n itemQty = obj.getNumber('quantity')\r\n }\r\n\r\n if (itemId != null) {\r\n let currentQty = 0\r\n if (typeof itemQty === 'number') {\r\n currentQty = itemQty as number\r\n } else {\r\n const qStr = `${itemQty ?? 0}`\r\n currentQty = parseInt(qStr)\r\n }\r\n const newQty = currentQty + quantity\r\n\r\n response = await supa\r\n .from('ml_shopping_cart')\r\n .update({\r\n quantity: newQty,\r\n merchant_id: realMerchantId,\r\n updated_at: new Date().toISOString()\r\n })\r\n .eq('id', itemId)\r\n .execute()\r\n } else {\r\n __f__('error','at utils/supabaseService.uts:2682','购物车已有商品但缺少ID,无法更新. Data:', JSON.stringify(existingItem))\r\n return false\r\n }\r\n } else {\r\n // 商品不存在,添加新记录\r\n const cartPayload = new UTSJSONObject()\r\n cartPayload.set('user_id', userId)\r\n cartPayload.set('product_id', productId)\r\n cartPayload.set('sku_id', realSkuId)\r\n cartPayload.set('quantity', quantity)\r\n cartPayload.set('selected', true)\r\n cartPayload.set('created_at', new Date().toISOString())\r\n cartPayload.set('updated_at', new Date().toISOString())\r\n if (realMerchantId != null) {\r\n cartPayload.set('merchant_id', realMerchantId)\r\n }\r\n \r\n response = await supa\r\n .from('ml_shopping_cart')\r\n .insert(cartPayload)\r\n .execute()\r\n }\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:2706','添加商品到购物车失败:', response.error)\r\n return false\r\n }\r\n\r\n return true\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:2712','添加商品到购物车异常:', error)\r\n return false\r\n }\r\n }\r\n\r\n // 更新购物车商品数量\r\n async updateCartItemQuantity(cartItemId: string, quantity: number): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:2722','用户未登录,无法更新购物车')\r\n return false\r\n }\r\n\r\n if (quantity < 1) {\r\n // 数量小于1时删除商品\r\n return await this.deleteCartItem(cartItemId)\r\n }\r\n\r\n const response = await supa\r\n .from('ml_shopping_cart')\r\n .update({\r\n quantity: quantity,\r\n updated_at: new Date().toISOString()\r\n })\r\n .eq('id', cartItemId)\r\n .eq('user_id', userId)\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:2742','更新购物车商品数量失败:', response.error)\r\n return false\r\n }\r\n\r\n return true\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:2748','更新购物车商品数量异常:', error)\r\n return false\r\n }\r\n }\r\n\r\n // 更新购物车商品选中状态\r\n async updateCartItemSelection(cartItemId: string, selected: boolean): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:2758','用户未登录,无法更新购物车')\r\n return false\r\n }\r\n\r\n const response = await supa\r\n .from('ml_shopping_cart')\r\n .update({\r\n selected: selected,\r\n updated_at: new Date().toISOString()\r\n })\r\n .eq('id', cartItemId)\r\n .eq('user_id', userId)\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:2773','更新购物车商品选中状态失败:', response.error)\r\n return false\r\n }\r\n\r\n return true\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:2779','更新购物车商品选中状态异常:', error)\r\n return false\r\n }\r\n }\r\n\r\n // 批量更新购物车商品选中状态\r\n async batchUpdateCartItemSelection(cartItemIds: string[], selected: boolean): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:2787','[batchUpdateCartItemSelection] 开始批量更新')\r\n __f__('log','at utils/supabaseService.uts:2788','[batchUpdateCartItemSelection] cartItemIds:', JSON.stringify(cartItemIds))\r\n __f__('log','at utils/supabaseService.uts:2789','[batchUpdateCartItemSelection] cartItemIds length:', cartItemIds.length)\r\n __f__('log','at utils/supabaseService.uts:2790','[batchUpdateCartItemSelection] selected:', selected)\r\n \r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:2794','用户未登录,无法更新购物车')\r\n return false\r\n }\r\n\r\n const response = await supa\r\n .from('ml_shopping_cart')\r\n .update({\r\n selected: selected,\r\n updated_at: new Date().toISOString()\r\n })\r\n .eq('user_id', userId)\r\n .in('id', cartItemIds as any[])\r\n .execute()\r\n\r\n __f__('log','at utils/supabaseService.uts:2808','[batchUpdateCartItemSelection] response.error:', response.error)\r\n __f__('log','at utils/supabaseService.uts:2809','[batchUpdateCartItemSelection] response.data:', JSON.stringify(response.data))\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:2812','批量更新购物车商品选中状态失败:', response.error)\r\n return false\r\n }\r\n\r\n return true\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:2818','批量更新购物车商品选中状态异常:', error)\r\n return false\r\n }\r\n }\r\n\r\n // 删除购物车商品\r\n async deleteCartItem(cartItemId: string): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:2826','正在执行删除购物车商品,ID:', cartItemId)\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:2829','用户未登录,无法删除购物车商品')\r\n return false\r\n }\r\n\r\n const response = await supa\r\n .from('ml_shopping_cart')\r\n .eq('id', cartItemId)\r\n .eq('user_id', userId)\r\n .delete()\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:2841','删除购物车商品失败:', response.error)\r\n return false\r\n }\r\n\r\n return true\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:2847','删除购物车商品异常:', error)\r\n return false\r\n }\r\n }\r\n\r\n // 批量删除购物车商品\r\n async batchDeleteCartItems(cartItemIds: string[]): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:2855','[batchDeleteCartItems] 开始删除, ids:', cartItemIds.length)\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:2858','用户未登录,无法删除购物车商品')\r\n return false\r\n }\r\n\r\n __f__('log','at utils/supabaseService.uts:2862','[batchDeleteCartItems] userId:', userId)\r\n const response = await supa\r\n .from('ml_shopping_cart')\r\n .eq('user_id', userId)\r\n .in('id', cartItemIds as any[])\r\n .delete()\r\n .execute()\r\n\r\n __f__('log','at utils/supabaseService.uts:2870','[batchDeleteCartItems] response.error:', response.error)\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:2872','批量删除购物车商品失败:', response.error)\r\n return false\r\n }\r\n\r\n __f__('log','at utils/supabaseService.uts:2876','[batchDeleteCartItems] 删除成功')\r\n return true\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:2879','批量删除购物车商品异常:', error)\r\n return false\r\n }\r\n }\r\n\r\n // 清空购物车\r\n async clearCart(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:2889','用户未登录,无法清空购物车')\r\n return false\r\n }\r\n\r\n const response = await supa\r\n .from('ml_shopping_cart')\r\n .eq('user_id', userId)\r\n .delete()\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:2900','清空购物车失败:', response.error)\r\n return false\r\n }\r\n\r\n return true\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:2906','清空购物车异常:', error)\r\n return false\r\n }\r\n }\r\n\r\n // 获取当前用户的所有地址\r\n async getAddresses(): Promise {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('warn','at utils/supabaseService.uts:2915','[getAddresses] 用户未登录,无法获取地址')\r\n return []\r\n }\r\n\r\n try {\r\n __f__('log','at utils/supabaseService.uts:2920','[getAddresses] 查询地址, userId:', userId)\r\n \r\n const response = await supa\r\n .from('ml_user_addresses')\r\n .select('*')\r\n .eq('user_id', userId)\r\n .order('is_default', { ascending: false })\r\n .order('created_at', { ascending: false })\r\n .execute()\r\n \r\n __f__('log','at utils/supabaseService.uts:2930','[getAddresses] response.error:', response.error)\r\n __f__('log','at utils/supabaseService.uts:2931','[getAddresses] response.data:', JSON.stringify(response.data))\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:2934','[getAddresses] 获取地址失败:', response.error)\r\n return []\r\n }\r\n \r\n const data = response.data\r\n if (data == null) {\r\n return []\r\n }\r\n \r\n const result: UserAddress[] = []\r\n const rawData = data as any[]\r\n for (let i = 0; i < rawData.length; i++) {\r\n const item = rawData[i]\r\n let itemObj: UTSJSONObject\r\n if (item instanceof UTSJSONObject) {\r\n itemObj = item as UTSJSONObject\r\n } else {\r\n itemObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n }\r\n \r\n const addr: UserAddress = {\r\n id: itemObj.getString('id') ?? '',\r\n user_id: itemObj.getString('user_id') ?? '',\r\n recipient_name: itemObj.getString('receiver_name') ?? itemObj.getString('recipient_name') ?? '',\r\n phone: itemObj.getString('receiver_phone') ?? itemObj.getString('phone') ?? '',\r\n province: itemObj.getString('province') ?? '',\r\n city: itemObj.getString('city') ?? '',\r\n district: itemObj.getString('district') ?? '',\r\n detail_address: itemObj.getString('address_detail') ?? itemObj.getString('detail_address') ?? '',\r\n is_default: itemObj.getBoolean('is_default') ?? false,\r\n label: itemObj.getString('label') ?? '',\r\n created_at: itemObj.getString('created_at') ?? '',\r\n updated_at: itemObj.getString('updated_at') ?? ''\r\n }\r\n result.push(addr)\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:2971','[getAddresses] 返回地址数量:', result.length)\r\n return result\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:2974','[getAddresses] 获取地址异常:', error)\r\n return []\r\n }\r\n }\r\n\r\n // 根据ID获取地址详情\r\n async getAddressById(addressId: string): Promise {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('warn','at utils/supabaseService.uts:2983','用户未登录,无法获取地址')\r\n return null\r\n }\r\n\r\n try {\r\n const query = supa\r\n .from('ml_user_addresses')\r\n .select('*, recipient_name:receiver_name, phone:receiver_phone, detail_address:address_detail')\r\n .eq('id', addressId)\r\n .eq('user_id', userId)\r\n .single()\r\n \r\n const response = await query.execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:2998','获取地址详情失败:', response.error)\r\n return null\r\n }\r\n \r\n return response.data as UserAddress\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:3004','获取地址详情异常:', error)\r\n return null\r\n }\r\n }\r\n\r\n // 添加新地址\r\n async addAddress(address: AddAddressParams): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:3014','用户未登录,无法添加地址')\r\n return false\r\n }\r\n\r\n // 如果设置为默认地址,需要先取消其他默认地址\r\n if (address.is_default == true) {\r\n await this.clearDefaultAddress(userId)\r\n }\r\n\r\n const response = await supa\r\n .from('ml_user_addresses')\r\n .insert({\r\n user_id: userId,\r\n receiver_name: address.recipient_name,\r\n receiver_phone: address.phone,\r\n province: address.province,\r\n city: address.city,\r\n district: address.district,\r\n address_detail: address.detail_address,\r\n postal_code: address.postal_code ?? null,\r\n is_default: address.is_default ?? false,\r\n created_at: new Date().toISOString(),\r\n updated_at: new Date().toISOString()\r\n })\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3041','添加地址失败:', response.error)\r\n return false\r\n }\r\n\r\n return true\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:3047','添加地址异常:', error)\r\n return false\r\n }\r\n }\r\n\r\n // 更新地址\r\n async updateAddress(addressId: string, address: UpdateAddressParams): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:3057','用户未登录,无法更新地址')\r\n return false\r\n }\r\n\r\n // 如果设置为默认地址,需要先取消其他默认地址\r\n if (address.is_default == true) {\r\n await this.clearDefaultAddress(userId)\r\n }\r\n \r\n // 构造更新数据,映射字段名到数据库列名\r\n const updateData = {}\r\n if (address.recipient_name != null) updateData['receiver_name'] = address.recipient_name\r\n if (address.phone != null) updateData['receiver_phone'] = address.phone\r\n if (address.province != null) updateData['province'] = address.province\r\n if (address.city != null) updateData['city'] = address.city\r\n if (address.district != null) updateData['district'] = address.district\r\n if (address.detail_address != null) updateData['address_detail'] = address.detail_address\r\n if (address.postal_code != null) updateData['postal_code'] = address.postal_code\r\n if (address.is_default != null) updateData['is_default'] = address.is_default\r\n if (address.label != null) updateData['label'] = address.label\r\n updateData['updated_at'] = new Date().toISOString()\r\n\r\n const response = await supa\r\n .from('ml_user_addresses')\r\n .update(updateData)\r\n .eq('id', addressId)\r\n .eq('user_id', userId)\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3087','更新地址失败:', response.error)\r\n return false\r\n }\r\n\r\n return true\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:3093','更新地址异常:', error)\r\n return false\r\n }\r\n }\r\n \r\n // 确认收货\r\n async confirmReceipt(orderId: string): Promise {\r\n __f__('log','at utils/supabaseService.uts:3100','[confirmReceipt] 开始确认收货, orderId:', orderId)\r\n try {\r\n const userId = this.getCurrentUserId()\r\n __f__('log','at utils/supabaseService.uts:3103','[confirmReceipt] userId:', userId)\r\n if (userId == null) {\r\n return { success: false, error: '用户未登录' }\r\n }\r\n\r\n const updateData = new UTSJSONObject()\r\n updateData.set('order_status', 4)\r\n updateData.set('delivered_at', new Date().toISOString())\r\n updateData.set('completed_at', new Date().toISOString())\r\n updateData.set('updated_at', new Date().toISOString())\r\n \r\n __f__('log','at utils/supabaseService.uts:3114','[confirmReceipt] 准备更新订单状态, updateData:', JSON.stringify(updateData))\r\n\r\n const response = await supa\r\n .from('ml_orders')\r\n .update(updateData)\r\n .eq('id', orderId)\r\n .eq('user_id', userId)\r\n .execute()\r\n \r\n __f__('log','at utils/supabaseService.uts:3123','[confirmReceipt] response.status:', response.status)\r\n __f__('log','at utils/supabaseService.uts:3124','[confirmReceipt] response.error:', response.error)\r\n __f__('log','at utils/supabaseService.uts:3125','[confirmReceipt] response.data:', JSON.stringify(response.data))\r\n \r\n // 检查 HTTP 状态码\r\n if (response.status != null && response.status >= 400) {\r\n // 尝试从 response.data 中提取错误信息\r\n let errorMsg = '请求失败'\r\n if (response.data != null) {\r\n try {\r\n const errorData = response.data as UTSJSONObject\r\n const msg = errorData.getString('message')\r\n if (msg != null) {\r\n errorMsg = msg\r\n }\r\n } catch (e) {\r\n // ignore\r\n }\r\n }\r\n __f__('log','at utils/supabaseService.uts:3142','[confirmReceipt] HTTP错误:', response.status, errorMsg)\r\n return { success: false, error: errorMsg }\r\n }\r\n \r\n if (response.error != null) {\r\n return { success: false, error: response.error.message }\r\n }\r\n \r\n // 检查 response.data 是否包含错误代码\r\n if (response.data != null) {\r\n try {\r\n const respData = response.data as UTSJSONObject\r\n const errorCode = respData.getString('code')\r\n if (errorCode != null) {\r\n const errorMsg = respData.getString('message') ?? '数据库错误'\r\n __f__('log','at utils/supabaseService.uts:3157','[confirmReceipt] 数据库错误:', errorCode, errorMsg)\r\n return { success: false, error: errorMsg }\r\n }\r\n } catch (e) {\r\n // ignore\r\n }\r\n }\r\n \r\n // 检查是否有数据被更新\r\n if (response.data == null || (Array.isArray(response.data) && response.data.length === 0)) {\r\n __f__('log','at utils/supabaseService.uts:3167','[confirmReceipt] 没有数据被更新,可能订单不存在或无权限')\r\n return { success: false, error: '订单不存在或无权限更新' }\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:3171','[confirmReceipt] 确认收货成功')\r\n return { success: true }\r\n } catch (e: any) {\r\n __f__('error','at utils/supabaseService.uts:3174','[confirmReceipt] 异常:', e)\r\n return { success: false, error: e.message }\r\n }\r\n }\r\n\r\n // 取消订单\r\n async cancelOrder(orderId: string): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n return false\r\n }\r\n\r\n const response = await supa\r\n .from('ml_orders')\r\n .update({\r\n order_status: 5,\r\n updated_at: new Date().toISOString()\r\n })\r\n .eq('id', orderId)\r\n .eq('user_id', userId)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3198','取消订单失败:', response.error)\r\n return false\r\n }\r\n \r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:3204','取消订单异常:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 删除订单\r\n async deleteOrder(orderId: string): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n return false\r\n }\r\n\r\n const response = await supa\r\n .from('ml_orders')\r\n .delete()\r\n .eq('id', orderId)\r\n .eq('user_id', userId)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3225','删除订单失败:', response.error)\r\n return false\r\n }\r\n \r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:3231','删除订单异常:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 确认收货\r\n async confirmOrderReceived(orderId: string): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n return false\r\n }\r\n\r\n const response = await supa\r\n .from('ml_orders')\r\n .update({\r\n order_status: 4,\r\n shipping_status: 3,\r\n updated_at: new Date().toISOString()\r\n })\r\n .eq('id', orderId)\r\n .eq('user_id', userId)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3256','确认收货失败:', response.error)\r\n return false\r\n }\r\n \r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:3262','确认收货异常:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 删除地址\r\n async deleteAddress(addressId: string): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:3270','正在执行删除地址,ID:', addressId)\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:3273','用户未登录,无法删除地址')\r\n return false\r\n }\r\n\r\n const response = await supa\r\n .from('ml_user_addresses')\r\n .eq('id', addressId)\r\n .eq('user_id', userId)\r\n .delete()\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3285','删除地址失败:', response.error)\r\n return false\r\n }\r\n\r\n return true\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:3291','删除地址异常:', error)\r\n return false\r\n }\r\n }\r\n\r\n // 清除默认地址(内部使用)\r\n private async clearDefaultAddress(userId: string): Promise {\r\n try {\r\n await supa\r\n .from('ml_user_addresses')\r\n .update({\r\n is_default: false,\r\n updated_at: new Date().toISOString()\r\n })\r\n .eq('user_id', userId)\r\n .eq('is_default', true)\r\n .execute()\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:3309','清除默认地址异常:', error)\r\n }\r\n }\r\n\r\n // 获取用户资料\r\n async getUserProfile(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return null\r\n \r\n // 联合查询 auth user 和 profile\r\n // 由于 Supabase auth table 不可直接访问,这里查询 ml_user_profiles\r\n // 注意:使用 limit(1) 替代 single() 以避免 Android 端类型转换错误\r\n const response = await supa\r\n .from('ml_user_profiles')\r\n .select('*')\r\n .eq('user_id', userId)\r\n .limit(1)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n // 如果不存在 profile,可能只有 auth user,这里暂时返回空或创建默认\r\n return null\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) return null\r\n \r\n // 作为数组处理\r\n const rawList = rawData as any[]\r\n if (rawList.length == 0) return null\r\n \r\n return rawList[0]\r\n } catch (e) {\r\n return null\r\n }\r\n }\r\n \r\n // 创建订单\r\n async createOrder(orderData: CreateOrderParams): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:3352','CreateOrder: User not logged in')\r\n return null\r\n }\r\n \r\n const orderNo = 'ML' + Date.now() + Math.floor(Math.random() * 1000)\r\n \r\n let merchantId = orderData.merchant_id\r\n __f__('log','at utils/supabaseService.uts:3359','[CreateOrder] 原始 merchant_id:', merchantId)\r\n if (merchantId == null || merchantId == '' || merchantId == 'unknown') {\r\n __f__('warn','at utils/supabaseService.uts:3361','[CreateOrder] merchant_id 为空或无效,将使用 userId 作为 fallback')\r\n merchantId = userId\r\n }\r\n __f__('log','at utils/supabaseService.uts:3364','[CreateOrder] 最终使用的 merchant_id:', merchantId)\r\n \r\n let shippingAddrStr = '{}'\r\n if (orderData.shipping_address != null) {\r\n if (typeof orderData.shipping_address === 'string') {\r\n shippingAddrStr = orderData.shipping_address\r\n } else {\r\n shippingAddrStr = JSON.stringify(orderData.shipping_address)\r\n }\r\n }\r\n \r\n const orderPayload = new UTSJSONObject()\r\n orderPayload.set('user_id', userId)\r\n orderPayload.set('merchant_id', merchantId)\r\n orderPayload.set('order_no', orderNo)\r\n orderPayload.set('product_amount', orderData.product_amount)\r\n orderPayload.set('shipping_fee', orderData.shipping_fee)\r\n orderPayload.set('total_amount', orderData.total_amount)\r\n orderPayload.set('paid_amount', 0)\r\n orderPayload.set('shipping_address', shippingAddrStr)\r\n orderPayload.set('order_status', 1)\r\n orderPayload.set('payment_status', 1)\r\n orderPayload.set('shipping_status', 1)\r\n orderPayload.set('created_at', new Date().toISOString())\r\n orderPayload.set('updated_at', new Date().toISOString())\r\n \r\n __f__('log','at utils/supabaseService.uts:3390','[CreateOrder] 插入订单数据:', JSON.stringify(orderPayload))\r\n __f__('log','at utils/supabaseService.uts:3391','[CreateOrder] 期望的订单号:', orderNo)\r\n \r\n const orderResponse = await supa\r\n .from('ml_orders')\r\n .insert(orderPayload)\r\n .execute()\r\n \r\n __f__('log','at utils/supabaseService.uts:3398','[CreateOrder] insert 完成')\r\n __f__('log','at utils/supabaseService.uts:3399','[CreateOrder] orderResponse.error:', orderResponse.error)\r\n \r\n if (orderResponse.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3402','[CreateOrder] 创建订单失败:', orderResponse.error)\r\n return null\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:3406','[CreateOrder] 开始查询新创建的订单, order_no:', orderNo)\r\n \r\n const queryResponse = await supa\r\n .from('ml_orders')\r\n .select('id, order_no')\r\n .eq('order_no', orderNo)\r\n .execute()\r\n \r\n __f__('log','at utils/supabaseService.uts:3414','[CreateOrder] queryResponse.error:', queryResponse.error)\r\n __f__('log','at utils/supabaseService.uts:3415','[CreateOrder] queryResponse.data:', JSON.stringify(queryResponse.data))\r\n \r\n if (queryResponse.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3418','[CreateOrder] 查询订单失败:', queryResponse.error)\r\n return null\r\n }\r\n \r\n const queryData = queryResponse.data as any\r\n let orderId = ''\r\n \r\n __f__('log','at utils/supabaseService.uts:3425','[CreateOrder] queryData 类型:', typeof queryData, '是否数组:', Array.isArray(queryData))\r\n \r\n if (Array.isArray(queryData) && queryData.length > 0) {\r\n __f__('log','at utils/supabaseService.uts:3428','[CreateOrder] queryData 长度:', queryData.length)\r\n const firstItemRaw = queryData[0]\r\n __f__('log','at utils/supabaseService.uts:3430','[CreateOrder] firstItemRaw 类型:', typeof firstItemRaw)\r\n \r\n // 将 firstItemRaw 转换为可访问的对象\r\n const firstItemStr = JSON.stringify(firstItemRaw)\r\n const firstItemParsed = JSON.parse(firstItemStr)\r\n if (firstItemParsed == null) {\r\n __f__('error','at utils/supabaseService.uts:3436','[CreateOrder] 解析订单数据失败')\r\n return null\r\n }\r\n const firstItem = firstItemParsed as UTSJSONObject\r\n orderId = (firstItem.getString('id') ?? '') as string\r\n __f__('log','at utils/supabaseService.uts:3441','[CreateOrder] 找到新创建的订单, id:', orderId)\r\n } else {\r\n __f__('error','at utils/supabaseService.uts:3443','[CreateOrder] 未找到新创建的订单,插入可能失败')\r\n return null\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:3447','[CreateOrder] 订单创建成功, orderId:', orderId)\r\n \r\n const orderItems: UTSJSONObject[] = []\r\n __f__('log','at utils/supabaseService.uts:3450','[CreateOrder] orderData.items 类型:', typeof orderData.items, '是否数组:', Array.isArray(orderData.items))\r\n \r\n if (orderData.items == null) {\r\n __f__('error','at utils/supabaseService.uts:3453','[CreateOrder] orderData.items 为 null!')\r\n return orderId\r\n }\r\n \r\n const rawItems = orderData.items as any[]\r\n __f__('log','at utils/supabaseService.uts:3458','[CreateOrder] rawItems 长度:', rawItems.length)\r\n \r\n if (rawItems.length === 0) {\r\n __f__('warn','at utils/supabaseService.uts:3461','[CreateOrder] rawItems 为空数组,没有商品项需要插入')\r\n return orderId\r\n }\r\n \r\n for(let i = 0; i < rawItems.length; i++) {\r\n const rawItem = rawItems[i]\r\n const itemStr = JSON.stringify(rawItem)\r\n const itemParsed = JSON.parse(itemStr)\r\n if (itemParsed == null) {\r\n __f__('error','at utils/supabaseService.uts:3470','[CreateOrder] 商品项解析失败')\r\n continue\r\n }\r\n const item = itemParsed as UTSJSONObject\r\n\r\n const itemJson = new UTSJSONObject()\r\n \r\n let pId = item.get('product_id')\r\n if (pId == null) {\r\n pId = item.get('id')\r\n }\r\n const productId = (pId ?? '') as string\r\n \r\n itemJson.set('order_id', orderId)\r\n itemJson.set('product_id', productId)\r\n \r\n const skuIdVal = item.get('sku_id')\r\n if (skuIdVal != null && skuIdVal !== '') {\r\n itemJson.set('sku_id', skuIdVal as string)\r\n }\r\n \r\n const productName = (item.get('product_name') ?? '') as string\r\n itemJson.set('product_name', productName)\r\n \r\n const sName = item.get('sku_name')\r\n itemJson.set('sku_name', (sName ?? '') as string)\r\n \r\n const specVal = item.get('specifications')\r\n let skuSnapshot = '{}'\r\n if (specVal != null) {\r\n if (typeof specVal === 'string') {\r\n skuSnapshot = specVal as string\r\n } else {\r\n skuSnapshot = JSON.stringify(specVal)\r\n }\r\n }\r\n itemJson.set('sku_snapshot', skuSnapshot)\r\n itemJson.set('specifications', skuSnapshot)\r\n \r\n const img1 = item.get('product_image')\r\n const img2 = item.get('image_url')\r\n let imgUrl = ((img1 ?? img2 ?? '') as string)\r\n while (imgUrl.indexOf('`') >= 0) {\r\n imgUrl = imgUrl.replace('`', '')\r\n }\r\n itemJson.set('image_url', imgUrl)\r\n\r\n const iPriceRaw = item.getNumber('price') ?? 0\r\n const iMemberPrice = item.getNumber('member_price') ?? 0\r\n // 优先使用会员价\r\n const iPrice = (iMemberPrice > 0 && iMemberPrice < iPriceRaw) ? iMemberPrice : iPriceRaw\r\n const iQty = item.getNumber('quantity') ?? 1\r\n itemJson.set('price', iPrice)\r\n itemJson.set('quantity', iQty)\r\n itemJson.set('total_amount', iPrice * iQty)\r\n itemJson.set('created_at', new Date().toISOString())\r\n \r\n orderItems.push(itemJson)\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:3530','[CreateOrder] 插入订单项数量:', orderItems.length)\r\n \r\n for (let j: number = 0; j < orderItems.length; j++) {\r\n __f__('log','at utils/supabaseService.uts:3533','[CreateOrder] 开始插入订单项', j)\r\n const itemJson = orderItems[j]\r\n // 将 UTSJSONObject 转换为普通对象\r\n __f__('log','at utils/supabaseService.uts:3536','[CreateOrder] 序列化订单项...')\r\n const itemObjStr = JSON.stringify(itemJson)\r\n __f__('log','at utils/supabaseService.uts:3538','[CreateOrder] 订单项 JSON:', itemObjStr)\r\n const itemObjParsed = JSON.parse(itemObjStr)\r\n __f__('log','at utils/supabaseService.uts:3540','[CreateOrder] itemObjParsed 类型:', typeof itemObjParsed)\r\n if (itemObjParsed == null) {\r\n __f__('error','at utils/supabaseService.uts:3542','[CreateOrder] 订单项转换失败')\r\n continue\r\n }\r\n \r\n // 使用 UTSJSONObject 而不是 Record\r\n const itemObj = itemObjParsed as UTSJSONObject\r\n __f__('log','at utils/supabaseService.uts:3548','[CreateOrder] 执行 insert...')\r\n \r\n const itemsResponse = await supa\r\n .from('ml_order_items')\r\n .insert(itemObj)\r\n .execute()\r\n \r\n __f__('log','at utils/supabaseService.uts:3555','[CreateOrder] insert 完成, error:', itemsResponse.error) \r\n if (itemsResponse.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3557','[CreateOrder] 创建订单项失败:', itemsResponse.error)\r\n }\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:3561','[CreateOrder] 订单项创建成功')\r\n \r\n const cartItemIds: string[] = []\r\n for(let i = 0; i < rawItems.length; i++) {\r\n const rawItem = rawItems[i]\r\n const itemParsed = JSON.parse(JSON.stringify(rawItem))\r\n if (itemParsed == null) continue\r\n const item = itemParsed as UTSJSONObject\r\n const iid = item.getString('id')\r\n if (iid != null && iid.length > 10) {\r\n cartItemIds.push(iid)\r\n }\r\n }\r\n \r\n if (cartItemIds.length > 0) {\r\n await this.batchDeleteCartItems(cartItemIds)\r\n }\r\n \r\n return orderId\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:3581','[CreateOrder] 创建订单异常:', error)\r\n return null\r\n }\r\n }\r\n\r\n // 批量通过店铺创建订单\r\n async createOrdersByShop(params: ShopOrderParams): Promise {\r\n try {\r\n const orderIds: string[] = []\r\n const groups = params.shopGroups as any[]\r\n \r\n let grandTotal = 0.0\r\n for(let k = 0; k < groups.length; k++) {\r\n const g = JSON.parse(JSON.stringify(groups[k])) as UTSJSONObject\r\n const gItemsRaw = g.get('items')\r\n if (gItemsRaw == null) continue\r\n const gItems = gItemsRaw as any[]\r\n \r\n for(let gi = 0; gi < gItems.length; gi++) {\r\n const it = JSON.parse(JSON.stringify(gItems[gi])) as UTSJSONObject\r\n // 优先使用会员价\r\n let itPrice = it.getNumber('price') ?? 0\r\n const itMemberPrice = it.getNumber('member_price') ?? 0\r\n if (itMemberPrice > 0 && itMemberPrice < itPrice) {\r\n itPrice = itMemberPrice\r\n }\r\n const itQty = it.getNumber('quantity') ?? 1\r\n grandTotal += itPrice * itQty\r\n }\r\n }\r\n \r\n // 为每个店铺创建一个订单\r\n for (let i = 0; i < groups.length; i++) {\r\n const group = JSON.parse(JSON.stringify(groups[i])) as UTSJSONObject\r\n const shopItemsRaw = group.get('items')\r\n if (shopItemsRaw == null) continue\r\n const shopItems = shopItemsRaw as any[]\r\n \r\n let productAmount = 0.0\r\n for(let j = 0; j < shopItems.length; j++) {\r\n const sItem = JSON.parse(JSON.stringify(shopItems[j])) as UTSJSONObject\r\n // 优先使用会员价\r\n let siPrice = sItem.getNumber('price') ?? 0\r\n const siMemberPrice = sItem.getNumber('member_price') ?? 0\r\n if (siMemberPrice > 0 && siMemberPrice < siPrice) {\r\n siPrice = siMemberPrice\r\n }\r\n const siQty = sItem.getNumber('quantity') ?? 1\r\n productAmount += siPrice * siQty\r\n }\r\n \r\n // 简单平摊运费和优惠 (实际逻辑可能更复杂)\r\n const ratio = grandTotal > 0 ? (productAmount / grandTotal) : 0\r\n const shopShippingFee = params.deliveryFee * ratio\r\n const shopDiscount = params.discountAmount * ratio\r\n const shopTotal = productAmount + shopShippingFee - shopDiscount\r\n \r\n const mId = group.getString('merchant_id')\r\n const sId = group.getString('shopId')\r\n const shopName = group.getString('shopName')\r\n\r\n __f__('log','at utils/supabaseService.uts:3642','[createOrdersByShop] 店铺组信息:', {\r\n merchant_id: mId,\r\n shopId: sId,\r\n shopName: shopName\r\n })\r\n\r\n const finalMerchantId = (mId != null && mId != '') ? mId : (sId ?? '')\r\n __f__('log','at utils/supabaseService.uts:3649','[createOrdersByShop] 最终使用的 merchant_id:', finalMerchantId)\r\n \r\n // 将 shopItems 转换为普通对象数组\r\n const plainItems: any[] = []\r\n for(let k = 0; k < shopItems.length; k++) {\r\n const plainItemRaw = JSON.parse(JSON.stringify(shopItems[k]))\r\n if (plainItemRaw != null) {\r\n plainItems.push(plainItemRaw as any)\r\n }\r\n }\r\n __f__('log','at utils/supabaseService.uts:3659','[createOrdersByShop] plainItems 数量:', plainItems.length)\r\n\r\n const orderId = await this.createOrder({\r\n merchant_id: finalMerchantId,\r\n product_amount: productAmount,\r\n shipping_fee: shopShippingFee,\r\n total_amount: shopTotal,\r\n shipping_address: params.shipping_address,\r\n items: plainItems\r\n })\r\n \r\n if (orderId != null) {\r\n orderIds.push(orderId)\r\n } else {\r\n return { success: false, orderIds, error: `店铺 ${shopName} 订单创建失败` }\r\n }\r\n }\r\n \r\n return { success: true, orderIds }\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:3679','批量创建订单异常:', e)\r\n return { success: false, orderIds: [], error: '系统异常' }\r\n }\r\n }\r\n\r\n // 获取订单列表\r\n async getOrders(status: number = 0): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n \r\n // 关联查询店铺表获取店铺名称\r\n let query = supa\r\n .from('ml_orders')\r\n .select('*, ml_order_items(*), ml_shops(shop_name)')\r\n .eq('user_id', userId)\r\n .order('created_at', { ascending: false })\r\n \r\n if (status > 0) {\r\n query = query.eq('order_status', status)\r\n }\r\n \r\n const response = await query.execute()\r\n \r\n __f__('log','at utils/supabaseService.uts:3706','[getOrders] response.error:', response.error)\r\n if (response.data != null && Array.isArray(response.data)) {\r\n __f__('log','at utils/supabaseService.uts:3708','[getOrders] 订单数量:', response.data.length)\r\n }\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3712','获取订单列表失败:', response.error)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n \r\n const data = response.data\r\n if (data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n \r\n // 修复订单项中的图片URL\r\n const orders = data as any[]\r\n for (let i = 0; i < orders.length; i++) {\r\n const order = orders[i]\r\n const orderStr = JSON.stringify(order)\r\n const orderObj = JSON.parse(orderStr) as UTSJSONObject\r\n const itemsRaw = orderObj.get('ml_order_items')\r\n if (itemsRaw != null && Array.isArray(itemsRaw)) {\r\n const items = itemsRaw as any[]\r\n for (let j = 0; j < items.length; j++) {\r\n const item = items[j]\r\n const itemStr = JSON.stringify(item)\r\n const itemObj = JSON.parse(itemStr) as UTSJSONObject\r\n const imgUrl = itemObj.getString('image_url')\r\n if (imgUrl != null) {\r\n itemObj['image_url'] = fixImageUrl(imgUrl)\r\n }\r\n const prodImg = itemObj.getString('product_image')\r\n if (prodImg != null) {\r\n itemObj['product_image'] = fixImageUrl(prodImg)\r\n }\r\n items[j] = itemObj\r\n }\r\n orderObj['ml_order_items'] = items\r\n orders[i] = orderObj\r\n }\r\n }\r\n \r\n return orders\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:3753','获取订单列表异常:', error)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n \r\n // 获取订单详情\r\n async getOrderDetail(orderId: string): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:3762','[getOrderDetail] 开始获取订单详情,orderId:', orderId)\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return null\r\n \r\n const response = await supa\r\n .from('ml_orders')\r\n .select('*, ml_order_items(*)')\r\n .eq('id', orderId)\r\n .eq('user_id', userId!)\r\n .limit(1)\r\n .execute()\r\n \r\n __f__('log','at utils/supabaseService.uts:3774','[getOrderDetail] response.error:', response.error)\r\n __f__('log','at utils/supabaseService.uts:3775','[getOrderDetail] response.data:', JSON.stringify(response.data))\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3778','[getOrderDetail] 获取订单详情失败:', response.error)\r\n return null\r\n }\r\n \r\n const rawData = response.data\r\n if (rawData == null) {\r\n __f__('log','at utils/supabaseService.uts:3784','[getOrderDetail] 数据为空')\r\n return null\r\n }\r\n \r\n const rawList = rawData as any[]\r\n if (rawList.length == 0) {\r\n __f__('log','at utils/supabaseService.uts:3790','[getOrderDetail] 未找到订单')\r\n return null\r\n }\r\n \r\n const orderData = rawList[0]\r\n __f__('log','at utils/supabaseService.uts:3795','[getOrderDetail] 成功获取订单')\r\n \r\n const orderObj = JSON.parse(JSON.stringify(orderData)) as UTSJSONObject\r\n \r\n const result = new UTSJSONObject()\r\n result.set('id', orderObj.get('id') ?? '')\r\n result.set('order_no', orderObj.get('order_no') ?? '')\r\n result.set('order_status', orderObj.get('order_status') ?? 1)\r\n result.set('user_id', orderObj.get('user_id') ?? '')\r\n result.set('merchant_id', orderObj.get('merchant_id') ?? '')\r\n result.set('product_amount', orderObj.get('product_amount') ?? 0)\r\n result.set('shipping_fee', orderObj.get('shipping_fee') ?? 0)\r\n result.set('total_amount', orderObj.get('total_amount') ?? 0)\r\n result.set('paid_amount', orderObj.get('paid_amount') ?? 0)\r\n result.set('discount_amount', orderObj.get('discount_amount') ?? 0)\r\n result.set('payment_method', orderObj.get('payment_method') ?? '')\r\n result.set('payment_status', orderObj.get('payment_status') ?? 1)\r\n result.set('shipping_status', orderObj.get('shipping_status') ?? 1)\r\n result.set('created_at', orderObj.get('created_at') ?? '')\r\n result.set('paid_at', orderObj.get('paid_at') ?? '')\r\n result.set('shipped_at', orderObj.get('shipped_at') ?? '')\r\n result.set('completed_at', orderObj.get('completed_at') ?? '')\r\n result.set('shipping_address', orderObj.get('shipping_address'))\r\n result.set('ml_order_items', orderObj.get('ml_order_items'))\r\n // 添加物流信息\r\n result.set('tracking_no', orderObj.get('tracking_no') ?? '')\r\n result.set('carrier_name', orderObj.get('carrier_name') ?? '')\r\n result.set('delivered_at', orderObj.get('delivered_at') ?? '')\r\n \r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:3826','[getOrderDetail] 获取订单详情异常:', e)\r\n return null\r\n }\r\n }\r\n\r\n // 支付订单\r\n async payOrder(orderId: string, paymentMethod: string, amount: number): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:3836','[payOrder] 用户未登录')\r\n return false\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:3840','[payOrder] 开始更新订单状态, orderId:', orderId, 'userId:', userId)\r\n \r\n const updatePayload = new UTSJSONObject()\r\n updatePayload.set('order_status', 2)\r\n updatePayload.set('payment_status', 1)\r\n updatePayload.set('payment_method', paymentMethod)\r\n updatePayload.set('payment_time', new Date().toISOString())\r\n updatePayload.set('paid_amount', amount)\r\n updatePayload.set('updated_at', new Date().toISOString())\r\n \r\n __f__('log','at utils/supabaseService.uts:3850','[payOrder] 更新数据:', JSON.stringify(updatePayload))\r\n \r\n const response = await supa\r\n .from('ml_orders')\r\n .update(updatePayload)\r\n .eq('id', orderId)\r\n .eq('user_id', userId)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3860','[payOrder] 更新订单失败:', response.error)\r\n return false\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:3864','[payOrder] 订单状态更新成功')\r\n\r\n if (paymentMethod === 'balance') {\r\n __f__('log','at utils/supabaseService.uts:3867','[payOrder] 余额支付,暂不扣减余额')\r\n }\r\n\r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:3872','[payOrder] 支付异常:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 根据ID获取订单信息\r\n async getOrderById(orderId: string): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:3882','[getOrderById] 用户未登录')\r\n return null\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:3886','[getOrderById] 查询订单, orderId:', orderId)\r\n \r\n const response = await supa\r\n .from('ml_orders')\r\n .select('*')\r\n .eq('id', orderId)\r\n .eq('user_id', userId)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3896','[getOrderById] 查询订单失败:', response.error)\r\n return null\r\n }\r\n \r\n const data = response.data as any[]\r\n if (data == null || data.length === 0) {\r\n __f__('log','at utils/supabaseService.uts:3902','[getOrderById] 未找到订单')\r\n return null\r\n }\r\n \r\n const orderRaw = data[0]\r\n let orderObj: UTSJSONObject\r\n if (orderRaw instanceof UTSJSONObject) {\r\n orderObj = orderRaw as UTSJSONObject\r\n } else {\r\n orderObj = JSON.parse(JSON.stringify(orderRaw)) as UTSJSONObject\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:3914','[getOrderById] 订单数据:', JSON.stringify(orderObj))\r\n return orderObj\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:3917','[getOrderById] 查询异常:', e)\r\n return null\r\n }\r\n }\r\n\r\n // 提交售后申请\r\n async createRefund(data: any): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:3925','[createRefund] 开始处理退款申请')\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('log','at utils/supabaseService.uts:3928','[createRefund] 用户未登录')\r\n return { success: false, message: '请先登录' }\r\n }\r\n \r\n const d = JSON.parse(JSON.stringify(data)) as UTSJSONObject\r\n const orderId = d.getString('order_id') ?? ''\r\n const refundType = d.getNumber('refund_type')\r\n const refundReason = d.getString('refund_reason')\r\n const refundAmount = d.getNumber('refund_amount')\r\n const description = d.getString('description')\r\n const images = d.getArray('images')\r\n \r\n __f__('log','at utils/supabaseService.uts:3940','[createRefund] orderId:', orderId)\r\n __f__('log','at utils/supabaseService.uts:3941','[createRefund] refundType:', refundType)\r\n __f__('log','at utils/supabaseService.uts:3942','[createRefund] refundReason:', refundReason)\r\n __f__('log','at utils/supabaseService.uts:3943','[createRefund] refundAmount:', refundAmount)\r\n\r\n const payload = {\r\n user_id: userId,\r\n order_id: orderId,\r\n refund_no: 'REF' + Date.now() + Math.floor(Math.random() * 1000),\r\n refund_type: refundType,\r\n refund_reason: refundReason,\r\n refund_amount: refundAmount,\r\n description: description ?? '',\r\n images: images ?? ([] as any[]),\r\n status: 1 // Pending\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:3957','[createRefund] 准备插入 ml_refunds')\r\n const response = await supa\r\n .from('ml_refunds')\r\n .insert(payload)\r\n .execute()\r\n \r\n __f__('log','at utils/supabaseService.uts:3963','[createRefund] insert response.error:', response.error)\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3966','提交售后失败:', response.error)\r\n return { success: false, message: '提交失败: ' + (response.error.message ?? '未知错误') }\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:3970','[createRefund] 插入成功,更新订单状态')\r\n // 更新订单状态为退款中\r\n const updateResponse = await supa\r\n .from('ml_orders')\r\n .update({\r\n order_status: 6, // 退款中\r\n updated_at: new Date().toISOString()\r\n })\r\n .eq('id', orderId)\r\n .execute()\r\n \r\n __f__('log','at utils/supabaseService.uts:3981','[createRefund] update response.error:', updateResponse.error)\r\n \r\n if (updateResponse.error != null) {\r\n __f__('error','at utils/supabaseService.uts:3984','更新订单状态失败:', updateResponse.error)\r\n // 不影响退款申请结果,只记录错误\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:3988','[createRefund] 完成,返回成功')\r\n return { success: true, message: '申请提交成功' }\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:3991','提交售后异常:', e)\r\n return { success: false, message: '系统异常' }\r\n }\r\n }\r\n\r\n // 取消退款申请\r\n async cancelRefund(orderId: string): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:3999','[cancelRefund] 开始取消退款申请, orderId:', orderId)\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n return { success: false, message: '请先登录' }\r\n }\r\n \r\n // 更新退款记录状态为已取消\r\n const refundUpdateResponse = await supa\r\n .from('ml_refunds')\r\n .update({\r\n status: 4, // 已取消\r\n updated_at: new Date().toISOString()\r\n })\r\n .eq('order_id', orderId)\r\n .eq('user_id', userId)\r\n .eq('status', 1) // 只能取消待处理的退款\r\n .execute()\r\n \r\n if (refundUpdateResponse.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4018','取消退款记录失败:', refundUpdateResponse.error)\r\n return { success: false, message: '取消失败: ' + (refundUpdateResponse.error.message ?? '未知错误') }\r\n }\r\n \r\n // 恢复订单状态为已完成(假设之前是已完成状态)\r\n const orderUpdateResponse = await supa\r\n .from('ml_orders')\r\n .update({\r\n order_status: 4, // 已完成\r\n updated_at: new Date().toISOString()\r\n })\r\n .eq('id', orderId)\r\n .execute()\r\n \r\n if (orderUpdateResponse.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4033','恢复订单状态失败:', orderUpdateResponse.error)\r\n // 不影响取消退款结果,只记录错误\r\n }\r\n \r\n return { success: true, message: '已取消退款申请' }\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:4039','取消退款异常:', e)\r\n return { success: false, message: '系统异常' }\r\n }\r\n }\r\n\r\n // 再次购买\r\n async rePurchase(order: any): Promise {\r\n try {\r\n // 将 order 转换为 UTSJSONObject 以安全访问属性\r\n const orderObj = JSON.parse(JSON.stringify(order)) as UTSJSONObject\r\n // 尝试获取 ml_order_items 或 items\r\n let itemsKey = 'ml_order_items'\r\n let itemsRaw = orderObj.get(itemsKey)\r\n \r\n if (itemsRaw == null) {\r\n itemsKey = 'items'\r\n itemsRaw = orderObj.get(itemsKey)\r\n }\r\n \r\n if (itemsRaw == null) return false\r\n \r\n // 断言为数组\r\n const items = itemsRaw as any[]\r\n if (items.length === 0) return false\r\n\r\n // 简单的循环添加,实际项目中可以优化为批量插入\r\n for (let i = 0; i < items.length; i++) {\r\n // 同样,item 也是 UTSJSONObject 或支持访问的对象\r\n const item = JSON.parse(JSON.stringify(items[i])) as UTSJSONObject\r\n const productId = item.getString('product_id') \r\n const skuId = item.getString('sku_id')\r\n // 数量可能是数字或字符串\r\n const quantity = item.getNumber('quantity') ?? 1\r\n \r\n if (productId != null) {\r\n await this.addToCart(productId, quantity, skuId ?? '', '')\r\n }\r\n }\r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:4079','rePurchase error', e)\r\n return false\r\n }\r\n }\r\n\r\n // 申请售后 (Legacy/Simple update)\r\n async applyRefund(orderId: string, reason: string): Promise {\r\n try {\r\n // 更新订单状态为 退款中 (6)\r\n const response = await supa\r\n .from('ml_orders')\r\n .update({\r\n order_status: 6,\r\n cancel_reason: reason,\r\n updated_at: new Date().toISOString()\r\n })\r\n .eq('id', orderId)\r\n .execute()\r\n \r\n return response.error === null\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n // 获取售后记录列表\r\n async getRefunds(statusList: number[] = [], page: number = 1, pageSize: number = 10): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n let query = supa\r\n .from('ml_refunds')\r\n .select(`\r\n *,\r\n order:ml_orders!inner (\r\n order_no,\r\n created_at,\r\n ml_order_items (\r\n product_id,\r\n product_name,\r\n image_url\r\n )\r\n )\r\n `)\r\n .eq('user_id', userId)\r\n .order('created_at', { ascending: false })\r\n\r\n if (statusList.length > 0) {\r\n // 显式转换为 any[] 以匹配 .in 方法的参数要求\r\n const anyList = statusList as any[]\r\n query = query.in('status', anyList)\r\n }\r\n\r\n query = query.range((page - 1) * pageSize, page * pageSize - 1)\r\n\r\n const response = await query.execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4141','获取售后列表失败:', response.error)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n const data = response.data\r\n if (data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n return data\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:4154','获取售后列表异常:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n\r\n async deleteRefund(refundId: string): Promise {\r\n try {\r\n const response = await supa\r\n .from('ml_refunds')\r\n .delete()\r\n .eq('id', refundId)\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4169','删除退款记录失败:', response.error)\r\n return false\r\n }\r\n\r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:4175','删除退款记录异常:', e)\r\n return false\r\n }\r\n }\r\n\r\n async getUserBalanceNumber(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n __f__('log','at utils/supabaseService.uts:4183','[Supabase] getUserBalance userId:', userId)\r\n if (userId == null) return 0\r\n \r\n // 优先查 ml_user_wallets\r\n const walletRes = await supa\r\n .from('ml_user_wallets')\r\n .select('balance')\r\n .eq('user_id', userId!)\r\n .single()\r\n .execute()\r\n \r\n if (walletRes.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4195','[Supabase] getUserBalance error:', walletRes.error)\r\n } else {\r\n __f__('log','at utils/supabaseService.uts:4197','[Supabase] getUserBalance data:', walletRes.data)\r\n }\r\n\r\n if (walletRes.error == null && walletRes.data != null) {\r\n let data = walletRes.data\r\n // 如果是数组,取第一项\r\n if (Array.isArray(data)) {\r\n const arr = data as any[]\r\n if (arr.length > 0) {\r\n data = arr[0]\r\n }\r\n }\r\n\r\n let val:number = 0\r\n if (data instanceof UTSJSONObject) {\r\n val = data.getNumber('balance') ?? 0\r\n // 尝试字符串转换,防止精度丢失导致转为string\r\n if (val === 0 && data.getString('balance') != null) {\r\n val = parseFloat(data.getString('balance')!)\r\n }\r\n return val\r\n } else {\r\n // 对于 Map 或 loose object\r\n const jsonObj = JSON.parse(JSON.stringify(data)) as UTSJSONObject\r\n val = jsonObj.getNumber('balance') ?? 0\r\n if (val === 0 && jsonObj.getString('balance') != null) {\r\n val = parseFloat(jsonObj.getString('balance')!)\r\n }\r\n return val\r\n }\r\n }\r\n\r\n __f__('log','at utils/supabaseService.uts:4229','[Supabase] Wallet table empty, checking profile...')\r\n\r\n // Fallback to profile\r\n const profile = await this.getUserProfile()\r\n if (profile != null) {\r\n if (profile instanceof UTSJSONObject) {\r\n return profile.getNumber('balance') ?? 0\r\n } else {\r\n const pObj = JSON.parse(JSON.stringify(profile)) as UTSJSONObject\r\n return pObj.getNumber('balance') ?? 0\r\n }\r\n }\r\n return 0\r\n } catch(e) {\r\n __f__('error','at utils/supabaseService.uts:4243','[Supabase] getUserBalance exception:', e)\r\n return 0\r\n }\r\n }\r\n \r\n // 获取用户积分\r\n async getUserPoints(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n __f__('log','at utils/supabaseService.uts:4252','[Supabase] getUserPoints userId:', userId)\r\n if (userId == null) return 0\r\n \r\n // 查 ml_user_points\r\n const res = await supa\r\n .from('ml_user_points')\r\n .select('points')\r\n .eq('user_id', userId!)\r\n .single()\r\n .execute()\r\n \r\n if (res.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4264','[Supabase] getUserPoints error:', res.error)\r\n } else {\r\n __f__('log','at utils/supabaseService.uts:4266','[Supabase] getUserPoints data:', res.data)\r\n }\r\n\r\n if (res.error == null && res.data != null) {\r\n let data = res.data\r\n // 如果是数组,取第一项\r\n if (Array.isArray(data)) {\r\n const arr = data as any[]\r\n if (arr.length > 0) {\r\n data = arr[0]\r\n }\r\n }\r\n\r\n if (data instanceof UTSJSONObject) {\r\n return data.getNumber('points') ?? 0\r\n } else {\r\n // 尝试转为 UTSJSONObject\r\n const jsonObj = JSON.parse(JSON.stringify(data)) as UTSJSONObject\r\n const val = jsonObj.getNumber('points')\r\n if (val != null) return val\r\n\r\n return 0\r\n }\r\n }\r\n \r\n // Fallback check profile if needed\r\n const profile = await this.getUserProfile()\r\n if (profile != null) {\r\n if (profile instanceof UTSJSONObject) {\r\n return profile.getNumber('points') ?? 0\r\n } else {\r\n const pObj = JSON.parse(JSON.stringify(profile)) as UTSJSONObject\r\n return pObj.getNumber('points') ?? 0\r\n }\r\n }\r\n \r\n return 0\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:4304','[Supabase] getUserPoints exception:', e)\r\n return 0\r\n }\r\n }\r\n\r\n // 获取钱包交易记录\r\n async getTransactions(page: number = 1, limit: number = 20): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n const from = (page - 1) * limit\r\n const to = from + limit - 1\r\n\r\n const response = await supa\r\n .from('ml_wallet_transactions')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .order('created_at', { ascending: false })\r\n .range(from, to)\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4330','获取交易记录失败:', response.error)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n \r\n const data = response.data\r\n if (data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n return data as any[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:4343','获取交易记录异常:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n \r\n // 获取积分记录\r\n async getPointRecords(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n \r\n const res = await supa\r\n .from('ml_point_records')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .order('created_at', { ascending: false })\r\n .execute()\r\n \r\n if (res.error != null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n const data = res.data\r\n if (data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n return data as any[]\r\n } catch (e) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // 获取用户红包\r\n async getUserRedPackets(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n const res = await supa\r\n .from('ml_user_red_packets')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .order('created_at', { ascending: false })\r\n .execute()\r\n\r\n if (res.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4398','获取红包失败:', res.error)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n const data = res.data\r\n if (data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n return data as any[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:4409','获取红包异常:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // 获取用户银行卡\r\n async getUserBankCards(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n const res = await supa\r\n .from('ml_user_bank_cards')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .order('created_at', { ascending: false })\r\n .execute()\r\n\r\n if (res.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4432','获取银行卡失败:', res.error)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n const data = res.data\r\n if (data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n return data as any[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:4443','获取银行卡异常:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // 余额充值 (调用 RPC)\r\n async rechargeBalance(amount: number): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return false\r\n \r\n const res = await supa.rpc('recharge_wallet', { \r\n p_user_id: userId,\r\n p_amount: amount \r\n })\r\n \r\n if (res.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4461','充值失败RPC:', res.error)\r\n return false\r\n }\r\n \r\n // 简单判断: 如果没有error且data里success为true\r\n const data = res.data\r\n if (data instanceof UTSJSONObject) {\r\n return data.getBoolean('success') ?? false\r\n }\r\n // 如果返回不是对象,作为失败处理\r\n return false\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:4473','充值异常:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 余额提现 (调用 RPC)\r\n async withdrawBalance(amount: number): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return false\r\n \r\n const res = await supa.rpc('withdraw_wallet', { \r\n p_user_id: userId,\r\n p_amount: amount \r\n })\r\n \r\n if (res.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4490','提现失败RPC:', res.error)\r\n return false\r\n }\r\n \r\n const data = res.data\r\n if (data instanceof UTSJSONObject) {\r\n return data.getBoolean('success') ?? false\r\n }\r\n return false\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:4500','提现异常:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 添加银行卡\r\n async addBankCard(card: UTSJSONObject): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return false\r\n \r\n // 补全 user_id\r\n card.set('user_id', userId)\r\n \r\n const res = await supa\r\n .from('ml_user_bank_cards')\r\n .insert(card)\r\n .execute()\r\n \r\n if (res.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4520','添加银行卡失败:', res.error)\r\n return false\r\n }\r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:4525','添加银行卡异常:', e)\r\n return false\r\n }\r\n }\r\n \r\n // 删除银行卡\r\n async deleteBankCard(cardId: string): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return false\r\n \r\n const res = await supa\r\n .from('ml_user_bank_cards')\r\n .eq('id', cardId)\r\n .eq('user_id', userId!)\r\n .delete()\r\n .execute()\r\n \r\n if (res.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4544','删除银行卡失败:', res.error)\r\n return false\r\n }\r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:4549','删除银行卡异常:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 收藏相关\r\n async checkFavorite(productId: string): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n __f__('log','at utils/supabaseService.uts:4558',`[CheckFav] Checking for User: ${userId}, Product: ${productId}`)\r\n \r\n if (userId == null) return false\r\n \r\n const response = await supa\r\n .from('ml_user_favorites')\r\n .select('*') // Select all to verify data\r\n .eq('user_id', userId!)\r\n .eq('target_id', productId)\r\n .eq('target_type', '1') // 使用字符串 '1'\r\n .limit(1)\r\n .execute()\r\n \r\n // __f__('log','at utils/supabaseService.uts:4571',`[CheckFav] Response: ${JSON.stringify(response)}`)\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4574',`[CheckFav] Error: ${JSON.stringify(response.error)}`)\r\n return false\r\n }\r\n \r\n const data = response.data\r\n if (Array.isArray(data)) {\r\n if ((data as any[]).length > 0) {\r\n // Double check: ensure the returned item actually matches the product ID\r\n // This guards against potential query filter failures\r\n const item = data[0]\r\n let targetId = ''\r\n if (item instanceof UTSJSONObject) {\r\n targetId = item.getString('target_id') ?? ''\r\n } else {\r\n const itemObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n targetId = itemObj.getString('target_id') ?? ''\r\n }\r\n \r\n if (targetId != '' && targetId != productId) {\r\n __f__('error','at utils/supabaseService.uts:4593',`[CheckFav] ID Mismatch! Query ${productId}, Got ${targetId}`)\r\n return false\r\n }\r\n \r\n return true\r\n }\r\n } else if (data instanceof UTSJSONObject) {\r\n // Handle single object return case (though limit(1) usually returns array)\r\n let targetId = data.getString('target_id') ?? ''\r\n if (targetId !== '' && targetId !== productId) {\r\n return false\r\n }\r\n return true\r\n }\r\n \r\n return false\r\n } catch(e) {\r\n __f__('error','at utils/supabaseService.uts:4610',`[CheckFav] Exception: ${e}`)\r\n return false\r\n }\r\n }\r\n \r\n async toggleFavorite(productId: string): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return false\r\n \r\n __f__('log','at utils/supabaseService.uts:4620',`[ToggleFav] Toggling for ${productId}`)\r\n \r\n // Check if exists\r\n const exists = await this.checkFavorite(productId)\r\n __f__('log','at utils/supabaseService.uts:4624',`[ToggleFav] Current status: ${exists}`)\r\n \r\n if (exists) {\r\n const response = await supa\r\n .from('ml_user_favorites')\r\n .eq('user_id', userId!)\r\n .eq('target_id', productId)\r\n .eq('target_type', '1')\r\n .delete()\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4636','取消收藏失败:', response.error)\r\n return true // 仍然是收藏状态\r\n }\r\n return false // 已取消收藏\r\n } else {\r\n const response = await supa\r\n .from('ml_user_favorites')\r\n .insert({\r\n user_id: userId,\r\n target_id: productId,\r\n target_type: '1',\r\n created_at: new Date().toISOString()\r\n })\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4652','添加收藏失败:', response.error)\r\n return false // 添加失败,仍未收藏\r\n }\r\n return true // 已收藏\r\n }\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:4658','切换收藏状态异常:', e)\r\n // 发生异常时,尝试查询当前状态返回\r\n return await this.checkFavorite(productId)\r\n }\r\n }\r\n \r\n async getFavorites(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n \r\n // 第一步:查询收藏列表\r\n const response = await supa\r\n .from('ml_user_favorites')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .eq('target_type', '1')\r\n .order('created_at', { ascending: false })\r\n .execute()\r\n \r\n if (response.error != null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n const favorites = response.data as any[]\r\n if (favorites == null || favorites.length === 0) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n \r\n // 第二步:收集商品ID\r\n const productIds: string[] = []\r\n for (let i = 0; i < favorites.length; i++) {\r\n let item: any = favorites[i]\r\n let itemObj: UTSJSONObject\r\n if (item instanceof UTSJSONObject) {\r\n itemObj = item as UTSJSONObject\r\n } else {\r\n itemObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n }\r\n \r\n // target_id 可能是 Integer 或 String 类型,需要安全转换\r\n const targetIdRaw = itemObj.get('target_id')\r\n let pid = ''\r\n if (targetIdRaw != null) {\r\n if (typeof targetIdRaw === 'string') {\r\n pid = targetIdRaw as string\r\n } else if (typeof targetIdRaw === 'number') {\r\n pid = (targetIdRaw as number).toString()\r\n }\r\n }\r\n if (pid !== '') productIds.push(pid)\r\n }\r\n \r\n if (productIds.length === 0) return []\r\n \r\n // 第三步:批量查询商品详情\r\n const anyProductIds = productIds as any[]\r\n const productRes = await supa\r\n .from('ml_products')\r\n .select('id, name, main_image_url, base_price, sale_count')\r\n .in('id', anyProductIds)\r\n .execute()\r\n \r\n if (productRes.error != null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n const products = productRes.data as any[]\r\n const productMap = new Map()\r\n \r\n for (let i = 0; i < products.length; i++) {\r\n // 显式声明类型为 any\r\n let p: any = products[i]\r\n let pid = ''\r\n if (p instanceof UTSJSONObject) {\r\n pid = p.getString('id') ?? ''\r\n } else {\r\n const pObj = JSON.parse(JSON.stringify(p)) as UTSJSONObject\r\n pid = pObj.getString('id') ?? ''\r\n }\r\n if (pid !== '') productMap.set(pid, p)\r\n }\r\n \r\n // 第四步:组合数据\r\n const result: any[] = []\r\n for (let i = 0; i < favorites.length; i++) {\r\n let item: any = favorites[i]\r\n let newItem: UTSJSONObject\r\n \r\n if (item instanceof UTSJSONObject) {\r\n newItem = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n } else {\r\n newItem = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n }\r\n \r\n // target_id 可能是 Integer 或 String 类型,需要安全转换\r\n const targetIdRaw = newItem.get('target_id')\r\n let targetId = ''\r\n if (targetIdRaw != null) {\r\n if (typeof targetIdRaw === 'string') {\r\n targetId = targetIdRaw as string\r\n } else if (typeof targetIdRaw === 'number') {\r\n targetId = (targetIdRaw as number).toString()\r\n }\r\n }\r\n \r\n if (targetId !== '') {\r\n const product = productMap.get(targetId)\r\n if (product != null) {\r\n newItem.set('ml_products', product)\r\n result.push(newItem)\r\n }\r\n }\r\n }\r\n \r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:4779','获取收藏列表异常:', e)\r\n return []\r\n }\r\n }\r\n\r\n // 获取足迹列表\r\n async getFootprints(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('log','at utils/supabaseService.uts:4789','[getFootprints] 用户未登录')\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n __f__('log','at utils/supabaseService.uts:4794','[getFootprints] 查询足迹, userId:', userId)\r\n\r\n // 1. 获取足迹记录\r\n const response = await supa\r\n .from('ml_user_footprints')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .order('updated_at', { ascending: false })\r\n .limit(50)\r\n .execute()\r\n\r\n __f__('log','at utils/supabaseService.uts:4805','[getFootprints] 足迹查询 error:', response.error)\r\n __f__('log','at utils/supabaseService.uts:4806','[getFootprints] 足迹查询 data:', JSON.stringify(response.data))\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:4809','[getFootprints] 获取足迹失败:', response.error)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n const footprints = response.data as any[]\r\n if (footprints == null || footprints.length === 0) {\r\n __f__('log','at utils/supabaseService.uts:4816','[getFootprints] 没有足迹记录')\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n __f__('log','at utils/supabaseService.uts:4821','[getFootprints] 足迹记录数量:', footprints.length)\r\n\r\n // 2. 收集商品ID\r\n const productIds: string[] = []\r\n for (let i = 0; i < footprints.length; i++) {\r\n let item = footprints[i]\r\n let pid = ''\r\n if (item instanceof UTSJSONObject) {\r\n pid = item.getString('product_id') ?? ''\r\n } else {\r\n const itemObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n pid = itemObj.getString('product_id') ?? ''\r\n }\r\n if (pid !== '' && !productIds.includes(pid)) productIds.push(pid)\r\n }\r\n\r\n if (productIds.length === 0) return []\r\n \r\n const productIdsAny: any[] = []\r\n for(let i=0; i()\r\n for(let i=0; i {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('log','at utils/supabaseService.uts:4954','[addFootprint] 用户未登录')\r\n return false\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:4958','[addFootprint] 添加足迹, userId:', userId, 'productId:', productId)\r\n \r\n // 检查是否已存在\r\n const checkRes = await supa\r\n .from('ml_user_footprints')\r\n .select('id')\r\n .eq('user_id', userId!)\r\n .eq('product_id', productId)\r\n .execute()\r\n \r\n __f__('log','at utils/supabaseService.uts:4968','[addFootprint] 检查结果 error:', checkRes.error)\r\n __f__('log','at utils/supabaseService.uts:4969','[addFootprint] 检查结果 data:', JSON.stringify(checkRes.data))\r\n\r\n const checkData = checkRes.data as any[]\r\n const exists = checkData != null && Array.isArray(checkData) && checkData.length > 0\r\n \r\n if (checkRes.error == null && exists) {\r\n __f__('log','at utils/supabaseService.uts:4975','[addFootprint] 足迹已存在,更新时间')\r\n // 更新时间\r\n const updateRes = await supa\r\n .from('ml_user_footprints')\r\n .update({ updated_at: new Date().toISOString() })\r\n .eq('user_id', userId!)\r\n .eq('product_id', productId)\r\n .execute()\r\n __f__('log','at utils/supabaseService.uts:4983','[addFootprint] 更新结果 error:', updateRes.error)\r\n } else {\r\n __f__('log','at utils/supabaseService.uts:4985','[addFootprint] 足迹不存在,插入新记录')\r\n // 插入新记录\r\n const insertPayload = new UTSJSONObject()\r\n insertPayload.set('user_id', userId!)\r\n insertPayload.set('product_id', productId)\r\n insertPayload.set('created_at', new Date().toISOString())\r\n insertPayload.set('updated_at', new Date().toISOString())\r\n \r\n const insertRes = await supa\r\n .from('ml_user_footprints')\r\n .insert(insertPayload)\r\n .execute()\r\n __f__('log','at utils/supabaseService.uts:4997','[addFootprint] 插入结果 error:', insertRes.error)\r\n }\r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5001','[addFootprint] 添加足迹异常:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 删除单个足迹\r\n async deleteFootprint(productId: string): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('log','at utils/supabaseService.uts:5011','[deleteFootprint] 用户未登录')\r\n return false\r\n }\r\n\r\n const response = await supa\r\n .from('ml_user_footprints')\r\n .eq('user_id', userId)\r\n .eq('product_id', productId)\r\n .delete()\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:5023','[deleteFootprint] 删除足迹失败:', response.error)\r\n return false\r\n }\r\n\r\n __f__('log','at utils/supabaseService.uts:5027','[deleteFootprint] 删除足迹成功')\r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5030','[deleteFootprint] 删除足迹异常:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 批量删除足迹\r\n async deleteFootprints(productIds: string[]): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('log','at utils/supabaseService.uts:5040','[deleteFootprints] 用户未登录')\r\n return false\r\n }\r\n\r\n const idsAny: any[] = []\r\n for (let i = 0; i < productIds.length; i++) {\r\n idsAny.push(productIds[i])\r\n }\r\n\r\n const response = await supa\r\n .from('ml_user_footprints')\r\n .eq('user_id', userId)\r\n .in('product_id', idsAny)\r\n .delete()\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:5057','[deleteFootprints] 批量删除足迹失败:', response.error)\r\n return false\r\n }\r\n\r\n __f__('log','at utils/supabaseService.uts:5061','[deleteFootprints] 批量删除足迹成功')\r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5064','[deleteFootprints] 批量删除足迹异常:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 清空所有足迹\r\n async clearFootprints(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('log','at utils/supabaseService.uts:5074','[clearFootprints] 用户未登录')\r\n return false\r\n }\r\n\r\n const response = await supa\r\n .from('ml_user_footprints')\r\n .eq('user_id', userId)\r\n .delete()\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:5085','[clearFootprints] 清空足迹失败:', response.error)\r\n return false\r\n }\r\n\r\n __f__('log','at utils/supabaseService.uts:5089','[clearFootprints] 清空足迹成功')\r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5092','[clearFootprints] 清空足迹异常:', e)\r\n return false\r\n }\r\n }\r\n\r\n async getAddressList(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: UserAddress[] = []\r\n return empty\r\n }\r\n\r\n const response = await supa\r\n .from('ml_user_addresses')\r\n .select('*, recipient_name:receiver_name, phone:receiver_phone, detail_address:address_detail')\r\n .eq('user_id', userId!)\r\n .order('is_default', { ascending: false })\r\n .order('created_at', { ascending: false })\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:5114','获取地址列表失败:', response.error)\r\n const empty: UserAddress[] = []\r\n return empty\r\n }\r\n return response.data as UserAddress[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5120','获取地址列表异常:', e)\r\n const empty: UserAddress[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // 设置默认地址\r\n async setDefaultAddress(addressId: string): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:5131','用户未登录,无法设置默认地址')\r\n return false\r\n }\r\n\r\n // 先取消所有默认地址\r\n await this.clearDefaultAddress(userId!)\r\n\r\n // 设置新的默认地址\r\n const response = await supa\r\n .from('ml_user_addresses')\r\n .update({\r\n is_default: true,\r\n updated_at: new Date().toISOString()\r\n })\r\n .eq('id', addressId)\r\n .eq('user_id', userId!)\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:5150','设置默认地址失败:', response.error)\r\n return false\r\n }\r\n\r\n return true\r\n } catch (error) {\r\n __f__('error','at utils/supabaseService.uts:5156','设置默认地址异常:', error)\r\n return false\r\n }\r\n }\r\n\r\n // 获取用户优惠券列表\r\n async getUserCoupons(status: number = 1): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: UserCoupon[] = []\r\n return empty\r\n }\r\n\r\n // 假设有一个视图或者直接关联 ml_user_coupons 和 ml_coupon_templates\r\n // 这里简化处理,尝试直接从 ml_user_coupons 读取,并且加入 template 信息\r\n // 如果没有 view,可能需要改为两个查询或者使用 left join\r\n const response = await supa\r\n .from('ml_user_coupons')\r\n .select('*, template:ml_coupon_templates(name, amount, min_spend)')\r\n .eq('user_id', userId!)\r\n .eq('status', status.toString())\r\n .order('expire_at', { ascending: true })\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:5182','获取优惠券失败:', response.error)\r\n const empty: UserCoupon[] = []\r\n return empty\r\n }\r\n\r\n // 安全处理返回数据 - 安卓端可能是 UTSJSONObject 或 UTSArray\r\n const rawData: any[] = []\r\n const respData = response.data\r\n __f__('log','at utils/supabaseService.uts:5190','[getUserCoupons] 原始数据类型:', typeof respData, '是否数组:', Array.isArray(respData))\r\n if (respData != null) {\r\n if (Array.isArray(respData)) {\r\n const arr = respData as any[]\r\n __f__('log','at utils/supabaseService.uts:5194','[getUserCoupons] 数组长度:', arr.length)\r\n for (let i = 0; i < arr.length; i++) {\r\n rawData.push(arr[i])\r\n }\r\n } else if (respData instanceof UTSJSONObject) {\r\n // 单个对象情况,包装成数组\r\n __f__('log','at utils/supabaseService.uts:5200','[getUserCoupons] 单个对象,包装成数组')\r\n rawData.push(respData)\r\n } else {\r\n // 尝试 JSON 转换\r\n try {\r\n const parsed = JSON.parse(JSON.stringify(respData))\r\n __f__('log','at utils/supabaseService.uts:5206','[getUserCoupons] JSON转换后是否数组:', Array.isArray(parsed))\r\n if (Array.isArray(parsed)) {\r\n __f__('log','at utils/supabaseService.uts:5208','[getUserCoupons] 转换后数组长度:', parsed.length)\r\n for (let i = 0; i < parsed.length; i++) {\r\n rawData.push(parsed[i])\r\n }\r\n }\r\n } catch (parseErr) {\r\n __f__('error','at utils/supabaseService.uts:5214','解析优惠券数据异常:', parseErr)\r\n }\r\n }\r\n }\r\n __f__('log','at utils/supabaseService.uts:5218','[getUserCoupons] 最终rawData长度:', rawData.length)\r\n\r\n // 映射数据,将 template 的字段展平\r\n const coupons: UserCoupon[] = []\r\n for (let i = 0; i < rawData.length; i++) {\r\n const item = rawData[i]\r\n let template: any | null = null\r\n let itemId = ''\r\n let itemUserId = ''\r\n let itemTmplId = ''\r\n let itemCode = ''\r\n let itemStatus = 0\r\n let itemRecv = ''\r\n let itemExpire = ''\r\n \r\n if (item instanceof UTSJSONObject) {\r\n template = item.get('template') as any | null\r\n itemId = item.getString('id') ?? ''\r\n itemUserId = item.getString('user_id') ?? ''\r\n itemTmplId = item.getString('template_id') ?? ''\r\n itemCode = item.getString('coupon_code') ?? ''\r\n itemStatus = item.getNumber('status') ?? 0\r\n itemRecv = item.getString('received_at') ?? ''\r\n itemExpire = item.getString('expire_at') ?? ''\r\n } else {\r\n const iObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n template = iObj.get('template') as any | null\r\n itemId = iObj.getString('id') ?? ''\r\n itemUserId = iObj.getString('user_id') ?? ''\r\n itemTmplId = iObj.getString('template_id') ?? ''\r\n itemCode = iObj.getString('coupon_code') ?? ''\r\n itemStatus = iObj.getNumber('status') ?? 0\r\n itemRecv = iObj.getString('received_at') ?? ''\r\n itemExpire = iObj.getString('expire_at') ?? ''\r\n }\r\n \r\n if (template == null) template = new UTSJSONObject()\r\n \r\n let tName = ''\r\n let tAmount = 0\r\n let tMin = 0\r\n \r\n if (template instanceof UTSJSONObject) {\r\n tName = template.getString('name') ?? '优惠券'\r\n tAmount = template.getNumber('amount') ?? 0\r\n tMin = template.getNumber('min_spend') ?? 0\r\n } else {\r\n const tObj = JSON.parse(JSON.stringify(template)) as UTSJSONObject\r\n tName = tObj.getString('name') ?? '优惠券'\r\n tAmount = tObj.getNumber('amount') ?? 0\r\n tMin = tObj.getNumber('min_spend') ?? 0\r\n }\r\n\r\n // 创建真正的 UserCoupon 对象,而不是 UTSJSONObject\r\n const couponItem: UserCoupon = {\r\n id: itemId,\r\n user_id: itemUserId,\r\n template_id: itemTmplId,\r\n coupon_code: itemCode,\r\n status: itemStatus,\r\n received_at: itemRecv,\r\n expire_at: itemExpire,\r\n template_name: tName,\r\n amount: tAmount,\r\n min_spend: tMin\r\n }\r\n \r\n coupons.push(couponItem)\r\n }\r\n\r\n return coupons\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5290','获取优惠券异常:', e)\r\n const empty: UserCoupon[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // 获取可用优惠券数量\r\n async getUserCouponCount(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return 0\r\n\r\n const response = await supa\r\n .from('ml_user_coupons')\r\n .select('id', { count: 'exact' })\r\n .eq('user_id', userId!)\r\n .eq('status', '1')\r\n .gt('expire_at', new Date().toISOString())\r\n .limit(1)\r\n .execute()\r\n\r\n if (response.error != null) {\r\n return 0\r\n }\r\n return response.total ?? 0\r\n } catch (e) {\r\n return 0\r\n }\r\n }\r\n\r\n // 获取店铺/商品可用优惠券\r\n async getAvailableCoupons(merchantId: string): Promise {\r\n return this.fetchShopCoupons(merchantId)\r\n }\r\n\r\n // ALIAS for Cache busting: 获取店铺优惠券\r\n async fetchShopCoupons(merchantId: string): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:5328','[fetchShopCoupons] 开始获取优惠券,merchantId:', merchantId)\r\n // 查询该商家的优惠券 + 平台通用券 (merchant_id is null)\r\n // 注意:这里简化逻辑,实际可能需要联合查询用户是否已领取\r\n const response = await supa\r\n .from('ml_coupon_templates')\r\n .select('*')\r\n .or(`merchant_id.eq.${merchantId},merchant_id.is.null`)\r\n .eq('status', '1') // 使用字符串 '1'\r\n .gt('end_time', new Date().toISOString())\r\n .order('discount_value', { ascending: false })\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:5341','Fetch coupons failed:', response.error)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n \r\n const data = response.data\r\n if (data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n __f__('log','at utils/supabaseService.uts:5351','[fetchShopCoupons] 获取到优惠券数量:', (data as any[]).length)\r\n return data as any[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5354','Fetch coupons error:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // 领取优惠券\r\n async claimCoupon(templateId: string, userId: string): Promise {\r\n return this.claimShopCoupon(templateId, userId)\r\n }\r\n\r\n // ALIAS for Cache busting\r\n async claimShopCoupon(templateId: string, userId: string): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:5368','Claiming coupon templateId:', templateId, 'userId:', userId)\r\n\r\n // 1. Fetch template details to get merchant_id and validity\r\n const tmplRes = await supa\r\n .from('ml_coupon_templates')\r\n .select('*')\r\n .eq('id', templateId)\r\n .limit(1)\r\n .execute()\r\n \r\n if (tmplRes.error != null) {\r\n __f__('error','at utils/supabaseService.uts:5379','Claim Coupon: Template query error', tmplRes.error)\r\n return false\r\n }\r\n\r\n // Null check for data\r\n if (tmplRes.data == null) {\r\n __f__('error','at utils/supabaseService.uts:5385','Claim Coupon: Template data response is null')\r\n return false\r\n }\r\n \r\n const dataList = tmplRes.data as any[]\r\n if (dataList.length === 0) {\r\n __f__('error','at utils/supabaseService.uts:5391','Claim Coupon: Template not found (empty list)')\r\n return false\r\n }\r\n\r\n const template = dataList[0]\r\n \r\n // Safe property access\r\n let validDays = 0\r\n let endTimeStr: string | null = null\r\n let merchantId: string | null = null\r\n \r\n if (template instanceof UTSJSONObject) {\r\n validDays = template.getNumber('valid_days') ?? 0\r\n endTimeStr = template.getString('end_time')\r\n merchantId = template.getString('merchant_id')\r\n } else {\r\n const tJson = JSON.parse(JSON.stringify(template)) as UTSJSONObject\r\n validDays = tJson.getNumber('valid_days') ?? 0\r\n endTimeStr = tJson.getString('end_time')\r\n merchantId = tJson.getString('merchant_id')\r\n }\r\n \r\n // Calculate expire_at\r\n let expireAt = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString()\r\n if (validDays > 0) {\r\n expireAt = new Date(Date.now() + (validDays * 24 * 60 * 60 * 1000)).toISOString()\r\n } else if (endTimeStr != null && endTimeStr !== '') {\r\n expireAt = endTimeStr\r\n }\r\n \r\n // Handle UUID fields: Empty string is not valid UUID, must be null\r\n if (merchantId != null && merchantId.length === 0) {\r\n merchantId = null\r\n }\r\n\r\n // 2. Insert into user coupons with merchant_id\r\n const insertData = {\r\n user_id: userId,\r\n template_id: templateId,\r\n merchant_id: merchantId, // Important for shop filtering: null for platform coupons\r\n coupon_code: 'C' + Date.now() + Math.floor(Math.random() * 1000), \r\n status: 1, \r\n expire_at: expireAt,\r\n received_at: new Date().toISOString()\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:5437','Claim Coupon Insert Payload:', JSON.stringify(insertData))\r\n\r\n const response = await supa\r\n .from('ml_user_coupons')\r\n .insert(insertData)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:5445','Claim Coupon: Insert failed:', JSON.stringify(response.error))\r\n // 尝试降级:如果 merchant_id 报错,尝试不带 merchant_id (仅调试用,或兼容旧表结构)\r\n if (JSON.stringify(response.error).includes('merchant_id')) {\r\n __f__('log','at utils/supabaseService.uts:5448','Retrying without merchant_id...')\r\n const fallbackData = {\r\n user_id: userId,\r\n template_id: templateId,\r\n coupon_code: 'C' + Date.now() + Math.random().toString().substring(2,6),\r\n status: 1,\r\n expire_at: expireAt,\r\n received_at: new Date().toISOString()\r\n }\r\n const res2 = await supa.from('ml_user_coupons').insert(fallbackData).execute()\r\n if (res2.error == null) return true\r\n }\r\n return false\r\n }\r\n return true\r\n } catch(e) {\r\n __f__('error','at utils/supabaseService.uts:5464','Claim coupon error:', e)\r\n return false\r\n }\r\n }\r\n\r\n // ==========================================\r\n // 聊天相关方法\r\n // ==========================================\r\n\r\n // 发送消息\r\n async sendMessage(merchantId: string, content: string, msgType: string = 'text'): Promise {\r\n // 确保 session 有效\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:5478',\"sendMessage failed: user not logged in or session lost\")\r\n return false\r\n }\r\n\r\n try {\r\n // Debug check\r\n // const session = supa.getSession()\r\n // __f__('log','at utils/supabaseService.uts:5485',\"Sending check: UserID\", userId, \"AuthID:\", session.user?.getString('id'))\r\n \r\n const msg = {\r\n sender_id: userId!,\r\n receiver_id: merchantId,\r\n content: content,\r\n msg_type: msgType,\r\n is_read: false,\r\n is_from_user: true\r\n }\r\n \r\n const response = await supa\r\n .from('ml_chat_messages')\r\n .insert(msg)\r\n .execute()\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:5502','sendMessage error:', response.error)\r\n return false\r\n }\r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5507','sendMessage exception:', e)\r\n return false\r\n }\r\n }\r\n \r\n // 上传聊天图片\r\n async uploadChatImage(filePath: string): Promise {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n __f__('error','at utils/supabaseService.uts:5516',\"uploadChatImage failed: user not logged in\")\r\n return ''\r\n }\r\n \r\n try {\r\n // 生成唯一文件名\r\n const timestamp = Date.now()\r\n const randomStr = Math.random().toString(36).substring(2, 8)\r\n const fileName = `chat_${userId}_${timestamp}_${randomStr}.jpg`\r\n const storagePath = `chat-images/${fileName}`\r\n \r\n __f__('log','at utils/supabaseService.uts:5527','[uploadChatImage] 开始上传:', filePath, '->', storagePath)\r\n \r\n const response = await supa.storage\r\n .from('chat')\r\n .upload(storagePath, filePath, {})\r\n \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:5534','[uploadChatImage] 上传失败:', response.error)\r\n return ''\r\n }\r\n \r\n // 构建公开访问URL\r\n const publicUrl = `${supa.baseUrl}/storage/v1/object/public/chat/${storagePath}`\r\n __f__('log','at utils/supabaseService.uts:5540','[uploadChatImage] 上传成功:', publicUrl)\r\n return publicUrl\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5543','[uploadChatImage] 上传异常:', e)\r\n return ''\r\n }\r\n }\r\n \r\n // 标记会话已读\r\n async markRead(merchantId: string): Promise {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return false\r\n try {\r\n const response = await supa\r\n .from('ml_chat_messages')\r\n .update({ is_read: true })\r\n .eq('sender_id', merchantId)\r\n .eq('receiver_id', userId)\r\n .eq('is_read', false)\r\n .execute() \r\n\r\n if (response.error != null) return false\r\n } catch (e) { return false }\r\n return true\r\n }\r\n\r\n // 提交商品评价\r\n async submitProductReviews(reviews: Array): Promise {\r\n try {\r\n for (let i: number = 0; i < reviews.length; i++) {\r\n const review = reviews[i]\r\n const response = await supa\r\n .from('ml_product_reviews')\r\n .insert(review)\r\n .execute() \r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:5576','提交商品评价失败:', response.error)\r\n return false\r\n }\r\n }\r\n return true\r\n } catch (e) { \r\n __f__('error','at utils/supabaseService.uts:5582','提交商品评价失败:', e)\r\n return false \r\n }\r\n }\r\n\r\n // 提交店铺评价\r\n async submitShopReview(review: UTSJSONObject): Promise {\r\n try {\r\n const response = await supa\r\n .from('ml_shop_reviews')\r\n .insert(review)\r\n .execute() \r\n return response.error == null\r\n } catch (e) { \r\n __f__('error','at utils/supabaseService.uts:5596','提交店铺评价失败:', e)\r\n return false \r\n }\r\n }\r\n\r\n // 更新订单状态\r\n async updateOrderStatus(orderId: string, status: number): Promise {\r\n try {\r\n const updateData = new UTSJSONObject()\r\n updateData.set('order_status', status)\r\n const response = await supa\r\n .from('ml_orders')\r\n .update(updateData) \r\n .eq('id', orderId)\r\n .execute() \r\n return response.error == null\r\n } catch (e) { \r\n __f__('error','at utils/supabaseService.uts:5613','更新订单状态失败:', e)\r\n return false \r\n }\r\n }\r\n\r\n // ==================== 智能推荐相关API ====================\r\n\r\n // 获取热搜词(全站搜索频率最高的关键词)\r\n async getHotKeywords(limit: number = 10): Promise {\r\n try {\r\n const response = await supa\r\n .from('ml_search_history')\r\n .select('keyword')\r\n .order('created_at', { ascending: false })\r\n .limit(100)\r\n .execute()\r\n \r\n if (response.error != null || response.data == null) {\r\n return [] as string[]\r\n }\r\n \r\n // 统计关键词频率\r\n const keywordCount = new Map()\r\n const rawList = response.data as any[]\r\n for (let i = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const itemObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n const keyword = safeGetString(itemObj, 'keyword').toLowerCase().trim()\r\n if (keyword.length > 0) {\r\n const count = keywordCount.get(keyword) ?? 0\r\n keywordCount.set(keyword, count + 1)\r\n }\r\n }\r\n \r\n // 按频率排序并返回前N个 - UTS兼容方式\r\n // 将Map转换为数组进行排序\r\n type KeywordEntry = {\r\n keyword: string\r\n count: number\r\n }\r\n const entryArray: KeywordEntry[] = []\r\n \r\n // 使用forEach遍历Map(UTS支持)\r\n keywordCount.forEach((value: number, key: string) => {\r\n entryArray.push({\r\n keyword: key,\r\n count: value\r\n })\r\n })\r\n \r\n // 按count降序排序\r\n entryArray.sort((a: KeywordEntry, b: KeywordEntry): number => {\r\n return b.count - a.count\r\n })\r\n \r\n // 取前limit个并提取关键词\r\n const sortedKeywords: string[] = []\r\n const maxCount = Math.min(entryArray.length, limit)\r\n for (let i = 0; i < maxCount; i++) {\r\n sortedKeywords.push(entryArray[i].keyword)\r\n }\r\n \r\n return sortedKeywords\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5677','获取热搜词失败:', e)\r\n return [] as string[]\r\n }\r\n }\r\n\r\n // 获取用户搜索历史\r\n async getUserSearchHistory(limit: number = 10): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n return [] as string[]\r\n }\r\n \r\n const response = await supa\r\n .from('ml_search_history')\r\n .select('keyword')\r\n .order('created_at', { ascending: false })\r\n .limit(limit * 2)\r\n .execute()\r\n \r\n if (response.error != null || response.data == null) {\r\n return [] as string[]\r\n }\r\n \r\n const keywords: string[] = []\r\n const rawList = response.data as any[]\r\n const seen = new Set()\r\n \r\n for (let i = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const itemObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n const rawUserId = itemObj.get('user_id')\r\n const itemUserId = (typeof rawUserId == 'string') ? (rawUserId as string) : ''\r\n \r\n // 只获取当前用户的搜索历史\r\n if (itemUserId !== userId) continue\r\n \r\n const keyword = safeGetString(itemObj, 'keyword').trim()\r\n if (keyword.length > 0 && !seen.has(keyword)) {\r\n keywords.push(keyword)\r\n seen.add(keyword)\r\n if (keywords.length >= limit) break\r\n }\r\n }\r\n \r\n return keywords\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5724','获取用户搜索历史失败:', e)\r\n return [] as string[]\r\n }\r\n }\r\n\r\n // 获取用户浏览历史中的商品分类\r\n async getUserBrowseCategories(limit: number = 5): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n return [] as string[]\r\n }\r\n \r\n const response = await supa\r\n .from('ml_browse_history')\r\n .select('product_id')\r\n .order('created_at', { ascending: false })\r\n .limit(20)\r\n .execute()\r\n \r\n if (response.error != null || response.data == null) {\r\n return [] as string[]\r\n }\r\n \r\n // 获取浏览过的商品ID\r\n const productIds: string[] = []\r\n const rawList = response.data as any[]\r\n for (let i = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const itemObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n \r\n // 手动过滤 user_id\r\n const rawUserId = itemObj.get('user_id')\r\n const itemUserId = (typeof rawUserId == 'string') ? (rawUserId as string) : ''\r\n if (itemUserId !== userId) continue\r\n \r\n const productId = safeGetString(itemObj, 'product_id')\r\n if (productId.length > 0) {\r\n productIds.push(productId)\r\n }\r\n }\r\n \r\n if (productIds.length === 0) {\r\n return [] as string[]\r\n }\r\n \r\n // 查询这些商品的分类\r\n const prodResponse = await supa\r\n .from('ml_products')\r\n .select('category_id')\r\n .limit(50)\r\n .execute()\r\n \r\n if (prodResponse.error != null || prodResponse.data == null) {\r\n return [] as string[]\r\n }\r\n \r\n const categoryIds: string[] = []\r\n const prodList = prodResponse.data as any[]\r\n for (let i = 0; i < prodList.length; i++) {\r\n const prodItem = prodList[i]\r\n const prodObj = JSON.parse(JSON.stringify(prodItem)) as UTSJSONObject\r\n const prodId = safeGetString(prodObj, 'id')\r\n \r\n // 只统计浏览过的商品\r\n let found = false\r\n for (let j = 0; j < productIds.length; j++) {\r\n if (productIds[j] == prodId) {\r\n found = true\r\n break\r\n }\r\n }\r\n if (!found) continue\r\n \r\n const catId = safeGetString(prodObj, 'category_id')\r\n if (catId.length > 0 && categoryIds.indexOf(catId) < 0) {\r\n categoryIds.push(catId)\r\n if (categoryIds.length >= limit) break\r\n }\r\n }\r\n \r\n return categoryIds\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5807','获取用户浏览分类失败:', e)\r\n return [] as string[]\r\n }\r\n }\r\n\r\n // 智能推荐:综合用户搜索历史、浏览历史、热销商品\r\n async getSmartRecommendations(limit: number = 10): Promise {\r\n try {\r\n __f__('log','at utils/supabaseService.uts:5815','[getSmartRecommendations] 开始获取智能推荐...')\r\n \r\n const products: Product[] = []\r\n const addedIds = new Set()\r\n \r\n // 1. 根据用户搜索历史推荐商品(权重最高)\r\n const searchHistory = await this.getUserSearchHistory(5)\r\n __f__('log','at utils/supabaseService.uts:5822','[getSmartRecommendations] 用户搜索历史:', searchHistory)\r\n \r\n if (searchHistory.length > 0) {\r\n // 根据搜索关键词查找商品\r\n const keywordProducts = await this.searchProductsByKeywords(searchHistory, limit)\r\n for (let i = 0; i < keywordProducts.length; i++) {\r\n const prod = keywordProducts[i]\r\n if (!addedIds.has(prod.id)) {\r\n products.push(prod)\r\n addedIds.add(prod.id)\r\n }\r\n }\r\n }\r\n \r\n // 2. 根据用户浏览历史推荐相似分类商品\r\n if (products.length < limit) {\r\n const browseCategories = await this.getUserBrowseCategories(3)\r\n __f__('log','at utils/supabaseService.uts:5839','[getSmartRecommendations] 用户浏览分类:', browseCategories)\r\n \r\n if (browseCategories.length > 0) {\r\n const categoryProducts = await this.getProductsByCategories(browseCategories, limit - products.length)\r\n for (let i = 0; i < categoryProducts.length; i++) {\r\n const prod = categoryProducts[i]\r\n if (!addedIds.has(prod.id)) {\r\n products.push(prod)\r\n addedIds.add(prod.id)\r\n }\r\n }\r\n }\r\n }\r\n \r\n // 3. 补充热销商品\r\n if (products.length < limit) {\r\n const hotProducts = await this.getHotProducts(limit - products.length + 5)\r\n for (let i = 0; i < hotProducts.length; i++) {\r\n const prod = hotProducts[i]\r\n if (!addedIds.has(prod.id)) {\r\n products.push(prod)\r\n addedIds.add(prod.id)\r\n if (products.length >= limit) break\r\n }\r\n }\r\n }\r\n \r\n // 4. 如果还不够,用普通商品补充\r\n if (products.length < limit) {\r\n const moreProducts = await this.getProductsByPrice(limit - products.length + 5, false)\r\n for (let i = 0; i < moreProducts.length; i++) {\r\n const prod = moreProducts[i]\r\n if (!addedIds.has(prod.id)) {\r\n products.push(prod)\r\n addedIds.add(prod.id)\r\n if (products.length >= limit) break\r\n }\r\n }\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:5879','[getSmartRecommendations] 返回商品数量:', products.length)\r\n return products.slice(0, limit)\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5882','获取智能推荐失败:', e)\r\n return [] as Product[]\r\n }\r\n }\r\n\r\n // 根据关键词列表搜索商品\r\n async searchProductsByKeywords(keywords: string[], limit: number): Promise {\r\n try {\r\n const response = await supa\r\n .from('ml_products_detail_view')\r\n .select('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')\r\n .order('sale_count', { ascending: false })\r\n .limit(limit * 2)\r\n .execute()\r\n \r\n if (response.error != null || response.data == null) {\r\n return [] as Product[]\r\n }\r\n \r\n const products: Product[] = []\r\n const rawList = response.data as any[]\r\n \r\n for (let i = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const prodObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n \r\n // 手动过滤 status\r\n const rawStatus = prodObj.get('status')\r\n let statusNum: number = 0\r\n if (typeof rawStatus == 'number') {\r\n statusNum = rawStatus as number\r\n }\r\n if (statusNum !== 1) continue\r\n \r\n // 检查是否匹配任何关键词\r\n const name = safeGetString(prodObj, 'name').toLowerCase()\r\n const desc = safeGetString(prodObj, 'description').toLowerCase()\r\n \r\n let matched = false\r\n for (let j = 0; j < keywords.length; j++) {\r\n const keyword = keywords[j].toLowerCase()\r\n if (name.indexOf(keyword) >= 0 || desc.indexOf(keyword) >= 0) {\r\n matched = true\r\n break\r\n }\r\n }\r\n \r\n if (!matched) continue\r\n \r\n products.push(parseProductFromRaw(item))\r\n if (products.length >= limit) break\r\n }\r\n \r\n return products\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5937','根据关键词搜索商品失败:', e)\r\n return [] as Product[]\r\n }\r\n }\r\n\r\n // 根据分类列表获取商品\r\n async getProductsByCategories(categoryIds: string[], limit: number): Promise {\r\n try {\r\n const response = await supa\r\n .from('ml_products_detail_view')\r\n .select('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')\r\n .order('sale_count', { ascending: false })\r\n .limit(limit * 2)\r\n .execute()\r\n \r\n if (response.error != null || response.data == null) {\r\n return [] as Product[]\r\n }\r\n \r\n const products: Product[] = []\r\n const rawList = response.data as any[]\r\n \r\n for (let i = 0; i < rawList.length; i++) {\r\n const item = rawList[i]\r\n const prodObj = JSON.parse(JSON.stringify(item)) as UTSJSONObject\r\n \r\n // 手动过滤 status\r\n const rawStatus = prodObj.get('status')\r\n let statusNum: number = 0\r\n if (typeof rawStatus == 'number') {\r\n statusNum = rawStatus as number\r\n }\r\n if (statusNum !== 1) continue\r\n \r\n // 手动过滤 category_id\r\n const rawCatId = prodObj.get('category_id')\r\n const itemCatId = (typeof rawCatId == 'string') ? (rawCatId as string) : ''\r\n \r\n let matched = false\r\n for (let j = 0; j < categoryIds.length; j++) {\r\n if (itemCatId == categoryIds[j]) {\r\n matched = true\r\n break\r\n }\r\n }\r\n \r\n if (!matched) continue\r\n \r\n products.push(parseProductFromRaw(item))\r\n if (products.length >= limit) break\r\n }\r\n \r\n return products\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:5991','根据分类获取商品失败:', e)\r\n return [] as Product[]\r\n }\r\n }\r\n\r\n // 记录用户搜索行为\r\n async recordSearch(keyword: string, resultCount: number): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n const searchRecord = new UTSJSONObject()\r\n searchRecord.set('keyword', keyword)\r\n searchRecord.set('result_count', resultCount)\r\n if (userId != null) {\r\n searchRecord.set('user_id', userId)\r\n }\r\n \r\n await supa\r\n .from('ml_search_history')\r\n .insert(searchRecord)\r\n .execute()\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6012','记录搜索失败:', e)\r\n }\r\n }\r\n\r\n // 记录用户浏览行为\r\n async recordBrowse(productId: string, duration: number = 0): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return\r\n \r\n const browseRecord = new UTSJSONObject()\r\n browseRecord.set('user_id', userId)\r\n browseRecord.set('product_id', productId)\r\n browseRecord.set('browse_duration', duration)\r\n browseRecord.set('created_at', new Date().toISOString())\r\n \r\n // UTS Android不支持upsert,使用insert\r\n await supa\r\n .from('ml_browse_history')\r\n .insert(browseRecord)\r\n .execute()\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6034','记录浏览失败:', e)\r\n }\r\n }\r\n\r\n // ==================== 签到相关API ====================\r\n\r\n // 用户签到\r\n async signin(): Promise {\r\n const result = new UTSJSONObject()\r\n result.set('success', false)\r\n result.set('points', 0)\r\n result.set('continuous_days', 0)\r\n result.set('bonus_points', 0)\r\n result.set('total_points', 0)\r\n result.set('message', '')\r\n\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n result.set('message', '请先登录')\r\n return result\r\n }\r\n\r\n const today = new Date()\r\n const todayStr = today.toISOString().split('T')[0]\r\n const yesterday = new Date(today.getTime() - 24 * 60 * 60 * 1000)\r\n const yesterdayStr = yesterday.toISOString().split('T')[0]\r\n\r\n // 检查今天是否已签到\r\n const checkRes = await supa\r\n .from('ml_signin_records')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .eq('signin_date', todayStr)\r\n .execute()\r\n\r\n if (checkRes.error != null) {\r\n result.set('message', '查询签到状态失败')\r\n return result\r\n }\r\n\r\n const checkData = checkRes.data as any[]\r\n if (checkData != null && checkData.length > 0) {\r\n result.set('message', '今天已签到')\r\n return result\r\n }\r\n\r\n // 查询昨天是否签到,计算连续天数\r\n const yesterdayRes = await supa\r\n .from('ml_signin_records')\r\n .select('continuous_days')\r\n .eq('user_id', userId!)\r\n .eq('signin_date', yesterdayStr)\r\n .execute()\r\n\r\n let continuousDays = 1\r\n if (yesterdayRes.error == null && yesterdayRes.data != null) {\r\n const yData = yesterdayRes.data as any[]\r\n if (yData.length > 0) {\r\n const yItem = yData[0]\r\n let yDays = 0\r\n if (yItem instanceof UTSJSONObject) {\r\n yDays = yItem.getNumber('continuous_days') ?? 0\r\n } else {\r\n const yObj = JSON.parse(JSON.stringify(yItem)) as UTSJSONObject\r\n yDays = yObj.getNumber('continuous_days') ?? 0\r\n }\r\n continuousDays = yDays + 1\r\n }\r\n }\r\n\r\n // 计算积分\r\n let pointsEarned = 5 // 每日签到基础积分\r\n let bonusPoints = 0\r\n\r\n if (continuousDays >= 30) {\r\n bonusPoints = 100\r\n } else if (continuousDays >= 7) {\r\n bonusPoints = 20\r\n }\r\n\r\n const totalPointsEarned = pointsEarned + bonusPoints\r\n\r\n // 插入签到记录\r\n const signinRecord = new UTSJSONObject()\r\n signinRecord.set('user_id', userId!)\r\n signinRecord.set('signin_date', todayStr)\r\n signinRecord.set('points_earned', pointsEarned)\r\n signinRecord.set('bonus_points', bonusPoints)\r\n signinRecord.set('continuous_days', continuousDays)\r\n\r\n const insertRes = await supa\r\n .from('ml_signin_records')\r\n .insert(signinRecord)\r\n .execute()\r\n\r\n if (insertRes.error != null) {\r\n result.set('message', '签到失败')\r\n return result\r\n }\r\n\r\n // 更新用户积分\r\n await this.addPoints(userId!, totalPointsEarned, 'signin', '每日签到')\r\n\r\n // 获取最新积分\r\n const newPoints = await this.getUserPoints()\r\n\r\n result.set('success', true)\r\n result.set('points', pointsEarned)\r\n result.set('continuous_days', continuousDays)\r\n result.set('bonus_points', bonusPoints)\r\n result.set('total_points', newPoints)\r\n result.set('message', '签到成功')\r\n\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6150','签到异常:', e)\r\n result.set('message', '签到异常')\r\n return result\r\n }\r\n }\r\n\r\n // 获取签到记录(当月)\r\n async getSigninRecords(year: number, month: number): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n const startDate = `${year}-${month.toString().padStart(2, '0')}-01`\r\n const endDate = month === 12 \r\n ? `${year + 1}-01-01` \r\n : `${year}-${(month + 1).toString().padStart(2, '0')}-01`\r\n\r\n const response = await supa\r\n .from('ml_signin_records')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .gte('signin_date', startDate)\r\n .lt('signin_date', endDate)\r\n .order('signin_date', { ascending: true })\r\n .execute()\r\n\r\n if (response.error != null || response.data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n return response.data as any[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6186','获取签到记录失败:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // 获取今日签到状态\r\n async getTodaySigninStatus(): Promise {\r\n const result = new UTSJSONObject()\r\n result.set('signed', false)\r\n result.set('continuous_days', 0)\r\n\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return result\r\n\r\n const today = new Date().toISOString().split('T')[0]\r\n\r\n // 检查今天是否签到\r\n const todayRes = await supa\r\n .from('ml_signin_records')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .eq('signin_date', today)\r\n .execute()\r\n\r\n if (todayRes.error == null && todayRes.data != null) {\r\n const tData = todayRes.data as any[]\r\n if (tData.length > 0) {\r\n const tItem = tData[0]\r\n let cDays = 0\r\n if (tItem instanceof UTSJSONObject) {\r\n cDays = tItem.getNumber('continuous_days') ?? 0\r\n } else {\r\n const tObj = JSON.parse(JSON.stringify(tItem)) as UTSJSONObject\r\n cDays = tObj.getNumber('continuous_days') ?? 0\r\n }\r\n result.set('signed', true)\r\n result.set('continuous_days', cDays)\r\n return result\r\n }\r\n }\r\n\r\n // 今天未签到,获取最近的连续签到天数\r\n const lastRes = await supa\r\n .from('ml_signin_records')\r\n .select('continuous_days, signin_date')\r\n .eq('user_id', userId!)\r\n .order('signin_date', { ascending: false })\r\n .limit(1)\r\n .execute()\r\n\r\n if (lastRes.error == null && lastRes.data != null) {\r\n const lData = lastRes.data as any[]\r\n if (lData.length > 0) {\r\n const lItem = lData[0]\r\n let lastDate = ''\r\n let lastDays = 0\r\n if (lItem instanceof UTSJSONObject) {\r\n lastDate = lItem.getString('signin_date') ?? ''\r\n lastDays = lItem.getNumber('continuous_days') ?? 0\r\n } else {\r\n const lObj = JSON.parse(JSON.stringify(lItem)) as UTSJSONObject\r\n lastDate = lObj.getString('signin_date') ?? ''\r\n lastDays = lObj.getNumber('continuous_days') ?? 0\r\n }\r\n\r\n const yesterday = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString().split('T')[0]\r\n if (lastDate === yesterday) {\r\n result.set('continuous_days', lastDays)\r\n }\r\n }\r\n }\r\n\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6262','获取签到状态失败:', e)\r\n return result\r\n }\r\n }\r\n\r\n // ==================== 积分兑换相关API ====================\r\n\r\n // 获取积分兑换商品列表\r\n async getPointProducts(): Promise {\r\n try {\r\n const response = await supa\r\n .from('ml_point_products')\r\n .select('*')\r\n .eq('status', 1)\r\n .gt('stock', 0)\r\n .order('sort_order', { ascending: true })\r\n .execute()\r\n\r\n if (response.error != null || response.data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n return response.data as any[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6287','获取积分商品失败:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // 积分兑换\r\n async exchangeProduct(productId: string, quantity: number, addressSnapshot: UTSJSONObject | null): Promise {\r\n const result = new UTSJSONObject()\r\n result.set('success', false)\r\n result.set('message', '')\r\n\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n result.set('message', '请先登录')\r\n return result\r\n }\r\n\r\n // 获取商品信息\r\n const productRes = await supa\r\n .from('ml_point_products')\r\n .select('*')\r\n .eq('id', productId)\r\n .single()\r\n .execute()\r\n\r\n if (productRes.error != null || productRes.data == null) {\r\n result.set('message', '商品不存在')\r\n return result\r\n }\r\n\r\n const productRaw = productRes.data\r\n let pointsRequired = 0\r\n let stock = 0\r\n let productType = ''\r\n \r\n // 检查是否是数组,如果是则取第一个元素\r\n let productObj: UTSJSONObject | null = null\r\n if (Array.isArray(productRaw)) {\r\n const arr = productRaw as any[]\r\n if (arr.length > 0) {\r\n const firstItem = arr[0]\r\n if (firstItem instanceof UTSJSONObject) {\r\n productObj = firstItem\r\n } else {\r\n productObj = JSON.parse(JSON.stringify(firstItem)) as UTSJSONObject\r\n }\r\n }\r\n } else {\r\n if (productRaw instanceof UTSJSONObject) {\r\n productObj = productRaw\r\n } else {\r\n productObj = JSON.parse(JSON.stringify(productRaw)) as UTSJSONObject\r\n }\r\n }\r\n \r\n // 使用 UTSJSONObject 方法访问属性\r\n if (productObj != null) {\r\n pointsRequired = productObj.getNumber('points_required') ?? 0\r\n stock = productObj.getNumber('stock') ?? 0\r\n productType = productObj.getString('product_type') ?? ''\r\n }\r\n\r\n const totalPoints = pointsRequired * quantity\r\n\r\n // 检查库存\r\n if (stock < quantity) {\r\n result.set('message', '库存不足')\r\n return result\r\n }\r\n\r\n // 检查积分\r\n const userPoints = await this.getUserPoints()\r\n if (userPoints < totalPoints) {\r\n result.set('message', '积分不足')\r\n return result\r\n }\r\n\r\n // 创建兑换记录\r\n const exchangeRecord = new UTSJSONObject()\r\n exchangeRecord.set('user_id', userId!)\r\n exchangeRecord.set('product_id', productId)\r\n exchangeRecord.set('quantity', quantity)\r\n exchangeRecord.set('points_used', totalPoints)\r\n exchangeRecord.set('status', 0)\r\n if (addressSnapshot != null && productType === 'physical') {\r\n exchangeRecord.set('address_snapshot', JSON.stringify(addressSnapshot))\r\n }\r\n\r\n const insertRes = await supa\r\n .from('ml_point_exchanges')\r\n .insert(exchangeRecord)\r\n .execute()\r\n\r\n if (insertRes.error != null) {\r\n __f__('error','at utils/supabaseService.uts:6383','[exchangeProduct] 创建兑换记录失败:', insertRes.error)\r\n result.set('message', '兑换失败')\r\n return result\r\n }\r\n \r\n __f__('log','at utils/supabaseService.uts:6388','[exchangeProduct] 兑换记录创建成功')\r\n\r\n // 扣减库存\r\n __f__('log','at utils/supabaseService.uts:6391','[exchangeProduct] 准备扣减库存')\r\n __f__('log','at utils/supabaseService.uts:6392','[exchangeProduct] productId 类型:', typeof productId)\r\n __f__('log','at utils/supabaseService.uts:6393','[exchangeProduct] productId 值:', productId)\r\n __f__('log','at utils/supabaseService.uts:6394','[exchangeProduct] 当前库存:', stock, ', 扣减数量:', quantity)\r\n \r\n // 使用 UTSJSONObject 替代 Record\r\n const stockUpdateData = new UTSJSONObject()\r\n stockUpdateData.set('stock', stock - quantity)\r\n \r\n __f__('log','at utils/supabaseService.uts:6400','[exchangeProduct] stockUpdateData:', stockUpdateData)\r\n __f__('log','at utils/supabaseService.uts:6401','[exchangeProduct] stockUpdateData 类型:', typeof stockUpdateData)\r\n \r\n // 先查询确认商品存在\r\n const checkProduct = await supa\r\n .from('ml_point_products')\r\n .select('id, stock')\r\n .eq('id', productId)\r\n .execute()\r\n __f__('log','at utils/supabaseService.uts:6409','[exchangeProduct] 查询商品结果:', checkProduct.data, 'error:', checkProduct.error)\r\n \r\n const stockUpdateRes = await supa\r\n .from('ml_point_products')\r\n .update(stockUpdateData)\r\n .eq('id', productId)\r\n .execute()\r\n \r\n __f__('log','at utils/supabaseService.uts:6417','[exchangeProduct] 库存更新结果 error:', stockUpdateRes.error)\r\n __f__('log','at utils/supabaseService.uts:6418','[exchangeProduct] 库存更新结果 data:', stockUpdateRes.data)\r\n \r\n if (stockUpdateRes.error != null) {\r\n __f__('error','at utils/supabaseService.uts:6421','[exchangeProduct] 扣减库存失败:', stockUpdateRes.error)\r\n }\r\n\r\n // 扣减积分\r\n __f__('log','at utils/supabaseService.uts:6425','[exchangeProduct] 准备扣减积分, userId:', userId, ', 积分:', totalPoints)\r\n const deductResult = await this.deductPoints(userId!, totalPoints, 'redeem', '积分兑换商品')\r\n __f__('log','at utils/supabaseService.uts:6427','[exchangeProduct] 积分扣减结果:', deductResult)\r\n \r\n if (!deductResult) {\r\n __f__('error','at utils/supabaseService.uts:6430','[exchangeProduct] 扣减积分失败')\r\n }\r\n\r\n __f__('log','at utils/supabaseService.uts:6433','[exchangeProduct] 兑换流程完成')\r\n result.set('success', true)\r\n result.set('message', '兑换成功')\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6438','积分兑换异常:', e)\r\n result.set('message', '兑换异常')\r\n return result\r\n }\r\n }\r\n\r\n // 获取兑换记录\r\n async getExchangeRecords(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n const response = await supa\r\n .from('ml_point_exchanges')\r\n .select('*, product:ml_point_products(name, image_url, product_type)')\r\n .eq('user_id', userId!)\r\n .order('created_at', { ascending: false })\r\n .execute()\r\n\r\n if (response.error != null || response.data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n return response.data as any[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6467','获取兑换记录失败:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // ==================== 评价相关API ====================\r\n\r\n // 获取商品评价列表\r\n async getProductReviews(productId: string, page: number = 1, limit: number = 10, rating: number = 0, hasImage: boolean = false): Promise {\r\n const result = new UTSJSONObject()\r\n result.set('total', 0)\r\n result.set('page', page)\r\n result.set('limit', limit)\r\n result.set('data', [] as any[])\r\n\r\n try {\r\n const userId = this.getCurrentUserId()\r\n \r\n let query = supa\r\n .from('ml_product_reviews')\r\n .select('*, user:auth.users!ml_product_reviews_user_id_fkey(raw_user_meta_data)', { count: 'exact' })\r\n .eq('product_id', productId)\r\n\r\n if (rating > 0) {\r\n query = query.eq('rating', rating)\r\n }\r\n\r\n if (hasImage) {\r\n query = query.neq('images', '[]')\r\n }\r\n\r\n const offset = (page - 1) * limit\r\n const response = await query\r\n .order('created_at', { ascending: false })\r\n .range(offset, offset + limit - 1)\r\n .execute()\r\n\r\n if (response.error != null) {\r\n __f__('error','at utils/supabaseService.uts:6506','获取评价列表失败:', response.error)\r\n return result\r\n }\r\n\r\n const total = response.total ?? 0\r\n const reviews = response.data as any[]\r\n\r\n // 处理评价数据\r\n const processedReviews: any[] = []\r\n for (let i = 0; i < reviews.length; i++) {\r\n const review = reviews[i]\r\n const processed = JSON.parse(JSON.stringify(review)) as UTSJSONObject\r\n\r\n // 处理用户信息\r\n const userRaw = processed.get('user')\r\n let userName = '匿名用户'\r\n let userAvatar = ''\r\n\r\n if (userRaw != null) {\r\n let userData: UTSJSONObject\r\n if (userRaw instanceof UTSJSONObject) {\r\n userData = userRaw as UTSJSONObject\r\n } else {\r\n userData = JSON.parse(JSON.stringify(userRaw)) as UTSJSONObject\r\n }\r\n const metaData = userData.get('raw_user_meta_data')\r\n if (metaData != null) {\r\n let metaObj: UTSJSONObject\r\n if (metaData instanceof UTSJSONObject) {\r\n metaObj = metaData as UTSJSONObject\r\n } else {\r\n metaObj = JSON.parse(JSON.stringify(metaData)) as UTSJSONObject\r\n }\r\n userName = metaObj.getString('nickname') ?? metaObj.getString('name') ?? '匿名用户'\r\n userAvatar = metaObj.getString('avatar_url') ?? ''\r\n }\r\n }\r\n\r\n // 检查是否匿名\r\n const isAnonymous = processed.getBoolean('is_anonymous') ?? false\r\n if (isAnonymous) {\r\n userName = '匿名用户'\r\n userAvatar = ''\r\n }\r\n\r\n processed.set('user_name', userName)\r\n processed.set('user_avatar', userAvatar)\r\n\r\n // 检查当前用户是否点赞\r\n let isLiked = false\r\n if (userId != null) {\r\n const likeRes = await supa\r\n .from('ml_review_likes')\r\n .select('id')\r\n .eq('review_id', processed.getString('id') ?? '')\r\n .eq('user_id', userId!)\r\n .limit(1)\r\n .execute()\r\n if (likeRes.error == null && likeRes.data != null) {\r\n const likeData = likeRes.data as any[]\r\n isLiked = likeData.length > 0\r\n }\r\n }\r\n processed.set('is_liked', isLiked)\r\n\r\n processedReviews.push(processed)\r\n }\r\n\r\n result.set('total', total)\r\n result.set('data', processedReviews)\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6578','获取评价列表异常:', e)\r\n return result\r\n }\r\n }\r\n\r\n // 获取商品评价统计\r\n async getReviewStats(productId: string): Promise {\r\n const result = new UTSJSONObject()\r\n result.set('total_count', 0)\r\n result.set('avg_rating', 0)\r\n result.set('good_rate', 0)\r\n result.set('rating_distribution', new UTSJSONObject())\r\n result.set('tags', [] as any[])\r\n\r\n try {\r\n const response = await supa\r\n .from('ml_product_reviews')\r\n .select('rating')\r\n .eq('product_id', productId)\r\n .execute()\r\n\r\n if (response.error != null || response.data == null) {\r\n return result\r\n }\r\n\r\n const reviews = response.data as any[]\r\n const totalCount = reviews.length\r\n\r\n if (totalCount === 0) return result\r\n\r\n let totalRating = 0\r\n let goodCount = 0\r\n const distribution: Map = new Map()\r\n distribution.set(1, 0)\r\n distribution.set(2, 0)\r\n distribution.set(3, 0)\r\n distribution.set(4, 0)\r\n distribution.set(5, 0)\r\n\r\n for (let i = 0; i < reviews.length; i++) {\r\n const review = reviews[i]\r\n let rating = 0\r\n if (review instanceof UTSJSONObject) {\r\n rating = review.getNumber('rating') ?? 0\r\n } else {\r\n const rObj = JSON.parse(JSON.stringify(review)) as UTSJSONObject\r\n rating = rObj.getNumber('rating') ?? 0\r\n }\r\n\r\n totalRating += rating\r\n if (rating >= 4) goodCount++\r\n\r\n const currentCount = distribution.get(rating) ?? 0\r\n distribution.set(rating, currentCount + 1)\r\n }\r\n\r\n const avgRating = Math.round((totalRating / totalCount) * 10) / 10\r\n const goodRate = Math.round((goodCount / totalCount) * 100)\r\n\r\n const distObj = new UTSJSONObject()\r\n distribution.forEach((value: number, key: number) => {\r\n distObj.set(key.toString(), value)\r\n })\r\n\r\n result.set('total_count', totalCount)\r\n result.set('avg_rating', avgRating)\r\n result.set('good_rate', goodRate)\r\n result.set('rating_distribution', distObj)\r\n\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6649','获取评价统计异常:', e)\r\n return result\r\n }\r\n }\r\n\r\n // 评价点赞\r\n async toggleReviewLike(reviewId: string): Promise {\r\n const result = new UTSJSONObject()\r\n result.set('success', false)\r\n result.set('is_liked', false)\r\n result.set('like_count', 0)\r\n\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n return result\r\n }\r\n\r\n // 检查是否已点赞\r\n const checkRes = await supa\r\n .from('ml_review_likes')\r\n .select('id')\r\n .eq('review_id', reviewId)\r\n .eq('user_id', userId!)\r\n .limit(1)\r\n .execute()\r\n\r\n let isLiked = false\r\n if (checkRes.error == null && checkRes.data != null) {\r\n const checkData = checkRes.data as any[]\r\n isLiked = checkData.length > 0\r\n }\r\n\r\n if (isLiked) {\r\n // 取消点赞\r\n await supa\r\n .from('ml_review_likes')\r\n .eq('review_id', reviewId)\r\n .eq('user_id', userId!)\r\n .delete()\r\n .execute()\r\n\r\n // 更新点赞数 - 直接查询并更新\r\n const currentCountRes = await supa\r\n .from('ml_product_reviews')\r\n .select('like_count')\r\n .eq('id', reviewId)\r\n .single()\r\n .execute()\r\n \r\n if (currentCountRes.error == null && currentCountRes.data != null) {\r\n let currentCount = 0\r\n if (currentCountRes.data instanceof UTSJSONObject) {\r\n currentCount = currentCountRes.data.getNumber('like_count') ?? 0\r\n } else {\r\n const countObj = JSON.parse(JSON.stringify(currentCountRes.data)) as UTSJSONObject\r\n currentCount = countObj.getNumber('like_count') ?? 0\r\n }\r\n \r\n const updateData = new UTSJSONObject()\r\n updateData.set('like_count', Math.max(0, currentCount - 1))\r\n await supa\r\n .from('ml_product_reviews')\r\n .update(updateData)\r\n .eq('id', reviewId)\r\n .execute()\r\n }\r\n\r\n result.set('is_liked', false)\r\n } else {\r\n // 添加点赞\r\n const likeRecord = new UTSJSONObject()\r\n likeRecord.set('review_id', reviewId)\r\n likeRecord.set('user_id', userId!)\r\n\r\n await supa\r\n .from('ml_review_likes')\r\n .insert(likeRecord)\r\n .execute()\r\n\r\n // 更新点赞数 - 直接查询并更新\r\n const currentCountRes = await supa\r\n .from('ml_product_reviews')\r\n .select('like_count')\r\n .eq('id', reviewId)\r\n .single()\r\n .execute()\r\n \r\n if (currentCountRes.error == null && currentCountRes.data != null) {\r\n let currentCount = 0\r\n if (currentCountRes.data instanceof UTSJSONObject) {\r\n currentCount = currentCountRes.data.getNumber('like_count') ?? 0\r\n } else {\r\n const countObj = JSON.parse(JSON.stringify(currentCountRes.data)) as UTSJSONObject\r\n currentCount = countObj.getNumber('like_count') ?? 0\r\n }\r\n \r\n const updateData = new UTSJSONObject()\r\n updateData.set('like_count', currentCount + 1)\r\n await supa\r\n .from('ml_product_reviews')\r\n .update(updateData)\r\n .eq('id', reviewId)\r\n .execute()\r\n }\r\n\r\n result.set('is_liked', true)\r\n }\r\n\r\n // 获取最新点赞数\r\n const reviewRes = await supa\r\n .from('ml_product_reviews')\r\n .select('like_count')\r\n .eq('id', reviewId)\r\n .single()\r\n .execute()\r\n\r\n if (reviewRes.error == null && reviewRes.data != null) {\r\n let likeCount = 0\r\n if (reviewRes.data instanceof UTSJSONObject) {\r\n likeCount = reviewRes.data.getNumber('like_count') ?? 0\r\n } else {\r\n const rObj = JSON.parse(JSON.stringify(reviewRes.data)) as UTSJSONObject\r\n likeCount = rObj.getNumber('like_count') ?? 0\r\n }\r\n result.set('like_count', likeCount)\r\n }\r\n\r\n result.set('success', true)\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6780','评价点赞异常:', e)\r\n return result\r\n }\r\n }\r\n\r\n // 获取我的评价列表\r\n async getMyReviews(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n const response = await supa\r\n .from('ml_product_reviews')\r\n .select(`\r\n *,\r\n product:ml_products!ml_product_reviews_product_id_fkey(name, main_image_url)\r\n `)\r\n .eq('user_id', userId!)\r\n .order('created_at', { ascending: false })\r\n .execute()\r\n\r\n if (response.error != null || response.data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n const reviews = response.data as any[]\r\n const result: any[] = []\r\n\r\n for (let i = 0; i < reviews.length; i++) {\r\n const review = reviews[i]\r\n const processed = JSON.parse(JSON.stringify(review)) as UTSJSONObject\r\n\r\n // 处理商品信息\r\n const productRaw = processed.get('product')\r\n let productName = ''\r\n let productImage = ''\r\n if (productRaw != null) {\r\n let productObj: UTSJSONObject\r\n if (productRaw instanceof UTSJSONObject) {\r\n productObj = productRaw as UTSJSONObject\r\n } else {\r\n productObj = JSON.parse(JSON.stringify(productRaw)) as UTSJSONObject\r\n }\r\n productName = productObj.getString('name') ?? ''\r\n productImage = productObj.getString('main_image_url') ?? ''\r\n }\r\n processed.set('product_name', productName)\r\n processed.set('product_image', productImage)\r\n\r\n // 计算是否可追加评价(7天内)\r\n const createdAt = processed.getString('created_at') ?? ''\r\n const createdTime = new Date(createdAt).getTime()\r\n const now = Date.now()\r\n const sevenDays = 7 * 24 * 60 * 60 * 1000\r\n const canAppend = (now - createdTime) < sevenDays && (processed.getString('append_content') ?? '') === ''\r\n processed.set('can_append', canAppend)\r\n\r\n // 计算是否可编辑(24小时内)\r\n const oneDay = 24 * 60 * 60 * 1000\r\n const canEdit = (now - createdTime) < oneDay\r\n processed.set('can_edit', canEdit)\r\n\r\n result.push(processed)\r\n }\r\n\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6851','获取我的评价失败:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // 追加评价\r\n async appendReview(reviewId: string, content: string, images: string[]): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return false\r\n\r\n const updateData = new UTSJSONObject()\r\n updateData.set('append_content', content)\r\n updateData.set('append_images', JSON.stringify(images))\r\n updateData.set('append_at', new Date().toISOString())\r\n\r\n const response = await supa\r\n .from('ml_product_reviews')\r\n .update(updateData)\r\n .eq('id', reviewId)\r\n .eq('user_id', userId!)\r\n .execute()\r\n\r\n return response.error == null\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6877','追加评价失败:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 删除评价\r\n async deleteReview(reviewId: string): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return false\r\n\r\n const response = await supa\r\n .from('ml_product_reviews')\r\n .delete()\r\n .eq('id', reviewId)\r\n .eq('user_id', userId!)\r\n .execute()\r\n\r\n return response.error == null\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6897','删除评价失败:', e)\r\n return false\r\n }\r\n }\r\n\r\n // ==================== 积分辅助方法 ====================\r\n\r\n // 增加积分\r\n private async addPoints(userId: string, points: number, type: string, description: string): Promise {\r\n try {\r\n // 获取当前积分\r\n const currentPoints = await this.getUserPoints()\r\n const newPoints = currentPoints + points\r\n const totalEarned = await this.getTotalEarned()\r\n\r\n // 检查用户积分记录是否存在\r\n const checkRes = await supa\r\n .from('ml_user_points')\r\n .select('user_id')\r\n .eq('user_id', userId)\r\n .limit(1)\r\n .execute()\r\n\r\n const exists = checkRes.error == null && checkRes.data != null && (checkRes.data as any[]).length > 0\r\n\r\n if (exists) {\r\n // 更新现有记录\r\n const updateData = new UTSJSONObject()\r\n updateData.set('points', newPoints)\r\n updateData.set('total_earned', totalEarned + points)\r\n updateData.set('updated_at', new Date().toISOString())\r\n\r\n await supa\r\n .from('ml_user_points')\r\n .update(updateData)\r\n .eq('user_id', userId)\r\n .execute()\r\n } else {\r\n // 插入新记录\r\n const insertData = new UTSJSONObject()\r\n insertData.set('user_id', userId)\r\n insertData.set('points', newPoints)\r\n insertData.set('total_earned', points)\r\n insertData.set('updated_at', new Date().toISOString())\r\n\r\n await supa\r\n .from('ml_user_points')\r\n .insert(insertData)\r\n .execute()\r\n }\r\n\r\n // 记录积分变动\r\n const record = new UTSJSONObject()\r\n record.set('user_id', userId)\r\n record.set('points', points)\r\n record.set('type', type)\r\n record.set('description', description)\r\n\r\n await supa\r\n .from('ml_point_records')\r\n .insert(record)\r\n .execute()\r\n\r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6962','增加积分失败:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 扣减积分\r\n private async deductPoints(userId: string, points: number, type: string, description: string): Promise {\r\n try {\r\n const currentPoints = await this.getUserPoints()\r\n const newPoints = currentPoints - points\r\n\r\n if (newPoints < 0) return false\r\n\r\n const updateData = new UTSJSONObject()\r\n updateData.set('points', newPoints)\r\n updateData.set('updated_at', new Date().toISOString())\r\n\r\n await supa\r\n .from('ml_user_points')\r\n .update(updateData)\r\n .eq('user_id', userId)\r\n .execute()\r\n\r\n const record = new UTSJSONObject()\r\n record.set('user_id', userId)\r\n record.set('points', -points)\r\n record.set('type', type)\r\n record.set('description', description)\r\n\r\n await supa\r\n .from('ml_point_records')\r\n .insert(record)\r\n .execute()\r\n\r\n return true\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:6998','扣减积分失败:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 获取历史累计积分\r\n private async getTotalEarned(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return 0\r\n\r\n const res = await supa\r\n .from('ml_user_points')\r\n .select('total_earned')\r\n .eq('user_id', userId!)\r\n .single()\r\n .execute()\r\n\r\n if (res.error == null && res.data != null) {\r\n if (res.data instanceof UTSJSONObject) {\r\n return res.data.getNumber('total_earned') ?? 0\r\n } else {\r\n const obj = JSON.parse(JSON.stringify(res.data)) as UTSJSONObject\r\n return obj.getNumber('total_earned') ?? 0\r\n }\r\n }\r\n return 0\r\n } catch (e) {\r\n return 0\r\n }\r\n }\r\n\r\n // ==================== 积分过期相关API ====================\r\n\r\n // 获取即将过期积分\r\n async getExpiringPoints(): Promise {\r\n const result = new UTSJSONObject()\r\n result.set('expiring_points', 0)\r\n result.set('expiring_date', null)\r\n result.set('details', [] as any[])\r\n\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return result\r\n\r\n // 查询30天内即将过期的积分记录\r\n const now = new Date()\r\n const thirtyDaysLater = new Date(now.getTime() + 30 * 24 * 60 * 60 * 1000)\r\n const nowStr = now.toISOString()\r\n const laterStr = thirtyDaysLater.toISOString()\r\n\r\n const res = await supa\r\n .from('ml_point_records')\r\n .select('points, description, expires_at, created_at')\r\n .eq('user_id', userId!)\r\n .gt('points', 0)\r\n .eq('is_expired', false)\r\n .not('expires_at', 'is', null)\r\n .gte('expires_at', nowStr)\r\n .lte('expires_at', laterStr)\r\n .order('expires_at', { ascending: true })\r\n .execute()\r\n\r\n if (res.error != null) {\r\n __f__('error','at utils/supabaseService.uts:7062','获取即将过期积分失败:', res.error)\r\n return result\r\n }\r\n\r\n if (res.data != null && Array.isArray(res.data)) {\r\n const records = res.data as any[]\r\n let totalExpiring = 0\r\n let earliestDate: string | null = null\r\n const details: any[] = []\r\n\r\n for (let i = 0; i < records.length; i++) {\r\n const record = records[i]\r\n let recordObj: UTSJSONObject\r\n if (record instanceof UTSJSONObject) {\r\n recordObj = record\r\n } else {\r\n recordObj = JSON.parse(JSON.stringify(record)) as UTSJSONObject\r\n }\r\n\r\n const points = recordObj.getNumber('points') ?? 0\r\n const expiresAt = recordObj.getString('expires_at') ?? ''\r\n\r\n totalExpiring += points\r\n\r\n if (earliestDate == null || expiresAt < earliestDate) {\r\n earliestDate = expiresAt\r\n }\r\n\r\n details.push({\r\n points: points,\r\n description: recordObj.getString('description'),\r\n expires_at: expiresAt,\r\n created_at: recordObj.getString('created_at') ?? ''\r\n })\r\n }\r\n\r\n result.set('expiring_points', totalExpiring)\r\n result.set('expiring_date', earliestDate != null ? earliestDate.split('T')[0] : null)\r\n result.set('details', details)\r\n }\r\n\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7105','获取即将过期积分异常:', e)\r\n return result\r\n }\r\n }\r\n\r\n // 获取积分概览(包含即将过期积分)\r\n async getPointsOverview(): Promise {\r\n const result = new UTSJSONObject()\r\n result.set('current_points', 0)\r\n result.set('total_earned', 0)\r\n result.set('expiring_points', 0)\r\n result.set('expiring_date', null)\r\n\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return result\r\n\r\n const res = await supa\r\n .from('ml_user_points')\r\n .select('points, total_earned, expiring_points, expiring_date')\r\n .eq('user_id', userId!)\r\n .single()\r\n .execute()\r\n\r\n if (res.error == null && res.data != null) {\r\n let data: UTSJSONObject\r\n if (res.data instanceof UTSJSONObject) {\r\n data = res.data as UTSJSONObject\r\n } else {\r\n data = JSON.parse(JSON.stringify(res.data)) as UTSJSONObject\r\n }\r\n\r\n result.set('current_points', data.getNumber('points') ?? 0)\r\n result.set('total_earned', data.getNumber('total_earned') ?? 0)\r\n result.set('expiring_points', data.getNumber('expiring_points') ?? 0)\r\n result.set('expiring_date', data.getString('expiring_date'))\r\n }\r\n\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7145','获取积分概览异常:', e)\r\n return result\r\n }\r\n }\r\n\r\n // 获取过期提醒通知列表\r\n async getExpiryNotifications(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n const res = await supa\r\n .from('ml_point_expiry_notifications')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .eq('is_sent', false)\r\n .order('expiry_date', { ascending: true })\r\n .execute()\r\n\r\n if (res.error != null || res.data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n return res.data as any[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7174','获取过期提醒失败:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // 标记过期提醒为已读\r\n async markNotificationRead(notificationId: string): Promise {\r\n try {\r\n const res = await supa\r\n .from('ml_point_expiry_notifications')\r\n .update({ is_sent: true, sent_at: new Date().toISOString() })\r\n .eq('id', notificationId)\r\n .execute()\r\n\r\n return res.error == null\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7191','标记通知失败:', e)\r\n return false\r\n }\r\n }\r\n\r\n // 手动触发积分维护任务(管理员功能)\r\n // 注意:UTS不支持rpc,此功能需要在Supabase后台手动执行或通过其他方式触发\r\n async triggerPointsMaintenance(): Promise {\r\n __f__('warn','at utils/supabaseService.uts:7199','triggerPointsMaintenance: UTS不支持rpc调用,请在Supabase后台手动执行 daily_points_maintenance()')\r\n return false\r\n }\r\n\r\n // ==================== 推销模式 - 商家配置API ====================\r\n\r\n // 获取商家推销配置\r\n async getMerchantPromotionConfig(merchantId: string): Promise {\r\n const result = new UTSJSONObject()\r\n result.set('promotion_enabled', false)\r\n result.set('share_free_enabled', false)\r\n result.set('distribution_enabled', false)\r\n result.set('required_count', 4)\r\n result.set('reward_type', 'product_price')\r\n result.set('fixed_reward_amount', 0)\r\n\r\n try {\r\n const res = await supa\r\n .from('ml_merchant_promotion_config')\r\n .select('*')\r\n .eq('merchant_id', merchantId)\r\n .limit(1)\r\n .execute()\r\n\r\n if (res.error == null && res.data != null && Array.isArray(res.data)) {\r\n const arr = res.data as any[]\r\n if (arr.length > 0) {\r\n const item = arr[0]\r\n const itemAny = item as any\r\n \r\n if (itemAny instanceof UTSJSONObject) {\r\n result.set('promotion_enabled', itemAny.getBoolean('promotion_enabled') ?? false)\r\n result.set('share_free_enabled', itemAny.getBoolean('share_free_enabled') ?? false)\r\n result.set('distribution_enabled', itemAny.getBoolean('distribution_enabled') ?? false)\r\n result.set('required_count', itemAny.getNumber('required_count') ?? 4)\r\n result.set('reward_type', itemAny.getString('reward_type') ?? 'product_price')\r\n result.set('fixed_reward_amount', itemAny.getNumber('fixed_reward_amount') ?? 0)\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7240','获取商家推销配置失败:', e)\r\n }\r\n\r\n return result\r\n }\r\n\r\n // 检查商家是否开启分享免单\r\n async isShareFreeEnabled(merchantId: string): Promise {\r\n try {\r\n const config = await this.getMerchantPromotionConfig(merchantId)\r\n const promotionEnabled = config.get('promotion_enabled')\r\n const shareFreeEnabled = config.get('share_free_enabled')\r\n return (promotionEnabled === true || promotionEnabled === 'true') && \r\n (shareFreeEnabled === true || shareFreeEnabled === 'true')\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7255','检查分享免单状态失败:', e)\r\n return false\r\n }\r\n }\r\n\r\n // ==================== 推销模式 - 余额相关API ====================\r\n\r\n // 获取用户余额\r\n async getUserBalance(): Promise {\r\n const result = new UTSJSONObject()\r\n result.set('balance', 0)\r\n result.set('frozen_balance', 0)\r\n result.set('total_earned', 0)\r\n result.set('total_withdrawn', 0)\r\n\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return result\r\n\r\n const res = await supa\r\n .from('ml_user_balance')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .limit(1)\r\n .execute()\r\n\r\n if (res.error == null && res.data != null && Array.isArray(res.data)) {\r\n const arr = res.data as any[]\r\n if (arr.length > 0) {\r\n const item = arr[0]\r\n const itemAny = item as any\r\n if (itemAny instanceof UTSJSONObject) {\r\n result.set('balance', itemAny.getNumber('balance') ?? 0)\r\n result.set('frozen_balance', itemAny.getNumber('frozen_balance') ?? 0)\r\n result.set('total_earned', itemAny.getNumber('total_earned') ?? 0)\r\n result.set('total_withdrawn', itemAny.getNumber('total_withdrawn') ?? 0)\r\n }\r\n }\r\n }\r\n\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7297','获取用户余额失败:', e)\r\n return result\r\n }\r\n }\r\n\r\n // 获取余额变动记录\r\n async getBalanceRecords(page: number = 1, limit: number = 20): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n const offset = (page - 1) * limit\r\n const res = await supa\r\n .from('ml_balance_records')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .order('created_at', { ascending: false })\r\n .range(offset, offset + limit - 1)\r\n .execute()\r\n\r\n if (res.error != null || res.data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n return res.data as any[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7327','获取余额记录失败:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // ==================== 推销模式 - 分享免单相关API ====================\r\n\r\n // 创建分享记录\r\n async createShareRecord(productId: string, orderId: string, orderItemId: string | null, productName: string, productImage: string | null, productPrice: number): Promise {\r\n const result = new UTSJSONObject()\r\n result.set('success', false)\r\n result.set('share_code', '')\r\n result.set('message', '')\r\n\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n result.set('message', '请先登录')\r\n return result\r\n }\r\n\r\n // 生成分享码\r\n const shareCode = this.generateShareCode()\r\n\r\n const insertData = new UTSJSONObject()\r\n insertData.set('user_id', userId)\r\n insertData.set('product_id', productId)\r\n insertData.set('order_id', orderId)\r\n insertData.set('order_item_id', orderItemId)\r\n insertData.set('share_code', shareCode)\r\n insertData.set('product_name', productName)\r\n insertData.set('product_image', productImage)\r\n insertData.set('product_price', productPrice)\r\n insertData.set('required_count', 4)\r\n insertData.set('current_count', 0)\r\n insertData.set('status', 0)\r\n\r\n const res = await supa\r\n .from('ml_share_records')\r\n .insert(insertData)\r\n .execute()\r\n\r\n if (res.error != null) {\r\n __f__('error','at utils/supabaseService.uts:7371','[createShareRecord] 插入失败:', res.error)\r\n __f__('error','at utils/supabaseService.uts:7372','[createShareRecord] 插入数据:', JSON.stringify(insertData))\r\n result.set('message', '创建分享记录失败: ' + (res.error.message ?? '未知错误'))\r\n return result\r\n }\r\n\r\n // 获取插入记录的id\r\n let insertedId = ''\r\n if (res.data != null && Array.isArray(res.data) && res.data.length > 0) {\r\n const inserted = res.data[0]\r\n let insertedObj: UTSJSONObject | null = null\r\n if (inserted instanceof UTSJSONObject) {\r\n insertedObj = inserted\r\n } else {\r\n insertedObj = JSON.parse(JSON.stringify(inserted)) as UTSJSONObject\r\n }\r\n insertedId = insertedObj.getString('id') ?? ''\r\n }\r\n\r\n result.set('success', true)\r\n result.set('id', insertedId)\r\n result.set('share_code', shareCode)\r\n result.set('message', '分享创建成功')\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7396','创建分享记录失败:', e)\r\n result.set('message', '创建分享记录异常')\r\n return result\r\n }\r\n }\r\n\r\n // 生成分享码\r\n private generateShareCode(): string {\r\n const chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789'\r\n let result = ''\r\n for (let i = 0; i < 8; i++) {\r\n const randomIndex = Math.floor(Math.random() * chars.length)\r\n result += chars.charAt(randomIndex)\r\n }\r\n return result\r\n }\r\n\r\n // 验证分享码\r\n async validateShareCode(shareCode: string): Promise {\r\n const result = new UTSJSONObject()\r\n result.set('valid', false)\r\n result.set('share_record', null)\r\n\r\n try {\r\n const res = await supa\r\n .from('ml_share_records')\r\n .select('*')\r\n .eq('share_code', shareCode)\r\n .eq('status', 0)\r\n .limit(1)\r\n .execute()\r\n\r\n if (res.error == null && res.data != null && Array.isArray(res.data)) {\r\n const arr = res.data as any[]\r\n if (arr.length > 0) {\r\n result.set('valid', true)\r\n result.set('share_record', arr[0])\r\n }\r\n }\r\n\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7438','验证分享码失败:', e)\r\n return result\r\n }\r\n }\r\n\r\n // 获取我的分享记录\r\n async getMyShareRecords(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n const res = await supa\r\n .from('ml_share_records')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .order('created_at', { ascending: false })\r\n .execute()\r\n\r\n if (res.error != null || res.data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n return res.data as any[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7466','获取分享记录失败:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // 获取分享详情\r\n async getShareDetail(shareId: string): Promise {\r\n const result = new UTSJSONObject()\r\n result.set('share_record', null)\r\n result.set('secondary_purchases', [] as any[])\r\n\r\n try {\r\n const res = await supa\r\n .from('ml_share_records')\r\n .select('*')\r\n .eq('id', shareId)\r\n .limit(1)\r\n .execute()\r\n\r\n if (res.error == null && res.data != null && Array.isArray(res.data)) {\r\n const arr = res.data as any[]\r\n if (arr.length > 0) {\r\n result.set('share_record', arr[0])\r\n }\r\n }\r\n\r\n // 获取二级购买记录\r\n const purchasesRes = await supa\r\n .from('ml_secondary_purchases')\r\n .select('*')\r\n .eq('share_record_id', shareId)\r\n .order('created_at', { ascending: false })\r\n .execute()\r\n\r\n if (purchasesRes.error == null && purchasesRes.data != null) {\r\n result.set('secondary_purchases', purchasesRes.data)\r\n }\r\n\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7507','获取分享详情失败:', e)\r\n return result\r\n }\r\n }\r\n\r\n // 获取免单奖励记录\r\n async getFreeOrderRewards(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n const res = await supa\r\n .from('ml_free_order_rewards')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .order('created_at', { ascending: false })\r\n .execute()\r\n\r\n if (res.error != null || res.data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n return res.data as any[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7535','获取免单奖励记录失败:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // ==================== 推销模式 - 会员等级相关API ====================\r\n\r\n // 获取会员等级列表\r\n async getMemberLevels(): Promise {\r\n try {\r\n const res = await supa\r\n .from('ml_member_levels')\r\n .select('*')\r\n .eq('is_active', true)\r\n .order('level_rank', { ascending: true } as OrderOptions)\r\n .execute()\r\n\r\n if (res.error != null || res.data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n return res.data as any[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7560','获取会员等级列表失败:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n\r\n // 获取用户会员信息\r\n async getUserMemberInfo(): Promise {\r\n const result = new UTSJSONObject()\r\n result.set('member_level', 0)\r\n result.set('level_name', '普通会员')\r\n result.set('discount', 1.0)\r\n result.set('total_spent', 0)\r\n result.set('next_level', null)\r\n result.set('progress_percent', 0)\r\n result.set('manual_level', false)\r\n\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) return result\r\n\r\n // 获取用户信息(包括 tier_id)\r\n const userRes = await supa\r\n .from('ml_user_profiles')\r\n .select('tier_id, total_spent, manual_level')\r\n .eq('user_id', userId!)\r\n .limit(1)\r\n .execute()\r\n\r\n let tierId: string = ''\r\n let totalSpent = 0\r\n let manualLevel = false\r\n\r\n if (userRes.error == null && userRes.data != null && Array.isArray(userRes.data)) {\r\n const arr = userRes.data as any[]\r\n if (arr.length > 0) {\r\n const item = arr[0]\r\n const itemAny = item as any\r\n if (itemAny instanceof UTSJSONObject) {\r\n tierId = itemAny.getString('tier_id') ?? ''\r\n totalSpent = itemAny.getNumber('total_spent') ?? 0\r\n manualLevel = itemAny.getBoolean('manual_level') ?? false\r\n }\r\n }\r\n }\r\n\r\n // 获取等级信息\r\n const levels = await this.getMemberLevels()\r\n let levelName = '普通会员'\r\n let discount = 1.0\r\n let nextLevel: UTSJSONObject | null = null\r\n let progressPercent = 0\r\n let currentLevelRank = 0\r\n\r\n // 通过 tier_id 匹配等级\r\n for (let i = 0; i < levels.length; i++) {\r\n const level = levels[i]\r\n const levelAny = level as any\r\n let levelId = ''\r\n let levelNameStr = ''\r\n let levelRank = 0\r\n let levelDiscount = 1.0\r\n\r\n if (levelAny instanceof UTSJSONObject) {\r\n levelId = levelAny.getString('id') ?? ''\r\n levelNameStr = levelAny.getString('name') ?? ''\r\n levelRank = levelAny.getNumber('level_rank') ?? 0\r\n levelDiscount = levelAny.getNumber('discount_rate') ?? 1.0\r\n }\r\n\r\n // 通过 tier_id 匹配当前等级\r\n if (levelId == tierId) {\r\n levelName = levelNameStr\r\n discount = levelDiscount\r\n currentLevelRank = levelRank\r\n }\r\n }\r\n\r\n // 找下一等级(level_rank 更大的第一个等级)\r\n for (let i = 0; i < levels.length; i++) {\r\n const level = levels[i]\r\n const levelAny = level as any\r\n let levelRank = 0\r\n let levelNameStr = ''\r\n let levelMinAmount = 0\r\n\r\n if (levelAny instanceof UTSJSONObject) {\r\n levelRank = levelAny.getNumber('level_rank') ?? 0\r\n levelNameStr = levelAny.getString('name') ?? ''\r\n levelMinAmount = levelAny.getNumber('min_amount') ?? 0\r\n }\r\n\r\n if (levelRank > currentLevelRank && nextLevel == null) {\r\n const nextLevelObj = new UTSJSONObject()\r\n const levelObj = level as UTSJSONObject\r\n nextLevelObj.set('id', levelObj.getString('id') ?? '')\r\n nextLevelObj.set('name', levelNameStr)\r\n nextLevelObj.set('min_amount', levelMinAmount)\r\n nextLevel = nextLevelObj\r\n }\r\n }\r\n\r\n result.set('member_level', currentLevelRank)\r\n result.set('level_name', levelName)\r\n result.set('discount', discount)\r\n result.set('total_spent', totalSpent)\r\n result.set('next_level', nextLevel)\r\n result.set('progress_percent', progressPercent)\r\n result.set('manual_level', manualLevel)\r\n\r\n return result\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7672','获取用户会员信息失败:', e)\r\n return result\r\n }\r\n }\r\n\r\n // 获取当前等级的最低消费金额\r\n private getCurrentLevelMinAmount(levels: any[], currentLevel: number): number {\r\n for (let i = 0; i < levels.length; i++) {\r\n const level = levels[i]\r\n const levelAny = level as any\r\n if (levelAny instanceof UTSJSONObject) {\r\n const levelId = levelAny.getNumber('id') ?? 0\r\n if (levelId === currentLevel) {\r\n return levelAny.getNumber('min_amount') ?? 0\r\n }\r\n }\r\n }\r\n return 0\r\n }\r\n\r\n // 获取会员等级变更记录\r\n async getMemberLevelLogs(): Promise {\r\n try {\r\n const userId = this.getCurrentUserId()\r\n if (userId == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n const res = await supa\r\n .from('ml_member_level_logs')\r\n .select('*')\r\n .eq('user_id', userId!)\r\n .order('created_at', { ascending: false })\r\n .execute()\r\n\r\n if (res.error != null || res.data == null) {\r\n const empty: any[] = []\r\n return empty\r\n }\r\n\r\n return res.data as any[]\r\n } catch (e) {\r\n __f__('error','at utils/supabaseService.uts:7715','获取会员等级变更记录失败:', e)\r\n const empty: any[] = []\r\n return empty\r\n }\r\n }\r\n}\r\n\r\n// 导出单例实例\r\nexport const supabaseService = new SupabaseService()\r\n\r\n// 默认导出\r\nexport default supabaseService\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n",null,null,null,null],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/cache/.app-android/sourcemap/pages/mall/consumer/address-list.kt.map b/unpackage/cache/.app-android/sourcemap/pages/mall/consumer/address-list.kt.map deleted file mode 100644 index f74c3b66..00000000 --- a/unpackage/cache/.app-android/sourcemap/pages/mall/consumer/address-list.kt.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["pages/mall/consumer/address-list.uvue","uni_modules/ak-req/ak-req.uts","pages/mall/consumer/withdraw.uvue","pages/user/login.uvue","pages/main/index.uvue","pages/main/cart.uvue"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n\r\n",null,null,null,null,null],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/cache/.app-android/sourcemap/pages/mall/consumer/apply-refund.kt.map b/unpackage/cache/.app-android/sourcemap/pages/mall/consumer/apply-refund.kt.map deleted file mode 100644 index 93d10cb2..00000000 --- a/unpackage/cache/.app-android/sourcemap/pages/mall/consumer/apply-refund.kt.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["pages/mall/consumer/apply-refund.uvue","pages/main/index.uvue","pages/mall/consumer/withdraw.uvue","uni_modules/ak-req/ak-req.uts"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n",null,null],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/cache/.app-android/sourcemap/pages/user/register.kt.map b/unpackage/cache/.app-android/sourcemap/pages/user/register.kt.map deleted file mode 100644 index 6f7ea574..00000000 --- a/unpackage/cache/.app-android/sourcemap/pages/user/register.kt.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["pages/user/register.uvue","pages/user/login.uvue","uni_modules/ak-req/ak-req.uts"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n",null,null],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/cache/.app-android/sourcemap/pages/user/terms.kt.map b/unpackage/cache/.app-android/sourcemap/pages/user/terms.kt.map deleted file mode 100644 index ca99b776..00000000 --- a/unpackage/cache/.app-android/sourcemap/pages/user/terms.kt.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["pages/user/terms.uvue"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;+BAwCQ,gBAAA;AAHF;;;;;;eApCL,IAgCO,QAAA,IAhCD,WAAM,SAAM;YACjB,IAIO,QAAA,IAJD,WAAM,WAAQ;gBACnB,IAA4C,QAAA,IAAtC,WAAM,QAAQ,aAAO,KAAA,MAAM,GAAE,MAAE,CAAA,EAAA;oBAAA;iBAAA;gBACrC,IAAoC,QAAA,IAA9B,WAAM,UAAQ;gBACpB,IAA4B,QAAA,IAAtB,WAAM;;YAGb,IAwBc,eAAA,IAxBD,WAAM,WAAU,cAAS,QAAO,oBAAe;gBAC3D,IAkBO,QAAA,IAlBD,WAAM,SAAM;oBACjB,IAA4B,QAAA,IAAtB,WAAM,OAAK;oBACjB,IACO,QAAA,IADD,WAAM,MAAI;oBAEhB,IACO,QAAA,IADD,WAAM,MAAI;oBAEhB,IACO,QAAA,IADD,WAAM,MAAI;oBAGhB,IAA6B,QAAA,IAAvB,WAAM;oBAEZ,IAA4B,QAAA,IAAtB,WAAM,OAAK;oBACjB,IACO,QAAA,IADD,WAAM,MAAI;oBAEhB,IACO,QAAA,IADD,WAAM,MAAI;oBAEhB,IACO,QAAA,IADD,WAAM,MAAI;;gBAIjB,IAEO,QAAA,IAFD,WAAM,WAAQ;oBACnB,IAAwD,UAAA,IAAhD,WAAM,WAAW,aAAO,KAAA,MAAM,GAAE,WAAO,CAAA,EAAA;wBAAA;qBAAA;;;;;aAShD;aAAA,gBAAM;QACD;IACL;;;;;;;;;;;;;;;;;;;;AAED"} \ No newline at end of file diff --git a/unpackage/cache/.app-android/src/.manifest.json b/unpackage/cache/.app-android/src/.manifest.json deleted file mode 100644 index a59c16b6..00000000 --- a/unpackage/cache/.app-android/src/.manifest.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "version": "1", - "env": { - "compiler_version": "4.87" - }, - "files": { - "pages/mall/consumer/my-reviews.kt": { - "md5": "331a4cbb0353f2e9002e6f2ac0942e024b07302b", - "class": "GenPagesMallConsumerMyReviews" - }, - "pages/mall/consumer/points/exchange.kt": { - "md5": "274b54e9ca07dc404364d32568e349dce7e2b53e", - "class": "GenPagesMallConsumerPointsExchange" - }, - "pages/mall/consumer/review.kt": { - "md5": "523fc6c52a7b6005f078064cc14cf06b9231adee", - "class": "GenPagesMallConsumerReview" - }, - "pages/mall/consumer/points/signin.kt": { - "class": "GenPagesMallConsumerPointsSignin", - "md5": "4ba3c78e586da4d0d9bfbe3c313fd7969d592bbe" - }, - "pages/main/index.kt": { - "class": "GenPagesMainIndex", - "md5": "1de75f208471eae65d66e1d0a0f629386d95cf62" - }, - "pages/mall/consumer/address-edit.kt": { - "class": "GenPagesMallConsumerAddressEdit", - "md5": "acf1c09fcedaedba557988828182cc542caf8aee" - }, - "pages/mall/consumer/chat.kt": { - "md5": "a976151dc579f09fa7e16c69aedba4934c561212", - "class": "GenPagesMallConsumerChat" - }, - "pages/mall/consumer/wallet.kt": { - "md5": "49997364a5245b1ac0691ea64e4ae60778742107", - "class": "GenPagesMallConsumerWallet" - }, - "pages/mall/consumer/share/detail.kt": { - "class": "GenPagesMallConsumerShareDetail", - "md5": "7fb9630f5f70691571a2f759af48f7c25e8d0887" - }, - "pages/user/forgot-password.kt": { - "md5": "af5111e6681cb797d90804e8dbbe48868b7170e1", - "class": "GenPagesUserForgotPassword" - }, - "pages/mall/consumer/red-packets/index.kt": { - "class": "GenPagesMallConsumerRedPacketsIndex", - "md5": "ad15a78818b49a5f8797a4fbcb75305919b44641" - }, - "pages/mall/consumer/refund-review.kt": { - "class": "GenPagesMallConsumerRefundReview", - "md5": "16cdb602532694d90a7a056db788bc25e0daa293" - }, - "pages/mall/consumer/search.kt": { - "md5": "55d8433e46da21e4b3ff0710eea47c9f7aba7837", - "class": "GenPagesMallConsumerSearch" - }, - "pages/mall/consumer/address-list.kt": { - "class": "GenPagesMallConsumerAddressList", - "md5": "1cef7dcde4e9477a01f09bc84c8224683be7f147" - }, - "pages/mall/consumer/bank-cards/index.kt": { - "class": "GenPagesMallConsumerBankCardsIndex", - "md5": "7f0430dbc616535e1dbb1e33fec780ea70cf4013" - }, - "pages/mall/consumer/checkout.kt": { - "md5": "4062ad720e65db64078acff9725b1f409cf70471", - "class": "GenPagesMallConsumerCheckout" - }, - "pages/mall/consumer/withdraw.kt": { - "md5": "b7b1d824134ae9feb9ec64b78282260a7d79a12b", - "class": "GenPagesMallConsumerWithdraw" - }, - "pages/mall/consumer/bank-cards/add.kt": { - "md5": "8b44ace9725914c9af2d0dd8e037f5dabc30fde1", - "class": "GenPagesMallConsumerBankCardsAdd" - }, - "pages/user/terms.kt": { - "md5": "07a6f73baf163f0818f71db9876001fbab77d258", - "class": "GenPagesUserTerms" - }, - "pages/user/boot.kt": { - "class": "GenPagesUserBoot", - "md5": "891ebce64ca5d120cfdcf18386104cd0d9b601b0" - }, - "pages/mall/consumer/payment-success.kt": { - "md5": "b174ba19832e03347ff975926d99da9456c01af0", - "class": "GenPagesMallConsumerPaymentSuccess" - }, - "pages/mall/consumer/apply-refund.kt": { - "md5": "57703e32288fd8bfa994620e6a4ae5cffebfd27b", - "class": "GenPagesMallConsumerApplyRefund" - }, - "pages/mall/consumer/product-reviews.kt": { - "class": "GenPagesMallConsumerProductReviews", - "md5": "615fa52ddd17e7f6b04bbd1ee9c4a9a129ec6417" - }, - "pages/user/login.kt": { - "md5": "55cbe4b1cdaca60a21ba54813994aaa4b266a9aa", - "class": "GenPagesUserLogin" - }, - "pages/mall/consumer/settings.kt": { - "class": "GenPagesMallConsumerSettings", - "md5": "8a57eb86049ec83aa4d94f13d64fdd440208195c" - }, - "pages/mall/consumer/member/index.kt": { - "md5": "27ec8904f9a1db6857e1d9a8edf22b63eff21810", - "class": "GenPagesMallConsumerMemberIndex" - }, - "pages/mall/consumer/message-detail.kt": { - "md5": "9180fd55529a56e2937eab5ad24a0356bd678ec6", - "class": "GenPagesMallConsumerMessageDetail" - }, - "index.kt": { - "md5": "616d0c626e47a227972de7b3ff415744d6a7b415", - "class": "" - }, - "pages/main/messages.kt": { - "class": "GenPagesMainMessages", - "md5": "fc8d9f6f3cb22db6e0ce6b2096e96a1198b89b7a" - }, - "pages/user/bind-phone.kt": { - "md5": "6e6d9b30a065983a45e6147866ab454b0913ef5a", - "class": "GenPagesUserBindPhone" - }, - "pages/mall/consumer/refund.kt": { - "md5": "0e87c8be04bac0e99ab87116d4e504bd164eb87e", - "class": "GenPagesMallConsumerRefund" - }, - "pages/mall/consumer/subscription/followed-shops.kt": { - "class": "GenPagesMallConsumerSubscriptionFollowedShops", - "md5": "d7d632f770ce0a4e562155117d4d12bb853a565f" - }, - "pages/mall/consumer/points/exchange-records.kt": { - "md5": "4b3db618b1ea142f96cfa353b5af4257b9e43079", - "class": "GenPagesMallConsumerPointsExchangeRecords" - }, - "pages/user/change-password.kt": { - "md5": "dd2836ecb8fedb59f145b751893ac9ae65ae577d", - "class": "GenPagesUserChangePassword" - }, - "pages/main/category.kt": { - "md5": "864372e978061a17805e85e6235685e4a2cc21ab", - "class": "GenPagesMainCategory" - }, - "pages/mall/consumer/favorites.kt": { - "md5": "081b12290b996f59bb7c831a0bd5db229f5df85b", - "class": "GenPagesMallConsumerFavorites" - }, - "pages/mall/consumer/order-detail.kt": { - "class": "GenPagesMallConsumerOrderDetail", - "md5": "7f48cdb53a109d45e62d6d22df1b564208b7a18e" - }, - "pages/main/profile.kt": { - "md5": "02209bae7589e80ece0ebb00bd533680181833a1", - "class": "GenPagesMainProfile" - }, - "pages/user/center.kt": { - "class": "GenPagesUserCenter", - "md5": "c1c5fb252c78cbaa5758a61df064d72c1106eca0" - }, - "pages/mall/consumer/payment.kt": { - "class": "GenPagesMallConsumerPayment", - "md5": "79b9f55d7cab53324edc9e5ecb67d9b9e71534d4" - }, - "pages/user/bind-email.kt": { - "md5": "d3679b2a275c74f54e2f29ef440bb3bd428b0076", - "class": "GenPagesUserBindEmail" - }, - "pages/mall/consumer/coupons.kt": { - "class": "GenPagesMallConsumerCoupons", - "md5": "1def27fd6123ad10d7c732560b45e475bef37918" - }, - "pages/mall/consumer/balance/index.kt": { - "class": "GenPagesMallConsumerBalanceIndex", - "md5": "c9b1bcac52506218d510445358a1f16fe57f7493" - }, - "pages/mall/consumer/product-detail.kt": { - "md5": "6a8e918b592831b35bee6589f512a02501d1e27d", - "class": "GenPagesMallConsumerProductDetail" - }, - "pages/main/cart.kt": { - "md5": "68e063ac04206529eaf15f7e56b3cd3c05bf9080", - "class": "GenPagesMainCart" - }, - "pages/mall/consumer/orders.kt": { - "class": "GenPagesMallConsumerOrders", - "md5": "131fc9b8ce5827c9c2b213b906820859bd90a310" - }, - "pages/mall/consumer/footprint.kt": { - "md5": "80cc5219a746556a95a292e3e75b8bc44e098676", - "class": "GenPagesMallConsumerFootprint" - }, - "pages/user/profile.kt": { - "class": "GenPagesUserProfile", - "md5": "d09042e0e84b25c1575a36ed61574fa5d2192342" - }, - "pages/mall/consumer/logistics.kt": { - "class": "GenPagesMallConsumerLogistics", - "md5": "bbda84f8724469f24b885cd3cef193a93a524f0c" - }, - "pages/mall/consumer/shop-detail.kt": { - "md5": "39f881c32f7d6799e43457bdaf1b4e91b71f4e53", - "class": "GenPagesMallConsumerShopDetail" - }, - "pages/user/register.kt": { - "class": "GenPagesUserRegister", - "md5": "e1ef5b732c09d4ca24e43aa3360a823bc4b40dcf" - }, - "pages/mall/consumer/share/index.kt": { - "md5": "ef3c80889201a98595dcd43eb14b0bad6cfecb77", - "class": "GenPagesMallConsumerShareIndex" - }, - "pages/mall/consumer/points/index.kt": { - "class": "GenPagesMallConsumerPointsIndex", - "md5": "8b9990550139147d5ace75f4758fbdb367cf594f" - } - } -} \ No newline at end of file diff --git a/unpackage/cache/.app-android/src/index.kt b/unpackage/cache/.app-android/src/index.kt deleted file mode 100644 index fcd4f35a..00000000 --- a/unpackage/cache/.app-android/src/index.kt +++ /dev/null @@ -1,19797 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.connectSocket as uni_connectSocket -import io.dcloud.uniapp.extapi.getStorageSync as uni_getStorageSync -import io.dcloud.uniapp.extapi.reLaunch as uni_reLaunch -import io.dcloud.uniapp.extapi.removeStorageSync as uni_removeStorageSync -import io.dcloud.uniapp.extapi.request as uni_request -import io.dcloud.uniapp.extapi.setStorageSync as uni_setStorageSync -import io.dcloud.uniapp.extapi.showToast as uni_showToast -import io.dcloud.uniapp.extapi.uploadFile as uni_uploadFile -val runBlock1 = run { - __uniConfig.getAppStyles = fun(): Map>> { - return GenApp.styles - } -} -fun initRuntimeSocket(hosts: String, port: String, id: String): UTSPromise { - if (hosts == "" || port == "" || id == "") { - return UTSPromise.resolve(null) - } - return hosts.split(",").reduce>(fun(promise: UTSPromise, host: String): UTSPromise { - return promise.then(fun(socket): UTSPromise { - if (socket != null) { - return UTSPromise.resolve(socket) - } - return tryConnectSocket(host, port, id) - } - ) - } - , UTSPromise.resolve(null)) -} -val SOCKET_TIMEOUT: Number = 500 -fun tryConnectSocket(host: String, port: String, id: String): UTSPromise { - return UTSPromise(fun(resolve, reject){ - val socket = uni_connectSocket(ConnectSocketOptions(url = "ws://" + host + ":" + port + "/" + id, fail = fun(_) { - resolve(null) - } - )) - val timer = setTimeout(fun(){ - socket.close(CloseSocketOptions(code = 1006, reason = "connect timeout")) - resolve(null) - } - , SOCKET_TIMEOUT) - socket.onOpen(fun(e){ - clearTimeout(timer) - resolve(socket) - } - ) - socket.onClose(fun(e){ - clearTimeout(timer) - resolve(null) - } - ) - socket.onError(fun(e){ - clearTimeout(timer) - resolve(null) - } - ) - } - ) -} -fun initRuntimeSocketService(): UTSPromise { - val hosts: String = "192.168.139.1,192.168.29.1,19.19.1.40,127.0.0.1" - val port: String = "8090" - val id: String = "app-android_Buxet5" - if (hosts == "" || port == "" || id == "") { - return UTSPromise.resolve(false) - } - var socketTask: SocketTask? = null - __registerWebViewUniConsole(fun(): String { - return "!function(){\"use strict\";\"function\"==typeof SuppressedError&&SuppressedError;var e=[\"log\",\"warn\",\"error\",\"info\",\"debug\"],n=e.reduce((function(e,n){return e[n]=console[n].bind(console),e}),{}),t=null,r=new Set,o={};function i(e){if(null!=t){var n=e.map((function(e){if(\"string\"==typeof e)return e;var n=e&&\"promise\"in e&&\"reason\"in e,t=n?\"UnhandledPromiseRejection: \":\"\";if(n&&(e=e.reason),e instanceof Error&&e.stack)return e.message&&!e.stack.includes(e.message)?\"\".concat(t).concat(e.message,\"\\n\").concat(e.stack):\"\".concat(t).concat(e.stack);if(\"object\"==typeof e&&null!==e)try{return t+JSON.stringify(e)}catch(e){return t+String(e)}return t+String(e)})).filter(Boolean);n.length>0&&t(JSON.stringify(Object.assign({type:\"error\",data:n},o)))}else e.forEach((function(e){r.add(e)}))}function a(e,n){try{return{type:e,args:u(n)}}catch(e){}return{type:e,args:[]}}function u(e){return e.map((function(e){return c(e)}))}function c(e,n){if(void 0===n&&(n=0),n>=7)return{type:\"object\",value:\"[Maximum depth reached]\"};switch(typeof e){case\"string\":return{type:\"string\",value:e};case\"number\":return function(e){return{type:\"number\",value:String(e)}}(e);case\"boolean\":return function(e){return{type:\"boolean\",value:String(e)}}(e);case\"object\":try{return function(e,n){if(null===e)return{type:\"null\"};if(function(e){return e.\$&&s(e.\$)}(e))return function(e,n){return{type:\"object\",className:\"ComponentPublicInstance\",value:{properties:Object.entries(e.\$.type).map((function(e){return f(e[0],e[1],n+1)}))}}}(e,n);if(s(e))return function(e,n){return{type:\"object\",className:\"ComponentInternalInstance\",value:{properties:Object.entries(e.type).map((function(e){return f(e[0],e[1],n+1)}))}}}(e,n);if(function(e){return e.style&&null!=e.tagName&&null!=e.nodeName}(e))return function(e,n){return{type:\"object\",value:{properties:Object.entries(e).filter((function(e){var n=e[0];return[\"id\",\"tagName\",\"nodeName\",\"dataset\",\"offsetTop\",\"offsetLeft\",\"style\"].includes(n)})).map((function(e){return f(e[0],e[1],n+1)}))}}}(e,n);if(function(e){return\"function\"==typeof e.getPropertyValue&&\"function\"==typeof e.setProperty&&e.\$styles}(e))return function(e,n){return{type:\"object\",value:{properties:Object.entries(e.\$styles).map((function(e){return f(e[0],e[1],n+1)}))}}}(e,n);if(Array.isArray(e))return{type:\"object\",subType:\"array\",value:{properties:e.map((function(e,t){return function(e,n,t){var r=c(e,t);return r.name=\"\".concat(n),r}(e,t,n+1)}))}};if(e instanceof Set)return{type:\"object\",subType:\"set\",className:\"Set\",description:\"Set(\".concat(e.size,\")\"),value:{entries:Array.from(e).map((function(e){return function(e,n){return{value:c(e,n)}}(e,n+1)}))}};if(e instanceof Map)return{type:\"object\",subType:\"map\",className:\"Map\",description:\"Map(\".concat(e.size,\")\"),value:{entries:Array.from(e.entries()).map((function(e){return function(e,n){return{key:c(e[0],n),value:c(e[1],n)}}(e,n+1)}))}};if(e instanceof Promise)return{type:\"object\",subType:\"promise\",value:{properties:[]}};if(e instanceof RegExp)return{type:\"object\",subType:\"regexp\",value:String(e),className:\"Regexp\"};if(e instanceof Date)return{type:\"object\",subType:\"date\",value:String(e),className:\"Date\"};if(e instanceof Error)return{type:\"object\",subType:\"error\",value:e.message||String(e),className:e.name||\"Error\"};var t=void 0,r=e.constructor;r&&r.get\$UTSMetadata\$&&(t=r.get\$UTSMetadata\$().name);var o=Object.entries(e);(function(e){return e.modifier&&e.modifier._attribute&&e.nodeContent})(e)&&(o=o.filter((function(e){var n=e[0];return\"modifier\"!==n&&\"nodeContent\"!==n})));return{type:\"object\",className:t,value:{properties:o.map((function(e){return f(e[0],e[1],n+1)}))}}}(e,n)}catch(e){return{type:\"object\",value:{properties:[]}}}case\"undefined\":return{type:\"undefined\"};case\"function\":return function(e){return{type:\"function\",value:\"function \".concat(e.name,\"() {}\")}}(e);case\"symbol\":return function(e){return{type:\"symbol\",value:e.description}}(e);case\"bigint\":return function(e){return{type:\"bigint\",value:String(e)}}(e)}}function s(e){return e.type&&null!=e.uid&&e.appContext}function f(e,n,t){var r=c(n,t);return r.name=e,r}var l=null,p=[],y={},g=\"---BEGIN:EXCEPTION---\",d=\"---END:EXCEPTION---\";function v(e){null!=l?l(JSON.stringify(Object.assign({type:\"console\",data:e},y))):p.push.apply(p,e)}var m=/^\\s*at\\s+[\\w/./-]+:\\d+\$/;function b(){function t(e){return function(){for(var t=[],r=0;r0){var t=p.slice();p.length=0,v(t)}}((function(e){_(e)}),{channel:e}),function(e,n){if(void 0===n&&(n={}),t=e,Object.assign(o,n),null!=e&&r.size>0){var a=Array.from(r);r.clear(),i(a)}}((function(e){_(e)}),{channel:e}),window.addEventListener(\"error\",(function(e){i([e.error])})),window.addEventListener(\"unhandledrejection\",(function(e){i([e])}))}}()}();" - } - , fun(data: String){ - socketTask?.send(SendSocketMessageOptions(data = data)) - } - ) - return UTSPromise.resolve().then(fun(): UTSPromise { - return initRuntimeSocket(hosts, port, id).then(fun(socket): Boolean { - if (socket == null) { - return false - } - socketTask = socket - return true - } - ) - } - ).`catch`(fun(): Boolean { - return false - } - ) -} -val runBlock2 = run { - initRuntimeSocketService() -} -open class AkReqOptions ( - @JsonNotNull - open var url: String, - open var method: String? = null, - open var data: Any? = null, - open var headers: UTSJSONObject? = null, - open var timeout: Number? = null, - open var contentType: String? = null, - open var retryCount: Number? = null, - open var retryDelayMs: Number? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AkReqOptions", "uni_modules/ak-req/interface.uts", 2, 13) - } -} -open class AkReqUploadOptions ( - @JsonNotNull - open var url: String, - @JsonNotNull - open var filePath: String, - @JsonNotNull - open var name: String, - open var formData: UTSJSONObject? = null, - open var headers: UTSJSONObject? = null, - open var apikey: String? = null, - open var timeout: Number? = null, - open var onProgress: ((progress: Number, transferredBytes: Number?, totalBytes: Number?) -> Unit)? = null, - open var retryCount: Number? = null, - open var retryDelayMs: Number? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AkReqUploadOptions", "uni_modules/ak-req/interface.uts", 14, 13) - } -} -open class AkReqResponse ( - @JsonNotNull - open var status: Number, - open var data: Any? = null, - @JsonNotNull - open var headers: UTSJSONObject, - open var error: UniError? = null, - open var total: Number? = null, - open var page: Number? = null, - open var limit: Number? = null, - open var hasmore: Boolean? = null, - open var origin: Any? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AkReqResponse", "uni_modules/ak-req/interface.uts", 28, 13) - } -} -val SUPA_URL: String = "http://119.146.131.237:9126" -val SUPA_KEY: String = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlzcyI6InN1cGFiYXNlLTEiLCJpYXQiOjE3Njk2NzY0OTgsImV4cCI6MTkyNzM1NjQ5OH0.ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" -val IS_TEST_MODE: Boolean = true -val ACCESS_TOKEN_KEY = "akreq_access_token" -val REFRESH_TOKEN_KEY = "akreq_refresh_token" -val EXPIRES_AT_KEY = "akreq_expires_at" -var _accessToken: String? = null -var _refreshToken: String? = null -var _expiresAt: Number? = null -open class AkReq : IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AkReq", "uni_modules/ak-req/ak-req.uts", 11, 14) - } - companion object { - fun setToken(token: String, refreshToken: String, expiresAt: Number) { - _accessToken = token - _refreshToken = refreshToken - _expiresAt = expiresAt - uni_setStorageSync(ACCESS_TOKEN_KEY, token) - uni_setStorageSync(REFRESH_TOKEN_KEY, refreshToken) - uni_setStorageSync(EXPIRES_AT_KEY, expiresAt) - } - fun getToken(): String? { - if (_accessToken != null) { - return _accessToken - } - val t = uni_getStorageSync(ACCESS_TOKEN_KEY) as String? - _accessToken = t - return t - } - fun getRefreshToken(): String? { - if (_refreshToken != null) { - return _refreshToken - } - val t = uni_getStorageSync(REFRESH_TOKEN_KEY) as String? - _refreshToken = t - return t - } - fun getExpiresAt(): Number? { - val kVal = _expiresAt - if (kVal != null) { - return kVal - } - val t = uni_getStorageSync(EXPIRES_AT_KEY) as Number? - _expiresAt = t - return t - } - fun clearToken() { - _accessToken = null - _refreshToken = null - _expiresAt = null - uni_removeStorageSync(ACCESS_TOKEN_KEY) - uni_removeStorageSync(REFRESH_TOKEN_KEY) - uni_removeStorageSync(EXPIRES_AT_KEY) - } - fun isTokenExpiring(): Boolean { - val expiresAt = this.getExpiresAt() - if (expiresAt == null || expiresAt == 0) { - return true - } - val now = Math.floor(Date.now() / 1000) - return (expiresAt - now) < 300 - } - fun refreshTokenIfNeeded(apikey: String?): UTSPromise { - return wrapUTSPromise(suspend w@{ - val accessToken = this.getToken() - if (accessToken == null || accessToken === "") { - return@w false - } - if (!this.isTokenExpiring()) { - return@w false - } - val refreshToken = this.getRefreshToken() - if (refreshToken == null || refreshToken === "") { - this.clearToken() - return@w false - } - var headers = UTSJSONObject(UTSSourceMapPosition("headers", "uni_modules/ak-req/ak-req.uts", 74, 13)) - if (apikey != null && apikey !== "") { - headers.set("apikey", apikey) - } - val reqData = UTSJSONObject(UTSSourceMapPosition("reqData", "uni_modules/ak-req/ak-req.uts", 78, 15)) - reqData.set("refresh_token", refreshToken) - try { - val res = await(this.request(AkReqOptions(url = SUPA_URL + "/auth/v1/token?grant_type=refresh_token", method = "POST", data = reqData, headers = headers, contentType = "application/json"), true)) - val data = res.data as UTSJSONObject? - var accessToken: String? = null - var refreshTokenNew: String? = null - var expiresAt: Number? = null - if (data != null && UTSAndroid.`typeof`(data["getString"]) === "function" && UTSAndroid.`typeof`(data["getNumber"]) === "function") { - accessToken = data.getString("access_token") - refreshTokenNew = data.getString("refresh_token") - expiresAt = data.getNumber("expires_at") - } - if (accessToken != null && refreshTokenNew != null && expiresAt != null) { - this.setToken(accessToken, refreshTokenNew, expiresAt) - return@w true - } else { - this.clearToken() - return@w false - } - } - catch (e: Throwable) { - this.clearToken() - return@w false - } - }) - } - fun request(options: AkReqOptions, skipRefresh: Boolean?): UTSPromise> { - return wrapUTSPromise(suspend w@{ - if (skipRefresh != true) { - var apikey: String? = null - val headersObj = options.headers - if (headersObj != null && UTSAndroid.`typeof`(headersObj["getString"]) === "function") { - apikey = headersObj.getString("apikey") - } - await(this.refreshTokenIfNeeded(apikey)) - } - val newHeaders = UTSJSONObject(UTSSourceMapPosition("newHeaders", "uni_modules/ak-req/ak-req.uts", 123, 15)) - if (options.headers != null) { - val originalHeaders = options.headers!! - if (UTSAndroid.`typeof`(originalHeaders["getString"]) === "function") { - val apikeyStr = originalHeaders.getString("apikey") - if (apikeyStr != null) { - newHeaders.set("apikey", apikeyStr) - } - val contentType = originalHeaders.getString("Content-Type") - if (contentType != null) { - newHeaders.set("Content-Type", contentType) - } - val prefer = originalHeaders.getString("Prefer") - if (prefer != null) { - newHeaders.set("Prefer", prefer) - } - val auth = originalHeaders.getString("Authorization") - if (auth != null) { - newHeaders.set("Authorization", auth) - } - } - } - if (newHeaders.getString("apikey") == null) { - if (SUPA_KEY != null && SUPA_KEY != "") { - newHeaders.set("apikey", SUPA_KEY) - } - } - val token = this.getToken() - if (token != null && token != "") { - newHeaders.set("Authorization", "Bearer " + token) - } - if (newHeaders.getString("Content-Type") == null) { - val contentType = options.contentType ?: "application/json" - if (contentType != null && contentType != "") { - newHeaders.set("Content-Type", contentType) - } - } - newHeaders.set("Accept", "application/json") - console.log("[AkReq.request] headers:", JSON.stringify(newHeaders), " at uni_modules/ak-req/ak-req.uts:175") - val headers = newHeaders - val timeout = options.timeout ?: 10000 - val maxRetry = Math.max(0, options.retryCount ?: 0) - val baseDelay = Math.max(0, options.retryDelayMs ?: 300) - val doOnce = fun(): UTSPromise> { - return UTSPromise>(fun(resolve, _reject){ - uni_request(RequestOptions(url = options.url, method = options.method ?: "GET", data = options.data, header = headers, timeout = timeout, success = fun(res){ - if (options.method == "HEAD") { - val result = AkReq.createResponse(res.statusCode, _uA(), res.header as UTSJSONObject) - resolve(result) - return - } - var data: Any? - if (UTSAndroid.`typeof`(res.data) == "string") { - val strData = res.data as String - if (strData.length > 0 && UTSRegExp("[^\\s]", "").test(strData)) { - try { - data = UTSAndroid.consoleDebugError(JSON.parse(strData), " at uni_modules/ak-req/ak-req.uts:196") as UTSJSONObject - } catch (e: Throwable) { - data = UTSJSONObject(object : UTSJSONObject() { - var raw = strData - }) - } - } else { - data = null - } - } else if (UTSArray.isArray(res.data)) { - data = res.data as UTSArray - } else { - val objData = res.data as UTSJSONObject? - data = objData - if (objData != null) { - val accessToken = objData.getString("access_token") - val refreshTokenNew = objData.getString("refresh_token") - val expiresAt = objData.getNumber("expires_at") - if (accessToken != null && refreshTokenNew != null && expiresAt != null) { - AkReq.setToken(accessToken, refreshTokenNew, expiresAt) - } - } - } - val result = AkReq.createResponse(res.statusCode, data ?: UTSJSONObject(), res.header as UTSJSONObject) - resolve(result) - } - , fail = fun(err){ - val errStatus = if ((err.errCode != null && UTSAndroid.`typeof`(err.errCode) === "number")) { - err.errCode - } else { - 0 - } - val result = AkReq.createResponse(errStatus, UTSJSONObject(), UTSJSONObject(), UniError("uni-request", errStatus, err.errMsg ?: "request fail")) - resolve(result) - } - )) - } - ) - } - var attempt: Number = 0 - var lastRes: AkReqResponse? = null - while(attempt <= maxRetry){ - val res = await(doOnce()) - lastRes = res - val status = res.status ?: 0 - val isOk = status >= 200 && status < 400 - if (isOk) { - return@w res - } - if (attempt === maxRetry) { - break - } - val delay = baseDelay * Math.pow(2, attempt) - await(UTSPromise(fun(r, _reject){ - setTimeout(fun(){ - r(Unit) - } - , delay) - } - )) - attempt++ - } - val finalRes = lastRes!!!! - if ((finalRes.status === 401) && (skipRefresh !== true)) { - try { - this.clearToken() - uni_showToast(ShowToastOptions(title = "未授权或登录已过期,请重新登录", icon = "none")) - } - catch (e: Throwable) {} - try {} catch (e: Throwable) {} - } - return@w finalRes - }) - } - fun upload(options: AkReqUploadOptions): UTSPromise> { - return wrapUTSPromise(suspend w@{ - var apikey: String? = null - val hdr = options.headers - if (hdr != null && UTSAndroid.`typeof`(hdr["getString"]) === "function") { - apikey = hdr.getString("apikey") - } - if (apikey == null && options.apikey != null) { - apikey = options.apikey - } - await(this.refreshTokenIfNeeded(if (apikey != null) { - apikey - } else { - null - } - )) - var headers = options.headers ?: (UTSJSONObject()) - val token = this.getToken() - if (token != null && token !== "") { - headers = Object.assign(UTSJSONObject(), headers, object : UTSJSONObject() { - var Authorization = "Bearer " + token - }) as UTSJSONObject - } - if (apikey != null && apikey !== "") { - headers = Object.assign(UTSJSONObject(), headers, _uO("apikey" to apikey)) as UTSJSONObject - } - headers = Object.assign(object : UTSJSONObject() { - var Accept = "application/json" - }, headers) as UTSJSONObject - val timeout = options.timeout ?: 10000 - val maxRetry = Math.max(0, options.retryCount ?: 0) - val baseDelay = Math.max(0, options.retryDelayMs ?: 300) - val doOnce = fun(): UTSPromise> { - return UTSPromise>(fun(resolve, _reject){ - val task = uni_uploadFile(UploadFileOptions(url = options.url, filePath = options.filePath, name = options.name, formData = options.formData ?: UTSJSONObject(), header = headers, timeout = timeout, success = fun(res: UploadFileSuccess){ - var parsed: UTSJSONObject? = null - try { - parsed = UTSAndroid.consoleDebugError(JSON.parse(res.data), " at uni_modules/ak-req/ak-req.uts:310") as UTSJSONObject - } - catch (e: Throwable) { - parsed = null - } - if (parsed != null) { - val accessToken = parsed.getString("access_token") - val refreshTokenNew = parsed.getString("refresh_token") - val expiresAt = parsed.getNumber("expires_at") - if (accessToken != null && refreshTokenNew != null && expiresAt != null) { - AkReq.setToken(accessToken, refreshTokenNew, expiresAt) - } - } - val result = AkReq.createResponse(res.statusCode, parsed ?: UTSJSONObject(), headers) - resolve(result) - } - , fail = fun(err){ - val errStatus = if ((err.errCode != null && UTSAndroid.`typeof`(err.errCode) === "number")) { - err.errCode - } else { - 0 - } - val result = AkReq.createResponse(errStatus, UTSJSONObject(), UTSJSONObject(), UniError("uni-upload", errStatus, err.errMsg ?: "upload fail")) - resolve(result) - } - )) - if (options.onProgress != null && task != null) { - val progressCallback = fun(res: OnProgressUpdateResult){ - val percent = res.progress as Number - val sent = res.totalBytesSent as Number? - val expected = res.totalBytesExpectedToSend as Number? - if (options.onProgress != null) { - options.onProgress!!(percent, sent, expected) - } - } - task.onProgressUpdate(progressCallback) - } - } - ) - } - var attempt: Number = 0 - var lastRes: AkReqResponse? = null - while(attempt <= maxRetry){ - val res = await(doOnce()) - lastRes = res - val status = res.status ?: 0 - val isOk = status >= 200 && status < 400 - if (isOk) { - return@w res - } - if (attempt === maxRetry) { - break - } - val delay = baseDelay * Math.pow(2, attempt) - await(UTSPromise(fun(resolve, _reject){ - setTimeout(fun(){ - resolve(Unit) - } - , delay) - } - )) - attempt++ - } - return@w lastRes!!!! - }) - } - fun createResponse(status: Number, data: Any, headers: UTSJSONObject, error: UniError? = null, total: Number? = null, page: Number? = null, limit: Number? = null, hasmore: Boolean? = null, origin: Any? = null): AkReqResponse { - return AkReqResponse(status = status, data = data, headers = headers, error = error, total = total, page = page, limit = limit, hasmore = hasmore, origin = origin) - } - } -} -val messages: UTSJSONObject = UTSJSONObject(UTSSourceMapPosition("messages", "uni_modules/i18n/index.uts", 4, 7)) -val defaultLocale = "zh-CN" -var currentLocale = defaultLocale -fun t(key: String, values: UTSJSONObject? = null, locale: String? = null): String { - return key -} -open class LocaleWrapper : IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("LocaleWrapper", "uni_modules/i18n/index.uts", 17, 7) - } - open var value: String - get(): String { - return currentLocale - } - set(newLocale: String) { - currentLocale = newLocale - } -} -val localeObj = LocaleWrapper() -open class I18nGlobal : IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("I18nGlobal", "uni_modules/i18n/index.uts", 27, 7) - } - open fun t(key: String, values: UTSJSONObject? = null, locale: String? = null): String { - return uni.UNICONSUMER.t(key, values, locale) - } - open var locale: LocaleWrapper = localeObj -} -open class I18nInstance : IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("I18nInstance", "uni_modules/i18n/index.uts", 34, 7) - } - open var global: I18nGlobal = I18nGlobal() -} -val i18n = I18nInstance() -fun toUniError(error: Any, defaultMessage: String = "操作失败"): UniError { - if (error is UniError) { - return error as UniError - } - var errorMessage = defaultMessage - var errorCode: Number = -1 - try { - if (error is UTSError) { - errorMessage = if ((error as UTSError).message != null && (error as UTSError).message != "") { - (error as UTSError).message - } else { - defaultMessage - } - } else if (UTSAndroid.`typeof`(error) === "string") { - errorMessage = error as String - } else if (error != null && UTSAndroid.`typeof`(error) === "object") { - val errorObj = error as UTSJSONObject - var message: String = "" - if (errorObj["message"] != null) { - val msgValue = errorObj["message"] - if (UTSAndroid.`typeof`(msgValue) === "string") { - message = msgValue as String - } - } else if (errorObj["errMsg"] != null) { - val msgValue = errorObj["errMsg"] - if (UTSAndroid.`typeof`(msgValue) === "string") { - message = msgValue as String - } - } else if (errorObj["error"] != null) { - val msgValue = errorObj["error"] - if (UTSAndroid.`typeof`(msgValue) === "string") { - message = msgValue as String - } - } else if (errorObj["details"] != null) { - val msgValue = errorObj["details"] - if (UTSAndroid.`typeof`(msgValue) === "string") { - message = msgValue as String - } - } else if (errorObj["msg"] != null) { - val msgValue = errorObj["msg"] - if (UTSAndroid.`typeof`(msgValue) === "string") { - message = msgValue as String - } - } - if (message != "") { - errorMessage = message - } - var code: Number = 0 - if (errorObj["code"] != null) { - val codeValue = errorObj["code"] - if (UTSAndroid.`typeof`(codeValue) === "number") { - code = codeValue as Number - } - } else if (errorObj["errCode"] != null) { - val codeValue = errorObj["errCode"] - if (UTSAndroid.`typeof`(codeValue) === "number") { - code = codeValue as Number - } - } else if (errorObj["status"] != null) { - val codeValue = errorObj["status"] - if (UTSAndroid.`typeof`(codeValue) === "number") { - code = codeValue as Number - } - } - if (code != 0) { - errorCode = code - } - } - } - catch (e: Throwable) { - console.error("Error converting to UniError:", e, " at utils/utils.uts:128") - errorMessage = defaultMessage - } - val uniError = UniError("AppError", errorCode, errorMessage) - return uniError -} -open class AkSupaSignInResult ( - @JsonNotNull - open var access_token: String, - @JsonNotNull - open var refresh_token: String, - @JsonNotNull - open var expires_at: Number, - open var user: UTSJSONObject? = null, - open var token_type: String? = null, - open var expires_in: Number? = null, - @JsonNotNull - open var raw: UTSJSONObject, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AkSupaSignInResult", "components/supadb/aksupa.uts", 4, 13) - } -} -typealias CountOption = String -open class AkSupaSelectOptions ( - open var limit: Number? = null, - open var order: String? = null, - open var getcount: String? = null, - open var count: CountOption? = null, - open var head: Boolean? = null, - open var columns: String? = null, - open var single: Boolean? = null, - open var rangeFrom: Number? = null, - open var rangeTo: Number? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AkSupaSelectOptions", "components/supadb/aksupa.uts", 16, 13) - } -} -open class OrderOptions ( - open var ascending: Boolean? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("OrderOptions", "components/supadb/aksupa.uts", 28, 13) - } -} -open class AkSupaSessionInfo ( - open var session: AkSupaSignInResult? = null, - open var user: UTSJSONObject? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AkSupaSessionInfo", "components/supadb/aksupa.uts", 32, 13) - } -} -open class AkSupaCondition ( - @JsonNotNull - open var field: String, - @JsonNotNull - open var op: String, - @JsonNotNull - open var value: Any, - @JsonNotNull - open var logic: String, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AkSupaCondition", "components/supadb/aksupa.uts", 38, 6) - } -} -open class AkSupaQueryBuilder : IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AkSupaQueryBuilder", "components/supadb/aksupa.uts", 44, 14) - } - private var _supa: AkSupa - private var _table: String - private var _filter: UTSJSONObject? = null - private var _options: AkSupaSelectOptions = AkSupaSelectOptions() - private var _values: Any? = null - private var _single: Boolean = false - private var _conditions: UTSArray = _uA() - private var _nextLogic: String = "and" - private var _action: String? = null - private var _orString: String? = null - private var _rpcFunction: String? = null - private var _rpcParams: UTSJSONObject? = null - private var _page: Number = 1 - constructor(supa: AkSupa, table: String){ - this._supa = supa - this._table = table - } - open fun eq(field: String, value: Any): AkSupaQueryBuilder { - return this._addCond(field, "eq", value) - } - open fun neq(field: String, value: Any): AkSupaQueryBuilder { - return this._addCond(field, "neq", value) - } - open fun gt(field: String, value: Any): AkSupaQueryBuilder { - return this._addCond(field, "gt", value) - } - open fun gte(field: String, value: Any): AkSupaQueryBuilder { - return this._addCond(field, "gte", value) - } - open fun lt(field: String, value: Any): AkSupaQueryBuilder { - return this._addCond(field, "lt", value) - } - open fun lte(field: String, value: Any): AkSupaQueryBuilder { - return this._addCond(field, "lte", value) - } - open fun like(field: String, value: Any): AkSupaQueryBuilder { - return this._addCond(field, "like", value) - } - open fun ilike(field: String, value: Any): AkSupaQueryBuilder { - return this._addCond(field, "ilike", value) - } - open fun `in`(field: String, value: UTSArray): AkSupaQueryBuilder { - return this._addCond(field, "in", value) - } - open fun `is`(field: String, value: Any?): AkSupaQueryBuilder { - return this._addCond(field, "is", value) - } - open fun contains(field: String, value: Any): AkSupaQueryBuilder { - return this._addCond(field, "cs", value) - } - open fun containedBy(field: String, value: Any): AkSupaQueryBuilder { - return this._addCond(field, "cd", value) - } - open fun not(field: String, opOrValue: Any, value: Any? = null): AkSupaQueryBuilder { - if (value != null) { - val combinedOp = "not." + opOrValue - var safeValue = value - if (value == null) { - safeValue = "null" - } - return this._addCond(field, combinedOp, safeValue) - } else { - var safeValue = opOrValue - if (opOrValue == null) { - safeValue = "null" - } - return this._addCond(field, "not", safeValue) - } - } - open fun and(): AkSupaQueryBuilder { - this._nextLogic = "and" - return this - } - open fun or(str: String?): AkSupaQueryBuilder { - if (UTSAndroid.`typeof`(str) == "string") { - this._orString = str - } else { - this._nextLogic = "or" - } - return this - } - private fun _addCond(afield: String, op: String, value: Any?): AkSupaQueryBuilder { - val field = UTSAndroid.consoleDebugError(encodeURIComponent(afield), " at components/supadb/aksupa.uts:109")!!!! - var safeValue: Any? = value - if (value == null) { - safeValue = "null" - } else if (UTSArray.isArray(value)) { - safeValue = value - } else if (UTSAndroid.`typeof`(value) === "number") { - safeValue = value - } else if (UTSAndroid.`typeof`(value) === "boolean") { - safeValue = value - } else if (UTSAndroid.`typeof`(value) !== "string") { - try { - safeValue = value.toString() - } - catch (e: Throwable) { - safeValue = "" - } - } - this._conditions.push(AkSupaCondition(field = field, op = op, value = safeValue ?: "", logic = this._nextLogic)) - this._nextLogic = "and" - return this - } - open fun where(filter: UTSJSONObject): AkSupaQueryBuilder { - this._filter = filter - return this - } - open fun page(page: Number): AkSupaQueryBuilder { - this._page = page - var limit: Number = 0 - if (UTSAndroid.`typeof`(this._options.limit) == "number") { - limit = this._options.limit ?: 0 - } - if (limit > 0) { - val from = (page - 1) * limit - val to = from + limit - 1 - this.range(from, to) - } - return this - } - open fun limit(limit: Number): AkSupaQueryBuilder { - this._options.limit = limit - val from = (this._page - 1) * limit - val to = from + limit - 1 - this.range(from, to) - return this - } - open fun order(order: String, options: OrderOptions?): AkSupaQueryBuilder { - if (options != null && options.ascending == false) { - this._options.order = order + ".desc" - } else { - this._options.order = order + ".asc" - } - return this - } - open fun columns(columns: String): AkSupaQueryBuilder { - this._options.columns = columns - return this - } - open fun count(option: CountOption = "exact"): AkSupaQueryBuilder { - this._options.count = option - this._options.head = true - return this - } - open fun countExact(): AkSupaQueryBuilder { - return this.count("exact") - } - open fun countEstimated(): AkSupaQueryBuilder { - return this.count("estimated") - } - open fun countPlanned(): AkSupaQueryBuilder { - return this.count("planned") - } - open fun head(enable: Boolean = true): AkSupaQueryBuilder { - this._options.head = enable - return this - } - open fun values(values: UTSJSONObject): AkSupaQueryBuilder { - this._values = values - return this - } - open fun single(): AkSupaQueryBuilder { - this._single = true - return this - } - open fun range(from: Number, to: Number): AkSupaQueryBuilder { - this._options.rangeFrom = from - this._options.rangeTo = to - return this - } - private fun _valToStr(kVal: Any): String { - if (kVal == null) { - return "" - } - try { - return kVal.toString() - } - catch (e: Throwable) { - try { - return JSON.stringify(kVal) - } - catch (e2: Throwable) { - return "" - } - } - } - private fun _buildFilter(): String? { - if (this._conditions.length == 0 && (this._orString == null || this._orString == "")) { - if (this._filter == null) { - return null - } - return buildSupabaseFilterQuery(this._filter) - } - val ands: UTSArray = _uA() - val ors: UTSArray = _uA() - for(c in resolveUTSValueIterator(this._conditions)){ - if (c.logic == "or") { - ors.push(c) - } else { - ands.push(c) - } - } - val params: UTSArray = _uA() - for(cond in resolveUTSValueIterator(ands)){ - val k = cond.field - val op = cond.op - val kVal = cond.value - if ((op == "in" || op == "not.in") && UTSArray.isArray(kVal)) { - params.push("" + k + "=" + op + ".(" + (kVal as UTSArray).map(fun(x): String { - return this._valToStr(x) - }).map(fun(x): String? { - return UTSAndroid.consoleDebugError(encodeURIComponent(x), " at components/supadb/aksupa.uts:261") - }).join(",") + ")") - } else if ((op == "is" || op == "not.is") && (kVal == null || kVal == "null")) { - params.push("" + k + "=" + op + ".null") - } else if (op == "like" || op == "ilike") { - params.push("" + k + "=" + op + "." + this._valToStr(kVal)) - } else { - params.push("" + k + "=" + op + "." + UTSAndroid.consoleDebugError(encodeURIComponent(this._valToStr(kVal)), " at components/supadb/aksupa.uts:270")) - } - } - if (ors.length > 0) { - val orStr = ors.map(fun(o): String { - val k = o.field - val op = o.op - val kVal = o.value - if (op == "in" && UTSArray.isArray(kVal)) { - return "" + k + ".in.(" + (kVal as UTSArray).map(fun(x): String? { - return UTSAndroid.consoleDebugError(encodeURIComponent(this._valToStr(x)), " at components/supadb/aksupa.uts:280") - } - ).join(",") + ")" - } - if (op == "is" && (kVal == null)) { - return "" + k + ".is.null" - } - if (op == "like" || op == "ilike") { - return "" + k + "." + op + "." + this._valToStr(kVal) - } - return "" + k + "." + op + "." + UTSAndroid.consoleDebugError(encodeURIComponent(this._valToStr(kVal)), " at components/supadb/aksupa.uts:288") - } - ).join(",") - params.push("or=(" + orStr + ")") - } - if (this._orString != null && this._orString !== "") { - console.log("[AkSupaQueryBuilder] or字符串:", this._orString, " at components/supadb/aksupa.uts:301") - params.push("or=(" + this._orString!!!! + ")") - } - return if (params.length > 0) { - params.join("&") - } else { - null - } - } - open fun select(columns: String = "*", opt: UTSJSONObject? = null): AkSupaQueryBuilder { - this._action = "select" - if (columns != null) { - this._options.columns = columns - } - if (opt != null) { - Object.assign(this._options, opt) - } - return this - } - open fun insert(values: Any): AkSupaQueryBuilder { - this._action = "insert" - if (UTSArray.isArray(values)) { - if ((values as UTSArray).length == 0) { - throw toUniError("No values set for insert", "Insert操作缺少数据") - } - } else { - if (UTSJSONObject.keys(values as UTSJSONObject).length == 0) { - throw toUniError("No values set for insert", "Insert操作缺少数据") - } - } - this._values = values - return this - } - open fun update(values: UTSJSONObject): AkSupaQueryBuilder { - this._action = "update" - if (UTSJSONObject.keys(values).length == 0) { - throw toUniError("No values set for update", "更新操作缺少数据") - } - this._values = values - return this - } - open fun `delete`(): AkSupaQueryBuilder { - this._action = "delete" - val filter = this._buildFilter() - if (filter == null) { - throw toUniError("No filter set for delete", "删除操作缺少筛选条件") - } - return this - } - open fun rpc(functionName: String, params: UTSJSONObject?): AkSupaQueryBuilder { - this._action = "rpc" - this._rpcFunction = functionName - this._rpcParams = params - return this - } - open fun execute(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - val filter = this._buildFilter() - console.log("[AkSupaQueryBuilder] execute - 表:", this._table, "filter:", filter, " at components/supadb/aksupa.uts:357") - var res: Any - when (this._action) { - "select" -> - { - if (this._single) { - this._options.single = true - if (this._options.limit == null) { - this._options.limit = 1 - } - } - if (this._options.limit != null) { - if (this._options.getcount == null && this._options.count == null) { - this._options.count = "exact" - } - } - res = await(this._supa.select(this._table, filter, this._options)) - var total: Number = 0 - var hasmore = false - val page = this._page - var resdata = res.data - var limit: Number = 0 - if (UTSAndroid.`typeof`(this._options.limit) == "number") { - limit = this._options.limit ?: 0 - } else if (UTSArray.isArray(resdata)) { - limit = (resdata as UTSArray).length - } - var contentRange: String? = null - if (res.headers != null) { - var theheader = res.headers as UTSJSONObject - if (UTSAndroid.`typeof`(theheader["get"]) == "function") { - contentRange = theheader.get("content-range") as String? - } else if (UTSAndroid.`typeof`(theheader["content-range"]) == "string") { - contentRange = theheader["content-range"] as String - } - } - if (contentRange != null) { - val match = UTSRegExp("\\/(\\d+)\$", "").exec(contentRange) - if (match != null) { - total = parseInt(match[1] ?: "0") - hasmore = (page * limit) < total - } - } - if (total == 0) { - val resStr = JSON.stringify(res) - val resParsed = UTSAndroid.consoleDebugError(JSON.parse(resStr), " at components/supadb/aksupa.uts:403") - if (resParsed != null) { - val resObj = resParsed as UTSJSONObject - val countVal = resObj.getNumber("count") - if (countVal != null) { - total = countVal - } else if (UTSArray.isArray(resdata)) { - total = (resdata as UTSArray).length - } else { - total = 0 - } - } else if (UTSArray.isArray(resdata)) { - total = (resdata as UTSArray).length - } else { - total = 0 - } - } - if (!hasmore) { - hasmore = (page * limit) < total - } - if (this._options.head == true) { - return@w AkReqResponse(data = null, total = total, page = page, limit = limit, hasmore = false, origin = res, status = res.status, headers = res.headers, error = res.error) - } - return@w AkReqResponse(data = res.data, total = total, page = page, limit = limit, hasmore = hasmore, origin = res, status = res.status, headers = res.headers, error = res.error) - } - "insert" -> - { - val insertValues = this._values - if (insertValues == null) { - throw toUniError("No values set for insert", "插入操作缺少数据") - } - res = await(this._supa.insert(this._table, insertValues)) - } - "update" -> - { - val updateValues = this._values - if (updateValues == null) { - throw toUniError("No values set for update", "更新操作缺少数据") - } - if (filter == null) { - throw toUniError("No filter set for update", "更新操作缺少筛选条件") - } - if (UTSArray.isArray(updateValues)) { - throw toUniError("Update does not support array values", "更新操作不支持数组数据") - } - res = await(this._supa.update(this._table, filter, updateValues as UTSJSONObject)) - } - "delete" -> - { - if (filter == null) { - throw toUniError("No filter set for delete", "删除操作缺少筛选条件") - } - res = await(this._supa.`delete`(this._table, filter)) - } - "rpc" -> - { - if (this._rpcFunction == null) { - throw toUniError("No RPC function specified", "RPC调用缺少函数名") - } - res = await(this._supa.rpc(this._rpcFunction as String, this._rpcParams)) - } - else -> - res = await(this._supa.select(this._table, filter, this._options)) - } - if (res["data"] == null) { - res["data"] = UTSJSONObject() - } - return@w res - }) - } - inline fun executeAs(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - val result = await(this.execute()) - if (result.data == null) { - return@w result as AkReqResponse - } - var convertedData: Any? = null - try { - if (UTSArray.isArray(result.data)) { - val dataArray = result.data as UTSArray - val convertedArray: UTSArray = _uA() - run { - var i: Number = 0 - while(i < dataArray.length){ - val item = dataArray[i] - if (item is UTSJSONObject) { - val parsed = (item as UTSJSONObject).parse() - if (parsed != null) { - convertedArray.push(parsed) - } else { - console.warn("转换失败,使用原始对象:", item, " at components/supadb/aksupa.uts:508") - convertedArray.push(item) - } - } else { - val jsonObj = UTSJSONObject(item, UTSSourceMapPosition("jsonObj", "components/supadb/aksupa.uts", 516, 31)) - val parsed = jsonObj.parse() - if (parsed != null) { - convertedArray.push(parsed) - } else { - console.warn("转换失败,使用原始对象:", item, " at components/supadb/aksupa.uts:523") - convertedArray.push(item) - } - } - i++ - } - } - convertedData = convertedArray - } else { - val convertedArray: UTSArray = _uA() - if (result.data is UTSJSONObject) { - val parsed = (result.data as UTSJSONObject).parse() - if (parsed != null) { - convertedArray.push(parsed) - } - } else { - val jsonObj = UTSJSONObject(result.data, UTSSourceMapPosition("jsonObj", "components/supadb/aksupa.uts", 541, 27)) - val parsed = jsonObj.parse() - if (parsed != null) { - convertedArray.push(parsed) - } - } - convertedData = convertedArray - } - } - catch (e: Throwable) { - console.warn("数据类型转换失败,使用原始数据:", e, " at components/supadb/aksupa.uts:554") - console.log(result.data, " at components/supadb/aksupa.uts:555") - convertedData = result.data as Any - } - result.data = convertedData - return@w result as AkReqResponse - }) - } -} -open class AkSupaStorageBucket : IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AkSupaStorageBucket", "components/supadb/aksupa.uts", 604, 7) - } - private var supa: AkSupa - private var bucket: String - constructor(supa: AkSupa, bucket: String){ - this.supa = supa - this.bucket = bucket - } - open fun upload(path: String, filePath: String, options: UTSJSONObject?): UTSPromise> { - return wrapUTSPromise(suspend w@{ - val url = "" + this.supa.baseUrl + "/storage/v1/object/" + this.bucket + "/" + path - var headers: UTSJSONObject = _uO("__\$originalPosition" to UTSSourceMapPosition("headers", "components/supadb/aksupa.uts", 613, 13), "apikey" to this.supa.apikey) - val formData: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("formData", "components/supadb/aksupa.uts", 614, 15)) { - } - if (options != null && UTSAndroid.`typeof`(options) == "object") { - if (UTSAndroid.`typeof`(options["get"]) == "function" && options.get("x-upsert") != null) { - headers["x-upsert"] = options.get("x-upsert") - } - val keys = UTSJSONObject.keys(options) - run { - var i: Number = 0 - while(i < keys.length){ - val k = keys[i] - if (k != "x-upsert") { - formData[k] = options.get(k) - } - i++ - } - } - } - val token = AkReq.getToken() - if (token != null && !(token == "")) { - headers["Authorization"] = "Bearer " + token - } - return@w await(AkReq.upload(AkReqUploadOptions(url = url, filePath = filePath, name = "file", apikey = this.supa.apikey, formData = formData, headers = headers))) - }) - } -} -open class AkSupaStorageApi : IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AkSupaStorageApi", "components/supadb/aksupa.uts", 640, 14) - } - private var _supa: AkSupa - constructor(supa: AkSupa){ - this._supa = supa - } - open fun from(bucket: String): AkSupaStorageBucket { - return AkSupaStorageBucket(this._supa, bucket) - } -} -open class AkSupa : IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AkSupa", "components/supadb/aksupa.uts", 649, 14) - } - open lateinit var baseUrl: String - open lateinit var apikey: String - open var session: AkSupaSignInResult? = null - open var user: UTSJSONObject? = null - open lateinit var storage: AkSupaStorageApi - constructor(baseUrl: String, apikey: String){ - this.baseUrl = baseUrl - this.apikey = apikey - this.storage = AkSupaStorageApi(this) - try { - this.hydrateSessionFromStorage() - } - catch (e: Throwable) {} - } - open fun hydrateSessionFromStorage(): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val token = AkReq.getToken() - if (token == null || token == "") { - return@w false - } - val res = await(AkReq.request(AkReqOptions(url = this.baseUrl + "/auth/v1/user", method = "GET", headers = _uO("apikey" to this.apikey, "Authorization" to ("Bearer " + token), "Content-Type" to "application/json")), false)) - val status = res.status ?: 0 - if (!(status >= 200 && status < 400)) { - return@w false - } - var user: UTSJSONObject? = null - try { - user = UTSJSONObject(res.data) - } - catch (e: Throwable) { - user = null - } - if (user == null) { - return@w false - } - this.user = user - if (this.session == null) { - this.session = AkSupaSignInResult(access_token = token, refresh_token = AkReq.getRefreshToken() ?: "", expires_at = AkReq.getExpiresAt() ?: 0, user = user, token_type = "bearer", expires_in = 0, raw = user) - } - return@w true - } - catch (e: Throwable) { - return@w false - } - }) - } - open fun resetPassword(email: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - val res = await(AkReq.request(AkReqOptions(url = this.baseUrl + "/auth/v1/recover", method = "POST", headers = _uO("apikey" to this.apikey, "Content-Type" to "application/json"), data = _uO("email" to email), contentType = "application/json"), false)) - return@w res.status == 200 - }) - } - open fun signOut(): UTSPromise { - return wrapUTSPromise(suspend { - this.session = null - this.user = null - }) - } - open fun signIn(email: String, password: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - if (this.apikey == null || this.apikey.trim() === "" || this.apikey === "your-anon-key") { - throw UTSError("Supabase 配置错误:请在 ak/config.uts 中设置 SUPA_KEY(当前为占位符)") - } - val headers = UTSJSONObject(UTSSourceMapPosition("headers", "components/supadb/aksupa.uts", 737, 15)) - headers.set("apikey", this.apikey) - headers.set("Content-Type", "application/json") - val reqData = UTSJSONObject(UTSSourceMapPosition("reqData", "components/supadb/aksupa.uts", 740, 15)) - reqData.set("email", email) - reqData.set("password", password) - val res = await(AkReq.request(AkReqOptions(url = this.baseUrl + "/auth/v1/token?grant_type=password", method = "POST", headers = headers, data = reqData, contentType = "application/json"), false)) - val status = res.status ?: 0 - if (!(status >= 200 && status < 400)) { - var msg = "user.login.login_failed" - try { - if (res.data != null) { - val obj = UTSJSONObject(res.data, UTSSourceMapPosition("obj", "components/supadb/aksupa.uts", 756, 27)) - val rawMsg = obj.getString("message") ?: obj.getString("error") ?: obj.getString("msg") ?: obj.getString("description") ?: obj.getString("error_description") ?: "" - if (rawMsg.includes("Invalid login credentials")) { - msg = "用户名或密码错误" - } else if (rawMsg != "") { - msg = rawMsg - } - } - } - catch (e: Throwable) {} - throw UTSError(msg) - } - var data: UTSJSONObject - try { - data = UTSJSONObject(res.data) - } - catch (e: Throwable) { - data = UTSJSONObject(UTSJSONObject()) - } - val access_token = data.getString("access_token") ?: "" - val refresh_token = data.getString("refresh_token") ?: "" - val expires_at = data.getNumber("expires_at") ?: 0 - val user = data.getJSON("user") - AkReq.setToken(access_token, refresh_token, expires_at) - val session = AkSupaSignInResult(access_token = access_token, refresh_token = refresh_token, expires_at = expires_at, user = user, token_type = data.getString("token_type") ?: "", expires_in = data.getNumber("expires_in") ?: 0, raw = data) - this.session = session - this.user = user - return@w session - }) - } - open fun getSession(): AkSupaSessionInfo { - return AkSupaSessionInfo(session = this.session, user = this.user) - } - open fun signUp(email: String, password: String, options: UTSJSONObject? = null): UTSPromise { - return wrapUTSPromise(suspend w@{ - val headers = UTSJSONObject(UTSSourceMapPosition("headers", "components/supadb/aksupa.uts", 808, 15)) - headers.set("apikey", this.apikey) - headers.set("Content-Type", "application/json") - val data = UTSJSONObject(UTSSourceMapPosition("data", "components/supadb/aksupa.uts", 811, 15)) - data.set("email", email) - data.set("password", password) - if (options != null) { - val dataField = options.getJSON("data") - if (dataField != null) { - data.set("data", dataField) - } - } - val res = await(AkReq.request(AkReqOptions(url = this.baseUrl + "/auth/v1/signup", method = "POST", headers = headers, data = data, contentType = "application/json"), false)) - return@w res.data as UTSJSONObject - }) - } - open fun select(table: String, filter: String?, options: AkSupaSelectOptions?): UTSPromise> { - return wrapUTSPromise(suspend w@{ - var url = this.baseUrl + "/rest/v1/" + table - var headers = UTSJSONObject(UTSSourceMapPosition("headers", "components/supadb/aksupa.uts", 837, 13)) - headers.set("apikey", this.apikey) - headers.set("Content-Type", "application/json") - headers.set("Authorization", "Bearer " + (AkReq.getToken() ?: "")) - var params: UTSArray = _uA() - if (options != null) { - if (options.columns != null && !(options.columns == "")) { - params.push("select=" + UTSAndroid.consoleDebugError(encodeURIComponent(options.columns ?: ""), " at components/supadb/aksupa.uts:844")) - } - if (options.limit != null) { - params.push("limit=" + options.limit!!) - } - if (options.order != null && !(options.order == "")) { - params.push("order=" + UTSAndroid.consoleDebugError(encodeURIComponent(options.order ?: ""), " at components/supadb/aksupa.uts:850")) - } - if (options.rangeFrom != null && options.rangeTo != null) { - headers["Range"] = "" + options.rangeFrom!! + "-" + options.rangeTo!! - headers["Range-Unit"] = "items" - } - var countOption = options.count ?: options.getcount - if (countOption != null) { - headers["Prefer"] = "count=" + countOption - } - if (options.head == true) { - if (headers["Prefer"] != null) { - headers["Prefer"] = (headers["Prefer"] as String) + ",return=minimal" - } else { - headers["Prefer"] = "return=minimal" - } - } - if (options.single == true) { - if (headers["Prefer"] != null) { - headers["Prefer"] = (headers["Prefer"] as String) + ",return=representation,single-object" - } else { - headers["Prefer"] = "return=representation,single-object" - } - } - if (options.columns == null) { - params.push("select=*") - } else if (options.columns == "") { - params.push("select=*") - } - } else { - params.push("select=*") - } - if (filter != null && filter !== "") { - params.push(filter!!!!) - } - if (params.length > 0) { - url += "?" + params.join("&") - } - var httpMethod: String = "GET" - if (options != null && options.head == true) { - httpMethod = "HEAD" - } - var reqOptions = AkReqOptions(url = url, method = httpMethod, headers = headers) - return@w await(this.requestWithAutoRefresh(reqOptions)) - }) - } - open fun select_uts(table: String, filter: UTSJSONObject?, options: AkSupaSelectOptions?): UTSPromise> { - return wrapUTSPromise(suspend w@{ - val filter_str = buildSupabaseFilterQuery(filter) - return@w this.select(table, filter_str, options) - }) - } - open fun insert(table: String, row: Any): UTSPromise> { - return wrapUTSPromise(suspend w@{ - val url = this.baseUrl + "/rest/v1/" + table - val headers = UTSJSONObject(UTSSourceMapPosition("headers", "components/supadb/aksupa.uts", 925, 15)) - headers.set("apikey", this.apikey) - headers.set("Content-Type", "application/json") - headers.set("Authorization", "Bearer " + (AkReq.getToken() ?: "")) - headers.set("Prefer", "return=representation") - var reqOptions = AkReqOptions(url = url, method = "POST", headers = headers, data = row, contentType = "application/json") - return@w await(this.requestWithAutoRefresh(reqOptions)) - }) - } - open fun update(table: String, filter: String?, values: UTSJSONObject): UTSPromise> { - return wrapUTSPromise(suspend w@{ - var url = this.baseUrl + "/rest/v1/" + table - if (filter != null && filter !== "") { - url += "?" + filter - } - val headers = UTSJSONObject(UTSSourceMapPosition("headers", "components/supadb/aksupa.uts", 951, 15)) - headers.set("apikey", this.apikey) - headers.set("Content-Type", "application/json") - headers.set("Authorization", "Bearer " + (AkReq.getToken() ?: "")) - headers.set("Prefer", "return=representation") - var reqOptions = AkReqOptions(url = url, method = "PATCH", headers = headers, data = values, contentType = "application/json") - return@w await(this.requestWithAutoRefresh(reqOptions)) - }) - } - open fun `delete`(table: String, filter: String?): UTSPromise> { - return wrapUTSPromise(suspend w@{ - var url = this.baseUrl + "/rest/v1/" + table - if (filter != null && filter !== "") { - url += "?" + filter - } - val headers = UTSJSONObject(UTSSourceMapPosition("headers", "components/supadb/aksupa.uts", 976, 15)) - headers.set("apikey", this.apikey) - headers.set("Content-Type", "application/json") - headers.set("Authorization", "Bearer " + (AkReq.getToken() ?: "")) - headers.set("Prefer", "return=representation") - var reqOptions = AkReqOptions(url = url, method = "DELETE", headers = headers, contentType = "application/json") - return@w await(this.requestWithAutoRefresh(reqOptions)) - }) - } - open fun rpc(functionName: String, params: UTSJSONObject?): UTSPromise> { - return wrapUTSPromise(suspend w@{ - val url = this.baseUrl + "/rest/v1/rpc/" + functionName - val headers = UTSJSONObject(UTSSourceMapPosition("headers", "components/supadb/aksupa.uts", 997, 15)) - headers.set("apikey", this.apikey) - headers.set("Content-Type", "application/json") - headers.set("Authorization", "Bearer " + (AkReq.getToken() ?: "")) - var reqOptions = AkReqOptions(url = url, method = "POST", headers = headers, data = params ?: UTSJSONObject(), contentType = "application/json") - return@w await(this.requestWithAutoRefresh(reqOptions)) - }) - } - open fun from(tableName: String): AkSupaQueryBuilder { - return AkSupaQueryBuilder(this, tableName) - } - open fun channel(topic: String): AkSupaRealtimeChannel { - return AkSupaRealtimeChannel(this, topic) - } - open fun removeChannel(channel: AkSupaRealtimeChannel): UTSPromise { - channel.unsubscribe() - return UTSPromise.resolve("ok") - } - open fun refreshSession(): UTSPromise { - return wrapUTSPromise(suspend w@{ - if (this.session == null || this.session?.refresh_token == null) { - return@w false - } - try { - val headers = UTSJSONObject(UTSSourceMapPosition("headers", "components/supadb/aksupa.uts", 1036, 19)) - headers.set("apikey", this.apikey) - headers.set("Content-Type", "application/json") - val data = UTSJSONObject(UTSSourceMapPosition("data", "components/supadb/aksupa.uts", 1039, 19)) - data.set("refresh_token", this.session?.refresh_token) - val res = await(AkReq.request(AkReqOptions(url = this.baseUrl + "/auth/v1/token?grant_type=refresh_token", method = "POST", headers = headers, data = data, contentType = "application/json"), false)) - if (res.status == 200 && (res.data != null)) { - val data = res.data as UTSJSONObject - val access_token = data.getString("access_token") ?: "" - val refresh_token = data.getString("refresh_token") ?: "" - val expires_at = data.getNumber("expires_at") ?: 0 - val user = data.getJSON("user") - this.session = AkSupaSignInResult(access_token = access_token, refresh_token = refresh_token, expires_at = expires_at, user = user, token_type = data.getString("token_type") ?: "", expires_in = data.getNumber("expires_in") ?: 0, raw = data) - this.user = user - AkReq.setToken(access_token, refresh_token, expires_at) - return@w true - } - return@w false - } - catch (e: Throwable) { - return@w false - } - }) - } - open fun updateUserMetadata(metadata: UTSJSONObject): UTSPromise { - return wrapUTSPromise(suspend w@{ - val headers = UTSJSONObject(UTSSourceMapPosition("headers", "components/supadb/aksupa.uts", 1075, 15)) - headers.set("apikey", this.apikey) - headers.set("Content-Type", "application/json") - headers.set("Authorization", "Bearer " + (AkReq.getToken() ?: "")) - val data = UTSJSONObject(UTSSourceMapPosition("data", "components/supadb/aksupa.uts", 1079, 15)) - data.set("data", metadata) - val res = await(AkReq.request(AkReqOptions(url = this.baseUrl + "/auth/v1/user", method = "PUT", headers = headers, data = data, contentType = "application/json"), false)) - return@w res.data as UTSJSONObject - }) - } - open fun requestWithAutoRefresh(reqOptions: AkReqOptions, isRetry: Boolean = false): UTSPromise> { - return wrapUTSPromise(suspend w@{ - var res = await(AkReq.request(reqOptions, false)) - val isJwtExpired = (res.status == 401) - val isUnauthorized = (res.status == 401) - if ((isJwtExpired || isUnauthorized) && !isRetry) { - val ok = await(this.refreshSession()) - if (ok) { - var headers = reqOptions.headers - if (headers == null) { - headers = UTSJSONObject() - } - if (UTSAndroid.`typeof`(headers["set"]) == "function") { - headers.set("Authorization", "Bearer " + (AkReq.getToken() ?: "")) - reqOptions.headers = headers - } - res = await(AkReq.request(reqOptions, false)) - } else { - uni_removeStorageSync("user_id") - uni_removeStorageSync("token") - console.log("登录已过期,请重新登录", " at components/supadb/aksupa.uts:1133") - throw toUniError("登录已过期,请重新登录", "用户认证失败") - } - } - return@w res - }) - } -} -fun buildSupabaseFilterQuery(reassignedFilter: UTSJSONObject?): String { - var filter = reassignedFilter - if (filter == null) { - return "" - } - if (UTSAndroid.`typeof`(filter["get"]) !== "function") { - try { - filter = UTSJSONObject(filter as Any) - } - catch (e: Throwable) { - console.warn("filter 不是 UTSJSONObject,且无法转换", filter, " at components/supadb/aksupa.uts:1150") - return "" - } - } - val params: UTSArray = _uA() - val keys: UTSArray = UTSJSONObject.keys(filter) - run { - var i: Number = 0 - while(i < keys.length){ - val k = keys[i] - val v = filter.get(k) - if (k == "or" && UTSAndroid.`typeof`(v) == "string") { - params.push("or=(" + v as String + ")") - i++ - continue - } - if (v != null && UTSAndroid.`typeof`(v) == "object" && UTSAndroid.`typeof`((v as UTSJSONObject)["get"]) == "function") { - val vObj = v as UTSJSONObject - val opKeys = UTSJSONObject.keys(vObj) - run { - var j: Number = 0 - while(j < opKeys.length){ - val op = opKeys[j] - val opVal = vObj.get(op) - if ((op == "in" || op == "not.in") && UTSArray.isArray(opVal)) { - params.push("" + k + "=" + op + ".(" + (opVal as UTSArray).map(fun(x): String? { - return if (UTSAndroid.`typeof`(x) == "object") { - UTSAndroid.consoleDebugError(encodeURIComponent(JSON.stringify(x)), " at components/supadb/aksupa.uts:1152") - } else { - UTSAndroid.consoleDebugError(encodeURIComponent(x.toString()), " at components/supadb/aksupa.uts:1152") - } - }).join(",") + ")") - } else if (op == "is" && (opVal == null || opVal == "null")) { - params.push("" + k + "=is.null") - } else { - val opvalstr: String = if ((UTSAndroid.`typeof`(opVal) == "object")) { - JSON.stringify(opVal) - } else { - (opVal as String) - } - params.push("" + k + "=" + op + "." + UTSAndroid.consoleDebugError(encodeURIComponent(opvalstr), " at components/supadb/aksupa.uts:1159")) - } - j++ - } - } - } else if (v != null && UTSAndroid.`typeof`(v) == "object") { - val vObj = v as UTSJSONObject - val opKeys = UTSJSONObject.keys(vObj) - run { - var j: Number = 0 - while(j < opKeys.length){ - val op = opKeys[j] - val opVal = vObj.get(op) - params.push("" + k + "=" + op + "." + UTSAndroid.consoleDebugError(encodeURIComponent(if (!(opVal == null)) { - if (UTSAndroid.`typeof`(opVal) == "object") { - JSON.stringify(opVal) - } else { - opVal.toString() - } - } else { - "" - }), " at components/supadb/aksupa.uts:1169")) - j++ - } - } - } else { - params.push("" + k + "=eq." + UTSAndroid.consoleDebugError(encodeURIComponent(if (!(v == null)) { - v.toString() - } else { - "" - } - ), " at components/supadb/aksupa.uts:1173")) - } - i++ - } - } - return params.join("&") -} -fun createClient(url: String, key: String): AkSupa { - return AkSupa(url, key) -} -open class AkSupaRealtimeChannel : IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AkSupaRealtimeChannel", "components/supadb/aksupa.uts", 1187, 14) - } - private var _supa: AkSupa - private var _topic: String - private var _timer: Number = 0 - private var _callback: ((payload: Any) -> Unit)? = null - private var _table: String = "" - private var _lastTime: String = Date().toISOString() - private var _isSubscribed: Boolean = false - constructor(supa: AkSupa, topic: String){ - this._supa = supa - this._topic = topic - } - open fun on(type: String, filter: UTSJSONObject, callback: (payload: Any) -> Unit): AkSupaRealtimeChannel { - val table = filter.getString("table") - if (table != null) { - this._table = table - } - this._callback = callback - return this - } - open fun subscribe(callback: ((status: String, err: Any?) -> Unit)?): AkSupaRealtimeChannel { - if (this._isSubscribed) { - return this - } - this._isSubscribed = true - if (callback != null) { - callback("SUBSCRIBED", null) - } - if (this._table == "") { - console.warn("Realtime check: No table specified for polling.", " at components/supadb/aksupa.uts:1240") - return this - } - this._timer = setInterval(fun(){ - this._checkUpdates() - } - , 3000) - return this - } - open fun unsubscribe() { - if (this._timer > 0) { - clearInterval(this._timer) - this._timer = 0 - } - this._isSubscribed = false - } - private fun _checkUpdates(): UTSPromise { - return wrapUTSPromise(suspend w@{ - if (!this._isSubscribed || this._table == "") { - return@w - } - try { - val now = Date().toISOString() - val res = await(this._supa.from(this._table).select("*").gt("created_at", this._lastTime).order("created_at", OrderOptions(ascending = true)).execute()) - if (res.error == null && res.data != null) { - var list: UTSArray = _uA() - if (UTSArray.isArray(res.data)) { - list = res.data as UTSArray - } - if (list.length > 0) { - val lastItem = list[list.length - 1] - var lastTimeStr: String? = null - if (lastItem is UTSJSONObject) { - lastTimeStr = (lastItem as UTSJSONObject).getString("created_at") - } else { - val j = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(lastItem)), " at components/supadb/aksupa.uts:1263") as UTSJSONObject - lastTimeStr = j.getString("created_at") - } - if (lastTimeStr != null) { - this._lastTime = lastTimeStr - } else { - this._lastTime = now - } - if (this._callback != null) { - list.forEach(fun(item){ - val payload: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("payload", "components/supadb/aksupa.uts", 1276, 35)) { - var `new` = item - var eventType = "INSERT" - var old = null - } - this._callback?.invoke(payload) - } - ) - } - } - } - } - catch (e: Throwable) { - console.error("Realtime polling error:", e, " at components/supadb/aksupa.uts:1315") - } - }) - } -} -val supaInstance = createClient(SUPA_URL, SUPA_KEY) -val supaReady = UTSPromise.resolve(true) -open class UserType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var phone: String, - open var email: String? = null, - open var nickname: String? = null, - open var avatar_url: String? = null, - @JsonNotNull - open var gender: Number, - @JsonNotNull - open var user_type: Number, - @JsonNotNull - open var status: Number, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("UserType", "types/mall-types.uts", 3, 13) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return UserTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class UserTypeReactiveObject : UserType, IUTSReactive { - override var __v_raw: UserType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: UserType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, phone = __v_raw.phone, email = __v_raw.email, nickname = __v_raw.nickname, avatar_url = __v_raw.avatar_url, gender = __v_raw.gender, user_type = __v_raw.user_type, status = __v_raw.status, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UserTypeReactiveObject { - return UserTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var phone: String - get() { - return _tRG(__v_raw, "phone", __v_raw.phone, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("phone")) { - return - } - val oldValue = __v_raw.phone - __v_raw.phone = value - _tRS(__v_raw, "phone", oldValue, value) - } - override var email: String? - get() { - return _tRG(__v_raw, "email", __v_raw.email, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("email")) { - return - } - val oldValue = __v_raw.email - __v_raw.email = value - _tRS(__v_raw, "email", oldValue, value) - } - override var nickname: String? - get() { - return _tRG(__v_raw, "nickname", __v_raw.nickname, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("nickname")) { - return - } - val oldValue = __v_raw.nickname - __v_raw.nickname = value - _tRS(__v_raw, "nickname", oldValue, value) - } - override var avatar_url: String? - get() { - return _tRG(__v_raw, "avatar_url", __v_raw.avatar_url, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("avatar_url")) { - return - } - val oldValue = __v_raw.avatar_url - __v_raw.avatar_url = value - _tRS(__v_raw, "avatar_url", oldValue, value) - } - override var gender: Number - get() { - return _tRG(__v_raw, "gender", __v_raw.gender, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("gender")) { - return - } - val oldValue = __v_raw.gender - __v_raw.gender = value - _tRS(__v_raw, "gender", oldValue, value) - } - override var user_type: Number - get() { - return _tRG(__v_raw, "user_type", __v_raw.user_type, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("user_type")) { - return - } - val oldValue = __v_raw.user_type - __v_raw.user_type = value - _tRS(__v_raw, "user_type", oldValue, value) - } - override var status: Number - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -open class MerchantType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var user_id: String, - @JsonNotNull - open var shop_name: String, - open var shop_logo: String? = null, - open var shop_banner: String? = null, - open var shop_description: String? = null, - @JsonNotNull - open var contact_name: String, - @JsonNotNull - open var contact_phone: String, - @JsonNotNull - open var shop_status: Number, - @JsonNotNull - open var rating: Number, - @JsonNotNull - open var total_sales: Number, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("MerchantType", "types/mall-types.uts", 55, 13) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return MerchantTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class MerchantTypeReactiveObject : MerchantType, IUTSReactive { - override var __v_raw: MerchantType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: MerchantType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, user_id = __v_raw.user_id, shop_name = __v_raw.shop_name, shop_logo = __v_raw.shop_logo, shop_banner = __v_raw.shop_banner, shop_description = __v_raw.shop_description, contact_name = __v_raw.contact_name, contact_phone = __v_raw.contact_phone, shop_status = __v_raw.shop_status, rating = __v_raw.rating, total_sales = __v_raw.total_sales, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): MerchantTypeReactiveObject { - return MerchantTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var user_id: String - get() { - return _tRG(__v_raw, "user_id", __v_raw.user_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("user_id")) { - return - } - val oldValue = __v_raw.user_id - __v_raw.user_id = value - _tRS(__v_raw, "user_id", oldValue, value) - } - override var shop_name: String - get() { - return _tRG(__v_raw, "shop_name", __v_raw.shop_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shop_name")) { - return - } - val oldValue = __v_raw.shop_name - __v_raw.shop_name = value - _tRS(__v_raw, "shop_name", oldValue, value) - } - override var shop_logo: String? - get() { - return _tRG(__v_raw, "shop_logo", __v_raw.shop_logo, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shop_logo")) { - return - } - val oldValue = __v_raw.shop_logo - __v_raw.shop_logo = value - _tRS(__v_raw, "shop_logo", oldValue, value) - } - override var shop_banner: String? - get() { - return _tRG(__v_raw, "shop_banner", __v_raw.shop_banner, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shop_banner")) { - return - } - val oldValue = __v_raw.shop_banner - __v_raw.shop_banner = value - _tRS(__v_raw, "shop_banner", oldValue, value) - } - override var shop_description: String? - get() { - return _tRG(__v_raw, "shop_description", __v_raw.shop_description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shop_description")) { - return - } - val oldValue = __v_raw.shop_description - __v_raw.shop_description = value - _tRS(__v_raw, "shop_description", oldValue, value) - } - override var contact_name: String - get() { - return _tRG(__v_raw, "contact_name", __v_raw.contact_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("contact_name")) { - return - } - val oldValue = __v_raw.contact_name - __v_raw.contact_name = value - _tRS(__v_raw, "contact_name", oldValue, value) - } - override var contact_phone: String - get() { - return _tRG(__v_raw, "contact_phone", __v_raw.contact_phone, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("contact_phone")) { - return - } - val oldValue = __v_raw.contact_phone - __v_raw.contact_phone = value - _tRS(__v_raw, "contact_phone", oldValue, value) - } - override var shop_status: Number - get() { - return _tRG(__v_raw, "shop_status", __v_raw.shop_status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shop_status")) { - return - } - val oldValue = __v_raw.shop_status - __v_raw.shop_status = value - _tRS(__v_raw, "shop_status", oldValue, value) - } - override var rating: Number - get() { - return _tRG(__v_raw, "rating", __v_raw.rating, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("rating")) { - return - } - val oldValue = __v_raw.rating - __v_raw.rating = value - _tRS(__v_raw, "rating", oldValue, value) - } - override var total_sales: Number - get() { - return _tRG(__v_raw, "total_sales", __v_raw.total_sales, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("total_sales")) { - return - } - val oldValue = __v_raw.total_sales - __v_raw.total_sales = value - _tRS(__v_raw, "total_sales", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -open class ProductType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var merchant_id: String, - @JsonNotNull - open var category_id: String, - @JsonNotNull - open var name: String, - open var description: String? = null, - @JsonNotNull - open var images: UTSArray, - @JsonNotNull - open var price: Number, - open var original_price: Number? = null, - @JsonNotNull - open var stock: Number, - @JsonNotNull - open var sales: Number, - @JsonNotNull - open var status: Number, - @JsonNotNull - open var created_at: String, - open var specification: String? = null, - open var usage: String? = null, - open var side_effects: String? = null, - open var precautions: String? = null, - open var expiry_date: String? = null, - open var storage_conditions: String? = null, - open var approval_number: String? = null, - open var tags: UTSArray? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ProductType", "types/mall-types.uts", 70, 13) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return ProductTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class ProductTypeReactiveObject : ProductType, IUTSReactive { - override var __v_raw: ProductType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: ProductType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, merchant_id = __v_raw.merchant_id, category_id = __v_raw.category_id, name = __v_raw.name, description = __v_raw.description, images = __v_raw.images, price = __v_raw.price, original_price = __v_raw.original_price, stock = __v_raw.stock, sales = __v_raw.sales, status = __v_raw.status, created_at = __v_raw.created_at, specification = __v_raw.specification, usage = __v_raw.usage, side_effects = __v_raw.side_effects, precautions = __v_raw.precautions, expiry_date = __v_raw.expiry_date, storage_conditions = __v_raw.storage_conditions, approval_number = __v_raw.approval_number, tags = __v_raw.tags) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): ProductTypeReactiveObject { - return ProductTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var merchant_id: String - get() { - return _tRG(__v_raw, "merchant_id", __v_raw.merchant_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchant_id")) { - return - } - val oldValue = __v_raw.merchant_id - __v_raw.merchant_id = value - _tRS(__v_raw, "merchant_id", oldValue, value) - } - override var category_id: String - get() { - return _tRG(__v_raw, "category_id", __v_raw.category_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("category_id")) { - return - } - val oldValue = __v_raw.category_id - __v_raw.category_id = value - _tRS(__v_raw, "category_id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var description: String? - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } - override var images: UTSArray - get() { - return _tRG(__v_raw, "images", __v_raw.images, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("images")) { - return - } - val oldValue = __v_raw.images - __v_raw.images = value - _tRS(__v_raw, "images", oldValue, value) - } - override var price: Number - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var original_price: Number? - get() { - return _tRG(__v_raw, "original_price", __v_raw.original_price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("original_price")) { - return - } - val oldValue = __v_raw.original_price - __v_raw.original_price = value - _tRS(__v_raw, "original_price", oldValue, value) - } - override var stock: Number - get() { - return _tRG(__v_raw, "stock", __v_raw.stock, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("stock")) { - return - } - val oldValue = __v_raw.stock - __v_raw.stock = value - _tRS(__v_raw, "stock", oldValue, value) - } - override var sales: Number - get() { - return _tRG(__v_raw, "sales", __v_raw.sales, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("sales")) { - return - } - val oldValue = __v_raw.sales - __v_raw.sales = value - _tRS(__v_raw, "sales", oldValue, value) - } - override var status: Number - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } - override var specification: String? - get() { - return _tRG(__v_raw, "specification", __v_raw.specification, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("specification")) { - return - } - val oldValue = __v_raw.specification - __v_raw.specification = value - _tRS(__v_raw, "specification", oldValue, value) - } - override var usage: String? - get() { - return _tRG(__v_raw, "usage", __v_raw.usage, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("usage")) { - return - } - val oldValue = __v_raw.usage - __v_raw.usage = value - _tRS(__v_raw, "usage", oldValue, value) - } - override var side_effects: String? - get() { - return _tRG(__v_raw, "side_effects", __v_raw.side_effects, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("side_effects")) { - return - } - val oldValue = __v_raw.side_effects - __v_raw.side_effects = value - _tRS(__v_raw, "side_effects", oldValue, value) - } - override var precautions: String? - get() { - return _tRG(__v_raw, "precautions", __v_raw.precautions, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("precautions")) { - return - } - val oldValue = __v_raw.precautions - __v_raw.precautions = value - _tRS(__v_raw, "precautions", oldValue, value) - } - override var expiry_date: String? - get() { - return _tRG(__v_raw, "expiry_date", __v_raw.expiry_date, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("expiry_date")) { - return - } - val oldValue = __v_raw.expiry_date - __v_raw.expiry_date = value - _tRS(__v_raw, "expiry_date", oldValue, value) - } - override var storage_conditions: String? - get() { - return _tRG(__v_raw, "storage_conditions", __v_raw.storage_conditions, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("storage_conditions")) { - return - } - val oldValue = __v_raw.storage_conditions - __v_raw.storage_conditions = value - _tRS(__v_raw, "storage_conditions", oldValue, value) - } - override var approval_number: String? - get() { - return _tRG(__v_raw, "approval_number", __v_raw.approval_number, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("approval_number")) { - return - } - val oldValue = __v_raw.approval_number - __v_raw.approval_number = value - _tRS(__v_raw, "approval_number", oldValue, value) - } - override var tags: UTSArray? - get() { - return _tRG(__v_raw, "tags", __v_raw.tags, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("tags")) { - return - } - val oldValue = __v_raw.tags - __v_raw.tags = value - _tRS(__v_raw, "tags", oldValue, value) - } -} -open class ProductSkuType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var product_id: String, - @JsonNotNull - open var sku_code: String, - open var specifications: UTSJSONObject? = null, - @JsonNotNull - open var price: Number, - @JsonNotNull - open var stock: Number, - open var image_url: String? = null, - @JsonNotNull - open var status: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ProductSkuType", "types/mall-types.uts", 94, 13) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return ProductSkuTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class ProductSkuTypeReactiveObject : ProductSkuType, IUTSReactive { - override var __v_raw: ProductSkuType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: ProductSkuType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, product_id = __v_raw.product_id, sku_code = __v_raw.sku_code, specifications = __v_raw.specifications, price = __v_raw.price, stock = __v_raw.stock, image_url = __v_raw.image_url, status = __v_raw.status) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): ProductSkuTypeReactiveObject { - return ProductSkuTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var product_id: String - get() { - return _tRG(__v_raw, "product_id", __v_raw.product_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_id")) { - return - } - val oldValue = __v_raw.product_id - __v_raw.product_id = value - _tRS(__v_raw, "product_id", oldValue, value) - } - override var sku_code: String - get() { - return _tRG(__v_raw, "sku_code", __v_raw.sku_code, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("sku_code")) { - return - } - val oldValue = __v_raw.sku_code - __v_raw.sku_code = value - _tRS(__v_raw, "sku_code", oldValue, value) - } - override var specifications: UTSJSONObject? - get() { - return _tRG(__v_raw, "specifications", __v_raw.specifications, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("specifications")) { - return - } - val oldValue = __v_raw.specifications - __v_raw.specifications = value - _tRS(__v_raw, "specifications", oldValue, value) - } - override var price: Number - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var stock: Number - get() { - return _tRG(__v_raw, "stock", __v_raw.stock, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("stock")) { - return - } - val oldValue = __v_raw.stock - __v_raw.stock = value - _tRS(__v_raw, "stock", oldValue, value) - } - override var image_url: String? - get() { - return _tRG(__v_raw, "image_url", __v_raw.image_url, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("image_url")) { - return - } - val oldValue = __v_raw.image_url - __v_raw.image_url = value - _tRS(__v_raw, "image_url", oldValue, value) - } - override var status: Number - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } -} -open class CouponTemplateType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - open var description: String? = null, - @JsonNotNull - open var coupon_type: Number, - @JsonNotNull - open var discount_type: Number, - @JsonNotNull - open var discount_value: Number, - @JsonNotNull - open var min_order_amount: Number, - open var max_discount_amount: Number? = null, - open var total_quantity: Number? = null, - @JsonNotNull - open var per_user_limit: Number, - @JsonNotNull - open var usage_limit: Number, - open var merchant_id: String? = null, - @JsonNotNull - open var category_ids: UTSArray, - @JsonNotNull - open var product_ids: UTSArray, - open var user_type_limit: Number? = null, - @JsonNotNull - open var start_time: String, - @JsonNotNull - open var end_time: String, - @JsonNotNull - open var status: Number, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("CouponTemplateType", "types/mall-types.uts", 180, 13) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return CouponTemplateTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class CouponTemplateTypeReactiveObject : CouponTemplateType, IUTSReactive { - override var __v_raw: CouponTemplateType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: CouponTemplateType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, description = __v_raw.description, coupon_type = __v_raw.coupon_type, discount_type = __v_raw.discount_type, discount_value = __v_raw.discount_value, min_order_amount = __v_raw.min_order_amount, max_discount_amount = __v_raw.max_discount_amount, total_quantity = __v_raw.total_quantity, per_user_limit = __v_raw.per_user_limit, usage_limit = __v_raw.usage_limit, merchant_id = __v_raw.merchant_id, category_ids = __v_raw.category_ids, product_ids = __v_raw.product_ids, user_type_limit = __v_raw.user_type_limit, start_time = __v_raw.start_time, end_time = __v_raw.end_time, status = __v_raw.status, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): CouponTemplateTypeReactiveObject { - return CouponTemplateTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var description: String? - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } - override var coupon_type: Number - get() { - return _tRG(__v_raw, "coupon_type", __v_raw.coupon_type, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("coupon_type")) { - return - } - val oldValue = __v_raw.coupon_type - __v_raw.coupon_type = value - _tRS(__v_raw, "coupon_type", oldValue, value) - } - override var discount_type: Number - get() { - return _tRG(__v_raw, "discount_type", __v_raw.discount_type, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("discount_type")) { - return - } - val oldValue = __v_raw.discount_type - __v_raw.discount_type = value - _tRS(__v_raw, "discount_type", oldValue, value) - } - override var discount_value: Number - get() { - return _tRG(__v_raw, "discount_value", __v_raw.discount_value, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("discount_value")) { - return - } - val oldValue = __v_raw.discount_value - __v_raw.discount_value = value - _tRS(__v_raw, "discount_value", oldValue, value) - } - override var min_order_amount: Number - get() { - return _tRG(__v_raw, "min_order_amount", __v_raw.min_order_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("min_order_amount")) { - return - } - val oldValue = __v_raw.min_order_amount - __v_raw.min_order_amount = value - _tRS(__v_raw, "min_order_amount", oldValue, value) - } - override var max_discount_amount: Number? - get() { - return _tRG(__v_raw, "max_discount_amount", __v_raw.max_discount_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("max_discount_amount")) { - return - } - val oldValue = __v_raw.max_discount_amount - __v_raw.max_discount_amount = value - _tRS(__v_raw, "max_discount_amount", oldValue, value) - } - override var total_quantity: Number? - get() { - return _tRG(__v_raw, "total_quantity", __v_raw.total_quantity, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("total_quantity")) { - return - } - val oldValue = __v_raw.total_quantity - __v_raw.total_quantity = value - _tRS(__v_raw, "total_quantity", oldValue, value) - } - override var per_user_limit: Number - get() { - return _tRG(__v_raw, "per_user_limit", __v_raw.per_user_limit, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("per_user_limit")) { - return - } - val oldValue = __v_raw.per_user_limit - __v_raw.per_user_limit = value - _tRS(__v_raw, "per_user_limit", oldValue, value) - } - override var usage_limit: Number - get() { - return _tRG(__v_raw, "usage_limit", __v_raw.usage_limit, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("usage_limit")) { - return - } - val oldValue = __v_raw.usage_limit - __v_raw.usage_limit = value - _tRS(__v_raw, "usage_limit", oldValue, value) - } - override var merchant_id: String? - get() { - return _tRG(__v_raw, "merchant_id", __v_raw.merchant_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchant_id")) { - return - } - val oldValue = __v_raw.merchant_id - __v_raw.merchant_id = value - _tRS(__v_raw, "merchant_id", oldValue, value) - } - override var category_ids: UTSArray - get() { - return _tRG(__v_raw, "category_ids", __v_raw.category_ids, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("category_ids")) { - return - } - val oldValue = __v_raw.category_ids - __v_raw.category_ids = value - _tRS(__v_raw, "category_ids", oldValue, value) - } - override var product_ids: UTSArray - get() { - return _tRG(__v_raw, "product_ids", __v_raw.product_ids, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_ids")) { - return - } - val oldValue = __v_raw.product_ids - __v_raw.product_ids = value - _tRS(__v_raw, "product_ids", oldValue, value) - } - override var user_type_limit: Number? - get() { - return _tRG(__v_raw, "user_type_limit", __v_raw.user_type_limit, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("user_type_limit")) { - return - } - val oldValue = __v_raw.user_type_limit - __v_raw.user_type_limit = value - _tRS(__v_raw, "user_type_limit", oldValue, value) - } - override var start_time: String - get() { - return _tRG(__v_raw, "start_time", __v_raw.start_time, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("start_time")) { - return - } - val oldValue = __v_raw.start_time - __v_raw.start_time = value - _tRS(__v_raw, "start_time", oldValue, value) - } - override var end_time: String - get() { - return _tRG(__v_raw, "end_time", __v_raw.end_time, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("end_time")) { - return - } - val oldValue = __v_raw.end_time - __v_raw.end_time = value - _tRS(__v_raw, "end_time", oldValue, value) - } - override var status: Number - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -val ORDER_STATUS: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("ORDER_STATUS", "types/mall-types.uts", 229, 14)) { - var PENDING_PAYMENT: Number = 1 - var PAID: Number = 2 - var SHIPPED: Number = 3 - var DELIVERED: Number = 4 - var COMPLETED: Number = 5 - var CANCELLED: Number = 6 - var REFUNDING: Number = 7 - var REFUNDED: Number = 8 -} -val COUPON_TYPE: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("COUPON_TYPE", "types/mall-types.uts", 240, 14)) { - var DISCOUNT_AMOUNT: Number = 1 - var DISCOUNT_PERCENT: Number = 2 - var FREE_SHIPPING: Number = 3 - var NEWBIE: Number = 4 - var MEMBER: Number = 5 - var CATEGORY: Number = 6 - var MERCHANT: Number = 7 - var LIMITED_TIME: Number = 8 -} -val PAYMENT_METHOD: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("PAYMENT_METHOD", "types/mall-types.uts", 251, 14)) { - var WECHAT: Number = 1 - var ALIPAY: Number = 2 - var UNIONPAY: Number = 3 - var BALANCE: Number = 4 -} -val DELIVERY_STATUS: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("DELIVERY_STATUS", "types/mall-types.uts", 258, 14)) { - var PENDING: Number = 1 - var ASSIGNED: Number = 2 - var PICKED_UP: Number = 3 - var IN_TRANSIT: Number = 4 - var DELIVERED: Number = 5 - var FAILED: Number = 6 -} -val MALL_USER_TYPE: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("MALL_USER_TYPE", "types/mall-types.uts", 267, 14)) { - var CONSUMER: Number = 1 - var MERCHANT: Number = 2 - var DELIVERY: Number = 3 - var SERVICE: Number = 4 - var ADMIN: Number = 5 -} -val VERIFICATION_STATUS: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("VERIFICATION_STATUS", "types/mall-types.uts", 282, 14)) { - var UNVERIFIED: Number = 0 - var VERIFIED: Number = 1 - var FAILED: Number = 2 -} -val ADDRESS_LABEL: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("ADDRESS_LABEL", "types/mall-types.uts", 288, 14)) { - var HOME = "home" - var OFFICE = "office" - var SCHOOL = "school" - var OTHER = "other" -} -val FAVORITE_TYPE: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("FAVORITE_TYPE", "types/mall-types.uts", 295, 14)) { - var PRODUCT = "product" - var SHOP = "shop" -} -val SUBSCRIPTION_PERIOD: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("SUBSCRIPTION_PERIOD", "types/mall-types.uts", 303, 14)) { - var MONTHLY = "monthly" - var YEARLY = "yearly" -} -val SUBSCRIPTION_STATUS: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("SUBSCRIPTION_STATUS", "types/mall-types.uts", 308, 14)) { - var TRIAL = "trial" - var ACTIVE = "active" - var PAST_DUE = "past_due" - var CANCELED = "canceled" - var EXPIRED = "expired" -} -open class UserProfile ( - open var id: String? = null, - @JsonNotNull - open var username: String, - @JsonNotNull - open var email: String, - open var gender: String? = null, - open var birthday: String? = null, - open var height_cm: Number? = null, - open var weight_kg: Number? = null, - open var bio: String? = null, - open var avatar_url: String? = null, - open var preferred_language: String? = null, - open var role: String? = null, - open var school_id: String? = null, - open var grade_id: String? = null, - open var class_id: String? = null, - open var created_at: String? = null, - open var updated_at: String? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("UserProfile", "types/mall-types.uts", 347, 13) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return UserProfileReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class UserProfileReactiveObject : UserProfile, IUTSReactive { - override var __v_raw: UserProfile - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: UserProfile, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, username = __v_raw.username, email = __v_raw.email, gender = __v_raw.gender, birthday = __v_raw.birthday, height_cm = __v_raw.height_cm, weight_kg = __v_raw.weight_kg, bio = __v_raw.bio, avatar_url = __v_raw.avatar_url, preferred_language = __v_raw.preferred_language, role = __v_raw.role, school_id = __v_raw.school_id, grade_id = __v_raw.grade_id, class_id = __v_raw.class_id, created_at = __v_raw.created_at, updated_at = __v_raw.updated_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UserProfileReactiveObject { - return UserProfileReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String? - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var username: String - get() { - return _tRG(__v_raw, "username", __v_raw.username, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("username")) { - return - } - val oldValue = __v_raw.username - __v_raw.username = value - _tRS(__v_raw, "username", oldValue, value) - } - override var email: String - get() { - return _tRG(__v_raw, "email", __v_raw.email, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("email")) { - return - } - val oldValue = __v_raw.email - __v_raw.email = value - _tRS(__v_raw, "email", oldValue, value) - } - override var gender: String? - get() { - return _tRG(__v_raw, "gender", __v_raw.gender, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("gender")) { - return - } - val oldValue = __v_raw.gender - __v_raw.gender = value - _tRS(__v_raw, "gender", oldValue, value) - } - override var birthday: String? - get() { - return _tRG(__v_raw, "birthday", __v_raw.birthday, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("birthday")) { - return - } - val oldValue = __v_raw.birthday - __v_raw.birthday = value - _tRS(__v_raw, "birthday", oldValue, value) - } - override var height_cm: Number? - get() { - return _tRG(__v_raw, "height_cm", __v_raw.height_cm, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("height_cm")) { - return - } - val oldValue = __v_raw.height_cm - __v_raw.height_cm = value - _tRS(__v_raw, "height_cm", oldValue, value) - } - override var weight_kg: Number? - get() { - return _tRG(__v_raw, "weight_kg", __v_raw.weight_kg, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("weight_kg")) { - return - } - val oldValue = __v_raw.weight_kg - __v_raw.weight_kg = value - _tRS(__v_raw, "weight_kg", oldValue, value) - } - override var bio: String? - get() { - return _tRG(__v_raw, "bio", __v_raw.bio, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("bio")) { - return - } - val oldValue = __v_raw.bio - __v_raw.bio = value - _tRS(__v_raw, "bio", oldValue, value) - } - override var avatar_url: String? - get() { - return _tRG(__v_raw, "avatar_url", __v_raw.avatar_url, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("avatar_url")) { - return - } - val oldValue = __v_raw.avatar_url - __v_raw.avatar_url = value - _tRS(__v_raw, "avatar_url", oldValue, value) - } - override var preferred_language: String? - get() { - return _tRG(__v_raw, "preferred_language", __v_raw.preferred_language, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("preferred_language")) { - return - } - val oldValue = __v_raw.preferred_language - __v_raw.preferred_language = value - _tRS(__v_raw, "preferred_language", oldValue, value) - } - override var role: String? - get() { - return _tRG(__v_raw, "role", __v_raw.role, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("role")) { - return - } - val oldValue = __v_raw.role - __v_raw.role = value - _tRS(__v_raw, "role", oldValue, value) - } - override var school_id: String? - get() { - return _tRG(__v_raw, "school_id", __v_raw.school_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("school_id")) { - return - } - val oldValue = __v_raw.school_id - __v_raw.school_id = value - _tRS(__v_raw, "school_id", oldValue, value) - } - override var grade_id: String? - get() { - return _tRG(__v_raw, "grade_id", __v_raw.grade_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("grade_id")) { - return - } - val oldValue = __v_raw.grade_id - __v_raw.grade_id = value - _tRS(__v_raw, "grade_id", oldValue, value) - } - override var class_id: String? - get() { - return _tRG(__v_raw, "class_id", __v_raw.class_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("class_id")) { - return - } - val oldValue = __v_raw.class_id - __v_raw.class_id = value - _tRS(__v_raw, "class_id", oldValue, value) - } - override var created_at: String? - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } - override var updated_at: String? - get() { - return _tRG(__v_raw, "updated_at", __v_raw.updated_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("updated_at")) { - return - } - val oldValue = __v_raw.updated_at - __v_raw.updated_at = value - _tRS(__v_raw, "updated_at", oldValue, value) - } -} -open class FootprintItemType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var price: Number, - open var original_price: Number? = null, - @JsonNotNull - open var image: String, - @JsonNotNull - open var sales: Number, - @JsonNotNull - open var shopId: String, - @JsonNotNull - open var shopName: String, - @JsonNotNull - open var viewTime: Number, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("FootprintItemType", "types/mall-types.uts", 371, 13) - } -} -open class DeviceInfo ( - @JsonNotNull - open var id: String, - open var device_name: String? = null, - open var status: String? = null, - open var user_id: String? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("DeviceInfo", "pages/sense/types.uts", 2, 13) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return DeviceInfoReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class DeviceInfoReactiveObject : DeviceInfo, IUTSReactive { - override var __v_raw: DeviceInfo - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: DeviceInfo, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, device_name = __v_raw.device_name, status = __v_raw.status, user_id = __v_raw.user_id) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): DeviceInfoReactiveObject { - return DeviceInfoReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var device_name: String? - get() { - return _tRG(__v_raw, "device_name", __v_raw.device_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("device_name")) { - return - } - val oldValue = __v_raw.device_name - __v_raw.device_name = value - _tRS(__v_raw, "device_name", oldValue, value) - } - override var status: String? - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } - override var user_id: String? - get() { - return _tRG(__v_raw, "user_id", __v_raw.user_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("user_id")) { - return - } - val oldValue = __v_raw.user_id - __v_raw.user_id = value - _tRS(__v_raw, "user_id", oldValue, value) - } -} -fun ensureUserProfile(sessionUser: UTSJSONObject): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - await(supaReady) - val userId = sessionUser.getString("id") - val email = sessionUser.getString("email") ?: "" - if (userId == null || userId === "") { - console.error("无法获取用户ID", " at utils/sapi.uts:18") - return@w null - } - val checkRes = await(supaInstance.from("ak_users").select("*", UTSJSONObject()).or("id.eq." + userId + ",auth_id.eq." + userId).execute()) - console.log("ensureUserProfile check ak_users:", object : UTSJSONObject() { - var status = checkRes.status - var hasData = checkRes.data != null - }, " at utils/sapi.uts:28") - val dataList = checkRes.data - if (checkRes.status >= 200 && checkRes.status < 300 && dataList != null && (dataList as UTSArray).length > 0) { - var existingUser: UTSJSONObject - val firstItem = (dataList as UTSArray)[0] - if (firstItem is UTSJSONObject) { - existingUser = firstItem as UTSJSONObject - } else { - existingUser = UTSJSONObject(firstItem) - } - val currentRole = existingUser.getString("role") - val currentAuthId = existingUser.getString("auth_id") - if (currentRole == "student" || currentAuthId == null || currentAuthId == "") { - console.log("检测到旧数据异常,正在修复角色或关联ID...", " at utils/sapi.uts:49") - val updateData = UTSJSONObject(UTSSourceMapPosition("updateData", "utils/sapi.uts", 43, 23)) - updateData.set("auth_id", userId) - updateData.set("role", "consumer") - await(supaInstance.from("ak_users").update(updateData).eq("id", userId).execute()) - try { - val meta = UTSJSONObject(UTSSourceMapPosition("meta", "utils/sapi.uts", 53, 27)) - meta.set("user_role", "consumer") - await(supaInstance.updateUserMetadata(meta)) - } - catch (e: Throwable) { - console.warn("同步 Auth 元数据失败:", e, " at utils/sapi.uts:66") - } - return@w UserProfile(id = userId, username = existingUser.getString("username") ?: email.split("@")[0], email = existingUser.getString("email") ?: email, role = "consumer") - } - return@w UserProfile(id = userId, username = existingUser.getString("username") ?: "", email = existingUser.getString("email") ?: email, gender = existingUser.getString("gender"), birthday = existingUser.getString("birthday"), height_cm = existingUser.getNumber("height_cm"), weight_kg = existingUser.getNumber("weight_kg"), bio = existingUser.getString("bio"), avatar_url = existingUser.getString("avatar_url"), preferred_language = existingUser.getString("preferred_language"), role = existingUser.getString("role") ?: "consumer", created_at = existingUser.getString("created_at"), updated_at = existingUser.getString("updated_at")) - } - val newUserData = UTSJSONObject(UTSSourceMapPosition("newUserData", "utils/sapi.uts", 85, 15)) - newUserData.set("id", userId) - newUserData.set("auth_id", userId) - newUserData.set("email", email) - newUserData.set("username", email.split("@")[0] ?: "user") - newUserData.set("role", "consumer") - newUserData.set("created_at", Date().toISOString()) - try { - val meta = UTSJSONObject(UTSSourceMapPosition("meta", "utils/sapi.uts", 94, 19)) - meta.set("user_role", "consumer") - await(supaInstance.updateUserMetadata(meta)) - } - catch (e: Throwable) { - console.warn("同步 Auth 元数据失败 (非致命):", e, " at utils/sapi.uts:110") - } - console.log("准备插入 ak_users, 目标 ID:", userId, " at utils/sapi.uts:113") - console.log("正在执行 insert 资料:", JSON.stringify(newUserData), " at utils/sapi.uts:114") - val insertRes = await(supaInstance.from("ak_users").insert(newUserData).select("*", UTSJSONObject()).execute()) - console.log("ensureUserProfile insert ak_users 完整结果:", JSON.stringify(insertRes), " at utils/sapi.uts:120") - if (insertRes.status >= 200 && insertRes.status < 300) { - val dataList = if ((insertRes.data != null)) { - (insertRes.data as UTSArray) - } else { - _uA() - } - val rawData = if (dataList.length > 0) { - dataList[0] - } else { - null - } - if (rawData == null) { - console.log("ensureUserProfile: 资料插入操作已完成(200),但未返回数据(可能是 RLS 限制)", " at utils/sapi.uts:127") - return@w UserProfile(id = userId, username = email.split("@")[0] ?: "user", email = email, role = "consumer", created_at = newUserData.getString("created_at")) - } - val newUser = if ((rawData is UTSJSONObject)) { - (rawData as UTSJSONObject) - } else { - UTSJSONObject(rawData) - } - return@w UserProfile(id = newUser.getString("id") ?: userId, username = newUser.getString("username") ?: email.split("@")[0], email = newUser.getString("email") ?: email, gender = newUser.getString("gender"), birthday = newUser.getString("birthday"), height_cm = newUser.getNumber("height_cm"), weight_kg = newUser.getNumber("weight_kg"), bio = newUser.getString("bio"), avatar_url = newUser.getString("avatar_url"), preferred_language = newUser.getString("preferred_language"), role = newUser.getString("role") ?: "consumer", created_at = newUser.getString("created_at"), updated_at = newUser.getString("updated_at")) - } else { - console.error("创建用户资料失败:", insertRes.status, " at utils/sapi.uts:156") - return@w null - } - } - catch (error: Throwable) { - console.error("ensureUserProfile 异常:", error, " at utils/sapi.uts:160") - return@w null - } - }) -} -open class DeviceState ( - @JsonNotNull - open var devices: UTSArray, - open var currentDevice: DeviceInfo? = null, - @JsonNotNull - open var isLoading: Boolean = false, - open var lastUpdated: Number? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("DeviceState", "utils/store.uts", 8, 13) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return DeviceStateReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class DeviceStateReactiveObject : DeviceState, IUTSReactive { - override var __v_raw: DeviceState - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: DeviceState, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(devices = __v_raw.devices, currentDevice = __v_raw.currentDevice, isLoading = __v_raw.isLoading, lastUpdated = __v_raw.lastUpdated) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): DeviceStateReactiveObject { - return DeviceStateReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var devices: UTSArray - get() { - return _tRG(__v_raw, "devices", __v_raw.devices, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("devices")) { - return - } - val oldValue = __v_raw.devices - __v_raw.devices = value - _tRS(__v_raw, "devices", oldValue, value) - } - override var currentDevice: DeviceInfo? - get() { - return _tRG(__v_raw, "currentDevice", __v_raw.currentDevice, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("currentDevice")) { - return - } - val oldValue = __v_raw.currentDevice - __v_raw.currentDevice = value - _tRS(__v_raw, "currentDevice", oldValue, value) - } - override var isLoading: Boolean - get() { - return _tRG(__v_raw, "isLoading", __v_raw.isLoading, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("isLoading")) { - return - } - val oldValue = __v_raw.isLoading - __v_raw.isLoading = value - _tRS(__v_raw, "isLoading", oldValue, value) - } - override var lastUpdated: Number? - get() { - return _tRG(__v_raw, "lastUpdated", __v_raw.lastUpdated, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("lastUpdated")) { - return - } - val oldValue = __v_raw.lastUpdated - __v_raw.lastUpdated = value - _tRS(__v_raw, "lastUpdated", oldValue, value) - } -} -open class State ( - @JsonNotNull - open var globalNum: Number, - open var userProfile: UserProfile? = null, - @JsonNotNull - open var isLoggedIn: Boolean = false, - @JsonNotNull - open var deviceState: DeviceState, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("State", "utils/store.uts", 15, 13) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return StateReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class StateReactiveObject : State, IUTSReactive { - override var __v_raw: State - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: State, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(globalNum = __v_raw.globalNum, userProfile = __v_raw.userProfile, isLoggedIn = __v_raw.isLoggedIn, deviceState = __v_raw.deviceState) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): StateReactiveObject { - return StateReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var globalNum: Number - get() { - return _tRG(__v_raw, "globalNum", __v_raw.globalNum, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("globalNum")) { - return - } - val oldValue = __v_raw.globalNum - __v_raw.globalNum = value - _tRS(__v_raw, "globalNum", oldValue, value) - } - override var userProfile: UserProfile? - get() { - return _tRG(__v_raw, "userProfile", __v_raw.userProfile, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("userProfile")) { - return - } - val oldValue = __v_raw.userProfile - __v_raw.userProfile = value - _tRS(__v_raw, "userProfile", oldValue, value) - } - override var isLoggedIn: Boolean - get() { - return _tRG(__v_raw, "isLoggedIn", __v_raw.isLoggedIn, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("isLoggedIn")) { - return - } - val oldValue = __v_raw.isLoggedIn - __v_raw.isLoggedIn = value - _tRS(__v_raw, "isLoggedIn", oldValue, value) - } - override var deviceState: DeviceState - get() { - return _tRG(__v_raw, "deviceState", __v_raw.deviceState, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("deviceState")) { - return - } - val oldValue = __v_raw.deviceState - __v_raw.deviceState = value - _tRS(__v_raw, "deviceState", oldValue, value) - } -} -val state = reactive(State(globalNum = 0, userProfile = UserProfile(username = "", email = ""), isLoggedIn = false, deviceState = DeviceState(devices = _uA(), currentDevice = null, isLoading = false, lastUpdated = null))) -val setIsLoggedIn = fun(kVal: Boolean){ - state.isLoggedIn = kVal -} -val setUserProfile = fun(profile: UserProfile){ - state.userProfile = profile -} -fun getCurrentUser(): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - await(supaReady) - } - catch (_: Throwable) {} - val sessionInfo = supaInstance.getSession() - if (sessionInfo.user == null) { - state.userProfile = UserProfile(username = "", email = "") - state.isLoggedIn = false - return@w null - } - val userId = sessionInfo.user?.getString("id") - if (userId == null) { - state.userProfile = UserProfile(username = "", email = "") - state.isLoggedIn = false - return@w null - } - val res = await(supaInstance.from("ak_users").select("*", UTSJSONObject()).eq("id", userId).execute()) - console.log(res, " at utils/store.uts:69") - if (res.status >= 200 && res.status < 300 && (res.data != null)) { - var user: UTSJSONObject? = null - val data = res.data as Any - if (UTSArray.isArray(data)) { - if ((data as UTSArray).length > 0) { - user = (data as UTSArray)[0] as UTSJSONObject - } - } else if (data != null) { - user = data as UTSJSONObject - } - console.log(user, " at utils/store.uts:79") - if (user == null) { - console.log("用户资料为空,尝试创建基础资料...", " at utils/store.uts:81") - val sessionUser = sessionInfo.user!! - if (sessionUser != null) { - val createdProfile = await(ensureUserProfile(sessionUser)) - if (createdProfile != null) { - state.userProfile = createdProfile - state.isLoggedIn = true - return@w createdProfile - } else { - console.error("创建用户资料失败", " at utils/store.uts:90") - state.userProfile = UserProfile(username = "", email = "") - state.isLoggedIn = false - return@w null - } - } else { - console.error("会话用户信息为空", " at utils/store.uts:96") - state.userProfile = UserProfile(username = "", email = "") - state.isLoggedIn = false - return@w null - } - } - console.log(user, " at utils/store.uts:102") - val profile = UserProfile(id = user.getString("id"), username = user.getString("username") ?: "", email = user.getString("email") ?: "", gender = user.getString("gender"), birthday = user.getString("birthday"), height_cm = user.getNumber("height_cm"), weight_kg = user.getNumber("weight_kg"), bio = user.getString("bio"), avatar_url = user.getString("avatar_url"), preferred_language = user.getString("preferred_language"), role = user.getString("role"), school_id = user.getString("school_id"), grade_id = user.getString("grade_id"), class_id = user.getString("class_id")) - state.userProfile = profile - state.isLoggedIn = true - return@w profile - } else { - state.userProfile = UserProfile(username = "", email = "") - state.isLoggedIn = false - return@w null - } - }) -} -fun logout() { - supaInstance.signOut() - state.userProfile = UserProfile(username = "", email = "") - state.isLoggedIn = false -} -open class GenApp : BaseApp { - constructor(__ins: ComponentInternalInstance) : super(__ins) { - onLaunch(fun(_: OnLaunchOptions) { - console.log("App Launch", " at App.uvue:7") - this.checkExistingSession() - } - , __ins) - onAppShow(fun(_: OnShowOptions) { - console.log("App Show", " at App.uvue:13") - } - , __ins) - onAppHide(fun() { - console.log("App Hide", " at App.uvue:16") - } - , __ins) - } - open var checkExistingSession = ::gen_checkExistingSession_fn - open fun gen_checkExistingSession_fn(): Unit { - val session = supaInstance.getSession() - if (session.user != null) { - console.log("已有有效会话,恢复登录状态", " at App.uvue:23") - setIsLoggedIn(true) - uni_reLaunch(ReLaunchOptions(url = "/pages/mall/consumer/index")) - return - } - val savedUserId = uni_getStorageSync("user_id") - if (savedUserId != null && savedUserId != "") { - console.log("本地存储中有用户ID,尝试恢复会话", " at App.uvue:32") - getCurrentUser().then(fun(profile){ - if (profile != null) { - console.log("会话恢复成功", " at App.uvue:35") - setIsLoggedIn(true) - uni_reLaunch(ReLaunchOptions(url = "/pages/mall/consumer/index")) - } - } - ).`catch`(fun(){ - console.log("会话恢复失败,需要重新登录", " at App.uvue:40") - } - ) - } - console.log("无有效会话,显示登录页", " at App.uvue:45") - } - companion object { - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - )) - } - val styles0: Map>> - get() { - return _uM("theme-vars" to _pS(_uM("--primary-color" to "#1890ff", "--primary-hover" to "#40a9ff", "--primary-active" to "#096dd9", "--success-color" to "#52c41a", "--success-hover" to "#73d13d", "--success-active" to "#389e0d", "--warning-color" to "#faad14", "--warning-hover" to "#ffc53d", "--warning-active" to "#d48806", "--error-color" to "#ff4d4f", "--error-hover" to "#ff7875", "--error-active" to "#d4380d", "--text-primary" to "#262626", "--text-secondary" to "#595959", "--text-disabled" to "#bfbfbf", "--text-inverse" to "#ffffff", "--border-color" to "#d9d9d9", "--border-color-light" to "#f0f0f0", "--border-color-dark" to "#bfbfbf", "--background-color" to "#ffffff", "--background-color-light" to "#fafafa", "--background-color-dark" to "#f5f5f5", "--shadow-sm" to "0 1px 3px rgba(0, 0, 0, 0.08)", "--shadow" to "0 2px 8px rgba(0, 0, 0, 0.06)", "--shadow-lg" to "0 4px 12px rgba(0, 0, 0, 0.08)", "--shadow-xl" to "0 6px 16px rgba(0, 0, 0, 0.12)", "--border-radius-sm" to "2px", "--border-radius" to "4px", "--border-radius-lg" to "6px", "--border-radius-xl" to "8px", "--spacing-xs" to "4px", "--spacing-sm" to "8px", "--spacing" to "16px", "--spacing-lg" to "24px", "--spacing-xl" to "32px", "--spacing-xxl" to "48px", "--font-size-xs" to "12px", "--font-size-sm" to "14px", "--font-size" to "16px", "--font-size-lg" to "18px", "--font-size-xl" to "20px", "--font-size-xxl" to "24px", "--line-height-tight" to "1.25", "--line-height-normal" to "1.5", "--line-height-relaxed" to "1.75")), "text-xs" to _pS(_uM("fontSize" to "var(--font-size-xs)")), "text-sm" to _pS(_uM("fontSize" to "var(--font-size-sm)")), "text-base" to _pS(_uM("fontSize" to "var(--font-size)")), "text-lg" to _pS(_uM("fontSize" to "var(--font-size-lg)")), "text-xl" to _pS(_uM("fontSize" to "var(--font-size-xl)")), "text-2xl" to _pS(_uM("fontSize" to "var(--font-size-xxl)")), "font-medium" to _pS(_uM("fontWeight" to "400")), "font-semibold" to _pS(_uM("fontWeight" to "700")), "font-bold" to _pS(_uM("fontWeight" to "700")), "text-primary" to _pS(_uM("color" to "var(--primary-color)")), "text-success" to _pS(_uM("color" to "var(--success-color)")), "text-warning" to _pS(_uM("color" to "var(--warning-color)")), "text-error" to _pS(_uM("color" to "var(--error-color)")), "text-secondary" to _pS(_uM("color" to "var(--text-secondary)")), "text-disabled" to _pS(_uM("color" to "var(--text-disabled)")), "bg-white" to _pS(_uM("backgroundColor" to "var(--background-color)")), "bg-light" to _pS(_uM("backgroundColor" to "var(--background-color-light)")), "bg-dark" to _pS(_uM("backgroundColor" to "var(--background-color-dark)")), "border" to _pS(_uM("borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "var(--border-color)", "borderRightColor" to "var(--border-color)", "borderBottomColor" to "var(--border-color)", "borderLeftColor" to "var(--border-color)")), "border-light" to _pS(_uM("borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "var(--border-color-light)", "borderRightColor" to "var(--border-color-light)", "borderBottomColor" to "var(--border-color-light)", "borderLeftColor" to "var(--border-color-light)")), "border-primary" to _pS(_uM("borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "var(--primary-color)", "borderRightColor" to "var(--primary-color)", "borderBottomColor" to "var(--primary-color)", "borderLeftColor" to "var(--primary-color)")), "shadow-sm" to _pS(_uM("boxShadow" to "var(--shadow-sm)")), "shadow" to _pS(_uM("boxShadow" to "var(--shadow)")), "shadow-lg" to _pS(_uM("boxShadow" to "var(--shadow-lg)")), "shadow-xl" to _pS(_uM("boxShadow" to "var(--shadow-xl)")), "rounded-sm" to _pS(_uM("borderTopLeftRadius" to "var(--border-radius-sm)", "borderTopRightRadius" to "var(--border-radius-sm)", "borderBottomRightRadius" to "var(--border-radius-sm)", "borderBottomLeftRadius" to "var(--border-radius-sm)")), "rounded" to _pS(_uM("borderTopLeftRadius" to "var(--border-radius)", "borderTopRightRadius" to "var(--border-radius)", "borderBottomRightRadius" to "var(--border-radius)", "borderBottomLeftRadius" to "var(--border-radius)")), "rounded-lg" to _pS(_uM("borderTopLeftRadius" to "var(--border-radius-lg)", "borderTopRightRadius" to "var(--border-radius-lg)", "borderBottomRightRadius" to "var(--border-radius-lg)", "borderBottomLeftRadius" to "var(--border-radius-lg)")), "rounded-xl" to _pS(_uM("borderTopLeftRadius" to "var(--border-radius-xl)", "borderTopRightRadius" to "var(--border-radius-xl)", "borderBottomRightRadius" to "var(--border-radius-xl)", "borderBottomLeftRadius" to "var(--border-radius-xl)")), "m-1" to _pS(_uM("marginTop" to "var(--spacing-xs)", "marginRight" to "var(--spacing-xs)", "marginBottom" to "var(--spacing-xs)", "marginLeft" to "var(--spacing-xs)")), "m-2" to _pS(_uM("marginTop" to "var(--spacing-sm)", "marginRight" to "var(--spacing-sm)", "marginBottom" to "var(--spacing-sm)", "marginLeft" to "var(--spacing-sm)")), "m-3" to _pS(_uM("marginTop" to "var(--spacing)", "marginRight" to "var(--spacing)", "marginBottom" to "var(--spacing)", "marginLeft" to "var(--spacing)")), "m-4" to _pS(_uM("marginTop" to "var(--spacing-lg)", "marginRight" to "var(--spacing-lg)", "marginBottom" to "var(--spacing-lg)", "marginLeft" to "var(--spacing-lg)")), "m-5" to _pS(_uM("marginTop" to "var(--spacing-xl)", "marginRight" to "var(--spacing-xl)", "marginBottom" to "var(--spacing-xl)", "marginLeft" to "var(--spacing-xl)")), "p-1" to _pS(_uM("paddingTop" to "var(--spacing-xs)", "paddingRight" to "var(--spacing-xs)", "paddingBottom" to "var(--spacing-xs)", "paddingLeft" to "var(--spacing-xs)")), "p-2" to _pS(_uM("paddingTop" to "var(--spacing-sm)", "paddingRight" to "var(--spacing-sm)", "paddingBottom" to "var(--spacing-sm)", "paddingLeft" to "var(--spacing-sm)")), "p-3" to _pS(_uM("paddingTop" to "var(--spacing)", "paddingRight" to "var(--spacing)", "paddingBottom" to "var(--spacing)", "paddingLeft" to "var(--spacing)")), "p-4" to _pS(_uM("paddingTop" to "var(--spacing-lg)", "paddingRight" to "var(--spacing-lg)", "paddingBottom" to "var(--spacing-lg)", "paddingLeft" to "var(--spacing-lg)")), "p-5" to _pS(_uM("paddingTop" to "var(--spacing-xl)", "paddingRight" to "var(--spacing-xl)", "paddingBottom" to "var(--spacing-xl)", "paddingLeft" to "var(--spacing-xl)")), "flex" to _pS(_uM("display" to "flex")), "inline-flex" to _pS(_uM("display" to "flex")), "block" to _pS(_uM("display" to "flex")), "inline-block" to _pS(_uM("display" to "flex")), "flex-col" to _pS(_uM("flexDirection" to "column")), "flex-row" to _pS(_uM("flexDirection" to "row")), "flex-wrap" to _pS(_uM("flexWrap" to "wrap")), "flex-nowrap" to _pS(_uM("flexWrap" to "nowrap")), "items-start" to _pS(_uM("alignItems" to "flex-start")), "items-center" to _pS(_uM("alignItems" to "center")), "items-end" to _pS(_uM("alignItems" to "flex-end")), "items-stretch" to _pS(_uM("alignItems" to "stretch")), "justify-start" to _pS(_uM("justifyContent" to "flex-start")), "justify-center" to _pS(_uM("justifyContent" to "center")), "justify-end" to _pS(_uM("justifyContent" to "flex-end")), "justify-between" to _pS(_uM("justifyContent" to "space-between")), "justify-around" to _pS(_uM("justifyContent" to "space-around")), "flex-1" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "flex-auto" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "auto")), "flex-none" to _pS(_uM("flexGrow" to 0, "flexShrink" to 0, "flexBasis" to "auto")), "w-full" to _pS(_uM("width" to "100%")), "h-full" to _pS(_uM("height" to "100%")), "text-left" to _pS(_uM("textAlign" to "left")), "text-center" to _pS(_uM("textAlign" to "center")), "text-right" to _pS(_uM("textAlign" to "right")), "app-root" to _pS(_uM("backgroundColor" to "var(--background-color)", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "btn" to _pS(_uM("display" to "flex", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to "var(--spacing-sm)", "paddingRight" to "var(--spacing)", "paddingBottom" to "var(--spacing-sm)", "paddingLeft" to "var(--spacing)", "fontSize" to "var(--font-size-sm)", "fontWeight" to "400", "lineHeight" to "var(--line-height-tight)", "whiteSpace" to "nowrap", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "rgba(0,0,0,0)", "borderRightColor" to "rgba(0,0,0,0)", "borderBottomColor" to "rgba(0,0,0,0)", "borderLeftColor" to "rgba(0,0,0,0)", "borderTopLeftRadius" to "var(--border-radius)", "borderTopRightRadius" to "var(--border-radius)", "borderBottomRightRadius" to "var(--border-radius)", "borderBottomLeftRadius" to "var(--border-radius)", "transitionProperty" to "all", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "opacity:disabled" to 0.6)), "btn-primary" to _pS(_uM("color" to "var(--text-inverse)", "backgroundColor" to "var(--primary-color)", "borderTopColor" to "var(--primary-color)", "borderRightColor" to "var(--primary-color)", "borderBottomColor" to "var(--primary-color)", "borderLeftColor" to "var(--primary-color)")), "btn-secondary" to _pS(_uM("color" to "var(--text-secondary)", "backgroundColor" to "var(--background-color)", "borderTopColor" to "var(--border-color)", "borderRightColor" to "var(--border-color)", "borderBottomColor" to "var(--border-color)", "borderLeftColor" to "var(--border-color)")), "card" to _pS(_uM("backgroundColor" to "var(--background-color)", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "var(--border-color-light)", "borderRightColor" to "var(--border-color-light)", "borderBottomColor" to "var(--border-color-light)", "borderLeftColor" to "var(--border-color-light)", "borderTopLeftRadius" to "var(--border-radius-lg)", "borderTopRightRadius" to "var(--border-radius-lg)", "borderBottomRightRadius" to "var(--border-radius-lg)", "borderBottomLeftRadius" to "var(--border-radius-lg)", "boxShadow" to "var(--shadow)", "overflow" to "hidden")), "input" to _pS(_uM("display" to "flex", "width" to "100%", "paddingTop" to "var(--spacing-sm)", "paddingRight" to "var(--spacing)", "paddingBottom" to "var(--spacing-sm)", "paddingLeft" to "var(--spacing)", "fontSize" to "var(--font-size-sm)", "lineHeight" to "var(--line-height-tight)", "color" to "var(--text-primary)", "backgroundColor" to "var(--background-color)", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "var(--border-color)", "borderRightColor" to "var(--border-color)", "borderBottomColor" to "var(--border-color)", "borderLeftColor" to "var(--border-color)", "borderTopLeftRadius" to "var(--border-radius)", "borderTopRightRadius" to "var(--border-radius)", "borderBottomRightRadius" to "var(--border-radius)", "borderBottomLeftRadius" to "var(--border-radius)", "transitionProperty" to "borderColor", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "borderTopColor:focus" to "var(--primary-color)", "borderRightColor:focus" to "var(--primary-color)", "borderBottomColor:focus" to "var(--primary-color)", "borderLeftColor:focus" to "var(--primary-color)", "boxShadow:focus" to "0 0 0 2px rgba(24, 144, 255, 0.2)")), "@TRANSITION" to _uM("btn" to _uM("property" to "all", "duration" to "0.2s", "timingFunction" to "ease"), "input" to _uM("property" to "borderColor", "duration" to "0.2s", "timingFunction" to "ease"))) - } - } -} -val GenAppClass = CreateVueAppComponent(GenApp::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "app", name = "", inheritAttrs = true, inject = Map(), props = Map(), propsNeedCastKeys = _uA(), emits = Map(), components = Map(), styles = GenApp.styles) -} -, fun(instance): GenApp { - return GenApp(instance) -} -) -val GenPagesUserLoginClass = CreateVueComponent(GenPagesUserLogin::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesUserLogin.inheritAttrs, inject = GenPagesUserLogin.inject, props = GenPagesUserLogin.props, propsNeedCastKeys = GenPagesUserLogin.propsNeedCastKeys, emits = GenPagesUserLogin.emits, components = GenPagesUserLogin.components, styles = GenPagesUserLogin.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesUserLogin.setup(props as GenPagesUserLogin) - } - ) -} -, fun(instance, renderer): GenPagesUserLogin { - return GenPagesUserLogin(instance, renderer) -} -) -val OLD_URL = "192.168.1.61:18000" -val NEW_URL = "119.146.131.237:9126" -fun fixImageUrl(url: String?): String { - if (url == null) { - return "" - } - if (url.indexOf(OLD_URL) >= 0) { - return url.replace(OLD_URL, NEW_URL) - } - return url -} -fun fixImageUrls(urls: Any): UTSArray { - if (urls == null) { - return _uA() - } - if (UTSArray.isArray(urls)) { - val result: UTSArray = _uA() - val arr = urls as UTSArray - run { - var i: Number = 0 - while(i < arr.length){ - try { - val urlStr = JSON.stringify(arr[i]) - if (urlStr != null && urlStr.startsWith("\"") && urlStr.endsWith("\"")) { - val fixed = fixImageUrl(urlStr.substring(1, urlStr.length - 1)) - if (fixed !== "") { - result.push(fixed) - } - } - } - catch (e: Throwable) {} - i++ - } - } - return result - } - return _uA() -} -fun safeGetString(obj: UTSJSONObject, key: String): String { - try { - val rawVal = obj.get(key) - if (rawVal == null) { - return "" - } - val strVal = JSON.stringify(rawVal) - if (strVal == null) { - return "" - } - if (strVal.startsWith("\"") && strVal.endsWith("\"")) { - return strVal.substring(1, strVal.length - 1) - } - return strVal - } - catch (e: Throwable) { - console.error("safeGetString error for key:", key, e, " at utils/supabaseService.uts:50") - return "" - } -} -fun safeGetNumber(obj: UTSJSONObject, key: String): Number { - try { - val rawVal = obj.get(key) - if (rawVal == null) { - return 0 - } - try { - val numVal = rawVal as Number - if (!isNaN(numVal)) { - return numVal - } - } - catch (e: Throwable) {} - return 0 - } - catch (e: Throwable) { - console.error("safeGetNumber error for key:", key, e, " at utils/supabaseService.uts:66") - return 0 - } -} -fun safeGetBoolean(obj: UTSJSONObject, key: String): Boolean { - try { - val rawVal = obj.get(key) - if (rawVal == null) { - return false - } - try { - val boolVal = rawVal as Boolean - return boolVal - } - catch (e: Throwable) {} - return false - } - catch (e: Throwable) { - console.error("safeGetBoolean error for key:", key, e, " at utils/supabaseService.uts:82") - return false - } -} -fun safeGetStringArray(obj: UTSJSONObject, key: String): UTSArray { - try { - val rawVal = obj.get(key) - if (rawVal != null && UTSArray.isArray(rawVal)) { - return rawVal as UTSArray - } - return _uA() - } - catch (e: Throwable) { - console.error("safeGetStringArray error for key:", key, e, " at utils/supabaseService.uts:96") - return _uA() - } -} -fun parseProductFromRaw(item: Any): Product { - try { - console.log("[parseProductFromRaw] 开始解析商品", " at utils/supabaseService.uts:104") - val itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:111") as UTSJSONObject - console.log("[parseProductFromRaw] JSON转换成功", " at utils/supabaseService.uts:106") - val mainImageUrl = fixImageUrl(safeGetString(itemObj, "main_image_url")) - val imageUrls = fixImageUrls(safeGetStringArray(itemObj, "image_urls")) - console.log("[parseProductFromRaw] 图片处理完成", " at utils/supabaseService.uts:110") - val result = Product(id = safeGetString(itemObj, "id"), name = safeGetString(itemObj, "name"), description = safeGetString(itemObj, "description"), base_price = safeGetNumber(itemObj, "base_price"), price = safeGetNumber(itemObj, "base_price"), original_price = safeGetNumber(itemObj, "market_price"), market_price = safeGetNumber(itemObj, "market_price"), main_image_url = mainImageUrl, image_url = mainImageUrl, images = imageUrls, category_id = safeGetString(itemObj, "category_id"), brand_id = safeGetString(itemObj, "brand_id"), merchant_id = safeGetString(itemObj, "merchant_id"), total_stock = safeGetNumber(itemObj, "total_stock"), stock = safeGetNumber(itemObj, "total_stock"), sale_count = safeGetNumber(itemObj, "sale_count"), status = safeGetNumber(itemObj, "status"), is_featured = safeGetBoolean(itemObj, "is_featured"), is_new = safeGetBoolean(itemObj, "is_new"), is_hot = safeGetBoolean(itemObj, "is_hot"), specification = safeGetString(itemObj, "specification"), usage = safeGetString(itemObj, "usage"), side_effects = safeGetString(itemObj, "side_effects"), precautions = safeGetString(itemObj, "precautions"), expiry_date = safeGetString(itemObj, "expiry_date"), storage_conditions = safeGetString(itemObj, "storage_conditions"), approval_number = safeGetString(itemObj, "approval_number"), created_at = safeGetString(itemObj, "created_at")) - console.log("[parseProductFromRaw] 商品解析成功:", result.name, " at utils/supabaseService.uts:142") - return result - } - catch (e: Throwable) { - console.error("parseProductFromRaw error:", e, " at utils/supabaseService.uts:145") - return Product(id = "", name = "", description = "", base_price = 0, price = 0, original_price = 0, market_price = 0, main_image_url = "", image_url = "", images = _uA(), category_id = "", brand_id = "", merchant_id = "", total_stock = 0, stock = 0, sale_count = 0, status = 0, is_featured = false, is_new = false, is_hot = false, specification = "", usage = "", side_effects = "", precautions = "", expiry_date = "", storage_conditions = "", approval_number = "", created_at = "") - } -} -open class Brand ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var logo_url: String, - @JsonNotNull - open var description: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("Brand", "utils/supabaseService.uts", 184, 13) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return BrandReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class BrandReactiveObject : Brand, IUTSReactive { - override var __v_raw: Brand - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: Brand, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, logo_url = __v_raw.logo_url, description = __v_raw.description) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): BrandReactiveObject { - return BrandReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var logo_url: String - get() { - return _tRG(__v_raw, "logo_url", __v_raw.logo_url, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("logo_url")) { - return - } - val oldValue = __v_raw.logo_url - __v_raw.logo_url = value - _tRS(__v_raw, "logo_url", oldValue, value) - } - override var description: String - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } -} -open class Category ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var icon: String, - @JsonNotNull - open var description: String, - @JsonNotNull - open var color: String, - open var parent_id: String? = null, - open var level: Number? = null, - open var slug: String? = null, - open var created_at: String? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("Category", "utils/supabaseService.uts", 190, 13) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return CategoryReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class CategoryReactiveObject : Category, IUTSReactive { - override var __v_raw: Category - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: Category, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, icon = __v_raw.icon, description = __v_raw.description, color = __v_raw.color, parent_id = __v_raw.parent_id, level = __v_raw.level, slug = __v_raw.slug, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): CategoryReactiveObject { - return CategoryReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var icon: String - get() { - return _tRG(__v_raw, "icon", __v_raw.icon, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("icon")) { - return - } - val oldValue = __v_raw.icon - __v_raw.icon = value - _tRS(__v_raw, "icon", oldValue, value) - } - override var description: String - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } - override var color: String - get() { - return _tRG(__v_raw, "color", __v_raw.color, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("color")) { - return - } - val oldValue = __v_raw.color - __v_raw.color = value - _tRS(__v_raw, "color", oldValue, value) - } - override var parent_id: String? - get() { - return _tRG(__v_raw, "parent_id", __v_raw.parent_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("parent_id")) { - return - } - val oldValue = __v_raw.parent_id - __v_raw.parent_id = value - _tRS(__v_raw, "parent_id", oldValue, value) - } - override var level: Number? - get() { - return _tRG(__v_raw, "level", __v_raw.level, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("level")) { - return - } - val oldValue = __v_raw.level - __v_raw.level = value - _tRS(__v_raw, "level", oldValue, value) - } - override var slug: String? - get() { - return _tRG(__v_raw, "slug", __v_raw.slug, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("slug")) { - return - } - val oldValue = __v_raw.slug - __v_raw.slug = value - _tRS(__v_raw, "slug", oldValue, value) - } - override var created_at: String? - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -open class Product ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var category_id: String, - @JsonNotNull - open var merchant_id: String, - @JsonNotNull - open var name: String, - open var subtitle: String? = null, - open var description: String? = null, - open var base_price: Number? = null, - open var market_price: Number? = null, - open var cost_price: Number? = null, - open var main_image_url: String? = null, - open var image_url: String? = null, - open var image_urls: String? = null, - open var video_urls: String? = null, - open var images: UTSArray? = null, - open var sale_count: Number? = null, - open var view_count: Number? = null, - open var total_stock: Number? = null, - open var available_stock: Number? = null, - open var is_hot: Boolean? = null, - open var is_new: Boolean? = null, - open var is_featured: Boolean? = null, - open var status: Number? = null, - open var rating_avg: Number? = null, - open var rating_count: Number? = null, - open var rating: Number? = null, - open var review_count: Number? = null, - open var brand_id: String? = null, - open var shop_id: String? = null, - open var tags: String? = null, - open var attributes: String? = null, - open var specification: String? = null, - open var usage: String? = null, - open var side_effects: String? = null, - open var precautions: String? = null, - open var expiry_date: String? = null, - open var storage_conditions: String? = null, - open var approval_number: String? = null, - open var created_at: String? = null, - open var updated_at: String? = null, - open var price: Number? = null, - open var original_price: Number? = null, - open var stock: Number? = null, - open var sales: Number? = null, - open var cover: String? = null, - open var brand_name: String? = null, - open var category_name: String? = null, - open var shop_name: String? = null, - open var merchant_name: String? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("Product", "utils/supabaseService.uts", 201, 13) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return ProductReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class ProductReactiveObject : Product, IUTSReactive { - override var __v_raw: Product - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: Product, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, category_id = __v_raw.category_id, merchant_id = __v_raw.merchant_id, name = __v_raw.name, subtitle = __v_raw.subtitle, description = __v_raw.description, base_price = __v_raw.base_price, market_price = __v_raw.market_price, cost_price = __v_raw.cost_price, main_image_url = __v_raw.main_image_url, image_url = __v_raw.image_url, image_urls = __v_raw.image_urls, video_urls = __v_raw.video_urls, images = __v_raw.images, sale_count = __v_raw.sale_count, view_count = __v_raw.view_count, total_stock = __v_raw.total_stock, available_stock = __v_raw.available_stock, is_hot = __v_raw.is_hot, is_new = __v_raw.is_new, is_featured = __v_raw.is_featured, status = __v_raw.status, rating_avg = __v_raw.rating_avg, rating_count = __v_raw.rating_count, rating = __v_raw.rating, review_count = __v_raw.review_count, brand_id = __v_raw.brand_id, shop_id = __v_raw.shop_id, tags = __v_raw.tags, attributes = __v_raw.attributes, specification = __v_raw.specification, usage = __v_raw.usage, side_effects = __v_raw.side_effects, precautions = __v_raw.precautions, expiry_date = __v_raw.expiry_date, storage_conditions = __v_raw.storage_conditions, approval_number = __v_raw.approval_number, created_at = __v_raw.created_at, updated_at = __v_raw.updated_at, price = __v_raw.price, original_price = __v_raw.original_price, stock = __v_raw.stock, sales = __v_raw.sales, cover = __v_raw.cover, brand_name = __v_raw.brand_name, category_name = __v_raw.category_name, shop_name = __v_raw.shop_name, merchant_name = __v_raw.merchant_name) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): ProductReactiveObject { - return ProductReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var category_id: String - get() { - return _tRG(__v_raw, "category_id", __v_raw.category_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("category_id")) { - return - } - val oldValue = __v_raw.category_id - __v_raw.category_id = value - _tRS(__v_raw, "category_id", oldValue, value) - } - override var merchant_id: String - get() { - return _tRG(__v_raw, "merchant_id", __v_raw.merchant_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchant_id")) { - return - } - val oldValue = __v_raw.merchant_id - __v_raw.merchant_id = value - _tRS(__v_raw, "merchant_id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var subtitle: String? - get() { - return _tRG(__v_raw, "subtitle", __v_raw.subtitle, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("subtitle")) { - return - } - val oldValue = __v_raw.subtitle - __v_raw.subtitle = value - _tRS(__v_raw, "subtitle", oldValue, value) - } - override var description: String? - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } - override var base_price: Number? - get() { - return _tRG(__v_raw, "base_price", __v_raw.base_price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("base_price")) { - return - } - val oldValue = __v_raw.base_price - __v_raw.base_price = value - _tRS(__v_raw, "base_price", oldValue, value) - } - override var market_price: Number? - get() { - return _tRG(__v_raw, "market_price", __v_raw.market_price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("market_price")) { - return - } - val oldValue = __v_raw.market_price - __v_raw.market_price = value - _tRS(__v_raw, "market_price", oldValue, value) - } - override var cost_price: Number? - get() { - return _tRG(__v_raw, "cost_price", __v_raw.cost_price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("cost_price")) { - return - } - val oldValue = __v_raw.cost_price - __v_raw.cost_price = value - _tRS(__v_raw, "cost_price", oldValue, value) - } - override var main_image_url: String? - get() { - return _tRG(__v_raw, "main_image_url", __v_raw.main_image_url, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("main_image_url")) { - return - } - val oldValue = __v_raw.main_image_url - __v_raw.main_image_url = value - _tRS(__v_raw, "main_image_url", oldValue, value) - } - override var image_url: String? - get() { - return _tRG(__v_raw, "image_url", __v_raw.image_url, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("image_url")) { - return - } - val oldValue = __v_raw.image_url - __v_raw.image_url = value - _tRS(__v_raw, "image_url", oldValue, value) - } - override var image_urls: String? - get() { - return _tRG(__v_raw, "image_urls", __v_raw.image_urls, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("image_urls")) { - return - } - val oldValue = __v_raw.image_urls - __v_raw.image_urls = value - _tRS(__v_raw, "image_urls", oldValue, value) - } - override var video_urls: String? - get() { - return _tRG(__v_raw, "video_urls", __v_raw.video_urls, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("video_urls")) { - return - } - val oldValue = __v_raw.video_urls - __v_raw.video_urls = value - _tRS(__v_raw, "video_urls", oldValue, value) - } - override var images: UTSArray? - get() { - return _tRG(__v_raw, "images", __v_raw.images, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("images")) { - return - } - val oldValue = __v_raw.images - __v_raw.images = value - _tRS(__v_raw, "images", oldValue, value) - } - override var sale_count: Number? - get() { - return _tRG(__v_raw, "sale_count", __v_raw.sale_count, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("sale_count")) { - return - } - val oldValue = __v_raw.sale_count - __v_raw.sale_count = value - _tRS(__v_raw, "sale_count", oldValue, value) - } - override var view_count: Number? - get() { - return _tRG(__v_raw, "view_count", __v_raw.view_count, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("view_count")) { - return - } - val oldValue = __v_raw.view_count - __v_raw.view_count = value - _tRS(__v_raw, "view_count", oldValue, value) - } - override var total_stock: Number? - get() { - return _tRG(__v_raw, "total_stock", __v_raw.total_stock, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("total_stock")) { - return - } - val oldValue = __v_raw.total_stock - __v_raw.total_stock = value - _tRS(__v_raw, "total_stock", oldValue, value) - } - override var available_stock: Number? - get() { - return _tRG(__v_raw, "available_stock", __v_raw.available_stock, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("available_stock")) { - return - } - val oldValue = __v_raw.available_stock - __v_raw.available_stock = value - _tRS(__v_raw, "available_stock", oldValue, value) - } - override var is_hot: Boolean? - get() { - return _tRG(__v_raw, "is_hot", __v_raw.is_hot, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("is_hot")) { - return - } - val oldValue = __v_raw.is_hot - __v_raw.is_hot = value - _tRS(__v_raw, "is_hot", oldValue, value) - } - override var is_new: Boolean? - get() { - return _tRG(__v_raw, "is_new", __v_raw.is_new, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("is_new")) { - return - } - val oldValue = __v_raw.is_new - __v_raw.is_new = value - _tRS(__v_raw, "is_new", oldValue, value) - } - override var is_featured: Boolean? - get() { - return _tRG(__v_raw, "is_featured", __v_raw.is_featured, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("is_featured")) { - return - } - val oldValue = __v_raw.is_featured - __v_raw.is_featured = value - _tRS(__v_raw, "is_featured", oldValue, value) - } - override var status: Number? - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } - override var rating_avg: Number? - get() { - return _tRG(__v_raw, "rating_avg", __v_raw.rating_avg, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("rating_avg")) { - return - } - val oldValue = __v_raw.rating_avg - __v_raw.rating_avg = value - _tRS(__v_raw, "rating_avg", oldValue, value) - } - override var rating_count: Number? - get() { - return _tRG(__v_raw, "rating_count", __v_raw.rating_count, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("rating_count")) { - return - } - val oldValue = __v_raw.rating_count - __v_raw.rating_count = value - _tRS(__v_raw, "rating_count", oldValue, value) - } - override var rating: Number? - get() { - return _tRG(__v_raw, "rating", __v_raw.rating, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("rating")) { - return - } - val oldValue = __v_raw.rating - __v_raw.rating = value - _tRS(__v_raw, "rating", oldValue, value) - } - override var review_count: Number? - get() { - return _tRG(__v_raw, "review_count", __v_raw.review_count, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("review_count")) { - return - } - val oldValue = __v_raw.review_count - __v_raw.review_count = value - _tRS(__v_raw, "review_count", oldValue, value) - } - override var brand_id: String? - get() { - return _tRG(__v_raw, "brand_id", __v_raw.brand_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("brand_id")) { - return - } - val oldValue = __v_raw.brand_id - __v_raw.brand_id = value - _tRS(__v_raw, "brand_id", oldValue, value) - } - override var shop_id: String? - get() { - return _tRG(__v_raw, "shop_id", __v_raw.shop_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shop_id")) { - return - } - val oldValue = __v_raw.shop_id - __v_raw.shop_id = value - _tRS(__v_raw, "shop_id", oldValue, value) - } - override var tags: String? - get() { - return _tRG(__v_raw, "tags", __v_raw.tags, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("tags")) { - return - } - val oldValue = __v_raw.tags - __v_raw.tags = value - _tRS(__v_raw, "tags", oldValue, value) - } - override var attributes: String? - get() { - return _tRG(__v_raw, "attributes", __v_raw.attributes, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("attributes")) { - return - } - val oldValue = __v_raw.attributes - __v_raw.attributes = value - _tRS(__v_raw, "attributes", oldValue, value) - } - override var specification: String? - get() { - return _tRG(__v_raw, "specification", __v_raw.specification, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("specification")) { - return - } - val oldValue = __v_raw.specification - __v_raw.specification = value - _tRS(__v_raw, "specification", oldValue, value) - } - override var usage: String? - get() { - return _tRG(__v_raw, "usage", __v_raw.usage, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("usage")) { - return - } - val oldValue = __v_raw.usage - __v_raw.usage = value - _tRS(__v_raw, "usage", oldValue, value) - } - override var side_effects: String? - get() { - return _tRG(__v_raw, "side_effects", __v_raw.side_effects, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("side_effects")) { - return - } - val oldValue = __v_raw.side_effects - __v_raw.side_effects = value - _tRS(__v_raw, "side_effects", oldValue, value) - } - override var precautions: String? - get() { - return _tRG(__v_raw, "precautions", __v_raw.precautions, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("precautions")) { - return - } - val oldValue = __v_raw.precautions - __v_raw.precautions = value - _tRS(__v_raw, "precautions", oldValue, value) - } - override var expiry_date: String? - get() { - return _tRG(__v_raw, "expiry_date", __v_raw.expiry_date, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("expiry_date")) { - return - } - val oldValue = __v_raw.expiry_date - __v_raw.expiry_date = value - _tRS(__v_raw, "expiry_date", oldValue, value) - } - override var storage_conditions: String? - get() { - return _tRG(__v_raw, "storage_conditions", __v_raw.storage_conditions, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("storage_conditions")) { - return - } - val oldValue = __v_raw.storage_conditions - __v_raw.storage_conditions = value - _tRS(__v_raw, "storage_conditions", oldValue, value) - } - override var approval_number: String? - get() { - return _tRG(__v_raw, "approval_number", __v_raw.approval_number, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("approval_number")) { - return - } - val oldValue = __v_raw.approval_number - __v_raw.approval_number = value - _tRS(__v_raw, "approval_number", oldValue, value) - } - override var created_at: String? - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } - override var updated_at: String? - get() { - return _tRG(__v_raw, "updated_at", __v_raw.updated_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("updated_at")) { - return - } - val oldValue = __v_raw.updated_at - __v_raw.updated_at = value - _tRS(__v_raw, "updated_at", oldValue, value) - } - override var price: Number? - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var original_price: Number? - get() { - return _tRG(__v_raw, "original_price", __v_raw.original_price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("original_price")) { - return - } - val oldValue = __v_raw.original_price - __v_raw.original_price = value - _tRS(__v_raw, "original_price", oldValue, value) - } - override var stock: Number? - get() { - return _tRG(__v_raw, "stock", __v_raw.stock, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("stock")) { - return - } - val oldValue = __v_raw.stock - __v_raw.stock = value - _tRS(__v_raw, "stock", oldValue, value) - } - override var sales: Number? - get() { - return _tRG(__v_raw, "sales", __v_raw.sales, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("sales")) { - return - } - val oldValue = __v_raw.sales - __v_raw.sales = value - _tRS(__v_raw, "sales", oldValue, value) - } - override var cover: String? - get() { - return _tRG(__v_raw, "cover", __v_raw.cover, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("cover")) { - return - } - val oldValue = __v_raw.cover - __v_raw.cover = value - _tRS(__v_raw, "cover", oldValue, value) - } - override var brand_name: String? - get() { - return _tRG(__v_raw, "brand_name", __v_raw.brand_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("brand_name")) { - return - } - val oldValue = __v_raw.brand_name - __v_raw.brand_name = value - _tRS(__v_raw, "brand_name", oldValue, value) - } - override var category_name: String? - get() { - return _tRG(__v_raw, "category_name", __v_raw.category_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("category_name")) { - return - } - val oldValue = __v_raw.category_name - __v_raw.category_name = value - _tRS(__v_raw, "category_name", oldValue, value) - } - override var shop_name: String? - get() { - return _tRG(__v_raw, "shop_name", __v_raw.shop_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shop_name")) { - return - } - val oldValue = __v_raw.shop_name - __v_raw.shop_name = value - _tRS(__v_raw, "shop_name", oldValue, value) - } - override var merchant_name: String? - get() { - return _tRG(__v_raw, "merchant_name", __v_raw.merchant_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchant_name")) { - return - } - val oldValue = __v_raw.merchant_name - __v_raw.merchant_name = value - _tRS(__v_raw, "merchant_name", oldValue, value) - } -} -open class Shop ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var merchant_id: String, - @JsonNotNull - open var shop_name: String, - open var shop_logo: String? = null, - open var shop_banner: String? = null, - open var description: String? = null, - open var contact_name: String? = null, - open var contact_phone: String? = null, - open var rating_avg: Number? = null, - open var total_sales: Number? = null, - open var product_count: Number? = null, - open var total_sales_count: Number? = null, - open var created_at: String? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("Shop", "utils/supabaseService.uts", 251, 13) - } -} -open class CartItem ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var user_id: String, - @JsonNotNull - open var product_id: String, - open var sku_id: String? = null, - open var merchant_id: String? = null, - @JsonNotNull - open var quantity: Number, - @JsonNotNull - open var selected: Boolean = false, - open var product_name: String? = null, - open var product_image: String? = null, - open var product_price: Number? = null, - open var product_specification: String? = null, - open var shop_id: String? = null, - open var shop_name: String? = null, - open var created_at: String? = null, - open var updated_at: String? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("CartItem", "utils/supabaseService.uts", 266, 13) - } -} -open class UserAddress ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var user_id: String, - @JsonNotNull - open var recipient_name: String, - @JsonNotNull - open var phone: String, - @JsonNotNull - open var province: String, - @JsonNotNull - open var city: String, - @JsonNotNull - open var district: String, - @JsonNotNull - open var detail_address: String, - open var postal_code: String? = null, - @JsonNotNull - open var is_default: Boolean = false, - open var label: String? = null, - open var created_at: String? = null, - open var updated_at: String? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("UserAddress", "utils/supabaseService.uts", 283, 13) - } -} -open class UserCoupon ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var user_id: String, - @JsonNotNull - open var template_id: String, - @JsonNotNull - open var coupon_code: String, - @JsonNotNull - open var status: Number, - @JsonNotNull - open var received_at: String, - @JsonNotNull - open var expire_at: String, - open var used_at: String? = null, - open var template_name: String? = null, - open var amount: Number? = null, - open var min_spend: Number? = null, - open var name: String? = null, - open var title: String? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("UserCoupon", "utils/supabaseService.uts", 298, 13) - } -} -open class ChatRoom ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var user_id: String, - @JsonNotNull - open var merchant_id: String, - @JsonNotNull - open var shop_name: String, - open var shop_logo: String? = null, - open var last_message: String? = null, - open var last_message_at: String? = null, - @JsonNotNull - open var unread_count: Number, - @JsonNotNull - open var is_top: Boolean = false, - open var created_at: String? = null, - open var updated_at: String? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ChatRoom", "utils/supabaseService.uts", 314, 13) - } -} -open class Notification ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var user_id: String, - @JsonNotNull - open var type: String, - @JsonNotNull - open var title: String, - @JsonNotNull - open var content: String, - open var icon_url: String? = null, - open var link_url: String? = null, - @JsonNotNull - open var is_read: Boolean = false, - open var extra_data: String? = null, - open var created_at: String? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("Notification", "utils/supabaseService.uts", 327, 13) - } -} -open class ChatMessage ( - @JsonNotNull - open var id: String, - open var session_id: String? = null, - open var sender_id: String? = null, - open var receiver_id: String? = null, - @JsonNotNull - open var content: String, - @JsonNotNull - open var msg_type: String, - @JsonNotNull - open var is_read: Boolean = false, - @JsonNotNull - open var is_from_user: Boolean = false, - open var extra_data: String? = null, - open var created_at: String? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ChatMessage", "utils/supabaseService.uts", 339, 13) - } -} -open class PaginatedResponse ( - @JsonNotNull - open var data: UTSArray, - @JsonNotNull - open var total: Number, - @JsonNotNull - open var page: Number, - @JsonNotNull - open var limit: Number, - @JsonNotNull - open var hasmore: Boolean = false, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("PaginatedResponse", "utils/supabaseService.uts", 351, 13) - } -} -open class ProductSku ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var product_id: String, - @JsonNotNull - open var sku_code: String, - @JsonNotNull - open var specifications: String, - @JsonNotNull - open var price: Number, - open var market_price: Number? = null, - open var cost_price: Number? = null, - open var stock: Number? = null, - open var warning_stock: Number? = null, - open var image_url: String? = null, - open var weight: Number? = null, - open var status: Number? = null, - open var created_at: String? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ProductSku", "utils/supabaseService.uts", 358, 13) - } -} -open class AddAddressParams ( - @JsonNotNull - open var recipient_name: String, - @JsonNotNull - open var phone: String, - @JsonNotNull - open var province: String, - @JsonNotNull - open var city: String, - @JsonNotNull - open var district: String, - @JsonNotNull - open var detail_address: String, - open var postal_code: String? = null, - open var is_default: Boolean? = null, - open var label: String? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AddAddressParams", "utils/supabaseService.uts", 373, 13) - } -} -open class UpdateAddressParams ( - open var recipient_name: String? = null, - open var phone: String? = null, - open var province: String? = null, - open var city: String? = null, - open var district: String? = null, - open var detail_address: String? = null, - open var postal_code: String? = null, - open var is_default: Boolean? = null, - open var label: String? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("UpdateAddressParams", "utils/supabaseService.uts", 384, 13) - } -} -open class CreateOrderParams ( - @JsonNotNull - open var merchant_id: String, - @JsonNotNull - open var product_amount: Number, - @JsonNotNull - open var shipping_fee: Number, - @JsonNotNull - open var total_amount: Number, - @JsonNotNull - open var shipping_address: Any, - @JsonNotNull - open var items: UTSArray, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("CreateOrderParams", "utils/supabaseService.uts", 395, 13) - } -} -open class ShopOrderParams ( - @JsonNotNull - open var shipping_address: Any, - @JsonNotNull - open var shopGroups: UTSArray, - @JsonNotNull - open var deliveryFee: Number, - @JsonNotNull - open var discountAmount: Number, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ShopOrderParams", "utils/supabaseService.uts", 403, 13) - } -} -open class ShopOrderResponse ( - @JsonNotNull - open var success: Boolean = false, - @JsonNotNull - open var orderIds: UTSArray, - open var error: String? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ShopOrderResponse", "utils/supabaseService.uts", 409, 13) - } -} -open class RefundResponse ( - @JsonNotNull - open var success: Boolean = false, - @JsonNotNull - open var message: String, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("RefundResponse", "utils/supabaseService.uts", 414, 13) - } -} -open class ConfirmReceiptResponse ( - @JsonNotNull - open var success: Boolean = false, - open var error: String? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ConfirmReceiptResponse", "utils/supabaseService.uts", 418, 13) - } -} -open class SupabaseService : IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("SupabaseService", "utils/supabaseService.uts", 422, 7) - } - public open fun getCurrentUserId(): String? { - try { - val session = supaInstance.getSession() - if (session != null && session.user != null) { - return session.user!!.getString("id") - } - val userId = uni_getStorageSync("user_id") - return if (userId != null) { - userId as String - } else { - null - } - } - catch (e: Throwable) { - console.error("获取用户ID失败:", e, " at utils/supabaseService.uts:455") - return null - } - } - open fun ensureSession(): UTSPromise { - return wrapUTSPromise(suspend w@{ - var session = supaInstance.getSession() - if (session.user == null) { - console.log("Session user is null, attempting to hydrate from storage...", " at utils/supabaseService.uts:464") - await(supaInstance.hydrateSessionFromStorage()) - session = supaInstance.getSession() - } - if (session.user != null) { - val uid = session.user!!!!.getString("id") - if (uid != null) { - uni_setStorageSync("user_id", uid) - return@w uid - } - } - return@w this.getCurrentUserId() - }) - } - open fun getCategories(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val response = await(supaInstance.from("ml_categories").select("*").order("name", OrderOptions(ascending = true)).execute()) - if (response.error != null) { - console.error("获取分类失败:", response.error, " at utils/supabaseService.uts:490") - return@w _uA() - } - val rawData = response.data - if (rawData == null) { - return@w _uA() - } - val categories: UTSArray = _uA() - val rawList = rawData as UTSArray - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val catObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:481") as UTSJSONObject - val idVal = catObj.get("id") - val nameVal = catObj.get("name") - val iconVal = catObj.get("icon") - val iconUrlVal = catObj.get("icon_url") - val descVal = catObj.get("description") - val colorVal = catObj.get("color") - val parentIdVal = catObj.get("parent_id") - val levelVal = catObj.get("level") - val cat: Category = Category(id = if ((UTSAndroid.`typeof`(idVal) == "string")) { - (idVal as String) - } else { - "" - } - , name = if ((UTSAndroid.`typeof`(nameVal) == "string")) { - (nameVal as String) - } else { - "" - } - , icon = if ((UTSAndroid.`typeof`(iconVal) == "string")) { - (iconVal as String) - } else { - if ((UTSAndroid.`typeof`(iconUrlVal) == "string")) { - (iconUrlVal as String) - } else { - "" - } - } - , description = if ((UTSAndroid.`typeof`(descVal) == "string")) { - (descVal as String) - } else { - "" - } - , color = if ((UTSAndroid.`typeof`(colorVal) == "string")) { - (colorVal as String) - } else { - "#4CAF50" - } - , parent_id = if ((UTSAndroid.`typeof`(parentIdVal) == "string")) { - (parentIdVal as String) - } else { - null - } - , level = if ((UTSAndroid.`typeof`(levelVal) == "number")) { - (levelVal as Number) - } else { - 0 - } - ) - categories.push(cat) - i++ - } - } - return@w categories - } - catch (error: Throwable) { - console.error("获取分类异常:", error, " at utils/supabaseService.uts:526") - return@w _uA() - } - }) - } - open fun getCategoryById(categoryId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val response = await(supaInstance.from("ml_categories").select("*").eq("id", categoryId).limit(1).execute()) - if (response.error != null) { - console.error("获取分类失败:", response.error, " at utils/supabaseService.uts:542") - return@w null - } - val rawData = response.data - if (rawData == null) { - return@w null - } - val rawList = rawData as UTSArray - if (rawList.length == 0) { - return@w null - } - val item = rawList[0] - val catObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:531") as UTSJSONObject - val idVal = catObj.get("id") - val nameVal = catObj.get("name") - val iconVal = catObj.get("icon") - val iconUrlVal = catObj.get("icon_url") - val descVal = catObj.get("description") - val colorVal = catObj.get("color") - val parentIdVal = catObj.get("parent_id") - val levelVal = catObj.get("level") - val cat: Category = Category(id = if ((UTSAndroid.`typeof`(idVal) == "string")) { - (idVal as String) - } else { - "" - } - , name = if ((UTSAndroid.`typeof`(nameVal) == "string")) { - (nameVal as String) - } else { - "" - } - , icon = if ((UTSAndroid.`typeof`(iconVal) == "string")) { - (iconVal as String) - } else { - if ((UTSAndroid.`typeof`(iconUrlVal) == "string")) { - (iconUrlVal as String) - } else { - "" - } - } - , description = if ((UTSAndroid.`typeof`(descVal) == "string")) { - (descVal as String) - } else { - "" - } - , color = if ((UTSAndroid.`typeof`(colorVal) == "string")) { - (colorVal as String) - } else { - "#4CAF50" - } - , parent_id = if ((UTSAndroid.`typeof`(parentIdVal) == "string")) { - (parentIdVal as String) - } else { - null - } - , level = if ((UTSAndroid.`typeof`(levelVal) == "number")) { - (levelVal as Number) - } else { - 0 - } - ) - return@w cat - } - catch (error: Throwable) { - console.error("获取分类异常:", error, " at utils/supabaseService.uts:579") - return@w null - } - }) - } - open fun getParentCategories(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val response = await(supaInstance.from("ml_categories").select("*").`is`("parent_id", null).order("sort_order", OrderOptions(ascending = true)).execute()) - if (response.error != null) { - console.error("获取一级分类失败:", response.error, " at utils/supabaseService.uts:595") - return@w _uA() - } - val rawData = response.data - if (rawData == null) { - return@w _uA() - } - val categories: UTSArray = _uA() - val rawList = rawData as UTSArray - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val icon = this.getCategoryIcon(item) - val idVal = item["id"] - val nameVal = item["name"] - val descVal = item["description"] - val colorVal = item["color"] - val slugVal = item["slug"] - val cat = Category(id = if ((UTSAndroid.`typeof`(idVal) == "string")) { - (idVal as String) - } else { - "" - } - , name = if ((UTSAndroid.`typeof`(nameVal) == "string")) { - (nameVal as String) - } else { - "" - } - , icon = icon, description = if ((UTSAndroid.`typeof`(descVal) == "string")) { - (descVal as String) - } else { - "" - } - , color = if ((UTSAndroid.`typeof`(colorVal) == "string")) { - (colorVal as String) - } else { - "#ff5000" - } - , level = 1, slug = if ((UTSAndroid.`typeof`(slugVal) == "string")) { - (slugVal as String) - } else { - "" - } - ) - categories.push(cat) - i++ - } - } - return@w categories - } - catch (error: Throwable) { - console.error("获取一级分类异常:", error, " at utils/supabaseService.uts:630") - return@w _uA() - } - }) - } - open fun getSubCategories(parentId: String): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getSubCategories] 开始获取子分类, parentId:", parentId, " at utils/supabaseService.uts:638") - val response = await(supaInstance.from("ml_categories").select("*").order("sort_order", OrderOptions(ascending = true)).execute()) - console.log("[getSubCategories] 查询完成", " at utils/supabaseService.uts:645") - if (response.error != null) { - console.error("获取子分类失败:", response.error, " at utils/supabaseService.uts:648") - return@w _uA() - } - val rawData = response.data - if (rawData == null) { - console.log("[getSubCategories] 数据为空", " at utils/supabaseService.uts:654") - return@w _uA() - } - val categories: UTSArray = _uA() - val rawList = rawData as UTSArray - console.log("[getSubCategories] 原始数据条数:", rawList.length, " at utils/supabaseService.uts:660") - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:626") as UTSJSONObject - val itemParentId = safeGetString(itemObj, "parent_id") - val isMatch = (itemParentId.length > 0 && itemParentId == parentId) - if (!isMatch) { - i++ - continue - } - val icon = this.getCategoryIcon(itemObj) - val cat = Category(id = safeGetString(itemObj, "id"), name = safeGetString(itemObj, "name"), icon = icon, description = safeGetString(itemObj, "description"), color = if (safeGetString(itemObj, "color").length > 0) { - safeGetString(itemObj, "color") - } else { - "#ff5000" - } - , level = 2, parent_id = safeGetString(itemObj, "parent_id"), slug = safeGetString(itemObj, "slug")) - categories.push(cat) - i++ - } - } - console.log("[getSubCategories] 返回分类数量:", categories.length, " at utils/supabaseService.uts:686") - return@w categories - } - catch (error: Throwable) { - console.error("获取子分类异常:", error, " at utils/supabaseService.uts:689") - return@w _uA() - } - }) - } - open fun getCategoryIcon(item: UTSJSONObject): String { - val itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:656") as UTSJSONObject - val icon = safeGetString(itemObj, "icon") - if (icon.length > 0) { - return icon - } - val iconUrl = safeGetString(itemObj, "icon_url") - if (iconUrl.length > 0) { - return iconUrl - } - val name = safeGetString(itemObj, "name") - if (name.includes("数码") || name.includes("电器") || name.includes("手机")) { - return "📱" - } - if (name.includes("服装") || name.includes("衣服") || name.includes("鞋")) { - return "👕" - } - if (name.includes("食品") || name.includes("水果") || name.includes("零食")) { - return "🍎" - } - if (name.includes("美妆") || name.includes("护肤") || name.includes("化妆")) { - return "💄" - } - if (name.includes("母婴") || name.includes("婴儿") || name.includes("儿童")) { - return "👶" - } - if (name.includes("家居") || name.includes("家具") || name.includes("装饰")) { - return "🏠" - } - if (name.includes("图书") || name.includes("文具")) { - return "📚" - } - if (name.includes("运动") || name.includes("户外") || name.includes("健身")) { - return "⚽" - } - if (name.includes("医药") || name.includes("保健") || name.includes("健康")) { - return "💊" - } - return "📦" - } - open fun getBrands(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getBrands] 开始获取品牌数据...", " at utils/supabaseService.uts:721") - val response = await(supaInstance.from("ml_brands").select("id, name, logo_url, description, is_active").order("name", OrderOptions(ascending = true)).execute()) - if (response.error != null) { - console.error("获取品牌失败:", response.error, " at utils/supabaseService.uts:729") - return@w _uA() - } - val rawData = response.data - if (rawData == null) { - console.log("[getBrands] 数据为空", " at utils/supabaseService.uts:735") - return@w _uA() - } - val brands: UTSArray = _uA() - val rawList = rawData as UTSArray - console.log("[getBrands] 数据条数:", rawList.length, " at utils/supabaseService.uts:741") - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val brandObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:709") as UTSJSONObject - val idVal = brandObj.get("id") - val nameVal = brandObj.get("name") - val logoVal = brandObj.get("logo_url") - val descVal = brandObj.get("description") - val isActiveVal = brandObj.get("is_active") - var isActiveBool: Boolean = true - if (isActiveVal != null) { - if (UTSAndroid.`typeof`(isActiveVal) == "boolean") { - isActiveBool = isActiveVal as Boolean - } else if (UTSAndroid.`typeof`(isActiveVal) == "number") { - isActiveBool = (isActiveVal as Number) === 1 - } - } - if (!isActiveBool) { - i++ - continue - } - val brand: Brand = Brand(id = if ((UTSAndroid.`typeof`(idVal) == "string")) { - (idVal as String) - } else { - "" - } - , name = if ((UTSAndroid.`typeof`(nameVal) == "string")) { - (nameVal as String) - } else { - "" - } - , logo_url = if ((UTSAndroid.`typeof`(logoVal) == "string")) { - (logoVal as String) - } else { - "" - } - , description = if ((UTSAndroid.`typeof`(descVal) == "string")) { - (descVal as String) - } else { - "" - } - ) - brands.push(brand) - i++ - } - } - console.log("[getBrands] 返回品牌数量:", brands.length, " at utils/supabaseService.uts:772") - return@w brands - } - catch (error: Throwable) { - console.error("获取品牌异常:", error, " at utils/supabaseService.uts:775") - return@w _uA() - } - }) - } - open fun getProductsByCategory(categoryId: String, page: Number = 1, limit: Number = 20): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getProductsByCategory] 开始查询,分类ID:", categoryId, "页码:", page, " at utils/supabaseService.uts:787") - val response = await(supaInstance.from("ml_products_detail_view").select("*", object : UTSJSONObject() { - var count = "exact" - }).eq("category_id", categoryId).eq("status", "1").order("sale_count", OrderOptions(ascending = false)).page(page).limit(limit).execute()) - console.log("[getProductsByCategory] 查询完成,total:", response.total, " at utils/supabaseService.uts:800") - if (response.error != null) { - console.error("获取商品失败:", response.error, " at utils/supabaseService.uts:803") - return@w PaginatedResponse(data = _uA(), total = 0, page = page, limit = limit, hasmore = false) - } - val rawData = response.data - if (rawData == null) { - return@w PaginatedResponse(data = _uA(), total = 0, page = page, limit = limit, hasmore = false) - } - val products: UTSArray = _uA() - val rawList = rawData as UTSArray - console.log("[getProductsByCategory] 返回数据条数:", rawList.length, " at utils/supabaseService.uts:826") - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - products.push(parseProductFromRaw(item)) - i++ - } - } - return@w PaginatedResponse(data = products, total = response.total ?: products.length, page = page, limit = limit, hasmore = response.hasmore ?: false) - } - catch (error: Throwable) { - console.error("获取商品异常:", error, " at utils/supabaseService.uts:841") - return@w PaginatedResponse(data = _uA(), total = 0, page = page, limit = limit, hasmore = false) - } - }) - } - open fun getProductSkus(productId: String): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getProductSkus] 开始获取SKU,商品ID:", productId, " at utils/supabaseService.uts:855") - val response = await(supaInstance.from("ml_product_skus").select("*").eq("product_id", productId).eq("status", "1").execute()) - if (response.error != null) { - console.error("获取商品SKU失败:", response.error, " at utils/supabaseService.uts:864") - return@w _uA() - } - val rawData = response.data - if (rawData == null) { - return@w _uA() - } - val skus: UTSArray = _uA() - val rawList = rawData as UTSArray - console.log("[getProductSkus] 获取到SKU数量:", rawList.length, " at utils/supabaseService.uts:873") - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val skuObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:826") as UTSJSONObject - val rawId = skuObj.get("id") - val rawSkuCode = skuObj.get("sku_code") - val rawProdId = skuObj.get("product_id") - val rawPrice = skuObj.get("price") - val rawStock = skuObj.get("stock") - val rawImageUrl = skuObj.get("image_url") - val rawSpecs = skuObj.get("specifications") - var specsStr = "" - if (rawSpecs != null) { - try { - if (UTSAndroid.`typeof`(rawSpecs) == "string") { - specsStr = rawSpecs as String - } else { - specsStr = JSON.stringify(rawSpecs) - } - } - catch (e: Throwable) { - console.error("解析SKU规格失败", e, " at utils/supabaseService.uts:896") - } - } - val sku = ProductSku(id = if ((UTSAndroid.`typeof`(rawId) == "string")) { - (rawId as String) - } else { - "" - } - , product_id = if ((UTSAndroid.`typeof`(rawProdId) == "string")) { - (rawProdId as String) - } else { - "" - } - , sku_code = if ((UTSAndroid.`typeof`(rawSkuCode) == "string")) { - (rawSkuCode as String) - } else { - "" - } - , specifications = specsStr, price = if ((UTSAndroid.`typeof`(rawPrice) == "number")) { - (rawPrice as Number) - } else { - 0 - } - , stock = if ((UTSAndroid.`typeof`(rawStock) == "number")) { - (rawStock as Number) - } else { - 0 - } - , image_url = if ((UTSAndroid.`typeof`(rawImageUrl) == "string")) { - (rawImageUrl as String) - } else { - "" - } - , status = 1) - skus.push(sku) - i++ - } - } - return@w skus - } - catch (error: Throwable) { - console.error("获取商品SKU异常:", error, " at utils/supabaseService.uts:914") - return@w _uA() - } - }) - } - open fun searchProducts(keyword: String, page: Number = 1, limit: Number = 20, sortBy: String = "sales", ascending: Boolean = false): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val keywordLower = keyword.toLowerCase() - val encodedKeyword = UTSAndroid.consoleDebugError(encodeURIComponent(keywordLower), " at utils/supabaseService.uts:871") - val orString = "name.ilike.%" + encodedKeyword + "%,description.ilike.%" + encodedKeyword + "%,subtitle.ilike.%" + encodedKeyword + "%,brand_name.ilike.%" + encodedKeyword + "%" - console.log("[searchProducts] 搜索关键词:", keyword, "编码后:", encodedKeyword, " at utils/supabaseService.uts:931") - console.log("[searchProducts] or条件:", orString, " at utils/supabaseService.uts:932") - var query = supaInstance.from("ml_products_detail_view").select("*", object : UTSJSONObject() { - var count = "exact" - }).eq("status", 1).or(orString) - if (sortBy === "price") { - query = query.order("base_price", OrderOptions(ascending = ascending)) - } else if (sortBy === "sales" || sortBy === "sale_count") { - query = query.order("sale_count", OrderOptions(ascending = false)) - } else { - query = query.order("sale_count", OrderOptions(ascending = false)) - } - val response = await(query.page(page).limit(limit).execute()) - var dataLength: Number = 0 - try { - val respData = response.data - if (respData != null && UTSArray.isArray(respData)) { - dataLength = (respData as UTSArray).length - } - } - catch (e: Throwable) { - console.error("[searchProducts] 获取数据长度失败:", e, " at utils/supabaseService.uts:960") - } - var statusNum: Number = 0 - try { - statusNum = response.status as Number - } - catch (e: Throwable) {} - console.log("[searchProducts] 响应状态:", statusNum, "数据条数:", dataLength, " at utils/supabaseService.uts:966") - var hasError = false - try { - hasError = response.error != null - } - catch (e: Throwable) {} - if (hasError) { - console.error("[searchProducts] 搜索商品失败:", response.error, " at utils/supabaseService.uts:973") - return@w PaginatedResponse(data = _uA(), total = 0, page = page, limit = limit, hasmore = false) - } - val rawData = response.data - console.log("[searchProducts] rawData:", if (rawData != null) { - "not null" - } else { - "null" - } - , " at utils/supabaseService.uts:984") - if (rawData == null) { - return@w PaginatedResponse(data = _uA(), total = 0, page = page, limit = limit, hasmore = false) - } - val products: UTSArray = _uA() - var rawList: UTSArray = _uA() - try { - rawList = rawData as UTSArray - console.log("[searchProducts] rawList长度:", rawList.length, " at utils/supabaseService.uts:999") - } - catch (e: Throwable) { - console.error("[searchProducts] 转换rawList失败:", e, " at utils/supabaseService.uts:1001") - return@w PaginatedResponse(data = _uA(), total = 0, page = page, limit = limit, hasmore = false) - } - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - console.log("[searchProducts] 处理第", i + 1, "个商品", " at utils/supabaseService.uts:1013") - products.push(parseProductFromRaw(item)) - i++ - } - } - var totalNum: Number = 0 - try { - totalNum = response.total as Number - } - catch (e: Throwable) {} - var hasmoreVal = false - try { - hasmoreVal = response.hasmore as Boolean - } - catch (e: Throwable) {} - return@w PaginatedResponse(data = products, total = if (totalNum > 0) { - totalNum - } else { - products.length - } - , page = page, limit = limit, hasmore = hasmoreVal) - } - catch (error: Throwable) { - console.error("搜索商品异常:", error, " at utils/supabaseService.uts:1034") - return@w PaginatedResponse(data = _uA(), total = 0, page = page, limit = limit, hasmore = false) - } - }) - } - open fun searchShops(keyword: String, page: Number = 1, limit: Number = 20): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val encodedKeyword = UTSAndroid.consoleDebugError(encodeURIComponent(keyword), " at utils/supabaseService.uts:988") - val response = await(supaInstance.from("ml_shops").select("*", object : UTSJSONObject() { - var count = "exact" - }).ilike("shop_name", "%" + encodedKeyword + "%").order("product_count", OrderOptions(ascending = false)).page(page).limit(limit).execute()) - if (response.error != null) { - console.error("搜索店铺失败:", response.error, " at utils/supabaseService.uts:1063") - return@w PaginatedResponse(data = _uA(), total = 0, page = page, limit = limit, hasmore = false) - } - val rawData = response.data - if (rawData == null) { - return@w PaginatedResponse(data = _uA(), total = 0, page = page, limit = limit, hasmore = false) - } - val shops: UTSArray = _uA() - val dataList = rawData as UTSArray - run { - var i: Number = 0 - while(i < dataList.length){ - val item = dataList[i] - val shopObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:1009") as UTSJSONObject - val rawStatus = shopObj.get("status") - var statusNum: Number = 0 - if (UTSAndroid.`typeof`(rawStatus) == "number") { - statusNum = rawStatus as Number - } - if (statusNum !== 1) { - i++ - continue - } - val shop = Shop(id = shopObj.getString("id") ?: "", merchant_id = shopObj.getString("merchant_id") ?: "", shop_name = shopObj.getString("shop_name") ?: "", shop_logo = shopObj.getString("shop_logo"), shop_banner = shopObj.getString("shop_banner"), description = shopObj.getString("description"), contact_name = shopObj.getString("contact_name"), contact_phone = shopObj.getString("contact_phone"), rating_avg = shopObj.getNumber("rating_avg"), total_sales = shopObj.getNumber("total_sales"), product_count = shopObj.getNumber("product_count"), total_sales_count = shopObj.getNumber("total_sales_count"), created_at = shopObj.getString("created_at")) - shops.push(shop) - i++ - } - } - return@w PaginatedResponse(data = shops, total = response.total ?: shops.length, page = page, limit = limit, hasmore = response.hasmore ?: false) - } - catch (error: Throwable) { - console.error("搜索店铺异常:", error, " at utils/supabaseService.uts:1113") - return@w PaginatedResponse(data = _uA(), total = 0, page = page, limit = limit, hasmore = false) - } - }) - } - open fun getProductById(productId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getProductById] 开始获取商品详情,ID:", productId, " at utils/supabaseService.uts:1121") - val response = await(supaInstance.from("ml_products_detail_view").select("*").eq("id", productId).limit(1).execute()) - if (response.error != null) { - console.error("获取商品详情失败:", response.error, " at utils/supabaseService.uts:1130") - return@w null - } - val rawData = response.data - if (rawData == null) { - console.log("[getProductById] 数据为空", " at utils/supabaseService.uts:1136") - return@w null - } - val rawList = rawData as UTSArray - if (rawList.length == 0) { - console.log("[getProductById] 未找到商品", " at utils/supabaseService.uts:1142") - return@w null - } - val item = rawList[0] - val product = parseProductFromRaw(item) - console.log("[getProductById] 成功获取商品:", product.name, " at utils/supabaseService.uts:1148") - return@w product - } - catch (error: Throwable) { - console.error("获取商品详情异常:", error, " at utils/supabaseService.uts:1151") - return@w null - } - }) - } - open fun isShopFollowed(shopId: String, userId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val res = await(supaInstance.from("ml_shop_follows").select("id", object : UTSJSONObject() { - var count = "exact" - }).eq("shop_id", shopId).eq("user_id", userId).limit(1).execute()) - return@w (res.total != null && res.total!! > 0) - } - catch (e: Throwable) { - console.error("Check follow error:", e, " at utils/supabaseService.uts:1171") - return@w false - } - }) - } - open fun followShop(shopId: String, userId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val res = await(supaInstance.from("ml_shop_follows").insert(object : UTSJSONObject() { - var user_id = userId - var shop_id = shopId - }).execute()) - return@w res.error == null - } - catch (e: Throwable) { - console.error("Follow shop error:", e, " at utils/supabaseService.uts:1189") - return@w false - } - }) - } - open fun unfollowShop(shopId: String, userId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val res = await(supaInstance.from("ml_shop_follows").eq("shop_id", shopId).eq("user_id", userId).`delete`().execute()) - return@w res.error == null - } - catch (e: Throwable) { - console.error("Unfollow shop error:", e, " at utils/supabaseService.uts:1206") - return@w false - } - }) - } - open fun getFollowedShops(userId: String): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val res = await(supaInstance.from("ml_shop_follows").select("*, ml_shops(*)").eq("user_id", userId).order("created_at", OrderOptions(ascending = false)).execute()) - if (res.error != null) { - console.error("getFollowedShops error:", res.error, " at utils/supabaseService.uts:1223") - return@w _uA() - } - return@w res.data as UTSArray - } - catch (e: Throwable) { - console.error("getFollowedShops exception:", e, " at utils/supabaseService.uts:1229") - return@w _uA() - } - }) - } - open fun getShopByMerchantId(merchantId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getShopByMerchantId] 开始获取店铺信息,merchantId:", merchantId, " at utils/supabaseService.uts:1237") - var response = await(supaInstance.from("ml_shops").select("*").eq("merchant_id", merchantId).limit(1).execute()) - if (response.error == null && response.data != null && (response.data as UTSArray).length > 0) { - val shopData = (response.data as UTSArray)[0] - val shop = this.parseShopFromRaw(shopData) - console.log("[getShopByMerchantId] 通过 merchant_id 找到店铺:", shop.shop_name, " at utils/supabaseService.uts:1249") - return@w shop - } - console.log("getShopByMerchantId: merchant_id not found, trying id...", merchantId, " at utils/supabaseService.uts:1254") - response = await(supaInstance.from("ml_shops").select("*").eq("id", merchantId).limit(1).execute()) - if (response.error == null && response.data != null && (response.data as UTSArray).length > 0) { - console.log("Found shop by ID instead of MerchantID", " at utils/supabaseService.uts:1263") - val shopData = (response.data as UTSArray)[0] - val shop = this.parseShopFromRaw(shopData) - return@w shop - } - if (response.error != null) { - console.error("获取店铺信息失败:", response.error, " at utils/supabaseService.uts:1270") - } - return@w null - } - catch (error: Throwable) { - console.error("获取店铺信息异常:", error, " at utils/supabaseService.uts:1274") - return@w null - } - }) - } - open fun parseShopFromRaw(item: Any): Shop { - val itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:1198") as UTSJSONObject - val getSafeString = fun(key: String): String { - val kVal = itemObj.get(key) - if (kVal == null) { - return "" - } - if (UTSAndroid.`typeof`(kVal) == "string") { - return kVal as String - } - return "" - } - val getSafeNumber = fun(key: String): Number { - val kVal = itemObj.get(key) - if (kVal == null) { - return 0 - } - if (UTSAndroid.`typeof`(kVal) == "number") { - return kVal as Number - } - return 0 - } - return Shop(id = getSafeString("id"), merchant_id = getSafeString("merchant_id"), shop_name = getSafeString("shop_name"), shop_logo = getSafeString("shop_logo"), shop_banner = getSafeString("shop_banner"), description = getSafeString("description"), contact_name = getSafeString("contact_name"), contact_phone = getSafeString("contact_phone"), rating_avg = getSafeNumber("rating_avg"), total_sales = getSafeNumber("total_sales"), product_count = getSafeNumber("product_count"), total_sales_count = getSafeNumber("total_sales_count"), created_at = getSafeString("created_at")) - } - open fun getProductsByMerchantId(merchantId: String, page: Number = 1, limit: Number = 20): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("getProductsByMerchantId querying for:", merchantId, " at utils/supabaseService.uts:1317") - var query = supaInstance.from("ml_products_detail_view").select("*", object : UTSJSONObject() { - var count = "exact" - }).eq("merchant_id", merchantId).order("created_at", OrderOptions(ascending = false)).page(page).limit(limit) - val response = await(query.execute()) - if (response.error != null || (response.data != null && (response.data as UTSArray).length === 0)) { - if (response.error != null) { - console.error("获取商户商品失败 (View):", response.error, " at utils/supabaseService.uts:1334") - } else { - console.log("View returned 0 products, trying raw table fallback...", " at utils/supabaseService.uts:1336") - } - console.log("Falling back to raw ml_products table...", " at utils/supabaseService.uts:1340") - val query2 = supaInstance.from("ml_products").select("*", object : UTSJSONObject() { - var count = "exact" - }).eq("merchant_id", merchantId).order("created_at", OrderOptions(ascending = false)).page(page).limit(limit) - val res2 = await(query2.execute()) - if (res2.error != null) { - console.error("获取商户商品失败 (Raw):", res2.error, " at utils/supabaseService.uts:1352") - return@w PaginatedResponse(data = _uA(), total = 0, page = page, limit = limit, hasmore = false) - } - console.log("Fallback (Raw) found: " + (res2.data as UTSArray).length + " products", " at utils/supabaseService.uts:1356") - val mappedData: UTSArray = _uA() - val rawData = res2.data as UTSArray - run { - var i: Number = 0 - while(i < rawData.length){ - val item = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(rawData[i])), " at utils/supabaseService.uts:1272") as UTSJSONObject - val images: UTSArray = _uA() - val mainImageUrl = fixImageUrl(item.getString("main_image_url")) - if (mainImageUrl != null && mainImageUrl !== "") { - images.push(mainImageUrl) - } - val imageUrlsRaw = item.get("image_urls") - if (imageUrlsRaw != null) { - try { - if (UTSArray.isArray(imageUrlsRaw)) { - val arr = imageUrlsRaw as UTSArray - if (arr.length > 0 && images.length === 0) { - run { - var j: Number = 0 - while(j < arr.length){ - val fixedUrl = fixImageUrl(arr[j]) - if (fixedUrl !== "") { - images.push(fixedUrl) - } - j++ - } - } - } - } else { - val rawUrlStr = imageUrlsRaw as String - if (rawUrlStr.startsWith("[")) { - val parsed = UTSAndroid.consoleDebugError(JSON.parse(rawUrlStr), " at utils/supabaseService.uts:1294") - if (UTSArray.isArray(parsed) && images.length === 0) { - run { - var j: Number = 0 - while(j < (parsed as UTSArray).length){ - val fixedUrl = fixImageUrl((parsed as UTSArray)[j] as String) - if (fixedUrl !== "") { - images.push(fixedUrl) - } - j++ - } - } - } - } else { - val fixedUrl = fixImageUrl(rawUrlStr) - if (fixedUrl !== "" && images.indexOf(fixedUrl) === -1) { - images.push(fixedUrl) - } - } - } - } - catch (e: Throwable) { - console.error("解析图片数组失败:", e, " at utils/supabaseService.uts:1396") - } - } - if (images.length === 0) { - images.push("/static/default-product.png") - } - var safePrice = item.getNumber("base_price") - if (safePrice == null) { - val p = item.getNumber("price") - safePrice = if (p != null) { - p - } else { - 0 - } - } - var safeOriginalPrice = item.getNumber("market_price") - if (safeOriginalPrice == null) { - val op = item.getNumber("original_price") - safeOriginalPrice = if (op != null) { - op - } else { - safePrice - } - } - var safeStock = item.getNumber("total_stock") - if (safeStock == null) { - var as_ = item.getNumber("available_stock") - if (as_ == null) { - val s = item.getNumber("stock") - safeStock = if (s != null) { - s - } else { - 0 - } - } else { - safeStock = as_ - } - } - var safeSales = item.getNumber("sale_count") - if (safeSales == null) { - val s = item.getNumber("sales") - safeSales = if (s != null) { - s - } else { - 0 - } - } - val product: Product = Product(id = item.getString("id") ?: "", category_id = item.getString("category_id") ?: "", merchant_id = item.getString("merchant_id") ?: "", name = item.getString("name") ?: "", description = item.getString("description") ?: "", images = images, price = safePrice, original_price = safeOriginalPrice, stock = safeStock, sales = safeSales, status = item.getNumber("status") ?: 1, created_at = item.getString("created_at") ?: "", base_price = safePrice, market_price = safeOriginalPrice, main_image_url = if (images.length > 0) { - images[0] - } else { - "" - } - , sale_count = safeSales, total_stock = safeStock) - mappedData.push(product) - i++ - } - } - return@w PaginatedResponse(data = mappedData, total = res2.total ?: 0, page = page, limit = limit, hasmore = res2.hasmore ?: false) - } - console.log("Merchant products found: " + (response.data as UTSArray).length, " at utils/supabaseService.uts:1464") - val viewData = response.data as UTSArray - val parsedProducts: UTSArray = _uA() - run { - var i: Number = 0 - while(i < viewData.length){ - parsedProducts.push(parseProductFromRaw(viewData[i])) - i++ - } - } - return@w PaginatedResponse(data = parsedProducts, total = response.total ?: 0, page = page, limit = limit, hasmore = response.hasmore ?: false) - } - catch (error: Throwable) { - console.error("获取商户商品异常:", error, " at utils/supabaseService.uts:1480") - return@w PaginatedResponse(data = _uA(), total = 0, page = page, limit = limit, hasmore = false) - } - }) - } - open fun getProductsByShopId(shopId: String, page: Number = 1, limit: Number = 20): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("getProductsByShopId querying for:", shopId, " at utils/supabaseService.uts:1494") - var query = supaInstance.from("ml_products_detail_view").select("*", object : UTSJSONObject() { - var count = "exact" - }).eq("shop_id", shopId).order("created_at", OrderOptions(ascending = false)).page(page).limit(limit) - val response = await(query.execute()) - if (response.error != null || (response.data != null && (response.data as UTSArray).length === 0)) { - if (response.error != null) { - console.error("获取店铺商品失败 (View):", response.error, " at utils/supabaseService.uts:1510") - } else { - console.log("View returned 0 products, trying raw table fallback...", " at utils/supabaseService.uts:1512") - } - console.log("Falling back to raw ml_products table with shop_id...", " at utils/supabaseService.uts:1516") - val query2 = supaInstance.from("ml_products").select("*", object : UTSJSONObject() { - var count = "exact" - }).eq("shop_id", shopId).order("created_at", OrderOptions(ascending = false)).page(page).limit(limit) - val res2 = await(query2.execute()) - if (res2.error != null) { - console.error("获取店铺商品失败 (Raw):", res2.error, " at utils/supabaseService.uts:1527") - return@w PaginatedResponse(data = _uA(), total = 0, page = page, limit = limit, hasmore = false) - } - console.log("Fallback (Raw) found: " + (res2.data as UTSArray).length + " products", " at utils/supabaseService.uts:1531") - val mappedData: UTSArray = _uA() - val rawData = res2.data as UTSArray - run { - var i: Number = 0 - while(i < rawData.length){ - val item = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(rawData[i])), " at utils/supabaseService.uts:1436") as UTSJSONObject - val images: UTSArray = _uA() - val mainImageUrl = fixImageUrl(item.getString("main_image_url")) - if (mainImageUrl != null && mainImageUrl !== "") { - images.push(mainImageUrl) - } - val imageUrlsRaw = item.get("image_urls") - if (imageUrlsRaw != null) { - try { - if (UTSArray.isArray(imageUrlsRaw)) { - val arr = imageUrlsRaw as UTSArray - if (arr.length > 0 && images.length === 0) { - run { - var j: Number = 0 - while(j < arr.length){ - val fixedUrl = fixImageUrl(arr[j]) - if (fixedUrl !== "") { - images.push(fixedUrl) - } - j++ - } - } - } - } else { - val rawUrlStr = imageUrlsRaw as String - if (rawUrlStr.startsWith("[")) { - val parsed = UTSAndroid.consoleDebugError(JSON.parse(rawUrlStr), " at utils/supabaseService.uts:1458") - if (UTSArray.isArray(parsed) && images.length === 0) { - run { - var j: Number = 0 - while(j < (parsed as UTSArray).length){ - val fixedUrl = fixImageUrl((parsed as UTSArray)[j] as String) - if (fixedUrl !== "") { - images.push(fixedUrl) - } - j++ - } - } - } - } else { - val fixedUrl = fixImageUrl(rawUrlStr) - if (fixedUrl !== "" && images.indexOf(fixedUrl) === -1) { - images.push(fixedUrl) - } - } - } - } - catch (e: Throwable) { - console.error("解析图片数组失败:", e, " at utils/supabaseService.uts:1571") - } - } - if (images.length === 0) { - images.push("/static/default-product.png") - } - var safePrice = item.getNumber("base_price") - if (safePrice == null) { - val p = item.getNumber("price") - safePrice = if (p != null) { - p - } else { - 0 - } - } - var safeOriginalPrice = item.getNumber("market_price") - if (safeOriginalPrice == null) { - val op = item.getNumber("original_price") - safeOriginalPrice = if (op != null) { - op - } else { - safePrice - } - } - var safeStock = item.getNumber("total_stock") - if (safeStock == null) { - var as_ = item.getNumber("available_stock") - if (as_ == null) { - val s = item.getNumber("stock") - safeStock = if (s != null) { - s - } else { - 0 - } - } else { - safeStock = as_ - } - } - var safeSales = item.getNumber("sale_count") - if (safeSales == null) { - val s = item.getNumber("sales") - safeSales = if (s != null) { - s - } else { - 0 - } - } - val product: Product = Product(id = item.getString("id") ?: "", category_id = item.getString("category_id") ?: "", merchant_id = item.getString("merchant_id") ?: "", name = item.getString("name") ?: "", description = item.getString("description") ?: "", images = images, price = safePrice, original_price = safeOriginalPrice, stock = safeStock, sales = safeSales, status = item.getNumber("status") ?: 1, created_at = item.getString("created_at") ?: "", base_price = safePrice, market_price = safeOriginalPrice, main_image_url = if (images.length > 0) { - images[0] - } else { - "" - } - , sale_count = safeSales, total_stock = safeStock) - mappedData.push(product) - i++ - } - } - return@w PaginatedResponse(data = mappedData, total = res2.total ?: 0, page = page, limit = limit, hasmore = res2.hasmore ?: false) - } - console.log("Shop products found: " + (response.data as UTSArray).length, " at utils/supabaseService.uts:1639") - val viewData = response.data as UTSArray - val parsedProducts: UTSArray = _uA() - run { - var i: Number = 0 - while(i < viewData.length){ - parsedProducts.push(parseProductFromRaw(viewData[i])) - i++ - } - } - return@w PaginatedResponse(data = parsedProducts, total = response.total ?: 0, page = page, limit = limit, hasmore = response.hasmore ?: false) - } - catch (error: Throwable) { - console.error("获取店铺商品异常:", error, " at utils/supabaseService.uts:1655") - return@w PaginatedResponse(data = _uA(), total = 0, page = page, limit = limit, hasmore = false) - } - }) - } - open fun getHotProducts(limit: Number = 10): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getHotProducts] 开始获取热销商品...", " at utils/supabaseService.uts:1669") - val response = await(supaInstance.from("ml_products_detail_view").select("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").eq("status", "1").order("sale_count", OrderOptions(ascending = false)).limit(limit * 5).execute()) - if (response.error != null) { - console.error("获取热销商品失败:", response.error, " at utils/supabaseService.uts:1681") - return@w _uA() - } - val rawData = response.data - console.log("[getHotProducts] 原始数据条数:", if (rawData != null) { - (rawData as UTSArray).length - } else { - 0 - } - , " at utils/supabaseService.uts:1686") - if (rawData == null) { - console.log("[getHotProducts] 数据为空", " at utils/supabaseService.uts:1688") - return@w _uA() - } - val products: UTSArray = _uA() - val rawList = rawData as UTSArray - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val prodObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:1587") as UTSJSONObject - val rawIsHot = prodObj.get("is_hot") - var isHotBool: Boolean = false - if (UTSAndroid.`typeof`(rawIsHot) == "boolean") { - isHotBool = rawIsHot as Boolean - } else if (UTSAndroid.`typeof`(rawIsHot) == "number") { - isHotBool = (rawIsHot as Number) == 1 - } - if (!isHotBool) { - i++ - continue - } - products.push(parseProductFromRaw(item)) - if (products.length >= limit) { - break - } - i++ - } - } - console.log("[getHotProducts] 最终返回商品数:", products.length, " at utils/supabaseService.uts:1713") - return@w products - } - catch (error: Throwable) { - console.error("获取热销商品异常:", error, " at utils/supabaseService.uts:1716") - return@w _uA() - } - }) - } - open fun getProductsBySales(limit: Number = 10): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getProductsBySales] 开始获取销量排序商品...", " at utils/supabaseService.uts:1724") - val response = await(supaInstance.from("ml_products_detail_view").select("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").eq("status", "1").order("sale_count", OrderOptions(ascending = false)).limit(limit).execute()) - if (response.error != null) { - console.error("获取销量排序商品失败:", response.error, " at utils/supabaseService.uts:1734") - return@w _uA() - } - val rawData = response.data - if (rawData == null) { - return@w _uA() - } - val products: UTSArray = _uA() - val rawList = rawData as UTSArray - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - products.push(parseProductFromRaw(item)) - i++ - } - } - console.log("[getProductsBySales] 返回商品数:", products.length, " at utils/supabaseService.uts:1749") - return@w products - } - catch (error: Throwable) { - console.error("获取销量排序商品异常:", error, " at utils/supabaseService.uts:1752") - return@w _uA() - } - }) - } - open fun getProductsByPrice(limit: Number = 10, ascending: Boolean = true): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val response = await(supaInstance.from("ml_products_detail_view").select("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").eq("status", "1").order("base_price", OrderOptions(ascending = ascending)).limit(limit).execute()) - if (response.error != null) { - console.error("获取价格排序商品失败:", response.error, " at utils/supabaseService.uts:1769") - return@w _uA() - } - val rawData = response.data - if (rawData == null) { - return@w _uA() - } - val products: UTSArray = _uA() - val rawList = rawData as UTSArray - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - products.push(parseProductFromRaw(item)) - i++ - } - } - return@w products - } - catch (error: Throwable) { - console.error("获取价格排序商品异常:", error, " at utils/supabaseService.uts:1786") - return@w _uA() - } - }) - } - open fun getProductsByNewest(limit: Number = 10): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getProductsByNewest] 开始获取新品...", " at utils/supabaseService.uts:1794") - val response = await(supaInstance.from("ml_products_detail_view").select("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").eq("status", "1").order("created_at", OrderOptions(ascending = false)).limit(limit * 5).execute()) - if (response.error != null) { - console.error("获取新品失败:", response.error, " at utils/supabaseService.uts:1804") - return@w _uA() - } - val rawData = response.data - if (rawData == null) { - return@w _uA() - } - val products: UTSArray = _uA() - val rawList = rawData as UTSArray - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val prodObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:1699") as UTSJSONObject - val rawIsNew = prodObj.get("is_new") - var isNewBool: Boolean = false - if (UTSAndroid.`typeof`(rawIsNew) == "boolean") { - isNewBool = rawIsNew as Boolean - } else if (UTSAndroid.`typeof`(rawIsNew) == "number") { - isNewBool = (rawIsNew as Number) == 1 - } - if (!isNewBool) { - i++ - continue - } - products.push(parseProductFromRaw(item)) - if (products.length >= limit) { - break - } - i++ - } - } - if (products.length < limit) { - console.log("[getProductsByNewest] is_new商品不足,补充普通商品", " at utils/supabaseService.uts:1835") - val addedIds = Set() - run { - var i: Number = 0 - while(i < products.length){ - addedIds.add(products[i].id) - i++ - } - } - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val prodObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:1724") as UTSJSONObject - val rawId = prodObj.get("id") - val itemId = if ((UTSAndroid.`typeof`(rawId) == "string")) { - (rawId as String) - } else { - "" - } - if (!addedIds.has(itemId)) { - products.push(parseProductFromRaw(item)) - addedIds.add(itemId) - if (products.length >= limit) { - break - } - } - i++ - } - } - } - console.log("[getProductsByNewest] 返回商品数:", products.length, " at utils/supabaseService.uts:1855") - return@w products - } - catch (error: Throwable) { - console.error("获取新品异常:", error, " at utils/supabaseService.uts:1858") - return@w _uA() - } - }) - } - open fun getRecommendedProducts(limit: Number = 10): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getRecommendedProducts] 开始获取推荐商品...", " at utils/supabaseService.uts:1866") - val response = await(supaInstance.from("ml_products_detail_view").select("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").eq("status", "1").order("sale_count", OrderOptions(ascending = false)).limit(limit * 5).execute()) - console.log("[getRecommendedProducts] 查询完成", " at utils/supabaseService.uts:1875") - if (response.error != null) { - console.error("获取推荐商品失败:", response.error, " at utils/supabaseService.uts:1878") - return@w _uA() - } - val rawData = response.data - if (rawData == null) { - console.log("[getRecommendedProducts] 数据为空", " at utils/supabaseService.uts:1884") - return@w _uA() - } - val products: UTSArray = _uA() - val rawList = rawData as UTSArray - console.log("[getRecommendedProducts] 数据条数:", rawList.length, " at utils/supabaseService.uts:1890") - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val prodObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:1769") as UTSJSONObject - val rawFeatured = prodObj.get("is_featured") - var isFeaturedBool: Boolean = false - if (UTSAndroid.`typeof`(rawFeatured) == "boolean") { - isFeaturedBool = rawFeatured as Boolean - } else if (UTSAndroid.`typeof`(rawFeatured) == "number") { - isFeaturedBool = (rawFeatured as Number) == 1 - } - if (!isFeaturedBool) { - i++ - continue - } - products.push(parseProductFromRaw(item)) - if (products.length >= limit) { - break - } - i++ - } - } - return@w products - } - catch (error: Throwable) { - console.error("获取推荐商品异常:", error, " at utils/supabaseService.uts:1912") - return@w _uA() - } - }) - } - open fun getDiscountProducts(limit: Number = 10): UTSPromise> { - return wrapUTSPromise(suspend w@{ - return@w _uA() - }) - } - open fun getCartItems(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.warn("用户未登录,无法获取购物车", " at utils/supabaseService.uts:1928") - return@w _uA() - } - val response = await(supaInstance.from("ml_shopping_cart").select("*").eq("user_id", userId).order("created_at", OrderOptions(ascending = false)).execute()) - if (response.error != null) { - console.error("获取购物车失败:", response.error, " at utils/supabaseService.uts:1944") - return@w _uA() - } - val cartData = response.data as UTSArray - if (cartData == null || cartData.length === 0) { - return@w _uA() - } - val productIds: UTSArray = _uA() - val skuIds: UTSArray = _uA() - run { - var i: Number = 0 - while(i < cartData.length){ - var item = cartData[i] - var pid: String = "" - var sid: String = "" - if (item is UTSJSONObject) { - pid = (item as UTSJSONObject).getString("product_id") ?: "" - sid = (item as UTSJSONObject).getString("sku_id") ?: "" - } else { - val itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:1836") as UTSJSONObject - pid = itemObj.getString("product_id") ?: "" - sid = itemObj.getString("sku_id") ?: "" - } - if (pid !== "" && !productIds.includes(pid)) { - productIds.push(pid) - } - if (sid !== "" && !skuIds.includes(sid)) { - skuIds.push(sid) - } - i++ - } - } - val productMap = Map() - if (productIds.length > 0) { - val productIdsAny: UTSArray = _uA() - run { - var i: Number = 0 - while(i < productIds.length){ - productIdsAny.push(productIds[i]) - i++ - } - } - val productRes = await(supaInstance.from("ml_products").select("*").`in`("id", productIdsAny).execute()) - console.log("[getCartItems] 商品查询结果:", if (productRes.error != null) { - "error" - } else { - "success" - } - , productRes.error, " at utils/supabaseService.uts:1994") - if (productRes.error == null && productRes.data != null) { - val products = productRes.data as UTSArray - console.log("[getCartItems] 商品数量:", products.length, " at utils/supabaseService.uts:1997") - run { - var i: Number = 0 - while(i < products.length){ - var p = products[i] - var pid: String = "" - var pname: String = "" - if (p is UTSJSONObject) { - pid = (p as UTSJSONObject).getString("id") ?: "" - pname = (p as UTSJSONObject).getString("name") ?: "" - } else { - val pObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(p)), " at utils/supabaseService.uts:1873") as UTSJSONObject - pid = pObj.getString("id") ?: "" - pname = pObj.getString("name") ?: "" - } - console.log("[getCartItems] 商品:", pid, pname, " at utils/supabaseService.uts:2012") - if (pid !== "") { - productMap.set(pid, p) - } - i++ - } - } - } - } - val shopMap = Map() - val merchantIds: UTSArray = _uA() - productMap.forEach(fun(p: Any, pid: String){ - var mid: String = "" - if (p is UTSJSONObject) { - mid = (p as UTSJSONObject).getString("merchant_id") ?: "" - } else { - val pObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(p)), " at utils/supabaseService.uts:1894") as UTSJSONObject - mid = pObj.getString("merchant_id") ?: "" - } - if (mid !== "" && !merchantIds.includes(mid)) { - merchantIds.push(mid) - } - } - ) - if (merchantIds.length > 0) { - val merchantIdsAny: UTSArray = _uA() - run { - var i: Number = 0 - while(i < merchantIds.length){ - merchantIdsAny.push(merchantIds[i]) - i++ - } - } - val shopRes = await(supaInstance.from("ml_shops").select("merchant_id,shop_name").`in`("merchant_id", merchantIdsAny).execute()) - if (shopRes.error == null && shopRes.data != null) { - val shops = shopRes.data as UTSArray - run { - var i: Number = 0 - while(i < shops.length){ - var s = shops[i] - var mid: String = "" - var sname: String = "" - if (s is UTSJSONObject) { - mid = (s as UTSJSONObject).getString("merchant_id") ?: "" - sname = (s as UTSJSONObject).getString("shop_name") ?: "" - } else { - val sObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(s)), " at utils/supabaseService.uts:1922") as UTSJSONObject - mid = sObj.getString("merchant_id") ?: "" - sname = sObj.getString("shop_name") ?: "" - } - if (mid !== "") { - shopMap.set(mid, sname) - } - i++ - } - } - } - } - val skuMap = Map() - if (skuIds.length > 0) { - val skuIdsAny: UTSArray = _uA() - run { - var i: Number = 0 - while(i < skuIds.length){ - skuIdsAny.push(skuIds[i]) - i++ - } - } - val skuRes = await(supaInstance.from("ml_product_skus").select("*").`in`("id", skuIdsAny).execute()) - if (skuRes.error == null && skuRes.data != null) { - val skus = skuRes.data as UTSArray - run { - var i: Number = 0 - while(i < skus.length){ - var s = skus[i] - var sid: String = "" - if (s is UTSJSONObject) { - sid = (s as UTSJSONObject).getString("id") ?: "" - } else { - val sObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(s)), " at utils/supabaseService.uts:1953") as UTSJSONObject - sid = sObj.getString("id") ?: "" - } - if (sid !== "") { - skuMap.set(sid, s) - } - i++ - } - } - } - } - val cartItems: UTSArray = _uA() - if ((cartData as UTSArray) != null) { - val cartArray = cartData as UTSArray - run { - var i: Number = 0 - while(i < cartArray.length){ - var item = cartArray[i] - var itemId: String = "" - var userIdVal: String = "" - var productId: String = "" - var skuId: String = "" - var quantity: Number = 0 - var selected: Boolean = false - var createdAt: String = "" - var updatedAt: String = "" - var cartMerchantId: String = "" - if (item is UTSJSONObject) { - itemId = (item as UTSJSONObject).getString("id") ?: "" - userIdVal = (item as UTSJSONObject).getString("user_id") ?: "" - productId = (item as UTSJSONObject).getString("product_id") ?: "" - skuId = (item as UTSJSONObject).getString("sku_id") ?: "" - quantity = (item as UTSJSONObject).getNumber("quantity") ?: 0 - selected = (item as UTSJSONObject).getBoolean("selected") ?: false - createdAt = (item as UTSJSONObject).getString("created_at") ?: "" - updatedAt = (item as UTSJSONObject).getString("updated_at") ?: "" - cartMerchantId = (item as UTSJSONObject).getString("merchant_id") ?: "" - } else { - val iObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:1989") as UTSJSONObject - itemId = iObj.getString("id") ?: "" - userIdVal = iObj.getString("user_id") ?: "" - productId = iObj.getString("product_id") ?: "" - skuId = iObj.getString("sku_id") ?: "" - quantity = iObj.getNumber("quantity") ?: 0 - selected = iObj.getBoolean("selected") ?: false - createdAt = iObj.getString("created_at") ?: "" - updatedAt = iObj.getString("updated_at") ?: "" - cartMerchantId = iObj.getString("merchant_id") ?: "" - } - val product = productMap.get(productId) - val sku = if ((skuId !== "" && skuMap.has(skuId))) { - skuMap.get(skuId) - } else { - null - } - console.log("[getCartItems] 处理购物车项:", itemId, "productId:", productId, "product存在:", product != null, "sku存在:", sku != null, " at utils/supabaseService.uts:2144") - var merchantId: String = cartMerchantId - var productName: String = "" - var productImage: String = "" - var productPrice: Number = 0 - var productSpec: String = "" - var shopNameStr: String = "未知店铺" - if (product != null) { - console.log("[getCartItems] product类型:", UTSAndroid.`typeof`(product), "instanceof UTSJSONObject:", product is UTSJSONObject, " at utils/supabaseService.uts:2154") - if (product is UTSJSONObject) { - if (merchantId == "") { - merchantId = (product as UTSJSONObject).getString("merchant_id") ?: "" - } - productName = (product as UTSJSONObject).getString("name") ?: "" - productImage = (product as UTSJSONObject).getString("main_image_url") ?: "" - productPrice = (product as UTSJSONObject).getNumber("base_price") ?: 0 - console.log("[getCartItems] 从UTSJSONObject获取: name=", productName, "price=", productPrice, " at utils/supabaseService.uts:2163") - } else { - val pObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(product)), " at utils/supabaseService.uts:2022") as UTSJSONObject - if (merchantId == "") { - merchantId = pObj.getString("merchant_id") ?: "" - } - productName = pObj.getString("name") ?: "" - productImage = pObj.getString("main_image_url") ?: "" - productPrice = pObj.getNumber("base_price") ?: 0 - console.log("[getCartItems] 从普通对象获取: name=", productName, "price=", productPrice, " at utils/supabaseService.uts:2172") - } - if (merchantId !== "" && shopMap.has(merchantId)) { - shopNameStr = shopMap.get(merchantId) ?: "未知店铺" - } - } - if (sku != null) { - if (sku is UTSJSONObject) { - val skuPrice = (sku as UTSJSONObject).getNumber("price") - if (skuPrice != null && skuPrice > 0) { - productPrice = skuPrice - } - val skuImg = (sku as UTSJSONObject).getString("image_url") - if (skuImg != null && skuImg !== "") { - productImage = skuImg - } - val specRaw = (sku as UTSJSONObject).get("specifications") - if (specRaw != null) { - if (UTSAndroid.`typeof`(specRaw) === "string") { - productSpec = specRaw as String - } else if (specRaw is UTSJSONObject) { - val keys = _uA( - "规格", - "颜色", - "尺码", - "容量", - "版本", - "型号" - ) - val result: UTSArray = _uA() - run { - var k: Number = 0 - while(k < keys.length){ - val key = keys[k] - val kVal = (specRaw as UTSJSONObject).get(key) - if (kVal != null && kVal !== "") { - result.push("" + kVal) - } - k++ - } - } - if (result.length > 0) { - productSpec = result.join(" ") - } else { - val allKeys = UTSJSONObject.keys(specRaw as UTSJSONObject) - val parts: UTSArray = _uA() - run { - var k: Number = 0 - while(k < allKeys.length){ - var kVal = (specRaw as UTSJSONObject).get(allKeys[k]) - if (kVal != null) { - parts.push("" + kVal) - } - k++ - } - } - productSpec = parts.join(" ") - } - } else { - try { - var jsonStr = JSON.stringify(specRaw) - productSpec = jsonStr.replace(UTSRegExp("[\"{}]", "g"), "").replace(UTSRegExp(",", "g"), " ").replace(UTSRegExp(":", "g"), " ") - } - catch (e: Throwable) {} - } - } - } else { - val sObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(sku)), " at utils/supabaseService.uts:2087") as UTSJSONObject - val skuPrice = sObj.getNumber("price") ?: 0 - if (skuPrice > 0) { - productPrice = skuPrice - } - val skuImg = sObj.getString("image_url") ?: "" - if (skuImg !== "") { - productImage = skuImg - } - val specRaw = sObj.get("specifications") - if (specRaw != null) { - if (UTSAndroid.`typeof`(specRaw) === "string") { - productSpec = specRaw as String - } else if (specRaw is UTSJSONObject) { - val keys = _uA( - "规格", - "颜色", - "尺码", - "容量", - "版本", - "型号" - ) - val result: UTSArray = _uA() - run { - var k: Number = 0 - while(k < keys.length){ - val key = keys[k] - val kVal = (specRaw as UTSJSONObject).get(key) - if (kVal != null && kVal !== "") { - result.push("" + kVal) - } - k++ - } - } - if (result.length > 0) { - productSpec = result.join(" ") - } else { - val allKeys = UTSJSONObject.keys(specRaw as UTSJSONObject) - val parts: UTSArray = _uA() - run { - var k: Number = 0 - while(k < allKeys.length){ - var kVal = (specRaw as UTSJSONObject).get(allKeys[k]) - if (kVal != null) { - parts.push("" + kVal) - } - k++ - } - } - productSpec = parts.join(" ") - } - } else { - try { - var jsonStr = JSON.stringify(specRaw) - productSpec = jsonStr.replace(UTSRegExp("[\"{}]", "g"), "").replace(UTSRegExp(",", "g"), " ").replace(UTSRegExp(":", "g"), " ") - } - catch (e: Throwable) {} - } - } - } - } - var shopIdStr = if (merchantId != "") { - merchantId - } else { - "unknown_shop" - } - cartItems.push(CartItem(id = itemId, user_id = userIdVal, product_id = productId, sku_id = skuId, merchant_id = merchantId, quantity = quantity, selected = selected, product_name = productName, product_image = productImage, product_price = productPrice, product_specification = productSpec, shop_id = shopIdStr, shop_name = shopNameStr, created_at = createdAt, updated_at = updatedAt)) - i++ - } - } - } - return@w cartItems - } - catch (error: Throwable) { - console.error("获取购物车异常:", error, " at utils/supabaseService.uts:2296") - return@w _uA() - } - }) - } - open fun getUserNotifications(type: String? = null): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getUserNotifications] 开始获取通知", " at utils/supabaseService.uts:2304") - val userId = this.getCurrentUserId() - if (userId == null) { - return@w _uA() - } - var query = supaInstance.from("ml_notifications").select("*").eq("user_id", userId) - if (type != null) { - query = query.eq("type", type) - } - val response = await(query.order("created_at", OrderOptions(ascending = false)).execute()) - if (response.error != null) { - console.error("获取通知失败:", response.error, " at utils/supabaseService.uts:2320") - return@w _uA() - } - val rawData = response.data - if (rawData == null) { - return@w _uA() - } - val notifications: UTSArray = _uA() - val rawList = rawData as UTSArray - console.log("[getUserNotifications] 获取到通知数量:", rawList.length, " at utils/supabaseService.uts:2329") - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val noteObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:2188") as UTSJSONObject - val getSafeString = fun(key: String): String { - val kVal = noteObj.get(key) - if (kVal == null) { - return "" - } - if (UTSAndroid.`typeof`(kVal) == "string") { - return kVal as String - } - return "" - } - val getSafeBoolean = fun(key: String): Boolean { - val kVal = noteObj.get(key) - if (kVal == null) { - return false - } - if (UTSAndroid.`typeof`(kVal) == "boolean") { - return kVal as Boolean - } - if (UTSAndroid.`typeof`(kVal) == "number") { - return (kVal as Number) == 1 - } - return false - } - val note = Notification(id = getSafeString("id"), user_id = getSafeString("user_id"), type = getSafeString("type"), title = getSafeString("title"), content = getSafeString("content"), is_read = getSafeBoolean("is_read"), icon_url = getSafeString("icon_url"), link_url = getSafeString("link_url"), extra_data = getSafeString("extra_data"), created_at = getSafeString("created_at")) - notifications.push(note) - i++ - } - } - return@w notifications - } - catch (e: Throwable) { - console.error("获取通知异常:", e, " at utils/supabaseService.uts:2373") - return@w _uA() - } - }) - } - open fun getChatRooms(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getChatRooms] 开始获取聊天会话", " at utils/supabaseService.uts:2381") - val userId = this.getCurrentUserId() - if (userId == null) { - return@w _uA() - } - val response = await(supaInstance.from("ml_chat_rooms").select("*").eq("user_id", userId).order("updated_at", OrderOptions(ascending = false)).execute()) - if (response.error != null) { - console.error("获取聊天会话失败:", response.error, " at utils/supabaseService.uts:2393") - return@w _uA() - } - val rawData = response.data - if (rawData == null) { - return@w _uA() - } - val rooms: UTSArray = _uA() - val rawList = rawData as UTSArray - console.log("[getChatRooms] 获取到会话数量:", rawList.length, " at utils/supabaseService.uts:2402") - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val roomObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:2261") as UTSJSONObject - val getSafeString = fun(key: String): String { - val kVal = roomObj.get(key) - if (kVal == null) { - return "" - } - if (UTSAndroid.`typeof`(kVal) == "string") { - return kVal as String - } - return "" - } - val getSafeNumber = fun(key: String): Number { - val kVal = roomObj.get(key) - if (kVal == null) { - return 0 - } - if (UTSAndroid.`typeof`(kVal) == "number") { - return kVal as Number - } - return 0 - } - val getSafeBoolean = fun(key: String): Boolean { - val kVal = roomObj.get(key) - if (kVal == null) { - return false - } - if (UTSAndroid.`typeof`(kVal) == "boolean") { - return kVal as Boolean - } - if (UTSAndroid.`typeof`(kVal) == "number") { - return (kVal as Number) == 1 - } - return false - } - val room = ChatRoom(id = getSafeString("id"), user_id = getSafeString("user_id"), merchant_id = getSafeString("merchant_id"), shop_name = getSafeString("shop_name"), shop_logo = getSafeString("shop_logo"), last_message = getSafeString("last_message"), last_message_at = getSafeString("last_message_at"), unread_count = getSafeNumber("unread_count"), is_top = getSafeBoolean("is_top"), created_at = getSafeString("created_at"), updated_at = getSafeString("updated_at")) - rooms.push(room) - i++ - } - } - return@w rooms - } - catch (e: Throwable) { - console.error("获取聊天会话异常:", e, " at utils/supabaseService.uts:2447") - return@w _uA() - } - }) - } - open fun getUserChatMessages(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w _uA() - } - val response = await(supaInstance.from("ml_chat_messages").select("*").or("sender_id.eq." + userId + ",receiver_id.eq." + userId).order("created_at", OrderOptions(ascending = false)).limit(50).execute()) - if (response.error != null) { - console.error("获取聊天记录失败:", response.error, " at utils/supabaseService.uts:2467") - return@w _uA() - } - return@w response.data as UTSArray - } - catch (e: Throwable) { - console.error("获取聊天记录异常:", e, " at utils/supabaseService.uts:2472") - return@w _uA() - } - }) - } - open fun getChatMessages(merchantId: String, page: Number = 1, pageSize: Number = 20): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getChatMessages] 开始获取聊天记录,merchantId:", merchantId, "page:", page, " at utils/supabaseService.uts:2480") - val userId = this.getCurrentUserId() - if (userId == null) { - return@w _uA() - } - val fromIndex = (page - 1) * pageSize - val toIndex = fromIndex + pageSize - 1 - val queryStr = "and(sender_id.eq." + userId + ",receiver_id.eq." + merchantId + "),and(sender_id.eq." + merchantId + ",receiver_id.eq." + userId + ")" - val response = await(supaInstance.from("ml_chat_messages").select("*").or(queryStr).order("created_at", OrderOptions(ascending = false)).range(fromIndex, toIndex).execute()) - if (response.error != null) { - console.error("getChatMessages error:", response.error, " at utils/supabaseService.uts:2499") - return@w _uA() - } - val rawData = response.data - if (rawData == null) { - return@w _uA() - } - val messages: UTSArray = _uA() - val rawList = rawData as UTSArray - console.log("[getChatMessages] 获取到消息数量:", rawList.length, " at utils/supabaseService.uts:2508") - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val msgObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:2364") as UTSJSONObject - val getSafeString = fun(key: String): String { - val kVal = msgObj.get(key) - if (kVal == null) { - return "" - } - return kVal.toString() - } - val getSafeBoolean = fun(key: String): Boolean { - val kVal = msgObj.get(key) - if (kVal == null) { - return false - } - if (UTSAndroid.`typeof`(kVal) == "boolean") { - return kVal as Boolean - } - return (kVal.toString() == "1" || kVal.toString() == "true") - } - val msg = ChatMessage(id = getSafeString("id"), session_id = getSafeString("session_id"), sender_id = getSafeString("sender_id"), receiver_id = getSafeString("receiver_id"), content = getSafeString("content"), msg_type = getSafeString("msg_type"), is_read = getSafeBoolean("is_read"), is_from_user = getSafeBoolean("is_from_user"), extra_data = getSafeString("extra_data"), created_at = getSafeString("created_at")) - messages.push(msg) - i++ - } - } - return@w messages - } - catch (e: Throwable) { - console.error("获取聊天记录异常:", e, " at utils/supabaseService.uts:2543") - return@w _uA() - } - }) - } - open fun sendChatMessage(content: String, toId: String? = null, type: String = "text"): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w false - } - val payload: UTSJSONObject = _uO("__\$originalPosition" to UTSSourceMapPosition("payload", "utils/supabaseService.uts", 2406, 19), "sender_id" to userId, "content" to content, "msg_type" to type, "is_from_user" to true, "created_at" to Date().toISOString()) - if (toId != null) { - payload.set("receiver_id", toId) - } - val response = await(supaInstance.from("ml_chat_messages").insert(payload).execute()) - if (response.error != null) { - console.error("发送消息失败:", response.error, " at utils/supabaseService.uts:2571") - return@w false - } - return@w true - } - catch (e: Throwable) { - console.error("发送消息异常:", e, " at utils/supabaseService.uts:2576") - return@w false - } - }) - } - open fun simulateServiceReply(content: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w false - } - val response = await(supaInstance.from("ml_chat_messages").insert(_uO("receiver_id" to userId, "content" to content, "msg_type" to "text", "is_from_user" to false, "created_at" to Date().toISOString())).execute()) - return@w response.error == null - } - catch (e: Throwable) { - return@w false - } - }) - } - open fun addToCart(productId: String, quantity: Number = 1, skuId: String = "", merchantId: String = ""): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("用户未登录,无法添加商品到购物车", " at utils/supabaseService.uts:2608") - return@w false - } - val realSkuId = if ((skuId != null && skuId.length > 0)) { - skuId - } else { - null - } - val realMerchantId = if ((merchantId != null && merchantId.length > 0)) { - merchantId - } else { - null - } - var query = supaInstance.from("ml_shopping_cart").select("*").eq("user_id", userId).eq("product_id", productId) - if (realSkuId != null) { - query = query.eq("sku_id", realSkuId) - } else { - query = query.`is`("sku_id", null) - } - val existingResponse = await(query.single().execute()) - var existingItem: Any? = null - if (existingResponse.data != null) { - val rawData = existingResponse.data as Any - if (UTSArray.isArray(rawData)) { - if ((rawData as UTSArray).length > 0) { - existingItem = (rawData as UTSArray)[0] - } - } else { - existingItem = rawData - } - } - var response: AkReqResponse - if (existingItem != null) { - console.log("Found existing cart item:", JSON.stringify(existingItem), " at utils/supabaseService.uts:2647") - var itemId: String? = null - var itemQty: Any? = null - if (existingItem is UTSJSONObject) { - itemId = (existingItem as UTSJSONObject).getString("id") - itemQty = (existingItem as UTSJSONObject).getNumber("quantity") - } else { - val obj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(existingItem)), " at utils/supabaseService.uts:2501") as UTSJSONObject - itemId = obj.getString("id") - itemQty = obj.getNumber("quantity") - } - if (itemId != null) { - var currentQty: Number = 0 - if (UTSAndroid.`typeof`(itemQty) === "number") { - currentQty = itemQty as Number - } else { - val qStr = "" + (itemQty ?: 0) - currentQty = parseInt(qStr) - } - val newQty = currentQty + quantity - response = await(supaInstance.from("ml_shopping_cart").update(object : UTSJSONObject() { - var quantity = newQty - var merchant_id = realMerchantId - var updated_at = Date().toISOString() - }).eq("id", itemId).execute()) - } else { - console.error("购物车已有商品但缺少ID,无法更新. Data:", JSON.stringify(existingItem), " at utils/supabaseService.uts:2682") - return@w false - } - } else { - val cartPayload = UTSJSONObject(UTSSourceMapPosition("cartPayload", "utils/supabaseService.uts", 2532, 23)) - cartPayload.set("user_id", userId) - cartPayload.set("product_id", productId) - cartPayload.set("sku_id", realSkuId) - cartPayload.set("quantity", quantity) - cartPayload.set("selected", true) - cartPayload.set("created_at", Date().toISOString()) - cartPayload.set("updated_at", Date().toISOString()) - if (realMerchantId != null) { - cartPayload.set("merchant_id", realMerchantId) - } - response = await(supaInstance.from("ml_shopping_cart").insert(cartPayload).execute()) - } - if (response.error != null) { - console.error("添加商品到购物车失败:", response.error, " at utils/supabaseService.uts:2706") - return@w false - } - return@w true - } - catch (error: Throwable) { - console.error("添加商品到购物车异常:", error, " at utils/supabaseService.uts:2712") - return@w false - } - }) - } - open fun updateCartItemQuantity(cartItemId: String, quantity: Number): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("用户未登录,无法更新购物车", " at utils/supabaseService.uts:2722") - return@w false - } - if (quantity < 1) { - return@w await(this.deleteCartItem(cartItemId)) - } - val response = await(supaInstance.from("ml_shopping_cart").update(_uO("quantity" to quantity, "updated_at" to Date().toISOString())).eq("id", cartItemId).eq("user_id", userId).execute()) - if (response.error != null) { - console.error("更新购物车商品数量失败:", response.error, " at utils/supabaseService.uts:2742") - return@w false - } - return@w true - } - catch (error: Throwable) { - console.error("更新购物车商品数量异常:", error, " at utils/supabaseService.uts:2748") - return@w false - } - }) - } - open fun updateCartItemSelection(cartItemId: String, selected: Boolean): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("用户未登录,无法更新购物车", " at utils/supabaseService.uts:2758") - return@w false - } - val response = await(supaInstance.from("ml_shopping_cart").update(_uO("selected" to selected, "updated_at" to Date().toISOString())).eq("id", cartItemId).eq("user_id", userId).execute()) - if (response.error != null) { - console.error("更新购物车商品选中状态失败:", response.error, " at utils/supabaseService.uts:2773") - return@w false - } - return@w true - } - catch (error: Throwable) { - console.error("更新购物车商品选中状态异常:", error, " at utils/supabaseService.uts:2779") - return@w false - } - }) - } - open fun batchUpdateCartItemSelection(cartItemIds: UTSArray, selected: Boolean): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - console.log("[batchUpdateCartItemSelection] 开始批量更新", " at utils/supabaseService.uts:2787") - console.log("[batchUpdateCartItemSelection] cartItemIds:", JSON.stringify(cartItemIds), " at utils/supabaseService.uts:2788") - console.log("[batchUpdateCartItemSelection] cartItemIds length:", cartItemIds.length, " at utils/supabaseService.uts:2789") - console.log("[batchUpdateCartItemSelection] selected:", selected, " at utils/supabaseService.uts:2790") - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("用户未登录,无法更新购物车", " at utils/supabaseService.uts:2794") - return@w false - } - val response = await(supaInstance.from("ml_shopping_cart").update(_uO("selected" to selected, "updated_at" to Date().toISOString())).eq("user_id", userId).`in`("id", cartItemIds as UTSArray).execute()) - console.log("[batchUpdateCartItemSelection] response.error:", response.error, " at utils/supabaseService.uts:2808") - console.log("[batchUpdateCartItemSelection] response.data:", JSON.stringify(response.data), " at utils/supabaseService.uts:2809") - if (response.error != null) { - console.error("批量更新购物车商品选中状态失败:", response.error, " at utils/supabaseService.uts:2812") - return@w false - } - return@w true - } - catch (error: Throwable) { - console.error("批量更新购物车商品选中状态异常:", error, " at utils/supabaseService.uts:2818") - return@w false - } - }) - } - open fun deleteCartItem(cartItemId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - console.log("正在执行删除购物车商品,ID:", cartItemId, " at utils/supabaseService.uts:2826") - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("用户未登录,无法删除购物车商品", " at utils/supabaseService.uts:2829") - return@w false - } - val response = await(supaInstance.from("ml_shopping_cart").eq("id", cartItemId).eq("user_id", userId).`delete`().execute()) - if (response.error != null) { - console.error("删除购物车商品失败:", response.error, " at utils/supabaseService.uts:2841") - return@w false - } - return@w true - } - catch (error: Throwable) { - console.error("删除购物车商品异常:", error, " at utils/supabaseService.uts:2847") - return@w false - } - }) - } - open fun batchDeleteCartItems(cartItemIds: UTSArray): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - console.log("[batchDeleteCartItems] 开始删除, ids:", cartItemIds.length, " at utils/supabaseService.uts:2855") - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("用户未登录,无法删除购物车商品", " at utils/supabaseService.uts:2858") - return@w false - } - console.log("[batchDeleteCartItems] userId:", userId, " at utils/supabaseService.uts:2862") - val response = await(supaInstance.from("ml_shopping_cart").eq("user_id", userId).`in`("id", cartItemIds as UTSArray).`delete`().execute()) - console.log("[batchDeleteCartItems] response.error:", response.error, " at utils/supabaseService.uts:2870") - if (response.error != null) { - console.error("批量删除购物车商品失败:", response.error, " at utils/supabaseService.uts:2872") - return@w false - } - console.log("[batchDeleteCartItems] 删除成功", " at utils/supabaseService.uts:2876") - return@w true - } - catch (error: Throwable) { - console.error("批量删除购物车商品异常:", error, " at utils/supabaseService.uts:2879") - return@w false - } - }) - } - open fun clearCart(): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("用户未登录,无法清空购物车", " at utils/supabaseService.uts:2889") - return@w false - } - val response = await(supaInstance.from("ml_shopping_cart").eq("user_id", userId).`delete`().execute()) - if (response.error != null) { - console.error("清空购物车失败:", response.error, " at utils/supabaseService.uts:2900") - return@w false - } - return@w true - } - catch (error: Throwable) { - console.error("清空购物车异常:", error, " at utils/supabaseService.uts:2906") - return@w false - } - }) - } - open fun getAddresses(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - val userId = this.getCurrentUserId() - if (userId == null) { - console.warn("[getAddresses] 用户未登录,无法获取地址", " at utils/supabaseService.uts:2915") - return@w _uA() - } - try { - console.log("[getAddresses] 查询地址, userId:", userId, " at utils/supabaseService.uts:2920") - val response = await(supaInstance.from("ml_user_addresses").select("*").eq("user_id", userId).order("is_default", OrderOptions(ascending = false)).order("created_at", OrderOptions(ascending = false)).execute()) - console.log("[getAddresses] response.error:", response.error, " at utils/supabaseService.uts:2930") - console.log("[getAddresses] response.data:", JSON.stringify(response.data), " at utils/supabaseService.uts:2931") - if (response.error != null) { - console.error("[getAddresses] 获取地址失败:", response.error, " at utils/supabaseService.uts:2934") - return@w _uA() - } - val data = response.data - if (data == null) { - return@w _uA() - } - val result: UTSArray = _uA() - val rawData = data as UTSArray - run { - var i: Number = 0 - while(i < rawData.length){ - val item = rawData[i] - var itemObj: UTSJSONObject - if (item is UTSJSONObject) { - itemObj = item as UTSJSONObject - } else { - itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:2767") as UTSJSONObject - } - val addr = UserAddress(id = itemObj.getString("id") ?: "", user_id = itemObj.getString("user_id") ?: "", recipient_name = itemObj.getString("receiver_name") ?: itemObj.getString("recipient_name") ?: "", phone = itemObj.getString("receiver_phone") ?: itemObj.getString("phone") ?: "", province = itemObj.getString("province") ?: "", city = itemObj.getString("city") ?: "", district = itemObj.getString("district") ?: "", detail_address = itemObj.getString("address_detail") ?: itemObj.getString("detail_address") ?: "", is_default = itemObj.getBoolean("is_default") ?: false, label = itemObj.getString("label") ?: "", created_at = itemObj.getString("created_at") ?: "", updated_at = itemObj.getString("updated_at") ?: "") - result.push(addr) - i++ - } - } - console.log("[getAddresses] 返回地址数量:", result.length, " at utils/supabaseService.uts:2971") - return@w result - } - catch (error: Throwable) { - console.error("[getAddresses] 获取地址异常:", error, " at utils/supabaseService.uts:2974") - return@w _uA() - } - }) - } - open fun getAddressById(addressId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - val userId = this.getCurrentUserId() - if (userId == null) { - console.warn("用户未登录,无法获取地址", " at utils/supabaseService.uts:2983") - return@w null - } - try { - val query = supaInstance.from("ml_user_addresses").select("*, recipient_name:receiver_name, phone:receiver_phone, detail_address:address_detail").eq("id", addressId).eq("user_id", userId).single() - val response = await(query.execute()) - if (response.error != null) { - console.error("获取地址详情失败:", response.error, " at utils/supabaseService.uts:2998") - return@w null - } - return@w response.data as UserAddress - } - catch (error: Throwable) { - console.error("获取地址详情异常:", error, " at utils/supabaseService.uts:3004") - return@w null - } - }) - } - open fun addAddress(address: AddAddressParams): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("用户未登录,无法添加地址", " at utils/supabaseService.uts:3014") - return@w false - } - if (address.is_default == true) { - await(this.clearDefaultAddress(userId)) - } - val response = await(supaInstance.from("ml_user_addresses").insert(object : UTSJSONObject() { - var user_id = userId - var receiver_name = address.recipient_name - var receiver_phone = address.phone - var province = address.province - var city = address.city - var district = address.district - var address_detail = address.detail_address - var postal_code = address.postal_code ?: null - var is_default = address.is_default ?: false - var created_at = Date().toISOString() - var updated_at = Date().toISOString() - }).execute()) - if (response.error != null) { - console.error("添加地址失败:", response.error, " at utils/supabaseService.uts:3041") - return@w false - } - return@w true - } - catch (error: Throwable) { - console.error("添加地址异常:", error, " at utils/supabaseService.uts:3047") - return@w false - } - }) - } - open fun updateAddress(addressId: String, address: UpdateAddressParams): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("用户未登录,无法更新地址", " at utils/supabaseService.uts:3057") - return@w false - } - if (address.is_default == true) { - await(this.clearDefaultAddress(userId)) - } - val updateData: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("updateData", "utils/supabaseService.uts", 2871, 19)) { - } - if (address.recipient_name != null) { - updateData["receiver_name"] = address.recipient_name - } - if (address.phone != null) { - updateData["receiver_phone"] = address.phone - } - if (address.province != null) { - updateData["province"] = address.province - } - if (address.city != null) { - updateData["city"] = address.city - } - if (address.district != null) { - updateData["district"] = address.district - } - if (address.detail_address != null) { - updateData["address_detail"] = address.detail_address - } - if (address.postal_code != null) { - updateData["postal_code"] = address.postal_code - } - if (address.is_default != null) { - updateData["is_default"] = address.is_default - } - if (address.label != null) { - updateData["label"] = address.label - } - updateData["updated_at"] = Date().toISOString() - val response = await(supaInstance.from("ml_user_addresses").update(updateData).eq("id", addressId).eq("user_id", userId).execute()) - if (response.error != null) { - console.error("更新地址失败:", response.error, " at utils/supabaseService.uts:3087") - return@w false - } - return@w true - } - catch (error: Throwable) { - console.error("更新地址异常:", error, " at utils/supabaseService.uts:3093") - return@w false - } - }) - } - open fun confirmReceipt(orderId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - console.log("[confirmReceipt] 开始确认收货, orderId:", orderId, " at utils/supabaseService.uts:3100") - try { - val userId = this.getCurrentUserId() - console.log("[confirmReceipt] userId:", userId, " at utils/supabaseService.uts:3103") - if (userId == null) { - return@w ConfirmReceiptResponse(success = false, error = "用户未登录") - } - val updateData = UTSJSONObject(UTSSourceMapPosition("updateData", "utils/supabaseService.uts", 2917, 19)) - updateData.set("order_status", 4) - updateData.set("delivered_at", Date().toISOString()) - updateData.set("completed_at", Date().toISOString()) - updateData.set("updated_at", Date().toISOString()) - console.log("[confirmReceipt] 准备更新订单状态, updateData:", JSON.stringify(updateData), " at utils/supabaseService.uts:3114") - val response = await(supaInstance.from("ml_orders").update(updateData).eq("id", orderId).eq("user_id", userId).execute()) - console.log("[confirmReceipt] response.status:", response.status, " at utils/supabaseService.uts:3123") - console.log("[confirmReceipt] response.error:", response.error, " at utils/supabaseService.uts:3124") - console.log("[confirmReceipt] response.data:", JSON.stringify(response.data), " at utils/supabaseService.uts:3125") - if (response.status != null && response.status >= 400) { - var errorMsg = "请求失败" - if (response.data != null) { - try { - val errorData = response.data as UTSJSONObject - val msg = errorData.getString("message") - if (msg != null) { - errorMsg = msg - } - } - catch (e: Throwable) {} - } - console.log("[confirmReceipt] HTTP错误:", response.status, errorMsg, " at utils/supabaseService.uts:3142") - return@w ConfirmReceiptResponse(success = false, error = errorMsg) - } - if (response.error != null) { - return@w ConfirmReceiptResponse(success = false, error = response.error!!.message) - } - if (response.data != null) { - try { - val respData = response.data as UTSJSONObject - val errorCode = respData.getString("code") - if (errorCode != null) { - val errorMsg = respData.getString("message") ?: "数据库错误" - console.log("[confirmReceipt] 数据库错误:", errorCode, errorMsg, " at utils/supabaseService.uts:3157") - return@w ConfirmReceiptResponse(success = false, error = errorMsg) - } - } - catch (e: Throwable) {} - } - if (response.data == null || (UTSArray.isArray(response.data) && (response.data as UTSArray).length === 0)) { - console.log("[confirmReceipt] 没有数据被更新,可能订单不存在或无权限", " at utils/supabaseService.uts:3167") - return@w ConfirmReceiptResponse(success = false, error = "订单不存在或无权限更新") - } - console.log("[confirmReceipt] 确认收货成功", " at utils/supabaseService.uts:3171") - return@w ConfirmReceiptResponse(success = true) - } - catch (e: Throwable) { - console.error("[confirmReceipt] 异常:", e, " at utils/supabaseService.uts:3174") - return@w ConfirmReceiptResponse(success = false, error = e.message) - } - }) - } - open fun cancelOrder(orderId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w false - } - val response = await(supaInstance.from("ml_orders").update(object : UTSJSONObject() { - var order_status: Number = 5 - var updated_at = Date().toISOString() - }).eq("id", orderId).eq("user_id", userId).execute()) - if (response.error != null) { - console.error("取消订单失败:", response.error, " at utils/supabaseService.uts:3198") - return@w false - } - return@w true - } - catch (e: Throwable) { - console.error("取消订单异常:", e, " at utils/supabaseService.uts:3204") - return@w false - } - }) - } - open fun deleteOrder(orderId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w false - } - val response = await(supaInstance.from("ml_orders").`delete`().eq("id", orderId).eq("user_id", userId).execute()) - if (response.error != null) { - console.error("删除订单失败:", response.error, " at utils/supabaseService.uts:3225") - return@w false - } - return@w true - } - catch (e: Throwable) { - console.error("删除订单异常:", e, " at utils/supabaseService.uts:3231") - return@w false - } - }) - } - open fun confirmOrderReceived(orderId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w false - } - val response = await(supaInstance.from("ml_orders").update(object : UTSJSONObject() { - var order_status: Number = 4 - var shipping_status: Number = 3 - var updated_at = Date().toISOString() - }).eq("id", orderId).eq("user_id", userId).execute()) - if (response.error != null) { - console.error("确认收货失败:", response.error, " at utils/supabaseService.uts:3256") - return@w false - } - return@w true - } - catch (e: Throwable) { - console.error("确认收货异常:", e, " at utils/supabaseService.uts:3262") - return@w false - } - }) - } - open fun deleteAddress(addressId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - console.log("正在执行删除地址,ID:", addressId, " at utils/supabaseService.uts:3270") - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("用户未登录,无法删除地址", " at utils/supabaseService.uts:3273") - return@w false - } - val response = await(supaInstance.from("ml_user_addresses").eq("id", addressId).eq("user_id", userId).`delete`().execute()) - if (response.error != null) { - console.error("删除地址失败:", response.error, " at utils/supabaseService.uts:3285") - return@w false - } - return@w true - } - catch (error: Throwable) { - console.error("删除地址异常:", error, " at utils/supabaseService.uts:3291") - return@w false - } - }) - } - private fun clearDefaultAddress(userId: String): UTSPromise { - return wrapUTSPromise(suspend { - try { - await(supaInstance.from("ml_user_addresses").update(object : UTSJSONObject() { - var is_default = false - var updated_at = Date().toISOString() - }).eq("user_id", userId).eq("is_default", true).execute()) - } - catch (error: Throwable) { - console.error("清除默认地址异常:", error, " at utils/supabaseService.uts:3309") - } - }) - } - open fun getUserProfile(): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w null - } - val response = await(supaInstance.from("ml_user_profiles").select("*").eq("user_id", userId).limit(1).execute()) - if (response.error != null) { - return@w null - } - val rawData = response.data - if (rawData == null) { - return@w null - } - val rawList = rawData as UTSArray - if (rawList.length == 0) { - return@w null - } - return@w rawList[0] - } - catch (e: Throwable) { - return@w null - } - }) - } - open fun createOrder(orderData: CreateOrderParams): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("CreateOrder: User not logged in", " at utils/supabaseService.uts:3352") - return@w null - } - val orderNo = "ML" + Date.now() + Math.floor(Math.random() * 1000) - var merchantId = orderData.merchant_id - console.log("[CreateOrder] 原始 merchant_id:", merchantId, " at utils/supabaseService.uts:3359") - if (merchantId == null || merchantId == "" || merchantId == "unknown") { - console.warn("[CreateOrder] merchant_id 为空或无效,将使用 userId 作为 fallback", " at utils/supabaseService.uts:3361") - merchantId = userId - } - console.log("[CreateOrder] 最终使用的 merchant_id:", merchantId, " at utils/supabaseService.uts:3364") - var shippingAddrStr = "{}" - if (orderData.shipping_address != null) { - if (UTSAndroid.`typeof`(orderData.shipping_address) === "string") { - shippingAddrStr = orderData.shipping_address as String - } else { - shippingAddrStr = JSON.stringify(orderData.shipping_address) - } - } - val orderPayload = UTSJSONObject(UTSSourceMapPosition("orderPayload", "utils/supabaseService.uts", 3161, 19)) - orderPayload.set("user_id", userId) - orderPayload.set("merchant_id", merchantId) - orderPayload.set("order_no", orderNo) - orderPayload.set("product_amount", orderData.product_amount) - orderPayload.set("shipping_fee", orderData.shipping_fee) - orderPayload.set("total_amount", orderData.total_amount) - orderPayload.set("paid_amount", 0) - orderPayload.set("shipping_address", shippingAddrStr) - orderPayload.set("order_status", 1) - orderPayload.set("payment_status", 1) - orderPayload.set("shipping_status", 1) - orderPayload.set("created_at", Date().toISOString()) - orderPayload.set("updated_at", Date().toISOString()) - console.log("[CreateOrder] 插入订单数据:", JSON.stringify(orderPayload), " at utils/supabaseService.uts:3390") - console.log("[CreateOrder] 期望的订单号:", orderNo, " at utils/supabaseService.uts:3391") - val orderResponse = await(supaInstance.from("ml_orders").insert(orderPayload).execute()) - console.log("[CreateOrder] insert 完成", " at utils/supabaseService.uts:3398") - console.log("[CreateOrder] orderResponse.error:", orderResponse.error, " at utils/supabaseService.uts:3399") - if (orderResponse.error != null) { - console.error("[CreateOrder] 创建订单失败:", orderResponse.error, " at utils/supabaseService.uts:3402") - return@w null - } - console.log("[CreateOrder] 开始查询新创建的订单, order_no:", orderNo, " at utils/supabaseService.uts:3406") - val queryResponse = await(supaInstance.from("ml_orders").select("id, order_no").eq("order_no", orderNo).execute()) - console.log("[CreateOrder] queryResponse.error:", queryResponse.error, " at utils/supabaseService.uts:3414") - console.log("[CreateOrder] queryResponse.data:", JSON.stringify(queryResponse.data), " at utils/supabaseService.uts:3415") - if (queryResponse.error != null) { - console.error("[CreateOrder] 查询订单失败:", queryResponse.error, " at utils/supabaseService.uts:3418") - return@w null - } - val queryData = queryResponse.data as Any - var orderId = "" - console.log("[CreateOrder] queryData 类型:", UTSAndroid.`typeof`(queryData), "是否数组:", UTSArray.isArray(queryData), " at utils/supabaseService.uts:3425") - if (UTSArray.isArray(queryData) && (queryData as UTSArray).length > 0) { - console.log("[CreateOrder] queryData 长度:", (queryData as UTSArray).length, " at utils/supabaseService.uts:3428") - val firstItemRaw = (queryData as UTSArray)[0] - console.log("[CreateOrder] firstItemRaw 类型:", UTSAndroid.`typeof`(firstItemRaw), " at utils/supabaseService.uts:3430") - val firstItemStr = JSON.stringify(firstItemRaw) - val firstItemParsed = UTSAndroid.consoleDebugError(JSON.parse(firstItemStr), " at utils/supabaseService.uts:3208") - if (firstItemParsed == null) { - console.error("[CreateOrder] 解析订单数据失败", " at utils/supabaseService.uts:3436") - return@w null - } - val firstItem = firstItemParsed as UTSJSONObject - orderId = (firstItem.getString("id") ?: "") as String - console.log("[CreateOrder] 找到新创建的订单, id:", orderId, " at utils/supabaseService.uts:3441") - } else { - console.error("[CreateOrder] 未找到新创建的订单,插入可能失败", " at utils/supabaseService.uts:3443") - return@w null - } - console.log("[CreateOrder] 订单创建成功, orderId:", orderId, " at utils/supabaseService.uts:3447") - val orderItems: UTSArray = _uA() - console.log("[CreateOrder] orderData.items 类型:", UTSAndroid.`typeof`(orderData.items), "是否数组:", UTSArray.isArray(orderData.items), " at utils/supabaseService.uts:3450") - if (orderData.items == null) { - console.error("[CreateOrder] orderData.items 为 null!", " at utils/supabaseService.uts:3453") - return@w orderId - } - val rawItems = orderData.items as UTSArray - console.log("[CreateOrder] rawItems 长度:", rawItems.length, " at utils/supabaseService.uts:3458") - if (rawItems.length === 0) { - console.warn("[CreateOrder] rawItems 为空数组,没有商品项需要插入", " at utils/supabaseService.uts:3461") - return@w orderId - } - run { - var i: Number = 0 - while(i < rawItems.length){ - val rawItem = rawItems[i] - val itemStr = JSON.stringify(rawItem) - val itemParsed = UTSAndroid.consoleDebugError(JSON.parse(itemStr), " at utils/supabaseService.uts:3237") - if (itemParsed == null) { - console.error("[CreateOrder] 商品项解析失败", " at utils/supabaseService.uts:3470") - i++ - continue - } - val item = itemParsed as UTSJSONObject - val itemJson = UTSJSONObject(UTSSourceMapPosition("itemJson", "utils/supabaseService.uts", 3243, 23)) - var pId = item.get("product_id") - if (pId == null) { - pId = item.get("id") - } - val productId = (pId ?: "") as String - itemJson.set("order_id", orderId) - itemJson.set("product_id", productId) - val skuIdVal = item.get("sku_id") - if (skuIdVal != null && skuIdVal !== "") { - itemJson.set("sku_id", skuIdVal as String) - } - val productName = (item.get("product_name") ?: "") as String - itemJson.set("product_name", productName) - val sName = item.get("sku_name") - itemJson.set("sku_name", (sName ?: "") as String) - val specVal = item.get("specifications") - var skuSnapshot = "{}" - if (specVal != null) { - if (UTSAndroid.`typeof`(specVal) === "string") { - skuSnapshot = specVal as String - } else { - skuSnapshot = JSON.stringify(specVal) - } - } - itemJson.set("sku_snapshot", skuSnapshot) - itemJson.set("specifications", skuSnapshot) - val img1 = item.get("product_image") - val img2 = item.get("image_url") - var imgUrl = ((img1 ?: img2 ?: "") as String) - while(imgUrl.indexOf("`") >= 0){ - imgUrl = imgUrl.replace("`", "") - } - itemJson.set("image_url", imgUrl) - val iPriceRaw = item.getNumber("price") ?: 0 - val iMemberPrice = item.getNumber("member_price") ?: 0 - val iPrice = if ((iMemberPrice > 0 && iMemberPrice < iPriceRaw)) { - iMemberPrice - } else { - iPriceRaw - } - val iQty = item.getNumber("quantity") ?: 1 - itemJson.set("price", iPrice) - itemJson.set("quantity", iQty) - itemJson.set("total_amount", iPrice * iQty) - itemJson.set("created_at", Date().toISOString()) - orderItems.push(itemJson) - i++ - } - } - console.log("[CreateOrder] 插入订单项数量:", orderItems.length, " at utils/supabaseService.uts:3530") - run { - var j: Number = 0 - while(j < orderItems.length){ - console.log("[CreateOrder] 开始插入订单项", j, " at utils/supabaseService.uts:3533") - val itemJson = orderItems[j] - console.log("[CreateOrder] 序列化订单项...", " at utils/supabaseService.uts:3536") - val itemObjStr = JSON.stringify(itemJson) - console.log("[CreateOrder] 订单项 JSON:", itemObjStr, " at utils/supabaseService.uts:3538") - val itemObjParsed = UTSAndroid.consoleDebugError(JSON.parse(itemObjStr), " at utils/supabaseService.uts:3297") - console.log("[CreateOrder] itemObjParsed 类型:", UTSAndroid.`typeof`(itemObjParsed), " at utils/supabaseService.uts:3540") - if (itemObjParsed == null) { - console.error("[CreateOrder] 订单项转换失败", " at utils/supabaseService.uts:3542") - j++ - continue - } - val itemObj = itemObjParsed as UTSJSONObject - console.log("[CreateOrder] 执行 insert...", " at utils/supabaseService.uts:3548") - val itemsResponse = await(supaInstance.from("ml_order_items").insert(itemObj).execute()) - console.log("[CreateOrder] insert 完成, error:", itemsResponse.error, " at utils/supabaseService.uts:3555") - if (itemsResponse.error != null) { - console.error("[CreateOrder] 创建订单项失败:", itemsResponse.error, " at utils/supabaseService.uts:3557") - } - j++ - } - } - console.log("[CreateOrder] 订单项创建成功", " at utils/supabaseService.uts:3561") - val cartItemIds: UTSArray = _uA() - run { - var i: Number = 0 - while(i < rawItems.length){ - val rawItem = rawItems[i] - val itemParsed = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(rawItem)), " at utils/supabaseService.uts:3319") - if (itemParsed == null) { - i++ - continue - } - val item = itemParsed as UTSJSONObject - val iid = item.getString("id") - if (iid != null && iid.length > 10) { - cartItemIds.push(iid) - } - i++ - } - } - if (cartItemIds.length > 0) { - await(this.batchDeleteCartItems(cartItemIds)) - } - return@w orderId - } - catch (error: Throwable) { - console.error("[CreateOrder] 创建订单异常:", error, " at utils/supabaseService.uts:3581") - return@w null - } - }) - } - open fun createOrdersByShop(params: ShopOrderParams): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val orderIds: UTSArray = _uA() - val groups = params.shopGroups as UTSArray - var grandTotal: Number = 0.0 - run { - var k: Number = 0 - while(k < groups.length){ - val g = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(groups[k])), " at utils/supabaseService.uts:3345") as UTSJSONObject - val gItemsRaw = g.get("items") - if (gItemsRaw == null) { - k++ - continue - } - val gItems = gItemsRaw as UTSArray - run { - var gi: Number = 0 - while(gi < gItems.length){ - val it = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(gItems[gi])), " at utils/supabaseService.uts:3351") as UTSJSONObject - var itPrice = it.getNumber("price") ?: 0 - val itMemberPrice = it.getNumber("member_price") ?: 0 - if (itMemberPrice > 0 && itMemberPrice < itPrice) { - itPrice = itMemberPrice - } - val itQty = it.getNumber("quantity") ?: 1 - grandTotal += itPrice * itQty - gi++ - } - } - k++ - } - } - run { - var i: Number = 0 - while(i < groups.length){ - val group = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(groups[i])), " at utils/supabaseService.uts:3364") as UTSJSONObject - val shopItemsRaw = group.get("items") - if (shopItemsRaw == null) { - i++ - continue - } - val shopItems = shopItemsRaw as UTSArray - var productAmount: Number = 0.0 - run { - var j: Number = 0 - while(j < shopItems.length){ - val sItem = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(shopItems[j])), " at utils/supabaseService.uts:3371") as UTSJSONObject - var siPrice = sItem.getNumber("price") ?: 0 - val siMemberPrice = sItem.getNumber("member_price") ?: 0 - if (siMemberPrice > 0 && siMemberPrice < siPrice) { - siPrice = siMemberPrice - } - val siQty = sItem.getNumber("quantity") ?: 1 - productAmount += siPrice * siQty - j++ - } - } - val ratio = if (grandTotal > 0) { - (productAmount / grandTotal) - } else { - 0 - } - val shopShippingFee = params.deliveryFee * ratio - val shopDiscount = params.discountAmount * ratio - val shopTotal = productAmount + shopShippingFee - shopDiscount - val mId = group.getString("merchant_id") - val sId = group.getString("shopId") - val shopName = group.getString("shopName") - console.log("[createOrdersByShop] 店铺组信息:", _uO("merchant_id" to mId, "shopId" to sId, "shopName" to shopName), " at utils/supabaseService.uts:3642") - val finalMerchantId = if ((mId != null && mId != "")) { - mId - } else { - (sId ?: "") - } - console.log("[createOrdersByShop] 最终使用的 merchant_id:", finalMerchantId, " at utils/supabaseService.uts:3649") - val plainItems: UTSArray = _uA() - run { - var k: Number = 0 - while(k < shopItems.length){ - val plainItemRaw = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(shopItems[k])), " at utils/supabaseService.uts:3399") - if (plainItemRaw != null) { - plainItems.push(plainItemRaw as Any) - } - k++ - } - } - console.log("[createOrdersByShop] plainItems 数量:", plainItems.length, " at utils/supabaseService.uts:3659") - val orderId = await(this.createOrder(CreateOrderParams(merchant_id = finalMerchantId, product_amount = productAmount, shipping_fee = shopShippingFee, total_amount = shopTotal, shipping_address = params.shipping_address, items = plainItems))) - if (orderId != null) { - orderIds.push(orderId) - } else { - return@w ShopOrderResponse(success = false, orderIds = orderIds, error = "店铺 " + shopName + " 订单创建失败") - } - i++ - } - } - return@w ShopOrderResponse(success = true, orderIds = orderIds) - } - catch (e: Throwable) { - console.error("批量创建订单异常:", e, " at utils/supabaseService.uts:3679") - return@w ShopOrderResponse(success = false, orderIds = _uA(), error = "系统异常") - } - }) - } - open fun getOrders(status: Number = 0): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - var query = supaInstance.from("ml_orders").select("*, ml_order_items(*), ml_shops(shop_name)").eq("user_id", userId).order("created_at", OrderOptions(ascending = false)) - if (status > 0) { - query = query.eq("order_status", status) - } - val response = await(query.execute()) - console.log("[getOrders] response.error:", response.error, " at utils/supabaseService.uts:3706") - if (response.data != null && UTSArray.isArray(response.data)) { - console.log("[getOrders] 订单数量:", (response.data as UTSArray).length, " at utils/supabaseService.uts:3708") - } - if (response.error != null) { - console.error("获取订单列表失败:", response.error, " at utils/supabaseService.uts:3712") - val empty: UTSArray = _uA() - return@w empty - } - val data = response.data - if (data == null) { - val empty: UTSArray = _uA() - return@w empty - } - val orders = data as UTSArray - run { - var i: Number = 0 - while(i < orders.length){ - val order = orders[i] - val orderStr = JSON.stringify(order) - val orderObj = UTSAndroid.consoleDebugError(JSON.parse(orderStr), " at utils/supabaseService.uts:3464") as UTSJSONObject - val itemsRaw = orderObj.get("ml_order_items") - if (itemsRaw != null && UTSArray.isArray(itemsRaw)) { - val items = itemsRaw as UTSArray - run { - var j: Number = 0 - while(j < items.length){ - val item = items[j] - val itemStr = JSON.stringify(item) - val itemObj = UTSAndroid.consoleDebugError(JSON.parse(itemStr), " at utils/supabaseService.uts:3471") as UTSJSONObject - val imgUrl = itemObj.getString("image_url") - if (imgUrl != null) { - itemObj["image_url"] = fixImageUrl(imgUrl) - } - val prodImg = itemObj.getString("product_image") - if (prodImg != null) { - itemObj["product_image"] = fixImageUrl(prodImg) - } - items[j] = itemObj - j++ - } - } - orderObj["ml_order_items"] = items - orders[i] = orderObj - } - i++ - } - } - return@w orders - } - catch (error: Throwable) { - console.error("获取订单列表异常:", error, " at utils/supabaseService.uts:3753") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun getOrderDetail(orderId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getOrderDetail] 开始获取订单详情,orderId:", orderId, " at utils/supabaseService.uts:3762") - val userId = this.getCurrentUserId() - if (userId == null) { - return@w null - } - val response = await(supaInstance.from("ml_orders").select("*, ml_order_items(*)").eq("id", orderId).eq("user_id", userId!!).limit(1).execute()) - console.log("[getOrderDetail] response.error:", response.error, " at utils/supabaseService.uts:3774") - console.log("[getOrderDetail] response.data:", JSON.stringify(response.data), " at utils/supabaseService.uts:3775") - if (response.error != null) { - console.error("[getOrderDetail] 获取订单详情失败:", response.error, " at utils/supabaseService.uts:3778") - return@w null - } - val rawData = response.data - if (rawData == null) { - console.log("[getOrderDetail] 数据为空", " at utils/supabaseService.uts:3784") - return@w null - } - val rawList = rawData as UTSArray - if (rawList.length == 0) { - console.log("[getOrderDetail] 未找到订单", " at utils/supabaseService.uts:3790") - return@w null - } - val orderData = rawList[0] - console.log("[getOrderDetail] 成功获取订单", " at utils/supabaseService.uts:3795") - val orderObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(orderData)), " at utils/supabaseService.uts:3526") as UTSJSONObject - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 3527, 19)) - result.set("id", orderObj.get("id") ?: "") - result.set("order_no", orderObj.get("order_no") ?: "") - result.set("order_status", orderObj.get("order_status") ?: 1) - result.set("user_id", orderObj.get("user_id") ?: "") - result.set("merchant_id", orderObj.get("merchant_id") ?: "") - result.set("product_amount", orderObj.get("product_amount") ?: 0) - result.set("shipping_fee", orderObj.get("shipping_fee") ?: 0) - result.set("total_amount", orderObj.get("total_amount") ?: 0) - result.set("paid_amount", orderObj.get("paid_amount") ?: 0) - result.set("discount_amount", orderObj.get("discount_amount") ?: 0) - result.set("payment_method", orderObj.get("payment_method") ?: "") - result.set("payment_status", orderObj.get("payment_status") ?: 1) - result.set("shipping_status", orderObj.get("shipping_status") ?: 1) - result.set("created_at", orderObj.get("created_at") ?: "") - result.set("paid_at", orderObj.get("paid_at") ?: "") - result.set("shipped_at", orderObj.get("shipped_at") ?: "") - result.set("completed_at", orderObj.get("completed_at") ?: "") - result.set("shipping_address", orderObj.get("shipping_address")) - result.set("ml_order_items", orderObj.get("ml_order_items")) - result.set("tracking_no", orderObj.get("tracking_no") ?: "") - result.set("carrier_name", orderObj.get("carrier_name") ?: "") - result.set("delivered_at", orderObj.get("delivered_at") ?: "") - return@w result - } - catch (e: Throwable) { - console.error("[getOrderDetail] 获取订单详情异常:", e, " at utils/supabaseService.uts:3826") - return@w null - } - }) - } - open fun payOrder(orderId: String, paymentMethod: String, amount: Number): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("[payOrder] 用户未登录", " at utils/supabaseService.uts:3836") - return@w false - } - console.log("[payOrder] 开始更新订单状态, orderId:", orderId, "userId:", userId, " at utils/supabaseService.uts:3840") - val updatePayload = UTSJSONObject(UTSSourceMapPosition("updatePayload", "utils/supabaseService.uts", 3567, 19)) - updatePayload.set("order_status", 2) - updatePayload.set("payment_status", 1) - updatePayload.set("payment_method", paymentMethod) - updatePayload.set("payment_time", Date().toISOString()) - updatePayload.set("paid_amount", amount) - updatePayload.set("updated_at", Date().toISOString()) - console.log("[payOrder] 更新数据:", JSON.stringify(updatePayload), " at utils/supabaseService.uts:3850") - val response = await(supaInstance.from("ml_orders").update(updatePayload).eq("id", orderId).eq("user_id", userId).execute()) - if (response.error != null) { - console.error("[payOrder] 更新订单失败:", response.error, " at utils/supabaseService.uts:3860") - return@w false - } - console.log("[payOrder] 订单状态更新成功", " at utils/supabaseService.uts:3864") - if (paymentMethod === "balance") { - console.log("[payOrder] 余额支付,暂不扣减余额", " at utils/supabaseService.uts:3867") - } - return@w true - } - catch (e: Throwable) { - console.error("[payOrder] 支付异常:", e, " at utils/supabaseService.uts:3872") - return@w false - } - }) - } - open fun getOrderById(orderId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("[getOrderById] 用户未登录", " at utils/supabaseService.uts:3882") - return@w null - } - console.log("[getOrderById] 查询订单, orderId:", orderId, " at utils/supabaseService.uts:3886") - val response = await(supaInstance.from("ml_orders").select("*").eq("id", orderId).eq("user_id", userId).execute()) - if (response.error != null) { - console.error("[getOrderById] 查询订单失败:", response.error, " at utils/supabaseService.uts:3896") - return@w null - } - val data = response.data as UTSArray - if (data == null || data.length === 0) { - console.log("[getOrderById] 未找到订单", " at utils/supabaseService.uts:3902") - return@w null - } - val orderRaw = data[0] - var orderObj: UTSJSONObject - if (orderRaw is UTSJSONObject) { - orderObj = orderRaw as UTSJSONObject - } else { - orderObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(orderRaw)), " at utils/supabaseService.uts:3626") as UTSJSONObject - } - console.log("[getOrderById] 订单数据:", JSON.stringify(orderObj), " at utils/supabaseService.uts:3914") - return@w orderObj - } - catch (e: Throwable) { - console.error("[getOrderById] 查询异常:", e, " at utils/supabaseService.uts:3917") - return@w null - } - }) - } - open fun createRefund(data: Any): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - console.log("[createRefund] 开始处理退款申请", " at utils/supabaseService.uts:3925") - val userId = this.getCurrentUserId() - if (userId == null) { - console.log("[createRefund] 用户未登录", " at utils/supabaseService.uts:3928") - return@w RefundResponse(success = false, message = "请先登录") - } - val d = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(data)), " at utils/supabaseService.uts:3645") as UTSJSONObject - val orderId = d.getString("order_id") ?: "" - val refundType = d.getNumber("refund_type") - val refundReason = d.getString("refund_reason") - val refundAmount = d.getNumber("refund_amount") - val description = d.getString("description") - val images = d.getArray("images") - console.log("[createRefund] orderId:", orderId, " at utils/supabaseService.uts:3940") - console.log("[createRefund] refundType:", refundType, " at utils/supabaseService.uts:3941") - console.log("[createRefund] refundReason:", refundReason, " at utils/supabaseService.uts:3942") - console.log("[createRefund] refundAmount:", refundAmount, " at utils/supabaseService.uts:3943") - val payload: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("payload", "utils/supabaseService.uts", 3656, 19)) { - var user_id = userId - var order_id = orderId - var refund_no = "REF" + Date.now() + Math.floor(Math.random() * 1000) - var refund_type = refundType - var refund_reason = refundReason - var refund_amount = refundAmount - var description = description ?: "" - var images = images ?: (_uA()) - var status: Number = 1 - } - console.log("[createRefund] 准备插入 ml_refunds", " at utils/supabaseService.uts:3957") - val response = await(supaInstance.from("ml_refunds").insert(payload).execute()) - console.log("[createRefund] insert response.error:", response.error, " at utils/supabaseService.uts:3963") - if (response.error != null) { - console.error("提交售后失败:", response.error, " at utils/supabaseService.uts:3966") - return@w RefundResponse(success = false, message = "提交失败: " + (response.error!!.message ?: "未知错误")) - } - console.log("[createRefund] 插入成功,更新订单状态", " at utils/supabaseService.uts:3970") - val updateResponse = await(supaInstance.from("ml_orders").update(object : UTSJSONObject() { - var order_status: Number = 6 - var updated_at = Date().toISOString() - }).eq("id", orderId).execute()) - console.log("[createRefund] update response.error:", updateResponse.error, " at utils/supabaseService.uts:3981") - if (updateResponse.error != null) { - console.error("更新订单状态失败:", updateResponse.error, " at utils/supabaseService.uts:3984") - } - console.log("[createRefund] 完成,返回成功", " at utils/supabaseService.uts:3988") - return@w RefundResponse(success = true, message = "申请提交成功") - } - catch (e: Throwable) { - console.error("提交售后异常:", e, " at utils/supabaseService.uts:3991") - return@w RefundResponse(success = false, message = "系统异常") - } - }) - } - open fun cancelRefund(orderId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - console.log("[cancelRefund] 开始取消退款申请, orderId:", orderId, " at utils/supabaseService.uts:3999") - val userId = this.getCurrentUserId() - if (userId == null) { - return@w RefundResponse(success = false, message = "请先登录") - } - val refundUpdateResponse = await(supaInstance.from("ml_refunds").update(object : UTSJSONObject() { - var status: Number = 4 - var updated_at = Date().toISOString() - }).eq("order_id", orderId).eq("user_id", userId).eq("status", 1).execute()) - if (refundUpdateResponse.error != null) { - console.error("取消退款记录失败:", refundUpdateResponse.error, " at utils/supabaseService.uts:4018") - return@w RefundResponse(success = false, message = "取消失败: " + (refundUpdateResponse.error!!.message ?: "未知错误")) - } - val orderUpdateResponse = await(supaInstance.from("ml_orders").update(object : UTSJSONObject() { - var order_status: Number = 4 - var updated_at = Date().toISOString() - }).eq("id", orderId).execute()) - if (orderUpdateResponse.error != null) { - console.error("恢复订单状态失败:", orderUpdateResponse.error, " at utils/supabaseService.uts:4033") - } - return@w RefundResponse(success = true, message = "已取消退款申请") - } - catch (e: Throwable) { - console.error("取消退款异常:", e, " at utils/supabaseService.uts:4039") - return@w RefundResponse(success = false, message = "系统异常") - } - }) - } - open fun rePurchase(order: Any): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val orderObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(order)), " at utils/supabaseService.uts:3747") as UTSJSONObject - var itemsKey = "ml_order_items" - var itemsRaw = orderObj.get(itemsKey) - if (itemsRaw == null) { - itemsKey = "items" - itemsRaw = orderObj.get(itemsKey) - } - if (itemsRaw == null) { - return@w false - } - val items = itemsRaw as UTSArray - if (items.length === 0) { - return@w false - } - run { - var i: Number = 0 - while(i < items.length){ - val item = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(items[i])), " at utils/supabaseService.uts:3764") as UTSJSONObject - val productId = item.getString("product_id") - val skuId = item.getString("sku_id") - val quantity = item.getNumber("quantity") ?: 1 - if (productId != null) { - await(this.addToCart(productId, quantity, skuId ?: "", "")) - } - i++ - } - } - return@w true - } - catch (e: Throwable) { - console.error("rePurchase error", e, " at utils/supabaseService.uts:4079") - return@w false - } - }) - } - open fun applyRefund(orderId: String, reason: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val response = await(supaInstance.from("ml_orders").update(object : UTSJSONObject() { - var order_status: Number = 6 - var cancel_reason = reason - var updated_at = Date().toISOString() - }).eq("id", orderId).execute()) - return@w response.error == null - } - catch (e: Throwable) { - return@w false - } - }) - } - open fun getRefunds(statusList: UTSArray = _uA(), page: Number = 1, pageSize: Number = 10): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - var query = supaInstance.from("ml_refunds").select("\n *,\n order:ml_orders!inner (\n order_no,\n created_at,\n ml_order_items (\n product_id,\n product_name,\n image_url\n )\n )\n ").eq("user_id", userId).order("created_at", OrderOptions(ascending = false)) - if (statusList.length > 0) { - val anyList = statusList as UTSArray - query = query.`in`("status", anyList) - } - query = query.range((page - 1) * pageSize, page * pageSize - 1) - val response = await(query.execute()) - if (response.error != null) { - console.error("获取售后列表失败:", response.error, " at utils/supabaseService.uts:4141") - val empty: UTSArray = _uA() - return@w empty - } - val data = response.data - if (data == null) { - val empty: UTSArray = _uA() - return@w empty - } - return@w data - } - catch (e: Throwable) { - console.error("获取售后列表异常:", e, " at utils/supabaseService.uts:4154") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun deleteRefund(refundId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val response = await(supaInstance.from("ml_refunds").`delete`().eq("id", refundId).execute()) - if (response.error != null) { - console.error("删除退款记录失败:", response.error, " at utils/supabaseService.uts:4169") - return@w false - } - return@w true - } - catch (e: Throwable) { - console.error("删除退款记录异常:", e, " at utils/supabaseService.uts:4175") - return@w false - } - }) - } - open fun getUserBalanceNumber(): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - console.log("[Supabase] getUserBalance userId:", userId, " at utils/supabaseService.uts:4183") - if (userId == null) { - return@w 0 - } - val walletRes = await(supaInstance.from("ml_user_wallets").select("balance").eq("user_id", userId!!).single().execute()) - if (walletRes.error != null) { - console.error("[Supabase] getUserBalance error:", walletRes.error, " at utils/supabaseService.uts:4195") - } else { - console.log("[Supabase] getUserBalance data:", walletRes.data, " at utils/supabaseService.uts:4197") - } - if (walletRes.error == null && walletRes.data != null) { - var data = walletRes.data - if (UTSArray.isArray(data)) { - val arr = data as UTSArray - if (arr.length > 0) { - data = arr[0] - } - } - var kVal: Number = 0 - if (data is UTSJSONObject) { - kVal = (data as UTSJSONObject).getNumber("balance") ?: 0 - if (kVal === 0 && (data as UTSJSONObject).getString("balance") != null) { - kVal = parseFloat((data as UTSJSONObject).getString("balance")!!) - } - return@w kVal - } else { - val jsonObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(data)), " at utils/supabaseService.uts:3905") as UTSJSONObject - kVal = jsonObj.getNumber("balance") ?: 0 - if (kVal === 0 && jsonObj.getString("balance") != null) { - kVal = parseFloat(jsonObj.getString("balance")!!) - } - return@w kVal - } - } - console.log("[Supabase] Wallet table empty, checking profile...", " at utils/supabaseService.uts:4229") - val profile = await(this.getUserProfile()) - if (profile != null) { - if (profile is UTSJSONObject) { - return@w (profile as UTSJSONObject).getNumber("balance") ?: 0 - } else { - val pObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(profile)), " at utils/supabaseService.uts:3921") as UTSJSONObject - return@w pObj.getNumber("balance") ?: 0 - } - } - return@w 0 - } - catch (e: Throwable) { - console.error("[Supabase] getUserBalance exception:", e, " at utils/supabaseService.uts:4243") - return@w 0 - } - }) - } - open fun getUserPoints(): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - console.log("[Supabase] getUserPoints userId:", userId, " at utils/supabaseService.uts:4252") - if (userId == null) { - return@w 0 - } - val res = await(supaInstance.from("ml_user_points").select("points").eq("user_id", userId!!).single().execute()) - if (res.error != null) { - console.error("[Supabase] getUserPoints error:", res.error, " at utils/supabaseService.uts:4264") - } else { - console.log("[Supabase] getUserPoints data:", res.data, " at utils/supabaseService.uts:4266") - } - if (res.error == null && res.data != null) { - var data = res.data - if (UTSArray.isArray(data)) { - val arr = data as UTSArray - if (arr.length > 0) { - data = arr[0] - } - } - if (data is UTSJSONObject) { - return@w (data as UTSJSONObject).getNumber("points") ?: 0 - } else { - val jsonObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(data)), " at utils/supabaseService.uts:3966") as UTSJSONObject - val kVal = jsonObj.getNumber("points") - if (kVal != null) { - return@w kVal - } - return@w 0 - } - } - val profile = await(this.getUserProfile()) - if (profile != null) { - if (profile is UTSJSONObject) { - return@w (profile as UTSJSONObject).getNumber("points") ?: 0 - } else { - val pObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(profile)), " at utils/supabaseService.uts:3980") as UTSJSONObject - return@w pObj.getNumber("points") ?: 0 - } - } - return@w 0 - } - catch (e: Throwable) { - console.error("[Supabase] getUserPoints exception:", e, " at utils/supabaseService.uts:4304") - return@w 0 - } - }) - } - open fun getTransactions(page: Number = 1, limit: Number = 20): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val from = (page - 1) * limit - val to = from + limit - 1 - val response = await(supaInstance.from("ml_wallet_transactions").select("*").eq("user_id", userId!!).order("created_at", OrderOptions(ascending = false)).range(from, to).execute()) - if (response.error != null) { - console.error("获取交易记录失败:", response.error, " at utils/supabaseService.uts:4330") - val empty: UTSArray = _uA() - return@w empty - } - val data = response.data - if (data == null) { - val empty: UTSArray = _uA() - return@w empty - } - return@w data as UTSArray - } - catch (e: Throwable) { - console.error("获取交易记录异常:", e, " at utils/supabaseService.uts:4343") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun getPointRecords(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val res = await(supaInstance.from("ml_point_records").select("*").eq("user_id", userId!!).order("created_at", OrderOptions(ascending = false)).execute()) - if (res.error != null) { - val empty: UTSArray = _uA() - return@w empty - } - val data = res.data - if (data == null) { - val empty: UTSArray = _uA() - return@w empty - } - return@w data as UTSArray - } - catch (e: Throwable) { - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun getUserRedPackets(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val res = await(supaInstance.from("ml_user_red_packets").select("*").eq("user_id", userId!!).order("created_at", OrderOptions(ascending = false)).execute()) - if (res.error != null) { - console.error("获取红包失败:", res.error, " at utils/supabaseService.uts:4398") - val empty: UTSArray = _uA() - return@w empty - } - val data = res.data - if (data == null) { - val empty: UTSArray = _uA() - return@w empty - } - return@w data as UTSArray - } - catch (e: Throwable) { - console.error("获取红包异常:", e, " at utils/supabaseService.uts:4409") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun getUserBankCards(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val res = await(supaInstance.from("ml_user_bank_cards").select("*").eq("user_id", userId!!).order("created_at", OrderOptions(ascending = false)).execute()) - if (res.error != null) { - console.error("获取银行卡失败:", res.error, " at utils/supabaseService.uts:4432") - val empty: UTSArray = _uA() - return@w empty - } - val data = res.data - if (data == null) { - val empty: UTSArray = _uA() - return@w empty - } - return@w data as UTSArray - } - catch (e: Throwable) { - console.error("获取银行卡异常:", e, " at utils/supabaseService.uts:4443") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun rechargeBalance(amount: Number): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w false - } - val res = await(supaInstance.rpc("recharge_wallet", object : UTSJSONObject() { - var p_user_id = userId - var p_amount = amount - })) - if (res.error != null) { - console.error("充值失败RPC:", res.error, " at utils/supabaseService.uts:4461") - return@w false - } - val data = res.data - if (data is UTSJSONObject) { - return@w (data as UTSJSONObject).getBoolean("success") ?: false - } - return@w false - } - catch (e: Throwable) { - console.error("充值异常:", e, " at utils/supabaseService.uts:4473") - return@w false - } - }) - } - open fun withdrawBalance(amount: Number): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w false - } - val res = await(supaInstance.rpc("withdraw_wallet", object : UTSJSONObject() { - var p_user_id = userId - var p_amount = amount - })) - if (res.error != null) { - console.error("提现失败RPC:", res.error, " at utils/supabaseService.uts:4490") - return@w false - } - val data = res.data - if (data is UTSJSONObject) { - return@w (data as UTSJSONObject).getBoolean("success") ?: false - } - return@w false - } - catch (e: Throwable) { - console.error("提现异常:", e, " at utils/supabaseService.uts:4500") - return@w false - } - }) - } - open fun addBankCard(card: UTSJSONObject): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w false - } - card.set("user_id", userId) - val res = await(supaInstance.from("ml_user_bank_cards").insert(card).execute()) - if (res.error != null) { - console.error("添加银行卡失败:", res.error, " at utils/supabaseService.uts:4520") - return@w false - } - return@w true - } - catch (e: Throwable) { - console.error("添加银行卡异常:", e, " at utils/supabaseService.uts:4525") - return@w false - } - }) - } - open fun deleteBankCard(cardId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w false - } - val res = await(supaInstance.from("ml_user_bank_cards").eq("id", cardId).eq("user_id", userId!!).`delete`().execute()) - if (res.error != null) { - console.error("删除银行卡失败:", res.error, " at utils/supabaseService.uts:4544") - return@w false - } - return@w true - } - catch (e: Throwable) { - console.error("删除银行卡异常:", e, " at utils/supabaseService.uts:4549") - return@w false - } - }) - } - open fun checkFavorite(productId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - console.log("[CheckFav] Checking for User: " + userId + ", Product: " + productId, " at utils/supabaseService.uts:4558") - if (userId == null) { - return@w false - } - val response = await(supaInstance.from("ml_user_favorites").select("*").eq("user_id", userId!!).eq("target_id", productId).eq("target_type", "1").limit(1).execute()) - if (response.error != null) { - console.error("[CheckFav] Error: " + JSON.stringify(response.error), " at utils/supabaseService.uts:4574") - return@w false - } - val data = response.data - if (UTSArray.isArray(data)) { - if ((data as UTSArray).length > 0) { - val item = (data as UTSArray)[0] - var targetId = "" - if (item is UTSJSONObject) { - targetId = (item as UTSJSONObject).getString("target_id") ?: "" - } else { - val itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:4249") as UTSJSONObject - targetId = itemObj.getString("target_id") ?: "" - } - if (targetId != "" && targetId != productId) { - console.error("[CheckFav] ID Mismatch! Query " + productId + ", Got " + targetId, " at utils/supabaseService.uts:4593") - return@w false - } - return@w true - } - } else if (data is UTSJSONObject) { - var targetId = (data as UTSJSONObject).getString("target_id") ?: "" - if (targetId !== "" && targetId !== productId) { - return@w false - } - return@w true - } - return@w false - } - catch (e: Throwable) { - console.error("[CheckFav] Exception: " + e, " at utils/supabaseService.uts:4610") - return@w false - } - }) - } - open fun toggleFavorite(productId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w false - } - console.log("[ToggleFav] Toggling for " + productId, " at utils/supabaseService.uts:4620") - val exists = await(this.checkFavorite(productId)) - console.log("[ToggleFav] Current status: " + exists, " at utils/supabaseService.uts:4624") - if (exists) { - val response = await(supaInstance.from("ml_user_favorites").eq("user_id", userId!!).eq("target_id", productId).eq("target_type", "1").`delete`().execute()) - if (response.error != null) { - console.error("取消收藏失败:", response.error, " at utils/supabaseService.uts:4636") - return@w true - } - return@w false - } else { - val response = await(supaInstance.from("ml_user_favorites").insert(object : UTSJSONObject() { - var user_id = userId - var target_id = productId - var target_type = "1" - var created_at = Date().toISOString() - }).execute()) - if (response.error != null) { - console.error("添加收藏失败:", response.error, " at utils/supabaseService.uts:4652") - return@w false - } - return@w true - } - } - catch (e: Throwable) { - console.error("切换收藏状态异常:", e, " at utils/supabaseService.uts:4658") - return@w await(this.checkFavorite(productId)) - } - }) - } - open fun getFavorites(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val response = await(supaInstance.from("ml_user_favorites").select("*").eq("user_id", userId!!).eq("target_type", "1").order("created_at", OrderOptions(ascending = false)).execute()) - if (response.error != null) { - val empty: UTSArray = _uA() - return@w empty - } - val favorites = response.data as UTSArray - if (favorites == null || favorites.length === 0) { - val empty: UTSArray = _uA() - return@w empty - } - val productIds: UTSArray = _uA() - run { - var i: Number = 0 - while(i < favorites.length){ - var item: Any = favorites[i] - var itemObj: UTSJSONObject - if (item is UTSJSONObject) { - itemObj = item as UTSJSONObject - } else { - itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:4353") as UTSJSONObject - } - val targetIdRaw = itemObj.get("target_id") - var pid = "" - if (targetIdRaw != null) { - if (UTSAndroid.`typeof`(targetIdRaw) === "string") { - pid = targetIdRaw as String - } else if (UTSAndroid.`typeof`(targetIdRaw) === "number") { - pid = (targetIdRaw as Number).toString(10) - } - } - if (pid !== "") { - productIds.push(pid) - } - i++ - } - } - if (productIds.length === 0) { - return@w _uA() - } - val anyProductIds = productIds as UTSArray - val productRes = await(supaInstance.from("ml_products").select("id, name, main_image_url, base_price, sale_count").`in`("id", anyProductIds).execute()) - if (productRes.error != null) { - val empty: UTSArray = _uA() - return@w empty - } - val products = productRes.data as UTSArray - val productMap = Map() - run { - var i: Number = 0 - while(i < products.length){ - var p: Any = products[i] - var pid = "" - if (p is UTSJSONObject) { - pid = (p as UTSJSONObject).getString("id") ?: "" - } else { - val pObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(p)), " at utils/supabaseService.uts:4392") as UTSJSONObject - pid = pObj.getString("id") ?: "" - } - if (pid !== "") { - productMap.set(pid, p) - } - i++ - } - } - val result: UTSArray = _uA() - run { - var i: Number = 0 - while(i < favorites.length){ - var item: Any = favorites[i] - var newItem: UTSJSONObject - if (item is UTSJSONObject) { - newItem = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:4404") as UTSJSONObject - } else { - newItem = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:4407") as UTSJSONObject - } - val targetIdRaw = newItem.get("target_id") - var targetId = "" - if (targetIdRaw != null) { - if (UTSAndroid.`typeof`(targetIdRaw) === "string") { - targetId = targetIdRaw as String - } else if (UTSAndroid.`typeof`(targetIdRaw) === "number") { - targetId = (targetIdRaw as Number).toString(10) - } - } - if (targetId !== "") { - val product = productMap.get(targetId) - if (product != null) { - newItem.set("ml_products", product) - result.push(newItem) - } - } - i++ - } - } - return@w result - } - catch (e: Throwable) { - console.error("获取收藏列表异常:", e, " at utils/supabaseService.uts:4779") - return@w _uA() - } - }) - } - open fun getFootprints(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.log("[getFootprints] 用户未登录", " at utils/supabaseService.uts:4789") - val empty: UTSArray = _uA() - return@w empty - } - console.log("[getFootprints] 查询足迹, userId:", userId, " at utils/supabaseService.uts:4794") - val response = await(supaInstance.from("ml_user_footprints").select("*").eq("user_id", userId!!).order("updated_at", OrderOptions(ascending = false)).limit(50).execute()) - console.log("[getFootprints] 足迹查询 error:", response.error, " at utils/supabaseService.uts:4805") - console.log("[getFootprints] 足迹查询 data:", JSON.stringify(response.data), " at utils/supabaseService.uts:4806") - if (response.error != null) { - console.error("[getFootprints] 获取足迹失败:", response.error, " at utils/supabaseService.uts:4809") - val empty: UTSArray = _uA() - return@w empty - } - val footprints = response.data as UTSArray - if (footprints == null || footprints.length === 0) { - console.log("[getFootprints] 没有足迹记录", " at utils/supabaseService.uts:4816") - val empty: UTSArray = _uA() - return@w empty - } - console.log("[getFootprints] 足迹记录数量:", footprints.length, " at utils/supabaseService.uts:4821") - val productIds: UTSArray = _uA() - run { - var i: Number = 0 - while(i < footprints.length){ - var item = footprints[i] - var pid = "" - if (item is UTSJSONObject) { - pid = (item as UTSJSONObject).getString("product_id") ?: "" - } else { - val itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:4476") as UTSJSONObject - pid = itemObj.getString("product_id") ?: "" - } - if (pid !== "" && !productIds.includes(pid)) { - productIds.push(pid) - } - i++ - } - } - if (productIds.length === 0) { - return@w _uA() - } - val productIdsAny: UTSArray = _uA() - run { - var i: Number = 0 - while(i < productIds.length){ - productIdsAny.push(productIds[i]) - i++ - } - } - val productRes = await(supaInstance.from("ml_products_detail_view").select("id, name, main_image_url, base_price, market_price, sale_count, merchant_id, shop_name").`in`("id", productIdsAny).execute()) - var products: UTSArray = _uA() - if (productRes.error == null && productRes.data != null) { - products = productRes.data as UTSArray - } else { - console.warn("View查询失败,尝试查询基础表", " at utils/supabaseService.uts:4856") - val baseRes = await(supaInstance.from("ml_products").select("id, name, main_image_url, base_price, market_price, sale_count, merchant_id").`in`("id", productIdsAny).execute()) - if (baseRes.error == null) { - products = baseRes.data as UTSArray - } - } - val productMap = Map() - run { - var i: Number = 0 - while(i < products.length){ - var p = products[i] - var pid = "" - if (p is UTSJSONObject) { - pid = (p as UTSJSONObject).getString("id") ?: "" - } else { - val pObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(p)), " at utils/supabaseService.uts:4518") as UTSJSONObject - pid = pObj.getString("id") ?: "" - } - if (pid !== "") { - productMap.set(pid, p) - } - i++ - } - } - val result: UTSArray = _uA() - run { - var i: Number = 0 - while(i < footprints.length){ - var fp = footprints[i] - var pid = "" - var viewTime: Number = 0 - if (fp is UTSJSONObject) { - pid = (fp as UTSJSONObject).getString("product_id") ?: "" - val dateStr = (fp as UTSJSONObject).getString("updated_at") - if (dateStr != null) { - viewTime = Date(dateStr).getTime() - } - } else { - val fpObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(fp)), " at utils/supabaseService.uts:4537") as UTSJSONObject - pid = fpObj.getString("product_id") ?: "" - val dateStr = fpObj.getString("updated_at") - if (dateStr != null) { - viewTime = Date(dateStr).getTime() - } - } - val product = productMap.get(pid) - if (product != null) { - var pName = "" - var pImage = "" - var pPrice: Number = 0 - var pOriginalPrice: Number = 0 - var pSales: Number = 0 - var pShopId = "" - var pShopName = "" - if (product is UTSJSONObject) { - pName = (product as UTSJSONObject).getString("name") ?: "" - pImage = (product as UTSJSONObject).getString("main_image_url") ?: "" - pPrice = (product as UTSJSONObject).getNumber("base_price") ?: 0 - pOriginalPrice = (product as UTSJSONObject).getNumber("market_price") ?: 0 - pSales = (product as UTSJSONObject).getNumber("sale_count") ?: 0 - pShopId = (product as UTSJSONObject).getString("merchant_id") ?: "" - pShopName = (product as UTSJSONObject).getString("shop_name") ?: "" - } else { - val pObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(product)), " at utils/supabaseService.uts:4562") as UTSJSONObject - pName = pObj.getString("name") ?: "" - pImage = pObj.getString("main_image_url") ?: "" - pPrice = pObj.getNumber("base_price") ?: 0 - pOriginalPrice = pObj.getNumber("market_price") ?: 0 - pSales = pObj.getNumber("sale_count") ?: 0 - pShopId = pObj.getString("merchant_id") ?: "" - pShopName = pObj.getString("shop_name") ?: "" - } - val fpObj = UTSJSONObject(UTSSourceMapPosition("fpObj", "utils/supabaseService.uts", 4571, 27)) - fpObj.set("id", pid) - fpObj.set("name", pName) - fpObj.set("price", pPrice) - fpObj.set("original_price", pOriginalPrice) - fpObj.set("image", pImage) - fpObj.set("sales", pSales) - fpObj.set("shopId", pShopId) - fpObj.set("shopName", pShopName) - fpObj.set("merchant_id", pShopId) - fpObj.set("viewTime", viewTime) - result.push(fpObj) - } - i++ - } - } - return@w result - } - catch (error: Throwable) { - console.error("获取足迹异常:", error, " at utils/supabaseService.uts:4944") - return@w _uA() - } - }) - } - open fun addFootprint(productId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.log("[addFootprint] 用户未登录", " at utils/supabaseService.uts:4954") - return@w false - } - console.log("[addFootprint] 添加足迹, userId:", userId, "productId:", productId, " at utils/supabaseService.uts:4958") - val checkRes = await(supaInstance.from("ml_user_footprints").select("id").eq("user_id", userId!!).eq("product_id", productId).execute()) - console.log("[addFootprint] 检查结果 error:", checkRes.error, " at utils/supabaseService.uts:4968") - console.log("[addFootprint] 检查结果 data:", JSON.stringify(checkRes.data), " at utils/supabaseService.uts:4969") - val checkData = checkRes.data as UTSArray - val exists = checkData != null && UTSArray.isArray(checkData) && checkData.length > 0 - if (checkRes.error == null && exists) { - console.log("[addFootprint] 足迹已存在,更新时间", " at utils/supabaseService.uts:4975") - val updateRes = await(supaInstance.from("ml_user_footprints").update(object : UTSJSONObject() { - var updated_at = Date().toISOString() - }).eq("user_id", userId!!).eq("product_id", productId).execute()) - console.log("[addFootprint] 更新结果 error:", updateRes.error, " at utils/supabaseService.uts:4983") - } else { - console.log("[addFootprint] 足迹不存在,插入新记录", " at utils/supabaseService.uts:4985") - val insertPayload = UTSJSONObject(UTSSourceMapPosition("insertPayload", "utils/supabaseService.uts", 4626, 23)) - insertPayload.set("user_id", userId!!) - insertPayload.set("product_id", productId) - insertPayload.set("created_at", Date().toISOString()) - insertPayload.set("updated_at", Date().toISOString()) - val insertRes = await(supaInstance.from("ml_user_footprints").insert(insertPayload).execute()) - console.log("[addFootprint] 插入结果 error:", insertRes.error, " at utils/supabaseService.uts:4997") - } - return@w true - } - catch (e: Throwable) { - console.error("[addFootprint] 添加足迹异常:", e, " at utils/supabaseService.uts:5001") - return@w false - } - }) - } - open fun deleteFootprint(productId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.log("[deleteFootprint] 用户未登录", " at utils/supabaseService.uts:5011") - return@w false - } - val response = await(supaInstance.from("ml_user_footprints").eq("user_id", userId).eq("product_id", productId).`delete`().execute()) - if (response.error != null) { - console.error("[deleteFootprint] 删除足迹失败:", response.error, " at utils/supabaseService.uts:5023") - return@w false - } - console.log("[deleteFootprint] 删除足迹成功", " at utils/supabaseService.uts:5027") - return@w true - } - catch (e: Throwable) { - console.error("[deleteFootprint] 删除足迹异常:", e, " at utils/supabaseService.uts:5030") - return@w false - } - }) - } - open fun deleteFootprints(productIds: UTSArray): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.log("[deleteFootprints] 用户未登录", " at utils/supabaseService.uts:5040") - return@w false - } - val idsAny: UTSArray = _uA() - run { - var i: Number = 0 - while(i < productIds.length){ - idsAny.push(productIds[i]) - i++ - } - } - val response = await(supaInstance.from("ml_user_footprints").eq("user_id", userId).`in`("product_id", idsAny).`delete`().execute()) - if (response.error != null) { - console.error("[deleteFootprints] 批量删除足迹失败:", response.error, " at utils/supabaseService.uts:5057") - return@w false - } - console.log("[deleteFootprints] 批量删除足迹成功", " at utils/supabaseService.uts:5061") - return@w true - } - catch (e: Throwable) { - console.error("[deleteFootprints] 批量删除足迹异常:", e, " at utils/supabaseService.uts:5064") - return@w false - } - }) - } - open fun clearFootprints(): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.log("[clearFootprints] 用户未登录", " at utils/supabaseService.uts:5074") - return@w false - } - val response = await(supaInstance.from("ml_user_footprints").eq("user_id", userId).`delete`().execute()) - if (response.error != null) { - console.error("[clearFootprints] 清空足迹失败:", response.error, " at utils/supabaseService.uts:5085") - return@w false - } - console.log("[clearFootprints] 清空足迹成功", " at utils/supabaseService.uts:5089") - return@w true - } - catch (e: Throwable) { - console.error("[clearFootprints] 清空足迹异常:", e, " at utils/supabaseService.uts:5092") - return@w false - } - }) - } - open fun getAddressList(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val response = await(supaInstance.from("ml_user_addresses").select("*, recipient_name:receiver_name, phone:receiver_phone, detail_address:address_detail").eq("user_id", userId!!).order("is_default", OrderOptions(ascending = false)).order("created_at", OrderOptions(ascending = false)).execute()) - if (response.error != null) { - console.error("获取地址列表失败:", response.error, " at utils/supabaseService.uts:5114") - val empty: UTSArray = _uA() - return@w empty - } - return@w response.data as UTSArray - } - catch (e: Throwable) { - console.error("获取地址列表异常:", e, " at utils/supabaseService.uts:5120") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun setDefaultAddress(addressId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("用户未登录,无法设置默认地址", " at utils/supabaseService.uts:5131") - return@w false - } - await(this.clearDefaultAddress(userId!!)) - val response = await(supaInstance.from("ml_user_addresses").update(object : UTSJSONObject() { - var is_default = true - var updated_at = Date().toISOString() - }).eq("id", addressId).eq("user_id", userId!!).execute()) - if (response.error != null) { - console.error("设置默认地址失败:", response.error, " at utils/supabaseService.uts:5150") - return@w false - } - return@w true - } - catch (error: Throwable) { - console.error("设置默认地址异常:", error, " at utils/supabaseService.uts:5156") - return@w false - } - }) - } - open fun getUserCoupons(status: Number = 1): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val response = await(supaInstance.from("ml_user_coupons").select("*, template:ml_coupon_templates(name, amount, min_spend)").eq("user_id", userId!!).eq("status", status.toString(10)).order("expire_at", OrderOptions(ascending = true)).execute()) - if (response.error != null) { - console.error("获取优惠券失败:", response.error, " at utils/supabaseService.uts:5182") - val empty: UTSArray = _uA() - return@w empty - } - val rawData: UTSArray = _uA() - val respData = response.data - console.log("[getUserCoupons] 原始数据类型:", UTSAndroid.`typeof`(respData), "是否数组:", UTSArray.isArray(respData), " at utils/supabaseService.uts:5190") - if (respData != null) { - if (UTSArray.isArray(respData)) { - val arr = respData as UTSArray - console.log("[getUserCoupons] 数组长度:", arr.length, " at utils/supabaseService.uts:5194") - run { - var i: Number = 0 - while(i < arr.length){ - rawData.push(arr[i]) - i++ - } - } - } else if (respData is UTSJSONObject) { - console.log("[getUserCoupons] 单个对象,包装成数组", " at utils/supabaseService.uts:5200") - rawData.push(respData) - } else { - try { - val parsed = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(respData)), " at utils/supabaseService.uts:4826") - console.log("[getUserCoupons] JSON转换后是否数组:", UTSArray.isArray(parsed), " at utils/supabaseService.uts:5206") - if (UTSArray.isArray(parsed)) { - console.log("[getUserCoupons] 转换后数组长度:", (parsed as UTSArray).length, " at utils/supabaseService.uts:5208") - run { - var i: Number = 0 - while(i < (parsed as UTSArray).length){ - rawData.push((parsed as UTSArray)[i]) - i++ - } - } - } - } - catch (parseErr: Throwable) { - console.error("解析优惠券数据异常:", parseErr, " at utils/supabaseService.uts:5214") - } - } - } - console.log("[getUserCoupons] 最终rawData长度:", rawData.length, " at utils/supabaseService.uts:5218") - val coupons: UTSArray = _uA() - run { - var i: Number = 0 - while(i < rawData.length){ - val item = rawData[i] - var template: Any? = null - var itemId = "" - var itemUserId = "" - var itemTmplId = "" - var itemCode = "" - var itemStatus: Number = 0 - var itemRecv = "" - var itemExpire = "" - if (item is UTSJSONObject) { - template = (item as UTSJSONObject).get("template") as Any? - itemId = (item as UTSJSONObject).getString("id") ?: "" - itemUserId = (item as UTSJSONObject).getString("user_id") ?: "" - itemTmplId = (item as UTSJSONObject).getString("template_id") ?: "" - itemCode = (item as UTSJSONObject).getString("coupon_code") ?: "" - itemStatus = (item as UTSJSONObject).getNumber("status") ?: 0 - itemRecv = (item as UTSJSONObject).getString("received_at") ?: "" - itemExpire = (item as UTSJSONObject).getString("expire_at") ?: "" - } else { - val iObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:4864") as UTSJSONObject - template = iObj.get("template") as Any? - itemId = iObj.getString("id") ?: "" - itemUserId = iObj.getString("user_id") ?: "" - itemTmplId = iObj.getString("template_id") ?: "" - itemCode = iObj.getString("coupon_code") ?: "" - itemStatus = iObj.getNumber("status") ?: 0 - itemRecv = iObj.getString("received_at") ?: "" - itemExpire = iObj.getString("expire_at") ?: "" - } - if (template == null) { - template = UTSJSONObject() - } - var tName = "" - var tAmount: Number = 0 - var tMin: Number = 0 - if (template is UTSJSONObject) { - tName = (template as UTSJSONObject).getString("name") ?: "优惠券" - tAmount = (template as UTSJSONObject).getNumber("amount") ?: 0 - tMin = (template as UTSJSONObject).getNumber("min_spend") ?: 0 - } else { - val tObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(template)), " at utils/supabaseService.uts:4885") as UTSJSONObject - tName = tObj.getString("name") ?: "优惠券" - tAmount = tObj.getNumber("amount") ?: 0 - tMin = tObj.getNumber("min_spend") ?: 0 - } - val couponItem = UserCoupon(id = itemId, user_id = itemUserId, template_id = itemTmplId, coupon_code = itemCode, status = itemStatus, received_at = itemRecv, expire_at = itemExpire, template_name = tName, amount = tAmount, min_spend = tMin) - coupons.push(couponItem) - i++ - } - } - return@w coupons - } - catch (e: Throwable) { - console.error("获取优惠券异常:", e, " at utils/supabaseService.uts:5290") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun getUserCouponCount(): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w 0 - } - val response = await(supaInstance.from("ml_user_coupons").select("id", object : UTSJSONObject() { - var count = "exact" - }).eq("user_id", userId!!).eq("status", "1").gt("expire_at", Date().toISOString()).limit(1).execute()) - if (response.error != null) { - return@w 0 - } - return@w response.total ?: 0 - } - catch (e: Throwable) { - return@w 0 - } - }) - } - open fun getAvailableCoupons(merchantId: String): UTSPromise> { - return wrapUTSPromise(suspend w@{ - return@w this.fetchShopCoupons(merchantId) - }) - } - open fun fetchShopCoupons(merchantId: String): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("[fetchShopCoupons] 开始获取优惠券,merchantId:", merchantId, " at utils/supabaseService.uts:5328") - val response = await(supaInstance.from("ml_coupon_templates").select("*").or("merchant_id.eq." + merchantId + ",merchant_id.is.null").eq("status", "1").gt("end_time", Date().toISOString()).order("discount_value", OrderOptions(ascending = false)).execute()) - if (response.error != null) { - console.error("Fetch coupons failed:", response.error, " at utils/supabaseService.uts:5341") - val empty: UTSArray = _uA() - return@w empty - } - val data = response.data - if (data == null) { - val empty: UTSArray = _uA() - return@w empty - } - console.log("[fetchShopCoupons] 获取到优惠券数量:", (data as UTSArray).length, " at utils/supabaseService.uts:5351") - return@w data as UTSArray - } - catch (e: Throwable) { - console.error("Fetch coupons error:", e, " at utils/supabaseService.uts:5354") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun claimCoupon(templateId: String, userId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - return@w this.claimShopCoupon(templateId, userId) - }) - } - open fun claimShopCoupon(templateId: String, userId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - console.log("Claiming coupon templateId:", templateId, "userId:", userId, " at utils/supabaseService.uts:5368") - val tmplRes = await(supaInstance.from("ml_coupon_templates").select("*").eq("id", templateId).limit(1).execute()) - if (tmplRes.error != null) { - console.error("Claim Coupon: Template query error", tmplRes.error, " at utils/supabaseService.uts:5379") - return@w false - } - if (tmplRes.data == null) { - console.error("Claim Coupon: Template data response is null", " at utils/supabaseService.uts:5385") - return@w false - } - val dataList = tmplRes.data as UTSArray - if (dataList.length === 0) { - console.error("Claim Coupon: Template not found (empty list)", " at utils/supabaseService.uts:5391") - return@w false - } - val template = dataList[0] - var validDays: Number = 0 - var endTimeStr: String? = null - var merchantId: String? = null - if (template is UTSJSONObject) { - validDays = (template as UTSJSONObject).getNumber("valid_days") ?: 0 - endTimeStr = (template as UTSJSONObject).getString("end_time") - merchantId = (template as UTSJSONObject).getString("merchant_id") - } else { - val tJson = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(template)), " at utils/supabaseService.uts:5013") as UTSJSONObject - validDays = tJson.getNumber("valid_days") ?: 0 - endTimeStr = tJson.getString("end_time") - merchantId = tJson.getString("merchant_id") - } - var expireAt = Date(Date.now() + 2592000000).toISOString() - if (validDays > 0) { - expireAt = Date(Date.now() + (validDays * 86400000)).toISOString() - } else if (endTimeStr != null && endTimeStr !== "") { - expireAt = endTimeStr - } - if (merchantId != null && merchantId.length === 0) { - merchantId = null - } - val insertData: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("insertData", "utils/supabaseService.uts", 5031, 19)) { - var user_id = userId - var template_id = templateId - var merchant_id = merchantId - var coupon_code = "C" + Date.now() + Math.floor(Math.random() * 1000) - var status: Number = 1 - var expire_at = expireAt - var received_at = Date().toISOString() - } - console.log("Claim Coupon Insert Payload:", JSON.stringify(insertData), " at utils/supabaseService.uts:5437") - val response = await(supaInstance.from("ml_user_coupons").insert(insertData).execute()) - if (response.error != null) { - console.error("Claim Coupon: Insert failed:", JSON.stringify(response.error), " at utils/supabaseService.uts:5445") - if (JSON.stringify(response.error).includes("merchant_id")) { - console.log("Retrying without merchant_id...", " at utils/supabaseService.uts:5448") - val fallbackData: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("fallbackData", "utils/supabaseService.uts", 5050, 27)) { - var user_id = userId - var template_id = templateId - var coupon_code = "C" + Date.now() + Math.random().toString(10).substring(2, 6) - var status: Number = 1 - var expire_at = expireAt - var received_at = Date().toISOString() - } - val res2 = await(supaInstance.from("ml_user_coupons").insert(fallbackData).execute()) - if (res2.error == null) { - return@w true - } - } - return@w false - } - return@w true - } - catch (e: Throwable) { - console.error("Claim coupon error:", e, " at utils/supabaseService.uts:5464") - return@w false - } - }) - } - open fun sendMessage(merchantId: String, content: String, msgType: String = "text"): UTSPromise { - return wrapUTSPromise(suspend w@{ - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("sendMessage failed: user not logged in or session lost", " at utils/supabaseService.uts:5478") - return@w false - } - try { - val msg: UTSJSONObject = _uO("__\$originalPosition" to UTSSourceMapPosition("msg", "utils/supabaseService.uts", 5086, 19), "sender_id" to userId!!, "receiver_id" to merchantId, "content" to content, "msg_type" to msgType, "is_read" to false, "is_from_user" to true) - val response = await(supaInstance.from("ml_chat_messages").insert(msg).execute()) - if (response.error != null) { - console.error("sendMessage error:", response.error, " at utils/supabaseService.uts:5502") - return@w false - } - return@w true - } - catch (e: Throwable) { - console.error("sendMessage exception:", e, " at utils/supabaseService.uts:5507") - return@w false - } - }) - } - open fun uploadChatImage(filePath: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - val userId = this.getCurrentUserId() - if (userId == null) { - console.error("uploadChatImage failed: user not logged in", " at utils/supabaseService.uts:5516") - return@w "" - } - try { - val timestamp = Date.now() - val randomStr = Math.random().toString(36).substring(2, 8) - val fileName = "chat_" + userId + "_" + timestamp + "_" + randomStr + ".jpg" - val storagePath = "chat-images/" + fileName - console.log("[uploadChatImage] 开始上传:", filePath, "->", storagePath, " at utils/supabaseService.uts:5527") - val response = await(supaInstance.storage.from("chat").upload(storagePath, filePath, UTSJSONObject())) - if (response.error != null) { - console.error("[uploadChatImage] 上传失败:", response.error, " at utils/supabaseService.uts:5534") - return@w "" - } - val publicUrl = "" + supaInstance.baseUrl + "/storage/v1/object/public/chat/" + storagePath - console.log("[uploadChatImage] 上传成功:", publicUrl, " at utils/supabaseService.uts:5540") - return@w publicUrl - } - catch (e: Throwable) { - console.error("[uploadChatImage] 上传异常:", e, " at utils/supabaseService.uts:5543") - return@w "" - } - }) - } - open fun markRead(merchantId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - val userId = this.getCurrentUserId() - if (userId == null) { - return@w false - } - try { - val response = await(supaInstance.from("ml_chat_messages").update(object : UTSJSONObject() { - var is_read = true - }).eq("sender_id", merchantId).eq("receiver_id", userId).eq("is_read", false).execute()) - if (response.error != null) { - return@w false - } - } - catch (e: Throwable) { - return@w false - } - return@w true - }) - } - open fun submitProductReviews(reviews: UTSArray): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - run { - var i: Number = 0 - while(i < reviews.length){ - val review = reviews[i] - val response = await(supaInstance.from("ml_product_reviews").insert(review).execute()) - if (response.error != null) { - console.error("提交商品评价失败:", response.error, " at utils/supabaseService.uts:5576") - return@w false - } - i++ - } - } - return@w true - } - catch (e: Throwable) { - console.error("提交商品评价失败:", e, " at utils/supabaseService.uts:5582") - return@w false - } - }) - } - open fun submitShopReview(review: UTSJSONObject): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val response = await(supaInstance.from("ml_shop_reviews").insert(review).execute()) - return@w response.error == null - } - catch (e: Throwable) { - console.error("提交店铺评价失败:", e, " at utils/supabaseService.uts:5596") - return@w false - } - }) - } - open fun updateOrderStatus(orderId: String, status: Number): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val updateData = UTSJSONObject(UTSSourceMapPosition("updateData", "utils/supabaseService.uts", 5199, 19)) - updateData.set("order_status", status) - val response = await(supaInstance.from("ml_orders").update(updateData).eq("id", orderId).execute()) - return@w response.error == null - } - catch (e: Throwable) { - console.error("更新订单状态失败:", e, " at utils/supabaseService.uts:5613") - return@w false - } - }) - } - open fun getHotKeywords(limit: Number = 10): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val response = await(supaInstance.from("ml_search_history").select("keyword").order("created_at", OrderOptions(ascending = false)).limit(100).execute()) - if (response.error != null || response.data == null) { - return@w _uA() - } - val keywordCount = Map() - val rawList = response.data as UTSArray - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:5231") as UTSJSONObject - val keyword = safeGetString(itemObj, "keyword").toLowerCase().trim() - if (keyword.length > 0) { - val count = keywordCount.get(keyword) ?: 0 - keywordCount.set(keyword, count + 1) - } - i++ - } - } - open class KeywordEntry ( - @JsonNotNull - open var keyword: String, - @JsonNotNull - open var count: Number, - ) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("KeywordEntry", "utils/supabaseService.uts", 5240, 18) - } - } - val entryArray: UTSArray = _uA() - keywordCount.forEach(fun(value: Number, key: String){ - entryArray.push(KeywordEntry(keyword = key, count = value)) - } - ) - entryArray.sort(fun(a: KeywordEntry, b: KeywordEntry): Number { - return b.count - a.count - } - ) - val sortedKeywords: UTSArray = _uA() - val maxCount = Math.min(entryArray.length, limit) - run { - var i: Number = 0 - while(i < maxCount){ - sortedKeywords.push(entryArray[i].keyword) - i++ - } - } - return@w sortedKeywords - } - catch (e: Throwable) { - console.error("获取热搜词失败:", e, " at utils/supabaseService.uts:5677") - return@w _uA() - } - }) - } - open fun getUserSearchHistory(limit: Number = 10): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w _uA() - } - val response = await(supaInstance.from("ml_search_history").select("keyword").order("created_at", OrderOptions(ascending = false)).limit(limit * 2).execute()) - if (response.error != null || response.data == null) { - return@w _uA() - } - val keywords: UTSArray = _uA() - val rawList = response.data as UTSArray - val seen = Set() - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:5290") as UTSJSONObject - val rawUserId = itemObj.get("user_id") - val itemUserId = if ((UTSAndroid.`typeof`(rawUserId) == "string")) { - (rawUserId as String) - } else { - "" - } - if (itemUserId !== userId) { - i++ - continue - } - val keyword = safeGetString(itemObj, "keyword").trim() - if (keyword.length > 0 && !seen.has(keyword)) { - keywords.push(keyword) - seen.add(keyword) - if (keywords.length >= limit) { - break - } - } - i++ - } - } - return@w keywords - } - catch (e: Throwable) { - console.error("获取用户搜索历史失败:", e, " at utils/supabaseService.uts:5724") - return@w _uA() - } - }) - } - open fun getUserBrowseCategories(limit: Number = 5): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w _uA() - } - val response = await(supaInstance.from("ml_browse_history").select("product_id").order("created_at", OrderOptions(ascending = false)).limit(20).execute()) - if (response.error != null || response.data == null) { - return@w _uA() - } - val productIds: UTSArray = _uA() - val rawList = response.data as UTSArray - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:5332") as UTSJSONObject - val rawUserId = itemObj.get("user_id") - val itemUserId = if ((UTSAndroid.`typeof`(rawUserId) == "string")) { - (rawUserId as String) - } else { - "" - } - if (itemUserId !== userId) { - i++ - continue - } - val productId = safeGetString(itemObj, "product_id") - if (productId.length > 0) { - productIds.push(productId) - } - i++ - } - } - if (productIds.length === 0) { - return@w _uA() - } - val prodResponse = await(supaInstance.from("ml_products").select("category_id").limit(50).execute()) - if (prodResponse.error != null || prodResponse.data == null) { - return@w _uA() - } - val categoryIds: UTSArray = _uA() - val prodList = prodResponse.data as UTSArray - run { - var i: Number = 0 - while(i < prodList.length){ - val prodItem = prodList[i] - val prodObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(prodItem)), " at utils/supabaseService.uts:5359") as UTSJSONObject - val prodId = safeGetString(prodObj, "id") - var found = false - run { - var j: Number = 0 - while(j < productIds.length){ - if (productIds[j] == prodId) { - found = true - break - } - j++ - } - } - if (!found) { - i++ - continue - } - val catId = safeGetString(prodObj, "category_id") - if (catId.length > 0 && categoryIds.indexOf(catId) < 0) { - categoryIds.push(catId) - if (categoryIds.length >= limit) { - break - } - } - i++ - } - } - return@w categoryIds - } - catch (e: Throwable) { - console.error("获取用户浏览分类失败:", e, " at utils/supabaseService.uts:5807") - return@w _uA() - } - }) - } - open fun getSmartRecommendations(limit: Number = 10): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - console.log("[getSmartRecommendations] 开始获取智能推荐...", " at utils/supabaseService.uts:5815") - val products: UTSArray = _uA() - val addedIds = Set() - val searchHistory = await(this.getUserSearchHistory(5)) - console.log("[getSmartRecommendations] 用户搜索历史:", searchHistory, " at utils/supabaseService.uts:5822") - if (searchHistory.length > 0) { - val keywordProducts = await(this.searchProductsByKeywords(searchHistory, limit)) - run { - var i: Number = 0 - while(i < keywordProducts.length){ - val prod = keywordProducts[i] - if (!addedIds.has(prod.id)) { - products.push(prod) - addedIds.add(prod.id) - } - i++ - } - } - } - if (products.length < limit) { - val browseCategories = await(this.getUserBrowseCategories(3)) - console.log("[getSmartRecommendations] 用户浏览分类:", browseCategories, " at utils/supabaseService.uts:5839") - if (browseCategories.length > 0) { - val categoryProducts = await(this.getProductsByCategories(browseCategories, limit - products.length)) - run { - var i: Number = 0 - while(i < categoryProducts.length){ - val prod = categoryProducts[i] - if (!addedIds.has(prod.id)) { - products.push(prod) - addedIds.add(prod.id) - } - i++ - } - } - } - } - if (products.length < limit) { - val hotProducts = await(this.getHotProducts(limit - products.length + 5)) - run { - var i: Number = 0 - while(i < hotProducts.length){ - val prod = hotProducts[i] - if (!addedIds.has(prod.id)) { - products.push(prod) - addedIds.add(prod.id) - if (products.length >= limit) { - break - } - } - i++ - } - } - } - if (products.length < limit) { - val moreProducts = await(this.getProductsByPrice(limit - products.length + 5, false)) - run { - var i: Number = 0 - while(i < moreProducts.length){ - val prod = moreProducts[i] - if (!addedIds.has(prod.id)) { - products.push(prod) - addedIds.add(prod.id) - if (products.length >= limit) { - break - } - } - i++ - } - } - } - console.log("[getSmartRecommendations] 返回商品数量:", products.length, " at utils/supabaseService.uts:5879") - return@w products.slice(0, limit) - } - catch (e: Throwable) { - console.error("获取智能推荐失败:", e, " at utils/supabaseService.uts:5882") - return@w _uA() - } - }) - } - open fun searchProductsByKeywords(keywords: UTSArray, limit: Number): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val response = await(supaInstance.from("ml_products_detail_view").select("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").order("sale_count", OrderOptions(ascending = false)).limit(limit * 2).execute()) - if (response.error != null || response.data == null) { - return@w _uA() - } - val products: UTSArray = _uA() - val rawList = response.data as UTSArray - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val prodObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:5470") as UTSJSONObject - val rawStatus = prodObj.get("status") - var statusNum: Number = 0 - if (UTSAndroid.`typeof`(rawStatus) == "number") { - statusNum = rawStatus as Number - } - if (statusNum !== 1) { - i++ - continue - } - val name = safeGetString(prodObj, "name").toLowerCase() - val desc = safeGetString(prodObj, "description").toLowerCase() - var matched = false - run { - var j: Number = 0 - while(j < keywords.length){ - val keyword = keywords[j].toLowerCase() - if (name.indexOf(keyword) >= 0 || desc.indexOf(keyword) >= 0) { - matched = true - break - } - j++ - } - } - if (!matched) { - i++ - continue - } - products.push(parseProductFromRaw(item)) - if (products.length >= limit) { - break - } - i++ - } - } - return@w products - } - catch (e: Throwable) { - console.error("根据关键词搜索商品失败:", e, " at utils/supabaseService.uts:5937") - return@w _uA() - } - }) - } - open fun getProductsByCategories(categoryIds: UTSArray, limit: Number): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val response = await(supaInstance.from("ml_products_detail_view").select("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").order("sale_count", OrderOptions(ascending = false)).limit(limit * 2).execute()) - if (response.error != null || response.data == null) { - return@w _uA() - } - val products: UTSArray = _uA() - val rawList = response.data as UTSArray - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - val prodObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at utils/supabaseService.uts:5519") as UTSJSONObject - val rawStatus = prodObj.get("status") - var statusNum: Number = 0 - if (UTSAndroid.`typeof`(rawStatus) == "number") { - statusNum = rawStatus as Number - } - if (statusNum !== 1) { - i++ - continue - } - val rawCatId = prodObj.get("category_id") - val itemCatId = if ((UTSAndroid.`typeof`(rawCatId) == "string")) { - (rawCatId as String) - } else { - "" - } - var matched = false - run { - var j: Number = 0 - while(j < categoryIds.length){ - if (itemCatId == categoryIds[j]) { - matched = true - break - } - j++ - } - } - if (!matched) { - i++ - continue - } - products.push(parseProductFromRaw(item)) - if (products.length >= limit) { - break - } - i++ - } - } - return@w products - } - catch (e: Throwable) { - console.error("根据分类获取商品失败:", e, " at utils/supabaseService.uts:5991") - return@w _uA() - } - }) - } - open fun recordSearch(keyword: String, resultCount: Number): UTSPromise { - return wrapUTSPromise(suspend { - try { - val userId = this.getCurrentUserId() - val searchRecord = UTSJSONObject(UTSSourceMapPosition("searchRecord", "utils/supabaseService.uts", 5555, 19)) - searchRecord.set("keyword", keyword) - searchRecord.set("result_count", resultCount) - if (userId != null) { - searchRecord.set("user_id", userId) - } - await(supaInstance.from("ml_search_history").insert(searchRecord).execute()) - } - catch (e: Throwable) { - console.error("记录搜索失败:", e, " at utils/supabaseService.uts:6012") - } - }) - } - open fun recordBrowse(productId: String, duration: Number = 0): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w - } - val browseRecord = UTSJSONObject(UTSSourceMapPosition("browseRecord", "utils/supabaseService.uts", 5576, 19)) - browseRecord.set("user_id", userId) - browseRecord.set("product_id", productId) - browseRecord.set("browse_duration", duration) - browseRecord.set("created_at", Date().toISOString()) - await(supaInstance.from("ml_browse_history").insert(browseRecord).execute()) - } - catch (e: Throwable) { - console.error("记录浏览失败:", e, " at utils/supabaseService.uts:6034") - } - }) - } - open fun signin(): UTSPromise { - return wrapUTSPromise(suspend w@{ - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 5594, 15)) - result.set("success", false) - result.set("points", 0) - result.set("continuous_days", 0) - result.set("bonus_points", 0) - result.set("total_points", 0) - result.set("message", "") - try { - val userId = this.getCurrentUserId() - if (userId == null) { - result.set("message", "请先登录") - return@w result - } - val today = Date() - val todayStr = today.toISOString().split("T")[0] - val yesterday = Date(today.getTime() - 86400000) - val yesterdayStr = yesterday.toISOString().split("T")[0] - val checkRes = await(supaInstance.from("ml_signin_records").select("*").eq("user_id", userId!!).eq("signin_date", todayStr).execute()) - if (checkRes.error != null) { - result.set("message", "查询签到状态失败") - return@w result - } - val checkData = checkRes.data as UTSArray - if (checkData != null && checkData.length > 0) { - result.set("message", "今天已签到") - return@w result - } - val yesterdayRes = await(supaInstance.from("ml_signin_records").select("continuous_days").eq("user_id", userId!!).eq("signin_date", yesterdayStr).execute()) - var continuousDays: Number = 1 - if (yesterdayRes.error == null && yesterdayRes.data != null) { - val yData = yesterdayRes.data as UTSArray - if (yData.length > 0) { - val yItem = yData[0] - var yDays: Number = 0 - if (yItem is UTSJSONObject) { - yDays = (yItem as UTSJSONObject).getNumber("continuous_days") ?: 0 - } else { - val yObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(yItem)), " at utils/supabaseService.uts:5644") as UTSJSONObject - yDays = yObj.getNumber("continuous_days") ?: 0 - } - continuousDays = yDays + 1 - } - } - var pointsEarned: Number = 5 - var bonusPoints: Number = 0 - if (continuousDays >= 30) { - bonusPoints = 100 - } else if (continuousDays >= 7) { - bonusPoints = 20 - } - val totalPointsEarned = pointsEarned + bonusPoints - val signinRecord = UTSJSONObject(UTSSourceMapPosition("signinRecord", "utils/supabaseService.uts", 5661, 19)) - signinRecord.set("user_id", userId!!) - signinRecord.set("signin_date", todayStr) - signinRecord.set("points_earned", pointsEarned) - signinRecord.set("bonus_points", bonusPoints) - signinRecord.set("continuous_days", continuousDays) - val insertRes = await(supaInstance.from("ml_signin_records").insert(signinRecord).execute()) - if (insertRes.error != null) { - result.set("message", "签到失败") - return@w result - } - await(this.addPoints(userId!!, totalPointsEarned, "signin", "每日签到")) - val newPoints = await(this.getUserPoints()) - result.set("success", true) - result.set("points", pointsEarned) - result.set("continuous_days", continuousDays) - result.set("bonus_points", bonusPoints) - result.set("total_points", newPoints) - result.set("message", "签到成功") - return@w result - } - catch (e: Throwable) { - console.error("签到异常:", e, " at utils/supabaseService.uts:6150") - result.set("message", "签到异常") - return@w result - } - }) - } - open fun getSigninRecords(year: Number, month: Number): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val startDate = "" + year + "-" + month.toString(10).padStart(2, "0") + "-01" - val endDate = if (month === 12) { - "" + (year + 1) + "-01-01" - } else { - "" + year + "-" + (month + 1).toString(10).padStart(2, "0") + "-01" - } - val response = await(supaInstance.from("ml_signin_records").select("*").eq("user_id", userId!!).gte("signin_date", startDate).lt("signin_date", endDate).order("signin_date", OrderOptions(ascending = true)).execute()) - if (response.error != null || response.data == null) { - val empty: UTSArray = _uA() - return@w empty - } - return@w response.data as UTSArray - } - catch (e: Throwable) { - console.error("获取签到记录失败:", e, " at utils/supabaseService.uts:6186") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun getTodaySigninStatus(): UTSPromise { - return wrapUTSPromise(suspend w@{ - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 5727, 15)) - result.set("signed", false) - result.set("continuous_days", 0) - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w result - } - val today = Date().toISOString().split("T")[0] - val todayRes = await(supaInstance.from("ml_signin_records").select("*").eq("user_id", userId!!).eq("signin_date", today).execute()) - if (todayRes.error == null && todayRes.data != null) { - val tData = todayRes.data as UTSArray - if (tData.length > 0) { - val tItem = tData[0] - var cDays: Number = 0 - if (tItem is UTSJSONObject) { - cDays = (tItem as UTSJSONObject).getNumber("continuous_days") ?: 0 - } else { - val tObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(tItem)), " at utils/supabaseService.uts:5751") as UTSJSONObject - cDays = tObj.getNumber("continuous_days") ?: 0 - } - result.set("signed", true) - result.set("continuous_days", cDays) - return@w result - } - } - val lastRes = await(supaInstance.from("ml_signin_records").select("continuous_days, signin_date").eq("user_id", userId!!).order("signin_date", OrderOptions(ascending = false)).limit(1).execute()) - if (lastRes.error == null && lastRes.data != null) { - val lData = lastRes.data as UTSArray - if (lData.length > 0) { - val lItem = lData[0] - var lastDate = "" - var lastDays: Number = 0 - if (lItem is UTSJSONObject) { - lastDate = (lItem as UTSJSONObject).getString("signin_date") ?: "" - lastDays = (lItem as UTSJSONObject).getNumber("continuous_days") ?: 0 - } else { - val lObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(lItem)), " at utils/supabaseService.uts:5778") as UTSJSONObject - lastDate = lObj.getString("signin_date") ?: "" - lastDays = lObj.getNumber("continuous_days") ?: 0 - } - val yesterday = Date(Date.now() - 86400000).toISOString().split("T")[0] - if (lastDate === yesterday) { - result.set("continuous_days", lastDays) - } - } - } - return@w result - } - catch (e: Throwable) { - console.error("获取签到状态失败:", e, " at utils/supabaseService.uts:6262") - return@w result - } - }) - } - open fun getPointProducts(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val response = await(supaInstance.from("ml_point_products").select("*").eq("status", 1).gt("stock", 0).order("sort_order", OrderOptions(ascending = true)).execute()) - if (response.error != null || response.data == null) { - val empty: UTSArray = _uA() - return@w empty - } - return@w response.data as UTSArray - } - catch (e: Throwable) { - console.error("获取积分商品失败:", e, " at utils/supabaseService.uts:6287") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun exchangeProduct(productId: String, quantity: Number, addressSnapshot: UTSJSONObject?): UTSPromise { - return wrapUTSPromise(suspend w@{ - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 5820, 15)) - result.set("success", false) - result.set("message", "") - try { - val userId = this.getCurrentUserId() - if (userId == null) { - result.set("message", "请先登录") - return@w result - } - val productRes = await(supaInstance.from("ml_point_products").select("*").eq("id", productId).single().execute()) - if (productRes.error != null || productRes.data == null) { - result.set("message", "商品不存在") - return@w result - } - val productRaw = productRes.data - var pointsRequired: Number = 0 - var stock: Number = 0 - var productType = "" - var productObj: UTSJSONObject? = null - if (UTSArray.isArray(productRaw)) { - val arr = productRaw as UTSArray - if (arr.length > 0) { - val firstItem = arr[0] - if (firstItem is UTSJSONObject) { - productObj = firstItem as UTSJSONObject - } else { - productObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(firstItem)), " at utils/supabaseService.uts:5854") as UTSJSONObject - } - } - } else { - if (productRaw is UTSJSONObject) { - productObj = productRaw as UTSJSONObject - } else { - productObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(productRaw)), " at utils/supabaseService.uts:5863") as UTSJSONObject - } - } - if (productObj != null) { - pointsRequired = productObj.getNumber("points_required") ?: 0 - stock = productObj.getNumber("stock") ?: 0 - productType = productObj.getString("product_type") ?: "" - } - val totalPoints = pointsRequired * quantity - if (stock < quantity) { - result.set("message", "库存不足") - return@w result - } - val userPoints = await(this.getUserPoints()) - if (userPoints < totalPoints) { - result.set("message", "积分不足") - return@w result - } - val exchangeRecord = UTSJSONObject(UTSSourceMapPosition("exchangeRecord", "utils/supabaseService.uts", 5885, 19)) - exchangeRecord.set("user_id", userId!!) - exchangeRecord.set("product_id", productId) - exchangeRecord.set("quantity", quantity) - exchangeRecord.set("points_used", totalPoints) - exchangeRecord.set("status", 0) - if (addressSnapshot != null && productType === "physical") { - exchangeRecord.set("address_snapshot", JSON.stringify(addressSnapshot)) - } - val insertRes = await(supaInstance.from("ml_point_exchanges").insert(exchangeRecord).execute()) - if (insertRes.error != null) { - console.error("[exchangeProduct] 创建兑换记录失败:", insertRes.error, " at utils/supabaseService.uts:6383") - result.set("message", "兑换失败") - return@w result - } - console.log("[exchangeProduct] 兑换记录创建成功", " at utils/supabaseService.uts:6388") - console.log("[exchangeProduct] 准备扣减库存", " at utils/supabaseService.uts:6391") - console.log("[exchangeProduct] productId 类型:", UTSAndroid.`typeof`(productId), " at utils/supabaseService.uts:6392") - console.log("[exchangeProduct] productId 值:", productId, " at utils/supabaseService.uts:6393") - console.log("[exchangeProduct] 当前库存:", stock, ", 扣减数量:", quantity, " at utils/supabaseService.uts:6394") - val stockUpdateData = UTSJSONObject(UTSSourceMapPosition("stockUpdateData", "utils/supabaseService.uts", 5910, 19)) - stockUpdateData.set("stock", stock - quantity) - console.log("[exchangeProduct] stockUpdateData:", stockUpdateData, " at utils/supabaseService.uts:6400") - console.log("[exchangeProduct] stockUpdateData 类型:", UTSAndroid.`typeof`(stockUpdateData), " at utils/supabaseService.uts:6401") - val checkProduct = await(supaInstance.from("ml_point_products").select("id, stock").eq("id", productId).execute()) - console.log("[exchangeProduct] 查询商品结果:", checkProduct.data, "error:", checkProduct.error, " at utils/supabaseService.uts:6409") - val stockUpdateRes = await(supaInstance.from("ml_point_products").update(stockUpdateData).eq("id", productId).execute()) - console.log("[exchangeProduct] 库存更新结果 error:", stockUpdateRes.error, " at utils/supabaseService.uts:6417") - console.log("[exchangeProduct] 库存更新结果 data:", stockUpdateRes.data, " at utils/supabaseService.uts:6418") - if (stockUpdateRes.error != null) { - console.error("[exchangeProduct] 扣减库存失败:", stockUpdateRes.error, " at utils/supabaseService.uts:6421") - } - console.log("[exchangeProduct] 准备扣减积分, userId:", userId, ", 积分:", totalPoints, " at utils/supabaseService.uts:6425") - val deductResult = await(this.deductPoints(userId!!, totalPoints, "redeem", "积分兑换商品")) - console.log("[exchangeProduct] 积分扣减结果:", deductResult, " at utils/supabaseService.uts:6427") - if (!deductResult) { - console.error("[exchangeProduct] 扣减积分失败", " at utils/supabaseService.uts:6430") - } - console.log("[exchangeProduct] 兑换流程完成", " at utils/supabaseService.uts:6433") - result.set("success", true) - result.set("message", "兑换成功") - return@w result - } - catch (e: Throwable) { - console.error("积分兑换异常:", e, " at utils/supabaseService.uts:6438") - result.set("message", "兑换异常") - return@w result - } - }) - } - open fun getExchangeRecords(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val response = await(supaInstance.from("ml_point_exchanges").select("*, product:ml_point_products(name, image_url, product_type)").eq("user_id", userId!!).order("created_at", OrderOptions(ascending = false)).execute()) - if (response.error != null || response.data == null) { - val empty: UTSArray = _uA() - return@w empty - } - return@w response.data as UTSArray - } - catch (e: Throwable) { - console.error("获取兑换记录失败:", e, " at utils/supabaseService.uts:6467") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun getProductReviews(productId: String, page: Number = 1, limit: Number = 10, rating: Number = 0, hasImage: Boolean = false): UTSPromise { - return wrapUTSPromise(suspend w@{ - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 5978, 15)) - result.set("total", 0) - result.set("page", page) - result.set("limit", limit) - result.set("data", _uA()) - try { - val userId = this.getCurrentUserId() - var query = supaInstance.from("ml_product_reviews").select("*, user:auth.users!ml_product_reviews_user_id_fkey(raw_user_meta_data)", object : UTSJSONObject() { - var count = "exact" - }).eq("product_id", productId) - if (rating > 0) { - query = query.eq("rating", rating) - } - if (hasImage) { - query = query.neq("images", "[]") - } - val offset = (page - 1) * limit - val response = await(query.order("created_at", OrderOptions(ascending = false)).range(offset, offset + limit - 1).execute()) - if (response.error != null) { - console.error("获取评价列表失败:", response.error, " at utils/supabaseService.uts:6506") - return@w result - } - val total = response.total ?: 0 - val reviews = response.data as UTSArray - val processedReviews: UTSArray = _uA() - run { - var i: Number = 0 - while(i < reviews.length){ - val review = reviews[i] - val processed = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(review)), " at utils/supabaseService.uts:6010") as UTSJSONObject - val userRaw = processed.get("user") - var userName = "匿名用户" - var userAvatar = "" - if (userRaw != null) { - var userData: UTSJSONObject - if (userRaw is UTSJSONObject) { - userData = userRaw as UTSJSONObject - } else { - userData = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(userRaw)), " at utils/supabaseService.uts:6021") as UTSJSONObject - } - val metaData = userData.get("raw_user_meta_data") - if (metaData != null) { - var metaObj: UTSJSONObject - if (metaData is UTSJSONObject) { - metaObj = metaData as UTSJSONObject - } else { - metaObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(metaData)), " at utils/supabaseService.uts:6030") as UTSJSONObject - } - userName = metaObj.getString("nickname") ?: metaObj.getString("name") ?: "匿名用户" - userAvatar = metaObj.getString("avatar_url") ?: "" - } - } - val isAnonymous = processed.getBoolean("is_anonymous") ?: false - if (isAnonymous) { - userName = "匿名用户" - userAvatar = "" - } - processed.set("user_name", userName) - processed.set("user_avatar", userAvatar) - var isLiked = false - if (userId != null) { - val likeRes = await(supaInstance.from("ml_review_likes").select("id").eq("review_id", processed.getString("id") ?: "").eq("user_id", userId!!).limit(1).execute()) - if (likeRes.error == null && likeRes.data != null) { - val likeData = likeRes.data as UTSArray - isLiked = likeData.length > 0 - } - } - processed.set("is_liked", isLiked) - processedReviews.push(processed) - i++ - } - } - result.set("total", total) - result.set("data", processedReviews) - return@w result - } - catch (e: Throwable) { - console.error("获取评价列表异常:", e, " at utils/supabaseService.uts:6578") - return@w result - } - }) - } - open fun getReviewStats(productId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 6073, 15)) - result.set("total_count", 0) - result.set("avg_rating", 0) - result.set("good_rate", 0) - result.set("rating_distribution", UTSJSONObject()) - result.set("tags", _uA()) - try { - val response = await(supaInstance.from("ml_product_reviews").select("rating").eq("product_id", productId).execute()) - if (response.error != null || response.data == null) { - return@w result - } - val reviews = response.data as UTSArray - val totalCount = reviews.length - if (totalCount === 0) { - return@w result - } - var totalRating: Number = 0 - var goodCount: Number = 0 - val distribution: Map = Map() - distribution.set(1, 0) - distribution.set(2, 0) - distribution.set(3, 0) - distribution.set(4, 0) - distribution.set(5, 0) - run { - var i: Number = 0 - while(i < reviews.length){ - val review = reviews[i] - var rating: Number = 0 - if (review is UTSJSONObject) { - rating = (review as UTSJSONObject).getNumber("rating") ?: 0 - } else { - val rObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(review)), " at utils/supabaseService.uts:6107") as UTSJSONObject - rating = rObj.getNumber("rating") ?: 0 - } - totalRating += rating - if (rating >= 4) { - goodCount++ - } - val currentCount = distribution.get(rating) ?: 0 - distribution.set(rating, currentCount + 1) - i++ - } - } - val avgRating = Math.round((totalRating / totalCount) * 10) / 10 - val goodRate = Math.round((goodCount / totalCount) * 100) - val distObj = UTSJSONObject(UTSSourceMapPosition("distObj", "utils/supabaseService.uts", 6118, 19)) - distribution.forEach(fun(value: Number, key: Number){ - distObj.set(key.toString(10), value) - } - ) - result.set("total_count", totalCount) - result.set("avg_rating", avgRating) - result.set("good_rate", goodRate) - result.set("rating_distribution", distObj) - return@w result - } - catch (e: Throwable) { - console.error("获取评价统计异常:", e, " at utils/supabaseService.uts:6649") - return@w result - } - }) - } - open fun toggleReviewLike(reviewId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 6135, 15)) - result.set("success", false) - result.set("is_liked", false) - result.set("like_count", 0) - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w result - } - val checkRes = await(supaInstance.from("ml_review_likes").select("id").eq("review_id", reviewId).eq("user_id", userId!!).limit(1).execute()) - var isLiked = false - if (checkRes.error == null && checkRes.data != null) { - val checkData = checkRes.data as UTSArray - isLiked = checkData.length > 0 - } - if (isLiked) { - await(supaInstance.from("ml_review_likes").eq("review_id", reviewId).eq("user_id", userId!!).`delete`().execute()) - val currentCountRes = await(supaInstance.from("ml_product_reviews").select("like_count").eq("id", reviewId).single().execute()) - if (currentCountRes.error == null && currentCountRes.data != null) { - var currentCount: Number = 0 - if (currentCountRes.data is UTSJSONObject) { - currentCount = (currentCountRes.data as UTSJSONObject).getNumber("like_count") ?: 0 - } else { - val countObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(currentCountRes.data)), " at utils/supabaseService.uts:6178") as UTSJSONObject - currentCount = countObj.getNumber("like_count") ?: 0 - } - val updateData = UTSJSONObject(UTSSourceMapPosition("updateData", "utils/supabaseService.uts", 6181, 27)) - updateData.set("like_count", Math.max(0, currentCount - 1)) - await(supaInstance.from("ml_product_reviews").update(updateData).eq("id", reviewId).execute()) - } - result.set("is_liked", false) - } else { - val likeRecord = UTSJSONObject(UTSSourceMapPosition("likeRecord", "utils/supabaseService.uts", 6193, 23)) - likeRecord.set("review_id", reviewId) - likeRecord.set("user_id", userId!!) - await(supaInstance.from("ml_review_likes").insert(likeRecord).execute()) - val currentCountRes = await(supaInstance.from("ml_product_reviews").select("like_count").eq("id", reviewId).single().execute()) - if (currentCountRes.error == null && currentCountRes.data != null) { - var currentCount: Number = 0 - if (currentCountRes.data is UTSJSONObject) { - currentCount = (currentCountRes.data as UTSJSONObject).getNumber("like_count") ?: 0 - } else { - val countObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(currentCountRes.data)), " at utils/supabaseService.uts:6213") as UTSJSONObject - currentCount = countObj.getNumber("like_count") ?: 0 - } - val updateData = UTSJSONObject(UTSSourceMapPosition("updateData", "utils/supabaseService.uts", 6216, 27)) - updateData.set("like_count", currentCount + 1) - await(supaInstance.from("ml_product_reviews").update(updateData).eq("id", reviewId).execute()) - } - result.set("is_liked", true) - } - val reviewRes = await(supaInstance.from("ml_product_reviews").select("like_count").eq("id", reviewId).single().execute()) - if (reviewRes.error == null && reviewRes.data != null) { - var likeCount: Number = 0 - if (reviewRes.data is UTSJSONObject) { - likeCount = (reviewRes.data as UTSJSONObject).getNumber("like_count") ?: 0 - } else { - val rObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(reviewRes.data)), " at utils/supabaseService.uts:6239") as UTSJSONObject - likeCount = rObj.getNumber("like_count") ?: 0 - } - result.set("like_count", likeCount) - } - result.set("success", true) - return@w result - } - catch (e: Throwable) { - console.error("评价点赞异常:", e, " at utils/supabaseService.uts:6780") - return@w result - } - }) - } - open fun getMyReviews(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val response = await(supaInstance.from("ml_product_reviews").select("\n *,\n product:ml_products!ml_product_reviews_product_id_fkey(name, main_image_url)\n ").eq("user_id", userId!!).order("created_at", OrderOptions(ascending = false)).execute()) - if (response.error != null || response.data == null) { - val empty: UTSArray = _uA() - return@w empty - } - val reviews = response.data as UTSArray - val result: UTSArray = _uA() - run { - var i: Number = 0 - while(i < reviews.length){ - val review = reviews[i] - val processed = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(review)), " at utils/supabaseService.uts:6277") as UTSJSONObject - val productRaw = processed.get("product") - var productName = "" - var productImage = "" - if (productRaw != null) { - var productObj: UTSJSONObject - if (productRaw is UTSJSONObject) { - productObj = productRaw as UTSJSONObject - } else { - productObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(productRaw)), " at utils/supabaseService.uts:6288") as UTSJSONObject - } - productName = productObj.getString("name") ?: "" - productImage = productObj.getString("main_image_url") ?: "" - } - processed.set("product_name", productName) - processed.set("product_image", productImage) - val createdAt = processed.getString("created_at") ?: "" - val createdTime = Date(createdAt).getTime() - val now = Date.now() - val sevenDays: Number = 604800000 - val canAppend = (now - createdTime) < sevenDays && (processed.getString("append_content") ?: "") === "" - processed.set("can_append", canAppend) - val oneDay: Number = 86400000 - val canEdit = (now - createdTime) < oneDay - processed.set("can_edit", canEdit) - result.push(processed) - i++ - } - } - return@w result - } - catch (e: Throwable) { - console.error("获取我的评价失败:", e, " at utils/supabaseService.uts:6851") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun appendReview(reviewId: String, content: String, images: UTSArray): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w false - } - val updateData = UTSJSONObject(UTSSourceMapPosition("updateData", "utils/supabaseService.uts", 6322, 19)) - updateData.set("append_content", content) - updateData.set("append_images", JSON.stringify(images)) - updateData.set("append_at", Date().toISOString()) - val response = await(supaInstance.from("ml_product_reviews").update(updateData).eq("id", reviewId).eq("user_id", userId!!).execute()) - return@w response.error == null - } - catch (e: Throwable) { - console.error("追加评价失败:", e, " at utils/supabaseService.uts:6877") - return@w false - } - }) - } - open fun deleteReview(reviewId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w false - } - val response = await(supaInstance.from("ml_product_reviews").`delete`().eq("id", reviewId).eq("user_id", userId!!).execute()) - return@w response.error == null - } - catch (e: Throwable) { - console.error("删除评价失败:", e, " at utils/supabaseService.uts:6897") - return@w false - } - }) - } - private fun addPoints(userId: String, points: Number, type: String, description: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val currentPoints = await(this.getUserPoints()) - val newPoints = currentPoints + points - val totalEarned = await(this.getTotalEarned()) - val checkRes = await(supaInstance.from("ml_user_points").select("user_id").eq("user_id", userId).limit(1).execute()) - val exists = checkRes.error == null && checkRes.data != null && (checkRes.data as UTSArray).length > 0 - if (exists) { - val updateData = UTSJSONObject(UTSSourceMapPosition("updateData", "utils/supabaseService.uts", 6376, 23)) - updateData.set("points", newPoints) - updateData.set("total_earned", totalEarned + points) - updateData.set("updated_at", Date().toISOString()) - await(supaInstance.from("ml_user_points").update(updateData).eq("user_id", userId).execute()) - } else { - val insertData = UTSJSONObject(UTSSourceMapPosition("insertData", "utils/supabaseService.uts", 6388, 23)) - insertData.set("user_id", userId) - insertData.set("points", newPoints) - insertData.set("total_earned", points) - insertData.set("updated_at", Date().toISOString()) - await(supaInstance.from("ml_user_points").insert(insertData).execute()) - } - val record = UTSJSONObject(UTSSourceMapPosition("record", "utils/supabaseService.uts", 6399, 19)) - record.set("user_id", userId) - record.set("points", points) - record.set("type", type) - record.set("description", description) - await(supaInstance.from("ml_point_records").insert(record).execute()) - return@w true - } - catch (e: Throwable) { - console.error("增加积分失败:", e, " at utils/supabaseService.uts:6962") - return@w false - } - }) - } - private fun deductPoints(userId: String, points: Number, type: String, description: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val currentPoints = await(this.getUserPoints()) - val newPoints = currentPoints - points - if (newPoints < 0) { - return@w false - } - val updateData = UTSJSONObject(UTSSourceMapPosition("updateData", "utils/supabaseService.uts", 6422, 19)) - updateData.set("points", newPoints) - updateData.set("updated_at", Date().toISOString()) - await(supaInstance.from("ml_user_points").update(updateData).eq("user_id", userId).execute()) - val record = UTSJSONObject(UTSSourceMapPosition("record", "utils/supabaseService.uts", 6430, 19)) - record.set("user_id", userId) - record.set("points", -points) - record.set("type", type) - record.set("description", description) - await(supaInstance.from("ml_point_records").insert(record).execute()) - return@w true - } - catch (e: Throwable) { - console.error("扣减积分失败:", e, " at utils/supabaseService.uts:6998") - return@w false - } - }) - } - private fun getTotalEarned(): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w 0 - } - val res = await(supaInstance.from("ml_user_points").select("total_earned").eq("user_id", userId!!).single().execute()) - if (res.error == null && res.data != null) { - if (res.data is UTSJSONObject) { - return@w (res.data as UTSJSONObject).getNumber("total_earned") ?: 0 - } else { - val obj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(res.data)), " at utils/supabaseService.uts:6463") as UTSJSONObject - return@w obj.getNumber("total_earned") ?: 0 - } - } - return@w 0 - } - catch (e: Throwable) { - return@w 0 - } - }) - } - open fun getExpiringPoints(): UTSPromise { - return wrapUTSPromise(suspend w@{ - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 6476, 15)) - result.set("expiring_points", 0) - result.set("expiring_date", null) - result.set("details", _uA()) - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w result - } - val now = Date() - val thirtyDaysLater = Date(now.getTime() + 2592000000) - val nowStr = now.toISOString() - val laterStr = thirtyDaysLater.toISOString() - val res = await(supaInstance.from("ml_point_records").select("points, description, expires_at, created_at").eq("user_id", userId!!).gt("points", 0).eq("is_expired", false).not("expires_at", "is", null).gte("expires_at", nowStr).lte("expires_at", laterStr).order("expires_at", OrderOptions(ascending = true)).execute()) - if (res.error != null) { - console.error("获取即将过期积分失败:", res.error, " at utils/supabaseService.uts:7062") - return@w result - } - if (res.data != null && UTSArray.isArray(res.data)) { - val records = res.data as UTSArray - var totalExpiring: Number = 0 - var earliestDate: String? = null - val details: UTSArray = _uA() - run { - var i: Number = 0 - while(i < records.length){ - val record = records[i] - var recordObj: UTSJSONObject - if (record is UTSJSONObject) { - recordObj = record as UTSJSONObject - } else { - recordObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(record)), " at utils/supabaseService.uts:6516") as UTSJSONObject - } - val points = recordObj.getNumber("points") ?: 0 - val expiresAt = recordObj.getString("expires_at") ?: "" - totalExpiring += points - if (earliestDate == null || expiresAt < earliestDate) { - earliestDate = expiresAt - } - details.push(_uO("points" to points, "description" to recordObj.getString("description"), "expires_at" to expiresAt, "created_at" to (recordObj.getString("created_at") ?: ""))) - i++ - } - } - result.set("expiring_points", totalExpiring) - result.set("expiring_date", if (earliestDate != null) { - earliestDate.split("T")[0] - } else { - null - } - ) - result.set("details", details) - } - return@w result - } - catch (e: Throwable) { - console.error("获取即将过期积分异常:", e, " at utils/supabaseService.uts:7105") - return@w result - } - }) - } - open fun getPointsOverview(): UTSPromise { - return wrapUTSPromise(suspend w@{ - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 6544, 15)) - result.set("current_points", 0) - result.set("total_earned", 0) - result.set("expiring_points", 0) - result.set("expiring_date", null) - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w result - } - val res = await(supaInstance.from("ml_user_points").select("points, total_earned, expiring_points, expiring_date").eq("user_id", userId!!).single().execute()) - if (res.error == null && res.data != null) { - var data: UTSJSONObject - if (res.data is UTSJSONObject) { - data = res.data as UTSJSONObject - } else { - data = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(res.data)), " at utils/supabaseService.uts:6565") as UTSJSONObject - } - result.set("current_points", data.getNumber("points") ?: 0) - result.set("total_earned", data.getNumber("total_earned") ?: 0) - result.set("expiring_points", data.getNumber("expiring_points") ?: 0) - result.set("expiring_date", data.getString("expiring_date")) - } - return@w result - } - catch (e: Throwable) { - console.error("获取积分概览异常:", e, " at utils/supabaseService.uts:7145") - return@w result - } - }) - } - open fun getExpiryNotifications(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val res = await(supaInstance.from("ml_point_expiry_notifications").select("*").eq("user_id", userId!!).eq("is_sent", false).order("expiry_date", OrderOptions(ascending = true)).execute()) - if (res.error != null || res.data == null) { - val empty: UTSArray = _uA() - return@w empty - } - return@w res.data as UTSArray - } - catch (e: Throwable) { - console.error("获取过期提醒失败:", e, " at utils/supabaseService.uts:7174") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun markNotificationRead(notificationId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val res = await(supaInstance.from("ml_point_expiry_notifications").update(object : UTSJSONObject() { - var is_sent = true - var sent_at = Date().toISOString() - }).eq("id", notificationId).execute()) - return@w res.error == null - } - catch (e: Throwable) { - console.error("标记通知失败:", e, " at utils/supabaseService.uts:7191") - return@w false - } - }) - } - open fun triggerPointsMaintenance(): UTSPromise { - return wrapUTSPromise(suspend w@{ - console.warn("triggerPointsMaintenance: UTS不支持rpc调用,请在Supabase后台手动执行 daily_points_maintenance()", " at utils/supabaseService.uts:7199") - return@w false - }) - } - open fun getMerchantPromotionConfig(merchantId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 6630, 15)) - result.set("promotion_enabled", false) - result.set("share_free_enabled", false) - result.set("distribution_enabled", false) - result.set("required_count", 4) - result.set("reward_type", "product_price") - result.set("fixed_reward_amount", 0) - try { - val res = await(supaInstance.from("ml_merchant_promotion_config").select("*").eq("merchant_id", merchantId).limit(1).execute()) - if (res.error == null && res.data != null && UTSArray.isArray(res.data)) { - val arr = res.data as UTSArray - if (arr.length > 0) { - val item = arr[0] - val itemAny = item as Any - if (itemAny is UTSJSONObject) { - result.set("promotion_enabled", (itemAny as UTSJSONObject).getBoolean("promotion_enabled") ?: false) - result.set("share_free_enabled", (itemAny as UTSJSONObject).getBoolean("share_free_enabled") ?: false) - result.set("distribution_enabled", (itemAny as UTSJSONObject).getBoolean("distribution_enabled") ?: false) - result.set("required_count", (itemAny as UTSJSONObject).getNumber("required_count") ?: 4) - result.set("reward_type", (itemAny as UTSJSONObject).getString("reward_type") ?: "product_price") - result.set("fixed_reward_amount", (itemAny as UTSJSONObject).getNumber("fixed_reward_amount") ?: 0) - } - } - } - } - catch (e: Throwable) { - console.error("获取商家推销配置失败:", e, " at utils/supabaseService.uts:7240") - } - return@w result - }) - } - open fun isShareFreeEnabled(merchantId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val config = await(this.getMerchantPromotionConfig(merchantId)) - val promotionEnabled = config.get("promotion_enabled") - val shareFreeEnabled = config.get("share_free_enabled") - return@w (promotionEnabled === true || promotionEnabled === "true") && (shareFreeEnabled === true || shareFreeEnabled === "true") - } - catch (e: Throwable) { - console.error("检查分享免单状态失败:", e, " at utils/supabaseService.uts:7255") - return@w false - } - }) - } - open fun getUserBalance(): UTSPromise { - return wrapUTSPromise(suspend w@{ - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 6682, 15)) - result.set("balance", 0) - result.set("frozen_balance", 0) - result.set("total_earned", 0) - result.set("total_withdrawn", 0) - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w result - } - val res = await(supaInstance.from("ml_user_balance").select("*").eq("user_id", userId!!).limit(1).execute()) - if (res.error == null && res.data != null && UTSArray.isArray(res.data)) { - val arr = res.data as UTSArray - if (arr.length > 0) { - val item = arr[0] - val itemAny = item as Any - if (itemAny is UTSJSONObject) { - result.set("balance", (itemAny as UTSJSONObject).getNumber("balance") ?: 0) - result.set("frozen_balance", (itemAny as UTSJSONObject).getNumber("frozen_balance") ?: 0) - result.set("total_earned", (itemAny as UTSJSONObject).getNumber("total_earned") ?: 0) - result.set("total_withdrawn", (itemAny as UTSJSONObject).getNumber("total_withdrawn") ?: 0) - } - } - } - return@w result - } - catch (e: Throwable) { - console.error("获取用户余额失败:", e, " at utils/supabaseService.uts:7297") - return@w result - } - }) - } - open fun getBalanceRecords(page: Number = 1, limit: Number = 20): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val offset = (page - 1) * limit - val res = await(supaInstance.from("ml_balance_records").select("*").eq("user_id", userId!!).order("created_at", OrderOptions(ascending = false)).range(offset, offset + limit - 1).execute()) - if (res.error != null || res.data == null) { - val empty: UTSArray = _uA() - return@w empty - } - return@w res.data as UTSArray - } - catch (e: Throwable) { - console.error("获取余额记录失败:", e, " at utils/supabaseService.uts:7327") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun createShareRecord(productId: String, orderId: String, orderItemId: String?, productName: String, productImage: String?, productPrice: Number): UTSPromise { - return wrapUTSPromise(suspend w@{ - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 6748, 15)) - result.set("success", false) - result.set("share_code", "") - result.set("message", "") - try { - val userId = this.getCurrentUserId() - if (userId == null) { - result.set("message", "请先登录") - return@w result - } - val shareCode = this.generateShareCode() - val insertData = UTSJSONObject(UTSSourceMapPosition("insertData", "utils/supabaseService.uts", 6760, 19)) - insertData.set("user_id", userId) - insertData.set("product_id", productId) - insertData.set("order_id", orderId) - insertData.set("order_item_id", orderItemId) - insertData.set("share_code", shareCode) - insertData.set("product_name", productName) - insertData.set("product_image", productImage) - insertData.set("product_price", productPrice) - insertData.set("required_count", 4) - insertData.set("current_count", 0) - insertData.set("status", 0) - val res = await(supaInstance.from("ml_share_records").insert(insertData).execute()) - if (res.error != null) { - console.error("[createShareRecord] 插入失败:", res.error, " at utils/supabaseService.uts:7371") - console.error("[createShareRecord] 插入数据:", JSON.stringify(insertData), " at utils/supabaseService.uts:7372") - result.set("message", "创建分享记录失败: " + (res.error!!.message ?: "未知错误")) - return@w result - } - var insertedId = "" - if (res.data != null && UTSArray.isArray(res.data) && (res.data as UTSArray).length > 0) { - val inserted = (res.data as UTSArray)[0] - var insertedObj: UTSJSONObject? = null - if (inserted is UTSJSONObject) { - insertedObj = inserted as UTSJSONObject - } else { - insertedObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(inserted)), " at utils/supabaseService.uts:6791") as UTSJSONObject - } - insertedId = insertedObj.getString("id") ?: "" - } - result.set("success", true) - result.set("id", insertedId) - result.set("share_code", shareCode) - result.set("message", "分享创建成功") - return@w result - } - catch (e: Throwable) { - console.error("创建分享记录失败:", e, " at utils/supabaseService.uts:7396") - result.set("message", "创建分享记录异常") - return@w result - } - }) - } - private fun generateShareCode(): String { - val chars = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789" - var result = "" - run { - var i: Number = 0 - while(i < 8){ - val randomIndex = Math.floor(Math.random() * chars.length) - result += chars.charAt(randomIndex) - i++ - } - } - return result - } - open fun validateShareCode(shareCode: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 6819, 15)) - result.set("valid", false) - result.set("share_record", null) - try { - val res = await(supaInstance.from("ml_share_records").select("*").eq("share_code", shareCode).eq("status", 0).limit(1).execute()) - if (res.error == null && res.data != null && UTSArray.isArray(res.data)) { - val arr = res.data as UTSArray - if (arr.length > 0) { - result.set("valid", true) - result.set("share_record", arr[0]) - } - } - return@w result - } - catch (e: Throwable) { - console.error("验证分享码失败:", e, " at utils/supabaseService.uts:7438") - return@w result - } - }) - } - open fun getMyShareRecords(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val res = await(supaInstance.from("ml_share_records").select("*").eq("user_id", userId!!).order("created_at", OrderOptions(ascending = false)).execute()) - if (res.error != null || res.data == null) { - val empty: UTSArray = _uA() - return@w empty - } - return@w res.data as UTSArray - } - catch (e: Throwable) { - console.error("获取分享记录失败:", e, " at utils/supabaseService.uts:7466") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun getShareDetail(shareId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 6872, 15)) - result.set("share_record", null) - result.set("secondary_purchases", _uA()) - try { - val res = await(supaInstance.from("ml_share_records").select("*").eq("id", shareId).limit(1).execute()) - if (res.error == null && res.data != null && UTSArray.isArray(res.data)) { - val arr = res.data as UTSArray - if (arr.length > 0) { - result.set("share_record", arr[0]) - } - } - val purchasesRes = await(supaInstance.from("ml_secondary_purchases").select("*").eq("share_record_id", shareId).order("created_at", OrderOptions(ascending = false)).execute()) - if (purchasesRes.error == null && purchasesRes.data != null) { - result.set("secondary_purchases", purchasesRes.data) - } - return@w result - } - catch (e: Throwable) { - console.error("获取分享详情失败:", e, " at utils/supabaseService.uts:7507") - return@w result - } - }) - } - open fun getFreeOrderRewards(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val res = await(supaInstance.from("ml_free_order_rewards").select("*").eq("user_id", userId!!).order("created_at", OrderOptions(ascending = false)).execute()) - if (res.error != null || res.data == null) { - val empty: UTSArray = _uA() - return@w empty - } - return@w res.data as UTSArray - } - catch (e: Throwable) { - console.error("获取免单奖励记录失败:", e, " at utils/supabaseService.uts:7535") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun getMemberLevels(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val res = await(supaInstance.from("ml_member_levels").select("*").eq("is_active", true).order("level_rank", OrderOptions(ascending = true)).execute()) - if (res.error != null || res.data == null) { - val empty: UTSArray = _uA() - return@w empty - } - return@w res.data as UTSArray - } - catch (e: Throwable) { - console.error("获取会员等级列表失败:", e, " at utils/supabaseService.uts:7560") - val empty: UTSArray = _uA() - return@w empty - } - }) - } - open fun getUserMemberInfo(): UTSPromise { - return wrapUTSPromise(suspend w@{ - val result = UTSJSONObject(UTSSourceMapPosition("result", "utils/supabaseService.uts", 6955, 15)) - result.set("member_level", 0) - result.set("level_name", "普通会员") - result.set("discount", 1.0) - result.set("total_spent", 0) - result.set("next_level", null) - result.set("progress_percent", 0) - result.set("manual_level", false) - try { - val userId = this.getCurrentUserId() - if (userId == null) { - return@w result - } - val userRes = await(supaInstance.from("ml_user_profiles").select("tier_id, total_spent, manual_level").eq("user_id", userId!!).limit(1).execute()) - var tierId: String = "" - var totalSpent: Number = 0 - var manualLevel = false - if (userRes.error == null && userRes.data != null && UTSArray.isArray(userRes.data)) { - val arr = userRes.data as UTSArray - if (arr.length > 0) { - val item = arr[0] - val itemAny = item as Any - if (itemAny is UTSJSONObject) { - tierId = (itemAny as UTSJSONObject).getString("tier_id") ?: "" - totalSpent = (itemAny as UTSJSONObject).getNumber("total_spent") ?: 0 - manualLevel = (itemAny as UTSJSONObject).getBoolean("manual_level") ?: false - } - } - } - val levels = await(this.getMemberLevels()) - var levelName = "普通会员" - var discount: Number = 1.0 - var nextLevel: UTSJSONObject? = null - var progressPercent: Number = 0 - var currentLevelRank: Number = 0 - run { - var i: Number = 0 - while(i < levels.length){ - val level = levels[i] - val levelAny = level as Any - var levelId = "" - var levelNameStr = "" - var levelRank: Number = 0 - var levelDiscount: Number = 1.0 - if (levelAny is UTSJSONObject) { - levelId = (levelAny as UTSJSONObject).getString("id") ?: "" - levelNameStr = (levelAny as UTSJSONObject).getString("name") ?: "" - levelRank = (levelAny as UTSJSONObject).getNumber("level_rank") ?: 0 - levelDiscount = (levelAny as UTSJSONObject).getNumber("discount_rate") ?: 1.0 - } - if (levelId == tierId) { - levelName = levelNameStr - discount = levelDiscount - currentLevelRank = levelRank - } - i++ - } - } - run { - var i: Number = 0 - while(i < levels.length){ - val level = levels[i] - val levelAny = level as Any - var levelRank: Number = 0 - var levelNameStr = "" - var levelMinAmount: Number = 0 - if (levelAny is UTSJSONObject) { - levelRank = (levelAny as UTSJSONObject).getNumber("level_rank") ?: 0 - levelNameStr = (levelAny as UTSJSONObject).getString("name") ?: "" - levelMinAmount = (levelAny as UTSJSONObject).getNumber("min_amount") ?: 0 - } - if (levelRank > currentLevelRank && nextLevel == null) { - val nextLevelObj = UTSJSONObject(UTSSourceMapPosition("nextLevelObj", "utils/supabaseService.uts", 7030, 27)) - val levelObj = level as UTSJSONObject - nextLevelObj.set("id", levelObj.getString("id") ?: "") - nextLevelObj.set("name", levelNameStr) - nextLevelObj.set("min_amount", levelMinAmount) - nextLevel = nextLevelObj - } - i++ - } - } - result.set("member_level", currentLevelRank) - result.set("level_name", levelName) - result.set("discount", discount) - result.set("total_spent", totalSpent) - result.set("next_level", nextLevel) - result.set("progress_percent", progressPercent) - result.set("manual_level", manualLevel) - return@w result - } - catch (e: Throwable) { - console.error("获取用户会员信息失败:", e, " at utils/supabaseService.uts:7672") - return@w result - } - }) - } - private fun getCurrentLevelMinAmount(levels: UTSArray, currentLevel: Number): Number { - run { - var i: Number = 0 - while(i < levels.length){ - val level = levels[i] - val levelAny = level as Any - if (levelAny is UTSJSONObject) { - val levelId = (levelAny as UTSJSONObject).getNumber("id") ?: 0 - if (levelId === currentLevel) { - return (levelAny as UTSJSONObject).getNumber("min_amount") ?: 0 - } - } - i++ - } - } - return 0 - } - open fun getMemberLevelLogs(): UTSPromise> { - return wrapUTSPromise(suspend w@{ - try { - val userId = this.getCurrentUserId() - if (userId == null) { - val empty: UTSArray = _uA() - return@w empty - } - val res = await(supaInstance.from("ml_member_level_logs").select("*").eq("user_id", userId!!).order("created_at", OrderOptions(ascending = false)).execute()) - if (res.error != null || res.data == null) { - val empty: UTSArray = _uA() - return@w empty - } - return@w res.data as UTSArray - } - catch (e: Throwable) { - console.error("获取会员等级变更记录失败:", e, " at utils/supabaseService.uts:7715") - val empty: UTSArray = _uA() - return@w empty - } - }) - } -} -val supabaseService = SupabaseService() -open class CapsuleButtonInfo ( - @JsonNotNull - open var left: Number, - @JsonNotNull - open var top: Number, - @JsonNotNull - open var right: Number, - @JsonNotNull - open var bottom: Number, - @JsonNotNull - open var width: Number, - @JsonNotNull - open var height: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("CapsuleButtonInfo", "pages/main/index.uvue", 291, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return CapsuleButtonInfoReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class CapsuleButtonInfoReactiveObject : CapsuleButtonInfo, IUTSReactive { - override var __v_raw: CapsuleButtonInfo - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: CapsuleButtonInfo, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(left = __v_raw.left, top = __v_raw.top, right = __v_raw.right, bottom = __v_raw.bottom, width = __v_raw.width, height = __v_raw.height) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): CapsuleButtonInfoReactiveObject { - return CapsuleButtonInfoReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var left: Number - get() { - return _tRG(__v_raw, "left", __v_raw.left, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("left")) { - return - } - val oldValue = __v_raw.left - __v_raw.left = value - _tRS(__v_raw, "left", oldValue, value) - } - override var top: Number - get() { - return _tRG(__v_raw, "top", __v_raw.top, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("top")) { - return - } - val oldValue = __v_raw.top - __v_raw.top = value - _tRS(__v_raw, "top", oldValue, value) - } - override var right: Number - get() { - return _tRG(__v_raw, "right", __v_raw.right, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("right")) { - return - } - val oldValue = __v_raw.right - __v_raw.right = value - _tRS(__v_raw, "right", oldValue, value) - } - override var bottom: Number - get() { - return _tRG(__v_raw, "bottom", __v_raw.bottom, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("bottom")) { - return - } - val oldValue = __v_raw.bottom - __v_raw.bottom = value - _tRS(__v_raw, "bottom", oldValue, value) - } - override var width: Number - get() { - return _tRG(__v_raw, "width", __v_raw.width, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("width")) { - return - } - val oldValue = __v_raw.width - __v_raw.width = value - _tRS(__v_raw, "width", oldValue, value) - } - override var height: Number - get() { - return _tRG(__v_raw, "height", __v_raw.height, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("height")) { - return - } - val oldValue = __v_raw.height - __v_raw.height = value - _tRS(__v_raw, "height", oldValue, value) - } -} -open class SortTab ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("SortTab", "pages/main/index.uvue", 331, 6) - } -} -val GenPagesMainIndexClass = CreateVueComponent(GenPagesMainIndex::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMainIndex.inheritAttrs, inject = GenPagesMainIndex.inject, props = GenPagesMainIndex.props, propsNeedCastKeys = GenPagesMainIndex.propsNeedCastKeys, emits = GenPagesMainIndex.emits, components = GenPagesMainIndex.components, styles = GenPagesMainIndex.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMainIndex.setup(props as GenPagesMainIndex) - } - ) -} -, fun(instance, renderer): GenPagesMainIndex { - return GenPagesMainIndex(instance, renderer) -} -) -open class LocalCategory ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var icon: String, - @JsonNotNull - open var description: String, - @JsonNotNull - open var color: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("LocalCategory", "pages/main/category.uvue", 131, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return LocalCategoryReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class LocalCategoryReactiveObject : LocalCategory, IUTSReactive { - override var __v_raw: LocalCategory - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: LocalCategory, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, icon = __v_raw.icon, description = __v_raw.description, color = __v_raw.color) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): LocalCategoryReactiveObject { - return LocalCategoryReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var icon: String - get() { - return _tRG(__v_raw, "icon", __v_raw.icon, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("icon")) { - return - } - val oldValue = __v_raw.icon - __v_raw.icon = value - _tRS(__v_raw, "icon", oldValue, value) - } - override var description: String - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } - override var color: String - get() { - return _tRG(__v_raw, "color", __v_raw.color, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("color")) { - return - } - val oldValue = __v_raw.color - __v_raw.color = value - _tRS(__v_raw, "color", oldValue, value) - } -} -open class CapsuleButtonInfo__1 ( - @JsonNotNull - open var left: Number, - @JsonNotNull - open var top: Number, - @JsonNotNull - open var right: Number, - @JsonNotNull - open var bottom: Number, - @JsonNotNull - open var width: Number, - @JsonNotNull - open var height: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("CapsuleButtonInfo", "pages/main/category.uvue", 144, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return CapsuleButtonInfo__1ReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class CapsuleButtonInfo__1ReactiveObject : CapsuleButtonInfo__1, IUTSReactive { - override var __v_raw: CapsuleButtonInfo__1 - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: CapsuleButtonInfo__1, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(left = __v_raw.left, top = __v_raw.top, right = __v_raw.right, bottom = __v_raw.bottom, width = __v_raw.width, height = __v_raw.height) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): CapsuleButtonInfo__1ReactiveObject { - return CapsuleButtonInfo__1ReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var left: Number - get() { - return _tRG(__v_raw, "left", __v_raw.left, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("left")) { - return - } - val oldValue = __v_raw.left - __v_raw.left = value - _tRS(__v_raw, "left", oldValue, value) - } - override var top: Number - get() { - return _tRG(__v_raw, "top", __v_raw.top, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("top")) { - return - } - val oldValue = __v_raw.top - __v_raw.top = value - _tRS(__v_raw, "top", oldValue, value) - } - override var right: Number - get() { - return _tRG(__v_raw, "right", __v_raw.right, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("right")) { - return - } - val oldValue = __v_raw.right - __v_raw.right = value - _tRS(__v_raw, "right", oldValue, value) - } - override var bottom: Number - get() { - return _tRG(__v_raw, "bottom", __v_raw.bottom, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("bottom")) { - return - } - val oldValue = __v_raw.bottom - __v_raw.bottom = value - _tRS(__v_raw, "bottom", oldValue, value) - } - override var width: Number - get() { - return _tRG(__v_raw, "width", __v_raw.width, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("width")) { - return - } - val oldValue = __v_raw.width - __v_raw.width = value - _tRS(__v_raw, "width", oldValue, value) - } - override var height: Number - get() { - return _tRG(__v_raw, "height", __v_raw.height, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("height")) { - return - } - val oldValue = __v_raw.height - __v_raw.height = value - _tRS(__v_raw, "height", oldValue, value) - } -} -val GenPagesMainCategoryClass = CreateVueComponent(GenPagesMainCategory::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMainCategory.inheritAttrs, inject = GenPagesMainCategory.inject, props = GenPagesMainCategory.props, propsNeedCastKeys = GenPagesMainCategory.propsNeedCastKeys, emits = GenPagesMainCategory.emits, components = GenPagesMainCategory.components, styles = GenPagesMainCategory.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMainCategory.setup(props as GenPagesMainCategory) - } - ) -} -, fun(instance, renderer): GenPagesMainCategory { - return GenPagesMainCategory(instance, renderer) -} -) -open class LocalCartItem ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var shopId: String, - @JsonNotNull - open var shopName: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var price: Number, - @JsonNotNull - open var originalPrice: Number, - @JsonNotNull - open var memberPrice: Number, - @JsonNotNull - open var image: String, - @JsonNotNull - open var spec: String, - @JsonNotNull - open var quantity: Number, - @JsonNotNull - open var selected: Boolean = false, - @JsonNotNull - open var productId: String, - @JsonNotNull - open var skuId: String, - @JsonNotNull - open var merchantId: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("LocalCartItem", "pages/main/cart.uvue", 186, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return LocalCartItemReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class LocalCartItemReactiveObject : LocalCartItem, IUTSReactive { - override var __v_raw: LocalCartItem - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: LocalCartItem, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, shopId = __v_raw.shopId, shopName = __v_raw.shopName, name = __v_raw.name, price = __v_raw.price, originalPrice = __v_raw.originalPrice, memberPrice = __v_raw.memberPrice, image = __v_raw.image, spec = __v_raw.spec, quantity = __v_raw.quantity, selected = __v_raw.selected, productId = __v_raw.productId, skuId = __v_raw.skuId, merchantId = __v_raw.merchantId) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): LocalCartItemReactiveObject { - return LocalCartItemReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var shopId: String - get() { - return _tRG(__v_raw, "shopId", __v_raw.shopId, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shopId")) { - return - } - val oldValue = __v_raw.shopId - __v_raw.shopId = value - _tRS(__v_raw, "shopId", oldValue, value) - } - override var shopName: String - get() { - return _tRG(__v_raw, "shopName", __v_raw.shopName, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shopName")) { - return - } - val oldValue = __v_raw.shopName - __v_raw.shopName = value - _tRS(__v_raw, "shopName", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var price: Number - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var originalPrice: Number - get() { - return _tRG(__v_raw, "originalPrice", __v_raw.originalPrice, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("originalPrice")) { - return - } - val oldValue = __v_raw.originalPrice - __v_raw.originalPrice = value - _tRS(__v_raw, "originalPrice", oldValue, value) - } - override var memberPrice: Number - get() { - return _tRG(__v_raw, "memberPrice", __v_raw.memberPrice, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("memberPrice")) { - return - } - val oldValue = __v_raw.memberPrice - __v_raw.memberPrice = value - _tRS(__v_raw, "memberPrice", oldValue, value) - } - override var image: String - get() { - return _tRG(__v_raw, "image", __v_raw.image, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("image")) { - return - } - val oldValue = __v_raw.image - __v_raw.image = value - _tRS(__v_raw, "image", oldValue, value) - } - override var spec: String - get() { - return _tRG(__v_raw, "spec", __v_raw.spec, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("spec")) { - return - } - val oldValue = __v_raw.spec - __v_raw.spec = value - _tRS(__v_raw, "spec", oldValue, value) - } - override var quantity: Number - get() { - return _tRG(__v_raw, "quantity", __v_raw.quantity, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("quantity")) { - return - } - val oldValue = __v_raw.quantity - __v_raw.quantity = value - _tRS(__v_raw, "quantity", oldValue, value) - } - override var selected: Boolean - get() { - return _tRG(__v_raw, "selected", __v_raw.selected, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("selected")) { - return - } - val oldValue = __v_raw.selected - __v_raw.selected = value - _tRS(__v_raw, "selected", oldValue, value) - } - override var productId: String - get() { - return _tRG(__v_raw, "productId", __v_raw.productId, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("productId")) { - return - } - val oldValue = __v_raw.productId - __v_raw.productId = value - _tRS(__v_raw, "productId", oldValue, value) - } - override var skuId: String - get() { - return _tRG(__v_raw, "skuId", __v_raw.skuId, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("skuId")) { - return - } - val oldValue = __v_raw.skuId - __v_raw.skuId = value - _tRS(__v_raw, "skuId", oldValue, value) - } - override var merchantId: String - get() { - return _tRG(__v_raw, "merchantId", __v_raw.merchantId, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchantId")) { - return - } - val oldValue = __v_raw.merchantId - __v_raw.merchantId = value - _tRS(__v_raw, "merchantId", oldValue, value) - } -} -open class CartGroup ( - @JsonNotNull - open var shopId: String, - @JsonNotNull - open var shopName: String, - @JsonNotNull - open var merchantId: String, - @JsonNotNull - open var items: UTSArray, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("CartGroup", "pages/main/cart.uvue", 203, 6) - } -} -open class RecommendProduct ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var shopId: String, - @JsonNotNull - open var shopName: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var price: Number, - @JsonNotNull - open var image: String, - @JsonNotNull - open var skuId: String, - @JsonNotNull - open var merchant_id: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("RecommendProduct", "pages/main/cart.uvue", 228, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return RecommendProductReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class RecommendProductReactiveObject : RecommendProduct, IUTSReactive { - override var __v_raw: RecommendProduct - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: RecommendProduct, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, shopId = __v_raw.shopId, shopName = __v_raw.shopName, name = __v_raw.name, price = __v_raw.price, image = __v_raw.image, skuId = __v_raw.skuId, merchant_id = __v_raw.merchant_id) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): RecommendProductReactiveObject { - return RecommendProductReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var shopId: String - get() { - return _tRG(__v_raw, "shopId", __v_raw.shopId, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shopId")) { - return - } - val oldValue = __v_raw.shopId - __v_raw.shopId = value - _tRS(__v_raw, "shopId", oldValue, value) - } - override var shopName: String - get() { - return _tRG(__v_raw, "shopName", __v_raw.shopName, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shopName")) { - return - } - val oldValue = __v_raw.shopName - __v_raw.shopName = value - _tRS(__v_raw, "shopName", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var price: Number - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var image: String - get() { - return _tRG(__v_raw, "image", __v_raw.image, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("image")) { - return - } - val oldValue = __v_raw.image - __v_raw.image = value - _tRS(__v_raw, "image", oldValue, value) - } - override var skuId: String - get() { - return _tRG(__v_raw, "skuId", __v_raw.skuId, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("skuId")) { - return - } - val oldValue = __v_raw.skuId - __v_raw.skuId = value - _tRS(__v_raw, "skuId", oldValue, value) - } - override var merchant_id: String - get() { - return _tRG(__v_raw, "merchant_id", __v_raw.merchant_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchant_id")) { - return - } - val oldValue = __v_raw.merchant_id - __v_raw.merchant_id = value - _tRS(__v_raw, "merchant_id", oldValue, value) - } -} -open class CapsuleButtonInfo__2 ( - @JsonNotNull - open var left: Number, - @JsonNotNull - open var top: Number, - @JsonNotNull - open var right: Number, - @JsonNotNull - open var bottom: Number, - @JsonNotNull - open var width: Number, - @JsonNotNull - open var height: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("CapsuleButtonInfo", "pages/main/cart.uvue", 249, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return CapsuleButtonInfo__2ReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class CapsuleButtonInfo__2ReactiveObject : CapsuleButtonInfo__2, IUTSReactive { - override var __v_raw: CapsuleButtonInfo__2 - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: CapsuleButtonInfo__2, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(left = __v_raw.left, top = __v_raw.top, right = __v_raw.right, bottom = __v_raw.bottom, width = __v_raw.width, height = __v_raw.height) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): CapsuleButtonInfo__2ReactiveObject { - return CapsuleButtonInfo__2ReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var left: Number - get() { - return _tRG(__v_raw, "left", __v_raw.left, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("left")) { - return - } - val oldValue = __v_raw.left - __v_raw.left = value - _tRS(__v_raw, "left", oldValue, value) - } - override var top: Number - get() { - return _tRG(__v_raw, "top", __v_raw.top, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("top")) { - return - } - val oldValue = __v_raw.top - __v_raw.top = value - _tRS(__v_raw, "top", oldValue, value) - } - override var right: Number - get() { - return _tRG(__v_raw, "right", __v_raw.right, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("right")) { - return - } - val oldValue = __v_raw.right - __v_raw.right = value - _tRS(__v_raw, "right", oldValue, value) - } - override var bottom: Number - get() { - return _tRG(__v_raw, "bottom", __v_raw.bottom, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("bottom")) { - return - } - val oldValue = __v_raw.bottom - __v_raw.bottom = value - _tRS(__v_raw, "bottom", oldValue, value) - } - override var width: Number - get() { - return _tRG(__v_raw, "width", __v_raw.width, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("width")) { - return - } - val oldValue = __v_raw.width - __v_raw.width = value - _tRS(__v_raw, "width", oldValue, value) - } - override var height: Number - get() { - return _tRG(__v_raw, "height", __v_raw.height, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("height")) { - return - } - val oldValue = __v_raw.height - __v_raw.height = value - _tRS(__v_raw, "height", oldValue, value) - } -} -val GenPagesMainCartClass = CreateVueComponent(GenPagesMainCart::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMainCart.inheritAttrs, inject = GenPagesMainCart.inject, props = GenPagesMainCart.props, propsNeedCastKeys = GenPagesMainCart.propsNeedCastKeys, emits = GenPagesMainCart.emits, components = GenPagesMainCart.components, styles = GenPagesMainCart.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMainCart.setup(props as GenPagesMainCart) - } - ) -} -, fun(instance, renderer): GenPagesMainCart { - return GenPagesMainCart(instance, renderer) -} -) -open class UserStatsType ( - @JsonNotNull - open var points: Number, - @JsonNotNull - open var balance: Number, - @JsonNotNull - open var level: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("UserStatsType", "pages/main/profile.uvue", 287, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return UserStatsTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class UserStatsTypeReactiveObject : UserStatsType, IUTSReactive { - override var __v_raw: UserStatsType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: UserStatsType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(points = __v_raw.points, balance = __v_raw.balance, level = __v_raw.level) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UserStatsTypeReactiveObject { - return UserStatsTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var points: Number - get() { - return _tRG(__v_raw, "points", __v_raw.points, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("points")) { - return - } - val oldValue = __v_raw.points - __v_raw.points = value - _tRS(__v_raw, "points", oldValue, value) - } - override var balance: Number - get() { - return _tRG(__v_raw, "balance", __v_raw.balance, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("balance")) { - return - } - val oldValue = __v_raw.balance - __v_raw.balance = value - _tRS(__v_raw, "balance", oldValue, value) - } - override var level: Number - get() { - return _tRG(__v_raw, "level", __v_raw.level, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("level")) { - return - } - val oldValue = __v_raw.level - __v_raw.level = value - _tRS(__v_raw, "level", oldValue, value) - } -} -open class OrderCountsType ( - @JsonNotNull - open var total: Number, - @JsonNotNull - open var pending: Number, - @JsonNotNull - open var toship: Number, - @JsonNotNull - open var shipped: Number, - @JsonNotNull - open var review: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("OrderCountsType", "pages/main/profile.uvue", 293, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return OrderCountsTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class OrderCountsTypeReactiveObject : OrderCountsType, IUTSReactive { - override var __v_raw: OrderCountsType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: OrderCountsType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(total = __v_raw.total, pending = __v_raw.pending, toship = __v_raw.toship, shipped = __v_raw.shipped, review = __v_raw.review) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): OrderCountsTypeReactiveObject { - return OrderCountsTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var total: Number - get() { - return _tRG(__v_raw, "total", __v_raw.total, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("total")) { - return - } - val oldValue = __v_raw.total - __v_raw.total = value - _tRS(__v_raw, "total", oldValue, value) - } - override var pending: Number - get() { - return _tRG(__v_raw, "pending", __v_raw.pending, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("pending")) { - return - } - val oldValue = __v_raw.pending - __v_raw.pending = value - _tRS(__v_raw, "pending", oldValue, value) - } - override var toship: Number - get() { - return _tRG(__v_raw, "toship", __v_raw.toship, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("toship")) { - return - } - val oldValue = __v_raw.toship - __v_raw.toship = value - _tRS(__v_raw, "toship", oldValue, value) - } - override var shipped: Number - get() { - return _tRG(__v_raw, "shipped", __v_raw.shipped, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shipped")) { - return - } - val oldValue = __v_raw.shipped - __v_raw.shipped = value - _tRS(__v_raw, "shipped", oldValue, value) - } - override var review: Number - get() { - return _tRG(__v_raw, "review", __v_raw.review, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("review")) { - return - } - val oldValue = __v_raw.review - __v_raw.review = value - _tRS(__v_raw, "review", oldValue, value) - } -} -open class ServiceCountsType ( - @JsonNotNull - open var coupons: Number, - @JsonNotNull - open var favorites: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ServiceCountsType", "pages/main/profile.uvue", 301, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return ServiceCountsTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class ServiceCountsTypeReactiveObject : ServiceCountsType, IUTSReactive { - override var __v_raw: ServiceCountsType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: ServiceCountsType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(coupons = __v_raw.coupons, favorites = __v_raw.favorites) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): ServiceCountsTypeReactiveObject { - return ServiceCountsTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var coupons: Number - get() { - return _tRG(__v_raw, "coupons", __v_raw.coupons, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("coupons")) { - return - } - val oldValue = __v_raw.coupons - __v_raw.coupons = value - _tRS(__v_raw, "coupons", oldValue, value) - } - override var favorites: Number - get() { - return _tRG(__v_raw, "favorites", __v_raw.favorites, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("favorites")) { - return - } - val oldValue = __v_raw.favorites - __v_raw.favorites = value - _tRS(__v_raw, "favorites", oldValue, value) - } -} -open class ConsumptionStatsType ( - @JsonNotNull - open var total_amount: Number, - @JsonNotNull - open var order_count: Number, - @JsonNotNull - open var avg_amount: Number, - @JsonNotNull - open var save_amount: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ConsumptionStatsType", "pages/main/profile.uvue", 306, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return ConsumptionStatsTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class ConsumptionStatsTypeReactiveObject : ConsumptionStatsType, IUTSReactive { - override var __v_raw: ConsumptionStatsType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: ConsumptionStatsType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(total_amount = __v_raw.total_amount, order_count = __v_raw.order_count, avg_amount = __v_raw.avg_amount, save_amount = __v_raw.save_amount) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): ConsumptionStatsTypeReactiveObject { - return ConsumptionStatsTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var total_amount: Number - get() { - return _tRG(__v_raw, "total_amount", __v_raw.total_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("total_amount")) { - return - } - val oldValue = __v_raw.total_amount - __v_raw.total_amount = value - _tRS(__v_raw, "total_amount", oldValue, value) - } - override var order_count: Number - get() { - return _tRG(__v_raw, "order_count", __v_raw.order_count, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("order_count")) { - return - } - val oldValue = __v_raw.order_count - __v_raw.order_count = value - _tRS(__v_raw, "order_count", oldValue, value) - } - override var avg_amount: Number - get() { - return _tRG(__v_raw, "avg_amount", __v_raw.avg_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("avg_amount")) { - return - } - val oldValue = __v_raw.avg_amount - __v_raw.avg_amount = value - _tRS(__v_raw, "avg_amount", oldValue, value) - } - override var save_amount: Number - get() { - return _tRG(__v_raw, "save_amount", __v_raw.save_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("save_amount")) { - return - } - val oldValue = __v_raw.save_amount - __v_raw.save_amount = value - _tRS(__v_raw, "save_amount", oldValue, value) - } -} -open class StatsPeriodType ( - @JsonNotNull - open var key: String, - @JsonNotNull - open var label: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("StatsPeriodType", "pages/main/profile.uvue", 313, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return StatsPeriodTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class StatsPeriodTypeReactiveObject : StatsPeriodType, IUTSReactive { - override var __v_raw: StatsPeriodType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: StatsPeriodType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(key = __v_raw.key, label = __v_raw.label) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): StatsPeriodTypeReactiveObject { - return StatsPeriodTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var key: String - get() { - return _tRG(__v_raw, "key", __v_raw.key, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("key")) { - return - } - val oldValue = __v_raw.key - __v_raw.key = value - _tRS(__v_raw, "key", oldValue, value) - } - override var label: String - get() { - return _tRG(__v_raw, "label", __v_raw.label, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("label")) { - return - } - val oldValue = __v_raw.label - __v_raw.label = value - _tRS(__v_raw, "label", oldValue, value) - } -} -open class OrderItemType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var order_no: String, - @JsonNotNull - open var status: Number, - @JsonNotNull - open var actual_amount: Number, - @JsonNotNull - open var created_at: String, - open var ml_order_items: Any? = null, - open var ml_shops: Any? = null, - @JsonNotNull - open var items_count: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("OrderItemType", "pages/main/profile.uvue", 318, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return OrderItemTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class OrderItemTypeReactiveObject : OrderItemType, IUTSReactive { - override var __v_raw: OrderItemType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: OrderItemType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, order_no = __v_raw.order_no, status = __v_raw.status, actual_amount = __v_raw.actual_amount, created_at = __v_raw.created_at, ml_order_items = __v_raw.ml_order_items, ml_shops = __v_raw.ml_shops, items_count = __v_raw.items_count) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): OrderItemTypeReactiveObject { - return OrderItemTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var order_no: String - get() { - return _tRG(__v_raw, "order_no", __v_raw.order_no, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("order_no")) { - return - } - val oldValue = __v_raw.order_no - __v_raw.order_no = value - _tRS(__v_raw, "order_no", oldValue, value) - } - override var status: Number - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } - override var actual_amount: Number - get() { - return _tRG(__v_raw, "actual_amount", __v_raw.actual_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("actual_amount")) { - return - } - val oldValue = __v_raw.actual_amount - __v_raw.actual_amount = value - _tRS(__v_raw, "actual_amount", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } - override var ml_order_items: Any? - get() { - return _tRG(__v_raw, "ml_order_items", __v_raw.ml_order_items, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("ml_order_items")) { - return - } - val oldValue = __v_raw.ml_order_items - __v_raw.ml_order_items = value - _tRS(__v_raw, "ml_order_items", oldValue, value) - } - override var ml_shops: Any? - get() { - return _tRG(__v_raw, "ml_shops", __v_raw.ml_shops, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("ml_shops")) { - return - } - val oldValue = __v_raw.ml_shops - __v_raw.ml_shops = value - _tRS(__v_raw, "ml_shops", oldValue, value) - } - override var items_count: Number - get() { - return _tRG(__v_raw, "items_count", __v_raw.items_count, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("items_count")) { - return - } - val oldValue = __v_raw.items_count - __v_raw.items_count = value - _tRS(__v_raw, "items_count", oldValue, value) - } -} -val GenPagesMainProfileClass = CreateVueComponent(GenPagesMainProfile::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMainProfile.inheritAttrs, inject = GenPagesMainProfile.inject, props = GenPagesMainProfile.props, propsNeedCastKeys = GenPagesMainProfile.propsNeedCastKeys, emits = GenPagesMainProfile.emits, components = GenPagesMainProfile.components, styles = GenPagesMainProfile.styles) -} -, fun(instance, renderer): GenPagesMainProfile { - return GenPagesMainProfile(instance, renderer) -} -) -open class UserType__1 ( - @JsonNotNull - open var id: String, - open var phone: String? = null, - open var email: String? = null, - open var nickname: String? = null, - open var avatar_url: String? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("UserType", "pages/mall/consumer/settings.uvue", 221, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return UserType__1ReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class UserType__1ReactiveObject : UserType__1, IUTSReactive { - override var __v_raw: UserType__1 - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: UserType__1, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, phone = __v_raw.phone, email = __v_raw.email, nickname = __v_raw.nickname, avatar_url = __v_raw.avatar_url) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UserType__1ReactiveObject { - return UserType__1ReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var phone: String? - get() { - return _tRG(__v_raw, "phone", __v_raw.phone, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("phone")) { - return - } - val oldValue = __v_raw.phone - __v_raw.phone = value - _tRS(__v_raw, "phone", oldValue, value) - } - override var email: String? - get() { - return _tRG(__v_raw, "email", __v_raw.email, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("email")) { - return - } - val oldValue = __v_raw.email - __v_raw.email = value - _tRS(__v_raw, "email", oldValue, value) - } - override var nickname: String? - get() { - return _tRG(__v_raw, "nickname", __v_raw.nickname, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("nickname")) { - return - } - val oldValue = __v_raw.nickname - __v_raw.nickname = value - _tRS(__v_raw, "nickname", oldValue, value) - } - override var avatar_url: String? - get() { - return _tRG(__v_raw, "avatar_url", __v_raw.avatar_url, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("avatar_url")) { - return - } - val oldValue = __v_raw.avatar_url - __v_raw.avatar_url = value - _tRS(__v_raw, "avatar_url", oldValue, value) - } -} -open class NotificationType ( - @JsonNotNull - open var order: Boolean = false, - @JsonNotNull - open var promotion: Boolean = false, - @JsonNotNull - open var review: Boolean = false, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("NotificationType", "pages/mall/consumer/settings.uvue", 229, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return NotificationTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class NotificationTypeReactiveObject : NotificationType, IUTSReactive { - override var __v_raw: NotificationType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: NotificationType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(order = __v_raw.order, promotion = __v_raw.promotion, review = __v_raw.review) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): NotificationTypeReactiveObject { - return NotificationTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var order: Boolean - get() { - return _tRG(__v_raw, "order", __v_raw.order, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("order")) { - return - } - val oldValue = __v_raw.order - __v_raw.order = value - _tRS(__v_raw, "order", oldValue, value) - } - override var promotion: Boolean - get() { - return _tRG(__v_raw, "promotion", __v_raw.promotion, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("promotion")) { - return - } - val oldValue = __v_raw.promotion - __v_raw.promotion = value - _tRS(__v_raw, "promotion", oldValue, value) - } - override var review: Boolean - get() { - return _tRG(__v_raw, "review", __v_raw.review, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("review")) { - return - } - val oldValue = __v_raw.review - __v_raw.review = value - _tRS(__v_raw, "review", oldValue, value) - } -} -open class PrivacyType ( - @JsonNotNull - open var hidePurchase: Boolean = false, - @JsonNotNull - open var allowSearchByPhone: Boolean = false, - @JsonNotNull - open var receiveMerchantMsg: Boolean = false, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("PrivacyType", "pages/mall/consumer/settings.uvue", 235, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return PrivacyTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class PrivacyTypeReactiveObject : PrivacyType, IUTSReactive { - override var __v_raw: PrivacyType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: PrivacyType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(hidePurchase = __v_raw.hidePurchase, allowSearchByPhone = __v_raw.allowSearchByPhone, receiveMerchantMsg = __v_raw.receiveMerchantMsg) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): PrivacyTypeReactiveObject { - return PrivacyTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var hidePurchase: Boolean - get() { - return _tRG(__v_raw, "hidePurchase", __v_raw.hidePurchase, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("hidePurchase")) { - return - } - val oldValue = __v_raw.hidePurchase - __v_raw.hidePurchase = value - _tRS(__v_raw, "hidePurchase", oldValue, value) - } - override var allowSearchByPhone: Boolean - get() { - return _tRG(__v_raw, "allowSearchByPhone", __v_raw.allowSearchByPhone, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("allowSearchByPhone")) { - return - } - val oldValue = __v_raw.allowSearchByPhone - __v_raw.allowSearchByPhone = value - _tRS(__v_raw, "allowSearchByPhone", oldValue, value) - } - override var receiveMerchantMsg: Boolean - get() { - return _tRG(__v_raw, "receiveMerchantMsg", __v_raw.receiveMerchantMsg, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("receiveMerchantMsg")) { - return - } - val oldValue = __v_raw.receiveMerchantMsg - __v_raw.receiveMerchantMsg = value - _tRS(__v_raw, "receiveMerchantMsg", oldValue, value) - } -} -val GenPagesMallConsumerSettingsClass = CreateVueComponent(GenPagesMallConsumerSettings::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerSettings.inheritAttrs, inject = GenPagesMallConsumerSettings.inject, props = GenPagesMallConsumerSettings.props, propsNeedCastKeys = GenPagesMallConsumerSettings.propsNeedCastKeys, emits = GenPagesMallConsumerSettings.emits, components = GenPagesMallConsumerSettings.components, styles = GenPagesMallConsumerSettings.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerSettings.setup(props as GenPagesMallConsumerSettings) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerSettings { - return GenPagesMallConsumerSettings(instance, renderer) -} -) -open class TransactionType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var user_id: String, - @JsonNotNull - open var change_amount: Number, - @JsonNotNull - open var amount: Number, - @JsonNotNull - open var current_balance: Number, - @JsonNotNull - open var change_type: String, - @JsonNotNull - open var type: String, - open var related_id: String? = null, - open var remark: String? = null, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("TransactionType", "pages/mall/consumer/wallet.uvue", 184, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return TransactionTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class TransactionTypeReactiveObject : TransactionType, IUTSReactive { - override var __v_raw: TransactionType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: TransactionType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, user_id = __v_raw.user_id, change_amount = __v_raw.change_amount, amount = __v_raw.amount, current_balance = __v_raw.current_balance, change_type = __v_raw.change_type, type = __v_raw.type, related_id = __v_raw.related_id, remark = __v_raw.remark, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): TransactionTypeReactiveObject { - return TransactionTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var user_id: String - get() { - return _tRG(__v_raw, "user_id", __v_raw.user_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("user_id")) { - return - } - val oldValue = __v_raw.user_id - __v_raw.user_id = value - _tRS(__v_raw, "user_id", oldValue, value) - } - override var change_amount: Number - get() { - return _tRG(__v_raw, "change_amount", __v_raw.change_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("change_amount")) { - return - } - val oldValue = __v_raw.change_amount - __v_raw.change_amount = value - _tRS(__v_raw, "change_amount", oldValue, value) - } - override var amount: Number - get() { - return _tRG(__v_raw, "amount", __v_raw.amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("amount")) { - return - } - val oldValue = __v_raw.amount - __v_raw.amount = value - _tRS(__v_raw, "amount", oldValue, value) - } - override var current_balance: Number - get() { - return _tRG(__v_raw, "current_balance", __v_raw.current_balance, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("current_balance")) { - return - } - val oldValue = __v_raw.current_balance - __v_raw.current_balance = value - _tRS(__v_raw, "current_balance", oldValue, value) - } - override var change_type: String - get() { - return _tRG(__v_raw, "change_type", __v_raw.change_type, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("change_type")) { - return - } - val oldValue = __v_raw.change_type - __v_raw.change_type = value - _tRS(__v_raw, "change_type", oldValue, value) - } - override var type: String - get() { - return _tRG(__v_raw, "type", __v_raw.type, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("type")) { - return - } - val oldValue = __v_raw.type - __v_raw.type = value - _tRS(__v_raw, "type", oldValue, value) - } - override var related_id: String? - get() { - return _tRG(__v_raw, "related_id", __v_raw.related_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("related_id")) { - return - } - val oldValue = __v_raw.related_id - __v_raw.related_id = value - _tRS(__v_raw, "related_id", oldValue, value) - } - override var remark: String? - get() { - return _tRG(__v_raw, "remark", __v_raw.remark, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("remark")) { - return - } - val oldValue = __v_raw.remark - __v_raw.remark = value - _tRS(__v_raw, "remark", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -open class StatsType ( - @JsonNotNull - open var totalRecharge: Number, - @JsonNotNull - open var totalConsume: Number, - @JsonNotNull - open var totalWithdraw: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("StatsType", "pages/mall/consumer/wallet.uvue", 197, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return StatsTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class StatsTypeReactiveObject : StatsType, IUTSReactive { - override var __v_raw: StatsType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: StatsType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(totalRecharge = __v_raw.totalRecharge, totalConsume = __v_raw.totalConsume, totalWithdraw = __v_raw.totalWithdraw) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): StatsTypeReactiveObject { - return StatsTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var totalRecharge: Number - get() { - return _tRG(__v_raw, "totalRecharge", __v_raw.totalRecharge, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("totalRecharge")) { - return - } - val oldValue = __v_raw.totalRecharge - __v_raw.totalRecharge = value - _tRS(__v_raw, "totalRecharge", oldValue, value) - } - override var totalConsume: Number - get() { - return _tRG(__v_raw, "totalConsume", __v_raw.totalConsume, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("totalConsume")) { - return - } - val oldValue = __v_raw.totalConsume - __v_raw.totalConsume = value - _tRS(__v_raw, "totalConsume", oldValue, value) - } - override var totalWithdraw: Number - get() { - return _tRG(__v_raw, "totalWithdraw", __v_raw.totalWithdraw, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("totalWithdraw")) { - return - } - val oldValue = __v_raw.totalWithdraw - __v_raw.totalWithdraw = value - _tRS(__v_raw, "totalWithdraw", oldValue, value) - } -} -val GenPagesMallConsumerWalletClass = CreateVueComponent(GenPagesMallConsumerWallet::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerWallet.inheritAttrs, inject = GenPagesMallConsumerWallet.inject, props = GenPagesMallConsumerWallet.props, propsNeedCastKeys = GenPagesMallConsumerWallet.propsNeedCastKeys, emits = GenPagesMallConsumerWallet.emits, components = GenPagesMallConsumerWallet.components, styles = GenPagesMallConsumerWallet.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerWallet.setup(props as GenPagesMallConsumerWallet) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerWallet { - return GenPagesMallConsumerWallet(instance, renderer) -} -) -open class BankCard ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var bank_name: String, - @JsonNotNull - open var card_number: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("BankCard", "pages/mall/consumer/withdraw.uvue", 78, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return BankCardReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class BankCardReactiveObject : BankCard, IUTSReactive { - override var __v_raw: BankCard - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: BankCard, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, bank_name = __v_raw.bank_name, card_number = __v_raw.card_number) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): BankCardReactiveObject { - return BankCardReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var bank_name: String - get() { - return _tRG(__v_raw, "bank_name", __v_raw.bank_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("bank_name")) { - return - } - val oldValue = __v_raw.bank_name - __v_raw.bank_name = value - _tRS(__v_raw, "bank_name", oldValue, value) - } - override var card_number: String - get() { - return _tRG(__v_raw, "card_number", __v_raw.card_number, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("card_number")) { - return - } - val oldValue = __v_raw.card_number - __v_raw.card_number = value - _tRS(__v_raw, "card_number", oldValue, value) - } -} -val GenPagesMallConsumerWithdrawClass = CreateVueComponent(GenPagesMallConsumerWithdraw::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerWithdraw.inheritAttrs, inject = GenPagesMallConsumerWithdraw.inject, props = GenPagesMallConsumerWithdraw.props, propsNeedCastKeys = GenPagesMallConsumerWithdraw.propsNeedCastKeys, emits = GenPagesMallConsumerWithdraw.emits, components = GenPagesMallConsumerWithdraw.components, styles = GenPagesMallConsumerWithdraw.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerWithdraw.setup(props as GenPagesMallConsumerWithdraw) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerWithdraw { - return GenPagesMallConsumerWithdraw(instance, renderer) -} -) -open class HotSearchItemType ( - @JsonNotNull - open var keyword: String, - @JsonNotNull - open var hot: Boolean = false, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("HotSearchItemType", "pages/mall/consumer/search.uvue", 259, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return HotSearchItemTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class HotSearchItemTypeReactiveObject : HotSearchItemType, IUTSReactive { - override var __v_raw: HotSearchItemType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: HotSearchItemType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(keyword = __v_raw.keyword, hot = __v_raw.hot) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): HotSearchItemTypeReactiveObject { - return HotSearchItemTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var keyword: String - get() { - return _tRG(__v_raw, "keyword", __v_raw.keyword, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("keyword")) { - return - } - val oldValue = __v_raw.keyword - __v_raw.keyword = value - _tRS(__v_raw, "keyword", oldValue, value) - } - override var hot: Boolean - get() { - return _tRG(__v_raw, "hot", __v_raw.hot, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("hot")) { - return - } - val oldValue = __v_raw.hot - __v_raw.hot = value - _tRS(__v_raw, "hot", oldValue, value) - } -} -open class GuessItemType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var price: Number, - @JsonNotNull - open var image: String, - @JsonNotNull - open var sales: Number, - @JsonNotNull - open var merchant_id: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("GuessItemType", "pages/mall/consumer/search.uvue", 264, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return GuessItemTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class GuessItemTypeReactiveObject : GuessItemType, IUTSReactive { - override var __v_raw: GuessItemType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: GuessItemType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, price = __v_raw.price, image = __v_raw.image, sales = __v_raw.sales, merchant_id = __v_raw.merchant_id) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): GuessItemTypeReactiveObject { - return GuessItemTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var price: Number - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var image: String - get() { - return _tRG(__v_raw, "image", __v_raw.image, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("image")) { - return - } - val oldValue = __v_raw.image - __v_raw.image = value - _tRS(__v_raw, "image", oldValue, value) - } - override var sales: Number - get() { - return _tRG(__v_raw, "sales", __v_raw.sales, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("sales")) { - return - } - val oldValue = __v_raw.sales - __v_raw.sales = value - _tRS(__v_raw, "sales", oldValue, value) - } - override var merchant_id: String - get() { - return _tRG(__v_raw, "merchant_id", __v_raw.merchant_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchant_id")) { - return - } - val oldValue = __v_raw.merchant_id - __v_raw.merchant_id = value - _tRS(__v_raw, "merchant_id", oldValue, value) - } -} -open class SearchResultType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var image: String, - @JsonNotNull - open var price: Number, - @JsonNotNull - open var specification: String, - @JsonNotNull - open var tag: String, - @JsonNotNull - open var sales: Number, - @JsonNotNull - open var merchant_id: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("SearchResultType", "pages/mall/consumer/search.uvue", 273, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return SearchResultTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class SearchResultTypeReactiveObject : SearchResultType, IUTSReactive { - override var __v_raw: SearchResultType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: SearchResultType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, image = __v_raw.image, price = __v_raw.price, specification = __v_raw.specification, tag = __v_raw.tag, sales = __v_raw.sales, merchant_id = __v_raw.merchant_id) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): SearchResultTypeReactiveObject { - return SearchResultTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var image: String - get() { - return _tRG(__v_raw, "image", __v_raw.image, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("image")) { - return - } - val oldValue = __v_raw.image - __v_raw.image = value - _tRS(__v_raw, "image", oldValue, value) - } - override var price: Number - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var specification: String - get() { - return _tRG(__v_raw, "specification", __v_raw.specification, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("specification")) { - return - } - val oldValue = __v_raw.specification - __v_raw.specification = value - _tRS(__v_raw, "specification", oldValue, value) - } - override var tag: String - get() { - return _tRG(__v_raw, "tag", __v_raw.tag, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("tag")) { - return - } - val oldValue = __v_raw.tag - __v_raw.tag = value - _tRS(__v_raw, "tag", oldValue, value) - } - override var sales: Number - get() { - return _tRG(__v_raw, "sales", __v_raw.sales, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("sales")) { - return - } - val oldValue = __v_raw.sales - __v_raw.sales = value - _tRS(__v_raw, "sales", oldValue, value) - } - override var merchant_id: String - get() { - return _tRG(__v_raw, "merchant_id", __v_raw.merchant_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchant_id")) { - return - } - val oldValue = __v_raw.merchant_id - __v_raw.merchant_id = value - _tRS(__v_raw, "merchant_id", oldValue, value) - } -} -open class ShopResultType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var logo: String, - @JsonNotNull - open var productCount: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ShopResultType", "pages/mall/consumer/search.uvue", 284, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return ShopResultTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class ShopResultTypeReactiveObject : ShopResultType, IUTSReactive { - override var __v_raw: ShopResultType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: ShopResultType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, logo = __v_raw.logo, productCount = __v_raw.productCount) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): ShopResultTypeReactiveObject { - return ShopResultTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var logo: String - get() { - return _tRG(__v_raw, "logo", __v_raw.logo, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("logo")) { - return - } - val oldValue = __v_raw.logo - __v_raw.logo = value - _tRS(__v_raw, "logo", oldValue, value) - } - override var productCount: Number - get() { - return _tRG(__v_raw, "productCount", __v_raw.productCount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("productCount")) { - return - } - val oldValue = __v_raw.productCount - __v_raw.productCount = value - _tRS(__v_raw, "productCount", oldValue, value) - } -} -val GenPagesMallConsumerSearchClass = CreateVueComponent(GenPagesMallConsumerSearch::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerSearch.inheritAttrs, inject = GenPagesMallConsumerSearch.inject, props = GenPagesMallConsumerSearch.props, propsNeedCastKeys = GenPagesMallConsumerSearch.propsNeedCastKeys, emits = GenPagesMallConsumerSearch.emits, components = GenPagesMallConsumerSearch.components, styles = GenPagesMallConsumerSearch.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerSearch.setup(props as GenPagesMallConsumerSearch) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerSearch { - return GenPagesMallConsumerSearch(instance, renderer) -} -) -val GenPagesMallConsumerProductDetailClass = CreateVueComponent(GenPagesMallConsumerProductDetail::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerProductDetail.inheritAttrs, inject = GenPagesMallConsumerProductDetail.inject, props = GenPagesMallConsumerProductDetail.props, propsNeedCastKeys = GenPagesMallConsumerProductDetail.propsNeedCastKeys, emits = GenPagesMallConsumerProductDetail.emits, components = GenPagesMallConsumerProductDetail.components, styles = GenPagesMallConsumerProductDetail.styles) -} -, fun(instance, renderer): GenPagesMallConsumerProductDetail { - return GenPagesMallConsumerProductDetail(instance, renderer) -} -) -open class CouponType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var discount_value: Number, - @JsonNotNull - open var min_order_amount: Number, - @JsonNotNull - open var name: String, - @JsonNotNull - open var start_time: String, - @JsonNotNull - open var end_time: String, - @JsonNotNull - open var status: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("CouponType", "pages/mall/consumer/shop-detail.uvue", 80, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return CouponTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class CouponTypeReactiveObject : CouponType, IUTSReactive { - override var __v_raw: CouponType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: CouponType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, discount_value = __v_raw.discount_value, min_order_amount = __v_raw.min_order_amount, name = __v_raw.name, start_time = __v_raw.start_time, end_time = __v_raw.end_time, status = __v_raw.status) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): CouponTypeReactiveObject { - return CouponTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var discount_value: Number - get() { - return _tRG(__v_raw, "discount_value", __v_raw.discount_value, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("discount_value")) { - return - } - val oldValue = __v_raw.discount_value - __v_raw.discount_value = value - _tRS(__v_raw, "discount_value", oldValue, value) - } - override var min_order_amount: Number - get() { - return _tRG(__v_raw, "min_order_amount", __v_raw.min_order_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("min_order_amount")) { - return - } - val oldValue = __v_raw.min_order_amount - __v_raw.min_order_amount = value - _tRS(__v_raw, "min_order_amount", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var start_time: String - get() { - return _tRG(__v_raw, "start_time", __v_raw.start_time, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("start_time")) { - return - } - val oldValue = __v_raw.start_time - __v_raw.start_time = value - _tRS(__v_raw, "start_time", oldValue, value) - } - override var end_time: String - get() { - return _tRG(__v_raw, "end_time", __v_raw.end_time, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("end_time")) { - return - } - val oldValue = __v_raw.end_time - __v_raw.end_time = value - _tRS(__v_raw, "end_time", oldValue, value) - } - override var status: Number - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } -} -val GenPagesMallConsumerShopDetailClass = CreateVueComponent(GenPagesMallConsumerShopDetail::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerShopDetail.inheritAttrs, inject = GenPagesMallConsumerShopDetail.inject, props = GenPagesMallConsumerShopDetail.props, propsNeedCastKeys = GenPagesMallConsumerShopDetail.propsNeedCastKeys, emits = GenPagesMallConsumerShopDetail.emits, components = GenPagesMallConsumerShopDetail.components, styles = GenPagesMallConsumerShopDetail.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerShopDetail.setup(props as GenPagesMallConsumerShopDetail) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerShopDetail { - return GenPagesMallConsumerShopDetail(instance, renderer) -} -) -open class Coupon ( - @JsonNotNull - open var title: String, - @JsonNotNull - open var amount: String, - @JsonNotNull - open var expiry: String, - @JsonNotNull - open var id: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("Coupon", "pages/mall/consumer/coupons.uvue", 29, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return CouponReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class CouponReactiveObject : Coupon, IUTSReactive { - override var __v_raw: Coupon - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: Coupon, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(title = __v_raw.title, amount = __v_raw.amount, expiry = __v_raw.expiry, id = __v_raw.id) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): CouponReactiveObject { - return CouponReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var title: String - get() { - return _tRG(__v_raw, "title", __v_raw.title, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("title")) { - return - } - val oldValue = __v_raw.title - __v_raw.title = value - _tRS(__v_raw, "title", oldValue, value) - } - override var amount: String - get() { - return _tRG(__v_raw, "amount", __v_raw.amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("amount")) { - return - } - val oldValue = __v_raw.amount - __v_raw.amount = value - _tRS(__v_raw, "amount", oldValue, value) - } - override var expiry: String - get() { - return _tRG(__v_raw, "expiry", __v_raw.expiry, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("expiry")) { - return - } - val oldValue = __v_raw.expiry - __v_raw.expiry = value - _tRS(__v_raw, "expiry", oldValue, value) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } -} -val GenPagesMallConsumerCouponsClass = CreateVueComponent(GenPagesMallConsumerCoupons::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerCoupons.inheritAttrs, inject = GenPagesMallConsumerCoupons.inject, props = GenPagesMallConsumerCoupons.props, propsNeedCastKeys = GenPagesMallConsumerCoupons.propsNeedCastKeys, emits = GenPagesMallConsumerCoupons.emits, components = GenPagesMallConsumerCoupons.components, styles = GenPagesMallConsumerCoupons.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerCoupons.setup(props as GenPagesMallConsumerCoupons) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerCoupons { - return GenPagesMallConsumerCoupons(instance, renderer) -} -) -open class FavoriteType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var price: Number, - @JsonNotNull - open var main_image_url: String, - @JsonNotNull - open var merchant_id: String, - @JsonNotNull - open var selected: Boolean = false, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("FavoriteType", "pages/mall/consumer/favorites.uvue", 67, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return FavoriteTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class FavoriteTypeReactiveObject : FavoriteType, IUTSReactive { - override var __v_raw: FavoriteType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: FavoriteType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, price = __v_raw.price, main_image_url = __v_raw.main_image_url, merchant_id = __v_raw.merchant_id, selected = __v_raw.selected) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): FavoriteTypeReactiveObject { - return FavoriteTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var price: Number - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var main_image_url: String - get() { - return _tRG(__v_raw, "main_image_url", __v_raw.main_image_url, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("main_image_url")) { - return - } - val oldValue = __v_raw.main_image_url - __v_raw.main_image_url = value - _tRS(__v_raw, "main_image_url", oldValue, value) - } - override var merchant_id: String - get() { - return _tRG(__v_raw, "merchant_id", __v_raw.merchant_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchant_id")) { - return - } - val oldValue = __v_raw.merchant_id - __v_raw.merchant_id = value - _tRS(__v_raw, "merchant_id", oldValue, value) - } - override var selected: Boolean - get() { - return _tRG(__v_raw, "selected", __v_raw.selected, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("selected")) { - return - } - val oldValue = __v_raw.selected - __v_raw.selected = value - _tRS(__v_raw, "selected", oldValue, value) - } -} -val GenPagesMallConsumerFavoritesClass = CreateVueComponent(GenPagesMallConsumerFavorites::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerFavorites.inheritAttrs, inject = GenPagesMallConsumerFavorites.inject, props = GenPagesMallConsumerFavorites.props, propsNeedCastKeys = GenPagesMallConsumerFavorites.propsNeedCastKeys, emits = GenPagesMallConsumerFavorites.emits, components = GenPagesMallConsumerFavorites.components, styles = GenPagesMallConsumerFavorites.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerFavorites.setup(props as GenPagesMallConsumerFavorites) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerFavorites { - return GenPagesMallConsumerFavorites(instance, renderer) -} -) -open class FootprintType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var price: Number, - @JsonNotNull - open var original_price: Number, - @JsonNotNull - open var image: String, - @JsonNotNull - open var sales: Number, - @JsonNotNull - open var shopId: String, - @JsonNotNull - open var shopName: String, - @JsonNotNull - open var viewTime: Number, - @JsonNotNull - open var selected: Boolean = false, - @JsonNotNull - open var merchant_id: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("FootprintType", "pages/mall/consumer/footprint.uvue", 74, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return FootprintTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class FootprintTypeReactiveObject : FootprintType, IUTSReactive { - override var __v_raw: FootprintType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: FootprintType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, price = __v_raw.price, original_price = __v_raw.original_price, image = __v_raw.image, sales = __v_raw.sales, shopId = __v_raw.shopId, shopName = __v_raw.shopName, viewTime = __v_raw.viewTime, selected = __v_raw.selected, merchant_id = __v_raw.merchant_id) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): FootprintTypeReactiveObject { - return FootprintTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var price: Number - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var original_price: Number - get() { - return _tRG(__v_raw, "original_price", __v_raw.original_price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("original_price")) { - return - } - val oldValue = __v_raw.original_price - __v_raw.original_price = value - _tRS(__v_raw, "original_price", oldValue, value) - } - override var image: String - get() { - return _tRG(__v_raw, "image", __v_raw.image, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("image")) { - return - } - val oldValue = __v_raw.image - __v_raw.image = value - _tRS(__v_raw, "image", oldValue, value) - } - override var sales: Number - get() { - return _tRG(__v_raw, "sales", __v_raw.sales, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("sales")) { - return - } - val oldValue = __v_raw.sales - __v_raw.sales = value - _tRS(__v_raw, "sales", oldValue, value) - } - override var shopId: String - get() { - return _tRG(__v_raw, "shopId", __v_raw.shopId, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shopId")) { - return - } - val oldValue = __v_raw.shopId - __v_raw.shopId = value - _tRS(__v_raw, "shopId", oldValue, value) - } - override var shopName: String - get() { - return _tRG(__v_raw, "shopName", __v_raw.shopName, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shopName")) { - return - } - val oldValue = __v_raw.shopName - __v_raw.shopName = value - _tRS(__v_raw, "shopName", oldValue, value) - } - override var viewTime: Number - get() { - return _tRG(__v_raw, "viewTime", __v_raw.viewTime, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("viewTime")) { - return - } - val oldValue = __v_raw.viewTime - __v_raw.viewTime = value - _tRS(__v_raw, "viewTime", oldValue, value) - } - override var selected: Boolean - get() { - return _tRG(__v_raw, "selected", __v_raw.selected, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("selected")) { - return - } - val oldValue = __v_raw.selected - __v_raw.selected = value - _tRS(__v_raw, "selected", oldValue, value) - } - override var merchant_id: String - get() { - return _tRG(__v_raw, "merchant_id", __v_raw.merchant_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchant_id")) { - return - } - val oldValue = __v_raw.merchant_id - __v_raw.merchant_id = value - _tRS(__v_raw, "merchant_id", oldValue, value) - } -} -open class FootprintGroup ( - @JsonNotNull - open var dateLabel: String, - @JsonNotNull - open var dateKey: String, - @JsonNotNull - open var items: UTSArray, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("FootprintGroup", "pages/mall/consumer/footprint.uvue", 88, 6) - } -} -open class FootprintSaveType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var price: Number, - @JsonNotNull - open var original_price: Number, - @JsonNotNull - open var image: String, - @JsonNotNull - open var sales: Number, - @JsonNotNull - open var shopId: String, - @JsonNotNull - open var shopName: String, - @JsonNotNull - open var viewTime: Number, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("FootprintSaveType", "pages/mall/consumer/footprint.uvue", 94, 6) - } -} -val GenPagesMallConsumerFootprintClass = CreateVueComponent(GenPagesMallConsumerFootprint::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerFootprint.inheritAttrs, inject = GenPagesMallConsumerFootprint.inject, props = GenPagesMallConsumerFootprint.props, propsNeedCastKeys = GenPagesMallConsumerFootprint.propsNeedCastKeys, emits = GenPagesMallConsumerFootprint.emits, components = GenPagesMallConsumerFootprint.components, styles = GenPagesMallConsumerFootprint.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerFootprint.setup(props as GenPagesMallConsumerFootprint) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerFootprint { - return GenPagesMallConsumerFootprint(instance, renderer) -} -) -open class Address ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var phone: String, - @JsonNotNull - open var province: String, - @JsonNotNull - open var city: String, - @JsonNotNull - open var district: String, - @JsonNotNull - open var detail: String, - @JsonNotNull - open var isDefault: Boolean = false, - open var label: String? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("Address", "pages/mall/consumer/address-list.uvue", 41, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return AddressReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class AddressReactiveObject : Address, IUTSReactive
{ - override var __v_raw: Address - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: Address, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, phone = __v_raw.phone, province = __v_raw.province, city = __v_raw.city, district = __v_raw.district, detail = __v_raw.detail, isDefault = __v_raw.isDefault, label = __v_raw.label) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): AddressReactiveObject { - return AddressReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var phone: String - get() { - return _tRG(__v_raw, "phone", __v_raw.phone, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("phone")) { - return - } - val oldValue = __v_raw.phone - __v_raw.phone = value - _tRS(__v_raw, "phone", oldValue, value) - } - override var province: String - get() { - return _tRG(__v_raw, "province", __v_raw.province, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("province")) { - return - } - val oldValue = __v_raw.province - __v_raw.province = value - _tRS(__v_raw, "province", oldValue, value) - } - override var city: String - get() { - return _tRG(__v_raw, "city", __v_raw.city, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("city")) { - return - } - val oldValue = __v_raw.city - __v_raw.city = value - _tRS(__v_raw, "city", oldValue, value) - } - override var district: String - get() { - return _tRG(__v_raw, "district", __v_raw.district, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("district")) { - return - } - val oldValue = __v_raw.district - __v_raw.district = value - _tRS(__v_raw, "district", oldValue, value) - } - override var detail: String - get() { - return _tRG(__v_raw, "detail", __v_raw.detail, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("detail")) { - return - } - val oldValue = __v_raw.detail - __v_raw.detail = value - _tRS(__v_raw, "detail", oldValue, value) - } - override var isDefault: Boolean - get() { - return _tRG(__v_raw, "isDefault", __v_raw.isDefault, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("isDefault")) { - return - } - val oldValue = __v_raw.isDefault - __v_raw.isDefault = value - _tRS(__v_raw, "isDefault", oldValue, value) - } - override var label: String? - get() { - return _tRG(__v_raw, "label", __v_raw.label, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("label")) { - return - } - val oldValue = __v_raw.label - __v_raw.label = value - _tRS(__v_raw, "label", oldValue, value) - } -} -val GenPagesMallConsumerAddressListClass = CreateVueComponent(GenPagesMallConsumerAddressList::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerAddressList.inheritAttrs, inject = GenPagesMallConsumerAddressList.inject, props = GenPagesMallConsumerAddressList.props, propsNeedCastKeys = GenPagesMallConsumerAddressList.propsNeedCastKeys, emits = GenPagesMallConsumerAddressList.emits, components = GenPagesMallConsumerAddressList.components, styles = GenPagesMallConsumerAddressList.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerAddressList.setup(props as GenPagesMallConsumerAddressList) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerAddressList { - return GenPagesMallConsumerAddressList(instance, renderer) -} -) -open class Address__1 ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var phone: String, - @JsonNotNull - open var province: String, - @JsonNotNull - open var city: String, - @JsonNotNull - open var district: String, - @JsonNotNull - open var detail: String, - @JsonNotNull - open var isDefault: Boolean = false, - open var label: String? = null, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("Address", "pages/mall/consumer/address-edit.uvue", 78, 6) - } -} -open class AddressForm ( - @JsonNotNull - open var name: String, - @JsonNotNull - open var phone: String, - @JsonNotNull - open var detail: String, - @JsonNotNull - open var isDefault: Boolean = false, - @JsonNotNull - open var label: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AddressForm", "pages/mall/consumer/address-edit.uvue", 96, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return AddressFormReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class AddressFormReactiveObject : AddressForm, IUTSReactive { - override var __v_raw: AddressForm - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: AddressForm, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(name = __v_raw.name, phone = __v_raw.phone, detail = __v_raw.detail, isDefault = __v_raw.isDefault, label = __v_raw.label) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): AddressFormReactiveObject { - return AddressFormReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var phone: String - get() { - return _tRG(__v_raw, "phone", __v_raw.phone, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("phone")) { - return - } - val oldValue = __v_raw.phone - __v_raw.phone = value - _tRS(__v_raw, "phone", oldValue, value) - } - override var detail: String - get() { - return _tRG(__v_raw, "detail", __v_raw.detail, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("detail")) { - return - } - val oldValue = __v_raw.detail - __v_raw.detail = value - _tRS(__v_raw, "detail", oldValue, value) - } - override var isDefault: Boolean - get() { - return _tRG(__v_raw, "isDefault", __v_raw.isDefault, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("isDefault")) { - return - } - val oldValue = __v_raw.isDefault - __v_raw.isDefault = value - _tRS(__v_raw, "isDefault", oldValue, value) - } - override var label: String - get() { - return _tRG(__v_raw, "label", __v_raw.label, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("label")) { - return - } - val oldValue = __v_raw.label - __v_raw.label = value - _tRS(__v_raw, "label", oldValue, value) - } -} -val GenPagesMallConsumerAddressEditClass = CreateVueComponent(GenPagesMallConsumerAddressEdit::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerAddressEdit.inheritAttrs, inject = GenPagesMallConsumerAddressEdit.inject, props = GenPagesMallConsumerAddressEdit.props, propsNeedCastKeys = GenPagesMallConsumerAddressEdit.propsNeedCastKeys, emits = GenPagesMallConsumerAddressEdit.emits, components = GenPagesMallConsumerAddressEdit.components, styles = GenPagesMallConsumerAddressEdit.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerAddressEdit.setup(props as GenPagesMallConsumerAddressEdit) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerAddressEdit { - return GenPagesMallConsumerAddressEdit(instance, renderer) -} -) -open class CheckoutItemType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var product_id: String, - @JsonNotNull - open var sku_id: String, - @JsonNotNull - open var product_name: String, - @JsonNotNull - open var product_image: String, - @JsonNotNull - open var sku_specifications: Any, - @JsonNotNull - open var price: Number, - @JsonNotNull - open var original_price: Number, - @JsonNotNull - open var member_price: Number, - @JsonNotNull - open var quantity: Number, - open var shop_id: String? = null, - open var shop_name: String? = null, - open var merchant_id: String? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("CheckoutItemType", "pages/mall/consumer/checkout.uvue", 311, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return CheckoutItemTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class CheckoutItemTypeReactiveObject : CheckoutItemType, IUTSReactive { - override var __v_raw: CheckoutItemType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: CheckoutItemType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, product_id = __v_raw.product_id, sku_id = __v_raw.sku_id, product_name = __v_raw.product_name, product_image = __v_raw.product_image, sku_specifications = __v_raw.sku_specifications, price = __v_raw.price, original_price = __v_raw.original_price, member_price = __v_raw.member_price, quantity = __v_raw.quantity, shop_id = __v_raw.shop_id, shop_name = __v_raw.shop_name, merchant_id = __v_raw.merchant_id) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): CheckoutItemTypeReactiveObject { - return CheckoutItemTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var product_id: String - get() { - return _tRG(__v_raw, "product_id", __v_raw.product_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_id")) { - return - } - val oldValue = __v_raw.product_id - __v_raw.product_id = value - _tRS(__v_raw, "product_id", oldValue, value) - } - override var sku_id: String - get() { - return _tRG(__v_raw, "sku_id", __v_raw.sku_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("sku_id")) { - return - } - val oldValue = __v_raw.sku_id - __v_raw.sku_id = value - _tRS(__v_raw, "sku_id", oldValue, value) - } - override var product_name: String - get() { - return _tRG(__v_raw, "product_name", __v_raw.product_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_name")) { - return - } - val oldValue = __v_raw.product_name - __v_raw.product_name = value - _tRS(__v_raw, "product_name", oldValue, value) - } - override var product_image: String - get() { - return _tRG(__v_raw, "product_image", __v_raw.product_image, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_image")) { - return - } - val oldValue = __v_raw.product_image - __v_raw.product_image = value - _tRS(__v_raw, "product_image", oldValue, value) - } - override var sku_specifications: Any - get() { - return _tRG(__v_raw, "sku_specifications", __v_raw.sku_specifications, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("sku_specifications")) { - return - } - val oldValue = __v_raw.sku_specifications - __v_raw.sku_specifications = value - _tRS(__v_raw, "sku_specifications", oldValue, value) - } - override var price: Number - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var original_price: Number - get() { - return _tRG(__v_raw, "original_price", __v_raw.original_price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("original_price")) { - return - } - val oldValue = __v_raw.original_price - __v_raw.original_price = value - _tRS(__v_raw, "original_price", oldValue, value) - } - override var member_price: Number - get() { - return _tRG(__v_raw, "member_price", __v_raw.member_price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("member_price")) { - return - } - val oldValue = __v_raw.member_price - __v_raw.member_price = value - _tRS(__v_raw, "member_price", oldValue, value) - } - override var quantity: Number - get() { - return _tRG(__v_raw, "quantity", __v_raw.quantity, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("quantity")) { - return - } - val oldValue = __v_raw.quantity - __v_raw.quantity = value - _tRS(__v_raw, "quantity", oldValue, value) - } - override var shop_id: String? - get() { - return _tRG(__v_raw, "shop_id", __v_raw.shop_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shop_id")) { - return - } - val oldValue = __v_raw.shop_id - __v_raw.shop_id = value - _tRS(__v_raw, "shop_id", oldValue, value) - } - override var shop_name: String? - get() { - return _tRG(__v_raw, "shop_name", __v_raw.shop_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shop_name")) { - return - } - val oldValue = __v_raw.shop_name - __v_raw.shop_name = value - _tRS(__v_raw, "shop_name", oldValue, value) - } - override var merchant_id: String? - get() { - return _tRG(__v_raw, "merchant_id", __v_raw.merchant_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchant_id")) { - return - } - val oldValue = __v_raw.merchant_id - __v_raw.merchant_id = value - _tRS(__v_raw, "merchant_id", oldValue, value) - } -} -open class DeliveryOptionType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var price: Number, - @JsonNotNull - open var description: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("DeliveryOptionType", "pages/mall/consumer/checkout.uvue", 327, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return DeliveryOptionTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class DeliveryOptionTypeReactiveObject : DeliveryOptionType, IUTSReactive { - override var __v_raw: DeliveryOptionType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: DeliveryOptionType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, price = __v_raw.price, description = __v_raw.description) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): DeliveryOptionTypeReactiveObject { - return DeliveryOptionTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var price: Number - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var description: String - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } -} -open class ShopGroupType ( - @JsonNotNull - open var shopId: String, - @JsonNotNull - open var shopName: String, - @JsonNotNull - open var merchant_id: String, - @JsonNotNull - open var items: UTSArray, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ShopGroupType", "pages/mall/consumer/checkout.uvue", 334, 6) - } -} -open class CouponTemplateType__1 ( - @JsonNotNull - open var name: String, - @JsonNotNull - open var discount_value: Number, - @JsonNotNull - open var min_order_amount: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("CouponTemplateType", "pages/mall/consumer/checkout.uvue", 341, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return CouponTemplateType__1ReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class CouponTemplateType__1ReactiveObject : CouponTemplateType__1, IUTSReactive { - override var __v_raw: CouponTemplateType__1 - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: CouponTemplateType__1, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(name = __v_raw.name, discount_value = __v_raw.discount_value, min_order_amount = __v_raw.min_order_amount) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): CouponTemplateType__1ReactiveObject { - return CouponTemplateType__1ReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var discount_value: Number - get() { - return _tRG(__v_raw, "discount_value", __v_raw.discount_value, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("discount_value")) { - return - } - val oldValue = __v_raw.discount_value - __v_raw.discount_value = value - _tRS(__v_raw, "discount_value", oldValue, value) - } - override var min_order_amount: Number - get() { - return _tRG(__v_raw, "min_order_amount", __v_raw.min_order_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("min_order_amount")) { - return - } - val oldValue = __v_raw.min_order_amount - __v_raw.min_order_amount = value - _tRS(__v_raw, "min_order_amount", oldValue, value) - } -} -open class UserCouponType ( - @JsonNotNull - open var id: String, - open var template: CouponTemplateType__1? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("UserCouponType", "pages/mall/consumer/checkout.uvue", 347, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return UserCouponTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class UserCouponTypeReactiveObject : UserCouponType, IUTSReactive { - override var __v_raw: UserCouponType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: UserCouponType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, template = __v_raw.template) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UserCouponTypeReactiveObject { - return UserCouponTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var template: CouponTemplateType__1? - get() { - return _tRG(__v_raw, "template", __v_raw.template, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("template")) { - return - } - val oldValue = __v_raw.template - __v_raw.template = value - _tRS(__v_raw, "template", oldValue, value) - } -} -open class AddressItem ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var recipient_name: String, - @JsonNotNull - open var phone: String, - @JsonNotNull - open var province: String, - @JsonNotNull - open var city: String, - @JsonNotNull - open var district: String, - @JsonNotNull - open var detail: String, - @JsonNotNull - open var is_default: Boolean = false, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AddressItem", "pages/mall/consumer/checkout.uvue", 352, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return AddressItemReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class AddressItemReactiveObject : AddressItem, IUTSReactive { - override var __v_raw: AddressItem - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: AddressItem, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, recipient_name = __v_raw.recipient_name, phone = __v_raw.phone, province = __v_raw.province, city = __v_raw.city, district = __v_raw.district, detail = __v_raw.detail, is_default = __v_raw.is_default) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): AddressItemReactiveObject { - return AddressItemReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var recipient_name: String - get() { - return _tRG(__v_raw, "recipient_name", __v_raw.recipient_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("recipient_name")) { - return - } - val oldValue = __v_raw.recipient_name - __v_raw.recipient_name = value - _tRS(__v_raw, "recipient_name", oldValue, value) - } - override var phone: String - get() { - return _tRG(__v_raw, "phone", __v_raw.phone, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("phone")) { - return - } - val oldValue = __v_raw.phone - __v_raw.phone = value - _tRS(__v_raw, "phone", oldValue, value) - } - override var province: String - get() { - return _tRG(__v_raw, "province", __v_raw.province, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("province")) { - return - } - val oldValue = __v_raw.province - __v_raw.province = value - _tRS(__v_raw, "province", oldValue, value) - } - override var city: String - get() { - return _tRG(__v_raw, "city", __v_raw.city, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("city")) { - return - } - val oldValue = __v_raw.city - __v_raw.city = value - _tRS(__v_raw, "city", oldValue, value) - } - override var district: String - get() { - return _tRG(__v_raw, "district", __v_raw.district, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("district")) { - return - } - val oldValue = __v_raw.district - __v_raw.district = value - _tRS(__v_raw, "district", oldValue, value) - } - override var detail: String - get() { - return _tRG(__v_raw, "detail", __v_raw.detail, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("detail")) { - return - } - val oldValue = __v_raw.detail - __v_raw.detail = value - _tRS(__v_raw, "detail", oldValue, value) - } - override var is_default: Boolean - get() { - return _tRG(__v_raw, "is_default", __v_raw.is_default, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("is_default")) { - return - } - val oldValue = __v_raw.is_default - __v_raw.is_default = value - _tRS(__v_raw, "is_default", oldValue, value) - } -} -open class NewAddressData ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var phone: String, - @JsonNotNull - open var province: String, - @JsonNotNull - open var city: String, - @JsonNotNull - open var district: String, - @JsonNotNull - open var detail: String, - @JsonNotNull - open var isDefault: Boolean = false, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("NewAddressData", "pages/mall/consumer/checkout.uvue", 363, 6) - } -} -open class NewAddressForm ( - @JsonNotNull - open var recipient_name: String, - @JsonNotNull - open var phone: String, - @JsonNotNull - open var province: String, - @JsonNotNull - open var city: String, - @JsonNotNull - open var district: String, - @JsonNotNull - open var detail: String, - @JsonNotNull - open var is_default: Boolean = false, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("NewAddressForm", "pages/mall/consumer/checkout.uvue", 375, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return NewAddressFormReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class NewAddressFormReactiveObject : NewAddressForm, IUTSReactive { - override var __v_raw: NewAddressForm - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: NewAddressForm, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(recipient_name = __v_raw.recipient_name, phone = __v_raw.phone, province = __v_raw.province, city = __v_raw.city, district = __v_raw.district, detail = __v_raw.detail, is_default = __v_raw.is_default) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): NewAddressFormReactiveObject { - return NewAddressFormReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var recipient_name: String - get() { - return _tRG(__v_raw, "recipient_name", __v_raw.recipient_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("recipient_name")) { - return - } - val oldValue = __v_raw.recipient_name - __v_raw.recipient_name = value - _tRS(__v_raw, "recipient_name", oldValue, value) - } - override var phone: String - get() { - return _tRG(__v_raw, "phone", __v_raw.phone, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("phone")) { - return - } - val oldValue = __v_raw.phone - __v_raw.phone = value - _tRS(__v_raw, "phone", oldValue, value) - } - override var province: String - get() { - return _tRG(__v_raw, "province", __v_raw.province, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("province")) { - return - } - val oldValue = __v_raw.province - __v_raw.province = value - _tRS(__v_raw, "province", oldValue, value) - } - override var city: String - get() { - return _tRG(__v_raw, "city", __v_raw.city, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("city")) { - return - } - val oldValue = __v_raw.city - __v_raw.city = value - _tRS(__v_raw, "city", oldValue, value) - } - override var district: String - get() { - return _tRG(__v_raw, "district", __v_raw.district, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("district")) { - return - } - val oldValue = __v_raw.district - __v_raw.district = value - _tRS(__v_raw, "district", oldValue, value) - } - override var detail: String - get() { - return _tRG(__v_raw, "detail", __v_raw.detail, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("detail")) { - return - } - val oldValue = __v_raw.detail - __v_raw.detail = value - _tRS(__v_raw, "detail", oldValue, value) - } - override var is_default: Boolean - get() { - return _tRG(__v_raw, "is_default", __v_raw.is_default, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("is_default")) { - return - } - val oldValue = __v_raw.is_default - __v_raw.is_default = value - _tRS(__v_raw, "is_default", oldValue, value) - } -} -open class MockAddress ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var phone: String, - @JsonNotNull - open var province: String, - @JsonNotNull - open var city: String, - @JsonNotNull - open var district: String, - @JsonNotNull - open var detail: String, - @JsonNotNull - open var isDefault: Boolean = false, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("MockAddress", "pages/mall/consumer/checkout.uvue", 385, 6) - } -} -val GenPagesMallConsumerCheckoutClass = CreateVueComponent(GenPagesMallConsumerCheckout::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerCheckout.inheritAttrs, inject = GenPagesMallConsumerCheckout.inject, props = GenPagesMallConsumerCheckout.props, propsNeedCastKeys = GenPagesMallConsumerCheckout.propsNeedCastKeys, emits = GenPagesMallConsumerCheckout.emits, components = GenPagesMallConsumerCheckout.components, styles = GenPagesMallConsumerCheckout.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerCheckout.setup(props as GenPagesMallConsumerCheckout) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerCheckout { - return GenPagesMallConsumerCheckout(instance, renderer) -} -) -open class PaymentMethodType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var description: String, - @JsonNotNull - open var icon: String, - @JsonNotNull - open var enabled: Boolean = false, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("PaymentMethodType", "pages/mall/consumer/payment.uvue", 114, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return PaymentMethodTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class PaymentMethodTypeReactiveObject : PaymentMethodType, IUTSReactive { - override var __v_raw: PaymentMethodType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: PaymentMethodType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, description = __v_raw.description, icon = __v_raw.icon, enabled = __v_raw.enabled) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): PaymentMethodTypeReactiveObject { - return PaymentMethodTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var description: String - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } - override var icon: String - get() { - return _tRG(__v_raw, "icon", __v_raw.icon, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("icon")) { - return - } - val oldValue = __v_raw.icon - __v_raw.icon = value - _tRS(__v_raw, "icon", oldValue, value) - } - override var enabled: Boolean - get() { - return _tRG(__v_raw, "enabled", __v_raw.enabled, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("enabled")) { - return - } - val oldValue = __v_raw.enabled - __v_raw.enabled = value - _tRS(__v_raw, "enabled", oldValue, value) - } -} -val GenPagesMallConsumerPaymentClass = CreateVueComponent(GenPagesMallConsumerPayment::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerPayment.inheritAttrs, inject = GenPagesMallConsumerPayment.inject, props = GenPagesMallConsumerPayment.props, propsNeedCastKeys = GenPagesMallConsumerPayment.propsNeedCastKeys, emits = GenPagesMallConsumerPayment.emits, components = GenPagesMallConsumerPayment.components, styles = GenPagesMallConsumerPayment.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerPayment.setup(props as GenPagesMallConsumerPayment) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerPayment { - return GenPagesMallConsumerPayment(instance, renderer) -} -) -val GenPagesMallConsumerPaymentSuccessClass = CreateVueComponent(GenPagesMallConsumerPaymentSuccess::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerPaymentSuccess.inheritAttrs, inject = GenPagesMallConsumerPaymentSuccess.inject, props = GenPagesMallConsumerPaymentSuccess.props, propsNeedCastKeys = GenPagesMallConsumerPaymentSuccess.propsNeedCastKeys, emits = GenPagesMallConsumerPaymentSuccess.emits, components = GenPagesMallConsumerPaymentSuccess.components, styles = GenPagesMallConsumerPaymentSuccess.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerPaymentSuccess.setup(props as GenPagesMallConsumerPaymentSuccess) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerPaymentSuccess { - return GenPagesMallConsumerPaymentSuccess(instance, renderer) -} -) -open class OrderTabItem ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var count: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("OrderTabItem", "pages/mall/consumer/orders.uvue", 195, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return OrderTabItemReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class OrderTabItemReactiveObject : OrderTabItem, IUTSReactive { - override var __v_raw: OrderTabItem - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: OrderTabItem, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, count = __v_raw.count) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): OrderTabItemReactiveObject { - return OrderTabItemReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var count: Number - get() { - return _tRG(__v_raw, "count", __v_raw.count, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("count")) { - return - } - val oldValue = __v_raw.count - __v_raw.count = value - _tRS(__v_raw, "count", oldValue, value) - } -} -open class OrderProduct ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - @JsonNotNull - open var price: Number, - @JsonNotNull - open var image: String, - @JsonNotNull - open var spec: String, - @JsonNotNull - open var quantity: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("OrderProduct", "pages/mall/consumer/orders.uvue", 202, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return OrderProductReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class OrderProductReactiveObject : OrderProduct, IUTSReactive { - override var __v_raw: OrderProduct - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: OrderProduct, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, price = __v_raw.price, image = __v_raw.image, spec = __v_raw.spec, quantity = __v_raw.quantity) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): OrderProductReactiveObject { - return OrderProductReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var price: Number - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var image: String - get() { - return _tRG(__v_raw, "image", __v_raw.image, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("image")) { - return - } - val oldValue = __v_raw.image - __v_raw.image = value - _tRS(__v_raw, "image", oldValue, value) - } - override var spec: String - get() { - return _tRG(__v_raw, "spec", __v_raw.spec, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("spec")) { - return - } - val oldValue = __v_raw.spec - __v_raw.spec = value - _tRS(__v_raw, "spec", oldValue, value) - } - override var quantity: Number - get() { - return _tRG(__v_raw, "quantity", __v_raw.quantity, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("quantity")) { - return - } - val oldValue = __v_raw.quantity - __v_raw.quantity = value - _tRS(__v_raw, "quantity", oldValue, value) - } -} -open class OrderItem ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var order_no: String, - @JsonNotNull - open var status: Number, - @JsonNotNull - open var create_time: String, - @JsonNotNull - open var product_amount: Number, - @JsonNotNull - open var shipping_fee: Number, - @JsonNotNull - open var total_amount: Number, - @JsonNotNull - open var merchant_id: String, - @JsonNotNull - open var shop_name: String, - @JsonNotNull - open var products: UTSArray, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("OrderItem", "pages/mall/consumer/orders.uvue", 212, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return OrderItemReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class OrderItemReactiveObject : OrderItem, IUTSReactive { - override var __v_raw: OrderItem - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: OrderItem, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, order_no = __v_raw.order_no, status = __v_raw.status, create_time = __v_raw.create_time, product_amount = __v_raw.product_amount, shipping_fee = __v_raw.shipping_fee, total_amount = __v_raw.total_amount, merchant_id = __v_raw.merchant_id, shop_name = __v_raw.shop_name, products = __v_raw.products) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): OrderItemReactiveObject { - return OrderItemReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var order_no: String - get() { - return _tRG(__v_raw, "order_no", __v_raw.order_no, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("order_no")) { - return - } - val oldValue = __v_raw.order_no - __v_raw.order_no = value - _tRS(__v_raw, "order_no", oldValue, value) - } - override var status: Number - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } - override var create_time: String - get() { - return _tRG(__v_raw, "create_time", __v_raw.create_time, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("create_time")) { - return - } - val oldValue = __v_raw.create_time - __v_raw.create_time = value - _tRS(__v_raw, "create_time", oldValue, value) - } - override var product_amount: Number - get() { - return _tRG(__v_raw, "product_amount", __v_raw.product_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_amount")) { - return - } - val oldValue = __v_raw.product_amount - __v_raw.product_amount = value - _tRS(__v_raw, "product_amount", oldValue, value) - } - override var shipping_fee: Number - get() { - return _tRG(__v_raw, "shipping_fee", __v_raw.shipping_fee, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shipping_fee")) { - return - } - val oldValue = __v_raw.shipping_fee - __v_raw.shipping_fee = value - _tRS(__v_raw, "shipping_fee", oldValue, value) - } - override var total_amount: Number - get() { - return _tRG(__v_raw, "total_amount", __v_raw.total_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("total_amount")) { - return - } - val oldValue = __v_raw.total_amount - __v_raw.total_amount = value - _tRS(__v_raw, "total_amount", oldValue, value) - } - override var merchant_id: String - get() { - return _tRG(__v_raw, "merchant_id", __v_raw.merchant_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchant_id")) { - return - } - val oldValue = __v_raw.merchant_id - __v_raw.merchant_id = value - _tRS(__v_raw, "merchant_id", oldValue, value) - } - override var shop_name: String - get() { - return _tRG(__v_raw, "shop_name", __v_raw.shop_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shop_name")) { - return - } - val oldValue = __v_raw.shop_name - __v_raw.shop_name = value - _tRS(__v_raw, "shop_name", oldValue, value) - } - override var products: UTSArray - get() { - return _tRG(__v_raw, "products", __v_raw.products, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("products")) { - return - } - val oldValue = __v_raw.products - __v_raw.products = value - _tRS(__v_raw, "products", oldValue, value) - } -} -val GenPagesMallConsumerOrdersClass = CreateVueComponent(GenPagesMallConsumerOrders::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerOrders.inheritAttrs, inject = GenPagesMallConsumerOrders.inject, props = GenPagesMallConsumerOrders.props, propsNeedCastKeys = GenPagesMallConsumerOrders.propsNeedCastKeys, emits = GenPagesMallConsumerOrders.emits, components = GenPagesMallConsumerOrders.components, styles = GenPagesMallConsumerOrders.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerOrders.setup(props as GenPagesMallConsumerOrders) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerOrders { - return GenPagesMallConsumerOrders(instance, renderer) -} -) -open class OrderType ( - @JsonNotNull - open var order_no: String, - @JsonNotNull - open var order_status: Number, - @JsonNotNull - open var total_amount: Number, - @JsonNotNull - open var product_amount: Number, - @JsonNotNull - open var shipping_fee: Number, - @JsonNotNull - open var discount_amount: Number, - @JsonNotNull - open var payment_method: String, - @JsonNotNull - open var created_at: String, - @JsonNotNull - open var paid_at: String, - @JsonNotNull - open var shipped_at: String, - @JsonNotNull - open var completed_at: String, - @JsonNotNull - open var merchant_id: String, - open var shipping_address: Any? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("OrderType", "pages/mall/consumer/order-detail.uvue", 176, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return OrderTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class OrderTypeReactiveObject : OrderType, IUTSReactive { - override var __v_raw: OrderType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: OrderType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(order_no = __v_raw.order_no, order_status = __v_raw.order_status, total_amount = __v_raw.total_amount, product_amount = __v_raw.product_amount, shipping_fee = __v_raw.shipping_fee, discount_amount = __v_raw.discount_amount, payment_method = __v_raw.payment_method, created_at = __v_raw.created_at, paid_at = __v_raw.paid_at, shipped_at = __v_raw.shipped_at, completed_at = __v_raw.completed_at, merchant_id = __v_raw.merchant_id, shipping_address = __v_raw.shipping_address) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): OrderTypeReactiveObject { - return OrderTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var order_no: String - get() { - return _tRG(__v_raw, "order_no", __v_raw.order_no, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("order_no")) { - return - } - val oldValue = __v_raw.order_no - __v_raw.order_no = value - _tRS(__v_raw, "order_no", oldValue, value) - } - override var order_status: Number - get() { - return _tRG(__v_raw, "order_status", __v_raw.order_status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("order_status")) { - return - } - val oldValue = __v_raw.order_status - __v_raw.order_status = value - _tRS(__v_raw, "order_status", oldValue, value) - } - override var total_amount: Number - get() { - return _tRG(__v_raw, "total_amount", __v_raw.total_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("total_amount")) { - return - } - val oldValue = __v_raw.total_amount - __v_raw.total_amount = value - _tRS(__v_raw, "total_amount", oldValue, value) - } - override var product_amount: Number - get() { - return _tRG(__v_raw, "product_amount", __v_raw.product_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_amount")) { - return - } - val oldValue = __v_raw.product_amount - __v_raw.product_amount = value - _tRS(__v_raw, "product_amount", oldValue, value) - } - override var shipping_fee: Number - get() { - return _tRG(__v_raw, "shipping_fee", __v_raw.shipping_fee, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shipping_fee")) { - return - } - val oldValue = __v_raw.shipping_fee - __v_raw.shipping_fee = value - _tRS(__v_raw, "shipping_fee", oldValue, value) - } - override var discount_amount: Number - get() { - return _tRG(__v_raw, "discount_amount", __v_raw.discount_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("discount_amount")) { - return - } - val oldValue = __v_raw.discount_amount - __v_raw.discount_amount = value - _tRS(__v_raw, "discount_amount", oldValue, value) - } - override var payment_method: String - get() { - return _tRG(__v_raw, "payment_method", __v_raw.payment_method, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("payment_method")) { - return - } - val oldValue = __v_raw.payment_method - __v_raw.payment_method = value - _tRS(__v_raw, "payment_method", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } - override var paid_at: String - get() { - return _tRG(__v_raw, "paid_at", __v_raw.paid_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("paid_at")) { - return - } - val oldValue = __v_raw.paid_at - __v_raw.paid_at = value - _tRS(__v_raw, "paid_at", oldValue, value) - } - override var shipped_at: String - get() { - return _tRG(__v_raw, "shipped_at", __v_raw.shipped_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shipped_at")) { - return - } - val oldValue = __v_raw.shipped_at - __v_raw.shipped_at = value - _tRS(__v_raw, "shipped_at", oldValue, value) - } - override var completed_at: String - get() { - return _tRG(__v_raw, "completed_at", __v_raw.completed_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("completed_at")) { - return - } - val oldValue = __v_raw.completed_at - __v_raw.completed_at = value - _tRS(__v_raw, "completed_at", oldValue, value) - } - override var merchant_id: String - get() { - return _tRG(__v_raw, "merchant_id", __v_raw.merchant_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchant_id")) { - return - } - val oldValue = __v_raw.merchant_id - __v_raw.merchant_id = value - _tRS(__v_raw, "merchant_id", oldValue, value) - } - override var shipping_address: Any? - get() { - return _tRG(__v_raw, "shipping_address", __v_raw.shipping_address, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shipping_address")) { - return - } - val oldValue = __v_raw.shipping_address - __v_raw.shipping_address = value - _tRS(__v_raw, "shipping_address", oldValue, value) - } -} -open class OrderItemType__1 ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var product_id: String, - @JsonNotNull - open var product_name: String, - @JsonNotNull - open var image_url: String, - @JsonNotNull - open var price: Number, - @JsonNotNull - open var quantity: Number, - @JsonNotNull - open var specifications: Any, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("OrderItemType", "pages/mall/consumer/order-detail.uvue", 192, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return OrderItemType__1ReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class OrderItemType__1ReactiveObject : OrderItemType__1, IUTSReactive { - override var __v_raw: OrderItemType__1 - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: OrderItemType__1, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, product_id = __v_raw.product_id, product_name = __v_raw.product_name, image_url = __v_raw.image_url, price = __v_raw.price, quantity = __v_raw.quantity, specifications = __v_raw.specifications) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): OrderItemType__1ReactiveObject { - return OrderItemType__1ReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var product_id: String - get() { - return _tRG(__v_raw, "product_id", __v_raw.product_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_id")) { - return - } - val oldValue = __v_raw.product_id - __v_raw.product_id = value - _tRS(__v_raw, "product_id", oldValue, value) - } - override var product_name: String - get() { - return _tRG(__v_raw, "product_name", __v_raw.product_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_name")) { - return - } - val oldValue = __v_raw.product_name - __v_raw.product_name = value - _tRS(__v_raw, "product_name", oldValue, value) - } - override var image_url: String - get() { - return _tRG(__v_raw, "image_url", __v_raw.image_url, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("image_url")) { - return - } - val oldValue = __v_raw.image_url - __v_raw.image_url = value - _tRS(__v_raw, "image_url", oldValue, value) - } - override var price: Number - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var quantity: Number - get() { - return _tRG(__v_raw, "quantity", __v_raw.quantity, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("quantity")) { - return - } - val oldValue = __v_raw.quantity - __v_raw.quantity = value - _tRS(__v_raw, "quantity", oldValue, value) - } - override var specifications: Any - get() { - return _tRG(__v_raw, "specifications", __v_raw.specifications, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("specifications")) { - return - } - val oldValue = __v_raw.specifications - __v_raw.specifications = value - _tRS(__v_raw, "specifications", oldValue, value) - } -} -open class AddressType ( - @JsonNotNull - open var name: String, - @JsonNotNull - open var phone: String, - @JsonNotNull - open var province: String, - @JsonNotNull - open var city: String, - @JsonNotNull - open var district: String, - @JsonNotNull - open var detail: String, - @JsonNotNull - open var address: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("AddressType", "pages/mall/consumer/order-detail.uvue", 202, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return AddressTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class AddressTypeReactiveObject : AddressType, IUTSReactive { - override var __v_raw: AddressType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: AddressType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(name = __v_raw.name, phone = __v_raw.phone, province = __v_raw.province, city = __v_raw.city, district = __v_raw.district, detail = __v_raw.detail, address = __v_raw.address) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): AddressTypeReactiveObject { - return AddressTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var phone: String - get() { - return _tRG(__v_raw, "phone", __v_raw.phone, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("phone")) { - return - } - val oldValue = __v_raw.phone - __v_raw.phone = value - _tRS(__v_raw, "phone", oldValue, value) - } - override var province: String - get() { - return _tRG(__v_raw, "province", __v_raw.province, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("province")) { - return - } - val oldValue = __v_raw.province - __v_raw.province = value - _tRS(__v_raw, "province", oldValue, value) - } - override var city: String - get() { - return _tRG(__v_raw, "city", __v_raw.city, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("city")) { - return - } - val oldValue = __v_raw.city - __v_raw.city = value - _tRS(__v_raw, "city", oldValue, value) - } - override var district: String - get() { - return _tRG(__v_raw, "district", __v_raw.district, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("district")) { - return - } - val oldValue = __v_raw.district - __v_raw.district = value - _tRS(__v_raw, "district", oldValue, value) - } - override var detail: String - get() { - return _tRG(__v_raw, "detail", __v_raw.detail, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("detail")) { - return - } - val oldValue = __v_raw.detail - __v_raw.detail = value - _tRS(__v_raw, "detail", oldValue, value) - } - override var address: String - get() { - return _tRG(__v_raw, "address", __v_raw.address, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("address")) { - return - } - val oldValue = __v_raw.address - __v_raw.address = value - _tRS(__v_raw, "address", oldValue, value) - } -} -open class DeliveryInfoType ( - @JsonNotNull - open var tracking_no: String, - @JsonNotNull - open var carrier_name: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("DeliveryInfoType", "pages/mall/consumer/order-detail.uvue", 212, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return DeliveryInfoTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class DeliveryInfoTypeReactiveObject : DeliveryInfoType, IUTSReactive { - override var __v_raw: DeliveryInfoType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: DeliveryInfoType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(tracking_no = __v_raw.tracking_no, carrier_name = __v_raw.carrier_name) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): DeliveryInfoTypeReactiveObject { - return DeliveryInfoTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var tracking_no: String - get() { - return _tRG(__v_raw, "tracking_no", __v_raw.tracking_no, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("tracking_no")) { - return - } - val oldValue = __v_raw.tracking_no - __v_raw.tracking_no = value - _tRS(__v_raw, "tracking_no", oldValue, value) - } - override var carrier_name: String - get() { - return _tRG(__v_raw, "carrier_name", __v_raw.carrier_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("carrier_name")) { - return - } - val oldValue = __v_raw.carrier_name - __v_raw.carrier_name = value - _tRS(__v_raw, "carrier_name", oldValue, value) - } -} -val GenPagesMallConsumerOrderDetailClass = CreateVueComponent(GenPagesMallConsumerOrderDetail::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerOrderDetail.inheritAttrs, inject = GenPagesMallConsumerOrderDetail.inject, props = GenPagesMallConsumerOrderDetail.props, propsNeedCastKeys = GenPagesMallConsumerOrderDetail.propsNeedCastKeys, emits = GenPagesMallConsumerOrderDetail.emits, components = GenPagesMallConsumerOrderDetail.components, styles = GenPagesMallConsumerOrderDetail.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerOrderDetail.setup(props as GenPagesMallConsumerOrderDetail) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerOrderDetail { - return GenPagesMallConsumerOrderDetail(instance, renderer) -} -) -open class TrackItem ( - @JsonNotNull - open var desc: String, - @JsonNotNull - open var time: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("TrackItem", "pages/mall/consumer/logistics.uvue", 48, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return TrackItemReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class TrackItemReactiveObject : TrackItem, IUTSReactive { - override var __v_raw: TrackItem - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: TrackItem, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(desc = __v_raw.desc, time = __v_raw.time) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): TrackItemReactiveObject { - return TrackItemReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var desc: String - get() { - return _tRG(__v_raw, "desc", __v_raw.desc, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("desc")) { - return - } - val oldValue = __v_raw.desc - __v_raw.desc = value - _tRS(__v_raw, "desc", oldValue, value) - } - override var time: String - get() { - return _tRG(__v_raw, "time", __v_raw.time, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("time")) { - return - } - val oldValue = __v_raw.time - __v_raw.time = value - _tRS(__v_raw, "time", oldValue, value) - } -} -val GenPagesMallConsumerLogisticsClass = CreateVueComponent(GenPagesMallConsumerLogistics::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerLogistics.inheritAttrs, inject = GenPagesMallConsumerLogistics.inject, props = GenPagesMallConsumerLogistics.props, propsNeedCastKeys = GenPagesMallConsumerLogistics.propsNeedCastKeys, emits = GenPagesMallConsumerLogistics.emits, components = GenPagesMallConsumerLogistics.components, styles = GenPagesMallConsumerLogistics.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerLogistics.setup(props as GenPagesMallConsumerLogistics) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerLogistics { - return GenPagesMallConsumerLogistics(instance, renderer) -} -) -open class OrderType__1 ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var order_no: String, - @JsonNotNull - open var created_at: String, - @JsonNotNull - open var merchant_id: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("OrderType", "pages/mall/consumer/review.uvue", 153, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return OrderType__1ReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class OrderType__1ReactiveObject : OrderType__1, IUTSReactive { - override var __v_raw: OrderType__1 - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: OrderType__1, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, order_no = __v_raw.order_no, created_at = __v_raw.created_at, merchant_id = __v_raw.merchant_id) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): OrderType__1ReactiveObject { - return OrderType__1ReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var order_no: String - get() { - return _tRG(__v_raw, "order_no", __v_raw.order_no, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("order_no")) { - return - } - val oldValue = __v_raw.order_no - __v_raw.order_no = value - _tRS(__v_raw, "order_no", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } - override var merchant_id: String - get() { - return _tRG(__v_raw, "merchant_id", __v_raw.merchant_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchant_id")) { - return - } - val oldValue = __v_raw.merchant_id - __v_raw.merchant_id = value - _tRS(__v_raw, "merchant_id", oldValue, value) - } -} -open class OrderItemType__2 ( - @JsonNotNull - open var id: Number, - @JsonNotNull - open var order_id: Number, - @JsonNotNull - open var product_id: Number, - @JsonNotNull - open var product_name: String, - @JsonNotNull - open var product_image: String, - open var sku_specifications: Any? = null, - @JsonNotNull - open var price: Number, - @JsonNotNull - open var quantity: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("OrderItemType", "pages/mall/consumer/review.uvue", 160, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return OrderItemType__2ReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class OrderItemType__2ReactiveObject : OrderItemType__2, IUTSReactive { - override var __v_raw: OrderItemType__2 - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: OrderItemType__2, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, order_id = __v_raw.order_id, product_id = __v_raw.product_id, product_name = __v_raw.product_name, product_image = __v_raw.product_image, sku_specifications = __v_raw.sku_specifications, price = __v_raw.price, quantity = __v_raw.quantity) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): OrderItemType__2ReactiveObject { - return OrderItemType__2ReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: Number - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var order_id: Number - get() { - return _tRG(__v_raw, "order_id", __v_raw.order_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("order_id")) { - return - } - val oldValue = __v_raw.order_id - __v_raw.order_id = value - _tRS(__v_raw, "order_id", oldValue, value) - } - override var product_id: Number - get() { - return _tRG(__v_raw, "product_id", __v_raw.product_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_id")) { - return - } - val oldValue = __v_raw.product_id - __v_raw.product_id = value - _tRS(__v_raw, "product_id", oldValue, value) - } - override var product_name: String - get() { - return _tRG(__v_raw, "product_name", __v_raw.product_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_name")) { - return - } - val oldValue = __v_raw.product_name - __v_raw.product_name = value - _tRS(__v_raw, "product_name", oldValue, value) - } - override var product_image: String - get() { - return _tRG(__v_raw, "product_image", __v_raw.product_image, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_image")) { - return - } - val oldValue = __v_raw.product_image - __v_raw.product_image = value - _tRS(__v_raw, "product_image", oldValue, value) - } - override var sku_specifications: Any? - get() { - return _tRG(__v_raw, "sku_specifications", __v_raw.sku_specifications, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("sku_specifications")) { - return - } - val oldValue = __v_raw.sku_specifications - __v_raw.sku_specifications = value - _tRS(__v_raw, "sku_specifications", oldValue, value) - } - override var price: Number - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var quantity: Number - get() { - return _tRG(__v_raw, "quantity", __v_raw.quantity, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("quantity")) { - return - } - val oldValue = __v_raw.quantity - __v_raw.quantity = value - _tRS(__v_raw, "quantity", oldValue, value) - } -} -open class MerchantRatingType ( - @JsonNotNull - open var description: Number, - @JsonNotNull - open var logistics: Number, - @JsonNotNull - open var service: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("MerchantRatingType", "pages/mall/consumer/review.uvue", 171, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return MerchantRatingTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class MerchantRatingTypeReactiveObject : MerchantRatingType, IUTSReactive { - override var __v_raw: MerchantRatingType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: MerchantRatingType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(description = __v_raw.description, logistics = __v_raw.logistics, service = __v_raw.service) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): MerchantRatingTypeReactiveObject { - return MerchantRatingTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var description: Number - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } - override var logistics: Number - get() { - return _tRG(__v_raw, "logistics", __v_raw.logistics, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("logistics")) { - return - } - val oldValue = __v_raw.logistics - __v_raw.logistics = value - _tRS(__v_raw, "logistics", oldValue, value) - } - override var service: Number - get() { - return _tRG(__v_raw, "service", __v_raw.service, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("service")) { - return - } - val oldValue = __v_raw.service - __v_raw.service = value - _tRS(__v_raw, "service", oldValue, value) - } -} -open class MerchantType__1 ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var shop_name: String, - @JsonNotNull - open var rating: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("MerchantType", "pages/mall/consumer/review.uvue", 177, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return MerchantType__1ReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class MerchantType__1ReactiveObject : MerchantType__1, IUTSReactive { - override var __v_raw: MerchantType__1 - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: MerchantType__1, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, shop_name = __v_raw.shop_name, rating = __v_raw.rating) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): MerchantType__1ReactiveObject { - return MerchantType__1ReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var shop_name: String - get() { - return _tRG(__v_raw, "shop_name", __v_raw.shop_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shop_name")) { - return - } - val oldValue = __v_raw.shop_name - __v_raw.shop_name = value - _tRS(__v_raw, "shop_name", oldValue, value) - } - override var rating: Number - get() { - return _tRG(__v_raw, "rating", __v_raw.rating, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("rating")) { - return - } - val oldValue = __v_raw.rating - __v_raw.rating = value - _tRS(__v_raw, "rating", oldValue, value) - } -} -val GenPagesMallConsumerReviewClass = CreateVueComponent(GenPagesMallConsumerReview::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerReview.inheritAttrs, inject = GenPagesMallConsumerReview.inject, props = GenPagesMallConsumerReview.props, propsNeedCastKeys = GenPagesMallConsumerReview.propsNeedCastKeys, emits = GenPagesMallConsumerReview.emits, components = GenPagesMallConsumerReview.components, styles = GenPagesMallConsumerReview.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerReview.setup(props as GenPagesMallConsumerReview) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerReview { - return GenPagesMallConsumerReview(instance, renderer) -} -) -open class RefundStatusHistoryItem ( - @JsonNotNull - open var status: Number, - @JsonNotNull - open var remark: String, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("RefundStatusHistoryItem", "pages/mall/consumer/refund.uvue", 106, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return RefundStatusHistoryItemReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class RefundStatusHistoryItemReactiveObject : RefundStatusHistoryItem, IUTSReactive { - override var __v_raw: RefundStatusHistoryItem - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: RefundStatusHistoryItem, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(status = __v_raw.status, remark = __v_raw.remark, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): RefundStatusHistoryItemReactiveObject { - return RefundStatusHistoryItemReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var status: Number - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } - override var remark: String - get() { - return _tRG(__v_raw, "remark", __v_raw.remark, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("remark")) { - return - } - val oldValue = __v_raw.remark - __v_raw.remark = value - _tRS(__v_raw, "remark", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -open class RefundProductInfo ( - @JsonNotNull - open var images: UTSArray, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("RefundProductInfo", "pages/mall/consumer/refund.uvue", 112, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return RefundProductInfoReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class RefundProductInfoReactiveObject : RefundProductInfo, IUTSReactive { - override var __v_raw: RefundProductInfo - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: RefundProductInfo, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(images = __v_raw.images) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): RefundProductInfoReactiveObject { - return RefundProductInfoReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var images: UTSArray - get() { - return _tRG(__v_raw, "images", __v_raw.images, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("images")) { - return - } - val oldValue = __v_raw.images - __v_raw.images = value - _tRS(__v_raw, "images", oldValue, value) - } -} -open class RefundOrderItem ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var product_name: String, - open var sku_specifications: Any? = null, - @JsonNotNull - open var price: Number, - @JsonNotNull - open var quantity: Number, - open var product: RefundProductInfo? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("RefundOrderItem", "pages/mall/consumer/refund.uvue", 116, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return RefundOrderItemReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class RefundOrderItemReactiveObject : RefundOrderItem, IUTSReactive { - override var __v_raw: RefundOrderItem - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: RefundOrderItem, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, product_name = __v_raw.product_name, sku_specifications = __v_raw.sku_specifications, price = __v_raw.price, quantity = __v_raw.quantity, product = __v_raw.product) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): RefundOrderItemReactiveObject { - return RefundOrderItemReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var product_name: String - get() { - return _tRG(__v_raw, "product_name", __v_raw.product_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_name")) { - return - } - val oldValue = __v_raw.product_name - __v_raw.product_name = value - _tRS(__v_raw, "product_name", oldValue, value) - } - override var sku_specifications: Any? - get() { - return _tRG(__v_raw, "sku_specifications", __v_raw.sku_specifications, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("sku_specifications")) { - return - } - val oldValue = __v_raw.sku_specifications - __v_raw.sku_specifications = value - _tRS(__v_raw, "sku_specifications", oldValue, value) - } - override var price: Number - get() { - return _tRG(__v_raw, "price", __v_raw.price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("price")) { - return - } - val oldValue = __v_raw.price - __v_raw.price = value - _tRS(__v_raw, "price", oldValue, value) - } - override var quantity: Number - get() { - return _tRG(__v_raw, "quantity", __v_raw.quantity, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("quantity")) { - return - } - val oldValue = __v_raw.quantity - __v_raw.quantity = value - _tRS(__v_raw, "quantity", oldValue, value) - } - override var product: RefundProductInfo? - get() { - return _tRG(__v_raw, "product", __v_raw.product, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product")) { - return - } - val oldValue = __v_raw.product - __v_raw.product = value - _tRS(__v_raw, "product", oldValue, value) - } -} -open class RefundOrderInfo ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var order_no: String, - @JsonNotNull - open var created_at: String, - @JsonNotNull - open var order_items: UTSArray, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("RefundOrderInfo", "pages/mall/consumer/refund.uvue", 125, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return RefundOrderInfoReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class RefundOrderInfoReactiveObject : RefundOrderInfo, IUTSReactive { - override var __v_raw: RefundOrderInfo - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: RefundOrderInfo, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, order_no = __v_raw.order_no, created_at = __v_raw.created_at, order_items = __v_raw.order_items) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): RefundOrderInfoReactiveObject { - return RefundOrderInfoReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var order_no: String - get() { - return _tRG(__v_raw, "order_no", __v_raw.order_no, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("order_no")) { - return - } - val oldValue = __v_raw.order_no - __v_raw.order_no = value - _tRS(__v_raw, "order_no", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } - override var order_items: UTSArray - get() { - return _tRG(__v_raw, "order_items", __v_raw.order_items, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("order_items")) { - return - } - val oldValue = __v_raw.order_items - __v_raw.order_items = value - _tRS(__v_raw, "order_items", oldValue, value) - } -} -open class RefundType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var user_id: String, - @JsonNotNull - open var order_id: String, - @JsonNotNull - open var refund_no: String, - @JsonNotNull - open var refund_type: Number, - @JsonNotNull - open var refund_reason: String, - @JsonNotNull - open var refund_amount: Number, - @JsonNotNull - open var status: Number, - open var status_history: UTSArray? = null, - @JsonNotNull - open var created_at: String, - open var order: RefundOrderInfo? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("RefundType", "pages/mall/consumer/refund.uvue", 132, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return RefundTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class RefundTypeReactiveObject : RefundType, IUTSReactive { - override var __v_raw: RefundType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: RefundType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, user_id = __v_raw.user_id, order_id = __v_raw.order_id, refund_no = __v_raw.refund_no, refund_type = __v_raw.refund_type, refund_reason = __v_raw.refund_reason, refund_amount = __v_raw.refund_amount, status = __v_raw.status, status_history = __v_raw.status_history, created_at = __v_raw.created_at, order = __v_raw.order) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): RefundTypeReactiveObject { - return RefundTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var user_id: String - get() { - return _tRG(__v_raw, "user_id", __v_raw.user_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("user_id")) { - return - } - val oldValue = __v_raw.user_id - __v_raw.user_id = value - _tRS(__v_raw, "user_id", oldValue, value) - } - override var order_id: String - get() { - return _tRG(__v_raw, "order_id", __v_raw.order_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("order_id")) { - return - } - val oldValue = __v_raw.order_id - __v_raw.order_id = value - _tRS(__v_raw, "order_id", oldValue, value) - } - override var refund_no: String - get() { - return _tRG(__v_raw, "refund_no", __v_raw.refund_no, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("refund_no")) { - return - } - val oldValue = __v_raw.refund_no - __v_raw.refund_no = value - _tRS(__v_raw, "refund_no", oldValue, value) - } - override var refund_type: Number - get() { - return _tRG(__v_raw, "refund_type", __v_raw.refund_type, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("refund_type")) { - return - } - val oldValue = __v_raw.refund_type - __v_raw.refund_type = value - _tRS(__v_raw, "refund_type", oldValue, value) - } - override var refund_reason: String - get() { - return _tRG(__v_raw, "refund_reason", __v_raw.refund_reason, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("refund_reason")) { - return - } - val oldValue = __v_raw.refund_reason - __v_raw.refund_reason = value - _tRS(__v_raw, "refund_reason", oldValue, value) - } - override var refund_amount: Number - get() { - return _tRG(__v_raw, "refund_amount", __v_raw.refund_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("refund_amount")) { - return - } - val oldValue = __v_raw.refund_amount - __v_raw.refund_amount = value - _tRS(__v_raw, "refund_amount", oldValue, value) - } - override var status: Number - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } - override var status_history: UTSArray? - get() { - return _tRG(__v_raw, "status_history", __v_raw.status_history, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status_history")) { - return - } - val oldValue = __v_raw.status_history - __v_raw.status_history = value - _tRS(__v_raw, "status_history", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } - override var order: RefundOrderInfo? - get() { - return _tRG(__v_raw, "order", __v_raw.order, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("order")) { - return - } - val oldValue = __v_raw.order - __v_raw.order = value - _tRS(__v_raw, "order", oldValue, value) - } -} -open class TabCountsType ( - @JsonNotNull - open var processing: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("TabCountsType", "pages/mall/consumer/refund.uvue", 146, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return TabCountsTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class TabCountsTypeReactiveObject : TabCountsType, IUTSReactive { - override var __v_raw: TabCountsType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: TabCountsType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(processing = __v_raw.processing) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): TabCountsTypeReactiveObject { - return TabCountsTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var processing: Number - get() { - return _tRG(__v_raw, "processing", __v_raw.processing, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("processing")) { - return - } - val oldValue = __v_raw.processing - __v_raw.processing = value - _tRS(__v_raw, "processing", oldValue, value) - } -} -open class TimelineStepType ( - @JsonNotNull - open var status: Number, - @JsonNotNull - open var title: String, - @JsonNotNull - open var time: String, - @JsonNotNull - open var active: Boolean = false, - @JsonNotNull - open var completed: Boolean = false, - @JsonNotNull - open var desc: String, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("TimelineStepType", "pages/mall/consumer/refund.uvue", 346, 6) - } -} -val GenPagesMallConsumerRefundClass = CreateVueComponent(GenPagesMallConsumerRefund::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerRefund.inheritAttrs, inject = GenPagesMallConsumerRefund.inject, props = GenPagesMallConsumerRefund.props, propsNeedCastKeys = GenPagesMallConsumerRefund.propsNeedCastKeys, emits = GenPagesMallConsumerRefund.emits, components = GenPagesMallConsumerRefund.components, styles = GenPagesMallConsumerRefund.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerRefund.setup(props as GenPagesMallConsumerRefund) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerRefund { - return GenPagesMallConsumerRefund(instance, renderer) -} -) -val GenPagesMallConsumerApplyRefundClass = CreateVueComponent(GenPagesMallConsumerApplyRefund::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerApplyRefund.inheritAttrs, inject = GenPagesMallConsumerApplyRefund.inject, props = GenPagesMallConsumerApplyRefund.props, propsNeedCastKeys = GenPagesMallConsumerApplyRefund.propsNeedCastKeys, emits = GenPagesMallConsumerApplyRefund.emits, components = GenPagesMallConsumerApplyRefund.components, styles = GenPagesMallConsumerApplyRefund.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerApplyRefund.setup(props as GenPagesMallConsumerApplyRefund) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerApplyRefund { - return GenPagesMallConsumerApplyRefund(instance, renderer) -} -) -val GenPagesMallConsumerRefundReviewClass = CreateVueComponent(GenPagesMallConsumerRefundReview::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerRefundReview.inheritAttrs, inject = GenPagesMallConsumerRefundReview.inject, props = GenPagesMallConsumerRefundReview.props, propsNeedCastKeys = GenPagesMallConsumerRefundReview.propsNeedCastKeys, emits = GenPagesMallConsumerRefundReview.emits, components = GenPagesMallConsumerRefundReview.components, styles = GenPagesMallConsumerRefundReview.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerRefundReview.setup(props as GenPagesMallConsumerRefundReview) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerRefundReview { - return GenPagesMallConsumerRefundReview(instance, renderer) -} -) -open class UiChatMessage ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var viewId: String, - @JsonNotNull - open var type: String, - @JsonNotNull - open var content: String, - @JsonNotNull - open var time: String, - @JsonNotNull - open var msgType: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("UiChatMessage", "pages/mall/consumer/chat.uvue", 153, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return UiChatMessageReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class UiChatMessageReactiveObject : UiChatMessage, IUTSReactive { - override var __v_raw: UiChatMessage - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: UiChatMessage, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, viewId = __v_raw.viewId, type = __v_raw.type, content = __v_raw.content, time = __v_raw.time, msgType = __v_raw.msgType) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UiChatMessageReactiveObject { - return UiChatMessageReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var viewId: String - get() { - return _tRG(__v_raw, "viewId", __v_raw.viewId, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("viewId")) { - return - } - val oldValue = __v_raw.viewId - __v_raw.viewId = value - _tRS(__v_raw, "viewId", oldValue, value) - } - override var type: String - get() { - return _tRG(__v_raw, "type", __v_raw.type, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("type")) { - return - } - val oldValue = __v_raw.type - __v_raw.type = value - _tRS(__v_raw, "type", oldValue, value) - } - override var content: String - get() { - return _tRG(__v_raw, "content", __v_raw.content, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("content")) { - return - } - val oldValue = __v_raw.content - __v_raw.content = value - _tRS(__v_raw, "content", oldValue, value) - } - override var time: String - get() { - return _tRG(__v_raw, "time", __v_raw.time, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("time")) { - return - } - val oldValue = __v_raw.time - __v_raw.time = value - _tRS(__v_raw, "time", oldValue, value) - } - override var msgType: String - get() { - return _tRG(__v_raw, "msgType", __v_raw.msgType, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("msgType")) { - return - } - val oldValue = __v_raw.msgType - __v_raw.msgType = value - _tRS(__v_raw, "msgType", oldValue, value) - } -} -val GenPagesMallConsumerChatClass = CreateVueComponent(GenPagesMallConsumerChat::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerChat.inheritAttrs, inject = GenPagesMallConsumerChat.inject, props = GenPagesMallConsumerChat.props, propsNeedCastKeys = GenPagesMallConsumerChat.propsNeedCastKeys, emits = GenPagesMallConsumerChat.emits, components = GenPagesMallConsumerChat.components, styles = GenPagesMallConsumerChat.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerChat.setup(props as GenPagesMallConsumerChat) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerChat { - return GenPagesMallConsumerChat(instance, renderer) -} -) -open class FollowedShop ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var merchant_id: String, - @JsonNotNull - open var shop_name: String, - open var shop_logo: String? = null, - open var description: String? = null, - @JsonNotNull - open var rating_avg: Number, - @JsonNotNull - open var total_sales: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("FollowedShop", "pages/mall/consumer/subscription/followed-shops.uvue", 37, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return FollowedShopReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class FollowedShopReactiveObject : FollowedShop, IUTSReactive { - override var __v_raw: FollowedShop - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: FollowedShop, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, merchant_id = __v_raw.merchant_id, shop_name = __v_raw.shop_name, shop_logo = __v_raw.shop_logo, description = __v_raw.description, rating_avg = __v_raw.rating_avg, total_sales = __v_raw.total_sales) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): FollowedShopReactiveObject { - return FollowedShopReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var merchant_id: String - get() { - return _tRG(__v_raw, "merchant_id", __v_raw.merchant_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("merchant_id")) { - return - } - val oldValue = __v_raw.merchant_id - __v_raw.merchant_id = value - _tRS(__v_raw, "merchant_id", oldValue, value) - } - override var shop_name: String - get() { - return _tRG(__v_raw, "shop_name", __v_raw.shop_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shop_name")) { - return - } - val oldValue = __v_raw.shop_name - __v_raw.shop_name = value - _tRS(__v_raw, "shop_name", oldValue, value) - } - override var shop_logo: String? - get() { - return _tRG(__v_raw, "shop_logo", __v_raw.shop_logo, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("shop_logo")) { - return - } - val oldValue = __v_raw.shop_logo - __v_raw.shop_logo = value - _tRS(__v_raw, "shop_logo", oldValue, value) - } - override var description: String? - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } - override var rating_avg: Number - get() { - return _tRG(__v_raw, "rating_avg", __v_raw.rating_avg, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("rating_avg")) { - return - } - val oldValue = __v_raw.rating_avg - __v_raw.rating_avg = value - _tRS(__v_raw, "rating_avg", oldValue, value) - } - override var total_sales: Number - get() { - return _tRG(__v_raw, "total_sales", __v_raw.total_sales, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("total_sales")) { - return - } - val oldValue = __v_raw.total_sales - __v_raw.total_sales = value - _tRS(__v_raw, "total_sales", oldValue, value) - } -} -val GenPagesMallConsumerSubscriptionFollowedShopsClass = CreateVueComponent(GenPagesMallConsumerSubscriptionFollowedShops::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerSubscriptionFollowedShops.inheritAttrs, inject = GenPagesMallConsumerSubscriptionFollowedShops.inject, props = GenPagesMallConsumerSubscriptionFollowedShops.props, propsNeedCastKeys = GenPagesMallConsumerSubscriptionFollowedShops.propsNeedCastKeys, emits = GenPagesMallConsumerSubscriptionFollowedShops.emits, components = GenPagesMallConsumerSubscriptionFollowedShops.components, styles = GenPagesMallConsumerSubscriptionFollowedShops.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerSubscriptionFollowedShops.setup(props as GenPagesMallConsumerSubscriptionFollowedShops) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerSubscriptionFollowedShops { - return GenPagesMallConsumerSubscriptionFollowedShops(instance, renderer) -} -) -open class PointRecord ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var user_id: String, - @JsonNotNull - open var points: Number, - @JsonNotNull - open var type: String, - @JsonNotNull - open var description: String, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("PointRecord", "pages/mall/consumer/points/index.uvue", 115, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return PointRecordReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class PointRecordReactiveObject : PointRecord, IUTSReactive { - override var __v_raw: PointRecord - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: PointRecord, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, user_id = __v_raw.user_id, points = __v_raw.points, type = __v_raw.type, description = __v_raw.description, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): PointRecordReactiveObject { - return PointRecordReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var user_id: String - get() { - return _tRG(__v_raw, "user_id", __v_raw.user_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("user_id")) { - return - } - val oldValue = __v_raw.user_id - __v_raw.user_id = value - _tRS(__v_raw, "user_id", oldValue, value) - } - override var points: Number - get() { - return _tRG(__v_raw, "points", __v_raw.points, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("points")) { - return - } - val oldValue = __v_raw.points - __v_raw.points = value - _tRS(__v_raw, "points", oldValue, value) - } - override var type: String - get() { - return _tRG(__v_raw, "type", __v_raw.type, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("type")) { - return - } - val oldValue = __v_raw.type - __v_raw.type = value - _tRS(__v_raw, "type", oldValue, value) - } - override var description: String - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -open class ExpiringDetail ( - @JsonNotNull - open var points: Number, - open var description: String? = null, - @JsonNotNull - open var expires_at: String, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ExpiringDetail", "pages/mall/consumer/points/index.uvue", 124, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return ExpiringDetailReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class ExpiringDetailReactiveObject : ExpiringDetail, IUTSReactive { - override var __v_raw: ExpiringDetail - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: ExpiringDetail, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(points = __v_raw.points, description = __v_raw.description, expires_at = __v_raw.expires_at, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): ExpiringDetailReactiveObject { - return ExpiringDetailReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var points: Number - get() { - return _tRG(__v_raw, "points", __v_raw.points, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("points")) { - return - } - val oldValue = __v_raw.points - __v_raw.points = value - _tRS(__v_raw, "points", oldValue, value) - } - override var description: String? - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } - override var expires_at: String - get() { - return _tRG(__v_raw, "expires_at", __v_raw.expires_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("expires_at")) { - return - } - val oldValue = __v_raw.expires_at - __v_raw.expires_at = value - _tRS(__v_raw, "expires_at", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -val GenPagesMallConsumerPointsIndexClass = CreateVueComponent(GenPagesMallConsumerPointsIndex::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerPointsIndex.inheritAttrs, inject = GenPagesMallConsumerPointsIndex.inject, props = GenPagesMallConsumerPointsIndex.props, propsNeedCastKeys = GenPagesMallConsumerPointsIndex.propsNeedCastKeys, emits = GenPagesMallConsumerPointsIndex.emits, components = GenPagesMallConsumerPointsIndex.components, styles = GenPagesMallConsumerPointsIndex.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerPointsIndex.setup(props as GenPagesMallConsumerPointsIndex) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerPointsIndex { - return GenPagesMallConsumerPointsIndex(instance, renderer) -} -) -open class CalendarDay ( - @JsonNotNull - open var day: Number, - @JsonNotNull - open var signed: Boolean = false, - @JsonNotNull - open var isToday: Boolean = false, -) : UTSObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("CalendarDay", "pages/mall/consumer/points/signin.uvue", 108, 6) - } -} -val GenPagesMallConsumerPointsSigninClass = CreateVueComponent(GenPagesMallConsumerPointsSignin::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerPointsSignin.inheritAttrs, inject = GenPagesMallConsumerPointsSignin.inject, props = GenPagesMallConsumerPointsSignin.props, propsNeedCastKeys = GenPagesMallConsumerPointsSignin.propsNeedCastKeys, emits = GenPagesMallConsumerPointsSignin.emits, components = GenPagesMallConsumerPointsSignin.components, styles = GenPagesMallConsumerPointsSignin.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerPointsSignin.setup(props as GenPagesMallConsumerPointsSignin) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerPointsSignin { - return GenPagesMallConsumerPointsSignin(instance, renderer) -} -) -open class PointProduct ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var name: String, - open var description: String? = null, - open var image_url: String? = null, - @JsonNotNull - open var product_type: String, - @JsonNotNull - open var points_required: Number, - open var original_price: Number? = null, - @JsonNotNull - open var stock: Number, - @JsonNotNull - open var status: Number, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("PointProduct", "pages/mall/consumer/points/exchange.uvue", 151, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return PointProductReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class PointProductReactiveObject : PointProduct, IUTSReactive { - override var __v_raw: PointProduct - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: PointProduct, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, description = __v_raw.description, image_url = __v_raw.image_url, product_type = __v_raw.product_type, points_required = __v_raw.points_required, original_price = __v_raw.original_price, stock = __v_raw.stock, status = __v_raw.status) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): PointProductReactiveObject { - return PointProductReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var description: String? - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } - override var image_url: String? - get() { - return _tRG(__v_raw, "image_url", __v_raw.image_url, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("image_url")) { - return - } - val oldValue = __v_raw.image_url - __v_raw.image_url = value - _tRS(__v_raw, "image_url", oldValue, value) - } - override var product_type: String - get() { - return _tRG(__v_raw, "product_type", __v_raw.product_type, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_type")) { - return - } - val oldValue = __v_raw.product_type - __v_raw.product_type = value - _tRS(__v_raw, "product_type", oldValue, value) - } - override var points_required: Number - get() { - return _tRG(__v_raw, "points_required", __v_raw.points_required, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("points_required")) { - return - } - val oldValue = __v_raw.points_required - __v_raw.points_required = value - _tRS(__v_raw, "points_required", oldValue, value) - } - override var original_price: Number? - get() { - return _tRG(__v_raw, "original_price", __v_raw.original_price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("original_price")) { - return - } - val oldValue = __v_raw.original_price - __v_raw.original_price = value - _tRS(__v_raw, "original_price", oldValue, value) - } - override var stock: Number - get() { - return _tRG(__v_raw, "stock", __v_raw.stock, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("stock")) { - return - } - val oldValue = __v_raw.stock - __v_raw.stock = value - _tRS(__v_raw, "stock", oldValue, value) - } - override var status: Number - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } -} -val GenPagesMallConsumerPointsExchangeClass = CreateVueComponent(GenPagesMallConsumerPointsExchange::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerPointsExchange.inheritAttrs, inject = GenPagesMallConsumerPointsExchange.inject, props = GenPagesMallConsumerPointsExchange.props, propsNeedCastKeys = GenPagesMallConsumerPointsExchange.propsNeedCastKeys, emits = GenPagesMallConsumerPointsExchange.emits, components = GenPagesMallConsumerPointsExchange.components, styles = GenPagesMallConsumerPointsExchange.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerPointsExchange.setup(props as GenPagesMallConsumerPointsExchange) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerPointsExchange { - return GenPagesMallConsumerPointsExchange(instance, renderer) -} -) -open class ExchangeRecord ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var product_name: String, - open var product_image: String? = null, - @JsonNotNull - open var product_type: String, - @JsonNotNull - open var quantity: Number, - @JsonNotNull - open var points_used: Number, - @JsonNotNull - open var status: Number, - open var tracking_no: String? = null, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ExchangeRecord", "pages/mall/consumer/points/exchange-records.uvue", 45, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return ExchangeRecordReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class ExchangeRecordReactiveObject : ExchangeRecord, IUTSReactive { - override var __v_raw: ExchangeRecord - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: ExchangeRecord, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, product_name = __v_raw.product_name, product_image = __v_raw.product_image, product_type = __v_raw.product_type, quantity = __v_raw.quantity, points_used = __v_raw.points_used, status = __v_raw.status, tracking_no = __v_raw.tracking_no, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): ExchangeRecordReactiveObject { - return ExchangeRecordReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var product_name: String - get() { - return _tRG(__v_raw, "product_name", __v_raw.product_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_name")) { - return - } - val oldValue = __v_raw.product_name - __v_raw.product_name = value - _tRS(__v_raw, "product_name", oldValue, value) - } - override var product_image: String? - get() { - return _tRG(__v_raw, "product_image", __v_raw.product_image, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_image")) { - return - } - val oldValue = __v_raw.product_image - __v_raw.product_image = value - _tRS(__v_raw, "product_image", oldValue, value) - } - override var product_type: String - get() { - return _tRG(__v_raw, "product_type", __v_raw.product_type, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_type")) { - return - } - val oldValue = __v_raw.product_type - __v_raw.product_type = value - _tRS(__v_raw, "product_type", oldValue, value) - } - override var quantity: Number - get() { - return _tRG(__v_raw, "quantity", __v_raw.quantity, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("quantity")) { - return - } - val oldValue = __v_raw.quantity - __v_raw.quantity = value - _tRS(__v_raw, "quantity", oldValue, value) - } - override var points_used: Number - get() { - return _tRG(__v_raw, "points_used", __v_raw.points_used, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("points_used")) { - return - } - val oldValue = __v_raw.points_used - __v_raw.points_used = value - _tRS(__v_raw, "points_used", oldValue, value) - } - override var status: Number - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } - override var tracking_no: String? - get() { - return _tRG(__v_raw, "tracking_no", __v_raw.tracking_no, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("tracking_no")) { - return - } - val oldValue = __v_raw.tracking_no - __v_raw.tracking_no = value - _tRS(__v_raw, "tracking_no", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -val GenPagesMallConsumerPointsExchangeRecordsClass = CreateVueComponent(GenPagesMallConsumerPointsExchangeRecords::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerPointsExchangeRecords.inheritAttrs, inject = GenPagesMallConsumerPointsExchangeRecords.inject, props = GenPagesMallConsumerPointsExchangeRecords.props, propsNeedCastKeys = GenPagesMallConsumerPointsExchangeRecords.propsNeedCastKeys, emits = GenPagesMallConsumerPointsExchangeRecords.emits, components = GenPagesMallConsumerPointsExchangeRecords.components, styles = GenPagesMallConsumerPointsExchangeRecords.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerPointsExchangeRecords.setup(props as GenPagesMallConsumerPointsExchangeRecords) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerPointsExchangeRecords { - return GenPagesMallConsumerPointsExchangeRecords(instance, renderer) -} -) -open class ReviewItem ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var user_id: String, - @JsonNotNull - open var user_name: String, - @JsonNotNull - open var user_avatar: String, - @JsonNotNull - open var rating: Number, - @JsonNotNull - open var content: String, - @JsonNotNull - open var images: UTSArray, - @JsonNotNull - open var is_anonymous: Boolean = false, - @JsonNotNull - open var like_count: Number, - @JsonNotNull - open var is_liked: Boolean = false, - open var append_content: String? = null, - open var append_at: String? = null, - open var reply: String? = null, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ReviewItem", "pages/mall/consumer/product-reviews.uvue", 163, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return ReviewItemReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class ReviewItemReactiveObject : ReviewItem, IUTSReactive { - override var __v_raw: ReviewItem - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: ReviewItem, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, user_id = __v_raw.user_id, user_name = __v_raw.user_name, user_avatar = __v_raw.user_avatar, rating = __v_raw.rating, content = __v_raw.content, images = __v_raw.images, is_anonymous = __v_raw.is_anonymous, like_count = __v_raw.like_count, is_liked = __v_raw.is_liked, append_content = __v_raw.append_content, append_at = __v_raw.append_at, reply = __v_raw.reply, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): ReviewItemReactiveObject { - return ReviewItemReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var user_id: String - get() { - return _tRG(__v_raw, "user_id", __v_raw.user_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("user_id")) { - return - } - val oldValue = __v_raw.user_id - __v_raw.user_id = value - _tRS(__v_raw, "user_id", oldValue, value) - } - override var user_name: String - get() { - return _tRG(__v_raw, "user_name", __v_raw.user_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("user_name")) { - return - } - val oldValue = __v_raw.user_name - __v_raw.user_name = value - _tRS(__v_raw, "user_name", oldValue, value) - } - override var user_avatar: String - get() { - return _tRG(__v_raw, "user_avatar", __v_raw.user_avatar, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("user_avatar")) { - return - } - val oldValue = __v_raw.user_avatar - __v_raw.user_avatar = value - _tRS(__v_raw, "user_avatar", oldValue, value) - } - override var rating: Number - get() { - return _tRG(__v_raw, "rating", __v_raw.rating, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("rating")) { - return - } - val oldValue = __v_raw.rating - __v_raw.rating = value - _tRS(__v_raw, "rating", oldValue, value) - } - override var content: String - get() { - return _tRG(__v_raw, "content", __v_raw.content, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("content")) { - return - } - val oldValue = __v_raw.content - __v_raw.content = value - _tRS(__v_raw, "content", oldValue, value) - } - override var images: UTSArray - get() { - return _tRG(__v_raw, "images", __v_raw.images, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("images")) { - return - } - val oldValue = __v_raw.images - __v_raw.images = value - _tRS(__v_raw, "images", oldValue, value) - } - override var is_anonymous: Boolean - get() { - return _tRG(__v_raw, "is_anonymous", __v_raw.is_anonymous, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("is_anonymous")) { - return - } - val oldValue = __v_raw.is_anonymous - __v_raw.is_anonymous = value - _tRS(__v_raw, "is_anonymous", oldValue, value) - } - override var like_count: Number - get() { - return _tRG(__v_raw, "like_count", __v_raw.like_count, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("like_count")) { - return - } - val oldValue = __v_raw.like_count - __v_raw.like_count = value - _tRS(__v_raw, "like_count", oldValue, value) - } - override var is_liked: Boolean - get() { - return _tRG(__v_raw, "is_liked", __v_raw.is_liked, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("is_liked")) { - return - } - val oldValue = __v_raw.is_liked - __v_raw.is_liked = value - _tRS(__v_raw, "is_liked", oldValue, value) - } - override var append_content: String? - get() { - return _tRG(__v_raw, "append_content", __v_raw.append_content, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("append_content")) { - return - } - val oldValue = __v_raw.append_content - __v_raw.append_content = value - _tRS(__v_raw, "append_content", oldValue, value) - } - override var append_at: String? - get() { - return _tRG(__v_raw, "append_at", __v_raw.append_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("append_at")) { - return - } - val oldValue = __v_raw.append_at - __v_raw.append_at = value - _tRS(__v_raw, "append_at", oldValue, value) - } - override var reply: String? - get() { - return _tRG(__v_raw, "reply", __v_raw.reply, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("reply")) { - return - } - val oldValue = __v_raw.reply - __v_raw.reply = value - _tRS(__v_raw, "reply", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -open class StatsType__1 ( - @JsonNotNull - open var total_count: Number, - @JsonNotNull - open var avg_rating: Number, - @JsonNotNull - open var good_rate: Number, - @JsonNotNull - open var rating_distribution: Map, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("StatsType", "pages/mall/consumer/product-reviews.uvue", 180, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return StatsType__1ReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class StatsType__1ReactiveObject : StatsType__1, IUTSReactive { - override var __v_raw: StatsType__1 - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: StatsType__1, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(total_count = __v_raw.total_count, avg_rating = __v_raw.avg_rating, good_rate = __v_raw.good_rate, rating_distribution = __v_raw.rating_distribution) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): StatsType__1ReactiveObject { - return StatsType__1ReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var total_count: Number - get() { - return _tRG(__v_raw, "total_count", __v_raw.total_count, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("total_count")) { - return - } - val oldValue = __v_raw.total_count - __v_raw.total_count = value - _tRS(__v_raw, "total_count", oldValue, value) - } - override var avg_rating: Number - get() { - return _tRG(__v_raw, "avg_rating", __v_raw.avg_rating, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("avg_rating")) { - return - } - val oldValue = __v_raw.avg_rating - __v_raw.avg_rating = value - _tRS(__v_raw, "avg_rating", oldValue, value) - } - override var good_rate: Number - get() { - return _tRG(__v_raw, "good_rate", __v_raw.good_rate, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("good_rate")) { - return - } - val oldValue = __v_raw.good_rate - __v_raw.good_rate = value - _tRS(__v_raw, "good_rate", oldValue, value) - } - override var rating_distribution: Map - get() { - return _tRG(__v_raw, "rating_distribution", __v_raw.rating_distribution, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("rating_distribution")) { - return - } - val oldValue = __v_raw.rating_distribution - __v_raw.rating_distribution = value - _tRS(__v_raw, "rating_distribution", oldValue, value) - } -} -val GenPagesMallConsumerProductReviewsClass = CreateVueComponent(GenPagesMallConsumerProductReviews::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerProductReviews.inheritAttrs, inject = GenPagesMallConsumerProductReviews.inject, props = GenPagesMallConsumerProductReviews.props, propsNeedCastKeys = GenPagesMallConsumerProductReviews.propsNeedCastKeys, emits = GenPagesMallConsumerProductReviews.emits, components = GenPagesMallConsumerProductReviews.components, styles = GenPagesMallConsumerProductReviews.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerProductReviews.setup(props as GenPagesMallConsumerProductReviews) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerProductReviews { - return GenPagesMallConsumerProductReviews(instance, renderer) -} -) -open class MyReviewItem ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var product_id: String, - @JsonNotNull - open var product_name: String, - @JsonNotNull - open var product_image: String, - @JsonNotNull - open var rating: Number, - @JsonNotNull - open var content: String, - @JsonNotNull - open var images: UTSArray, - open var append_content: String? = null, - @JsonNotNull - open var can_append: Boolean = false, - @JsonNotNull - open var can_edit: Boolean = false, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("MyReviewItem", "pages/mall/consumer/my-reviews.uvue", 136, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return MyReviewItemReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class MyReviewItemReactiveObject : MyReviewItem, IUTSReactive { - override var __v_raw: MyReviewItem - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: MyReviewItem, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, product_id = __v_raw.product_id, product_name = __v_raw.product_name, product_image = __v_raw.product_image, rating = __v_raw.rating, content = __v_raw.content, images = __v_raw.images, append_content = __v_raw.append_content, can_append = __v_raw.can_append, can_edit = __v_raw.can_edit, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): MyReviewItemReactiveObject { - return MyReviewItemReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var product_id: String - get() { - return _tRG(__v_raw, "product_id", __v_raw.product_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_id")) { - return - } - val oldValue = __v_raw.product_id - __v_raw.product_id = value - _tRS(__v_raw, "product_id", oldValue, value) - } - override var product_name: String - get() { - return _tRG(__v_raw, "product_name", __v_raw.product_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_name")) { - return - } - val oldValue = __v_raw.product_name - __v_raw.product_name = value - _tRS(__v_raw, "product_name", oldValue, value) - } - override var product_image: String - get() { - return _tRG(__v_raw, "product_image", __v_raw.product_image, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_image")) { - return - } - val oldValue = __v_raw.product_image - __v_raw.product_image = value - _tRS(__v_raw, "product_image", oldValue, value) - } - override var rating: Number - get() { - return _tRG(__v_raw, "rating", __v_raw.rating, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("rating")) { - return - } - val oldValue = __v_raw.rating - __v_raw.rating = value - _tRS(__v_raw, "rating", oldValue, value) - } - override var content: String - get() { - return _tRG(__v_raw, "content", __v_raw.content, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("content")) { - return - } - val oldValue = __v_raw.content - __v_raw.content = value - _tRS(__v_raw, "content", oldValue, value) - } - override var images: UTSArray - get() { - return _tRG(__v_raw, "images", __v_raw.images, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("images")) { - return - } - val oldValue = __v_raw.images - __v_raw.images = value - _tRS(__v_raw, "images", oldValue, value) - } - override var append_content: String? - get() { - return _tRG(__v_raw, "append_content", __v_raw.append_content, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("append_content")) { - return - } - val oldValue = __v_raw.append_content - __v_raw.append_content = value - _tRS(__v_raw, "append_content", oldValue, value) - } - override var can_append: Boolean - get() { - return _tRG(__v_raw, "can_append", __v_raw.can_append, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("can_append")) { - return - } - val oldValue = __v_raw.can_append - __v_raw.can_append = value - _tRS(__v_raw, "can_append", oldValue, value) - } - override var can_edit: Boolean - get() { - return _tRG(__v_raw, "can_edit", __v_raw.can_edit, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("can_edit")) { - return - } - val oldValue = __v_raw.can_edit - __v_raw.can_edit = value - _tRS(__v_raw, "can_edit", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -open class PendingItem ( - @JsonNotNull - open var order_id: String, - @JsonNotNull - open var product_id: String, - @JsonNotNull - open var product_name: String, - @JsonNotNull - open var product_image: String, - @JsonNotNull - open var order_time: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("PendingItem", "pages/mall/consumer/my-reviews.uvue", 150, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return PendingItemReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class PendingItemReactiveObject : PendingItem, IUTSReactive { - override var __v_raw: PendingItem - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: PendingItem, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(order_id = __v_raw.order_id, product_id = __v_raw.product_id, product_name = __v_raw.product_name, product_image = __v_raw.product_image, order_time = __v_raw.order_time) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): PendingItemReactiveObject { - return PendingItemReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var order_id: String - get() { - return _tRG(__v_raw, "order_id", __v_raw.order_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("order_id")) { - return - } - val oldValue = __v_raw.order_id - __v_raw.order_id = value - _tRS(__v_raw, "order_id", oldValue, value) - } - override var product_id: String - get() { - return _tRG(__v_raw, "product_id", __v_raw.product_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_id")) { - return - } - val oldValue = __v_raw.product_id - __v_raw.product_id = value - _tRS(__v_raw, "product_id", oldValue, value) - } - override var product_name: String - get() { - return _tRG(__v_raw, "product_name", __v_raw.product_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_name")) { - return - } - val oldValue = __v_raw.product_name - __v_raw.product_name = value - _tRS(__v_raw, "product_name", oldValue, value) - } - override var product_image: String - get() { - return _tRG(__v_raw, "product_image", __v_raw.product_image, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_image")) { - return - } - val oldValue = __v_raw.product_image - __v_raw.product_image = value - _tRS(__v_raw, "product_image", oldValue, value) - } - override var order_time: String - get() { - return _tRG(__v_raw, "order_time", __v_raw.order_time, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("order_time")) { - return - } - val oldValue = __v_raw.order_time - __v_raw.order_time = value - _tRS(__v_raw, "order_time", oldValue, value) - } -} -val GenPagesMallConsumerMyReviewsClass = CreateVueComponent(GenPagesMallConsumerMyReviews::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerMyReviews.inheritAttrs, inject = GenPagesMallConsumerMyReviews.inject, props = GenPagesMallConsumerMyReviews.props, propsNeedCastKeys = GenPagesMallConsumerMyReviews.propsNeedCastKeys, emits = GenPagesMallConsumerMyReviews.emits, components = GenPagesMallConsumerMyReviews.components, styles = GenPagesMallConsumerMyReviews.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerMyReviews.setup(props as GenPagesMallConsumerMyReviews) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerMyReviews { - return GenPagesMallConsumerMyReviews(instance, renderer) -} -) -open class BalanceRecord ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var type: String, - @JsonNotNull - open var amount: Number, - @JsonNotNull - open var balance_before: Number, - @JsonNotNull - open var balance_after: Number, - open var description: String? = null, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("BalanceRecord", "pages/mall/consumer/balance/index.uvue", 67, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return BalanceRecordReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class BalanceRecordReactiveObject : BalanceRecord, IUTSReactive { - override var __v_raw: BalanceRecord - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: BalanceRecord, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, type = __v_raw.type, amount = __v_raw.amount, balance_before = __v_raw.balance_before, balance_after = __v_raw.balance_after, description = __v_raw.description, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): BalanceRecordReactiveObject { - return BalanceRecordReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var type: String - get() { - return _tRG(__v_raw, "type", __v_raw.type, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("type")) { - return - } - val oldValue = __v_raw.type - __v_raw.type = value - _tRS(__v_raw, "type", oldValue, value) - } - override var amount: Number - get() { - return _tRG(__v_raw, "amount", __v_raw.amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("amount")) { - return - } - val oldValue = __v_raw.amount - __v_raw.amount = value - _tRS(__v_raw, "amount", oldValue, value) - } - override var balance_before: Number - get() { - return _tRG(__v_raw, "balance_before", __v_raw.balance_before, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("balance_before")) { - return - } - val oldValue = __v_raw.balance_before - __v_raw.balance_before = value - _tRS(__v_raw, "balance_before", oldValue, value) - } - override var balance_after: Number - get() { - return _tRG(__v_raw, "balance_after", __v_raw.balance_after, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("balance_after")) { - return - } - val oldValue = __v_raw.balance_after - __v_raw.balance_after = value - _tRS(__v_raw, "balance_after", oldValue, value) - } - override var description: String? - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -val GenPagesMallConsumerBalanceIndexClass = CreateVueComponent(GenPagesMallConsumerBalanceIndex::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerBalanceIndex.inheritAttrs, inject = GenPagesMallConsumerBalanceIndex.inject, props = GenPagesMallConsumerBalanceIndex.props, propsNeedCastKeys = GenPagesMallConsumerBalanceIndex.propsNeedCastKeys, emits = GenPagesMallConsumerBalanceIndex.emits, components = GenPagesMallConsumerBalanceIndex.components, styles = GenPagesMallConsumerBalanceIndex.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerBalanceIndex.setup(props as GenPagesMallConsumerBalanceIndex) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerBalanceIndex { - return GenPagesMallConsumerBalanceIndex(instance, renderer) -} -) -open class ShareRecord ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var product_id: String, - @JsonNotNull - open var product_name: String, - open var product_image: String? = null, - @JsonNotNull - open var product_price: Number, - @JsonNotNull - open var share_code: String, - @JsonNotNull - open var required_count: Number, - @JsonNotNull - open var current_count: Number, - @JsonNotNull - open var status: Number, - open var reward_amount: Number? = null, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ShareRecord", "pages/mall/consumer/share/index.uvue", 74, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return ShareRecordReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class ShareRecordReactiveObject : ShareRecord, IUTSReactive { - override var __v_raw: ShareRecord - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: ShareRecord, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, product_id = __v_raw.product_id, product_name = __v_raw.product_name, product_image = __v_raw.product_image, product_price = __v_raw.product_price, share_code = __v_raw.share_code, required_count = __v_raw.required_count, current_count = __v_raw.current_count, status = __v_raw.status, reward_amount = __v_raw.reward_amount, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): ShareRecordReactiveObject { - return ShareRecordReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var product_id: String - get() { - return _tRG(__v_raw, "product_id", __v_raw.product_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_id")) { - return - } - val oldValue = __v_raw.product_id - __v_raw.product_id = value - _tRS(__v_raw, "product_id", oldValue, value) - } - override var product_name: String - get() { - return _tRG(__v_raw, "product_name", __v_raw.product_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_name")) { - return - } - val oldValue = __v_raw.product_name - __v_raw.product_name = value - _tRS(__v_raw, "product_name", oldValue, value) - } - override var product_image: String? - get() { - return _tRG(__v_raw, "product_image", __v_raw.product_image, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_image")) { - return - } - val oldValue = __v_raw.product_image - __v_raw.product_image = value - _tRS(__v_raw, "product_image", oldValue, value) - } - override var product_price: Number - get() { - return _tRG(__v_raw, "product_price", __v_raw.product_price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_price")) { - return - } - val oldValue = __v_raw.product_price - __v_raw.product_price = value - _tRS(__v_raw, "product_price", oldValue, value) - } - override var share_code: String - get() { - return _tRG(__v_raw, "share_code", __v_raw.share_code, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("share_code")) { - return - } - val oldValue = __v_raw.share_code - __v_raw.share_code = value - _tRS(__v_raw, "share_code", oldValue, value) - } - override var required_count: Number - get() { - return _tRG(__v_raw, "required_count", __v_raw.required_count, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("required_count")) { - return - } - val oldValue = __v_raw.required_count - __v_raw.required_count = value - _tRS(__v_raw, "required_count", oldValue, value) - } - override var current_count: Number - get() { - return _tRG(__v_raw, "current_count", __v_raw.current_count, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("current_count")) { - return - } - val oldValue = __v_raw.current_count - __v_raw.current_count = value - _tRS(__v_raw, "current_count", oldValue, value) - } - override var status: Number - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } - override var reward_amount: Number? - get() { - return _tRG(__v_raw, "reward_amount", __v_raw.reward_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("reward_amount")) { - return - } - val oldValue = __v_raw.reward_amount - __v_raw.reward_amount = value - _tRS(__v_raw, "reward_amount", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -val GenPagesMallConsumerShareIndexClass = CreateVueComponent(GenPagesMallConsumerShareIndex::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerShareIndex.inheritAttrs, inject = GenPagesMallConsumerShareIndex.inject, props = GenPagesMallConsumerShareIndex.props, propsNeedCastKeys = GenPagesMallConsumerShareIndex.propsNeedCastKeys, emits = GenPagesMallConsumerShareIndex.emits, components = GenPagesMallConsumerShareIndex.components, styles = GenPagesMallConsumerShareIndex.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerShareIndex.setup(props as GenPagesMallConsumerShareIndex) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerShareIndex { - return GenPagesMallConsumerShareIndex(instance, renderer) -} -) -open class ShareRecordType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var product_name: String, - open var product_image: String? = null, - @JsonNotNull - open var product_price: Number, - @JsonNotNull - open var share_code: String, - @JsonNotNull - open var required_count: Number, - @JsonNotNull - open var current_count: Number, - @JsonNotNull - open var status: Number, - open var reward_amount: Number? = null, - @JsonNotNull - open var created_at: String, - open var completed_at: String? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ShareRecordType", "pages/mall/consumer/share/detail.uvue", 99, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return ShareRecordTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class ShareRecordTypeReactiveObject : ShareRecordType, IUTSReactive { - override var __v_raw: ShareRecordType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: ShareRecordType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, product_name = __v_raw.product_name, product_image = __v_raw.product_image, product_price = __v_raw.product_price, share_code = __v_raw.share_code, required_count = __v_raw.required_count, current_count = __v_raw.current_count, status = __v_raw.status, reward_amount = __v_raw.reward_amount, created_at = __v_raw.created_at, completed_at = __v_raw.completed_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): ShareRecordTypeReactiveObject { - return ShareRecordTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var product_name: String - get() { - return _tRG(__v_raw, "product_name", __v_raw.product_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_name")) { - return - } - val oldValue = __v_raw.product_name - __v_raw.product_name = value - _tRS(__v_raw, "product_name", oldValue, value) - } - override var product_image: String? - get() { - return _tRG(__v_raw, "product_image", __v_raw.product_image, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_image")) { - return - } - val oldValue = __v_raw.product_image - __v_raw.product_image = value - _tRS(__v_raw, "product_image", oldValue, value) - } - override var product_price: Number - get() { - return _tRG(__v_raw, "product_price", __v_raw.product_price, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("product_price")) { - return - } - val oldValue = __v_raw.product_price - __v_raw.product_price = value - _tRS(__v_raw, "product_price", oldValue, value) - } - override var share_code: String - get() { - return _tRG(__v_raw, "share_code", __v_raw.share_code, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("share_code")) { - return - } - val oldValue = __v_raw.share_code - __v_raw.share_code = value - _tRS(__v_raw, "share_code", oldValue, value) - } - override var required_count: Number - get() { - return _tRG(__v_raw, "required_count", __v_raw.required_count, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("required_count")) { - return - } - val oldValue = __v_raw.required_count - __v_raw.required_count = value - _tRS(__v_raw, "required_count", oldValue, value) - } - override var current_count: Number - get() { - return _tRG(__v_raw, "current_count", __v_raw.current_count, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("current_count")) { - return - } - val oldValue = __v_raw.current_count - __v_raw.current_count = value - _tRS(__v_raw, "current_count", oldValue, value) - } - override var status: Number - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } - override var reward_amount: Number? - get() { - return _tRG(__v_raw, "reward_amount", __v_raw.reward_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("reward_amount")) { - return - } - val oldValue = __v_raw.reward_amount - __v_raw.reward_amount = value - _tRS(__v_raw, "reward_amount", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } - override var completed_at: String? - get() { - return _tRG(__v_raw, "completed_at", __v_raw.completed_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("completed_at")) { - return - } - val oldValue = __v_raw.completed_at - __v_raw.completed_at = value - _tRS(__v_raw, "completed_at", oldValue, value) - } -} -open class BuyerType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var buyer_id: String, - @JsonNotNull - open var buyer_name: String, - @JsonNotNull - open var quantity: Number, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("BuyerType", "pages/mall/consumer/share/detail.uvue", 113, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return BuyerTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class BuyerTypeReactiveObject : BuyerType, IUTSReactive { - override var __v_raw: BuyerType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: BuyerType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, buyer_id = __v_raw.buyer_id, buyer_name = __v_raw.buyer_name, quantity = __v_raw.quantity, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): BuyerTypeReactiveObject { - return BuyerTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var buyer_id: String - get() { - return _tRG(__v_raw, "buyer_id", __v_raw.buyer_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("buyer_id")) { - return - } - val oldValue = __v_raw.buyer_id - __v_raw.buyer_id = value - _tRS(__v_raw, "buyer_id", oldValue, value) - } - override var buyer_name: String - get() { - return _tRG(__v_raw, "buyer_name", __v_raw.buyer_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("buyer_name")) { - return - } - val oldValue = __v_raw.buyer_name - __v_raw.buyer_name = value - _tRS(__v_raw, "buyer_name", oldValue, value) - } - override var quantity: Number - get() { - return _tRG(__v_raw, "quantity", __v_raw.quantity, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("quantity")) { - return - } - val oldValue = __v_raw.quantity - __v_raw.quantity = value - _tRS(__v_raw, "quantity", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -val GenPagesMallConsumerShareDetailClass = CreateVueComponent(GenPagesMallConsumerShareDetail::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerShareDetail.inheritAttrs, inject = GenPagesMallConsumerShareDetail.inject, props = GenPagesMallConsumerShareDetail.props, propsNeedCastKeys = GenPagesMallConsumerShareDetail.propsNeedCastKeys, emits = GenPagesMallConsumerShareDetail.emits, components = GenPagesMallConsumerShareDetail.components, styles = GenPagesMallConsumerShareDetail.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerShareDetail.setup(props as GenPagesMallConsumerShareDetail) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerShareDetail { - return GenPagesMallConsumerShareDetail(instance, renderer) -} -) -open class MemberLevel ( - @JsonNotNull - open var id: Number, - @JsonNotNull - open var name: String, - @JsonNotNull - open var min_amount: Number, - @JsonNotNull - open var discount: Number, - open var description: String? = null, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("MemberLevel", "pages/mall/consumer/member/index.uvue", 113, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return MemberLevelReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class MemberLevelReactiveObject : MemberLevel, IUTSReactive { - override var __v_raw: MemberLevel - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: MemberLevel, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, name = __v_raw.name, min_amount = __v_raw.min_amount, discount = __v_raw.discount, description = __v_raw.description) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): MemberLevelReactiveObject { - return MemberLevelReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: Number - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var min_amount: Number - get() { - return _tRG(__v_raw, "min_amount", __v_raw.min_amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("min_amount")) { - return - } - val oldValue = __v_raw.min_amount - __v_raw.min_amount = value - _tRS(__v_raw, "min_amount", oldValue, value) - } - override var discount: Number - get() { - return _tRG(__v_raw, "discount", __v_raw.discount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("discount")) { - return - } - val oldValue = __v_raw.discount - __v_raw.discount = value - _tRS(__v_raw, "discount", oldValue, value) - } - override var description: String? - get() { - return _tRG(__v_raw, "description", __v_raw.description, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("description")) { - return - } - val oldValue = __v_raw.description - __v_raw.description = value - _tRS(__v_raw, "description", oldValue, value) - } -} -open class MemberInfo ( - @JsonNotNull - open var member_level: Number, - @JsonNotNull - open var level_name: String, - @JsonNotNull - open var discount: Number, - @JsonNotNull - open var total_spent: Number, - open var next_level: MemberLevel? = null, - @JsonNotNull - open var progress_percent: Number, - @JsonNotNull - open var manual_level: Boolean = false, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("MemberInfo", "pages/mall/consumer/member/index.uvue", 121, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return MemberInfoReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class MemberInfoReactiveObject : MemberInfo, IUTSReactive { - override var __v_raw: MemberInfo - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: MemberInfo, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(member_level = __v_raw.member_level, level_name = __v_raw.level_name, discount = __v_raw.discount, total_spent = __v_raw.total_spent, next_level = __v_raw.next_level, progress_percent = __v_raw.progress_percent, manual_level = __v_raw.manual_level) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): MemberInfoReactiveObject { - return MemberInfoReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var member_level: Number - get() { - return _tRG(__v_raw, "member_level", __v_raw.member_level, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("member_level")) { - return - } - val oldValue = __v_raw.member_level - __v_raw.member_level = value - _tRS(__v_raw, "member_level", oldValue, value) - } - override var level_name: String - get() { - return _tRG(__v_raw, "level_name", __v_raw.level_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("level_name")) { - return - } - val oldValue = __v_raw.level_name - __v_raw.level_name = value - _tRS(__v_raw, "level_name", oldValue, value) - } - override var discount: Number - get() { - return _tRG(__v_raw, "discount", __v_raw.discount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("discount")) { - return - } - val oldValue = __v_raw.discount - __v_raw.discount = value - _tRS(__v_raw, "discount", oldValue, value) - } - override var total_spent: Number - get() { - return _tRG(__v_raw, "total_spent", __v_raw.total_spent, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("total_spent")) { - return - } - val oldValue = __v_raw.total_spent - __v_raw.total_spent = value - _tRS(__v_raw, "total_spent", oldValue, value) - } - override var next_level: MemberLevel? - get() { - return _tRG(__v_raw, "next_level", __v_raw.next_level, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("next_level")) { - return - } - val oldValue = __v_raw.next_level - __v_raw.next_level = value - _tRS(__v_raw, "next_level", oldValue, value) - } - override var progress_percent: Number - get() { - return _tRG(__v_raw, "progress_percent", __v_raw.progress_percent, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("progress_percent")) { - return - } - val oldValue = __v_raw.progress_percent - __v_raw.progress_percent = value - _tRS(__v_raw, "progress_percent", oldValue, value) - } - override var manual_level: Boolean - get() { - return _tRG(__v_raw, "manual_level", __v_raw.manual_level, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("manual_level")) { - return - } - val oldValue = __v_raw.manual_level - __v_raw.manual_level = value - _tRS(__v_raw, "manual_level", oldValue, value) - } -} -open class LevelLog ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var old_level: Number, - @JsonNotNull - open var new_level: Number, - open var reason: String? = null, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("LevelLog", "pages/mall/consumer/member/index.uvue", 131, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return LevelLogReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class LevelLogReactiveObject : LevelLog, IUTSReactive { - override var __v_raw: LevelLog - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: LevelLog, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, old_level = __v_raw.old_level, new_level = __v_raw.new_level, reason = __v_raw.reason, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): LevelLogReactiveObject { - return LevelLogReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var old_level: Number - get() { - return _tRG(__v_raw, "old_level", __v_raw.old_level, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("old_level")) { - return - } - val oldValue = __v_raw.old_level - __v_raw.old_level = value - _tRS(__v_raw, "old_level", oldValue, value) - } - override var new_level: Number - get() { - return _tRG(__v_raw, "new_level", __v_raw.new_level, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("new_level")) { - return - } - val oldValue = __v_raw.new_level - __v_raw.new_level = value - _tRS(__v_raw, "new_level", oldValue, value) - } - override var reason: String? - get() { - return _tRG(__v_raw, "reason", __v_raw.reason, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("reason")) { - return - } - val oldValue = __v_raw.reason - __v_raw.reason = value - _tRS(__v_raw, "reason", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -val GenPagesMallConsumerMemberIndexClass = CreateVueComponent(GenPagesMallConsumerMemberIndex::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerMemberIndex.inheritAttrs, inject = GenPagesMallConsumerMemberIndex.inject, props = GenPagesMallConsumerMemberIndex.props, propsNeedCastKeys = GenPagesMallConsumerMemberIndex.propsNeedCastKeys, emits = GenPagesMallConsumerMemberIndex.emits, components = GenPagesMallConsumerMemberIndex.components, styles = GenPagesMallConsumerMemberIndex.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerMemberIndex.setup(props as GenPagesMallConsumerMemberIndex) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerMemberIndex { - return GenPagesMallConsumerMemberIndex(instance, renderer) -} -) -open class MessageType ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var type: String, - @JsonNotNull - open var title: String, - @JsonNotNull - open var content: String, - open var icon_url: String? = null, - open var link_url: String? = null, - open var extra_data: Any? = null, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("MessageType", "pages/mall/consumer/message-detail.uvue", 35, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return MessageTypeReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class MessageTypeReactiveObject : MessageType, IUTSReactive { - override var __v_raw: MessageType - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: MessageType, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, type = __v_raw.type, title = __v_raw.title, content = __v_raw.content, icon_url = __v_raw.icon_url, link_url = __v_raw.link_url, extra_data = __v_raw.extra_data, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): MessageTypeReactiveObject { - return MessageTypeReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var type: String - get() { - return _tRG(__v_raw, "type", __v_raw.type, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("type")) { - return - } - val oldValue = __v_raw.type - __v_raw.type = value - _tRS(__v_raw, "type", oldValue, value) - } - override var title: String - get() { - return _tRG(__v_raw, "title", __v_raw.title, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("title")) { - return - } - val oldValue = __v_raw.title - __v_raw.title = value - _tRS(__v_raw, "title", oldValue, value) - } - override var content: String - get() { - return _tRG(__v_raw, "content", __v_raw.content, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("content")) { - return - } - val oldValue = __v_raw.content - __v_raw.content = value - _tRS(__v_raw, "content", oldValue, value) - } - override var icon_url: String? - get() { - return _tRG(__v_raw, "icon_url", __v_raw.icon_url, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("icon_url")) { - return - } - val oldValue = __v_raw.icon_url - __v_raw.icon_url = value - _tRS(__v_raw, "icon_url", oldValue, value) - } - override var link_url: String? - get() { - return _tRG(__v_raw, "link_url", __v_raw.link_url, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("link_url")) { - return - } - val oldValue = __v_raw.link_url - __v_raw.link_url = value - _tRS(__v_raw, "link_url", oldValue, value) - } - override var extra_data: Any? - get() { - return _tRG(__v_raw, "extra_data", __v_raw.extra_data, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("extra_data")) { - return - } - val oldValue = __v_raw.extra_data - __v_raw.extra_data = value - _tRS(__v_raw, "extra_data", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -open class ExtraInfoItem ( - @JsonNotNull - open var label: String, - @JsonNotNull - open var value: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("ExtraInfoItem", "pages/mall/consumer/message-detail.uvue", 46, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return ExtraInfoItemReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class ExtraInfoItemReactiveObject : ExtraInfoItem, IUTSReactive { - override var __v_raw: ExtraInfoItem - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: ExtraInfoItem, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(label = __v_raw.label, value = __v_raw.value) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): ExtraInfoItemReactiveObject { - return ExtraInfoItemReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var label: String - get() { - return _tRG(__v_raw, "label", __v_raw.label, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("label")) { - return - } - val oldValue = __v_raw.label - __v_raw.label = value - _tRS(__v_raw, "label", oldValue, value) - } - override var value: String - get() { - return _tRG(__v_raw, "value", __v_raw.value, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("value")) { - return - } - val oldValue = __v_raw.value - __v_raw.value = value - _tRS(__v_raw, "value", oldValue, value) - } -} -val GenPagesMallConsumerMessageDetailClass = CreateVueComponent(GenPagesMallConsumerMessageDetail::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerMessageDetail.inheritAttrs, inject = GenPagesMallConsumerMessageDetail.inject, props = GenPagesMallConsumerMessageDetail.props, propsNeedCastKeys = GenPagesMallConsumerMessageDetail.propsNeedCastKeys, emits = GenPagesMallConsumerMessageDetail.emits, components = GenPagesMallConsumerMessageDetail.components, styles = GenPagesMallConsumerMessageDetail.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerMessageDetail.setup(props as GenPagesMallConsumerMessageDetail) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerMessageDetail { - return GenPagesMallConsumerMessageDetail(instance, renderer) -} -) -open class RedPacket ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var user_id: String, - @JsonNotNull - open var amount: Number, - @JsonNotNull - open var name: String, - @JsonNotNull - open var status: Number, - @JsonNotNull - open var expire_at: String, - @JsonNotNull - open var created_at: String, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("RedPacket", "pages/mall/consumer/red-packets/index.uvue", 46, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return RedPacketReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class RedPacketReactiveObject : RedPacket, IUTSReactive { - override var __v_raw: RedPacket - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: RedPacket, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, user_id = __v_raw.user_id, amount = __v_raw.amount, name = __v_raw.name, status = __v_raw.status, expire_at = __v_raw.expire_at, created_at = __v_raw.created_at) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): RedPacketReactiveObject { - return RedPacketReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var user_id: String - get() { - return _tRG(__v_raw, "user_id", __v_raw.user_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("user_id")) { - return - } - val oldValue = __v_raw.user_id - __v_raw.user_id = value - _tRS(__v_raw, "user_id", oldValue, value) - } - override var amount: Number - get() { - return _tRG(__v_raw, "amount", __v_raw.amount, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("amount")) { - return - } - val oldValue = __v_raw.amount - __v_raw.amount = value - _tRS(__v_raw, "amount", oldValue, value) - } - override var name: String - get() { - return _tRG(__v_raw, "name", __v_raw.name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("name")) { - return - } - val oldValue = __v_raw.name - __v_raw.name = value - _tRS(__v_raw, "name", oldValue, value) - } - override var status: Number - get() { - return _tRG(__v_raw, "status", __v_raw.status, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("status")) { - return - } - val oldValue = __v_raw.status - __v_raw.status = value - _tRS(__v_raw, "status", oldValue, value) - } - override var expire_at: String - get() { - return _tRG(__v_raw, "expire_at", __v_raw.expire_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("expire_at")) { - return - } - val oldValue = __v_raw.expire_at - __v_raw.expire_at = value - _tRS(__v_raw, "expire_at", oldValue, value) - } - override var created_at: String - get() { - return _tRG(__v_raw, "created_at", __v_raw.created_at, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("created_at")) { - return - } - val oldValue = __v_raw.created_at - __v_raw.created_at = value - _tRS(__v_raw, "created_at", oldValue, value) - } -} -val GenPagesMallConsumerRedPacketsIndexClass = CreateVueComponent(GenPagesMallConsumerRedPacketsIndex::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerRedPacketsIndex.inheritAttrs, inject = GenPagesMallConsumerRedPacketsIndex.inject, props = GenPagesMallConsumerRedPacketsIndex.props, propsNeedCastKeys = GenPagesMallConsumerRedPacketsIndex.propsNeedCastKeys, emits = GenPagesMallConsumerRedPacketsIndex.emits, components = GenPagesMallConsumerRedPacketsIndex.components, styles = GenPagesMallConsumerRedPacketsIndex.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerRedPacketsIndex.setup(props as GenPagesMallConsumerRedPacketsIndex) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerRedPacketsIndex { - return GenPagesMallConsumerRedPacketsIndex(instance, renderer) -} -) -open class BankCard__1 ( - @JsonNotNull - open var id: String, - @JsonNotNull - open var user_id: String, - @JsonNotNull - open var bank_name: String, - @JsonNotNull - open var card_no_last4: String, - @JsonNotNull - open var card_type: String, - @JsonNotNull - open var holder_name: String, - @JsonNotNull - open var is_default: Boolean = false, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("BankCard", "pages/mall/consumer/bank-cards/index.uvue", 33, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return BankCard__1ReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class BankCard__1ReactiveObject : BankCard__1, IUTSReactive { - override var __v_raw: BankCard__1 - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: BankCard__1, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(id = __v_raw.id, user_id = __v_raw.user_id, bank_name = __v_raw.bank_name, card_no_last4 = __v_raw.card_no_last4, card_type = __v_raw.card_type, holder_name = __v_raw.holder_name, is_default = __v_raw.is_default) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): BankCard__1ReactiveObject { - return BankCard__1ReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var id: String - get() { - return _tRG(__v_raw, "id", __v_raw.id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("id")) { - return - } - val oldValue = __v_raw.id - __v_raw.id = value - _tRS(__v_raw, "id", oldValue, value) - } - override var user_id: String - get() { - return _tRG(__v_raw, "user_id", __v_raw.user_id, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("user_id")) { - return - } - val oldValue = __v_raw.user_id - __v_raw.user_id = value - _tRS(__v_raw, "user_id", oldValue, value) - } - override var bank_name: String - get() { - return _tRG(__v_raw, "bank_name", __v_raw.bank_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("bank_name")) { - return - } - val oldValue = __v_raw.bank_name - __v_raw.bank_name = value - _tRS(__v_raw, "bank_name", oldValue, value) - } - override var card_no_last4: String - get() { - return _tRG(__v_raw, "card_no_last4", __v_raw.card_no_last4, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("card_no_last4")) { - return - } - val oldValue = __v_raw.card_no_last4 - __v_raw.card_no_last4 = value - _tRS(__v_raw, "card_no_last4", oldValue, value) - } - override var card_type: String - get() { - return _tRG(__v_raw, "card_type", __v_raw.card_type, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("card_type")) { - return - } - val oldValue = __v_raw.card_type - __v_raw.card_type = value - _tRS(__v_raw, "card_type", oldValue, value) - } - override var holder_name: String - get() { - return _tRG(__v_raw, "holder_name", __v_raw.holder_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("holder_name")) { - return - } - val oldValue = __v_raw.holder_name - __v_raw.holder_name = value - _tRS(__v_raw, "holder_name", oldValue, value) - } - override var is_default: Boolean - get() { - return _tRG(__v_raw, "is_default", __v_raw.is_default, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("is_default")) { - return - } - val oldValue = __v_raw.is_default - __v_raw.is_default = value - _tRS(__v_raw, "is_default", oldValue, value) - } -} -val GenPagesMallConsumerBankCardsIndexClass = CreateVueComponent(GenPagesMallConsumerBankCardsIndex::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerBankCardsIndex.inheritAttrs, inject = GenPagesMallConsumerBankCardsIndex.inject, props = GenPagesMallConsumerBankCardsIndex.props, propsNeedCastKeys = GenPagesMallConsumerBankCardsIndex.propsNeedCastKeys, emits = GenPagesMallConsumerBankCardsIndex.emits, components = GenPagesMallConsumerBankCardsIndex.components, styles = GenPagesMallConsumerBankCardsIndex.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerBankCardsIndex.setup(props as GenPagesMallConsumerBankCardsIndex) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerBankCardsIndex { - return GenPagesMallConsumerBankCardsIndex(instance, renderer) -} -) -open class BankCardForm ( - @JsonNotNull - open var holder_name: String, - @JsonNotNull - open var card_no: String, - @JsonNotNull - open var bank_name: String, - @JsonNotNull - open var phone: String, - @JsonNotNull - open var is_default: Boolean = false, -) : UTSReactiveObject(), IUTSSourceMap { - override fun `__$getOriginalPosition`(): UTSSourceMapPosition? { - return UTSSourceMapPosition("BankCardForm", "pages/mall/consumer/bank-cards/add.uvue", 37, 6) - } - override fun __v_create(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): UTSReactiveObject { - return BankCardFormReactiveObject(this, __v_isReadonly, __v_isShallow, __v_skip) - } -} -class BankCardFormReactiveObject : BankCardForm, IUTSReactive { - override var __v_raw: BankCardForm - override var __v_isReadonly: Boolean - override var __v_isShallow: Boolean - override var __v_skip: Boolean - constructor(__v_raw: BankCardForm, __v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean) : super(holder_name = __v_raw.holder_name, card_no = __v_raw.card_no, bank_name = __v_raw.bank_name, phone = __v_raw.phone, is_default = __v_raw.is_default) { - this.__v_raw = __v_raw - this.__v_isReadonly = __v_isReadonly - this.__v_isShallow = __v_isShallow - this.__v_skip = __v_skip - } - override fun __v_clone(__v_isReadonly: Boolean, __v_isShallow: Boolean, __v_skip: Boolean): BankCardFormReactiveObject { - return BankCardFormReactiveObject(this.__v_raw, __v_isReadonly, __v_isShallow, __v_skip) - } - override var holder_name: String - get() { - return _tRG(__v_raw, "holder_name", __v_raw.holder_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("holder_name")) { - return - } - val oldValue = __v_raw.holder_name - __v_raw.holder_name = value - _tRS(__v_raw, "holder_name", oldValue, value) - } - override var card_no: String - get() { - return _tRG(__v_raw, "card_no", __v_raw.card_no, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("card_no")) { - return - } - val oldValue = __v_raw.card_no - __v_raw.card_no = value - _tRS(__v_raw, "card_no", oldValue, value) - } - override var bank_name: String - get() { - return _tRG(__v_raw, "bank_name", __v_raw.bank_name, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("bank_name")) { - return - } - val oldValue = __v_raw.bank_name - __v_raw.bank_name = value - _tRS(__v_raw, "bank_name", oldValue, value) - } - override var phone: String - get() { - return _tRG(__v_raw, "phone", __v_raw.phone, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("phone")) { - return - } - val oldValue = __v_raw.phone - __v_raw.phone = value - _tRS(__v_raw, "phone", oldValue, value) - } - override var is_default: Boolean - get() { - return _tRG(__v_raw, "is_default", __v_raw.is_default, __v_isReadonly, __v_isShallow) - } - set(value) { - if (!__v_canSet("is_default")) { - return - } - val oldValue = __v_raw.is_default - __v_raw.is_default = value - _tRS(__v_raw, "is_default", oldValue, value) - } -} -val GenPagesMallConsumerBankCardsAddClass = CreateVueComponent(GenPagesMallConsumerBankCardsAdd::class.java, fun(): VueComponentOptions { - return VueComponentOptions(type = "page", name = "", inheritAttrs = GenPagesMallConsumerBankCardsAdd.inheritAttrs, inject = GenPagesMallConsumerBankCardsAdd.inject, props = GenPagesMallConsumerBankCardsAdd.props, propsNeedCastKeys = GenPagesMallConsumerBankCardsAdd.propsNeedCastKeys, emits = GenPagesMallConsumerBankCardsAdd.emits, components = GenPagesMallConsumerBankCardsAdd.components, styles = GenPagesMallConsumerBankCardsAdd.styles, setup = fun(props: ComponentPublicInstance): Any? { - return GenPagesMallConsumerBankCardsAdd.setup(props as GenPagesMallConsumerBankCardsAdd) - } - ) -} -, fun(instance, renderer): GenPagesMallConsumerBankCardsAdd { - return GenPagesMallConsumerBankCardsAdd(instance, renderer) -} -) -fun createApp(): UTSJSONObject { - val app = createSSRApp(GenAppClass) - app.config.globalProperties["\$t"] = true - return _uO("app" to app) -} -fun main(app: IApp) { - definePageRoutes() - defineAppConfig() - (createApp()["app"] as VueApp).mount(app, GenUniApp()) -} -open class UniAppConfig : io.dcloud.uniapp.appframe.AppConfig { - override var name: String = "商城消费者端" - override var appid: String = "__UNI__CONSUMER" - override var versionName: String = "1.0.0" - override var versionCode: String = "100" - override var uniCompilerVersion: String = "4.87" - constructor() : super() {} -} -fun definePageRoutes() { - __uniRoutes.push(UniPageRoute(path = "pages/user/login", component = GenPagesUserLoginClass, meta = UniPageMeta(isQuit = true), style = _uM("navigationBarTitleText" to "用户登录", "navigationStyle" to "custom"))) - __uniRoutes.push(UniPageRoute(path = "pages/main/index", component = GenPagesMainIndexClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "首页", "navigationStyle" to "custom", "enablePullDownRefresh" to false))) - __uniRoutes.push(UniPageRoute(path = "pages/main/category", component = GenPagesMainCategoryClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "分类", "navigationStyle" to "custom"))) - __uniRoutes.push(UniPageRoute(path = "pages/main/cart", component = GenPagesMainCartClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "购物车", "navigationStyle" to "custom"))) - __uniRoutes.push(UniPageRoute(path = "pages/main/profile", component = GenPagesMainProfileClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "我的", "navigationStyle" to "custom"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/settings", component = GenPagesMallConsumerSettingsClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "设置"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/wallet", component = GenPagesMallConsumerWalletClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "我的钱包"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/withdraw", component = GenPagesMallConsumerWithdrawClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "余额提现"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/search", component = GenPagesMallConsumerSearchClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "搜索", "navigationStyle" to "custom"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/product-detail", component = GenPagesMallConsumerProductDetailClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "商品详情"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/shop-detail", component = GenPagesMallConsumerShopDetailClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "店铺详情"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/coupons", component = GenPagesMallConsumerCouponsClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "我的优惠券"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/favorites", component = GenPagesMallConsumerFavoritesClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "我的收藏"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/footprint", component = GenPagesMallConsumerFootprintClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "我的足迹"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/address-list", component = GenPagesMallConsumerAddressListClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "收货地址"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/address-edit", component = GenPagesMallConsumerAddressEditClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "编辑地址"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/checkout", component = GenPagesMallConsumerCheckoutClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "确认订单"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/payment", component = GenPagesMallConsumerPaymentClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "收银台"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/payment-success", component = GenPagesMallConsumerPaymentSuccessClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "支付成功", "navigationStyle" to "custom"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/orders", component = GenPagesMallConsumerOrdersClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "我的订单", "enablePullDownRefresh" to true))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/order-detail", component = GenPagesMallConsumerOrderDetailClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "订单详情"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/logistics", component = GenPagesMallConsumerLogisticsClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "物流详情"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/review", component = GenPagesMallConsumerReviewClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "评价晒单"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/refund", component = GenPagesMallConsumerRefundClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "退款/售后"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/apply-refund", component = GenPagesMallConsumerApplyRefundClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "申请售后"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/refund-review", component = GenPagesMallConsumerRefundReviewClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "服务评价"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/chat", component = GenPagesMallConsumerChatClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "客服聊天", "navigationStyle" to "custom"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/subscription/followed-shops", component = GenPagesMallConsumerSubscriptionFollowedShopsClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "关注店铺"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/points/index", component = GenPagesMallConsumerPointsIndexClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "积分管理"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/points/signin", component = GenPagesMallConsumerPointsSigninClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "每日签到"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/points/exchange", component = GenPagesMallConsumerPointsExchangeClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "积分兑换"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/points/exchange-records", component = GenPagesMallConsumerPointsExchangeRecordsClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "兑换记录"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/product-reviews", component = GenPagesMallConsumerProductReviewsClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "商品评价"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/my-reviews", component = GenPagesMallConsumerMyReviewsClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "我的评价"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/balance/index", component = GenPagesMallConsumerBalanceIndexClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "我的余额"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/share/index", component = GenPagesMallConsumerShareIndexClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "我的分享"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/share/detail", component = GenPagesMallConsumerShareDetailClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "分享详情"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/member/index", component = GenPagesMallConsumerMemberIndexClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "会员中心"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/message-detail", component = GenPagesMallConsumerMessageDetailClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "消息详情"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/red-packets/index", component = GenPagesMallConsumerRedPacketsIndexClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "我的红包"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/bank-cards/index", component = GenPagesMallConsumerBankCardsIndexClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "银行卡管理"))) - __uniRoutes.push(UniPageRoute(path = "pages/mall/consumer/bank-cards/add", component = GenPagesMallConsumerBankCardsAddClass, meta = UniPageMeta(isQuit = false), style = _uM("navigationBarTitleText" to "添加银行卡"))) -} -val __uniTabBar: Map? = _uM("color" to "#999999", "selectedColor" to "#ff5000", "borderStyle" to "black", "backgroundColor" to "#ffffff", "list" to _uA( - _uM("pagePath" to "pages/main/index", "text" to "首页", "iconPath" to "static/tabbar/home.png", "selectedIconPath" to "static/tabbar/home-active.png"), - _uM("pagePath" to "pages/main/category", "text" to "分类", "iconPath" to "static/tabbar/category.png", "selectedIconPath" to "static/tabbar/category.png"), - _uM("pagePath" to "pages/main/cart", "text" to "购物车", "iconPath" to "static/tabbar/cart.png", "selectedIconPath" to "static/tabbar/cart.png"), - _uM("pagePath" to "pages/main/profile", "text" to "我的", "iconPath" to "static/tabbar/user.png", "selectedIconPath" to "static/tabbar/user.png") -)) -val __uniLaunchPage: Map = _uM("url" to "pages/user/login", "style" to _uM("navigationBarTitleText" to "用户登录", "navigationStyle" to "custom")) -fun defineAppConfig() { - __uniConfig.entryPagePath = "/pages/user/login" - __uniConfig.globalStyle = _uM("navigationBarTextStyle" to "black", "navigationBarTitleText" to "商城", "navigationBarBackgroundColor" to "#ffffff", "backgroundColor" to "#f5f5f5") - __uniConfig.getTabBarConfig = fun(): Map? { - return _uM("color" to "#999999", "selectedColor" to "#ff5000", "borderStyle" to "black", "backgroundColor" to "#ffffff", "list" to _uA( - _uM("pagePath" to "pages/main/index", "text" to "首页", "iconPath" to "static/tabbar/home.png", "selectedIconPath" to "static/tabbar/home-active.png"), - _uM("pagePath" to "pages/main/category", "text" to "分类", "iconPath" to "static/tabbar/category.png", "selectedIconPath" to "static/tabbar/category.png"), - _uM("pagePath" to "pages/main/cart", "text" to "购物车", "iconPath" to "static/tabbar/cart.png", "selectedIconPath" to "static/tabbar/cart.png"), - _uM("pagePath" to "pages/main/profile", "text" to "我的", "iconPath" to "static/tabbar/user.png", "selectedIconPath" to "static/tabbar/user.png") - )) - } - __uniConfig.tabBar = __uniConfig.getTabBarConfig() - __uniConfig.conditionUrl = "" - __uniConfig.uniIdRouter = Map() - __uniConfig.ready = true -} -fun VueComponent.`$t`(key: String, values: Any?, locale: String?): String { - if (i18n.global == null) { - console.error("i18n is not initialized", " at main.uts:12") - return key - } - val params = values as UTSJSONObject? - val res = i18n.global.t(key, params, locale) - if (res.length > 0) { - return res - } - return key -} -open class GenUniApp : UniAppImpl() { - open val vm: GenApp? - get() { - return getAppVm() as GenApp? - } - open val `$vm`: GenApp? - get() { - return getAppVm() as GenApp? - } -} -fun getApp(): GenUniApp { - return getUniApp() as GenUniApp -} diff --git a/unpackage/cache/.app-android/src/pages/main/cart.kt b/unpackage/cache/.app-android/src/pages/main/cart.kt deleted file mode 100644 index 1efe8f65..00000000 --- a/unpackage/cache/.app-android/src/pages/main/cart.kt +++ /dev/null @@ -1,844 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.getSystemInfoSync as uni_getSystemInfoSync -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.setStorageSync as uni_setStorageSync -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMainCart : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMainCart) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMainCart - val _cache = __ins.renderCache - val compareStrings = fun(a: String, b: String): Boolean { - console.log("[compareStrings] a length:", a.length, "b length:", b.length, " at pages/main/cart.uvue:211") - console.log("[compareStrings] a type:", UTSAndroid.`typeof`(a), "b type:", UTSAndroid.`typeof`(b), " at pages/main/cart.uvue:212") - console.log("[compareStrings] a value:", JSON.stringify(a), " at pages/main/cart.uvue:213") - console.log("[compareStrings] b value:", JSON.stringify(b), " at pages/main/cart.uvue:214") - if (a.length !== b.length) { - return false - } - run { - var i: Number = 0 - while(i < a.length){ - val aCode = a.charCodeAt(i) - val bCode = b.charCodeAt(i) - if (aCode != null && bCode != null && aCode !== bCode) { - console.log("[compareStrings] mismatch at index:", i, "a:", aCode, "b:", bCode, " at pages/main/cart.uvue:221") - return false - } - i++ - } - } - return true - } - val cartItems = ref(_uA()) - val recommendProducts = ref(_uA()) - val recommendPage = ref(1) - val loading = ref(false) - val statusBarHeight = ref(0) - val isManageMode = ref(false) - val updatingItems = ref>(Set()) - val capsuleButtonInfo = ref(null) - val navBarRight = ref(0) - val cartGroups = computed>(fun(): UTSArray { - console.log("[cartGroups] 计算购物车分组, cartItems count:", cartItems.value.length, " at pages/main/cart.uvue:264") - val groups = Map() - cartItems.value.forEach(fun(item: LocalCartItem){ - console.log("[cartGroups] item:", item.id, "shopId:", item.shopId, "shopName:", item.shopName, " at pages/main/cart.uvue:268") - val shopKey = item.shopId - if (!groups.has(shopKey)) { - groups.set(shopKey, CartGroup(shopId = item.shopId, shopName = item.shopName, merchantId = item.merchantId, items = _uA())) - } - val group = groups.get(shopKey) - if (group != null) { - group.items.push(item) - } - } - ) - val groupArray: UTSArray = _uA() - groups.forEach(fun(value: CartGroup){ - console.log("[cartGroups] group:", value.shopId, "items count:", value.items.length, " at pages/main/cart.uvue:287") - groupArray.push(value) - } - ) - return groupArray - } - ) - val allSelected = computed(fun(): Boolean { - return cartItems.value.length > 0 && cartItems.value.every(fun(item: LocalCartItem): Boolean { - return item.selected - } - ) - } - ) - val selectedCount = computed(fun(): Number { - return cartItems.value.filter(fun(item: LocalCartItem): Boolean { - return item.selected - } - ).reduce(fun(sum: Number, item: LocalCartItem): Number { - return sum + item.quantity - } - , 0) - } - ) - val totalPrice = computed(fun(): String { - return cartItems.value.filter(fun(item: LocalCartItem): Boolean { - return item.selected - } - ).reduce(fun(sum: Number, item: LocalCartItem): Number { - val finalPrice = if (item.memberPrice > 0 && item.memberPrice < item.price) { - item.memberPrice - } else { - item.price - } - return sum + finalPrice * item.quantity - } - , 0).toFixed(2) - } - ) - val memberSavedAmount = computed(fun(): String { - return cartItems.value.filter(fun(item: LocalCartItem): Boolean { - return item.selected && item.memberPrice > 0 && item.memberPrice < item.price - } - ).reduce(fun(sum: Number, item: LocalCartItem): Number { - return sum + (item.price - item.memberPrice) * item.quantity - } - , 0).toFixed(2) - } - ) - val isShopSelected = fun(shopId: String): Boolean { - val shopItems: UTSArray = _uA() - run { - var i: Number = 0 - while(i < cartItems.value.length){ - if (compareStrings(cartItems.value[i].shopId, shopId)) { - shopItems.push(cartItems.value[i]) - } - i++ - } - } - if (shopItems.length === 0) { - return false - } - run { - var i: Number = 0 - while(i < shopItems.length){ - if (!shopItems[i].selected) { - return false - } - i++ - } - } - return true - } - val toggleManageMode = fun(){ - isManageMode.value = !isManageMode.value - } - val initPage = fun(){ - val systemInfo = uni_getSystemInfoSync() - statusBarHeight.value = systemInfo.statusBarHeight ?: 0 - } - onMounted(fun(){ - initPage() - } - ) - val updateRecommendList = fun(recommends: UTSArray){ - recommendProducts.value = recommends.map(fun(p: Product): RecommendProduct { - return RecommendProduct(id = p.id, shopId = p.merchant_id ?: "unknown", shopName = p.shop_name ?: "商城推荐", name = p.name, price = p.base_price ?: p.market_price ?: 0, image = p.main_image_url ?: p.image_url ?: "/static/images/default-product.png", skuId = "", merchant_id = p.merchant_id ?: "") - } - ) - } - val refreshRecommend = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - try { - if (loading.value) { - return@w1 - } - loading.value = true - uni_showLoading(ShowLoadingOptions(title = "正在挑选...", mask = true)) - val maxOffsetPages: Number = 20 - val sorts = _uA( - "sales", - "price_asc", - "rating" - ) - val nextRandomPage = Math.floor(Math.random() * maxOffsetPages) + 1 - val randomSort = sorts[Math.floor(Math.random() * sorts.length)] - console.log("[refreshRecommend] 换一批: 随机页=" + nextRandomPage + ", 随机排=" + randomSort, " at pages/main/cart.uvue:407") - val hotResp = await(supabaseService.searchProducts("", nextRandomPage, 6, randomSort)) - var recommends = hotResp.data - if (recommends.length === 0) { - val fallbackResp = await(supabaseService.searchProducts("", 1, 6, "sales")) - recommends = fallbackResp.data - } - if (recommends.length > 0) { - recommends.sort(fun(_a, _b): Number { - return Math.random() - 0.5 - }) - updateRecommendList(recommends) - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "已为你换一批好物", icon = "none", duration = 1000)) - } else { - uni_hideLoading() - } - } - catch (error: Throwable) { - uni_hideLoading() - console.error("刷新推荐失败:", error, " at pages/main/cart.uvue:434") - uni_showToast(ShowToastOptions(title = "加载失败,请重试", icon = "none")) - } - finally { - loading.value = false - } - }) - } - val loadCartData = fun(): UTSPromise { - return wrapUTSPromise(suspend { - loading.value = true - try { - var memberDiscount: Number = 1.0 - try { - val memberInfo = await(supabaseService.getUserMemberInfo()) - val discountRaw = memberInfo.get("discount") - if (discountRaw != null) { - memberDiscount = discountRaw as Number - } - } - catch (e: Throwable) { - console.log("获取会员信息失败,使用默认折扣:", e, " at pages/main/cart.uvue:455") - } - val supabaseCartItems = await(supabaseService.getCartItems()) - val transformedItems = supabaseCartItems.map(fun(item: CartItem): LocalCartItem { - console.log("CartItem raw: id=" + item.id + ", shop_id=" + item.shop_id + ", shop_name=" + item.shop_name + ", name=" + item.product_name + ", price=" + item.product_price, " at pages/main/cart.uvue:464") - val shopId = if ((item.shop_id != null && item.shop_id !== "")) { - item.shop_id!! - } else { - "default_shop" - } - val shopName = if ((item.shop_name != null && item.shop_name !== "")) { - item.shop_name!! - } else { - "商城优选" - } - val originalPrice = if (item.product_price != null) { - item.product_price!! - } else { - 0 - } - var memberPrice: Number = 0 - if (memberDiscount > 0 && memberDiscount < 1 && originalPrice > 0) { - memberPrice = Math.round(originalPrice * memberDiscount * 100) / 100 - } - return LocalCartItem(id = item.id, shopId = shopId, shopName = shopName, name = item.product_name ?: "未知商品", price = originalPrice, originalPrice = originalPrice, memberPrice = memberPrice, image = item.product_image ?: "/static/images/default-product.png", spec = item.product_specification ?: "标准规格", quantity = item.quantity ?: 1, selected = item.selected ?: false, productId = item.product_id ?: "", skuId = item.sku_id ?: "", merchantId = item.merchant_id ?: "") - } - ) - console.log("Transformed items count:", transformedItems.length, " at pages/main/cart.uvue:495") - cartItems.value = transformedItems - var recommends = await(supabaseService.getRecommendedProducts(6)) - if (recommends.length === 0) { - val hotResp = await(supabaseService.searchProducts("", 1, 6, "sales")) - recommends = hotResp.data - } - if (recommends.length > 0) { - recommendProducts.value = recommends.map(fun(p: Product): RecommendProduct { - return RecommendProduct(id = p.id, shopId = p.merchant_id ?: "unknown", shopName = p.shop_name ?: "商城推荐", name = p.name, price = p.base_price ?: p.market_price ?: 0, image = p.main_image_url ?: p.image_url ?: "/static/images/default-product.png", skuId = "", merchant_id = p.merchant_id ?: "") - }) - } else { - recommendProducts.value = _uA() - } - } - catch (error: Throwable) { - console.error("加载购物车数据失败:", error, " at pages/main/cart.uvue:524") - cartItems.value = _uA() - } - finally { - loading.value = false - } - }) - } - onShow__1(fun(){ - loadCartData() - } - ) - val toggleSelect = fun(itemId: String): UTSPromise { - return wrapUTSPromise(suspend { - val index = cartItems.value.findIndex(fun(item): Boolean { - return item.id === itemId - } - ) - if (index !== -1) { - val newSelected = !cartItems.value[index].selected - cartItems.value[index].selected = newSelected - cartItems.value = cartItems.value.slice() - val success = await(supabaseService.updateCartItemSelection(itemId, newSelected)) - if (!success) { - console.error("更新选中状态失败", " at pages/main/cart.uvue:547") - cartItems.value[index].selected = !newSelected - cartItems.value = cartItems.value.slice() - uni_showToast(ShowToastOptions(title = "网络异常,请重试", icon = "none")) - } - } - }) - } - val toggleShopSelect = fun(shopId: String): UTSPromise { - return wrapUTSPromise(suspend w1@{ - console.log("[toggleShopSelect] shopId:", shopId, " at pages/main/cart.uvue:557") - console.log("[toggleShopSelect] shopId length:", shopId.length, " at pages/main/cart.uvue:558") - console.log("[toggleShopSelect] cartItems.value.length:", cartItems.value.length, " at pages/main/cart.uvue:559") - val shopItems: UTSArray = _uA() - run { - var i: Number = 0 - while(i < cartItems.value.length){ - val item = cartItems.value[i] - val itemShopId = item.shopId - val isMatch = compareStrings(itemShopId, shopId) - console.log("[toggleShopSelect] checking item:", item.id, "item.shopId:", itemShopId, "match:", isMatch, " at pages/main/cart.uvue:568") - if (isMatch) { - shopItems.push(item) - } - i++ - } - } - console.log("[toggleShopSelect] shopItems count:", shopItems.length, " at pages/main/cart.uvue:573") - if (shopItems.length === 0) { - return@w1 - } - var allSelected = true - run { - var i: Number = 0 - while(i < shopItems.length){ - if (!shopItems[i].selected) { - allSelected = false - break - } - i++ - } - } - val newState = !allSelected - console.log("[toggleShopSelect] allSelected:", allSelected, "newState:", newState, " at pages/main/cart.uvue:586") - val shopItemIds: UTSArray = _uA() - run { - var i: Number = 0 - while(i < shopItems.length){ - shopItemIds.push(shopItems[i].id) - i++ - } - } - console.log("[toggleShopSelect] shopItemIds:", shopItemIds, " at pages/main/cart.uvue:592") - val newCartItems: UTSArray = _uA() - run { - var i: Number = 0 - while(i < cartItems.value.length){ - val item = cartItems.value[i] - val isMatch = compareStrings(item.shopId, shopId) - if (isMatch) { - console.log("[toggleShopSelect] updating item:", item.id, "to selected:", newState, " at pages/main/cart.uvue:600") - val newItem = LocalCartItem(id = item.id, shopId = item.shopId, shopName = item.shopName, name = item.name, price = item.price, originalPrice = item.originalPrice, memberPrice = item.memberPrice, image = item.image, spec = item.spec, quantity = item.quantity, selected = newState, productId = item.productId, skuId = item.skuId, merchantId = item.merchantId) - newCartItems.push(newItem) - } else { - newCartItems.push(item) - } - i++ - } - } - cartItems.value = newCartItems - val success = await(supabaseService.batchUpdateCartItemSelection(shopItemIds, newState)) - if (!success) { - console.error("批量更新店铺商品选中状态失败", " at pages/main/cart.uvue:630") - uni_showToast(ShowToastOptions(title = "操作失败", icon = "none")) - loadCartData() - } - }) - } - val toggleSelectAll = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - val newSelectedState = !allSelected.value - val oldItems = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(cartItems.value)), " at pages/main/cart.uvue:645") as UTSArray - val selectedItems = cartItems.value.map(fun(item): LocalCartItem { - item.selected = newSelectedState - return item - } - ) - cartItems.value = selectedItems - val itemIds = cartItems.value.map(fun(item): String { - return item.id - } - ) - if (itemIds.length === 0) { - return@w1 - } - val success = await(supabaseService.batchUpdateCartItemSelection(itemIds, newSelectedState)) - if (!success) { - console.error("批量更新选中状态失败", " at pages/main/cart.uvue:659") - cartItems.value = oldItems - uni_showToast(ShowToastOptions(title = "操作失败", icon = "none")) - } - }) - } - val increaseQuantity = fun(itemId: String): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (updatingItems.value.has(itemId)) { - return@w1 - } - val index = cartItems.value.findIndex(fun(item): Boolean { - return item.id === itemId - } - ) - if (index !== -1) { - updatingItems.value.add(itemId) - val newQuantity = cartItems.value[index].quantity + 1 - cartItems.value[index].quantity = newQuantity - cartItems.value = cartItems.value.slice() - val success = await(supabaseService.updateCartItemQuantity(itemId, newQuantity)) - updatingItems.value.`delete`(itemId) - if (!success) { - console.error("更新商品数量失败", " at pages/main/cart.uvue:683") - cartItems.value[index].quantity = newQuantity - 1 - cartItems.value = cartItems.value.slice() - uni_showToast(ShowToastOptions(title = "更新失败", icon = "none")) - } - } - }) - } - val decreaseQuantity = fun(itemId: String): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (updatingItems.value.has(itemId)) { - return@w1 - } - val index = cartItems.value.findIndex(fun(item): Boolean { - return item.id === itemId - } - ) - if (index !== -1) { - if (cartItems.value[index].quantity > 1) { - updatingItems.value.add(itemId) - val newQuantity = cartItems.value[index].quantity - 1 - cartItems.value[index].quantity = newQuantity - cartItems.value = cartItems.value.slice() - val success = await(supabaseService.updateCartItemQuantity(itemId, newQuantity)) - updatingItems.value.`delete`(itemId) - if (!success) { - console.error("更新商品数量失败", " at pages/main/cart.uvue:708") - cartItems.value[index].quantity = newQuantity + 1 - cartItems.value = cartItems.value.slice() - uni_showToast(ShowToastOptions(title = "更新失败", icon = "none")) - } - } else { - uni_showModal(ShowModalOptions(title = "提示", content = "确定要从购物车移除该商品吗?", success = fun(res){ - if (res.confirm) { - supabaseService.deleteCartItem(itemId).then(fun(success){ - if (success) { - cartItems.value.splice(index, 1) - cartItems.value = cartItems.value.slice() - uni_showToast(ShowToastOptions(title = "已移除", icon = "none")) - } else { - console.error("删除商品失败", " at pages/main/cart.uvue:731") - uni_showToast(ShowToastOptions(title = "删除失败", icon = "none")) - } - } - ) - } - } - )) - } - } - }) - } - val deleteSelectedItems = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (selectedCount.value === 0) { - uni_showToast(ShowToastOptions(title = "请选择要删除的商品", icon = "none")) - return@w1 - } - uni_showModal(ShowModalOptions(title = "提示", content = "确定要删除选中的 " + selectedCount.value + " 件商品吗?", success = fun(res){ - if (res.confirm) { - val selectedItemIds = cartItems.value.filter(fun(item): Boolean { - return item.selected - } - ).map(fun(item): String { - return item.id - } - ) - supabaseService.batchDeleteCartItems(selectedItemIds).then(fun(success){ - if (success) { - cartItems.value = cartItems.value.filter(fun(item): Boolean { - return !item.selected - }) - if (cartItems.value.length === 0) { - isManageMode.value = false - } - uni_showToast(ShowToastOptions(title = "删除成功", icon = "success")) - } else { - console.error("批量删除商品失败", " at pages/main/cart.uvue:780") - uni_showToast(ShowToastOptions(title = "删除失败", icon = "none")) - } - } - ) - } - } - )) - }) - } - val addToCart = fun(product: RecommendProduct): UTSPromise { - return wrapUTSPromise(suspend { - uni_showLoading(ShowLoadingOptions(title = "检查商品...")) - try { - val productId = product.id - val skuId = product.skuId - val merchantId = product.merchant_id - val skus = await(supabaseService.getProductSkus(productId)) - uni_hideLoading() - if (skus.length > 0) { - uni_showToast(ShowToastOptions(title = "请选择规格", icon = "none")) - setTimeout(fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?id=" + productId)) - }, 500) - } else { - uni_showLoading(ShowLoadingOptions(title = "添加中...")) - val success = await(supabaseService.addToCart(productId, 1, skuId, merchantId)) - uni_hideLoading() - if (success) { - uni_showToast(ShowToastOptions(title = "已添加到购物车", icon = "success")) - loadCartData() - } else { - console.error("添加商品到购物车失败", " at pages/main/cart.uvue:828") - uni_showToast(ShowToastOptions(title = "添加失败", icon = "none")) - } - } - } - catch (error: Throwable) { - console.error("添加商品到购物车异常:", error, " at pages/main/cart.uvue:836") - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "添加失败", icon = "none")) - } - }) - } - val navigateToShop = fun(shopId: String, merchantId: Any){ - if (shopId == "" || shopId === "default_shop" || shopId === "unknown") { - return - } - var url = "/pages/mall/consumer/shop-detail?id=" + shopId - if (merchantId != null) { - val mId = "" + merchantId - if (mId !== "" && mId !== "null" && mId !== "undefined" && mId !== "false") { - url += "&merchantId=" + mId - } - } - uni_navigateTo(NavigateToOptions(url = url)) - } - val goShopping = fun(){ - uni_switchTab(SwitchTabOptions(url = "/pages/main/index")) - } - val navigateToProduct = fun(product: Any){ - console.log("navigateToProduct", product, " at pages/main/cart.uvue:865") - val productJson = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(product)), " at pages/main/cart.uvue:868") as UTSJSONObject - var productId = productJson.getString("productId") - if (productId == null || productId == "") { - productId = productJson.getString("id") - } - if (productId == null || productId == "") { - console.error("无法获取商品ID", product, " at pages/main/cart.uvue:877") - return - } - var paramsArr: UTSArray = _uA() - paramsArr.push("id=" + UTSAndroid.consoleDebugError(encodeURIComponent(productId), " at pages/main/cart.uvue:883")) - paramsArr.push("productId=" + UTSAndroid.consoleDebugError(encodeURIComponent(productId), " at pages/main/cart.uvue:884")) - val price = productJson.getNumber("price") ?: 0 - paramsArr.push("price=" + price) - var originalPrice = productJson.getNumber("original_price") - if (originalPrice == null) { - originalPrice = productJson.getNumber("originalPrice") - } - if (originalPrice == null) { - originalPrice = parseFloat((price * 1.2).toFixed(2)) - } - paramsArr.push("originalPrice=" + originalPrice) - val name = productJson.getString("name") ?: "" - paramsArr.push("name=" + UTSAndroid.consoleDebugError(encodeURIComponent(name), " at pages/main/cart.uvue:899")) - val image = productJson.getString("image") ?: "/static/images/default-product.png" - paramsArr.push("image=" + UTSAndroid.consoleDebugError(encodeURIComponent(image), " at pages/main/cart.uvue:902")) - val url = "/pages/mall/consumer/product-detail?" + paramsArr.join("&") - console.log("Navigate to:", url, " at pages/main/cart.uvue:905") - uni_navigateTo(NavigateToOptions(url = url)) - } - val goToCheckout = fun(){ - if (selectedCount.value === 0) { - uni_showToast(ShowToastOptions(title = "请选择商品", icon = "none")) - return - } - val selectedItems = cartItems.value.filter(fun(item): Boolean { - return item.selected - } - ).map(fun(item): UTSJSONObject { - return (object : UTSJSONObject() { - var id = item.id - var product_id = item.productId ?: item.id - var sku_id = item.skuId ?: item.id - var product_name = item.name - var shop_id = item.shopId - var shop_name = item.shopName - var merchant_id = item.merchantId - var product_image = item.image - var sku_specifications = item.spec - var price = item.price - var quantity = item.quantity - }) - } - ) - uni_setStorageSync("checkout_type", "cart") - try { - uni_setStorageSync("checkout_items", JSON.stringify(selectedItems)) - } - catch (e: Throwable) { - console.error("存储结算数据失败", e, " at pages/main/cart.uvue:944") - uni_showToast(ShowToastOptions(title = "系统异常,请重试", icon = "none")) - return - } - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/checkout")) - } - return fun(): Any? { - return _cE("view", _uM("class" to "cart-page"), _uA( - _cE("view", _uM("class" to "smart-navbar", "style" to _nS(_uM("paddingTop" to (statusBarHeight.value + "px")))), _uA( - _cE("view", _uM("class" to "nav-container", "style" to _nS(_uM("paddingRight" to (navBarRight.value + "px")))), _uA( - _cE("text", _uM("class" to "nav-title"), "购物车"), - _cE("view", _uM("class" to "nav-actions"), _uA( - _cE("view", _uM("class" to "action-btn", "onClick" to toggleManageMode), _uA( - _cE("text", _uM("class" to "action-icon"), _tD(if (isManageMode.value) { - "✓" - } else { - "⚙️" - } - ), 1), - _cE("text", _uM("class" to "action-text"), _tD(if (isManageMode.value) { - "完成" - } else { - "管理" - } - ), 1) - )) - )) - ), 4) - ), 4), - _cE("view", _uM("class" to "navbar-placeholder", "style" to _nS(_uM("height" to ((statusBarHeight.value + 44) + "px")))), null, 4), - _cE("scroll-view", _uM("scroll-y" to true, "class" to "cart-content", "show-scrollbar" to false, "enhanced" to true, "bounces" to true), _uA( - if (isTrue(!loading.value && cartItems.value.length === 0)) { - _cE("view", _uM("key" to 0, "class" to "empty-cart"), _uA( - _cE("text", _uM("class" to "empty-icon"), "🛒"), - _cE("text", _uM("class" to "empty-title"), "购物车是空的"), - _cE("text", _uM("class" to "empty-desc"), "快去挑选喜欢的商品吧"), - _cE("button", _uM("class" to "go-shopping-btn", "onClick" to goShopping), "去逛逛") - )) - } else { - _cE("view", _uM("key" to 1, "class" to "cart-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(cartGroups.value, fun(group, __key, __index, _cached): Any { - return _cE("view", _uM("key" to group.shopId, "class" to "shop-group"), _uA( - _cE("view", _uM("class" to "shop-header"), _uA( - _cE("view", _uM("class" to "shop-select", "onClick" to fun(){ - toggleShopSelect(group.shopId) - } - ), _uA( - if (isTrue(isShopSelected(group.shopId))) { - _cE("text", _uM("key" to 0, "class" to "selected-icon"), "✓") - } else { - _cE("text", _uM("key" to 1, "class" to "unselected-icon")) - } - ), 8, _uA( - "onClick" - )), - _cE("text", _uM("class" to "shop-icon", "onClick" to fun(){ - navigateToShop(group.shopId, group.merchantId) - } - ), "🏪", 8, _uA( - "onClick" - )), - _cE("text", _uM("class" to "shop-name", "lines" to 1, "onClick" to fun(){ - navigateToShop(group.shopId, group.merchantId) - } - ), _tD(group.shopName), 9, _uA( - "onClick" - )), - _cE("text", _uM("class" to "shop-arrow", "onClick" to fun(){ - navigateToShop(group.shopId, group.merchantId) - } - ), ">", 8, _uA( - "onClick" - )) - )), - _cE(Fragment, null, RenderHelpers.renderList(group.items, fun(item, __key, __index, _cached): Any { - return _cE("view", _uM("key" to item.id, "class" to "cart-item"), _uA( - _cE("view", _uM("class" to "item-select", "onClick" to fun(){ - toggleSelect(item.id) - } - ), _uA( - if (isTrue(item.selected)) { - _cE("text", _uM("key" to 0, "class" to "selected-icon"), "✓") - } else { - _cE("text", _uM("key" to 1, "class" to "unselected-icon")) - } - ), 8, _uA( - "onClick" - )), - _cE("image", _uM("class" to "item-image", "src" to item.image, "mode" to "aspectFill", "onClick" to fun(){ - navigateToProduct(item) - } - ), null, 8, _uA( - "src", - "onClick" - )), - _cE("view", _uM("class" to "item-info"), _uA( - _cE("view", _uM("class" to "info-top"), _uA( - _cE("text", _uM("class" to "item-name", "lines" to 1), _tD(item.name), 1), - _cE("text", _uM("class" to "item-spec"), _tD(item.spec), 1) - )), - _cE("view", _uM("class" to "item-footer"), _uA( - _cE("text", _uM("class" to "item-price"), "¥" + _tD(item.price), 1), - _cE("view", _uM("class" to "quantity-control"), _uA( - _cE("text", _uM("class" to "quantity-btn", "onClick" to fun(){ - decreaseQuantity(item.id) - } - ), "-", 8, _uA( - "onClick" - )), - _cE("text", _uM("class" to "quantity-value"), _tD(item.quantity), 1), - _cE("text", _uM("class" to "quantity-btn", "onClick" to fun(){ - increaseQuantity(item.id) - } - ), "+", 8, _uA( - "onClick" - )) - )) - )) - )) - )) - } - ), 128) - )) - } - ), 128) - )) - } - , - if (cartItems.value.length > 0) { - _cE("view", _uM("key" to 2, "class" to "cart-action-bar"), _uA( - _cE("view", _uM("class" to "action-bar-content"), _uA( - _cE("view", _uM("class" to "action-left"), _uA( - _cE("view", _uM("class" to "select-all", "onClick" to toggleSelectAll), _uA( - if (isTrue(allSelected.value)) { - _cE("text", _uM("key" to 0, "class" to "selected-icon"), "✓") - } else { - _cE("text", _uM("key" to 1, "class" to "unselected-icon")) - }, - _cE("text", _uM("class" to "select-all-text"), "全选") - )) - )), - _cE("view", _uM("class" to "action-right"), _uA( - if (isTrue(!isManageMode.value)) { - _cE("view", _uM("key" to 0, "class" to "total-info"), _uA( - _cE("text", _uM("class" to "total-text"), "合计:"), - _cE("text", _uM("class" to "total-price"), "¥" + _tD(totalPrice.value), 1), - if (parseFloat(memberSavedAmount.value) > 0) { - _cE("text", _uM("key" to 0, "class" to "member-saved"), "会员已省¥" + _tD(memberSavedAmount.value), 1) - } else { - _cC("v-if", true) - } - )) - } else { - _cC("v-if", true) - }, - if (isTrue(!isManageMode.value)) { - _cE("button", _uM("key" to 1, "class" to "checkout-btn", "onClick" to goToCheckout), " 去结算(" + _tD(selectedCount.value) + ") ", 1) - } else { - _cE("button", _uM("key" to 2, "class" to "delete-btn", "onClick" to deleteSelectedItems), " 删除(" + _tD(selectedCount.value) + ") ", 1) - } - )) - )) - )) - } else { - _cC("v-if", true) - } - , - if (recommendProducts.value.length > 0) { - _cE("view", _uM("key" to 3, "class" to "recommend-section"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("text", _uM("class" to "section-title"), "猜你喜欢"), - _cE("view", _uM("class" to "refresh-btn", "onClick" to refreshRecommend), _uA( - _cE("text", _uM("class" to "refresh-icon"), "🔄"), - _cE("text", _uM("class" to "refresh-text"), "换一批") - )) - )), - _cE("view", _uM("class" to "recommend-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(recommendProducts.value, fun(product, __key, __index, _cached): Any { - return _cE("view", _uM("key" to product.id, "class" to "recommend-item", "onClick" to fun(){ - navigateToProduct(product) - }), _uA( - _cE("image", _uM("class" to "recommend-image", "src" to product.image, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("text", _uM("class" to "recommend-name", "lines" to 2), _tD(product.name), 1), - _cE("view", _uM("class" to "recommend-bottom"), _uA( - _cE("text", _uM("class" to "recommend-price"), "¥" + _tD(product.price), 1), - _cE("view", _uM("class" to "recommend-add-btn", "onClick" to withModifiers(fun(){ - addToCart(product) - }, _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "recommend-add-icon"), "+") - ), 8, _uA( - "onClick" - )) - )) - ), 8, _uA( - "onClick" - )) - }), 128) - )) - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "tabbar-safe-area")) - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("cart-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to "100%", "backgroundColor" to "#f5f5f5", "display" to "flex", "flexDirection" to "column", "overflow" to "hidden")), "smart-navbar" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "backgroundColor" to "#ff5000", "zIndex" to 1000, "boxShadow" to "0 2px 12px rgba(255, 80, 0, 0.15)", "display" to "flex", "flexDirection" to "column", "justifyContent" to "flex-start", "flexShrink" to 0)), "nav-container" to _pS(_uM("paddingTop" to 0, "paddingRight" to 16, "paddingBottom" to 0, "paddingLeft" to 16, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "space-between", "width" to "100%", "maxWidth" to 1400, "marginTop" to 0, "marginRight" to "auto", "marginBottom" to 0, "marginLeft" to "auto", "height" to 44)), "nav-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#FFFFFF")), "nav-actions" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "action-btn" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "backgroundImage" to "none", "backgroundColor" to "rgba(255,255,255,0.2)", "paddingTop" to 4, "paddingRight" to 12, "paddingBottom" to 4, "paddingLeft" to 12, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "transitionProperty" to "all", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "backgroundImage:hover" to "none", "backgroundColor:hover" to "rgba(255,255,255,0.3)")), "action-icon" to _pS(_uM("fontSize" to 14, "marginRight" to 4, "color" to "#FFFFFF")), "action-text" to _pS(_uM("fontSize" to 12, "color" to "#FFFFFF", "fontWeight" to "bold")), "navbar-placeholder" to _pS(_uM("width" to "100%", "flexShrink" to 0)), "cart-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 0, "width" to "100%", "paddingBottom" to 20)), "cart-action-bar" to _pS(_uM("backgroundColor" to "#FFFFFF", "marginTop" to 10, "marginRight" to 10, "marginBottom" to 10, "marginLeft" to 10, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "boxShadow" to "0 2px 8px rgba(0,0,0,0.05)", "zIndex" to 10, "paddingTop" to 10, "paddingRight" to 15, "paddingBottom" to 10, "paddingLeft" to 15)), "action-bar-content" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 12, "paddingRight" to 15, "paddingBottom" to 12, "paddingLeft" to 15, "width" to "100%")), "action-left" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "flexShrink" to 0)), "action-right" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "flex-end", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "minWidth" to 0)), "select-all" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "select-all-text" to _pS(_uM("fontSize" to 14, "color" to "#333333", "marginLeft" to 8, "whiteSpace" to "nowrap")), "total-info" to _pS(_uM("display" to "flex", "flexDirection" to "row", "marginRight" to 10, "alignItems" to "center", "flexShrink" to 1, "overflow" to "hidden")), "total-text" to _pS(_uM("fontSize" to 14, "color" to "#333333", "marginRight" to 2, "whiteSpace" to "nowrap", "flexShrink" to 0)), "total-price" to _pS(_uM("fontSize" to 16, "color" to "#ff5000", "fontWeight" to "bold", "marginLeft" to 4, "whiteSpace" to "nowrap", "overflow" to "hidden", "textOverflow" to "ellipsis")), "checkout-btn" to _pS(_uM("backgroundColor" to "#ff5000", "color" to "#FFFFFF", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "paddingTop" to 6, "paddingRight" to 16, "paddingBottom" to 6, "paddingLeft" to 16, "fontSize" to 14, "fontWeight" to "bold", "minWidth" to 100, "whiteSpace" to "nowrap", "flexShrink" to 0, "marginTop" to 0, "marginRight" to 0, "marginBottom" to 0, "marginLeft" to 0)), "delete-btn" to _pS(_uM("backgroundColor" to "#ff3b30", "color" to "#FFFFFF", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "paddingTop" to 6, "paddingRight" to 20, "paddingBottom" to 6, "paddingLeft" to 20, "fontSize" to 14, "fontWeight" to "bold", "minWidth" to 100, "whiteSpace" to "nowrap", "flexShrink" to 0, "marginTop" to 0, "marginRight" to 0, "marginBottom" to 0, "marginLeft" to 0)), "empty-cart" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 60, "paddingRight" to 20, "paddingBottom" to 60, "paddingLeft" to 20, "textAlign" to "center")), "empty-icon" to _pS(_uM("fontSize" to 80, "color" to "#dddddd", "marginBottom" to 20)), "empty-title" to _pS(_uM("fontSize" to 18, "color" to "#666666", "marginBottom" to 10)), "empty-desc" to _pS(_uM("fontSize" to 14, "color" to "#999999", "marginBottom" to 30)), "go-shopping-btn" to _pS(_uM("backgroundColor" to "#ff5000", "color" to "#FFFFFF", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "paddingTop" to 10, "paddingRight" to 40, "paddingBottom" to 10, "paddingLeft" to 40, "fontSize" to 16)), "cart-list" to _pS(_uM("backgroundColor" to "rgba(0,0,0,0)", "marginTop" to 10, "marginRight" to 10, "marginBottom" to 10, "marginLeft" to 10, "borderTopLeftRadius" to 0, "borderTopRightRadius" to 0, "borderBottomRightRadius" to 0, "borderBottomLeftRadius" to 0, "overflow" to "visible")), "shop-group" to _pS(_uM("backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "marginBottom" to 12, "overflow" to "hidden")), "shop-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "flex-start", "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5")), "shop-select" to _pS(_uM("width" to 24, "height" to 24, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "marginRight" to 8, "flexShrink" to 0)), "shop-icon" to _pS(_uM("fontSize" to 16, "marginRight" to 6, "flexShrink" to 0)), "shop-name" to _pS(_uM("fontSize" to 14, "fontWeight" to "700", "color" to "#333333", "marginRight" to 4, "overflow" to "hidden", "textOverflow" to "ellipsis", "whiteSpace" to "nowrap")), "shop-arrow" to _pS(_uM("fontSize" to 12, "color" to "#999999", "flexShrink" to 0)), "cart-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5", "alignItems" to "center", "height" to 100, "borderBottomWidth:last-child" to "medium", "borderBottomStyle:last-child" to "none", "borderBottomColor:last-child" to "#000000")), "item-select" to _pS(_uM("width" to 30, "height" to "100%", "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "marginRight" to 5)), "selected-icon" to _pS(_uM("width" to 18, "height" to 18, "backgroundColor" to "#ff5000", "color" to "#FFFFFF", "borderTopLeftRadius" to 9, "borderTopRightRadius" to 9, "borderBottomRightRadius" to 9, "borderBottomLeftRadius" to 9, "textAlign" to "center", "lineHeight" to "18px", "fontSize" to 12)), "unselected-icon" to _pS(_uM("width" to 18, "height" to 18, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#dddddd", "borderRightColor" to "#dddddd", "borderBottomColor" to "#dddddd", "borderLeftColor" to "#dddddd", "borderTopLeftRadius" to 9, "borderTopRightRadius" to 9, "borderBottomRightRadius" to 9, "borderBottomLeftRadius" to 9)), "item-image" to _pS(_uM("width" to 70, "height" to 70, "borderTopLeftRadius" to 6, "borderTopRightRadius" to 6, "borderBottomRightRadius" to 6, "borderBottomLeftRadius" to 6, "marginRight" to 10, "flexShrink" to 0)), "item-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "justifyContent" to "space-between", "height" to 70, "overflow" to "hidden")), "info-top" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "item-name" to _pS(_uM("fontSize" to 14, "color" to "#333333", "marginBottom" to 2, "overflow" to "hidden", "fontWeight" to "bold", "textOverflow" to "ellipsis")), "item-spec" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginBottom" to "auto")), "item-footer" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "width" to "100%")), "item-price" to _pS(_uM("fontSize" to 16, "color" to "#ff5000", "fontWeight" to "bold")), "quantity-control" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "backgroundColor" to "#f5f5f5", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "overflow" to "hidden", "height" to 28)), "quantity-btn" to _pS(_uM("width" to 28, "height" to 28, "textAlign" to "center", "lineHeight" to "28px", "fontSize" to 16, "color" to "#333333", "backgroundColor" to "#eeeeee")), "quantity-value" to _pS(_uM("minWidth" to 36, "textAlign" to "center", "fontSize" to 14, "lineHeight" to "28px", "color" to "#333333")), "recommend-section" to _pS(_uM("marginTop" to 20, "marginRight" to 10, "marginBottom" to 20, "marginLeft" to 10, "backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15)), "section-header" to _pS(_uM("marginBottom" to 15, "display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center")), "refresh-btn" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "paddingTop" to 4, "paddingRight" to 8, "paddingBottom" to 4, "paddingLeft" to 8)), "refresh-icon" to _pS(_uM("fontSize" to 14, "marginRight" to 4)), "refresh-text" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "section-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "recommend-list" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "justifyContent" to "space-between")), "recommend-item" to _pS(_uM("display" to "flex", "flexDirection" to "column", "backgroundImage" to "none", "backgroundColor" to "#ffffff", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "overflow" to "hidden", "width" to "48%", "marginBottom" to 12)), "recommend-image" to _pS(_uM("width" to "100%", "height" to 170, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginBottom" to 8, "backgroundImage" to "none", "backgroundColor" to "#f5f5f5")), "recommend-name" to _pS(_uM("fontSize" to 13, "color" to "#333333", "marginBottom" to 5, "lineHeight" to 1.4, "height" to 36, "overflow" to "hidden", "textOverflow" to "ellipsis")), "recommend-bottom" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingRight" to 8)), "recommend-price" to _pS(_uM("fontSize" to 15, "color" to "#ff5000", "fontWeight" to "bold")), "recommend-add-btn" to _pS(_uM("width" to 24, "height" to 24, "backgroundColor" to "#ff5000", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "recommend-add-icon" to _pS(_uM("color" to "#FFFFFF", "fontSize" to 16, "lineHeight" to 1, "fontWeight" to "bold")), "tabbar-safe-area" to _pS(_uM("height" to 100, "width" to "100%", "backgroundColor" to "rgba(0,0,0,0)")), "@TRANSITION" to _uM("action-btn" to _uM("property" to "all", "duration" to "0.2s", "timingFunction" to "ease"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/main/category.kt b/unpackage/cache/.app-android/src/pages/main/category.kt deleted file mode 100644 index 3338f0e9..00000000 --- a/unpackage/cache/.app-android/src/pages/main/category.kt +++ /dev/null @@ -1,707 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.chooseImage as uni_chooseImage -import io.dcloud.uniapp.extapi.getStorageSync as uni_getStorageSync -import io.dcloud.uniapp.extapi.getSystemInfoSync as uni_getSystemInfoSync -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.removeStorageSync as uni_removeStorageSync -import io.dcloud.uniapp.extapi.scanCode as uni_scanCode -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMainCategory : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMainCategory) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMainCategory - val _cache = __ins.renderCache - val statusBarHeight = ref(0) - val headerHeight = ref(44) - val capsuleButtonInfo = ref(null) - val navBarRight = ref(0) - val primaryCategories = ref(_uA()) - val subCategories = ref(_uA()) - val productList = ref(_uA()) - val activePrimary = ref("") - val activeSubCategory = ref("") - val selectedParentId = ref("") - val cartCount = ref(3) - val hasMore = ref(true) - val hasLoadedFromParams = ref(false) - val currentPage = ref(1) - val loading = ref(false) - val scrollTop = ref(0) - val pendingCategoryId = ref("") - val currentCategoryName = ref("") - val currentCategoryDesc = ref("") - val pageParams = ref(UTSJSONObject() as Any) - fun gen_loadProducts_fn(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (loading.value) { - return@w1 - } - if (activePrimary.value == "") { - console.warn("activePrimary为空,无法加载商品", " at pages/main/category.uvue:182") - return@w1 - } - loading.value = true - try { - console.log("开始加载商品,分类ID:", activePrimary.value, "页码:", currentPage.value, " at pages/main/category.uvue:188") - val response = await(supabaseService.getProductsByCategory(activePrimary.value, currentPage.value)) - console.log("商品加载结果:", object : UTSJSONObject() { - var dataCount = response.data.length - var total = response.total - var hasmore = response.hasmore - var page = currentPage.value - }, " at pages/main/category.uvue:190") - if (currentPage.value == 1) { - productList.value = response.data - } else { - productList.value.push(*response.data.toTypedArray()) - } - hasMore.value = response.hasmore - var foundCat: LocalCategory? = null - run { - var i: Number = 0 - while(i < primaryCategories.value.length){ - if (primaryCategories.value[i].id == activePrimary.value) { - foundCat = primaryCategories.value[i] - break - } - i++ - } - } - if (foundCat == null) { - run { - var i: Number = 0 - while(i < subCategories.value.length){ - if (subCategories.value[i].id == activePrimary.value) { - foundCat = subCategories.value[i] - break - } - i++ - } - } - } - if (foundCat != null) { - currentCategoryName.value = foundCat.name - currentCategoryDesc.value = foundCat.description - } - console.log("商品列表加载完成,当前总数量:", productList.value.length, " at pages/main/category.uvue:226") - } - catch (error: Throwable) { - console.error("加载商品数据失败:", error, " at pages/main/category.uvue:228") - if (currentPage.value == 1) { - productList.value = _uA() - } - } - finally { - loading.value = false - } - }) - } - val loadProducts = ::gen_loadProducts_fn - fun gen_loadSubCategories_fn(parentId: String): UTSPromise { - return wrapUTSPromise(suspend { - console.log("加载二级分类,父级ID:", parentId, " at pages/main/category.uvue:239") - try { - val subCats = await(supabaseService.getSubCategories(parentId)) - console.log("获取到二级分类数量:", subCats.length, " at pages/main/category.uvue:242") - val categories: UTSArray = _uA() - run { - var i: Number = 0 - while(i < subCats.length){ - val cat = subCats[i] - categories.push(LocalCategory(id = cat.id, name = cat.name, icon = cat.icon, description = cat.description, color = cat.color)) - i++ - } - } - subCategories.value = categories - } - catch (e: Throwable) { - console.error("加载二级分类失败:", e, " at pages/main/category.uvue:257") - subCategories.value = _uA() - } - }) - } - val loadSubCategories = ::gen_loadSubCategories_fn - fun gen_isPrimaryActive_fn(categoryId: String): Boolean { - return selectedParentId.value == categoryId - } - val isPrimaryActive = ::gen_isPrimaryActive_fn - fun gen_isSubActive_fn(subCategoryId: String): Boolean { - return activeSubCategory.value == subCategoryId || activePrimary.value == subCategoryId - } - val isSubActive = ::gen_isSubActive_fn - fun gen_getPrimaryItemBgColor_fn(item: LocalCategory): String { - if (isPrimaryActive(item.id)) { - return item.color - } - return "transparent" - } - val getPrimaryItemBgColor = ::gen_getPrimaryItemBgColor_fn - fun gen_selectSubCategory_fn(subCategoryId: String): UTSPromise { - return wrapUTSPromise(suspend { - console.log("选择二级分类:", subCategoryId, " at pages/main/category.uvue:282") - activeSubCategory.value = subCategoryId - currentPage.value = 1 - hasMore.value = true - activePrimary.value = subCategoryId - await(loadProducts()) - }) - } - val selectSubCategory = ::gen_selectSubCategory_fn - fun gen_selectPrimaryCategory_fn(reassignedOriginalCategoryId: String): UTSPromise { - var originalCategoryId = reassignedOriginalCategoryId - return wrapUTSPromise(suspend w1@{ - console.log("=== selectPrimaryCategory函数开始执行 ===", " at pages/main/category.uvue:295") - console.log("传入的categoryId:", originalCategoryId, " at pages/main/category.uvue:296") - if (originalCategoryId == "") { - console.error("categoryId为空,尝试使用第一个分类", " at pages/main/category.uvue:299") - if (primaryCategories.value.length > 0) { - originalCategoryId = primaryCategories.value[0].id - } else { - console.error("没有可用的分类", " at pages/main/category.uvue:303") - return@w1 - } - } - var targetParentId = originalCategoryId - var targetSubId = "" - console.log("当前一级分类列表长度:", primaryCategories.value.length, " at pages/main/category.uvue:311") - var foundInPrimary: LocalCategory? = null - run { - var i: Number = 0 - while(i < primaryCategories.value.length){ - if (primaryCategories.value[i].id == originalCategoryId) { - foundInPrimary = primaryCategories.value[i] - break - } - i++ - } - } - console.log("在一级分类中查找结果:", foundInPrimary != null, " at pages/main/category.uvue:319") - if (foundInPrimary == null) { - console.log("传入的ID不在一级分类中,可能是二级分类ID,尝试查找父级分类", " at pages/main/category.uvue:323") - try { - val categoryInfo = await(supabaseService.getCategoryById(originalCategoryId)) - if (categoryInfo != null && categoryInfo.parent_id != null && categoryInfo.parent_id != "") { - console.log("找到父级分类ID:", categoryInfo.parent_id, " at pages/main/category.uvue:329") - console.log("查找父级分类ID:", categoryInfo.parent_id, " at pages/main/category.uvue:332") - var parentInPrimary: LocalCategory? = null - run { - var i: Number = 0 - while(i < primaryCategories.value.length){ - if (primaryCategories.value[i].id == categoryInfo.parent_id) { - parentInPrimary = primaryCategories.value[i] - break - } - i++ - } - } - console.log("父级分类查找结果:", parentInPrimary != null, " at pages/main/category.uvue:340") - if (parentInPrimary != null) { - console.log("父级分类在列表中找到:", parentInPrimary.name, " at pages/main/category.uvue:342") - targetParentId = categoryInfo.parent_id!! - targetSubId = originalCategoryId - } else { - console.log("父级分类不在列表中,使用第一个分类", " at pages/main/category.uvue:346") - run { - var i: Number = 0 - while(i < primaryCategories.value.length){ - console.log("列表中的分类:", primaryCategories.value[i].id, primaryCategories.value[i].name, " at pages/main/category.uvue:349") - i++ - } - } - if (primaryCategories.value.length > 0) { - targetParentId = primaryCategories.value[0].id - } - } - } else { - console.log("未找到父级分类,使用第一个分类", " at pages/main/category.uvue:356") - if (primaryCategories.value.length > 0) { - targetParentId = primaryCategories.value[0].id - } - } - } - catch (e: Throwable) { - console.error("获取分类信息失败:", e, " at pages/main/category.uvue:362") - if (primaryCategories.value.length > 0) { - targetParentId = primaryCategories.value[0].id - } - } - } - console.log("最终选中的一级分类ID:", targetParentId, " at pages/main/category.uvue:369") - console.log("需要选中的二级分类ID:", targetSubId, " at pages/main/category.uvue:370") - selectedParentId.value = targetParentId - activePrimary.value = targetParentId - await(loadSubCategories(targetParentId)) - if (targetSubId != "") { - activeSubCategory.value = targetSubId - } else { - if (subCategories.value.length > 0) { - activeSubCategory.value = subCategories.value[0].id - targetSubId = subCategories.value[0].id - console.log("默认选中第一个二级分类:", subCategories.value[0].name, " at pages/main/category.uvue:387") - } else { - activeSubCategory.value = "" - } - } - var foundIndex: Number = -1 - run { - var i: Number = 0 - while(i < primaryCategories.value.length){ - if (primaryCategories.value[i].id == targetParentId) { - foundIndex = i - break - } - i++ - } - } - if (foundIndex != -1) { - val systemInfo = uni_getSystemInfoSync() - var itemHeight: Number = 70 - if (systemInfo.windowWidth > 1025) { - itemHeight = 80 - } - val scrollViewHeight = systemInfo.windowHeight - systemInfo.statusBarHeight - 44 - val targetScrollTop = (foundIndex * itemHeight) - (scrollViewHeight / 2) + (itemHeight / 2) - scrollTop.value = Math.max(0, targetScrollTop) - console.log("滚动左侧菜单: index=" + foundIndex + ", target=" + scrollTop.value, " at pages/main/category.uvue:413") - } - var foundCategory: LocalCategory? = null - run { - var i: Number = 0 - while(i < primaryCategories.value.length){ - if (primaryCategories.value[i].id == targetParentId) { - foundCategory = primaryCategories.value[i] - break - } - i++ - } - } - if (foundCategory != null) { - currentCategoryName.value = foundCategory.name - currentCategoryDesc.value = foundCategory.description - } else { - console.log("分类信息未找到,使用第一个分类的信息", " at pages/main/category.uvue:428") - if (primaryCategories.value.length > 0) { - val firstCategory = primaryCategories.value[0] - currentCategoryName.value = firstCategory.name - currentCategoryDesc.value = firstCategory.description - } - } - currentPage.value = 1 - hasMore.value = true - val categoryIdForProducts = if ((targetSubId != "")) { - targetSubId - } else { - targetParentId - } - activePrimary.value = categoryIdForProducts - await(loadProducts()) - }) - } - val selectPrimaryCategory = ::gen_selectPrimaryCategory_fn - fun gen_loadCategories_fn(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - try { - val categoriesData = await(supabaseService.getParentCategories()) - console.log("加载一级分类数据成功,数量:", categoriesData.length, " at pages/main/category.uvue:449") - val categories: UTSArray = _uA() - run { - var i: Number = 0 - while(i < categoriesData.length){ - val cat = categoriesData[i] - val name = cat.name - console.log("一级分类:", cat.id, name, " at pages/main/category.uvue:457") - if (name.includes("医药") || name.includes("健康")) { - console.log("过滤掉分类:", name, " at pages/main/category.uvue:459") - i++ - continue - } - categories.push(LocalCategory(id = cat.id, name = cat.name, icon = cat.icon, description = cat.description, color = cat.color)) - i++ - } - } - console.log("最终一级分类列表数量:", categories.length, " at pages/main/category.uvue:471") - if (categories.length > 0) { - primaryCategories.value = categories - if (pendingCategoryId.value != "") { - console.log("发现待处理的分类ID:", pendingCategoryId.value, " at pages/main/category.uvue:478") - val idToSelect = pendingCategoryId.value - pendingCategoryId.value = "" - selectPrimaryCategory(idToSelect) - return@w1 - } - if (activePrimary.value != "") { - console.log("有预设的分类ID:", activePrimary.value, " at pages/main/category.uvue:488") - val target = categories.find(fun(c: LocalCategory): Boolean { - return c.id == activePrimary.value - } - ) - if (target != null) { - console.log("找到目标分类,执行选中:", target.name, " at pages/main/category.uvue:491") - selectPrimaryCategory(activePrimary.value) - return@w1 - } - } - val defaultCategory = categories.find(fun(c: LocalCategory): Boolean { - return c.name.includes("厨具") - }) ?: categories[0] - if (defaultCategory != null) { - console.log("设置默认分类:", defaultCategory.name, " at pages/main/category.uvue:500") - selectPrimaryCategory(defaultCategory.id) - } - } else { - console.warn("从Supabase获取的分类数据为空", " at pages/main/category.uvue:504") - } - } - catch (error: Throwable) { - console.error("加载分类数据失败:", error, " at pages/main/category.uvue:507") - } - }) - } - val loadCategories = ::gen_loadCategories_fn - fun gen_loadMore_fn(): Unit { - if (hasMore.value && !loading.value) { - currentPage.value++ - loadProducts() - } - } - val loadMore = ::gen_loadMore_fn - onMounted(fun(){ - loadCategories().then(fun(){ - setTimeout(fun(){ - if (!hasLoadedFromParams.value && activePrimary.value != "") { - loadProducts() - } - } - , 300) - } - ) - } - ) - onShow__1(fun(){ - console.log("=== category页面onShow被调用 ===", " at pages/main/category.uvue:532") - val savedCategoryId = uni_getStorageSync("selectedCategory") - console.log("onShow检查Storage:", savedCategoryId, " at pages/main/category.uvue:536") - if (savedCategoryId != null && savedCategoryId != "") { - val targetId = savedCategoryId as String - console.log("onShow发现存储的分类ID:", targetId, " at pages/main/category.uvue:540") - uni_removeStorageSync("selectedCategory") - if (primaryCategories.value.length > 0) { - if (activePrimary.value != targetId) { - console.log("onShow执行切换分类:", targetId, " at pages/main/category.uvue:549") - selectPrimaryCategory(targetId) - } else { - console.log("当前已是目标分类:", targetId, " at pages/main/category.uvue:552") - } - } else { - console.log("分类数据尚未加载,暂存ID等待加载", " at pages/main/category.uvue:556") - pendingCategoryId.value = targetId - } - } - } - ) - onLoad__1(fun(options: Any){ - val systemInfo = uni_getSystemInfoSync() - statusBarHeight.value = systemInfo.statusBarHeight - console.log("=== category页面onLoad被调用 ===", " at pages/main/category.uvue:587") - var categoryId = "" - var categoryName = "" - val optObj = if ((options is UTSJSONObject)) { - (options as UTSJSONObject) - } else { - (UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(options ?: UTSJSONObject())), " at pages/main/category.uvue:593") as UTSJSONObject) - } - val optCategoryId = optObj.getString("categoryId") ?: "" - if (optCategoryId !== "") { - categoryId = optCategoryId - categoryName = optObj.getString("name") ?: "" - console.log("✅ onLoad中找到分类参数:", categoryId, categoryName, " at pages/main/category.uvue:598") - } - if (categoryId == "") { - val pages = getCurrentPages() - if (pages.length > 0) { - val currentPage = pages[pages.length - 1] - val rawPageOptions = currentPage.options ?: UTSJSONObject() - console.log("从getCurrentPages()获取参数:", rawPageOptions, " at pages/main/category.uvue:607") - val pageOptObj = if ((rawPageOptions is UTSJSONObject)) { - (rawPageOptions as UTSJSONObject) - } else { - (UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(rawPageOptions)), " at pages/main/category.uvue:608") as UTSJSONObject) - } - val pageCategoryId = pageOptObj.getString("categoryId") ?: "" - if (pageCategoryId !== "") { - categoryId = pageCategoryId - categoryName = pageOptObj.getString("name") ?: "" - console.log("✅ 从getCurrentPages()找到分类参数:", categoryId, categoryName, " at pages/main/category.uvue:613") - } - } - } - if (categoryId != "") { - hasLoadedFromParams.value = true - console.log("✅ 准备选中分类:", categoryId, " at pages/main/category.uvue:621") - console.log("分类名称:", categoryName ?: "未指定", " at pages/main/category.uvue:622") - if (activePrimary.value !== categoryId) { - console.log("当前分类:", activePrimary.value, "与目标分类:", categoryId, "不同,需要更新", " at pages/main/category.uvue:626") - console.log("准备调用selectPrimaryCategory函数...", " at pages/main/category.uvue:627") - selectPrimaryCategory(categoryId) - } else { - console.log("当前分类已经是目标分类,但可能用户想要刷新页面", " at pages/main/category.uvue:630") - console.log("当前分类:", activePrimary.value, "目标分类:", categoryId, " at pages/main/category.uvue:631") - setTimeout(fun(){ - selectPrimaryCategory(categoryId) - }, 100) - } - } else { - console.log("⚠️ onLoad中未找到分类参数,将使用从数据库加载的第一个分类", " at pages/main/category.uvue:639") - } - console.log("=== category页面onLoad执行完成 ===", " at pages/main/category.uvue:643") - } - ) - fun gen_addToCart_fn(product: Product): UTSPromise { - return wrapUTSPromise(suspend w1@{ - uni_showLoading(ShowLoadingOptions(title = "检查商品...")) - try { - val pid = (product.id ?: "").toString() - val merchantId = product.merchant_id ?: "" - if (pid === "") { - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "商品无效", icon = "none")) - return@w1 - } - val skus = await(supabaseService.getProductSkus(pid)) - uni_hideLoading() - if (skus.length > 0) { - uni_showToast(ShowToastOptions(title = "请选择规格", icon = "none")) - setTimeout(fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?id=" + pid)) - }, 500) - } else { - uni_showLoading(ShowLoadingOptions(title = "添加中...")) - val success = await(supabaseService.addToCart(pid, 1, "", merchantId)) - uni_hideLoading() - if (success) { - uni_showToast(ShowToastOptions(title = "已添加到购物车", icon = "success")) - cartCount.value++ - } else { - uni_showToast(ShowToastOptions(title = "添加失败,请先登录", icon = "none")) - } - } - } - catch (e: Throwable) { - console.error("添加到购物车异常", e, " at pages/main/category.uvue:693") - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "操作失败", icon = "none")) - } - }) - } - val addToCart = ::gen_addToCart_fn - fun gen_navigateToSearch_fn(): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/search")) - } - val navigateToSearch = ::gen_navigateToSearch_fn - fun gen_navigateToCart_fn(): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/main/cart")) - } - val navigateToCart = ::gen_navigateToCart_fn - fun gen_navigateToProduct_fn(product: Product): Unit { - val id = (product.id ?: "").toString() - if (id === "") { - return - } - val price = (product.base_price ?: 0).toString(10) - val originalPrice = (product.market_price ?: "").toString() - val name = UTSAndroid.consoleDebugError(encodeURIComponent(product.name ?: ""), " at pages/main/category.uvue:707") - val image = UTSAndroid.consoleDebugError(encodeURIComponent(product.main_image_url ?: ""), " at pages/main/category.uvue:708") - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?id=" + id + "&productId=" + id + "&price=" + price + "&originalPrice=" + originalPrice + "&name=" + name + "&image=" + image)) - } - val navigateToProduct = ::gen_navigateToProduct_fn - fun gen_onCamera_fn(): Unit { - uni_chooseImage(ChooseImageOptions(count = 1, sourceType = _uA( - "camera" - ), success = fun(res){ - console.log("相机拍摄成功:", res.tempFilePaths[0], " at pages/main/category.uvue:721") - uni_showToast(ShowToastOptions(title = "已拍摄,正在识别...", icon = "loading")) - setTimeout(fun(){ - uni_showToast(ShowToastOptions(title = "识别成功", icon = "success")) - } - , 1000) - } - , fail = fun(err){ - console.error("相机调用失败:", err, " at pages/main/category.uvue:735") - } - )) - } - val onCamera = ::gen_onCamera_fn - fun gen_onScan_fn(): Unit { - uni_scanCode(ScanCodeOptions(success = fun(res){ - console.log("扫码成功:", res, " at pages/main/category.uvue:744") - uni_showToast(ShowToastOptions(title = "扫码成功: " + res.result, icon = "none")) - } - , fail = fun(err){ - console.error("扫码失败:", err, " at pages/main/category.uvue:751") - } - )) - } - val onScan = ::gen_onScan_fn - return fun(): Any? { - return _cE("view", _uM("class" to "category-page"), _uA( - _cE("view", _uM("class" to "search-bar", "style" to _nS(_uM("paddingTop" to (statusBarHeight.value + "px")))), _uA( - _cE("view", _uM("class" to "search-container", "style" to _nS(_uM("paddingRight" to (navBarRight.value + "px")))), _uA( - _cE("view", _uM("class" to "search-box", "onClick" to navigateToSearch, "style" to _nS(_uM("height" to "30px"))), _uA( - _cE("text", _uM("class" to "search-placeholder"), "请输入商品名称、店铺"), - _cE("view", _uM("class" to "nav-icon-btn", "onClick" to withModifiers(onScan, _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "nav-icon"), "🔳") - )), - _cE("view", _uM("class" to "nav-camera-btn", "onClick" to withModifiers(onCamera, _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "nav-camera-icon"), "📷") - )), - _cE("view", _uM("class" to "nav-inner-search-btn", "style" to _nS(_uM("height" to "22px"))), _uA( - _cE("text", _uM("class" to "nav-inner-search-text"), "搜索") - ), 4) - ), 4) - ), 4) - ), 4), - _cE("view", _uM("class" to "navbar-placeholder", "style" to _nS(_uM("height" to ((statusBarHeight.value + 44) + "px")))), null, 4), - _cE("view", _uM("class" to "category-content"), _uA( - _cE("scroll-view", _uM("scroll-y" to true, "class" to "primary-category", "scroll-top" to scrollTop.value, "scroll-with-animation" to true), _uA( - _cE(Fragment, null, RenderHelpers.renderList(primaryCategories.value, fun(item, __key, __index, _cached): Any { - return _cE("view", _uM("key" to item.id, "class" to _nC(_uA( - "primary-item", - _uM("active" to isPrimaryActive(item.id)) - )), "onClick" to fun(){ - selectPrimaryCategory(item.id) - } - , "style" to _nS(_uM("backgroundColor" to getPrimaryItemBgColor(item)))), _uA( - _cE("text", _uM("class" to "primary-icon"), _tD(item.icon), 1), - _cE("text", _uM("class" to "primary-name"), _tD(item.name), 1) - ), 14, _uA( - "onClick" - )) - } - ), 128) - ), 8, _uA( - "scroll-top" - )), - _cE("scroll-view", _uM("scroll-y" to true, "class" to "product-content", "onScrolltolower" to loadMore, "lower-threshold" to 50), _uA( - _cE("view", _uM("class" to "category-header"), _uA( - _cE("text", _uM("class" to "category-title"), _tD(currentCategoryName.value), 1), - _cE("text", _uM("class" to "category-desc"), _tD(currentCategoryDesc.value), 1) - )), - if (subCategories.value.length > 0) { - _cE("view", _uM("key" to 0, "class" to "sub-category-section"), _uA( - _cE("view", _uM("class" to "sub-category-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(subCategories.value, fun(sub, __key, __index, _cached): Any { - return _cE("view", _uM("key" to sub.id, "class" to _nC(_uA( - "sub-category-item", - _uM("active" to isSubActive(sub.id)) - )), "onClick" to fun(){ - selectSubCategory(sub.id) - }), _uA( - _cE("text", _uM("class" to "sub-category-icon"), _tD(sub.icon), 1), - _cE("text", _uM("class" to "sub-category-name"), _tD(sub.name), 1) - ), 10, _uA( - "onClick" - )) - }), 128) - )) - )) - } else { - _cC("v-if", true) - } - , - if (productList.value.length > 0) { - _cE("view", _uM("key" to 1, "class" to "product-grid"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(productList.value, fun(product, __key, __index, _cached): Any { - return _cE("view", _uM("key" to product.id, "class" to "product-card", "onClick" to fun(){ - navigateToProduct(product) - }), _uA( - _cE("image", _uM("class" to "product-image", "src" to product.main_image_url, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("text", _uM("class" to "product-name", "lines" to 2), _tD(product.name), 1), - _cE("view", _uM("class" to "product-bottom"), _uA( - _cE("text", _uM("class" to "product-price"), "¥" + _tD(product.base_price ?: product.price ?: 0), 1), - _cE("view", _uM("class" to "product-add-btn", "onClick" to withModifiers(fun(){ - addToCart(product) - }, _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "add-icon"), "+") - ), 8, _uA( - "onClick" - )) - )) - ), 8, _uA( - "onClick" - )) - }), 128) - )) - } else { - if (isTrue(loading.value)) { - _cE("view", _uM("key" to 2, "class" to "loading-state"), _uA( - _cE("view", _uM("class" to "loading-spinner")), - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - _cE("view", _uM("key" to 3, "class" to "empty-state"), _uA( - _cE("text", _uM("class" to "empty-icon"), "�"), - _cE("text", _uM("class" to "empty-text"), "暂无相关商品"), - _cE("text", _uM("class" to "empty-desc"), "该分类下暂无商品,敬请期待") - )) - } - } - , - if (isTrue(hasMore.value)) { - _cE("view", _uM("key" to 4, "class" to "load-more"), _uA( - _cE("text", _uM("class" to "load-text"), "上拉加载更多") - )) - } else { - _cC("v-if", true) - } - ), 32) - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("category-page" to _pS(_uM("width" to "100%", "height" to "100%", "overflow" to "hidden", "backgroundColor" to "#f8fafc", "display" to "flex", "flexDirection" to "column", "fontFamily" to "-apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Hiragino Sans GB, sans-serif")), "search-bar" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "backgroundColor" to "#ff5000", "zIndex" to 1000, "boxShadow" to "0 2px 12px rgba(255, 80, 0, 0.15)")), "navbar-placeholder" to _pS(_uM("flexShrink" to 0)), "search-container" to _pS(_uM("height" to 44, "paddingTop" to 0, "paddingRight" to 16, "paddingBottom" to 0, "paddingLeft" to 16, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "maxWidth" to 1400, "marginTop" to 0, "marginRight" to "auto", "marginBottom" to 0, "marginLeft" to "auto", "width" to "100%")), "search-box" to _pS(_uM("boxShadow:hover" to "0 2px 8px rgba(0, 0, 0, 0.1)", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "maxWidth" to 600, "backgroundImage" to "none", "backgroundColor" to "#f0f0f0", "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "paddingTop" to 0, "paddingRight" to 4, "paddingBottom" to 0, "paddingLeft" to 12, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "transitionProperty" to "all", "transitionDuration" to "0.3s", "transitionTimingFunction" to "ease", "width" to "100%", "height" to 32)), "search-placeholder" to _pS(_uM("fontSize" to 14, "color" to "#999999", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "whiteSpace" to "nowrap", "overflow" to "hidden", "textOverflow" to "ellipsis")), "nav-inner-search-text" to _pS(_uM("fontSize" to 12, "color" to "#ffffff", "fontWeight" to "normal")), "icon" to _pS(_uM("fontSize" to 22, "color" to "#FFFFFF")), "nav-icon-btn" to _pS(_uM("paddingTop" to 4, "paddingRight" to 8, "paddingBottom" to 4, "paddingLeft" to 4, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "borderRightWidth" to 1, "borderRightStyle" to "solid", "borderRightColor" to "#dddddd", "marginRight" to 8)), "nav-icon" to _pS(_uM("fontSize" to 18)), "nav-camera-btn" to _pS(_uM("paddingTop" to 4, "paddingRight" to 8, "paddingBottom" to 4, "paddingLeft" to 4, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "borderRightWidth" to 1, "borderRightStyle" to "solid", "borderRightColor" to "#dddddd", "marginRight" to 8)), "nav-camera-icon" to _pS(_uM("fontSize" to 20)), "nav-inner-search-btn" to _pS(_uM("paddingTop" to 0, "paddingRight" to 12, "paddingBottom" to 0, "paddingLeft" to 12, "backgroundColor" to "#87CEEB", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "height" to 24)), "cart-badge" to _pS(_uM("position" to "absolute", "top" to -5, "right" to -5, "backgroundImage" to "none", "backgroundColor" to "#FF5722", "color" to "#FFFFFF", "fontSize" to 10, "minWidth" to 18, "height" to 18, "borderTopLeftRadius" to 9, "borderTopRightRadius" to 9, "borderBottomRightRadius" to 9, "borderBottomLeftRadius" to 9, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 0, "paddingRight" to 4, "paddingBottom" to 0, "paddingLeft" to 4, "borderTopWidth" to 2, "borderRightWidth" to 2, "borderBottomWidth" to 2, "borderLeftWidth" to 2, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000")), "category-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 0, "display" to "flex", "flexDirection" to "row", "paddingTop" to 0, "paddingRight" to 16, "paddingBottom" to 0, "paddingLeft" to 16, "maxWidth" to 1400, "marginLeft" to "auto", "marginRight" to "auto", "width" to "100%", "overflow" to "hidden")), "primary-category" to _pS(_uM("width" to 63, "height" to "100%", "marginRight" to 6, "backgroundImage" to "none", "backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 6, "paddingRight" to 0, "paddingBottom" to 6, "paddingLeft" to 0, "boxShadow" to "0 2px 8px rgba(0, 0, 0, 0.08)", "flexShrink" to 0)), "primary-item" to _uM("" to _uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 12, "paddingRight" to 4, "paddingBottom" to 12, "paddingLeft" to 4, "marginTop" to 4, "marginRight" to 6, "marginBottom" to 4, "marginLeft" to 6, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "transitionProperty" to "all", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "color" to "#666666", "textAlign" to "center", "transform:hover" to "translateY(-2px)"), ".active" to _uM("!color" to "#FFFFFF", "fontWeight" to "bold")), "primary-icon" to _pS(_uM("fontSize" to 20, "marginBottom" to 4, "marginRight" to 0, "textAlign" to "center")), "primary-name" to _pS(_uM("fontSize" to 11, "lineHeight" to 1.25)), "product-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to "100%", "paddingTop" to 0, "paddingRight" to 0, "paddingBottom" to 0, "paddingLeft" to 0)), "category-header" to _pS(_uM("marginBottom" to 16, "paddingTop" to 16, "paddingRight" to 8, "paddingBottom" to 0, "paddingLeft" to 8, "backgroundColor" to "#f8fafc", "zIndex" to 10)), "category-title" to _pS(_uM("fontSize" to 20, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 4)), "category-desc" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "sub-category-section" to _pS(_uM("paddingTop" to 8, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8, "backgroundImage" to "none", "backgroundColor" to "#FFFFFF", "marginBottom" to 8)), "sub-category-list" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "nowrap", "width" to "100%", "justifyContent" to "space-between")), "sub-category-item" to _uM("" to _uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 8, "paddingRight" to 4, "paddingBottom" to 8, "paddingLeft" to 4, "backgroundImage" to "none", "backgroundColor" to "#f5f5f5", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "minWidth" to 50), ".active" to _uM("backgroundImage" to "none", "backgroundColor" to "#ff5000")), "sub-category-name" to _uM(".sub-category-item.active " to _uM("color" to "#FFFFFF"), "" to _uM("fontSize" to 11, "color" to "#333333", "whiteSpace" to "nowrap", "overflow" to "hidden", "textOverflow" to "ellipsis", "textAlign" to "center", "width" to "100%")), "sub-category-icon" to _pS(_uM("fontSize" to 16, "marginBottom" to 4)), "product-grid" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "paddingTop" to 8, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8, "width" to "100%", "justifyContent" to "space-between")), "product-card" to _pS(_uM("display" to "flex", "flexDirection" to "column", "backgroundImage" to "none", "backgroundColor" to "#ffffff", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "overflow" to "hidden", "width" to "48%", "marginBottom" to 12)), "product-image" to _pS(_uM("width" to "100%", "height" to 170, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginBottom" to 8, "backgroundImage" to "none", "backgroundColor" to "#f5f5f5")), "product-name" to _pS(_uM("fontSize" to 13, "color" to "#333333", "marginBottom" to 5, "lineHeight" to 1.4, "height" to 36, "overflow" to "hidden", "textOverflow" to "ellipsis", "paddingTop" to 0, "paddingRight" to 8, "paddingBottom" to 0, "paddingLeft" to 8)), "product-bottom" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 0, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8)), "product-price" to _pS(_uM("fontSize" to 15, "color" to "#ff5000", "fontWeight" to "bold")), "product-add-btn" to _pS(_uM("width" to 24, "height" to 24, "backgroundColor" to "#ff5000", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "add-icon" to _pS(_uM("color" to "#ffffff", "fontSize" to 16, "fontWeight" to "bold")), "product-action" to _pS(_uM("marginTop" to 12)), "cart-btn" to _pS(_uM("display" to "flex", "alignItems" to "center", "justifyContent" to "center", "backgroundImage" to "none", "backgroundColor" to "#ff5000", "color" to "#FFFFFF", "paddingTop" to 8, "paddingRight" to 12, "paddingBottom" to 8, "paddingLeft" to 12, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "fontSize" to 13, "fontWeight" to "bold", "transitionProperty" to "all", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "backgroundImage:hover" to "none", "backgroundColor:hover" to "#388E3C")), "cart-icon" to _pS(_uM("fontSize" to 14, "marginRight" to 6)), "loading-state" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 60, "paddingRight" to 20, "paddingBottom" to 60, "paddingLeft" to 20, "textAlign" to "center")), "loading-spinner" to _pS(_uM("width" to 40, "height" to 40, "borderTopWidth" to 3, "borderRightWidth" to 3, "borderBottomWidth" to 3, "borderLeftWidth" to 3, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ff5000", "borderRightColor" to "#f0f0f0", "borderBottomColor" to "#f0f0f0", "borderLeftColor" to "#f0f0f0", "animation" to "spin 1s linear infinite", "marginBottom" to 15)), "loading-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "empty-state" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 60, "paddingRight" to 20, "paddingBottom" to 60, "paddingLeft" to 20, "textAlign" to "center")), "empty-icon" to _pS(_uM("fontSize" to 60, "color" to "#ff5000", "marginBottom" to 15)), "empty-text" to _pS(_uM("fontSize" to 18, "color" to "#333333", "fontWeight" to "bold", "marginBottom" to 8)), "empty-desc" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "load-more" to _pS(_uM("textAlign" to "center", "paddingTop" to 20, "paddingRight" to 0, "paddingBottom" to 20, "paddingLeft" to 0, "color" to "#999999", "fontSize" to 14)), "load-text" to _pS(_uM("paddingTop" to 8, "paddingRight" to 16, "paddingBottom" to 8, "paddingLeft" to 16, "backgroundImage" to "none", "backgroundColor" to "#f5f5f5", "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20)), "@TRANSITION" to _uM("search-box" to _uM("property" to "all", "duration" to "0.3s", "timingFunction" to "ease"), "primary-item" to _uM("property" to "all", "duration" to "0.2s", "timingFunction" to "ease"), "cart-btn" to _uM("property" to "all", "duration" to "0.2s", "timingFunction" to "ease"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/main/index.kt b/unpackage/cache/.app-android/src/pages/main/index.kt deleted file mode 100644 index 510fdc75..00000000 --- a/unpackage/cache/.app-android/src/pages/main/index.kt +++ /dev/null @@ -1,869 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.chooseImage as uni_chooseImage -import io.dcloud.uniapp.extapi.getSystemInfoSync as uni_getSystemInfoSync -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.scanCode as uni_scanCode -import io.dcloud.uniapp.extapi.setStorageSync as uni_setStorageSync -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showToast as uni_showToast -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMainIndex : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMainIndex) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMainIndex - val _cache = __ins.renderCache - val statusBarHeight = ref(0) - val scrollHeight = ref(0) - val refreshing = ref(false) - val loading = ref(false) - val isFirstShow = ref(true) - val hasMore = ref(true) - val activeSort = ref("recommend") - val activeFilter = ref("recommend") - val currentPage = ref(1) - val priceAscending = ref(true) - val capsuleButtonInfo = ref(null) - val navBarRight = ref(0) - val hotProducts = ref(_uA()) - val recommendedProducts = ref(_uA()) - val hotKeywords = ref(_uA()) - val isMobile = ref(false) - val showLoadMore = ref(false) - val showNavbar = ref(true) - val lastScrollTop = ref(0) - val scrollThreshold: Number = 30 - val scrollingUp = ref(false) - val categoryTab = ref("category") - val categories = ref(_uA()) - val brands = ref(_uA()) - val parentCategories = ref(_uA()) - val subCategories = ref(_uA()) - val selectedParentCategory = ref(null) - val showSubCategories = ref(false) - val sortTabs = _uA( - SortTab(id = "recommend", name = "智能推荐"), - SortTab(id = "sales", name = "销量"), - SortTab(id = "price", name = "价格"), - SortTab(id = "new", name = "新品"), - SortTab(id = "discount", name = "特价") - ) as UTSArray - val loadCategories = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val categoriesData = await(supabaseService.getParentCategories()) - parentCategories.value = categoriesData - categories.value = categoriesData - console.log("一级分类数据:", JSON.stringify(parentCategories.value), " at pages/main/index.uvue:375") - } - catch (error: Throwable) { - console.error("加载分类数据失败:", error, " at pages/main/index.uvue:377") - parentCategories.value = _uA() - categories.value = _uA() - } - }) - } - val loadSubCategories = fun(parentId: String): UTSPromise { - return wrapUTSPromise(suspend { - try { - console.log("[loadSubCategories] 开始加载二级分类, parentId:", parentId, " at pages/main/index.uvue:386") - val subData = await(supabaseService.getSubCategories(parentId)) - console.log("[loadSubCategories] 获取到二级分类数量:", subData.length, " at pages/main/index.uvue:388") - console.log("[loadSubCategories] 二级分类数据:", JSON.stringify(subData), " at pages/main/index.uvue:389") - subCategories.value = subData - } - catch (error: Throwable) { - console.error("加载子分类数据失败:", error, " at pages/main/index.uvue:392") - subCategories.value = _uA() - } - }) - } - val onParentCategoryClick = fun(category: Category): UTSPromise { - return wrapUTSPromise(suspend w1@{ - console.log("[onParentCategoryClick] 点击一级分类:", category.name, "id:", category.id, " at pages/main/index.uvue:399") - if (selectedParentCategory.value != null && selectedParentCategory.value!!.id === category.id) { - console.log("[onParentCategoryClick] 切换显示状态", " at pages/main/index.uvue:403") - showSubCategories.value = !showSubCategories.value - return@w1 - } - selectedParentCategory.value = category - showSubCategories.value = true - console.log("[onParentCategoryClick] showSubCategories 设置为 true", " at pages/main/index.uvue:411") - await(loadSubCategories(category.id)) - if (subCategories.value.length == 0) { - console.log("[onParentCategoryClick] 没有二级分类,直接跳转到分类页", " at pages/main/index.uvue:418") - uni_setStorageSync("selectedCategory", category.id) - uni_switchTab(SwitchTabOptions(url = "/pages/main/category")) - } - }) - } - val onSubCategoryClick = fun(category: Category): Unit { - uni_setStorageSync("selectedCategory", category.id) - val timestamp = Date.now() - val randomParam = Math.random().toString(36).substring(2, 8) - val url = "/pages/main/category?categoryId=" + category.id + "&name=" + UTSAndroid.consoleDebugError(encodeURIComponent(category.name), " at pages/main/index.uvue:432") + "×tamp=" + timestamp + "&random=" + randomParam - uni_switchTab(SwitchTabOptions(url = "/pages/main/category")) - } - val loadBrands = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val brandsData = await(supabaseService.getBrands()) - brands.value = brandsData - } - catch (e: Throwable) { - console.error("加载品牌失败:", e, " at pages/main/index.uvue:445") - brands.value = _uA() - } - }) - } - val getBrandIcon = fun(name: String): String { - if (name == null || name === "") { - return "🏢" - } - val iconKeys = _uA( - "感冒", - "发烧", - "咳嗽", - "消炎", - "维生素", - "钙片", - "胃药", - "止痛", - "过敏", - "皮肤", - "眼药水", - "口腔", - "血压", - "血糖", - "血脂", - "保健", - "养生", - "减肥", - "美容", - "母婴", - "儿童", - "老人", - "男性", - "女性", - "维生素C", - "维生素D", - "蛋白粉", - "鱼油", - "蜂胶", - "阿胶", - "红枣", - "枸杞", - "菊花", - "金银花", - "口罩", - "消毒液", - "体温计", - "创可贴", - "棉签", - "九芝堂", - "同仁堂", - "云南白药", - "东阿阿胶", - "太极", - "江中", - "三九", - "华素制药", - "汤臣倍健", - "白云山", - "修正", - "葵花", - "哈药", - "扬子江", - "恒瑞", - "复星", - "辉瑞", - "阿斯利康", - "罗氏", - "默沙东", - "赛诺菲", - "诺华", - "雅培", - "雀巢", - "蒙牛", - "伊利", - "海尔", - "美的", - "飞利浦", - "西门子", - "松下", - "苏泊尔", - "九阳", - "华为", - "小米", - "苹果", - "三星" - ) - val iconValues = _uA( - "💊", - "🌡️", - "😷", - "🔬", - "💊", - "🦴", - "🫁", - "💉", - "🌸", - "🧴", - "👁️", - "🦷", - "❤️", - "🩸", - "💓", - "🧬", - "🍵", - "⚖️", - "💅", - "👶", - "🧒", - "👴", - "♂️", - "♀️", - "🍊", - "☀️", - "🥛", - "🐟", - "🐝", - "🍯", - "🫘", - "🌿", - "🌼", - "🌸", - "😷", - "🧴", - "🌡️", - "🩹", - "🧺", - "📜", - "🏛️", - "⛰️", - "🍯", - "☯️", - "🌿", - "9️⃣", - "💊", - "💪", - "⛰️", - "🩹", - "🌻", - "🧪", - "🚢", - "🔬", - "⭐", - "🧬", - "🧪", - "🧬", - "💊", - "🧬", - "🔬", - "🏥", - "🥣", - "🐄", - "🥛", - "🏠", - "❄️", - "🪒", - "⚡", - "🔋", - "🍳", - "🥛", - "📱", - "🍚", - "🍎", - "📱" - ) - run { - var i: Number = 0 - while(i < iconKeys.length){ - if (name === iconKeys[i]) { - return iconValues[i] - } - i++ - } - } - run { - var i: Number = 0 - while(i < iconKeys.length){ - if (name.indexOf(iconKeys[i]) !== -1) { - return iconValues[i] - } - i++ - } - } - return "🏢" - } - val defaultLoadLimit: Number = 6 - val doLoadHotProducts = fun(targetLimit: Number, resolve: (value: Unit) -> Unit, reject: (reason: Any?) -> Unit): UTSPromise { - return wrapUTSPromise(suspend { - try { - var products: UTSArray = _uA() - val limit = targetLimit - console.log("加载热销商品,当前排序方式:", activeSort.value, "limit:", limit, " at pages/main/index.uvue:490") - when (activeSort.value) { - "sales" -> - { - console.log("调用 getProductsBySales", " at pages/main/index.uvue:494") - products = await(supabaseService.getProductsBySales(limit)) - } - "price" -> - { - console.log("调用 getProductsByPrice, 升序:", priceAscending.value, " at pages/main/index.uvue:498") - products = await(supabaseService.getProductsByPrice(limit, priceAscending.value)) - } - "new" -> - { - console.log("调用 getProductsByNewest", " at pages/main/index.uvue:502") - products = await(supabaseService.getProductsByNewest(limit)) - } - "recommend" -> - { - console.log("调用 getSmartRecommendations", " at pages/main/index.uvue:506") - products = await(supabaseService.getSmartRecommendations(limit)) - } - "discount" -> - { - console.log("调用 getDiscountProducts", " at pages/main/index.uvue:510") - products = await(supabaseService.getDiscountProducts(limit)) - } - else -> - { - console.log("调用默认 getProductsBySales", " at pages/main/index.uvue:514") - products = await(supabaseService.getProductsBySales(limit)) - } - } - console.log("加载到的商品数量:", products.length, " at pages/main/index.uvue:518") - if (products.length > 0) { - console.log("Sample Product Merchant IDs:", " at pages/main/index.uvue:520") - run { - var i: Number = 0 - while(i < Math.min(products.length, 3)){ - val p = products[i] - console.log(" - Product: " + p.name + ", MerchantID: " + p.merchant_id, " at pages/main/index.uvue:523") - i++ - } - } - } - hotProducts.value = products - } - catch (error: Throwable) { - console.error("加载热销商品失败:", error, " at pages/main/index.uvue:528") - hotProducts.value = _uA() - } - }) - } - fun gen_loadHotProducts_fn(targetLimit: Number): UTSPromise { - return UTSPromise(fun(resolve, reject){ - doLoadHotProducts(targetLimit, resolve, reject) - } - ) - } - val loadHotProducts = ::gen_loadHotProducts_fn - val doLoadRecommendedProducts = fun(limit: Number, resolve: (value: Unit) -> Unit, reject: (reason: Any?) -> Unit): UTSPromise { - return wrapUTSPromise(suspend { - recommendedProducts.value = await(supabaseService.getRecommendedProducts(limit)) - resolve(Unit) - }) - } - fun gen_loadRecommendedProducts_fn(limit: Number): UTSPromise { - return UTSPromise(fun(resolve, reject){ - doLoadRecommendedProducts(limit, resolve, reject) - } - ) - } - val loadRecommendedProducts = ::gen_loadRecommendedProducts_fn - val loadHotKeywords = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val keywords = await(supabaseService.getHotKeywords(10)) - hotKeywords.value = keywords - console.log("加载热搜词:", keywords.length, "个", " at pages/main/index.uvue:558") - } - catch (error: Throwable) { - console.error("加载热搜词失败:", error, " at pages/main/index.uvue:560") - hotKeywords.value = _uA() - } - }) - } - val initData = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - await(getCurrentUser()) - console.log("主页初始化:用户资料加载完成", " at pages/main/index.uvue:577") - } - catch (error: Throwable) { - console.error("加载用户资料失败:", error, " at pages/main/index.uvue:579") - } - await(loadCategories()) - await(loadBrands()) - await(loadHotKeywords()) - await(loadHotProducts(defaultLoadLimit)) - await(loadRecommendedProducts(defaultLoadLimit)) - }) - } - val initPage = fun(){ - val systemInfo = uni_getSystemInfoSync() - statusBarHeight.value = systemInfo.statusBarHeight - navBarRight.value = 0 - val screenWidth = systemInfo.screenWidth - isMobile.value = screenWidth < 768 - } - onMounted(fun(){ - initPage() - initData() - } - ) - onShow__1(fun(){ - console.log("=== index页面onShow被调用 ===", " at pages/main/index.uvue:680") - console.log("主页重新显示,重置页面状态", " at pages/main/index.uvue:681") - showNavbar.value = true - lastScrollTop.value = 0 - if (!isFirstShow.value) { - getCurrentUser().then(fun(profile){ - if (profile != null) { - console.log("主页onShow:用户资料更新成功", " at pages/main/index.uvue:699") - } else { - console.log("主页onShow:用户资料为空,可能未登录", " at pages/main/index.uvue:701") - } - }).`catch`(fun(error){ - console.error("主页onShow:加载用户资料失败:", error, " at pages/main/index.uvue:704") - }) - } else { - isFirstShow.value = false - console.log("主页首次显示,跳过onShow中的用户资料检查,交由initData处理", " at pages/main/index.uvue:708") - } - console.log("=== index页面onShow执行完成 ===", " at pages/main/index.uvue:711") - } - ) - val handleScroll = fun(event: Any){ - try { - val eventObj = event as UTSJSONObject - val detailRaw = eventObj.get("detail") - if (detailRaw == null) { - return - } - val detail = detailRaw as UTSJSONObject - val scrollTop = detail.getNumber("scrollTop") ?: 0 - val currentTime = Date.now() - if (scrollTop > lastScrollTop.value) { - scrollingUp.value = false - if (scrollTop > scrollThreshold && showNavbar.value) { - showNavbar.value = false - } - } else if (scrollTop < lastScrollTop.value) { - scrollingUp.value = true - if (!showNavbar.value) { - showNavbar.value = true - } - } - if (scrollTop <= 10) { - showNavbar.value = true - } - lastScrollTop.value = scrollTop - } - catch (e: Throwable) {} - } - val switchBrand = fun(brand: Brand){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/search?keyword=" + UTSAndroid.consoleDebugError(encodeURIComponent(brand.name), " at pages/main/index.uvue:794") + "&type=brand&brandId=" + brand.id)) - } - val switchSort = fun(sortId: String){ - if (sortId === "price" && activeSort.value === "price") { - priceAscending.value = !priceAscending.value - console.log("切换价格排序方向,升序:", priceAscending.value, " at pages/main/index.uvue:803") - } else { - if (sortId !== "price") { - priceAscending.value = true - } - activeSort.value = sortId - } - hasMore.value = true - loadHotProducts(defaultLoadLimit) - } - val onRefresh = fun(): UTSPromise { - return wrapUTSPromise(suspend { - refreshing.value = true - try { - await(initData()) - } - catch (e: Throwable) { - console.error("刷新数据失败:", e, " at pages/main/index.uvue:838") - } - finally { - setTimeout(fun(){ - refreshing.value = false - setTimeout(fun(){ - uni_showToast(ShowToastOptions(title = "刷新成功", icon = "success")) - } - , 200) - } - , 800) - } - }) - } - val loadMore = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - console.log("=== 触发触底事件 ===", " at pages/main/index.uvue:856") - if (loading.value) { - console.log("正在加载中,跳过", " at pages/main/index.uvue:858") - return@w1 - } - showLoadMore.value = true - loading.value = true - try { - val currentCount = hotProducts.value.length - val nextPage = Math.floor(currentCount / 6) + 1 - val additionalLimit: Number = 6 - console.log("开始加载更多,当前数量:", currentCount, "页码:", nextPage, " at pages/main/index.uvue:870") - var newProducts: UTSArray = _uA() - when (activeSort.value) { - "sales" -> - newProducts = await(supabaseService.getProductsBySales(currentCount + additionalLimit)) - "price" -> - newProducts = await(supabaseService.getProductsByPrice(currentCount + additionalLimit, priceAscending.value)) - "new" -> - newProducts = await(supabaseService.getProductsByNewest(currentCount + additionalLimit)) - "recommend" -> - newProducts = await(supabaseService.getSmartRecommendations(currentCount + additionalLimit)) - "discount" -> - newProducts = await(supabaseService.getDiscountProducts(currentCount + additionalLimit)) - else -> - newProducts = await(supabaseService.getProductsBySales(currentCount + additionalLimit)) - } - console.log("加载到的新商品数量:", newProducts.length, " at pages/main/index.uvue:894") - if (newProducts.length <= currentCount) { - hasMore.value = false - uni_showToast(ShowToastOptions(title = "没有更多了", icon = "none")) - } else { - hotProducts.value = newProducts - } - } - catch (error: Throwable) { - console.error("加载更多失败:", error, " at pages/main/index.uvue:908") - } - finally { - loading.value = false - setTimeout(fun(){ - showLoadMore.value = false - } - , 500) - } - }) - } - val addToCart = fun(product: Any): UTSPromise { - return wrapUTSPromise(suspend { - uni_showLoading(ShowLoadingOptions(title = "检查商品...")) - try { - val prodObj = if ((product is UTSJSONObject)) { - (product as UTSJSONObject) - } else { - (UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(product)), " at pages/main/index.uvue:923") as UTSJSONObject) - } - val productId = prodObj.getString("id") ?: "" - val merchantId = prodObj.getString("merchant_id") ?: "" - val skus = await(supabaseService.getProductSkus(productId)) - uni_hideLoading() - if (skus.length > 0) { - uni_showToast(ShowToastOptions(title = "请选择规格", icon = "none")) - setTimeout(fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?id=" + productId)) - }, 500) - } else { - uni_showLoading(ShowLoadingOptions(title = "添加中...")) - val success = await(supabaseService.addToCart(productId, 1, "", merchantId)) - uni_hideLoading() - if (success) { - uni_showToast(ShowToastOptions(title = "已添加到购物车", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "添加失败,请先登录", icon = "none")) - } - } - } - catch (e: Throwable) { - console.error("添加到购物车异常", e, " at pages/main/index.uvue:960") - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "操作异常", icon = "none")) - } - }) - } - val onScan = fun(): Unit { - uni_scanCode(ScanCodeOptions(success = fun(res){ - console.log("扫码成功:", res, " at pages/main/index.uvue:973") - uni_showToast(ShowToastOptions(title = "扫码成功: " + res.result, icon = "none")) - } - , fail = fun(err){ - console.error("扫码失败:", err, " at pages/main/index.uvue:980") - } - )) - } - val onCamera = fun(): Unit { - uni_chooseImage(ChooseImageOptions(count = 1, sourceType = _uA( - "camera" - ), success = fun(res){ - console.log("相机拍摄成功:", res.tempFilePaths[0], " at pages/main/index.uvue:991") - uni_showToast(ShowToastOptions(title = "已拍摄,正在识别...", icon = "loading")) - setTimeout(fun(){ - uni_showToast(ShowToastOptions(title = "识别成功", icon = "success")) - } - , 1000) - } - , fail = fun(err){ - console.error("相机调用失败:", err, " at pages/main/index.uvue:1004") - } - )) - } - val navigateToSearch = fun(): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/search")) - } - val navigateToProduct = fun(product: Any){ - val prodObj = if ((product is UTSJSONObject)) { - (product as UTSJSONObject) - } else { - (UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(product)), " at pages/main/index.uvue:1014") as UTSJSONObject) - } - val productId = prodObj.getString("productId") ?: prodObj.getString("id") ?: "" - val name = prodObj.getString("name") ?: "" - val image = prodObj.getString("main_image_url") ?: prodObj.getString("image") ?: "/static/images/default-product.png" - val price = (prodObj.getNumber("base_price") ?: prodObj.getNumber("price") ?: 0).toString(10) - val marketPrice = prodObj.getNumber("market_price") ?: prodObj.getNumber("original_price") ?: (parseFloat(price) * 1.2) - val originalPrice = marketPrice.toString(10) - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?id=" + productId + "&price=" + price + "&originalPrice=" + originalPrice + "&name=" + UTSAndroid.consoleDebugError(encodeURIComponent(name), " at pages/main/index.uvue:1027") + "&image=" + UTSAndroid.consoleDebugError(encodeURIComponent(image), " at pages/main/index.uvue:1027"))) - } - return fun(): Any? { - return _cE("view", _uM("class" to "medic-home"), _uA( - _cE("view", _uM("class" to "smart-navbar", "style" to _nS(_uM("paddingTop" to (statusBarHeight.value + "px"), "transform" to if (showNavbar.value) { - "translateY(0)" - } else { - "translateY(-100%)" - } - ))), _uA( - _cE("view", _uM("class" to "search-container", "style" to _nS(_uM("paddingRight" to (navBarRight.value + "px")))), _uA( - _cE("view", _uM("class" to "search-box", "onClick" to navigateToSearch, "style" to _nS(_uM("height" to "30px"))), _uA( - _cE("text", _uM("class" to "search-placeholder"), "请输入商品名称、店铺"), - _cE("view", _uM("class" to "nav-icon-btn", "onClick" to withModifiers(onScan, _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "nav-icon"), "🔳") - )), - _cE("view", _uM("class" to "nav-camera-btn", "onClick" to withModifiers(onCamera, _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "nav-camera-icon"), "📷") - )), - _cE("view", _uM("class" to "nav-inner-search-btn", "style" to _nS(_uM("height" to "22px"))), _uA( - _cE("text", _uM("class" to "nav-inner-search-text"), "搜索") - ), 4) - ), 4) - ), 4) - ), 4), - _cE("scroll-view", _uM("direction" to "vertical", "class" to "main-scroll", "refresher-enabled" to "", "refresher-triggered" to refreshing.value, "lower-threshold" to 50, "onRefresherrefresh" to onRefresh, "onScrolltolower" to loadMore, "onScroll" to handleScroll), _uA( - _cE("view", _uM("class" to "smart-categories", "style" to _nS(_uM("marginTop" to ((statusBarHeight.value + 44 + 10) + "px")))), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("view", _uM("class" to "category-tabs-pills"), _uA( - _cE("view", _uM("class" to _nC(_uA( - "tab-pill", - _uM("active" to (categoryTab.value == "category")) - )), "onClick" to fun(){ - categoryTab.value = "category" - } - ), _uA( - _cE("text", _uM("class" to "tab-text"), "智能分类") - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "tab-pill", - _uM("active" to (categoryTab.value == "brand")) - )), "onClick" to fun(){ - categoryTab.value = "brand" - } - ), _uA( - _cE("text", _uM("class" to "tab-text"), "品牌甄选") - ), 10, _uA( - "onClick" - )) - )), - _cE("text", _uM("class" to "section-desc"), "快速定位") - )), - if (categoryTab.value === "category") { - _cE("view", _uM("key" to 0, "class" to "category-grid"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(parentCategories.value, fun(category, __key, __index, _cached): Any { - return _cE("view", _uM("key" to category.id, "class" to "category-card", "onClick" to fun(){ - onParentCategoryClick(category) - }, "style" to _nS(_uM("--card-color" to category.color))), _uA( - _cE("view", _uM("class" to "card-icon"), _uA( - _cE("text", _uM("class" to "card-icon-text"), _tD(category.icon), 1) - )), - _cE("text", _uM("class" to "card-name"), _tD(category.name), 1) - ), 12, _uA( - "onClick" - )) - }), 128) - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(categoryTab.value === "category" && showSubCategories.value && subCategories.value.length > 0)) { - _cE("view", _uM("key" to 1, "class" to "sub-category-grid"), _uA( - _cE("view", _uM("class" to "sub-category-header"), _uA( - _cE("text", _uM("class" to "sub-category-title"), _tD(selectedParentCategory.value?.name) + "分类", 1), - _cE("text", _uM("class" to "sub-category-close", "onClick" to fun(){ - showSubCategories.value = false - }), "✕", 8, _uA( - "onClick" - )) - )), - _cE("view", _uM("class" to "sub-category-wrapper"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(subCategories.value, fun(subCat, __key, __index, _cached): Any { - return _cE("view", _uM("key" to subCat.id, "class" to "sub-category-card", "onClick" to fun(){ - onSubCategoryClick(subCat) - }), _uA( - _cE("view", _uM("class" to "card-icon"), _uA( - _cE("text", _uM("class" to "card-icon-text"), _tD(subCat.icon), 1) - )), - _cE("text", _uM("class" to "card-name"), _tD(subCat.name), 1) - ), 8, _uA( - "onClick" - )) - }), 128) - )) - )) - } else { - _cC("v-if", true) - } - , - if (categoryTab.value === "brand") { - _cE("view", _uM("key" to 2, "class" to "category-grid"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(brands.value, fun(brand, __key, __index, _cached): Any { - return _cE("view", _uM("key" to brand.id, "class" to "category-card", "onClick" to fun(){ - switchBrand(brand) - }, "style" to _nS(_uM("--card-color" to "#5785e5"))), _uA( - if (isTrue(brand.logo_url == null || brand.logo_url == "")) { - _cE("view", _uM("key" to 0, "class" to "card-icon"), _uA( - _cE("text", _uM("class" to "card-icon-text"), _tD(getBrandIcon(brand.name)), 1) - )) - } else { - _cE("image", _uM("key" to 1, "src" to brand.logo_url, "mode" to "aspectFit", "class" to "brand-logo", "style" to _nS(_uM("width" to "40px", "height" to "40px", "border-radius" to "20px"))), null, 12, _uA( - "src" - )) - }, - _cE("text", _uM("class" to "card-name"), _tD(brand.name), 1) - ), 12, _uA( - "onClick" - )) - }), 128) - )) - } else { - _cC("v-if", true) - } - ), 4), - _cE("view", _uM("class" to "hot-products"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("view", _uM("class" to "title-section"), _uA( - _cE("text", _uM("class" to "section-icon"), "🔥"), - _cE("text", _uM("class" to "section-title"), "热销商品") - )), - _cE("view", _uM("class" to "sort-tabs"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(sortTabs, fun(tab, __key, __index, _cached): Any { - return _cE("text", _uM("key" to tab.id, "class" to _nC(_uA( - "sort-tab", - _uM("active" to (activeSort.value === tab.id)) - )), "onClick" to fun(){ - switchSort(tab.id) - } - ), _tD(tab.name), 11, _uA( - "onClick" - )) - } - ), 64) - )) - )), - _cE("view", _uM("class" to "products-grid"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(hotProducts.value, fun(product, __key, __index, _cached): Any { - return _cE("view", _uM("key" to product.id, "class" to "product-card", "onClick" to fun(){ - navigateToProduct(product) - } - ), _uA( - _cE("image", _uM("class" to "product-image", "src" to product.main_image_url, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("text", _uM("class" to "product-name", "lines" to 2), _tD(product.name), 1), - _cE("view", _uM("class" to "product-bottom"), _uA( - _cE("text", _uM("class" to "product-price"), "¥" + _tD(product.price), 1), - _cE("view", _uM("class" to "product-add-btn", "onClick" to withModifiers(fun(){ - addToCart(product) - } - , _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "add-icon"), "+") - ), 8, _uA( - "onClick" - )) - )) - ), 8, _uA( - "onClick" - )) - } - ), 128) - )), - if (isTrue(loading.value || showLoadMore.value)) { - _cE("view", _uM("key" to 0, "class" to "load-more-status"), _uA( - _cE("text", _uM("class" to "loading-text"), "正在加载更多商品...") - )) - } else { - _cC("v-if", true) - } - )), - _cE("view", _uM("class" to "safe-area")) - ), 40, _uA( - "refresher-triggered" - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0, - styles1 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("medic-home" to _pS(_uM("width" to "100%", "height" to "100%", "overflow" to "hidden", "backgroundImage" to "none", "backgroundColor" to "#f8fafc", "fontFamily" to "-apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Hiragino Sans GB, sans-serif", "lineHeight" to 1.5, "display" to "flex", "flexDirection" to "column")), "main-scroll" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 1, "width" to "100%", "paddingTop" to 0, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "maxWidth" to 1400, "marginLeft" to "auto", "marginRight" to "auto")), "smart-navbar" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "backgroundColor" to "#ff5000", "zIndex" to 1000, "boxShadow" to "0 2px 12px rgba(255, 80, 0, 0.15)", "transitionProperty" to "all", "transitionDuration" to "0.3s", "transitionTimingFunction" to "cubic-bezier(0.4,0,0.2,1)")), "search-container" to _pS(_uM("height" to 44, "paddingTop" to 0, "paddingRight" to 16, "paddingBottom" to 0, "paddingLeft" to 16, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "maxWidth" to 1400, "marginTop" to 0, "marginRight" to "auto", "marginBottom" to 0, "marginLeft" to "auto", "width" to "100%")), "search-box" to _pS(_uM("boxShadow:hover" to "0 2px 8px rgba(0, 0, 0, 0.1)", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "maxWidth" to 600, "backgroundImage" to "none", "backgroundColor" to "#f0f0f0", "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "paddingTop" to 0, "paddingRight" to 4, "paddingBottom" to 0, "paddingLeft" to 12, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "transitionProperty" to "all", "transitionDuration" to "0.3s", "transitionTimingFunction" to "ease", "width" to "100%", "height" to 32)), "search-placeholder" to _pS(_uM("fontSize" to 14, "color" to "#999999", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "whiteSpace" to "nowrap", "overflow" to "hidden", "textOverflow" to "ellipsis")), "nav-icon-btn" to _pS(_uM("paddingTop" to 4, "paddingRight" to 8, "paddingBottom" to 4, "paddingLeft" to 4, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "borderRightWidth" to 1, "borderRightStyle" to "solid", "borderRightColor" to "#dddddd", "marginRight" to 8)), "nav-icon" to _pS(_uM("fontSize" to 18)), "nav-inner-search-btn" to _pS(_uM("paddingTop" to 0, "paddingRight" to 12, "paddingBottom" to 0, "paddingLeft" to 12, "backgroundColor" to "#87CEEB", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "height" to 24)), "nav-inner-search-text" to _pS(_uM("fontSize" to 12, "color" to "#ffffff", "fontWeight" to "normal")), "navbar-placeholder" to _pS(_uM("width" to "100%", "flexShrink" to 0)), "nav-camera-btn" to _pS(_uM("paddingTop" to 4, "paddingRight" to 8, "paddingBottom" to 4, "paddingLeft" to 4, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "borderRightWidth" to 1, "borderRightStyle" to "solid", "borderRightColor" to "#dddddd", "marginRight" to 8)), "nav-camera-icon" to _pS(_uM("fontSize" to 20)), "smart-health-card" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #2196F3 0%, #1976D2 100%)", "backgroundColor" to "rgba(0,0,0,0)", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "marginBottom" to 20, "color" to "#FFFFFF")), "health-content" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "health-header" to _pS(_uM("display" to "flex", "flexDirection" to "column", "marginBottom" to 12)), "health-title" to _pS(_uM("fontSize" to 20, "fontWeight" to "bold", "marginBottom" to 4)), "health-subtitle" to _pS(_uM("fontSize" to 14, "opacity" to 0.9)), "health-tips" to _pS(_uM("display" to "flex", "flexWrap" to "wrap", "marginTop" to 8)), "tip-item" to _pS(_uM("fontSize" to 13, "paddingTop" to 6, "paddingRight" to 12, "paddingBottom" to 6, "paddingLeft" to 12, "backgroundImage" to "none", "backgroundColor" to "rgba(255,255,255,0.2)", "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "marginRight" to 12, "marginBottom" to 12)), "smart-categories" to _pS(_uM("backgroundImage" to "none", "backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "marginBottom" to 20, "boxShadow" to "0 2px 12px rgba(0, 0, 0, 0.05)")), "section-header" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "flex-start", "marginBottom" to 20, "flexDirection" to "column", "width" to "100%")), "category-tabs-pills" to _pS(_uM("display" to "flex", "flexDirection" to "row", "backgroundColor" to "#f0f2f5", "paddingTop" to 3, "paddingRight" to 3, "paddingBottom" to 3, "paddingLeft" to 3, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "alignItems" to "center")), "tab-pill" to _uM("" to _uM("paddingTop" to 6, "paddingRight" to 18, "paddingBottom" to 6, "paddingLeft" to 18, "borderTopLeftRadius" to 17, "borderTopRightRadius" to 17, "borderBottomRightRadius" to 17, "borderBottomLeftRadius" to 17, "transitionProperty" to "all", "transitionDuration" to "0.3s", "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center"), ".active" to _uM("backgroundColor" to "#ffffff", "boxShadow" to "0 2px 8px rgba(0,0,0,0.08)")), "tab-text" to _uM("" to _uM("fontSize" to 14, "color" to "#888888", "fontWeight" to "normal"), ".tab-pill.active " to _uM("color" to "#ff5000", "fontWeight" to "bold")), "section-title" to _uM("" to _uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#666666", "transitionProperty" to "color", "transitionDuration" to "0.3s"), ".active" to _uM("color" to "#ff5000", "fontSize" to 20)), "section-desc" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "category-grid" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "marginTop" to 0, "marginRight" to "-1.5%", "marginBottom" to 0, "marginLeft" to "-1.5%")), "category-card" to _pS(_uM("width" to "18%", "marginTop" to 0, "marginRight" to "1%", "marginBottom" to 12, "marginLeft" to "1%", "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10, "backgroundImage" to "none", "backgroundColor" to "#f8f9fa", "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "transitionProperty" to "all", "transitionDuration" to "0.3s", "transitionTimingFunction" to "ease", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "rgba(0,0,0,0)", "borderRightColor" to "rgba(0,0,0,0)", "borderBottomColor" to "rgba(0,0,0,0)", "borderLeftColor" to "rgba(0,0,0,0)", "position" to "relative", "transform:hover" to "translateY(-2px)", "boxShadow:hover" to "0 4px 12px rgba(0, 0, 0, 0.1)", "borderTopColor:hover" to "var(--card-color,#ff5000)", "borderRightColor:hover" to "var(--card-color,#ff5000)", "borderBottomColor:hover" to "var(--card-color,#ff5000)", "borderLeftColor:hover" to "var(--card-color,#ff5000)")), "sub-category-grid" to _pS(_uM("backgroundImage" to "none", "backgroundColor" to "#f8f9fa", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "marginTop" to 16)), "sub-category-header" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 12, "paddingBottom" to 8, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#e0e0e0")), "sub-category-title" to _pS(_uM("fontSize" to 14, "fontWeight" to "bold", "color" to "#333333")), "sub-category-close" to _pS(_uM("fontSize" to 16, "color" to "#999999", "paddingTop" to 4, "paddingRight" to 8, "paddingBottom" to 4, "paddingLeft" to 8)), "sub-category-wrapper" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "justifyContent" to "flex-start")), "sub-category-card" to _pS(_uM("width" to "23%", "backgroundImage" to "none", "backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 10, "paddingRight" to 4, "paddingBottom" to 10, "paddingLeft" to 4, "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#eeeeee", "borderRightColor" to "#eeeeee", "borderBottomColor" to "#eeeeee", "borderLeftColor" to "#eeeeee", "marginRight" to "2%", "marginBottom" to 10)), "card-icon" to _uM(".sub-category-card " to _uM("width" to 36, "height" to 36, "borderTopLeftRadius" to 18, "borderTopRightRadius" to 18, "borderBottomRightRadius" to 18, "borderBottomLeftRadius" to 18, "marginBottom" to 6, "display" to "flex", "alignItems" to "center", "justifyContent" to "center"), "" to _uM("width" to 44, "height" to 44, "borderTopLeftRadius" to 22, "borderTopRightRadius" to 22, "borderBottomRightRadius" to 22, "borderBottomLeftRadius" to 22, "background" to "var(--card-color, #ff5000)", "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "marginBottom" to 8)), "card-icon-text" to _uM(".sub-category-card " to _uM("fontSize" to 18), "" to _uM("fontSize" to 20, "color" to "#FFFFFF")), "card-name" to _uM(".sub-category-card " to _uM("fontSize" to 11, "color" to "#333333", "textAlign" to "center", "lines" to 1, "textOverflow" to "ellipsis"), "" to _uM("fontSize" to 12, "fontWeight" to "normal", "color" to "#333333", "marginBottom" to 4, "textAlign" to "center", "width" to "100%")), "card-desc" to _pS(_uM("fontSize" to 12, "color" to "#666666", "textAlign" to "center")), "health-news" to _pS(_uM("backgroundImage" to "none", "backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "marginBottom" to 20, "boxShadow" to "0 2px 12px rgba(0, 0, 0, 0.05)")), "news-header" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 16)), "news-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333")), "news-more" to _pS(_uM("fontSize" to 14, "color" to "#ff5000")), "news-swiper" to _pS(_uM("height" to 200, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "overflow" to "hidden")), "news-content" to _pS(_uM("position" to "relative", "height" to "100%", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "overflow" to "hidden")), "news-image" to _pS(_uM("width" to "100%", "height" to "100%", "display" to "flex")), "news-caption" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "lineHeight" to 1.4, "display" to "flex")), "smart-services" to _pS(_uM("backgroundImage" to "none", "backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "marginBottom" to 20, "boxShadow" to "0 2px 12px rgba(0, 0, 0, 0.05)")), "services-grid" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "marginTop" to 0, "marginRight" to "-1.5%", "marginBottom" to 0, "marginLeft" to "-1.5%")), "service-card" to _pS(_uM("width" to "47%", "marginTop" to 0, "marginRight" to "1.5%", "marginBottom" to 20, "marginLeft" to "1.5%", "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "backgroundImage" to "none", "backgroundColor" to "#f8f9fa", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "transitionProperty" to "all", "transitionDuration" to "0.3s", "transitionTimingFunction" to "ease", "transform:hover" to "translateY(-4px)", "boxShadow:hover" to "0 4px 12px rgba(0, 0, 0, 0.1)")), "service-icon" to _pS(_uM("width" to 60, "height" to 60, "borderTopLeftRadius" to 30, "borderTopRightRadius" to 30, "borderBottomRightRadius" to 30, "borderBottomLeftRadius" to 30, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "marginBottom" to 12)), "service-icon-text" to _pS(_uM("fontSize" to 28, "color" to "#FFFFFF")), "service-name" to _pS(_uM("fontSize" to 15, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 4)), "service-desc" to _pS(_uM("fontSize" to 12, "color" to "#666666")), "hot-keywords-section" to _pS(_uM("backgroundImage" to "none", "backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "marginBottom" to 20)), "keywords-list" to _pS(_uM("display" to "flex", "flexWrap" to "wrap", "marginTop" to 15)), "keyword-item" to _pS(_uM("display" to "flex", "alignItems" to "center", "paddingTop" to 8, "paddingRight" to 16, "paddingBottom" to 8, "paddingLeft" to 16, "backgroundImage" to "none", "backgroundColor" to "#f5f5f5", "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "transitionProperty" to "all", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "backgroundImage:hover" to "none", "backgroundColor:hover" to "#fff0f0")), "keyword-rank" to _uM("" to _uM("width" to 20, "height" to 20, "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "fontSize" to 12, "fontWeight" to "bold", "color" to "#999999", "backgroundImage" to "none", "backgroundColor" to "#eeeeee", "marginRight" to 8), ".top-three" to _uM("backgroundImage" to "none", "backgroundColor" to "#ff4757", "color" to "#FFFFFF")), "keyword-text" to _pS(_uM("fontSize" to 14, "color" to "#333333")), "hot-products" to _pS(_uM("backgroundImage" to "none", "backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "marginBottom" to 20, "boxShadow" to "0 2px 12px rgba(0, 0, 0, 0.05)")), "title-section" to _pS(_uM("display" to "flex", "alignItems" to "center", "width" to "100%")), "section-icon" to _pS(_uM("fontSize" to 20, "color" to "#ff5000", "marginRight" to 8)), "sort-tabs" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "flexWrap" to "wrap", "justifyContent" to "flex-start", "width" to "100%", "marginTop" to 12)), "sort-tab" to _uM("" to _uM("fontSize" to 13, "color" to "#666666", "paddingTop" to 8, "paddingRight" to 12, "paddingBottom" to 8, "paddingLeft" to 12, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#e0e0e0", "borderRightColor" to "#e0e0e0", "borderBottomColor" to "#e0e0e0", "borderLeftColor" to "#e0e0e0", "transitionProperty" to "all", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "whiteSpace" to "nowrap", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "minWidth" to 70, "textAlign" to "center", "display" to "flex", "justifyContent" to "center", "alignItems" to "center", "marginRight" to 8, "backgroundImage:hover" to "none", "backgroundColor:hover" to "#f5f5f5"), ".active" to _uM("backgroundImage" to "none", "backgroundColor" to "#ff5000", "color" to "#FFFFFF", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000"), ".active:hover" to _uM("backgroundImage" to "none", "backgroundColor" to "#e64a00")), "products-grid" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "justifyContent" to "space-between", "marginTop" to 20, "minHeight" to 500, "paddingBottom" to 20)), "product-card" to _pS(_uM("display" to "flex", "flexDirection" to "column", "backgroundImage" to "none", "backgroundColor" to "#ffffff", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "overflow" to "hidden", "width" to "48%", "marginBottom" to 12)), "product-image" to _uM("" to _uM("width" to "100%", "height" to 170, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginBottom" to 8, "backgroundImage" to "none", "backgroundColor" to "#f5f5f5"), ".product-image-container " to _uM("width" to "100%", "height" to "100%", "backgroundImage" to "none", "backgroundColor" to "#FFFFFF")), "product-name" to _pS(_uM("fontSize" to 13, "color" to "#333333", "marginBottom" to 5, "lineHeight" to 1.4, "height" to 36, "overflow" to "hidden", "textOverflow" to "ellipsis", "paddingTop" to 0, "paddingRight" to 8, "paddingBottom" to 0, "paddingLeft" to 8)), "product-bottom" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 0, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8)), "product-price" to _pS(_uM("fontSize" to 15, "color" to "#ff5000", "fontWeight" to "bold")), "product-add-btn" to _pS(_uM("width" to 24, "height" to 24, "backgroundColor" to "#ff5000", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "add-icon" to _pS(_uM("color" to "#ffffff", "fontSize" to 16, "fontWeight" to "bold")), "cart-btn" to _pS(_uM("display" to "flex", "alignItems" to "center", "justifyContent" to "center", "backgroundImage" to "none", "backgroundColor" to "#ff5000", "color" to "#FFFFFF", "paddingTop" to 8, "paddingRight" to 12, "paddingBottom" to 8, "paddingLeft" to 12, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "fontSize" to 13, "fontWeight" to "bold", "transitionProperty" to "all", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "backgroundImage:hover" to "none", "backgroundColor:hover" to "#388E3C")), "cart-icon" to _pS(_uM("fontSize" to 16, "marginRight" to 6, "color" to "#FFFFFF")), "cart-text" to _pS(_uM("fontSize" to 13)), "family-medicine" to _pS(_uM("backgroundImage" to "none", "backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "marginBottom" to 20, "boxShadow" to "0 2px 12px rgba(0, 0, 0, 0.05)")), "section-subtitle" to _pS(_uM("fontSize" to 14, "color" to "#666666", "marginLeft" to 12)), "family-grid" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "marginTop" to 20, "marginRight" to "-1.5%", "marginBottom" to 0, "marginLeft" to "-1.5%")), "family-item" to _pS(_uM("width" to "47%", "marginTop" to 0, "marginRight" to "1.5%", "marginBottom" to 16, "marginLeft" to "1.5%", "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "backgroundImage" to "none", "backgroundColor" to "#f8f9fa", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "transitionProperty" to "all", "transitionDuration" to "0.3s", "transitionTimingFunction" to "ease", "transform:hover" to "translateY(-2px)", "boxShadow:hover" to "0 4px 12px rgba(0, 0, 0, 0.1)")), "family-icon" to _pS(_uM("width" to 48, "height" to 48, "borderTopLeftRadius" to 24, "borderTopRightRadius" to 24, "borderBottomRightRadius" to 24, "borderBottomLeftRadius" to 24, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "marginBottom" to 12)), "family-icon-text" to _pS(_uM("fontSize" to 20, "color" to "#FFFFFF")), "family-name" to _pS(_uM("fontSize" to 14, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 4)), "family-desc" to _pS(_uM("fontSize" to 12, "color" to "#666666")), "smart-recommend" to _pS(_uM("backgroundImage" to "none", "backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "marginBottom" to 20, "boxShadow" to "0 2px 12px rgba(0, 0, 0, 0.05)")), "recommend-filters" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "flexWrap" to "wrap", "justifyContent" to "flex-start", "width" to "100%", "marginTop" to 12)), "filter-item" to _uM("" to _uM("fontSize" to 13, "color" to "#666666", "paddingTop" to 8, "paddingRight" to 12, "paddingBottom" to 8, "paddingLeft" to 12, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#e0e0e0", "borderRightColor" to "#e0e0e0", "borderBottomColor" to "#e0e0e0", "borderLeftColor" to "#e0e0e0", "transitionProperty" to "all", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "whiteSpace" to "nowrap", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "minWidth" to 80, "textAlign" to "center", "display" to "flex", "justifyContent" to "center", "alignItems" to "center", "marginRight" to 8, "marginBottom" to 8, "backgroundImage:hover" to "none", "backgroundColor:hover" to "#f5f5f5"), ".active" to _uM("backgroundImage" to "none", "backgroundColor" to "#ff5000", "color" to "#FFFFFF", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000"), ".active:hover" to _uM("backgroundImage" to "none", "backgroundColor" to "#e64a00")), "recommend-grid" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "marginTop" to 20, "marginRight" to "-1.5%", "marginBottom" to 0, "marginLeft" to "-1.5%")), "recommend-product" to _pS(_uM("width" to "97%", "marginTop" to 0, "marginRight" to "1.5%", "marginBottom" to 20, "marginLeft" to "1.5%", "backgroundImage" to "none", "backgroundColor" to "#f8f9fa", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "overflow" to "hidden", "transitionProperty" to "all", "transitionDuration" to "0.3s", "transitionTimingFunction" to "ease", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#e0e0e0", "borderRightColor" to "#e0e0e0", "borderBottomColor" to "#e0e0e0", "borderLeftColor" to "#e0e0e0", "transform:hover" to "translateY(-4px)", "boxShadow:hover" to "0 8px 24px rgba(0, 0, 0, 0.12)")), "product-image-container" to _pS(_uM("position" to "relative", "height" to 180)), "product-tags" to _pS(_uM("position" to "absolute", "top" to 12, "left" to 12, "display" to "flex", "flexDirection" to "row")), "product-tag" to _pS(_uM("paddingTop" to 4, "paddingRight" to 10, "paddingBottom" to 4, "paddingLeft" to 10, "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "fontSize" to 11, "fontWeight" to "bold", "color" to "#FFFFFF", "marginRight" to 8, "backgroundImage" to "none", "backgroundColor" to "rgba(76,175,80,0.9)")), "featured-tag" to _pS(_uM("paddingTop" to 4, "paddingRight" to 10, "paddingBottom" to 4, "paddingLeft" to 10, "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "fontSize" to 11, "fontWeight" to "bold", "color" to "#FFFFFF", "marginRight" to 8, "backgroundImage" to "none", "backgroundColor" to "rgba(255,87,34,0.9)")), "product-details" to _pS(_uM("paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16)), "product-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 4, "lineHeight" to 1.4, "display" to "flex")), "product-specification" to _pS(_uM("fontSize" to 13, "color" to "#666666", "marginBottom" to 12, "display" to "flex")), "product-rating" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to 12, "fontSize" to 13)), "rating-stars" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginRight" to 8)), "star-icon" to _pS(_uM("fontSize" to 14, "color" to "#FFC107", "marginRight" to 2)), "rating-value" to _pS(_uM("fontWeight" to "bold", "color" to "#333333")), "reviews-count" to _pS(_uM("color" to "#666666"))) - } - val styles1: Map>> - get() { - return _uM("product-actions" to _pS(_uM("display" to "flex", "justifyContent" to "flex-end", "marginTop" to 12)), "add-to-cart" to _pS(_uM("width" to 36, "height" to 36, "borderTopLeftRadius" to 18, "borderTopRightRadius" to 18, "borderBottomRightRadius" to 18, "borderBottomLeftRadius" to 18, "backgroundImage" to "none", "backgroundColor" to "#ff5000", "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "transitionProperty" to "all", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "backgroundImage:hover" to "none", "backgroundColor:hover" to "#e64a00", "transform:hover" to "scale(1.1)")), "health-reminder" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #FF9800 0%, #F57C00 100%)", "backgroundColor" to "rgba(0,0,0,0)", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "paddingTop" to 16, "paddingRight" to 20, "paddingBottom" to 16, "paddingLeft" to 20, "marginBottom" to 20, "color" to "#FFFFFF")), "reminder-content" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "reminder-icon" to _pS(_uM("fontSize" to 24, "marginRight" to 12)), "reminder-text" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column")), "reminder-title" to _pS(_uM("fontSize" to 15, "fontWeight" to "bold", "marginBottom" to 4)), "reminder-desc" to _pS(_uM("fontSize" to 13, "opacity" to 0.9)), "reminder-action" to _pS(_uM("paddingTop" to 6, "paddingRight" to 16, "paddingBottom" to 6, "paddingLeft" to 16, "backgroundImage" to "none", "backgroundColor" to "rgba(255,255,255,0.2)", "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "transitionProperty" to "all", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "backgroundImage:hover" to "none", "backgroundColor:hover" to "rgba(255,255,255,0.3)")), "action-text" to _pS(_uM("fontSize" to 13, "fontWeight" to "bold")), "loading-state" to _pS(_uM("paddingTop" to 40, "paddingRight" to 0, "paddingBottom" to 40, "paddingLeft" to 0, "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center")), "loading-spinner" to _pS(_uM("width" to 32, "height" to 32, "borderTopWidth" to 3, "borderRightWidth" to 3, "borderBottomWidth" to 3, "borderLeftWidth" to 3, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ff5000", "borderRightColor" to "#f0f0f0", "borderBottomColor" to "#f0f0f0", "borderLeftColor" to "#f0f0f0", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "marginBottom" to 12)), "loading-text" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "no-more" to _pS(_uM("paddingTop" to 30, "paddingRight" to 0, "paddingBottom" to 30, "paddingLeft" to 0, "textAlign" to "center", "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#f0f0f0", "marginTop" to 10)), "no-more-text" to _pS(_uM("fontSize" to 13, "color" to "#999999")), "safe-area" to _pS(_uM("height" to 20, "width" to "100%")), "@TRANSITION" to _uM("smart-navbar" to _uM("property" to "all", "duration" to "0.3s", "timingFunction" to "cubic-bezier(0.4,0,0.2,1)"), "search-box" to _uM("property" to "all", "duration" to "0.3s", "timingFunction" to "ease"), "tab-pill" to _uM("property" to "all", "duration" to "0.3s"), "section-title" to _uM("property" to "color", "duration" to "0.3s"), "category-card" to _uM("property" to "all", "duration" to "0.3s", "timingFunction" to "ease"), "service-card" to _uM("property" to "all", "duration" to "0.3s", "timingFunction" to "ease"), "keyword-item" to _uM("property" to "all", "duration" to "0.2s", "timingFunction" to "ease"), "sort-tab" to _uM("property" to "all", "duration" to "0.2s", "timingFunction" to "ease"), "cart-btn" to _uM("property" to "all", "duration" to "0.2s", "timingFunction" to "ease"), "family-item" to _uM("property" to "all", "duration" to "0.3s", "timingFunction" to "ease"), "filter-item" to _uM("property" to "all", "duration" to "0.2s", "timingFunction" to "ease"), "recommend-product" to _uM("property" to "all", "duration" to "0.3s", "timingFunction" to "ease"), "add-to-cart" to _uM("property" to "all", "duration" to "0.2s", "timingFunction" to "ease"), "reminder-action" to _uM("property" to "all", "duration" to "0.2s", "timingFunction" to "ease"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/main/messages.kt b/unpackage/cache/.app-android/src/pages/main/messages.kt deleted file mode 100644 index a70d006e..00000000 --- a/unpackage/cache/.app-android/src/pages/main/messages.kt +++ /dev/null @@ -1,560 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.getStorageSync as uni_getStorageSync -import io.dcloud.uniapp.extapi.getSystemInfoSync as uni_getSystemInfoSync -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.setStorageSync as uni_setStorageSync -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMainMessages : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMainMessages) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMainMessages - val _cache = __ins.renderCache - val activeTab = ref("service") - val refreshing = ref(false) - val loading = ref(false) - val unreadCount = ref(12) - val statusBarHeight = ref(0) - val scrollTop = ref(0) - val scrollHeight = ref(0) - val messageTabs = reactive(_uA(MessageTab(id = "service", name = "客服消息", unread = 5), MessageTab(id = "system", name = "系统通知", unread = 3), MessageTab(id = "order", name = "订单消息", unread = 2), MessageTab(id = "promo", name = "优惠活动", unread = 2))) - val serviceMessages = reactive(_uA()) - val systemMessages = reactive(_uA()) - val orderMessages = reactive(_uA()) - val promoMessages = reactive(_uA()) - val currentMessages = computed>(fun(): UTSArray { - when (activeTab.value) { - "system" -> - return systemMessages - "order" -> - return orderMessages - "service" -> - return serviceMessages - "promo" -> - return promoMessages - else -> - return _uA() - } - } - ) - val formatTime = fun(isoString: String): String { - if (isoString == "") { - return "" - } - try { - return isoString.split("T")[0] - } - catch (e: Throwable) { - return isoString - } - } - val updateUnreadCount = fun(){ - var totalUnread: Number = 0 - var serviceUnread: Number = 0 - serviceMessages.forEach(fun(msg: MessageItem){ - if (!msg.read) { - serviceUnread++ - } - } - ) - messageTabs[0].unread = serviceUnread - totalUnread += serviceUnread - var systemUnread: Number = 0 - systemMessages.forEach(fun(msg: MessageItem){ - if (!msg.read) { - systemUnread++ - } - } - ) - messageTabs[1].unread = systemUnread - totalUnread += systemUnread - var orderUnread: Number = 0 - orderMessages.forEach(fun(msg: MessageItem){ - if (!msg.read) { - orderUnread++ - } - } - ) - messageTabs[2].unread = orderUnread - totalUnread += orderUnread - var promoUnread: Number = 0 - promoMessages.forEach(fun(msg: MessageItem){ - if (!msg.read) { - promoUnread++ - } - } - ) - messageTabs[3].unread = promoUnread - totalUnread += promoUnread - unreadCount.value = totalUnread - } - val initPage = fun(){ - val systemInfo = uni_getSystemInfoSync() - statusBarHeight.value = systemInfo.statusBarHeight - val windowHeight = systemInfo.windowHeight - scrollHeight.value = windowHeight - statusBarHeight.value - 44 - 42 - } - val loadMessages = fun(): UTSPromise { - return wrapUTSPromise(suspend { - loading.value = true - try { - serviceMessages.length = 0 - systemMessages.length = 0 - orderMessages.length = 0 - promoMessages.length = 0 - console.log("[loadMessages] 开始获取通知...", " at pages/main/messages.uvue:358") - val notes = await(supabaseService.getUserNotifications()) - console.log("[loadMessages] 获取到通知数量:", notes.length, " at pages/main/messages.uvue:360") - run { - var i: Number = 0 - while(i < notes.length){ - val note = notes[i] - console.log("[loadMessages] 通知类型:", note.type, "标题:", note.title, " at pages/main/messages.uvue:365") - val item = MessageItem(id = note.id, title = note.title, content = note.content, time = formatTime(note.created_at ?: ""), read = note.is_read, type = note.type, avatar = note.icon_url, important = note.type == "system", coupon = "点击查看", expiry = "", claimed = false, order_no = "", status = "", statusText = "", role = "", lastMessage = "", online = false, unreadCount = 0, tags = _uA(), icon = "", color = "", active = false) - if (note.type == "system") { - systemMessages.push(item) - } else if (note.type == "order") { - orderMessages.push(item) - } else if (note.type == "promotion") { - item.type = "promo" - promoMessages.push(item) - } - i++ - } - } - console.log("[loadMessages] 系统消息:", systemMessages.length, "订单消息:", orderMessages.length, "优惠消息:", promoMessages.length, " at pages/main/messages.uvue:402") - val rooms = await(supabaseService.getChatRooms()) - rooms.forEach(fun(room: ChatRoom){ - val msgItem = MessageItem(id = room.merchant_id, title = room.shop_name, role = "商家客服", content = room.last_message ?: "暂无消息", lastMessage = room.last_message ?: "暂无消息", time = formatTime(room.last_message_at ?: ""), read = room.unread_count === 0, type = "service", avatar = room.shop_logo ?: "/static/icons/shop-default.png", online = true, unreadCount = room.unread_count, tags = _uA(), icon = "🏪", color = "#FF9800", important = false, coupon = "", expiry = "", claimed = false, order_no = "", status = "", statusText = "", active = false) - serviceMessages.push(msgItem) - } - ) - if (serviceMessages.length === 0) { - val defaultService = MessageItem(id = "default_service", title = "平台客服", role = "智能助手", content = "有问题请随时联系我们", lastMessage = "欢迎咨询", time = "刚刚", read = true, type = "service", avatar = "/static/icons/service-avatar.png", online = true, unreadCount = 0, tags = _uA( - "自动回复" - ), icon = "🤖", color = "#2196F3", important = false, coupon = "", expiry = "", claimed = false, order_no = "", status = "", statusText = "", active = false) - serviceMessages.push(defaultService) - } - } - catch (e: Throwable) { - console.error("加载消息失败", e, " at pages/main/messages.uvue:464") - } - finally { - updateUnreadCount() - loading.value = false - } - }) - } - onMounted(fun(){ - console.log("Messages Page Mounted", " at pages/main/messages.uvue:473") - initPage() - } - ) - onShow__1(fun(){ - console.log("Messages Page Show", " at pages/main/messages.uvue:478") - loadMessages() - } - ) - val switchTab = fun(tabId: String){ - activeTab.value = tabId - scrollTop.value = if (scrollTop.value === 0) { - 0.01 - } else { - 0 - } - } - val startChatWithService = fun(message: MessageItem){ - message.read = true - message.unreadCount = 0 - updateUnreadCount() - val merchantId = if (message.id === "default_service") { - "" - } else { - message.id - } - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/chat?merchantId=" + merchantId + "&merchantName=" + UTSAndroid.consoleDebugError(encodeURIComponent(message.title), " at pages/main/messages.uvue:500"))) - } - val viewSystemMessage = fun(message: MessageItem){ - message.read = true - updateUnreadCount() - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/message-detail?id=" + message.id + "&type=system")) - } - val viewOrderMessage = fun(message: MessageItem){ - message.read = true - updateUnreadCount() - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/order-detail?id=" + message.order_no)) - } - val viewPromoMessage = fun(message: MessageItem){ - message.read = true - updateUnreadCount() - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/coupons")) - } - val claimCoupon = fun(message: MessageItem){ - if (message.claimed) { - uni_showToast(ShowToastOptions(title = "您已领取该优惠券", icon = "none")) - return - } - message.claimed = true - val claimedCouponsCount = uni_getStorageSync("claimedCoupons") - val count = if ((claimedCouponsCount != null)) { - (claimedCouponsCount as Number) - } else { - 0 - } - uni_setStorageSync("claimedCoupons", count + 1) - val myCoupons = uni_getStorageSync("myCoupons") - var couponsList: UTSArray = _uA() - if (myCoupons != null) { - try { - couponsList = UTSAndroid.consoleDebugError(JSON.parse(myCoupons as String), " at pages/main/messages.uvue:571") as UTSArray - } - catch (e: Throwable) { - console.error("Failed to parse myCoupons", e, " at pages/main/messages.uvue:573") - } - } - couponsList.push(object : UTSJSONObject() { - var title = message.title - var amount = message.coupon - var expiry = message.expiry - var id = message.id - }) - uni_setStorageSync("myCoupons", JSON.stringify(couponsList)) - uni_showToast(ShowToastOptions(title = "领取成功", icon = "success")) - } - val clearAllUnread = fun(){ - uni_showModal(ShowModalOptions(title = "确认操作", content = "确定要标记所有消息为已读吗?", success = fun(res){ - if (res.confirm) { - serviceMessages.forEach(fun(msg: MessageItem){ - msg.read = true - msg.unreadCount = 0 - } - ) - systemMessages.forEach(fun(msg: MessageItem){ - msg.read = true - } - ) - orderMessages.forEach(fun(msg: MessageItem){ - msg.read = true - } - ) - promoMessages.forEach(fun(msg: MessageItem){ - msg.read = true - } - ) - messageTabs.forEach(fun(tab: MessageTab){ - tab.unread = 0 - } - ) - unreadCount.value = 0 - uni_showToast(ShowToastOptions(title = "已标记所有消息为已读", icon = "success")) - } - } - )) - } - val onRefresh = fun(){ - refreshing.value = true - setTimeout(fun(){ - loadMessages() - refreshing.value = false - uni_showToast(ShowToastOptions(title = "刷新成功", icon = "success")) - } - , 1000) - } - return fun(): Any? { - return _cE("view", _uM("class" to "messages-page"), _uA( - _cE("view", _uM("class" to "smart-navbar", "style" to _nS(_uM("paddingTop" to (statusBarHeight.value + "px")))), _uA( - _cE("view", _uM("class" to "nav-container"), _uA( - _cE("text", _uM("class" to "nav-title"), "消息中心"), - _cE("view", _uM("class" to "nav-actions"), _uA( - _cE("view", _uM("class" to "action-btn", "onClick" to clearAllUnread), _uA( - _cE("text", _uM("class" to "action-icon"), "🧹"), - _cE("text", _uM("class" to "action-text"), "一键已读") - )) - )) - )) - ), 4), - _cE("view", _uM("class" to "navbar-placeholder", "style" to _nS(_uM("height" to ((statusBarHeight.value + 44) + "px")))), null, 4), - _cE("view", _uM("class" to "tabs-container"), _uA( - _cE("view", _uM("class" to "message-tabs"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(messageTabs, fun(tab, __key, __index, _cached): Any { - return _cE("view", _uM("key" to tab.id, "class" to _nC(_uA( - "tab-item", - _uM("active" to (activeTab.value === tab.id)) - )), "onClick" to fun(){ - switchTab(tab.id) - } - ), _uA( - _cE("text", _uM("class" to "tab-name"), _tD(tab.name), 1), - if (tab.unread > 0) { - _cE("text", _uM("key" to 0, "class" to "tab-badge"), _tD(if (tab.unread > 99) { - "99+" - } else { - tab.unread - }), 1) - } else { - _cC("v-if", true) - } - ), 10, _uA( - "onClick" - )) - } - ), 128) - )) - )), - _cE("scroll-view", _uM("scroll-y" to "", "class" to "messages-content", "refresher-enabled" to "", "refresher-triggered" to refreshing.value, "onRefresherrefresh" to onRefresh, "scroll-top" to scrollTop.value), _uA( - if (activeTab.value === "service") { - _cE("view", _uM("key" to 0, "class" to "message-section"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(serviceMessages, fun(message, __key, __index, _cached): Any { - return _cE("view", _uM("key" to message.id, "class" to _nC(_uA( - "message-item", - _uM("active" to message.active) - )), "onClick" to fun(){ - startChatWithService(message) - }), _uA( - _cE("view", _uM("class" to "message-icon-wrapper"), _uA( - if (isTrue(message.avatar)) { - _cE("image", _uM("key" to 0, "class" to "message-avatar", "src" to message.avatar, "mode" to "aspectFill"), null, 8, _uA( - "src" - )) - } else { - _cE("view", _uM("key" to 1, "class" to "message-icon-default", "style" to _nS(_uM("backgroundColor" to message.color))), _uA( - _cE("text", _uM("class" to "message-icon-text"), _tD(message.icon), 1) - ), 4) - }, - if (message.unreadCount > 0) { - _cE("view", _uM("key" to 2, "class" to "unread-dot")) - } else { - _cC("v-if", true) - }, - if (isTrue(message.online)) { - _cE("view", _uM("key" to 3, "class" to "online-dot")) - } else { - _cC("v-if", true) - } - )), - _cE("view", _uM("class" to "message-content"), _uA( - _cE("view", _uM("class" to "message-header"), _uA( - _cE("view", _uM("class" to "message-title-wrapper"), _uA( - _cE("text", _uM("class" to "message-title"), _tD(message.title), 1), - if (isTrue(message.role)) { - _cE("text", _uM("key" to 0, "class" to "message-role"), _tD(message.role), 1) - } else { - _cC("v-if", true) - } - )), - _cE("text", _uM("class" to "message-time"), _tD(message.time), 1) - )), - _cE("view", _uM("class" to "message-preview-wrapper"), _uA( - _cE("text", _uM("class" to "message-preview"), _tD(message.content), 1), - if (message.unreadCount > 0) { - _cE("text", _uM("key" to 0, "class" to "message-unread-count"), _tD(if (message.unreadCount > 99) { - "99+" - } else { - message.unreadCount - }), 1) - } else { - _cC("v-if", true) - } - )) - )) - ), 10, _uA( - "onClick" - )) - }), 128), - _cE("view", _uM("class" to "service-tips"), _uA( - _cE("text", _uM("class" to "tip-icon"), "💡"), - _cE("text", _uM("class" to "tip-text"), "温馨提示:请勿相信任何要求转账、付款的信息,谨防诈骗") - )) - )) - } else { - _cC("v-if", true) - } - , - if (activeTab.value === "system") { - _cE("view", _uM("key" to 1, "class" to "message-section"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(systemMessages, fun(message, __key, __index, _cached): Any { - return _cE("view", _uM("key" to message.id, "class" to "message-item", "onClick" to fun(){ - viewSystemMessage(message) - }), _uA( - _cE("view", _uM("class" to "message-icon-wrapper"), _uA( - _cE("text", _uM("class" to "message-icon-text"), "📢"), - if (isTrue(!message.read)) { - _cE("view", _uM("key" to 0, "class" to "unread-dot")) - } else { - _cC("v-if", true) - } - )), - _cE("view", _uM("class" to "message-content"), _uA( - _cE("view", _uM("class" to "message-header"), _uA( - _cE("view", _uM("class" to "message-title-wrapper"), _uA( - _cE("text", _uM("class" to "message-title"), _tD(message.title), 1), - if (isTrue(message.important)) { - _cE("text", _uM("key" to 0, "class" to "important-tag"), "重要") - } else { - _cC("v-if", true) - } - )), - _cE("text", _uM("class" to "message-time"), _tD(message.time), 1) - )), - _cE("view", _uM("class" to "message-preview-wrapper"), _uA( - _cE("text", _uM("class" to "message-preview"), _tD(message.content), 1) - )) - )) - ), 8, _uA( - "onClick" - )) - }), 128) - )) - } else { - _cC("v-if", true) - } - , - if (activeTab.value === "order") { - _cE("view", _uM("key" to 2, "class" to "message-section"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(orderMessages, fun(message, __key, __index, _cached): Any { - return _cE("view", _uM("key" to message.id, "class" to "message-item", "onClick" to fun(){ - viewOrderMessage(message) - }), _uA( - _cE("view", _uM("class" to "message-icon-wrapper"), _uA( - _cE("text", _uM("class" to "message-icon-text"), "📦"), - if (isTrue(!message.read)) { - _cE("view", _uM("key" to 0, "class" to "unread-dot")) - } else { - _cC("v-if", true) - } - )), - _cE("view", _uM("class" to "message-content"), _uA( - _cE("view", _uM("class" to "message-header"), _uA( - _cE("view", _uM("class" to "message-title-wrapper"), _uA( - _cE("text", _uM("class" to "message-title"), _tD(message.title), 1), - if (isTrue(message.status)) { - _cE("view", _uM("key" to 0, "class" to _nC(_uA( - "order-status-tag", - message.status - ))), _tD(message.statusText), 3) - } else { - _cC("v-if", true) - } - )), - _cE("text", _uM("class" to "message-time"), _tD(message.time), 1) - )), - _cE("view", _uM("class" to "message-preview-wrapper"), _uA( - _cE("text", _uM("class" to "message-preview"), _tD(message.content), 1) - )), - if (isTrue(message.order_no)) { - _cE("text", _uM("key" to 0, "class" to "order-no-text"), "订单号: " + _tD(message.order_no), 1) - } else { - _cC("v-if", true) - } - )) - ), 8, _uA( - "onClick" - )) - }), 128) - )) - } else { - _cC("v-if", true) - } - , - if (activeTab.value === "promo") { - _cE("view", _uM("key" to 3, "class" to "message-section"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(promoMessages, fun(message, __key, __index, _cached): Any { - return _cE("view", _uM("key" to message.id, "class" to _nC(_uA( - "message-item", - _uM("unread" to !message.read) - )), "onClick" to fun(){ - viewPromoMessage(message) - }), _uA( - _cE("view", _uM("class" to "message-icon-wrapper"), _uA( - _cE("text", _uM("class" to "message-icon"), "🎁") - )), - _cE("view", _uM("class" to "message-content"), _uA( - _cE("view", _uM("class" to "message-header"), _uA( - _cE("text", _uM("class" to "message-title"), _tD(message.title), 1), - _cE("text", _uM("class" to "message-time"), _tD(message.time), 1) - )), - _cE("text", _uM("class" to "message-preview"), _tD(message.content), 1), - if (isTrue(message.coupon)) { - _cE("view", _uM("key" to 0, "class" to "coupon-info", "onClick" to withModifiers(fun(){ - claimCoupon(message) - }, _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "coupon-text"), _tD(message.coupon) + "优惠券", 1), - _cE("text", _uM("class" to "coupon-expiry"), "有效期至 " + _tD(message.expiry), 1), - _cE("text", _uM("class" to "coupon-action"), _tD(if (message.claimed) { - "已领取" - } else { - "点击领取" - }), 1) - ), 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - )) - ), 10, _uA( - "onClick" - )) - }), 128) - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(!loading.value && currentMessages.value.length === 0 && activeTab.value !== "service")) { - _cE("view", _uM("key" to 4, "class" to "empty-messages"), _uA( - _cE("text", _uM("class" to "empty-icon"), "💬"), - _cE("text", _uM("class" to "empty-title"), "暂无消息"), - _cE("text", _uM("class" to "empty-desc"), "暂时没有新消息") - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "safe-area")) - ), 40, _uA( - "refresher-triggered", - "scroll-top" - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("messages-page" to _pS(_uM("width" to "100%", "height" to "100%", "backgroundColor" to "#f8fafc", "display" to "flex", "flexDirection" to "column", "overflow" to "hidden")), "smart-navbar" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "backgroundColor" to "#ff5000", "zIndex" to 1000, "boxShadow" to "0 2px 12px rgba(255, 80, 0, 0.15)", "display" to "flex", "flexDirection" to "column", "justifyContent" to "flex-start", "flexShrink" to 0)), "nav-container" to _pS(_uM("paddingTop" to 0, "paddingRight" to 16, "paddingBottom" to 0, "paddingLeft" to 16, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "space-between", "width" to "100%", "maxWidth" to 1400, "marginTop" to 0, "marginRight" to "auto", "marginBottom" to 0, "marginLeft" to "auto", "height" to 44)), "nav-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#FFFFFF", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "nav-actions" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "action-btn" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "backgroundImage" to "none", "backgroundColor" to "rgba(255,255,255,0.2)", "paddingTop" to 4, "paddingRight" to 12, "paddingBottom" to 4, "paddingLeft" to 12, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "transitionProperty" to "all", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "backgroundImage:hover" to "none", "backgroundColor:hover" to "rgba(255,255,255,0.3)")), "action-icon" to _pS(_uM("fontSize" to 14, "marginRight" to 4)), "action-text" to _pS(_uM("fontSize" to 12, "color" to "#FFFFFF", "fontWeight" to "bold")), "navbar-placeholder" to _pS(_uM("width" to "100%", "flexShrink" to 0)), "tabs-container" to _pS(_uM("backgroundImage" to "none", "backgroundColor" to "#FFFFFF", "paddingTop" to 0, "paddingRight" to 10, "paddingBottom" to 0, "paddingLeft" to 10, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#e0e0e0", "boxShadow" to "0 2px 4px rgba(0, 0, 0, 0.05)", "zIndex" to 900, "height" to 42, "flexShrink" to 0)), "message-tabs" to _pS(_uM("display" to "flex", "flexDirection" to "row", "height" to "100%", "maxWidth" to 1400, "marginTop" to 0, "marginRight" to "auto", "marginBottom" to 0, "marginLeft" to "auto", "justifyContent" to "space-between", "display::-webkit-scrollbar" to "none")), "tab-item" to _uM("" to _uM("paddingTop" to 0, "paddingRight" to 4, "paddingBottom" to 0, "paddingLeft" to 4, "marginTop" to 0, "marginRight" to 2, "marginBottom" to 0, "marginLeft" to 2, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "position" to "relative", "height" to "100%", "borderBottomWidth" to 3, "borderBottomStyle" to "solid", "borderBottomColor" to "rgba(0,0,0,0)", "transitionProperty" to "all", "transitionDuration" to "0.3s", "transitionTimingFunction" to "ease", "whiteSpace" to "nowrap", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "minWidth" to 0), ".active" to _uM("color" to "#ff5000", "borderBottomColor" to "#ff5000", "fontWeight" to "bold")), "tab-name" to _pS(_uM("fontSize" to 14, "overflow" to "hidden", "textOverflow" to "ellipsis")), "tab-badge" to _pS(_uM("backgroundColor" to "#FF5722", "color" to "#FFFFFF", "fontSize" to 10, "paddingTop" to 1, "paddingRight" to 5, "paddingBottom" to 1, "paddingLeft" to 5, "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "minWidth" to 16, "textAlign" to "center", "fontWeight" to "bold", "marginLeft" to 4, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "height" to 16)), "messages-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 0, "width" to "100%", "maxWidth" to 1400, "marginTop" to 0, "marginRight" to "auto", "marginBottom" to 0, "marginLeft" to "auto", "paddingBottom" to 20)), "customer-service-info" to _pS(_uM("backgroundImage" to "none", "backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "marginTop" to 15, "marginRight" to 15, "marginBottom" to 15, "marginLeft" to 15, "boxShadow" to "0 2px 8px rgba(0, 0, 0, 0.08)")), "service-header" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 10)), "service-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333")), "service-status" to _uM("" to _uM("fontSize" to 12, "paddingTop" to 4, "paddingRight" to 10, "paddingBottom" to 4, "paddingLeft" to 10, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "fontWeight" to "bold"), ".online" to _uM("backgroundImage" to "none", "backgroundColor" to "#FFF3E0", "color" to "#ff5000")), "service-desc" to _pS(_uM("fontSize" to 14, "color" to "#666666", "lineHeight" to 1.5, "marginBottom" to 20)), "service-categories" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "paddingTop" to 6, "paddingRight" to 6, "paddingBottom" to 6, "paddingLeft" to 6)), "category-item" to _pS(_uM("backgroundImage" to "none", "backgroundColor" to "#f8f9fa", "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "transitionProperty" to "all", "transitionDuration" to "0.3s", "transitionTimingFunction" to "ease", "marginTop" to "1%", "marginRight" to "1%", "marginBottom" to "1%", "marginLeft" to "1%", "width" to "48%", "backgroundImage:hover" to "none", "backgroundColor:hover" to "#e8f5e9", "transform:hover" to "translateY(-2px)", "boxShadow:hover" to "0 4px 8px rgba(76, 175, 80, 0.2)")), "category-icon" to _pS(_uM("fontSize" to 24, "marginBottom" to 8)), "category-name" to _pS(_uM("fontSize" to 13, "color" to "#333333", "fontWeight" to "bold")), "message-section" to _pS(_uM("paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10)), "message-item" to _uM("" to _uM("backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "marginBottom" to 12, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "boxShadow" to "0 1px 4px rgba(0, 0, 0, 0.04)", "transitionProperty" to "opacity", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "opacity:active" to 0.7), ".unread" to _uM("backgroundColor" to "#FFFFFF")), "message-icon-wrapper" to _pS(_uM("width" to 48, "height" to 48, "borderTopLeftRadius" to 24, "borderTopRightRadius" to 24, "borderBottomRightRadius" to 24, "borderBottomLeftRadius" to 24, "backgroundColor" to "#f8fafc", "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "marginRight" to 12, "flexShrink" to 0, "position" to "relative")), "message-icon-default" to _pS(_uM("width" to "100%", "height" to "100%", "borderTopLeftRadius" to 24, "borderTopRightRadius" to 24, "borderBottomRightRadius" to 24, "borderBottomLeftRadius" to 24, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "message-icon-text" to _pS(_uM("fontSize" to 22)), "message-avatar" to _pS(_uM("width" to "100%", "height" to "100%", "borderTopLeftRadius" to 24, "borderTopRightRadius" to 24, "borderBottomRightRadius" to 24, "borderBottomLeftRadius" to 24)), "unread-dot" to _pS(_uM("position" to "absolute", "top" to 0, "right" to 0, "width" to 10, "height" to 10, "backgroundColor" to "#ff5000", "borderTopLeftRadius" to 5, "borderTopRightRadius" to 5, "borderBottomRightRadius" to 5, "borderBottomLeftRadius" to 5, "borderTopWidth" to 1.5, "borderRightWidth" to 1.5, "borderBottomWidth" to 1.5, "borderLeftWidth" to 1.5, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#FFFFFF", "borderRightColor" to "#FFFFFF", "borderBottomColor" to "#FFFFFF", "borderLeftColor" to "#FFFFFF")), "online-dot" to _pS(_uM("position" to "absolute", "bottom" to 0, "right" to 0, "width" to 12, "height" to 12, "backgroundColor" to "#4cd964", "borderTopLeftRadius" to 6, "borderTopRightRadius" to 6, "borderBottomRightRadius" to 6, "borderBottomLeftRadius" to 6, "borderTopWidth" to 2, "borderRightWidth" to 2, "borderBottomWidth" to 2, "borderLeftWidth" to 2, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#FFFFFF", "borderRightColor" to "#FFFFFF", "borderBottomColor" to "#FFFFFF", "borderLeftColor" to "#FFFFFF")), "message-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "minWidth" to 0, "display" to "flex", "flexDirection" to "column")), "message-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 4)), "message-title-wrapper" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "minWidth" to 0, "display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "message-title" to _pS(_uM("fontSize" to 16, "color" to "#1a1a1a", "fontWeight" to "bold", "overflow" to "hidden", "textOverflow" to "ellipsis", "whiteSpace" to "nowrap")), "message-role" to _pS(_uM("fontSize" to 10, "color" to "#ff5000", "backgroundImage" to "none", "backgroundColor" to "#fff0eb", "paddingTop" to 1, "paddingRight" to 6, "paddingBottom" to 1, "paddingLeft" to 6, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "marginLeft" to 6, "flexShrink" to 0)), "message-time" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginLeft" to 10, "flexShrink" to 0)), "message-preview-wrapper" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "space-between")), "message-preview" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to 13, "color" to "#666666", "lineHeight" to 1.4, "overflow" to "hidden", "textOverflow" to "ellipsis", "whiteSpace" to "nowrap", "marginRight" to 8)), "message-unread-count" to _pS(_uM("fontSize" to 10, "color" to "#FFFFFF", "backgroundImage" to "none", "backgroundColor" to "#ff5000", "paddingTop" to 0, "paddingRight" to 5, "paddingBottom" to 0, "paddingLeft" to 5, "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "minWidth" to 16, "height" to 16, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "fontWeight" to "bold", "flexShrink" to 0)), "last-message" to _pS(_uM("fontSize" to 13, "color" to "#999999")), "message-tags" to _pS(_uM("display" to "flex", "flexWrap" to "wrap")), "message-tag" to _pS(_uM("fontSize" to 11, "color" to "#666666", "backgroundImage" to "none", "backgroundColor" to "#f0f0f0", "paddingTop" to 3, "paddingRight" to 8, "paddingBottom" to 3, "paddingLeft" to 8, "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "marginRight" to 6, "marginBottom" to 4)), "order-info" to _pS(_uM("fontSize" to 12, "color" to "#ff5000", "backgroundColor" to "#FFF3E0", "paddingTop" to 4, "paddingRight" to 10, "paddingBottom" to 4, "paddingLeft" to 10, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "marginTop" to 8, "alignSelf" to "flex-start")), "order-status" to _uM("" to _uM("fontSize" to 12, "paddingTop" to 4, "paddingRight" to 10, "paddingBottom" to 4, "paddingLeft" to 10, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "marginTop" to 8, "marginLeft" to 8, "alignSelf" to "flex-start"), ".shipping" to _uM("backgroundImage" to "none", "backgroundColor" to "#E3F2FD", "color" to "#2196F3"), ".processing" to _uM("backgroundImage" to "none", "backgroundColor" to "#FFF3E0", "color" to "#FF9800"), ".completed" to _uM("backgroundImage" to "none", "backgroundColor" to "#FFF3E0", "color" to "#ff5000")), "important-tag" to _pS(_uM("backgroundColor" to "#ff5000", "color" to "#FFFFFF", "fontSize" to 10, "paddingTop" to 1, "paddingRight" to 6, "paddingBottom" to 1, "paddingLeft" to 6, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "marginTop" to 8, "alignSelf" to "flex-start", "marginLeft" to 6, "flexShrink" to 0)), "coupon-info" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #FF9800, #FF5722)", "backgroundColor" to "rgba(0,0,0,0)", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10, "marginTop" to 8, "color" to "#FFFFFF")), "coupon-text" to _pS(_uM("fontSize" to 14, "fontWeight" to "bold", "marginBottom" to 4)), "coupon-expiry" to _pS(_uM("fontSize" to 12, "opacity" to 0.9)), "coupon-action" to _pS(_uM("fontSize" to 12, "color" to "#ffffff", "backgroundColor" to "rgba(255,255,255,0.2)", "paddingTop" to 2, "paddingRight" to 8, "paddingBottom" to 2, "paddingLeft" to 8, "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "marginTop" to 4, "alignSelf" to "flex-start")), "service-tips" to _pS(_uM("backgroundImage" to "none", "backgroundColor" to "#FFF3E0", "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "marginTop" to 15, "marginRight" to 15, "marginBottom" to 15, "marginLeft" to 15, "display" to "flex", "alignItems" to "flex-start")), "tip-icon" to _pS(_uM("fontSize" to 18, "color" to "#FF9800", "flexShrink" to 0, "marginTop" to 2, "marginRight" to 10)), "tip-text" to _pS(_uM("fontSize" to 13, "color" to "#666666", "lineHeight" to 1.5)), "order-no-text" to _pS(_uM("fontSize" to 11, "color" to "#999999", "marginTop" to 4)), "order-status-tag" to _uM("" to _uM("fontSize" to 10, "paddingTop" to 1, "paddingRight" to 6, "paddingBottom" to 1, "paddingLeft" to 6, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "marginLeft" to 6, "flexShrink" to 0), ".shipping" to _uM("backgroundImage" to "none", "backgroundColor" to "#e3f2fd", "color" to "#2196f3"), ".processing" to _uM("backgroundImage" to "none", "backgroundColor" to "#fff8e1", "color" to "#ffb300"), ".completed" to _uM("backgroundImage" to "none", "backgroundColor" to "#fff0eb", "color" to "#ff5000")), "empty-messages" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 100)), "empty-icon" to _pS(_uM("fontSize" to 60, "marginBottom" to 16, "opacity" to 0.3)), "empty-title" to _pS(_uM("fontSize" to 16, "color" to "#333333", "fontWeight" to "bold", "marginBottom" to 8)), "empty-desc" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "floating-action" to _pS(_uM("position" to "fixed", "bottom" to 20, "right" to 20, "zIndex" to 100)), "action-button" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #ff5000, #e64a00)", "backgroundColor" to "rgba(0,0,0,0)", "color" to "#FFFFFF", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "paddingTop" to 12, "paddingRight" to 20, "paddingBottom" to 12, "paddingLeft" to 20, "display" to "flex", "alignItems" to "center", "boxShadow" to "0 4px 12px rgba(76, 175, 80, 0.3)", "fontWeight" to "bold")), "button-icon" to _pS(_uM("fontSize" to 18, "marginRight" to 8)), "button-text" to _pS(_uM("fontSize" to 14, "fontWeight" to "bold")), "safe-area" to _pS(_uM("height" to 80)), "@TRANSITION" to _uM("action-btn" to _uM("property" to "all", "duration" to "0.2s", "timingFunction" to "ease"), "tab-item" to _uM("property" to "all", "duration" to "0.3s", "timingFunction" to "ease"), "category-item" to _uM("property" to "all", "duration" to "0.3s", "timingFunction" to "ease"), "message-item" to _uM("property" to "opacity", "duration" to "0.2s", "timingFunction" to "ease"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/main/profile.kt b/unpackage/cache/.app-android/src/pages/main/profile.kt deleted file mode 100644 index 23f3b3ba..00000000 --- a/unpackage/cache/.app-android/src/pages/main/profile.kt +++ /dev/null @@ -1,1348 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.`$off` as uni__off -import io.dcloud.uniapp.extapi.`$on` as uni__on -import io.dcloud.uniapp.extapi.getSystemInfoSync as uni_getSystemInfoSync -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.showActionSheet as uni_showActionSheet -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMainProfile : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) { - onLoad(fun(_: OnLoadOptions) { - this.initPage() - this.loadUserProfile() - this.loadOrders() - uni__on("orderUpdated", this.handleOrderUpdated) - } - , __ins) - onPageShow(fun() { - this.refreshData() - } - , __ins) - onUnload(fun() { - uni__off("orderUpdated", this.handleOrderUpdated) - } - , __ins) - } - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - override fun `$render`(): Any? { - val _ctx = this - val _cache = this.`$`.renderCache - return _cE("view", _uM("class" to "consumer-profile"), _uA( - _cE("view", _uM("class" to "smart-navbar", "style" to _nS(_uM("paddingTop" to (_ctx.statusBarHeight + "px")))), _uA( - _cE("view", _uM("class" to "nav-container"), _uA( - _cE("view", _uM("class" to "nav-user-basic", "onClick" to _ctx.editProfile), _uA( - _cE("image", _uM("src" to if (_ctx.userInfo.avatar_url != "") { - _ctx.userInfo.avatar_url - } else { - "/static/images/default-product.png" - } - , "class" to "nav-avatar"), null, 8, _uA( - "src" - )), - _cE("text", _uM("class" to "nav-user-name"), _tD(if (_ctx.userInfo.nickname != "") { - _ctx.userInfo.nickname - } else { - _ctx.userInfo.phone - } - ), 1) - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "nav-user-stats", "style" to _nS(_uM("marginRight" to (_ctx.navBarRight + "px")))), _uA( - _cE("view", _uM("class" to "nav-stat-item", "onClick" to _ctx.goToPoints), _uA( - _cE("text", _uM("class" to "nav-stat-label"), "积分"), - _cE("text", _uM("class" to "nav-stat-value"), _tD(_ctx.userStats.points), 1) - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "nav-stat-item", "onClick" to _ctx.goToWallet), _uA( - _cE("text", _uM("class" to "nav-stat-label"), "余额"), - _cE("text", _uM("class" to "nav-stat-value"), "¥" + _tD(_ctx.userStats.balance), 1) - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "nav-stat-item", "onClick" to _ctx.goToCoupons), _uA( - _cE("text", _uM("class" to "nav-stat-label"), "券"), - _cE("text", _uM("class" to "nav-stat-value"), _tD(_ctx.serviceCounts.coupons), 1) - ), 8, _uA( - "onClick" - )) - ), 4), - _cE("view", _uM("class" to "nav-actions"), _uA( - _cE("view", _uM("class" to "action-btn", "onClick" to _ctx.goToSettings), _uA( - _cE("text", _uM("class" to "action-icon"), "⚙️") - ), 8, _uA( - "onClick" - )) - )) - )) - ), 4), - _cE("scroll-view", _uM("class" to "profile-scroll-content", "scroll-y" to true), _uA( - _cE("view", _uM("style" to _nS(_uM("height" to ((_ctx.statusBarHeight + 44) + "px")))), null, 4), - _cE("view", _uM("class" to "my-services", "style" to _nS(_uM("margin-top" to "10px"))), _uA( - _cE("view", _uM("class" to "section-title"), "我的服务"), - _cE("view", _uM("class" to "service-grid"), _uA( - _cE("view", _uM("class" to "service-item", "onClick" to _ctx.goToCoupons), _uA( - _cE("text", _uM("class" to "service-icon"), "🎫"), - _cE("text", _uM("class" to "service-text"), "优惠券"), - if (_ctx.serviceCounts.coupons > 0) { - _cE("text", _uM("key" to 0, "class" to "service-badge"), _tD(_ctx.serviceCounts.coupons), 1) - } else { - _cC("v-if", true) - } - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "service-item", "onClick" to _ctx.goToAddress), _uA( - _cE("text", _uM("class" to "service-icon"), "📍"), - _cE("text", _uM("class" to "service-text"), "收货地址") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "service-item", "onClick" to _ctx.goToFavorites), _uA( - _cE("text", _uM("class" to "service-icon"), "❤️"), - _cE("text", _uM("class" to "service-text"), "我的收藏"), - if (_ctx.serviceCounts.favorites > 0) { - _cE("text", _uM("key" to 0, "class" to "service-badge"), _tD(_ctx.serviceCounts.favorites), 1) - } else { - _cC("v-if", true) - } - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "service-item", "onClick" to _ctx.goToFootprint), _uA( - _cE("text", _uM("class" to "service-icon"), "👣"), - _cE("text", _uM("class" to "service-text"), "浏览足迹") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "service-item", "onClick" to _ctx.goToRefund), _uA( - _cE("text", _uM("class" to "service-icon"), "🔄"), - _cE("text", _uM("class" to "service-text"), "退款/售后") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "service-item", "onClick" to _ctx.goToOrderReviews), _uA( - _cE("text", _uM("class" to "service-icon"), "📝"), - _cE("text", _uM("class" to "service-text"), "评价") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "service-item", "onClick" to _ctx.goToFollowedShops), _uA( - _cE("text", _uM("class" to "service-icon"), "⭐"), - _cE("text", _uM("class" to "service-text"), "关注店铺") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "service-item", "onClick" to _ctx.goToPoints), _uA( - _cE("text", _uM("class" to "service-icon"), "💰"), - _cE("text", _uM("class" to "service-text"), "我的积分") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "service-item", "onClick" to _ctx.goToBalance), _uA( - _cE("text", _uM("class" to "service-icon"), "💵"), - _cE("text", _uM("class" to "service-text"), "我的余额") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "service-item", "onClick" to _ctx.goToShare), _uA( - _cE("text", _uM("class" to "service-icon"), "🔗"), - _cE("text", _uM("class" to "service-text"), "我的分享") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "service-item", "onClick" to _ctx.goToMember), _uA( - _cE("text", _uM("class" to "service-icon"), "👑"), - _cE("text", _uM("class" to "service-text"), "会员中心") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "service-item", "onClick" to _ctx.goToSettings), _uA( - _cE("text", _uM("class" to "service-icon"), "⚙️"), - _cE("text", _uM("class" to "service-text"), "设置") - ), 8, _uA( - "onClick" - )) - )) - ), 4), - _cE("view", _uM("class" to "order-shortcuts"), _uA( - _cE("view", _uM("class" to "section-header-row"), _uA( - _cE("text", _uM("class" to "section-title"), "我的订单"), - _cE("text", _uM("class" to "view-all", "onClick" to fun(){ - _ctx.goToOrders(_ctx.currentOrderTab) - } - ), "查看更多 ❯", 8, _uA( - "onClick" - )) - )), - _cE("view", _uM("class" to "order-tabs"), _uA( - _cE("view", _uM("class" to _nC(_uA( - "order-tab", - _uM("active" to (_ctx.currentOrderTab === "all")) - )), "onClick" to fun(){ - _ctx.switchOrderTab("all") - } - ), _uA( - _cE("text", _uM("class" to "tab-icon"), "📋"), - _cE("text", _uM("class" to "tab-text"), "全部"), - if (_ctx.orderCounts.total > 0) { - _cE("text", _uM("key" to 0, "class" to "tab-badge"), _tD(_ctx.orderCounts.total), 1) - } else { - _cC("v-if", true) - } - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "order-tab", - _uM("active" to (_ctx.currentOrderTab === "pending")) - )), "onClick" to fun(){ - _ctx.switchOrderTab("pending") - } - ), _uA( - _cE("text", _uM("class" to "tab-icon"), "💰"), - _cE("text", _uM("class" to "tab-text"), "待支付"), - if (_ctx.orderCounts.pending > 0) { - _cE("text", _uM("key" to 0, "class" to "tab-badge"), _tD(_ctx.orderCounts.pending), 1) - } else { - _cC("v-if", true) - } - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "order-tab", - _uM("active" to (_ctx.currentOrderTab === "toship")) - )), "onClick" to fun(){ - _ctx.switchOrderTab("toship") - } - ), _uA( - _cE("text", _uM("class" to "tab-icon"), "🚚"), - _cE("text", _uM("class" to "tab-text"), "待发货"), - if (_ctx.orderCounts.toship > 0) { - _cE("text", _uM("key" to 0, "class" to "tab-badge"), _tD(_ctx.orderCounts.toship), 1) - } else { - _cC("v-if", true) - } - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "order-tab", - _uM("active" to (_ctx.currentOrderTab === "shipped")) - )), "onClick" to fun(){ - _ctx.switchOrderTab("shipped") - } - ), _uA( - _cE("text", _uM("class" to "tab-icon"), "📦"), - _cE("text", _uM("class" to "tab-text"), "待收货"), - if (_ctx.orderCounts.shipped > 0) { - _cE("text", _uM("key" to 0, "class" to "tab-badge"), _tD(_ctx.orderCounts.shipped), 1) - } else { - _cC("v-if", true) - } - ), 10, _uA( - "onClick" - )) - )) - )), - _cE("view", _uM("class" to "recent-orders"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("text", _uM("class" to "section-title"), _tD(_ctx.getOrderSectionTitle()), 1) - )), - if (_ctx.filteredOrders.length === 0) { - _cE("view", _uM("key" to 0, "class" to "empty-orders"), _uA( - _cE("text", _uM("class" to "empty-text"), "暂无相关订单记录"), - _cE("button", _uM("class" to "start-shopping", "onClick" to _ctx.goShopping), "去逛逛", 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - , - _cE(Fragment, null, RenderHelpers.renderList(_ctx.filteredOrders, fun(order, __key, __index, _cached): Any { - return _cE("view", _uM("key" to order.id, "class" to "order-item", "onClick" to fun(){ - _ctx.viewOrderDetail(order) - } - ), _uA( - _cE("view", _uM("class" to "order-item-header"), _uA( - _cE("view", _uM("class" to "order-shop"), _uA( - _cE("text", _uM("class" to "shop-icon"), "🏪"), - _cE("text", _uM("class" to "shop-name"), _tD(_ctx.getOrderShopName(order)), 1), - _cE("text", _uM("class" to "shop-arrow"), " › ") - )), - _cE("view", _uM("class" to "status-row"), _uA( - _cE("text", _uM("class" to _nC(_uA( - "order-status-text", - _ctx.getOrderStatusClass(order.status) - ))), _tD(_ctx.getOrderStatusText(order.status)), 3), - _cE("text", _uM("class" to "more-btn", "onClick" to withModifiers(fun(){ - _ctx.showOrderMenu(order) - } - , _uA( - "stop" - ))), "⋯", 8, _uA( - "onClick" - )) - )) - )), - _cE("view", _uM("class" to "order-item-content"), _uA( - _cE("image", _uM("src" to _ctx.getOrderMainImage(order), "class" to "order-item-image", "mode" to "aspectFill", "onClick" to withModifiers(fun(){ - _ctx.goToProductFromOrder(order) - } - , _uA( - "stop" - ))), null, 8, _uA( - "src", - "onClick" - )), - _cE("view", _uM("class" to "order-item-info"), _uA( - _cE("view", _uM("class" to "order-title-row"), _uA( - _cE("text", _uM("class" to "order-item-title"), _tD(_ctx.getOrderTitle(order)), 1), - _cE("text", _uM("class" to "order-item-price"), "¥" + _tD(order.actual_amount), 1) - )), - _cE("view", _uM("class" to "order-spec-row"), _uA( - _cE("text", _uM("class" to "order-item-spec"), _tD(_ctx.getOrderSpec(order)), 1), - _cE("text", _uM("class" to "order-item-num"), "x" + _tD(_ctx.getOrderItemCount(order)), 1) - )), - _cE("text", _uM("class" to "order-item-time"), _tD(_ctx.formatDateTime(order.created_at)), 1) - )) - )), - _cE("view", _uM("class" to "order-item-actions"), _uA( - if (order.status === 1) { - _cE("button", _uM("key" to 0, "class" to "order-action-btn pay", "onClick" to withModifiers(fun(){ - _ctx.payOrder(order) - }, _uA( - "stop" - ))), "立即支付", 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - , - if (order.status === 3) { - _cE("button", _uM("key" to 1, "class" to "order-action-btn confirm", "onClick" to withModifiers(fun(){ - _ctx.confirmReceive(order) - }, _uA( - "stop" - ))), "确认收货", 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - , - if (order.status === 4) { - _cE("button", _uM("key" to 2, "class" to "order-action-btn review", "onClick" to withModifiers(fun(){ - _ctx.reviewOrder(order) - }, _uA( - "stop" - ))), "评价", 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(order.status === 2 || order.status === 3)) { - _cE("button", _uM("key" to 3, "class" to "order-action-btn secondary", "onClick" to withModifiers(fun(){ - _ctx.viewOrderDetail(order) - }, _uA( - "stop" - ))), "查看物流", 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - )) - ), 8, _uA( - "onClick" - )) - } - ), 128) - )), - _cE("view", _uM("class" to "consumption-stats"), _uA( - _cE("view", _uM("class" to "section-title"), "消费统计"), - _cE("view", _uM("class" to "stats-period"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(_ctx.statsPeriods, fun(period, __key, __index, _cached): Any { - return _cE("text", _uM("key" to period.key, "class" to _nC(_uA( - "period-tab", - _uM("active" to (_ctx.activeStatsPeriod === period.key)) - )), "onClick" to fun(){ - _ctx.switchStatsPeriod(period.key) - } - ), _tD(period.label), 11, _uA( - "onClick" - )) - } - ), 128) - )), - _cE("view", _uM("class" to "stats-content"), _uA( - _cE("view", _uM("class" to "stat-card"), _uA( - _cE("text", _uM("class" to "stat-value"), "¥" + _tD(_ctx.currentStats.total_amount), 1), - _cE("text", _uM("class" to "stat-label"), "总消费") - )), - _cE("view", _uM("class" to "stat-card"), _uA( - _cE("text", _uM("class" to "stat-value"), _tD(_ctx.currentStats.order_count), 1), - _cE("text", _uM("class" to "stat-label"), "订单数") - )), - _cE("view", _uM("class" to "stat-card"), _uA( - _cE("text", _uM("class" to "stat-value"), "¥" + _tD(_ctx.currentStats.avg_amount), 1), - _cE("text", _uM("class" to "stat-label"), "平均消费") - )), - _cE("view", _uM("class" to "stat-card"), _uA( - _cE("text", _uM("class" to "stat-value"), _tD(_ctx.currentStats.save_amount), 1), - _cE("text", _uM("class" to "stat-label"), "节省金额") - )) - )) - )) - )) - )) - } - open var userInfo: UserType by `$data` - open var userStats: UserStatsType by `$data` - open var orderCounts: OrderCountsType by `$data` - open var serviceCounts: ServiceCountsType by `$data` - open var recentOrders: UTSArray by `$data` - open var statsPeriods: UTSArray by `$data` - open var activeStatsPeriod: String by `$data` - open var currentStats: ConsumptionStatsType by `$data` - open var statusBarHeight: Number by `$data` - open var navBarRight: Number by `$data` - open var currentOrderTab: String by `$data` - open var allOrders: UTSArray by `$data` - open var filteredOrders: UTSArray by `$data` - @Suppress("USELESS_CAST") - override fun data(): Map { - return _uM("userInfo" to UserType(id = "", phone = "", email = "", nickname = "", avatar_url = "", gender = 0, user_type = 0, status = 0, created_at = ""), "userStats" to UserStatsType(points = 0, balance = 0, level = 1), "orderCounts" to OrderCountsType(total = 0, pending = 0, toship = 0, shipped = 0, review = 0), "serviceCounts" to ServiceCountsType(coupons = 0, favorites = 0), "recentOrders" to _uA(), "statsPeriods" to _uA(StatsPeriodType(key = "month", label = "本月"), StatsPeriodType(key = "quarter", label = "本季度"), StatsPeriodType(key = "year", label = "本年"), StatsPeriodType(key = "all", label = "全部")), "activeStatsPeriod" to "month", "currentStats" to ConsumptionStatsType(total_amount = 0, order_count = 0, avg_amount = 0, save_amount = 0), "statusBarHeight" to 0, "navBarRight" to 0, "currentOrderTab" to "all" as String, "allOrders" to _uA(), "filteredOrders" to computed>(fun(): UTSArray { - val result: UTSArray = _uA() - if (this.currentOrderTab === "all") { - run { - var i: Number = 0 - while(i < this.allOrders.length){ - result.push(this.allOrders[i]) - i++ - } - } - return result - } - var targetStatus: Number = 0 - if (this.currentOrderTab === "pending") { - targetStatus = 1 - } else if (this.currentOrderTab === "toship") { - targetStatus = 2 - } else if (this.currentOrderTab === "shipped") { - targetStatus = 3 - } else if (this.currentOrderTab === "review") { - targetStatus = 4 - } else { - return result - } - run { - var i: Number = 0 - while(i < this.allOrders.length){ - if (this.allOrders[i].status === targetStatus) { - result.push(this.allOrders[i]) - } - i++ - } - } - return result - } - )) - } - open var loadOrders = ::gen_loadOrders_fn - open fun gen_loadOrders_fn(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val orders = await(supabaseService.getOrders()) - val mappedOrders: UTSArray = _uA() - run { - var i: Number = 0 - while(i < orders.length){ - val rawItem = orders[i] - val o = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(rawItem)), " at pages/main/profile.uvue:431") as UTSJSONObject - var status = o.getNumber("status") - if (status == null) { - val orderStatus = o.getNumber("order_status") - status = if (orderStatus != null) { - orderStatus - } else { - 0 - } - } - var actualAmount = o.getNumber("actual_amount") - if (actualAmount == null) { - val totalAmount = o.getNumber("total_amount") - actualAmount = if (totalAmount != null) { - totalAmount - } else { - 0 - } - } - val mlOrderItems = o.get("ml_order_items") - var itemsCount: Number = 0 - if (mlOrderItems != null && UTSArray.isArray(mlOrderItems)) { - itemsCount = (mlOrderItems as UTSArray).length - } - val orderItem = OrderItemType(id = o.getString("id") ?: "", order_no = o.getString("order_no") ?: "", status = status, actual_amount = actualAmount, created_at = o.getString("created_at") ?: "", ml_order_items = mlOrderItems, ml_shops = o.get("ml_shops"), items_count = itemsCount) - mappedOrders.push(orderItem) - i++ - } - } - run { - var i: Number = 0 - while(i < mappedOrders.length){ - run { - var j: Number = i + 1 - while(j < mappedOrders.length){ - val dateA = mappedOrders[i]["created_at"] as String - val dateB = mappedOrders[j]["created_at"] as String - val timeA = Date(if (dateA != null) { - dateA - } else { - "1970-01-01" - } - ).getTime() - val timeB = Date(if (dateB != null) { - dateB - } else { - "1970-01-01" - } - ).getTime() - if (timeA < timeB) { - val temp = mappedOrders[i] - mappedOrders[i] = mappedOrders[j] - mappedOrders[j] = temp - } - j++ - } - } - i++ - } - } - this.allOrders = mappedOrders - val recentList: UTSArray = _uA() - val limit = if (mappedOrders.length < 5) { - mappedOrders.length - } else { - 5 - } - run { - var i: Number = 0 - while(i < limit){ - recentList.push(mappedOrders[i]) - i++ - } - } - this.recentOrders = recentList - var total: Number = 0 - var pending: Number = 0 - var toship: Number = 0 - var shipped: Number = 0 - var review: Number = 0 - run { - var i: Number = 0 - while(i < mappedOrders.length){ - total++ - val status = mappedOrders[i].status - if (status === 1) { - pending++ - } else if (status === 2) { - toship++ - } else if (status === 3) { - shipped++ - } else if (status === 4) { - review++ - } - i++ - } - } - this.orderCounts = OrderCountsType(total = total, pending = pending, toship = toship, shipped = shipped, review = review) - } - catch (e: Throwable) { - console.error("加载订单异常", e, " at pages/main/profile.uvue:512") - } - }) - } - open var switchOrderTab = ::gen_switchOrderTab_fn - open fun gen_switchOrderTab_fn(tab: String) { - this.currentOrderTab = tab - } - open var getOrderSectionTitle = ::gen_getOrderSectionTitle_fn - open fun gen_getOrderSectionTitle_fn(): String { - if (this.currentOrderTab === "all") { - return "全部订单" - } - if (this.currentOrderTab === "pending") { - return "待支付订单" - } - if (this.currentOrderTab === "shipped") { - return "待收货订单" - } - if (this.currentOrderTab === "review") { - return "待评价订单" - } - return "我的订单" - } - open var initPage = ::gen_initPage_fn - open fun gen_initPage_fn() { - val systemInfo = uni_getSystemInfoSync() - this.statusBarHeight = systemInfo.statusBarHeight ?: 0 - } - open var loadUserProfile = ::gen_loadUserProfile_fn - open fun gen_loadUserProfile_fn(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val profile = await(supabaseService.getUserProfile()) - if (profile != null) { - var uId = "" - var uPhone = "" - var uEmail = "" - var uNickname = "" - var uAvatar = "" - var uGender: Number = 0 - if (profile is UTSJSONObject) { - uId = (profile as UTSJSONObject).getString("user_id") ?: "" - uPhone = (profile as UTSJSONObject).getString("phone") ?: "" - uEmail = (profile as UTSJSONObject).getString("email") ?: "" - uNickname = (profile as UTSJSONObject).getString("nickname") ?: "" - uAvatar = (profile as UTSJSONObject).getString("avatar_url") ?: "" - uGender = (profile as UTSJSONObject).getNumber("gender") ?: 0 - } else { - val profileObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(profile)), " at pages/main/profile.uvue:569") as UTSJSONObject - uId = profileObj.getString("user_id") ?: "" - uPhone = profileObj.getString("phone") ?: "" - uEmail = profileObj.getString("email") ?: "" - uNickname = profileObj.getString("nickname") ?: "" - uAvatar = profileObj.getString("avatar_url") ?: "" - uGender = profileObj.getNumber("gender") ?: 0 - } - if (uNickname === "" && uPhone !== "") { - uNickname = uPhone.substring(0, 3) + "****" + uPhone.substring(7) - } - this.userInfo = UserType(id = uId, phone = uPhone, email = uEmail, nickname = if (uNickname != "") { - uNickname - } else { - "微信用户" - }, avatar_url = if (uAvatar != "") { - uAvatar - } else { - "/static/images/default-product.png" - }, gender = uGender, user_type = 1, status = 1, created_at = Date().toISOString()) - } else { - val userId = supabaseService.getCurrentUserId() - if (userId != null) { - this.userInfo.id = userId - this.userInfo.nickname = "用户" + userId.substring(0, 4) - } else { - this.userInfo.nickname = "未登录" - } - } - val balanceResult = await(supabaseService.getUserBalance()) - val points = await(supabaseService.getUserPoints()) - val balanceValue = balanceResult.getNumber("balance") ?: 0 - this.userStats = UserStatsType(points = points, balance = balanceValue, level = this.calculateLevel(points)) - } - catch (e: Throwable) { - console.error("加载用户信息失败", e, " at pages/main/profile.uvue:617") - } - }) - } - open var calculateLevel = ::gen_calculateLevel_fn - open fun gen_calculateLevel_fn(points: Number): Number { - if (points < 1000) { - return 0 - } - if (points < 5000) { - return 1 - } - if (points < 20000) { - return 2 - } - if (points < 50000) { - return 3 - } - return 4 - } - open var loadConsumptionStats = ::gen_loadConsumptionStats_fn - open fun gen_loadConsumptionStats_fn() { - if (this.activeStatsPeriod === "month") { - this.currentStats = ConsumptionStatsType(total_amount = 1280.50, order_count = 8, avg_amount = 160.06, save_amount = 85.20) - } else if (this.activeStatsPeriod === "quarter") { - this.currentStats = ConsumptionStatsType(total_amount = 3680.80, order_count = 18, avg_amount = 204.49, save_amount = 256.30) - } else if (this.activeStatsPeriod === "year") { - this.currentStats = ConsumptionStatsType(total_amount = 15680.90, order_count = 56, avg_amount = 280.02, save_amount = 986.50) - } else { - this.currentStats = ConsumptionStatsType(total_amount = 25680.50, order_count = 89, avg_amount = 288.55, save_amount = 1580.20) - } - } - open var refreshData = ::gen_refreshData_fn - open fun gen_refreshData_fn() { - this.loadUserProfile() - this.loadOrders() - this.updateCouponCount() - } - open var updateCouponCount = ::gen_updateCouponCount_fn - open fun gen_updateCouponCount_fn(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val count = await(supabaseService.getUserCouponCount()) - this.serviceCounts.coupons = count - } - catch (e: Throwable) { - console.error("获取优惠券数量失败", e, " at pages/main/profile.uvue:675") - this.serviceCounts.coupons = 0 - } - }) - } - open var getUserLevel = ::gen_getUserLevel_fn - open fun gen_getUserLevel_fn(): String { - val levels = _uA( - "新手", - "铜牌会员", - "银牌会员", - "金牌会员", - "钻石会员" - ) - if (this.userStats.level >= 0 && this.userStats.level < levels.length) { - return levels[this.userStats.level] - } - return "新手" - } - open var getOrderStatusText = ::gen_getOrderStatusText_fn - open fun gen_getOrderStatusText_fn(status: Number): String { - if (status === 6) { - return "退款中" - } - if (status === 7) { - return "已退款" - } - val statusTexts = _uA( - "异常", - "待支付", - "待发货", - "待收货", - "已完成", - "已取消" - ) - if (status >= 0 && status < statusTexts.length) { - return statusTexts[status] - } - return "未知" - } - open var getOrderStatusClass = ::gen_getOrderStatusClass_fn - open fun gen_getOrderStatusClass_fn(status: Number): String { - if (status === 6) { - return "refunding" - } - if (status === 7) { - return "refunded" - } - val statusClasses = _uA( - "error", - "pending", - "processing", - "shipping", - "completed", - "cancelled" - ) - if (status >= 0 && status < statusClasses.length) { - return statusClasses[status] - } - return "error" - } - open var showOrderMenu = ::gen_showOrderMenu_fn - open fun gen_showOrderMenu_fn(order: OrderItemType) { - val status = order.status - var actions: UTSArray = _uA() - if (status === 1) { - actions = _uA( - "取消订单", - "联系卖家" - ) - } else if (status === 2) { - actions = _uA( - "提醒发货", - "申请退款", - "联系卖家" - ) - } else if (status === 3) { - actions = _uA( - "查看物流", - "确认收货", - "申请退款", - "联系卖家" - ) - } else if (status === 4) { - actions = _uA( - "申请售后", - "再次购买", - "联系卖家" - ) - } else if (status === 5) { - actions = _uA( - "删除订单", - "再次购买", - "联系卖家" - ) - } else if (status === 6) { - actions = _uA( - "退款进度", - "联系卖家" - ) - } else if (status === 7) { - actions = _uA( - "再次购买", - "联系卖家" - ) - } - uni_showActionSheet(ShowActionSheetOptions(itemList = actions, success = fun(res){ - val action = actions[res.tapIndex] - this.handleOrderAction(order, action) - } - )) - } - open var handleOrderAction = ::gen_handleOrderAction_fn - open fun gen_handleOrderAction_fn(order: OrderItemType, action: String) { - if (action === "取消订单") { - this.cancelOrderAction(order) - } else if (action === "联系卖家") { - this.contactSeller(order) - } else if (action === "提醒发货") { - this.remindShipping(order) - } else if (action === "申请退款" || action === "申请售后") { - this.applyRefund(order) - } else if (action === "查看物流") { - this.viewLogistics(order.id) - } else if (action === "确认收货") { - this.confirmReceive(order) - } else if (action === "再次购买") { - this.repurchase(order) - } else if (action === "删除订单") { - this.deleteOrder(order.id) - } else if (action === "退款进度") { - this.viewRefundProgress(order.id) - } - } - open var cancelOrderAction = ::gen_cancelOrderAction_fn - open fun gen_cancelOrderAction_fn(order: OrderItemType) { - uni_showModal(ShowModalOptions(title = "确认取消", content = "确定要取消此订单吗?", success = fun(res){ - if (res.confirm) { - uni_showLoading(ShowLoadingOptions(title = "取消中...")) - supabaseService.cancelOrder(order.id).then(fun(){ - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "订单已取消", icon = "success")) - this.loadOrders() - } - ).`catch`(fun(){ - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "取消失败", icon = "none")) - } - ) - } - } - )) - } - open var contactSeller = ::gen_contactSeller_fn - open fun gen_contactSeller_fn(order: OrderItemType) { - val merchantId = if (order.ml_shops != null) { - this.getMerchantIdFromOrder(order) - } else { - "" - } - if (merchantId !== "") { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/chat?merchantId=" + merchantId)) - } else { - uni_showToast(ShowToastOptions(title = "暂无卖家联系方式", icon = "none")) - } - } - open var getMerchantIdFromOrder = ::gen_getMerchantIdFromOrder_fn - open fun gen_getMerchantIdFromOrder_fn(order: OrderItemType): String { - val shopsRaw = order.ml_shops - if (shopsRaw != null) { - val shopStr = JSON.stringify(shopsRaw) - val shopParsed = UTSAndroid.consoleDebugError(JSON.parse(shopStr), " at pages/main/profile.uvue:794") - if (shopParsed != null) { - val shopObj = shopParsed as UTSJSONObject - return shopObj.getString("merchant_id") ?: "" - } - } - return "" - } - open var remindShipping = ::gen_remindShipping_fn - open fun gen_remindShipping_fn(order: OrderItemType) { - uni_showLoading(ShowLoadingOptions(title = "提醒中...")) - val merchantId = if (order.ml_shops != null) { - this.getMerchantIdFromOrder(order) - } else { - "" - } - if (merchantId !== "") { - val message = "你好,我的订单[" + order.order_no + "]还没有发货,请尽快安排,谢谢。" - supabaseService.sendChatMessage(message, merchantId).then(fun(){ - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "已提醒卖家发货", icon = "success")) - }).`catch`(fun(){ - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "提醒失败", icon = "none")) - }) - } else { - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "无法联系卖家", icon = "none")) - } - } - open var applyRefund = ::gen_applyRefund_fn - open fun gen_applyRefund_fn(order: OrderItemType) { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/apply-refund?orderId=" + order.id)) - } - open var viewLogistics = ::gen_viewLogistics_fn - open fun gen_viewLogistics_fn(orderId: String) { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/logistics?orderId=" + orderId)) - } - open var repurchase = ::gen_repurchase_fn - open fun gen_repurchase_fn(order: OrderItemType) { - uni_showLoading(ShowLoadingOptions(title = "处理中...")) - val itemsRaw = order.ml_order_items - if (itemsRaw == null || (itemsRaw as UTSArray).length === 0) { - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "订单无商品", icon = "none")) - return - } - val items = itemsRaw as UTSArray - var completed: Number = 0 - val total = items.length - var successCount: Number = 0 - run { - var i: Number = 0 - while(i < items.length){ - val itemStr = JSON.stringify(items[i]) - val itemParsed = UTSAndroid.consoleDebugError(JSON.parse(itemStr), " at pages/main/profile.uvue:849") - if (itemParsed == null) { - completed++ - if (completed === total) { - uni_hideLoading() - if (successCount > 0) { - uni_showToast(ShowToastOptions(title = "已添加" + successCount + "件商品", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "添加失败", icon = "none")) - } - } - i++ - continue - } - val itemObj = itemParsed as UTSJSONObject - val productId = itemObj.getString("product_id") ?: "" - val merchantId = if (order.ml_shops != null) { - this.getMerchantIdFromOrder(order) - } else { - "" - } - if (productId !== "") { - supabaseService.addToCart(productId, 1, "", merchantId).then(fun(success){ - completed++ - if (success) { - successCount++ - } - if (completed === total) { - uni_hideLoading() - if (successCount > 0) { - uni_showToast(ShowToastOptions(title = "已添加" + successCount + "件商品", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "添加失败", icon = "none")) - } - } - }).`catch`(fun(){ - completed++ - if (completed === total) { - uni_hideLoading() - if (successCount > 0) { - uni_showToast(ShowToastOptions(title = "已添加" + successCount + "件商品", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "添加失败", icon = "none")) - } - } - }) - } else { - completed++ - if (completed === total) { - uni_hideLoading() - if (successCount > 0) { - uni_showToast(ShowToastOptions(title = "已添加" + successCount + "件商品", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "添加失败", icon = "none")) - } - } - } - i++ - } - } - } - open var deleteOrder = ::gen_deleteOrder_fn - open fun gen_deleteOrder_fn(orderId: String) { - uni_showModal(ShowModalOptions(title = "删除订单", content = "确定要删除此订单吗?", success = fun(res){ - if (res.confirm) { - uni_showLoading(ShowLoadingOptions(title = "删除中...")) - supabaseService.deleteOrder(orderId).then(fun(){ - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "订单已删除", icon = "success")) - this.loadOrders() - } - ).`catch`(fun(){ - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "删除失败", icon = "none")) - } - ) - } - } - )) - } - open var viewRefundProgress = ::gen_viewRefundProgress_fn - open fun gen_viewRefundProgress_fn(orderId: String) { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/refund?orderId=" + orderId)) - } - open var getOrderMainImage = ::gen_getOrderMainImage_fn - open fun gen_getOrderMainImage_fn(order: OrderItemType): String { - val itemsRaw = order.ml_order_items - if (itemsRaw == null) { - return "/static/images/default-product.png" - } - val items = itemsRaw as UTSArray - if (items.length > 0) { - val firstItem = items[0] - val itemStr = JSON.stringify(firstItem) - val itemParsed = UTSAndroid.consoleDebugError(JSON.parse(itemStr), " at pages/main/profile.uvue:951") - if (itemParsed == null) { - return "/static/images/default-product.png" - } - val itemObj = itemParsed as UTSJSONObject - val imgUrl = itemObj.getString("image_url") - val prodImg = itemObj.getString("product_image") - val img = if ((imgUrl != null && imgUrl !== "")) { - imgUrl - } else { - prodImg - } - if (img != null && img !== "") { - return img - } - } - return "/static/images/default-product.png" - } - open var getOrderTitle = ::gen_getOrderTitle_fn - open fun gen_getOrderTitle_fn(order: OrderItemType): String { - val itemsRaw = order.ml_order_items - if (itemsRaw == null) { - return "精选商品" - } - val items = itemsRaw as UTSArray - if (items.length > 0) { - val firstItem = items[0] - val itemStr = JSON.stringify(firstItem) - val itemParsed = UTSAndroid.consoleDebugError(JSON.parse(itemStr), " at pages/main/profile.uvue:969") - if (itemParsed == null) { - return "精选商品" - } - val itemObj = itemParsed as UTSJSONObject - val pName = itemObj.getString("product_name") - val name = if ((pName != null && pName !== "")) { - pName - } else { - "商品" - } - return name - } - return "精选商品" - } - open var getOrderSpec = ::gen_getOrderSpec_fn - open fun gen_getOrderSpec_fn(order: OrderItemType): String { - val itemsRaw = order.ml_order_items - if (itemsRaw == null) { - return "" - } - val items = itemsRaw as UTSArray - if (items.length > 0) { - val firstItem = items[0] - val itemStr = JSON.stringify(firstItem) - val itemParsed = UTSAndroid.consoleDebugError(JSON.parse(itemStr), " at pages/main/profile.uvue:987") - if (itemParsed == null) { - return "" - } - val itemObj = itemParsed as UTSJSONObject - val specRaw = itemObj.get("specifications") - if (specRaw == null) { - return "" - } - if (UTSAndroid.`typeof`(specRaw) === "string") { - val specStr = specRaw as String - if (specStr.startsWith("{")) { - try { - val specObj = UTSAndroid.consoleDebugError(JSON.parse(specStr), " at pages/main/profile.uvue:997") as UTSJSONObject - val parts: UTSArray = _uA() - val color = specObj.get("Color") - if (color != null) { - parts.push("颜色: " + color) - } - val size = specObj.get("Size") - if (size != null) { - parts.push("尺码: " + size) - } - if (parts.length > 0) { - return parts.join(" ") - } - return specStr.replace(UTSRegExp("[{}\"]", "g"), "") - } - catch (e: Throwable) { - return specStr - } - } - return specStr - } - return JSON.stringify(specRaw).replace(UTSRegExp("[{}\"]", "g"), "") - } - return "" - } - open var getOrderItemCount = ::gen_getOrderItemCount_fn - open fun gen_getOrderItemCount_fn(order: OrderItemType): Number { - if (order.items_count != null && order.items_count > 0) { - return order.items_count - } - return 1 - } - open var getOrderShopName = ::gen_getOrderShopName_fn - open fun gen_getOrderShopName_fn(order: OrderItemType): String { - val shopsRaw = order.ml_shops - if (shopsRaw != null) { - val shopStr = JSON.stringify(shopsRaw) - val shopParsed = UTSAndroid.consoleDebugError(JSON.parse(shopStr), " at pages/main/profile.uvue:1028") - if (shopParsed != null) { - val shopObj = shopParsed as UTSJSONObject - val name = shopObj.getString("shop_name") - if (name != null && name !== "") { - return name - } - } - } - return "自营店铺" - } - open var formatDateTime = ::gen_formatDateTime_fn - open fun gen_formatDateTime_fn(timeStr: String): String { - if (timeStr == null || timeStr === "") { - return "" - } - val date = Date(timeStr) - val y = date.getFullYear() - val m = (date.getMonth() + 1).toString(10).padStart(2, "0") - val d = date.getDate().toString(10).padStart(2, "0") - val h = date.getHours().toString(10).padStart(2, "0") - val i = date.getMinutes().toString(10).padStart(2, "0") - return "" + y + "-" + m + "-" + d + " " + h + ":" + i - } - open var formatTime = ::gen_formatTime_fn - open fun gen_formatTime_fn(timeStr: String): String { - val date = Date(timeStr) - val now = Date() - val diff = now.getTime() - date.getTime() - val days = Math.floor(diff / 86400000) - if (days === 0) { - return "今天" - } else if (days === 1) { - return "昨天" - } else { - return "" + days + "天前" - } - } - open var switchStatsPeriod = ::gen_switchStatsPeriod_fn - open fun gen_switchStatsPeriod_fn(period: String) { - this.activeStatsPeriod = period - this.loadConsumptionStats() - } - open var editProfile = ::gen_editProfile_fn - open fun gen_editProfile_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/edit-profile")) - } - open var goToSettings = ::gen_goToSettings_fn - open fun gen_goToSettings_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/settings")) - } - open var goToWallet = ::gen_goToWallet_fn - open fun gen_goToWallet_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/wallet")) - } - open var goToOrders = ::gen_goToOrders_fn - open fun gen_goToOrders_fn(type: String) { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/orders?type=" + type)) - } - open var goShopping = ::gen_goShopping_fn - open fun gen_goShopping_fn() { - uni_switchTab(SwitchTabOptions(url = "/pages/main/index")) - } - open var viewOrderDetail = ::gen_viewOrderDetail_fn - open fun gen_viewOrderDetail_fn(order: OrderItemType) { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/order-detail?orderId=" + order.id)) - } - open var goToProductFromOrder = ::gen_goToProductFromOrder_fn - open fun gen_goToProductFromOrder_fn(order: OrderItemType) { - val itemsRaw = order.ml_order_items - if (itemsRaw == null) { - return - } - val items = itemsRaw as UTSArray - if (items.length > 0) { - val firstItem = items[0] - val itemStr = JSON.stringify(firstItem) - val itemParsed = UTSAndroid.consoleDebugError(JSON.parse(itemStr), " at pages/main/profile.uvue:1114") - if (itemParsed == null) { - return - } - val itemObj = itemParsed as UTSJSONObject - val productId = itemObj.getString("product_id") - if (productId != null && productId !== "") { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?id=" + productId)) - } - } - } - open var payOrder = ::gen_payOrder_fn - open fun gen_payOrder_fn(order: OrderItemType) { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/payment?orderId=" + order.id)) - } - open var confirmReceive = ::gen_confirmReceive_fn - open fun gen_confirmReceive_fn(order: OrderItemType) { - uni_showModal(ShowModalOptions(title = "确认收货", content = "确认已收到商品吗?", success = fun(res){ - if (res.confirm) { - uni_showLoading(ShowLoadingOptions(title = "处理中...")) - supabaseService.confirmOrderReceived(order.id).then(fun(){ - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "确认收货成功", icon = "success")) - this.loadOrders() - } - ).`catch`(fun(){ - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "操作失败", icon = "none")) - } - ) - } - } - )) - } - open var reviewOrder = ::gen_reviewOrder_fn - open fun gen_reviewOrder_fn(order: OrderItemType) { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/review?orderId=" + order.id)) - } - open var goToCoupons = ::gen_goToCoupons_fn - open fun gen_goToCoupons_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/coupons")) - } - open var goToAddress = ::gen_goToAddress_fn - open fun gen_goToAddress_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/address-list")) - } - open var goToFavorites = ::gen_goToFavorites_fn - open fun gen_goToFavorites_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/favorites")) - } - open var goToFootprint = ::gen_goToFootprint_fn - open fun gen_goToFootprint_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/footprint")) - } - open var goToRefund = ::gen_goToRefund_fn - open fun gen_goToRefund_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/orders?type=refund")) - } - open var contactService = ::gen_contactService_fn - open fun gen_contactService_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/service/chat")) - } - open var goToOrderReviews = ::gen_goToOrderReviews_fn - open fun gen_goToOrderReviews_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/orders?type=review")) - } - open var goToMySubscriptions = ::gen_goToMySubscriptions_fn - open fun gen_goToMySubscriptions_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/subscription/my-subscriptions")) - } - open var goToFollowedShops = ::gen_goToFollowedShops_fn - open fun gen_goToFollowedShops_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/subscription/followed-shops")) - } - open var goToPoints = ::gen_goToPoints_fn - open fun gen_goToPoints_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/points/index")) - } - open var goToBalance = ::gen_goToBalance_fn - open fun gen_goToBalance_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/balance/index")) - } - open var goToShare = ::gen_goToShare_fn - open fun gen_goToShare_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/share/index")) - } - open var goToMember = ::gen_goToMember_fn - open fun gen_goToMember_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/member/index")) - } - open var changePassword = ::gen_changePassword_fn - open fun gen_changePassword_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/change-password")) - } - open var bindPhone = ::gen_bindPhone_fn - open fun gen_bindPhone_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/bind-phone")) - } - open var bindEmail = ::gen_bindEmail_fn - open fun gen_bindEmail_fn() { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/bind-email")) - } - open var handleOrderUpdated = ::gen_handleOrderUpdated_fn - open fun gen_handleOrderUpdated_fn(data: Any) { - console.log("收到订单更新事件:", data, " at pages/main/profile.uvue:1264") - this.refreshData() - val dataObj = data as UTSJSONObject - val status = dataObj.getNumber("status") - if (status === 1) { - uni_showToast(ShowToastOptions(title = "订单已保存到待支付", icon = "success")) - } else if (status === 2) { - uni_showToast(ShowToastOptions(title = "支付成功,订单待发货", icon = "success")) - } - } - companion object { - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("consumer-profile" to _pS(_uM("backgroundColor" to "#f5f5f5", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "height" to "100%", "width" to "100%")), "profile-scroll-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "smart-navbar" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "backgroundColor" to "#ff5000", "zIndex" to 1000, "boxShadow" to "0 2px 12px rgba(255, 80, 0, 0.15)", "display" to "flex", "flexDirection" to "column", "justifyContent" to "flex-start")), "nav-container" to _pS(_uM("paddingTop" to 0, "paddingRight" to 16, "paddingBottom" to 0, "paddingLeft" to 16, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "space-between", "width" to "100%", "maxWidth" to 1400, "marginTop" to 0, "marginRight" to "auto", "marginBottom" to 0, "marginLeft" to "auto", "height" to 44)), "nav-user-basic" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "flexShrink" to 0, "marginRight" to 8)), "nav-user-stats" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "flex-end", "marginRight" to 8)), "nav-user-name" to _pS(_uM("fontSize" to 14, "fontWeight" to "bold", "color" to "#FFFFFF", "width" to 70, "overflow" to "hidden", "textOverflow" to "ellipsis", "whiteSpace" to "nowrap")), "nav-stat-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "backgroundImage" to "none", "backgroundColor" to "rgba(255,255,255,0.15)", "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "paddingTop" to 2, "paddingRight" to 6, "paddingBottom" to 2, "paddingLeft" to 6, "marginRight" to 4, "flexShrink" to 0)), "nav-stat-label" to _pS(_uM("fontSize" to 10, "color" to "rgba(255,255,255,0.85)", "marginRight" to 2)), "nav-stat-value" to _pS(_uM("fontSize" to 11, "fontWeight" to "bold", "color" to "#FFFFFF")), "nav-avatar" to _pS(_uM("width" to 32, "height" to 32, "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "borderTopWidth" to 1.5, "borderRightWidth" to 1.5, "borderBottomWidth" to 1.5, "borderLeftWidth" to 1.5, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "rgba(255,255,255,0.8)", "borderRightColor" to "rgba(255,255,255,0.8)", "borderBottomColor" to "rgba(255,255,255,0.8)", "borderLeftColor" to "rgba(255,255,255,0.8)", "marginRight" to 6, "flexShrink" to 0)), "nav-actions" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "flexShrink" to 0)), "action-btn" to _pS(_uM("display" to "flex", "alignItems" to "center", "justifyContent" to "center", "width" to 32, "height" to 32, "backgroundImage" to "none", "backgroundColor" to "rgba(255,255,255,0.2)", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16)), "action-icon" to _pS(_uM("fontSize" to 18, "color" to "#FFFFFF")), "navbar-placeholder" to _pS(_uM("width" to "100%", "flexShrink" to 0)), "order-shortcuts" to _pS(_uM("backgroundColor" to "#ffffff", "marginTop" to 15, "marginRight" to 15, "marginBottom" to 15, "marginLeft" to 15, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "boxShadow" to "0 2px 8px rgba(0,0,0,0.05)")), "recent-orders" to _pS(_uM("backgroundColor" to "#ffffff", "marginTop" to 15, "marginRight" to 15, "marginBottom" to 15, "marginLeft" to 15, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "boxShadow" to "0 2px 8px rgba(0,0,0,0.05)")), "my-services" to _pS(_uM("backgroundColor" to "#ffffff", "marginTop" to 15, "marginRight" to 15, "marginBottom" to 15, "marginLeft" to 15, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "boxShadow" to "0 2px 8px rgba(0,0,0,0.05)")), "consumption-stats" to _pS(_uM("backgroundColor" to "#ffffff", "marginTop" to 15, "marginRight" to 15, "marginBottom" to 15, "marginLeft" to 15, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "boxShadow" to "0 2px 8px rgba(0,0,0,0.05)")), "account-security" to _pS(_uM("backgroundColor" to "#ffffff", "marginTop" to 15, "marginRight" to 15, "marginBottom" to 15, "marginLeft" to 15, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "boxShadow" to "0 2px 8px rgba(0,0,0,0.05)")), "section-title" to _uM("" to _uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 16), ".section-header-row " to _uM("marginBottom" to 0)), "section-header-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "space-between", "marginBottom" to 16)), "view-all" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "order-tabs" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "width" to "100%")), "order-tab" to _uM("" to _uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "position" to "relative", "paddingTop" to 8, "paddingRight" to 0, "paddingBottom" to 8, "paddingLeft" to 0), ".active" to _uM("backgroundColor" to "#fff8f5", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8)), "tab-icon" to _uM("" to _uM("fontSize" to 20, "marginRight" to 6, "marginBottom" to 0), ".order-tab.active " to _uM("color" to "#ff5000", "fontWeight" to "bold")), "tab-text" to _uM("" to _uM("fontSize" to 14, "color" to "#333333"), ".order-tab.active " to _uM("color" to "#ff5000", "fontWeight" to "bold")), "tab-badge" to _pS(_uM("position" to "absolute", "top" to 0, "right" to "10%", "backgroundColor" to "#ff5000", "color" to "#ffffff", "fontSize" to 10, "paddingTop" to 1, "paddingRight" to 5, "paddingBottom" to 1, "paddingLeft" to 5, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "minWidth" to 14, "textAlign" to "center", "lineHeight" to 1.2)), "empty-orders" to _pS(_uM("textAlign" to "center", "paddingTop" to "80rpx", "paddingRight" to 0, "paddingBottom" to "80rpx", "paddingLeft" to 0)), "empty-text" to _pS(_uM("fontSize" to "28rpx", "color" to "#999999", "marginBottom" to "30rpx")), "start-shopping" to _pS(_uM("backgroundColor" to "#007aff", "color" to "#ffffff", "paddingTop" to "20rpx", "paddingRight" to "40rpx", "paddingBottom" to "20rpx", "paddingLeft" to "40rpx", "borderTopLeftRadius" to "25rpx", "borderTopRightRadius" to "25rpx", "borderBottomRightRadius" to "25rpx", "borderBottomLeftRadius" to "25rpx", "fontSize" to "26rpx", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000")), "order-item" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopLeftRadius" to "16rpx", "borderTopRightRadius" to "16rpx", "borderBottomRightRadius" to "16rpx", "borderBottomLeftRadius" to "16rpx", "paddingTop" to "24rpx", "paddingRight" to "24rpx", "paddingBottom" to "24rpx", "paddingLeft" to "24rpx", "marginBottom" to "20rpx", "boxShadow" to "0 2rpx 12rpx rgba(0, 0, 0, 0.05)")), "order-item-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to "20rpx")), "status-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "more-btn" to _pS(_uM("fontSize" to 18, "color" to "#999999", "marginLeft" to 8, "paddingTop" to 0, "paddingRight" to 5, "paddingBottom" to 0, "paddingLeft" to 5)), "order-shop" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "shop-icon" to _pS(_uM("fontSize" to "32rpx", "marginRight" to "8rpx")), "shop-name" to _pS(_uM("fontSize" to "28rpx", "fontWeight" to "bold", "color" to "#333333")), "shop-arrow" to _pS(_uM("fontSize" to "28rpx", "color" to "#cccccc", "marginLeft" to "4rpx")), "order-status-text" to _uM("" to _uM("fontSize" to "26rpx", "fontWeight" to "bold"), ".pending" to _uM("color" to "#ff5000"), ".processing" to _uM("color" to "#ff9500"), ".shipping" to _uM("color" to "#007aff"), ".completed" to _uM("color" to "#34c759"), ".refunding" to _uM("color" to "#ff9500"), ".refunded" to _uM("color" to "#999999"), ".cancelled" to _uM("color" to "#999999")), "order-item-content" to _pS(_uM("display" to "flex", "flexDirection" to "row", "marginBottom" to "24rpx")), "order-item-image" to _pS(_uM("width" to "140rpx", "height" to "140rpx", "borderTopLeftRadius" to "12rpx", "borderTopRightRadius" to "12rpx", "borderBottomRightRadius" to "12rpx", "borderBottomLeftRadius" to "12rpx", "marginRight" to "20rpx", "backgroundColor" to "#f8f8f8")), "order-item-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "justifyContent" to "flex-start")), "order-title-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "flex-start", "marginBottom" to "12rpx")), "order-item-title" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to "28rpx", "color" to "#333333", "lineHeight" to 1.4, "marginRight" to "20rpx", "lines" to 2, "textOverflow" to "ellipsis")), "order-item-price" to _pS(_uM("fontSize" to "32rpx", "color" to "#333333", "fontWeight" to "bold", "textAlign" to "right")), "order-spec-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginTop" to "4rpx", "marginBottom" to "8rpx")), "order-item-spec" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to "24rpx", "color" to "#999999", "marginRight" to "12rpx", "lines" to 1, "textOverflow" to "ellipsis")), "order-item-time" to _pS(_uM("fontSize" to "22rpx", "color" to "#999999", "marginTop" to "auto")), "order-item-num" to _pS(_uM("fontSize" to "24rpx", "color" to "#999999")), "order-item-actions" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "flex-end")), "order-action-btn" to _uM("" to _uM("marginLeft" to "16rpx", "paddingTop" to "10rpx", "paddingRight" to "28rpx", "paddingBottom" to "10rpx", "paddingLeft" to "28rpx", "borderTopLeftRadius" to "30rpx", "borderTopRightRadius" to "30rpx", "borderBottomRightRadius" to "30rpx", "borderBottomLeftRadius" to "30rpx", "fontSize" to "24rpx", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#dddddd", "borderRightColor" to "#dddddd", "borderBottomColor" to "#dddddd", "borderLeftColor" to "#dddddd", "backgroundColor" to "#ffffff"), ".pay" to _uM("backgroundColor" to "#ff5000", "color" to "#ffffff", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000"), ".confirm" to _uM("backgroundColor" to "#ff5000", "color" to "#ffffff", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000"), ".review" to _uM("color" to "#ff5000", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000"), ".secondary" to _uM("color" to "#666666", "borderTopColor" to "#dddddd", "borderRightColor" to "#dddddd", "borderBottomColor" to "#dddddd", "borderLeftColor" to "#dddddd")), "service-grid" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "justifyContent" to "flex-start")), "service-item" to _pS(_uM("width" to "25%", "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "position" to "relative", "boxSizing" to "border-box", "marginBottom" to 16)), "service-icon" to _pS(_uM("fontSize" to "48rpx", "marginBottom" to "15rpx")), "service-text" to _pS(_uM("fontSize" to "24rpx", "color" to "#333333")), "service-badge" to _pS(_uM("position" to "absolute", "top" to "-5rpx", "right" to "10rpx", "backgroundColor" to "#ff5000", "color" to "#ffffff", "fontSize" to "18rpx", "paddingTop" to "4rpx", "paddingRight" to "6rpx", "paddingBottom" to "4rpx", "paddingLeft" to "6rpx", "borderTopLeftRadius" to "8rpx", "borderTopRightRadius" to "8rpx", "borderBottomRightRadius" to "8rpx", "borderBottomLeftRadius" to "8rpx", "minWidth" to "24rpx", "textAlign" to "center")), "stats-period" to _pS(_uM("display" to "flex", "marginBottom" to "30rpx")), "period-tab" to _uM("" to _uM("fontSize" to "26rpx", "color" to "#666666", "paddingTop" to "12rpx", "paddingRight" to "24rpx", "paddingBottom" to "12rpx", "paddingLeft" to "24rpx", "borderTopLeftRadius" to "20rpx", "borderTopRightRadius" to "20rpx", "borderBottomRightRadius" to "20rpx", "borderBottomLeftRadius" to "20rpx", "marginRight" to "30rpx", "backgroundColor" to "#f0f0f0"), ".active" to _uM("backgroundColor" to "#007aff", "color" to "#ffffff")), "stats-content" to _pS(_uM("display" to "flex")), "stat-card" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "textAlign" to "center", "paddingTop" to "30rpx", "paddingRight" to 0, "paddingBottom" to "30rpx", "paddingLeft" to 0, "backgroundColor" to "#f8f9fa", "borderTopLeftRadius" to "10rpx", "borderTopRightRadius" to "10rpx", "borderBottomRightRadius" to "10rpx", "borderBottomLeftRadius" to "10rpx", "marginRight" to "20rpx", "marginRight:last-child" to 0)), "stat-value" to _pS(_uM("fontSize" to "32rpx", "fontWeight" to "bold", "color" to "#333333", "marginBottom" to "8rpx")), "stat-label" to _pS(_uM("fontSize" to "22rpx", "color" to "#666666")), "security-items" to _pS(_uM("marginTop" to "25rpx")), "security-item" to _pS(_uM("display" to "flex", "alignItems" to "center", "paddingTop" to "25rpx", "paddingRight" to 0, "paddingBottom" to "25rpx", "paddingLeft" to 0, "borderBottomWidth" to "1rpx", "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5", "borderBottomWidth:last-child" to "medium", "borderBottomStyle:last-child" to "none", "borderBottomColor:last-child" to "#000000")), "security-icon" to _pS(_uM("fontSize" to "32rpx", "marginRight" to "20rpx")), "security-text" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to "28rpx", "color" to "#333333")), "security-status" to _pS(_uM("display" to "flex", "alignItems" to "center")), "status-text" to _uM("" to _uM("fontSize" to "24rpx", "color" to "#999999", "marginRight" to "10rpx"), ".bound" to _uM("color" to "#4caf50")), "security-arrow" to _pS(_uM("fontSize" to "24rpx", "color" to "#999999"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/address-edit.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/address-edit.kt deleted file mode 100644 index a2a9b51c..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/address-edit.kt +++ /dev/null @@ -1,388 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.getStorageSync as uni_getStorageSync -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.setStorageSync as uni_setStorageSync -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerAddressEdit : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerAddressEdit) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerAddressEdit - val _cache = __ins.renderCache - val isEdit = ref(false) - val addressId = ref("") - val regionString = ref("") - val tags = _uA( - "家", - "公司", - "学校" - ) - val smartInput = ref("") - val formData = reactive(AddressForm(name = "", phone = "", detail = "", isDefault = false, label = "")) - val loadAddress = fun(id: String): UTSPromise { - return wrapUTSPromise(suspend { - try { - val address = await(supabaseService.getAddressById(id)) - if (address != null) { - formData.name = address.recipient_name - formData.phone = address.phone - formData.detail = address.detail_address - formData.isDefault = address.is_default - formData.label = address.label ?: "" - regionString.value = ("" + address.province + " " + address.city + " " + address.district).trim() - } else { - val storedAddresses = uni_getStorageSync("addresses") - if (storedAddresses != null) { - val addresses = UTSAndroid.consoleDebugError(JSON.parse(storedAddresses as String), " at pages/mall/consumer/address-edit.uvue:127") as UTSArray - val localAddress = addresses.find(fun(item): Boolean { - return item.id === id - } - ) - if (localAddress != null) { - formData.name = localAddress.name - formData.phone = localAddress.phone - formData.detail = localAddress.detail - formData.isDefault = localAddress.isDefault - formData.label = localAddress.label ?: "" - regionString.value = ("" + localAddress.province + " " + localAddress.city + " " + localAddress.district).trim() - } - } - } - } - catch (error: Throwable) { - console.error("加载地址详情失败:", error, " at pages/mall/consumer/address-edit.uvue:140") - val storedAddresses = uni_getStorageSync("addresses") - if (storedAddresses != null) { - try { - val addresses = UTSAndroid.consoleDebugError(JSON.parse(storedAddresses as String), " at pages/mall/consumer/address-edit.uvue:145") as UTSArray - val address = addresses.find(fun(item): Boolean { - return item.id === id - } - ) - if (address != null) { - formData.name = address.name - formData.phone = address.phone - formData.detail = address.detail - formData.isDefault = address.isDefault - formData.label = address.label ?: "" - regionString.value = ("" + address.province + " " + address.city + " " + address.district).trim() - } - } - catch (e: Throwable) { - console.error("解析本地地址数据失败", e, " at pages/mall/consumer/address-edit.uvue:156") - } - } - } - }) - } - onLoad__1(fun(options){ - if (options["id"] != null) { - isEdit.value = true - addressId.value = options["id"] as String - loadAddress(addressId.value) - } - } - ) - val selectTag = fun(tag: String){ - if (formData.label === tag) { - formData.label = "" - } else { - formData.label = tag - } - } - val onSwitchChange = fun(e: UniSwitchChangeEvent){ - formData.isDefault = e.detail.value - } - val saveAddress = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (formData.name == "") { - uni_showToast(ShowToastOptions(title = "请填写收货人", icon = "none")) - return@w1 - } - if (formData.phone == "") { - uni_showToast(ShowToastOptions(title = "请填写手机号码", icon = "none")) - return@w1 - } - if (regionString.value == "") { - uni_showToast(ShowToastOptions(title = "请填写所在地区", icon = "none")) - return@w1 - } - if (formData.detail == "") { - uni_showToast(ShowToastOptions(title = "请填写详细地址", icon = "none")) - return@w1 - } - val regions = regionString.value.split(" ") - val province = regions[0] ?: "" - val city = regions[1] ?: "" - val district = regions.slice(2).join(" ") - val addressData = AddAddressParams(recipient_name = formData.name, phone = formData.phone, province = province, city = city, district = district, detail_address = formData.detail, postal_code = "", is_default = formData.isDefault, label = formData.label) - var success = false - if (isEdit.value) { - val updateData = UpdateAddressParams(recipient_name = formData.name, phone = formData.phone, province = province, city = city, district = district, detail_address = formData.detail, postal_code = "", is_default = formData.isDefault, label = formData.label) - success = await(supabaseService.updateAddress(addressId.value, updateData)) - } else { - success = await(supabaseService.addAddress(addressData)) - } - if (success) { - val storedAddresses = uni_getStorageSync("addresses") - var addresses: UTSArray = _uA() - if (storedAddresses != null) { - try { - addresses = UTSAndroid.consoleDebugError(JSON.parse(storedAddresses as String), " at pages/mall/consumer/address-edit.uvue:246") as UTSArray - } - catch (e: Throwable) { - addresses = _uA() - } - } - if (formData.isDefault) { - addresses.forEach(fun(item){ - item.isDefault = false - } - ) - } - if (isEdit.value) { - val index = addresses.findIndex(fun(item): Boolean { - return item.id === addressId.value - }) - if (index !== -1) { - addresses[index] = UTSJSONObject.assign(UTSJSONObject(), addresses[index], _uO("name" to formData.name, "phone" to formData.phone, "province" to province, "city" to city, "district" to district, "detail" to formData.detail, "isDefault" to formData.isDefault, "label" to formData.label)) as Address__1 - } - } else { - val newAddress = Address__1(id = "addr_" + Date.now(), name = formData.name, phone = formData.phone, province = province, city = city, district = district, detail = formData.detail, isDefault = formData.isDefault, label = formData.label) - addresses.push(newAddress) - } - uni_setStorageSync("addresses", JSON.stringify(addresses)) - uni_showToast(ShowToastOptions(title = "保存成功", icon = "success")) - setTimeout(fun(){ - uni_navigateBack(null) - }, 1500) - } else { - console.error("保存地址失败", " at pages/mall/consumer/address-edit.uvue:300") - uni_showToast(ShowToastOptions(title = "保存失败", icon = "none")) - } - }) - } - val parseSmartInput = fun(){ - val input = smartInput.value.trim() - if (input == "") { - return - } - val phoneRegex = UTSRegExp("(1[3-9]\\d{9})", "") - val phoneMatch = input.match(phoneRegex) - if (phoneMatch != null) { - formData.phone = phoneMatch[0] ?: "" - } - val nameRegex = UTSRegExp("([\\u4e00-\\u9fa5]{2,4})", "") - val nameMatch = input.match(nameRegex) - if (nameMatch != null) { - formData.name = nameMatch[0] ?: "" - } - var addrText = input - if (formData.name != "") { - addrText = addrText.replace(formData.name, "") - } - if (formData.phone != "") { - addrText = addrText.replace(formData.phone, "") - } - addrText = addrText.replace(UTSRegExp("[,,;;\\s]+", "g"), " ").trim() - val pattern1 = UTSRegExp("^(.*?省)?(.*?市)?(.*?[区县])?(.*)\$", "") - val m = addrText.match(pattern1) - if (m != null) { - val province = m[1] ?: "" - val city = m[2] ?: "" - val district = m[3] ?: "" - val detail = m[4] ?: "" - regionString.value = ("" + province.trim() + " " + city.trim() + " " + district.trim()).trim() - formData.detail = detail.trim() - } else { - formData.detail = addrText - } - } - val deleteAddress = fun(){ - uni_showModal(ShowModalOptions(title = "提示", content = "确定要删除该地址吗?", success = fun(res: UniShowModalResult){ - if (res.confirm) { - supabaseService.deleteAddress(addressId.value).then(fun(success){ - if (success) { - val storedAddresses = uni_getStorageSync("addresses") - if (storedAddresses != null) { - try { - var addresses = UTSAndroid.consoleDebugError(JSON.parse(storedAddresses as String), " at pages/mall/consumer/address-edit.uvue:359") as UTSArray - addresses = addresses.filter(fun(item): Boolean { - return item.id !== addressId.value - } - ) - uni_setStorageSync("addresses", JSON.stringify(addresses)) - } - catch (e: Throwable) { - console.error("解析本地地址数据失败", e, " at pages/mall/consumer/address-edit.uvue:363") - } - } - uni_showToast(ShowToastOptions(title = "删除成功", icon = "success")) - setTimeout(fun(){ - uni_navigateBack(null) - }, 1500) - } else { - console.error("删除地址失败", " at pages/mall/consumer/address-edit.uvue:376") - uni_showToast(ShowToastOptions(title = "删除失败", icon = "none")) - } - } - ) - } - } - )) - } - return fun(): Any? { - val _component_switch = resolveComponent("switch") - return _cE("view", _uM("class" to "page-container"), _uA( - _cE("scroll-view", _uM("class" to "address-edit-scroll", "scroll-y" to "true"), _uA( - _cE("view", _uM("class" to "address-edit-content"), _uA( - _cE("view", _uM("class" to "form-group"), _uA( - _cE("view", _uM("class" to "form-item"), _uA( - _cE("text", _uM("class" to "label"), "收货人"), - _cE("input", _uM("class" to "input", "modelValue" to formData.name, "onInput" to fun(`$event`: UniInputEvent){ - formData.name = `$event`.detail.value - } - , "placeholder" to "请填写收货人姓名", "placeholder-class" to "placeholder"), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "form-item"), _uA( - _cE("text", _uM("class" to "label"), "手机号码"), - _cE("input", _uM("class" to "input", "modelValue" to formData.phone, "onInput" to fun(`$event`: UniInputEvent){ - formData.phone = `$event`.detail.value - } - , "type" to "number", "maxlength" to "11", "placeholder" to "请填写手机号码", "placeholder-class" to "placeholder"), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "form-item"), _uA( - _cE("text", _uM("class" to "label"), "所在地区"), - _cE("input", _uM("class" to "input", "modelValue" to regionString.value, "onInput" to fun(`$event`: UniInputEvent){ - regionString.value = `$event`.detail.value - } - , "placeholder" to "省市区县、乡镇等", "placeholder-class" to "placeholder"), null, 40, _uA( - "modelValue", - "onInput" - )), - _cE("text", _uM("class" to "arrow-icon"), "›") - )), - _cE("view", _uM("class" to "form-item detail-item"), _uA( - _cE("text", _uM("class" to "label"), "详细地址"), - _cE("textarea", _uM("class" to "textarea", "modelValue" to formData.detail, "onInput" to fun(`$event`: UniInputEvent){ - formData.detail = `$event`.detail.value - } - , "placeholder" to "街道、楼牌号等", "placeholder-class" to "placeholder", "maxlength" to "100"), null, 40, _uA( - "modelValue", - "onInput" - )) - )) - )), - _cE("view", _uM("class" to "form-group"), _uA( - _cE("view", _uM("class" to "form-item label-section"), _uA( - _cE("text", _uM("class" to "label"), "地址标签"), - _cE("view", _uM("class" to "tags-container"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(tags, fun(tag, __key, __index, _cached): Any { - return _cE("view", _uM("key" to tag, "class" to _nC(_uA( - "tag-item", - _uM("active" to (formData.label === tag)) - )), "onClick" to fun(){ - selectTag(tag) - } - ), _uA( - _cE("text", _uM("class" to _nC(_uA( - "tag-text", - _uM("tag-text-active" to (formData.label === tag)) - ))), _tD(tag), 3) - ), 10, _uA( - "onClick" - )) - } - ), 64) - )) - )), - _cE("view", _uM("class" to "form-item switch-item"), _uA( - _cE("view", _uM("class" to "switch-label-group"), _uA( - _cE("text", _uM("class" to "label"), "设为默认地址"), - _cE("text", _uM("class" to "sub-label"), "下单时优先使用该地址") - )), - _cV(_component_switch, _uM("checked" to formData.isDefault, "color" to "#ff5000", "onChange" to onSwitchChange), null, 8, _uA( - "checked" - )) - )) - )), - _cE("view", _uM("class" to "form-group smart-group"), _uA( - _cE("view", _uM("class" to "smart-header"), _uA( - _cE("text", _uM("class" to "smart-title"), "智能填写"), - if (isTrue(smartInput.value)) { - _cE("text", _uM("key" to 0, "class" to "smart-clear", "onClick" to fun(){ - smartInput.value = "" - }), "清空", 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - )), - _cE("textarea", _uM("class" to "smart-textarea", "modelValue" to smartInput.value, "onInput" to _uA(fun(`$event`: UniInputEvent){ - smartInput.value = `$event`.detail.value - } - , parseSmartInput), "placeholder" to "粘贴整段地址,自动识别姓名、电话、地址", "maxlength" to "200"), null, 40, _uA( - "modelValue", - "onInput" - )), - _cE("view", _uM("class" to "smart-footer"), _uA( - _cE("text", _uM("class" to "smart-tip"), "示例:张三,13800138000,北京市朝阳区...") - )) - )), - _cE("view", _uM("class" to "footer-actions"), _uA( - _cE("button", _uM("class" to "save-btn", "onClick" to saveAddress), "保存地址"), - if (isTrue(isEdit.value)) { - _cE("button", _uM("key" to 0, "class" to "delete-btn", "onClick" to deleteAddress), "删除此地址") - } else { - _cC("v-if", true) - } - )) - )) - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("page-container" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f8f8f8", "display" to "flex", "flexDirection" to "column")), "address-edit-scroll" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "address-edit-content" to _pS(_uM("paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 40, "paddingLeft" to 12)), "form-group" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "marginBottom" to 12, "boxShadow" to "0 2rpx 10rpx rgba(0, 0, 0, 0.02)")), "form-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "paddingTop" to 0, "paddingRight" to 16, "paddingBottom" to 0, "paddingLeft" to 16, "minHeight" to 52, "backgroundColor" to "#f8f8f8", "borderTopLeftRadius" to 26, "borderTopRightRadius" to 26, "borderBottomRightRadius" to 26, "borderBottomLeftRadius" to 26, "marginBottom" to 12, "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "marginBottom:last-child" to 0)), "detail-item" to _pS(_uM("alignItems" to "flex-start", "flexDirection" to "column", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16)), "label" to _uM(".detail-item " to _uM("marginBottom" to 8), "" to _uM("width" to 80, "fontSize" to 15, "color" to "#666666", "fontWeight" to "400"), ".label-section " to _uM("marginBottom" to 16)), "input" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 44, "lineHeight" to "44px", "fontSize" to 16, "color" to "#333333", "paddingTop" to 0, "paddingRight" to 4, "paddingBottom" to 0, "paddingLeft" to 4, "backgroundColor" to "rgba(0,0,0,0)", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000")), "textarea" to _pS(_uM("width" to "100%", "height" to 80, "fontSize" to 15, "lineHeight" to 1.6, "color" to "#333333", "paddingTop" to 4, "paddingRight" to 0, "paddingBottom" to 4, "paddingLeft" to 0, "backgroundColor" to "rgba(0,0,0,0)", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000")), "placeholder" to _pS(_uM("color" to "#bbbbbb", "fontSize" to 15)), "arrow-icon" to _pS(_uM("fontSize" to 18, "color" to "#cccccc", "marginLeft" to 8)), "label-section" to _pS(_uM("alignItems" to "flex-start", "flexDirection" to "column")), "tags-container" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap")), "tag-item" to _uM("" to _uM("paddingTop" to 8, "paddingRight" to 20, "paddingBottom" to 8, "paddingLeft" to 20, "backgroundColor" to "#f7f7f7", "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "marginRight" to 12, "marginBottom" to 8, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "rgba(0,0,0,0)", "borderRightColor" to "rgba(0,0,0,0)", "borderBottomColor" to "rgba(0,0,0,0)", "borderLeftColor" to "rgba(0,0,0,0)"), ".active" to _uM("backgroundColor" to "#fff1eb", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000")), "tag-text" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "tag-text-active" to _pS(_uM("color" to "#ff5000", "fontWeight" to "bold")), "switch-item" to _pS(_uM("justifyContent" to "space-between", "minHeight" to 72)), "switch-label-group" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "sub-label" to _pS(_uM("fontSize" to 13, "color" to "#999999", "marginTop" to 6)), "smart-group" to _pS(_uM("paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16)), "smart-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 12)), "smart-title" to _pS(_uM("fontSize" to 14, "color" to "#333333", "fontWeight" to "bold")), "smart-clear" to _pS(_uM("fontSize" to 12, "color" to "#007aff")), "smart-textarea" to _pS(_uM("width" to "100%", "height" to 80, "backgroundColor" to "#f9f9f9", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "fontSize" to 13, "lineHeight" to 1.6, "color" to "#666666")), "smart-footer" to _pS(_uM("marginTop" to 8)), "smart-tip" to _pS(_uM("fontSize" to 11, "color" to "#999999")), "footer-actions" to _pS(_uM("marginTop" to 32, "display" to "flex", "flexDirection" to "column")), "save-btn" to _pS(_uM("backgroundColor" to "#ff5000", "color" to "#ffffff", "height" to 48, "lineHeight" to "48px", "fontSize" to 16, "fontWeight" to "bold", "borderTopLeftRadius" to 24, "borderTopRightRadius" to 24, "borderBottomRightRadius" to 24, "borderBottomLeftRadius" to 24, "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "marginBottom" to 16, "boxShadow" to "0 8rpx 20rpx rgba(255, 80, 0, 0.2)")), "delete-btn" to _pS(_uM("backgroundColor" to "#ffffff", "color" to "#ee0a24", "height" to 48, "lineHeight" to "48px", "fontSize" to 16, "borderTopLeftRadius" to 24, "borderTopRightRadius" to 24, "borderBottomRightRadius" to 24, "borderBottomLeftRadius" to 24, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#f0f0f0", "borderRightColor" to "#f0f0f0", "borderBottomColor" to "#f0f0f0", "borderLeftColor" to "#f0f0f0"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/address-list.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/address-list.kt deleted file mode 100644 index 0db2d6d4..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/address-list.kt +++ /dev/null @@ -1,211 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.`$emit` as uni__emit -import io.dcloud.uniapp.extapi.getStorageSync as uni_getStorageSync -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.setStorageSync as uni_setStorageSync -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerAddressList : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerAddressList) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerAddressList - val _cache = __ins.renderCache - val addresses = ref(_uA
()) - val selectionMode = ref(false) - val loadAddresses = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val supabaseAddresses = await(supabaseService.getAddresses()) - val transformedAddresses: UTSArray
= _uA() - run { - var i: Number = 0 - while(i < supabaseAddresses.length){ - val item = supabaseAddresses[i] - val addr: Address = Address(id = item.id, name = item.recipient_name, phone = item.phone, province = item.province, city = item.city, district = item.district, detail = item.detail_address, isDefault = item.is_default, label = "") - transformedAddresses.push(addr) - i++ - } - } - addresses.value = transformedAddresses - uni_setStorageSync("addresses", JSON.stringify(addresses.value)) - } - catch (error: Throwable) { - console.error("加载地址数据失败:", error, " at pages/mall/consumer/address-list.uvue:84") - val storedAddresses = uni_getStorageSync("addresses") - if (storedAddresses != null) { - try { - addresses.value = UTSAndroid.consoleDebugError(JSON.parse(storedAddresses as String), " at pages/mall/consumer/address-list.uvue:89") as UTSArray
- } catch (e: Throwable) { - console.error("解析地址数据失败", e, " at pages/mall/consumer/address-list.uvue:91") - addresses.value = _uA() - } - } else { - addresses.value = _uA() - } - } - }) - } - onLoad__1(fun(options){ - if (options["selectMode"] == "true") { - selectionMode.value = true - } - } - ) - onShow__1(fun(){ - loadAddresses() - } - ) - val getFullAddress = fun(item: Address): String { - return "" + item.province + item.city + item.district + " " + item.detail - } - val addAddress = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/address-edit")) - } - val deleteAddress = fun(id: String){ - uni_showModal(ShowModalOptions(title = "提示", content = "确定要删除该地址吗?", success = fun(res){ - if (res.confirm) { - supabaseService.deleteAddress(id).then(fun(success){ - if (success) { - val index = addresses.value.findIndex(fun(addr): Boolean { - return addr.id === id - }) - if (index !== -1) { - addresses.value.splice(index, 1) - uni_setStorageSync("addresses", JSON.stringify(addresses.value)) - uni_showToast(ShowToastOptions(title = "删除成功", icon = "success")) - } - } else { - console.error("删除地址失败", " at pages/mall/consumer/address-list.uvue:145") - uni_showToast(ShowToastOptions(title = "删除失败", icon = "none")) - } - } - ) - } - } - )) - } - val editAddress = fun(id: String){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/address-edit?id=" + id)) - } - val selectAddress = fun(item: Address){ - if (selectionMode.value) { - uni__emit("addressSelected", object : UTSJSONObject() { - var id = item.id - var recipient_name = item.name - var phone = item.phone - var province = item.province - var city = item.city - var district = item.district - var detail = item.detail - var is_default = item.isDefault - }) - uni_navigateBack(null) - } else { - editAddress(item.id) - } - } - return fun(): Any? { - return _cE("view", _uM("class" to "address-list-page"), _uA( - _cE("view", _uM("class" to "address-list"), _uA( - if (addresses.value.length === 0) { - _cE("view", _uM("key" to 0, "class" to "empty-state"), _uA( - _cE("text", _uM("class" to "empty-icon"), "📍"), - _cE("text", _uM("class" to "empty-text"), "暂无收货地址") - )) - } else { - _cE(Fragment, _uM("key" to 1), RenderHelpers.renderList(addresses.value, fun(item, index, __index, _cached): Any { - return _cE("view", _uM("key" to item.id, "class" to "address-item", "onClick" to fun(){ - selectAddress(item) - } - ), _uA( - _cE("view", _uM("class" to "item-content"), _uA( - _cE("view", _uM("class" to "item-header"), _uA( - _cE("text", _uM("class" to "user-name"), _tD(item.name), 1), - _cE("text", _uM("class" to "user-phone"), _tD(item.phone), 1), - if (isTrue(item.isDefault)) { - _cE("text", _uM("key" to 0, "class" to "default-tag"), "默认") - } else { - _cC("v-if", true) - } - , - if (isTrue(item.label)) { - _cE("text", _uM("key" to 1, "class" to "label-tag"), _tD(item.label), 1) - } else { - _cC("v-if", true) - } - )), - _cE("text", _uM("class" to "address-text"), _tD(getFullAddress(item)), 1) - )), - _cE("view", _uM("class" to "item-actions"), _uA( - _cE("view", _uM("class" to "action-item", "onClick" to withModifiers(fun(){ - editAddress(item.id) - } - , _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "action-icon"), "📝") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "action-item", "onClick" to withModifiers(fun(){ - deleteAddress(item.id) - } - , _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "action-icon"), "🗑️") - ), 8, _uA( - "onClick" - )) - )) - ), 8, _uA( - "onClick" - )) - } - ), 128) - } - )), - _cE("view", _uM("class" to "footer-btn"), _uA( - _cE("button", _uM("class" to "add-btn", "onClick" to addAddress), "新建收货地址") - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("address-list-page" to _pS(_uM("backgroundColor" to "#f8f8f8", "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 100, "paddingLeft" to 12)), "address-list" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "address-item" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "marginBottom" to 12, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "boxShadow" to "0 2rpx 10rpx rgba(0, 0, 0, 0.03)")), "item-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "marginRight" to 12)), "item-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to 8, "flexWrap" to "wrap")), "user-name" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "marginRight" to 12)), "user-phone" to _pS(_uM("fontSize" to 14, "color" to "#666666", "marginRight" to 12)), "default-tag" to _pS(_uM("backgroundColor" to "#fff1eb", "color" to "#ff5000", "fontSize" to 10, "paddingTop" to 2, "paddingRight" to 6, "paddingBottom" to 2, "paddingLeft" to 6, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "marginRight" to 6, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000")), "label-tag" to _pS(_uM("backgroundColor" to "#eef5ff", "color" to "#007aff", "fontSize" to 10, "paddingTop" to 2, "paddingRight" to 6, "paddingBottom" to 2, "paddingLeft" to 6, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#007aff", "borderRightColor" to "#007aff", "borderBottomColor" to "#007aff", "borderLeftColor" to "#007aff")), "address-text" to _pS(_uM("fontSize" to 14, "color" to "#333333", "lineHeight" to 1.5, "lines" to 2, "textOverflow" to "ellipsis")), "item-actions" to _pS(_uM("paddingLeft" to 16, "borderLeftWidth" to 1, "borderLeftStyle" to "solid", "borderLeftColor" to "#f0f0f0", "display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "action-item" to _pS(_uM("paddingTop" to 8, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8)), "empty-state" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 100)), "empty-icon" to _pS(_uM("fontSize" to 64, "marginBottom" to 16, "opacity" to 0.5)), "empty-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "footer-btn" to _pS(_uM("position" to "fixed", "bottom" to 0, "left" to 0, "right" to 0, "backgroundColor" to "#FFFFFF", "paddingTop" to 10, "paddingRight" to 15, "paddingBottom" to 30, "paddingLeft" to 15, "boxShadow" to "0 -2px 10px rgba(0,0,0,0.05)", "display" to "flex", "justifyContent" to "center", "alignItems" to "center", "zIndex" to 100)), "add-btn" to _pS(_uM("backgroundColor" to "#ff5000", "color" to "#FFFFFF", "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "fontSize" to 16, "height" to 44, "lineHeight" to "44px", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "width" to "100%"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/apply-refund.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/apply-refund.kt deleted file mode 100644 index 59d2d897..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/apply-refund.kt +++ /dev/null @@ -1,234 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerApplyRefund : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerApplyRefund) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerApplyRefund - val _cache = __ins.renderCache - val orderId = ref("") - val orderItemId = ref("") - val refundType = ref(1) - val refundReason = ref("") - val refundAmount = ref("") - val description = ref("") - val maxAmount = ref(0) - val deliveryFee = ref(0) - val submitting = ref(false) - val reasonList = _uA( - "多拍/错拍/不想要", - "快递一直未送达", - "未按约定时间发货", - "快递无记录", - "空包裹/少货/错发", - "质量问题", - "其他" - ) - val loadOrderInfo = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val orderData = await(supabaseService.getOrderDetail(orderId.value)) - if (orderData != null) { - val order = orderData as UTSJSONObject - val total = order.getNumber("total_amount") ?: 0 - val shipping = order.getNumber("shipping_fee") ?: 0 - maxAmount.value = total - deliveryFee.value = shipping - refundAmount.value = maxAmount.value.toString(10) - } - } - catch (err: Throwable) { - console.error("加载订单信息失败", err, " at pages/mall/consumer/apply-refund.uvue:98") - uni_showToast(ShowToastOptions(title = "加载订单失败", icon = "none")) - } - }) - } - onLoad__1(fun(options){ - if (options["orderId"] != null) { - orderId.value = options["orderId"] as String - loadOrderInfo() - } - } - ) - val handleTypeChange = fun(e: Any){ - val target = e as UTSJSONObject - val detail = target["detail"] as UTSJSONObject - val value = detail["value"] as String - refundType.value = parseInt(value) - } - val handleReasonChange = fun(e: Any){ - val target = e as UTSJSONObject - val detail = target["detail"] as UTSJSONObject - val value = detail["value"] as Number - val index = value - refundReason.value = reasonList[index] - } - val submitRefund = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - console.log("=== 提交退款 ===", " at pages/mall/consumer/apply-refund.uvue:136") - console.log("refundReason:", refundReason.value, " at pages/mall/consumer/apply-refund.uvue:137") - console.log("refundAmount:", refundAmount.value, " at pages/mall/consumer/apply-refund.uvue:138") - console.log("maxAmount:", maxAmount.value, " at pages/mall/consumer/apply-refund.uvue:139") - if (refundReason.value == "") { - uni_showToast(ShowToastOptions(title = "请选择退款原因", icon = "none")) - return@w1 - } - val amount = parseFloat(refundAmount.value) - console.log("解析后金额:", amount, " at pages/mall/consumer/apply-refund.uvue:147") - if (isNaN(amount) || amount <= 0 || amount > maxAmount.value) { - uni_showToast(ShowToastOptions(title = "请输入有效的退款金额", icon = "none")) - return@w1 - } - submitting.value = true - uni_showLoading(ShowLoadingOptions(title = "提交中...")) - try { - console.log("调用 createRefund, orderId:", orderId.value, " at pages/mall/consumer/apply-refund.uvue:158") - val result = await(supabaseService.createRefund(object : UTSJSONObject() { - var order_id = orderId.value - var refund_type = refundType.value - var refund_reason = refundReason.value - var refund_amount = amount - var description = description.value - })) - console.log("createRefund 结果:", JSON.stringify(result), " at pages/mall/consumer/apply-refund.uvue:167") - uni_hideLoading() - if (result.success) { - uni_showToast(ShowToastOptions(title = "提交成功", icon = "success")) - setTimeout(fun(){ - uni_navigateBack(null) - }, 1500) - } else { - uni_showToast(ShowToastOptions(title = result.message, icon = "none")) - } - } - catch (err: Throwable) { - console.error("提交退款失败", err, " at pages/mall/consumer/apply-refund.uvue:180") - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "提交异常", icon = "none")) - } - finally { - submitting.value = false - } - }) - } - return fun(): Any? { - val _component_radio = resolveComponent("radio") - val _component_label = resolveComponent("label") - val _component_radio_group = resolveComponent("radio-group") - val _component_picker = resolveComponent("picker") - return _cE("view", _uM("class" to "apply-refund-page"), _uA( - _cE("view", _uM("class" to "section"), _uA( - _cE("view", _uM("class" to "section-title"), "退款类型"), - _cV(_component_radio_group, _uM("onChange" to handleTypeChange, "class" to "type-group"), _uM("default" to withSlotCtx(fun(): UTSArray { - return _uA( - _cV(_component_label, _uM("class" to "type-item"), _uM("default" to withSlotCtx(fun(): UTSArray { - return _uA( - _cV(_component_radio, _uM("value" to "1", "checked" to (refundType.value === 1), "color" to "#ff5000", "class" to "type-radio"), null, 8, _uA( - "checked" - )), - _cE("text", null, "仅退款") - ) - } - ), "_" to 1)), - _cV(_component_label, _uM("class" to "type-item"), _uM("default" to withSlotCtx(fun(): UTSArray { - return _uA( - _cV(_component_radio, _uM("value" to "2", "checked" to (refundType.value === 2), "color" to "#ff5000", "class" to "type-radio"), null, 8, _uA( - "checked" - )), - _cE("text", null, "退货退款") - ) - } - ), "_" to 1)) - ) - } - ), "_" to 1)) - )), - _cE("view", _uM("class" to "section"), _uA( - _cE("view", _uM("class" to "section-title"), "退款原因"), - _cV(_component_picker, _uM("onChange" to handleReasonChange, "range" to reasonList, "class" to "picker"), _uM("default" to withSlotCtx(fun(): UTSArray { - return _uA( - _cE("view", _uM("class" to "picker-content"), _uA( - if (isTrue(refundReason.value)) { - _cE("text", _uM("key" to 0), _tD(refundReason.value), 1) - } else { - _cE("text", _uM("key" to 1, "class" to "placeholder"), "请选择退款原因") - } - , - _cE("text", _uM("class" to "arrow"), ">") - )) - ) - } - ), "_" to 1)) - )), - _cE("view", _uM("class" to "section"), _uA( - _cE("view", _uM("class" to "section-title"), "退款金额"), - _cE("view", _uM("class" to "amount-input-wrap"), _uA( - _cE("text", _uM("class" to "currency"), "¥"), - _cE("input", _uM("type" to "digit", "modelValue" to refundAmount.value, "onInput" to fun(`$event`: UniInputEvent){ - refundAmount.value = `$event`.detail.value - } - , "class" to "amount-input", "placeholder" to ("最多可退 \u00A5" + maxAmount.value)), null, 40, _uA( - "modelValue", - "onInput", - "placeholder" - )) - )), - _cE("text", _uM("class" to "amount-tip"), "最多可退 ¥" + _tD(maxAmount.value) + ",含发货邮费 ¥" + _tD(deliveryFee.value), 1) - )), - _cE("view", _uM("class" to "section"), _uA( - _cE("view", _uM("class" to "section-title"), "退款说明"), - _cE("textarea", _uM("modelValue" to description.value, "onInput" to fun(`$event`: UniInputEvent){ - description.value = `$event`.detail.value - } - , "class" to "desc-input", "placeholder" to "选填:补充详细的退款说明,有助于商家快速处理", "maxlength" to "200"), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "submit-bar"), _uA( - _cE("button", _uM("class" to "submit-btn", "onClick" to submitRefund, "loading" to submitting.value), "提交申请", 8, _uA( - "loading" - )) - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("apply-refund-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f5f5", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 80, "paddingLeft" to 15)), "section" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "marginBottom" to 15)), "section-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 15)), "type-group" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "type-item" to _pS(_uM("display" to "flex", "alignItems" to "center", "marginBottom" to 15, "fontSize" to 14)), "type-radio" to _pS(_uM("marginRight" to 10)), "picker-content" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "fontSize" to 14, "color" to "#333333")), "placeholder" to _pS(_uM("color" to "#999999")), "arrow" to _pS(_uM("color" to "#cccccc")), "amount-input-wrap" to _pS(_uM("display" to "flex", "alignItems" to "center", "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#eeeeee", "paddingBottom" to 10, "marginBottom" to 10)), "currency" to _pS(_uM("fontSize" to 24, "fontWeight" to "bold", "color" to "#333333", "marginRight" to 10)), "amount-input" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to 24, "fontWeight" to "bold", "height" to 40)), "amount-tip" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "desc-input" to _pS(_uM("width" to "100%", "height" to 100, "fontSize" to 14, "backgroundColor" to "#f9f9f9", "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10, "boxSizing" to "border-box")), "submit-bar" to _pS(_uM("position" to "fixed", "bottom" to 0, "left" to 0, "right" to 0, "backgroundColor" to "#ffffff", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "boxShadow" to "0 -2px 10px rgba(0,0,0,0.05)")), "submit-btn" to _pS(_uM("backgroundColor" to "#ff5000", "color" to "#ffffff", "borderTopLeftRadius" to 22, "borderTopRightRadius" to 22, "borderBottomRightRadius" to 22, "borderBottomLeftRadius" to 22, "fontSize" to 16, "fontWeight" to "bold"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/balance/index.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/balance/index.kt deleted file mode 100644 index 06b98b58..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/balance/index.kt +++ /dev/null @@ -1,224 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.showModal as uni_showModal -open class GenPagesMallConsumerBalanceIndex : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerBalanceIndex) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerBalanceIndex - val _cache = __ins.renderCache - val balance = ref(0) - val totalEarned = ref(0) - val totalWithdrawn = ref(0) - val records = ref(_uA()) - val loading = ref(true) - val loadBalance = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val result = await(supabaseService.getUserBalance()) - balance.value = result.getNumber("balance") ?: 0 - totalEarned.value = result.getNumber("total_earned") ?: 0 - totalWithdrawn.value = result.getNumber("total_withdrawn") ?: 0 - } - catch (e: Throwable) { - console.error("加载余额失败:", e, " at pages/mall/consumer/balance/index.uvue:90") - } - }) - } - val loadRecords = fun(): UTSPromise { - return wrapUTSPromise(suspend { - loading.value = true - try { - val result = await(supabaseService.getBalanceRecords(1, 50)) - val parsed: UTSArray = _uA() - run { - var i: Number = 0 - while(i < result.length){ - val item = result[i] - var id = "" - var type = "" - var amount: Number = 0 - var balanceBefore: Number = 0 - var balanceAfter: Number = 0 - var description: String? = null - var createdAt = "" - var itemObj: UTSJSONObject? = null - if (item is UTSJSONObject) { - itemObj = item as UTSJSONObject - } else { - itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/balance/index.uvue:115") as UTSJSONObject - } - id = itemObj.getString("id") ?: "" - type = itemObj.getString("type") ?: "" - amount = itemObj.getNumber("amount") ?: 0 - balanceBefore = itemObj.getNumber("balance_before") ?: 0 - balanceAfter = itemObj.getNumber("balance_after") ?: 0 - description = itemObj.getString("description") - createdAt = itemObj.getString("created_at") ?: "" - parsed.push(BalanceRecord(id = id, type = type, amount = amount, balance_before = balanceBefore, balance_after = balanceAfter, description = description, created_at = createdAt)) - i++ - } - } - records.value = parsed - } - catch (e: Throwable) { - console.error("加载余额记录失败:", e, " at pages/mall/consumer/balance/index.uvue:139") - } - finally { - loading.value = false - } - }) - } - val loadData = fun(): UTSPromise { - return wrapUTSPromise(suspend { - await(UTSPromise.all(_uA( - loadBalance(), - loadRecords() - ))) - }) - } - val getTypeText = fun(type: String): String { - if (type === "free_order") { - return "免单奖励" - } - if (type === "rebate") { - return "返利" - } - if (type === "withdraw") { - return "提现" - } - if (type === "clear") { - return "余额清零" - } - if (type === "manual") { - return "手动调整" - } - return "余额变动" - } - val formatTime = fun(timeStr: String): String { - if (timeStr === "") { - return "" - } - val date = Date(timeStr) - val y = date.getFullYear() - val m = (date.getMonth() + 1).toString(10).padStart(2, "0") - val d = date.getDate().toString(10).padStart(2, "0") - val hh = date.getHours().toString(10).padStart(2, "0") - val mm = date.getMinutes().toString(10).padStart(2, "0") - return "" + y + "-" + m + "-" + d + " " + hh + ":" + mm - } - val showWithdrawTips = fun(): Unit { - uni_showModal(ShowModalOptions(title = "提现说明", content = "请添加商家微信进行提现处理,商家确认后将通过微信转账给您。", showCancel = false, confirmText = "我知道了")) - } - onMounted(fun(){ - loadData() - } - ) - return fun(): Any? { - return _cE("scroll-view", _uM("class" to "balance-page", "scroll-y" to ""), _uA( - _cE("view", _uM("class" to "balance-header"), _uA( - _cE("view", _uM("class" to "balance-info"), _uA( - _cE("text", _uM("class" to "balance-label"), "账户余额(元)"), - _cE("text", _uM("class" to "balance-value"), _tD(balance.value), 1) - )), - _cE("view", _uM("class" to "balance-tips"), _uA( - _cE("text", _uM("class" to "tips-text"), "余额来源于免单奖励,请联系商家微信提现") - )) - )), - _cE("view", _uM("class" to "stats-section"), _uA( - _cE("view", _uM("class" to "stat-item"), _uA( - _cE("text", _uM("class" to "stat-value"), _tD(totalEarned.value), 1), - _cE("text", _uM("class" to "stat-label"), "累计获得") - )), - _cE("view", _uM("class" to "stat-divider")), - _cE("view", _uM("class" to "stat-item"), _uA( - _cE("text", _uM("class" to "stat-value"), _tD(totalWithdrawn.value), 1), - _cE("text", _uM("class" to "stat-label"), "已提现") - )) - )), - _cE("view", _uM("class" to "records-section"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("text", _uM("class" to "section-title"), "余额明细") - )), - if (isTrue(loading.value)) { - _cE("view", _uM("key" to 0, "class" to "loading-state"), _uA( - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - if (records.value.length === 0) { - _cE("view", _uM("key" to 1, "class" to "empty-state"), _uA( - _cE("text", _uM("class" to "empty-text"), "暂无余额记录") - )) - } else { - _cE("view", _uM("key" to 2, "class" to "record-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(records.value, fun(record, __key, __index, _cached): Any { - return _cE("view", _uM("class" to "record-item", "key" to record.id), _uA( - _cE("view", _uM("class" to "record-left"), _uA( - _cE("text", _uM("class" to "record-type"), _tD(getTypeText(record.type)), 1), - _cE("text", _uM("class" to "record-time"), _tD(formatTime(record.created_at)), 1) - )), - _cE("view", _uM("class" to "record-right"), _uA( - _cE("text", _uM("class" to _nC(_uA( - "record-amount", - if (record.amount > 0) { - "positive" - } else { - "negative" - } - ))), _tD(if (record.amount > 0) { - "+" - } else { - "" - } - ) + _tD(record.amount), 3), - _cE("text", _uM("class" to "record-balance"), "余额: " + _tD(record.balance_after), 1) - )) - )) - } - ), 128) - )) - } - } - )), - _cE("view", _uM("class" to "withdraw-section"), _uA( - _cE("button", _uM("class" to "withdraw-btn", "onClick" to showWithdrawTips), _uA( - _cE("text", _uM("class" to "btn-text"), "申请提现") - )), - _cE("text", _uM("class" to "withdraw-tip"), "提现请联系商家微信处理") - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("balance-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to "100%", "backgroundColor" to "#f5f5f5")), "balance-header" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #ff6b35 0%, #ff8c42 100%)", "backgroundColor" to "rgba(0,0,0,0)", "paddingTop" to 30, "paddingRight" to 20, "paddingBottom" to 30, "paddingLeft" to 20, "display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "balance-info" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "balance-label" to _pS(_uM("fontSize" to 14, "color" to "rgba(255,255,255,0.8)", "marginBottom" to 8)), "balance-value" to _pS(_uM("fontSize" to 42, "fontWeight" to "bold", "color" to "#FFFFFF")), "balance-tips" to _pS(_uM("marginTop" to 16, "paddingTop" to 8, "paddingRight" to 16, "paddingBottom" to 8, "paddingLeft" to 16, "backgroundColor" to "rgba(255,255,255,0.2)", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16)), "tips-text" to _pS(_uM("fontSize" to 12, "color" to "rgba(255,255,255,0.9)")), "stats-section" to _pS(_uM("display" to "flex", "flexDirection" to "row", "backgroundColor" to "#FFFFFF", "paddingTop" to 20, "paddingRight" to 0, "paddingBottom" to 20, "paddingLeft" to 0, "marginBottom" to 8)), "stat-item" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "stat-value" to _pS(_uM("fontSize" to 24, "fontWeight" to "bold", "color" to "#333333")), "stat-label" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginTop" to 4)), "stat-divider" to _pS(_uM("width" to 1, "height" to 40, "backgroundColor" to "#f0f0f0")), "records-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "paddingTop" to 0, "paddingRight" to 16, "paddingBottom" to 0, "paddingLeft" to 16, "minHeight" to 200)), "section-header" to _pS(_uM("paddingTop" to 16, "paddingRight" to 0, "paddingBottom" to 16, "paddingLeft" to 0, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f0f0f0")), "section-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "loading-state" to _pS(_uM("paddingTop" to 40, "paddingRight" to 0, "paddingBottom" to 40, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "loading-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "empty-state" to _pS(_uM("paddingTop" to 40, "paddingRight" to 0, "paddingBottom" to 40, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "empty-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "record-list" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "record-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "paddingTop" to 16, "paddingRight" to 0, "paddingBottom" to 16, "paddingLeft" to 0, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f9f9f9")), "record-left" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "record-type" to _pS(_uM("fontSize" to 15, "color" to "#333333", "marginBottom" to 4)), "record-time" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "record-right" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "flex-end")), "record-amount" to _uM("" to _uM("fontSize" to 18, "fontWeight" to "bold", "marginBottom" to 4), ".positive" to _uM("color" to "#ff6b35"), ".negative" to _uM("color" to "#333333")), "record-balance" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "withdraw-section" to _pS(_uM("paddingTop" to 20, "paddingRight" to 16, "paddingBottom" to 20, "paddingLeft" to 16, "display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "withdraw-btn" to _pS(_uM("width" to "100%", "height" to 44, "backgroundImage" to "linear-gradient(135deg, #ff6b35 0%, #ff8c42 100%)", "backgroundColor" to "rgba(0,0,0,0)", "borderTopLeftRadius" to 22, "borderTopRightRadius" to 22, "borderBottomRightRadius" to 22, "borderBottomLeftRadius" to 22, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "btn-text" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#FFFFFF")), "withdraw-tip" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginTop" to 12))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/bank-cards/add.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/bank-cards/add.kt deleted file mode 100644 index dec89f53..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/bank-cards/add.kt +++ /dev/null @@ -1,164 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerBankCardsAdd : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerBankCardsAdd) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerBankCardsAdd - val _cache = __ins.renderCache - val loading = ref(false) - val form = reactive(BankCardForm(holder_name = "", card_no = "", bank_name = "", phone = "", is_default = false)) - val onSwitchChange = fun(e: UniSwitchChangeEvent){ - form.is_default = e.detail.value - } - val detectBank = fun(e: Any){ - val kVal = form.card_no - if (kVal.length >= 6) { - if (kVal.startsWith("6222")) { - form.bank_name = "中国工商银行" - } else if (kVal.startsWith("6227")) { - form.bank_name = "中国建设银行" - } else if (kVal.startsWith("6225")) { - form.bank_name = "招商银行" - } else if (kVal.startsWith("6228")) { - form.bank_name = "中国农业银行" - } - } - } - val submit = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (form.holder_name == "" || form.card_no == "" || form.bank_name == "") { - uni_showToast(ShowToastOptions(title = "请完善卡片信息", icon = "none")) - return@w1 - } - loading.value = true - try { - val cardData = UTSJSONObject(UTSSourceMapPosition("cardData", "pages/mall/consumer/bank-cards/add.uvue", 79, 15)) - cardData.set("holder_name", form.holder_name) - cardData.set("bank_name", form.bank_name) - cardData.set("card_no", form.card_no) - val last4 = if (form.card_no.length > 4) { - form.card_no.slice(-4) - } else { - form.card_no - } - cardData.set("card_no_last4", last4) - cardData.set("phone", form.phone) - cardData.set("is_default", form.is_default) - cardData.set("card_type", "debit") - val success = await(supabaseService.addBankCard(cardData)) - if (success) { - uni_showToast(ShowToastOptions(title = "添加成功")) - setTimeout(fun(){ - uni_navigateBack(null) - }, 1000) - } else { - uni_showToast(ShowToastOptions(title = "添加失败", icon = "none")) - } - } - catch (e: Throwable) { - console.error(e, " at pages/mall/consumer/bank-cards/add.uvue:101") - uni_showToast(ShowToastOptions(title = "系统错误", icon = "none")) - } - finally { - loading.value = false - } - }) - } - return fun(): Any? { - val _component_switch = resolveComponent("switch") - return _cE("view", _uM("class" to "add-card-page"), _uA( - _cE("view", _uM("class" to "form-container"), _uA( - _cE("view", _uM("class" to "form-item"), _uA( - _cE("text", _uM("class" to "label"), "持卡人"), - _cE("input", _uM("class" to "input", "type" to "text", "modelValue" to form.holder_name, "onInput" to fun(`$event`: UniInputEvent){ - form.holder_name = `$event`.detail.value - } - , "placeholder" to "请输入持卡人姓名"), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "form-item"), _uA( - _cE("text", _uM("class" to "label"), "卡号"), - _cE("input", _uM("class" to "input", "type" to "number", "modelValue" to form.card_no, "onInput" to _uA(fun(`$event`: UniInputEvent){ - form.card_no = `$event`.detail.value - } - , detectBank), "placeholder" to "请输入银行卡号", "maxlength" to "19"), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "form-item"), _uA( - _cE("text", _uM("class" to "label"), "银行"), - _cE("input", _uM("class" to "input", "type" to "text", "modelValue" to form.bank_name, "onInput" to fun(`$event`: UniInputEvent){ - form.bank_name = `$event`.detail.value - } - , "placeholder" to "自动识别或手动输入"), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "form-item"), _uA( - _cE("text", _uM("class" to "label"), "手机号"), - _cE("input", _uM("class" to "input", "type" to "number", "modelValue" to form.phone, "onInput" to fun(`$event`: UniInputEvent){ - form.phone = `$event`.detail.value - } - , "placeholder" to "银行预留手机号", "maxlength" to "11"), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "form-item switch-item"), _uA( - _cE("text", _uM("class" to "label"), "设为默认卡"), - _cV(_component_switch, _uM("checked" to form.is_default, "onChange" to onSwitchChange, "color" to "#ff5000"), null, 8, _uA( - "checked" - )) - )) - )), - _cE("view", _uM("class" to "action-section"), _uA( - _cE("button", _uM("class" to _nC(_uA( - "submit-btn", - _uM("disabled" to loading.value) - )), "disabled" to loading.value, "onClick" to submit), "确认添加", 10, _uA( - "disabled" - )) - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("add-card-page" to _pS(_uM("backgroundColor" to "#f5f5f5", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "form-container" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 0, "paddingRight" to 15, "paddingBottom" to 0, "paddingLeft" to 15)), "form-item" to _pS(_uM("display" to "flex", "alignItems" to "center", "paddingTop" to 15, "paddingRight" to 0, "paddingBottom" to 15, "paddingLeft" to 0, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#eeeeee", "borderBottomWidth:last-child" to "medium", "borderBottomStyle:last-child" to "none", "borderBottomColor:last-child" to "#000000")), "label" to _pS(_uM("width" to 80, "fontSize" to 15, "color" to "#333333")), "input" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to 15)), "switch-item" to _pS(_uM("justifyContent" to "space-between")), "action-section" to _pS(_uM("paddingTop" to 30, "paddingRight" to 15, "paddingBottom" to 30, "paddingLeft" to 15)), "submit-btn" to _uM("" to _uM("backgroundColor" to "#ff5000", "color" to "#ffffff", "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "fontSize" to 16), ".disabled" to _uM("opacity" to 0.6))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/bank-cards/index.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/bank-cards/index.kt deleted file mode 100644 index 2e185742..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/bank-cards/index.kt +++ /dev/null @@ -1,175 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerBankCardsIndex : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerBankCardsIndex) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerBankCardsIndex - val _cache = __ins.renderCache - val cards = ref(_uA()) - val loading = ref(true) - val loadData = fun(): UTSPromise { - return wrapUTSPromise(suspend { - loading.value = true - try { - val rawList = await(supabaseService.getUserBankCards()) - val cardList: UTSArray = _uA() - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - var id = "" - var bankName = "" - var last4 = "" - var type = "debit" - var holder = "" - var isDef = false - if (item is UTSJSONObject) { - id = (item as UTSJSONObject).getString("id") ?: "" - bankName = (item as UTSJSONObject).getString("bank_name") ?: "" - last4 = (item as UTSJSONObject).getString("card_no_last4") ?: "" - type = (item as UTSJSONObject).getString("card_type") ?: "debit" - holder = (item as UTSJSONObject).getString("holder_name") ?: "" - isDef = (item as UTSJSONObject).getBoolean("is_default") ?: false - } else { - val obj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/bank-cards/index.uvue:70") as UTSJSONObject - id = obj.getString("id") ?: "" - bankName = obj.getString("bank_name") ?: "" - last4 = obj.getString("card_no_last4") ?: "" - type = obj.getString("card_type") ?: "debit" - holder = obj.getString("holder_name") ?: "" - isDef = obj.getBoolean("is_default") ?: false - } - cardList.push(BankCard__1(id = id, user_id = "", bank_name = bankName, card_no_last4 = last4, card_type = type, holder_name = holder, is_default = isDef)) - i++ - } - } - cards.value = cardList - } - catch (e: Throwable) { - console.error(e, " at pages/mall/consumer/bank-cards/index.uvue:92") - } - finally { - loading.value = false - } - }) - } - onShow(fun(){ - loadData() - } - ) - val addCard = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/bank-cards/add")) - } - val deleteCard = fun(card: BankCard__1){ - uni_showModal(ShowModalOptions(title = "删除银行卡", content = "确认删除尾号" + card.card_no_last4 + "的" + card.bank_name + "卡片吗?", success = fun(res){ - if (res.confirm) { - supabaseService.deleteBankCard(card.id).then(fun(success){ - if (success) { - uni_showToast(ShowToastOptions(title = "已删除")) - loadData() - } else { - uni_showToast(ShowToastOptions(title = "删除失败", icon = "none")) - } - } - ) - } - } - )) - } - val getCardClass = fun(bankName: String): String { - if (bankName.includes("招商")) { - return "cmb" - } - if (bankName.includes("建设")) { - return "ccb" - } - if (bankName.includes("工商")) { - return "icbc" - } - if (bankName.includes("农业")) { - return "abc" - } - return "default-bank" - } - return fun(): Any? { - return _cE("view", _uM("class" to "bank-cards-page"), _uA( - _cE("view", _uM("class" to "card-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(cards.value, fun(card, __key, __index, _cached): Any { - return _cE("view", _uM("key" to card.id, "class" to _nC(_uA( - "card-item", - getCardClass(card.bank_name) - ))), _uA( - _cE("view", _uM("class" to "card-bg-mask")), - _cE("view", _uM("class" to "card-content"), _uA( - _cE("view", _uM("class" to "card-header"), _uA( - _cE("text", _uM("class" to "bank-name"), _tD(card.bank_name), 1), - _cE("text", _uM("class" to "card-type"), _tD(if (card.card_type === "credit") { - "信用卡" - } else { - "储蓄卡" - } - ), 1) - )), - _cE("view", _uM("class" to "card-number"), _uA( - _cE("text", _uM("class" to "dots"), "**** **** ****"), - _cE("text", _uM("class" to "last-digits"), _tD(card.card_no_last4), 1) - )), - _cE("view", _uM("class" to "delete-btn", "onClick" to withModifiers(fun(){ - deleteCard(card) - } - , _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "del-text"), "✕") - ), 8, _uA( - "onClick" - )) - )) - ), 2) - } - ), 128), - _cE("view", _uM("class" to "add-card-btn", "onClick" to addCard), _uA( - _cE("text", _uM("class" to "plus-icon"), "+"), - _cE("text", null, "添加银行卡") - )) - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("bank-cards-page" to _pS(_uM("paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "backgroundColor" to "#f5f5f5", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 140, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "marginBottom" to 15, "color" to "#ffffff", "position" to "relative", "overflow" to "hidden", "boxShadow" to "0 4px 8px rgba(0,0,0,0.1)")), "cmb" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #f55, #c00)", "backgroundColor" to "rgba(0,0,0,0)")), "ccb" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #09f, #00609c)", "backgroundColor" to "rgba(0,0,0,0)")), "icbc" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #f66, #c00)", "backgroundColor" to "rgba(0,0,0,0)")), "abc" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #0b9, #086)", "backgroundColor" to "rgba(0,0,0,0)")), "default-bank" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #666, #333)", "backgroundColor" to "rgba(0,0,0,0)")), "card-content" to _pS(_uM("paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "zIndex" to 2, "position" to "relative", "height" to "100%", "boxSizing" to "border-box", "display" to "flex", "flexDirection" to "column", "justifyContent" to "space-between")), "card-header" to _pS(_uM("display" to "flex", "alignItems" to "center")), "bank-name" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "marginRight" to 10)), "card-type" to _pS(_uM("fontSize" to 12, "backgroundColor" to "rgba(255,255,255,0.2)", "paddingTop" to 2, "paddingRight" to 6, "paddingBottom" to 2, "paddingLeft" to 6, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4)), "card-number" to _pS(_uM("display" to "flex", "alignItems" to "center", "justifyContent" to "flex-end", "marginBottom" to 10)), "dots" to _pS(_uM("fontSize" to 24, "marginRight" to 15, "lineHeight" to 1)), "last-digits" to _pS(_uM("fontSize" to 24, "fontFamily" to "monospace")), "add-card-btn" to _pS(_uM("backgroundColor" to "#ffffff", "height" to 60, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "color" to "#666666", "fontSize" to 16, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "dashed", "borderRightStyle" to "dashed", "borderBottomStyle" to "dashed", "borderLeftStyle" to "dashed", "borderTopColor" to "#cccccc", "borderRightColor" to "#cccccc", "borderBottomColor" to "#cccccc", "borderLeftColor" to "#cccccc")), "plus-icon" to _pS(_uM("fontSize" to 24, "marginRight" to 5)), "delete-btn" to _pS(_uM("position" to "absolute", "top" to 15, "right" to 15, "width" to 24, "height" to 24, "backgroundColor" to "rgba(0,0,0,0.2)", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "del-text" to _pS(_uM("color" to "#ffffff", "fontSize" to 14, "fontWeight" to "bold"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/chat.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/chat.kt deleted file mode 100644 index 8e224b33..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/chat.kt +++ /dev/null @@ -1,628 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.chooseImage as uni_chooseImage -import io.dcloud.uniapp.extapi.getSystemInfoSync as uni_getSystemInfoSync -import io.dcloud.uniapp.extapi.hideKeyboard as uni_hideKeyboard -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.previewImage as uni_previewImage -import io.dcloud.uniapp.extapi.showActionSheet as uni_showActionSheet -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerChat : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerChat) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerChat - val _cache = __ins.renderCache - val messages = ref(_uA()) - val inputMessage = ref("") - val inputFocus = ref(false) - val showEmoji = ref(false) - val scrollToView = ref("") - val currentUserId = ref("") - val merchantId = ref("") - val headerTitle = ref("在线客服") - val merchantAvatar = ref("/static/default-shop.png") - val navPaddingTop = ref("30px") - val isInitialLoading = ref(true) - var realtimeChannel: AkSupaRealtimeChannel? = null - val emojiList = _uA( - "😊", - "😂", - "🤣", - "😍", - "😘", - "🥰", - "😭", - "😡", - "👍", - "👏", - "🙏", - "🎉", - "❤️", - "🔥", - "⭐" - ) - fun gen_scrollToBottom_fn(): Unit { - if (messages.value.length === 0) { - return - } - val lastMsg = messages.value[messages.value.length - 1] - val targetId = lastMsg.viewId - scrollToView.value = "" - setTimeout(fun(){ - scrollToView.value = targetId - console.log("[scrollToBottom] 发起滚动定位:", targetId, " at pages/mall/consumer/chat.uvue:193") - setTimeout(fun(){ - scrollToView.value = "" - setTimeout(fun(){ - scrollToView.value = targetId - console.log("[scrollToBottom] 第一阶段校准:", targetId, " at pages/mall/consumer/chat.uvue:200") - } - , 50) - } - , 500) - setTimeout(fun(){ - scrollToView.value = "" - setTimeout(fun(){ - scrollToView.value = targetId - console.log("[scrollToBottom] 最终校准:", targetId, " at pages/mall/consumer/chat.uvue:209") - } - , 50) - } - , 1200) - } - , 300) - } - val scrollToBottom = ::gen_scrollToBottom_fn - fun gen_getCurrentTime_fn(): String { - val now = Date() - val hours = now.getHours().toString(10).padStart(2, "0") - val minutes = now.getMinutes().toString(10).padStart(2, "0") - return "" + hours + ":" + minutes - } - val getCurrentTime = ::gen_getCurrentTime_fn - fun gen_setupRealtimeSubscription_fn(): Unit { - console.log("开始建立聊天实时订阅...", " at pages/mall/consumer/chat.uvue:223") - console.log("当前用户ID:", currentUserId.value, "商家ID:", merchantId.value, " at pages/mall/consumer/chat.uvue:224") - realtimeChannel = supaInstance.channel("chat-messages-" + Date.now().toString(10)).on("postgres_changes", object : UTSJSONObject() { - var event = "INSERT" - var schema = "public" - var table = "ml_chat_messages" - }, fun(payload: Any){ - console.log("=== 收到实时订阅回调 ===", " at pages/mall/consumer/chat.uvue:232") - val payloadObj = if ((payload is UTSJSONObject)) { - (payload as UTSJSONObject) - } else { - (UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(payload ?: UTSJSONObject())), " at pages/mall/consumer/chat.uvue:233") as UTSJSONObject) - } - val newMsgAny = payloadObj.get("new") - if (newMsgAny == null) { - console.log("newMsgAny 为空,跳过", " at pages/mall/consumer/chat.uvue:236") - return - } - val newMsg = if ((newMsgAny is UTSJSONObject)) { - (newMsgAny as UTSJSONObject) - } else { - (UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(newMsgAny)), " at pages/mall/consumer/chat.uvue:239") as UTSJSONObject) - } - console.log("收到新消息:", newMsg, " at pages/mall/consumer/chat.uvue:240") - val senderId = newMsg.getString("sender_id") ?: "" - val receiverId = newMsg.getString("receiver_id") ?: "" - val msgId = newMsg.getString("id") ?: "" - val content = newMsg.getString("content") ?: "" - val msgType = newMsg.getString("msg_type") ?: "text" - console.log("=== 消息详情 ===", " at pages/mall/consumer/chat.uvue:248") - console.log("消息ID:", msgId, " at pages/mall/consumer/chat.uvue:249") - console.log("发送者ID:", senderId, " at pages/mall/consumer/chat.uvue:250") - console.log("接收者ID:", receiverId, " at pages/mall/consumer/chat.uvue:251") - console.log("当前用户ID:", currentUserId.value, " at pages/mall/consumer/chat.uvue:252") - console.log("商家ID:", merchantId.value, " at pages/mall/consumer/chat.uvue:253") - console.log("消息内容:", content, " at pages/mall/consumer/chat.uvue:254") - console.log("消息类型 msgType:", msgType, " at pages/mall/consumer/chat.uvue:255") - run { - var i: Number = 0 - while(i < messages.value.length){ - if (messages.value[i].id == msgId) { - console.log("消息已存在,跳过", " at pages/mall/consumer/chat.uvue:260") - return - } - i++ - } - } - val isMyMessage = (senderId == currentUserId.value) - val isForMe = (receiverId == currentUserId.value) - val isRelatedToCurrentChat = (senderId == merchantId.value || receiverId == merchantId.value) - console.log("=== 条件判断 ===", " at pages/mall/consumer/chat.uvue:270") - console.log("isMyMessage:", isMyMessage, " at pages/mall/consumer/chat.uvue:271") - console.log("isForMe:", isForMe, " at pages/mall/consumer/chat.uvue:272") - console.log("isRelatedToCurrentChat:", isRelatedToCurrentChat, " at pages/mall/consumer/chat.uvue:273") - if (!isRelatedToCurrentChat) { - console.log("消息与当前聊天无关,跳过", " at pages/mall/consumer/chat.uvue:277") - return - } - if (isMyMessage || isForMe) { - val createdAt = newMsg.getString("created_at") ?: Date().toISOString() - val date = Date(createdAt) - val timeStr = "" + date.getHours().toString(10).padStart(2, "0") + ":" + date.getMinutes().toString(10).padStart(2, "0") - val safeViewId = "msg_" + msgId.replace(UTSRegExp("[^a-zA-Z0-9]", "g"), "_") - val incomingMsg = UiChatMessage(id = msgId, viewId = safeViewId, type = if (isMyMessage) { - "sent" - } else { - "received" - }, content = content, time = timeStr, msgType = msgType) - console.log("=== 添加新消息到列表 ===", " at pages/mall/consumer/chat.uvue:299") - console.log("消息类型:", incomingMsg.type, " at pages/mall/consumer/chat.uvue:300") - console.log("消息内容:", incomingMsg.content, " at pages/mall/consumer/chat.uvue:301") - messages.value.push(incomingMsg) - scrollToBottom() - } else { - console.log("条件不满足,不添加消息", " at pages/mall/consumer/chat.uvue:305") - } - } - ).subscribe(fun(status: String, err: Any?){ - console.log("订阅状态:", status, " at pages/mall/consumer/chat.uvue:309") - if (err != null) { - console.log("订阅错误:", err, " at pages/mall/consumer/chat.uvue:311") - } - } - ) - } - val setupRealtimeSubscription = ::gen_setupRealtimeSubscription_fn - fun gen_loadChatHistory_fn(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - var rawMsgs: UTSArray = _uA() - if (merchantId.value != "") { - rawMsgs = await(supabaseService.getChatMessages(merchantId.value)) - } else { - console.warn("No merchant ID provided for chat", " at pages/mall/consumer/chat.uvue:322") - return@w1 - } - val sortedRawMsgs = rawMsgs.sort(fun(a, b): Number { - val timeA = Date(a.created_at ?: "").getTime() - val timeB = Date(b.created_at ?: "").getTime() - return timeA - timeB - } - ) - val uiMessages: UTSArray = _uA() - run { - var i: Number = 0 - while(i < sortedRawMsgs.length){ - val m = sortedRawMsgs[i] - val date = Date(m.created_at ?: Date().toISOString()) - val timeStr = "" + date.getHours().toString(10).padStart(2, "0") + ":" + date.getMinutes().toString(10).padStart(2, "0") - val sender = m.sender_id ?: "" - val msgType = if ((currentUserId.value != "" && sender == currentUserId.value)) { - "sent" - } else { - "received" - } - val rawId = (m.id ?: "").toString() - val msgId = if (rawId != "") { - rawId - } else { - Date.now().toString(10) + i.toString(10) - } - val safeViewId = "msg_" + msgId.replace(UTSRegExp("[^a-zA-Z0-9]", "g"), "_") - val uiMsg = UiChatMessage(id = msgId, viewId = safeViewId, type = msgType, content = m.content ?: "", time = timeStr, msgType = m.msg_type ?: "text") - uiMessages.push(uiMsg) - i++ - } - } - messages.value = uiMessages - if (isInitialLoading.value) { - setTimeout(fun(){ - scrollToBottom() - isInitialLoading.value = false - } - , 500) - } - }) - } - val loadChatHistory = ::gen_loadChatHistory_fn - fun gen_onScrollToUpper_fn(e: Any): Unit { - console.log("[onScrollToUpper] 触发加载历史记录", " at pages/mall/consumer/chat.uvue:368") - } - val onScrollToUpper = ::gen_onScrollToUpper_fn - fun gen_loadMerchantInfo_fn(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (merchantId.value == "") { - return@w1 - } - try { - val response = await(supaInstance.from("ml_shops").select("shop_logo, shop_name").eq("merchant_id", merchantId.value).limit(1).execute()) - if (response.error != null) { - console.error("[loadMerchantInfo] 获取商家信息失败:", response.error, " at pages/mall/consumer/chat.uvue:383") - return@w1 - } - val rawData = response.data - if (rawData == null) { - return@w1 - } - val rawList = rawData as UTSArray - if (rawList.length == 0) { - return@w1 - } - val shopData = rawList[0] - val shopObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(shopData)), " at pages/mall/consumer/chat.uvue:394") as UTSJSONObject - val logo = shopObj.getString("shop_logo") - if (logo != null && logo != "") { - merchantAvatar.value = logo - } - val name = shopObj.getString("shop_name") - if (name != null && name != "" && headerTitle.value == "在线客服") { - headerTitle.value = name - } - } - catch (e: Throwable) { - console.error("[loadMerchantInfo] 获取商家信息异常:", e, " at pages/mall/consumer/chat.uvue:406") - } - }) - } - val loadMerchantInfo = ::gen_loadMerchantInfo_fn - onLoad(fun(options: Any){ - val sysInfo = uni_getSystemInfoSync() - val statusBarH = sysInfo.statusBarHeight - navPaddingTop.value = (statusBarH + 10) + "px" - val optObj = if ((options is UTSJSONObject)) { - (options as UTSJSONObject) - } else { - (UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(options ?: UTSJSONObject())), " at pages/mall/consumer/chat.uvue:418") as UTSJSONObject) - } - val mid = optObj.getString("merchantId") ?: "" - if (mid !== "") { - merchantId.value = mid - } - val mname = optObj.getString("merchantName") ?: "" - if (mname !== "") { - headerTitle.value = mname - } - } - ) - onMounted(fun(){ - supabaseService.ensureSession().then(fun(uid){ - if (uid != null) { - currentUserId.value = uid - } else { - getCurrentUser().then(fun(user){ - if (user != null) { - currentUserId.value = user.id ?: "" - } - } - ) - } - loadMerchantInfo() - loadChatHistory() - setupRealtimeSubscription() - } - ) - } - ) - onUnmounted(fun(){ - if (realtimeChannel != null) { - supaInstance.removeChannel(realtimeChannel!!!!) - } - } - ) - val sendMessage = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - val content = inputMessage.value.trim() - if (content == "") { - return@w1 - } - inputMessage.value = "" - showEmoji.value = false - if (merchantId.value != "") { - console.log("[sendMessage] 开始发送消息到:", merchantId.value, " at pages/mall/consumer/chat.uvue:464") - val success = await(supabaseService.sendMessage(merchantId.value, content)) - console.log("[sendMessage] 发送结果:", success, " at pages/mall/consumer/chat.uvue:466") - if (!success) { - uni_showToast(ShowToastOptions(title = "发送失败", icon = "none")) - } - } - }) - } - fun gen_insertEmoji_fn(emoji: String): Unit { - inputMessage.value += emoji - showEmoji.value = false - inputFocus.value = true - } - val insertEmoji = ::gen_insertEmoji_fn - fun gen_showEmojiPicker_fn(): Unit { - showEmoji.value = !showEmoji.value - if (showEmoji.value) { - uni_hideKeyboard(null) - } - } - val showEmojiPicker = ::gen_showEmojiPicker_fn - fun gen_doUploadImage_fn(filePath: String): UTSPromise { - return wrapUTSPromise(suspend w1@{ - console.log("[doUploadImage] 开始上传图片:", filePath, " at pages/mall/consumer/chat.uvue:504") - uni_showLoading(ShowLoadingOptions(title = "发送中...", mask = true)) - try { - val imageUrl = await(supabaseService.uploadChatImage(filePath)) - uni_hideLoading() - if (imageUrl == "") { - uni_showToast(ShowToastOptions(title = "图片上传失败", icon = "none")) - return@w1 - } - console.log("[doUploadImage] 图片上传成功:", imageUrl, " at pages/mall/consumer/chat.uvue:526") - val success = await(supabaseService.sendMessage(merchantId.value, imageUrl, "image")) - if (!success) { - uni_showToast(ShowToastOptions(title = "发送失败", icon = "none")) - } - } - catch (e: Throwable) { - uni_hideLoading() - console.error("[doUploadImage] 上传异常:", e, " at pages/mall/consumer/chat.uvue:538") - uni_showToast(ShowToastOptions(title = "上传失败", icon = "none")) - } - }) - } - val doUploadImage = ::gen_doUploadImage_fn - fun gen_showImagePicker_fn(): Unit { - uni_chooseImage(ChooseImageOptions(count = 1, success = fun(res){ - console.log("选择图片成功:", JSON.stringify(res), " at pages/mall/consumer/chat.uvue:551") - var filePath: String = "" - val tempFilePaths = res.tempFilePaths - if (tempFilePaths != null) { - if (UTSArray.isArray(tempFilePaths)) { - val arr = tempFilePaths as UTSArray - if (arr.length > 0) { - filePath = arr[0] - } - } else if (tempFilePaths is UTSJSONObject) { - val keys = UTSJSONObject.keys(tempFilePaths as UTSJSONObject) - if (keys.length > 0) { - filePath = (tempFilePaths as UTSJSONObject).getString(keys[0]) ?: "" - } - } else if (UTSAndroid.`typeof`(tempFilePaths) === "string") { - filePath = tempFilePaths as String - } - } - if (filePath == "" && res.tempFiles != null) { - val tempFiles = res.tempFiles - if (UTSArray.isArray(tempFiles)) { - val files = tempFiles as UTSArray - if (files.length > 0) { - val firstFile = files[0] - if (firstFile is UTSJSONObject) { - filePath = (firstFile as UTSJSONObject).getString("path") ?: "" - } else if (UTSAndroid.`typeof`(firstFile) === "object" && firstFile != null) { - val fileObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(firstFile)), " at pages/mall/consumer/chat.uvue:582") as UTSJSONObject - filePath = fileObj.getString("path") ?: "" - } - } - } - } - console.log("[showImagePicker] 文件路径:", filePath, " at pages/mall/consumer/chat.uvue:589") - if (filePath == "") { - uni_showToast(ShowToastOptions(title = "获取图片路径失败", icon = "none")) - return - } - doUploadImage(filePath) - } - , fail = fun(err){ - console.log("选择图片失败:", err, " at pages/mall/consumer/chat.uvue:603") - uni_showToast(ShowToastOptions(title = "选择图片失败", icon = "none")) - } - )) - } - val showImagePicker = ::gen_showImagePicker_fn - fun gen_previewImage_fn(url: String): Unit { - uni_previewImage(PreviewImageOptions(urls = _uA( - url - ), current = url)) - } - val previewImage = ::gen_previewImage_fn - fun gen_showMoreTools_fn(): Unit { - uni_showActionSheet(ShowActionSheetOptions(itemList = _uA( - "发送位置", - "发送文件", - "发送语音" - ), success = fun(res){ - console.log("选择工具:", res.tapIndex, " at pages/mall/consumer/chat.uvue:625") - } - )) - } - val showMoreTools = ::gen_showMoreTools_fn - fun gen_showMoreActions_fn(): Unit { - uni_showActionSheet(ShowActionSheetOptions(itemList = _uA( - "投诉客服", - "结束对话", - "清除记录" - ), success = fun(res){ - when (res.tapIndex) { - 0 -> - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/complaint")) - 1 -> - uni_showModal(ShowModalOptions(title = "确认结束", content = "确定要结束本次对话吗?", success = fun(res){ - if (res.confirm) { - uni_navigateBack(null) - } - } - )) - 2 -> - uni_showModal(ShowModalOptions(title = "确认清除", content = "确定要清除聊天记录吗?", success = fun(res){ - if (res.confirm) { - messages.value = _uA() - } - } - )) - } - } - )) - } - val showMoreActions = ::gen_showMoreActions_fn - val goBack = fun(){ - uni_navigateBack(null) - } - return fun(): Any? { - return _cE("view", _uM("class" to "chat-page"), _uA( - _cE("view", _uM("class" to "chat-header", "style" to _nS(_uM("paddingTop" to navPaddingTop.value))), _uA( - _cE("view", _uM("class" to "header-back", "onClick" to goBack), _uA( - _cE("text", _uM("class" to "back-icon"), "❮") - )), - _cE("view", _uM("class" to "header-info"), _uA( - _cE("view", _uM("class" to "header-info-text-wrapper"), _uA( - _cE("text", _uM("class" to "chat-title"), _tD(headerTitle.value), 1), - _cE("text", _uM("class" to "chat-status"), "在线") - )) - )), - _cE("view", _uM("class" to "header-actions"), _uA( - _cE("view", _uM("class" to "action-icon", "onClick" to showMoreActions), _uA( - _cE("text", _uM("class" to "action-icon-text"), "⋯") - )) - )) - ), 4), - _cE("scroll-view", _uM("scroll-y" to "true", "class" to "chat-content", "scroll-into-view" to scrollToView.value, "scroll-with-animation" to true, "show-scrollbar" to false, "upper-threshold" to "100", "onScrolltoupper" to onScrollToUpper), _uA( - _cE("view", _uM("class" to "chat-messages"), _uA( - _cE("view", _uM("class" to "message-item system"), _uA( - _cE("text", _uM("class" to "system-text"), "客服 小美 已接入,请描述您的问题") - )), - _cE("view", _uM("class" to "time-divider"), _uA( - _cE("text", _uM("class" to "time-text"), "今天 14:30") - )), - _cE(Fragment, null, RenderHelpers.renderList(messages.value, fun(message, __key, __index, _cached): Any { - return _cE("view", _uM("key" to message.id, "class" to _nC(_uA( - "message-item", - message.type - )), "id" to message.viewId), _uA( - if (message.type === "received") { - _cE("view", _uM("key" to 0, "class" to "message-wrapper"), _uA( - _cE("image", _uM("class" to "avatar", "src" to merchantAvatar.value, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "message-content-wrapper"), _uA( - _cE("text", _uM("class" to "sender-name"), _tD(headerTitle.value), 1), - _cE("view", _uM("class" to "message-bubble received-bubble"), _uA( - if (message.msgType == "image") { - _cE("image", _uM("key" to 0, "class" to "message-image", "src" to message.content, "mode" to "widthFix", "onClick" to fun(){ - previewImage(message.content) - }), null, 8, _uA( - "src", - "onClick" - )) - } else { - _cC("v-if", true) - }, - if (message.msgType != "image") { - _cE("text", _uM("key" to 1, "class" to "message-text"), _tD(message.content), 1) - } else { - _cC("v-if", true) - }, - _cE("text", _uM("class" to "message-time"), _tD(message.time), 1) - )) - )) - )) - } else { - _cE("view", _uM("key" to 1, "class" to "message-wrapper me"), _uA( - _cE("view", _uM("class" to "message-content-wrapper"), _uA( - _cE("view", _uM("class" to "message-bubble me"), _uA( - if (message.msgType == "image") { - _cE("image", _uM("key" to 0, "class" to "message-image", "src" to message.content, "mode" to "widthFix", "onClick" to fun(){ - previewImage(message.content) - }), null, 8, _uA( - "src", - "onClick" - )) - } else { - _cC("v-if", true) - } - , - if (message.msgType != "image") { - _cE("text", _uM("key" to 1, "class" to "message-text"), _tD(message.content), 1) - } else { - _cC("v-if", true) - } - , - _cE("text", _uM("class" to "message-time"), _tD(message.time), 1) - )) - )), - _cE("image", _uM("class" to "avatar me", "src" to "/static/images/default-product.png", "mode" to "aspectFill")) - )) - } - ), 10, _uA( - "id" - )) - } - ), 128) - )) - ), 40, _uA( - "scroll-into-view" - )), - _cE("view", _uM("class" to "chat-input"), _uA( - _cE("view", _uM("class" to "input-tools"), _uA( - _cE("text", _uM("class" to "tool-icon", "onClick" to showEmojiPicker), "😊"), - _cE("text", _uM("class" to "tool-icon", "onClick" to showImagePicker), "📷"), - _cE("text", _uM("class" to "tool-icon", "onClick" to showMoreTools), "➕") - )), - _cE("view", _uM("class" to "input-wrapper"), _uA( - _cE("input", _uM("class" to "message-input", "modelValue" to inputMessage.value, "onInput" to fun(`$event`: UniInputEvent){ - inputMessage.value = `$event`.detail.value - } - , "placeholder" to "请输入消息...", "focus" to inputFocus.value, "onConfirm" to sendMessage, "confirm-type" to "send"), null, 40, _uA( - "modelValue", - "onInput", - "focus" - )), - _cE("button", _uM("class" to _nC(_uA( - "send-button", - _uM("active" to inputMessage.value.trim()) - )), "onClick" to sendMessage), " 发送 ", 2) - )) - )), - if (isTrue(showEmoji.value)) { - _cE("scroll-view", _uM("key" to 0, "class" to "emoji-picker", "direction" to "vertical"), _uA( - _cE("view", _uM("class" to "emoji-category"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(emojiList, fun(emoji, __key, __index, _cached): Any { - return _cE("text", _uM("key" to emoji, "class" to "emoji-item", "onClick" to fun(){ - insertEmoji(emoji) - }), _tD(emoji), 9, _uA( - "onClick" - )) - }), 64) - )) - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("chat-page" to _pS(_uM("width" to "100%", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f5f5", "display" to "flex", "flexDirection" to "column", "overflow" to "hidden")), "chat-header" to _pS(_uM("backgroundColor" to "#FFFFFF", "paddingTop" to 10, "paddingRight" to 15, "paddingBottom" to 10, "paddingLeft" to 15, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "space-between", "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#eeeeee", "flexShrink" to 0)), "header-back" to _pS(_uM("width" to 40)), "back-icon" to _pS(_uM("fontSize" to 20, "color" to "#333333")), "header-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "header-info-text-wrapper" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "chat-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 2)), "chat-status" to _pS(_uM("fontSize" to 12, "color" to "#34c759")), "action-icon" to _uM(".header-actions " to _uM("fontSize" to 20, "color" to "#333333", "width" to 40)), "action-icon-text" to _pS(_uM("textAlign" to "right", "width" to "100%")), "chat-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 0, "paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 20, "paddingLeft" to 10, "boxSizing" to "border-box")), "chat-messages" to _pS(_uM("display" to "flex", "flexDirection" to "column", "paddingBottom" to 80)), "message-item" to _uM(".system" to _uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "center", "marginBottom" to 20)), "system-text" to _pS(_uM("fontSize" to 12, "color" to "#999999", "backgroundColor" to "#f0f0f0", "paddingTop" to 5, "paddingRight" to 15, "paddingBottom" to 5, "paddingLeft" to 15, "borderTopLeftRadius" to 15, "borderTopRightRadius" to 15, "borderBottomRightRadius" to 15, "borderBottomLeftRadius" to 15, "textAlign" to "center")), "time-divider" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "center", "marginTop" to 20, "marginRight" to 0, "marginBottom" to 20, "marginLeft" to 0)), "time-text" to _pS(_uM("fontSize" to 12, "color" to "#999999", "backgroundColor" to "#f0f0f0", "paddingTop" to 3, "paddingRight" to 10, "paddingBottom" to 3, "paddingLeft" to 10, "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "textAlign" to "center")), "message-wrapper" to _uM("" to _uM("display" to "flex", "flexDirection" to "row", "marginBottom" to 15), ".me" to _uM("justifyContent" to "flex-end")), "avatar" to _uM("" to _uM("width" to 40, "height" to 40, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "marginRight" to 10, "flexShrink" to 0), ".me" to _uM("marginRight" to 0, "marginLeft" to 10)), "message-content-wrapper" to _pS(_uM("width" to 260, "display" to "flex", "flexDirection" to "column")), "message-bubble" to _uM("" to _uM("backgroundColor" to "#FFFFFF", "paddingTop" to 10, "paddingRight" to 15, "paddingBottom" to 10, "paddingLeft" to 15, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "position" to "relative", "boxShadow" to "0 1px 3px rgba(0, 0, 0, 0.05)"), ".me" to _uM("backgroundColor" to "#95ec69", "alignSelf" to "flex-end", "borderTopRightRadius" to 2)), "received-bubble" to _pS(_uM("alignSelf" to "flex-start", "borderTopLeftRadius" to 2)), "sender-name" to _pS(_uM("fontSize" to 11, "color" to "#999999", "marginBottom" to 2, "alignSelf" to "flex-start")), "message-text" to _pS(_uM("fontSize" to 15, "color" to "#333333", "lineHeight" to 1.4, "marginBottom" to 5, "whiteSpace" to "pre-wrap")), "message-image" to _pS(_uM("maxWidth" to 200, "minWidth" to 100, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginBottom" to 5)), "message-time" to _pS(_uM("fontSize" to 11, "color" to "#999999", "textAlign" to "right")), "chat-input" to _pS(_uM("backgroundColor" to "#FFFFFF", "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#eeeeee", "paddingTop" to 10, "paddingRight" to 15, "paddingBottom" to 20, "paddingLeft" to 15, "position" to "fixed", "bottom" to 0, "left" to 0, "right" to 0, "flexShrink" to 0)), "input-tools" to _pS(_uM("display" to "flex", "flexDirection" to "row", "marginBottom" to 10)), "tool-icon" to _pS(_uM("fontSize" to 20, "marginRight" to 15, "color" to "#666666")), "input-wrapper" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "message-input" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f5f5", "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "paddingTop" to 10, "paddingRight" to 15, "paddingBottom" to 10, "paddingLeft" to 15, "fontSize" to 15, "marginRight" to 10, "minHeight" to 40, "maxHeight" to 100)), "send-button" to _uM("" to _uM("backgroundColor" to "#cccccc", "color" to "#FFFFFF", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "paddingTop" to 8, "paddingRight" to 20, "paddingBottom" to 8, "paddingLeft" to 20, "fontSize" to 14, "minWidth" to 60, "transitionProperty" to "all", "transitionDuration" to "0.3s", "transitionTimingFunction" to "ease"), ".active" to _uM("backgroundColor" to "#ff5000")), "emoji-picker" to _pS(_uM("backgroundColor" to "#FFFFFF", "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#eeeeee", "paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10, "height" to 200, "position" to "fixed", "bottom" to 80, "left" to 0, "right" to 0, "zIndex" to 99)), "emoji-category" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap")), "emoji-item" to _pS(_uM("fontSize" to 24, "paddingTop" to 8, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8, "width" to 45, "height" to 45, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "@TRANSITION" to _uM("send-button" to _uM("property" to "all", "duration" to "0.3s", "timingFunction" to "ease"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/checkout.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/checkout.kt deleted file mode 100644 index 5f196a33..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/checkout.kt +++ /dev/null @@ -1,1397 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.`$emit` as uni__emit -import io.dcloud.uniapp.extapi.`$off` as uni__off -import io.dcloud.uniapp.extapi.`$on` as uni__on -import io.dcloud.uniapp.extapi.getStorageSync as uni_getStorageSync -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.redirectTo as uni_redirectTo -import io.dcloud.uniapp.extapi.removeStorageSync as uni_removeStorageSync -import io.dcloud.uniapp.extapi.setStorageSync as uni_setStorageSync -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerCheckout : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerCheckout) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerCheckout - val _cache = __ins.renderCache - fun gen_getObjectKeys_fn(obj: Any): UTSArray { - val keys: UTSArray = _uA() - val tempObj = obj as Record - try { - val commonKeys = _uA( - "id", - "name", - "value", - "label", - "key", - "recipient_name", - "phone", - "province", - "city", - "district", - "detail", - "is_default" - ) - run { - var i: Number = 0 - while(i < commonKeys.length){ - val key = commonKeys[i] - if (tempObj[key] != null) { - keys.push(key) - } - i++ - } - } - } - catch (e: Throwable) {} - return keys - } - val getObjectKeys = ::gen_getObjectKeys_fn - val checkoutItems = ref(_uA()) - val selectedAddress = ref(null) - val deliveryOptions = ref(_uA(DeliveryOptionType(id = "express", name = "物流快递", price = 8.00, description = "普通快递配送"), DeliveryOptionType(id = "local", name = "同城配送", price = 15.00, description = "同城极速上门"))) - val selectedDelivery = ref("express") - val selectedCoupon = ref(null) - val remark = ref("") - val showAddressPopup = ref(false) - val addressList = ref(_uA()) - val newAddress = ref(NewAddressForm(recipient_name = "", phone = "", province = "", city = "", district = "", detail = "", is_default = false)) - val showNewAddressForm = ref(false) - val showSaveConfirm = ref(false) - val smartAddressInput = ref("") - val toUTSJSONObject = fun(value: Any): UTSJSONObject { - if (value is UTSJSONObject) { - return value as UTSJSONObject - } - return UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(value ?: UTSJSONObject())), " at pages/mall/consumer/checkout.uvue:446") as UTSJSONObject - } - val shopGroups = computed(fun(): UTSArray { - val groups: UTSArray = _uA() - checkoutItems.value.forEach(fun(item){ - val shopId = item.shop_id ?: "unknown" - var target: ShopGroupType? = null - run { - var i: Number = 0 - while(i < groups.length){ - if (groups[i].shopId == shopId) { - target = groups[i] - break - } - i++ - } - } - if (target == null) { - target = ShopGroupType(shopId = shopId, shopName = item.shop_name ?: "商城优选", merchant_id = item.merchant_id ?: item.shop_id ?: "", items = _uA()) - groups.push(target) - } - target.items.push(item) - } - ) - return groups - } - ) - val totalAmount = computed(fun(): Number { - console.log("计算商品总价,checkoutItems:", checkoutItems.value, " at pages/mall/consumer/checkout.uvue:493") - if (checkoutItems.value.length == 0) { - console.log("商品列表为空,返回0", " at pages/mall/consumer/checkout.uvue:495") - return 0 - } - val total = checkoutItems.value.reduce(fun(sum, item): Number { - if (item == null) { - return sum - } - var price = item.price - if (item.member_price != null && item.member_price > 0 && item.member_price < item.price) { - price = item.member_price - } - val quantity = item.quantity - if (isNaN(price) || isNaN(quantity) || price <= 0 || quantity <= 0) { - console.warn("商品价格或数量无效:", item, "price:", price, "quantity:", quantity, " at pages/mall/consumer/checkout.uvue:513") - return sum - } - val itemTotal = price * quantity - return sum + itemTotal - } - , 0) - return total - } - ) - val deliveryFee = computed(fun(): Number { - val option = deliveryOptions.value.find(fun(opt): Boolean { - return opt.id === selectedDelivery.value - } - ) - return option?.price ?: 0 - } - ) - val discountAmount = computed(fun(): Number { - val coupon = selectedCoupon.value?.template - if (coupon == null) { - return 0 - } - if (totalAmount.value < coupon.min_order_amount) { - return 0 - } - return coupon.discount_value - } - ) - val actualAmount = computed(fun(): Number { - val total = if (UTSAndroid.`typeof`(totalAmount.value) === "number") { - totalAmount.value - } else { - 0 - } - val delivery = if (UTSAndroid.`typeof`(deliveryFee.value) === "number") { - deliveryFee.value - } else { - 0 - } - val discount = if (UTSAndroid.`typeof`(discountAmount.value) === "number") { - discountAmount.value - } else { - 0 - } - var amount = total + delivery - discount - return if (amount > 0) { - amount - } else { - 0 - } - } - ) - watch(checkoutItems, fun(newItems: UTSArray){ - console.log("checkoutItems变化了:", newItems, " at pages/mall/consumer/checkout.uvue:554") - console.log("商品总价计算:", totalAmount.value, " at pages/mall/consumer/checkout.uvue:555") - } - , WatchOptions(deep = true)) - val processCheckoutItems = fun(items: UTSArray): UTSPromise { - return wrapUTSPromise(suspend { - var memberDiscount: Number = 1.0 - try { - val memberInfo = await(supabaseService.getUserMemberInfo()) - val discountRaw = memberInfo.get("discount") - if (discountRaw != null) { - memberDiscount = discountRaw as Number - } - } - catch (e: Throwable) { - console.log("获取会员信息失败,使用默认折扣:", e, " at pages/mall/consumer/checkout.uvue:569") - } - val converted: UTSArray = _uA() - if (items != null && items.length > 0) { - run { - var i: Number = 0 - while(i < items.length){ - val obj = toUTSJSONObject(items[i]) - val id = obj.getString("id") ?: "" - val productId = obj.getString("product_id") ?: obj.getString("productId") ?: id - val skuId = obj.getString("sku_id") ?: obj.getString("skuId") ?: id - val productName = obj.getString("product_name") ?: obj.getString("name") ?: "" - val productImage = obj.getString("product_image") ?: obj.getString("image") ?: "" - var specs: Any = UTSJSONObject() - val skuSpecsAny = obj.get("sku_specifications") - if (skuSpecsAny != null) { - specs = skuSpecsAny - } else { - val specAny = obj.get("spec") - if (specAny != null) { - specs = (object : UTSJSONObject() { - var spec = specAny - } as Any) - } - } - var price: Number = 0 - val priceAny = obj.get("price") - if (priceAny != null) { - val parsed = parseFloat(priceAny.toString()) - if (isNaN(parsed) == false) { - price = parsed - } - } - var quantity: Number = 1 - val quantityAny = obj.get("quantity") - if (quantityAny != null) { - val parsedQ = parseInt(quantityAny.toString()) - if (isNaN(parsedQ) == false && parsedQ >= 1) { - quantity = parsedQ - } - } - val shopId = obj.getString("shop_id") ?: obj.getString("shopId") ?: "unknown" - val shopName = obj.getString("shop_name") ?: obj.getString("shopName") ?: "" - val merchantId = obj.getString("merchant_id") ?: obj.getString("merchantId") ?: "" - var memberPrice: Number = 0 - if (memberDiscount > 0 && memberDiscount < 1 && price > 0) { - memberPrice = Math.round(price * memberDiscount * 100) / 100 - } - converted.push(CheckoutItemType(id = id, product_id = productId, sku_id = skuId, product_name = productName, product_image = productImage, sku_specifications = specs, price = parseFloat(price.toFixed(2)), original_price = parseFloat(price.toFixed(2)), member_price = memberPrice, quantity = quantity, shop_id = shopId, shop_name = shopName, merchant_id = merchantId)) - i++ - } - } - } - checkoutItems.value = converted - if (checkoutItems.value.length > 0) { - console.log("清洗后商品价格明细:", " at pages/mall/consumer/checkout.uvue:636") - checkoutItems.value.forEach(fun(item: CheckoutItemType, index: Number){ - console.log("商品" + index + ":", item.product_name, "原价:", item.price, "会员价:", item.member_price, "shop:", item.shop_id, " at pages/mall/consumer/checkout.uvue:638") - } - ) - } - }) - } - fun gen_getCurrentUserId_fn(): String { - val userId = supabaseService.getCurrentUserId() - return userId ?: "" - } - val getCurrentUserId = ::gen_getCurrentUserId_fn - onMounted(fun(){ - uni__on("addressUpdated", fun(updatedAddressList: UTSArray){ - addressList.value = updatedAddressList - if (selectedAddress.value == null && addressList.value.length > 0) { - var defaultAddress: AddressItem? = null - run { - var i: Number = 0 - while(i < addressList.value.length){ - val addr = addressList.value[i] - if (addr.is_default) { - defaultAddress = addr - break - } - i++ - } - } - if (defaultAddress != null) { - selectedAddress.value = defaultAddress - } - } - } - ) - } - ) - onUnmounted(fun(){ - uni__off("addressUpdated", null) - uni__off("checkoutPageShow", null) - uni_removeStorageSync("checkout_type") - uni_removeStorageSync("checkout_items") - } - ) - fun gen_loadDefaultAddress_fn(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val currentUserId = getCurrentUserId() - if (currentUserId != "") { - val supabaseAddresses = await(supabaseService.getAddresses()) - if (supabaseAddresses != null && supabaseAddresses.length > 0) { - val defaultAddress = supabaseAddresses.find(fun(addr: UserAddress): Boolean { - return addr.is_default === true - } - ) - if (defaultAddress != null) { - val addr = AddressItem(id = defaultAddress.id, recipient_name = defaultAddress.recipient_name, phone = defaultAddress.phone, province = defaultAddress.province, city = defaultAddress.city, district = defaultAddress.district, detail = defaultAddress.detail_address, is_default = defaultAddress.is_default) - selectedAddress.value = addr - } else { - val firstAddress = supabaseAddresses[0] - val addr = AddressItem(id = firstAddress.id, recipient_name = firstAddress.recipient_name, phone = firstAddress.phone, province = firstAddress.province, city = firstAddress.city, district = firstAddress.district, detail = firstAddress.detail_address, is_default = firstAddress.is_default) - selectedAddress.value = addr - } - val localAddresses: UTSArray = _uA() - run { - var i: Number = 0 - while(i < supabaseAddresses.length){ - val addr = supabaseAddresses[i] - localAddresses.push(object : UTSJSONObject() { - var id = addr.id - var name = addr.recipient_name - var phone = addr.phone - var province = addr.province - var city = addr.city - var district = addr.district - var detail = addr.detail_address - var isDefault = addr.is_default - }) - i++ - } - } - uni_setStorageSync("addresses", JSON.stringify(localAddresses)) - } - } - if (selectedAddress.value == null) { - val storedAddresses = uni_getStorageSync("addresses") - val storedAddressesStr = if (storedAddresses != null) { - storedAddresses.toString() - } else { - "" - } - if (storedAddressesStr != "") { - try { - val addresses = UTSAndroid.consoleDebugError(JSON.parse(storedAddressesStr), " at pages/mall/consumer/checkout.uvue:746") as UTSArray - if (addresses != null && addresses.length > 0) { - var picked: UTSJSONObject? = null - run { - var i: Number = 0 - while(i < addresses.length){ - val obj = toUTSJSONObject(addresses[i]) - val isDef = obj.getBoolean("isDefault") ?: obj.getBoolean("is_default") ?: false - if (isDef) { - picked = obj - break - } - i++ - } - } - if (picked == null) { - picked = toUTSJSONObject(addresses[0]) - } - val addr = AddressItem(id = picked.getString("id") ?: "", recipient_name = picked.getString("recipient_name") ?: picked.getString("name") ?: "", phone = picked.getString("phone") ?: "", province = picked.getString("province") ?: "", city = picked.getString("city") ?: "", district = picked.getString("district") ?: "", detail = picked.getString("detail") ?: picked.getString("detail_address") ?: "", is_default = picked.getBoolean("isDefault") ?: picked.getBoolean("is_default") ?: false) - selectedAddress.value = addr - } - } - catch (err: Throwable) { - console.error("解析本地地址数据失败:", err, " at pages/mall/consumer/checkout.uvue:772") - } - } - } - if (selectedAddress.value == null) { - val mockAddresses = _uA( - MockAddress(id = "addr_001", name = "张三", phone = "13800138001", province = "北京市", city = "北京市", district = "朝阳区", detail = "建国路88号SOHO现代城A座1001", isDefault = true), - MockAddress(id = "addr_002", name = "李四", phone = "13900139001", province = "上海市", city = "上海市", district = "浦东新区", detail = "陆家嘴环路1000号汇亚大厦20层", isDefault = false) - ) as UTSArray - uni_setStorageSync("addresses", JSON.stringify(mockAddresses)) - val first = mockAddresses[0] - val addr = AddressItem(id = first.id, recipient_name = first.name, phone = first.phone, province = first.province, city = first.city, district = first.district, detail = first.detail, is_default = first.isDefault) - selectedAddress.value = addr - } - } - catch (error: Throwable) { - console.error("加载地址失败:", error, " at pages/mall/consumer/checkout.uvue:822") - } - }) - } - val loadDefaultAddress = ::gen_loadDefaultAddress_fn - val isLoggedIn = computed(fun(): Boolean { - val userId = getCurrentUserId() - return userId != "" - } - ) - val getFullAddress = fun(address: AddressItem): String { - return "" + address.province + address.city + address.district + address.detail - } - fun gen_loadAddressList_fn(): UTSPromise { - return wrapUTSPromise(suspend { - console.log("[loadAddressList] 开始加载地址列表", " at pages/mall/consumer/checkout.uvue:839") - try { - val currentUserId = getCurrentUserId() - console.log("[loadAddressList] currentUserId:", currentUserId, " at pages/mall/consumer/checkout.uvue:842") - if (currentUserId != "") { - val supabaseAddresses = await(supabaseService.getAddresses()) - console.log("[loadAddressList] supabaseAddresses 数量:", if (supabaseAddresses != null) { - supabaseAddresses.length - } else { - 0 - } - , " at pages/mall/consumer/checkout.uvue:846") - if (supabaseAddresses != null && supabaseAddresses.length > 0) { - val list: UTSArray = _uA() - val localAddresses: UTSArray = _uA() - run { - var i: Number = 0 - while(i < supabaseAddresses.length){ - val addr = supabaseAddresses[i] - console.log("[loadAddressList] 地址", i, ":", addr.recipient_name, addr.phone, addr.detail_address, " at pages/mall/consumer/checkout.uvue:853") - list.push(AddressItem(id = addr.id, recipient_name = addr.recipient_name, phone = addr.phone, province = addr.province, city = addr.city, district = addr.district, detail = addr.detail_address, is_default = addr.is_default)) - localAddresses.push(object : UTSJSONObject() { - var id = addr.id - var name = addr.recipient_name - var phone = addr.phone - var province = addr.province - var city = addr.city - var district = addr.district - var detail = addr.detail_address - var isDefault = addr.is_default - }) - i++ - } - } - addressList.value = list - console.log("[loadAddressList] addressList.value 设置完成, 数量:", addressList.value.length, " at pages/mall/consumer/checkout.uvue:876") - uni_setStorageSync("addresses", JSON.stringify(localAddresses)) - } - } - if (addressList.value.length == 0) { - val storedAddresses = uni_getStorageSync("addresses") - val storedAddressesStr = if (storedAddresses != null) { - storedAddresses.toString() - } else { - "" - } - if (storedAddressesStr != "") { - try { - val addresses = UTSAndroid.consoleDebugError(JSON.parse(storedAddressesStr), " at pages/mall/consumer/checkout.uvue:886") as UTSArray - if (addresses != null && addresses.length > 0) { - val list: UTSArray = _uA() - run { - var i: Number = 0 - while(i < addresses.length){ - val obj = toUTSJSONObject(addresses[i]) - list.push(AddressItem(id = obj.getString("id") ?: "", recipient_name = obj.getString("recipient_name") ?: obj.getString("name") ?: "", phone = obj.getString("phone") ?: "", province = obj.getString("province") ?: "", city = obj.getString("city") ?: "", district = obj.getString("district") ?: "", detail = obj.getString("detail") ?: obj.getString("detail_address") ?: "", is_default = obj.getBoolean("isDefault") ?: obj.getBoolean("is_default") ?: false)) - i++ - } - } - addressList.value = list - } else { - addressList.value = _uA() - } - } catch (err: Throwable) { - addressList.value = _uA() - } - } else { - addressList.value = _uA() - } - } - if (addressList.value.length == 0) { - val mockAddresses = _uA( - MockAddress(id = "addr_001", name = "张三", phone = "13800138001", province = "北京市", city = "北京市", district = "朝阳区", detail = "建国路88号SOHO现代城A座1001", isDefault = true), - MockAddress(id = "addr_002", name = "李四", phone = "13900139001", province = "上海市", city = "上海市", district = "浦东新区", detail = "陆家嘴环路1000号汇亚大厦20层", isDefault = false) - ) as UTSArray - uni_setStorageSync("addresses", JSON.stringify(mockAddresses)) - val list: UTSArray = _uA() - run { - var i: Number = 0 - while(i < mockAddresses.length){ - val addr = mockAddresses[i] - list.push(AddressItem(id = addr.id, recipient_name = addr.name, phone = addr.phone, province = addr.province, city = addr.city, district = addr.district, detail = addr.detail, is_default = addr.isDefault)) - i++ - } - } - addressList.value = list - } - } - catch (error: Throwable) { - console.error("加载地址列表失败:", error, " at pages/mall/consumer/checkout.uvue:957") - } - }) - } - val loadAddressList = ::gen_loadAddressList_fn - fun gen_loadFromLocalStorage_fn(): UTSPromise { - return wrapUTSPromise(suspend { - val cartData = uni_getStorageSync("cart") - val cartDataStr = if (cartData != null) { - cartData.toString() - } else { - "" - } - if (cartDataStr != "") { - try { - val cartItems = UTSAndroid.consoleDebugError(JSON.parse(cartDataStr), " at pages/mall/consumer/checkout.uvue:967") as UTSArray - val selectedCartItems: UTSArray = _uA() - run { - var i: Number = 0 - while(i < cartItems.length){ - val obj = toUTSJSONObject(cartItems[i]) - val selected = obj.getBoolean("selected") ?: false - if (selected) { - selectedCartItems.push(obj) - } - i++ - } - } - if (selectedCartItems.length > 0) { - await(processCheckoutItems(selectedCartItems)) - } - } - catch (e: Throwable) { - console.error("解析购物车数据失败:", e, " at pages/mall/consumer/checkout.uvue:978") - } - } - loadDefaultAddress() - }) - } - val loadFromLocalStorage = ::gen_loadFromLocalStorage_fn - fun gen_loadCheckoutData_fn(): Unit { - loadFromLocalStorage() - } - val loadCheckoutData = ::gen_loadCheckoutData_fn - fun gen_initCheckoutData_fn(): UTSPromise { - return wrapUTSPromise(suspend { - var dataLoaded = false - val checkoutTypeAny = uni_getStorageSync("checkout_type") - val checkoutType = if (checkoutTypeAny != null) { - checkoutTypeAny.toString() - } else { - "" - } - if (checkoutType == "buy_now" || checkoutType == "cart") { - console.log("检测到结算模式(" + checkoutType + "),从Storage加载数据", " at pages/mall/consumer/checkout.uvue:995") - val itemsStrAny = uni_getStorageSync("checkout_items") - val itemsStr = if (itemsStrAny != null) { - itemsStrAny.toString() - } else { - "" - } - if (itemsStr != "") { - try { - val items = UTSAndroid.consoleDebugError(JSON.parse(itemsStr as String), " at pages/mall/consumer/checkout.uvue:1000") - console.log("从Storage加载的商品数据:", items, " at pages/mall/consumer/checkout.uvue:1001") - if (items != null && UTSArray.isArray(items) && (items as UTSArray).length > 0) { - await(processCheckoutItems(items as UTSArray)) - dataLoaded = true - } - } - catch (e: Throwable) { - console.error("解析结算数据失败", e, " at pages/mall/consumer/checkout.uvue:1007") - } - } - } - if (dataLoaded == false) { - console.log("未找到预结算数据,尝试从购物车本地存储加载", " at pages/mall/consumer/checkout.uvue:1013") - await(loadFromLocalStorage()) - } - loadDefaultAddress() - loadAddressList() - }) - } - val initCheckoutData = ::gen_initCheckoutData_fn - onLoad__1(fun(options: Any){ - initCheckoutData() - } - ) - fun gen_onShow_fn(): Unit { - val userId = getCurrentUserId() - if (userId != "") { - loadDefaultAddress() - loadAddressList() - } - } - val onShow__1 = ::gen_onShow_fn - uni__on("checkoutPageShow", onShow__1) - val handleSelectAddress = fun(address: AddressItem){ - selectedAddress.value = address - showAddressPopup.value = false - } - val handleAddNewAddress = fun(){ - showNewAddressForm.value = true - } - val saveNewAddress = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (newAddress.value.recipient_name == "" || newAddress.value.phone == "" || newAddress.value.detail == "") { - uni_showToast(ShowToastOptions(title = "请填写完整信息", icon = "none")) - return@w1 - } - showSaveConfirm.value = true - }) - } - val handleSaveConfirm = fun(save: Boolean): UTSPromise { - return wrapUTSPromise(suspend { - showSaveConfirm.value = false - val newAddressData = NewAddressData(id = "addr_" + Date.now(), name = newAddress.value.recipient_name, phone = newAddress.value.phone, province = newAddress.value.province, city = newAddress.value.city, district = newAddress.value.district, detail = newAddress.value.detail, isDefault = newAddress.value.is_default) - if (save) { - val storedAddresses = uni_getStorageSync("addresses") - var addresses: UTSArray = _uA() - val storedAddressesStr = if (storedAddresses != null) { - storedAddresses.toString() - } else { - "" - } - if (storedAddressesStr != "") { - try { - addresses = UTSAndroid.consoleDebugError(JSON.parse(storedAddressesStr), " at pages/mall/consumer/checkout.uvue:1081") as UTSArray - } - catch (e: Throwable) { - addresses = _uA() - } - } - val normalized: UTSArray = _uA() - run { - var i: Number = 0 - while(i < addresses.length){ - val obj = toUTSJSONObject(addresses[i]) - val isDef = obj.getBoolean("isDefault") ?: obj.getBoolean("is_default") ?: false - normalized.push(object : UTSJSONObject() { - var id = obj.getString("id") ?: "" - var name = obj.getString("name") ?: obj.getString("recipient_name") ?: "" - var phone = obj.getString("phone") ?: "" - var province = obj.getString("province") ?: "" - var city = obj.getString("city") ?: "" - var district = obj.getString("district") ?: "" - var detail = obj.getString("detail") ?: obj.getString("detail_address") ?: "" - var isDefault = if (newAddressData.isDefault) { - false - } else { - isDef as Boolean - } - var label = obj.getString("label") ?: "" - }) - i++ - } - } - if (normalized.length === 0 && newAddressData.isDefault == false) { - newAddressData.isDefault = true - } - normalized.unshift(newAddressData) - uni_setStorageSync("addresses", JSON.stringify(normalized)) - val updatedList: UTSArray = _uA() - run { - var i: Number = 0 - while(i < normalized.length){ - val obj = toUTSJSONObject(normalized[i]) - updatedList.push(AddressItem(id = obj.getString("id") ?: "", recipient_name = obj.getString("recipient_name") ?: obj.getString("name") ?: "", phone = obj.getString("phone") ?: "", province = obj.getString("province") ?: "", city = obj.getString("city") ?: "", district = obj.getString("district") ?: "", detail = obj.getString("detail") ?: obj.getString("detail_address") ?: "", is_default = obj.getBoolean("isDefault") ?: obj.getBoolean("is_default") ?: false)) - i++ - } - } - uni__emit("addressUpdated", updatedList) - } - val checkoutFormatAddress = AddressItem(id = newAddressData.id ?: "", recipient_name = newAddressData.name ?: "", phone = newAddressData.phone ?: "", province = newAddressData.province, city = newAddressData.city, district = newAddressData.district, detail = newAddressData.detail, is_default = newAddressData.isDefault) - if (checkoutFormatAddress.is_default) { - run { - var i: Number = 0 - while(i < addressList.value.length){ - addressList.value[i].is_default = false - i++ - } - } - } - addressList.value.unshift(checkoutFormatAddress) - if (checkoutFormatAddress.is_default || selectedAddress.value == null) { - selectedAddress.value = checkoutFormatAddress - } - newAddress.value = NewAddressForm(recipient_name = "", phone = "", province = "", city = "", district = "", detail = "", is_default = false) - smartAddressInput.value = "" - showNewAddressForm.value = false - uni_showToast(ShowToastOptions(title = "地址保存成功", icon = "success")) - }) - } - val parseSmartAddress = fun(){ - val input = smartAddressInput.value.trim() - if (input == "") { - return - } - newAddress.value.recipient_name = "" - newAddress.value.phone = "" - newAddress.value.province = "" - newAddress.value.city = "" - newAddress.value.district = "" - newAddress.value.detail = "" - val phoneRegex = UTSRegExp("(1[3-9]\\d{9})", "g") - val phoneMatches = input.match(phoneRegex) - if (phoneMatches != null && phoneMatches.length > 0) { - newAddress.value.phone = phoneMatches[0] ?: "" - } - val nameRegex = UTSRegExp("([\\u4e00-\\u9fa5]{2,4})", "g") - val nameMatches = input.match(nameRegex) - if (nameMatches != null && nameMatches.length > 0) { - newAddress.value.recipient_name = nameMatches[0] ?: "" - } - var addressText = input - if (newAddress.value.recipient_name != "") { - addressText = addressText.replace(newAddress.value.recipient_name, "") - } - if (newAddress.value.phone != "") { - addressText = addressText.replace(newAddress.value.phone, "") - } - addressText = addressText.replace(UTSRegExp("[,,;;\\s]+", "g"), " ").trim() - val patterns = _uA( - UTSRegExp("^(.*?省)?(.*?市)?(.*?[区县])?(.*)\$", ""), - UTSRegExp("^(.*?省)?(.*?市)?(.*)\$", "") - ) - for(pattern in resolveUTSValueIterator(patterns)){ - val match = addressText.match(pattern) - if (match != null) { - val province = match[1] - val city = match[2] - val district = match[3] - val detail = match[4] - if (province != null) { - newAddress.value.province = province.replace("省", "").trim() - } - if (city != null) { - newAddress.value.city = city.replace("市", "").trim() - } - if (district != null) { - newAddress.value.district = district.trim() - } - if (detail != null) { - newAddress.value.detail = detail.trim() - } - if (newAddress.value.detail == "" && district != null && detail != null) { - newAddress.value.detail = detail.trim() - } - break - } - } - if (newAddress.value.province == "" && newAddress.value.city == "" && newAddress.value.district == "") { - val parts = addressText.split(UTSRegExp("[省市县区]", "")) - if (parts.length >= 2) { - newAddress.value.province = parts[0] ?: "" - newAddress.value.city = parts[1] ?: "" - newAddress.value.detail = parts.slice(2).join("").trim() - if (newAddress.value.detail == "") { - newAddress.value.detail = addressText - } - } else { - newAddress.value.detail = addressText - } - } - if (newAddress.value.detail == "" && addressText.trim() != "") { - newAddress.value.detail = addressText.trim() - } - } - val cancelNewAddress = fun(){ - showNewAddressForm.value = false - newAddress.value = NewAddressForm(recipient_name = "", phone = "", province = "", city = "", district = "", detail = "", is_default = false) - smartAddressInput.value = "" - } - fun gen_formatSpecs_fn(specs: Any): String { - if (specs == null) { - return "" - } - try { - val specsStr = JSON.stringify(specs) - if (specsStr == "{}" || specsStr == "[]" || specsStr == "\"\"" || specsStr == "") { - return "" - } - val specsObj = UTSAndroid.consoleDebugError(JSON.parse(specsStr), " at pages/mall/consumer/checkout.uvue:1269") as Record - val parts: UTSArray = _uA() - val possibleKeys = _uA( - "颜色", - "尺寸", - "规格", - "型号", - "版本", - "材质", - "款式", - "color", - "size", - "spec", - "version", - "style" - ) - run { - var i: Number = 0 - while(i < possibleKeys.length){ - val key = possibleKeys[i] - val value = specsObj[key] - if (value != null && value.toString() != "") { - parts.push("" + key + ": " + value.toString()) - } - i++ - } - } - if (parts.length === 0) { - val keyValueRegex = UTSRegExp("\"([^\"]+)\":\\s*\"([^\"]+)\"", "g") - var match: RegExpExecArray? = null - while(true){ - match = keyValueRegex.exec(specsStr) - if (match == null) { - break - } - val key = match[1] - val value = match[2] - if (key != null && value != null && value != "") { - parts.push("" + key + ": " + value) - } - } - } - if (parts.length === 0) { - return "" - } - return parts.join("; ") - } - catch (e: Throwable) { - return "" - } - } - val formatSpecs = ::gen_formatSpecs_fn - val selectDelivery = fun(option: DeliveryOptionType){ - selectedDelivery.value = option.id - } - val selectCoupon = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/coupons", success = fun(res: Any){})) - uni__on("couponSelected", fun(coupon: Any){ - selectedCoupon.value = coupon as UserCouponType - uni__off("couponSelected", null) - } - ) - } - val submitOrder = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (selectedAddress.value == null) { - uni_showToast(ShowToastOptions(title = "请选择收货地址", icon = "none")) - return@w1 - } - if (checkoutItems.value.length === 0) { - uni_showToast(ShowToastOptions(title = "订单中没有商品", icon = "none")) - return@w1 - } - uni_showLoading(ShowLoadingOptions(title = "提交中...")) - try { - val userId = supabaseService.getCurrentUserId() - if (userId == null || userId == "") { - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "请先登录", icon = "none")) - return@w1 - } - console.log("[submitOrder] 开始创建订单, userId:", userId, " at pages/mall/consumer/checkout.uvue:1354") - console.log("[submitOrder] shopGroups数量:", shopGroups.value.length, " at pages/mall/consumer/checkout.uvue:1355") - val groups: UTSArray = _uA() - run { - var i: Number = 0 - while(i < shopGroups.value.length){ - val group = shopGroups.value[i] - console.log("[submitOrder] 处理店铺组 " + i + ":", object : UTSJSONObject() { - var shopId = group.shopId - var shopName = group.shopName - var merchant_id = group.merchant_id - var itemsCount = group.items.length - }, " at pages/mall/consumer/checkout.uvue:1360") - val items: UTSArray = _uA() - run { - var j: Number = 0 - while(j < group.items.length){ - val item = group.items[j] - items.push(object : UTSJSONObject() { - var id = item.id - var product_id = item.product_id - var sku_id = item.sku_id - var quantity = item.quantity - var price = item.price - var member_price = item.member_price - var product_name = item.product_name - var product_image = item.product_image - var specifications = item.sku_specifications - }) - j++ - } - } - val finalMerchantId = if ((group.merchant_id != null && group.merchant_id != "")) { - group.merchant_id - } else { - group.shopId - } - console.log("[submitOrder] 店铺组 " + i + " 最终使用的 merchant_id:", finalMerchantId, " at pages/mall/consumer/checkout.uvue:1382") - groups.push(_uO("merchant_id" to finalMerchantId, "shopId" to group.shopId, "shopName" to group.shopName, "items" to items)) - i++ - } - } - console.log("[submitOrder] 准备传递的 groups 数量:", groups.length, " at pages/mall/consumer/checkout.uvue:1391") - val result = await(supabaseService.createOrdersByShop(ShopOrderParams(shipping_address = if (selectedAddress.value != null) { - toUTSJSONObject(selectedAddress.value!!) - } else { - UTSJSONObject() - } - , shopGroups = groups, deliveryFee = deliveryFee.value, discountAmount = discountAmount.value))) - uni_hideLoading() - console.log("[submitOrder] 创建结果 success:", result.success, " at pages/mall/consumer/checkout.uvue:1402") - if (result.success) { - try { - uni_removeStorageSync("checkout_items") - uni_removeStorageSync("checkout_type") - } catch (e: Throwable) { - console.error(e, " at pages/mall/consumer/checkout.uvue:1408") - } - val orderIds = result.orderIds - if (orderIds.length === 1) { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/payment?orderId=" + orderIds[0] + "&amount=" + actualAmount.value)) - } else { - uni_showToast(ShowToastOptions(title = "成功创建" + orderIds.length + "个订单", icon = "success")) - setTimeout(fun(){ - uni_redirectTo(RedirectToOptions(url = "/pages/mall/consumer/orders")) - }, 1500) - } - } else { - val errMsg = if ((result.error != null && result.error !== "")) { - result.error!! - } else { - "创建订单失败" - } - console.error("[submitOrder] 订单创建失败:", errMsg, " at pages/mall/consumer/checkout.uvue:1423") - uni_showToast(ShowToastOptions(title = errMsg, icon = "none")) - } - } - catch (err: Throwable) { - uni_hideLoading() - console.error("[submitOrder] 提交订单错误:", err, " at pages/mall/consumer/checkout.uvue:1429") - val errMsg = if ((err.message != null && err.message !== "")) { - (err.message as String) - } else { - "提交订单失败" - } - uni_showToast(ShowToastOptions(title = errMsg, icon = "none")) - } - }) - } - val selectAddress = fun(){ - showAddressPopup.value = true - } - val goToLogin = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/login/login")) - } - return fun(): Any? { - return _cE("view", _uM("class" to "checkout-page"), _uA( - _cE("scroll-view", _uM("class" to "checkout-content", "direction" to "vertical"), _uA( - _cE("view", _uM("class" to "section-card address-section", "onClick" to selectAddress), _uA( - _cE("view", _uM("class" to "address-icon-wrapper"), _uA( - _cE("text", _uM("class" to "location-icon"), "📍") - )), - if (isTrue(selectedAddress.value)) { - _cE("view", _uM("key" to 0, "class" to "address-info"), _uA( - _cE("view", _uM("class" to "address-header"), _uA( - _cE("text", _uM("class" to "recipient"), _tD(selectedAddress.value!!!!.recipient_name), 1), - _cE("text", _uM("class" to "phone"), _tD(selectedAddress.value!!!!.phone), 1), - if (isTrue(selectedAddress.value!!!!.is_default)) { - _cE("view", _uM("key" to 0, "class" to "default-tag"), _uA( - _cE("text", _uM("class" to "tag-text"), "默认") - )) - } else { - _cC("v-if", true) - } - )), - _cE("text", _uM("class" to "address-detail"), _tD(getFullAddress(selectedAddress.value!!!!)), 1) - )) - } else { - _cE("view", _uM("key" to 1, "class" to "no-address"), _uA( - _cE("text", _uM("class" to "no-address-text"), "请选择收货地址") - )) - } - , - _cE("view", _uM("class" to "address-arrow-wrapper"), _uA( - _cE("text", _uM("class" to "address-arrow"), "›") - )) - )), - _cE("view", _uM("class" to "section-card products-section"), _uA( - if (shopGroups.value.length > 0) { - _cE("view", _uM("key" to 0), _uA( - _cE(Fragment, null, RenderHelpers.renderList(shopGroups.value, fun(group, __key, __index, _cached): Any { - return _cE("view", _uM("key" to group.shopId, "class" to "shop-group"), _uA( - _cE("view", _uM("class" to "shop-header"), _uA( - _cE("text", _uM("class" to "shop-icon"), "🏪"), - _cE("text", _uM("class" to "shop-name"), _tD(group.shopName), 1) - )), - _cE(Fragment, null, RenderHelpers.renderList(group.items, fun(item, __key, __index, _cached): Any { - return _cE("view", _uM("key" to item.id, "class" to "product-item"), _uA( - _cE("image", _uM("class" to "product-image", "src" to item.product_image, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "product-info"), _uA( - _cE("view", _uM("class" to "product-name-row"), _uA( - _cE("text", _uM("class" to "product-name"), _tD(item.product_name), 1), - _cE("text", _uM("class" to "product-price"), "¥" + _tD(item.price), 1) - )), - _cE("view", _uM("class" to "product-spec-row"), _uA( - if (isTrue(item.sku_specifications)) { - _cE("text", _uM("key" to 0, "class" to "product-spec"), _tD(formatSpecs(item.sku_specifications)), 1) - } else { - _cC("v-if", true) - }, - _cE("text", _uM("class" to "product-quantity"), "×" + _tD(item.quantity), 1) - )), - _cE("view", _uM("class" to "item-subtotal-row"), _uA( - _cE("text", _uM("class" to "item-subtotal-label"), "小计:"), - _cE("text", _uM("class" to "item-subtotal-price"), "¥" + _tD((item.price * item.quantity).toFixed(2)), 1) - )) - )) - )) - }), 128) - )) - }), 128) - )) - } else { - _cE("view", _uM("key" to 1, "class" to "no-products"), _uA( - _cE("text", _uM("class" to "no-products-text"), "暂无商品信息") - )) - } - )), - _cE("view", _uM("class" to "section-card delivery-section"), _uA( - _cE("view", _uM("class" to "delivery-row"), _uA( - _cE("text", _uM("class" to "section-title"), "配送方式"), - _cE("view", _uM("class" to "delivery-selector"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(deliveryOptions.value, fun(option, __key, __index, _cached): Any { - return _cE("view", _uM("key" to option.id, "class" to _nC(_uA( - "delivery-pill", - _uM("selected" to (selectedDelivery.value === option.id)) - )), "onClick" to fun(){ - selectDelivery(option) - } - ), _uA( - _cE("text", _uM("class" to "pill-name"), _tD(option.name), 1) - ), 10, _uA( - "onClick" - )) - } - ), 128) - )) - )), - if (isTrue(selectedDelivery.value)) { - _cE("view", _uM("key" to 0, "class" to "delivery-detail"), _uA( - _cE("text", _uM("class" to "detail-desc"), _tD(deliveryOptions.value.find(fun(opt): Boolean { - return opt.id === selectedDelivery.value - })?.description), 1), - _cE("text", _uM("class" to "detail-price"), "费用: ¥" + _tD(deliveryOptions.value.find(fun(opt): Boolean { - return opt.id === selectedDelivery.value - })?.price?.toFixed(2)), 1) - )) - } else { - _cC("v-if", true) - } - )), - _cE("view", _uM("class" to "section-card coupon-section", "onClick" to selectCoupon), _uA( - _cE("view", _uM("class" to "coupon-row"), _uA( - _cE("text", _uM("class" to "section-title"), "优惠券"), - _cE("view", _uM("class" to "coupon-right-content"), _uA( - if (selectedCoupon.value != null) { - _cE("text", _uM("key" to 0, "class" to "coupon-selected-name"), _tD(selectedCoupon.value!!.template?.name ?: "已选择优惠券"), 1) - } else { - _cE("text", _uM("key" to 1, "class" to "coupon-placeholder"), "暂无可用优惠券") - } - , - _cE("text", _uM("class" to "arrow-icon"), "›") - )) - )) - )), - _cE("view", _uM("class" to "section-card remark-section"), _uA( - _cE("view", _uM("class" to "remark-row"), _uA( - _cE("text", _uM("class" to "section-title"), "买家留言"), - _cE("input", _uM("class" to "remark-input-compact", "modelValue" to remark.value, "onInput" to fun(`$event`: UniInputEvent){ - remark.value = `$event`.detail.value - } - , "placeholder" to "选填,给商家留言", "maxlength" to "100"), null, 40, _uA( - "modelValue", - "onInput" - )) - )) - )), - _cE("view", _uM("class" to "section-card price-section"), _uA( - _cE("view", _uM("class" to "price-grid"), _uA( - _cE("view", _uM("class" to "price-item-inline"), _uA( - _cE("text", _uM("class" to "price-item-label"), "商品"), - _cE("text", _uM("class" to "price-item-value"), "¥" + _tD(totalAmount.value.toFixed(2)), 1) - )), - _cE("view", _uM("class" to "price-item-inline"), _uA( - _cE("text", _uM("class" to "price-item-label"), "运费"), - _cE("text", _uM("class" to "price-item-value"), "+¥" + _tD(deliveryFee.value.toFixed(2)), 1) - )), - if (discountAmount.value > 0) { - _cE("view", _uM("key" to 0, "class" to "price-item-inline"), _uA( - _cE("text", _uM("class" to "price-item-label"), "优惠"), - _cE("text", _uM("class" to "price-item-value discount-text"), "-¥" + _tD(discountAmount.value.toFixed(2)), 1) - )) - } else { - _cC("v-if", true) - } - )) - )), - _cE("view", _uM("class" to "safe-area-bottom")) - )), - _cE("view", _uM("class" to "footer-action-bar"), _uA( - _cE("view", _uM("class" to "footer-left"), _uA( - _cE("text", _uM("class" to "footer-total-label"), "合计:"), - _cE("text", _uM("class" to "footer-currency"), "¥"), - _cE("text", _uM("class" to "footer-price"), _tD(actualAmount.value.toFixed(2)), 1) - )), - _cE("button", _uM("class" to "footer-submit-btn", "onClick" to submitOrder), "提交订单") - )), - if (isTrue(showAddressPopup.value)) { - _cE("view", _uM("key" to 0, "class" to "address-popup-mask", "onClick" to fun(){ - showAddressPopup.value = false - }), _uA( - _cE("view", _uM("class" to "address-popup", "onClick" to withModifiers(fun(){}, _uA( - "stop" - ))), _uA( - _cE("view", _uM("class" to "popup-header"), _uA( - _cE("text", _uM("class" to "popup-title"), "选择收货地址"), - _cE("text", _uM("class" to "popup-close", "onClick" to fun(){ - showAddressPopup.value = false - }), "×", 8, _uA( - "onClick" - )) - )), - _cE("scroll-view", _uM("class" to "address-list-container", "direction" to "vertical", "scroll-with-animation" to true), _uA( - if (isLoggedIn.value == false) { - _cE("view", _uM("key" to 0, "class" to "login-prompt", "onClick" to goToLogin), _uA( - _cE("text", _uM("class" to "login-prompt-icon"), "🔒"), - _cE("text", _uM("class" to "login-prompt-text"), "您尚未登录,点击登录以同步服务器地址"), - _cE("text", _uM("class" to "login-prompt-arrow"), "›") - )) - } else { - _cC("v-if", true) - }, - if (isTrue(isLoggedIn.value)) { - _cE("view", _uM("key" to 1), _uA( - if (addressList.value.length > 0) { - _cE("view", _uM("key" to 0), _uA( - _cE(Fragment, null, RenderHelpers.renderList(addressList.value, fun(address, __key, __index, _cached): Any { - return _cE("view", _uM("key" to address.id, "class" to "popup-address-item", "onClick" to fun(){ - handleSelectAddress(address) - }), _uA( - _cE("view", _uM("class" to "popup-address-header"), _uA( - _cE("text", _uM("class" to "popup-address-name"), _tD(address.recipient_name), 1), - _cE("text", _uM("class" to "popup-address-phone"), _tD(address.phone), 1), - if (isTrue(address.is_default)) { - _cE("view", _uM("key" to 0, "class" to "popup-default-tag"), _uA( - _cE("text", _uM("class" to "popup-tag-text"), "默认") - )) - } else { - _cC("v-if", true) - } - )), - _cE("text", _uM("class" to "popup-address-detail"), _tD(getFullAddress(address)), 1), - if (isTrue(selectedAddress.value != null && selectedAddress.value!!.id === address.id)) { - _cE("view", _uM("key" to 0, "class" to "popup-selected-indicator"), _uA( - _cE("text", null, "✓") - )) - } else { - _cC("v-if", true) - } - ), 8, _uA( - "onClick" - )) - }), 128) - )) - } else { - _cE("view", _uM("key" to 1, "class" to "popup-empty-address"), _uA( - _cE("text", _uM("class" to "popup-empty-icon"), "📍"), - _cE("text", _uM("class" to "popup-empty-text"), "暂无收货地址") - )) - } - )) - } else { - _cC("v-if", true) - }, - if (isTrue(isLoggedIn.value == false && addressList.value.length > 0)) { - _cE("view", _uM("key" to 2), _uA( - _cE("text", _uM("class" to "local-address-title"), "本地地址(未同步)"), - _cE(Fragment, null, RenderHelpers.renderList(addressList.value, fun(address, __key, __index, _cached): Any { - return _cE("view", _uM("key" to address.id, "class" to "popup-address-item", "onClick" to fun(){ - handleSelectAddress(address) - }), _uA( - _cE("view", _uM("class" to "popup-address-header"), _uA( - _cE("text", _uM("class" to "popup-address-name"), _tD(address.recipient_name), 1), - _cE("text", _uM("class" to "popup-address-phone"), _tD(address.phone), 1), - if (isTrue(address.is_default)) { - _cE("view", _uM("key" to 0, "class" to "popup-default-tag"), _uA( - _cE("text", _uM("class" to "popup-tag-text"), "默认") - )) - } else { - _cC("v-if", true) - } - )), - _cE("text", _uM("class" to "popup-address-detail"), _tD(getFullAddress(address)), 1), - if (isTrue(selectedAddress.value != null && selectedAddress.value!!.id === address.id)) { - _cE("view", _uM("key" to 0, "class" to "popup-selected-indicator"), _uA( - _cE("text", null, "✓") - )) - } else { - _cC("v-if", true) - } - ), 8, _uA( - "onClick" - )) - }), 128) - )) - } else { - _cC("v-if", true) - }, - if (isTrue(isLoggedIn.value && addressList.value.length === 0)) { - _cE("view", _uM("key" to 3, "class" to "popup-empty-address"), _uA( - _cE("text", _uM("class" to "popup-empty-icon"), "📍"), - _cE("text", _uM("class" to "popup-empty-text"), "暂无收货地址") - )) - } else { - _cC("v-if", true) - } - )), - _cE("view", _uM("class" to "popup-add-address-btn", "onClick" to handleAddNewAddress), _uA( - _cE("text", _uM("class" to "popup-btn-icon"), "+"), - _cE("text", _uM("class" to "popup-btn-text"), "新建收货地址") - )) - ), 8, _uA( - "onClick" - )) - ), 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(showNewAddressForm.value)) { - _cE("view", _uM("key" to 1, "class" to "address-form-mask", "onClick" to cancelNewAddress), _uA( - _cE("view", _uM("class" to "address-form-popup", "onClick" to withModifiers(fun(){}, _uA( - "stop" - ))), _uA( - _cE("view", _uM("class" to "form-header"), _uA( - _cE("text", _uM("class" to "form-title"), "新建收货地址"), - _cE("view", _uM("class" to "form-close-btn", "onClick" to cancelNewAddress), _uA( - _cE("text", _uM("class" to "form-close-icon"), "✕") - )) - )), - _cE("scroll-view", _uM("class" to "form-content", "direction" to "vertical"), _uA( - _cE("view", _uM("class" to "form-section"), _uA( - _cE("view", _uM("class" to "form-item"), _uA( - _cE("text", _uM("class" to "form-label"), "收货人"), - _cE("input", _uM("class" to "form-input", "modelValue" to newAddress.value.recipient_name, "onInput" to fun(`$event`: UniInputEvent){ - newAddress.value.recipient_name = `$event`.detail.value - }, "placeholder" to "请输入收货人姓名"), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "form-item"), _uA( - _cE("text", _uM("class" to "form-label"), "手机号"), - _cE("input", _uM("class" to "form-input", "modelValue" to newAddress.value.phone, "onInput" to fun(`$event`: UniInputEvent){ - newAddress.value.phone = `$event`.detail.value - }, "placeholder" to "请输入手机号码", "type" to "number"), null, 40, _uA( - "modelValue", - "onInput" - )) - )) - )), - _cE("view", _uM("class" to "form-section"), _uA( - _cE("view", _uM("class" to "form-item"), _uA( - _cE("view", _uM("class" to "label-row"), _uA( - _cE("text", _uM("class" to "form-label"), "智能填写"), - _cE("text", _uM("class" to "smart-tag"), "识别姓名/电话/地址") - )), - _cE("textarea", _uM("class" to "form-textarea smart-address-input", "modelValue" to smartAddressInput.value, "onInput" to _uA(fun(`$event`: UniInputEvent){ - smartAddressInput.value = `$event`.detail.value - }, parseSmartAddress), "placeholder" to "粘贴收货信息文本,自动拆分字段", "maxlength" to "200"), null, 40, _uA( - "modelValue", - "onInput" - )) - )) - )), - _cE("view", _uM("class" to "form-section"), _uA( - _cE("view", _uM("class" to "form-item"), _uA( - _cE("text", _uM("class" to "form-label"), "所在地区"), - _cE("view", _uM("class" to "region-inputs"), _uA( - _cE("input", _uM("class" to "form-input region-input form-input-readonly", "modelValue" to newAddress.value.province, "onInput" to fun(`$event`: UniInputEvent){ - newAddress.value.province = `$event`.detail.value - }, "placeholder" to "省", "readonly" to ""), null, 40, _uA( - "modelValue", - "onInput" - )), - _cE("input", _uM("class" to "form-input region-input form-input-readonly", "modelValue" to newAddress.value.city, "onInput" to fun(`$event`: UniInputEvent){ - newAddress.value.city = `$event`.detail.value - }, "placeholder" to "市", "readonly" to ""), null, 40, _uA( - "modelValue", - "onInput" - )), - _cE("input", _uM("class" to "form-input region-input form-input-readonly", "modelValue" to newAddress.value.district, "onInput" to fun(`$event`: UniInputEvent){ - newAddress.value.district = `$event`.detail.value - }, "placeholder" to "区/县", "readonly" to ""), null, 40, _uA( - "modelValue", - "onInput" - )) - )) - )), - _cE("view", _uM("class" to "form-item"), _uA( - _cE("text", _uM("class" to "form-label"), "详细地址"), - _cE("textarea", _uM("class" to "form-textarea detail-textarea", "modelValue" to newAddress.value.detail, "onInput" to fun(`$event`: UniInputEvent){ - newAddress.value.detail = `$event`.detail.value - }, "placeholder" to "如街道、楼栋、门牌号等", "maxlength" to "100"), null, 40, _uA( - "modelValue", - "onInput" - )) - )) - )), - _cE("view", _uM("class" to "form-item checkbox-item"), _uA( - _cE("view", _uM("class" to "checkbox-wrapper", "onClick" to fun(){ - newAddress.value.is_default = !newAddress.value.is_default - }), _uA( - _cE("view", _uM("class" to _nC(_uA( - "checkbox", - _uM("checked" to newAddress.value.is_default) - ))), _uA( - if (isTrue(newAddress.value.is_default)) { - _cE("text", _uM("key" to 0, "class" to "checkbox-check"), "✓") - } else { - _cC("v-if", true) - } - ), 2), - _cE("text", _uM("class" to "checkbox-label"), "设为默认地址") - ), 8, _uA( - "onClick" - )) - )) - )), - _cE("view", _uM("class" to "form-buttons"), _uA( - _cE("button", _uM("class" to "form-submit-btn", "onClick" to saveNewAddress), "保存并使用") - )) - ), 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(showSaveConfirm.value)) { - _cE("view", _uM("key" to 2, "class" to "confirm-popup-mask"), _uA( - _cE("view", _uM("class" to "confirm-popup"), _uA( - _cE("view", _uM("class" to "confirm-header"), _uA( - _cE("text", _uM("class" to "confirm-title"), "保存地址") - )), - _cE("view", _uM("class" to "confirm-content"), _uA( - _cE("text", _uM("class" to "confirm-message"), "是否保存该地址用于下次使用?") - )), - _cE("view", _uM("class" to "confirm-buttons"), _uA( - _cE("button", _uM("class" to "confirm-btn cancel", "onClick" to fun(){ - handleSaveConfirm(false) - }), "仅本次", 8, _uA( - "onClick" - )), - _cE("button", _uM("class" to "confirm-btn confirm", "onClick" to fun(){ - handleSaveConfirm(true) - }), "保存", 8, _uA( - "onClick" - )) - )) - )) - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0, - styles1 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("checkout-page" to _pS(_uM("display" to "flex", "flexDirection" to "column", "position" to "absolute", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "#f8f8f8", "overflow" to "hidden", "alignItems" to "center")), "checkout-header" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f0f0f0", "flexShrink" to 0, "width" to "100%")), "header-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333", "textAlign" to "center")), "checkout-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "width" to "100%", "maxWidth" to 800, "minHeight" to 0, "backgroundColor" to "#f8f8f8")), "no-products" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 30, "paddingRight" to 0, "paddingBottom" to 30, "paddingLeft" to 0)), "no-products-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "section-card" to _pS(_uM("backgroundColor" to "#ffffff", "marginTop" to 12, "marginRight" to 12, "marginBottom" to 12, "marginLeft" to 12, "paddingTop" to 18, "paddingRight" to 18, "paddingBottom" to 18, "paddingLeft" to 18, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "boxShadow" to "0 2px 8px rgba(0,0,0,0.02)")), "address-section" to _pS(_uM("marginTop" to 12, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "position" to "relative", "backgroundColor" to "#ffffff")), "address-icon-wrapper" to _pS(_uM("marginRight" to 12, "display" to "flex", "alignItems" to "center")), "location-icon" to _pS(_uM("fontSize" to 24, "color" to "#ff5000")), "address-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column")), "address-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to 4)), "recipient" to _pS(_uM("fontSize" to 17, "fontWeight" to "bold", "color" to "#333333", "marginRight" to 12)), "phone" to _pS(_uM("fontSize" to 14, "color" to "#666666", "marginRight" to 8)), "default-tag" to _pS(_uM("backgroundColor" to "#fff0eb", "borderTopWidth" to 0.5, "borderRightWidth" to 0.5, "borderBottomWidth" to 0.5, "borderLeftWidth" to 0.5, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000", "paddingTop" to 0, "paddingRight" to 6, "paddingBottom" to 0, "paddingLeft" to 6, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4)), "tag-text" to _pS(_uM("color" to "#ff5000", "fontSize" to 11)), "address-detail" to _pS(_uM("fontSize" to 13, "color" to "#666666", "lineHeight" to 1.5, "lines" to 2, "textOverflow" to "ellipsis", "overflow" to "hidden")), "address-arrow-wrapper" to _pS(_uM("marginLeft" to 8)), "address-arrow" to _pS(_uM("color" to "#cccccc", "fontSize" to 20)), "no-address" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "alignItems" to "center")), "no-address-text" to _pS(_uM("fontSize" to 16, "color" to "#999999")), "products-section" to _pS(_uM("paddingTop" to 0, "paddingRight" to 0, "paddingBottom" to 0, "paddingLeft" to 0)), "debug-info" to _pS(_uM("paddingTop" to 10, "paddingRight" to 15, "paddingBottom" to 10, "paddingLeft" to 15, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5", "marginBottom" to 10)), "debug-text" to _pS(_uM("fontSize" to 12, "color" to "#999999", "textAlign" to "center")), "shop-group" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 0, "paddingRight" to 0, "paddingBottom" to 0, "paddingLeft" to 0)), "shop-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "paddingTop" to 5, "paddingRight" to 0, "paddingBottom" to 12, "paddingLeft" to 0)), "shop-icon" to _pS(_uM("fontSize" to 17, "marginRight" to 6)), "shop-name" to _pS(_uM("fontSize" to 15, "fontWeight" to "bold", "color" to "#333333")), "shop-subtotal" to _pS(_uM("display" to "flex", "justifyContent" to "flex-end", "alignItems" to "center", "paddingTop" to 12, "paddingRight" to 0, "paddingBottom" to 5, "paddingLeft" to 0, "marginTop" to 5, "borderTopWidth" to 1, "borderTopStyle" to "dashed", "borderTopColor" to "#f0f0f0")), "subtotal-label" to _pS(_uM("color" to "#888888", "marginRight" to 8, "fontSize" to 13)), "subtotal-value" to _pS(_uM("color" to "#666666", "fontSize" to 13)), "subtotal-text" to _pS(_uM("color" to "#333333", "marginRight" to 5, "fontSize" to 14)), "subtotal-price" to _pS(_uM("color" to "#ff5000", "fontWeight" to "bold", "fontSize" to 16)), "product-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "paddingTop" to 12, "paddingRight" to 0, "paddingBottom" to 12, "paddingLeft" to 0)), "product-image" to _pS(_uM("width" to 85, "height" to 85, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginRight" to 12, "backgroundColor" to "#f8f8f8")), "product-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "justifyContent" to "space-between")), "product-name-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "flex-start")), "product-name" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to 14, "color" to "#333333", "lineHeight" to 1.4, "lines" to 2, "textOverflow" to "ellipsis", "overflow" to "hidden", "marginRight" to 12)), "product-price" to _pS(_uM("fontSize" to 15, "color" to "#333333", "fontWeight" to "normal")), "product-spec-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 4)), "product-spec" to _pS(_uM("fontSize" to 12, "color" to "#999999", "backgroundColor" to "#f7f7f7", "paddingTop" to 2, "paddingRight" to 6, "paddingBottom" to 2, "paddingLeft" to 6, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4)), "product-quantity" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "delivery-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center")), "delivery-selector" to _pS(_uM("display" to "flex", "flexDirection" to "row", "gap" to "8px")), "delivery-pill" to _uM("" to _uM("paddingTop" to 4, "paddingRight" to 12, "paddingBottom" to 4, "paddingLeft" to 12, "backgroundColor" to "#f5f5f5", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "rgba(0,0,0,0)", "borderRightColor" to "rgba(0,0,0,0)", "borderBottomColor" to "rgba(0,0,0,0)", "borderLeftColor" to "rgba(0,0,0,0)"), ".selected" to _uM("backgroundColor" to "#fff9f6", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000")), "pill-name" to _uM("" to _uM("fontSize" to 12, "color" to "#666666"), ".delivery-pill.selected " to _uM("color" to "#ff5000")), "delivery-detail" to _pS(_uM("marginTop" to 10, "display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "paddingTop" to 8, "borderTopWidth" to 0.5, "borderTopStyle" to "solid", "borderTopColor" to "#f9f9f9")), "detail-desc" to _pS(_uM("fontSize" to 11, "color" to "#999999")), "detail-price" to _pS(_uM("fontSize" to 11, "color" to "#ff5000")), "coupon-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center")), "coupon-right-content" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "remark-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "remark-input-compact" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "marginLeft" to 15, "fontSize" to 14, "color" to "#333333", "height" to 30)), "price-grid" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between")), "price-item-inline" to _pS(_uM("display" to "flex", "flexDirection" to "row")), "price-item-label" to _pS(_uM("fontSize" to 14, "color" to "#666666", "marginRight" to 4)), "price-item-value" to _pS(_uM("fontSize" to 14, "color" to "#333333")), "item-subtotal-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "flex-end", "alignItems" to "center", "marginTop" to 4)), "item-subtotal-label" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginRight" to 4)), "item-subtotal-price" to _pS(_uM("fontSize" to 14, "color" to "#ff5000", "fontWeight" to "bold")), "delivery-options-grid" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "delivery-card" to _uM("" to _uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#f0f0f0", "borderRightColor" to "#f0f0f0", "borderBottomColor" to "#f0f0f0", "borderLeftColor" to "#f0f0f0", "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "marginBottom" to 10, "backgroundColor" to "#fafafa"), ".selected" to _uM("borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000", "backgroundColor" to "#fff9f6")), "option-main" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "option-name" to _pS(_uM("fontSize" to 15, "color" to "#333333", "marginBottom" to 4)), "option-desc" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "option-side" to _pS(_uM("display" to "flex", "alignItems" to "center")), "option-price" to _pS(_uM("fontSize" to 14, "color" to "#333333", "marginRight" to 10)), "select-icon" to _pS(_uM("width" to 18, "height" to 18, "backgroundColor" to "#ff5000", "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "check-mark" to _pS(_uM("color" to "#ffffff", "fontSize" to 12, "marginTop" to -1)), "coupon-content" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center")), "coupon-left" to _pS(_uM("display" to "flex", "alignItems" to "center")), "coupon-tag" to _pS(_uM("backgroundColor" to "#ff5000", "color" to "#ffffff", "fontSize" to 10, "paddingTop" to 1, "paddingRight" to 4, "paddingBottom" to 1, "paddingLeft" to 4, "borderTopLeftRadius" to 2, "borderTopRightRadius" to 2, "borderBottomRightRadius" to 2, "borderBottomLeftRadius" to 2, "marginLeft" to 8)), "coupon-right" to _pS(_uM("display" to "flex", "alignItems" to "center")), "coupon-selected-name" to _pS(_uM("fontSize" to 14, "color" to "#ff5000")), "coupon-placeholder" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "arrow-icon" to _pS(_uM("fontSize" to 18, "color" to "#cccccc", "marginLeft" to 5)), "remark-input-new" to _pS(_uM("width" to "100%", "backgroundColor" to "#f9f9f9", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "fontSize" to 14, "minHeight" to 48)), "price-list" to _pS(_uM("marginTop" to 5)), "price-item" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 6, "paddingRight" to 0, "paddingBottom" to 6, "paddingLeft" to 0)), "discount-text" to _pS(_uM("color" to "#ff5000")), "section-title" to _pS(_uM("fontSize" to 15, "fontWeight" to "bold", "color" to "#333333")), "footer-action-bar" to _pS(_uM("position" to "fixed", "bottom" to 0, "left" to 0, "right" to 0, "height" to 60, "backgroundColor" to "#ffffff", "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "space-between", "paddingTop" to 0, "paddingRight" to 16, "paddingBottom" to "env(safe-area-inset-bottom)", "paddingLeft" to 16, "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#f0f0f0", "zIndex" to 100)), "footer-left" to _pS(_uM("display" to "flex", "flexDirection" to "row")), "footer-total-label" to _pS(_uM("fontSize" to 14, "color" to "#333333", "marginRight" to 4)), "footer-currency" to _pS(_uM("fontSize" to 14, "color" to "#ff5000", "fontWeight" to "bold")), "footer-price" to _pS(_uM("fontSize" to 22, "color" to "#ff5000", "fontWeight" to "bold")), "footer-submit-btn" to _pS(_uM("backgroundColor" to "#ff5000", "color" to "#ffffff", "paddingTop" to 0, "paddingRight" to 28, "paddingBottom" to 0, "paddingLeft" to 28, "height" to 42, "lineHeight" to "42px", "borderTopLeftRadius" to 21, "borderTopRightRadius" to 21, "borderBottomRightRadius" to 21, "borderBottomLeftRadius" to 21, "fontSize" to 16, "fontWeight" to "bold", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "marginTop" to 0, "marginRight" to 0, "marginBottom" to 0, "marginLeft" to 0)), "safe-area-bottom" to _pS(_uM("height" to 100, "width" to "100%")), "address-popup-mask" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "rgba(0,0,0,0.5)", "zIndex" to 9998, "display" to "flex", "alignItems" to "flex-end", "justifyContent" to "center")), "address-form-mask" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "rgba(0,0,0,0.5)", "zIndex" to 10000, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "confirm-popup-mask" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "rgba(0,0,0,0.5)", "zIndex" to 9998, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "address-popup" to _pS(_uM("backgroundColor" to "#ffffff", "width" to "100%", "height" to 450, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 0, "borderBottomLeftRadius" to 0, "display" to "flex", "flexDirection" to "column", "position" to "relative", "zIndex" to 9999)), "address-form-popup" to _pS(_uM("backgroundColor" to "#f8f8f8", "width" to "92%", "maxWidth" to 500, "height" to 600, "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "display" to "flex", "flexDirection" to "column", "overflow" to "hidden", "position" to "relative", "zIndex" to 10001)), "popup-header" to _pS(_uM("paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "borderBottomWidth" to 0.5, "borderBottomStyle" to "solid", "borderBottomColor" to "#eeeeee", "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "flexShrink" to 0, "position" to "relative")), "popup-title" to _pS(_uM("fontSize" to 17, "fontWeight" to "bold", "color" to "#333333")), "popup-close" to _pS(_uM("position" to "absolute", "right" to 16, "fontSize" to 20, "color" to "#999999", "paddingTop" to 4, "paddingRight" to 4, "paddingBottom" to 4, "paddingLeft" to 4)), "address-list-container" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "width" to "100%", "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "boxSizing" to "border-box")), "popup-address-item" to _pS(_uM("paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "marginBottom" to 12, "backgroundColor" to "#ffffff", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#f0f0f0", "borderRightColor" to "#f0f0f0", "borderBottomColor" to "#f0f0f0", "borderLeftColor" to "#f0f0f0", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "position" to "relative")), "popup-address-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to 8)), "popup-address-name" to _pS(_uM("fontSize" to 15, "fontWeight" to "bold", "color" to "#333333", "marginRight" to 12))) - } - val styles1: Map>> - get() { - return _uM("popup-address-phone" to _pS(_uM("fontSize" to 14, "color" to "#666666", "marginRight" to 8)), "popup-default-tag" to _pS(_uM("backgroundColor" to "#fff0eb", "paddingTop" to 1, "paddingRight" to 6, "paddingBottom" to 1, "paddingLeft" to 6, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4)), "popup-tag-text" to _pS(_uM("color" to "#ff5000", "fontSize" to 10)), "popup-address-detail" to _pS(_uM("fontSize" to 13, "color" to "#666666", "lineHeight" to 1.4)), "popup-selected-indicator" to _pS(_uM("position" to "absolute", "right" to 16, "top" to "50%", "transform" to "translateY(-50%)", "color" to "#ff5000", "fontWeight" to "bold", "fontSize" to 18)), "popup-empty-address" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 60, "paddingRight" to 20, "paddingBottom" to 60, "paddingLeft" to 20)), "popup-empty-icon" to _pS(_uM("fontSize" to 48, "marginBottom" to 12, "opacity" to 0.3)), "popup-empty-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "popup-add-address-btn" to _pS(_uM("backgroundColor" to "#ff5000", "marginTop" to 12, "marginRight" to 16, "marginBottom" to 30, "marginLeft" to 16, "height" to 44, "borderTopLeftRadius" to 22, "borderTopRightRadius" to 22, "borderBottomRightRadius" to 22, "borderBottomLeftRadius" to 22, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "flexShrink" to 0)), "popup-btn-icon" to _pS(_uM("color" to "#ffffff", "fontSize" to 20, "marginRight" to 6, "fontWeight" to "normal")), "popup-btn-text" to _pS(_uM("color" to "#ffffff", "fontSize" to 15, "fontWeight" to "bold")), "form-header" to _pS(_uM("paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "backgroundColor" to "#ffffff", "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "position" to "relative", "borderBottomWidth" to 0.5, "borderBottomStyle" to "solid", "borderBottomColor" to "#eeeeee", "flexShrink" to 0)), "form-title" to _pS(_uM("fontSize" to 17, "fontWeight" to "bold", "color" to "#333333")), "form-close-btn" to _pS(_uM("position" to "absolute", "right" to 12, "width" to 28, "height" to 28, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "form-close-icon" to _pS(_uM("fontSize" to 18, "color" to "#999999")), "form-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "width" to "100%", "backgroundColor" to "#ffffff", "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12)), "form-section" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 0, "paddingRight" to 12, "paddingBottom" to 0, "paddingLeft" to 12, "marginBottom" to 12)), "form-item" to _pS(_uM("paddingTop" to 16, "paddingRight" to 0, "paddingBottom" to 16, "paddingLeft" to 0, "borderBottomWidth" to 0.5, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5", "borderBottomWidth:last-child" to "medium", "borderBottomStyle:last-child" to "none", "borderBottomColor:last-child" to "#000000")), "form-label" to _pS(_uM("fontSize" to 14, "color" to "#333333", "marginBottom" to 10, "display" to "flex")), "label-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 10)), "smart-tag" to _pS(_uM("fontSize" to 11, "color" to "#ff5000", "backgroundColor" to "#fff0eb", "paddingTop" to 2, "paddingRight" to 6, "paddingBottom" to 2, "paddingLeft" to 6, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4)), "form-input" to _pS(_uM("width" to "100%", "height" to 32, "fontSize" to 15, "color" to "#333333")), "form-input-readonly" to _pS(_uM("color" to "#888888")), "region-inputs" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between")), "region-input" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "textAlign" to "center")), "form-textarea" to _pS(_uM("width" to "100%", "backgroundColor" to "#f9f9f9", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10, "fontSize" to 14, "color" to "#333333", "boxSizing" to "border-box")), "smart-address-input" to _pS(_uM("height" to 80)), "detail-textarea" to _pS(_uM("height" to 60)), "checkbox-item" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16)), "checkbox-wrapper" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "checkbox" to _uM("" to _uM("width" to 18, "height" to 18, "borderTopWidth" to 1.5, "borderRightWidth" to 1.5, "borderBottomWidth" to 1.5, "borderLeftWidth" to 1.5, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#dddddd", "borderRightColor" to "#dddddd", "borderBottomColor" to "#dddddd", "borderLeftColor" to "#dddddd", "borderTopLeftRadius" to 9, "borderTopRightRadius" to 9, "borderBottomRightRadius" to 9, "borderBottomLeftRadius" to 9, "marginRight" to 10, "display" to "flex", "alignItems" to "center", "justifyContent" to "center"), ".checked" to _uM("backgroundColor" to "#ff5000", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000")), "checkbox-check" to _pS(_uM("color" to "#ffffff", "fontSize" to 12)), "checkbox-label" to _pS(_uM("fontSize" to 14, "color" to "#333333")), "form-buttons" to _pS(_uM("paddingTop" to 12, "paddingRight" to 16, "paddingBottom" to 30, "paddingLeft" to 16, "backgroundColor" to "#ffffff", "flexShrink" to 0)), "form-submit-btn" to _pS(_uM("width" to "100%", "backgroundColor" to "#ff5000", "color" to "#ffffff", "height" to 44, "lineHeight" to "44px", "borderTopLeftRadius" to 22, "borderTopRightRadius" to 22, "borderBottomRightRadius" to 22, "borderBottomLeftRadius" to 22, "fontSize" to 16, "fontWeight" to "bold", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000")), "confirm-popup" to _pS(_uM("backgroundColor" to "#ffffff", "width" to "80%", "maxWidth" to 320, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "overflow" to "hidden")), "confirm-header" to _pS(_uM("paddingTop" to 24, "paddingRight" to 0, "paddingBottom" to 12, "paddingLeft" to 0, "textAlign" to "center")), "confirm-title" to _pS(_uM("fontSize" to 17, "fontWeight" to "bold", "color" to "#333333")), "confirm-content" to _pS(_uM("paddingTop" to 0, "paddingRight" to 24, "paddingBottom" to 24, "paddingLeft" to 24, "textAlign" to "center")), "confirm-message" to _pS(_uM("fontSize" to 14, "color" to "#666666", "lineHeight" to 1.5)), "confirm-buttons" to _pS(_uM("display" to "flex", "flexDirection" to "row", "borderTopWidth" to 0.5, "borderTopStyle" to "solid", "borderTopColor" to "#eeeeee")), "confirm-btn" to _uM("" to _uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 48, "lineHeight" to "48px", "textAlign" to "center", "fontSize" to 16, "backgroundColor" to "#ffffff", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "borderTopLeftRadius" to 0, "borderTopRightRadius" to 0, "borderBottomRightRadius" to 0, "borderBottomLeftRadius" to 0), ".cancel" to _uM("color" to "#666666", "borderRightWidth" to 0.5, "borderRightStyle" to "solid", "borderRightColor" to "#eeeeee"), ".confirm" to _uM("color" to "#ff5000", "fontWeight" to "bold"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/coupons.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/coupons.kt deleted file mode 100644 index 1f2d128c..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/coupons.kt +++ /dev/null @@ -1,122 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMallConsumerCoupons : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerCoupons) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerCoupons - val _cache = __ins.renderCache - val coupons = ref(_uA()) - val loadCoupons = fun(): UTSPromise { - return wrapUTSPromise(suspend { - uni_showLoading(ShowLoadingOptions(title = "加载中...")) - try { - val userCoupons = await(supabaseService.getUserCoupons(1)) - val couponList: UTSArray = _uA() - run { - var i: Number = 0 - while(i < userCoupons.length){ - val item = userCoupons[i] - val amountVal = item.amount ?: 0 - val expiryVal = if ((item.expire_at != null && item.expire_at !== "")) { - item.expire_at.substring(0, 10) - } else { - "长期有效" - } - val coupon: Coupon = Coupon(id = item.id, title = if ((item.template_name != null && item.template_name !== "")) { - item.template_name!! - } else { - "优惠券" - } - , amount = "\u00A5" + amountVal, expiry = expiryVal) - couponList.push(coupon) - i++ - } - } - coupons.value = couponList - } - catch (e: Throwable) { - console.error("加载优惠券失败", e, " at pages/mall/consumer/coupons.uvue:59") - coupons.value = _uA() - } - finally { - uni_hideLoading() - } - }) - } - onMounted(fun(){ - loadCoupons() - } - ) - val useCoupon = fun(coupon: Coupon){ - uni_switchTab(SwitchTabOptions(url = "/pages/main/index")) - } - return fun(): Any? { - return _cE("view", _uM("class" to "coupons-page"), _uA( - _cE("view", _uM("class" to "coupon-list"), _uA( - if (coupons.value.length === 0) { - _cE("view", _uM("key" to 0, "class" to "empty-state"), _uA( - _cE("text", _uM("class" to "empty-icon"), "🎫"), - _cE("text", _uM("class" to "empty-text"), "暂无优惠券") - )) - } else { - _cE(Fragment, _uM("key" to 1), RenderHelpers.renderList(coupons.value, fun(coupon, index, __index, _cached): Any { - return _cE("view", _uM("key" to index, "class" to "coupon-item"), _uA( - _cE("view", _uM("class" to "coupon-left"), _uA( - _cE("text", _uM("class" to "coupon-amount"), _tD(coupon.amount), 1), - _cE("text", _uM("class" to "coupon-type"), "优惠券") - )), - _cE("view", _uM("class" to "coupon-right"), _uA( - _cE("text", _uM("class" to "coupon-title"), _tD(coupon.title), 1), - _cE("text", _uM("class" to "coupon-expiry"), "有效期至: " + _tD(coupon.expiry), 1), - _cE("button", _uM("class" to "use-btn", "onClick" to fun(){ - useCoupon(coupon) - } - ), "去使用", 8, _uA( - "onClick" - )) - )) - )) - } - ), 128) - } - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("coupons-page" to _pS(_uM("paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "backgroundColor" to "#f5f5f5", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "empty-state" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 100)), "empty-icon" to _pS(_uM("fontSize" to 60, "marginBottom" to 20)), "empty-text" to _pS(_uM("fontSize" to 16, "color" to "#999999")), "coupon-item" to _pS(_uM("display" to "flex", "backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginBottom" to 15, "overflow" to "hidden", "boxShadow" to "0 2px 8px rgba(0,0,0,0.05)")), "coupon-left" to _pS(_uM("width" to 100, "backgroundImage" to "linear-gradient(135deg, #FF9800, #FF5722)", "backgroundColor" to "rgba(0,0,0,0)", "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "color" to "#FFFFFF", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15)), "coupon-amount" to _pS(_uM("fontSize" to 24, "fontWeight" to "bold")), "coupon-type" to _pS(_uM("fontSize" to 12, "marginTop" to 5)), "coupon-right" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "display" to "flex", "flexDirection" to "column", "justifyContent" to "space-between")), "coupon-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 8)), "coupon-expiry" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginBottom" to 10)), "use-btn" to _pS(_uM("alignSelf" to "flex-end", "fontSize" to 12, "backgroundColor" to "#FF5722", "color" to "#FFFFFF", "paddingTop" to 4, "paddingRight" to 12, "paddingBottom" to 4, "paddingLeft" to 12, "borderTopLeftRadius" to 15, "borderTopRightRadius" to 15, "borderBottomRightRadius" to 15, "borderBottomLeftRadius" to 15, "lineHeight" to 1.5))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/favorites.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/favorites.kt deleted file mode 100644 index a496b2a2..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/favorites.kt +++ /dev/null @@ -1,413 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMallConsumerFavorites : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerFavorites) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerFavorites - val _cache = __ins.renderCache - val favorites = ref(_uA()) - val isEditMode = ref(false) - val isLoading = ref(false) - val selectedCount = computed(fun(): Number { - return favorites.value.filter(fun(item): Boolean { - return item.selected === true - } - ).length - } - ) - val isAllSelected = computed(fun(): Boolean { - return favorites.value.length > 0 && favorites.value.every(fun(item): Boolean { - return item.selected === true - } - ) - } - ) - val loadFavorites = fun(): UTSPromise { - return wrapUTSPromise(suspend { - isLoading.value = true - try { - val res = await(supabaseService.getFavorites()) - console.log("收藏数据加载完成,数量:", res.length, " at pages/mall/consumer/favorites.uvue:92") - val productList: UTSArray = _uA() - run { - var i: Number = 0 - while(i < res.length){ - val item = res[i] - var prod: Any? = null - var itemObj: UTSJSONObject? = null - if (item is UTSJSONObject) { - itemObj = item as UTSJSONObject - prod = itemObj.get("ml_products") - } else { - itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/favorites.uvue:104") as UTSJSONObject - prod = itemObj.get("ml_products") - } - var image = "/static/default-product.png" - var id = "" - var name = "未知商品" - var price: Number = 0 - var merchantId = "" - if (prod != null) { - var prodObj: UTSJSONObject - if (prod is UTSJSONObject) { - prodObj = prod as UTSJSONObject - } else { - prodObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(prod)), " at pages/mall/consumer/favorites.uvue:119") as UTSJSONObject - } - id = prodObj.getString("id") ?: "" - name = prodObj.getString("name") ?: "未知商品" - price = prodObj.getNumber("base_price") ?: 0 - image = prodObj.getString("main_image_url") ?: image - merchantId = prodObj.getString("merchant_id") ?: "" - if (image === "/static/default-product.png") { - val imgUrls = prodObj.getString("image_urls") - if (imgUrls != null) { - try { - val arr = UTSAndroid.consoleDebugError(JSON.parse(imgUrls), " at pages/mall/consumer/favorites.uvue:132") - if (UTSArray.isArray(arr) && (arr as UTSArray).length > 0) { - image = (arr as UTSArray)[0] as String - } - } - catch (e: Throwable) {} - } - } - } else { - if (itemObj != null) { - id = itemObj.getString("target_id") ?: "" - } - } - val product = FavoriteType(id = id, name = name, price = price, main_image_url = image, merchant_id = merchantId, selected = false) - productList.push(product) - i++ - } - } - favorites.value = productList - console.log("收藏列表更新完成,数量:", favorites.value.length, " at pages/mall/consumer/favorites.uvue:156") - } - catch (e: Throwable) { - console.error("加载收藏失败", e, " at pages/mall/consumer/favorites.uvue:158") - } - finally { - isLoading.value = false - } - }) - } - val toggleEditMode = fun(){ - isEditMode.value = !isEditMode.value - run { - var i: Number = 0 - while(i < favorites.value.length){ - favorites.value[i].selected = false - i++ - } - } - } - val clearAll = fun(){ - if (favorites.value.length === 0) { - return - } - uni_showModal(ShowModalOptions(title = "清空收藏", content = "确定要清空所有收藏商品吗?", success = fun(res){ - if (res.confirm) { - uni_showLoading(ShowLoadingOptions(title = "清空中...")) - val productIds: UTSArray = _uA() - run { - var i: Number = 0 - while(i < favorites.value.length){ - productIds.push(favorites.value[i].id) - i++ - } - } - var completed: Number = 0 - run { - var i: Number = 0 - while(i < productIds.length){ - supabaseService.toggleFavorite(productIds[i]).then(fun(){ - completed++ - if (completed === productIds.length) { - uni_hideLoading() - favorites.value = _uA() - uni_showToast(ShowToastOptions(title = "已清空", icon = "success")) - } - } - ).`catch`(fun(){ - completed++ - if (completed === productIds.length) { - uni_hideLoading() - loadFavorites() - uni_showToast(ShowToastOptions(title = "部分清空失败", icon = "none")) - } - } - ) - i++ - } - } - } - } - )) - } - val toggleSelect = fun(item: FavoriteType){ - item.selected = !(item.selected === true) - favorites.value = favorites.value.slice() - } - val toggleSelectAll = fun(){ - val newSelectedState = !isAllSelected.value - run { - var i: Number = 0 - while(i < favorites.value.length){ - favorites.value[i].selected = newSelectedState - i++ - } - } - favorites.value = favorites.value.slice() - } - val deleteSelected = fun(){ - val selectedItems = favorites.value.filter(fun(item): Boolean { - return item.selected === true - } - ) - if (selectedItems.length === 0) { - uni_showToast(ShowToastOptions(title = "请选择要删除的商品", icon = "none")) - return - } - uni_showModal(ShowModalOptions(title = "删除收藏", content = "确定要删除选中的 " + selectedItems.length + " 个商品吗?", success = fun(res){ - if (res.confirm) { - uni_showLoading(ShowLoadingOptions(title = "删除中...")) - var completed: Number = 0 - val total = selectedItems.length - run { - var i: Number = 0 - while(i < selectedItems.length){ - supabaseService.toggleFavorite(selectedItems[i].id).then(fun(){ - completed++ - if (completed === total) { - uni_hideLoading() - loadFavorites() - uni_showToast(ShowToastOptions(title = "已删除", icon = "success")) - } - } - ).`catch`(fun(){ - completed++ - if (completed === total) { - uni_hideLoading() - loadFavorites() - uni_showToast(ShowToastOptions(title = "部分删除失败", icon = "none")) - } - } - ) - i++ - } - } - } - } - )) - } - val viewProduct = fun(product: FavoriteType){ - if (isEditMode.value) { - toggleSelect(product) - return - } - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?id=" + product.id)) - } - val addToCart = fun(product: FavoriteType): UTSPromise { - return wrapUTSPromise(suspend { - uni_showLoading(ShowLoadingOptions(title = "检查商品...")) - try { - val merchantId = product.merchant_id ?: "" - val skus = await(supabaseService.getProductSkus(product.id)) - uni_hideLoading() - if (skus.length > 0) { - uni_showToast(ShowToastOptions(title = "请选择规格", icon = "none")) - setTimeout(fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?id=" + product.id)) - }, 500) - } else { - uni_showLoading(ShowLoadingOptions(title = "添加中...")) - val success = await(supabaseService.addToCart(product.id, 1, "", merchantId)) - uni_hideLoading() - if (success) { - uni_showToast(ShowToastOptions(title = "已添加到购物车", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "添加失败", icon = "none")) - } - } - } - catch (e: Throwable) { - console.error("添加到购物车异常", e, " at pages/mall/consumer/favorites.uvue:313") - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "操作失败", icon = "none")) - } - }) - } - val goShopping = fun(){ - uni_switchTab(SwitchTabOptions(url = "/pages/main/index")) - } - onMounted(fun(){ - loadFavorites() - } - ) - return fun(): Any? { - return _cE("view", _uM("class" to "favorites-page"), _uA( - _cE("view", _uM("class" to "favorites-header"), _uA( - if (favorites.value.length > 0) { - _cE("view", _uM("key" to 0, "class" to "header-actions"), _uA( - _cE("text", _uM("class" to "action-btn", "onClick" to toggleEditMode), _tD(if (isEditMode.value) { - "完成" - } else { - "编辑" - }), 1), - _cE("text", _uM("class" to "action-btn", "onClick" to clearAll), "清空") - )) - } else { - _cC("v-if", true) - } - )), - _cE("scroll-view", _uM("class" to "favorites-content", "scroll-y" to true), _uA( - if (isTrue(favorites.value.length === 0 && !isLoading.value)) { - _cE("view", _uM("key" to 0, "class" to "empty-favorites"), _uA( - _cE("text", _uM("class" to "empty-icon"), "❤️"), - _cE("text", _uM("class" to "empty-text"), "暂无收藏商品"), - _cE("text", _uM("class" to "empty-subtext"), "快去收藏喜欢的商品吧"), - _cE("button", _uM("class" to "go-shopping-btn", "onClick" to goShopping), "去逛逛") - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "product-group"), _uA( - _cE("view", _uM("class" to "group-items"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(favorites.value, fun(product, index, __index, _cached): Any { - return _cE("view", _uM("key" to index, "class" to "product-item"), _uA( - if (isTrue(isEditMode.value)) { - _cE("view", _uM("key" to 0, "class" to "item-selector", "onClick" to fun(){ - toggleSelect(product) - }), _uA( - _cE("view", _uM("class" to _nC(_uA( - "select-icon", - _uM("selected" to (product.selected === true)) - ))), _uA( - if (product.selected === true) { - _cE("text", _uM("key" to 0, "class" to "icon-text"), "✓") - } else { - _cC("v-if", true) - } - ), 2) - ), 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "item-content", "onClick" to fun(){ - viewProduct(product) - } - ), _uA( - _cE("image", _uM("class" to "product-image", "src" to product.main_image_url, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("text", _uM("class" to "product-name", "lines" to 2), _tD(product.name), 1), - _cE("view", _uM("class" to "product-bottom"), _uA( - _cE("text", _uM("class" to "product-price"), "¥" + _tD(product.price), 1), - if (isTrue(!isEditMode.value)) { - _cE("view", _uM("key" to 0, "class" to "product-add-btn", "onClick" to withModifiers(fun(){ - addToCart(product) - }, _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "add-icon"), "+") - ), 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - )) - ), 8, _uA( - "onClick" - )) - )) - } - ), 128) - )) - )), - if (isTrue(isLoading.value)) { - _cE("view", _uM("key" to 1, "class" to "loading-more"), _uA( - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(!isLoading.value && favorites.value.length > 0)) { - _cE("view", _uM("key" to 2, "class" to "no-more"), _uA( - _cE("text", _uM("class" to "no-more-text"), "没有更多了") - )) - } else { - _cC("v-if", true) - } - )), - if (isTrue(isEditMode.value && favorites.value.length > 0)) { - _cE("view", _uM("key" to 0, "class" to "edit-bar"), _uA( - _cE("view", _uM("class" to "select-all", "onClick" to toggleSelectAll), _uA( - _cE("view", _uM("class" to _nC(_uA( - "all-select-icon", - _uM("selected" to isAllSelected.value) - ))), _uA( - if (isTrue(isAllSelected.value)) { - _cE("text", _uM("key" to 0, "class" to "icon-text"), "✓") - } else { - _cC("v-if", true) - } - ), 2), - _cE("text", _uM("class" to "select-all-text"), "全选") - )), - _cE("view", _uM("class" to "delete-btn", "onClick" to deleteSelected), _uA( - _cE("text", _uM("class" to "delete-text"), "删除(" + _tD(selectedCount.value) + ")", 1) - )) - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("favorites-page" to _pS(_uM("display" to "flex", "flexDirection" to "column", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "favorites-header" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#e5e5e5", "display" to "flex", "alignItems" to "center", "justifyContent" to "space-between")), "header-actions" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "justifyContent" to "flex-end", "alignItems" to "center", "paddingRight" to 0)), "action-btn" to _pS(_uM("color" to "#007aff", "fontSize" to 14, "paddingTop" to 5, "paddingRight" to 5, "paddingBottom" to 5, "paddingLeft" to 5, "marginLeft" to 20)), "favorites-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 0)), "empty-favorites" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 80, "paddingRight" to 20, "paddingBottom" to 80, "paddingLeft" to 20, "backgroundColor" to "#ffffff")), "empty-icon" to _pS(_uM("fontSize" to 80, "marginBottom" to 20)), "empty-text" to _pS(_uM("fontSize" to 16, "color" to "#666666", "marginBottom" to 10)), "empty-subtext" to _pS(_uM("fontSize" to 14, "color" to "#999999", "marginBottom" to 30)), "go-shopping-btn" to _pS(_uM("backgroundColor" to "#007aff", "color" to "#ffffff", "paddingTop" to 10, "paddingRight" to 40, "paddingBottom" to 10, "paddingLeft" to 40, "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "fontSize" to 14, "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000")), "product-group" to _pS(_uM("backgroundColor" to "#ffffff", "marginBottom" to 10, "paddingTop" to 0, "paddingRight" to 10, "paddingBottom" to 0, "paddingLeft" to 10)), "group-items" to _pS(_uM("paddingTop" to 0, "paddingRight" to 0, "paddingBottom" to 0, "paddingLeft" to 0, "display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "justifyContent" to "space-between")), "product-item" to _pS(_uM("display" to "flex", "flexDirection" to "column", "backgroundImage" to "none", "backgroundColor" to "#ffffff", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "overflow" to "hidden", "width" to "48%", "marginBottom" to 12, "position" to "relative")), "item-selector" to _pS(_uM("position" to "absolute", "top" to 5, "right" to 5, "zIndex" to 10, "width" to 30, "height" to 30, "borderTopLeftRadius" to 15, "borderTopRightRadius" to 15, "borderBottomRightRadius" to 15, "borderBottomLeftRadius" to 15, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "select-icon" to _uM("" to _uM("width" to 20, "height" to 20, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#cccccc", "borderRightColor" to "#cccccc", "borderBottomColor" to "#cccccc", "borderLeftColor" to "#cccccc", "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "backgroundColor" to "rgba(255,255,255,0.5)", "display" to "flex", "alignItems" to "center", "justifyContent" to "center"), ".selected" to _uM("backgroundColor" to "#007aff", "borderTopColor" to "#007aff", "borderRightColor" to "#007aff", "borderBottomColor" to "#007aff", "borderLeftColor" to "#007aff")), "icon-text" to _pS(_uM("color" to "#ffffff", "fontSize" to 12)), "item-content" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "product-image" to _pS(_uM("width" to "100%", "height" to 170, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginBottom" to 8, "backgroundImage" to "none", "backgroundColor" to "#f5f5f5")), "product-name" to _pS(_uM("fontSize" to 13, "color" to "#333333", "marginBottom" to 5, "lineHeight" to 1.4, "height" to 36, "overflow" to "hidden", "textOverflow" to "ellipsis", "paddingTop" to 0, "paddingRight" to 8, "paddingBottom" to 0, "paddingLeft" to 8)), "product-bottom" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 0, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8)), "product-price" to _pS(_uM("fontSize" to 15, "color" to "#ff5000", "fontWeight" to "bold")), "product-add-btn" to _pS(_uM("width" to 24, "height" to 24, "backgroundColor" to "#ff5000", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "add-icon" to _pS(_uM("color" to "#ffffff", "fontSize" to 16, "fontWeight" to "bold")), "loading-more" to _pS(_uM("paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "textAlign" to "center", "backgroundColor" to "#ffffff")), "no-more" to _pS(_uM("paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "textAlign" to "center", "backgroundColor" to "#ffffff")), "loading-text" to _pS(_uM("color" to "#999999", "fontSize" to 14)), "no-more-text" to _pS(_uM("color" to "#999999", "fontSize" to 14)), "edit-bar" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#e5e5e5", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "display" to "flex", "alignItems" to "center", "justifyContent" to "space-between")), "select-all" to _pS(_uM("display" to "flex", "alignItems" to "center")), "all-select-icon" to _uM("" to _uM("width" to 20, "height" to 20, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#cccccc", "borderRightColor" to "#cccccc", "borderBottomColor" to "#cccccc", "borderLeftColor" to "#cccccc", "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "marginRight" to 10, "display" to "flex", "alignItems" to "center", "justifyContent" to "center"), ".selected" to _uM("backgroundColor" to "#007aff", "borderTopColor" to "#007aff", "borderRightColor" to "#007aff", "borderBottomColor" to "#007aff", "borderLeftColor" to "#007aff")), "select-all-text" to _pS(_uM("fontSize" to 14, "color" to "#333333")), "delete-btn" to _pS(_uM("backgroundColor" to "#ff4757", "paddingTop" to 10, "paddingRight" to 20, "paddingBottom" to 10, "paddingLeft" to 20, "borderTopLeftRadius" to 15, "borderTopRightRadius" to 15, "borderBottomRightRadius" to 15, "borderBottomLeftRadius" to 15)), "delete-text" to _pS(_uM("color" to "#ffffff", "fontSize" to 14, "fontWeight" to "bold"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/footprint.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/footprint.kt deleted file mode 100644 index 696d0b83..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/footprint.kt +++ /dev/null @@ -1,510 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.getStorageSync as uni_getStorageSync -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.removeStorageSync as uni_removeStorageSync -import io.dcloud.uniapp.extapi.setStorageSync as uni_setStorageSync -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMallConsumerFootprint : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerFootprint) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerFootprint - val _cache = __ins.renderCache - val footprints = ref(_uA()) - val isEditMode = ref(false) - val isLoading = ref(false) - val hasMore = ref(false) - val selectedCount = computed(fun(): Number { - return footprints.value.filter(fun(item): Boolean { - return item.selected === true - } - ).length - } - ) - val isAllSelected = computed(fun(): Boolean { - return footprints.value.length > 0 && footprints.value.every(fun(item): Boolean { - return item.selected === true - } - ) - } - ) - val formatGroupDate = fun(dateStr: String): String { - val date = Date(dateStr) - val today = Date() - val yesterday = Date(today) - yesterday.setDate(yesterday.getDate() - 1) - if (date.toDateString() === today.toDateString()) { - return "今天" - } else if (date.toDateString() === yesterday.toDateString()) { - return "昨天" - } else { - val month = date.getMonth() + 1 - val day = date.getDate() - return "" + month + "月" + day + "日" - } - } - val groupedFootprints = computed(fun(): UTSArray { - val result: UTSArray = _uA() - run { - var i: Number = 0 - while(i < footprints.value.length){ - val item = footprints.value[i] - val dateKey = Date(item.viewTime).toDateString() - var foundGroup: FootprintGroup? = null - run { - var j: Number = 0 - while(j < result.length){ - if (result[j].dateKey === dateKey) { - foundGroup = result[j] - break - } - j++ - } - } - if (foundGroup != null) { - foundGroup.items.push(item) - } else { - val newGroup: FootprintGroup = FootprintGroup(dateLabel = formatGroupDate(dateKey), dateKey = dateKey, items = _uA( - item - )) - result.push(newGroup) - } - i++ - } - } - return result - } - ) - val toggleEditMode = fun(){ - isEditMode.value = !isEditMode.value - run { - var i: Number = 0 - while(i < footprints.value.length){ - footprints.value[i].selected = false - i++ - } - } - } - val clearAll = fun(){ - if (footprints.value.length === 0) { - return - } - uni_showModal(ShowModalOptions(title = "清空足迹", content = "确定要清空所有浏览记录吗?", success = fun(res){ - if (res.confirm) { - uni_showLoading(ShowLoadingOptions(title = "清空中...")) - supabaseService.clearFootprints().then(fun(success){ - uni_hideLoading() - if (success) { - footprints.value = _uA() - uni_removeStorageSync("footprints") - uni_showToast(ShowToastOptions(title = "已清空", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "清空失败", icon = "none")) - } - } - ) - } - } - )) - } - val toggleSelect = fun(item: FootprintType){ - item.selected = !(item.selected === true) - footprints.value = footprints.value.slice() - } - val toggleGroupSelect = fun(groupIndex: Number){ - val group = groupedFootprints.value[groupIndex] - if (group == null) { - return - } - val allSelected = group.items.every(fun(item): Boolean { - return item.selected === true - } - ) - val newSelectedState = !allSelected - run { - var i: Number = 0 - while(i < group.items.length){ - group.items[i].selected = newSelectedState - i++ - } - } - footprints.value = footprints.value.slice() - } - val isGroupSelected = fun(groupIndex: Number): Boolean { - val group = groupedFootprints.value[groupIndex] - if (group == null || group.items.length === 0) { - return false - } - return group.items.every(fun(item): Boolean { - return item.selected === true - } - ) - } - val toggleSelectAll = fun(){ - val newSelectedState = !isAllSelected.value - run { - var i: Number = 0 - while(i < footprints.value.length){ - footprints.value[i].selected = newSelectedState - i++ - } - } - footprints.value = footprints.value.slice() - } - val deleteSelected = fun(){ - val selectedItems = footprints.value.filter(fun(item): Boolean { - return item.selected === true - } - ) - if (selectedItems.length === 0) { - uni_showToast(ShowToastOptions(title = "请选择要删除的记录", icon = "none")) - return - } - uni_showModal(ShowModalOptions(title = "确认删除", content = "确定要删除选中的" + selectedItems.length + "条记录吗?", success = fun(res){ - if (res.confirm) { - uni_showLoading(ShowLoadingOptions(title = "删除中...")) - val productIds: UTSArray = _uA() - run { - var i: Number = 0 - while(i < selectedItems.length){ - productIds.push(selectedItems[i].id) - i++ - } - } - supabaseService.deleteFootprints(productIds).then(fun(success){ - uni_hideLoading() - if (success) { - footprints.value = footprints.value.filter(fun(item): Boolean { - return item.selected !== true - }) - val dataToSave: UTSArray = _uA() - run { - var i: Number = 0 - while(i < footprints.value.length){ - val item = footprints.value[i] - dataToSave.push(FootprintSaveType(id = item.id, name = item.name, price = item.price, original_price = item.original_price, image = item.image, sales = item.sales, shopId = item.shopId, shopName = item.shopName, viewTime = item.viewTime)) - i++ - } - } - uni_setStorageSync("footprints", JSON.stringify(dataToSave)) - uni_showToast(ShowToastOptions(title = "删除成功", icon = "success")) - if (footprints.value.length === 0) { - isEditMode.value = false - } - } else { - uni_showToast(ShowToastOptions(title = "删除失败", icon = "none")) - } - } - ) - } - } - )) - } - val addToCart = fun(item: FootprintType): UTSPromise { - return wrapUTSPromise(suspend { - uni_showLoading(ShowLoadingOptions(title = "检查商品...")) - try { - val productId = item.id - val merchantId = item.merchant_id ?: item.shopId ?: "" - val skus = await(supabaseService.getProductSkus(productId)) - uni_hideLoading() - if (skus.length > 0) { - uni_showToast(ShowToastOptions(title = "请选择规格", icon = "none")) - setTimeout(fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?id=" + productId)) - }, 500) - } else { - uni_showLoading(ShowLoadingOptions(title = "添加中...")) - val success = await(supabaseService.addToCart(productId, 1, "", merchantId)) - uni_hideLoading() - if (success) { - uni_showToast(ShowToastOptions(title = "已添加到购物车", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "添加失败", icon = "none")) - } - } - } - catch (e: Throwable) { - console.error("添加到购物车异常", e, " at pages/mall/consumer/footprint.uvue:347") - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "操作失败", icon = "none")) - } - }) - } - val viewProduct = fun(item: FootprintType){ - if (isEditMode.value) { - return - } - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?productId=" + item.id + "&price=" + item.price + "&originalPrice=" + item.original_price)) - } - val loadMore = fun(){} - val goShopping = fun(){ - uni_switchTab(SwitchTabOptions(url = "/pages/main/index")) - } - val parseFootprintItem = fun(item: Any): FootprintType { - var itemObj: UTSJSONObject - if (item is UTSJSONObject) { - itemObj = item as UTSJSONObject - } else { - itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/footprint.uvue:378") as UTSJSONObject - } - return FootprintType(id = itemObj.getString("id") ?: "", name = itemObj.getString("name") ?: "", price = itemObj.getNumber("price") ?: 0, original_price = itemObj.getNumber("original_price") ?: 0, image = itemObj.getString("image") ?: "", sales = itemObj.getNumber("sales") ?: 0, shopId = itemObj.getString("shopId") ?: "", shopName = itemObj.getString("shopName") ?: "", viewTime = itemObj.getNumber("viewTime") ?: 0, selected = false, merchant_id = itemObj.getString("merchant_id") ?: "") - } - val loadFootprints = fun(): UTSPromise { - return wrapUTSPromise(suspend { - isLoading.value = true - try { - val remoteData = await(supabaseService.getFootprints()) - if (remoteData.length > 0) { - console.log("获取到远程足迹数据:", remoteData.length, " at pages/mall/consumer/footprint.uvue:403") - val newFootprints: UTSArray = _uA() - run { - var i: Number = 0 - while(i < remoteData.length){ - newFootprints.push(parseFootprintItem(remoteData[i])) - i++ - } - } - footprints.value = newFootprints - val dataToSave: UTSArray = _uA() - run { - var i: Number = 0 - while(i < footprints.value.length){ - val item = footprints.value[i] - dataToSave.push(FootprintSaveType(id = item.id, name = item.name, price = item.price, original_price = item.original_price, image = item.image, sales = item.sales, shopId = item.shopId, shopName = item.shopName, viewTime = item.viewTime)) - i++ - } - } - uni_setStorageSync("footprints", JSON.stringify(dataToSave)) - } else { - val storedFootprints = uni_getStorageSync("footprints") - if (storedFootprints != null) { - try { - val data = UTSAndroid.consoleDebugError(JSON.parse(storedFootprints as String), " at pages/mall/consumer/footprint.uvue:430") as UTSArray - val newFootprints: UTSArray = _uA() - run { - var i: Number = 0 - while(i < data.length){ - newFootprints.push(parseFootprintItem(data[i])) - i++ - } - } - footprints.value = newFootprints - } catch (e: Throwable) { - console.error("Failed to parse footprints", e, " at pages/mall/consumer/footprint.uvue:437") - footprints.value = _uA() - } - } else { - footprints.value = _uA() - } - } - } - catch (e: Throwable) { - console.error("加载足迹失败", e, " at pages/mall/consumer/footprint.uvue:445") - val storedFootprints = uni_getStorageSync("footprints") - if (storedFootprints != null) { - try { - val data = UTSAndroid.consoleDebugError(JSON.parse(storedFootprints as String), " at pages/mall/consumer/footprint.uvue:449") as UTSArray - val newFootprints: UTSArray = _uA() - run { - var i: Number = 0 - while(i < data.length){ - newFootprints.push(parseFootprintItem(data[i])) - i++ - } - } - footprints.value = newFootprints - } - catch (err: Throwable) { - footprints.value = _uA() - } - } - } - isLoading.value = false - hasMore.value = false - }) - } - onMounted(fun(){ - loadFootprints() - } - ) - return fun(): Any? { - return _cE("view", _uM("class" to "footprint-page"), _uA( - _cE("view", _uM("class" to "footprint-header"), _uA( - if (footprints.value.length > 0) { - _cE("view", _uM("key" to 0, "class" to "header-actions"), _uA( - _cE("text", _uM("class" to "action-btn", "onClick" to toggleEditMode), _tD(if (isEditMode.value) { - "完成" - } else { - "编辑" - }), 1), - _cE("text", _uM("class" to "action-btn", "onClick" to clearAll), "清空") - )) - } else { - _cC("v-if", true) - } - )), - _cE("scroll-view", _uM("class" to "footprint-content", "scroll-y" to true, "onScrolltolower" to loadMore), _uA( - if (isTrue(footprints.value.length === 0 && !isLoading.value)) { - _cE("view", _uM("key" to 0, "class" to "empty-footprints"), _uA( - _cE("text", _uM("class" to "empty-icon"), "👣"), - _cE("text", _uM("class" to "empty-text"), "暂无浏览记录"), - _cE("text", _uM("class" to "empty-subtext"), "快去浏览喜欢的商品吧"), - _cE("button", _uM("class" to "go-shopping-btn", "onClick" to goShopping), "去逛逛") - )) - } else { - _cC("v-if", true) - } - , - _cE(Fragment, null, RenderHelpers.renderList(groupedFootprints.value, fun(group, index, __index, _cached): Any { - return _cE("view", _uM("key" to index, "class" to "date-group"), _uA( - _cE("view", _uM("class" to "group-header"), _uA( - _cE("text", _uM("class" to "group-date"), _tD(group.dateLabel), 1), - if (isTrue(isEditMode.value)) { - _cE("text", _uM("key" to 0, "class" to "group-select", "onClick" to fun(){ - toggleGroupSelect(index) - }), _tD(if (isGroupSelected(index)) { - "取消全选" - } else { - "全选" - }), 9, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - )), - _cE("view", _uM("class" to "group-items"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(group.items, fun(item, __key, __index, _cached): Any { - return _cE("view", _uM("key" to item.id, "class" to "footprint-item"), _uA( - if (isTrue(isEditMode.value)) { - _cE("view", _uM("key" to 0, "class" to "item-selector", "onClick" to fun(){ - toggleSelect(item) - }), _uA( - _cE("view", _uM("class" to _nC(_uA( - "select-icon", - _uM("selected" to (item.selected === true)) - ))), _uA( - if (item.selected === true) { - _cE("text", _uM("key" to 0, "class" to "icon-text"), "✓") - } else { - _cC("v-if", true) - } - ), 2) - ), 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "item-content", "onClick" to fun(){ - viewProduct(item) - } - ), _uA( - _cE("image", _uM("class" to "product-image", "src" to item.image, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("text", _uM("class" to "product-name", "lines" to 2), _tD(item.name), 1), - _cE("view", _uM("class" to "product-bottom"), _uA( - _cE("text", _uM("class" to "product-price"), "¥" + _tD(item.price), 1), - _cE("view", _uM("class" to "product-add-btn", "onClick" to withModifiers(fun(){ - addToCart(item) - } - , _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "add-icon"), "+") - ), 8, _uA( - "onClick" - )) - )) - ), 8, _uA( - "onClick" - )) - )) - } - ), 128) - )) - )) - } - ), 128), - if (isTrue(isLoading.value)) { - _cE("view", _uM("key" to 1, "class" to "loading-more"), _uA( - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(!hasMore.value && footprints.value.length > 0)) { - _cE("view", _uM("key" to 2, "class" to "no-more"), _uA( - _cE("text", _uM("class" to "no-more-text"), "没有更多了") - )) - } else { - _cC("v-if", true) - } - ), 32), - if (isTrue(isEditMode.value && footprints.value.length > 0)) { - _cE("view", _uM("key" to 0, "class" to "edit-bar"), _uA( - _cE("view", _uM("class" to "select-all", "onClick" to toggleSelectAll), _uA( - _cE("view", _uM("class" to _nC(_uA( - "all-select-icon", - _uM("selected" to isAllSelected.value) - ))), _uA( - if (isTrue(isAllSelected.value)) { - _cE("text", _uM("key" to 0, "class" to "icon-text"), "✓") - } else { - _cC("v-if", true) - } - ), 2), - _cE("text", _uM("class" to "select-all-text"), "全选") - )), - _cE("view", _uM("class" to "delete-btn", "onClick" to deleteSelected), _uA( - _cE("text", _uM("class" to "delete-text"), "删除(" + _tD(selectedCount.value) + ")", 1) - )) - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("footprint-page" to _pS(_uM("display" to "flex", "flexDirection" to "column", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "footprint-header" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#e5e5e5", "display" to "flex", "alignItems" to "center", "justifyContent" to "space-between")), "header-actions" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "justifyContent" to "flex-end", "alignItems" to "center", "paddingRight" to 0)), "action-btn" to _pS(_uM("color" to "#007aff", "fontSize" to 14, "paddingTop" to 5, "paddingRight" to 5, "paddingBottom" to 5, "paddingLeft" to 5, "marginLeft" to 20)), "footprint-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 0)), "empty-footprints" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 80, "paddingRight" to 20, "paddingBottom" to 80, "paddingLeft" to 20, "backgroundColor" to "#ffffff")), "empty-icon" to _pS(_uM("fontSize" to 80, "marginBottom" to 20)), "empty-text" to _pS(_uM("fontSize" to 16, "color" to "#666666", "marginBottom" to 10)), "empty-subtext" to _pS(_uM("fontSize" to 14, "color" to "#999999", "marginBottom" to 30)), "go-shopping-btn" to _pS(_uM("backgroundColor" to "#007aff", "color" to "#ffffff", "paddingTop" to 10, "paddingRight" to 40, "paddingBottom" to 10, "paddingLeft" to 40, "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "fontSize" to 14, "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000")), "date-group" to _pS(_uM("backgroundColor" to "#ffffff", "marginBottom" to 10, "paddingTop" to 0, "paddingRight" to 10, "paddingBottom" to 0, "paddingLeft" to 10)), "group-header" to _pS(_uM("paddingTop" to 15, "paddingRight" to 5, "paddingBottom" to 15, "paddingLeft" to 5, "display" to "flex", "alignItems" to "center", "justifyContent" to "space-between")), "group-date" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "group-select" to _pS(_uM("color" to "#007aff", "fontSize" to 14)), "group-items" to _pS(_uM("paddingTop" to 0, "paddingRight" to 0, "paddingBottom" to 0, "paddingLeft" to 0, "display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "justifyContent" to "space-between")), "footprint-item" to _pS(_uM("display" to "flex", "flexDirection" to "column", "backgroundImage" to "none", "backgroundColor" to "#ffffff", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "overflow" to "hidden", "width" to "48%", "marginBottom" to 12, "position" to "relative")), "item-selector" to _pS(_uM("position" to "absolute", "top" to 5, "right" to 5, "zIndex" to 10, "width" to 30, "height" to 30, "borderTopLeftRadius" to 15, "borderTopRightRadius" to 15, "borderBottomRightRadius" to 15, "borderBottomLeftRadius" to 15, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "select-icon" to _uM("" to _uM("width" to 20, "height" to 20, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#cccccc", "borderRightColor" to "#cccccc", "borderBottomColor" to "#cccccc", "borderLeftColor" to "#cccccc", "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "backgroundColor" to "rgba(255,255,255,0.5)", "display" to "flex", "alignItems" to "center", "justifyContent" to "center"), ".selected" to _uM("backgroundColor" to "#007aff", "borderTopColor" to "#007aff", "borderRightColor" to "#007aff", "borderBottomColor" to "#007aff", "borderLeftColor" to "#007aff")), "icon-text" to _pS(_uM("color" to "#ffffff", "fontSize" to 12)), "item-content" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "product-image" to _pS(_uM("width" to "100%", "height" to 170, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginBottom" to 8, "backgroundImage" to "none", "backgroundColor" to "#f5f5f5")), "product-name" to _pS(_uM("fontSize" to 13, "color" to "#333333", "marginBottom" to 5, "lineHeight" to 1.4, "height" to 36, "overflow" to "hidden", "textOverflow" to "ellipsis", "paddingTop" to 0, "paddingRight" to 8, "paddingBottom" to 0, "paddingLeft" to 8)), "product-bottom" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 0, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8)), "product-price" to _pS(_uM("fontSize" to 15, "color" to "#ff5000", "fontWeight" to "bold")), "product-add-btn" to _pS(_uM("width" to 24, "height" to 24, "backgroundColor" to "#ff5000", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "add-icon" to _pS(_uM("color" to "#ffffff", "fontSize" to 16, "fontWeight" to "bold")), "loading-more" to _pS(_uM("paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "textAlign" to "center", "backgroundColor" to "#ffffff")), "no-more" to _pS(_uM("paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "textAlign" to "center", "backgroundColor" to "#ffffff")), "loading-text" to _pS(_uM("color" to "#999999", "fontSize" to 14)), "no-more-text" to _pS(_uM("color" to "#999999", "fontSize" to 14)), "edit-bar" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#e5e5e5", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "display" to "flex", "alignItems" to "center", "justifyContent" to "space-between")), "select-all" to _pS(_uM("display" to "flex", "alignItems" to "center")), "all-select-icon" to _uM("" to _uM("width" to 20, "height" to 20, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#cccccc", "borderRightColor" to "#cccccc", "borderBottomColor" to "#cccccc", "borderLeftColor" to "#cccccc", "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "marginRight" to 10, "display" to "flex", "alignItems" to "center", "justifyContent" to "center"), ".selected" to _uM("backgroundColor" to "#007aff", "borderTopColor" to "#007aff", "borderRightColor" to "#007aff", "borderBottomColor" to "#007aff", "borderLeftColor" to "#007aff")), "select-all-text" to _pS(_uM("fontSize" to 14, "color" to "#333333")), "delete-btn" to _pS(_uM("backgroundColor" to "#ff4757", "paddingTop" to 10, "paddingRight" to 20, "paddingBottom" to 10, "paddingLeft" to 20, "borderTopLeftRadius" to 15, "borderTopRightRadius" to 15, "borderBottomRightRadius" to 15, "borderBottomLeftRadius" to 15)), "delete-text" to _pS(_uM("color" to "#ffffff", "fontSize" to 14, "fontWeight" to "bold"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/logistics.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/logistics.kt deleted file mode 100644 index 6e5153d6..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/logistics.kt +++ /dev/null @@ -1,196 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -open class GenPagesMallConsumerLogistics : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerLogistics) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerLogistics - val _cache = __ins.renderCache - val orderId = ref("") - val productImage = ref("/static/product1.jpg") - val logisticsStatus = ref("暂无物流信息") - val courierName = ref("") - val courierPhone = ref("") - val trackingNo = ref("") - val trackList = ref(_uA()) - val loadLogisticsInfo = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (orderId.value == "") { - return@w1 - } - try { - console.log("[logistics] 开始加载物流信息, orderId:", orderId.value, " at pages/mall/consumer/logistics.uvue:60") - val order = await(supabaseService.getOrderDetail(orderId.value)) - console.log("[logistics] 获取订单结果:", if (order != null) { - "成功" - } else { - "失败" - } - , " at pages/mall/consumer/logistics.uvue:62") - if (order != null) { - val orderStr = JSON.stringify(order) - console.log("[logistics] 订单JSON:", orderStr, " at pages/mall/consumer/logistics.uvue:66") - val orderParsed = UTSAndroid.consoleDebugError(JSON.parse(orderStr), " at pages/mall/consumer/logistics.uvue:67") - if (orderParsed == null) { - console.error("[logistics] 解析订单数据失败", " at pages/mall/consumer/logistics.uvue:69") - return@w1 - } - val orderObj = orderParsed as UTSJSONObject - val trackingNoVal = orderObj.getString("tracking_no") - val carrierNameVal = orderObj.getString("carrier_name") - val shippingStatus = orderObj.getNumber("shipping_status") - console.log("[logistics] tracking_no:", trackingNoVal, " at pages/mall/consumer/logistics.uvue:79") - console.log("[logistics] carrier_name:", carrierNameVal, " at pages/mall/consumer/logistics.uvue:80") - console.log("[logistics] shipping_status:", shippingStatus, " at pages/mall/consumer/logistics.uvue:81") - if (trackingNoVal != null && trackingNoVal != "") { - trackingNo.value = trackingNoVal - } else { - console.log("[logistics] 物流单号为空,订单可能未发货", " at pages/mall/consumer/logistics.uvue:86") - trackingNo.value = "暂无物流单号" - logisticsStatus.value = "商家未填写物流信息" - } - if (carrierNameVal != null && carrierNameVal != "") { - courierName.value = carrierNameVal - if (carrierNameVal.includes("顺丰")) { - courierPhone.value = "95338" - } else if (carrierNameVal.includes("中通")) { - courierPhone.value = "95311" - } else if (carrierNameVal.includes("圆通")) { - courierPhone.value = "95554" - } else if (carrierNameVal.includes("韵达")) { - courierPhone.value = "95546" - } else if (carrierNameVal.includes("申通")) { - courierPhone.value = "95543" - } else { - courierPhone.value = "" - } - } - if (shippingStatus == 2) { - logisticsStatus.value = "已签收" - } else if (shippingStatus == 1) { - logisticsStatus.value = "运输中" - } else { - logisticsStatus.value = "待发货" - } - val itemsRaw = orderObj.get("ml_order_items") - if (itemsRaw != null && UTSArray.isArray(itemsRaw)) { - val items = itemsRaw as UTSArray - if (items.length > 0) { - val firstItem = items[0] - val itemStr = JSON.stringify(firstItem) - val itemParsed = UTSAndroid.consoleDebugError(JSON.parse(itemStr), " at pages/mall/consumer/logistics.uvue:126") - if (itemParsed != null) { - val itemObj = itemParsed as UTSJSONObject - val imgUrl = itemObj.getString("image_url") - if (imgUrl != null && imgUrl != "") { - productImage.value = imgUrl - } - } - } - } - val shippedAt = orderObj.getString("shipped_at") - if (shippedAt != null && shippedAt != "") { - val trackItem = TrackItem(desc = "商家已发货,等待快递揽收", time = shippedAt) - trackList.value.push(trackItem) - } - val deliveredAt = orderObj.getString("delivered_at") - if (deliveredAt != null && deliveredAt != "") { - val trackItem = TrackItem(desc = "快件已签收", time = deliveredAt) - trackList.value.unshift(trackItem) - logisticsStatus.value = "已签收" - } - } - } - catch (e: Throwable) { - console.error("加载物流信息失败:", e, " at pages/mall/consumer/logistics.uvue:159") - } - }) - } - onLoad__1(fun(options){ - if (options == null) { - return - } - val orderIdValue = options["orderId"] - if (orderIdValue != null) { - orderId.value = orderIdValue as String - loadLogisticsInfo() - } - } - ) - onMounted(fun(){}) - return fun(): Any? { - return _cE("view", _uM("class" to "logistics-page"), _uA( - _cE("view", _uM("class" to "logistics-header"), _uA( - _cE("view", _uM("class" to "product-info"), _uA( - _cE("image", _uM("class" to "product-image", "src" to productImage.value, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "info-right"), _uA( - _cE("text", _uM("class" to "status-text"), _tD(logisticsStatus.value), 1), - _cE("text", _uM("class" to "courier-name"), _tD(courierName.value) + ": " + _tD(trackingNo.value), 1), - _cE("text", _uM("class" to "phone-text"), "官方电话: " + _tD(courierPhone.value), 1) - )) - )) - )), - _cE("view", _uM("class" to "logistics-body"), _uA( - _cE("view", _uM("class" to "track-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(trackList.value, fun(item, index, __index, _cached): Any { - return _cE("view", _uM("key" to index, "class" to _nC(_uA( - "track-item", - _uM("first" to (index === 0)) - ))), _uA( - _cE("view", _uM("class" to "node-icon"), _uA( - _cE("view", _uM("class" to "dot")), - if (index !== trackList.value.length - 1) { - _cE("view", _uM("key" to 0, "class" to "line")) - } else { - _cC("v-if", true) - } - )), - _cE("view", _uM("class" to "node-content"), _uA( - _cE("text", _uM("class" to "track-desc"), _tD(item.desc), 1), - _cE("text", _uM("class" to "track-time"), _tD(item.time), 1) - )) - ), 2) - } - ), 128) - )) - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("logistics-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f5f5", "paddingBottom" to 20)), "logistics-header" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "marginBottom" to 10)), "product-info" to _pS(_uM("display" to "flex", "alignItems" to "center")), "product-image" to _pS(_uM("width" to 60, "height" to 60, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "marginRight" to 15, "backgroundColor" to "#eeeeee")), "info-right" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "status-text" to _pS(_uM("fontSize" to 16, "color" to "#ff5000", "fontWeight" to "bold", "marginBottom" to 5)), "courier-name" to _pS(_uM("fontSize" to 14, "color" to "#333333", "marginBottom" to 2)), "phone-text" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "logistics-body" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 20, "paddingRight" to 15, "paddingBottom" to 20, "paddingLeft" to 15)), "track-list" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "track-item" to _pS(_uM("display" to "flex", "position" to "relative", "paddingBottom" to 25, "paddingBottom:last-child" to 0)), "node-icon" to _pS(_uM("width" to 20, "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "marginRight" to 15)), "dot" to _uM("" to _uM("width" to 8, "height" to 8, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4), ".first " to _uM("backgroundColor" to "#ff5000", "width" to 12, "height" to 12, "marginTop" to 4, "boxShadow" to "0 0 0 4px rgba(255, 80, 0, 0.2)")), "line" to _pS(_uM("width" to 1, "backgroundColor" to "#eeeeee", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "marginTop" to 2)), "node-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column")), "track-desc" to _uM("" to _uM("fontSize" to 14, "color" to "#333333", "lineHeight" to 1.5, "marginBottom" to 5), ".first " to _uM("color" to "#ff5000", "fontWeight" to "bold")), "track-time" to _pS(_uM("fontSize" to 12, "color" to "#999999"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/member/index.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/member/index.kt deleted file mode 100644 index 15feaa63..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/member/index.kt +++ /dev/null @@ -1,312 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -open class GenPagesMallConsumerMemberIndex : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerMemberIndex) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerMemberIndex - val _cache = __ins.renderCache - val memberInfo = ref(MemberInfo(member_level = 0, level_name = "普通会员", discount = 1.0, total_spent = 0, next_level = null, progress_percent = 0, manual_level = false)) - val levels = ref(_uA()) - val logs = ref(_uA()) - val logsLoading = ref(false) - val loadMemberInfo = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val result = await(supabaseService.getUserMemberInfo()) - val info = MemberInfo(member_level = result.getNumber("member_level") ?: 0, level_name = result.getString("level_name") ?: "普通会员", discount = result.getNumber("discount") ?: 1.0, total_spent = result.getNumber("total_spent") ?: 0, next_level = null, progress_percent = result.getNumber("progress_percent") ?: 0, manual_level = result.getBoolean("manual_level") ?: false) - val nextLevelRaw = result.get("next_level") - if (nextLevelRaw != null) { - var nextLevelObj: UTSJSONObject? = null - if (nextLevelRaw is UTSJSONObject) { - nextLevelObj = nextLevelRaw as UTSJSONObject - } else { - nextLevelObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(nextLevelRaw)), " at pages/mall/consumer/member/index.uvue:173") as UTSJSONObject - } - val nextLevel = MemberLevel(id = nextLevelObj.getNumber("id") ?: 0, name = nextLevelObj.getString("name") ?: "", min_amount = nextLevelObj.getNumber("min_amount") ?: 0, discount = 1.0, description = null) - info.next_level = nextLevel - } - memberInfo.value = info - } - catch (e: Throwable) { - console.error("加载会员信息失败:", e, " at pages/mall/consumer/member/index.uvue:186") - } - }) - } - val loadLevels = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val result = await(supabaseService.getMemberLevels()) - val parsed: UTSArray = _uA() - run { - var i: Number = 0 - while(i < result.length){ - val item = result[i] - var itemObj: UTSJSONObject? = null - if (item is UTSJSONObject) { - itemObj = item as UTSJSONObject - } else { - itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/member/index.uvue:201") as UTSJSONObject - } - parsed.push(MemberLevel(id = itemObj.getNumber("id") ?: 0, name = itemObj.getString("name") ?: "", min_amount = itemObj.getNumber("min_amount") ?: 0, discount = itemObj.getNumber("discount") ?: 1.0, description = itemObj.getString("description"))) - i++ - } - } - levels.value = parsed - } - catch (e: Throwable) { - console.error("加载会员等级失败:", e, " at pages/mall/consumer/member/index.uvue:215") - } - }) - } - val loadLogs = fun(): UTSPromise { - return wrapUTSPromise(suspend { - logsLoading.value = true - try { - val result = await(supabaseService.getMemberLevelLogs()) - val parsed: UTSArray = _uA() - run { - var i: Number = 0 - while(i < result.length){ - val item = result[i] - var itemObj: UTSJSONObject? = null - if (item is UTSJSONObject) { - itemObj = item as UTSJSONObject - } else { - itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/member/index.uvue:231") as UTSJSONObject - } - parsed.push(LevelLog(id = itemObj.getString("id") ?: "", old_level = itemObj.getNumber("old_level") ?: 0, new_level = itemObj.getNumber("new_level") ?: 0, reason = itemObj.getString("reason"), created_at = itemObj.getString("created_at") ?: "")) - i++ - } - } - logs.value = parsed - } - catch (e: Throwable) { - console.error("加载变更记录失败:", e, " at pages/mall/consumer/member/index.uvue:245") - } - finally { - logsLoading.value = false - } - }) - } - val getDiscountText = fun(discount: Number): String { - if (discount >= 1) { - return "无折扣" - } - return Math.round(discount * 100) / 10 + "折" - } - val getNextLevelName = fun(): String { - if (memberInfo.value.next_level != null) { - return memberInfo.value.next_level!!.name - } - return "" - } - val getNextLevelMinAmount = fun(): Number { - if (memberInfo.value.next_level != null) { - return memberInfo.value.next_level!!.min_amount - } - return 0 - } - val getRemainingAmount = fun(): Number { - if (memberInfo.value.next_level != null) { - return memberInfo.value.next_level!!.min_amount - memberInfo.value.total_spent - } - return 0 - } - val getLevelName = fun(level: Number): String { - run { - var i: Number = 0 - while(i < levels.value.length){ - if (levels.value[i].id === level) { - return levels.value[i].name - } - i++ - } - } - return "普通会员" - } - val formatDate = fun(dateStr: String): String { - if (dateStr === "") { - return "" - } - val date = Date(dateStr) - val y = date.getFullYear() - val m = (date.getMonth() + 1).toString(10).padStart(2, "0") - val d = date.getDate().toString(10).padStart(2, "0") - return "" + y + "-" + m + "-" + d - } - onMounted(fun(){ - loadMemberInfo() - loadLevels() - loadLogs() - } - ) - return fun(): Any? { - return _cE("scroll-view", _uM("class" to "member-page", "scroll-y" to ""), _uA( - _cE("view", _uM("class" to "member-header"), _uA( - _cE("view", _uM("class" to "member-info"), _uA( - _cE("view", _uM("class" to _nC(_uA( - "level-badge", - "level-" + memberInfo.value.member_level - ))), _uA( - _cE("text", _uM("class" to "level-name"), _tD(memberInfo.value.level_name), 1) - ), 2), - _cE("view", _uM("class" to "discount-info"), _uA( - _cE("text", _uM("class" to "discount-value"), _tD(getDiscountText(memberInfo.value.discount)), 1), - _cE("text", _uM("class" to "discount-label"), "会员折扣") - )) - )) - )), - if (memberInfo.value.next_level != null) { - _cE("view", _uM("key" to 0, "class" to "progress-section"), _uA( - _cE("view", _uM("class" to "progress-header"), _uA( - _cE("text", _uM("class" to "progress-title"), "距离" + _tD(getNextLevelName()) + "还需", 1), - _cE("text", _uM("class" to "progress-amount"), _tD(getRemainingAmount()) + "元", 1) - )), - _cE("view", _uM("class" to "progress-bar"), _uA( - _cE("view", _uM("class" to "progress-fill", "style" to _nS(_uM("width" to (memberInfo.value.progress_percent + "%")))), null, 4) - )), - _cE("view", _uM("class" to "progress-footer"), _uA( - _cE("text", _uM("class" to "current-amount"), "已消费 " + _tD(memberInfo.value.total_spent) + "元", 1), - _cE("text", _uM("class" to "target-amount"), "目标 " + _tD(getNextLevelMinAmount()) + "元", 1) - )) - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "levels-section"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("text", _uM("class" to "section-title"), "会员等级") - )), - _cE("view", _uM("class" to "level-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(levels.value, fun(level, __key, __index, _cached): Any { - return _cE("view", _uM("class" to _nC(_uA( - "level-item", - _uM("current" to (level.id === memberInfo.value.member_level)) - )), "key" to level.id), _uA( - _cE("view", _uM("class" to "level-left"), _uA( - _cE("view", _uM("class" to _nC(_uA( - "level-icon", - "level-bg-" + level.id - ))), _uA( - _cE("text", _uM("class" to "icon-text"), _tD(level.name.charAt(0)), 1) - ), 2), - _cE("view", _uM("class" to "level-detail"), _uA( - _cE("text", _uM("class" to "level-title"), _tD(level.name), 1), - _cE("text", _uM("class" to "level-condition"), _tD(if (level.description != null && level.description != "") { - level.description - } else { - ("累计消费" + level.min_amount + "元") - } - ), 1) - )) - )), - _cE("view", _uM("class" to "level-right"), _uA( - _cE("text", _uM("class" to "level-discount"), _tD(getDiscountText(level.discount)), 1), - if (level.id === memberInfo.value.member_level) { - _cE("view", _uM("key" to 0, "class" to "current-tag"), _uA( - _cE("text", _uM("class" to "tag-text"), "当前") - )) - } else { - _cC("v-if", true) - } - )) - ), 2) - } - ), 128) - )) - )), - _cE("view", _uM("class" to "benefits-section"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("text", _uM("class" to "section-title"), "会员权益") - )), - _cE("view", _uM("class" to "benefit-list"), _uA( - _cE("view", _uM("class" to "benefit-item"), _uA( - _cE("text", _uM("class" to "benefit-icon"), "💰"), - _cE("text", _uM("class" to "benefit-text"), "专属折扣价格") - )), - _cE("view", _uM("class" to "benefit-item"), _uA( - _cE("text", _uM("class" to "benefit-icon"), "🎁"), - _cE("text", _uM("class" to "benefit-text"), "生日专属优惠") - )), - _cE("view", _uM("class" to "benefit-item"), _uA( - _cE("text", _uM("class" to "benefit-icon"), "🚀"), - _cE("text", _uM("class" to "benefit-text"), "优先发货权益") - )), - _cE("view", _uM("class" to "benefit-item"), _uA( - _cE("text", _uM("class" to "benefit-icon"), "📞"), - _cE("text", _uM("class" to "benefit-text"), "专属客服通道") - )) - )) - )), - _cE("view", _uM("class" to "logs-section"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("text", _uM("class" to "section-title"), "等级变更记录") - )), - if (isTrue(logsLoading.value)) { - _cE("view", _uM("key" to 0, "class" to "loading-state"), _uA( - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - if (logs.value.length === 0) { - _cE("view", _uM("key" to 1, "class" to "empty-state"), _uA( - _cE("text", _uM("class" to "empty-text"), "暂无变更记录") - )) - } else { - _cE("view", _uM("key" to 2, "class" to "log-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(logs.value, fun(log, __key, __index, _cached): Any { - return _cE("view", _uM("class" to "log-item", "key" to log.id), _uA( - _cE("view", _uM("class" to "log-left"), _uA( - _cE("text", _uM("class" to "log-change"), _tD(getLevelName(log.old_level)) + " → " + _tD(getLevelName(log.new_level)), 1), - _cE("text", _uM("class" to "log-reason"), _tD(if (log.reason != null && log.reason != "") { - log.reason - } else { - "系统升级" - } - ), 1) - )), - _cE("text", _uM("class" to "log-time"), _tD(formatDate(log.created_at)), 1) - )) - } - ), 128) - )) - } - } - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("member-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to "100%", "backgroundColor" to "#f5f5f5")), "member-header" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #667eea 0%, #764ba2 100%)", "backgroundColor" to "rgba(0,0,0,0)", "paddingTop" to 30, "paddingRight" to 20, "paddingBottom" to 30, "paddingLeft" to 20, "display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "member-info" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "level-badge" to _uM("" to _uM("paddingTop" to 8, "paddingRight" to 24, "paddingBottom" to 8, "paddingLeft" to 24, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "marginBottom" to 16), ".level-0" to _uM("backgroundColor" to "rgba(255,255,255,0.3)"), ".level-1" to _uM("backgroundImage" to "linear-gradient(135deg, #cd7f32 0%, #daa520 100%)", "backgroundColor" to "rgba(0,0,0,0)"), ".level-2" to _uM("backgroundImage" to "linear-gradient(135deg, #c0c0c0 0%, #e8e8e8 100%)", "backgroundColor" to "rgba(0,0,0,0)"), ".level-3" to _uM("backgroundImage" to "linear-gradient(135deg, #ffd700 0%, #ffec8b 100%)", "backgroundColor" to "rgba(0,0,0,0)"), ".level-4" to _uM("backgroundImage" to "linear-gradient(135deg, #b9f2ff 0%, #89cff0 100%)", "backgroundColor" to "rgba(0,0,0,0)"), ".level-5" to _uM("backgroundImage" to "linear-gradient(135deg, #ff6b6b 0%, #ff8e8e 100%)", "backgroundColor" to "rgba(0,0,0,0)")), "level-name" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#FFFFFF")), "discount-info" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "discount-value" to _pS(_uM("fontSize" to 36, "fontWeight" to "bold", "color" to "#FFFFFF")), "discount-label" to _pS(_uM("fontSize" to 14, "color" to "rgba(255,255,255,0.8)", "marginTop" to 4)), "progress-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "marginTop" to 12, "marginRight" to 12, "marginBottom" to 12, "marginLeft" to 12, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12)), "progress-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 12)), "progress-title" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "progress-amount" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#667eea")), "progress-bar" to _pS(_uM("height" to 8, "backgroundColor" to "#f0f0f0", "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "overflow" to "hidden")), "progress-fill" to _pS(_uM("height" to "100%", "backgroundImage" to "linear-gradient(90deg, #667eea 0%, #764ba2 100%)", "backgroundColor" to "rgba(0,0,0,0)", "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4)), "progress-footer" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "marginTop" to 8)), "current-amount" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "target-amount" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "levels-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "marginTop" to 12, "marginRight" to 12, "marginBottom" to 12, "marginLeft" to 12, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "overflow" to "hidden")), "section-header" to _pS(_uM("paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f0f0f0")), "section-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "level-list" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "level-item" to _uM("" to _uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f9f9f9"), ".current" to _uM("backgroundColor" to "#f8f5ff")), "level-left" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "level-icon" to _pS(_uM("width" to 40, "height" to 40, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "marginRight" to 12)), "level-bg-0" to _pS(_uM("backgroundColor" to "#f0f0f0")), "level-bg-1" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #cd7f32 0%, #daa520 100%)", "backgroundColor" to "rgba(0,0,0,0)")), "level-bg-2" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #c0c0c0 0%, #e8e8e8 100%)", "backgroundColor" to "rgba(0,0,0,0)")), "level-bg-3" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #ffd700 0%, #ffec8b 100%)", "backgroundColor" to "rgba(0,0,0,0)")), "level-bg-4" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #b9f2ff 0%, #89cff0 100%)", "backgroundColor" to "rgba(0,0,0,0)")), "level-bg-5" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #ff6b6b 0%, #ff8e8e 100%)", "backgroundColor" to "rgba(0,0,0,0)")), "icon-text" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#FFFFFF")), "level-detail" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "level-title" to _pS(_uM("fontSize" to 15, "fontWeight" to "bold", "color" to "#333333")), "level-condition" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginTop" to 2)), "level-right" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "flex-end")), "level-discount" to _pS(_uM("fontSize" to 14, "fontWeight" to "bold", "color" to "#667eea")), "current-tag" to _pS(_uM("backgroundColor" to "#667eea", "paddingTop" to 2, "paddingRight" to 8, "paddingBottom" to 2, "paddingLeft" to 8, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "marginTop" to 4)), "tag-text" to _pS(_uM("fontSize" to 10, "color" to "#FFFFFF")), "benefits-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "marginTop" to 12, "marginRight" to 12, "marginBottom" to 12, "marginLeft" to 12, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12)), "benefit-list" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "paddingTop" to 8, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8)), "benefit-item" to _pS(_uM("width" to "50%", "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "paddingTop" to 12, "paddingRight" to 8, "paddingBottom" to 12, "paddingLeft" to 8)), "benefit-icon" to _pS(_uM("fontSize" to 20, "marginRight" to 8)), "benefit-text" to _pS(_uM("fontSize" to 13, "color" to "#666666")), "logs-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "marginTop" to 12, "marginRight" to 12, "marginBottom" to 12, "marginLeft" to 12, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12)), "loading-state" to _pS(_uM("paddingTop" to 30, "paddingRight" to 0, "paddingBottom" to 30, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "loading-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "empty-state" to _pS(_uM("paddingTop" to 30, "paddingRight" to 0, "paddingBottom" to 30, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "empty-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "log-list" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "log-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 12, "paddingRight" to 16, "paddingBottom" to 12, "paddingLeft" to 16, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f9f9f9")), "log-left" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "log-change" to _pS(_uM("fontSize" to 14, "color" to "#333333")), "log-reason" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginTop" to 2)), "log-time" to _pS(_uM("fontSize" to 12, "color" to "#999999"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/message-detail.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/message-detail.kt deleted file mode 100644 index dde8dcd9..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/message-detail.kt +++ /dev/null @@ -1,205 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.setClipboardData as uni_setClipboardData -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerMessageDetail : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerMessageDetail) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerMessageDetail - val _cache = __ins.renderCache - val message = ref(MessageType(id = "", type = "", title = "", content = "", icon_url = null, link_url = null, extra_data = null, created_at = "")) - val extraInfo = ref(_uA()) - val formatLabel = fun(key: String): String { - if (key === "share_code") { - return "分享码" - } - if (key === "product_name") { - return "商品名称" - } - if (key === "reward_amount") { - return "奖励金额" - } - if (key === "order_no") { - return "订单号" - } - if (key === "buyer_name") { - return "购买者" - } - if (key === "quantity") { - return "数量" - } - return key - } - val parseExtraData = fun(data: Any){ - extraInfo.value = _uA() - if (data == null) { - return - } - try { - var dataObj: UTSJSONObject? = null - if (UTSAndroid.`typeof`(data) === "string") { - val parsed = UTSAndroid.consoleDebugError(JSON.parse(data as String), " at pages/mall/consumer/message-detail.uvue:82") - if (parsed != null) { - dataObj = parsed as UTSJSONObject - } - } else if (data is UTSJSONObject) { - dataObj = data as UTSJSONObject - } else { - dataObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(data)), " at pages/mall/consumer/message-detail.uvue:89") as UTSJSONObject - } - if (dataObj != null) { - val keys = UTSJSONObject.keys(dataObj) - run { - var i: Number = 0 - while(i < keys.length){ - val key = keys[i] as String - val value = dataObj.get(key) - if (value != null) { - val item = ExtraInfoItem(label = formatLabel(key), value = "" + value) - extraInfo.value.push(item) - } - i++ - } - } - } - } - catch (e: Throwable) { - console.error("解析extra_data失败:", e, " at pages/mall/consumer/message-detail.uvue:107") - } - } - val loadMessage = fun(id: String): UTSPromise { - return wrapUTSPromise(suspend { - try { - val notifications = await(supabaseService.getUserNotifications(null)) - val found = notifications.find(fun(n): Boolean { - return n.id === id - } - ) - if (found != null) { - val extraData = found.extra_data - val msg = MessageType(id = found.id, type = found.type, title = found.title, content = found.content, icon_url = found.icon_url, link_url = found.link_url, extra_data = extraData, created_at = found.created_at ?: "") - message.value = msg - if (extraData != null) { - parseExtraData(extraData) - } - } - } - catch (e: Throwable) { - console.error("加载消息失败:", e, " at pages/mall/consumer/message-detail.uvue:135") - } - }) - } - val formatTime = fun(timeStr: String): String { - if (timeStr == null || timeStr === "") { - return "" - } - val date = Date(timeStr) - val y = date.getFullYear() - val m = (date.getMonth() + 1).toString(10).padStart(2, "0") - val d = date.getDate().toString(10).padStart(2, "0") - val hh = date.getHours().toString(10).padStart(2, "0") - val mm = date.getMinutes().toString(10).padStart(2, "0") - return "" + y + "-" + m + "-" + d + " " + hh + ":" + mm - } - val goToLink = fun(){ - val url = message.value.link_url - if (url != null && url !== "") { - if (url.startsWith("/pages/")) { - uni_navigateTo(NavigateToOptions(url = url)) - } else { - uni_setClipboardData(SetClipboardDataOptions(data = url, success = fun(_){ - uni_showToast(ShowToastOptions(title = "链接已复制", icon = "success")) - } - )) - } - } - } - onLoad__1(fun(options){ - if (options != null) { - val idVal = options["id"] - if (idVal != null) { - loadMessage(idVal as String) - } - } - } - ) - return fun(): Any? { - return _cE("scroll-view", _uM("class" to "message-detail-page", "scroll-y" to ""), _uA( - _cE("view", _uM("class" to "message-header"), _uA( - _cE("text", _uM("class" to "message-title"), _tD(message.value.title), 1), - _cE("text", _uM("class" to "message-time"), _tD(formatTime(message.value.created_at)), 1) - )), - _cE("view", _uM("class" to "message-content"), _uA( - _cE("text", _uM("class" to "content-text"), _tD(message.value.content), 1) - )), - if (isTrue(message.value.link_url)) { - _cE("view", _uM("key" to 0, "class" to "message-action", "onClick" to goToLink), _uA( - _cE("text", _uM("class" to "action-text"), "查看详情"), - _cE("text", _uM("class" to "action-arrow"), "›") - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(message.value.icon_url)) { - _cE("view", _uM("key" to 1, "class" to "message-image"), _uA( - _cE("image", _uM("src" to message.value.icon_url, "mode" to "widthFix", "class" to "icon-image"), null, 8, _uA( - "src" - )) - )) - } else { - _cC("v-if", true) - } - , - if (extraInfo.value.length > 0) { - _cE("view", _uM("key" to 2, "class" to "extra-info"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(extraInfo.value, fun(item, index, __index, _cached): Any { - return _cE("view", _uM("key" to index, "class" to "extra-item"), _uA( - _cE("text", _uM("class" to "extra-label"), _tD(item.label), 1), - _cE("text", _uM("class" to "extra-value"), _tD(item.value), 1) - )) - }), 128) - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("message-detail-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to "100%", "backgroundColor" to "#f5f5f5")), "message-header" to _pS(_uM("backgroundColor" to "#FFFFFF", "paddingTop" to 20, "paddingRight" to 16, "paddingBottom" to 20, "paddingLeft" to 16, "marginBottom" to 8)), "message-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333", "display" to "flex", "marginBottom" to 10)), "message-time" to _pS(_uM("fontSize" to 13, "color" to "#999999")), "message-content" to _pS(_uM("backgroundColor" to "#FFFFFF", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "marginBottom" to 8)), "content-text" to _pS(_uM("fontSize" to 15, "color" to "#333333", "lineHeight" to 1.8)), "message-action" to _pS(_uM("backgroundColor" to "#FFFFFF", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "marginBottom" to 8, "display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center")), "action-text" to _pS(_uM("fontSize" to 15, "color" to "#ff6b35")), "action-arrow" to _pS(_uM("fontSize" to 18, "color" to "#cccccc")), "message-image" to _pS(_uM("backgroundColor" to "#FFFFFF", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "marginBottom" to 8)), "icon-image" to _pS(_uM("width" to "100%", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8)), "extra-info" to _pS(_uM("backgroundColor" to "#FFFFFF", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16)), "extra-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "paddingTop" to 10, "paddingRight" to 0, "paddingBottom" to 10, "paddingLeft" to 0, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5", "borderBottomWidth:last-child" to "medium", "borderBottomStyle:last-child" to "none", "borderBottomColor:last-child" to "#000000")), "extra-label" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "extra-value" to _pS(_uM("fontSize" to 14, "color" to "#333333"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/my-reviews.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/my-reviews.kt deleted file mode 100644 index 3d9509fd..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/my-reviews.kt +++ /dev/null @@ -1,436 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.previewImage as uni_previewImage -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerMyReviews : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerMyReviews) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerMyReviews - val _cache = __ins.renderCache - val activeTab = ref("published") - val reviews = ref(_uA()) - val pendingItems = ref(_uA()) - val loading = ref(true) - val showAppendModal = ref(false) - val appendContent = ref("") - val selectedReview = ref(null) - val defaultImage: String = "/static/images/default-product.png" - val loadReviews = fun(): UTSPromise { - return wrapUTSPromise(suspend { - loading.value = true - try { - val result = await(supabaseService.getMyReviews()) - val parsed: UTSArray = _uA() - run { - var i: Number = 0 - while(i < result.length){ - val item = result[i] - var reviewObj: UTSJSONObject - if (item is UTSJSONObject) { - reviewObj = item as UTSJSONObject - } else { - reviewObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/my-reviews.uvue:180") as UTSJSONObject - } - var images: UTSArray = _uA() - val imagesRaw = reviewObj.get("images") - if (imagesRaw != null && UTSAndroid.`typeof`(imagesRaw) === "string") { - try { - val parsedImages = UTSAndroid.consoleDebugError(JSON.parse(imagesRaw as String), " at pages/mall/consumer/my-reviews.uvue:187") - if (UTSArray.isArray(parsedImages)) { - images = parsedImages as UTSArray - } - } - catch (e: Throwable) { - console.error("解析图片失败:", e, " at pages/mall/consumer/my-reviews.uvue:192") - } - } - val review = MyReviewItem(id = reviewObj.getString("id") ?: "", product_id = reviewObj.getString("product_id") ?: "", product_name = reviewObj.getString("product_name") ?: "", product_image = reviewObj.getString("product_image") ?: "", rating = reviewObj.getNumber("rating") ?: 5, content = reviewObj.getString("content") ?: "", images = images, append_content = reviewObj.getString("append_content"), can_append = reviewObj.getBoolean("can_append") ?: false, can_edit = reviewObj.getBoolean("can_edit") ?: false, created_at = reviewObj.getString("created_at") ?: "") - parsed.push(review) - i++ - } - } - reviews.value = parsed - } - catch (e: Throwable) { - console.error("加载评价失败:", e, " at pages/mall/consumer/my-reviews.uvue:214") - } - finally { - loading.value = false - } - }) - } - val loadPendingItems = fun(): UTSPromise { - return wrapUTSPromise(suspend { - loading.value = true - try { - val orders = await(supabaseService.getOrders(4)) - val pending: UTSArray = _uA() - run { - var i: Number = 0 - while(i < orders.length){ - val order = orders[i] - var orderObj: UTSJSONObject - if (order is UTSJSONObject) { - orderObj = order as UTSJSONObject - } else { - orderObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(order)), " at pages/mall/consumer/my-reviews.uvue:232") as UTSJSONObject - } - val orderId = orderObj.getString("id") ?: "" - val itemsRaw = orderObj.get("items") - if (itemsRaw != null && UTSArray.isArray(itemsRaw)) { - val items = itemsRaw as UTSArray - run { - var j: Number = 0 - while(j < items.length){ - val orderItem = items[j] - var itemObj: UTSJSONObject - if (orderItem is UTSJSONObject) { - itemObj = orderItem as UTSJSONObject - } else { - itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(orderItem)), " at pages/mall/consumer/my-reviews.uvue:246") as UTSJSONObject - } - pending.push(PendingItem(order_id = orderId, product_id = itemObj.getString("product_id") ?: "", product_name = itemObj.getString("product_name") ?: "", product_image = itemObj.getString("product_image") ?: "", order_time = orderObj.getString("created_at") ?: "")) - j++ - } - } - } - i++ - } - } - pendingItems.value = pending - } - catch (e: Throwable) { - console.error("加载待评价商品失败:", e, " at pages/mall/consumer/my-reviews.uvue:262") - } - finally { - loading.value = false - } - }) - } - val switchTab = fun(tab: String): Unit { - activeTab.value = tab - if (tab === "published" && reviews.value.length === 0) { - loadReviews() - } else if (tab === "pending" && pendingItems.value.length === 0) { - loadPendingItems() - } - } - val goToProduct = fun(productId: String): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?id=" + productId)) - } - val goToReview = fun(item: PendingItem): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/review?order_id=" + item.order_id)) - } - val showAppendPopup = fun(review: MyReviewItem): Unit { - selectedReview.value = review - appendContent.value = "" - showAppendModal.value = true - } - val closeAppendPopup = fun(): Unit { - showAppendModal.value = false - selectedReview.value = null - appendContent.value = "" - } - val submitAppend = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (selectedReview.value == null || appendContent.value.trim() === "") { - uni_showToast(ShowToastOptions(title = "请输入评价内容", icon = "none")) - return@w1 - } - uni_showLoading(ShowLoadingOptions(title = "提交中...")) - try { - val success = await(supabaseService.appendReview(selectedReview.value!!.id, appendContent.value.trim(), _uA())) - if (success) { - selectedReview.value!!.append_content = appendContent.value.trim() - selectedReview.value!!.can_append = false - closeAppendPopup() - uni_showToast(ShowToastOptions(title = "追加成功", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "追加失败", icon = "none")) - } - } - catch (e: Throwable) { - console.error("追加评价失败:", e, " at pages/mall/consumer/my-reviews.uvue:325") - uni_showToast(ShowToastOptions(title = "追加失败", icon = "none")) - } - finally { - uni_hideLoading() - } - }) - } - val doDelete = fun(review: MyReviewItem): UTSPromise { - return wrapUTSPromise(suspend { - uni_showLoading(ShowLoadingOptions(title = "删除中...")) - try { - val success = await(supabaseService.deleteReview(review.id)) - if (success) { - val index = reviews.value.indexOf(review) - if (index > -1) { - reviews.value.splice(index, 1) - } - uni_showToast(ShowToastOptions(title = "删除成功", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "删除失败", icon = "none")) - } - } - catch (e: Throwable) { - console.error("删除评价失败:", e, " at pages/mall/consumer/my-reviews.uvue:347") - uni_showToast(ShowToastOptions(title = "删除失败", icon = "none")) - } - finally { - uni_hideLoading() - } - }) - } - val confirmDelete = fun(review: MyReviewItem): Unit { - uni_showModal(ShowModalOptions(title = "提示", content = "确定要删除这条评价吗?", success = fun(res){ - if (res.confirm) { - doDelete(review) - } - } - )) - } - val previewImage = fun(images: UTSArray, index: Number): Unit { - uni_previewImage(PreviewImageOptions(urls = images, current = index)) - } - val formatTime = fun(timeStr: String?): String { - if (timeStr == null || timeStr === "") { - return "" - } - val date = Date(timeStr) - val y = date.getFullYear() - val m = (date.getMonth() + 1).toString(10).padStart(2, "0") - val d = date.getDate().toString(10).padStart(2, "0") - return "" + y + "-" + m + "-" + d - } - onMounted(fun(){ - loadReviews() - } - ) - return fun(): Any? { - return _cE("view", _uM("class" to "my-reviews-page"), _uA( - _cE("view", _uM("class" to "tabs"), _uA( - _cE("view", _uM("class" to _nC(_uA( - "tab-item", - _uM("active" to (activeTab.value === "published")) - )), "onClick" to fun(){ - switchTab("published") - } - ), _uA( - _cE("text", _uM("class" to "tab-text"), "已评价") - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "tab-item", - _uM("active" to (activeTab.value === "pending")) - )), "onClick" to fun(){ - switchTab("pending") - } - ), _uA( - _cE("text", _uM("class" to "tab-text"), "待评价") - ), 10, _uA( - "onClick" - )) - )), - if (activeTab.value === "published") { - _cE("view", _uM("key" to 0, "class" to "review-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(reviews.value, fun(review, __key, __index, _cached): Any { - return _cE("view", _uM("class" to "review-item", "key" to review.id), _uA( - _cE("view", _uM("class" to "product-info", "onClick" to fun(){ - goToProduct(review.product_id) - }), _uA( - _cE("image", _uM("class" to "product-image", "src" to if (review.product_image.length > 0) { - review.product_image - } else { - defaultImage - }, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "product-detail"), _uA( - _cE("text", _uM("class" to "product-name"), _tD(review.product_name), 1), - _cE("view", _uM("class" to "rating-row"), _uA( - _cE("view", _uM("class" to "rating-stars"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(5, fun(star, __key, __index, _cached): Any { - return _cE("text", _uM("key" to star, "class" to _nC(_uA( - "star", - _uM("filled" to (star <= review.rating)) - ))), "★", 2) - }), 64) - )), - _cE("text", _uM("class" to "review-time"), _tD(formatTime(review.created_at)), 1) - )) - )) - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "review-content"), _uA( - _cE("text", _uM("class" to "review-text"), _tD(review.content), 1) - )), - if (review.images.length > 0) { - _cE("view", _uM("key" to 0, "class" to "review-images"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(review.images.slice(0, 4), fun(img, idx, __index, _cached): Any { - return _cE("image", _uM("key" to idx, "class" to "review-image", "src" to img, "mode" to "aspectFill", "onClick" to fun(){ - previewImage(review.images, idx) - }), null, 8, _uA( - "src", - "onClick" - )) - }), 128) - )) - } else { - _cC("v-if", true) - }, - if (isTrue(review.append_content)) { - _cE("view", _uM("key" to 1, "class" to "review-append"), _uA( - _cE("text", _uM("class" to "append-label"), "追评:"), - _cE("text", _uM("class" to "append-text"), _tD(review.append_content), 1) - )) - } else { - _cC("v-if", true) - }, - _cE("view", _uM("class" to "review-actions"), _uA( - if (isTrue(review.can_append)) { - _cE("view", _uM("key" to 0, "class" to "action-btn append", "onClick" to fun(){ - showAppendPopup(review) - }), _uA( - _cE("text", _uM("class" to "action-text"), "追加评价") - ), 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - }, - _cE("view", _uM("class" to "action-btn delete", "onClick" to fun(){ - confirmDelete(review) - }), _uA( - _cE("text", _uM("class" to "action-text"), "删除") - ), 8, _uA( - "onClick" - )) - )) - )) - }), 128) - )) - } else { - _cC("v-if", true) - } - , - if (activeTab.value === "pending") { - _cE("view", _uM("key" to 1, "class" to "pending-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(pendingItems.value, fun(item, __key, __index, _cached): Any { - return _cE("view", _uM("class" to "pending-item", "key" to item.order_id), _uA( - _cE("view", _uM("class" to "product-info"), _uA( - _cE("image", _uM("class" to "product-image", "src" to if (item.product_image.length > 0) { - item.product_image - } else { - defaultImage - }, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "product-detail"), _uA( - _cE("text", _uM("class" to "product-name"), _tD(item.product_name), 1), - _cE("text", _uM("class" to "order-time"), "下单时间:" + _tD(formatTime(item.order_time)), 1) - )) - )), - _cE("view", _uM("class" to "pending-actions"), _uA( - _cE("button", _uM("class" to "review-btn", "onClick" to fun(){ - goToReview(item) - }), "去评价", 8, _uA( - "onClick" - )) - )) - )) - }), 128) - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(!loading.value && ((activeTab.value === "published" && reviews.value.length === 0) || (activeTab.value === "pending" && pendingItems.value.length === 0)))) { - _cE("view", _uM("key" to 2, "class" to "empty-state"), _uA( - _cE("text", _uM("class" to "empty-text"), _tD(if (activeTab.value === "published") { - "暂无评价记录" - } else { - "暂无待评价商品" - }), 1) - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(loading.value)) { - _cE("view", _uM("key" to 3, "class" to "loading-state"), _uA( - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(showAppendModal.value)) { - _cE("view", _uM("key" to 4, "class" to "append-popup", "onClick" to closeAppendPopup), _uA( - _cE("view", _uM("class" to "popup-content", "onClick" to withModifiers(fun(){}, _uA( - "stop" - ))), _uA( - _cE("view", _uM("class" to "popup-header"), _uA( - _cE("text", _uM("class" to "popup-title"), "追加评价"), - _cE("text", _uM("class" to "popup-close", "onClick" to closeAppendPopup), "×") - )), - _cE("textarea", _uM("class" to "append-input", "modelValue" to appendContent.value, "onInput" to fun(`$event`: UniInputEvent){ - appendContent.value = `$event`.detail.value - }, "placeholder" to "请输入追加评价内容", "maxlength" to 500), null, 40, _uA( - "modelValue", - "onInput" - )), - _cE("view", _uM("class" to "popup-footer"), _uA( - _cE("button", _uM("class" to "cancel-btn", "onClick" to closeAppendPopup), "取消"), - _cE("button", _uM("class" to "submit-btn", "onClick" to submitAppend), "提交") - )) - ), 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("my-reviews-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f5f5")), "tabs" to _pS(_uM("display" to "flex", "flexDirection" to "row", "backgroundColor" to "#FFFFFF")), "tab-item" to _uM("" to _uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "paddingTop" to 14, "paddingRight" to 0, "paddingBottom" to 14, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "borderBottomWidth" to 2, "borderBottomStyle" to "solid", "borderBottomColor" to "rgba(0,0,0,0)"), ".active" to _uM("borderBottomColor" to "#ff6b35")), "tab-text" to _uM("" to _uM("fontSize" to 15, "color" to "#666666"), ".tab-item.active " to _uM("color" to "#ff6b35", "fontWeight" to "bold")), "review-list" to _pS(_uM("paddingTop" to 8, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8)), "review-item" to _pS(_uM("backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "marginBottom" to 8)), "product-info" to _pS(_uM("display" to "flex", "flexDirection" to "row")), "product-image" to _pS(_uM("width" to 60, "height" to 60, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4)), "product-detail" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "marginLeft" to 10, "display" to "flex", "flexDirection" to "column", "justifyContent" to "center")), "product-name" to _pS(_uM("fontSize" to 14, "color" to "#333333", "lines" to 2, "textOverflow" to "ellipsis")), "rating-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginTop" to 6)), "rating-stars" to _pS(_uM("display" to "flex", "flexDirection" to "row")), "star" to _uM("" to _uM("fontSize" to 12, "color" to "#dddddd"), ".filled" to _uM("color" to "#ff6b35")), "review-time" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "review-content" to _pS(_uM("marginTop" to 10)), "review-text" to _pS(_uM("fontSize" to 14, "color" to "#333333", "lineHeight" to "20px")), "review-images" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "marginTop" to 10)), "review-image" to _pS(_uM("width" to 70, "height" to 70, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "marginRight" to 8, "marginBottom" to 8)), "review-append" to _pS(_uM("backgroundColor" to "#f9f9f9", "paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "marginTop" to 10)), "append-label" to _pS(_uM("fontSize" to 12, "color" to "#ff6b35")), "append-text" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "review-actions" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "flex-end", "marginTop" to 10, "paddingTop" to 10, "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#f0f0f0")), "action-btn" to _uM("" to _uM("paddingTop" to 6, "paddingRight" to 16, "paddingBottom" to 6, "paddingLeft" to 16, "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "marginLeft" to 10), ".append" to _uM("backgroundColor" to "#fff5f0"), ".delete" to _uM("backgroundColor" to "#f5f5f5")), "action-text" to _uM(".action-btn.append " to _uM("color" to "#ff6b35"), ".action-btn.delete " to _uM("color" to "#999999"), "" to _uM("fontSize" to 13)), "pending-list" to _pS(_uM("paddingTop" to 8, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8)), "pending-item" to _pS(_uM("backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "marginBottom" to 8)), "pending-actions" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "flex-end", "marginTop" to 10, "paddingTop" to 10, "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#f0f0f0")), "review-btn" to _pS(_uM("backgroundColor" to "#ff6b35", "color" to "#FFFFFF", "fontSize" to 14, "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "paddingTop" to 0, "paddingRight" to 20, "paddingBottom" to 0, "paddingLeft" to 20, "height" to 32, "lineHeight" to "32px")), "order-time" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginTop" to 4)), "empty-state" to _pS(_uM("paddingTop" to 60, "paddingRight" to 0, "paddingBottom" to 60, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "empty-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "loading-state" to _pS(_uM("paddingTop" to 30, "paddingRight" to 0, "paddingBottom" to 30, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "loading-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "append-popup" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "rgba(0,0,0,0.5)", "display" to "flex", "alignItems" to "flex-end", "justifyContent" to "center", "zIndex" to 1000)), "popup-content" to _pS(_uM("backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 0, "borderBottomLeftRadius" to 0, "width" to "100%", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16)), "popup-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 16)), "popup-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333")), "popup-close" to _pS(_uM("fontSize" to 24, "color" to "#999999")), "append-input" to _pS(_uM("width" to "100%", "height" to 120, "backgroundColor" to "#f9f9f9", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "fontSize" to 14)), "popup-footer" to _pS(_uM("display" to "flex", "flexDirection" to "row", "marginTop" to 16)), "cancel-btn" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f5f5", "color" to "#666666", "fontSize" to 16, "borderTopLeftRadius" to 24, "borderTopRightRadius" to 24, "borderBottomRightRadius" to 24, "borderBottomLeftRadius" to 24, "height" to 44, "lineHeight" to "44px", "marginRight" to 10)), "submit-btn" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#ff6b35", "color" to "#FFFFFF", "fontSize" to 16, "borderTopLeftRadius" to 24, "borderTopRightRadius" to 24, "borderBottomRightRadius" to 24, "borderBottomLeftRadius" to 24, "height" to 44, "lineHeight" to "44px"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/order-detail.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/order-detail.kt deleted file mode 100644 index 47dfeaca..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/order-detail.kt +++ /dev/null @@ -1,818 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.makePhoneCall as uni_makePhoneCall -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.framework.onBackPress as onBackPress__1 -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.redirectTo as uni_redirectTo -import io.dcloud.uniapp.extapi.setClipboardData as uni_setClipboardData -import io.dcloud.uniapp.extapi.showActionSheet as uni_showActionSheet -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMallConsumerOrderDetail : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerOrderDetail) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerOrderDetail - val _cache = __ins.renderCache - val orderId = ref("") - val order = ref(null) - val orderItems = ref(_uA()) - val shopName = ref("店铺名称") - val deliveryAddress = ref(null) - val deliveryInfo = ref(null) - val getStatusText = fun(): String { - val status = order.value?.order_status ?: 0 - if (status == 1) { - return "待付款" - } - if (status == 2) { - return "待发货" - } - if (status == 3) { - return "待收货" - } - if (status == 4) { - return "已完成" - } - if (status == 5) { - return "已取消" - } - if (status == 6) { - return "退款中" - } - if (status == 7) { - return "已退款" - } - return "未知状态" - } - val getStatusDesc = fun(): String { - val status = order.value?.order_status ?: 0 - if (status == 1) { - return "请尽快完成支付" - } - if (status == 2) { - return "商家正在打包商品" - } - if (status == 3) { - return "商品正在赶往您的地址" - } - if (status == 4) { - return "订单已完成,感谢支持" - } - if (status == 5) { - return "订单已取消" - } - if (status == 6) { - return "售后处理中" - } - if (status == 7) { - return "钱款已退回" - } - return "" - } - val getStatusIcon = fun(): String { - val status = order.value?.order_status ?: 0 - if (status === 1) { - return "💳" - } - if (status === 2) { - return "📦" - } - if (status === 3) { - return "🚚" - } - if (status === 4) { - return "✅" - } - return "📝" - } - val getStatusClass = fun(): String { - val status = order.value?.order_status ?: 0 - return "status-" + status - } - val getFullAddress = fun(addr: Any): String { - if (addr == null) { - return "" - } - if (UTSAndroid.`typeof`(addr) === "string") { - return addr as String - } - try { - val addrObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(addr)), " at pages/mall/consumer/order-detail.uvue:268") as UTSJSONObject - val addressField = addrObj.getString("address") - if (addressField != null && addressField != "") { - return addressField - } - val province = addrObj.getString("province") ?: "" - val city = addrObj.getString("city") ?: "" - val district = addrObj.getString("district") ?: "" - val detail = addrObj.getString("detail") ?: addrObj.getString("address_detail") ?: "" - return province + city + district + detail - } - catch (e: Throwable) { - console.error("[getFullAddress] 解析地址失败:", e, " at pages/mall/consumer/order-detail.uvue:278") - return "" - } - } - fun gen_formatSpecs_fn(specs: Any): String { - if (specs == null) { - return "" - } - if (UTSAndroid.`typeof`(specs) === "string") { - if (specs as String == "") { - return "" - } - try { - val parsed = UTSAndroid.consoleDebugError(JSON.parse(specs as String), " at pages/mall/consumer/order-detail.uvue:288") - if (parsed != null) { - return gen_formatSpecs_fn(parsed) - } - return specs as String - } - catch (e: Throwable) { - return specs as String - } - } - try { - val specStr = JSON.stringify(specs) - val specObj = UTSAndroid.consoleDebugError(JSON.parse(specStr), " at pages/mall/consumer/order-detail.uvue:300") as UTSJSONObject - val keys = _uA( - "Color", - "Size", - "颜色", - "尺寸", - "规格", - "默认", - "spec", - "color", - "size" - ) - val parts: UTSArray = _uA() - run { - var i: Number = 0 - while(i < keys.length){ - val key = keys[i] - val kVal = specObj.get(key) - if (kVal != null && kVal != "") { - parts.push(kVal.toString()) - } - i++ - } - } - if (parts.length > 0) { - return parts.join(" | ") - } - return specStr.replace(UTSRegExp("[{}\"]", "g"), "").replace(UTSRegExp(":", "g"), ": ").replace(UTSRegExp(",", "g"), " | ") - } - catch (e: Throwable) { - return "" - } - } - val formatSpecs = ::gen_formatSpecs_fn - val getSpecText = fun(specs: Any): String { - return formatSpecs(specs) - } - val formatTime = fun(iso: String): String { - if (iso == "") { - return "" - } - val d = Date(iso) - return "" + d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate() + " " + d.getHours() + ":" + d.getMinutes() - } - val getPaymentMethodText = fun(method: Any): String { - return "在线支付" - } - val copyText = fun(text: String){ - if (text == "") { - return - } - uni_setClipboardData(SetClipboardDataOptions(data = text, success = fun(_){ - return uni_showToast(ShowToastOptions(title = "已复制")) - } - )) - } - val loadShopInfo = fun(merchantId: String): UTSPromise { - return wrapUTSPromise(suspend w1@{ - try { - val result = await(supaInstance.from("ml_shops").select("shop_name").eq("merchant_id", merchantId).limit(1).execute()) - if (result.error != null) { - console.error("[loadShopInfo] 获取店铺信息失败:", result.error, " at pages/mall/consumer/order-detail.uvue:359") - return@w1 - } - val rawData = result.data - if (rawData == null) { - return@w1 - } - val rawList = rawData as UTSArray - if (rawList.length == 0) { - return@w1 - } - val shopData = rawList[0] - val shopObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(shopData)), " at pages/mall/consumer/order-detail.uvue:370") as UTSJSONObject - shopName.value = (shopObj.getString("shop_name") ?: "店铺") as String - } - catch (e: Throwable) { - console.error("[loadShopInfo] 获取店铺信息异常:", e, " at pages/mall/consumer/order-detail.uvue:373") - } - }) - } - val loadOrderDetail = fun(): UTSPromise { - return wrapUTSPromise(suspend { - uni_showLoading(ShowLoadingOptions(title = "加载中")) - try { - val data = await(supabaseService.getOrderDetail(orderId.value)) - console.log("[loadOrderDetail] 获取到的数据:", JSON.stringify(data), " at pages/mall/consumer/order-detail.uvue:381") - if (data != null) { - val dataObj = data as UTSJSONObject - order.value = OrderType(order_no = (dataObj.get("order_no") ?: "") as String, order_status = (dataObj.get("order_status") ?: 1) as Number, total_amount = (dataObj.get("total_amount") ?: 0) as Number, product_amount = (dataObj.get("product_amount") ?: 0) as Number, shipping_fee = (dataObj.get("shipping_fee") ?: 0) as Number, discount_amount = (dataObj.get("discount_amount") ?: 0) as Number, payment_method = (dataObj.get("payment_method") ?: "") as String, created_at = (dataObj.get("created_at") ?: "") as String, paid_at = (dataObj.get("paid_at") ?: "") as String, shipped_at = (dataObj.get("shipped_at") ?: "") as String, completed_at = (dataObj.get("completed_at") ?: "") as String, merchant_id = (dataObj.get("merchant_id") ?: "") as String, shipping_address = (dataObj.get("shipping_address") ?: null) as Any) - val itemsRaw = dataObj.get("ml_order_items") - console.log("[loadOrderDetail] 订单商品数据:", itemsRaw, " at pages/mall/consumer/order-detail.uvue:403") - if (itemsRaw != null && UTSArray.isArray(itemsRaw)) { - val items = itemsRaw as UTSArray - orderItems.value = _uA() - run { - var i: Number = 0 - while(i < items.length){ - val item = items[i] - val itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/order-detail.uvue:410") as UTSJSONObject - val orderItem = OrderItemType__1(id = (itemObj.get("id") ?: "") as String, product_id = (itemObj.get("product_id") ?: "") as String, product_name = (itemObj.get("product_name") ?: "未知商品") as String, price = (itemObj.get("price") ?: 0) as Number, quantity = (itemObj.get("quantity") ?: 1) as Number, image_url = (itemObj.get("image_url") ?: "") as String, specifications = (itemObj.get("specifications") ?: "") as Any) - orderItems.value.push(orderItem) - i++ - } - } - } - val addressRaw = dataObj.get("shipping_address") - console.log("[loadOrderDetail] 收货地址数据:", addressRaw, " at pages/mall/consumer/order-detail.uvue:426") - if (addressRaw != null) { - var addressObj: UTSJSONObject - if (addressRaw is UTSJSONObject) { - addressObj = addressRaw as UTSJSONObject - } else if (UTSAndroid.`typeof`(addressRaw) === "string") { - addressObj = UTSAndroid.consoleDebugError(JSON.parse(addressRaw as String), " at pages/mall/consumer/order-detail.uvue:433") as UTSJSONObject - } else { - addressObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(addressRaw)), " at pages/mall/consumer/order-detail.uvue:435") as UTSJSONObject - } - val province = (addressObj.get("province") ?: "") as String - val city = (addressObj.get("city") ?: "") as String - val district = (addressObj.get("district") ?: "") as String - val detail = (addressObj.get("detail") ?: (addressObj.get("address_detail") ?: "")) as String - deliveryAddress.value = AddressType(name = (addressObj.get("name") ?: (addressObj.get("recipient_name") ?: (addressObj.get("receiver_name") ?: ""))) as String, phone = (addressObj.get("phone") ?: (addressObj.get("recipient_phone") ?: (addressObj.get("receiver_phone") ?: ""))) as String, province = province, city = city, district = district, detail = detail, address = province + city + district + detail) - } - val merchantId = (dataObj.get("merchant_id") ?: "") as String - if (merchantId != "") { - loadShopInfo(merchantId) - } - val trackingNoVal = dataObj.getString("tracking_no") - val carrierNameVal = dataObj.getString("carrier_name") - if (trackingNoVal != null && trackingNoVal != "") { - deliveryInfo.value = DeliveryInfoType(tracking_no = trackingNoVal, carrier_name = carrierNameVal ?: "") - } - console.log("[loadOrderDetail] 订单详情加载成功,商品数量:", orderItems.value.length, " at pages/mall/consumer/order-detail.uvue:469") - } else { - uni_showToast(ShowToastOptions(title = "订单不存在", icon = "none")) - } - } - catch (e: Throwable) { - console.error("[loadOrderDetail] 加载订单详情失败:", e, " at pages/mall/consumer/order-detail.uvue:474") - uni_showToast(ShowToastOptions(title = "加载失败", icon = "none")) - } - finally { - uni_hideLoading() - } - }) - } - val contactService = fun(){ - if (order.value != null && order.value?.merchant_id != "") { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/chat?merchantId=" + order.value?.merchant_id + "&merchantName=" + UTSAndroid.consoleDebugError(encodeURIComponent(shopName.value), " at pages/mall/consumer/order-detail.uvue:486"))) - } else { - uni_showActionSheet(ShowActionSheetOptions(itemList = _uA( - "在线客服", - "拨打电话" - ), success = fun(res){ - if (res.tapIndex === 1) { - uni_makePhoneCall(MakePhoneCallOptions(phoneNumber = "400-123-4567")) - } else { - uni_showToast(ShowToastOptions(title = "连接到了系统客服")) - } - } - )) - } - } - val payOrder = fun(){ - val totalAmount = order.value?.total_amount ?: 0 - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/payment?orderId=" + orderId.value + "&amount=" + totalAmount)) - } - val doCancelOrder = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val updatePayload = UTSJSONObject(UTSSourceMapPosition("updatePayload", "pages/mall/consumer/order-detail.uvue", 512, 15)) - updatePayload.set("order_status", 5) - updatePayload.set("updated_at", Date().toISOString()) - val result = await(supaInstance.from("ml_orders").update(updatePayload).eq("id", orderId.value).execute()) - if (result.error == null) { - if (order.value != null) { - order.value!!.order_status = 5 - } - uni_showToast(ShowToastOptions(title = "订单已取消")) - } else { - console.error("[doCancelOrder] 取消订单失败:", result.error, " at pages/mall/consumer/order-detail.uvue:528") - uni_showToast(ShowToastOptions(title = "取消失败", icon = "none")) - } - } - catch (e: Throwable) { - console.error("[doCancelOrder] 取消订单异常:", e, " at pages/mall/consumer/order-detail.uvue:532") - uni_showToast(ShowToastOptions(title = "取消失败", icon = "none")) - } - }) - } - val cancelOrder = fun(){ - uni_showModal(ShowModalOptions(title = "提示", content = "确定要取消订单吗?", success = fun(res){ - if (res.confirm) { - doCancelOrder() - } - } - )) - } - val remindDelivery = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - val merchantId = order.value?.merchant_id - if (merchantId == null || merchantId == "") { - uni_showToast(ShowToastOptions(title = "商家信息不存在", icon = "none")) - return@w1 - } - val orderNo = order.value?.order_no ?: "" - val message = "您好,订单 " + orderNo + " 已付款,请尽快安排发货,谢谢!" - uni_showLoading(ShowLoadingOptions(title = "发送中...")) - val success = await(supabaseService.sendChatMessage(message, merchantId, "text")) - uni_hideLoading() - if (success) { - uni_showToast(ShowToastOptions(title = "已提醒商家尽快发货")) - } else { - uni_showToast(ShowToastOptions(title = "发送失败,请稍后重试", icon = "none")) - } - }) - } - val viewLogistics = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/logistics?orderId=" + orderId.value)) - } - val goToReview = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/review?orderId=" + orderId.value)) - } - val doConfirmReceive = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val result = await(supabaseService.confirmReceipt(orderId.value)) - if (result.success) { - if (order.value != null) { - order.value!!.order_status = 4 - } - uni_showToast(ShowToastOptions(title = "收货成功")) - setTimeout(fun(){ - return goToReview() - }, 1500) - } else { - uni_showToast(ShowToastOptions(title = result.error ?: "失败", icon = "none")) - } - } - catch (e: Throwable) { - console.error("[doConfirmReceive] 确认收货异常:", e, " at pages/mall/consumer/order-detail.uvue:591") - uni_showToast(ShowToastOptions(title = "操作失败", icon = "none")) - } - }) - } - val confirmReceive = fun(){ - uni_showModal(ShowModalOptions(title = "确认收货", content = "确保您已收到货物", success = fun(res){ - if (res.confirm) { - doConfirmReceive() - } - } - )) - } - val rePurchase = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - uni_showLoading(ShowLoadingOptions(title = "处理中")) - try { - val items = orderItems.value - if (items.length == 0) { - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "没有可购买的商品", icon = "none")) - return@w1 - } - var successCount: Number = 0 - run { - var i: Number = 0 - while(i < items.length){ - val item = items[i] - val result = await(supabaseService.addToCart(item.product_id, item.quantity, "", order.value?.merchant_id ?: "")) - if (result) { - successCount++ - } - i++ - } - } - uni_hideLoading() - if (successCount > 0) { - uni_showToast(ShowToastOptions(title = "已加入购物车")) - setTimeout(fun(){ - uni_switchTab(SwitchTabOptions(url = "/pages/main/cart")) - }, 1000) - } else { - uni_showToast(ShowToastOptions(title = "操作失败", icon = "none")) - } - } - catch (e: Throwable) { - uni_hideLoading() - console.error("[rePurchase] 再次购买异常:", e, " at pages/mall/consumer/order-detail.uvue:642") - uni_showToast(ShowToastOptions(title = "操作失败", icon = "none")) - } - }) - } - val doApplyRefund = fun(reason: String): UTSPromise { - return wrapUTSPromise(suspend { - try { - val success = await(supabaseService.applyRefund(orderId.value, reason)) - if (success) { - if (order.value != null) { - order.value!!.order_status = 6 - } - uni_showToast(ShowToastOptions(title = "申请已提交")) - } else { - uni_showToast(ShowToastOptions(title = "提交失败", icon = "none")) - } - } - catch (e: Throwable) { - console.error("[doApplyRefund] 申请退款异常:", e, " at pages/mall/consumer/order-detail.uvue:659") - uni_showToast(ShowToastOptions(title = "提交失败", icon = "none")) - } - }) - } - val applyRefund = fun(){ - uni_showModal(ShowModalOptions(title = "申请退款", editable = true, placeholderText = "请输入退款原因", success = fun(res){ - if (res.confirm) { - val reason = res.content ?: "用户主动申请" - doApplyRefund(reason) - } - } - )) - } - val applyAfterSales = fun(){ - applyRefund() - } - val goToShop = fun(){ - val merchantId = order.value?.merchant_id ?: "" - if (merchantId != "") { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/shop-detail?id=" + merchantId)) - } else { - uni_showToast(ShowToastOptions(title = "商家信息不存在", icon = "none")) - } - } - val goToProduct = fun(pid: String){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?id=" + pid)) - } - val shareForFree = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (orderItems.value.length === 0) { - uni_showToast(ShowToastOptions(title = "没有可分享的商品", icon = "none")) - return@w1 - } - val firstItem = orderItems.value[0] - try { - uni_showLoading(ShowLoadingOptions(title = "创建分享...")) - val result = await(supabaseService.createShareRecord(firstItem.product_id, orderId.value, firstItem.id, firstItem.product_name, firstItem.image_url, firstItem.price)) - uni_hideLoading() - val shareIdRaw = result.get("id") - val shareCodeRaw = result.get("share_code") - if (shareIdRaw != null && shareCodeRaw != null) { - val shareId = shareIdRaw as String - val shareCode = shareCodeRaw as String - uni_showModal(ShowModalOptions(title = "分享成功", content = "您的分享码: " + shareCode + "\n分享给好友,当有4人购买后即可免单!", confirmText = "查看详情", success = fun(res){ - if (res.confirm) { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/share/detail?id=" + shareId)) - } - })) - } else { - uni_showToast(ShowToastOptions(title = "分享创建失败", icon = "none")) - } - } - catch (e: Throwable) { - uni_hideLoading() - console.error("[shareForFree] 创建分享失败:", e, " at pages/mall/consumer/order-detail.uvue:741") - uni_showToast(ShowToastOptions(title = "分享失败", icon = "none")) - } - }) - } - onBackPress__1(fun(_): Boolean { - val pages = getCurrentPages() - console.log("[order-detail onBackPress] pages count:", pages.length, " at pages/mall/consumer/order-detail.uvue:749") - if (pages.length > 1) { - return false - } - uni_redirectTo(RedirectToOptions(url = "/pages/mall/consumer/orders")) - return true - } - ) - onLoad__1(fun(options){ - val id = options["id"] - val orderIdParam = options["orderId"] - if (id != null && id != "") { - orderId.value = id as String - loadOrderDetail() - } else if (orderIdParam != null && orderIdParam != "") { - orderId.value = orderIdParam as String - loadOrderDetail() - } - } - ) - return fun(): Any? { - return _cE("view", _uM("class" to "order-detail-page"), _uA( - _cE("scroll-view", _uM("scroll-y" to "true", "class" to "scroll-content"), _uA( - _cE("view", _uM("class" to _nC(_uA( - "order-status", - getStatusClass() - ))), _uA( - _cE("view", _uM("class" to "status-content"), _uA( - _cE("view", _uM("class" to "status-info"), _uA( - _cE("view", _uM("class" to "status-title-row"), _uA( - _cE("text", _uM("class" to "status-emoji"), _tD(getStatusIcon()), 1), - _cE("text", _uM("class" to "status-text"), _tD(getStatusText()), 1) - )), - _cE("text", _uM("class" to "status-desc"), _tD(getStatusDesc()), 1) - )), - if (order.value?.order_status === 4) { - _cE("view", _uM("key" to 0, "class" to "share-free-entry", "onClick" to shareForFree), _uA( - _cE("text", _uM("class" to "share-free-icon"), "🎁"), - _cE("view", _uM("class" to "share-free-info"), _uA( - _cE("text", _uM("class" to "share-free-title"), "分享免单"), - _cE("text", _uM("class" to "share-free-desc"), "分享给好友,4人购买即可免单") - )), - _cE("text", _uM("class" to "share-free-arrow"), "›") - )) - } else { - _cC("v-if", true) - } - )) - ), 2), - if (isTrue(order.value != null && (order.value?.order_status ?: 0) >= 2)) { - _cE("view", _uM("key" to 0, "class" to "delivery-info card"), _uA( - _cE("view", _uM("class" to "delivery-header"), _uA( - _cE("text", _uM("class" to "section-title"), "配送信息") - )), - _cE("view", _uM("class" to "delivery-info-content"), _uA( - _cE("view", _uM("class" to "delivery-address"), _uA( - _cE("view", _uM("class" to "address-icon"), "📍"), - _cE("view", _uM("class" to "address-content"), _uA( - _cE("view", _uM("class" to "address-user"), _uA( - _cE("text", _uM("class" to "recipient"), _tD(deliveryAddress.value?.name ?: ""), 1), - _cE("text", _uM("class" to "phone"), _tD(deliveryAddress.value?.phone ?: ""), 1) - )), - _cE("text", _uM("class" to "address-detail"), _tD(getFullAddress(deliveryAddress.value as Any)), 1) - )) - )), - if (isTrue(deliveryInfo.value != null && deliveryInfo.value?.tracking_no != "")) { - _cE("view", _uM("key" to 0, "class" to "courier-info"), _uA( - _cE("view", _uM("class" to "courier-icon"), "🚚"), - _cE("view", _uM("class" to "courier-content"), _uA( - _cE("text", _uM("class" to "courier-label"), "物流信息"), - _cE("view", _uM("class" to "tracking-row"), _uA( - _cE("text", _uM("class" to "carrier-name"), _tD(deliveryInfo.value?.carrier_name ?: "快递运单"), 1), - _cE("text", _uM("class" to "tracking-no"), _tD(deliveryInfo.value?.tracking_no ?: ""), 1), - _cE("view", _uM("class" to "copy-tag", "onClick" to fun(){ - copyText(deliveryInfo.value?.tracking_no ?: "") - }), _uA( - _cE("text", _uM("class" to "copy-tag-text"), "复制") - ), 8, _uA( - "onClick" - )) - )) - )) - )) - } else { - _cC("v-if", true) - } - )) - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "order-products card"), _uA( - _cE("view", _uM("class" to "shop-header", "onClick" to goToShop), _uA( - _cE("text", _uM("class" to "shop-icon"), "🏪"), - _cE("text", _uM("class" to "shop-name"), _tD(shopName.value), 1), - _cE("text", _uM("class" to "arrow-right"), "›") - )), - _cE(Fragment, null, RenderHelpers.renderList(orderItems.value, fun(item, __key, __index, _cached): Any { - return _cE("view", _uM("key" to item.id, "class" to "product-item", "onClick" to fun(){ - goToProduct(item.product_id) - } - ), _uA( - _cE("image", _uM("src" to if (item.image_url != null && item.image_url != "") { - item.image_url - } else { - "/static/default-product.png" - } - , "class" to "product-image", "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "product-info"), _uA( - _cE("text", _uM("class" to "product-name"), _tD(item.product_name), 1), - if (isTrue(item.specifications)) { - _cE("text", _uM("key" to 0, "class" to "product-spec"), _tD(getSpecText(item.specifications)), 1) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "price-quantity"), _uA( - _cE("text", _uM("class" to "product-price"), "¥" + _tD(item.price), 1), - _cE("text", _uM("class" to "product-quantity"), "×" + _tD(item.quantity), 1) - )) - )) - ), 8, _uA( - "onClick" - )) - } - ), 128) - )), - if (order.value != null) { - _cE("view", _uM("key" to 1, "class" to "order-info card"), _uA( - _cE("view", _uM("class" to "info-row"), _uA( - _cE("text", _uM("class" to "info-label"), "订单编号"), - _cE("text", _uM("class" to "info-value copyable", "onClick" to fun(){ - copyText(order.value?.order_no ?: "") - }), _uA( - _tD(order.value?.order_no ?: "") + " ", - _cE("text", _uM("class" to "copy-icon"), "📄") - ), 8, _uA( - "onClick" - )) - )), - _cE("view", _uM("class" to "info-row"), _uA( - _cE("text", _uM("class" to "info-label"), "下单时间"), - _cE("text", _uM("class" to "info-value"), _tD(formatTime(order.value?.created_at ?: "")), 1) - )), - if (isTrue(order.value?.payment_method != null && order.value?.payment_method != "")) { - _cE("view", _uM("key" to 0, "class" to "info-row"), _uA( - _cE("text", _uM("class" to "info-label"), "支付方式"), - _cE("text", _uM("class" to "info-value"), _tD(getPaymentMethodText(order.value?.payment_method as Any)), 1) - )) - } else { - _cC("v-if", true) - }, - if (isTrue(order.value?.paid_at != null && order.value?.paid_at != "")) { - _cE("view", _uM("key" to 1, "class" to "info-row"), _uA( - _cE("text", _uM("class" to "info-label"), "支付时间"), - _cE("text", _uM("class" to "info-value"), _tD(formatTime(order.value?.paid_at ?: "")), 1) - )) - } else { - _cC("v-if", true) - }, - if (isTrue(order.value?.shipped_at != null && order.value?.shipped_at != "")) { - _cE("view", _uM("key" to 2, "class" to "info-row"), _uA( - _cE("text", _uM("class" to "info-label"), "发货时间"), - _cE("text", _uM("class" to "info-value"), _tD(formatTime(order.value?.shipped_at ?: "")), 1) - )) - } else { - _cC("v-if", true) - }, - if (isTrue(order.value?.completed_at != null && order.value?.completed_at != "")) { - _cE("view", _uM("key" to 3, "class" to "info-row"), _uA( - _cE("text", _uM("class" to "info-label"), "完成时间"), - _cE("text", _uM("class" to "info-value"), _tD(formatTime(order.value?.completed_at ?: "")), 1) - )) - } else { - _cC("v-if", true) - } - )) - } else { - _cC("v-if", true) - } - , - if (order.value != null) { - _cE("view", _uM("key" to 2, "class" to "cost-detail card"), _uA( - _cE("view", _uM("class" to "cost-row"), _uA( - _cE("text", _uM("class" to "cost-label"), "商品总额"), - _cE("text", _uM("class" to "cost-value"), "¥" + _tD(order.value?.product_amount ?: 0), 1) - )), - _cE("view", _uM("class" to "cost-row"), _uA( - _cE("text", _uM("class" to "cost-label"), "运费"), - _cE("text", _uM("class" to "cost-value"), "+¥" + _tD(if (order.value?.shipping_fee != null) { - order.value?.shipping_fee - } else { - 0 - }), 1) - )), - if ((order.value?.discount_amount ?: 0) > 0) { - _cE("view", _uM("key" to 0, "class" to "cost-row"), _uA( - _cE("text", _uM("class" to "cost-label"), "优惠金额"), - _cE("text", _uM("class" to "cost-value"), "-¥" + _tD(order.value?.discount_amount ?: 0), 1) - )) - } else { - _cC("v-if", true) - }, - _cE("view", _uM("class" to "cost-row total"), _uA( - _cE("text", _uM("class" to "cost-label"), "实付金额"), - _cE("text", _uM("class" to "cost-value price"), "¥" + _tD(order.value?.total_amount ?: 0), 1) - )) - )) - } else { - _cC("v-if", true) - } - )), - if (order.value != null) { - _cE("view", _uM("key" to 0, "class" to "bottom-actions"), _uA( - _cE("view", _uM("class" to "action-bar-wrapper"), _uA( - _cE("view", _uM("class" to "action-left", "onClick" to contactService), _uA( - _cE("view", _uM("class" to "service-item"), _uA( - _cE("text", _uM("class" to "service-icon"), "🎧"), - _cE("text", _uM("class" to "service-label"), "客服") - )) - )), - _cE("view", _uM("class" to "action-right"), _uA( - if (order.value?.order_status === 1) { - _cE("view", _uM("key" to 0, "class" to "btn-group"), _uA( - _cE("button", _uM("class" to "btn", "onClick" to cancelOrder), "取消订单"), - _cE("button", _uM("class" to "btn primary", "onClick" to payOrder), "立即支付") - )) - } else { - _cC("v-if", true) - }, - if (order.value?.order_status === 2) { - _cE("view", _uM("key" to 1, "class" to "btn-group"), _uA( - _cE("button", _uM("class" to "btn", "onClick" to applyRefund), "申请退款"), - _cE("button", _uM("class" to "btn primary", "onClick" to remindDelivery), "提醒发货") - )) - } else { - _cC("v-if", true) - }, - if (order.value?.order_status === 3) { - _cE("view", _uM("key" to 2, "class" to "btn-group"), _uA( - _cE("button", _uM("class" to "btn", "onClick" to viewLogistics), "查看物流"), - _cE("button", _uM("class" to "btn primary", "onClick" to confirmReceive), "确认收货") - )) - } else { - _cC("v-if", true) - }, - if (order.value?.order_status === 4) { - _cE("view", _uM("key" to 3, "class" to "btn-group"), _uA( - _cE("button", _uM("class" to "btn", "onClick" to applyAfterSales), "申请售后"), - _cE("button", _uM("class" to "btn share-free", "onClick" to shareForFree), "分享免单"), - _cE("button", _uM("class" to "btn", "onClick" to rePurchase), "再次购买"), - _cE("button", _uM("class" to "btn primary", "onClick" to goToReview), "评价订单") - )) - } else { - _cC("v-if", true) - }, - if (order.value?.order_status === 5) { - _cE("view", _uM("key" to 4, "class" to "btn-group"), _uA( - _cE("button", _uM("class" to "btn primary", "onClick" to rePurchase), "重新购买") - )) - } else { - _cC("v-if", true) - } - )) - )) - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("order-detail-page" to _pS(_uM("display" to "flex", "flexDirection" to "column", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f5f5")), "scroll-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "paddingBottom" to 20)), "card" to _pS(_uM("backgroundColor" to "#ffffff", "marginTop" to 10, "marginRight" to 10, "marginBottom" to 10, "marginLeft" to 10, "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10)), "order-status" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #ff9000, #ff5000)", "backgroundColor" to "rgba(0,0,0,0)", "paddingTop" to 30, "paddingRight" to 20, "paddingBottom" to 30, "paddingLeft" to 20, "color" to "#FFFFFF", "display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "status-content" to _pS(_uM("maxWidth" to 1200, "marginTop" to 0, "marginRight" to "auto", "marginBottom" to 0, "marginLeft" to "auto", "width" to "100%", "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "textAlign" to "center")), "status-info" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "status-title-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "marginBottom" to 8)), "status-emoji" to _pS(_uM("fontSize" to 28, "marginRight" to 12)), "status-text" to _pS(_uM("fontSize" to 20, "fontWeight" to "bold", "letterSpacing" to 1)), "status-desc" to _pS(_uM("fontSize" to 14, "opacity" to 0.95, "textAlign" to "center")), "share-free-entry" to _pS(_uM("marginTop" to 20, "backgroundColor" to "rgba(255,255,255,0.2)", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 14, "paddingRight" to 16, "paddingBottom" to 14, "paddingLeft" to 16, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "width" to "100%", "maxWidth" to 400)), "share-free-icon" to _pS(_uM("fontSize" to 28, "marginRight" to 12)), "share-free-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "alignItems" to "flex-start")), "share-free-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#FFFFFF", "marginBottom" to 4)), "share-free-desc" to _pS(_uM("fontSize" to 12, "color" to "rgba(255,255,255,0.85)")), "share-free-arrow" to _pS(_uM("fontSize" to 20, "color" to "rgba(255,255,255,0.8)")), "section-title" to _pS(_uM("fontWeight" to "bold", "fontSize" to 16, "marginBottom" to 10)), "delivery-address" to _pS(_uM("display" to "flex", "alignItems" to "flex-start")), "address-icon" to _pS(_uM("fontSize" to 20, "marginRight" to 10, "color" to "#666666")), "address-user" to _pS(_uM("marginBottom" to 5, "fontWeight" to "bold", "fontSize" to 14)), "phone" to _pS(_uM("marginLeft" to 10, "color" to "#666666", "fontWeight" to "normal")), "address-detail" to _pS(_uM("fontSize" to 13, "color" to "#333333", "lineHeight" to 1.4)), "courier-info" to _pS(_uM("marginTop" to 15, "paddingTop" to 15, "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#f5f5f5", "display" to "flex", "flexDirection" to "row", "alignItems" to "flex-start")), "courier-icon" to _pS(_uM("fontSize" to 20, "marginRight" to 10, "color" to "#666666")), "courier-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column")), "courier-label" to _pS(_uM("fontSize" to 14, "color" to "#333333", "fontWeight" to "bold", "marginBottom" to 5)), "tracking-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "flexWrap" to "wrap")), "carrier-name" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginRight" to 8)), "tracking-no" to _pS(_uM("fontSize" to 13, "color" to "#666666", "marginRight" to 10, "fontFamily" to "monospace")), "copy-tag" to _pS(_uM("backgroundColor" to "#fff2f0", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ffccc7", "borderRightColor" to "#ffccc7", "borderBottomColor" to "#ffccc7", "borderLeftColor" to "#ffccc7", "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "paddingTop" to 1, "paddingRight" to 8, "paddingBottom" to 1, "paddingLeft" to 8, "display" to "flex", "justifyContent" to "center", "alignItems" to "center")), "copy-tag-text" to _pS(_uM("color" to "#ff4d4f", "fontSize" to 11)), "shop-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to 15, "paddingBottom" to 10, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5", "width" to "100%")), "shop-icon" to _pS(_uM("marginRight" to 8, "fontSize" to 16)), "shop-name" to _pS(_uM("fontSize" to 14, "fontWeight" to "bold", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "color" to "#333333")), "arrow-right" to _pS(_uM("color" to "#999999", "fontSize" to 14, "marginLeft" to "auto")), "product-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "marginBottom" to 15, "alignItems" to "flex-start", "marginBottom:last-child" to 0)), "product-image" to _pS(_uM("width" to 90, "height" to 90, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginRight" to 12, "backgroundColor" to "#f9f9f9", "flexShrink" to 0)), "product-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "justifyContent" to "space-between", "minHeight" to 90)), "product-name" to _pS(_uM("fontSize" to 14, "lineHeight" to 1.4, "color" to "#333333", "overflow" to "hidden", "textOverflow" to "ellipsis", "lines" to 2, "marginBottom" to 4)), "product-spec" to _pS(_uM("fontSize" to 12, "color" to "#999999", "backgroundColor" to "#f5f5f5", "paddingTop" to 2, "paddingRight" to 5, "paddingBottom" to 2, "paddingLeft" to 5, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "alignSelf" to "flex-start", "marginTop" to 5)), "price-quantity" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginTop" to 5, "width" to "100%")), "product-price" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "product-quantity" to _pS(_uM("color" to "#999999", "fontSize" to 12)), "info-row" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "marginBottom" to 10, "fontSize" to 13)), "info-label" to _pS(_uM("color" to "#999999")), "info-value" to _pS(_uM("color" to "#333333")), "copy-icon" to _pS(_uM("fontSize" to 12)), "cost-detail" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "paddingTop" to 20, "paddingRight" to 15, "paddingBottom" to 20, "paddingLeft" to 15)), "cost-row" to _uM("" to _uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "marginBottom" to 12, "fontSize" to 14, "width" to "100%", "maxWidth" to 400), ".total" to _uM("marginTop" to 15, "paddingTop" to 15, "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#f5f5f5", "alignItems" to "center")), "cost-value" to _uM(".price" to _uM("color" to "#ff5000", "fontSize" to 20, "fontWeight" to "bold")), "bottom-actions" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 12, "paddingRight" to 15, "paddingBottom" to 30, "paddingLeft" to 15, "boxShadow" to "0 -2px 15px rgba(0,0,0,0.08)")), "action-bar-wrapper" to _pS(_uM("maxWidth" to 1200, "marginTop" to 0, "marginRight" to "auto", "marginBottom" to 0, "marginLeft" to "auto", "width" to "100%", "display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center")), "action-left" to _pS(_uM("paddingTop" to 0, "paddingRight" to 0, "paddingBottom" to 0, "paddingLeft" to 0, "marginRight" to 0)), "service-item" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "minWidth" to 50)), "service-icon" to _pS(_uM("fontSize" to 20, "marginBottom" to 2)), "service-label" to _pS(_uM("fontSize" to 11, "color" to "#666666")), "action-right" to _pS(_uM("display" to "flex", "justifyContent" to "center", "alignItems" to "center")), "btn-group" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "flex-end")), "btn" to _uM("" to _uM("marginTop" to 0, "marginRight" to 0, "marginBottom" to 0, "marginLeft" to 12, "paddingTop" to 0, "paddingRight" to 18, "paddingBottom" to 0, "paddingLeft" to 18, "height" to 36, "lineHeight" to "36px", "fontSize" to 14, "borderTopLeftRadius" to 18, "borderTopRightRadius" to 18, "borderBottomRightRadius" to 18, "borderBottomLeftRadius" to 18, "backgroundImage" to "none", "backgroundColor" to "#ffffff", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#dddddd", "borderRightColor" to "#dddddd", "borderBottomColor" to "#dddddd", "borderLeftColor" to "#dddddd", "color" to "#444444"), ".primary" to _uM("backgroundImage" to "linear-gradient(to right, #ff9000, #ff5000)", "backgroundColor" to "rgba(0,0,0,0)", "color" to "#ffffff", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "fontWeight" to "bold", "boxShadow" to "0 4px 8px rgba(255, 80, 0, 0.2)"), ".share-free" to _uM("backgroundImage" to "linear-gradient(to right, #52c41a, #73d13d)", "backgroundColor" to "rgba(0,0,0,0)", "color" to "#ffffff", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "fontWeight" to "bold"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/orders.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/orders.kt deleted file mode 100644 index 1da79095..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/orders.kt +++ /dev/null @@ -1,1210 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.getSystemInfoSync as uni_getSystemInfoSync -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.showActionSheet as uni_showActionSheet -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMallConsumerOrders : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerOrders) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerOrders - val _cache = __ins.renderCache - val orders = ref(_uA()) - val allOrdersList = ref(_uA()) - val loading = ref(false) - val loadingMore = ref(false) - val hasMore = ref(true) - val refreshing = ref(false) - val page = ref(1) - val activeTab = ref("all") - val statusBarHeight = ref(0) - val searchKeyword = ref("") - val merchantShareFreeEnabled = ref(UTSJSONObject()) - val merchantRequiredCount = ref(UTSJSONObject()) - val orderTabs = ref(_uA(OrderTabItem(id = "all", name = "全部", count = 0), OrderTabItem(id = "pending", name = "待付款", count = 0), OrderTabItem(id = "shipping", name = "待发货", count = 0), OrderTabItem(id = "delivering", name = "待收货", count = 0), OrderTabItem(id = "completed", name = "已完成", count = 0), OrderTabItem(id = "aftersale", name = "售后", count = 0), OrderTabItem(id = "cancelled", name = "已取消", count = 0))) - val orderTabsMobile = computed(fun(): UTSArray { - return orderTabs.value.filter(fun(tab: OrderTabItem): Boolean { - return tab.id !== "all" - } - ) - } - ) - val getStatusByTab = fun(tabId: String): Number { - if (tabId == "pending") { - return 1 - } - if (tabId == "shipping") { - return 2 - } - if (tabId == "delivering") { - return 3 - } - if (tabId == "completed") { - return 4 - } - if (tabId == "cancelled") { - return 5 - } - if (tabId == "aftersale") { - return 6 - } - return 0 - } - fun gen_formatSpecObj_fn(obj: Any): String { - if (obj == null) { - return "" - } - if (UTSAndroid.`typeof`(obj) !== "object") { - if (UTSAndroid.`typeof`(obj) === "string") { - return obj as String - } - if (UTSAndroid.`typeof`(obj) === "number") { - return (obj as Number).toString() - } - return "" - } - try { - val objStr = JSON.stringify(obj) - val objParsed = UTSAndroid.consoleDebugError(JSON.parse(objStr), " at pages/mall/consumer/orders.uvue:281") - if (objParsed == null) { - return "" - } - val specObj = objParsed as UTSJSONObject - val specObjStr = JSON.stringify(specObj) - val specObjForKeys = UTSAndroid.consoleDebugError(JSON.parse(specObjStr), " at pages/mall/consumer/orders.uvue:288") as UTSJSONObject - val parts: UTSArray = _uA() - val colorVal = specObjForKeys.getString("Color") - if (colorVal != null && colorVal != "") { - parts.push("Color: " + colorVal) - } - val sizeVal = specObjForKeys.getString("Size") - if (sizeVal != null && sizeVal != "") { - parts.push("Size: " + sizeVal) - } - val defaultVal = specObjForKeys.getString("默认") - if (defaultVal != null && defaultVal != "") { - parts.push("默认: " + defaultVal) - } - if (parts.length === 0) { - val objAny = specObjForKeys as Any - if (objAny != null) { - return specObjStr.replace(UTSRegExp("[{}\"]", "g"), "").replace(UTSRegExp(":", "g"), ": ").replace(UTSRegExp(",", "g"), " | ") - } - } - return parts.join(" | ") - } - catch (e: Throwable) { - return "" - } - } - val formatSpecObj = ::gen_formatSpecObj_fn - fun gen_parseSpecText_fn(specs: Any): String { - if (specs == null) { - return "" - } - if (UTSAndroid.`typeof`(specs) === "string") { - if ((specs as String).startsWith("{") || (specs as String).startsWith("[")) { - try { - val parsed = UTSAndroid.consoleDebugError(JSON.parse(specs as String), " at pages/mall/consumer/orders.uvue:331") - if (parsed == null) { - return specs as String - } - return formatSpecObj(parsed) - } - catch (e: Throwable) { - return specs as String - } - } - return specs as String - } - return formatSpecObj(specs) - } - val parseSpecText = ::gen_parseSpecText_fn - val updateTabsCounts = fun(allOrders: UTSArray){ - val countAll = allOrders.length - val countPending = allOrders.filter(fun(o: OrderItem): Boolean { - return o.status === 1 - } - ).length - val countShipping = allOrders.filter(fun(o: OrderItem): Boolean { - return o.status === 2 - } - ).length - val countDelivering = allOrders.filter(fun(o: OrderItem): Boolean { - return o.status === 3 - } - ).length - val countCompleted = allOrders.filter(fun(o: OrderItem): Boolean { - return o.status === 4 - } - ).length - val countCancelled = allOrders.filter(fun(o: OrderItem): Boolean { - return o.status === 5 - } - ).length - val countAftersale = allOrders.filter(fun(o: OrderItem): Boolean { - return o.status === 6 || o.status === 7 - } - ).length - orderTabs.value[0].count = countAll - orderTabs.value[1].count = countPending - orderTabs.value[2].count = countShipping - orderTabs.value[3].count = countDelivering - orderTabs.value[4].count = countCompleted - orderTabs.value[5].count = countAftersale - orderTabs.value[6].count = countCancelled - } - val filterOrdersByTab = fun(){ - if (activeTab.value === "all") { - orders.value = allOrdersList.value - } else if (activeTab.value === "aftersale") { - orders.value = allOrdersList.value.filter(fun(o: OrderItem): Boolean { - return o.status === 6 || o.status === 7 - }) - } else { - val targetStatus = getStatusByTab(activeTab.value) - orders.value = allOrdersList.value.filter(fun(o: OrderItem): Boolean { - return o.status === targetStatus - } - ) - } - } - val isShareFreeEnabled = fun(merchantId: String): Boolean { - val kVal = merchantShareFreeEnabled.value.get(merchantId) - return kVal === true - } - val getRequiredCount = fun(merchantId: String): Number { - val kVal = merchantRequiredCount.value.get(merchantId) - if (kVal != null && UTSAndroid.`typeof`(kVal) === "number") { - return kVal as Number - } - return 4 - } - val loadMerchantPromotionConfigs = fun(orderList: UTSArray): UTSPromise { - return wrapUTSPromise(suspend { - val merchantIds = Set() - run { - var i: Number = 0 - while(i < orderList.length){ - val merchantId = orderList[i].merchant_id - val existingVal = merchantShareFreeEnabled.value.get(merchantId) - if (merchantId != null && merchantId !== "" && existingVal == null) { - merchantIds.add(merchantId) - } - i++ - } - } - val merchantIdArray = UTSArray.from(merchantIds) - run { - var i: Number = 0 - while(i < merchantIdArray.length){ - val merchantIdRaw = merchantIdArray[i] - val merchantId = merchantIdRaw as String - try { - val config = await(supabaseService.getMerchantPromotionConfig(merchantId)) - val promotionEnabled = config.get("promotion_enabled") - val shareFreeEnabled = config.get("share_free_enabled") - val requiredCount = config.get("required_count") - val isEnabled: Any = (promotionEnabled === true || promotionEnabled === "true") && (shareFreeEnabled === true || shareFreeEnabled === "true") - merchantShareFreeEnabled.value.set(merchantId, isEnabled) - if (requiredCount != null) { - merchantRequiredCount.value.set(merchantId, requiredCount) - } else { - merchantRequiredCount.value.set(merchantId, 4 as Any) - } - } - catch (e: Throwable) { - console.error("加载商家推销配置失败:", merchantId, e, " at pages/mall/consumer/orders.uvue:428") - merchantShareFreeEnabled.value.set(merchantId, false as Any) - merchantRequiredCount.value.set(merchantId, 4 as Any) - } - i++ - } - } - }) - } - val loadOrders = fun(): UTSPromise { - return wrapUTSPromise(suspend { - loading.value = true - try { - val fetchedOrders = await(supabaseService.getOrders(0)) - console.log("[loadOrders] 获取到订单数量:", fetchedOrders.length, " at pages/mall/consumer/orders.uvue:442") - val mappedOrders: UTSArray = _uA() - run { - var i: Number = 0 - while(i < fetchedOrders.length){ - val order = fetchedOrders[i] - val orderStr = JSON.stringify(order) - val orderParsed = UTSAndroid.consoleDebugError(JSON.parse(orderStr), " at pages/mall/consumer/orders.uvue:450") - if (orderParsed == null) { - i++ - continue - } - val orderObj = orderParsed as UTSJSONObject - val itemsRaw = orderObj.get("ml_order_items") - val productsList: UTSArray = _uA() - console.log("[loadOrders] 订单商品数据:", itemsRaw, " at pages/mall/consumer/orders.uvue:457") - if (itemsRaw != null) { - if (UTSArray.isArray(itemsRaw)) { - val items = itemsRaw as UTSArray - console.log("[loadOrders] 商品数量:", items.length, " at pages/mall/consumer/orders.uvue:463") - run { - var j: Number = 0 - while(j < items.length){ - val item = items[j] - val itemStr = JSON.stringify(item) - val itemParsed = UTSAndroid.consoleDebugError(JSON.parse(itemStr), " at pages/mall/consumer/orders.uvue:467") - if (itemParsed == null) { - j++ - continue - } - val itemObj = itemParsed as UTSJSONObject - val specRaw = itemObj.get("specifications") - val specText = if (specRaw != null) { - parseSpecText(specRaw) - } else { - "" - } - val productId = itemObj.getString("product_id") - val productName = itemObj.getString("product_name") - val price = itemObj.getNumber("price") - val imageUrl = itemObj.getString("image_url") - val quantity = itemObj.getNumber("quantity") - console.log("[loadOrders] 商品:", productName, "图片:", imageUrl, "规格:", specText, " at pages/mall/consumer/orders.uvue:480") - val productItem = OrderProduct(id = productId ?: "", name = productName ?: "未知商品", price = price ?: 0, image = imageUrl ?: "/static/default-product.png", spec = specText, quantity = quantity ?: 1) - productsList.push(productItem) - j++ - } - } - } - } - val orderId = orderObj.getString("id") - val orderNo = orderObj.getString("order_no") - val orderStatus = orderObj.getNumber("order_status") - val createdAt = orderObj.getString("created_at") - val productAmount = orderObj.getNumber("product_amount") - val shippingFee = orderObj.getNumber("shipping_fee") - val totalAmount = orderObj.getNumber("total_amount") - val paidAmount = orderObj.getNumber("paid_amount") - val merchantId = orderObj.getString("merchant_id") - var shopName = "自营店铺" - val shopsRaw = orderObj.get("ml_shops") - if (shopsRaw != null) { - val shopStr = JSON.stringify(shopsRaw) - val shopParsed = UTSAndroid.consoleDebugError(JSON.parse(shopStr), " at pages/mall/consumer/orders.uvue:510") - if (shopParsed != null) { - val shopObj = shopParsed as UTSJSONObject - val shopNameFromDb = shopObj.getString("shop_name") - if (shopNameFromDb != null && shopNameFromDb != "") { - shopName = shopNameFromDb - } - } - } else if (merchantId != null && merchantId != "") { - shopName = "商家店铺" - } - console.log("[loadOrders] 订单号:", orderNo, "店铺:", shopName, "商品数:", productsList.length, " at pages/mall/consumer/orders.uvue:522") - if (productsList.length === 0) { - val placeholderProduct = OrderProduct(id = "placeholder", name = "订单商品", price = totalAmount ?: paidAmount ?: 0, image = "/static/default-product.png", spec = "", quantity = 1) - productsList.push(placeholderProduct) - } - val mappedOrder = OrderItem(id = orderId ?: "", order_no = orderNo ?: "", status = orderStatus ?: 1, create_time = createdAt ?: "", product_amount = productAmount ?: 0, shipping_fee = shippingFee ?: 0, total_amount = totalAmount ?: paidAmount ?: 0, merchant_id = merchantId ?: "", shop_name = shopName, products = productsList) - mappedOrders.push(mappedOrder) - i++ - } - } - mappedOrders.sort(fun(a: OrderItem, b: OrderItem): Number { - val timeA = Date(a.create_time).getTime() - val timeB = Date(b.create_time).getTime() - return timeB - timeA - } - ) - allOrdersList.value = mappedOrders - updateTabsCounts(mappedOrders) - filterOrdersByTab() - loadMerchantPromotionConfigs(mappedOrders) - } - catch (err: Throwable) { - console.error("加载订单异常:", err, " at pages/mall/consumer/orders.uvue:571") - uni_showToast(ShowToastOptions(title = "加载订单失败", icon = "none")) - } - finally { - loading.value = false - } - }) - } - onLoad__1(fun(options){ - val systemInfo = uni_getSystemInfoSync() - statusBarHeight.value = systemInfo.statusBarHeight ?: 0 - if (options == null) { - return - } - val statusVal = options["status"] - if (statusVal != null) { - val status = statusVal as String - if (_uA( - "all", - "pending", - "shipping", - "delivering", - "completed", - "aftersale", - "cancelled" - ).includes(status)) { - activeTab.value = status - } - } - val typeVal = options["type"] - if (typeVal != null) { - val type = typeVal as String - if (type === "pending") { - activeTab.value = "pending" - } else if (type === "shipped") { - activeTab.value = "delivering" - } else if (type === "review") { - activeTab.value = "completed" - } else if (type === "refund") { - activeTab.value = "aftersale" - } - } - } - ) - onShow__1(fun(){ - loadOrders() - } - ) - val formatDate = fun(isoString: String): String { - if (isoString == "") { - return "" - } - val date = Date(isoString) - return "" + date.getFullYear() + "-" + (date.getMonth() + 1).toString(10).padStart(2, "0") + "-" + date.getDate().toString(10).padStart(2, "0") + " " + date.getHours().toString(10).padStart(2, "0") + ":" + date.getMinutes().toString(10).padStart(2, "0") - } - fun gen_getCurrentOrderData_fn(): UTSArray { - return allOrdersList.value - } - val getCurrentOrderData = ::gen_getCurrentOrderData_fn - val performSearch = fun(){ - val keyword = searchKeyword.value.trim().toLowerCase() - if (keyword == "") { - loadOrders() - return - } - val allOrders = getCurrentOrderData() - val filtered = allOrders.filter(fun(order: Any): Boolean { - val orderObj = order as Record - val orderNo = orderObj["order_no"] as String - if (orderNo != null && orderNo.toLowerCase().includes(keyword)) { - return true - } - val products = orderObj["products"] - if (products != null && UTSArray.isArray(products)) { - return (products as UTSArray).some(fun(product: Any): Boolean { - val productObj = product as Record - val name = productObj["name"] as String - return name != null && name.toLowerCase().includes(keyword) - } - ) - } - return false - } - ) - orders.value = filtered - } - val onSearchInput = fun(e: Any){ - val eObj = e as Record - val detail = eObj["detail"] as Record - searchKeyword.value = detail["value"] as String - performSearch() - } - val onSearchConfirm = fun(){ - performSearch() - } - val clearSearch = fun(){ - searchKeyword.value = "" - performSearch() - } - val switchTab = fun(tabId: String){ - activeTab.value = tabId - filterOrdersByTab() - } - val getStatusText = fun(status: Number): String { - if (status == 1) { - return "待付款" - } - if (status == 2) { - return "待发货" - } - if (status == 3) { - return "待收货" - } - if (status == 4) { - return "已完成" - } - if (status == 5) { - return "已取消" - } - if (status == 6) { - return "退款中" - } - if (status == 7) { - return "已退款" - } - return "未知状态" - } - val getStatusClass = fun(status: Number): String { - if (status == 1) { - return "status-pending" - } - if (status == 2) { - return "status-shipping" - } - if (status == 3) { - return "status-delivering" - } - if (status == 4) { - return "status-completed" - } - if (status == 5) { - return "status-cancelled" - } - if (status == 6) { - return "status-refunding" - } - if (status == 7) { - return "status-refunded" - } - return "status-unknown" - } - val contactSeller = fun(order: OrderItem){ - if (order.merchant_id != "") { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/chat?merchantId=" + order.merchant_id)) - } else { - uni_showToast(ShowToastOptions(title = "暂无卖家联系方式", icon = "none")) - } - } - val deleteOrder = fun(orderId: String){ - uni_showModal(ShowModalOptions(title = "删除订单", content = "确定要删除此订单吗?", success = fun(res){ - if (res.confirm) { - uni_showLoading(ShowLoadingOptions(title = "删除中...")) - supabaseService.deleteOrder(orderId).then(fun(){ - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "订单已删除", icon = "success")) - loadOrders() - } - ).`catch`(fun(){ - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "删除失败", icon = "none")) - } - ) - } - } - )) - } - val onRefresh = fun(){ - refreshing.value = true - setTimeout(fun(){ - loadOrders() - refreshing.value = false - uni_showToast(ShowToastOptions(title = "刷新成功", icon = "success")) - } - , 1000) - } - val loadMore = fun(){ - if (loadingMore.value || !hasMore.value) { - return - } - hasMore.value = false - } - val cancelOrder = fun(orderId: String){ - uni_showModal(ShowModalOptions(title = "确认取消", content = "确定要取消此订单吗?", success = fun(res){ - if (res.confirm) { - uni_showLoading(ShowLoadingOptions(title = "取消中...")) - supabaseService.cancelOrder(orderId).then(fun(success){ - uni_hideLoading() - if (success) { - uni_showToast(ShowToastOptions(title = "订单已取消", icon = "success")) - loadOrders() - } else { - uni_showToast(ShowToastOptions(title = "取消失败", icon = "none")) - } - } - ).`catch`(fun(){ - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "取消失败", icon = "none")) - } - ) - } - } - )) - } - val payOrder = fun(orderId: String){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/payment?orderId=" + orderId)) - } - val remindShipping = fun(orderId: String): UTSPromise { - return wrapUTSPromise(suspend { - uni_showLoading(ShowLoadingOptions(title = "正在提醒...")) - try { - val order = orders.value.find(fun(o): Boolean { - return o.id === orderId - } - ) - if (order != null) { - val merchantId = order.merchant_id - val orderNo = order.order_no - if (merchantId != "") { - val message = "你好,我的订单[" + orderNo + "]还没有发货,请尽快安排,谢谢。" - val success = await(supabaseService.sendChatMessage(message, merchantId)) - if (success) { - console.log("催单消息发送成功", " at pages/mall/consumer/orders.uvue:826") - } else { - console.warn("催单消息发送失败,可能是由于网络原因", " at pages/mall/consumer/orders.uvue:828") - } - } - } - } - catch (e: Throwable) { - console.error("提醒发货异常:", e, " at pages/mall/consumer/orders.uvue:833") - } - finally { - uni_hideLoading() - } - uni_showToast(ShowToastOptions(title = "已提醒卖家发货", icon = "success")) - }) - } - val viewLogistics = fun(orderId: String){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/logistics?orderId=" + orderId)) - } - val goReview = fun(order: OrderItem){ - val productIds = order.products.map(fun(p: OrderProduct): String { - return p.id - } - ).join(",") - val orderId = order.id - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/review?orderId=" + orderId + "&productIds=" + productIds)) - } - val doConfirmReceipt = fun(orderId: String): UTSPromise { - return wrapUTSPromise(suspend { - uni_showLoading(ShowLoadingOptions(title = "处理中...")) - try { - val result = await(supabaseService.confirmReceipt(orderId)) - uni_hideLoading() - if (result.success) { - uni_showToast(ShowToastOptions(title = "收货成功", icon = "success")) - val allIndex = allOrdersList.value.findIndex(fun(o: OrderItem): Boolean { - return o.id === orderId - }) - if (allIndex !== -1) { - allOrdersList.value[allIndex].status = 4 - allOrdersList.value = allOrdersList.value.slice() - } - updateTabsCounts(allOrdersList.value) - filterOrdersByTab() - setTimeout(fun(){ - val order = allOrdersList.value.find(fun(o: OrderItem): Boolean { - return o.id === orderId - }) - if (order != null) { - goReview(order) - } - }, 1000) - } else { - uni_showToast(ShowToastOptions(title = result.error ?: "确认收货失败", icon = "none")) - } - } - catch (e: Throwable) { - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "系统异常", icon = "none")) - } - }) - } - val confirmReceipt = fun(orderId: String){ - uni_showModal(ShowModalOptions(title = "确认收货", content = "请确认您已收到商品,且商品无误", success = fun(res){ - if (res.confirm) { - doConfirmReceipt(orderId) - } - } - )) - } - val repurchase = fun(order: OrderItem){ - val products = order.products - if (products.length === 0) { - uni_showToast(ShowToastOptions(title = "订单无商品", icon = "none")) - return - } - uni_showLoading(ShowLoadingOptions(title = "处理中...")) - var completed: Number = 0 - val total = products.length - var successCount: Number = 0 - run { - var i: Number = 0 - while(i < products.length){ - val product = products[i] - val productId = product.id - val merchantId = order.merchant_id - if (productId != null && productId !== "") { - supabaseService.addToCart(productId, 1, "", merchantId ?: "").then(fun(success: Boolean){ - completed++ - if (success) { - successCount++ - } - if (completed === total) { - uni_hideLoading() - if (successCount > 0) { - uni_showToast(ShowToastOptions(title = "已添加" + successCount + "件商品", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "添加失败", icon = "none")) - } - } - }).`catch`(fun(){ - completed++ - if (completed === total) { - uni_hideLoading() - if (successCount > 0) { - uni_showToast(ShowToastOptions(title = "已添加" + successCount + "件商品", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "添加失败", icon = "none")) - } - } - }) - } else { - completed++ - if (completed === total) { - uni_hideLoading() - if (successCount > 0) { - uni_showToast(ShowToastOptions(title = "已添加" + successCount + "件商品", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "添加失败", icon = "none")) - } - } - } - i++ - } - } - } - val viewOrderDetail = fun(orderId: String){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/order-detail?id=" + orderId)) - } - val onApplyRefund = fun(order: OrderItem){ - val orderId = order.id - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/apply-refund?orderId=" + orderId)) - } - val viewRefundProgress = fun(orderId: String){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/refund?orderId=" + orderId)) - } - val doCancelRefund = fun(orderId: String): UTSPromise { - return wrapUTSPromise(suspend { - uni_showLoading(ShowLoadingOptions(title = "处理中...")) - val result = await(supabaseService.cancelRefund(orderId)) - uni_hideLoading() - if (result.success) { - uni_showToast(ShowToastOptions(title = "已取消退款", icon = "success")) - loadOrders() - } else { - uni_showToast(ShowToastOptions(title = result.message, icon = "none")) - } - }) - } - val cancelRefund = fun(orderId: String){ - uni_showModal(ShowModalOptions(title = "确认取消", content = "确定要取消退款申请吗?", success = fun(res){ - if (res.confirm) { - doCancelRefund(orderId) - } - } - )) - } - val handleOrderAction = fun(order: OrderItem, action: String){ - if (action === "取消订单") { - cancelOrder(order.id) - } else if (action === "联系卖家") { - contactSeller(order) - } else if (action === "提醒发货") { - remindShipping(order.id) - } else if (action === "申请退款" || action === "申请售后") { - onApplyRefund(order) - } else if (action === "查看物流") { - viewLogistics(order.id) - } else if (action === "确认收货") { - confirmReceipt(order.id) - } else if (action === "再次购买") { - repurchase(order) - } else if (action === "删除订单") { - deleteOrder(order.id) - } else if (action === "退款进度") { - viewRefundProgress(order.id) - } else if (action === "取消退款") { - cancelRefund(order.id) - } - } - val showOrderMenu = fun(order: OrderItem){ - val status = order.status - var actions: UTSArray = _uA() - if (status === 1) { - actions = _uA( - "取消订单", - "联系卖家" - ) - } else if (status === 2) { - actions = _uA( - "提醒发货", - "申请退款", - "联系卖家" - ) - } else if (status === 3) { - actions = _uA( - "查看物流", - "确认收货", - "申请退款", - "联系卖家" - ) - } else if (status === 4) { - actions = _uA( - "申请售后", - "再次购买", - "联系卖家" - ) - } else if (status === 5) { - actions = _uA( - "删除订单", - "再次购买", - "联系卖家" - ) - } else if (status === 6) { - actions = _uA( - "取消退款", - "退款进度", - "联系卖家" - ) - } else if (status === 7) { - actions = _uA( - "再次购买", - "联系卖家" - ) - } - uni_showActionSheet(ShowActionSheetOptions(itemList = actions, success = fun(res){ - val action = actions[res.tapIndex] - handleOrderAction(order, action) - } - )) - } - val navigateToProduct = fun(product: OrderProduct){ - val productId = product.id - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?id=" + productId)) - } - val goShopping = fun(){ - uni_switchTab(SwitchTabOptions(url = "/pages/main/index")) - } - val shareForFree = fun(order: OrderItem): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (order.products.length === 0) { - uni_showToast(ShowToastOptions(title = "没有可分享的商品", icon = "none")) - return@w1 - } - val firstProduct = order.products[0] - try { - uni_showLoading(ShowLoadingOptions(title = "创建分享...")) - val result = await(supabaseService.createShareRecord(firstProduct.id, order.id, "", firstProduct.name, firstProduct.image, firstProduct.price)) - uni_hideLoading() - val shareIdRaw = result.get("id") - val shareCodeRaw = result.get("share_code") - if (shareIdRaw != null && shareCodeRaw != null) { - val shareId = shareIdRaw as String - val shareCode = shareCodeRaw as String - uni_showModal(ShowModalOptions(title = "分享成功", content = "您的分享码: " + shareCode + "\n分享给好友,当有4人购买后即可免单!", confirmText = "查看详情", success = fun(res){ - if (res.confirm) { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/share/detail?id=" + shareId)) - } - })) - } else { - uni_showToast(ShowToastOptions(title = "分享创建失败", icon = "none")) - } - } - catch (e: Throwable) { - uni_hideLoading() - console.error("[shareForFree] 创建分享失败:", e, " at pages/mall/consumer/orders.uvue:1153") - uni_showToast(ShowToastOptions(title = "分享失败", icon = "none")) - } - }) - } - return fun(): Any? { - return _cE("view", _uM("class" to "orders-page"), _uA( - _cE("view", _uM("class" to "orders-header", "style" to _nS(_uM("paddingTop" to (statusBarHeight.value + "px")))), _uA( - _cE("view", _uM("class" to "header-search full-width"), _uA( - _cE("input", _uM("class" to "search-input", "type" to "text", "placeholder" to "搜索订单号或商品名称", "value" to searchKeyword.value, "onInput" to onSearchInput, "onConfirm" to onSearchConfirm), null, 40, _uA( - "value" - )), - if (isTrue(searchKeyword.value)) { - _cE("text", _uM("key" to 0, "class" to "search-clear", "onClick" to clearSearch), "×") - } else { - _cE("text", _uM("key" to 1, "class" to "search-icon"), "🔍") - } - )) - ), 4), - _cE("view", _uM("class" to "order-tabs-fixed-container"), _uA( - _cE("view", _uM("class" to _nC(_uA( - "tab-item-fixed", - _uM("active" to (activeTab.value === "all")) - )), "onClick" to fun(){ - switchTab("all") - } - ), _uA( - _cE("text", _uM("class" to "tab-name"), "全部"), - if (activeTab.value === "all") { - _cE("view", _uM("key" to 0, "class" to "active-indicator")) - } else { - _cC("v-if", true) - } - ), 10, _uA( - "onClick" - )), - _cE("scroll-view", _uM("scroll-x" to "true", "class" to "tab-scroll-mobile", "show-scrollbar" to false, "scroll-with-animation" to true), _uA( - _cE("view", _uM("class" to "tab-container-mobile"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(orderTabsMobile.value, fun(tab, __key, __index, _cached): Any { - return _cE("view", _uM("key" to tab.id, "class" to _nC(_uA( - "tab-item-mobile", - _uM("active" to (activeTab.value === tab.id)) - )), "onClick" to fun(){ - switchTab(tab.id) - } - ), _uA( - _cE("text", _uM("class" to "tab-name"), _tD(tab.name), 1), - if (tab.count > 0) { - _cE("text", _uM("key" to 0, "class" to "tab-count"), _tD(tab.count), 1) - } else { - _cC("v-if", true) - } - , - if (activeTab.value === tab.id) { - _cE("view", _uM("key" to 1, "class" to "active-indicator")) - } else { - _cC("v-if", true) - } - ), 10, _uA( - "onClick" - )) - } - ), 128) - )) - )) - )), - _cE("scroll-view", _uM("direction" to "vertical", "class" to "orders-content", "refresher-enabled" to "", "refresher-triggered" to refreshing.value, "onRefresherrefresh" to onRefresh, "onScrolltolower" to loadMore), _uA( - if (isTrue(!loading.value && orders.value.length === 0)) { - _cE("view", _uM("key" to 0, "class" to "empty-orders"), _uA( - _cE("text", _uM("class" to "empty-icon"), "📦"), - _cE("text", _uM("class" to "empty-title"), "暂无订单"), - _cE("text", _uM("class" to "empty-desc"), "去逛逛,发现心仪的商品"), - _cE("button", _uM("class" to "go-shopping-btn", "onClick" to goShopping), "去逛逛") - )) - } else { - _cE("view", _uM("key" to 1, "class" to "order-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(orders.value, fun(order, __key, __index, _cached): Any { - return _cE("view", _uM("key" to order.id, "class" to "order-card", "onClick" to fun(){ - viewOrderDetail(order.id) - } - ), _uA( - _cE("view", _uM("class" to "order-card-header"), _uA( - _cE("view", _uM("class" to "shop-info"), _uA( - _cE("text", _uM("class" to "shop-icon"), "🏪"), - _cE("text", _uM("class" to "shop-name"), _tD(if (order.shop_name != null && order.shop_name != "") { - order.shop_name - } else { - "自营店铺" - } - ), 1), - _cE("text", _uM("class" to "arrow-right"), "›") - )), - _cE("view", _uM("class" to "status-row"), _uA( - _cE("text", _uM("class" to _nC(_uA( - "order-status", - getStatusClass(order.status) - ))), _tD(getStatusText(order.status)), 3), - _cE("text", _uM("class" to "more-btn", "onClick" to withModifiers(fun(){ - showOrderMenu(order) - } - , _uA( - "stop" - ))), "⋯", 8, _uA( - "onClick" - )) - )) - )), - _cE("view", _uM("class" to "order-products"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(order.products, fun(product, __key, __index, _cached): Any { - return _cE("view", _uM("key" to product.id, "class" to "order-product"), _uA( - _cE("image", _uM("class" to "product-image", "src" to product.image, "mode" to "aspectFill", "onClick" to withModifiers(fun(){ - navigateToProduct(product) - } - , _uA( - "stop" - ))), null, 8, _uA( - "src", - "onClick" - )), - _cE("view", _uM("class" to "product-info"), _uA( - _cE("view", _uM("class" to "product-top-info"), _uA( - _cE("text", _uM("class" to "product-name"), _tD(product.name), 1), - _cE("text", _uM("class" to "product-spec"), _tD(product.spec), 1) - )), - _cE("view", _uM("class" to "product-footer"), _uA( - _cE("text", _uM("class" to "product-price"), "¥" + _tD(product.price), 1), - _cE("text", _uM("class" to "product-quantity"), "x" + _tD(product.quantity), 1) - )) - )) - )) - } - ), 128) - )), - _cE("view", _uM("class" to "order-summary"), _uA( - _cE("text", _uM("class" to "order-time"), _tD(formatDate(order.create_time)), 1), - _cE("view", _uM("class" to "summary-right"), _uA( - _cE("text", _uM("class" to "summary-label"), "共" + _tD(order.products.length) + "件商品 实付:", 1), - _cE("text", _uM("class" to "summary-price"), "¥" + _tD(order.total_amount), 1) - )) - )), - if (isTrue(order.status >= 2 && order.status <= 4 && isShareFreeEnabled(order.merchant_id))) { - _cE("view", _uM("key" to 0, "class" to "share-free-row", "onClick" to withModifiers(fun(){ - shareForFree(order) - }, _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "share-free-icon"), "🎁"), - _cE("text", _uM("class" to "share-free-text"), "分享免单"), - _cE("text", _uM("class" to "share-free-tip"), "分享给好友," + _tD(getRequiredCount(order.merchant_id)) + "人购买即可免单", 1), - _cE("text", _uM("class" to "share-free-arrow"), "›") - ), 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "order-actions", "onClick" to withModifiers(fun(){}, _uA( - "stop" - ))), _uA( - if (order.status === 1) { - _cE("view", _uM("key" to 0, "class" to "action-buttons"), _uA( - _cE("button", _uM("class" to "action-btn cancel", "onClick" to fun(){ - cancelOrder(order.id) - }), "取消订单", 8, _uA( - "onClick" - )), - _cE("button", _uM("class" to "action-btn pay", "onClick" to fun(){ - payOrder(order.id) - }), "立即支付", 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - , - if (order.status === 2) { - _cE("view", _uM("key" to 1, "class" to "action-buttons"), _uA( - _cE("button", _uM("class" to "action-btn remind", "onClick" to withModifiers(fun(){ - remindShipping(order.id) - }, _uA( - "stop" - ))), "提醒发货", 8, _uA( - "onClick" - )), - _cE("button", _uM("class" to "action-btn refund", "onClick" to withModifiers(fun(){ - onApplyRefund(order) - }, _uA( - "stop" - ))), "申请售后", 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - , - if (order.status === 3) { - _cE("view", _uM("key" to 2, "class" to "action-buttons"), _uA( - _cE("button", _uM("class" to "action-btn view", "onClick" to withModifiers(fun(){ - viewLogistics(order.id) - }, _uA( - "stop" - ))), "查看物流", 8, _uA( - "onClick" - )), - _cE("button", _uM("class" to "action-btn confirm", "onClick" to withModifiers(fun(){ - confirmReceipt(order.id) - }, _uA( - "stop" - ))), "确认收货", 8, _uA( - "onClick" - )), - _cE("button", _uM("class" to "action-btn refund", "onClick" to withModifiers(fun(){ - onApplyRefund(order) - }, _uA( - "stop" - ))), "申请售后", 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - , - if (order.status === 4) { - _cE("view", _uM("key" to 3, "class" to "action-buttons"), _uA( - _cE("button", _uM("class" to "action-btn review", "onClick" to withModifiers(fun(){ - goReview(order) - }, _uA( - "stop" - ))), "评价", 8, _uA( - "onClick" - )), - _cE("button", _uM("class" to "action-btn refund", "onClick" to withModifiers(fun(){ - onApplyRefund(order) - }, _uA( - "stop" - ))), "申请售后", 8, _uA( - "onClick" - )), - _cE("button", _uM("class" to "action-btn repurchase", "onClick" to withModifiers(fun(){ - repurchase(order) - }, _uA( - "stop" - ))), "再次购买", 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - , - if (order.status === 5) { - _cE("view", _uM("key" to 4, "class" to "action-buttons"), _uA( - _cE("button", _uM("class" to "action-btn view", "onClick" to withModifiers(fun(){ - viewOrderDetail(order.id) - }, _uA( - "stop" - ))), "查看详情", 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - , - if (order.status === 6) { - _cE("view", _uM("key" to 5, "class" to "action-buttons"), _uA( - _cE("button", _uM("class" to "action-btn view", "onClick" to withModifiers(fun(){ - viewOrderDetail(order.id) - }, _uA( - "stop" - ))), "查看详情", 8, _uA( - "onClick" - )), - _cE("button", _uM("class" to "action-btn cancel", "onClick" to withModifiers(fun(){ - cancelRefund(order.id) - }, _uA( - "stop" - ))), "取消退款", 8, _uA( - "onClick" - )), - _cE("button", _uM("class" to "action-btn refund", "onClick" to withModifiers(fun(){ - viewRefundProgress(order.id) - }, _uA( - "stop" - ))), "退款进度", 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - , - if (order.status === 7) { - _cE("view", _uM("key" to 6, "class" to "action-buttons"), _uA( - _cE("button", _uM("class" to "action-btn view", "onClick" to fun(){ - viewOrderDetail(order.id) - }), "查看详情", 8, _uA( - "onClick" - )), - _cE("button", _uM("class" to "action-btn repurchase", "onClick" to fun(){ - repurchase(order) - }), "再次购买", 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - ), 8, _uA( - "onClick" - )) - ), 8, _uA( - "onClick" - )) - } - ), 128) - )) - } - , - if (isTrue(loadingMore.value)) { - _cE("view", _uM("key" to 2, "class" to "loading-more"), _uA( - _cE("view", _uM("class" to "loading-spinner")), - _cE("text", null, "加载中...") - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(!hasMore.value && orders.value.length > 0)) { - _cE("view", _uM("key" to 3, "class" to "no-more"), _uA( - _cE("text", null, "没有更多订单了") - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "safe-area")) - ), 40, _uA( - "refresher-triggered" - )), - _cE("view", _uM("class" to "tabbar-placeholder")) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("orders-page" to _pS(_uM("display" to "flex", "flexDirection" to "column", "width" to "100%", "height" to "100%", "backgroundColor" to "#f5f5f5", "overflow" to "hidden")), "orders-header" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 10, "paddingRight" to 15, "paddingBottom" to 10, "paddingLeft" to 15, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "width" to "100%", "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#eeeeee", "zIndex" to 999, "position" to "relative", "boxSizing" to "border-box", "flexShrink" to 0)), "header-search" to _uM(".full-width" to _uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "position" to "relative", "width" to "100%", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "search-input" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 36, "lineHeight" to "36px", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#dddddd", "borderRightColor" to "#dddddd", "borderBottomColor" to "#dddddd", "borderLeftColor" to "#dddddd", "borderTopLeftRadius" to 18, "borderTopRightRadius" to 18, "borderBottomRightRadius" to 18, "borderBottomLeftRadius" to 18, "paddingTop" to 0, "paddingRight" to 40, "paddingBottom" to 0, "paddingLeft" to 16, "fontSize" to 14, "backgroundColor" to "#f5f5f5", "color" to "#333333", "width" to "100%", "display" to "flex", "alignItems" to "center", "color::placeholder" to "#999999", "fontSize::placeholder" to 12, "borderTopColor:focus" to "#ff5000", "borderRightColor:focus" to "#ff5000", "borderBottomColor:focus" to "#ff5000", "borderLeftColor:focus" to "#ff5000", "backgroundColor:focus" to "#FFFFFF")), "search-icon" to _pS(_uM("position" to "absolute", "right" to 12, "fontSize" to 18, "color" to "#999999")), "search-clear" to _pS(_uM("position" to "absolute", "right" to 12, "fontSize" to 20, "color" to "#999999", "width" to 20, "height" to 20, "lineHeight" to "18px", "textAlign" to "center", "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "backgroundColor" to "#dddddd")), "order-tabs-fixed-container" to _pS(_uM("backgroundColor" to "#ffffff", "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f0f0f0", "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "width" to "100%", "!zIndex" to 100, "flexShrink" to 0, "position" to "relative")), "orders-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "width" to "100%", "minHeight" to 0, "backgroundColor" to "#f5f5f5", "height" to 0)), "tab-item-fixed" to _uM("" to _uM("paddingTop" to 0, "paddingRight" to 15, "paddingBottom" to 0, "paddingLeft" to 15, "textAlign" to "center", "position" to "relative", "display" to "flex", "justifyContent" to "center", "alignItems" to "center", "whiteSpace" to "nowrap", "flexShrink" to 0, "minWidth" to 60, "height" to "100%"), ".active" to _uM("color" to "#ff5000", "fontWeight" to "bold")), "tab-scroll-mobile" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "whiteSpace" to "nowrap", "display" to "flex", "flexDirection" to "row")), "tab-container-mobile" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "nowrap")), "tab-item-mobile" to _uM("" to _uM("paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "textAlign" to "center", "position" to "relative", "display" to "flex", "flexDirection" to "row", "justifyContent" to "center", "alignItems" to "center", "whiteSpace" to "nowrap", "flexShrink" to 0), ".active" to _uM("color" to "#ff5000", "fontWeight" to "bold")), "active-indicator" to _pS(_uM("position" to "absolute", "bottom" to 0, "left" to 10, "right" to 10, "height" to 3, "backgroundColor" to "#ff5000", "borderTopLeftRadius" to 2, "borderTopRightRadius" to 2, "borderBottomRightRadius" to 2, "borderBottomLeftRadius" to 2)), "tab-name" to _pS(_uM("fontSize" to 14)), "tab-count" to _pS(_uM("marginLeft" to 4, "backgroundColor" to "#ff5000", "color" to "#FFFFFF", "fontSize" to 10, "paddingTop" to 1, "paddingRight" to 4, "paddingBottom" to 1, "paddingLeft" to 4, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "minWidth" to 12, "textAlign" to "center")), "empty-orders" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 80, "paddingRight" to 20, "paddingBottom" to 80, "paddingLeft" to 20)), "empty-icon" to _pS(_uM("fontSize" to 80, "color" to "#dddddd", "marginBottom" to 20)), "empty-title" to _pS(_uM("fontSize" to 18, "color" to "#666666", "marginBottom" to 10)), "empty-desc" to _pS(_uM("fontSize" to 14, "color" to "#999999", "marginBottom" to 30)), "go-shopping-btn" to _pS(_uM("backgroundColor" to "#ff5000", "color" to "#FFFFFF", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "paddingTop" to 10, "paddingRight" to 40, "paddingBottom" to 10, "paddingLeft" to 40, "fontSize" to 16)), "order-list" to _pS(_uM("paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10, "width" to "100%", "boxSizing" to "border-box")), "order-card" to _pS(_uM("backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "marginBottom" to 10, "overflow" to "hidden", "boxShadow" to "0 2px 8px rgba(0, 0, 0, 0.08)", "flexShrink" to 0, "boxSizing" to "border-box")), "order-header" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5")), "order-no" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "order-status" to _pS(_uM("fontSize" to 14, "fontWeight" to "bold")), "status-pending" to _pS(_uM("color" to "#ff5000")), "status-shipping" to _pS(_uM("color" to "#ff9500")), "status-delivering" to _pS(_uM("color" to "#007aff")), "status-completed" to _pS(_uM("color" to "#34c759")), "status-cancelled" to _pS(_uM("color" to "#999999")), "status-refunding" to _pS(_uM("color" to "#ff5000")), "status-refunded" to _pS(_uM("color" to "#999999")), "order-products" to _pS(_uM("paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15)), "order-product" to _pS(_uM("display" to "flex", "flexDirection" to "row", "marginBottom" to 15, "width" to "100%", "marginBottom:last-child" to 0)), "product-image" to _pS(_uM("width" to 80, "height" to 80, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginRight" to 12, "flexShrink" to 0)), "product-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "justifyContent" to "space-between", "height" to 80, "overflow" to "hidden")), "product-top-info" to _pS(_uM("display" to "flex", "flexDirection" to "column", "width" to "100%")), "product-name" to _pS(_uM("fontSize" to 14, "color" to "#333333", "lineHeight" to 1.4, "overflow" to "hidden", "textOverflow" to "ellipsis", "lines" to 2)), "product-spec" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginTop" to 2)), "product-footer" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginTop" to "auto")), "product-price" to _pS(_uM("fontSize" to 16, "color" to "#ff5000", "fontWeight" to "bold")), "product-quantity" to _pS(_uM("fontSize" to 13, "color" to "#999999")), "order-info" to _pS(_uM("paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#f5f5f5", "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5")), "info-row" to _uM("" to _uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 8, "marginBottom:last-child" to 0), ".total" to _uM("marginTop" to 8, "paddingTop" to 8, "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#f5f5f5")), "info-label" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "info-value" to _pS(_uM("fontSize" to 14, "color" to "#333333")), "total-price" to _pS(_uM("fontSize" to 18, "color" to "#ff5000", "fontWeight" to "bold")), "order-actions" to _pS(_uM("paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15)), "action-buttons" to _pS(_uM("display" to "flex", "justifyContent" to "flex-end")), "action-btn" to _uM("" to _uM("paddingTop" to 6, "paddingRight" to 15, "paddingBottom" to 6, "paddingLeft" to 15, "borderTopLeftRadius" to 15, "borderTopRightRadius" to 15, "borderBottomRightRadius" to 15, "borderBottomLeftRadius" to 15, "fontSize" to 13, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "backgroundColor" to "rgba(0,0,0,0)", "marginLeft" to 10), ".cancel" to _uM("color" to "#ff6b6b", "borderTopColor" to "#ff6b6b", "borderRightColor" to "#ff6b6b", "borderBottomColor" to "#ff6b6b", "borderLeftColor" to "#ff6b6b"), ".pay" to _uM("color" to "#ff5000", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000"), ".remind" to _uM("color" to "#666666", "borderTopColor" to "#cccccc", "borderRightColor" to "#cccccc", "borderBottomColor" to "#cccccc", "borderLeftColor" to "#cccccc"), ".view" to _uM("color" to "#666666", "borderTopColor" to "#cccccc", "borderRightColor" to "#cccccc", "borderBottomColor" to "#cccccc", "borderLeftColor" to "#cccccc"), ".confirm" to _uM("color" to "#34c759", "borderTopColor" to "#34c759", "borderRightColor" to "#34c759", "borderBottomColor" to "#34c759", "borderLeftColor" to "#34c759"), ".refund" to _uM("color" to "#666666", "borderTopColor" to "#cccccc", "borderRightColor" to "#cccccc", "borderBottomColor" to "#cccccc", "borderLeftColor" to "#cccccc"), ".review" to _uM("color" to "#ff9500", "borderTopColor" to "#ff9500", "borderRightColor" to "#ff9500", "borderBottomColor" to "#ff9500", "borderLeftColor" to "#ff9500"), ".repurchase" to _uM("color" to "#ff5000", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000")), "loading-more" to _pS(_uM("paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center")), "loading-spinner" to _pS(_uM("width" to 24, "height" to 24, "borderTopWidth" to 2, "borderRightWidth" to 2, "borderBottomWidth" to 2, "borderLeftWidth" to 2, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ff5000", "borderRightColor" to "#f0f5ff", "borderBottomColor" to "#f0f5ff", "borderLeftColor" to "#f0f5ff", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "marginBottom" to 10)), "no-more" to _pS(_uM("textAlign" to "center", "color" to "#999999", "fontSize" to 13, "paddingTop" to 20, "paddingRight" to 0, "paddingBottom" to 20, "paddingLeft" to 0)), "safe-area" to _pS(_uM("height" to 20)), "tabbar-placeholder" to _pS(_uM("height" to 50, "backgroundColor" to "#f5f5f5")), "order-card-header" to _pS(_uM("paddingTop" to 12, "paddingRight" to 15, "paddingBottom" to 12, "paddingLeft" to 15, "display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f9f9f9")), "status-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "more-btn" to _pS(_uM("fontSize" to 18, "color" to "#999999", "marginLeft" to 8, "paddingTop" to 0, "paddingRight" to 5, "paddingBottom" to 0, "paddingLeft" to 5)), "shop-info" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "shop-icon" to _pS(_uM("fontSize" to 16, "marginRight" to 6)), "shop-name" to _pS(_uM("fontSize" to 14, "fontWeight" to "bold", "color" to "#333333", "maxWidth" to 150, "overflow" to "hidden", "textOverflow" to "ellipsis", "lines" to 1)), "arrow-right" to _pS(_uM("fontSize" to 14, "color" to "#cccccc", "marginLeft" to 4)), "product-title-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "flex-start", "marginBottom" to 4)), "product-spec-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "flex-start", "marginTop" to 2)), "order-summary" to _pS(_uM("paddingTop" to 10, "paddingRight" to 15, "paddingBottom" to 10, "paddingLeft" to 15, "display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#f9f9f9")), "order-time" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "summary-right" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "summary-label" to _pS(_uM("fontSize" to 12, "color" to "#666666", "marginRight" to 5)), "summary-price" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "share-free-row" to _pS(_uM("marginTop" to 0, "marginRight" to 15, "marginBottom" to 10, "marginLeft" to 15, "paddingTop" to 12, "paddingRight" to 15, "paddingBottom" to 12, "paddingLeft" to 15, "backgroundImage" to "linear-gradient(135deg, #fff5f0 0%, #ffecd2 100%)", "backgroundColor" to "rgba(0,0,0,0)", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "share-free-icon" to _pS(_uM("fontSize" to 20, "marginRight" to 8)), "share-free-text" to _pS(_uM("fontSize" to 14, "fontWeight" to "bold", "color" to "#ff6b35", "marginRight" to 8)), "share-free-tip" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to 12, "color" to "#ff8c42")), "share-free-arrow" to _pS(_uM("fontSize" to 16, "color" to "#ff8c42"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/payment-success.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/payment-success.kt deleted file mode 100644 index 9080bd6c..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/payment-success.kt +++ /dev/null @@ -1,129 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMallConsumerPaymentSuccess : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerPaymentSuccess) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerPaymentSuccess - val _cache = __ins.renderCache - val orderId = ref("") - val orderNo = ref("") - val amount = ref(0) - val loadOrderInfo = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val response = await(supabaseService.getOrderById(orderId.value)) - console.log("[payment-success] getOrderById response:", JSON.stringify(response), " at pages/mall/consumer/payment-success.uvue:35") - if (response != null) { - val orderData = response as UTSJSONObject - val totalAmount = orderData.getNumber("total_amount") - val paidAmount = orderData.getNumber("paid_amount") - console.log("[payment-success] total_amount:", totalAmount, "paid_amount:", paidAmount, " at pages/mall/consumer/payment-success.uvue:41") - if (paidAmount != null && paidAmount > 0) { - amount.value = paidAmount - } else if (totalAmount != null && totalAmount > 0) { - amount.value = totalAmount - } - val orderNoVal = orderData.getString("order_no") - if (orderNoVal != null && orderNoVal != "") { - orderNo.value = orderNoVal - } - } - } - catch (err: Throwable) { - console.error("[payment-success] 加载订单信息失败:", err, " at pages/mall/consumer/payment-success.uvue:55") - } - }) - } - onLoad(fun(options){ - if (options == null) { - return - } - val orderIdValue = options["orderId"] - if (orderIdValue != null) { - orderId.value = orderIdValue as String - orderNo.value = orderIdValue as String - val amountValue = options["amount"] - if (amountValue != null) { - val amountStr = amountValue.toString() - console.log("[payment-success] amountStr:", amountStr, " at pages/mall/consumer/payment-success.uvue:70") - val parsed = parseFloat(amountStr) - console.log("[payment-success] parsed:", parsed, " at pages/mall/consumer/payment-success.uvue:72") - if (isNaN(parsed) == false) { - amount.value = parsed - } - } - if (amount.value == 0) { - console.log("[payment-success] amount为0,尝试从数据库查询", " at pages/mall/consumer/payment-success.uvue:79") - } - loadOrderInfo() - } - } - ) - onMounted(fun(){}) - val viewOrder = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/orders")) - } - val goHome = fun(){ - uni_switchTab(SwitchTabOptions(url = "/pages/main/index")) - } - return fun(): Any? { - return _cE("view", _uM("class" to "payment-success-page"), _uA( - _cE("view", _uM("class" to "success-content"), _uA( - _cE("view", _uM("class" to "icon-wrapper"), _uA( - _cE("text", _uM("class" to "success-icon"), "✓") - )), - _cE("text", _uM("class" to "success-title"), "支付成功"), - _cE("text", _uM("class" to "success-desc"), "您的订单已支付成功,我们将尽快为您发货"), - if (isTrue(orderId.value)) { - _cE("view", _uM("key" to 0, "class" to "order-info"), _uA( - _cE("text", _uM("class" to "info-text"), "订单编号:" + _tD(orderNo.value), 1), - _cE("text", _uM("class" to "info-text"), "支付金额:¥" + _tD(amount.value.toFixed(2)), 1) - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "action-buttons"), _uA( - _cE("button", _uM("class" to "btn primary-btn", "onClick" to viewOrder), "查看订单"), - _cE("button", _uM("class" to "btn secondary-btn", "onClick" to goHome), "返回首页") - )) - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("payment-success-page" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#ffffff", "paddingTop" to 0, "paddingRight" to 30, "paddingBottom" to 0, "paddingLeft" to 30)), "success-content" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "width" to "100%")), "icon-wrapper" to _pS(_uM("width" to 80, "height" to 80, "borderTopLeftRadius" to 40, "borderTopRightRadius" to 40, "borderBottomRightRadius" to 40, "borderBottomLeftRadius" to 40, "backgroundColor" to "#4cd964", "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "marginBottom" to 20, "boxShadow" to "0 4px 10px rgba(76, 217, 100, 0.3)")), "success-icon" to _pS(_uM("fontSize" to 40, "color" to "#ffffff", "fontWeight" to "bold")), "success-title" to _pS(_uM("fontSize" to 24, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 10)), "success-desc" to _pS(_uM("fontSize" to 14, "color" to "#999999", "textAlign" to "center", "marginBottom" to 30, "lineHeight" to 1.5)), "order-info" to _pS(_uM("backgroundColor" to "#f9f9f9", "paddingTop" to 15, "paddingRight" to 20, "paddingBottom" to 15, "paddingLeft" to 20, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "width" to "100%", "marginBottom" to 30, "display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "info-text" to _pS(_uM("fontSize" to 14, "color" to "#666666", "marginBottom" to 5)), "action-buttons" to _pS(_uM("width" to "100%", "display" to "flex", "flexDirection" to "column")), "btn" to _pS(_uM("width" to "100%", "height" to 45, "lineHeight" to "45px", "textAlign" to "center", "borderTopLeftRadius" to 22.5, "borderTopRightRadius" to 22.5, "borderBottomRightRadius" to 22.5, "borderBottomLeftRadius" to 22.5, "fontSize" to 16, "fontWeight" to "bold", "marginBottom" to 15, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center")), "primary-btn" to _pS(_uM("backgroundColor" to "#007aff", "color" to "#ffffff", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000")), "secondary-btn" to _pS(_uM("backgroundColor" to "#ffffff", "color" to "#666666", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#cccccc", "borderRightColor" to "#cccccc", "borderBottomColor" to "#cccccc", "borderLeftColor" to "#cccccc"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/payment.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/payment.kt deleted file mode 100644 index a44b4d03..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/payment.kt +++ /dev/null @@ -1,539 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.`$emit` as uni__emit -import io.dcloud.uniapp.extapi.getStorageSync as uni_getStorageSync -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.redirectTo as uni_redirectTo -import io.dcloud.uniapp.extapi.setStorageSync as uni_setStorageSync -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerPayment : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerPayment) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerPayment - val _cache = __ins.renderCache - val orderId = ref("") - val orderNo = ref("") - val amount = ref(0) - val paymentMethods = ref(_uA()) - val selectedMethod = ref("wechat") - val userBalance = ref(0) - val isPaying = ref(false) - val showPassword = ref(false) - val password = ref("") - val productAmount = ref(0) - val deliveryFee = ref(0) - val discountAmount = ref(0) - val loadPaymentMethods = fun(){ - val methods = _uA( - PaymentMethodType(id = "wechat", name = "微信支付", description = "推荐安装微信5.0及以上版本使用", icon = "💳", enabled = true), - PaymentMethodType(id = "alipay", name = "支付宝", description = "推荐安装支付宝10.0及以上版本使用", icon = "💳", enabled = true), - PaymentMethodType(id = "balance", name = "余额支付", description = "使用账户余额支付", icon = "💰", enabled = true), - PaymentMethodType(id = "bankcard", name = "银行卡支付", description = "支持储蓄卡、信用卡", icon = "💳", enabled = true) - ) as UTSArray - paymentMethods.value = methods - } - val loadUserBalance = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val balance = await(supabaseService.getUserBalanceNumber()) - userBalance.value = balance - } - catch (err: Throwable) { - console.error("加载用户余额异常:", err, " at pages/mall/consumer/payment.uvue:178") - userBalance.value = 0 - } - }) - } - val calculatePriceDetails = fun(totalAmount: Number){ - productAmount.value = totalAmount * 0.8 - deliveryFee.value = totalAmount * 0.1 - discountAmount.value = totalAmount * 0.1 - val calculatedTotal = productAmount.value + deliveryFee.value - discountAmount.value - if (Math.abs(calculatedTotal - totalAmount) > 0.01) { - productAmount.value = totalAmount + discountAmount.value - deliveryFee.value - } - } - val updateOrderInStorage = fun(targetOrderId: String, status: Number){ - try { - val ordersStr = uni_getStorageSync("orders") - var orders: UTSArray> = _uA() - if (ordersStr != null && ordersStr !== "") { - val parsed = UTSAndroid.consoleDebugError(JSON.parse(ordersStr as String), " at pages/mall/consumer/payment.uvue:206") - if (UTSArray.isArray(parsed)) { - run { - var i: Number = 0 - while(i < (parsed as UTSArray).length){ - val itemStr = JSON.stringify((parsed as UTSArray)[i]) - val itemParsed = UTSAndroid.consoleDebugError(JSON.parse(itemStr), " at pages/mall/consumer/payment.uvue:211") - if (itemParsed != null) { - orders.push(itemParsed as Record) - } - i++ - } - } - } - } - var foundIndex: Number = -1 - run { - var i: Number = 0 - while(i < orders.length){ - val o = orders[i] - if (o["id"] === targetOrderId) { - foundIndex = i - break - } - i++ - } - } - if (foundIndex !== -1) { - orders[foundIndex]["status"] = status - orders[foundIndex]["payment_status"] = if (status === 2) { - 1 - } else { - 0 - } - orders[foundIndex]["updated_at"] = Date().toISOString() - uni_setStorageSync("orders", JSON.stringify(orders)) - console.log("订单状态已更新到Storage (orders):", targetOrderId, status, " at pages/mall/consumer/payment.uvue:234") - } else { - console.log("本地缓存中无订单数据,已忽略:", targetOrderId, " at pages/mall/consumer/payment.uvue:237") - } - } - catch (e: Throwable) { - console.error("更新订单状态失败", e, " at pages/mall/consumer/payment.uvue:240") - } - } - val cancelPayment = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - updateOrderInStorage(orderId.value, 1) - uni__emit("orderUpdated", object : UTSJSONObject() { - var orderId = orderId.value - var status: Number = 1 - }) - uni_showToast(ShowToastOptions(title = "已保存到待支付订单", icon = "success")) - setTimeout(fun(){ - uni_navigateBack(null) - } - , 1500) - } - catch (err: Throwable) { - console.error("取消支付异常:", err, " at pages/mall/consumer/payment.uvue:267") - uni_showToast(ShowToastOptions(title = "操作失败", icon = "none")) - } - }) - } - val goBack = fun(){ - uni_showModal(ShowModalOptions(title = "取消支付", content = "确定要取消支付吗?取消后订单将保存到待支付订单中", confirmText = "取消支付", cancelText = "继续支付", success = fun(res){ - if (res.confirm) { - cancelPayment() - } - } - )) - } - val loadOrderInfo = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - try { - if (orderId.value == "") { - return@w1 - } - val order = await(supabaseService.getOrderDetail(orderId.value)) - if (order != null) { - val orderStr = JSON.stringify(order) - val orderParsed = UTSAndroid.consoleDebugError(JSON.parse(orderStr), " at pages/mall/consumer/payment.uvue:300") - if (orderParsed == null) { - console.error("订单数据解析失败", " at pages/mall/consumer/payment.uvue:302") - return@w1 - } - val orderObj = orderParsed as UTSJSONObject - val orderNoVal = orderObj.getString("order_no") - if (orderNoVal != null) { - orderNo.value = orderNoVal - } - val totalAmount = orderObj.getNumber("total_amount") - val dbAmount = totalAmount ?: 0 - if (dbAmount > 0) { - amount.value = dbAmount - } - val items = orderObj.get("items") - if (items != null && UTSArray.isArray(items) && (items as UTSArray).length > 0) {} - } else { - console.warn("Order not found in DB", orderId.value, " at pages/mall/consumer/payment.uvue:323") - if (orderNo.value == "") { - orderNo.value = "ORD_PENDING_" + Date.now() - } - } - } - catch (err: Throwable) { - console.error("加载订单信息异常:", err, " at pages/mall/consumer/payment.uvue:327") - } - }) - } - onLoad(fun(options){ - if (options != null) { - val orderIdValue = options["orderId"] - if (orderIdValue != null) { - orderId.value = orderIdValue as String - loadOrderInfo() - } - val amountValue = options["amount"] - if (amountValue != null) { - amount.value = parseFloat(amountValue.toString()) - } - val productAmountValue = options["productAmount"] - if (productAmountValue != null) { - productAmount.value = parseFloat(productAmountValue.toString()) - } - val deliveryFeeValue = options["deliveryFee"] - if (deliveryFeeValue != null) { - deliveryFee.value = parseFloat(deliveryFeeValue.toString()) - } - val discountAmountValue = options["discountAmount"] - if (discountAmountValue != null) { - discountAmount.value = parseFloat(discountAmountValue.toString()) - } - if (productAmountValue == null && amount.value > 0) { - calculatePriceDetails(amount.value) - } - loadPaymentMethods() - loadUserBalance() - } - } - ) - onMounted(fun(){}) - onBackPress(fun(options): Boolean? { - if (options.from === "navigateBack") { - return false - } - goBack() - return true - } - ) - val getCurrentUserId = fun(): String { - val userStore = uni_getStorageSync("userInfo") - if (userStore != null) { - val userStr = JSON.stringify(userStore) - val userParsed = UTSAndroid.consoleDebugError(JSON.parse(userStr), " at pages/mall/consumer/payment.uvue:391") - if (userParsed != null) { - val userObj = userParsed as UTSJSONObject - val id = userObj.getString("id") - if (id != null) { - return id - } - } - } - return "" - } - val getMethodBrandIcon = fun(methodId: String): String { - if (methodId === "wechat") { - return "/static/logo.png" - } else if (methodId === "alipay") { - return "/static/logo.png" - } else if (methodId === "balance") { - return "/static/logo.png" - } else if (methodId === "bankcard") { - return "/static/logo.png" - } - return "/static/logo.png" - } - val selectMethod = fun(method: PaymentMethodType){ - if (!method.enabled) { - uni_showToast(ShowToastOptions(title = "该支付方式暂不可用", icon = "none")) - return - } - selectedMethod.value = method.id - showPassword.value = false - password.value = "" - } - val closePasswordPopup = fun(){ - showPassword.value = false - password.value = "" - } - val getPayButtonText = fun(): String { - if (selectedMethod.value === "balance" && userBalance.value < amount.value) { - return "余额不足" - } - if (selectedMethod.value === "wechat") { - return "微信支付" - } else if (selectedMethod.value === "alipay") { - return "支付宝支付" - } else if (selectedMethod.value === "balance") { - return "余额支付" - } else if (selectedMethod.value === "bankcard") { - return "银行卡支付" - } - return "确认支付" - } - val confirmPayment = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (isPaying.value) { - return@w1 - } - if (selectedMethod.value === "balance" || selectedMethod.value === "bankcard") { - if (selectedMethod.value === "balance" && userBalance.value < amount.value) { - uni_showToast(ShowToastOptions(title = "余额不足", icon = "none")) - return@w1 - } - if (!showPassword.value) { - showPassword.value = true - password.value = "" - return@w1 - } - if (password.value.length !== 6) { - uni_showToast(ShowToastOptions(title = "请输入6位支付密码", icon = "none")) - return@w1 - } - } - isPaying.value = true - uni_showLoading(ShowLoadingOptions(title = "支付中...")) - try { - console.log("[confirmPayment] 开始支付, orderId:", orderId.value, "method:", selectedMethod.value, " at pages/mall/consumer/payment.uvue:509") - val success = await(supabaseService.payOrder(orderId.value, selectedMethod.value, amount.value)) - console.log("[confirmPayment] 支付结果:", success, " at pages/mall/consumer/payment.uvue:512") - if (!success) { - console.error("[confirmPayment] payOrder 返回 false", " at pages/mall/consumer/payment.uvue:515") - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "支付处理失败", icon = "none")) - isPaying.value = false - return@w1 - } - uni_hideLoading() - updateOrderInStorage(orderId.value, 2) - uni_showToast(ShowToastOptions(title = "支付成功", icon = "success", duration = 2000)) - uni__emit("orderUpdated", object : UTSJSONObject() { - var orderId = orderId.value - var status: Number = 2 - }) - setTimeout(fun(){ - uni_redirectTo(RedirectToOptions(url = "/pages/mall/consumer/payment-success?orderId=" + orderId.value)) - } - , 1500) - } - catch (err: Throwable) { - console.error("[confirmPayment] 支付异常:", err, " at pages/mall/consumer/payment.uvue:544") - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "支付失败", icon = "none")) - isPaying.value = false - } - }) - } - val verifyPassword = fun(): UTSPromise { - return wrapUTSPromise(suspend { - val userId = getCurrentUserId() - try { - await(UTSPromise(fun(resolve: (value: Unit) -> Unit, _reject){ - setTimeout(fun(){ - resolve(Unit) - } - , 500) - } - )) - val isCorrect = true - if (isCorrect) { - confirmPayment() - } else { - password.value = "" - uni_showToast(ShowToastOptions(title = "密码错误", icon = "none")) - } - } - catch (err: Throwable) { - console.error("验证密码异常:", err, " at pages/mall/consumer/payment.uvue:596") - } - }) - } - val inputPassword = fun(num: String){ - if (password.value.length >= 6) { - return - } - password.value += num - } - val deletePassword = fun(){ - if (password.value.length > 0) { - password.value = password.value.slice(0, -1) - } - } - watch(password, fun(newPassword: String){ - if (newPassword.length === 6) { - verifyPassword() - } - } - ) - val forgotPassword = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/user/forgot-password")) - } - onUnmounted(fun(){}) - return fun(): Any? { - return _cE("view", _uM("class" to "payment-page"), _uA( - _cE("scroll-view", _uM("class" to "payment-content", "direction" to "vertical"), _uA( - _cE("view", _uM("class" to "payment-amount-header"), _uA( - _cE("text", _uM("class" to "amount-label"), "支付金额"), - _cE("view", _uM("class" to "amount-value-row"), _uA( - _cE("text", _uM("class" to "amount-currency"), "¥"), - _cE("text", _uM("class" to "amount-number"), _tD(amount.value.toFixed(2)), 1) - )), - _cE("text", _uM("class" to "order-no-text"), "订单号: " + _tD(orderNo.value), 1) - )), - _cE("view", _uM("class" to "methods-section-new"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("text", _uM("class" to "section-title"), "选择支付方式") - )), - _cE("view", _uM("class" to "method-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(paymentMethods.value, fun(method, __key, __index, _cached): Any { - return _cE("view", _uM("key" to method.id, "class" to "method-item-modern", "onClick" to fun(){ - selectMethod(method) - } - ), _uA( - _cE("view", _uM("class" to "method-left"), _uA( - _cE("image", _uM("class" to "method-img", "src" to getMethodBrandIcon(method.id), "mode" to "aspectFit"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "method-info"), _uA( - _cE("text", _uM("class" to "method-name"), _tD(method.name), 1), - if (method.id === "balance") { - _cE("text", _uM("key" to 0, "class" to "method-desc"), "当前余额: ¥" + _tD(userBalance.value.toFixed(2)), 1) - } else { - _cE("text", _uM("key" to 1, "class" to "method-desc"), _tD(method.description), 1) - } - )) - )), - _cE("view", _uM("class" to "method-right"), _uA( - _cE("view", _uM("class" to _nC(_uA( - "radio-circle", - _uM("checked" to (selectedMethod.value === method.id)) - ))), _uA( - if (selectedMethod.value === method.id) { - _cE("view", _uM("key" to 0, "class" to "radio-inner")) - } else { - _cC("v-if", true) - } - ), 2) - )) - ), 8, _uA( - "onClick" - )) - } - ), 128) - )) - )), - if (isTrue(showPassword.value)) { - _cE("view", _uM("key" to 0, "class" to "password-popup-mask", "onClick" to closePasswordPopup), _uA( - _cE("view", _uM("class" to "password-popup-content", "onClick" to withModifiers(fun(){}, _uA( - "stop" - ))), _uA( - _cE("view", _uM("class" to "popup-header"), _uA( - _cE("text", _uM("class" to "popup-close", "onClick" to closePasswordPopup), "✕"), - _cE("text", _uM("class" to "popup-title"), "请输入支付密码"), - _cE("view", _uM("class" to "popup-placeholder")) - )), - _cE("view", _uM("class" to "popup-amount-info"), _uA( - _cE("text", _uM("class" to "popup-amount-label"), "支付金额"), - _cE("view", _uM("class" to "popup-amount-row"), _uA( - _cE("text", _uM("class" to "popup-currency"), "¥"), - _cE("text", _uM("class" to "popup-value"), _tD(amount.value.toFixed(2)), 1) - )) - )), - _cE("view", _uM("class" to "password-input-row"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(6, fun(_, index, __index, _cached): Any { - return _cE("view", _uM("key" to index, "class" to "password-box"), _uA( - if (password.value.length > index) { - _cE("view", _uM("key" to 0, "class" to "password-dot")) - } else { - _cC("v-if", true) - } - )) - }), 64) - )), - _cE("text", _uM("class" to "forgot-password-link", "onClick" to forgotPassword), "忘记密码?"), - _cE("view", _uM("class" to "password-keyboard-popup"), _uA( - _cE("view", _uM("class" to "keyboard-grid"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(9, fun(num, __key, __index, _cached): Any { - return _cE("view", _uM("key" to num, "class" to "keyboard-key", "onClick" to fun(){ - inputPassword(num.toString(10)) - }), _uA( - _cE("text", _uM("class" to "key-text"), _tD(num), 1) - ), 8, _uA( - "onClick" - )) - }), 64), - _cE("view", _uM("class" to "keyboard-key")), - _cE("view", _uM("class" to "keyboard-key", "onClick" to fun(){ - inputPassword("0") - }), _uA( - _cE("text", _uM("class" to "key-text"), "0") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "keyboard-key", "onClick" to deletePassword), _uA( - _cE("text", _uM("class" to "key-text"), "⌫") - )) - )) - )) - ), 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - )), - if (isTrue(!showPassword.value)) { - _cE("view", _uM("key" to 0, "class" to "payment-bottom"), _uA( - _cE("view", _uM("class" to "price-summary"), _uA( - _cE("text", _uM("class" to "summary-label"), "需支付:"), - _cE("text", _uM("class" to "summary-price"), "¥" + _tD(amount.value.toFixed(2)), 1) - )), - _cE("button", _uM("class" to _nC(_uA( - "pay-btn", - _uM("disabled" to (isPaying.value || (selectedMethod.value === "balance" && userBalance.value < amount.value))) - )), "onClick" to confirmPayment), _uA( - if (isTrue(!isPaying.value)) { - _cE("text", _uM("key" to 0, "class" to "pay-text"), _tD(getPayButtonText()), 1) - } else { - _cE("text", _uM("key" to 1, "class" to "pay-text"), "支付中...") - } - ), 2) - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("payment-page" to _pS(_uM("display" to "flex", "flexDirection" to "column", "position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "width" to "100%", "height" to "100%", "backgroundColor" to "#f5f5f5", "overflow" to "hidden")), "payment-header" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "display" to "flex", "alignItems" to "center", "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#e5e5e5")), "back-btn" to _pS(_uM("fontSize" to 24, "color" to "#333333", "paddingTop" to 5, "paddingRight" to 5, "paddingBottom" to 5, "paddingLeft" to 5, "marginRight" to 15)), "header-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333")), "payment-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f8f8f8")), "payment-amount-header" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 40, "paddingRight" to 15, "paddingBottom" to 40, "paddingLeft" to 15, "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "marginBottom" to 12)), "amount-label" to _pS(_uM("fontSize" to 14, "color" to "#666666", "marginBottom" to 10)), "amount-value-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "marginBottom" to 10)), "amount-currency" to _pS(_uM("fontSize" to 20, "fontWeight" to "bold", "color" to "#333333", "marginRight" to 4)), "amount-number" to _pS(_uM("fontSize" to 40, "fontWeight" to "bold", "color" to "#333333")), "order-no-text" to _pS(_uM("fontSize" to 13, "color" to "#999999")), "methods-section-new" to _pS(_uM("backgroundColor" to "#ffffff", "marginTop" to 0, "marginRight" to 12, "marginBottom" to 0, "marginLeft" to 12, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15)), "section-header" to _pS(_uM("marginBottom" to 15)), "section-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "method-list" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "method-item-modern" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 16, "paddingRight" to 0, "paddingBottom" to 16, "paddingLeft" to 0, "borderBottomWidth" to 0.5, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5", "borderBottomWidth:last-child" to "medium", "borderBottomStyle:last-child" to "none", "borderBottomColor:last-child" to "#000000")), "method-left" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "method-img" to _pS(_uM("width" to 28, "height" to 28, "marginRight" to 12)), "method-info" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "method-name" to _pS(_uM("fontSize" to 15, "color" to "#333333")), "method-desc" to _pS(_uM("fontSize" to 11, "color" to "#999999", "marginTop" to 2)), "radio-circle" to _uM("" to _uM("width" to 20, "height" to 20, "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#dddddd", "borderRightColor" to "#dddddd", "borderBottomColor" to "#dddddd", "borderLeftColor" to "#dddddd", "display" to "flex", "alignItems" to "center", "justifyContent" to "center"), ".checked" to _uM("borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000", "backgroundColor" to "#ff5000")), "radio-inner" to _pS(_uM("width" to 10, "height" to 10, "borderTopLeftRadius" to 5, "borderTopRightRadius" to 5, "borderBottomRightRadius" to 5, "borderBottomLeftRadius" to 5, "backgroundColor" to "#ffffff")), "balance-section" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "marginBottom" to 10)), "balance-info" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 10)), "balance-label" to _pS(_uM("fontSize" to 14, "color" to "#333333")), "balance-value" to _pS(_uM("fontSize" to 18, "color" to "#ff4757", "fontWeight" to "bold")), "balance-tip" to _pS(_uM("paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10, "backgroundColor" to "#fff0f0", "borderTopLeftRadius" to 5, "borderTopRightRadius" to 5, "borderBottomRightRadius" to 5, "borderBottomLeftRadius" to 5)), "tip-text" to _pS(_uM("fontSize" to 12, "color" to "#ff4757")), "password-popup-mask" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "rgba(0,0,0,0.6)", "display" to "flex", "flexDirection" to "column", "justifyContent" to "flex-end", "zIndex" to 1000)), "password-popup-content" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 0, "borderBottomLeftRadius" to 0, "paddingTop" to 20, "paddingRight" to 0, "paddingBottom" to 20, "paddingLeft" to 0, "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "animation" to "slideUp 0.3s ease-out", "width" to "100%")), "popup-header" to _pS(_uM("width" to "100%", "display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 30, "paddingTop" to 0, "paddingRight" to 20, "paddingBottom" to 0, "paddingLeft" to 20)), "popup-close" to _pS(_uM("fontSize" to 20, "color" to "#999999", "paddingTop" to 4, "paddingRight" to 4, "paddingBottom" to 4, "paddingLeft" to 4)), "popup-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "popup-placeholder" to _pS(_uM("width" to 28)), "popup-amount-info" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "marginBottom" to 30)), "popup-amount-label" to _pS(_uM("fontSize" to 14, "color" to "#666666", "marginBottom" to 8)), "popup-amount-row" to _pS(_uM("display" to "flex", "flexDirection" to "row")), "popup-currency" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333", "marginRight" to 2)), "popup-value" to _pS(_uM("fontSize" to 32, "fontWeight" to "bold", "color" to "#333333")), "password-input-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "center", "marginBottom" to 20)), "password-box" to _pS(_uM("width" to 45, "height" to 45, "borderTopWidth" to 1, "borderRightWidth" to "medium", "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "none", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#dddddd", "borderRightColor" to "#000000", "borderBottomColor" to "#dddddd", "borderLeftColor" to "#dddddd", "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "backgroundColor" to "#f9f9f9", "borderTopLeftRadius:first-child" to 4, "borderTopRightRadius:first-child" to 0, "borderBottomRightRadius:first-child" to 0, "borderBottomLeftRadius:first-child" to 4, "borderRightWidth:last-child" to 1, "borderRightStyle:last-child" to "solid", "borderRightColor:last-child" to "#dddddd", "borderTopLeftRadius:last-child" to 0, "borderTopRightRadius:last-child" to 4, "borderBottomRightRadius:last-child" to 4, "borderBottomLeftRadius:last-child" to 0)), "password-dot" to _pS(_uM("width" to 10, "height" to 10, "borderTopLeftRadius" to 5, "borderTopRightRadius" to 5, "borderBottomRightRadius" to 5, "borderBottomLeftRadius" to 5, "backgroundColor" to "#000000")), "forgot-password-link" to _pS(_uM("fontSize" to 13, "color" to "#576b95", "marginBottom" to 20)), "password-section" to _pS(_uM("display" to "none")), "password-keyboard-popup" to _pS(_uM("width" to "100%", "backgroundColor" to "#f5f5f5", "paddingTop" to 6, "paddingRight" to 6, "paddingBottom" to "env(safe-area-inset-bottom)", "paddingLeft" to 6)), "password-keyboard" to _pS(_uM("display" to "none", "backgroundColor" to "#ffffff", "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#e5e5e5", "paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10)), "keyboard-grid" to _pS(_uM("display" to "flex", "flexWrap" to "wrap", "backgroundColor" to "#e5e5e5")), "keyboard-key" to _pS(_uM("width" to "33.33%", "backgroundColor" to "#ffffff", "height" to 60, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#f5f5f5", "borderRightColor" to "#f5f5f5", "borderBottomColor" to "#f5f5f5", "borderLeftColor" to "#f5f5f5", "boxSizing" to "border-box", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "backgroundColor:active" to "#e0e0e0")), "key-text" to _pS(_uM("fontSize" to 24, "color" to "#333333")), "payment-bottom" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#f0f0f0", "paddingTop" to 12, "paddingRight" to 16, "paddingBottom" to "env(safe-area-inset-bottom)", "paddingLeft" to 16, "display" to "flex", "alignItems" to "center", "justifyContent" to "space-between")), "price-summary" to _pS(_uM("display" to "flex", "flexDirection" to "row")), "summary-label" to _pS(_uM("fontSize" to 14, "color" to "#333333", "marginRight" to 4)), "summary-price" to _pS(_uM("fontSize" to 24, "color" to "#ff5000", "fontWeight" to "bold")), "pay-btn" to _uM("" to _uM("backgroundColor" to "#ff5000", "color" to "#ffffff", "paddingTop" to 0, "paddingRight" to 40, "paddingBottom" to 0, "paddingLeft" to 40, "height" to 44, "lineHeight" to "44px", "borderTopLeftRadius" to 22, "borderTopRightRadius" to 22, "borderBottomRightRadius" to 22, "borderBottomLeftRadius" to 22, "fontSize" to 16, "fontWeight" to "bold", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "marginTop" to 0, "marginRight" to 0, "marginBottom" to 0, "marginLeft" to 0), ".disabled" to _uM("backgroundColor" to "#cccccc", "opacity" to 0.6))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/points/exchange-records.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/points/exchange-records.kt deleted file mode 100644 index 3499aa20..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/points/exchange-records.kt +++ /dev/null @@ -1,213 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -open class GenPagesMallConsumerPointsExchangeRecords : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerPointsExchangeRecords) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerPointsExchangeRecords - val _cache = __ins.renderCache - val records = ref(_uA()) - val loading = ref(true) - val loadRecords = fun(): UTSPromise { - return wrapUTSPromise(suspend { - loading.value = true - try { - val result = await(supabaseService.getExchangeRecords()) - val parsed: UTSArray = _uA() - run { - var i: Number = 0 - while(i < result.length){ - val item = result[i] - val itemAny = item as Any - var recordData: Any - if (UTSArray.isArray(itemAny)) { - recordData = (itemAny as UTSArray)[0] - } else { - recordData = itemAny - } - var id = "" - var quantity: Number = 1 - var points_used: Number = 0 - var status: Number = 0 - var tracking_no: String? = null - var created_at = "" - var product_name = "" - var product_image: String? = null - var product_type = "coupon" - var recordObj: UTSJSONObject? = null - if (recordData is UTSJSONObject) { - recordObj = recordData as UTSJSONObject - } else { - recordObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(recordData)), " at pages/mall/consumer/points/exchange-records.uvue:93") as UTSJSONObject - } - id = recordObj.getString("id") ?: "" - quantity = recordObj.getNumber("quantity") ?: 1 - points_used = recordObj.getNumber("points_used") ?: 0 - status = recordObj.getNumber("status") ?: 0 - tracking_no = recordObj.getString("tracking_no") - created_at = recordObj.getString("created_at") ?: "" - val product = recordObj.get("product") - if (product != null) { - var productObj: UTSJSONObject? = null - if (product is UTSJSONObject) { - productObj = product as UTSJSONObject - } else { - productObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(product)), " at pages/mall/consumer/points/exchange-records.uvue:110") as UTSJSONObject - } - product_name = productObj.getString("name") ?: "" - product_image = productObj.getString("image_url") - product_type = productObj.getString("product_type") ?: "coupon" - } - parsed.push(ExchangeRecord(id = id, product_name = product_name, product_image = product_image, product_type = product_type, quantity = quantity, points_used = points_used, status = status, tracking_no = tracking_no, created_at = created_at)) - i++ - } - } - records.value = parsed - } - catch (e: Throwable) { - console.error("加载兑换记录失败:", e, " at pages/mall/consumer/points/exchange-records.uvue:132") - } - finally { - loading.value = false - } - }) - } - val getStatusText = fun(status: Number): String { - if (status === 0) { - return "待处理" - } - if (status === 1) { - return "已发货" - } - if (status === 2) { - return "已完成" - } - if (status === 3) { - return "已取消" - } - return "未知" - } - val getStatusClass = fun(status: Number): String { - if (status === 0) { - return "status-pending" - } - if (status === 1) { - return "status-shipped" - } - if (status === 2) { - return "status-completed" - } - if (status === 3) { - return "status-cancelled" - } - return "" - } - val formatTime = fun(timeStr: String): String { - if (timeStr == "") { - return "" - } - val date = Date(timeStr) - val y = date.getFullYear() - val m = (date.getMonth() + 1).toString(10).padStart(2, "0") - val d = date.getDate().toString(10).padStart(2, "0") - val hh = date.getHours().toString(10).padStart(2, "0") - val mm = date.getMinutes().toString(10).padStart(2, "0") - return "" + y + "-" + m + "-" + d + " " + hh + ":" + mm - } - onMounted(fun(){ - loadRecords() - } - ) - return fun(): Any? { - return _cE("scroll-view", _uM("class" to "records-page", "direction" to "vertical"), _uA( - if (isTrue(!loading.value && records.value.length === 0)) { - _cE("view", _uM("key" to 0, "class" to "empty-state"), _uA( - _cE("text", _uM("class" to "empty-text"), "暂无兑换记录") - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(loading.value)) { - _cE("view", _uM("key" to 1, "class" to "loading-state"), _uA( - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(!loading.value && records.value.length > 0)) { - _cE("view", _uM("key" to 2, "class" to "record-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(records.value, fun(record, __key, __index, _cached): Any { - return _cE("view", _uM("class" to "record-item", "key" to record.id), _uA( - _cE("view", _uM("class" to "record-header"), _uA( - _cE("text", _uM("class" to "record-product-name"), _tD(record.product_name), 1), - _cE("text", _uM("class" to _nC(_uA( - "record-status", - getStatusClass(record.status) - ))), _tD(getStatusText(record.status)), 3) - )), - _cE("view", _uM("class" to "record-info"), _uA( - _cE("view", _uM("class" to "info-row"), _uA( - _cE("text", _uM("class" to "info-label"), "消耗积分"), - _cE("text", _uM("class" to "info-value"), _tD(record.points_used), 1) - )), - _cE("view", _uM("class" to "info-row"), _uA( - _cE("text", _uM("class" to "info-label"), "兑换数量"), - _cE("text", _uM("class" to "info-value"), _tD(record.quantity), 1) - )), - _cE("view", _uM("class" to "info-row"), _uA( - _cE("text", _uM("class" to "info-label"), "兑换时间"), - _cE("text", _uM("class" to "info-value"), _tD(formatTime(record.created_at)), 1) - )), - if (isTrue(record.tracking_no)) { - _cE("view", _uM("key" to 0, "class" to "info-row"), _uA( - _cE("text", _uM("class" to "info-label"), "物流单号"), - _cE("text", _uM("class" to "info-value"), _tD(record.tracking_no), 1) - )) - } else { - _cC("v-if", true) - } - )) - )) - }), 128) - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("records-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to "100%", "backgroundColor" to "#f5f5f5", "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12)), "empty-state" to _pS(_uM("paddingTop" to 60, "paddingRight" to 0, "paddingBottom" to 60, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "empty-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "loading-state" to _pS(_uM("paddingTop" to 60, "paddingRight" to 0, "paddingBottom" to 60, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "loading-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "record-list" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "record-item" to _pS(_uM("backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "marginBottom" to 8)), "record-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 12, "paddingBottom" to 8, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f0f0f0")), "record-product-name" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "record-status" to _pS(_uM("fontSize" to 12, "paddingTop" to 4, "paddingRight" to 8, "paddingBottom" to 4, "paddingLeft" to 8, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4)), "status-pending" to _pS(_uM("backgroundColor" to "#fff7e6", "color" to "#d48806")), "status-shipped" to _pS(_uM("backgroundColor" to "#e6f7ff", "color" to "#1890ff")), "status-completed" to _pS(_uM("backgroundColor" to "#f6ffed", "color" to "#52c41a")), "status-cancelled" to _pS(_uM("backgroundColor" to "#f5f5f5", "color" to "#999999")), "record-info" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "info-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 6, "paddingRight" to 0, "paddingBottom" to 6, "paddingLeft" to 0)), "info-label" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "info-value" to _pS(_uM("fontSize" to 14, "color" to "#333333"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/points/exchange.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/points/exchange.kt deleted file mode 100644 index 0a2b2e30..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/points/exchange.kt +++ /dev/null @@ -1,413 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerPointsExchange : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerPointsExchange) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerPointsExchange - val _cache = __ins.renderCache - val totalPoints = ref(0) - val products = ref(_uA()) - val loading = ref(true) - val activeTab = ref("all") - val showPopup = ref(false) - val showSuccess = ref(false) - val selectedProduct = ref(null) - val exchangeQuantity = ref(1) - val exchanging = ref(false) - val defaultImage: String = "/static/images/default-product.png" - val filteredProducts = computed(fun(): UTSArray { - if (activeTab.value === "all") { - return products.value - } - val filtered: UTSArray = _uA() - run { - var i: Number = 0 - while(i < products.value.length){ - if (products.value[i].product_type === activeTab.value) { - filtered.push(products.value[i]) - } - i++ - } - } - return filtered - } - ) - val totalPointsCost = computed(fun(): Number { - if (selectedProduct.value == null) { - return 0 - } - return selectedProduct.value!!.points_required * exchangeQuantity.value - } - ) - val loadProducts = fun(): UTSPromise { - return wrapUTSPromise(suspend { - loading.value = true - try { - val points = await(supabaseService.getUserPoints()) - totalPoints.value = points - val productList = await(supabaseService.getPointProducts()) - val parsed: UTSArray = _uA() - run { - var i: Number = 0 - while(i < productList.length){ - val item = productList[i] - var id = "" - var name = "" - var description: String? = null - var image_url: String? = null - var product_type = "coupon" - var points_required: Number = 0 - var original_price: Number? = null - var stock: Number = 0 - var status: Number = 1 - var itemObj: UTSJSONObject? = null - if (item is UTSJSONObject) { - itemObj = item as UTSJSONObject - } else { - itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/points/exchange.uvue:218") as UTSJSONObject - } - id = itemObj.getString("id") ?: "" - name = itemObj.getString("name") ?: "" - description = itemObj.getString("description") - image_url = itemObj.getString("image_url") - product_type = itemObj.getString("product_type") ?: "coupon" - points_required = itemObj.getNumber("points_required") ?: 0 - original_price = itemObj.getNumber("original_price") - stock = itemObj.getNumber("stock") ?: 0 - status = itemObj.getNumber("status") ?: 1 - val product = PointProduct(id = id, name = name, description = description, image_url = image_url, product_type = product_type, points_required = points_required, original_price = original_price, stock = stock, status = status) - parsed.push(product) - i++ - } - } - products.value = parsed - } - catch (e: Throwable) { - console.error("加载商品失败:", e, " at pages/mall/consumer/points/exchange.uvue:246") - } - finally { - loading.value = false - } - }) - } - val switchTab = fun(tab: String): Unit { - activeTab.value = tab - } - val showExchangePopup = fun(product: PointProduct): Unit { - selectedProduct.value = product - exchangeQuantity.value = 1 - showPopup.value = true - } - val closePopup = fun(): Unit { - showPopup.value = false - selectedProduct.value = null - } - val increaseQuantity = fun(): Unit { - if (selectedProduct.value != null && exchangeQuantity.value < selectedProduct.value!!.stock) { - exchangeQuantity.value++ - } - } - val decreaseQuantity = fun(): Unit { - if (exchangeQuantity.value > 1) { - exchangeQuantity.value-- - } - } - val confirmExchange = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (selectedProduct.value == null) { - return@w1 - } - if (totalPoints.value < totalPointsCost.value) { - return@w1 - } - exchanging.value = true - try { - val result = await(supabaseService.exchangeProduct(selectedProduct.value!!.id, exchangeQuantity.value, null)) - if (result.getBoolean("success") === true) { - showPopup.value = false - totalPoints.value -= totalPointsCost.value - showSuccess.value = true - loadProducts() - } else { - val message = result.getString("message") ?: "兑换失败" - uni_showToast(ShowToastOptions(title = message, icon = "none")) - } - } - catch (e: Throwable) { - console.error("兑换异常:", e, " at pages/mall/consumer/points/exchange.uvue:302") - uni_showToast(ShowToastOptions(title = "兑换异常", icon = "none")) - } - finally { - exchanging.value = false - } - }) - } - val closeSuccess = fun(): Unit { - showSuccess.value = false - } - val goToRecords = fun(): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/points/exchange-records")) - } - onMounted(fun(){ - loadProducts() - } - ) - return fun(): Any? { - return _cE("scroll-view", _uM("class" to "exchange-page", "direction" to "vertical"), _uA( - _cE("view", _uM("class" to "header"), _uA( - _cE("view", _uM("class" to "points-info"), _uA( - _cE("text", _uM("class" to "points-label"), "可用积分"), - _cE("text", _uM("class" to "points-value"), _tD(totalPoints.value), 1) - )), - _cE("view", _uM("class" to "header-actions"), _uA( - _cE("text", _uM("class" to "records-link", "onClick" to goToRecords), "兑换记录") - )) - )), - _cE("view", _uM("class" to "tabs"), _uA( - _cE("view", _uM("class" to _nC(_uA( - "tab-item", - if (activeTab.value === "all") { - "active" - } else { - "" - } - )), "onClick" to fun(){ - switchTab("all") - } - ), _uA( - _cE("text", _uM("class" to "tab-text"), "全部") - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "tab-item", - if (activeTab.value === "coupon") { - "active" - } else { - "" - } - )), "onClick" to fun(){ - switchTab("coupon") - } - ), _uA( - _cE("text", _uM("class" to "tab-text"), "优惠券") - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "tab-item", - if (activeTab.value === "physical") { - "active" - } else { - "" - } - )), "onClick" to fun(){ - switchTab("physical") - } - ), _uA( - _cE("text", _uM("class" to "tab-text"), "实物") - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "tab-item", - if (activeTab.value === "virtual") { - "active" - } else { - "" - } - )), "onClick" to fun(){ - switchTab("virtual") - } - ), _uA( - _cE("text", _uM("class" to "tab-text"), "虚拟") - ), 10, _uA( - "onClick" - )) - )), - if (isTrue(!loading.value)) { - _cE("view", _uM("key" to 0, "class" to "product-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(filteredProducts.value, fun(product, __key, __index, _cached): Any { - return _cE("view", _uM("class" to "product-card", "key" to product.id, "onClick" to fun(){ - showExchangePopup(product) - }), _uA( - _cE("image", _uM("class" to "product-image", "src" to if (product.image_url != null && product.image_url!!.length > 0) { - product.image_url - } else { - defaultImage - }, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "product-info"), _uA( - _cE("text", _uM("class" to "product-name"), _tD(product.name), 1), - if (isTrue(product.description)) { - _cE("text", _uM("key" to 0, "class" to "product-desc"), _tD(product.description), 1) - } else { - _cC("v-if", true) - }, - _cE("view", _uM("class" to "product-bottom"), _uA( - _cE("view", _uM("class" to "product-points"), _uA( - _cE("text", _uM("class" to "points-num"), _tD(product.points_required), 1), - _cE("text", _uM("class" to "points-unit"), "积分") - )), - _cE("text", _uM("class" to "product-stock"), "库存" + _tD(product.stock) + "件", 1), - if (isTrue(product.original_price)) { - _cE("text", _uM("key" to 0, "class" to "product-original"), "¥" + _tD(product.original_price), 1) - } else { - _cC("v-if", true) - } - )) - )) - ), 8, _uA( - "onClick" - )) - }), 128) - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(!loading.value && filteredProducts.value.length === 0)) { - _cE("view", _uM("key" to 1, "class" to "empty-state"), _uA( - _cE("text", _uM("class" to "empty-text"), "暂无可兑换商品") - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(loading.value)) { - _cE("view", _uM("key" to 2, "class" to "loading-state"), _uA( - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(showPopup.value)) { - _cE("view", _uM("key" to 3, "class" to "exchange-popup", "onClick" to closePopup), _uA( - _cE("view", _uM("class" to "popup-content", "onClick" to withModifiers(fun(){}, _uA( - "stop" - ))), _uA( - _cE("view", _uM("class" to "popup-header"), _uA( - _cE("text", _uM("class" to "popup-title"), "确认兑换"), - _cE("text", _uM("class" to "popup-close", "onClick" to closePopup), "×") - )), - if (selectedProduct.value != null) { - _cE("view", _uM("key" to 0, "class" to "popup-product"), _uA( - _cE("image", _uM("class" to "popup-product-image", "src" to if (selectedProduct.value!!.image_url != null && selectedProduct.value!!.image_url!!.length > 0) { - selectedProduct.value!!.image_url - } else { - defaultImage - }, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "popup-product-info"), _uA( - _cE("text", _uM("class" to "popup-product-name"), _tD(selectedProduct.value!!.name), 1), - _cE("view", _uM("class" to "popup-product-points"), _uA( - _cE("text", _uM("class" to "popup-points-num"), _tD(selectedProduct.value!!.points_required), 1), - _cE("text", _uM("class" to "popup-points-unit"), "积分") - )) - )) - )) - } else { - _cC("v-if", true) - }, - _cE("view", _uM("class" to "popup-quantity"), _uA( - _cE("text", _uM("class" to "quantity-label"), "兑换数量"), - _cE("view", _uM("class" to "quantity-control"), _uA( - _cE("text", _uM("class" to "quantity-btn", "onClick" to decreaseQuantity), "-"), - _cE("text", _uM("class" to "quantity-value"), _tD(exchangeQuantity.value), 1), - _cE("text", _uM("class" to "quantity-btn", "onClick" to increaseQuantity), "+") - )) - )), - _cE("view", _uM("class" to "popup-summary"), _uA( - _cE("view", _uM("class" to "summary-row"), _uA( - _cE("text", _uM("class" to "summary-label"), "消耗积分"), - _cE("text", _uM("class" to "summary-value"), _tD(totalPointsCost.value), 1) - )), - _cE("view", _uM("class" to "summary-row"), _uA( - _cE("text", _uM("class" to "summary-label"), "当前积分"), - _cE("text", _uM("class" to "summary-value"), _tD(totalPoints.value), 1) - )), - if (totalPoints.value < totalPointsCost.value) { - _cE("view", _uM("key" to 0, "class" to "summary-row"), _uA( - _cE("text", _uM("class" to "summary-label insufficient"), "积分不足"), - _cE("text", _uM("class" to "summary-value insufficient"), "差" + _tD(totalPointsCost.value - totalPoints.value), 1) - )) - } else { - _cC("v-if", true) - } - )), - _cE("button", _uM("class" to _nC(_uA( - "popup-btn", - _uM("disabled" to (totalPoints.value < totalPointsCost.value)) - )), "disabled" to (totalPoints.value < totalPointsCost.value || exchanging.value), "onClick" to confirmExchange), _tD(if (exchanging.value) { - "兑换中..." - } else { - "确认兑换" - }), 11, _uA( - "disabled" - )) - ), 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(showSuccess.value)) { - _cE("view", _uM("key" to 4, "class" to "success-popup", "onClick" to closeSuccess), _uA( - _cE("view", _uM("class" to "success-content", "onClick" to withModifiers(fun(){}, _uA( - "stop" - ))), _uA( - _cE("view", _uM("class" to "success-icon"), "✓"), - _cE("text", _uM("class" to "success-title"), "兑换成功"), - _cE("text", _uM("class" to "success-desc"), "消耗 " + _tD(totalPointsCost.value) + " 积分", 1), - _cE("button", _uM("class" to "success-btn", "onClick" to closeSuccess), "确定") - ), 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("exchange-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to "100%", "backgroundColor" to "#f5f5f5")), "header" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #ff6b35 0%, #ff8c42 100%)", "backgroundColor" to "rgba(0,0,0,0)", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center")), "points-info" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "points-label" to _pS(_uM("fontSize" to 12, "color" to "rgba(255,255,255,0.8)")), "points-value" to _pS(_uM("fontSize" to 28, "fontWeight" to "bold", "color" to "#FFFFFF")), "header-actions" to _pS(_uM("display" to "flex", "flexDirection" to "row")), "records-link" to _pS(_uM("fontSize" to 14, "color" to "#FFFFFF", "paddingTop" to 6, "paddingRight" to 12, "paddingBottom" to 6, "paddingLeft" to 12, "backgroundColor" to "rgba(255,255,255,0.2)", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16)), "tabs" to _pS(_uM("display" to "flex", "flexDirection" to "row", "backgroundColor" to "#FFFFFF", "paddingTop" to 0, "paddingRight" to 16, "paddingBottom" to 0, "paddingLeft" to 16)), "tab-item" to _uM("" to _uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "paddingTop" to 12, "paddingRight" to 0, "paddingBottom" to 12, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "borderBottomWidth" to 2, "borderBottomStyle" to "solid", "borderBottomColor" to "rgba(0,0,0,0)"), ".active" to _uM("borderBottomColor" to "#ff6b35")), "tab-text" to _uM("" to _uM("fontSize" to 14, "color" to "#666666"), ".tab-item.active " to _uM("color" to "#ff6b35", "fontWeight" to "bold")), "product-list" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "paddingTop" to 8, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8)), "product-card" to _pS(_uM("width" to "48%", "marginTop" to 4, "marginRight" to 4, "marginBottom" to 4, "marginLeft" to 4, "backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "overflow" to "hidden")), "product-image" to _pS(_uM("width" to "100%", "height" to 150)), "product-info" to _pS(_uM("paddingTop" to 8, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8)), "product-name" to _pS(_uM("fontSize" to 14, "color" to "#333333", "lines" to 2, "textOverflow" to "ellipsis")), "product-desc" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginTop" to 4, "lines" to 1, "textOverflow" to "ellipsis")), "product-bottom" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginTop" to 8)), "product-points" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "points-num" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#ff6b35")), "points-unit" to _pS(_uM("fontSize" to 12, "color" to "#ff6b35", "marginLeft" to 2)), "product-stock" to _pS(_uM("fontSize" to 12, "color" to "#ff6b35")), "product-original" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "empty-state" to _pS(_uM("paddingTop" to 60, "paddingRight" to 0, "paddingBottom" to 60, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "empty-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "loading-state" to _pS(_uM("paddingTop" to 60, "paddingRight" to 0, "paddingBottom" to 60, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "loading-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "exchange-popup" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "rgba(0,0,0,0.5)", "display" to "flex", "alignItems" to "flex-end", "justifyContent" to "center", "zIndex" to 1000)), "popup-content" to _pS(_uM("backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 0, "borderBottomLeftRadius" to 0, "width" to "100%", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16)), "popup-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 16)), "popup-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333")), "popup-close" to _pS(_uM("fontSize" to 24, "color" to "#999999")), "popup-product" to _pS(_uM("display" to "flex", "flexDirection" to "row", "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "backgroundColor" to "#f9f9f9", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginBottom" to 16)), "popup-product-image" to _pS(_uM("width" to 80, "height" to 80, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4)), "popup-product-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "marginLeft" to 12, "display" to "flex", "flexDirection" to "column", "justifyContent" to "center")), "popup-product-name" to _pS(_uM("fontSize" to 14, "color" to "#333333", "lines" to 2)), "popup-product-points" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginTop" to 8)), "popup-points-num" to _pS(_uM("fontSize" to 20, "fontWeight" to "bold", "color" to "#ff6b35")), "popup-points-unit" to _pS(_uM("fontSize" to 12, "color" to "#ff6b35", "marginLeft" to 2)), "popup-quantity" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 12, "paddingRight" to 0, "paddingBottom" to 12, "paddingLeft" to 0, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f0f0f0")), "quantity-label" to _pS(_uM("fontSize" to 14, "color" to "#333333")), "quantity-control" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "quantity-btn" to _pS(_uM("width" to 28, "height" to 28, "backgroundColor" to "#f5f5f5", "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "fontSize" to 18, "color" to "#666666")), "quantity-value" to _pS(_uM("width" to 40, "textAlign" to "center", "fontSize" to 16, "color" to "#333333")), "popup-summary" to _pS(_uM("paddingTop" to 12, "paddingRight" to 0, "paddingBottom" to 12, "paddingLeft" to 0)), "summary-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 8)), "summary-label" to _uM("" to _uM("fontSize" to 14, "color" to "#666666"), ".insufficient" to _uM("color" to "#ff6b35")), "summary-value" to _uM("" to _uM("fontSize" to 14, "color" to "#333333"), ".insufficient" to _uM("color" to "#ff6b35")), "popup-btn" to _uM("" to _uM("backgroundImage" to "linear-gradient(135deg, #ff6b35 0%, #ff8c42 100%)", "backgroundColor" to "rgba(0,0,0,0)", "color" to "#FFFFFF", "fontSize" to 16, "fontWeight" to "bold", "borderTopLeftRadius" to 24, "borderTopRightRadius" to 24, "borderBottomRightRadius" to 24, "borderBottomLeftRadius" to 24, "height" to 44, "lineHeight" to "44px", "marginTop" to 16), ".disabled" to _uM("backgroundImage" to "none", "backgroundColor" to "#cccccc")), "success-popup" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "rgba(0,0,0,0.5)", "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "zIndex" to 1001)), "success-content" to _pS(_uM("backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "paddingTop" to 32, "paddingRight" to 32, "paddingBottom" to 32, "paddingLeft" to 32, "width" to 280, "display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "success-icon" to _pS(_uM("width" to 60, "height" to 60, "backgroundColor" to "#52c41a", "borderTopLeftRadius" to 30, "borderTopRightRadius" to 30, "borderBottomRightRadius" to 30, "borderBottomLeftRadius" to 30, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "fontSize" to 30, "color" to "#FFFFFF", "marginBottom" to 16)), "success-title" to _pS(_uM("fontSize" to 20, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 8)), "success-desc" to _pS(_uM("fontSize" to 14, "color" to "#666666", "marginBottom" to 24)), "success-btn" to _pS(_uM("backgroundColor" to "#ff6b35", "color" to "#FFFFFF", "fontSize" to 16, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "width" to "100%", "height" to 40, "lineHeight" to "40px"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/points/index.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/points/index.kt deleted file mode 100644 index 20d9652d..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/points/index.kt +++ /dev/null @@ -1,325 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -open class GenPagesMallConsumerPointsIndex : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerPointsIndex) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerPointsIndex - val _cache = __ins.renderCache - val totalPoints = ref(0) - val records = ref(_uA()) - val loading = ref(true) - val signedToday = ref(false) - val continuousDays = ref(0) - val expiringPoints = ref(0) - val expiringDate = ref("") - val expiringDetails = ref(_uA()) - val showExpiringPopup = ref(false) - val loadPoints = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val points = await(supabaseService.getUserPoints()) - totalPoints.value = points - } - catch (e: Throwable) { - console.error("获取积分失败", e, " at pages/mall/consumer/points/index.uvue:146") - } - }) - } - val loadRecords = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val list = await(supabaseService.getPointRecords()) - records.value = list as UTSArray - } - catch (e: Throwable) { - console.error("获取积分记录失败", e, " at pages/mall/consumer/points/index.uvue:155") - } - }) - } - val loadSigninStatus = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val status = await(supabaseService.getTodaySigninStatus()) - signedToday.value = status.getBoolean("signed") ?: false - continuousDays.value = status.getNumber("continuous_days") ?: 0 - } - catch (e: Throwable) { - console.error("获取签到状态失败", e, " at pages/mall/consumer/points/index.uvue:165") - } - }) - } - val loadExpiringPoints = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val result = await(supabaseService.getExpiringPoints()) - expiringPoints.value = result.getNumber("expiring_points") ?: 0 - expiringDate.value = result.getString("expiring_date") ?: "" - val detailsRaw = result.get("details") - if (detailsRaw != null && UTSArray.isArray(detailsRaw)) { - val details: UTSArray = _uA() - val arr = detailsRaw as UTSArray - run { - var i: Number = 0 - while(i < arr.length){ - val item = arr[i] - var itemObj: UTSJSONObject - if (item is UTSJSONObject) { - itemObj = item as UTSJSONObject - } else { - itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/points/index.uvue:185") as UTSJSONObject - } - details.push(ExpiringDetail(points = itemObj.getNumber("points") ?: 0, description = itemObj.getString("description"), expires_at = itemObj.getString("expires_at") ?: "", created_at = itemObj.getString("created_at") ?: "")) - i++ - } - } - expiringDetails.value = details - } - } - catch (e: Throwable) { - console.error("获取即将过期积分失败", e, " at pages/mall/consumer/points/index.uvue:197") - } - }) - } - val loadData = fun(): UTSPromise { - return wrapUTSPromise(suspend { - loading.value = true - await(UTSPromise.all(_uA( - loadPoints(), - loadRecords(), - loadSigninStatus(), - loadExpiringPoints() - ))) - loading.value = false - }) - } - onMounted(fun(){ - loadData() - } - ) - val handleExchange = fun(): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/points/exchange")) - } - val goToSignin = fun(): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/points/signin")) - } - val goToMyReviews = fun(): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/my-reviews")) - } - val showExpiringDetails = fun(): Unit { - showExpiringPopup.value = true - } - val closeExpiringPopup = fun(): Unit { - showExpiringPopup.value = false - } - val getTypeText = fun(type: String): String { - if (type == "signin") { - return "每日签到" - } else if (type == "shopping") { - return "购物奖励" - } else if (type == "redeem") { - return "积分兑换" - } else if (type == "admin") { - return "系统调整" - } else if (type == "register") { - return "注册赠送" - } else if (type == "expire") { - return "积分过期" - } else { - return "积分变动" - } - } - val formatTime = fun(timeStr: String): String { - if (timeStr == "") { - return "" - } - val date = Date(timeStr) - val y = date.getFullYear() - val m = (date.getMonth() + 1).toString(10).padStart(2, "0") - val d = date.getDate().toString(10).padStart(2, "0") - val hh = date.getHours().toString(10).padStart(2, "0") - val mm = date.getMinutes().toString(10).padStart(2, "0") - return "" + y + "-" + m + "-" + d + " " + hh + ":" + mm - } - val formatDate = fun(dateStr: String): String { - if (dateStr == "") { - return "" - } - val date = Date(dateStr) - val y = date.getFullYear() - val m = (date.getMonth() + 1).toString(10).padStart(2, "0") - val d = date.getDate().toString(10).padStart(2, "0") - return "" + y + "-" + m + "-" + d - } - return fun(): Any? { - return _cE("scroll-view", _uM("class" to "points-page", "direction" to "vertical"), _uA( - _cE("view", _uM("class" to "points-header"), _uA( - _cE("view", _uM("class" to "points-info"), _uA( - _cE("text", _uM("class" to "points-label"), "当前积分"), - _cE("text", _uM("class" to "points-value"), _tD(totalPoints.value), 1) - )), - _cE("view", _uM("class" to "points-actions"), _uA( - _cE("button", _uM("class" to "exchange-btn", "onClick" to handleExchange), "积分兑换") - )) - )), - _cE("view", _uM("class" to "quick-actions"), _uA( - _cE("view", _uM("class" to "action-item", "onClick" to goToSignin), _uA( - _cE("view", _uM("class" to "action-icon signin-icon"), "📅"), - _cE("text", _uM("class" to "action-text"), "每日签到"), - if (isTrue(!signedToday.value)) { - _cE("view", _uM("key" to 0, "class" to "action-badge"), _uA( - _cE("text", _uM("class" to "badge-text"), "+5") - )) - } else { - _cE("view", _uM("key" to 1, "class" to "signed-badge"), _uA( - _cE("text", _uM("class" to "signed-text"), "已签") - )) - } - )), - _cE("view", _uM("class" to "action-item", "onClick" to handleExchange), _uA( - _cE("view", _uM("class" to "action-icon exchange-icon"), "🎁"), - _cE("text", _uM("class" to "action-text"), "积分兑换") - )), - _cE("view", _uM("class" to "action-item", "onClick" to goToMyReviews), _uA( - _cE("view", _uM("class" to "action-icon review-icon"), "⭐"), - _cE("text", _uM("class" to "action-text"), "我的评价") - )) - )), - if (isTrue(!signedToday.value)) { - _cE("view", _uM("key" to 0, "class" to "signin-card"), _uA( - _cE("view", _uM("class" to "signin-info"), _uA( - _cE("text", _uM("class" to "signin-title"), "今日未签到"), - _cE("text", _uM("class" to "signin-desc"), "连续签到可获得额外奖励") - )), - _cE("button", _uM("class" to "signin-btn", "onClick" to goToSignin), "去签到") - )) - } else { - _cE("view", _uM("key" to 1, "class" to "signin-card signed"), _uA( - _cE("view", _uM("class" to "signin-info"), _uA( - _cE("text", _uM("class" to "signin-title"), "今日已签到"), - _cE("text", _uM("class" to "signin-desc"), "已连续签到 " + _tD(continuousDays.value) + " 天", 1) - )), - _cE("text", _uM("class" to "signed-icon"), "✓") - )) - } - , - if (expiringPoints.value > 0) { - _cE("view", _uM("key" to 2, "class" to "expiring-card", "onClick" to showExpiringDetails), _uA( - _cE("view", _uM("class" to "expiring-icon"), "⚠️"), - _cE("view", _uM("class" to "expiring-info"), _uA( - _cE("text", _uM("class" to "expiring-title"), _tD(expiringPoints.value) + " 积分即将过期", 1), - _cE("text", _uM("class" to "expiring-date"), "过期日期:" + _tD(expiringDate.value), 1) - )), - _cE("text", _uM("class" to "expiring-arrow"), "›") - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "records-section"), _uA( - _cE("text", _uM("class" to "section-title"), "积分明细"), - if (isTrue(loading.value)) { - _cE("view", _uM("key" to 0, "class" to "loading-state"), _uA( - _cE("text", null, "加载中...") - )) - } else { - if (records.value.length === 0) { - _cE("view", _uM("key" to 1, "class" to "empty-state"), _uA( - _cE("text", _uM("class" to "empty-text"), "暂无积分记录") - )) - } else { - _cE("view", _uM("key" to 2, "class" to "record-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(records.value, fun(item, __key, __index, _cached): Any { - return _cE("view", _uM("key" to item.id, "class" to "record-item"), _uA( - _cE("view", _uM("class" to "record-left"), _uA( - _cE("text", _uM("class" to "record-title"), _tD(item.description ?: getTypeText(item.type)), 1), - _cE("text", _uM("class" to "record-time"), _tD(formatTime(item.created_at)), 1) - )), - _cE("view", _uM("class" to "record-right"), _uA( - _cE("text", _uM("class" to _nC(_uA( - "record-amount", - _uM("positive" to (item.points > 0), "negative" to (item.points < 0)) - ))), _tD(if (item.points > 0) { - "+" - } else { - "" - } - ) + _tD(item.points), 3) - )) - )) - } - ), 128) - )) - } - } - )), - if (isTrue(showExpiringPopup.value)) { - _cE("view", _uM("key" to 3, "class" to "expiring-popup", "onClick" to closeExpiringPopup), _uA( - _cE("view", _uM("class" to "popup-content", "onClick" to withModifiers(fun(){}, _uA( - "stop" - ))), _uA( - _cE("view", _uM("class" to "popup-header"), _uA( - _cE("text", _uM("class" to "popup-title"), "即将过期积分"), - _cE("text", _uM("class" to "popup-close", "onClick" to closeExpiringPopup), "×") - )), - _cE("view", _uM("class" to "popup-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(expiringDetails.value, fun(detail, index, __index, _cached): Any { - return _cE("view", _uM("class" to "popup-item", "key" to index), _uA( - _cE("view", _uM("class" to "popup-item-info"), _uA( - _cE("text", _uM("class" to "popup-item-points"), "+" + _tD(detail.points) + " 积分", 1), - _cE("text", _uM("class" to "popup-item-desc"), _tD(detail.description ?: "积分获取"), 1) - )), - _cE("view", _uM("class" to "popup-item-expire"), _uA( - _cE("text", _uM("class" to "popup-item-date"), _tD(formatDate(detail.expires_at)), 1), - _cE("text", _uM("class" to "popup-item-label"), "过期") - )) - )) - }), 128) - )), - _cE("view", _uM("class" to "popup-tip"), _uA( - _cE("text", _uM("class" to "tip-text"), "积分有效期为获取后365天,请及时使用避免过期") - )) - ), 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("points-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to "100%", "backgroundColor" to "#f5f5f5")), "points-header" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #ff6b35 0%, #ff8c42 100%)", "backgroundColor" to "rgba(0,0,0,0)", "paddingTop" to 30, "paddingRight" to 20, "paddingBottom" to 30, "paddingLeft" to 20, "color" to "#FFFFFF", "display" to "flex", "justifyContent" to "space-between", "alignItems" to "center")), "points-info" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "points-label" to _pS(_uM("fontSize" to 14, "opacity" to 0.9, "marginBottom" to 8)), "points-value" to _pS(_uM("fontSize" to 36, "fontWeight" to "bold")), "exchange-btn" to _pS(_uM("backgroundColor" to "rgba(255,255,255,0.2)", "color" to "#FFFFFF", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "rgba(255,255,255,0.4)", "borderRightColor" to "rgba(255,255,255,0.4)", "borderBottomColor" to "rgba(255,255,255,0.4)", "borderLeftColor" to "rgba(255,255,255,0.4)", "fontSize" to 14, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "paddingTop" to 0, "paddingRight" to 15, "paddingBottom" to 0, "paddingLeft" to 15, "height" to 32, "lineHeight" to "32px")), "quick-actions" to _pS(_uM("display" to "flex", "flexDirection" to "row", "backgroundColor" to "#FFFFFF", "paddingTop" to 16, "paddingRight" to 0, "paddingBottom" to 16, "paddingLeft" to 0, "marginBottom" to 8)), "action-item" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "position" to "relative")), "action-icon" to _pS(_uM("width" to 44, "height" to 44, "borderTopLeftRadius" to 22, "borderTopRightRadius" to 22, "borderBottomRightRadius" to 22, "borderBottomLeftRadius" to 22, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "fontSize" to 20, "marginBottom" to 6)), "signin-icon" to _pS(_uM("backgroundColor" to "#fff5f0")), "exchange-icon" to _pS(_uM("backgroundColor" to "#f0f5ff")), "review-icon" to _pS(_uM("backgroundColor" to "#fff5f0")), "action-text" to _pS(_uM("fontSize" to 12, "color" to "#666666")), "action-badge" to _pS(_uM("position" to "absolute", "top" to 0, "right" to 20, "backgroundColor" to "#ff6b35", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 2, "paddingRight" to 6, "paddingBottom" to 2, "paddingLeft" to 6)), "badge-text" to _pS(_uM("fontSize" to 10, "color" to "#FFFFFF")), "signed-badge" to _pS(_uM("position" to "absolute", "top" to 0, "right" to 20, "backgroundColor" to "#52c41a", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 2, "paddingRight" to 6, "paddingBottom" to 2, "paddingLeft" to 6)), "signed-text" to _pS(_uM("fontSize" to 10, "color" to "#FFFFFF")), "signin-card" to _uM("" to _uM("backgroundColor" to "#FFFFFF", "marginTop" to 0, "marginRight" to 12, "marginBottom" to 8, "marginLeft" to 12, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center"), ".signed" to _uM("backgroundImage" to "linear-gradient(135deg, #f6ffed 0%, #e6fffb 100%)", "backgroundColor" to "rgba(0,0,0,0)")), "signin-info" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "signin-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "signin-desc" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginTop" to 4)), "signin-btn" to _pS(_uM("backgroundColor" to "#ff6b35", "color" to "#FFFFFF", "fontSize" to 14, "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "paddingTop" to 0, "paddingRight" to 20, "paddingBottom" to 0, "paddingLeft" to 20, "height" to 32, "lineHeight" to "32px")), "signed-icon" to _pS(_uM("width" to 32, "height" to 32, "backgroundColor" to "#52c41a", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "fontSize" to 16, "color" to "#FFFFFF")), "expiring-card" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #fff7e6 0%, #ffe7ba 100%)", "backgroundColor" to "rgba(0,0,0,0)", "marginTop" to 0, "marginRight" to 12, "marginBottom" to 8, "marginLeft" to 12, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 14, "paddingRight" to 16, "paddingBottom" to 14, "paddingLeft" to 16, "display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "expiring-icon" to _pS(_uM("fontSize" to 24, "marginRight" to 12)), "expiring-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column")), "expiring-title" to _pS(_uM("fontSize" to 14, "fontWeight" to "bold", "color" to "#d48806")), "expiring-date" to _pS(_uM("fontSize" to 12, "color" to "#ad8b00", "marginTop" to 2)), "expiring-arrow" to _pS(_uM("fontSize" to 20, "color" to "#d48806")), "records-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "paddingTop" to 0, "paddingRight" to 16, "paddingBottom" to 0, "paddingLeft" to 16, "minHeight" to 300)), "section-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "paddingTop" to 16, "paddingRight" to 0, "paddingBottom" to 16, "paddingLeft" to 0, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f0f0f0", "display" to "flex")), "record-item" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 16, "paddingRight" to 0, "paddingBottom" to 16, "paddingLeft" to 0, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f9f9f9")), "record-left" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "record-title" to _pS(_uM("marginBottom" to 4, "fontSize" to 15, "color" to "#333333")), "record-time" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "record-amount" to _uM("" to _uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333"), ".positive" to _uM("color" to "#ff6b35"), ".negative" to _uM("color" to "#333333")), "empty-state" to _pS(_uM("paddingTop" to 40, "paddingRight" to 0, "paddingBottom" to 40, "paddingLeft" to 0, "display" to "flex", "justifyContent" to "center")), "empty-text" to _pS(_uM("color" to "#999999", "fontSize" to 14)), "loading-state" to _pS(_uM("paddingTop" to 40, "paddingRight" to 0, "paddingBottom" to 40, "paddingLeft" to 0, "display" to "flex", "justifyContent" to "center")), "expiring-popup" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "rgba(0,0,0,0.5)", "display" to "flex", "alignItems" to "flex-end", "justifyContent" to "center", "zIndex" to 1000)), "popup-content" to _pS(_uM("backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 0, "borderBottomLeftRadius" to 0, "width" to "100%", "maxHeight" to 400, "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16)), "popup-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 16)), "popup-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333")), "popup-close" to _pS(_uM("fontSize" to 24, "color" to "#999999")), "popup-list" to _pS(_uM("maxHeight" to 300)), "popup-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 12, "paddingRight" to 0, "paddingBottom" to 12, "paddingLeft" to 0, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f0f0f0")), "popup-item-info" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "popup-item-points" to _pS(_uM("fontSize" to 14, "fontWeight" to "bold", "color" to "#ff6b35")), "popup-item-desc" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginTop" to 2)), "popup-item-expire" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "flex-end")), "popup-item-date" to _pS(_uM("fontSize" to 12, "color" to "#d48806")), "popup-item-label" to _pS(_uM("fontSize" to 10, "color" to "#999999")), "popup-tip" to _pS(_uM("marginTop" to 16, "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "backgroundColor" to "#f9f9f9", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8)), "tip-text" to _pS(_uM("fontSize" to 12, "color" to "#666666"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/points/signin.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/points/signin.kt deleted file mode 100644 index 15736682..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/points/signin.kt +++ /dev/null @@ -1,307 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerPointsSignin : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerPointsSignin) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerPointsSignin - val _cache = __ins.renderCache - val totalPoints = ref(0) - val continuousDays = ref(0) - val signedToday = ref(false) - val currentYear = ref(Date().getFullYear()) - val currentMonth = ref(Date().getMonth() + 1) - val signinRecords = ref(_uA()) - val showPopup = ref(false) - val popupPoints = ref(0) - val popupBonus = ref(0) - val popupContinuousDays = ref(0) - val weekdays = _uA( - "日", - "一", - "二", - "三", - "四", - "五", - "六" - ) as UTSArray - val calendarDays = computed(fun(): UTSArray { - val days: UTSArray = _uA() - val year = currentYear.value - val month = currentMonth.value - val firstDay = Date(year, month - 1, 1).getDay() - val daysInMonth = Date(year, month, 0).getDate() - val today = Date() - val todayStr = today.toISOString().split("T")[0] - run { - var i: Number = 0 - while(i < firstDay){ - days.push(CalendarDay(day = 0, signed = false, isToday = false)) - i++ - } - } - run { - var i: Number = 1 - while(i <= daysInMonth){ - val dateStr = "" + year + "-" + month.toString(10).padStart(2, "0") + "-" + i.toString(10).padStart(2, "0") - val isToday = dateStr === todayStr - val signed = signinRecords.value.includes(dateStr) - days.push(CalendarDay(day = i, signed = signed, isToday = isToday)) - i++ - } - } - return days - } - ) - val loadSigninData = fun(): UTSPromise { - return wrapUTSPromise(suspend { - uni_showLoading(ShowLoadingOptions(title = "加载中...")) - try { - val points = await(supabaseService.getUserPoints()) - totalPoints.value = points - val status = await(supabaseService.getTodaySigninStatus()) - signedToday.value = status.getBoolean("signed") ?: false - continuousDays.value = status.getNumber("continuous_days") ?: 0 - val records = await(supabaseService.getSigninRecords(currentYear.value, currentMonth.value)) - val dates: UTSArray = _uA() - run { - var i: Number = 0 - while(i < records.length){ - val record = records[i] - var dateStr = "" - if (record is UTSJSONObject) { - dateStr = (record as UTSJSONObject).getString("signin_date") ?: "" - } else { - val rObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(record)), " at pages/mall/consumer/points/signin.uvue:171") as UTSJSONObject - dateStr = rObj.getString("signin_date") ?: "" - } - if (dateStr !== "") { - dates.push(dateStr) - } - i++ - } - } - signinRecords.value = dates - } - catch (e: Throwable) { - console.error("加载签到数据失败:", e, " at pages/mall/consumer/points/signin.uvue:180") - } - finally { - uni_hideLoading() - } - }) - } - val doSignin = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (signedToday.value) { - return@w1 - } - uni_showLoading(ShowLoadingOptions(title = "签到中...")) - try { - val result = await(supabaseService.signin()) - if (result.getBoolean("success") === true) { - popupPoints.value = result.getNumber("points") ?: 0 - popupBonus.value = result.getNumber("bonus_points") ?: 0 - popupContinuousDays.value = result.getNumber("continuous_days") ?: 0 - totalPoints.value = result.getNumber("total_points") ?: 0 - continuousDays.value = popupContinuousDays.value - signedToday.value = true - val today = Date().toISOString().split("T")[0] - signinRecords.value.push(today) - showPopup.value = true - } else { - val message = result.getString("message") ?: "签到失败" - uni_showToast(ShowToastOptions(title = message, icon = "none")) - } - } - catch (e: Throwable) { - console.error("签到异常:", e, " at pages/mall/consumer/points/signin.uvue:211") - uni_showToast(ShowToastOptions(title = "签到异常", icon = "none")) - } - finally { - uni_hideLoading() - } - }) - } - val closePopup = fun(): Unit { - showPopup.value = false - } - val prevMonth = fun(): Unit { - if (currentMonth.value === 1) { - currentYear.value-- - currentMonth.value = 12 - } else { - currentMonth.value-- - } - loadSigninData() - } - val nextMonth = fun(): Unit { - if (currentMonth.value === 12) { - currentYear.value++ - currentMonth.value = 1 - } else { - currentMonth.value++ - } - loadSigninData() - } - onMounted(fun(){ - loadSigninData() - } - ) - return fun(): Any? { - return _cE("view", _uM("class" to "signin-page"), _uA( - _cE("view", _uM("class" to "header"), _uA( - _cE("view", _uM("class" to "header-content"), _uA( - _cE("text", _uM("class" to "title"), "每日签到"), - _cE("text", _uM("class" to "subtitle"), "连续签到可获得额外奖励") - )), - _cE("view", _uM("class" to "points-display"), _uA( - _cE("text", _uM("class" to "points-label"), "当前积分"), - _cE("text", _uM("class" to "points-value"), _tD(totalPoints.value), 1) - )) - )), - _cE("view", _uM("class" to "calendar-section"), _uA( - _cE("view", _uM("class" to "calendar-header"), _uA( - _cE("view", _uM("class" to "month-nav"), _uA( - _cE("text", _uM("class" to "nav-btn", "onClick" to prevMonth), "<"), - _cE("text", _uM("class" to "current-month"), _tD(currentYear.value) + "年" + _tD(currentMonth.value) + "月", 1), - _cE("text", _uM("class" to "nav-btn", "onClick" to nextMonth), ">") - )), - _cE("view", _uM("class" to "continuous-info"), _uA( - _cE("text", _uM("class" to "continuous-label"), "已连续签到"), - _cE("text", _uM("class" to "continuous-value"), _tD(continuousDays.value) + "天", 1) - )) - )), - _cE("view", _uM("class" to "calendar-weekdays"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(weekdays, fun(day, __key, __index, _cached): Any { - return _cE("text", _uM("class" to "weekday", "key" to day), _tD(day), 1) - } - ), 64) - )), - _cE("view", _uM("class" to "calendar-days"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(calendarDays.value, fun(day, index, __index, _cached): Any { - return _cE("view", _uM("key" to index, "class" to _nC(_uA( - "day-cell", - _uM("empty" to (day.day === 0), "signed" to day.signed, "today" to day.isToday) - ))), _uA( - if (day.day > 0) { - _cE("text", _uM("key" to 0, "class" to "day-number"), _tD(day.day), 1) - } else { - _cC("v-if", true) - } - , - if (isTrue(day.signed)) { - _cE("view", _uM("key" to 1, "class" to "signed-mark"), _uA( - _cE("text", _uM("class" to "check-icon"), "✓") - )) - } else { - _cC("v-if", true) - } - ), 2) - } - ), 128) - )) - )), - _cE("view", _uM("class" to "signin-btn-section"), _uA( - _cE("button", _uM("class" to _nC(_uA( - "signin-btn", - _uM("signed-today" to signedToday.value) - )), "disabled" to signedToday.value, "onClick" to doSignin), _tD(if (signedToday.value) { - "今日已签到" - } else { - "立即签到" - } - ), 11, _uA( - "disabled" - )) - )), - _cE("view", _uM("class" to "rules-section"), _uA( - _cE("text", _uM("class" to "section-title"), "签到规则"), - _cE("view", _uM("class" to "rule-list"), _uA( - _cE("view", _uM("class" to "rule-item"), _uA( - _cE("text", _uM("class" to "rule-icon"), "📅"), - _cE("text", _uM("class" to "rule-text"), "每日签到可获得5积分") - )), - _cE("view", _uM("class" to "rule-item"), _uA( - _cE("text", _uM("class" to "rule-icon"), "🔥"), - _cE("text", _uM("class" to "rule-text"), "连续签到7天额外奖励20积分") - )), - _cE("view", _uM("class" to "rule-item"), _uA( - _cE("text", _uM("class" to "rule-icon"), "🏆"), - _cE("text", _uM("class" to "rule-text"), "连续签到30天额外奖励100积分") - )), - _cE("view", _uM("class" to "rule-item"), _uA( - _cE("text", _uM("class" to "rule-icon"), "⚠️"), - _cE("text", _uM("class" to "rule-text"), "中断签到后连续天数将重置") - )) - )) - )), - if (isTrue(showPopup.value)) { - _cE("view", _uM("key" to 0, "class" to "signin-popup", "onClick" to closePopup), _uA( - _cE("view", _uM("class" to "popup-content", "onClick" to withModifiers(fun(){}, _uA( - "stop" - ))), _uA( - _cE("view", _uM("class" to "popup-icon"), "🎉"), - _cE("text", _uM("class" to "popup-title"), "签到成功"), - _cE("view", _uM("class" to "popup-points"), _uA( - _cE("text", _uM("class" to "popup-points-label"), "获得积分"), - _cE("text", _uM("class" to "popup-points-value"), "+" + _tD(popupPoints.value), 1) - )), - if (popupBonus.value > 0) { - _cE("view", _uM("key" to 0, "class" to "popup-bonus"), _uA( - _cE("text", _uM("class" to "popup-bonus-label"), "连续签到奖励"), - _cE("text", _uM("class" to "popup-bonus-value"), "+" + _tD(popupBonus.value), 1) - )) - } else { - _cC("v-if", true) - }, - _cE("view", _uM("class" to "popup-continuous"), _uA( - _cE("text", null, "已连续签到 " + _tD(popupContinuousDays.value) + " 天", 1) - )), - _cE("button", _uM("class" to "popup-btn", "onClick" to closePopup), "确定") - ), 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("signin-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f5f5")), "header" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #ff6b35 0%, #ff8c42 100%)", "backgroundColor" to "rgba(0,0,0,0)", "paddingTop" to 20, "paddingRight" to 16, "paddingBottom" to 20, "paddingLeft" to 16, "display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center")), "header-content" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "title" to _pS(_uM("fontSize" to 24, "fontWeight" to "bold", "color" to "#FFFFFF")), "subtitle" to _pS(_uM("fontSize" to 12, "color" to "rgba(255,255,255,0.8)", "marginTop" to 4)), "points-display" to _pS(_uM("backgroundColor" to "rgba(255,255,255,0.2)", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 10, "paddingRight" to 16, "paddingBottom" to 10, "paddingLeft" to 16, "display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "points-label" to _pS(_uM("fontSize" to 12, "color" to "rgba(255,255,255,0.8)")), "points-value" to _pS(_uM("fontSize" to 24, "fontWeight" to "bold", "color" to "#FFFFFF")), "calendar-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "marginTop" to 12, "marginRight" to 12, "marginBottom" to 12, "marginLeft" to 12, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16)), "calendar-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 16)), "month-nav" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "nav-btn" to _pS(_uM("fontSize" to 18, "color" to "#666666", "paddingTop" to 4, "paddingRight" to 12, "paddingBottom" to 4, "paddingLeft" to 12)), "current-month" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "marginTop" to 0, "marginRight" to 8, "marginBottom" to 0, "marginLeft" to 8)), "continuous-info" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "backgroundColor" to "#fff5f0", "paddingTop" to 4, "paddingRight" to 12, "paddingBottom" to 4, "paddingLeft" to 12, "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16)), "continuous-label" to _pS(_uM("fontSize" to 12, "color" to "#ff6b35")), "continuous-value" to _pS(_uM("fontSize" to 14, "fontWeight" to "bold", "color" to "#ff6b35", "marginLeft" to 4)), "calendar-weekdays" to _pS(_uM("display" to "flex", "flexDirection" to "row", "marginBottom" to 8)), "weekday" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "textAlign" to "center", "fontSize" to 12, "color" to "#999999", "paddingTop" to 8, "paddingRight" to 0, "paddingBottom" to 8, "paddingLeft" to 0)), "calendar-days" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap")), "day-cell" to _uM("" to _uM("width" to "14.28%", "height" to 45, "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "position" to "relative"), ".empty" to _uM("backgroundColor" to "rgba(0,0,0,0)"), ".signed" to _uM("backgroundColor" to "#fff5f0", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8)), "day-number" to _uM("" to _uM("fontSize" to 14, "color" to "#333333"), ".day-cell.today " to _uM("color" to "#ff6b35", "fontWeight" to "bold")), "signed-mark" to _pS(_uM("position" to "absolute", "bottom" to 2, "width" to 16, "height" to 16, "backgroundColor" to "#ff6b35", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "check-icon" to _pS(_uM("fontSize" to 10, "color" to "#FFFFFF")), "signin-btn-section" to _pS(_uM("paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16)), "signin-btn" to _uM("" to _uM("backgroundImage" to "linear-gradient(135deg, #ff6b35 0%, #ff8c42 100%)", "backgroundColor" to "rgba(0,0,0,0)", "color" to "#FFFFFF", "fontSize" to 18, "fontWeight" to "bold", "borderTopLeftRadius" to 24, "borderTopRightRadius" to 24, "borderBottomRightRadius" to 24, "borderBottomLeftRadius" to 24, "height" to 48, "lineHeight" to "48px"), ".signed-today" to _uM("backgroundImage" to "none", "backgroundColor" to "#cccccc")), "rules-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "marginTop" to 12, "marginRight" to 12, "marginBottom" to 12, "marginLeft" to 12, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16)), "section-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 12)), "rule-list" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "rule-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "paddingTop" to 8, "paddingRight" to 0, "paddingBottom" to 8, "paddingLeft" to 0)), "rule-icon" to _pS(_uM("fontSize" to 16, "marginRight" to 8)), "rule-text" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "signin-popup" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "rgba(0,0,0,0.5)", "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "zIndex" to 1000)), "popup-content" to _pS(_uM("backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "paddingTop" to 24, "paddingRight" to 24, "paddingBottom" to 24, "paddingLeft" to 24, "width" to 280, "display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "popup-icon" to _pS(_uM("fontSize" to 48, "marginBottom" to 12)), "popup-title" to _pS(_uM("fontSize" to 20, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 16)), "popup-points" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to 8)), "popup-points-label" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "popup-points-value" to _pS(_uM("fontSize" to 24, "fontWeight" to "bold", "color" to "#ff6b35", "marginLeft" to 8)), "popup-bonus" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to 8)), "popup-bonus-label" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "popup-bonus-value" to _pS(_uM("fontSize" to 20, "fontWeight" to "bold", "color" to "#ff6b35", "marginLeft" to 8)), "popup-continuous" to _pS(_uM("fontSize" to 14, "color" to "#999999", "marginBottom" to 16)), "popup-btn" to _pS(_uM("backgroundColor" to "#ff6b35", "color" to "#FFFFFF", "fontSize" to 16, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "width" to "100%", "height" to 40, "lineHeight" to "40px"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/product-detail.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/product-detail.kt deleted file mode 100644 index 3e6f9cc5..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/product-detail.kt +++ /dev/null @@ -1,1166 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.getStorageSync as uni_getStorageSync -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.previewImage as uni_previewImage -import io.dcloud.uniapp.extapi.setNavigationBarTitle as uni_setNavigationBarTitle -import io.dcloud.uniapp.extapi.setStorageSync as uni_setStorageSync -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showToast as uni_showToast -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMallConsumerProductDetail : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) { - onLoad(fun(options: Any) { - val opts = options as UTSJSONObject - val productId = (opts["productId"] ?: opts["id"]) as String? - val priceStr = opts["price"] as String? - val productPrice = if (priceStr != null) { - parseFloat(priceStr) - } else { - null - } - val originalPriceStr = opts["originalPrice"] as String? - val productOriginalPrice = if (originalPriceStr != null) { - parseFloat(originalPriceStr) - } else { - null - } - var productName = opts["name"] as String? - if (productName != null) { - try { - val decodedName = UTSAndroid.consoleDebugError(decodeURIComponent(productName), " at pages/mall/consumer/product-detail.uvue:346") - productName = decodedName - } - catch (e: Throwable) { - console.warn("ProductName decode failed, using original:", productName, " at pages/mall/consumer/product-detail.uvue:349") - } - } - var productImage = opts["image"] as String? - if (productImage != null) { - try { - val decodedImage = UTSAndroid.consoleDebugError(decodeURIComponent(productImage), " at pages/mall/consumer/product-detail.uvue:356") - productImage = decodedImage - } - catch (e: Throwable) { - console.warn("ProductImage decode failed, using original:", productImage, " at pages/mall/consumer/product-detail.uvue:359") - } - } - if (productId != null) { - this.loadProductDetail(productId, object : UTSJSONObject() { - var price = productPrice - var originalPrice = productOriginalPrice - var name = productName - var image = productImage - }) - this.checkFavoriteStatus(productId) - this.saveFootprint(productId) - if (productName != null) { - uni_setNavigationBarTitle(SetNavigationBarTitleOptions(title = productName)) - } - } - } - , __ins) - } - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - override fun `$render`(): Any? { - val _ctx = this - val _cache = this.`$`.renderCache - return _cE("view", _uM("class" to "product-detail-page"), _uA( - _cE("scroll-view", _uM("class" to "page-scroll", "scroll-y" to "true"), _uA( - _cE("view", _uM("class" to "product-images"), _uA( - _cE("swiper", _uM("class" to "image-swiper", "indicator-dots" to true, "autoplay" to false, "onChange" to _ctx.onSwiperChange), _uA( - _cE(Fragment, null, RenderHelpers.renderList(_ctx.product.images, fun(image, index, __index, _cached): Any { - return _cE("swiper-item", _uM("key" to index), _uA( - _cE("image", _uM("src" to image, "class" to "product-image", "mode" to "aspectFit"), null, 8, _uA( - "src" - )) - )) - } - ), 128) - ), 40, _uA( - "onChange" - )), - _cE("view", _uM("class" to "image-indicator"), _tD(_ctx.currentImageIndex + 1) + " / " + _tD(_ctx.product.images.length), 1) - )), - _cE("view", _uM("class" to "product-info"), _uA( - _cE("view", _uM("class" to "price-section"), _uA( - if (isTrue(_ctx.memberDiscount > 0 && _ctx.memberPrice > 0 && _ctx.memberPrice < _ctx.product.price)) { - _cE("view", _uM("key" to 0, "class" to "price-header"), _uA( - _cE("view", _uM("class" to "member-badge"), _uA( - _cE("text", _uM("class" to "member-badge-text"), "VIP") - )), - _cE("text", _uM("class" to "member-discount-label"), _tD(_ctx.memberDiscount) + "折", 1) - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "price-row"), _uA( - _cE("text", _uM("class" to "price-symbol"), "¥"), - _cE("text", _uM("class" to "price-value"), _tD(if (_ctx.memberPrice > 0 && _ctx.memberPrice < _ctx.product.price) { - _ctx.memberPrice - } else { - _ctx.product.price - } - ), 1), - if (isTrue(_ctx.memberPrice > 0 && _ctx.memberPrice < _ctx.product.price)) { - _cE("text", _uM("key" to 0, "class" to "price-original"), "¥" + _tD(_ctx.product.price), 1) - } else { - if (isTrue(_ctx.product.original_price != null && _ctx.product.original_price!! > _ctx.product.price)) { - _cE("text", _uM("key" to 1, "class" to "price-original"), "¥" + _tD(_ctx.product.original_price), 1) - } else { - _cC("v-if", true) - } - } - )), - if (isTrue(_ctx.memberPrice > 0 && _ctx.memberPrice < _ctx.product.price)) { - _cE("view", _uM("key" to 1, "class" to "save-row"), _uA( - _cE("text", _uM("class" to "save-text"), "已省 ¥" + _tD((_ctx.product.price - _ctx.memberPrice).toFixed(2)), 1) - )) - } else { - _cC("v-if", true) - } - )), - _cE("text", _uM("class" to "product-name"), _tD(_ctx.product.name), 1), - _cE("text", _uM("class" to "sales-info"), "已售" + _tD(_ctx.product.sales) + "件 · 库存" + _tD(_ctx.product.stock) + "件", 1) - )), - _cE("view", _uM("class" to "shop-info", "onClick" to _ctx.goToShop), _uA( - _cE("image", _uM("src" to (_ctx.merchant.shop_logo ?: "/static/default-shop.png"), "class" to "shop-logo"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "shop-details"), _uA( - _cE("text", _uM("class" to "shop-name", "onClick" to withModifiers(_ctx.goToShop, _uA( - "stop" - ))), _tD(_ctx.merchant.shop_name), 9, _uA( - "onClick" - )), - _cE("view", _uM("class" to "shop-stats-row"), _uA( - _cE("text", _uM("class" to "rating-text"), "评分: " + _tD(_ctx.merchant.rating.toFixed(1)), 1), - _cE("text", _uM("class" to "sales-text"), "销量: " + _tD(_ctx.merchant.total_sales), 1) - )) - )), - _cE("text", _uM("class" to "enter-shop", "onClick" to withModifiers(_ctx.goToShop, _uA( - "stop" - ))), "进店 ❯", 8, _uA( - "onClick" - )) - ), 8, _uA( - "onClick" - )), - if (isTrue(_ctx.product.usage)) { - _cE("view", _uM("key" to 0, "class" to "function-section"), _uA( - _cE("text", _uM("class" to "function-title"), "功能主治"), - _cE("text", _uM("class" to "function-content"), _tD(_ctx.product.usage), 1) - )) - } else { - _cC("v-if", true) - } - , - if (_ctx.coupons.length > 0) { - _cE("view", _uM("key" to 1, "class" to "detail-cell coupon-entry", "onClick" to _ctx.showCouponModal), _uA( - _cE("text", _uM("class" to "cell-label"), "优惠"), - _cE("view", _uM("class" to "cell-content flex-row"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(_ctx.coupons.slice(0, 2), fun(coupon, index, __index, _cached): Any { - return _cE("text", _uM("class" to "coupon-tag", "key" to index), _tD(coupon.name), 1) - }), 128) - )), - _cE("text", _uM("class" to "cell-arrow"), "领券 ❯") - ), 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "detail-cell params-section", "onClick" to _ctx.showParamsModal), _uA( - _cE("text", _uM("class" to "cell-label"), "参数"), - _cE("view", _uM("class" to "cell-content"), _uA( - _cE("text", _uM("class" to "params-summary-text"), _tD(_ctx.getParamsSummary()), 1) - )), - _cE("text", _uM("class" to "cell-arrow"), "❯") - ), 8, _uA( - "onClick" - )), - if (_ctx.productSkus.length > 0) { - _cE("view", _uM("key" to 2, "class" to "detail-cell spec-section", "onClick" to _ctx.showSpecModal), _uA( - _cE("text", _uM("class" to "cell-label"), "规格"), - _cE("view", _uM("class" to "cell-content"), _uA( - _cE("text", _uM("class" to "spec-selected"), _tD(if (_ctx.selectedSpec != "") { - _ctx.selectedSpec - } else { - "请选择规格" - }), 1) - )), - _cE("text", _uM("class" to "cell-arrow"), "❯") - ), 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "detail-cell quantity-section"), _uA( - _cE("text", _uM("class" to "cell-label"), "数量"), - _cE("view", _uM("class" to "cell-content flex-row align-center justify-between"), _uA( - _cE("view", _uM("class" to "quantity-selector flex-row align-center"), _uA( - _cE("view", _uM("class" to "quantity-btn minus", "onClick" to _ctx.decreaseQuantity), _uA( - _cE("text", _uM("class" to "quantity-btn-text"), "-") - ), 8, _uA( - "onClick" - )), - _cE("input", _uM("class" to "quantity-input", "type" to "number", "value" to _ctx.quantity.toString(10), "min" to 1, "max" to _ctx.getMaxQuantity(), "onInput" to _ctx.validateQuantity), null, 40, _uA( - "value", - "max", - "onInput" - )), - _cE("view", _uM("class" to "quantity-btn plus", "onClick" to _ctx.increaseQuantity), _uA( - _cE("text", _uM("class" to "quantity-btn-text"), "+") - ), 8, _uA( - "onClick" - )) - )), - _cE("text", _uM("class" to "quantity-stock"), "库存" + _tD(_ctx.getAvailableStock()) + "件", 1) - )) - )), - _cE("view", _uM("class" to "product-description"), _uA( - _cE("view", _uM("class" to "section-title"), "商品详情"), - _cE("text", _uM("class" to "description-text"), _tD(_ctx.product.description ?: "暂无详细描述"), 1), - if (_ctx.product.images.length > 0) { - _cE("view", _uM("key" to 0, "class" to "detail-images"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(_ctx.product.images, fun(img, index, __index, _cached): Any { - return _cE("image", _uM("key" to index, "src" to img, "class" to "detail-image", "mode" to "widthFix", "onClick" to fun(){ - _ctx.previewImage(index) - }), null, 8, _uA( - "src", - "onClick" - )) - }), 128) - )) - } else { - _cC("v-if", true) - } - )) - )), - _cE("view", _uM("class" to "bottom-actions"), _uA( - _cE("view", _uM("class" to "action-buttons"), _uA( - _cE("view", _uM("class" to "action-btn", "onClick" to _ctx.contactMerchant), _uA( - _cE("image", _uM("src" to "/static/icons/customer-service.png", "class" to "action-icon-img")), - _cE("text", _uM("class" to "action-text"), "客服") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "action-btn", "onClick" to _ctx.goToCart), _uA( - _cE("image", _uM("src" to "/static/tabbar/cart.png", "class" to "action-icon-img")), - _cE("text", _uM("class" to "action-text"), "购物车") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "action-btn", "onClick" to _ctx.toggleFavorite), _uA( - _cE("image", _uM("src" to if (_ctx.isFavorite) { - "/static/icons/favorite.png" - } else { - "/static/icons/favorite-active.png" - } - , "class" to "action-icon-img"), null, 8, _uA( - "src" - )), - _cE("text", _uM("class" to "action-text"), _tD(if (_ctx.isFavorite) { - "已收藏" - } else { - "收藏" - } - ), 1) - ), 8, _uA( - "onClick" - )) - )), - _cE("view", _uM("class" to "btn-group"), _uA( - _cE("button", _uM("class" to "cart-btn", "onClick" to _ctx.addToCart), "加入购物车", 8, _uA( - "onClick" - )), - _cE("button", _uM("class" to "buy-btn", "onClick" to _ctx.buyNow), "立即购买", 8, _uA( - "onClick" - )) - )) - )), - if (isTrue(_ctx.showSpec)) { - _cE("view", _uM("key" to 0, "class" to "spec-modal", "onClick" to _ctx.hideSpecModal), _uA( - _cE("view", _uM("class" to "spec-content", "onClick" to withModifiers(fun(){}, _uA( - "stop" - ))), _uA( - if (_ctx.selectedSkuId == "") { - _cE("view", _uM("key" to 0, "class" to "spec-error-tip"), _uA( - _cE("text", _uM("class" to "error-tip-text"), "请选择规格") - )) - } else { - _cC("v-if", true) - }, - _cE("view", _uM("class" to "spec-header-jd"), _uA( - _cE("image", _uM("src" to _ctx.getSelectedSkuImage(), "class" to "spec-product-img", "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "spec-info-jd"), _uA( - _cE("view", _uM("class" to "spec-price-row"), _uA( - _cE("text", _uM("class" to "price-symbol"), "¥"), - _cE("text", _uM("class" to "price-value"), _tD(_ctx.getSelectedSkuPrice()), 1) - )), - _cE("text", _uM("class" to "spec-stock-jd"), "库存: " + _tD(_ctx.getSelectedSkuStock()) + "件", 1), - _cE("text", _uM("class" to "spec-choosed-jd"), "已选: " + _tD(if (_ctx.selectedSpec != "") { - _ctx.selectedSpec - } else { - "请选择规格" - }), 1) - )), - _cE("text", _uM("class" to "close-btn-jd", "onClick" to _ctx.hideSpecModal), "×", 8, _uA( - "onClick" - )) - )), - _cE("scroll-view", _uM("class" to "spec-list-jd", "scroll-y" to "true"), _uA( - _cE("view", _uM("class" to "spec-group"), _uA( - _cE("text", _uM("class" to "group-title"), "规格"), - _cE("view", _uM("class" to "group-tags"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(_ctx.productSkus, fun(sku, __key, __index, _cached): Any { - return _cE("view", _uM("key" to sku.id, "class" to _nC(_uA( - "spec-tag", - _uM("active" to (_ctx.selectedSkuId === sku.id)) - )), "onClick" to fun(){ - _ctx.selectSku(sku) - }), _uA( - _cE("text", _uM("class" to "tag-text"), _tD(_ctx.getSkuSpecText(sku)), 1) - ), 10, _uA( - "onClick" - )) - }), 128) - )) - )), - _cE("view", _uM("class" to "spec-quantity-row"), _uA( - _cE("text", _uM("class" to "group-title"), "数量"), - _cE("view", _uM("class" to "quantity-selector-jd"), _uA( - _cE("view", _uM("class" to "q-btn", "onClick" to _ctx.decreaseQuantity), _uA( - _cE("text", _uM("class" to "q-btn-text"), "-") - ), 8, _uA( - "onClick" - )), - _cE("input", _uM("class" to "q-input", "type" to "number", "value" to _ctx.quantity.toString(10), "onInput" to _ctx.validateQuantity), null, 40, _uA( - "value", - "onInput" - )), - _cE("view", _uM("class" to "q-btn", "onClick" to _ctx.increaseQuantity), _uA( - _cE("text", _uM("class" to "q-btn-text"), "+") - ), 8, _uA( - "onClick" - )) - )) - )) - )), - _cE("view", _uM("class" to "spec-footer-jd"), _uA( - _cE("button", _uM("class" to "footer-btn cart", "onClick" to _ctx.addToCart), "加入购物车", 8, _uA( - "onClick" - )), - _cE("button", _uM("class" to "footer-btn buy", "onClick" to _ctx.buyNow), "立即购买", 8, _uA( - "onClick" - )) - )) - ), 8, _uA( - "onClick" - )) - ), 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(_ctx.showParams)) { - _cE("view", _uM("key" to 1, "class" to "params-modal", "onClick" to _ctx.hideParamsModal), _uA( - _cE("view", _uM("class" to "params-content", "onClick" to withModifiers(fun(){}, _uA( - "stop" - ))), _uA( - _cE("view", _uM("class" to "params-header"), _uA( - _cE("text", _uM("class" to "params-title"), "商品参数"), - _cE("text", _uM("class" to "close-btn", "onClick" to _ctx.hideParamsModal), "×", 8, _uA( - "onClick" - )) - )), - _cE("scroll-view", _uM("class" to "params-list", "direction" to "vertical"), _uA( - if (isTrue(_ctx.product.specification)) { - _cE("view", _uM("key" to 0, "class" to "params-item"), _uA( - _cE("text", _uM("class" to "params-label"), "规格"), - _cE("text", _uM("class" to "params-value"), _tD(_ctx.product.specification), 1) - )) - } else { - _cC("v-if", true) - }, - if (isTrue(_ctx.product.usage)) { - _cE("view", _uM("key" to 1, "class" to "params-item"), _uA( - _cE("text", _uM("class" to "params-label"), "功能主治"), - _cE("text", _uM("class" to "params-value"), _tD(_ctx.product.usage), 1) - )) - } else { - _cC("v-if", true) - }, - if (isTrue(_ctx.product.side_effects)) { - _cE("view", _uM("key" to 2, "class" to "params-item"), _uA( - _cE("text", _uM("class" to "params-label"), "副作用"), - _cE("text", _uM("class" to "params-value"), _tD(_ctx.product.side_effects), 1) - )) - } else { - _cC("v-if", true) - }, - if (isTrue(_ctx.product.precautions)) { - _cE("view", _uM("key" to 3, "class" to "params-item"), _uA( - _cE("text", _uM("class" to "params-label"), "注意事项"), - _cE("text", _uM("class" to "params-value"), _tD(_ctx.product.precautions), 1) - )) - } else { - _cC("v-if", true) - }, - if (isTrue(_ctx.product.expiry_date)) { - _cE("view", _uM("key" to 4, "class" to "params-item"), _uA( - _cE("text", _uM("class" to "params-label"), "有效期"), - _cE("text", _uM("class" to "params-value"), _tD(_ctx.product.expiry_date), 1) - )) - } else { - _cC("v-if", true) - }, - if (isTrue(_ctx.product.storage_conditions)) { - _cE("view", _uM("key" to 5, "class" to "params-item"), _uA( - _cE("text", _uM("class" to "params-label"), "储存条件"), - _cE("text", _uM("class" to "params-value"), _tD(_ctx.product.storage_conditions), 1) - )) - } else { - _cC("v-if", true) - }, - if (isTrue(_ctx.product.approval_number)) { - _cE("view", _uM("key" to 6, "class" to "params-item"), _uA( - _cE("text", _uM("class" to "params-label"), "批准文号"), - _cE("text", _uM("class" to "params-value"), _tD(_ctx.product.approval_number), 1) - )) - } else { - _cC("v-if", true) - }, - if (isTrue(_ctx.product.tags != null && _ctx.product.tags!!.length > 0)) { - _cE("view", _uM("key" to 7, "class" to "params-item"), _uA( - _cE("text", _uM("class" to "params-label"), "标签"), - _cE("text", _uM("class" to "params-value"), _tD(_ctx.product.tags!!.join(", ")), 1) - )) - } else { - _cC("v-if", true) - } - )) - ), 8, _uA( - "onClick" - )) - ), 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(_ctx.showCoupons)) { - _cE("view", _uM("key" to 2, "class" to "popup-mask", "onClick" to _ctx.hideCouponModal), _uA( - _cE("view", _uM("class" to "popup-content", "onClick" to withModifiers(fun(){}, _uA( - "stop" - ))), _uA( - _cE("view", _uM("class" to "popup-header"), _uA( - _cE("text", _uM("class" to "popup-title"), "优惠券"), - _cE("text", _uM("class" to "close-btn", "onClick" to _ctx.hideCouponModal), "×", 8, _uA( - "onClick" - )) - )), - _cE("scroll-view", _uM("scroll-y" to "true", "class" to "coupon-list-scroll"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(_ctx.coupons, fun(coupon, __key, __index, _cached): Any { - return _cE("view", _uM("key" to coupon.id, "class" to "coupon-item"), _uA( - _cE("view", _uM("class" to "coupon-left"), _uA( - _cE("text", _uM("class" to "coupon-amount"), _uA( - _cE("text", _uM("class" to "symbol"), "¥"), - _tD(coupon.discount_value) - )), - _cE("text", _uM("class" to "coupon-cond"), "满" + _tD(coupon.min_order_amount) + "可用", 1) - )), - _cE("view", _uM("class" to "coupon-right"), _uA( - _cE("view", _uM("class" to "coupon-info-text"), _uA( - _cE("text", _uM("class" to "coupon-name"), _tD(coupon.name), 1), - _cE("text", _uM("class" to "coupon-time"), _tD(_ctx.formatDate(coupon.start_time)) + "-" + _tD(_ctx.formatDate(coupon.end_time)), 1) - )), - _cE("button", _uM("class" to "coupon-btn", "onClick" to fun(){ - _ctx.claimCoupon(coupon) - }), "领取", 8, _uA( - "onClick" - )) - )) - )) - }), 128) - )) - ), 8, _uA( - "onClick" - )) - ), 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - )) - } - open var product: ProductType by `$data` - open var merchant: MerchantType by `$data` - open var productSkus: UTSArray by `$data` - open var currentImageIndex: Number by `$data` - open var showSpec: Boolean by `$data` - open var selectedSkuId: String by `$data` - open var selectedSpec: String by `$data` - open var quantity: Number by `$data` - open var isFavorite: Boolean by `$data` - open var showParams: Boolean by `$data` - open var coupons: UTSArray by `$data` - open var showCoupons: Boolean by `$data` - open var memberPrice: Number by `$data` - open var memberDiscount: Number by `$data` - open var memberLevelName: String by `$data` - open var displayPrice: Number by `$data` - @Suppress("USELESS_CAST") - override fun data(): Map { - return _uM("product" to ProductType(id = "", merchant_id = "", category_id = "", name = "", description = "", images = _uA(), price = 0, original_price = 0, stock = 0, sales = 0, status = 0, created_at = ""), "merchant" to MerchantType(id = "", user_id = "", shop_name = "", shop_logo = "", shop_banner = "", shop_description = "", contact_name = "", contact_phone = "", shop_status = 0, rating = 0, total_sales = 0, created_at = ""), "productSkus" to _uA(), "currentImageIndex" to 0, "showSpec" to false, "selectedSkuId" to "", "selectedSpec" to "", "quantity" to 1 as Number, "isFavorite" to false, "showParams" to false, "coupons" to _uA(), "showCoupons" to false, "memberPrice" to 0 as Number, "memberDiscount" to 0 as Number, "memberLevelName" to "" as String, "displayPrice" to computed(fun(): Number { - if (this.selectedSkuId != null && this.selectedSkuId !== "") { - val sku = this.productSkus.find(fun(s): Boolean { - return s.id === this.selectedSkuId - } - ) - if (sku != null) { - return sku!!.price - } - } - return this.product.price - } - )) - } - open var saveFootprint = ::gen_saveFootprint_fn - open fun gen_saveFootprint_fn(productId: String) { - supabaseService.addFootprint(productId).then(fun(success){ - if (success === true) { - console.log("足迹已同步到服务器", " at pages/mall/consumer/product-detail.uvue:394") - } - } - ) - val footprintData = uni_getStorageSync("footprints") as String? - var footprints: UTSArray = _uA() - if (footprintData != null && footprintData !== "") { - try { - footprints = UTSAndroid.consoleDebugError(JSON.parse(footprintData), " at pages/mall/consumer/product-detail.uvue:403") as UTSArray - } - catch (e: Throwable) { - console.error("Failed to parse footprints", e, " at pages/mall/consumer/product-detail.uvue:405") - } - } - val productIdStr = productId - footprints = footprints.filter(fun(item: Any): Boolean { - val itemObj = item as UTSJSONObject - val itemId = itemObj.getString("id") ?: "" - return itemId != productIdStr - } - ) - val productImage = if (this.product.images.length > 0) { - this.product.images[0] - } else { - "/static/default-product.png" - } - footprints.unshift(FootprintItemType(id = this.product.id, name = this.product.name, price = this.product.price, original_price = this.product.original_price, image = productImage, sales = this.product.sales, shopId = this.merchant.id, shopName = this.merchant.shop_name, viewTime = Date.now())) - if (footprints.length > 50) { - footprints = footprints.slice(0, 50) - } - uni_setStorageSync("footprints", JSON.stringify(footprints)) - } - open fun loadProductDetail(productId: String, options: Any = UTSJSONObject()): UTSPromise { - return wrapUTSPromise(suspend { - uni_showLoading(ShowLoadingOptions(title = "加载中...")) - try { - val dbProduct = await(supabaseService.getProductById(productId)) - if (dbProduct != null) { - this.product = ProductType(id = dbProduct.id, merchant_id = dbProduct.merchant_id ?: "", category_id = dbProduct.category_id ?: "", name = dbProduct.name, description = dbProduct.description ?: "", images = dbProduct.images ?: _uA(), price = dbProduct.price ?: dbProduct.base_price ?: 0, original_price = dbProduct.original_price ?: dbProduct.market_price ?: 0, stock = dbProduct.stock ?: dbProduct.total_stock ?: 0, sales = dbProduct.sale_count ?: 0, status = dbProduct.status ?: 1, created_at = dbProduct.created_at ?: Date().toISOString(), specification = dbProduct.specification ?: null, usage = dbProduct.usage ?: null, side_effects = dbProduct.side_effects ?: null, precautions = dbProduct.precautions ?: null, expiry_date = dbProduct.expiry_date ?: null, storage_conditions = dbProduct.storage_conditions ?: null, approval_number = dbProduct.approval_number ?: null, tags = _uA()) - if (dbProduct.tags != null && dbProduct.tags != "") { - try { - val parsedTags = UTSAndroid.consoleDebugError(JSON.parse(dbProduct.tags!!), " at pages/mall/consumer/product-detail.uvue:471") - if (UTSArray.isArray(parsedTags)) { - this.product.tags = (parsedTags as UTSArray).map(fun(t: Any): String { - return t as String - } - ) - } - } - catch (e: Throwable) {} - } - if (this.product.images.length == 0 && dbProduct.main_image_url != null && dbProduct.main_image_url != "") { - this.product.images.push(dbProduct.main_image_url!!) - } - if (this.product.images.length == 0) { - this.product.images.push("/static/default-product.png") - } - console.log("商品详情加载成功:", this.product.name, "库存:", this.product.stock, "销量:", this.product.sales, " at pages/mall/consumer/product-detail.uvue:487") - } else { - throw UTSError("No product found") - } - } - catch (e: Throwable) { - console.error("Failed to load product detail:", e, " at pages/mall/consumer/product-detail.uvue:492") - this.product.id = productId - val opts = options as UTSJSONObject - val nameOpt = opts["name"] - this.product.name = if ((nameOpt != null && nameOpt != "")) { - UTSAndroid.consoleDebugError(decodeURIComponent(nameOpt as String), " at pages/mall/consumer/product-detail.uvue:497") ?: "未知商品" - } else { - "未知商品" - } - val priceOpt = opts["price"] - if (UTSAndroid.`typeof`(priceOpt) == "number") { - this.product.price = priceOpt as Number - } else if (UTSAndroid.`typeof`(priceOpt) == "string") { - this.product.price = parseFloat(priceOpt as String) - } else { - this.product.price = 0 - } - val imageOpt = opts["image"] - val decodedImage = if ((imageOpt != null && imageOpt != "")) { - UTSAndroid.consoleDebugError(decodeURIComponent(imageOpt as String), " at pages/mall/consumer/product-detail.uvue:510") - } else { - null - } - this.product.images = if (decodedImage != null) { - _uA( - decodedImage - ) - } else { - _uA( - "/static/default-product.png" - ) - } - } - if (this.product.merchant_id != null && this.product.merchant_id !== "") { - await(this.loadMerchantInfo(this.product.merchant_id)) - this.loadCoupons() - } - if (this.product.id != null && this.product.id !== "") { - this.loadProductSkus(this.product.id) - } - this.loadMemberPrice() - uni_hideLoading() - }) - } - open var loadMerchantInfo = ::gen_loadMerchantInfo_fn - open fun gen_loadMerchantInfo_fn(merchantId: String): UTSPromise { - return wrapUTSPromise(suspend { - var realMerchantLoaded = false - if (merchantId.includes("-") || !merchantId.startsWith("merchant_")) { - try { - val shopResponse = await(supabaseService.getShopByMerchantId(merchantId)) - if (shopResponse != null) { - this.merchant = MerchantType(id = shopResponse.id, user_id = shopResponse.merchant_id, shop_name = shopResponse.shop_name, shop_logo = shopResponse.shop_logo ?: "/static/default-shop.png", shop_banner = shopResponse.shop_banner ?: "/static/default-banner.png", shop_description = shopResponse.description ?: "", contact_name = shopResponse.contact_name ?: "店主", contact_phone = shopResponse.contact_phone ?: "", shop_status = 1, rating = shopResponse.rating_avg ?: 5.0, total_sales = shopResponse.total_sales ?: 0, created_at = shopResponse.created_at ?: Date().toISOString()) - realMerchantLoaded = true - console.log("店铺信息加载成功:", this.merchant.shop_name, " at pages/mall/consumer/product-detail.uvue:552") - } - } - catch (e: Throwable) { - console.error("Load shop failed", e, " at pages/mall/consumer/product-detail.uvue:555") - } - } - if (!realMerchantLoaded) { - var charSum: Number = 0 - run { - var i: Number = 0 - while(i < merchantId.length){ - val charCode = merchantId.charCodeAt(i) - if (charCode != null) { - charSum += charCode - } - i++ - } - } - val merchantIndex = Math.abs(charSum) % 5 - val shopNames = _uA( - "优质好店", - "品牌直营店", - "官方旗舰店", - "专卖店", - "精品小店" - ) - this.merchant = MerchantType(id = merchantId, user_id = "user_mock_" + merchantIndex, shop_name = shopNames[merchantIndex], shop_logo = "/static/shop-logo.png", shop_banner = "/static/shop-banner.png", shop_description = "优质服务,正品保障", contact_name = "店主", contact_phone = "", shop_status = 1, rating = 4.8, total_sales = 999, created_at = "2023-01-01") - } - }) - } - open var loadProductSkus = ::gen_loadProductSkus_fn - open fun gen_loadProductSkus_fn(productId: String): UTSPromise { - return wrapUTSPromise(suspend w@{ - try { - val skus = await(supabaseService.getProductSkus(productId)) - if (skus.length > 0) { - console.log("加载到商品SKU:", skus.length, " at pages/mall/consumer/product-detail.uvue:592") - this.productSkus = _uA() - run { - var i: Number = 0 - while(i < skus.length){ - val skuData = skus[i] - var specs: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("specs", "pages/mall/consumer/product-detail.uvue", 597, 20)) { - } - if (skuData.specifications != null && skuData.specifications != "") { - try { - specs = UTSAndroid.consoleDebugError(JSON.parse(skuData.specifications), " at pages/mall/consumer/product-detail.uvue:600") as UTSJSONObject - } - catch (e: Throwable) { - console.error("解析SKU规格失败", e, " at pages/mall/consumer/product-detail.uvue:602") - } - } - val sku = ProductSkuType(id = skuData.id, product_id = skuData.product_id, sku_code = skuData.sku_code, specifications = specs, price = skuData.price, stock = skuData.stock ?: 0, image_url = skuData.image_url ?: "", status = skuData.status ?: 1) - this.productSkus.push(sku) - i++ - } - } - return@w - } - } - catch (e: Throwable) { - console.error("Fetch SKUs error", e, " at pages/mall/consumer/product-detail.uvue:620") - } - }) - } - open var loadMemberPrice = ::gen_loadMemberPrice_fn - open fun gen_loadMemberPrice_fn(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val memberInfo = await(supabaseService.getUserMemberInfo()) - val levelNameRaw = memberInfo.get("level_name") - val discountRaw = memberInfo.get("discount") - if (levelNameRaw != null) { - this.memberLevelName = levelNameRaw as String - } - if (discountRaw != null) { - val discountRate = discountRaw as Number - if (discountRate > 0 && discountRate < 1) { - this.memberDiscount = Math.round(discountRate * 10) / 10 * 10 - this.memberPrice = Math.round(this.product.price * discountRate * 100) / 100 - } - } - } - catch (e: Throwable) { - console.log("获取会员信息失败,可能未登录或非会员:", e, " at pages/mall/consumer/product-detail.uvue:646") - } - }) - } - open var loadCoupons = ::gen_loadCoupons_fn - open fun gen_loadCoupons_fn(): UTSPromise { - return wrapUTSPromise(suspend w@{ - if (this.product.merchant_id == "") { - return@w - } - try { - val couponData = await(supabaseService.fetchShopCoupons(this.product.merchant_id)) - this.coupons = _uA() - if (couponData != null && couponData.length > 0) { - run { - var i: Number = 0 - while(i < couponData.length){ - val item = couponData[i] - val couponObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/product-detail.uvue:661") as UTSJSONObject - val getSafeString = fun(key: String): String { - val kVal = couponObj.get(key) - if (kVal == null) { - return "" - } - if (UTSAndroid.`typeof`(kVal) == "string") { - return kVal as String - } - return "" - } - val getSafeNumber = fun(key: String): Number { - val kVal = couponObj.get(key) - if (kVal == null) { - return 0 - } - if (UTSAndroid.`typeof`(kVal) == "number") { - return kVal as Number - } - return 0 - } - val coupon = CouponTemplateType(id = getSafeString("id"), name = getSafeString("name"), description = getSafeString("description"), coupon_type = getSafeNumber("coupon_type"), discount_type = getSafeNumber("discount_type"), discount_value = getSafeNumber("discount_value"), min_order_amount = getSafeNumber("min_order_amount"), max_discount_amount = getSafeNumber("max_discount_amount"), total_quantity = getSafeNumber("total_quantity"), per_user_limit = getSafeNumber("per_user_limit"), usage_limit = getSafeNumber("usage_limit"), merchant_id = getSafeString("merchant_id"), category_ids = _uA(), product_ids = _uA(), user_type_limit = getSafeNumber("user_type_limit"), start_time = getSafeString("start_time"), end_time = getSafeString("end_time"), status = getSafeNumber("status"), created_at = getSafeString("created_at")) - this.coupons.push(coupon) - i++ - } - } - } - } - catch (e: Throwable) { - console.warn("SupabaseService coupon methods not available:", e, " at pages/mall/consumer/product-detail.uvue:702") - } - }) - } - open var contactMerchant = ::gen_contactMerchant_fn - open fun gen_contactMerchant_fn() { - if (supabaseService.getCurrentUserId() == "") { - uni_navigateTo(NavigateToOptions(url = "/pages/auth/login")) - return - } - val merchId = this.merchant.user_id ?: this.merchant.id ?: this.product.merchant_id - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/chat?merchantId=" + merchId + "&merchantName=" + this.merchant.shop_name)) - } - open var showCouponModal = ::gen_showCouponModal_fn - open fun gen_showCouponModal_fn() { - this.showCoupons = true - } - open var hideCouponModal = ::gen_hideCouponModal_fn - open fun gen_hideCouponModal_fn() { - this.showCoupons = false - } - open var claimCoupon = ::gen_claimCoupon_fn - open fun gen_claimCoupon_fn(coupon: CouponTemplateType): UTSPromise { - return wrapUTSPromise(suspend w@{ - val userId = supabaseService.getCurrentUserId() - if (userId == "") { - uni_navigateTo(NavigateToOptions(url = "/pages/auth/login")) - return@w - } - uni_showLoading(ShowLoadingOptions(title = "领取中")) - var success = false - val couponId = coupon.id - try { - success = await(supabaseService.claimShopCoupon(couponId, userId!!)) - } - catch (e: Throwable) { - try { - success = await(supabaseService.claimCoupon(couponId, userId!!)) - } - catch (e2: Throwable) { - console.warn("claimCoupon method missing:", e2, " at pages/mall/consumer/product-detail.uvue:746") - } - } - }) - } - open var getSelectedSkuImage = ::gen_getSelectedSkuImage_fn - open fun gen_getSelectedSkuImage_fn(): String { - if (this.selectedSkuId != "") { - val sku = this.productSkus.find(fun(s): Boolean { - return s.id === this.selectedSkuId - } - ) - if (sku != null && sku.image_url != null && sku.image_url != "") { - return sku.image_url as String - } - } - return if (this.product.images.length > 0) { - this.product.images[0] - } else { - "/static/default-product.png" - } - } - open var getSelectedSkuPrice = ::gen_getSelectedSkuPrice_fn - open fun gen_getSelectedSkuPrice_fn(): String { - if (this.selectedSkuId != "") { - val sku = this.productSkus.find(fun(s): Boolean { - return s.id === this.selectedSkuId - } - ) - if (sku != null) { - return sku.price.toFixed(2) - } - } - return this.product.price.toFixed(2) - } - open var getSelectedSkuStock = ::gen_getSelectedSkuStock_fn - open fun gen_getSelectedSkuStock_fn(): Number { - if (this.selectedSkuId != "") { - val sku = this.productSkus.find(fun(s): Boolean { - return s.id === this.selectedSkuId - } - ) - this.showSpecModal() - if (sku != null) { - return sku.stock - } - } - return this.product.stock - } - open var formatDate = ::gen_formatDate_fn - open fun gen_formatDate_fn(dateStr: String): String { - if (dateStr == "") { - return "" - } - val date = Date(dateStr) - return "" + date.getFullYear() + "." + (date.getMonth() + 1) + "." + date.getDate() - } - open var onSwiperChange = ::gen_onSwiperChange_fn - open fun gen_onSwiperChange_fn(e: Any) { - val eventObj = e as UTSJSONObject - val detail = eventObj["detail"] as UTSJSONObject - this.currentImageIndex = detail["current"] as Number - } - open var showSpecModal = ::gen_showSpecModal_fn - open fun gen_showSpecModal_fn() { - this.showSpec = true - } - open var hideSpecModal = ::gen_hideSpecModal_fn - open fun gen_hideSpecModal_fn() { - this.showSpec = false - } - open var selectSku = ::gen_selectSku_fn - open fun gen_selectSku_fn(sku: ProductSkuType) { - this.selectedSkuId = sku.id - this.selectedSpec = this.getSkuSpecText(sku) - } - open var getSkuSpecText = ::gen_getSkuSpecText_fn - open fun gen_getSkuSpecText_fn(sku: ProductSkuType): String { - if (sku.specifications != null) { - val specs = sku.specifications as UTSJSONObject - var specStr = "" - for(key in resolveUTSKeyIterator(specs)){ - val kVal = specs[key] - if (kVal != null) { - specStr += (if (specStr === "") { - "" - } else { - " " - } - ) + kVal.toString() - } - } - if (specStr !== "") { - return specStr - } - } - return sku.sku_code ?: "" - } - open var addToCart = ::gen_addToCart_fn - open fun gen_addToCart_fn(): UTSPromise { - return wrapUTSPromise(suspend w@{ - if (this.productSkus.length > 0 && (this.selectedSkuId == null || this.selectedSkuId === "")) { - if (!this.showSpec) { - this.showSpecModal() - } - return@w - } - uni_showLoading(ShowLoadingOptions(title = "添加中...")) - try { - val success = await(supabaseService.addToCart(this.product.id, this.quantity, this.selectedSkuId, this.product.merchant_id)) - uni_hideLoading() - if (success === true) { - uni_showToast(ShowToastOptions(title = "已添加到购物车", icon = "success")) - this.hideSpecModal() - } else { - console.error("添加购物车返回失败", " at pages/mall/consumer/product-detail.uvue:850") - uni_showToast(ShowToastOptions(title = "添加失败,请登录重试", icon = "none")) - } - } - catch (e: Throwable) { - uni_hideLoading() - console.error("添加购物车异常", e, " at pages/mall/consumer/product-detail.uvue:855") - uni_showToast(ShowToastOptions(title = "添加异常", icon = "none")) - } - }) - } - open var buyNow = ::gen_buyNow_fn - open fun gen_buyNow_fn() { - if (this.productSkus.length > 0 && (this.selectedSkuId == null || this.selectedSkuId === "")) { - if (!this.showSpec) { - this.showSpecModal() - } - return - } - val sku = if ((this.selectedSkuId != null && this.selectedSkuId !== "")) { - this.productSkus.find(fun(s): Boolean { - return s.id === this.selectedSkuId - }) - } else { - null - } - val selectedItem: UTSJSONObject = _uO("__\$originalPosition" to UTSSourceMapPosition("selectedItem", "pages/mall/consumer/product-detail.uvue", 870, 12), "id" to this.selectedSkuId, "product_id" to this.product.id, "sku_id" to this.selectedSkuId, "product_name" to this.product.name, "product_image" to if ((sku != null && sku.image_url != null)) { - sku!!.image_url - } else { - this.product.images[0] - } - , "sku_specifications" to if (sku != null) { - sku!!.specifications - } else { - UTSJSONObject() - } - , "price" to parseFloat((if (sku != null) { - sku!!.price - } else { - this.product.price - } - ).toString(10)).toFixed(2) as String, "quantity" to this.quantity as Number, "shop_id" to this.merchant.id, "shop_name" to this.merchant.shop_name, "merchant_id" to (this.merchant.user_id ?: this.product.merchant_id)) - uni_setStorageSync("checkout_type", "buy_now") - uni_setStorageSync("checkout_items", JSON.stringify(_uA( - selectedItem - ))) - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/checkout")) - } - open var checkFavoriteStatus = ::gen_checkFavoriteStatus_fn - open fun gen_checkFavoriteStatus_fn(id: String) { - this.checkFavorite(id) - } - open var checkFavorite = ::gen_checkFavorite_fn - open fun gen_checkFavorite_fn(id: String): UTSPromise { - return wrapUTSPromise(suspend { - val isFav = await(supabaseService.checkFavorite(id)) - this.isFavorite = isFav - }) - } - open var toggleFavorite = ::gen_toggleFavorite_fn - open fun gen_toggleFavorite_fn(): UTSPromise { - return wrapUTSPromise(suspend w@{ - if (this.product.id == "") { - return@w - } - uni_showLoading(ShowLoadingOptions(title = "处理中")) - try { - val wasFavorite = this.isFavorite - val isNowFavorite = await(supabaseService.toggleFavorite(this.product.id)) - uni_hideLoading() - if (isNowFavorite !== wasFavorite) { - this.isFavorite = isNowFavorite - uni_showToast(ShowToastOptions(title = if (isNowFavorite) { - "收藏成功" - } else { - "已取消收藏" - }, icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "操作失败", icon = "none")) - this.checkFavoriteStatus(this.product.id) - } - } - catch (e: Throwable) { - uni_hideLoading() - console.error("Toggle favorite failed", e, " at pages/mall/consumer/product-detail.uvue:922") - uni_showToast(ShowToastOptions(title = "操作异常", icon = "none")) - } - }) - } - open var goToHome = ::gen_goToHome_fn - open fun gen_goToHome_fn() { - uni_switchTab(SwitchTabOptions(url = "/pages/mall/consumer/home")) - } - open var goToShop = ::gen_goToShop_fn - open fun gen_goToShop_fn() { - val merchantId = this.merchant.id ?: this.product.merchant_id ?: "" - if (merchantId != "") { - console.log("进店点击,merchantId:", merchantId, " at pages/mall/consumer/product-detail.uvue:934") - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/shop-detail?merchantId=" + merchantId)) - } else { - uni_showToast(ShowToastOptions(title = "店铺信息加载中", icon = "none")) - } - } - open var goToCart = ::gen_goToCart_fn - open fun gen_goToCart_fn() { - uni_switchTab(SwitchTabOptions(url = "/pages/main/cart")) - } - open var decreaseQuantity = ::gen_decreaseQuantity_fn - open fun gen_decreaseQuantity_fn() { - if (this.quantity > 1) { - this.quantity-- - } - } - open var increaseQuantity = ::gen_increaseQuantity_fn - open fun gen_increaseQuantity_fn() { - val maxQuantity = this.getMaxQuantity() - if (this.quantity < maxQuantity) { - this.quantity++ - } else { - uni_showToast(ShowToastOptions(title = "最多只能购买" + maxQuantity + "件", icon = "none")) - } - } - open var validateQuantity = ::gen_validateQuantity_fn - open fun gen_validateQuantity_fn() { - var num = this.quantity - val maxQuantity = this.getMaxQuantity() - if (num < 1) { - num = 1 - } else if (num > maxQuantity) { - num = maxQuantity - uni_showToast(ShowToastOptions(title = "最多只能购买" + maxQuantity + "件", icon = "none")) - } - this.quantity = num - } - open var getMaxQuantity = ::gen_getMaxQuantity_fn - open fun gen_getMaxQuantity_fn(): Number { - if (this.selectedSkuId != null && this.selectedSkuId !== "") { - val sku = this.productSkus.find(fun(s): Boolean { - return s.id === this.selectedSkuId - } - ) - if (sku != null) { - return sku!!.stock - } - } - return this.product.stock - } - open var getAvailableStock = ::gen_getAvailableStock_fn - open fun gen_getAvailableStock_fn(): Number { - return this.getMaxQuantity() - } - open var previewImage = ::gen_previewImage_fn - open fun gen_previewImage_fn(index: Number) { - uni_previewImage(PreviewImageOptions(current = index, urls = this.product.images)) - } - open var showParamsModal = ::gen_showParamsModal_fn - open fun gen_showParamsModal_fn() { - this.showParams = true - } - open var hideParamsModal = ::gen_hideParamsModal_fn - open fun gen_hideParamsModal_fn() { - this.showParams = false - } - open var getParamsSummary = ::gen_getParamsSummary_fn - open fun gen_getParamsSummary_fn(): String { - var summary = "" - if (this.product.specification != null && (this.product.specification as String) != "") { - summary += "规格 " - } - if (this.product.expiry_date != null && (this.product.expiry_date as String) != "") { - summary += "有效期 " - } - if (this.product.approval_number != null && (this.product.approval_number as String) != "") { - summary += "批准文号 " - } - val finalSummary = summary.trim() - return if (finalSummary != "") { - finalSummary - } else { - "查看详情" - } - } - companion object { - val styles: Map>> by lazy { - _nCS(_uA( - styles0, - styles1 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("product-detail-page" to _pS(_uM("backgroundColor" to "#f5f5f5", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column")), "page-scroll" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 0, "width" to "100%")), "product-images" to _pS(_uM("position" to "relative", "height" to "750rpx", "backgroundColor" to "#ffffff")), "image-swiper" to _pS(_uM("width" to "100%", "height" to "100%")), "product-image" to _pS(_uM("width" to "100%", "height" to "100%")), "image-indicator" to _pS(_uM("position" to "absolute", "bottom" to "20rpx", "right" to "20rpx", "backgroundColor" to "rgba(0,0,0,0.5)", "color" to "#ffffff", "paddingTop" to "10rpx", "paddingRight" to "20rpx", "paddingBottom" to "10rpx", "paddingLeft" to "20rpx", "borderTopLeftRadius" to "20rpx", "borderTopRightRadius" to "20rpx", "borderBottomRightRadius" to "20rpx", "borderBottomLeftRadius" to "20rpx", "fontSize" to "24rpx")), "product-info" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to "30rpx", "paddingRight" to "30rpx", "paddingBottom" to "30rpx", "paddingLeft" to "30rpx", "marginBottom" to "20rpx")), "price-section" to _pS(_uM("marginBottom" to "20rpx", "backgroundImage" to "linear-gradient(135deg, #fff5f0 0%, #ffffff 100%)", "backgroundColor" to "rgba(0,0,0,0)", "borderTopLeftRadius" to "16rpx", "borderTopRightRadius" to "16rpx", "borderBottomRightRadius" to "16rpx", "borderBottomLeftRadius" to "16rpx", "paddingTop" to "20rpx", "paddingRight" to "20rpx", "paddingBottom" to "20rpx", "paddingLeft" to "20rpx", "marginTop" to "-10rpx", "marginRight" to "-10rpx", "marginLeft" to "-10rpx")), "price-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to "12rpx")), "member-badge" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #ff5000 0%, #ff7a00 100%)", "backgroundColor" to "rgba(0,0,0,0)", "borderTopLeftRadius" to "6rpx", "borderTopRightRadius" to "6rpx", "borderBottomRightRadius" to "6rpx", "borderBottomLeftRadius" to "6rpx", "paddingTop" to "4rpx", "paddingRight" to "16rpx", "paddingBottom" to "4rpx", "paddingLeft" to "16rpx", "marginRight" to "12rpx")), "member-badge-text" to _pS(_uM("fontSize" to "22rpx", "color" to "#ffffff", "fontWeight" to "bold")), "member-discount-label" to _pS(_uM("fontSize" to "26rpx", "color" to "#ff5000", "fontWeight" to "bold")), "price-row" to _pS(_uM("display" to "flex", "flexDirection" to "row")), "price-symbol" to _pS(_uM("fontSize" to "24rpx", "color" to "#ff5000", "fontWeight" to "bold", "marginRight" to "4rpx")), "price-value" to _pS(_uM("fontSize" to "36rpx", "color" to "#ff5000", "fontWeight" to "bold")), "price-original" to _pS(_uM("fontSize" to "28rpx", "color" to "#999999", "textDecorationLine" to "line-through", "marginLeft" to "16rpx")), "save-row" to _pS(_uM("marginTop" to "12rpx")), "save-text" to _pS(_uM("fontSize" to "24rpx", "color" to "#52c41a", "backgroundColor" to "#f6ffed", "paddingTop" to "6rpx", "paddingRight" to "16rpx", "paddingBottom" to "6rpx", "paddingLeft" to "16rpx", "borderTopLeftRadius" to "6rpx", "borderTopRightRadius" to "6rpx", "borderBottomRightRadius" to "6rpx", "borderBottomLeftRadius" to "6rpx")), "current-price" to _uM("" to _uM("fontSize" to "48rpx", "fontWeight" to "bold", "color" to "#ff5000", "marginRight" to "20rpx"), ".has-discount" to _uM("color" to "#ff5000")), "member-price-tag" to _pS(_uM("fontSize" to "28rpx", "fontWeight" to "bold", "color" to "#52c41a", "backgroundColor" to "#f6ffed", "paddingTop" to "4rpx", "paddingRight" to "12rpx", "paddingBottom" to "4rpx", "paddingLeft" to "12rpx", "borderTopLeftRadius" to "8rpx", "borderTopRightRadius" to "8rpx", "borderBottomRightRadius" to "8rpx", "borderBottomLeftRadius" to "8rpx", "marginRight" to "20rpx")), "member-discount-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to "15rpx", "marginTop" to "10rpx")), "member-tag" to _pS(_uM("fontSize" to "20rpx", "color" to "#ffffff", "backgroundImage" to "linear-gradient(135deg, #ff5000 0%, #ff7a00 100%)", "backgroundColor" to "rgba(0,0,0,0)", "paddingTop" to "4rpx", "paddingRight" to "12rpx", "paddingBottom" to "4rpx", "paddingLeft" to "12rpx", "borderTopLeftRadius" to "4rpx", "borderTopRightRadius" to "4rpx", "borderBottomRightRadius" to "4rpx", "borderBottomLeftRadius" to "4rpx", "marginRight" to "10rpx", "fontWeight" to "bold")), "member-discount-text" to _pS(_uM("fontSize" to "24rpx", "color" to "#ff5000", "fontWeight" to "bold", "marginRight" to "15rpx")), "member-save-text" to _pS(_uM("fontSize" to "22rpx", "color" to "#52c41a")), "original-price" to _pS(_uM("fontSize" to "28rpx", "color" to "#999999", "textDecorationLine" to "line-through")), "product-name" to _pS(_uM("fontSize" to "32rpx", "fontWeight" to "bold", "color" to "#333333", "lineHeight" to 1.4, "marginBottom" to "15rpx")), "sales-info" to _pS(_uM("fontSize" to "26rpx", "color" to "#666666")), "shop-info" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to "30rpx", "paddingRight" to "30rpx", "paddingBottom" to "30rpx", "paddingLeft" to "30rpx", "marginBottom" to "20rpx", "display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "shop-logo" to _pS(_uM("width" to "80rpx", "height" to "80rpx", "borderTopLeftRadius" to "10rpx", "borderTopRightRadius" to "10rpx", "borderBottomRightRadius" to "10rpx", "borderBottomLeftRadius" to "10rpx", "marginRight" to "20rpx")), "shop-details" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "justifyContent" to "center")), "shop-name" to _pS(_uM("fontSize" to "30rpx", "fontWeight" to "bold", "color" to "#333333", "marginBottom" to "10rpx")), "shop-stats-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "rating-text" to _pS(_uM("fontSize" to "24rpx", "color" to "#666666", "marginRight" to "30rpx")), "sales-text" to _pS(_uM("fontSize" to "24rpx", "color" to "#666666", "marginRight" to "30rpx")), "enter-shop" to _pS(_uM("fontSize" to "26rpx", "color" to "#666666")), "popup-mask" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "rgba(0,0,0,0.5)", "display" to "flex", "justifyContent" to "flex-end", "flexDirection" to "column", "zIndex" to 1000)), "popup-content" to _pS(_uM("backgroundColor" to "#ffffff", "width" to "100%", "borderTopLeftRadius" to "20rpx", "borderTopRightRadius" to "20rpx", "borderBottomRightRadius" to 0, "borderBottomLeftRadius" to 0, "paddingTop" to "30rpx", "paddingRight" to "30rpx", "paddingBottom" to "30rpx", "paddingLeft" to "30rpx", "display" to "flex", "flexDirection" to "column", "maxHeight" to "1000rpx")), "popup-header" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to "30rpx", "paddingBottom" to "20rpx", "borderBottomWidth" to "1rpx", "borderBottomStyle" to "solid", "borderBottomColor" to "#eeeeee")), "popup-title" to _pS(_uM("fontSize" to "32rpx", "fontWeight" to "bold", "color" to "#333333")), "close-btn" to _pS(_uM("fontSize" to "48rpx", "color" to "#999999")), "coupon-list-scroll" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "coupon-item" to _pS(_uM("display" to "flex", "backgroundColor" to "#fff5f5", "borderTopLeftRadius" to "10rpx", "borderTopRightRadius" to "10rpx", "borderBottomRightRadius" to "10rpx", "borderBottomLeftRadius" to "10rpx", "paddingTop" to "20rpx", "paddingRight" to "20rpx", "paddingBottom" to "20rpx", "paddingLeft" to "20rpx", "marginBottom" to "20rpx")), "coupon-left" to _pS(_uM("width" to "180rpx", "display" to "flex", "flexDirection" to "column", "justifyContent" to "center", "alignItems" to "center", "borderRightWidth" to 1, "borderRightStyle" to "dashed", "borderRightColor" to "#ffccc7", "color" to "#ff5000")), "coupon-amount" to _pS(_uM("fontSize" to "40rpx", "fontWeight" to "bold")), "symbol" to _pS(_uM("fontSize" to "24rpx")), "coupon-cond" to _pS(_uM("fontSize" to "22rpx", "marginTop" to "5rpx")), "coupon-right" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "paddingLeft" to "20rpx", "display" to "flex", "justifyContent" to "space-between", "alignItems" to "center")), "coupon-info-text" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "coupon-name" to _pS(_uM("fontSize" to "28rpx", "fontWeight" to "bold", "color" to "#333333", "marginBottom" to "10rpx")), "coupon-time" to _pS(_uM("fontSize" to "22rpx", "color" to "#999999")), "coupon-btn" to _pS(_uM("backgroundColor" to "#ff5000", "color" to "#ffffff", "fontSize" to "24rpx", "paddingTop" to 0, "paddingRight" to "24rpx", "paddingBottom" to 0, "paddingLeft" to "24rpx", "height" to "50rpx", "lineHeight" to "50rpx", "borderTopLeftRadius" to "25rpx", "borderTopRightRadius" to "25rpx", "borderBottomRightRadius" to "25rpx", "borderBottomLeftRadius" to "25rpx", "marginTop" to 0, "marginRight" to 0, "marginBottom" to 0, "marginLeft" to 0)), "product-description" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to "30rpx", "paddingRight" to "30rpx", "paddingBottom" to "140rpx", "paddingLeft" to "30rpx", "marginBottom" to "20rpx")), "section-title" to _pS(_uM("fontSize" to "32rpx", "fontWeight" to "bold", "color" to "#333333", "marginBottom" to "20rpx")), "description-text" to _pS(_uM("fontSize" to "28rpx", "color" to "#666666", "lineHeight" to 1.6)), "detail-cell" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to "32rpx", "paddingRight" to "30rpx", "paddingBottom" to "32rpx", "paddingLeft" to "30rpx", "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "borderBottomWidth" to "1rpx", "borderBottomStyle" to "solid", "borderBottomColor" to "#f8f8f8")), "cell-label" to _pS(_uM("fontSize" to "28rpx", "color" to "#999999", "width" to "90rpx", "flexShrink" to 0)), "cell-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "marginLeft" to "10rpx")), "cell-arrow" to _pS(_uM("fontSize" to "24rpx", "color" to "#cccccc", "marginLeft" to "10rpx")), "coupon-entry" to _pS(_uM("marginBottom" to 0)), "params-section" to _pS(_uM("marginBottom" to "20rpx", "backgroundColor" to "#ffffff", "paddingTop" to "30rpx", "paddingRight" to "30rpx", "paddingBottom" to "30rpx", "paddingLeft" to "30rpx", "display" to "flex", "alignItems" to "center")), "spec-section" to _pS(_uM("marginBottom" to 0)), "quantity-section" to _pS(_uM("marginBottom" to "20rpx", "borderBottomWidth" to "medium", "borderBottomStyle" to "none", "borderBottomColor" to "#000000")), "params-summary-text" to _pS(_uM("fontSize" to "28rpx", "color" to "#333333")), "spec-selected" to _pS(_uM("fontSize" to "28rpx", "color" to "#333333")), "flex-row" to _pS(_uM("display" to "flex", "flexDirection" to "row")), "align-center" to _pS(_uM("alignItems" to "center")), "justify-between" to _pS(_uM("justifyContent" to "space-between")), "quantity-selector" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "borderTopWidth" to "1rpx", "borderRightWidth" to "1rpx", "borderBottomWidth" to "1rpx", "borderLeftWidth" to "1rpx", "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#e5e5e5", "borderRightColor" to "#e5e5e5", "borderBottomColor" to "#e5e5e5", "borderLeftColor" to "#e5e5e5", "borderTopLeftRadius" to "8rpx", "borderTopRightRadius" to "8rpx", "borderBottomRightRadius" to "8rpx", "borderBottomLeftRadius" to "8rpx", "overflow" to "hidden")), "quantity-btn" to _uM("" to _uM("width" to "60rpx", "height" to "60rpx", "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "backgroundColor" to "#f5f5f5"), ".minus" to _uM("borderRightWidth" to "1rpx", "borderRightStyle" to "solid", "borderRightColor" to "#e5e5e5"), ".plus" to _uM("borderLeftWidth" to "1rpx", "borderLeftStyle" to "solid", "borderLeftColor" to "#e5e5e5")), "quantity-btn-text" to _pS(_uM("fontSize" to "28rpx", "color" to "#333333")), "quantity-input" to _pS(_uM("width" to "80rpx", "height" to "60rpx", "textAlign" to "center", "fontSize" to "28rpx", "color" to "#333333", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "backgroundColor" to "#ffffff")), "quantity-stock" to _pS(_uM("fontSize" to "24rpx", "color" to "#666666")), "bottom-actions" to _pS(_uM("position" to "fixed", "bottom" to 0, "left" to 0, "right" to 0, "backgroundColor" to "#ffffff", "paddingTop" to "10rpx", "paddingRight" to "20rpx", "paddingBottom" to "10rpx", "paddingLeft" to "20rpx", "boxShadow" to "0 -2rpx 10rpx rgba(0, 0, 0, 0.1)", "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "space-between")), "action-buttons" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginRight" to "20rpx")), "action-btn" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "marginRight" to "20rpx", "minWidth" to "80rpx")), "action-icon-img" to _pS(_uM("width" to "44rpx", "height" to "44rpx", "marginBottom" to "4rpx")), "action-text" to _pS(_uM("fontSize" to "20rpx", "color" to "#666666")), "btn-group" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "cart-btn" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to "72rpx", "lineHeight" to "72rpx", "borderTopLeftRadius" to "36rpx", "borderTopRightRadius" to "36rpx", "borderBottomRightRadius" to "36rpx", "borderBottomLeftRadius" to "36rpx", "fontSize" to "26rpx", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "marginTop" to 0, "marginRight" to "10rpx", "marginBottom" to 0, "marginLeft" to "10rpx", "backgroundColor" to "#ff5000", "opacity" to 0.8, "color" to "#ffffff")), "buy-btn" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to "72rpx", "lineHeight" to "72rpx", "borderTopLeftRadius" to "36rpx", "borderTopRightRadius" to "36rpx", "borderBottomRightRadius" to "36rpx", "borderBottomLeftRadius" to "36rpx", "fontSize" to "26rpx", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "marginTop" to 0, "marginRight" to "10rpx", "marginBottom" to 0, "marginLeft" to "10rpx", "backgroundColor" to "#ff5000", "color" to "#ffffff")), "spec-modal" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "rgba(0,0,0,0.6)", "display" to "flex", "justifyContent" to "flex-end", "flexDirection" to "column", "zIndex" to 1000)), "spec-content" to _pS(_uM("backgroundColor" to "#ffffff", "width" to "100%", "borderTopLeftRadius" to "24rpx", "borderTopRightRadius" to "24rpx", "borderBottomRightRadius" to 0, "borderBottomLeftRadius" to 0, "paddingTop" to "30rpx", "paddingRight" to "30rpx", "paddingBottom" to "30rpx", "paddingLeft" to "30rpx", "display" to "flex", "flexDirection" to "column", "position" to "relative")), "spec-header-jd" to _pS(_uM("display" to "flex", "flexDirection" to "row", "position" to "relative", "paddingBottom" to "30rpx", "borderBottomWidth" to "1rpx", "borderBottomStyle" to "solid", "borderBottomColor" to "#f2f2f2", "alignItems" to "flex-end")), "spec-product-img" to _pS(_uM("width" to "180rpx", "height" to "180rpx", "borderTopLeftRadius" to "12rpx", "borderTopRightRadius" to "12rpx", "borderBottomRightRadius" to "12rpx", "borderBottomLeftRadius" to "12rpx", "marginTop" to "-60rpx", "backgroundColor" to "#ffffff", "borderTopWidth" to "4rpx", "borderRightWidth" to "4rpx", "borderBottomWidth" to "4rpx", "borderLeftWidth" to "4rpx", "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ffffff", "borderRightColor" to "#ffffff", "borderBottomColor" to "#ffffff", "borderLeftColor" to "#ffffff", "boxShadow" to "0 4rpx 12rpx rgba(0,0,0,0.1)", "flexShrink" to 0)), "spec-info-jd" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "marginLeft" to "24rpx", "display" to "flex", "flexDirection" to "column", "justifyContent" to "flex-end", "paddingBottom" to "10rpx")), "spec-price-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "color" to "#fa2c19", "marginBottom" to "8rpx")), "spec-error-tip" to _pS(_uM("position" to "absolute", "top" to "-80rpx", "left" to "50%", "transform" to "translateX(-50%)", "backgroundColor" to "rgba(0,0,0,0.7)", "paddingTop" to "12rpx", "paddingRight" to "30rpx", "paddingBottom" to "12rpx", "paddingLeft" to "30rpx", "borderTopLeftRadius" to "40rpx", "borderTopRightRadius" to "40rpx", "borderBottomRightRadius" to "40rpx", "borderBottomLeftRadius" to "40rpx", "zIndex" to 2000, "whiteSpace" to "nowrap")), "error-tip-text" to _pS(_uM("color" to "#ffffff", "fontSize" to "24rpx")), "spec-stock-jd" to _pS(_uM("fontSize" to "24rpx", "color" to "#999999", "marginBottom" to "8rpx")), "spec-choosed-jd" to _pS(_uM("fontSize" to "26rpx", "color" to "#333333")), "close-btn-jd" to _pS(_uM("fontSize" to "48rpx", "color" to "#999999", "position" to "absolute", "right" to "-10rpx", "top" to "-10rpx", "paddingTop" to "10rpx", "paddingRight" to "10rpx", "paddingBottom" to "10rpx", "paddingLeft" to "10rpx")), "spec-list-jd" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "overflowY" to "hidden")), "spec-group" to _pS(_uM("paddingTop" to "30rpx", "paddingRight" to 0, "paddingBottom" to "30rpx", "paddingLeft" to 0)), "group-title" to _pS(_uM("fontSize" to "28rpx", "fontWeight" to "bold", "color" to "#333333", "marginBottom" to "24rpx")), "group-tags" to _pS(_uM("display" to "flex", "flexWrap" to "wrap")), "spec-tag" to _uM("" to _uM("backgroundColor" to "#f6f6f6", "paddingTop" to "16rpx", "paddingRight" to "32rpx", "paddingBottom" to "16rpx", "paddingLeft" to "32rpx", "borderTopLeftRadius" to "40rpx", "borderTopRightRadius" to "40rpx", "borderBottomRightRadius" to "40rpx", "borderBottomLeftRadius" to "40rpx", "marginRight" to "20rpx", "marginBottom" to "20rpx", "borderTopWidth" to "2rpx", "borderRightWidth" to "2rpx", "borderBottomWidth" to "2rpx", "borderLeftWidth" to "2rpx", "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#f6f6f6", "borderRightColor" to "#f6f6f6", "borderBottomColor" to "#f6f6f6", "borderLeftColor" to "#f6f6f6"), ".active" to _uM("backgroundColor" to "#fcedeb", "borderTopColor" to "#fa2c19", "borderRightColor" to "#fa2c19", "borderBottomColor" to "#fa2c19", "borderLeftColor" to "#fa2c19")), "tag-text" to _uM(".spec-tag.active " to _uM("color" to "#fa2c19"), "" to _uM("fontSize" to "26rpx", "color" to "#333333")), "spec-quantity-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to "30rpx", "paddingRight" to 0, "paddingBottom" to "30rpx", "paddingLeft" to 0)), "quantity-selector-jd" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "backgroundColor" to "#f6f6f6", "borderTopLeftRadius" to "8rpx", "borderTopRightRadius" to "8rpx", "borderBottomRightRadius" to "8rpx", "borderBottomLeftRadius" to "8rpx")), "q-btn" to _pS(_uM("width" to "60rpx", "height" to "60rpx", "display" to "flex", "alignItems" to "center", "justifyContent" to "center"))) - } - val styles1: Map>> - get() { - return _uM("q-btn-text" to _pS(_uM("fontSize" to "36rpx", "color" to "#333333")), "q-input" to _pS(_uM("width" to "80rpx", "textAlign" to "center", "fontSize" to "28rpx", "color" to "#333333")), "spec-footer-jd" to _pS(_uM("display" to "flex", "flexDirection" to "row", "paddingTop" to "20rpx", "paddingRight" to 0, "paddingBottom" to "10rpx", "paddingLeft" to 0, "justifyContent" to "space-between")), "footer-btn" to _uM("" to _uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to "80rpx", "lineHeight" to "80rpx", "fontSize" to "28rpx", "fontWeight" to "bold", "borderTopLeftRadius" to "40rpx", "borderTopRightRadius" to "40rpx", "borderBottomRightRadius" to "40rpx", "borderBottomLeftRadius" to "40rpx", "marginTop" to 0, "marginRight" to "10rpx", "marginBottom" to 0, "marginLeft" to "10rpx", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "display" to "flex", "alignItems" to "center", "justifyContent" to "center"), ".cart" to _uM("backgroundImage" to "linear-gradient(90deg, #ffba0d, #ffc30d)", "backgroundColor" to "rgba(0,0,0,0)", "color" to "#ffffff"), ".buy" to _uM("backgroundImage" to "linear-gradient(90deg, #f2140c, #f2270c)", "backgroundColor" to "rgba(0,0,0,0)", "color" to "#ffffff")), "function-section" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to "30rpx", "paddingRight" to "30rpx", "paddingBottom" to "30rpx", "paddingLeft" to "30rpx", "marginBottom" to "20rpx")), "function-title" to _pS(_uM("fontSize" to "30rpx", "color" to "#333333", "fontWeight" to "bold", "marginBottom" to "15rpx")), "function-content" to _pS(_uM("fontSize" to "28rpx", "color" to "#666666", "lineHeight" to 1.5)), "params-title" to _pS(_uM("fontSize" to "32rpx", "color" to "#333333", "width" to "auto", "flexShrink" to 0, "fontWeight" to "bold")), "params-summary" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "alignItems" to "center")), "params-item" to _pS(_uM("fontSize" to "26rpx", "color" to "#666666", "lineHeight" to 1.5, "marginRight" to "20rpx", "marginBottom" to "5rpx", "whiteSpace" to "nowrap", "display" to "flex", "alignItems" to "flex-start", "paddingTop" to "20rpx", "paddingRight" to 0, "paddingBottom" to "20rpx", "paddingLeft" to 0, "borderBottomWidth" to "1rpx", "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5")), "params-arrow" to _pS(_uM("fontSize" to "28rpx", "color" to "#999999", "flexShrink" to 0, "marginLeft" to "10rpx")), "params-modal" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "rgba(0,0,0,0.5)", "display" to "flex", "justifyContent" to "flex-end", "flexDirection" to "column", "zIndex" to 1000)), "params-content" to _pS(_uM("backgroundColor" to "#ffffff", "width" to "100%", "borderTopLeftRadius" to "20rpx", "borderTopRightRadius" to "20rpx", "borderBottomRightRadius" to 0, "borderBottomLeftRadius" to 0, "paddingTop" to "30rpx", "paddingRight" to "30rpx", "paddingBottom" to "30rpx", "paddingLeft" to "30rpx", "display" to "flex", "flexDirection" to "column", "maxHeight" to "1000rpx")), "params-header" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to "30rpx", "paddingBottom" to "20rpx", "borderBottomWidth" to "1rpx", "borderBottomStyle" to "solid", "borderBottomColor" to "#eeeeee")), "params-list" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "params-label" to _pS(_uM("fontSize" to "28rpx", "color" to "#333333", "fontWeight" to "bold", "width" to "150rpx", "flexShrink" to 0)), "params-value" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to "28rpx", "color" to "#666666", "lineHeight" to 1.5)), "detail-images" to _pS(_uM("marginTop" to "30rpx")), "detail-image" to _pS(_uM("width" to "100%", "marginBottom" to "20rpx", "borderTopLeftRadius" to "10rpx", "borderTopRightRadius" to "10rpx", "borderBottomRightRadius" to "10rpx", "borderBottomLeftRadius" to "10rpx", "boxShadow" to "0 2rpx 10rpx rgba(0, 0, 0, 0.1)"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/product-reviews.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/product-reviews.kt deleted file mode 100644 index b8488f9e..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/product-reviews.kt +++ /dev/null @@ -1,439 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.previewImage as uni_previewImage -open class GenPagesMallConsumerProductReviews : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerProductReviews) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerProductReviews - val _cache = __ins.renderCache - val productId = ref("") - val reviews = ref(_uA()) - val stats = ref(StatsType__1(total_count = 0, avg_rating = 0, good_rate = 0, rating_distribution = Map())) - val loading = ref(true) - val hasMore = ref(true) - val page = ref(1) - val pageSize: Number = 10 - val filterRating = ref(0) - val hasImageFilter = ref(false) - val defaultAvatar: String = "/static/images/default-avatar.png" - val getRatingCount = fun(rating: Number): Number { - return stats.value.rating_distribution.get(rating.toString(10)) ?: 0 - } - val getRatingPercent = fun(rating: Number): Number { - if (stats.value.total_count === 0) { - return 0 - } - val count = getRatingCount(rating) - return Math.round((count / stats.value.total_count) * 100) - } - val loadStats = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val result = await(supabaseService.getReviewStats(productId.value)) - val distMap = Map() - val dist = result.get("rating_distribution") - if (dist != null && dist is UTSJSONObject) { - run { - var i: Number = 1 - while(i <= 5){ - distMap.set(i.toString(10), (dist as UTSJSONObject).getNumber(i.toString(10)) ?: 0) - i++ - } - } - } - val statsData = StatsType__1(total_count = result.getNumber("total_count") ?: 0, avg_rating = result.getNumber("avg_rating") ?: 0, good_rate = result.getNumber("good_rate") ?: 0, rating_distribution = distMap) - stats.value = statsData - } - catch (e: Throwable) { - console.error("加载统计失败:", e, " at pages/mall/consumer/product-reviews.uvue:234") - } - }) - } - val loadReviews = fun(pageNum: Number): UTSPromise { - return wrapUTSPromise(suspend { - loading.value = true - try { - val result = await(supabaseService.getProductReviews(productId.value, pageNum, pageSize, filterRating.value, hasImageFilter.value)) - val total = result.getNumber("total") ?: 0 - val data = result.get("data") - val reviewList: UTSArray = _uA() - if (data != null && UTSArray.isArray(data)) { - val rawList = data as UTSArray - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] - var reviewObj: UTSJSONObject - if (item is UTSJSONObject) { - reviewObj = item as UTSJSONObject - } else { - reviewObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/product-reviews.uvue:262") as UTSJSONObject - } - var images: UTSArray = _uA() - val imagesRaw = reviewObj.get("images") - if (imagesRaw != null && UTSAndroid.`typeof`(imagesRaw) === "string") { - try { - val parsed = UTSAndroid.consoleDebugError(JSON.parse(imagesRaw as String), " at pages/mall/consumer/product-reviews.uvue:269") - if (UTSArray.isArray(parsed)) { - images = parsed as UTSArray - } - } - catch (e: Throwable) { - console.error("解析图片失败:", e, " at pages/mall/consumer/product-reviews.uvue:274") - } - } - val review = ReviewItem(id = reviewObj.getString("id") ?: "", user_id = reviewObj.getString("user_id") ?: "", user_name = reviewObj.getString("user_name") ?: "匿名用户", user_avatar = reviewObj.getString("user_avatar") ?: "", rating = reviewObj.getNumber("rating") ?: 5, content = reviewObj.getString("content") ?: "", images = images, is_anonymous = reviewObj.getBoolean("is_anonymous") ?: false, like_count = reviewObj.getNumber("like_count") ?: 0, is_liked = reviewObj.getBoolean("is_liked") ?: false, append_content = reviewObj.getString("append_content"), append_at = reviewObj.getString("append_at"), reply = reviewObj.getString("reply"), created_at = reviewObj.getString("created_at") ?: "") - reviewList.push(review) - i++ - } - } - } - if (pageNum === 1) { - reviews.value = reviewList - } else { - reviews.value = reviews.value.concat(reviewList) - } - hasMore.value = reviews.value.length < total - page.value = pageNum - } - catch (e: Throwable) { - console.error("加载评价失败:", e, " at pages/mall/consumer/product-reviews.uvue:307") - } - finally { - loading.value = false - } - }) - } - val loadMore = fun(): Unit { - if (!loading.value && hasMore.value) { - loadReviews(page.value + 1) - } - } - val setFilterRating = fun(rating: Number): Unit { - filterRating.value = rating - hasImageFilter.value = false - page.value = 1 - loadReviews(1) - } - val toggleHasImage = fun(): Unit { - hasImageFilter.value = !hasImageFilter.value - filterRating.value = 0 - page.value = 1 - loadReviews(1) - } - val toggleLike = fun(review: ReviewItem): UTSPromise { - return wrapUTSPromise(suspend { - try { - val result = await(supabaseService.toggleReviewLike(review.id)) - if (result.getBoolean("success") === true) { - review.is_liked = result.getBoolean("is_liked") ?: false - review.like_count = result.getNumber("like_count") ?: 0 - } - } - catch (e: Throwable) { - console.error("点赞失败:", e, " at pages/mall/consumer/product-reviews.uvue:341") - } - }) - } - val previewImage = fun(images: UTSArray, index: Number): Unit { - uni_previewImage(PreviewImageOptions(urls = images, current = index)) - } - val formatTime = fun(timeStr: String?): String { - if (timeStr == null || timeStr === "") { - return "" - } - val date = Date(timeStr) - val now = Date() - val diff = now.getTime() - date.getTime() - val days = Math.floor(diff / 86400000) - if (days === 0) { - val hours = Math.floor(diff / 3600000) - if (hours === 0) { - val minutes = Math.floor(diff / 60000) - return if (minutes <= 1) { - "刚刚" - } else { - "" + minutes + "分钟前" - } - } - return "" + hours + "小时前" - } else if (days < 7) { - return "" + days + "天前" - } else { - val y = date.getFullYear() - val m = (date.getMonth() + 1).toString(10).padStart(2, "0") - val d = date.getDate().toString(10).padStart(2, "0") - return "" + y + "-" + m + "-" + d - } - } - onLoad__1(fun(options){ - if (options != null) { - val idVal = options["product_id"] - if (idVal != null) { - productId.value = idVal as String - loadStats() - loadReviews(1) - } - } - } - ) - return fun(): Any? { - return _cE("view", _uM("class" to "reviews-page"), _uA( - if (stats.value.total_count > 0) { - _cE("view", _uM("key" to 0, "class" to "stats-section"), _uA( - _cE("view", _uM("class" to "stats-header"), _uA( - _cE("view", _uM("class" to "stats-main"), _uA( - _cE("text", _uM("class" to "stats-avg"), _tD(stats.value.avg_rating), 1), - _cE("text", _uM("class" to "stats-label"), "综合评分") - )), - _cE("view", _uM("class" to "stats-detail"), _uA( - _cE("view", _uM("class" to "stats-row"), _uA( - _cE("text", _uM("class" to "stats-good"), _tD(stats.value.good_rate) + "%", 1), - _cE("text", _uM("class" to "stats-good-label"), "好评率") - )), - _cE("view", _uM("class" to "stats-row"), _uA( - _cE("text", _uM("class" to "stats-total"), _tD(stats.value.total_count), 1), - _cE("text", _uM("class" to "stats-total-label"), "评价数") - )) - )) - )), - _cE("view", _uM("class" to "rating-bars"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(5, fun(i, __key, __index, _cached): Any { - return _cE("view", _uM("class" to "rating-bar", "key" to i), _uA( - _cE("text", _uM("class" to "rating-label"), _tD(6 - i) + "星", 1), - _cE("view", _uM("class" to "rating-progress"), _uA( - _cE("view", _uM("class" to "rating-fill", "style" to _nS(_uM("width" to (getRatingPercent(6 - i) + "%")))), null, 4) - )), - _cE("text", _uM("class" to "rating-count"), _tD(getRatingCount(6 - i)), 1) - )) - }), 64) - )) - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "filter-section"), _uA( - _cE("scroll-view", _uM("scroll-x" to "", "class" to "filter-scroll"), _uA( - _cE("view", _uM("class" to "filter-list"), _uA( - _cE("view", _uM("class" to _nC(_uA( - "filter-item", - _uM("active" to (filterRating.value === 0)) - )), "onClick" to fun(){ - setFilterRating(0) - } - ), _uA( - _cE("text", _uM("class" to "filter-text"), "全部(" + _tD(stats.value.total_count) + ")", 1) - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "filter-item", - _uM("active" to (filterRating.value === 5)) - )), "onClick" to fun(){ - setFilterRating(5) - } - ), _uA( - _cE("text", _uM("class" to "filter-text"), "好评(" + _tD(getRatingCount(5)) + ")", 1) - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "filter-item", - _uM("active" to (filterRating.value === 4)) - )), "onClick" to fun(){ - setFilterRating(4) - } - ), _uA( - _cE("text", _uM("class" to "filter-text"), "中评(" + _tD(getRatingCount(4) + getRatingCount(3)) + ")", 1) - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "filter-item", - _uM("active" to (filterRating.value === 2)) - )), "onClick" to fun(){ - setFilterRating(2) - } - ), _uA( - _cE("text", _uM("class" to "filter-text"), "差评(" + _tD(getRatingCount(2) + getRatingCount(1)) + ")", 1) - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "filter-item", - _uM("active" to hasImageFilter.value) - )), "onClick" to toggleHasImage), _uA( - _cE("text", _uM("class" to "filter-text"), "有图") - ), 2) - )) - )) - )), - _cE("view", _uM("class" to "review-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(reviews.value, fun(review, __key, __index, _cached): Any { - return _cE("view", _uM("class" to "review-item", "key" to review.id), _uA( - _cE("view", _uM("class" to "review-header"), _uA( - _cE("image", _uM("class" to "user-avatar", "src" to if (review.user_avatar.length > 0) { - review.user_avatar - } else { - defaultAvatar - } - , "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "user-info"), _uA( - _cE("text", _uM("class" to "user-name"), _tD(review.user_name), 1), - _cE("view", _uM("class" to "rating-stars"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(5, fun(star, __key, __index, _cached): Any { - return _cE("text", _uM("key" to star, "class" to _nC(_uA( - "star", - _uM("filled" to (star <= review.rating)) - ))), "★", 2) - } - ), 64) - )) - )), - _cE("text", _uM("class" to "review-time"), _tD(formatTime(review.created_at)), 1) - )), - _cE("view", _uM("class" to "review-content"), _uA( - _cE("text", _uM("class" to "review-text"), _tD(review.content), 1) - )), - if (review.images.length > 0) { - _cE("view", _uM("key" to 0, "class" to "review-images"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(review.images.slice(0, 3), fun(img, idx, __index, _cached): Any { - return _cE("image", _uM("key" to idx, "class" to "review-image", "src" to img, "mode" to "aspectFill", "onClick" to fun(){ - previewImage(review.images, idx) - }), null, 8, _uA( - "src", - "onClick" - )) - }), 128), - if (review.images.length > 3) { - _cE("view", _uM("key" to 0, "class" to "more-images"), _uA( - _cE("text", _uM("class" to "more-images-text"), "+" + _tD(review.images.length - 3), 1) - )) - } else { - _cC("v-if", true) - } - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(review.append_content)) { - _cE("view", _uM("key" to 1, "class" to "review-append"), _uA( - _cE("text", _uM("class" to "append-label"), "追评"), - _cE("text", _uM("class" to "append-text"), _tD(review.append_content), 1), - _cE("text", _uM("class" to "append-time"), _tD(formatTime(review.append_at)), 1) - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(review.reply)) { - _cE("view", _uM("key" to 2, "class" to "review-reply"), _uA( - _cE("text", _uM("class" to "reply-label"), "商家回复:"), - _cE("text", _uM("class" to "reply-text"), _tD(review.reply), 1) - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "review-footer"), _uA( - _cE("view", _uM("class" to _nC(_uA( - "like-btn", - _uM("liked" to review.is_liked) - )), "onClick" to fun(){ - toggleLike(review) - } - ), _uA( - _cE("text", _uM("class" to "like-icon"), _tD(if (review.is_liked) { - "❤" - } else { - "♡" - } - ), 1), - _cE("text", _uM("class" to "like-count"), _tD(if (review.like_count != null) { - review.like_count - } else { - 0 - } - ), 1) - ), 10, _uA( - "onClick" - )) - )) - )) - } - ), 128) - )), - if (isTrue(!loading.value && reviews.value.length === 0)) { - _cE("view", _uM("key" to 1, "class" to "empty-state"), _uA( - _cE("text", _uM("class" to "empty-text"), "暂无评价") - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(loading.value)) { - _cE("view", _uM("key" to 2, "class" to "loading-state"), _uA( - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(!loading.value && hasMore.value && reviews.value.length > 0)) { - _cE("view", _uM("key" to 3, "class" to "load-more", "onClick" to loadMore), _uA( - _cE("text", _uM("class" to "load-more-text"), "加载更多") - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(!loading.value && !hasMore.value && reviews.value.length > 0)) { - _cE("view", _uM("key" to 4, "class" to "no-more"), _uA( - _cE("text", _uM("class" to "no-more-text"), "没有更多了") - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("reviews-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f5f5")), "stats-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "marginBottom" to 8)), "stats-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 16)), "stats-main" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "stats-avg" to _pS(_uM("fontSize" to 36, "fontWeight" to "bold", "color" to "#ff6b35")), "stats-label" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "stats-detail" to _pS(_uM("display" to "flex", "flexDirection" to "row")), "stats-row" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "marginLeft" to 24)), "stats-good" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#ff6b35")), "stats-good-label" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "stats-total" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333")), "stats-total-label" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "rating-bars" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "rating-bar" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to 4)), "rating-label" to _pS(_uM("fontSize" to 12, "color" to "#999999", "width" to 30)), "rating-progress" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 6, "backgroundColor" to "#f0f0f0", "borderTopLeftRadius" to 3, "borderTopRightRadius" to 3, "borderBottomRightRadius" to 3, "borderBottomLeftRadius" to 3, "marginTop" to 0, "marginRight" to 8, "marginBottom" to 0, "marginLeft" to 8, "overflow" to "hidden")), "rating-fill" to _pS(_uM("height" to "100%", "backgroundColor" to "#ff6b35", "borderTopLeftRadius" to 3, "borderTopRightRadius" to 3, "borderBottomRightRadius" to 3, "borderBottomLeftRadius" to 3)), "rating-count" to _pS(_uM("fontSize" to 12, "color" to "#999999", "width" to 30, "textAlign" to "right")), "filter-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "marginBottom" to 8)), "filter-scroll" to _pS(_uM("whiteSpace" to "nowrap")), "filter-list" to _pS(_uM("display" to "flex", "flexDirection" to "row", "paddingTop" to 12, "paddingRight" to 16, "paddingBottom" to 12, "paddingLeft" to 16)), "filter-item" to _uM("" to _uM("paddingTop" to 6, "paddingRight" to 16, "paddingBottom" to 6, "paddingLeft" to 16, "backgroundColor" to "#f5f5f5", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "marginRight" to 12), ".active" to _uM("backgroundColor" to "#fff5f0")), "filter-text" to _uM("" to _uM("fontSize" to 13, "color" to "#666666"), ".filter-item.active " to _uM("color" to "#ff6b35")), "review-list" to _pS(_uM("backgroundColor" to "#FFFFFF")), "review-item" to _pS(_uM("paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f0f0f0")), "review-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to 12)), "user-avatar" to _pS(_uM("width" to 36, "height" to 36, "borderTopLeftRadius" to 18, "borderTopRightRadius" to 18, "borderBottomRightRadius" to 18, "borderBottomLeftRadius" to 18)), "user-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "marginLeft" to 10, "display" to "flex", "flexDirection" to "column")), "user-name" to _pS(_uM("fontSize" to 14, "color" to "#333333")), "rating-stars" to _pS(_uM("display" to "flex", "flexDirection" to "row", "marginTop" to 2)), "star" to _uM("" to _uM("fontSize" to 12, "color" to "#dddddd"), ".filled" to _uM("color" to "#ff6b35")), "review-time" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "review-content" to _pS(_uM("marginBottom" to 12)), "review-text" to _pS(_uM("fontSize" to 14, "color" to "#333333", "lineHeight" to "20px")), "review-images" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "marginBottom" to 12)), "review-image" to _pS(_uM("width" to 80, "height" to 80, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "marginRight" to 8, "marginBottom" to 8)), "more-images" to _pS(_uM("width" to 80, "height" to 80, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "backgroundColor" to "rgba(0,0,0,0.5)", "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "more-images-text" to _pS(_uM("fontSize" to 14, "color" to "#FFFFFF")), "review-append" to _pS(_uM("backgroundColor" to "#f9f9f9", "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "marginBottom" to 12)), "append-label" to _pS(_uM("fontSize" to 12, "color" to "#ff6b35", "marginRight" to 8)), "append-text" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "append-time" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginTop" to 8, "display" to "flex")), "review-reply" to _pS(_uM("backgroundColor" to "#f5f5f5", "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "marginBottom" to 12)), "reply-label" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "reply-text" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "review-footer" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "flex-end")), "like-btn" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "paddingTop" to 4, "paddingRight" to 12, "paddingBottom" to 4, "paddingLeft" to 12)), "like-icon" to _uM(".like-btn.liked " to _uM("color" to "#ff6b35"), "" to _uM("fontSize" to 16, "color" to "#999999", "marginRight" to 4)), "like-count" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "empty-state" to _pS(_uM("paddingTop" to 60, "paddingRight" to 0, "paddingBottom" to 60, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "backgroundColor" to "#FFFFFF")), "empty-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "loading-state" to _pS(_uM("paddingTop" to 30, "paddingRight" to 0, "paddingBottom" to 30, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "backgroundColor" to "#FFFFFF")), "loading-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "load-more" to _pS(_uM("paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "backgroundColor" to "#FFFFFF")), "load-more-text" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "no-more" to _pS(_uM("paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "backgroundColor" to "#FFFFFF")), "no-more-text" to _pS(_uM("fontSize" to 12, "color" to "#999999"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/red-packets/index.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/red-packets/index.kt deleted file mode 100644 index f2320e5b..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/red-packets/index.kt +++ /dev/null @@ -1,190 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMallConsumerRedPacketsIndex : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerRedPacketsIndex) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerRedPacketsIndex - val _cache = __ins.renderCache - val loading = ref(true) - val currentTab = ref(0) - val packets = ref(_uA()) - val filteredPackets = computed(fun(): UTSArray { - val result: UTSArray = _uA() - if (currentTab.value === 0) { - run { - var i: Number = 0 - while(i < packets.value.length){ - if (packets.value[i].status === 0) { - result.push(packets.value[i]) - } - i++ - } - } - } else { - run { - var i: Number = 0 - while(i < packets.value.length){ - if (packets.value[i].status !== 0) { - result.push(packets.value[i]) - } - i++ - } - } - } - return result - } - ) - val loadData = fun(): UTSPromise { - return wrapUTSPromise(suspend { - loading.value = true - try { - val rawList = await(supabaseService.getUserRedPackets()) - val mappedList: UTSArray = _uA() - run { - var i: Number = 0 - while(i < rawList.length){ - val item = rawList[i] as UTSJSONObject - val packet: RedPacket = RedPacket(id = item.getString("id") ?: "", user_id = "", amount = item.getNumber("amount") ?: 0, name = item.getString("name") ?: "", status = item.getNumber("status") ?: 0, expire_at = item.getString("expire_at") ?: "", created_at = item.getString("created_at") ?: "") - mappedList.push(packet) - i++ - } - } - packets.value = mappedList - } - catch (e: Throwable) { - console.error(e, " at pages/mall/consumer/red-packets/index.uvue:98") - } - finally { - loading.value = false - } - }) - } - onMounted(fun(){ - loadData() - } - ) - val usePacket = fun(item: RedPacket){ - uni_switchTab(SwitchTabOptions(url = "/pages/main/index")) - } - val getStatusText = fun(status: Number): String { - if (status === 1) { - return "已使用" - } - if (status === 2) { - return "已过期" - } - return "" - } - val formatTime = fun(timeStr: String): String { - if (timeStr == "") { - return "永久有效" - } - val date = Date(timeStr) - return "" + date.getFullYear() + "-" + (date.getMonth() + 1).toString(10).padStart(2, "0") + "-" + date.getDate().toString(10).padStart(2, "0") - } - return fun(): Any? { - return _cE("view", _uM("class" to "red-packets-page"), _uA( - _cE("view", _uM("class" to "tab-header", "style" to _nS(_uM("position" to "fixed", "top" to "0", "left" to "0", "right" to "0", "z-index" to "10"))), _uA( - _cE("text", _uM("class" to _nC(_uA( - "tab-item", - _uM("active" to (currentTab.value === 0)) - )), "onClick" to fun(){ - currentTab.value = 0 - } - ), "未使用", 10, _uA( - "onClick" - )), - _cE("text", _uM("class" to _nC(_uA( - "tab-item", - _uM("active" to (currentTab.value === 1)) - )), "onClick" to fun(){ - currentTab.value = 1 - } - ), "已使用/过期", 10, _uA( - "onClick" - )) - ), 4), - if (isTrue(loading.value)) { - _cE("view", _uM("key" to 0, "class" to "loading-state"), _uA( - _cE("text", null, "加载中...") - )) - } else { - _cE("scroll-view", _uM("key" to 1, "class" to "packet-list", "direction" to "vertical"), _uA( - if (filteredPackets.value.length === 0) { - _cE("view", _uM("key" to 0, "class" to "empty-state"), _uA( - _cE("text", _uM("class" to "empty-text"), "暂无相关红包") - )) - } else { - _cE(Fragment, _uM("key" to 1), RenderHelpers.renderList(filteredPackets.value, fun(item, __key, __index, _cached): Any { - return _cE("view", _uM("key" to item.id, "class" to _nC(_uA( - "packet-item", - _uM("disabled" to (item.status !== 0)) - ))), _uA( - _cE("view", _uM("class" to "packet-left"), _uA( - _cE("text", _uM("class" to "packet-amount"), _uA( - "¥", - _cE("text", _uM("class" to "amount-num"), _tD(item.amount), 1) - )), - _cE("text", _uM("class" to "packet-condition"), "无门槛") - )), - _cE("view", _uM("class" to "packet-right"), _uA( - _cE("view", _uM("class" to "packet-info"), _uA( - _cE("text", _uM("class" to "packet-name"), _tD(item.name), 1), - _cE("text", _uM("class" to "packet-date"), "有效期至 " + _tD(formatTime(item.expire_at)), 1) - )), - _cE("view", _uM("class" to "packet-action"), _uA( - if (item.status === 0) { - _cE("button", _uM("key" to 0, "class" to "use-btn", "onClick" to fun(){ - usePacket(item) - }), "立即使用", 8, _uA( - "onClick" - )) - } else { - _cE("text", _uM("key" to 1, "class" to "status-text"), _tD(getStatusText(item.status)), 1) - } - )) - )) - ), 2) - } - ), 128) - } - )) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("red-packets-page" to _pS(_uM("backgroundColor" to "#f5f5f5", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "tab-header" to _pS(_uM("display" to "flex", "backgroundColor" to "#ffffff", "paddingTop" to 10, "paddingRight" to 0, "paddingBottom" to 10, "paddingLeft" to 0)), "tab-item" to _uM("" to _uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "textAlign" to "center", "fontSize" to 14, "color" to "#666666", "paddingBottom" to 8, "borderBottomWidth" to 2, "borderBottomStyle" to "solid", "borderBottomColor" to "rgba(0,0,0,0)"), ".active" to _uM("color" to "#ff5000", "borderBottomColor" to "#ff5000", "fontWeight" to "bold")), "packet-list" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15)), "packet-item" to _pS(_uM("display" to "flex", "backgroundColor" to "#ffffff", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginBottom" to 12, "overflow" to "hidden", "boxShadow" to "0 2px 4px rgba(0,0,0,0.05)")), "packet-left" to _uM(".packet-item.disabled " to _uM("color" to "#999999", "backgroundColor" to "#e0e0e0"), "" to _uM("width" to 100, "backgroundColor" to "#fff5f0", "color" to "#ff5000", "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 15, "paddingRight" to 0, "paddingBottom" to 15, "paddingLeft" to 0)), "packet-name" to _uM(".packet-item.disabled " to _uM("color" to "#999999", "backgroundColor" to "#f0f0f0"), "" to _uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 8)), "amount-num" to _uM(".packet-item.disabled " to _uM("color" to "#999999", "backgroundColor" to "#f0f0f0"), "" to _uM("fontSize" to 28, "fontWeight" to "bold")), "packet-amount" to _pS(_uM("fontSize" to 14)), "packet-condition" to _pS(_uM("fontSize" to 12, "marginTop" to 4)), "packet-right" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "display" to "flex", "justifyContent" to "space-between", "alignItems" to "center")), "packet-info" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "packet-date" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "use-btn" to _pS(_uM("fontSize" to 12, "backgroundColor" to "#ff5000", "color" to "#ffffff", "borderTopLeftRadius" to 15, "borderTopRightRadius" to 15, "borderBottomRightRadius" to 15, "borderBottomLeftRadius" to 15, "paddingTop" to 4, "paddingRight" to 12, "paddingBottom" to 4, "paddingLeft" to 12, "lineHeight" to 1.5)), "status-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "loading-state" to _pS(_uM("paddingTop" to 40, "paddingRight" to 40, "paddingBottom" to 40, "paddingLeft" to 40, "alignItems" to "center", "justifyContent" to "center", "display" to "flex")), "empty-state" to _pS(_uM("paddingTop" to 40, "paddingRight" to 40, "paddingBottom" to 40, "paddingLeft" to 40, "alignItems" to "center", "justifyContent" to "center", "display" to "flex"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/refund-review.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/refund-review.kt deleted file mode 100644 index 49ac3e2b..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/refund-review.kt +++ /dev/null @@ -1,115 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerRefundReview : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerRefundReview) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerRefundReview - val _cache = __ins.renderCache - val rating = ref(5) - val comment = ref("") - val submitting = ref(false) - val ratingText = computed(fun(): String { - val texts = _uA( - "非常不满意", - "不满意", - "一般", - "满意", - "非常满意" - ) - return texts[rating.value - 1] - } - ) - val setRating = fun(kVal: Number){ - rating.value = kVal - } - val submitReview = fun(){ - if (submitting.value) { - return - } - submitting.value = true - setTimeout(fun(){ - uni_showToast(ShowToastOptions(title = "评价成功", icon = "success")) - setTimeout(fun(){ - uni_navigateBack(null) - } - , 1500) - submitting.value = false - } - , 1000) - } - return fun(): Any? { - return _cE("view", _uM("class" to "review-page"), _uA( - _cE("view", _uM("class" to "header"), _uA( - _cE("text", _uM("class" to "title"), "服务评价"), - _cE("text", _uM("class" to "subtitle"), "请对本次售后服务进行评价") - )), - _cE("view", _uM("class" to "rating-section"), _uA( - _cE("text", _uM("class" to "label"), "服务评分"), - _cE("view", _uM("class" to "stars"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(5, fun(i, __key, __index, _cached): Any { - return _cE("text", _uM("key" to i, "class" to _nC(_uA( - "star", - _uM("active" to (i <= rating.value)) - )), "onClick" to fun(){ - setRating(i) - } - ), "★", 10, _uA( - "onClick" - )) - } - ), 64) - )), - _cE("text", _uM("class" to "rating-text"), _tD(ratingText.value), 1) - )), - _cE("view", _uM("class" to "comment-section"), _uA( - _cE("textarea", _uM("modelValue" to comment.value, "onInput" to fun(`$event`: UniInputEvent){ - comment.value = `$event`.detail.value - } - , "class" to "comment-input", "placeholder" to "请输入您的评价内容,您的建议是我们改进的动力", "maxlength" to "200"), null, 40, _uA( - "modelValue", - "onInput" - )), - _cE("text", _uM("class" to "word-count"), _tD(comment.value.length) + "/200", 1) - )), - _cE("button", _uM("class" to "submit-btn", "onClick" to submitReview, "loading" to submitting.value), "提交评价", 8, _uA( - "loading" - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("review-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#ffffff", "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20)), "header" to _pS(_uM("marginBottom" to 30, "textAlign" to "center")), "title" to _pS(_uM("fontSize" to 20, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 10)), "subtitle" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "rating-section" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "marginBottom" to 30)), "label" to _pS(_uM("fontSize" to 16, "color" to "#333333", "marginBottom" to 15)), "stars" to _pS(_uM("display" to "flex", "marginBottom" to 10)), "star" to _uM("" to _uM("marginRight" to 10, "fontSize" to 32, "color" to "#dddddd", "transitionProperty" to "color", "transitionDuration" to "0.2s"), ".active" to _uM("color" to "#ffca28")), "rating-text" to _pS(_uM("fontSize" to 14, "color" to "#666666")), "comment-section" to _pS(_uM("position" to "relative", "marginBottom" to 30)), "comment-input" to _pS(_uM("width" to "100%", "height" to 120, "backgroundColor" to "#f5f5f5", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "fontSize" to 14, "boxSizing" to "border-box")), "word-count" to _pS(_uM("position" to "absolute", "bottom" to 10, "right" to 10, "fontSize" to 12, "color" to "#999999")), "submit-btn" to _pS(_uM("backgroundColor" to "#007aff", "color" to "#ffffff", "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "fontSize" to 16, "fontWeight" to "bold", "height" to 50, "lineHeight" to "50px")), "@TRANSITION" to _uM("star" to _uM("property" to "color", "duration" to "0.2s"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/refund.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/refund.kt deleted file mode 100644 index a06af072..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/refund.kt +++ /dev/null @@ -1,571 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMallConsumerRefund : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerRefund) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerRefund - val _cache = __ins.renderCache - val activeTab = ref("all") - val refunds = ref(_uA()) - val tabCounts = ref(TabCountsType(processing = 0)) - val isLoading = ref(false) - val currentPage = ref(1) - val pageSize = ref(15) - val hasMore = ref(true) - val getCurrentUserId = fun(): String { - return supabaseService.getCurrentUserId() ?: "" - } - val resetData = fun(){ - refunds.value = _uA() - currentPage.value = 1 - hasMore.value = true - } - val loadRefunds = fun(loadMore: Boolean): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (isLoading.value || (!hasMore.value && loadMore)) { - return@w1 - } - isLoading.value = true - try { - val userId = getCurrentUserId() - if (userId == "") { - uni_navigateTo(NavigateToOptions(url = "/pages/user/login")) - return@w1 - } - val page = if (loadMore) { - currentPage.value + 1 - } else { - 1 - } - var statusList: UTSArray = _uA() - if (activeTab.value === "processing") { - statusList = _uA( - 1, - 2 - ) - } else if (activeTab.value === "completed") { - statusList = _uA( - 3, - 4, - 5 - ) - } - val rawData = await(supabaseService.getRefunds(statusList, page, pageSize.value)) - val newRefunds: UTSArray = _uA() - run { - var i: Number = 0 - while(i < rawData.length){ - val item = rawData[i] as UTSJSONObject - val orderObjRaw = item.get("order") - val orderObj = if ((orderObjRaw != null)) { - (orderObjRaw as UTSJSONObject) - } else { - UTSJSONObject() - } - val dbItemsRaw = orderObj.get("ml_order_items") - val dbItems = if ((dbItemsRaw != null)) { - (dbItemsRaw as UTSArray) - } else { - _uA() - } - val uiItems: UTSArray = _uA() - run { - var j: Number = 0 - while(j < dbItems.length){ - val di = dbItems[j] as UTSJSONObject - val imgRaw = di.get("image_url") - val imgUrl = if ((imgRaw != null)) { - (imgRaw as String) - } else { - "/static/default-product.png" - } - val productInfo: RefundProductInfo = RefundProductInfo(images = _uA( - imgUrl - )) - val specRaw = di.get("specifications") - val specifications = if ((specRaw != null)) { - (specRaw as Any) - } else { - null - } - val orderItem: RefundOrderItem = RefundOrderItem(id = di.getString("id") ?: "", product_name = di.getString("product_name") ?: "", sku_specifications = specifications, price = 0, quantity = di.getNumber("quantity") ?: 1, product = productInfo) - uiItems.push(orderItem) - j++ - } - } - val statusHistoryRaw = item.get("status_history") - val statusHistory = if ((statusHistoryRaw != null)) { - (statusHistoryRaw as UTSArray) - } else { - _uA() - } - val refundItem: RefundType = RefundType(id = item.getString("id") ?: "", user_id = item.getString("user_id") ?: "", order_id = item.getString("order_id") ?: "", refund_no = item.getString("refund_no") ?: "", refund_type = item.getNumber("refund_type") ?: 1, refund_reason = item.getString("refund_reason") ?: "", refund_amount = item.getNumber("refund_amount") ?: 0, status = item.getNumber("status") ?: 1, status_history = statusHistory, created_at = item.getString("created_at") ?: "", order = RefundOrderInfo(id = item.getString("order_id") ?: "", order_no = orderObj.getString("order_no") ?: "", created_at = orderObj.getString("created_at") ?: "", order_items = uiItems)) - newRefunds.push(refundItem) - i++ - } - } - if (loadMore) { - refunds.value.push(*newRefunds.toTypedArray()) - currentPage.value = page - } else { - refunds.value = newRefunds - currentPage.value = 1 - } - hasMore.value = newRefunds.length === pageSize.value - } - catch (err: Throwable) { - console.error("加载售后记录异常:", err, " at pages/mall/consumer/refund.uvue:261") - } - finally { - isLoading.value = false - } - }) - } - val loadTabCounts = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - val userId = getCurrentUserId() - if (userId == "") { - return@w1 - } - try { - val processingRefunds = await(supabaseService.getRefunds(_uA( - 1, - 2 - ), 1, 100)) - tabCounts.value.processing = processingRefunds.length - } - catch (err: Throwable) { - console.error("加载计数异常:", err, " at pages/mall/consumer/refund.uvue:275") - } - }) - } - watch(activeTab, fun(){ - resetData() - loadRefunds(false) - } - ) - onMounted(fun(){ - loadRefunds(false) - loadTabCounts() - } - ) - val getStatusText = fun(status: Number): String { - if (status === 1) { - return "待处理" - } - if (status === 2) { - return "处理中" - } - if (status === 3) { - return "已完成" - } - if (status === 4) { - return "已取消" - } - if (status === 5) { - return "已拒绝" - } - return "未知状态" - } - val getStatusClass = fun(status: Number): String { - if (status === 1) { - return "status-pending" - } - if (status === 2) { - return "status-processing" - } - if (status === 3) { - return "status-completed" - } - if (status === 4) { - return "status-cancelled" - } - if (status === 5) { - return "status-rejected" - } - return "status-unknown" - } - val getProductImage = fun(refund: RefundType): String { - val firstItem = refund.order?.order_items?.get(0) - if (firstItem?.product?.images == null || firstItem?.product?.images?.length == 0) { - return "/static/default-product.png" - } - return firstItem.product!!.images[0] - } - val getProductName = fun(refund: RefundType): String { - val items = refund.order?.order_items ?: _uA() - if (items.length === 0) { - return "未知商品" - } - if (items.length === 1) { - return items[0].product_name - } else { - return "" + items[0].product_name + "等" + items.length + "件商品" - } - } - val formatTime = fun(timeStr: String?): String { - if (timeStr == null || timeStr == "") { - return "" - } - val date = Date(timeStr) - val month = (date.getMonth() + 1).toString(10).padStart(2, "0") - val day = date.getDate().toString(10).padStart(2, "0") - return "" + month + "-" + day - } - val getCurrentStepIndex = fun(status: Number): Number { - if (status === 1) { - return 0 - } - if (status === 2) { - return 1 - } - if (status === 3) { - return 2 - } - if (status === 4) { - return 0 - } - if (status === 5) { - return 1 - } - return 0 - } - val getTimelineSteps = fun(refund: RefundType): UTSArray { - val steps = _uA( - TimelineStepType(status = 0, title = "提交申请", time = refund.created_at, active = false, completed = false, desc = ""), - TimelineStepType(status = 1, title = "商家处理", time = "", active = false, completed = false, desc = ""), - TimelineStepType(status = 3, title = "退款完成", time = "", active = false, completed = false, desc = "") - ) as UTSArray - if (refund.status_history != null) { - run { - var i: Number = 0 - while(i < refund.status_history!!.length){ - val history = refund.status_history!![i] - if (history.status === 1 || history.status === 2) { - steps[1].time = history.created_at ?: "" - steps[1].desc = history.remark ?: "" - } else if (history.status === 3) { - steps[2].time = history.created_at ?: "" - steps[2].desc = history.remark ?: "" - } - i++ - } - } - } - val currentStepIndex = getCurrentStepIndex(refund.status) - val result: UTSArray = _uA() - run { - var i: Number = 0 - while(i < steps.length){ - val step = steps[i] - result.push(TimelineStepType(status = step.status, title = step.title, time = step.time, desc = step.desc, active = i === currentStepIndex, completed = i < currentStepIndex)) - i++ - } - } - return result - } - val changeTab = fun(tab: String){ - activeTab.value = tab - } - val loadMore = fun(){ - if (hasMore.value && !isLoading.value) { - loadRefunds(true) - } - } - val viewOrder = fun(orderId: String){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/order-detail?id=" + orderId)) - } - val doCancelRefund = fun(refund: RefundType): UTSPromise { - return wrapUTSPromise(suspend { - try { - val result = await(supabaseService.createRefund(object : UTSJSONObject() { - var id = refund.id - var status: Number = 4 - } as Any)) - if (result.success) { - refund.status = 4 - loadTabCounts() - uni_showToast(ShowToastOptions(title = "已取消", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "取消失败", icon = "none")) - } - } - catch (err: Throwable) { - console.error("取消退款失败:", err, " at pages/mall/consumer/refund.uvue:431") - uni_showToast(ShowToastOptions(title = "取消失败", icon = "none")) - } - }) - } - val cancelRefund = fun(refund: RefundType){ - uni_showModal(ShowModalOptions(title = "取消申请", content = "确定要取消这个退款申请吗?", success = fun(res){ - if (res.confirm) { - doCancelRefund(refund) - } - } - )) - } - val contactService = fun(refund: RefundType){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/service/chat?refundId=" + refund.id)) - } - val reviewRefund = fun(refund: RefundType){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/refund-review?id=" + refund.id)) - } - val doDeleteRefund = fun(refund: RefundType): UTSPromise { - return wrapUTSPromise(suspend { - try { - val result = await(supabaseService.deleteRefund(refund.id)) - if (result) { - val newRefunds: UTSArray = _uA() - run { - var i: Number = 0 - while(i < refunds.value.length){ - if (refunds.value[i].id !== refund.id) { - newRefunds.push(refunds.value[i]) - } - i++ - } - } - refunds.value = newRefunds - uni_showToast(ShowToastOptions(title = "删除成功", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "删除失败", icon = "none")) - } - } - catch (err: Throwable) { - console.error("删除记录失败:", err, " at pages/mall/consumer/refund.uvue:489") - uni_showToast(ShowToastOptions(title = "删除失败", icon = "none")) - } - }) - } - val deleteRefund = fun(refund: RefundType){ - uni_showModal(ShowModalOptions(title = "删除记录", content = "确定要删除这个售后记录吗?", success = fun(res){ - if (res.confirm) { - doDeleteRefund(refund) - } - } - )) - } - val applyRefund = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/apply-refund")) - } - val goToOrders = fun(){ - uni_switchTab(SwitchTabOptions(url = "/pages/mall/consumer/orders")) - } - val goBack = fun(){ - uni_navigateBack(null) - } - return fun(): Any? { - return _cE("view", _uM("class" to "refund-page"), _uA( - _cE("view", _uM("class" to "refund-header"), _uA( - _cE("text", _uM("class" to "back-btn", "onClick" to goBack), "❮"), - _cE("text", _uM("class" to "header-title"), "退款/售后") - )), - _cE("view", _uM("class" to "refund-tabs"), _uA( - _cE("view", _uM("class" to _nC(_uA( - "refund-tab", - _uM("active" to (activeTab.value === "all")) - )), "onClick" to fun(){ - changeTab("all") - } - ), _uA( - _cE("text", _uM("class" to "tab-text"), "全部") - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "refund-tab", - _uM("active" to (activeTab.value === "processing")) - )), "onClick" to fun(){ - changeTab("processing") - } - ), _uA( - _cE("text", _uM("class" to "tab-text"), "处理中"), - if (tabCounts.value.processing > 0) { - _cE("text", _uM("key" to 0, "class" to "tab-badge"), _tD(tabCounts.value.processing), 1) - } else { - _cC("v-if", true) - } - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "refund-tab", - _uM("active" to (activeTab.value === "completed")) - )), "onClick" to fun(){ - changeTab("completed") - } - ), _uA( - _cE("text", _uM("class" to "tab-text"), "已完成") - ), 10, _uA( - "onClick" - )) - )), - _cE("scroll-view", _uM("class" to "refund-content", "direction" to "vertical", "onScrolltolower" to loadMore), _uA( - if (isTrue(refunds.value.length === 0 && !isLoading.value)) { - _cE("view", _uM("key" to 0, "class" to "empty-refunds"), _uA( - _cE("text", _uM("class" to "empty-icon"), "🔄"), - _cE("text", _uM("class" to "empty-text"), "暂无售后记录"), - _cE("text", _uM("class" to "empty-subtext"), "您可以在订单详情中申请售后"), - _cE("button", _uM("class" to "go-orders-btn", "onClick" to goToOrders), "查看订单") - )) - } else { - _cC("v-if", true) - } - , - _cE(Fragment, null, RenderHelpers.renderList(refunds.value, fun(refund, __key, __index, _cached): Any { - return _cE("view", _uM("key" to refund.id, "class" to "refund-item"), _uA( - _cE("view", _uM("class" to "refund-header"), _uA( - _cE("text", _uM("class" to "refund-no"), "售后单号: " + _tD(refund.refund_no), 1), - _cE("text", _uM("class" to _nC(_uA( - "refund-status", - getStatusClass(refund.status) - ))), _tD(getStatusText(refund.status)), 3) - )), - _cE("view", _uM("class" to "order-info"), _uA( - _cE("text", _uM("class" to "order-no"), "订单号: " + _tD(refund.order?.order_no), 1), - _cE("text", _uM("class" to "order-time"), _tD(formatTime(refund.order?.created_at)), 1) - )), - _cE("view", _uM("class" to "product-info", "onClick" to fun(){ - viewOrder(refund.order_id) - } - ), _uA( - _cE("image", _uM("class" to "product-image", "src" to getProductImage(refund)), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "product-details"), _uA( - _cE("text", _uM("class" to "product-name"), _tD(getProductName(refund)), 1), - if (isTrue(refund.refund_reason)) { - _cE("text", _uM("key" to 0, "class" to "refund-reason"), "原因: " + _tD(refund.refund_reason), 1) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "refund-amount"), _uA( - _cE("text", _uM("class" to "amount-label"), "退款金额:"), - _cE("text", _uM("class" to "amount-value"), "¥" + _tD(refund.refund_amount), 1) - )) - )) - ), 8, _uA( - "onClick" - )), - if (isTrue(refund.status_history != null && refund.status_history!!.length > 0)) { - _cE("view", _uM("key" to 0, "class" to "timeline"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(getTimelineSteps(refund), fun(step, index, __index, _cached): Any { - return _cE("view", _uM("key" to index, "class" to "timeline-step"), _uA( - _cE("view", _uM("class" to _nC(_uA( - "step-dot", - _uM("active" to step.active, "completed" to step.completed) - ))), null, 2), - _cE("view", _uM("class" to "step-info"), _uA( - _cE("text", _uM("class" to "step-title"), _tD(step.title), 1), - _cE("text", _uM("class" to "step-time"), _tD(step.time), 1), - if (isTrue(step.desc)) { - _cE("text", _uM("key" to 0, "class" to "step-desc"), _tD(step.desc), 1) - } else { - _cC("v-if", true) - } - )) - )) - }), 128) - )) - } else { - _cC("v-if", true) - } - , - if (refund.status === 1) { - _cE("view", _uM("key" to 1, "class" to "refund-actions"), _uA( - _cE("button", _uM("class" to "action-btn cancel", "onClick" to fun(){ - cancelRefund(refund) - }), "取消申请", 8, _uA( - "onClick" - )), - _cE("button", _uM("class" to "action-btn contact", "onClick" to fun(){ - contactService(refund) - }), "联系客服", 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - , - if (refund.status === 3) { - _cE("view", _uM("key" to 2, "class" to "refund-actions"), _uA( - _cE("button", _uM("class" to "action-btn review", "onClick" to fun(){ - reviewRefund(refund) - }), "评价服务", 8, _uA( - "onClick" - )), - _cE("button", _uM("class" to "action-btn delete", "onClick" to fun(){ - deleteRefund(refund) - }), "删除记录", 8, _uA( - "onClick" - )) - )) - } else { - _cC("v-if", true) - } - )) - } - ), 128), - if (isTrue(isLoading.value)) { - _cE("view", _uM("key" to 1, "class" to "loading-more"), _uA( - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(!hasMore.value && refunds.value.length > 0)) { - _cE("view", _uM("key" to 2, "class" to "no-more"), _uA( - _cE("text", _uM("class" to "no-more-text"), "没有更多了") - )) - } else { - _cC("v-if", true) - } - ), 32), - _cE("view", _uM("class" to "apply-btn-container"), _uA( - _cE("button", _uM("class" to "apply-btn", "onClick" to applyRefund), "申请售后") - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("refund-page" to _pS(_uM("display" to "flex", "flexDirection" to "column", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f5f5")), "refund-header" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 10, "paddingLeft" to 15, "display" to "flex", "alignItems" to "center", "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5", "justifyContent" to "space-between", "marginBottom" to 10)), "back-btn" to _pS(_uM("fontSize" to 20, "color" to "#333333", "paddingTop" to 5, "paddingRight" to 5, "paddingBottom" to 5, "paddingLeft" to 5, "marginRight" to 15)), "header-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333")), "refund-tabs" to _pS(_uM("backgroundColor" to "#ffffff", "display" to "flex", "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#e5e5e5")), "refund-tab" to _uM("" to _uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "textAlign" to "center", "position" to "relative"), ".active" to _uM("color" to "#007aff", "borderBottomWidth" to 2, "borderBottomStyle" to "solid", "borderBottomColor" to "#007aff")), "tab-text" to _uM("" to _uM("fontSize" to 16, "color" to "#666666"), ".refund-tab.active " to _uM("color" to "#007aff", "fontWeight" to "bold")), "tab-badge" to _pS(_uM("position" to "absolute", "top" to 10, "right" to 20, "backgroundColor" to "#ff4757", "color" to "#ffffff", "fontSize" to 10, "paddingTop" to 2, "paddingRight" to 5, "paddingBottom" to 2, "paddingLeft" to 5, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "minWidth" to 16, "textAlign" to "center")), "refund-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "empty-refunds" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 80, "paddingRight" to 20, "paddingBottom" to 80, "paddingLeft" to 20, "backgroundColor" to "#ffffff")), "empty-icon" to _pS(_uM("fontSize" to 80, "marginBottom" to 20)), "empty-text" to _pS(_uM("fontSize" to 16, "color" to "#666666", "marginBottom" to 10)), "empty-subtext" to _pS(_uM("fontSize" to 14, "color" to "#999999", "marginBottom" to 30)), "go-orders-btn" to _pS(_uM("backgroundColor" to "#007aff", "color" to "#ffffff", "paddingTop" to 10, "paddingRight" to 40, "paddingBottom" to 10, "paddingLeft" to 40, "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "fontSize" to 14, "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000")), "refund-item" to _pS(_uM("backgroundColor" to "#ffffff", "marginBottom" to 10, "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15)), "refund-no" to _pS(_uM("fontSize" to 14, "color" to "#333333")), "refund-status" to _pS(_uM("fontSize" to 14, "paddingTop" to 4, "paddingRight" to 10, "paddingBottom" to 4, "paddingLeft" to 10, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "color" to "#ffffff")), "status-pending" to _pS(_uM("backgroundColor" to "#ff5000")), "status-processing" to _pS(_uM("backgroundColor" to "#2196f3")), "status-completed" to _pS(_uM("backgroundColor" to "#4caf50")), "status-cancelled" to _pS(_uM("backgroundColor" to "#9e9e9e")), "status-rejected" to _pS(_uM("backgroundColor" to "#f44336")), "order-info" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 15, "paddingBottom" to 10, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5")), "order-no" to _pS(_uM("fontSize" to 13, "color" to "#666666")), "order-time" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "product-info" to _pS(_uM("display" to "flex", "marginBottom" to 15)), "product-image" to _pS(_uM("width" to 60, "height" to 60, "borderTopLeftRadius" to 5, "borderTopRightRadius" to 5, "borderBottomRightRadius" to 5, "borderBottomLeftRadius" to 5, "marginRight" to 15)), "product-details" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "justifyContent" to "space-between")), "product-name" to _pS(_uM("fontSize" to 14, "color" to "#333333", "lineHeight" to 1.4, "marginBottom" to 5)), "refund-reason" to _pS(_uM("fontSize" to 12, "color" to "#666666", "marginBottom" to 8)), "refund-amount" to _pS(_uM("display" to "flex", "alignItems" to "flex-end")), "amount-label" to _pS(_uM("fontSize" to 13, "color" to "#666666", "marginRight" to 5)), "amount-value" to _pS(_uM("fontSize" to 16, "color" to "#ff4757", "fontWeight" to "bold")), "timeline" to _pS(_uM("paddingTop" to 15, "paddingRight" to 0, "paddingBottom" to 15, "paddingLeft" to 0, "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#f5f5f5")), "timeline-step" to _pS(_uM("display" to "flex", "marginBottom" to 15, "marginBottom:last-child" to 0)), "step-dot" to _uM("" to _uM("width" to 12, "height" to 12, "borderTopLeftRadius" to 6, "borderTopRightRadius" to 6, "borderBottomRightRadius" to 6, "borderBottomLeftRadius" to 6, "borderTopWidth" to 2, "borderRightWidth" to 2, "borderBottomWidth" to 2, "borderLeftWidth" to 2, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#e5e5e5", "borderRightColor" to "#e5e5e5", "borderBottomColor" to "#e5e5e5", "borderLeftColor" to "#e5e5e5", "marginRight" to 15, "position" to "relative", "top" to 3), ".active" to _uM("borderTopColor" to "#007aff", "borderRightColor" to "#007aff", "borderBottomColor" to "#007aff", "borderLeftColor" to "#007aff", "backgroundColor" to "#007aff"), ".completed" to _uM("borderTopColor" to "#4caf50", "borderRightColor" to "#4caf50", "borderBottomColor" to "#4caf50", "borderLeftColor" to "#4caf50", "backgroundColor" to "#4caf50")), "step-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "step-title" to _pS(_uM("fontSize" to 14, "color" to "#333333", "fontWeight" to "bold", "marginBottom" to 3)), "step-time" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginBottom" to 3)), "step-desc" to _pS(_uM("fontSize" to 12, "color" to "#666666")), "refund-actions" to _pS(_uM("display" to "flex", "justifyContent" to "flex-end", "paddingTop" to 15, "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#f5f5f5")), "action-btn" to _uM("" to _uM("marginLeft" to 10, "paddingTop" to 6, "paddingRight" to 15, "paddingBottom" to 6, "paddingLeft" to 15, "borderTopLeftRadius" to 15, "borderTopRightRadius" to 15, "borderBottomRightRadius" to 15, "borderBottomLeftRadius" to 15, "fontSize" to 12, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "backgroundColor" to "#ffffff"), ".cancel" to _uM("borderTopColor" to "#666666", "borderRightColor" to "#666666", "borderBottomColor" to "#666666", "borderLeftColor" to "#666666", "color" to "#666666"), ".contact" to _uM("borderTopColor" to "#007aff", "borderRightColor" to "#007aff", "borderBottomColor" to "#007aff", "borderLeftColor" to "#007aff", "color" to "#007aff"), ".review" to _uM("borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000", "color" to "#ff5000"), ".delete" to _uM("borderTopColor" to "#f44336", "borderRightColor" to "#f44336", "borderBottomColor" to "#f44336", "borderLeftColor" to "#f44336", "color" to "#f44336")), "loading-more" to _pS(_uM("paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "textAlign" to "center", "backgroundColor" to "#ffffff")), "no-more" to _pS(_uM("paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "textAlign" to "center", "backgroundColor" to "#ffffff")), "loading-text" to _pS(_uM("color" to "#999999", "fontSize" to 14)), "no-more-text" to _pS(_uM("color" to "#999999", "fontSize" to 14)), "apply-btn-container" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#e5e5e5")), "apply-btn" to _pS(_uM("backgroundColor" to "#007aff", "color" to "#ffffff", "height" to 50, "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "fontSize" to 16, "fontWeight" to "bold", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/review.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/review.kt deleted file mode 100644 index 169d772b..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/review.kt +++ /dev/null @@ -1,572 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.chooseImage as uni_chooseImage -import io.dcloud.uniapp.extapi.getStorageSync as uni_getStorageSync -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerReview : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerReview) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerReview - val _cache = __ins.renderCache - val orderId = ref("") - val order = ref(null) - val orderItems = ref(_uA()) - val merchant = ref(null) - val ratings = ref(_uA()) - val contents = ref(_uA()) - val images = ref(_uA>()) - val anonymous = ref(false) - val merchantRating = ref(MerchantRatingType(description = 5, logistics = 5, service = 5)) - val isSubmitting = ref(false) - val loadOrderData = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - try { - console.log("[loadOrderData] 开始加载订单数据, orderId:", orderId.value, " at pages/mall/consumer/review.uvue:200") - val orderDetailRaw = await(supabaseService.getOrderDetail(orderId.value)) - console.log("[loadOrderData] orderDetailRaw:", JSON.stringify(orderDetailRaw), " at pages/mall/consumer/review.uvue:204") - if (orderDetailRaw == null) { - console.error("加载订单失败: 未找到订单", " at pages/mall/consumer/review.uvue:207") - uni_showToast(ShowToastOptions(title = "订单不存在", icon = "none")) - return@w1 - } - val orderDetail = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(orderDetailRaw)), " at pages/mall/consumer/review.uvue:213") as UTSJSONObject - order.value = OrderType__1(id = orderDetail.getString("id") ?: "", order_no = orderDetail.getString("order_no") ?: "", created_at = orderDetail.getString("created_at") ?: "", merchant_id = orderDetail.getString("merchant_id") ?: "") - val itemsRaw = orderDetail.get("ml_order_items") - console.log("[loadOrderData] itemsRaw:", JSON.stringify(itemsRaw), " at pages/mall/consumer/review.uvue:225") - if (itemsRaw != null) { - val itemsList = itemsRaw as UTSArray - val processedItems: UTSArray = _uA() - run { - var i: Number = 0 - while(i < itemsList.length){ - val itemStr = JSON.stringify(itemsList[i]) - val item = UTSAndroid.consoleDebugError(JSON.parse(itemStr), " at pages/mall/consumer/review.uvue:233") as UTSJSONObject - val skuSpec = item.get("sku_specifications") - processedItems.push(OrderItemType__2(id = (item.getNumber("id") ?: 0) as Number, order_id = (item.getNumber("order_id") ?: 0) as Number, product_id = (item.getNumber("product_id") ?: 0) as Number, product_name = item.getString("product_name") ?: "", price = (item.getNumber("price") ?: 0) as Number, quantity = (item.getNumber("quantity") ?: 1) as Number, sku_specifications = skuSpec, product_image = item.getString("product_image") ?: item.getString("image_url") ?: "/static/default-product.png")) - i++ - } - } - orderItems.value = processedItems - console.log("[loadOrderData] processedItems count:", processedItems.length, " at pages/mall/consumer/review.uvue:248") - } - val count = orderItems.value.length - val newRatings: UTSArray = _uA() - val newContents: UTSArray = _uA() - val newImages: UTSArray> = _uA() - run { - var i: Number = 0 - while(i < count){ - newRatings.push(5) - newContents.push("") - newImages.push(_uA()) - i++ - } - } - ratings.value = newRatings - contents.value = newContents - images.value = newImages - val orderObj = order.value!! - if (orderObj != null) { - val merchantId = orderObj.merchant_id - if (merchantId != "") { - val shopInfo = await(supabaseService.getShopByMerchantId(merchantId)) - if (shopInfo != null) { - merchant.value = MerchantType__1(id = shopInfo.id, shop_name = shopInfo.shop_name, rating = shopInfo.rating_avg ?: 5) - } - } - } - } - catch (err: Throwable) { - console.error("加载订单数据异常:", err, " at pages/mall/consumer/review.uvue:282") - uni_showToast(ShowToastOptions(title = "加载失败", icon = "none")) - } - }) - } - val canSubmit = computed(fun(): Boolean { - if (ratings.value.length === 0) { - return false - } - run { - var i: Number = 0 - while(i < ratings.value.length){ - if (ratings.value[i] <= 0) { - return false - } - i++ - } - } - return true - } - ) - onLoad__1(fun(options: Any){ - if (options != null) { - val optObj = options as UTSJSONObject - orderId.value = optObj.getString("orderId") ?: "" - if (orderId.value != "") { - loadOrderData() - } - } - } - ) - val formatTime = fun(timeStr: String?): String { - if (timeStr == null) { - return "" - } - val date = Date(timeStr) - val year = date.getFullYear() - val month = (date.getMonth() + 1).toString(10).padStart(2, "0") - val day = date.getDate().toString(10).padStart(2, "0") - return "" + year + "-" + month + "-" + day - } - val getSpecText = fun(specs: Any?): String { - if (specs == null) { - return "" - } - if (UTSAndroid.`typeof`(specs) === "string") { - return specs as String - } - try { - val specObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(specs)), " at pages/mall/consumer/review.uvue:318") as UTSJSONObject - val jsonStr = JSON.stringify(specObj) - if (jsonStr == "{}" || jsonStr == "null") { - return "" - } - val cleanStr = jsonStr.replace(UTSRegExp("^\\{|\\}\$", "g"), "").replace(UTSRegExp("\"", "g"), "").replace(UTSRegExp(":", "g"), ": ").replace(UTSRegExp(",", "g"), "; ") - return cleanStr - } - catch (e: Throwable) { - return "" - } - } - val getRatingText = fun(rating: Number): String { - if (rating === 1) { - return "非常差" - } - if (rating === 2) { - return "差" - } - if (rating === 3) { - return "一般" - } - if (rating === 4) { - return "好" - } - if (rating === 5) { - return "非常好" - } - return "未评价" - } - val setRating = fun(index: Number, rating: Number){ - ratings.value[index] = rating - val newRatings: UTSArray = _uA() - run { - var i: Number = 0 - while(i < ratings.value.length){ - newRatings.push(ratings.value[i]) - i++ - } - } - ratings.value = newRatings - } - val setMerchantRating = fun(type: String, rating: Number){ - if (type === "description") { - merchantRating.value.description = rating - } else if (type === "logistics") { - merchantRating.value.logistics = rating - } else if (type === "service") { - merchantRating.value.service = rating - } - } - val toggleAnonymous = fun(event: Any){ - val eventObj = event as UTSJSONObject - val detailRaw = eventObj.get("detail") - val detail = if (detailRaw != null) { - (detailRaw as UTSJSONObject) - } else { - UTSJSONObject() - } - val valueRaw = detail.get("value") - anonymous.value = if (valueRaw != null) { - (valueRaw as Boolean) - } else { - false - } - } - val uploadImage = fun(index: Number): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (images.value[index].length >= 9) { - uni_showToast(ShowToastOptions(title = "最多上传9张图片", icon = "none")) - return@w1 - } - uni_chooseImage(ChooseImageOptions(count = 9 - images.value[index].length, sizeType = _uA( - "compressed" - ), sourceType = _uA( - "album", - "camera" - ), success = fun(res){ - val resObj = res as UTSJSONObject - val tempFilesRaw = resObj.get("tempFilePaths") - val tempFiles = if (tempFilesRaw != null) { - (tempFilesRaw as UTSArray) - } else { - _uA() - } - uni_showLoading(ShowLoadingOptions(title = "上传中...")) - setTimeout(fun(){ - run { - var i: Number = 0 - while(i < tempFiles.length){ - images.value[index].push(tempFiles[i]) - i++ - } - } - val newImages: UTSArray> = _uA() - run { - var i: Number = 0 - while(i < images.value.length){ - val innerArray: UTSArray = _uA() - run { - var j: Number = 0 - while(j < images.value[i].length){ - innerArray.push(images.value[i][j]) - j++ - } - } - newImages.push(innerArray) - i++ - } - } - images.value = newImages - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "上传成功", icon = "success")) - } - , 1000) - } - )) - }) - } - val deleteImage = fun(index: Number, imgIndex: Number){ - images.value[index].splice(imgIndex, 1) - val newImages: UTSArray> = _uA() - run { - var i: Number = 0 - while(i < images.value.length){ - val innerArray: UTSArray = _uA() - run { - var j: Number = 0 - while(j < images.value[i].length){ - innerArray.push(images.value[i][j]) - j++ - } - } - newImages.push(innerArray) - i++ - } - } - images.value = newImages - } - val getCurrentUserId = fun(): String { - val userStore = uni_getStorageSync("userInfo") - if (userStore == null) { - return "" - } - val userInfo = userStore as UTSJSONObject - return userInfo.getString("id") ?: "" - } - val submitReview = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (canSubmit.value === false || isSubmitting.value) { - return@w1 - } - isSubmitting.value = true - try { - val userId = getCurrentUserId() - if (userId == "") { - uni_showToast(ShowToastOptions(title = "用户信息错误", icon = "none")) - return@w1 - } - val productReviews: UTSArray = _uA() - run { - var index: Number = 0 - while(index < orderItems.value.length){ - val item = orderItems.value[index] - val reviewObj: UTSJSONObject = UTSJSONObject(UTSSourceMapPosition("reviewObj", "pages/mall/consumer/review.uvue", 469, 10)) - reviewObj.set("user_id", userId) - reviewObj.set("product_id", item.product_id) - reviewObj.set("order_id", orderId.value) - reviewObj.set("rating", ratings.value[index]) - reviewObj.set("content", if (contents.value[index] != "") { - contents.value[index] - } else { - "" - } - ) - reviewObj.set("images", images.value[index]) - reviewObj.set("is_anonymous", anonymous.value) - productReviews.push(reviewObj) - index++ - } - } - val reviewsSuccess = await(supabaseService.submitProductReviews(productReviews)) - if (reviewsSuccess == false) { - uni_showToast(ShowToastOptions(title = "提交失败", icon = "none")) - isSubmitting.value = false - return@w1 - } - if (merchant.value != null) { - val merchantReviewObj: UTSJSONObject = UTSJSONObject(UTSSourceMapPosition("merchantReviewObj", "pages/mall/consumer/review.uvue", 499, 10)) - merchantReviewObj.set("user_id", userId) - merchantReviewObj.set("shop_id", merchant.value!!.id) - merchantReviewObj.set("order_id", orderId.value) - merchantReviewObj.set("description_rating", merchantRating.value.description) - merchantReviewObj.set("logistics_rating", merchantRating.value.logistics) - merchantReviewObj.set("service_rating", merchantRating.value.service) - await(supabaseService.submitShopReview(merchantReviewObj)) - } - await(supabaseService.updateOrderStatus(orderId.value, 4)) - uni_showToast(ShowToastOptions(title = "评价成功", icon = "success", duration = 2000)) - setTimeout(fun(){ - uni_navigateBack(null) - } - , 1500) - } - catch (err: Throwable) { - console.error("提交评价失败:", err, " at pages/mall/consumer/review.uvue:524") - uni_showToast(ShowToastOptions(title = "提交失败", icon = "none")) - } - finally { - isSubmitting.value = false - } - }) - } - val goBack = fun(): Unit { - uni_navigateBack(null) - } - return fun(): Any? { - val _component_switch = resolveComponent("switch") - return _cE("view", _uM("class" to "review-page"), _uA( - _cE("view", _uM("class" to "review-header"), _uA( - _cE("view", _uM("class" to "header-back", "onClick" to goBack), _uA( - _cE("image", _uM("class" to "back-icon", "src" to "/static/icons/back.png", "mode" to "aspectFit")) - )), - _cE("view", _uM("class" to "header-title-placeholder")), - _cE("view", _uM("class" to "header-right")) - )), - _cE("scroll-view", _uM("class" to "review-content", "direction" to "vertical"), _uA( - _cE("view", _uM("class" to "order-section"), _uA( - _cE("text", _uM("class" to "order-no"), "订单号: " + _tD(if (order.value != null) { - order.value!!.order_no - } else { - "" - } - ), 1), - _cE("text", _uM("class" to "order-time"), "下单时间: " + _tD(formatTime(if (order.value != null) { - order.value!!.created_at - } else { - "" - } - )), 1) - )), - _cE("view", _uM("class" to "products-section"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(orderItems.value, fun(item, index, __index, _cached): Any { - return _cE("view", _uM("key" to item.id, "class" to "product-review"), _uA( - _cE("view", _uM("class" to "product-header"), _uA( - _cE("image", _uM("class" to "product-image", "src" to (item.product_image ?: "/static/default-product.png")), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "product-info"), _uA( - _cE("text", _uM("class" to "product-name"), _tD(item.product_name), 1), - if (item.sku_specifications != null) { - _cE("text", _uM("key" to 0, "class" to "product-spec"), _tD(getSpecText(item.sku_specifications)), 1) - } else { - _cC("v-if", true) - } - )) - )), - _cE("view", _uM("class" to "rating-section"), _uA( - _cE("text", _uM("class" to "rating-label"), "评分"), - _cE("view", _uM("class" to "rating-stars"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(5, fun(star, __key, __index, _cached): Any { - return _cE("text", _uM("key" to star, "class" to _nC(_uA( - "star-icon", - _uM("active" to (star <= ratings.value[index])) - )), "onClick" to fun(){ - setRating(index, star) - } - ), " ⭐ ", 10, _uA( - "onClick" - )) - } - ), 64) - )), - _cE("text", _uM("class" to "rating-text"), _tD(getRatingText(ratings.value[index])), 1) - )), - _cE("view", _uM("class" to "content-section"), _uA( - _cE("textarea", _uM("class" to "review-textarea", "modelValue" to contents.value[index], "onInput" to fun(`$event`: UniInputEvent){ - contents.value[index] = `$event`.detail.value - } - , "placeholder" to "请写下您的使用感受,分享给其他小伙伴吧", "maxlength" to "500"), null, 40, _uA( - "modelValue", - "onInput" - )), - _cE("text", _uM("class" to "word-count"), _tD(contents.value[index]?.length ?: 0) + "/500", 1) - )), - _cE("view", _uM("class" to "images-section"), _uA( - _cE("text", _uM("class" to "images-label"), "上传图片(可选)"), - _cE("view", _uM("class" to "images-grid"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(images.value[index], fun(image, imgIndex, __index, _cached): Any { - return _cE("view", _uM("key" to imgIndex, "class" to "image-item"), _uA( - _cE("image", _uM("class" to "uploaded-image", "src" to image), null, 8, _uA( - "src" - )), - _cE("text", _uM("class" to "delete-image", "onClick" to fun(){ - deleteImage(index, imgIndex) - } - ), "×", 8, _uA( - "onClick" - )) - )) - } - ), 128), - if (images.value[index].length < 9) { - _cE("view", _uM("key" to 0, "class" to "upload-btn", "onClick" to fun(){ - uploadImage(index) - }), _uA( - _cE("text", _uM("class" to "upload-icon"), "+"), - _cE("text", _uM("class" to "upload-text"), "添加图片") - ), 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - )) - )), - _cE("view", _uM("class" to "anonymous-section"), _uA( - _cE("view", _uM("class" to "anonymous-switch"), _uA( - _cE("text", _uM("class" to "switch-label"), "匿名评价"), - _cV(_component_switch, _uM("checked" to anonymous.value, "onChange" to toggleAnonymous), null, 8, _uA( - "checked" - )) - )), - _cE("text", _uM("class" to "anonymous-tip"), "评价内容对其他用户不可见") - )) - )) - } - ), 128) - )), - if (isTrue(merchant.value)) { - _cE("view", _uM("key" to 0, "class" to "merchant-section"), _uA( - _cE("text", _uM("class" to "section-title"), "店铺评价"), - _cE("view", _uM("class" to "merchant-rating"), _uA( - _cE("text", _uM("class" to "rating-item"), "商品描述相符"), - _cE("view", _uM("class" to "rating-stars small"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(5, fun(star, __key, __index, _cached): Any { - return _cE("text", _uM("key" to star, "class" to _nC(_uA( - "star-icon", - _uM("active" to (star <= merchantRating.value.description)) - )), "onClick" to fun(){ - setMerchantRating("description", star) - }), " ⭐ ", 10, _uA( - "onClick" - )) - }), 64) - )) - )), - _cE("view", _uM("class" to "merchant-rating"), _uA( - _cE("text", _uM("class" to "rating-item"), "物流服务"), - _cE("view", _uM("class" to "rating-stars small"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(5, fun(star, __key, __index, _cached): Any { - return _cE("text", _uM("key" to star, "class" to _nC(_uA( - "star-icon", - _uM("active" to (star <= merchantRating.value.logistics)) - )), "onClick" to fun(){ - setMerchantRating("logistics", star) - }), " ⭐ ", 10, _uA( - "onClick" - )) - }), 64) - )) - )), - _cE("view", _uM("class" to "merchant-rating"), _uA( - _cE("text", _uM("class" to "rating-item"), "服务态度"), - _cE("view", _uM("class" to "rating-stars small"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(5, fun(star, __key, __index, _cached): Any { - return _cE("text", _uM("key" to star, "class" to _nC(_uA( - "star-icon", - _uM("active" to (star <= merchantRating.value.service)) - )), "onClick" to fun(){ - setMerchantRating("service", star) - }), " ⭐ ", 10, _uA( - "onClick" - )) - }), 64) - )) - )) - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "tips-section"), _uA( - _cE("text", _uM("class" to "tip-title"), "评价须知"), - _cE("text", _uM("class" to "tip-item"), "1. 评价后不可修改,请谨慎评价"), - _cE("text", _uM("class" to "tip-item"), "2. 上传图片需为真实商品照片"), - _cE("text", _uM("class" to "tip-item"), "3. 恶意评价将被删除并限制评价功能"), - _cE("text", _uM("class" to "tip-item"), "4. 优质评价可获得积分奖励") - )) - )), - _cE("view", _uM("class" to "submit-section"), _uA( - _cE("button", _uM("class" to _nC(_uA( - "submit-btn", - _uM("disabled" to (canSubmit.value === false || isSubmitting.value)) - )), "onClick" to submitReview), _uA( - if (isSubmitting.value === false) { - _cE("text", _uM("key" to 0, "class" to "submit-text"), "提交评价") - } else { - _cE("text", _uM("key" to 1, "class" to "submit-text"), "提交中...") - } - ), 2) - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("review-page" to _pS(_uM("display" to "flex", "flexDirection" to "column", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f5f5")), "review-header" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 10, "paddingRight" to 15, "paddingBottom" to 10, "paddingLeft" to 15, "height" to 44, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "space-between", "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f0f0f0", "position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "zIndex" to 100)), "header-back" to _pS(_uM("width" to 44, "height" to 44, "display" to "flex", "alignItems" to "center", "justifyContent" to "flex-start")), "back-icon" to _pS(_uM("width" to 20, "height" to 20)), "header-title-placeholder" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "header-right" to _pS(_uM("width" to 44)), "review-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "order-section" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "marginBottom" to 10, "display" to "flex", "justifyContent" to "space-between", "alignItems" to "center")), "order-no" to _pS(_uM("fontSize" to 14, "color" to "#333333")), "order-time" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "products-section" to _pS(_uM("backgroundColor" to "#ffffff", "marginBottom" to 10)), "product-review" to _pS(_uM("paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5")), "product-header" to _pS(_uM("display" to "flex", "marginBottom" to 20)), "product-image" to _pS(_uM("width" to 60, "height" to 60, "borderTopLeftRadius" to 5, "borderTopRightRadius" to 5, "borderBottomRightRadius" to 5, "borderBottomLeftRadius" to 5, "marginRight" to 15)), "product-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "product-name" to _pS(_uM("fontSize" to 14, "color" to "#333333", "lineHeight" to 1.4, "marginBottom" to 5)), "product-spec" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "rating-section" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to 20, "paddingTop" to 5, "paddingRight" to 0, "paddingBottom" to 5, "paddingLeft" to 0)), "rating-label" to _pS(_uM("fontSize" to 15, "color" to "#333333", "fontWeight" to "bold", "marginRight" to 20)), "rating-stars" to _uM("" to _uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginRight" to 15), ".merchant-rating .small" to _uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "star-icon" to _uM("" to _uM("fontSize" to 26, "marginRight" to 8, "color" to "#e0e0e0", "transitionProperty" to "transform", "transitionDuration" to "0.1s", "transitionTimingFunction" to "ease"), ".active" to _uM("color" to "#ff5000", "transform" to "scale(1.1)"), ".merchant-rating .rating-stars.small " to _uM("fontSize" to 20, "marginRight" to 5, "color" to "#e0e0e0"), ".merchant-rating .rating-stars.small .active" to _uM("color" to "#ff5000")), "rating-text" to _pS(_uM("fontSize" to 14, "color" to "#999999", "marginLeft" to 5)), "content-section" to _pS(_uM("marginBottom" to 15)), "review-textarea" to _pS(_uM("width" to "100%", "minHeight" to 80, "paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#e5e5e5", "borderRightColor" to "#e5e5e5", "borderBottomColor" to "#e5e5e5", "borderLeftColor" to "#e5e5e5", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "fontSize" to 14, "color" to "#333333", "lineHeight" to 1.4)), "word-count" to _pS(_uM("textAlign" to "right", "fontSize" to 12, "color" to "#999999", "marginTop" to 5)), "images-section" to _pS(_uM("marginBottom" to 15)), "images-label" to _pS(_uM("fontSize" to 14, "color" to "#333333", "marginBottom" to 10)), "images-grid" to _pS(_uM("display" to "flex", "flexWrap" to "wrap")), "image-item" to _pS(_uM("marginRight" to 10, "marginBottom" to 10, "width" to 70, "height" to 70, "borderTopLeftRadius" to 5, "borderTopRightRadius" to 5, "borderBottomRightRadius" to 5, "borderBottomLeftRadius" to 5, "overflow" to "hidden", "position" to "relative")), "uploaded-image" to _pS(_uM("width" to "100%", "height" to "100%")), "delete-image" to _pS(_uM("position" to "absolute", "top" to 2, "right" to 2, "width" to 16, "height" to 16, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "backgroundColor" to "rgba(0,0,0,0.5)", "color" to "#ffffff", "fontSize" to 12, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "upload-btn" to _pS(_uM("width" to 70, "height" to 70, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "dashed", "borderRightStyle" to "dashed", "borderBottomStyle" to "dashed", "borderLeftStyle" to "dashed", "borderTopColor" to "#cccccc", "borderRightColor" to "#cccccc", "borderBottomColor" to "#cccccc", "borderLeftColor" to "#cccccc", "borderTopLeftRadius" to 5, "borderTopRightRadius" to 5, "borderBottomRightRadius" to 5, "borderBottomLeftRadius" to 5, "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center")), "upload-icon" to _pS(_uM("fontSize" to 24, "color" to "#999999", "marginBottom" to 5)), "upload-text" to _pS(_uM("fontSize" to 10, "color" to "#999999")), "anonymous-section" to _pS(_uM("marginBottom" to 15)), "anonymous-switch" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 5)), "switch-label" to _pS(_uM("fontSize" to 14)), "anonymous-tip" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "merchant-section" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 20, "paddingRight" to 15, "paddingBottom" to 20, "paddingLeft" to 15, "marginTop" to 15, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12)), "section-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 20, "paddingLeft" to 10, "borderLeftWidth" to 4, "borderLeftStyle" to "solid", "borderLeftColor" to "#ff5000")), "merchant-rating" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 20, "paddingTop" to 0, "paddingRight" to 5, "paddingBottom" to 0, "paddingLeft" to 5)), "rating-item" to _pS(_uM("fontSize" to 14, "color" to "#666666", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "tips-section" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "marginBottom" to 10)), "tip-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 10)), "tip-item" to _pS(_uM("fontSize" to 12, "color" to "#666666", "lineHeight" to 1.6, "marginBottom" to 5)), "submit-section" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#e5e5e5")), "submit-btn" to _uM("" to _uM("backgroundColor" to "#007aff", "color" to "#ffffff", "height" to 50, "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "fontSize" to 16, "fontWeight" to "bold", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000"), ".disabled" to _uM("backgroundColor" to "#cccccc", "opacity" to 0.6)), "@TRANSITION" to _uM("star-icon" to _uM("property" to "transform", "duration" to "0.1s", "timingFunction" to "ease"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/search.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/search.kt deleted file mode 100644 index 73104e08..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/search.kt +++ /dev/null @@ -1,933 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.chooseImage as uni_chooseImage -import io.dcloud.uniapp.extapi.getStorageSync as uni_getStorageSync -import io.dcloud.uniapp.extapi.getSystemInfoSync as uni_getSystemInfoSync -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.framework.onPageScroll -import io.dcloud.uniapp.framework.onReachBottom as onReachBottom__1 -import io.dcloud.uniapp.extapi.removeStorageSync as uni_removeStorageSync -import io.dcloud.uniapp.extapi.setStorageSync as uni_setStorageSync -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMallConsumerSearch : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerSearch) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerSearch - val _cache = __ins.renderCache - val statusBarHeight = ref(0) - val scrollHeight = ref(0) - val searchKeyword = ref("") - val showResults = ref(false) - val loading = ref(false) - val hasMore = ref(true) - val isError = ref(false) - val autoFocus = ref(true) - val activeSort = ref("default") - val priceSortAsc = ref(false) - val searchHistory = ref(_uA()) - val hotSearchList = ref(_uA()) - val guessList = ref(_uA()) - val allGuessItems = ref(_uA()) - val searchResults = ref(_uA()) - val searchShopResults = ref(_uA()) - val loadSearchHistory = fun(){ - val history = uni_getStorageSync("searchHistory") - if (history != null) { - try { - val parsed = UTSAndroid.consoleDebugError(JSON.parse(history as String), " at pages/mall/consumer/search.uvue:302") - if (UTSArray.isArray(parsed)) { - searchHistory.value = parsed as UTSArray - } - } - catch (e: Throwable) { - searchHistory.value = _uA() - } - } - } - val saveSearchHistory = fun(){ - uni_setStorageSync("searchHistory", JSON.stringify(searchHistory.value)) - } - val addToHistory = fun(keyword: String){ - if (keyword == "") { - return - } - val index = searchHistory.value.indexOf(keyword) - if (index > -1) { - searchHistory.value.splice(index, 1) - } - searchHistory.value.unshift(keyword) - if (searchHistory.value.length > 10) { - searchHistory.value.pop() - } - saveSearchHistory() - } - val clearHistory = fun(){ - uni_showModal(ShowModalOptions(title = "提示", content = "确定清空搜索历史吗?", success = fun(res){ - if (res.confirm) { - searchHistory.value = _uA() - uni_removeStorageSync("searchHistory") - } - } - )) - } - val deleteHistoryItem = fun(index: Number){ - searchHistory.value.splice(index, 1) - saveSearchHistory() - } - val refreshGuessListItems = fun(){ - if (allGuessItems.value.length > 0) { - val arr: UTSArray = _uA() - run { - var i: Number = 0 - while(i < allGuessItems.value.length){ - arr.push(allGuessItems.value[i]) - i++ - } - } - run { - var i: Number = arr.length - 1 - while(i > 0){ - val j = Math.floor(Math.random() * (i + 1)) - val temp = arr[i] - arr[i] = arr[j] - arr[j] = temp - i-- - } - } - val result: UTSArray = _uA() - val limit = if (arr.length < 6) { - arr.length - } else { - 6 - } - run { - var i: Number = 0 - while(i < limit){ - result.push(arr[i]) - i++ - } - } - guessList.value = result - } - } - val loadData = fun(): UTSPromise { - return wrapUTSPromise(suspend { - isError.value = false - try { - loadSearchHistory() - var hotProducts: UTSArray = _uA() - try { - val hotResult = await(supabaseService.getHotProducts(30)) - hotProducts = hotResult as UTSArray - } - catch (hotError: Throwable) { - console.error("获取热销商品失败,使用空列表:", hotError, " at pages/mall/consumer/search.uvue:378") - hotProducts = _uA() - } - val hotList: UTSArray = _uA() - val limit1 = if (hotProducts.length < 10) { - hotProducts.length - } else { - 10 - } - run { - var i: Number = 0 - while(i < limit1){ - val p = hotProducts[i] - val item = HotSearchItemType(keyword = p.name ?: "", hot = true) - hotList.push(item) - i++ - } - } - hotSearchList.value = hotList - val allItems: UTSArray = _uA() - run { - var i: Number = 0 - while(i < hotProducts.length){ - val p = hotProducts[i] - val saleCount = p.sale_count - val item = GuessItemType(id = p.id ?: "", name = p.name ?: "", price = p.base_price ?: 0, image = p.main_image_url ?: "/static/default.jpg", sales = if (saleCount != null) { - saleCount - } else { - 0 - } - , merchant_id = p.merchant_id ?: "") - allItems.push(item) - i++ - } - } - allGuessItems.value = allItems - refreshGuessListItems() - } - catch (e: Throwable) { - console.error("Load data failed", e, " at pages/mall/consumer/search.uvue:413") - isError.value = false - } - }) - } - val retryLoad = fun(){ - uni_showLoading(ShowLoadingOptions(title = "重新加载中")) - setTimeout(fun(){ - uni_hideLoading() - loadData() - } - , 1000) - } - val searchSuggestions = ref(_uA()) - var suggestTimer: Number = 0 - val fetchSuggestions = fun(kw: String): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (kw == "" || showResults.value) { - return@w1 - } - try { - val res = await(supabaseService.searchProducts(kw.trim(), 1, 5)) - if (res.data != null && res.data.length > 0) { - val names: UTSArray = _uA() - run { - var i: Number = 0 - while(i < res.data.length){ - val p = res.data[i] - var name = "" - if (p is UTSJSONObject) { - name = p.getString("name") ?: "" - } else { - val pObj = p as UTSJSONObject - name = pObj.getString("name") ?: "" - } - var found = false - run { - var j: Number = 0 - while(j < names.length){ - if (names[j] === name) { - found = true - break - } - j++ - } - } - if (found === false && name !== "") { - names.push(name) - } - i++ - } - } - searchSuggestions.value = names - } else { - searchSuggestions.value = _uA() - } - } - catch (e: Throwable) { - searchSuggestions.value = _uA() - } - }) - } - val currentPage = ref(1) - val performSearch = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - showResults.value = true - loading.value = true - currentPage.value = 1 - val keyword = searchKeyword.value.trim() - if (keyword == "") { - loading.value = false - return@w1 - } - console.log("Search execution started for keyword:", keyword, " at pages/mall/consumer/search.uvue:479") - var sortBy = "sales" - var ascending = false - if (activeSort.value === "price") { - sortBy = "price" - ascending = priceSortAsc.value - } else if (activeSort.value === "default") { - sortBy = "default" - } - try { - console.log("Calling searchProducts with params:", keyword, currentPage.value, sortBy, ascending, " at pages/mall/consumer/search.uvue:491") - val prodResp = await(supabaseService.searchProducts(keyword, currentPage.value, 20, sortBy, ascending)) - console.log("searchProducts response received:", if (prodResp.data != null) { - prodResp.data.length - } else { - 0 - } - , "items", " at pages/mall/consumer/search.uvue:493") - var shopList: UTSArray = _uA() - if (currentPage.value === 1 && activeSort.value === "default") { - val shopResp = await(supabaseService.searchShops(keyword)) - if (shopResp.data != null && shopResp.data.length > 0) { - run { - var i: Number = 0 - while(i < shopResp.data.length){ - val s = shopResp.data[i] - val shopItem = ShopResultType(id = s.id ?: "", name = s.shop_name ?: "", logo = s.shop_logo ?: "/static/shop_logo_default.png", productCount = s.product_count ?: 0) - shopList.push(shopItem) - i++ - } - } - } - } - searchShopResults.value = shopList - val prodData = if (prodResp.data != null) { - prodResp.data - } else { - _uA() - } - val resultList: UTSArray = _uA() - run { - var i: Number = 0 - while(i < prodData.length){ - val p = prodData[i] as Product - var tag = "" - val tagsRaw = p.tags - if (tagsRaw != null) { - try { - val tagsStr = p.tags - if (tagsStr != null) { - val tags = UTSAndroid.consoleDebugError(JSON.parse(tagsStr as String), " at pages/mall/consumer/search.uvue:523") - if (UTSArray.isArray(tags) && (tags as UTSArray).length > 0) { - val firstTag = (tags as UTSArray)[0] - tag = if (firstTag != null) { - (firstTag as String) - } else { - "" - } - } - } - } - catch (e: Throwable) {} - } - val searchItem = SearchResultType(id = p.id ?: "", name = p.name ?: "", image = p.main_image_url ?: "/static/default.jpg", price = p.base_price ?: 0, specification = p.specification ?: "标准规格", tag = tag, sales = p.sale_count ?: 0, merchant_id = p.merchant_id ?: "") - resultList.push(searchItem) - i++ - } - } - searchResults.value = resultList - hasMore.value = prodResp.hasmore - } - catch (e: Throwable) { - console.error("Search failed detailed error:", e, " at pages/mall/consumer/search.uvue:548") - } - finally { - loading.value = false - } - }) - } - val initPage = fun(){ - try { - val systemInfo = uni_getSystemInfoSync() - statusBarHeight.value = systemInfo.statusBarHeight ?: 0 - val windowHeight = systemInfo.windowHeight - scrollHeight.value = windowHeight - (60 + statusBarHeight.value) - loadData() - val pages = getCurrentPages() - if (pages.length > 0) { - val currentPageObj = pages[pages.length - 1] - val options = currentPageObj.options - if (options != null) { - val optObj = options as UTSJSONObject - val kwRaw = optObj.getString("keyword") - if (kwRaw != null && kwRaw !== "") { - val decoded = UTSAndroid.consoleDebugError(decodeURIComponent(kwRaw), " at pages/mall/consumer/search.uvue:572") - val keyword = if (decoded != null) { - decoded - } else { - kwRaw - } - searchKeyword.value = keyword - val typeVal = optObj.getString("type") - if (typeVal === "family" || typeVal === "brand") { - if (typeVal === "family") { - addToHistory(keyword) - } - showResults.value = true - loading.value = true - performSearch() - } - } - } - } - } - catch (e: Throwable) { - console.error("初始化失败", e, " at pages/mall/consumer/search.uvue:589") - isError.value = true - } - } - onMounted(fun(){ - initPage() - } - ) - val onInput = fun(e: Any){ - try { - var kVal = "" - if (e != null) { - if (e is UTSJSONObject) { - val eObj = e as UTSJSONObject - val detailObj = eObj.get("detail") - if (detailObj != null && detailObj is UTSJSONObject) { - val detail = detailObj as UTSJSONObject - val v = detail.get("value") - kVal = if (v != null) { - (v as String) - } else { - "" - } - } - } else { - val eObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(e)), " at pages/mall/consumer/search.uvue:614") as UTSJSONObject - val detailObj = eObj.get("detail") - if (detailObj != null) { - val detail = detailObj as UTSJSONObject - val v = detail.get("value") - kVal = if (v != null) { - (v as String) - } else { - "" - } - } else { - val v = eObj.get("value") - kVal = if (v != null) { - (v as String) - } else { - "" - } - } - } - } - searchKeyword.value = kVal - if (kVal == "") { - showResults.value = false - searchSuggestions.value = _uA() - return - } - if (suggestTimer > 0) { - clearTimeout(suggestTimer) - } - suggestTimer = setTimeout(fun(){ - fetchSuggestions(kVal) - } - , 300) - } - catch (err: Throwable) { - console.error("onInput error:", err, " at pages/mall/consumer/search.uvue:638") - } - } - val clearSearch = fun(){ - searchKeyword.value = "" - showResults.value = false - } - val onSearch = fun(){ - if (searchKeyword.value.trim() == "") { - return - } - addToHistory(searchKeyword.value.trim()) - performSearch() - } - val searchFromHistory = fun(keyword: String){ - searchKeyword.value = keyword - performSearch() - } - val searchFromHot = fun(keyword: String){ - searchKeyword.value = keyword - addToHistory(keyword) - performSearch() - } - val selectSuggestion = fun(suggestion: String){ - searchKeyword.value = suggestion - addToHistory(suggestion) - performSearch() - } - val switchSort = fun(type: String){ - if (type === "price") { - if (activeSort.value === "price") { - priceSortAsc.value = !priceSortAsc.value - } else { - activeSort.value = "price" - priceSortAsc.value = true - } - } else { - activeSort.value = type - } - performSearch() - } - val loadMore = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (loading.value || hasMore.value == false || searchKeyword.value.trim() == "") { - return@w1 - } - loading.value = true - currentPage.value++ - val keyword = searchKeyword.value.trim() - var sortBy = "sales" - var ascending = false - if (activeSort.value === "price") { - sortBy = "price" - ascending = priceSortAsc.value - } else if (activeSort.value === "default") { - sortBy = "default" - } - try { - val response = await(supabaseService.searchProducts(keyword, currentPage.value, 20, sortBy, ascending)) - val respData = if (response.data != null) { - response.data - } else { - _uA() - } - run { - var i: Number = 0 - while(i < respData.length){ - val p = respData[i] as Product - var tag = "" - val tagsRaw = p.tags - if (tagsRaw != null) { - try { - val tagsStr = p.tags - if (tagsStr != null) { - val tags = UTSAndroid.consoleDebugError(JSON.parse(tagsStr as String), " at pages/mall/consumer/search.uvue:711") - if (UTSArray.isArray(tags) && (tags as UTSArray).length > 0) { - val firstTag = (tags as UTSArray)[0] - tag = if (firstTag != null) { - (firstTag as String) - } else { - "" - } - } - } - } - catch (e: Throwable) {} - } - val searchItem = SearchResultType(id = p.id ?: "", name = p.name ?: "", image = p.main_image_url ?: "/static/default.jpg", price = p.base_price ?: 0, specification = p.specification ?: "标准规格", tag = tag, sales = p.sale_count ?: 0, merchant_id = p.merchant_id ?: "") - searchResults.value.push(searchItem) - i++ - } - } - hasMore.value = response.hasmore - } - catch (e: Throwable) { - console.error("Load more failed", e, " at pages/mall/consumer/search.uvue:734") - hasMore.value = false - } - finally { - loading.value = false - } - }) - } - onReachBottom__1(fun(){ - if (showResults.value) { - loadMore() - } - } - ) - val refreshGuessList = fun(){ - uni_showLoading(ShowLoadingOptions(title = "刷新中")) - setTimeout(fun(){ - refreshGuessListItems() - uni_hideLoading() - } - , 500) - } - val viewProductDetail = fun(item: UTSUnionTypeObject){ - val id = (item as GuessItemType).id - val price = (item as GuessItemType).price - val name = (item as GuessItemType).name - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?productId=" + id + "&price=" + price + "&name=" + UTSAndroid.consoleDebugError(encodeURIComponent(name), " at pages/mall/consumer/search.uvue:760"))) - } - val viewShopDetail = fun(shop: ShopResultType){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/shop-detail?id=" + shop.id)) - } - val addToCart = fun(product: UTSUnionTypeObject): UTSPromise { - return wrapUTSPromise(suspend { - uni_showLoading(ShowLoadingOptions(title = "检查商品...")) - try { - val prodObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(product)), " at pages/mall/consumer/search.uvue:774") as UTSJSONObject - val productId = prodObj.getString("id") ?: "" - val merchantId = prodObj.getString("merchant_id") ?: "" - val skus = await(supabaseService.getProductSkus(productId)) - uni_hideLoading() - if (skus.length > 0) { - uni_showToast(ShowToastOptions(title = "请选择规格", icon = "none")) - setTimeout(fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?id=" + productId)) - }, 500) - } else { - uni_showLoading(ShowLoadingOptions(title = "添加中...")) - val success = await(supabaseService.addToCart(productId, 1, "", merchantId)) - uni_hideLoading() - if (success) { - uni_showToast(ShowToastOptions(title = "已添加到购物车", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "添加失败,请先登录", icon = "none")) - } - } - } - catch (e: Throwable) { - console.error("添加到购物车异常", e, " at pages/mall/consumer/search.uvue:802") - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "操作异常", icon = "none")) - } - }) - } - val openCamera = fun(){ - uni_chooseImage(ChooseImageOptions(count = 1, sourceType = _uA( - "camera" - ), success = fun(res){ - console.log("拍摄图片路径:", res.tempFilePaths[0], " at pages/mall/consumer/search.uvue:813") - uni_showToast(ShowToastOptions(title = "已启用相机", icon = "none")) - } - , fail = fun(err){ - console.error("启用相机失败", err, " at pages/mall/consumer/search.uvue:817") - } - )) - } - val goBack = fun(){ - if (showResults.value) { - showResults.value = false - searchKeyword.value = "" - } else { - val pages = getCurrentPages() - if (pages.length > 1) { - uni_navigateBack(null) - } else { - uni_switchTab(SwitchTabOptions(url = "/pages/main/index")) - } - } - } - return fun(): Any? { - return _cE("view", _uM("class" to "search-page"), _uA( - _cE("view", _uM("class" to "search-header", "style" to _nS(_uM("paddingTop" to (statusBarHeight.value + "px")))), _uA( - _cE("view", _uM("class" to "search-bar-container"), _uA( - _cE("view", _uM("class" to "back-btn", "onClick" to goBack), _uA( - _cE("text", _uM("class" to "back-icon"), "❮") - )), - _cE("view", _uM("class" to "search-input-container"), _uA( - _cE("input", _uM("class" to "search-input", "type" to "text", "value" to searchKeyword.value, "onInput" to onInput, "onConfirm" to onSearch, "placeholder" to "请输入商品名称、店铺", "placeholder-class" to "placeholder", "focus" to autoFocus.value), null, 40, _uA( - "value", - "focus" - )), - if (isTrue(searchKeyword.value)) { - _cE("view", _uM("key" to 0, "class" to "clear-btn", "onClick" to clearSearch), _uA( - _cE("text", _uM("class" to "clear-icon"), "×") - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "camera-btn", "onClick" to openCamera), _uA( - _cE("text", _uM("class" to "camera-icon"), "📷") - )), - _cE("view", _uM("class" to "inner-search-btn", "onClick" to onSearch), _uA( - _cE("text", _uM("class" to "inner-search-text"), "搜索") - )) - )) - )) - ), 4), - if (isTrue(isError.value)) { - _cE("view", _uM("key" to 0, "class" to "error-state", "onClick" to retryLoad), _uA( - _cE("view", _uM("class" to "error-content"), _uA( - _cE("text", _uM("class" to "error-icon"), "⚠️"), - _cE("text", _uM("class" to "error-title"), "加载服务器超时"), - _cE("text", _uM("class" to "error-desc"), "请点击屏幕重试") - )) - )) - } else { - _cE("scroll-view", _uM("key" to 1, "class" to "main-content", "direction" to "vertical", "scroll-y" to true, "show-scrollbar" to false), _uA( - if (isTrue(searchKeyword.value == "" && showResults.value == false)) { - _cE("view", _uM("key" to 0), _uA( - if (searchHistory.value.length > 0) { - _cE("view", _uM("key" to 0, "class" to "search-history"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("text", _uM("class" to "section-title"), "搜索历史"), - _cE("view", _uM("class" to "header-right", "onClick" to clearHistory), _uA( - _cE("text", _uM("class" to "clear-text"), "清空"), - _cE("text", _uM("class" to "clear-icon-trash"), "🗑️") - )) - )), - _cE("view", _uM("class" to "history-tags"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(searchHistory.value, fun(item, index, __index, _cached): Any { - return _cE("view", _uM("key" to index, "class" to "history-tag", "onClick" to fun(){ - searchFromHistory(item) - }), _uA( - _cE("text", _uM("class" to "history-text"), _tD(item), 1), - _cE("view", _uM("class" to "delete-tag-btn", "onClick" to withModifiers(fun(){ - deleteHistoryItem(index) - }, _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "delete-icon"), "×") - ), 8, _uA( - "onClick" - )) - ), 8, _uA( - "onClick" - )) - }), 128) - )) - )) - } else { - _cC("v-if", true) - }, - _cE("view", _uM("class" to "hot-search"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("text", _uM("class" to "section-title"), "热门搜索") - )), - _cE("view", _uM("class" to "hot-tags"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(hotSearchList.value, fun(item, index, __index, _cached): Any { - return _cE("view", _uM("key" to index, "class" to _nC(_uA( - "hot-tag", - if (item.hot == true) { - "hot" - } else { - "" - } - )), "onClick" to fun(){ - searchFromHot(item.keyword) - }), _uA( - _cE("text", _uM("class" to _nC(_uA( - "hot-rank", - if (index < 3) { - "top-three" - } else { - "" - } - ))), _tD(index + 1), 3), - _cE("text", _uM("class" to "hot-text"), _tD(item.keyword), 1), - if (item.hot == true) { - _cE("text", _uM("key" to 0, "class" to "hot-icon"), "🔥") - } else { - _cC("v-if", true) - } - ), 10, _uA( - "onClick" - )) - }), 128) - )) - )), - _cE("view", _uM("class" to "guess-you-like"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("view", _uM("class" to "title-with-icon"), _uA( - _cE("text", _uM("class" to "section-icon"), "✨"), - _cE("text", _uM("class" to "section-title"), "猜你需要") - )), - _cE("text", _uM("class" to "refresh-btn", "onClick" to refreshGuessList), "换一批") - )), - _cE("view", _uM("class" to "guess-grid"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(guessList.value, fun(item, __key, __index, _cached): Any { - return _cE("view", _uM("key" to item.id, "class" to "guess-item", "onClick" to fun(){ - viewProductDetail(item) - }), _uA( - _cE("image", _uM("class" to "guess-img", "src" to item.image, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("text", _uM("class" to "guess-name", "lines" to 2), _tD(item.name), 1), - _cE("view", _uM("class" to "guess-bottom"), _uA( - _cE("text", _uM("class" to "guess-price"), "¥" + _tD(item.price), 1), - _cE("view", _uM("class" to "guess-add-btn", "onClick" to withModifiers(fun(){ - addToCart(item) - }, _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "guess-add-icon"), "+") - ), 8, _uA( - "onClick" - )) - )) - ), 8, _uA( - "onClick" - )) - }), 128) - )) - )) - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(searchKeyword.value != "" && showResults.value == false)) { - _cE("view", _uM("key" to 1, "class" to "search-suggestions"), _uA( - _cE("view", _uM("class" to "suggestions-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(searchSuggestions.value, fun(suggestion, index, __index, _cached): Any { - return _cE("view", _uM("key" to index, "class" to "suggestion-item", "onClick" to fun(){ - selectSuggestion(suggestion) - }), _uA( - _cE("view", _uM("class" to "suggestion-icon"), "🔍"), - _cE("text", _uM("class" to "suggestion-text"), _tD(suggestion), 1) - ), 8, _uA( - "onClick" - )) - }), 128) - )) - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(showResults.value)) { - _cE("view", _uM("key" to 2, "class" to "search-results"), _uA( - if (searchShopResults.value.length > 0) { - _cE("view", _uM("key" to 0, "class" to "shop-results-section"), _uA( - _cE("view", _uM("class" to "section-top"), _uA( - _cE("text", _uM("class" to "result-title-sm"), "相关店铺") - )), - _cE("scroll-view", _uM("direction" to "horizontal", "class" to "shop-list-scroll"), _uA( - _cE("view", _uM("class" to "shop-list-row"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(searchShopResults.value, fun(shop, __key, __index, _cached): Any { - return _cE("view", _uM("key" to shop.id, "class" to "shop-card", "onClick" to fun(){ - viewShopDetail(shop) - }), _uA( - _cE("image", _uM("class" to "shop-logo", "src" to shop.logo, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "shop-info"), _uA( - _cE("text", _uM("class" to "shop-name-txt"), _tD(shop.name), 1), - _cE("text", _uM("class" to "shop-products-txt"), "共" + _tD(shop.productCount) + "件商品", 1) - )) - ), 8, _uA( - "onClick" - )) - }), 128) - )) - )) - )) - } else { - _cC("v-if", true) - }, - _cE("view", _uM("class" to "results-header"), _uA( - _cE("text", _uM("class" to "results-title"), "商品结果"), - _cE("view", _uM("class" to "filter-tabs"), _uA( - _cE("text", _uM("class" to _nC(_uA( - "filter-tab", - _uM("active" to (activeSort.value === "default")) - )), "onClick" to fun(){ - switchSort("default") - }), "综合", 10, _uA( - "onClick" - )), - _cE("text", _uM("class" to _nC(_uA( - "filter-tab", - _uM("active" to (activeSort.value === "sales")) - )), "onClick" to fun(){ - switchSort("sales") - }), "销量", 10, _uA( - "onClick" - )), - _cE("text", _uM("class" to _nC(_uA( - "filter-tab", - _uM("active" to (activeSort.value === "price")) - )), "onClick" to fun(){ - switchSort("price") - }), " 价格 " + _tD(if (activeSort.value === "price") { - if (priceSortAsc.value) { - "↑" - } else { - "↓" - } - } else { - "" - }), 11, _uA( - "onClick" - )) - )) - )), - if (searchResults.value.length > 0) { - _cE("view", _uM("key" to 1, "class" to "results-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(searchResults.value, fun(product, __key, __index, _cached): Any { - return _cE("view", _uM("key" to product.id, "class" to "result-item", "onClick" to fun(){ - viewProductDetail(product) - }), _uA( - _cE("image", _uM("class" to "product-image", "src" to product.image, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("text", _uM("class" to "product-name", "lines" to 2), _tD(product.name), 1), - _cE("view", _uM("class" to "product-bottom"), _uA( - _cE("text", _uM("class" to "product-price"), "¥" + _tD(product.price), 1), - _cE("view", _uM("class" to "product-add-btn", "onClick" to withModifiers(fun(){ - addToCart(product) - }, _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "add-icon"), "+") - ), 8, _uA( - "onClick" - )) - )) - ), 8, _uA( - "onClick" - )) - }), 128) - )) - } else { - _cC("v-if", true) - }, - if (isTrue(!loading.value && searchResults.value.length === 0)) { - _cE("view", _uM("key" to 2, "class" to "empty-result"), _uA( - _cE("text", _uM("class" to "empty-icon"), "🤔"), - _cE("text", _uM("class" to "empty-text"), "未找到相关商品"), - _cE("text", _uM("class" to "empty-sub"), "换个关键词试试吧") - )) - } else { - _cC("v-if", true) - }, - if (isTrue(loading.value)) { - _cE("view", _uM("key" to 3, "class" to "loading-more"), _uA( - _cE("view", _uM("class" to "loading-spinner")), - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - _cC("v-if", true) - }, - if (isTrue(!hasMore.value && searchResults.value.length > 0)) { - _cE("view", _uM("key" to 4, "class" to "no-more"), _uA( - _cE("text", _uM("class" to "no-more-text"), "--- 到底了 ---") - )) - } else { - _cC("v-if", true) - } - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "safe-area")) - )) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("search-page" to _pS(_uM("width" to "100%", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f5f5", "display" to "flex", "flexDirection" to "column")), "shop-results-section" to _pS(_uM("backgroundColor" to "#ffffff", "marginBottom" to 10, "paddingTop" to 10, "paddingRight" to 0, "paddingBottom" to 10, "paddingLeft" to 0)), "section-top" to _pS(_uM("paddingTop" to 0, "paddingRight" to 12, "paddingBottom" to 10, "paddingLeft" to 12)), "result-title-sm" to _pS(_uM("fontSize" to 14, "fontWeight" to "bold", "color" to "#333333")), "shop-list-scroll" to _pS(_uM("width" to "100%", "whiteSpace" to "nowrap")), "shop-list-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "paddingTop" to 0, "paddingRight" to 12, "paddingBottom" to 0, "paddingLeft" to 12)), "shop-card" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "width" to 80, "marginRight" to 15, "backgroundColor" to "#f9f9f9", "paddingTop" to 10, "paddingRight" to 5, "paddingBottom" to 10, "paddingLeft" to 5, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8)), "shop-logo" to _pS(_uM("width" to 48, "height" to 48, "borderTopLeftRadius" to 24, "borderTopRightRadius" to 24, "borderBottomRightRadius" to 24, "borderBottomLeftRadius" to 24, "marginBottom" to 5, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#f0f0f0", "borderRightColor" to "#f0f0f0", "borderBottomColor" to "#f0f0f0", "borderLeftColor" to "#f0f0f0", "backgroundColor" to "#FFFFFF")), "shop-info" to _pS(_uM("width" to "100%", "textAlign" to "center")), "shop-name-txt" to _pS(_uM("fontSize" to 12, "color" to "#333333", "width" to "100%", "overflow" to "hidden", "whiteSpace" to "nowrap", "textOverflow" to "ellipsis", "marginBottom" to 2)), "shop-products-txt" to _pS(_uM("fontSize" to 10, "color" to "#999999")), "search-header" to _pS(_uM("backgroundColor" to "#ffffff", "paddingBottom" to 10, "flexShrink" to 0)), "search-bar-container" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "paddingTop" to 10, "paddingRight" to 16, "paddingBottom" to 10, "paddingLeft" to 16, "boxSizing" to "border-box")), "back-btn" to _pS(_uM("paddingTop" to 4, "paddingRight" to 4, "paddingBottom" to 4, "paddingLeft" to 4, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "width" to 32, "height" to 32, "marginRight" to 12, "flexShrink" to 0)), "back-icon" to _pS(_uM("fontSize" to 20, "color" to "#333333")), "search-input-container" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 40, "backgroundColor" to "#f0f0f0", "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "paddingTop" to 0, "paddingRight" to 4, "paddingBottom" to 0, "paddingLeft" to 12)), "search-input" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to 14, "color" to "#333333", "height" to "100%", "backgroundColor" to "rgba(0,0,0,0)")), "placeholder" to _pS(_uM("color" to "#999999")), "clear-btn" to _pS(_uM("paddingTop" to 4, "paddingRight" to 4, "paddingBottom" to 4, "paddingLeft" to 4, "marginRight" to 2, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "clear-icon" to _pS(_uM("fontSize" to 16, "color" to "#999999")), "camera-btn" to _pS(_uM("paddingTop" to 4, "paddingRight" to 8, "paddingBottom" to 4, "paddingLeft" to 4, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "borderRightWidth" to 1, "borderRightStyle" to "solid", "borderRightColor" to "#dddddd", "marginRight" to 8)), "camera-icon" to _pS(_uM("fontSize" to 20)), "inner-search-btn" to _pS(_uM("paddingTop" to 0, "paddingRight" to 16, "paddingBottom" to 0, "paddingLeft" to 16, "backgroundColor" to "#87CEEB", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "height" to 32)), "inner-search-text" to _pS(_uM("fontSize" to 13, "color" to "#ffffff", "fontWeight" to "bold")), "main-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "boxSizing" to "border-box", "height" to 0)), "section-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 12, "marginTop" to 8, "width" to "100%")), "section-title" to _pS(_uM("fontSize" to 15, "fontWeight" to "bold", "color" to "#333333", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "header-right" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "flexShrink" to 0)), "clear-text" to _pS(_uM("marginRight" to 4, "fontSize" to 12, "color" to "#999999")), "clear-icon-trash" to _pS(_uM("fontSize" to 14)), "search-history" to _pS(_uM("marginBottom" to 24, "paddingTop" to 0, "paddingRight" to 4, "paddingBottom" to 0, "paddingLeft" to 4)), "history-tags" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "paddingTop" to 0, "paddingRight" to 4, "paddingBottom" to 0, "paddingLeft" to 4, "alignItems" to "center")), "history-tag" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 6, "paddingRight" to 12, "paddingBottom" to 6, "paddingLeft" to 12, "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "display" to "flex", "alignItems" to "center", "flexShrink" to 0, "marginRight" to 10, "marginBottom" to 10)), "history-text" to _pS(_uM("fontSize" to 13, "color" to "#666666", "overflow" to "hidden", "textOverflow" to "ellipsis", "whiteSpace" to "nowrap", "marginRight" to 6)), "delete-tag-btn" to _pS(_uM("display" to "flex", "alignItems" to "center", "justifyContent" to "center", "width" to 16, "height" to 16, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "backgroundColor" to "#f0f0f0")), "delete-icon" to _pS(_uM("fontSize" to 12, "color" to "#999999", "lineHeight" to 1)), "hot-search" to _pS(_uM("marginBottom" to 24)), "hot-tags" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "paddingTop" to 0, "paddingRight" to 4, "paddingBottom" to 0, "paddingLeft" to 4)), "hot-tag" to _uM("" to _uM("marginRight" to 10, "marginBottom" to 10, "backgroundColor" to "#ffffff", "paddingTop" to 6, "paddingRight" to 12, "paddingBottom" to 6, "paddingLeft" to 12, "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "flexShrink" to 0), ".hot" to _uM("backgroundColor" to "#fff0f0")), "hot-rank" to _uM("" to _uM("fontSize" to 12, "color" to "#999999", "fontWeight" to "bold", "marginRight" to 6), ".top-three" to _uM("color" to "#ff5000")), "hot-text" to _pS(_uM("fontSize" to 13, "color" to "#333333")), "hot-icon" to _pS(_uM("fontSize" to 12, "marginLeft" to 4)), "guess-you-like" to _pS(_uM("marginBottom" to 20)), "title-with-icon" to _pS(_uM("display" to "flex", "alignItems" to "center")), "section-icon" to _pS(_uM("fontSize" to 16, "marginRight" to 6)), "refresh-btn" to _pS(_uM("fontSize" to 12, "color" to "#4CAF50")), "guess-grid" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "justifyContent" to "space-between", "paddingTop" to 0, "paddingRight" to 4, "paddingBottom" to 0, "paddingLeft" to 4)), "guess-item" to _pS(_uM("display" to "flex", "flexDirection" to "column", "backgroundImage" to "none", "backgroundColor" to "#ffffff", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "overflow" to "hidden", "width" to "48%", "marginBottom" to 12)), "guess-img" to _pS(_uM("width" to "100%", "height" to 170, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginBottom" to 8, "backgroundImage" to "none", "backgroundColor" to "#f5f5f5", "objectFit" to "cover")), "guess-name" to _pS(_uM("fontSize" to 13, "color" to "#333333", "marginBottom" to 5, "lineHeight" to 1.4, "height" to 36, "overflow" to "hidden", "textOverflow" to "ellipsis", "paddingTop" to 0, "paddingRight" to 8, "paddingBottom" to 0, "paddingLeft" to 8)), "guess-bottom" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 0, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8)), "guess-price" to _pS(_uM("fontSize" to 15, "color" to "#ff5000", "fontWeight" to "bold")), "guess-add-btn" to _pS(_uM("width" to 24, "height" to 24, "backgroundColor" to "#ff5000", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "guess-add-icon" to _pS(_uM("color" to "#ffffff", "fontSize" to 16, "fontWeight" to "bold")), "search-suggestions" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 0, "paddingRight" to 12, "paddingBottom" to 0, "paddingLeft" to 12)), "suggestion-item" to _pS(_uM("display" to "flex", "alignItems" to "center", "height" to 44, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5")), "suggestion-icon" to _pS(_uM("marginRight" to 10, "fontSize" to 14, "color" to "#999999")), "suggestion-text" to _pS(_uM("fontSize" to 14, "color" to "#333333")), "results-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 10, "paddingRight" to 12, "paddingBottom" to 10, "paddingLeft" to 12, "backgroundColor" to "#ffffff", "marginBottom" to 2, "width" to "100%", "boxSizing" to "border-box")), "results-title" to _pS(_uM("fontSize" to 15, "fontWeight" to "bold", "color" to "#333333")), "filter-tabs" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "flexWrap" to "wrap", "justifyContent" to "flex-start")), "filter-tab" to _uM("" to _uM("fontSize" to 13, "color" to "#666666", "paddingTop" to 8, "paddingRight" to 12, "paddingBottom" to 8, "paddingLeft" to 12, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#e0e0e0", "borderRightColor" to "#e0e0e0", "borderBottomColor" to "#e0e0e0", "borderLeftColor" to "#e0e0e0", "transitionProperty" to "all", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "whiteSpace" to "nowrap", "textAlign" to "center", "display" to "flex", "justifyContent" to "center", "alignItems" to "center", "marginLeft" to 8, "backgroundImage:hover" to "none", "backgroundColor:hover" to "#f5f5f5"), ".active" to _uM("backgroundImage" to "none", "backgroundColor" to "#ff5000", "color" to "#FFFFFF", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000")), "search-results" to _pS(_uM("paddingBottom" to 20, "width" to "100%", "display" to "flex", "flexDirection" to "column", "alignItems" to "flex-start")), "results-list" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "justifyContent" to "flex-start", "paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10, "width" to "100%", "boxSizing" to "border-box", "marginTop" to 5, "backgroundColor" to "#ffffff")), "result-item" to _pS(_uM("display" to "flex", "flexDirection" to "column", "backgroundImage" to "none", "backgroundColor" to "#ffffff", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "overflow" to "hidden", "width" to "48%", "marginBottom" to 12, "marginRight" to "2%", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#f0f0f0", "borderRightColor" to "#f0f0f0", "borderBottomColor" to "#f0f0f0", "borderLeftColor" to "#f0f0f0")), "product-image" to _pS(_uM("width" to "100%", "height" to 170, "objectFit" to "cover", "backgroundColor" to "#f5f5f5", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginBottom" to 8)), "product-name" to _pS(_uM("fontSize" to 13, "color" to "#333333", "marginBottom" to 5, "lineHeight" to 1.4, "height" to 36, "overflow" to "hidden", "textOverflow" to "ellipsis", "paddingTop" to 0, "paddingRight" to 8, "paddingBottom" to 0, "paddingLeft" to 8)), "product-bottom" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 0, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8)), "product-price" to _pS(_uM("fontSize" to 15, "color" to "#ff5000", "fontWeight" to "bold")), "product-add-btn" to _pS(_uM("width" to 24, "height" to 24, "backgroundColor" to "#ff5000", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "add-icon" to _pS(_uM("color" to "#ffffff", "fontSize" to 16, "fontWeight" to "bold")), "error-state" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "backgroundColor" to "#ffffff")), "error-content" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "error-icon" to _pS(_uM("fontSize" to 48, "marginBottom" to 12)), "error-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 12)), "error-desc" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "loading-more" to _pS(_uM("paddingTop" to 20, "paddingRight" to 0, "paddingBottom" to 20, "paddingLeft" to 0, "display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "loading-spinner" to _pS(_uM("width" to 24, "height" to 24, "borderTopWidth" to 2, "borderRightWidth" to 2, "borderBottomWidth" to 2, "borderLeftWidth" to 2, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#4CAF50", "borderRightColor" to "#f0f0f0", "borderBottomColor" to "#f0f0f0", "borderLeftColor" to "#f0f0f0", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "marginBottom" to 8)), "loading-text" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "no-more" to _pS(_uM("paddingTop" to 20, "paddingRight" to 0, "paddingBottom" to 20, "paddingLeft" to 0, "textAlign" to "center")), "no-more-text" to _pS(_uM("fontSize" to 12, "color" to "#cccccc")), "empty-result" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "paddingTop" to 40, "paddingRight" to 0, "paddingBottom" to 40, "paddingLeft" to 0)), "empty-icon" to _pS(_uM("fontSize" to 40, "marginBottom" to 12)), "empty-text" to _pS(_uM("fontSize" to 14, "color" to "#666666", "marginBottom" to 4)), "empty-sub" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "safe-area" to _pS(_uM("height" to 20)), "@TRANSITION" to _uM("filter-tab" to _uM("property" to "all", "duration" to "0.2s", "timingFunction" to "ease"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/settings.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/settings.kt deleted file mode 100644 index 517ad44a..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/settings.kt +++ /dev/null @@ -1,503 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.getAppBaseInfo as uni_getAppBaseInfo -import io.dcloud.uniapp.extapi.getStorageSync as uni_getStorageSync -import io.dcloud.uniapp.extapi.getSystemInfoSync as uni_getSystemInfoSync -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.framework.onBackPress as onBackPress__1 -import io.dcloud.uniapp.extapi.reLaunch as uni_reLaunch -import io.dcloud.uniapp.extapi.removeStorageSync as uni_removeStorageSync -import io.dcloud.uniapp.extapi.setStorageSync as uni_setStorageSync -import io.dcloud.uniapp.extapi.showActionSheet as uni_showActionSheet -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMallConsumerSettings : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerSettings) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerSettings - val _cache = __ins.renderCache - onBackPress__1(fun(options): Boolean { - uni_switchTab(SwitchTabOptions(url = "/pages/main/profile")) - return true - } - ) - val userInfo = ref(UserType__1(id = "", phone = null, email = null, nickname = null, avatar_url = null)) - val notifications = ref(NotificationType(order = true, promotion = true, review = true)) - val privacy = ref(PrivacyType(hidePurchase = false, allowSearchByPhone = true, receiveMerchantMsg = true)) - val cacheSize = ref("0.0 MB") - val currentLanguage = ref("简体中文") - val currentTheme = ref("自动") - val appVersion = ref("1.0.0") - val statusBarHeight = ref(0) - val loadUserInfo = fun(){ - val userStore = uni_getStorageSync("userInfo") - if (userStore != null) { - val storeObj = userStore as UTSJSONObject - val user: UserType__1 = UserType__1(id = storeObj.getString("id") ?: "", phone = storeObj.getString("phone"), email = storeObj.getString("email"), nickname = storeObj.getString("nickname"), avatar_url = storeObj.getString("avatar_url")) - userInfo.value = user - } - } - val loadSettings = fun(){ - val savedNotifications = uni_getStorageSync("userNotifications") - if (savedNotifications != null) { - val notifObj = savedNotifications as UTSJSONObject - val notif: NotificationType = NotificationType(order = notifObj.getBoolean("order") ?: true, promotion = notifObj.getBoolean("promotion") ?: true, review = notifObj.getBoolean("review") ?: true) - notifications.value = notif - } - val savedPrivacy = uni_getStorageSync("userPrivacy") - if (savedPrivacy != null) { - val privacyObj = savedPrivacy as UTSJSONObject - val priv: PrivacyType = PrivacyType(hidePurchase = privacyObj.getBoolean("hidePurchase") ?: false, allowSearchByPhone = privacyObj.getBoolean("allowSearchByPhone") ?: true, receiveMerchantMsg = privacyObj.getBoolean("receiveMerchantMsg") ?: true) - privacy.value = priv - } - cacheSize.value = "12.5 MB" - val appInfo = uni_getAppBaseInfo(null) - if (appInfo != null) { - val infoObj = appInfo as UTSJSONObject - val version = infoObj.getString("appVersion") - if (version != null) { - appVersion.value = version - } - } - } - onMounted(fun(){ - val systemInfo = uni_getSystemInfoSync() - statusBarHeight.value = systemInfo.statusBarHeight ?: 0 - loadUserInfo() - loadSettings() - } - ) - val goToProfile = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/user/profile")) - } - val goToAddressList = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/address-list")) - } - val changePassword = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/user/change-password")) - } - val bindPhone = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/user/bind-phone")) - } - val bindEmail = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/user/bind-email")) - } - val toggleNotification = fun(type: String){ - if (type === "order") { - notifications.value.order = notifications.value.order === false - } else if (type === "promotion") { - notifications.value.promotion = notifications.value.promotion === false - } else if (type === "review") { - notifications.value.review = notifications.value.review === false - } - uni_setStorageSync("userNotifications", notifications.value) - } - val togglePrivacy = fun(type: String){ - if (type === "hidePurchase") { - privacy.value.hidePurchase = privacy.value.hidePurchase === false - } else if (type === "allowSearchByPhone") { - privacy.value.allowSearchByPhone = privacy.value.allowSearchByPhone === false - } else if (type === "receiveMerchantMsg") { - privacy.value.receiveMerchantMsg = privacy.value.receiveMerchantMsg === false - } - uni_setStorageSync("userPrivacy", privacy.value) - } - val clearCache = fun(){ - uni_showModal(ShowModalOptions(title = "清除缓存", content = "确定要清除 " + cacheSize.value + " 缓存吗?", success = fun(res){ - if (res.confirm) { - uni_showLoading(ShowLoadingOptions(title = "清除中...")) - setTimeout(fun(){ - cacheSize.value = "0.0 MB" - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "缓存已清除", icon = "success")) - } - , 1000) - } - } - )) - } - val changeLanguage = fun(){ - uni_showActionSheet(ShowActionSheetOptions(itemList = _uA( - "简体中文", - "English", - "日本語" - ), success = fun(res){ - val languages = _uA( - "简体中文", - "English", - "日本語" - ) - currentLanguage.value = languages[res.tapIndex] - uni_setStorageSync("appLanguage", currentLanguage.value) - uni_showToast(ShowToastOptions(title = "语言已切换", icon = "success")) - } - )) - } - val changeTheme = fun(){ - uni_showActionSheet(ShowActionSheetOptions(itemList = _uA( - "自动", - "浅色模式", - "深色模式" - ), success = fun(res){ - val themes = _uA( - "自动", - "浅色模式", - "深色模式" - ) - currentTheme.value = themes[res.tapIndex] - uni_setStorageSync("appTheme", currentTheme.value) - uni_showToast(ShowToastOptions(title = "主题已切换", icon = "success")) - } - )) - } - val goToMyReviews = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/orders?status=completed")) - } - val aboutUs = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/user/terms?type=about")) - } - val userAgreement = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/user/terms?type=agreement")) - } - val privacyPolicy = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/user/terms?type=privacy")) - } - val checkUpdate = fun(){ - uni_showLoading(ShowLoadingOptions(title = "检查更新中...")) - setTimeout(fun(){ - uni_hideLoading() - uni_showModal(ShowModalOptions(title = "检查更新", content = "当前已是最新版本", showCancel = false)) - } - , 1000) - } - val contactService = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/chat")) - } - val feedback = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/info/feedback")) - } - val rateApp = fun(){ - uni_showModal(ShowModalOptions(title = "给个好评", content = "如果喜欢我们的应用,请给个好评吧!感谢您的支持!", confirmText = "好的", showCancel = false)) - } - val logout = fun(){ - uni_showModal(ShowModalOptions(title = "退出登录", content = "确定要退出登录吗?", success = fun(res){ - if (res.confirm) { - uni_showLoading(ShowLoadingOptions(title = "正在退出...")) - uni_removeStorageSync("userInfo") - uni_removeStorageSync("user_id") - uni_removeStorageSync("access_token") - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "已退出登录", icon = "success")) - setTimeout(fun(){ - uni_reLaunch(ReLaunchOptions(url = "/pages/user/login")) - } - , 1000) - } - } - )) - } - val deleteAccount = fun(){ - uni_showModal(ShowModalOptions(title = "注销账号", content = "确定要注销账号吗?此操作不可恢复,所有数据将被删除!", confirmText = "注销", confirmColor = "#ff4757", success = fun(res){ - if (res.confirm) { - uni_showLoading(ShowLoadingOptions(title = "注销中...")) - var userId: String? = userInfo.value.id - if (userId == null || userId === "") { - val storageId = uni_getStorageSync("user_id") - userId = if ((storageId != null)) { - storageId as String - } else { - null - } - } - if (userId != null) { - val updateObj: UTSJSONObject = UTSJSONObject(UTSSourceMapPosition("updateObj", "pages/mall/consumer/settings.uvue", 558, 27)) - updateObj.set("status", 3) - supaInstance.from("ml_user_profiles").update(updateObj).eq("user_id", userId).execute() - } - uni_removeStorageSync("userInfo") - uni_removeStorageSync("user_id") - uni_removeStorageSync("access_token") - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "账号已注销", icon = "success", duration = 2000)) - setTimeout(fun(){ - uni_reLaunch(ReLaunchOptions(url = "/pages/user/login")) - } - , 1500) - } - } - )) - } - return fun(): Any? { - val _component_switch = resolveComponent("switch") - return _cE("view", _uM("class" to "settings-page"), _uA( - _cE("scroll-view", _uM("class" to "settings-content", "direction" to "vertical"), _uA( - _cE("view", _uM("class" to "settings-section"), _uA( - _cE("text", _uM("class" to "section-title"), "账户设置"), - _cE("view", _uM("class" to "section-list"), _uA( - _cE("view", _uM("class" to "list-item", "onClick" to goToProfile), _uA( - _cE("text", _uM("class" to "item-icon"), "👤"), - _cE("text", _uM("class" to "item-text"), "个人资料"), - _cE("text", _uM("class" to "item-arrow"), "›") - )), - _cE("view", _uM("class" to "list-item", "onClick" to goToAddressList), _uA( - _cE("text", _uM("class" to "item-icon"), "📍"), - _cE("text", _uM("class" to "item-text"), "收货地址"), - _cE("text", _uM("class" to "item-arrow"), "›") - )), - _cE("view", _uM("class" to "list-item", "onClick" to changePassword), _uA( - _cE("text", _uM("class" to "item-icon"), "🔒"), - _cE("text", _uM("class" to "item-text"), "修改密码"), - _cE("text", _uM("class" to "item-arrow"), "›") - )), - _cE("view", _uM("class" to "list-item", "onClick" to bindPhone), _uA( - _cE("text", _uM("class" to "item-icon"), "📱"), - _cE("text", _uM("class" to "item-text"), "手机绑定"), - _cE("view", _uM("class" to "item-right"), _uA( - _cE("text", _uM("class" to _nC(_uA( - "item-status", - if (userInfo.value.phone != null && userInfo.value.phone != "") { - "bound" - } else { - "" - } - ))), _tD(if (userInfo.value.phone != null && userInfo.value.phone != "") { - "已绑定" - } else { - "未绑定" - } - ), 3), - _cE("text", _uM("class" to "item-arrow"), "›") - )) - )), - _cE("view", _uM("class" to "list-item", "onClick" to bindEmail), _uA( - _cE("text", _uM("class" to "item-icon"), "📧"), - _cE("text", _uM("class" to "item-text"), "邮箱绑定"), - _cE("view", _uM("class" to "item-right"), _uA( - _cE("text", _uM("class" to _nC(_uA( - "item-status", - if (userInfo.value.email != null && userInfo.value.email != "") { - "bound" - } else { - "" - } - ))), _tD(if (userInfo.value.email != null && userInfo.value.email != "") { - "已绑定" - } else { - "未绑定" - } - ), 3), - _cE("text", _uM("class" to "item-arrow"), "›") - )) - )) - )) - )), - _cE("view", _uM("class" to "settings-section"), _uA( - _cE("text", _uM("class" to "section-title"), "消息通知"), - _cE("view", _uM("class" to "section-list"), _uA( - _cE("view", _uM("class" to "list-item"), _uA( - _cE("text", _uM("class" to "item-icon"), "🔔"), - _cE("text", _uM("class" to "item-text"), "订单消息"), - _cV(_component_switch, _uM("class" to "settings-switch", "checked" to notifications.value.order, "onChange" to fun(){ - toggleNotification("order") - } - ), null, 8, _uA( - "checked", - "onChange" - )) - )), - _cE("view", _uM("class" to "list-item"), _uA( - _cE("text", _uM("class" to "item-icon"), "🎁"), - _cE("text", _uM("class" to "item-text"), "促销活动"), - _cV(_component_switch, _uM("class" to "settings-switch", "checked" to notifications.value.promotion, "onChange" to fun(){ - toggleNotification("promotion") - } - ), null, 8, _uA( - "checked", - "onChange" - )) - )), - _cE("view", _uM("class" to "list-item"), _uA( - _cE("text", _uM("class" to "item-icon"), "⭐"), - _cE("text", _uM("class" to "item-text"), "评价提醒"), - _cV(_component_switch, _uM("class" to "settings-switch", "checked" to notifications.value.review, "onChange" to fun(){ - toggleNotification("review") - } - ), null, 8, _uA( - "checked", - "onChange" - )) - )) - )) - )), - _cE("view", _uM("class" to "settings-section"), _uA( - _cE("text", _uM("class" to "section-title"), "隐私设置"), - _cE("view", _uM("class" to "section-list"), _uA( - _cE("view", _uM("class" to "list-item"), _uA( - _cE("text", _uM("class" to "item-icon"), "👁️"), - _cE("text", _uM("class" to "item-text"), "隐藏购物记录"), - _cV(_component_switch, _uM("class" to "settings-switch", "checked" to privacy.value.hidePurchase, "onChange" to fun(){ - togglePrivacy("hidePurchase") - } - ), null, 8, _uA( - "checked", - "onChange" - )) - )), - _cE("view", _uM("class" to "list-item"), _uA( - _cE("text", _uM("class" to "item-icon"), "🔍"), - _cE("text", _uM("class" to "item-text"), "允许通过手机号找到我"), - _cV(_component_switch, _uM("class" to "settings-switch", "checked" to privacy.value.allowSearchByPhone, "onChange" to fun(){ - togglePrivacy("allowSearchByPhone") - } - ), null, 8, _uA( - "checked", - "onChange" - )) - )), - _cE("view", _uM("class" to "list-item"), _uA( - _cE("text", _uM("class" to "item-icon"), "💬"), - _cE("text", _uM("class" to "item-text"), "接收商家消息"), - _cV(_component_switch, _uM("class" to "settings-switch", "checked" to privacy.value.receiveMerchantMsg, "onChange" to fun(){ - togglePrivacy("receiveMerchantMsg") - } - ), null, 8, _uA( - "checked", - "onChange" - )) - )) - )) - )), - _cE("view", _uM("class" to "settings-section"), _uA( - _cE("text", _uM("class" to "section-title"), "通用设置"), - _cE("view", _uM("class" to "section-list"), _uA( - _cE("view", _uM("class" to "list-item", "onClick" to clearCache), _uA( - _cE("text", _uM("class" to "item-icon"), "🗑️"), - _cE("text", _uM("class" to "item-text"), "清除缓存"), - _cE("view", _uM("class" to "item-right"), _uA( - _cE("text", _uM("class" to "item-cache"), _tD(cacheSize.value), 1), - _cE("text", _uM("class" to "item-arrow"), "›") - )) - )), - _cE("view", _uM("class" to "list-item", "onClick" to changeLanguage), _uA( - _cE("text", _uM("class" to "item-icon"), "🌐"), - _cE("text", _uM("class" to "item-text"), "语言设置"), - _cE("view", _uM("class" to "item-right"), _uA( - _cE("text", _uM("class" to "item-status"), _tD(currentLanguage.value), 1), - _cE("text", _uM("class" to "item-arrow"), "›") - )) - )), - _cE("view", _uM("class" to "list-item", "onClick" to changeTheme), _uA( - _cE("text", _uM("class" to "item-icon"), "🎨"), - _cE("text", _uM("class" to "item-text"), "主题设置"), - _cE("view", _uM("class" to "item-right"), _uA( - _cE("text", _uM("class" to "item-status"), _tD(currentTheme.value), 1), - _cE("text", _uM("class" to "item-arrow"), "›") - )) - )) - )) - )), - _cE("view", _uM("class" to "settings-section"), _uA( - _cE("text", _uM("class" to "section-title"), "我的服务"), - _cE("view", _uM("class" to "section-list"), _uA( - _cE("view", _uM("class" to "list-item", "onClick" to goToMyReviews), _uA( - _cE("text", _uM("class" to "item-icon"), "📝"), - _cE("text", _uM("class" to "item-text"), "我的评价"), - _cE("text", _uM("class" to "item-arrow"), "›") - )) - )) - )), - _cE("view", _uM("class" to "settings-section"), _uA( - _cE("text", _uM("class" to "section-title"), "关于我们"), - _cE("view", _uM("class" to "section-list"), _uA( - _cE("view", _uM("class" to "list-item", "onClick" to aboutUs), _uA( - _cE("text", _uM("class" to "item-icon"), "ℹ️"), - _cE("text", _uM("class" to "item-text"), "关于商城"), - _cE("text", _uM("class" to "item-arrow"), "›") - )), - _cE("view", _uM("class" to "list-item", "onClick" to userAgreement), _uA( - _cE("text", _uM("class" to "item-icon"), "📜"), - _cE("text", _uM("class" to "item-text"), "用户协议"), - _cE("text", _uM("class" to "item-arrow"), "›") - )), - _cE("view", _uM("class" to "list-item", "onClick" to privacyPolicy), _uA( - _cE("text", _uM("class" to "item-icon"), "🛡️"), - _cE("text", _uM("class" to "item-text"), "隐私政策"), - _cE("text", _uM("class" to "item-arrow"), "›") - )), - _cE("view", _uM("class" to "list-item", "onClick" to checkUpdate), _uA( - _cE("text", _uM("class" to "item-icon"), "🔄"), - _cE("text", _uM("class" to "item-text"), "检查更新"), - _cE("view", _uM("class" to "item-right"), _uA( - _cE("text", _uM("class" to "item-status"), _tD(appVersion.value), 1), - _cE("text", _uM("class" to "item-arrow"), "›") - )) - )) - )) - )), - _cE("view", _uM("class" to "settings-section"), _uA( - _cE("text", _uM("class" to "section-title"), "客服与反馈"), - _cE("view", _uM("class" to "section-list"), _uA( - _cE("view", _uM("class" to "list-item", "onClick" to contactService), _uA( - _cE("text", _uM("class" to "item-icon"), "💬"), - _cE("text", _uM("class" to "item-text"), "联系客服"), - _cE("text", _uM("class" to "item-arrow"), "›") - )), - _cE("view", _uM("class" to "list-item", "onClick" to feedback), _uA( - _cE("text", _uM("class" to "item-icon"), "📝"), - _cE("text", _uM("class" to "item-text"), "意见反馈"), - _cE("text", _uM("class" to "item-arrow"), "›") - )), - _cE("view", _uM("class" to "list-item", "onClick" to rateApp), _uA( - _cE("text", _uM("class" to "item-icon"), "⭐"), - _cE("text", _uM("class" to "item-text"), "给个好评"), - _cE("text", _uM("class" to "item-arrow"), "›") - )) - )) - )), - _cE("view", _uM("class" to "logout-section"), _uA( - _cE("button", _uM("class" to "logout-btn", "onClick" to logout), "退出登录") - )), - _cE("view", _uM("class" to "delete-account-section"), _uA( - _cE("text", _uM("class" to "delete-account", "onClick" to deleteAccount), "注销账号") - )) - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("section-list" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "justifyContent" to "flex-start")), "list-item" to _pS(_uM("display" to "flex", "alignItems" to "center", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5", "backgroundColor" to "#ffffff", "width" to "25%", "flexDirection" to "column", "justifyContent" to "center", "textAlign" to "center", "boxSizing" to "border-box", "borderRightWidth" to 1, "borderRightStyle" to "solid", "borderRightColor" to "#f5f5f5")), "item-icon" to _pS(_uM("fontSize" to 20, "marginRight" to 15, "marginBottom" to 5)), "item-text" to _pS(_uM("fontSize" to 14, "color" to "#333333", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "item-arrow" to _pS(_uM("display" to "none", "color" to "#999999", "fontSize" to 16, "marginLeft" to 10)), "item-right" to _pS(_uM("display" to "flex", "alignItems" to "center")), "settings-switch" to _pS(_uM("transform" to "scale(0.7)", "marginTop" to 5)), "settings-page" to _pS(_uM("display" to "flex", "flexDirection" to "column", "width" to "100%", "height" to "100%", "backgroundColor" to "#f5f5f5")), "settings-header" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#e5e5e5")), "back-btn" to _pS(_uM("fontSize" to 24, "color" to "#333333", "paddingTop" to 5, "paddingRight" to 5, "paddingBottom" to 5, "paddingLeft" to 5, "marginRight" to 15)), "header-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333")), "settings-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "width" to "100%", "height" to 100)), "settings-section" to _pS(_uM("backgroundColor" to "#ffffff", "marginBottom" to 10, "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15)), "section-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 15)), "item-status" to _uM("" to _uM("fontSize" to 12, "color" to "#999999", "marginRight" to 10), ".bound" to _uM("color" to "#4caf50")), "item-cache" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginRight" to 10)), "logout-section" to _pS(_uM("backgroundColor" to "#ffffff", "marginTop" to 10, "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15)), "logout-btn" to _pS(_uM("backgroundColor" to "#ffffff", "color" to "#ff4757", "height" to 45, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ff4757", "borderRightColor" to "#ff4757", "borderBottomColor" to "#ff4757", "borderLeftColor" to "#ff4757", "borderTopLeftRadius" to 22.5, "borderTopRightRadius" to 22.5, "borderBottomRightRadius" to 22.5, "borderBottomLeftRadius" to 22.5, "fontSize" to 16, "fontWeight" to "bold")), "delete-account-section" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 20, "paddingRight" to 15, "paddingBottom" to 20, "paddingLeft" to 15, "textAlign" to "center")), "delete-account" to _pS(_uM("color" to "#999999", "fontSize" to 14))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/share/detail.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/share/detail.kt deleted file mode 100644 index 65163f27..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/share/detail.kt +++ /dev/null @@ -1,285 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.setClipboardData as uni_setClipboardData -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerShareDetail : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerShareDetail) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerShareDetail - val _cache = __ins.renderCache - val shareId = ref("") - val shareRecord = ref(ShareRecordType(id = "", product_name = "", product_image = null, product_price = 0, share_code = "", required_count = 4, current_count = 0, status = 0, reward_amount = null, created_at = "", completed_at = null)) - val buyers = ref(_uA()) - val buyersLoading = ref(false) - val defaultImage: String = "/static/images/default-product.png" - val loadShareDetail = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (shareId.value === "") { - return@w1 - } - try { - val result = await(supabaseService.getShareDetail(shareId.value)) - val recordRaw = result.get("share_record") - if (recordRaw != null) { - var recordObj: UTSJSONObject? = null - if (recordRaw is UTSJSONObject) { - recordObj = recordRaw as UTSJSONObject - } else { - recordObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(recordRaw)), " at pages/mall/consumer/share/detail.uvue:152") as UTSJSONObject - } - val record = ShareRecordType(id = recordObj.getString("id") ?: "", product_name = recordObj.getString("product_name") ?: "", product_image = recordObj.getString("product_image"), product_price = recordObj.getNumber("product_price") ?: 0, share_code = recordObj.getString("share_code") ?: "", required_count = recordObj.getNumber("required_count") ?: 4, current_count = recordObj.getNumber("current_count") ?: 0, status = recordObj.getNumber("status") ?: 0, reward_amount = recordObj.getNumber("reward_amount"), created_at = recordObj.getString("created_at") ?: "", completed_at = recordObj.getString("completed_at")) - shareRecord.value = record - } - val purchasesRaw = result.get("secondary_purchases") - if (purchasesRaw != null && UTSArray.isArray(purchasesRaw)) { - val parsed: UTSArray = _uA() - val arr = purchasesRaw as UTSArray - run { - var i: Number = 0 - while(i < arr.length){ - val item = arr[i] - var itemObj: UTSJSONObject? = null - if (item is UTSJSONObject) { - itemObj = item as UTSJSONObject - } else { - itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/share/detail.uvue:182") as UTSJSONObject - } - parsed.push(BuyerType(id = itemObj.getString("id") ?: "", buyer_id = itemObj.getString("buyer_id") ?: "", buyer_name = "用户" + (i + 1), quantity = itemObj.getNumber("quantity") ?: 1, created_at = itemObj.getString("created_at") ?: "")) - i++ - } - } - buyers.value = parsed - } - } - catch (e: Throwable) { - console.error("加载分享详情失败:", e, " at pages/mall/consumer/share/detail.uvue:197") - } - }) - } - val getProgressPercent = fun(): Number { - if (shareRecord.value.required_count <= 0) { - return 0 - } - return Math.min(100, Math.round((shareRecord.value.current_count / shareRecord.value.required_count) * 100)) - } - val getStatusText = fun(status: Number): String { - if (status === 0) { - return "进行中" - } - if (status === 1) { - return "已免单" - } - if (status === 2) { - return "已失效" - } - if (status === 3) { - return "已过期" - } - return "未知" - } - val getStatusClass = fun(status: Number): String { - if (status === 0) { - return "status-progress" - } - if (status === 1) { - return "status-completed" - } - if (status === 2) { - return "status-invalid" - } - if (status === 3) { - return "status-expired" - } - return "" - } - val copyShareCode = fun(): Unit { - uni_setClipboardData(SetClipboardDataOptions(data = shareRecord.value.share_code, success = fun(_){ - uni_showToast(ShowToastOptions(title = "已复制分享码", icon = "success")) - } - )) - } - val getBuyerInitial = fun(name: String): String { - if (name.length > 0) { - return name.charAt(0) - } - return "用" - } - val maskName = fun(name: String): String { - if (name.length <= 2) { - return name.charAt(0) + "*" - } - return name.charAt(0) + "***" + name.charAt(name.length - 1) - } - val formatTime = fun(timeStr: String?): String { - if (timeStr == null || timeStr === "") { - return "" - } - val date = Date(timeStr) - val y = date.getFullYear() - val m = (date.getMonth() + 1).toString(10).padStart(2, "0") - val d = date.getDate().toString(10).padStart(2, "0") - val hh = date.getHours().toString(10).padStart(2, "0") - val mm = date.getMinutes().toString(10).padStart(2, "0") - return "" + y + "-" + m + "-" + d + " " + hh + ":" + mm - } - onLoad__1(fun(options){ - if (options != null) { - val idVal = options["id"] - if (idVal != null) { - shareId.value = idVal as String - loadShareDetail() - } - } - } - ) - return fun(): Any? { - return _cE("scroll-view", _uM("class" to "share-detail-page", "direction" to "vertical"), _uA( - _cE("view", _uM("class" to "product-section"), _uA( - _cE("image", _uM("class" to "product-image", "src" to if (shareRecord.value.product_image != null && shareRecord.value.product_image!!.length > 0) { - shareRecord.value.product_image - } else { - defaultImage - } - , "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "product-info"), _uA( - _cE("text", _uM("class" to "product-name"), _tD(shareRecord.value.product_name), 1), - _cE("text", _uM("class" to "product-price"), "¥" + _tD(shareRecord.value.product_price), 1) - )) - )), - _cE("view", _uM("class" to "progress-section"), _uA( - _cE("view", _uM("class" to "progress-header"), _uA( - _cE("text", _uM("class" to "progress-title"), "免单进度"), - _cE("text", _uM("class" to _nC(_uA( - "progress-status", - getStatusClass(shareRecord.value.status) - ))), _tD(getStatusText(shareRecord.value.status)), 3) - )), - _cE("view", _uM("class" to "progress-content"), _uA( - _cE("view", _uM("class" to "progress-bar"), _uA( - _cE("view", _uM("class" to "progress-fill", "style" to _nS(_uM("width" to (getProgressPercent() + "%")))), null, 4) - )), - _cE("view", _uM("class" to "progress-numbers"), _uA( - _cE("text", _uM("class" to "current-count"), _tD(shareRecord.value.current_count), 1), - _cE("text", _uM("class" to "divider"), "/"), - _cE("text", _uM("class" to "required-count"), _tD(shareRecord.value.required_count), 1) - )) - )), - if (shareRecord.value.status === 0) { - _cE("view", _uM("key" to 0, "class" to "progress-tip"), _uA( - _cE("text", _uM("class" to "tip-text"), "还需 " + _tD(shareRecord.value.required_count - shareRecord.value.current_count) + " 人购买即可免单", 1) - )) - } else { - _cC("v-if", true) - } - , - if (shareRecord.value.status === 1) { - _cE("view", _uM("key" to 1, "class" to "reward-info"), _uA( - _cE("text", _uM("class" to "reward-label"), "已获得免单奖励"), - _cE("text", _uM("class" to "reward-amount"), "¥" + _tD(shareRecord.value.reward_amount), 1) - )) - } else { - _cC("v-if", true) - } - )), - _cE("view", _uM("class" to "share-code-section"), _uA( - _cE("view", _uM("class" to "code-header"), _uA( - _cE("text", _uM("class" to "code-title"), "分享码"), - _cE("text", _uM("class" to "copy-btn", "onClick" to copyShareCode), "复制") - )), - _cE("view", _uM("class" to "code-content"), _uA( - _cE("text", _uM("class" to "code-value"), _tD(shareRecord.value.share_code), 1) - )), - _cE("view", _uM("class" to "code-tip"), _uA( - _cE("text", _uM("class" to "tip-text"), "将分享码告诉好友,好友下单时填写即可") - )) - )), - _cE("view", _uM("class" to "buyers-section"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("text", _uM("class" to "section-title"), "购买记录"), - _cE("text", _uM("class" to "section-count"), "(" + _tD(buyers.value.length) + "人)", 1) - )), - if (isTrue(buyersLoading.value)) { - _cE("view", _uM("key" to 0, "class" to "loading-state"), _uA( - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - if (buyers.value.length === 0) { - _cE("view", _uM("key" to 1, "class" to "empty-state"), _uA( - _cE("text", _uM("class" to "empty-text"), "暂无购买记录") - )) - } else { - _cE("view", _uM("key" to 2, "class" to "buyer-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(buyers.value, fun(buyer, __key, __index, _cached): Any { - return _cE("view", _uM("class" to "buyer-item", "key" to buyer.id), _uA( - _cE("view", _uM("class" to "buyer-avatar"), _uA( - _cE("text", _uM("class" to "avatar-text"), _tD(getBuyerInitial(buyer.buyer_name)), 1) - )), - _cE("view", _uM("class" to "buyer-info"), _uA( - _cE("text", _uM("class" to "buyer-name"), _tD(maskName(buyer.buyer_name)), 1), - _cE("text", _uM("class" to "buyer-time"), _tD(formatTime(buyer.created_at)), 1) - )), - _cE("view", _uM("class" to "buyer-count"), _uA( - _cE("text", _uM("class" to "count-text"), "购买 " + _tD(buyer.quantity) + " 件", 1) - )) - )) - } - ), 128) - )) - } - } - )), - _cE("view", _uM("class" to "time-section"), _uA( - _cE("view", _uM("class" to "time-item"), _uA( - _cE("text", _uM("class" to "time-label"), "创建时间"), - _cE("text", _uM("class" to "time-value"), _tD(formatTime(shareRecord.value.created_at)), 1) - )), - if (isTrue(shareRecord.value.completed_at)) { - _cE("view", _uM("key" to 0, "class" to "time-item"), _uA( - _cE("text", _uM("class" to "time-label"), "完成时间"), - _cE("text", _uM("class" to "time-value"), _tD(formatTime(shareRecord.value.completed_at)), 1) - )) - } else { - _cC("v-if", true) - } - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("share-detail-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to "100%", "backgroundColor" to "#f5f5f5")), "product-section" to _pS(_uM("display" to "flex", "flexDirection" to "row", "backgroundColor" to "#FFFFFF", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "marginBottom" to 8)), "product-image" to _pS(_uM("width" to 100, "height" to 100, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8)), "product-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "marginLeft" to 12, "display" to "flex", "flexDirection" to "column", "justifyContent" to "center")), "product-name" to _pS(_uM("fontSize" to 15, "color" to "#333333", "lines" to 2, "marginBottom" to 8)), "product-price" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#ff6b35")), "progress-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "marginBottom" to 8)), "progress-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 16)), "progress-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "progress-status" to _pS(_uM("fontSize" to 14, "paddingTop" to 4, "paddingRight" to 12, "paddingBottom" to 4, "paddingLeft" to 12, "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12)), "status-progress" to _pS(_uM("backgroundColor" to "#fff5f0", "color" to "#ff6b35")), "status-completed" to _pS(_uM("backgroundColor" to "#f6ffed", "color" to "#52c41a")), "status-invalid" to _pS(_uM("backgroundColor" to "#f5f5f5", "color" to "#999999")), "status-expired" to _pS(_uM("backgroundColor" to "#fff1f0", "color" to "#ff4d4f")), "progress-content" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "progress-bar" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 12, "backgroundColor" to "#f0f0f0", "borderTopLeftRadius" to 6, "borderTopRightRadius" to 6, "borderBottomRightRadius" to 6, "borderBottomLeftRadius" to 6, "overflow" to "hidden")), "progress-fill" to _pS(_uM("height" to "100%", "backgroundImage" to "linear-gradient(90deg, #ff6b35 0%, #ff8c42 100%)", "backgroundColor" to "rgba(0,0,0,0)", "borderTopLeftRadius" to 6, "borderTopRightRadius" to 6, "borderBottomRightRadius" to 6, "borderBottomLeftRadius" to 6)), "progress-numbers" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginLeft" to 12)), "current-count" to _pS(_uM("fontSize" to 24, "fontWeight" to "bold", "color" to "#ff6b35")), "divider" to _pS(_uM("fontSize" to 16, "color" to "#999999", "marginTop" to 0, "marginRight" to 4, "marginBottom" to 0, "marginLeft" to 4)), "required-count" to _pS(_uM("fontSize" to 16, "color" to "#999999")), "progress-tip" to _pS(_uM("marginTop" to 12, "paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10, "backgroundColor" to "#fff5f0", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8)), "tip-text" to _pS(_uM("fontSize" to 13, "color" to "#ff6b35")), "reward-info" to _pS(_uM("marginTop" to 12, "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "backgroundImage" to "linear-gradient(135deg, #f6ffed 0%, #e6fffb 100%)", "backgroundColor" to "rgba(0,0,0,0)", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center")), "reward-label" to _pS(_uM("fontSize" to 15, "color" to "#52c41a")), "reward-amount" to _pS(_uM("fontSize" to 24, "fontWeight" to "bold", "color" to "#52c41a")), "share-code-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "marginBottom" to 8)), "code-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 12)), "code-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "copy-btn" to _pS(_uM("fontSize" to 14, "color" to "#ff6b35", "paddingTop" to 4, "paddingRight" to 12, "paddingBottom" to 4, "paddingLeft" to 12, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ff6b35", "borderRightColor" to "#ff6b35", "borderBottomColor" to "#ff6b35", "borderLeftColor" to "#ff6b35", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12)), "code-content" to _pS(_uM("backgroundColor" to "#f9f9f9", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "code-value" to _pS(_uM("fontSize" to 28, "fontWeight" to "bold", "color" to "#333333", "letterSpacing" to 8)), "code-tip" to _pS(_uM("marginTop" to 12, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "buyers-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "marginBottom" to 8)), "section-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f0f0f0")), "section-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "section-count" to _pS(_uM("fontSize" to 14, "color" to "#999999", "marginLeft" to 4)), "loading-state" to _pS(_uM("paddingTop" to 30, "paddingRight" to 0, "paddingBottom" to 30, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "loading-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "empty-state" to _pS(_uM("paddingTop" to 30, "paddingRight" to 0, "paddingBottom" to 30, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "empty-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "buyer-list" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "buyer-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "paddingTop" to 12, "paddingRight" to 16, "paddingBottom" to 12, "paddingLeft" to 16, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f9f9f9")), "buyer-avatar" to _pS(_uM("width" to 40, "height" to 40, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "backgroundColor" to "#f0f0f0", "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "avatar-text" to _pS(_uM("fontSize" to 16, "color" to "#999999")), "buyer-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "marginLeft" to 12, "display" to "flex", "flexDirection" to "column")), "buyer-name" to _pS(_uM("fontSize" to 14, "color" to "#333333")), "buyer-time" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginTop" to 2)), "buyer-count" to _pS(_uM("display" to "flex", "alignItems" to "center")), "count-text" to _pS(_uM("fontSize" to 13, "color" to "#666666")), "time-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16)), "time-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "paddingTop" to 8, "paddingRight" to 0, "paddingBottom" to 8, "paddingLeft" to 0)), "time-label" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "time-value" to _pS(_uM("fontSize" to 14, "color" to "#333333"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/share/index.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/share/index.kt deleted file mode 100644 index 7b7a1cc0..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/share/index.kt +++ /dev/null @@ -1,251 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -open class GenPagesMallConsumerShareIndex : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerShareIndex) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerShareIndex - val _cache = __ins.renderCache - val shares = ref(_uA()) - val loading = ref(true) - val showRules = ref(false) - val defaultImage: String = "/static/images/default-product.png" - val totalShares = computed(fun(): Number { - return shares.value.length - } - ) - val completedShares = computed(fun(): Number { - var count: Number = 0 - run { - var i: Number = 0 - while(i < shares.value.length){ - if (shares.value[i].status === 1) { - count++ - } - i++ - } - } - return count - } - ) - val totalReward = computed(fun(): Number { - var total: Number = 0 - run { - var i: Number = 0 - while(i < shares.value.length){ - if (shares.value[i].reward_amount != null) { - total += shares.value[i].reward_amount!! - } - i++ - } - } - return total - } - ) - val loadShares = fun(): UTSPromise { - return wrapUTSPromise(suspend { - loading.value = true - try { - val result = await(supabaseService.getMyShareRecords()) - val parsed: UTSArray = _uA() - run { - var i: Number = 0 - while(i < result.length){ - val item = result[i] - var itemObj: UTSJSONObject? = null - if (item is UTSJSONObject) { - itemObj = item as UTSJSONObject - } else { - itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/share/index.uvue:125") as UTSJSONObject - } - parsed.push(ShareRecord(id = itemObj.getString("id") ?: "", product_id = itemObj.getString("product_id") ?: "", product_name = itemObj.getString("product_name") ?: "", product_image = itemObj.getString("product_image"), product_price = itemObj.getNumber("product_price") ?: 0, share_code = itemObj.getString("share_code") ?: "", required_count = itemObj.getNumber("required_count") ?: 4, current_count = itemObj.getNumber("current_count") ?: 0, status = itemObj.getNumber("status") ?: 0, reward_amount = itemObj.getNumber("reward_amount"), created_at = itemObj.getString("created_at") ?: "")) - i++ - } - } - shares.value = parsed - } - catch (e: Throwable) { - console.error("加载分享记录失败:", e, " at pages/mall/consumer/share/index.uvue:145") - } - finally { - loading.value = false - } - }) - } - val toggleRules = fun(): Unit { - showRules.value = !showRules.value - } - val getProgressPercent = fun(current: Number, required: Number): Number { - if (required <= 0) { - return 0 - } - return Math.min(100, Math.round((current / required) * 100)) - } - val getStatusText = fun(status: Number): String { - if (status === 0) { - return "进行中" - } - if (status === 1) { - return "已免单" - } - if (status === 2) { - return "已失效" - } - if (status === 3) { - return "已过期" - } - return "未知" - } - val getStatusClass = fun(status: Number): String { - if (status === 0) { - return "status-progress" - } - if (status === 1) { - return "status-completed" - } - if (status === 2) { - return "status-invalid" - } - if (status === 3) { - return "status-expired" - } - return "" - } - val goToShareDetail = fun(shareId: String): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/share/detail?id=" + shareId)) - } - onMounted(fun(){ - loadShares() - } - ) - return fun(): Any? { - return _cE("scroll-view", _uM("class" to "share-page", "direction" to "vertical"), _uA( - _cE("view", _uM("class" to "share-summary"), _uA( - _cE("view", _uM("class" to "summary-item"), _uA( - _cE("text", _uM("class" to "summary-value"), _tD(totalShares.value), 1), - _cE("text", _uM("class" to "summary-label"), "分享次数") - )), - _cE("view", _uM("class" to "summary-divider")), - _cE("view", _uM("class" to "summary-item"), _uA( - _cE("text", _uM("class" to "summary-value"), _tD(completedShares.value), 1), - _cE("text", _uM("class" to "summary-label"), "免单成功") - )), - _cE("view", _uM("class" to "summary-divider")), - _cE("view", _uM("class" to "summary-item"), _uA( - _cE("text", _uM("class" to "summary-value"), _tD(totalReward.value), 1), - _cE("text", _uM("class" to "summary-label"), "累计奖励(元)") - )) - )), - _cE("view", _uM("class" to "rules-section"), _uA( - _cE("view", _uM("class" to "rules-header", "onClick" to toggleRules), _uA( - _cE("text", _uM("class" to "rules-title"), "免单规则"), - _cE("text", _uM("class" to "rules-arrow"), _tD(if (showRules.value) { - "▲" - } else { - "▼" - } - ), 1) - )), - if (isTrue(showRules.value)) { - _cE("view", _uM("key" to 0, "class" to "rules-content"), _uA( - _cE("text", _uM("class" to "rules-text"), "1. 购买商品后可生成分享链接"), - _cE("text", _uM("class" to "rules-text"), "2. 分享给好友,好友通过链接购买"), - _cE("text", _uM("class" to "rules-text"), "3. 累计4人购买后,即可免单"), - _cE("text", _uM("class" to "rules-text"), "4. 免单金额存入余额,可联系商家提现") - )) - } else { - _cC("v-if", true) - } - )), - _cE("view", _uM("class" to "share-list-section"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("text", _uM("class" to "section-title"), "我的分享") - )), - if (isTrue(loading.value)) { - _cE("view", _uM("key" to 0, "class" to "loading-state"), _uA( - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - if (shares.value.length === 0) { - _cE("view", _uM("key" to 1, "class" to "empty-state"), _uA( - _cE("text", _uM("class" to "empty-text"), "暂无分享记录"), - _cE("text", _uM("class" to "empty-tip"), "购买商品后可以分享免单哦~") - )) - } else { - _cE("view", _uM("key" to 2, "class" to "share-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(shares.value, fun(share, __key, __index, _cached): Any { - return _cE("view", _uM("class" to "share-item", "key" to share.id, "onClick" to fun(){ - goToShareDetail(share.id) - } - ), _uA( - _cE("image", _uM("class" to "product-image", "src" to if (share.product_image != null && share.product_image!!.length > 0) { - share.product_image - } else { - defaultImage - } - , "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "share-info"), _uA( - _cE("text", _uM("class" to "product-name"), _tD(share.product_name), 1), - _cE("view", _uM("class" to "progress-section"), _uA( - _cE("view", _uM("class" to "progress-bar"), _uA( - _cE("view", _uM("class" to "progress-fill", "style" to _nS(_uM("width" to (getProgressPercent(share.current_count, share.required_count) + "%")))), null, 4) - )), - _cE("text", _uM("class" to "progress-text"), _tD(share.current_count) + "/" + _tD(share.required_count), 1) - )), - _cE("view", _uM("class" to "share-bottom"), _uA( - _cE("text", _uM("class" to "share-code"), "分享码: " + _tD(share.share_code), 1), - _cE("text", _uM("class" to _nC(_uA( - "share-status", - getStatusClass(share.status) - ))), _tD(getStatusText(share.status)), 3) - )) - )), - _cE("text", _uM("class" to "share-arrow"), "›") - ), 8, _uA( - "onClick" - )) - } - ), 128) - )) - } - } - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("share-page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to "100%", "backgroundColor" to "#f5f5f5")), "share-summary" to _pS(_uM("display" to "flex", "flexDirection" to "row", "backgroundColor" to "#FFFFFF", "paddingTop" to 20, "paddingRight" to 0, "paddingBottom" to 20, "paddingLeft" to 0, "marginBottom" to 8)), "summary-item" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "summary-value" to _pS(_uM("fontSize" to 24, "fontWeight" to "bold", "color" to "#ff6b35")), "summary-label" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginTop" to 4)), "summary-divider" to _pS(_uM("width" to 1, "height" to 40, "backgroundColor" to "#f0f0f0")), "rules-section" to _pS(_uM("backgroundColor" to "#FFFFFF", "marginBottom" to 8)), "rules-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16)), "rules-title" to _pS(_uM("fontSize" to 15, "fontWeight" to "bold", "color" to "#333333")), "rules-arrow" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "rules-content" to _pS(_uM("paddingTop" to 0, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "display" to "flex", "flexDirection" to "column")), "rules-text" to _pS(_uM("fontSize" to 13, "color" to "#666666", "lineHeight" to "24px")), "share-list-section" to _pS(_uM("backgroundColor" to "#FFFFFF")), "section-header" to _pS(_uM("paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f0f0f0")), "section-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "loading-state" to _pS(_uM("paddingTop" to 40, "paddingRight" to 0, "paddingBottom" to 40, "paddingLeft" to 0, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "loading-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "empty-state" to _pS(_uM("paddingTop" to 60, "paddingRight" to 0, "paddingBottom" to 60, "paddingLeft" to 0, "display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "empty-text" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "empty-tip" to _pS(_uM("fontSize" to 12, "color" to "#cccccc", "marginTop" to 8)), "share-list" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "share-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "paddingTop" to 16, "paddingRight" to 16, "paddingBottom" to 16, "paddingLeft" to 16, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f9f9f9")), "product-image" to _pS(_uM("width" to 80, "height" to 80, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8)), "share-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "marginLeft" to 12, "display" to "flex", "flexDirection" to "column", "justifyContent" to "space-between")), "product-name" to _pS(_uM("fontSize" to 14, "color" to "#333333", "lines" to 2)), "progress-section" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginTop" to 8)), "progress-bar" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 6, "backgroundColor" to "#f0f0f0", "borderTopLeftRadius" to 3, "borderTopRightRadius" to 3, "borderBottomRightRadius" to 3, "borderBottomLeftRadius" to 3, "overflow" to "hidden")), "progress-fill" to _pS(_uM("height" to "100%", "backgroundColor" to "#ff6b35", "borderTopLeftRadius" to 3, "borderTopRightRadius" to 3, "borderBottomRightRadius" to 3, "borderBottomLeftRadius" to 3)), "progress-text" to _pS(_uM("fontSize" to 12, "color" to "#ff6b35", "marginLeft" to 8)), "share-bottom" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginTop" to 8)), "share-code" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "share-status" to _pS(_uM("fontSize" to 12, "paddingTop" to 2, "paddingRight" to 8, "paddingBottom" to 2, "paddingLeft" to 8, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4)), "status-progress" to _pS(_uM("backgroundColor" to "#fff5f0", "color" to "#ff6b35")), "status-completed" to _pS(_uM("backgroundColor" to "#f6ffed", "color" to "#52c41a")), "status-invalid" to _pS(_uM("backgroundColor" to "#f5f5f5", "color" to "#999999")), "status-expired" to _pS(_uM("backgroundColor" to "#fff1f0", "color" to "#ff4d4f")), "share-arrow" to _pS(_uM("fontSize" to 20, "color" to "#cccccc", "marginLeft" to 8, "alignSelf" to "center"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/shop-detail.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/shop-detail.kt deleted file mode 100644 index 49e1a50d..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/shop-detail.kt +++ /dev/null @@ -1,538 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showToast as uni_showToast -import io.dcloud.uniapp.extapi.stopPullDownRefresh as uni_stopPullDownRefresh -open class GenPagesMallConsumerShopDetail : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerShopDetail) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerShopDetail - val _cache = __ins.renderCache - val currentPage = ref(1) - val pageSize = ref(6) - val hasMore = ref(true) - val isLoading = ref(false) - val currentMerchantId = ref("") - val merchant = ref(MerchantType(id = "", user_id = "", shop_name = "", shop_logo = "", shop_banner = "", shop_description = "", contact_name = "", contact_phone = "", shop_status = 0, rating = 0, total_sales = 0, created_at = "")) - val products = ref(_uA()) - val isFollowed = ref(false) - val coupons = ref(_uA()) - val isRefresherTriggered = ref(false) - val checkFollowStatus = fun(shopId: String): UTSPromise { - return wrapUTSPromise(suspend { - val userId = supabaseService.getCurrentUserId() - if (userId != null && userId != "") { - try { - isFollowed.value = await(supabaseService.isShopFollowed(shopId, userId)) - } - catch (e: Throwable) { - console.warn("isShopFollowed method not found", " at pages/mall/consumer/shop-detail.uvue:126") - } - } - }) - } - val loadShopData = fun(id: String): UTSPromise { - return wrapUTSPromise(suspend { - console.log("Loading shop data for:", id, " at pages/mall/consumer/shop-detail.uvue:132") - val shop = await(supabaseService.getShopByMerchantId(id)) - if (shop != null) { - console.log("Shop loaded successfully:", shop.shop_name, " at pages/mall/consumer/shop-detail.uvue:136") - val merchantData = MerchantType(id = shop.id, user_id = shop.merchant_id, shop_name = shop.shop_name, shop_logo = if (shop.shop_logo != null) { - shop.shop_logo - } else { - "/static/default-shop.png" - }, shop_banner = if (shop.shop_banner != null) { - shop.shop_banner - } else { - "/static/default-banner.png" - }, shop_description = if (shop.description != null) { - shop.description - } else { - "" - }, contact_name = if (shop.contact_name != null) { - shop.contact_name!! - } else { - "" - }, contact_phone = if (shop.contact_phone != null) { - shop.contact_phone!! - } else { - "" - }, shop_status = 1, rating = if (shop.rating_avg != null) { - shop.rating_avg!! - } else { - 5.0 - }, total_sales = if (shop.total_sales != null) { - shop.total_sales!! - } else { - 0 - }, created_at = if (shop.created_at != null) { - shop.created_at!! - } else { - "" - }) - merchant.value = merchantData - checkFollowStatus(shop.id) - } else { - console.warn("Shop data is null for ID:", id, " at pages/mall/consumer/shop-detail.uvue:157") - uni_showToast(ShowToastOptions(title = "未找到店铺信息", icon = "none", duration = 3000)) - } - }) - } - val loadCoupons = fun(id: String): UTSPromise { - return wrapUTSPromise(suspend { - try { - val res = await(supabaseService.fetchShopCoupons(id)) - if (res != null && UTSArray.isArray(res)) { - val couponList: UTSArray = _uA() - run { - var i: Number = 0 - while(i < res.length){ - val item = res[i] - val itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/shop-detail.uvue:174") as UTSJSONObject - couponList.push(CouponType(id = itemObj.getString("id") ?: "", discount_value = itemObj.getNumber("discount_value") ?: 0, min_order_amount = itemObj.getNumber("min_order_amount") ?: 0, name = itemObj.getString("name") ?: "", start_time = itemObj.getString("start_time") ?: "", end_time = itemObj.getString("end_time") ?: "", status = itemObj.getNumber("status") ?: 1)) - i++ - } - } - coupons.value = couponList - } - } - catch (e1: Throwable) { - console.warn("SupabaseService.fetchShopCoupons method missing. Please rebuild project.", " at pages/mall/consumer/shop-detail.uvue:188") - } - }) - } - val loadShopProducts = fun(id: String): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (isLoading.value) { - return@w1 - } - isLoading.value = true - if (currentPage.value === 1) { - currentMerchantId.value = id - } - console.log("shop-detail loadShopProducts for: " + id + " page: " + currentPage.value, " at pages/mall/consumer/shop-detail.uvue:201") - var res: Any = UTSJSONObject() - try { - res = await(supabaseService.getProductsByMerchantId(id, currentPage.value, pageSize.value)) - } - catch (e: Throwable) { - console.error("getProductsByMerchantId missing or error", e, " at pages/mall/consumer/shop-detail.uvue:208") - isLoading.value = false - uni_stopPullDownRefresh() - return@w1 - } - console.log("shop-detail getProductsByMerchantId result count: " + res.data?.length, " at pages/mall/consumer/shop-detail.uvue:214") - val rawList = res.data - if (rawList != null && UTSArray.isArray(rawList) && (rawList as UTSArray).length > 0) { - val newItems: UTSArray = _uA() - val existingIds = products.value.map(fun(p): String { - return p.id - }) - val list = (rawList as UTSArray).map(fun(item: Any): ProductType { - var images: UTSArray = _uA() - val itemObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(item)), " at pages/mall/consumer/shop-detail.uvue:227") as UTSJSONObject - val mainImageUrl = itemObj.getString("main_image_url") - if (mainImageUrl != null && mainImageUrl != "") { - images.push(mainImageUrl) - } - val imageUrls = itemObj.get("image_urls") - if (imageUrls != null) { - try { - if (UTSArray.isArray(imageUrls)) { - val arr = imageUrls as UTSArray - if (arr.length > 0) { - if (images.length == 0) { - images.push(*arr.toTypedArray()) - } - } - } else if (UTSAndroid.`typeof`(imageUrls) === "string") { - val rawUrl = imageUrls as String - if (rawUrl.startsWith("[")) { - val parsed = UTSAndroid.consoleDebugError(JSON.parse(rawUrl), " at pages/mall/consumer/shop-detail.uvue:247") - if (UTSArray.isArray(parsed)) { - val arr = parsed as UTSArray - if (images.length == 0) { - images.push(*arr.toTypedArray()) - } - } - } else { - if (images.indexOf(rawUrl) === -1) { - images.push(rawUrl) - } - } - } - } - catch (e: Throwable) { - console.error("解析图片数组失败:", e, " at pages/mall/consumer/shop-detail.uvue:257") - } - } - if (images.length === 0) { - images.push("/static/default-product.png") - } - return ProductType(id = itemObj.getString("id") ?: "", merchant_id = itemObj.getString("merchant_id") ?: "", category_id = itemObj.getString("category_id") ?: "", name = itemObj.getString("name") ?: "未知商品", description = itemObj.getString("description") ?: "", images = images, price = itemObj.getNumber("base_price") ?: 0, original_price = itemObj.getNumber("market_price") ?: 0, stock = itemObj.getNumber("total_stock") ?: 0, sales = itemObj.getNumber("sale_count") ?: 0, status = 1, created_at = itemObj.getString("created_at") ?: "") - }) - if (currentPage.value === 1) { - products.value = list - } else { - run { - var i: Number = 0 - while(i < list.length){ - if (existingIds.indexOf(list[i].id) === -1) { - newItems.push(list[i]) - } - i++ - } - } - if (newItems.length > 0) { - products.value.push(*newItems.toTypedArray()) - } - } - currentPage.value++ - hasMore.value = list.length >= pageSize.value - } else { - hasMore.value = false - } - isLoading.value = false - uni_stopPullDownRefresh() - }) - } - onMounted(fun(){ - val pages = getCurrentPages() - val options = pages[pages.length - 1].options as UTSJSONObject - val mId = options.get("merchantId") - val pId = options.get("id") - val paramId = if (mId != null) { - mId - } else { - pId - } - as String - if (paramId != null && paramId != "") { - console.log("Page mounted with params:", paramId, " at pages/mall/consumer/shop-detail.uvue:315") - loadShopData(paramId).then(fun(){ - val realMerchantId = merchant.value.user_id - if (realMerchantId != null && realMerchantId != "") { - console.log("Chain loading products for Corrected Merchant ID:", realMerchantId, " at pages/mall/consumer/shop-detail.uvue:321") - currentMerchantId.value = realMerchantId - loadShopProducts(realMerchantId) - loadCoupons(realMerchantId) - } else { - console.warn("Shop load failed or id empty, fallback using original id:", paramId, " at pages/mall/consumer/shop-detail.uvue:327") - currentMerchantId.value = paramId - loadShopProducts(paramId) - loadCoupons(paramId) - } - }) - } else { - console.error("No ID passed to shop-detail", " at pages/mall/consumer/shop-detail.uvue:334") - uni_showToast(ShowToastOptions(title = "参数错误", icon = "error")) - } - } - ) - val onRefresherRefresh = fun(){ - isRefresherTriggered.value = true - currentPage.value = 1 - hasMore.value = true - isLoading.value = false - if (currentMerchantId.value != "") { - val id = currentMerchantId.value - UTSPromise.all(_uA( - loadShopData(id), - loadCoupons(id), - loadShopProducts(id) - )).then(fun(){ - isRefresherTriggered.value = false - }) - } else { - setTimeout(fun(){ - isRefresherTriggered.value = false - } - , 500) - } - } - val onScrollToLower = fun(){ - if (hasMore.value && !isLoading.value && currentMerchantId.value != "") { - console.log("Scroll to lower, loading more...", " at pages/mall/consumer/shop-detail.uvue:363") - loadShopProducts(currentMerchantId.value) - } - } - onPullDownRefresh(fun(){ - onRefresherRefresh() - } - ) - onReachBottom(fun(){ - onScrollToLower() - } - ) - val claimCoupon = fun(coupon: Any): UTSPromise { - return wrapUTSPromise(suspend w1@{ - val userId = supabaseService.getCurrentUserId() - if (userId == null) { - uni_navigateTo(NavigateToOptions(url = "/pages/auth/login")) - return@w1 - } - uni_showLoading(ShowLoadingOptions(title = "领取中")) - val couponObj = UTSAndroid.consoleDebugError(JSON.parse(JSON.stringify(coupon)), " at pages/mall/consumer/shop-detail.uvue:385") as UTSJSONObject - val couponId = couponObj.getString("id") ?: "" - var success = false - try { - success = await(supabaseService.claimShopCoupon(couponId, userId)) - } - catch (e1: Throwable) { - try { - success = await(supabaseService.claimCoupon(couponId, userId)) - } - catch (e2: Throwable) { - console.warn("claimCoupon not found", " at pages/mall/consumer/shop-detail.uvue:397") - } - } - uni_hideLoading() - if (success) { - uni_showToast(ShowToastOptions(title = "领取成功", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "领取失败", icon = "none")) - } - }) - } - val toggleFollow = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - val userId = supabaseService.getCurrentUserId() - if (userId == null) { - uni_navigateTo(NavigateToOptions(url = "/pages/auth/login")) - return@w1 - } - val shopId = merchant.value.id - if (shopId == null || shopId == "") { - return@w1 - } - uni_showLoading(ShowLoadingOptions(title = "处理中")) - if (isFollowed.value) { - val success = await(supabaseService.unfollowShop(shopId, userId)) - if (success) { - isFollowed.value = false - uni_showToast(ShowToastOptions(title = "已取消关注", icon = "none")) - } else { - uni_showToast(ShowToastOptions(title = "操作失败", icon = "none")) - } - } else { - val success = await(supabaseService.followShop(shopId, userId)) - if (success) { - isFollowed.value = true - uni_showToast(ShowToastOptions(title = "关注成功", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "关注失败", icon = "none")) - } - } - uni_hideLoading() - }) - } - val contactService = fun(){ - val currentUser = supabaseService.getCurrentUserId() - if (currentUser == null) { - uni_navigateTo(NavigateToOptions(url = "/pages/user/login")) - return - } - if (merchant.value.user_id != null && merchant.value.user_id != "") { - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/chat?merchantId=" + merchant.value.user_id + "&merchantName=" + UTSAndroid.consoleDebugError(encodeURIComponent(merchant.value.shop_name), " at pages/mall/consumer/shop-detail.uvue:456"))) - } else { - uni_showToast(ShowToastOptions(title = "无法联系商家", icon = "none")) - } - } - val addToCart = fun(product: ProductType): UTSPromise { - return wrapUTSPromise(suspend { - uni_showLoading(ShowLoadingOptions(title = "检查商品...")) - try { - val merchantId = merchant.value.user_id ?: "" - val skus = await(supabaseService.getProductSkus(product.id)) - uni_hideLoading() - if (skus.length > 0) { - uni_showToast(ShowToastOptions(title = "请选择规格", icon = "none")) - setTimeout(fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?id=" + product.id)) - }, 500) - } else { - uni_showLoading(ShowLoadingOptions(title = "添加中...")) - val success = await(supabaseService.addToCart(product.id, 1, "", merchantId)) - uni_hideLoading() - if (success) { - uni_showToast(ShowToastOptions(title = "已添加到购物车", icon = "success")) - } else { - uni_showToast(ShowToastOptions(title = "添加失败,请重试", icon = "none")) - } - } - } - catch (e: Throwable) { - console.error("添加到购物车异常", e, " at pages/mall/consumer/shop-detail.uvue:504") - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "操作失败", icon = "none")) - } - }) - } - val goToProduct = fun(id: String){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/product-detail?productId=" + id)) - } - return fun(): Any? { - return _cE("view", _uM("class" to "shop-detail-page"), _uA( - _cE("scroll-view", _uM("class" to "page-scroll", "scroll-y" to "true", "onScrolltolower" to onScrollToLower, "refresher-enabled" to "true", "onRefresherrefresh" to onRefresherRefresh, "refresher-triggered" to isRefresherTriggered.value), _uA( - _cE("view", _uM("class" to "shop-header"), _uA( - _cE("image", _uM("src" to if (merchant.value.shop_banner != "") { - merchant.value.shop_banner - } else { - "/static/default-banner.png" - } - , "class" to "shop-banner", "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "shop-info-card"), _uA( - _cE("image", _uM("src" to if (merchant.value.shop_logo != "") { - merchant.value.shop_logo - } else { - "/static/default-shop.png" - } - , "class" to "shop-logo"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "shop-basic-info"), _uA( - _cE("text", _uM("class" to "shop-name"), _tD(merchant.value.shop_name), 1), - _cE("view", _uM("class" to "shop-stats"), _uA( - _cE("text", _uM("class" to "stat-item"), "⭐ " + _tD(merchant.value.rating.toFixed(1)), 1), - _cE("text", _uM("class" to "stat-item"), "销量 " + _tD(merchant.value.total_sales), 1) - )) - )), - _cE("view", _uM("class" to "shop-actions"), _uA( - _cE("view", _uM("class" to "action-btn chat-btn", "onClick" to contactService), _uA( - _cE("text", _uM("class" to "action-text"), "客服") - )), - _cE("view", _uM("class" to "action-btn follow-btn", "onClick" to toggleFollow), _uA( - _cE("text", _uM("class" to _nC(_uA( - "action-text", - _uM("followed" to isFollowed.value) - ))), _tD(if (isFollowed.value) { - "已关注" - } else { - "+ 关注" - } - ), 3) - )) - )) - )), - _cE("text", _uM("class" to "shop-desc"), _tD(if (merchant.value.shop_description != "") { - merchant.value.shop_description - } else { - "这家店很懒,什么都没写~" - } - ), 1), - if (coupons.value.length > 0) { - _cE("view", _uM("key" to 0, "class" to "shop-coupons"), _uA( - _cE("scroll-view", _uM("scroll-x" to "true", "class" to "coupon-scroll", "show-scrollbar" to "false"), _uA( - _cE("view", _uM("class" to "coupon-wrapper"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(coupons.value, fun(coupon, __key, __index, _cached): Any { - return _cE("view", _uM("class" to "coupon-card", "key" to coupon.id, "onClick" to fun(){ - claimCoupon(coupon) - }), _uA( - _cE("view", _uM("class" to "coupon-left"), _uA( - _cE("text", _uM("class" to "coupon-amount"), _uA( - _cE("text", _uM("style" to _nS(_uM("font-size" to "10px"))), "¥", 4), - _tD(coupon.discount_value) - )), - if (coupon.min_order_amount > 0) { - _cE("text", _uM("key" to 0, "class" to "coupon-cond"), "满" + _tD(coupon.min_order_amount), 1) - } else { - _cE("text", _uM("key" to 1, "class" to "coupon-cond"), "无门槛") - } - )), - _cE("view", _uM("class" to "coupon-right"), _uA( - _cE("text", _uM("class" to "coupon-btn-label"), "领取") - )) - ), 8, _uA( - "onClick" - )) - }), 128) - )) - )) - )) - } else { - _cC("v-if", true) - } - )), - _cE("view", _uM("class" to "product-section"), _uA( - _cE("view", _uM("class" to "results-header"), _uA( - _cE("text", _uM("class" to "results-title"), "全部商品"), - _cE("view", _uM("class" to "filter-tabs"), _uA( - _cE("text", _uM("class" to "filter-tab active"), "综合"), - _cE("text", _uM("class" to "filter-tab"), "销量"), - _cE("text", _uM("class" to "filter-tab"), "价格") - )) - )), - _cE("view", _uM("class" to "results-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(products.value, fun(product, __key, __index, _cached): Any { - return _cE("view", _uM("key" to product.id, "class" to "result-item", "onClick" to fun(){ - goToProduct(product.id) - } - ), _uA( - _cE("image", _uM("src" to product.images[0], "class" to "product-image", "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("text", _uM("class" to "product-name", "lines" to 2), _tD(product.name), 1), - _cE("view", _uM("class" to "product-bottom"), _uA( - _cE("text", _uM("class" to "product-price"), "¥" + _tD(product.price), 1), - _cE("view", _uM("class" to "product-add-btn", "onClick" to withModifiers(fun(){ - addToCart(product) - } - , _uA( - "stop" - ))), _uA( - _cE("text", _uM("class" to "add-icon"), "+") - ), 8, _uA( - "onClick" - )) - )) - ), 8, _uA( - "onClick" - )) - } - ), 128) - )) - )) - ), 40, _uA( - "refresher-triggered" - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("shop-detail-page" to _pS(_uM("backgroundColor" to "#f5f5f5", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column")), "page-scroll" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 0, "width" to "100%")), "shop-header" to _pS(_uM("backgroundColor" to "#ffffff", "paddingBottom" to 20, "marginBottom" to 10, "display" to "flex", "flexDirection" to "column")), "shop-banner" to _pS(_uM("width" to "100%", "height" to 200, "backgroundColor" to "#f5f5f5")), "shop-info-card" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "flex-start", "paddingTop" to 0, "paddingRight" to 15, "paddingBottom" to 0, "paddingLeft" to 15, "marginTop" to -30, "position" to "relative", "zIndex" to 1, "width" to "100%", "boxSizing" to "border-box")), "shop-logo" to _pS(_uM("width" to 60, "height" to 60, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "borderTopWidth" to 2, "borderRightWidth" to 2, "borderBottomWidth" to 2, "borderLeftWidth" to 2, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ffffff", "borderRightColor" to "#ffffff", "borderBottomColor" to "#ffffff", "borderLeftColor" to "#ffffff", "backgroundColor" to "#ffffff", "marginRight" to 12, "flexShrink" to 0)), "shop-basic-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "paddingTop" to 35)), "shop-name" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 6, "lineHeight" to 1.2)), "shop-stats" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "stat-item" to _pS(_uM("fontSize" to 11, "color" to "#666666", "marginRight" to 8, "backgroundColor" to "#f5f5f5", "paddingTop" to 2, "paddingRight" to 8, "paddingBottom" to 2, "paddingLeft" to 8, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4)), "shop-actions" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "paddingTop" to 40, "flexShrink" to 0)), "action-btn" to _pS(_uM("borderTopLeftRadius" to 17, "borderTopRightRadius" to 17, "borderBottomRightRadius" to 17, "borderBottomLeftRadius" to 17, "marginLeft" to 8, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 4, "paddingRight" to 12, "paddingBottom" to 4, "paddingLeft" to 12, "cursor" to "pointer")), "action-text" to _uM("" to _uM("fontSize" to 12), ".chat-btn " to _uM("color" to "#333333"), ".follow-btn " to _uM("color" to "#ffffff")), "chat-btn" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#dddddd", "borderRightColor" to "#dddddd", "borderBottomColor" to "#dddddd", "borderLeftColor" to "#dddddd")), "follow-btn" to _pS(_uM("backgroundColor" to "#ff5000", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000", "minWidth" to 60)), "followed" to _uM(".follow-btn " to _uM("opacity" to 0.9)), "shop-desc" to _pS(_uM("color" to "#999999", "paddingTop" to 10, "paddingRight" to 15, "paddingBottom" to 0, "paddingLeft" to 15, "lineHeight" to 1.5, "width" to "100%", "boxSizing" to "border-box", "fontSize" to 13)), "shop-coupons" to _pS(_uM("marginTop" to 20, "paddingTop" to 0, "paddingRight" to 15, "paddingBottom" to 0, "paddingLeft" to 15, "width" to "100%", "maxWidth" to 1200, "boxSizing" to "border-box")), "coupon-scroll" to _pS(_uM("width" to "100%", "whiteSpace" to "nowrap", "flexDirection" to "row")), "coupon-wrapper" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "nowrap", "alignItems" to "center")), "coupon-card" to _pS(_uM("display" to "flex", "flexDirection" to "row", "backgroundColor" to "#fff5f5", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ffccc7", "borderRightColor" to "#ffccc7", "borderBottomColor" to "#ffccc7", "borderLeftColor" to "#ffccc7", "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "marginRight" to 15, "width" to 180, "height" to 70, "overflow" to "hidden", "flexShrink" to 0, "cursor" to "pointer")), "coupon-left" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "justifyContent" to "center", "alignItems" to "center", "borderRightWidth" to 1, "borderRightStyle" to "dashed", "borderRightColor" to "#ffccc7", "paddingTop" to 0, "paddingRight" to 10, "paddingBottom" to 0, "paddingLeft" to 10)), "coupon-amount" to _pS(_uM("color" to "#ff5000", "fontWeight" to "bold", "fontSize" to 20)), "coupon-cond" to _pS(_uM("color" to "#999999", "fontSize" to 12)), "coupon-right" to _pS(_uM("width" to 50, "display" to "flex", "justifyContent" to "center", "alignItems" to "center", "backgroundColor" to "#ff5000", "flexDirection" to "column")), "coupon-btn-label" to _pS(_uM("color" to "#ffffff", "fontSize" to 14, "textAlign" to "center", "lineHeight" to 1.2)), "product-section" to _pS(_uM("paddingTop" to 20, "paddingRight" to 0, "paddingBottom" to 20, "paddingLeft" to 0, "width" to "100%", "maxWidth" to 1200, "marginTop" to 0, "marginRight" to "auto", "marginBottom" to 0, "marginLeft" to "auto", "boxSizing" to "border-box", "display" to "flex", "flexDirection" to "column", "alignItems" to "flex-start")), "results-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 10, "paddingRight" to 12, "paddingBottom" to 10, "paddingLeft" to 12, "backgroundColor" to "#ffffff", "marginBottom" to 2, "width" to "100%", "boxSizing" to "border-box")), "results-title" to _pS(_uM("fontSize" to 15, "fontWeight" to "bold", "color" to "#333333", "paddingLeft" to 10, "borderLeftWidth" to 5, "borderLeftStyle" to "solid", "borderLeftColor" to "#ff5000")), "filter-tabs" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "flexWrap" to "wrap", "justifyContent" to "flex-start")), "filter-tab" to _uM("" to _uM("fontSize" to 13, "color" to "#666666", "paddingTop" to 8, "paddingRight" to 12, "paddingBottom" to 8, "paddingLeft" to 12, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#e0e0e0", "borderRightColor" to "#e0e0e0", "borderBottomColor" to "#e0e0e0", "borderLeftColor" to "#e0e0e0", "transitionProperty" to "all", "transitionDuration" to "0.2s", "transitionTimingFunction" to "ease", "whiteSpace" to "nowrap", "textAlign" to "center", "display" to "flex", "justifyContent" to "center", "alignItems" to "center", "marginLeft" to 8), ".active" to _uM("backgroundImage" to "none", "backgroundColor" to "#ff5000", "color" to "#FFFFFF", "borderTopColor" to "#ff5000", "borderRightColor" to "#ff5000", "borderBottomColor" to "#ff5000", "borderLeftColor" to "#ff5000")), "results-list" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "justifyContent" to "flex-start", "paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10, "width" to "100%", "boxSizing" to "border-box", "marginTop" to 5, "backgroundColor" to "#ffffff")), "result-item" to _pS(_uM("display" to "flex", "flexDirection" to "column", "backgroundImage" to "none", "backgroundColor" to "#ffffff", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "overflow" to "hidden", "width" to "48%", "marginBottom" to 12, "marginRight" to "2%", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#f0f0f0", "borderRightColor" to "#f0f0f0", "borderBottomColor" to "#f0f0f0", "borderLeftColor" to "#f0f0f0", "boxSizing" to "border-box")), "product-image" to _pS(_uM("width" to "100%", "height" to 170, "objectFit" to "cover", "backgroundColor" to "#f5f5f5", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginBottom" to 8)), "product-name" to _pS(_uM("fontSize" to 13, "color" to "#333333", "marginBottom" to 5, "lineHeight" to 1.4, "height" to 36, "overflow" to "hidden", "textOverflow" to "ellipsis", "paddingTop" to 0, "paddingRight" to 8, "paddingBottom" to 0, "paddingLeft" to 8)), "product-bottom" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 0, "paddingRight" to 8, "paddingBottom" to 8, "paddingLeft" to 8)), "product-price" to _pS(_uM("fontSize" to 15, "color" to "#ff5000", "fontWeight" to "bold")), "product-add-btn" to _pS(_uM("width" to 24, "height" to 24, "backgroundColor" to "#ff5000", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "add-icon" to _pS(_uM("color" to "#ffffff", "fontSize" to 16, "fontWeight" to "bold")), "@TRANSITION" to _uM("filter-tab" to _uM("property" to "all", "duration" to "0.2s", "timingFunction" to "ease"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/subscription/followed-shops.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/subscription/followed-shops.kt deleted file mode 100644 index c5a8429b..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/subscription/followed-shops.kt +++ /dev/null @@ -1,179 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -import io.dcloud.uniapp.extapi.switchTab as uni_switchTab -open class GenPagesMallConsumerSubscriptionFollowedShops : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerSubscriptionFollowedShops) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerSubscriptionFollowedShops - val _cache = __ins.renderCache - val shops = ref(_uA()) - val loading = ref(true) - val loadFollowedShops = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - loading.value = true - val userId = supabaseService.getCurrentUserId() - if (userId == null || userId == "") { - uni_navigateTo(NavigateToOptions(url = "/pages/auth/login")) - return@w1 - } - val res = await(supabaseService.getFollowedShops(userId)) - val list: UTSArray = _uA() - if (res != null && UTSArray.isArray(res)) { - run { - var i: Number = 0 - while(i < res.length){ - val item = res[i] as UTSJSONObject - val shopDataRaw = item.get("ml_shops") - if (shopDataRaw != null) { - val shopData = shopDataRaw as UTSJSONObject - val shop: FollowedShop = FollowedShop(id = shopData.getString("id") ?: "", merchant_id = shopData.getString("merchant_id") ?: "", shop_name = shopData.getString("shop_name") ?: "", shop_logo = shopData.getString("shop_logo"), description = shopData.getString("description"), rating_avg = shopData.getNumber("rating_avg") ?: 5.0, total_sales = shopData.getNumber("total_sales") ?: 0) - list.push(shop) - } - i++ - } - } - } - shops.value = list - loading.value = false - }) - } - val doUnfollow = fun(shopId: String, userId: String): UTSPromise { - return wrapUTSPromise(suspend { - val success = await(supabaseService.unfollowShop(shopId, userId)) - if (success) { - uni_showToast(ShowToastOptions(title = "已取消", icon = "none")) - loadFollowedShops() - } else { - uni_showToast(ShowToastOptions(title = "操作失败", icon = "none")) - } - }) - } - val unfollow = fun(shop: FollowedShop): UTSPromise { - return wrapUTSPromise(suspend w1@{ - val userId = supabaseService.getCurrentUserId() - if (userId == null || userId == "") { - return@w1 - } - uni_showModal(ShowModalOptions(title = "提示", content = "确定取消关注该店铺吗?", success = fun(res){ - if (res.confirm) { - doUnfollow(shop.id, userId) - } - } - )) - }) - } - val goToShop = fun(shop: FollowedShop): Unit { - val targetId = if (shop.merchant_id != "") { - shop.merchant_id - } else { - shop.id - } - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/shop-detail?merchantId=" + targetId)) - } - val goHome = fun(): Unit { - uni_switchTab(SwitchTabOptions(url = "/pages/main/index")) - } - onMounted(fun(){ - loadFollowedShops() - } - ) - return fun(): Any? { - return _cE("view", _uM("class" to "followed-shops-page"), _uA( - _cE("view", _uM("class" to "header"), _uA( - _cE("text", _uM("class" to "header-title"), "我关注的店铺") - )), - if (shops.value.length > 0) { - _cE("view", _uM("key" to 0, "class" to "shop-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(shops.value, fun(shop, __key, __index, _cached): Any { - return _cE("view", _uM("class" to "shop-item", "key" to shop.id, "onClick" to fun(){ - goToShop(shop) - }), _uA( - _cE("image", _uM("src" to if (shop.shop_logo != null) { - shop.shop_logo - } else { - "/static/default-shop.png" - }, "class" to "shop-logo", "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "shop-info"), _uA( - _cE("text", _uM("class" to "shop-name"), _tD(shop.shop_name), 1), - _cE("text", _uM("class" to "shop-desc"), _tD(if (shop.description != null) { - shop.description - } else { - "暂无介绍" - }), 1), - _cE("view", _uM("class" to "shop-meta"), _uA( - _cE("text", _uM("class" to "rating shop-meta-text"), "⭐ " + _tD(shop.rating_avg), 1), - _cE("text", _uM("class" to "sales shop-meta-text"), "销量: " + _tD(shop.total_sales), 1) - )) - )), - _cE("button", _uM("class" to "unfollow-btn", "onClick" to withModifiers(fun(){ - unfollow(shop) - }, _uA( - "stop" - ))), "已关注", 8, _uA( - "onClick" - )) - ), 8, _uA( - "onClick" - )) - }), 128) - )) - } else { - if (loading.value == false) { - _cE("view", _uM("key" to 1, "class" to "empty-state"), _uA( - _cE("text", _uM("class" to "empty-text"), "暂无关注的店铺"), - _cE("button", _uM("class" to "go-shop-btn", "onClick" to goHome), "去逛逛") - )) - } else { - _cC("v-if", true) - } - } - , - if (isTrue(loading.value)) { - _cE("view", _uM("key" to 2, "class" to "loading-state"), _uA( - _cE("text", null, "加载中...") - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("followed-shops-page" to _pS(_uM("paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "backgroundColor" to "#f5f5f5", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "header" to _pS(_uM("marginBottom" to 15)), "header-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold")), "shop-list" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "shop-item" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to 10, "marginBottom:last-child" to 0)), "shop-logo" to _pS(_uM("width" to 50, "height" to 50, "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4, "backgroundColor" to "#eeeeee", "marginRight" to 12)), "shop-info" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column")), "shop-name" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "shop-desc" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginTop" to 4, "maxWidth" to 200, "overflow" to "hidden", "textOverflow" to "ellipsis", "whiteSpace" to "nowrap")), "shop-meta" to _pS(_uM("fontSize" to 10, "color" to "#999999", "marginTop" to 4, "display" to "flex")), "shop-meta-text" to _pS(_uM("marginRight" to 8)), "unfollow-btn" to _pS(_uM("fontSize" to 12, "paddingTop" to 4, "paddingRight" to 12, "paddingBottom" to 4, "paddingLeft" to 12, "backgroundColor" to "#eeeeee", "color" to "#666666", "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "marginLeft" to 10)), "empty-state" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 100)), "empty-text" to _pS(_uM("color" to "#999999", "marginBottom" to 20)), "go-shop-btn" to _pS(_uM("backgroundColor" to "#ff4444", "color" to "#FFFFFF", "paddingTop" to 8, "paddingRight" to 24, "paddingBottom" to 8, "paddingLeft" to 24, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "fontSize" to 14)), "loading-state" to _pS(_uM("textAlign" to "center", "paddingTop" to 50, "color" to "#999999"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/wallet.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/wallet.kt deleted file mode 100644 index b8166754..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/wallet.kt +++ /dev/null @@ -1,502 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.getStorageSync as uni_getStorageSync -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerWallet : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerWallet) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerWallet - val _cache = __ins.renderCache - val balance = ref(0) - val stats = ref(StatsType(totalRecharge = 0, totalConsume = 0, totalWithdraw = 0)) - val transactions = ref(_uA()) - val activeFilter = ref("all") - val isLoading = ref(false) - val currentPage = ref(1) - val pageSize = ref(20) - val hasMore = ref(true) - val showRechargePopup = ref(false) - val rechargeAmount = ref("") - val quickAmounts: UTSArray = _uA( - 50, - 100, - 200, - 500, - 1000 - ) - val getCurrentUserId = fun(): String { - val userStore = uni_getStorageSync("userInfo") - if (userStore == null) { - return "" - } - val userInfo = userStore as UTSJSONObject - return userInfo.getString("id") ?: "" - } - val resetTransactions = fun(): Unit { - transactions.value = _uA() - currentPage.value = 1 - hasMore.value = true - } - val loadBalance = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val realBalance = await(supabaseService.getUserBalanceNumber()) - balance.value = realBalance - val statsData: StatsType = StatsType(totalRecharge = 0, totalConsume = 0, totalWithdraw = 0) - stats.value = statsData - } - catch (err: Throwable) { - console.error("加载钱包异常:", err, " at pages/mall/consumer/wallet.uvue:247") - } - }) - } - val loadTransactions = fun(loadMore: Boolean): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (isLoading.value || (hasMore.value === false && loadMore)) { - return@w1 - } - isLoading.value = true - try { - val userId = getCurrentUserId() - if (userId == "") { - isLoading.value = false - return@w1 - } - val page = if (loadMore) { - currentPage.value + 1 - } else { - 1 - } - val limit: Number = 20 - val data = await(supabaseService.getTransactions(page, limit)) - val mappedData: UTSArray = _uA() - run { - var i: Number = 0 - while(i < data.length){ - val item = data[i] - var id = "" - var amount: Number = 0 - var balanceAfter: Number = 0 - var type = "" - var remark = "" - var createdAt = "" - if (item is UTSJSONObject) { - id = (item as UTSJSONObject).getString("id") ?: "" - amount = (item as UTSJSONObject).getNumber("amount") ?: 0 - balanceAfter = (item as UTSJSONObject).getNumber("balance_after") ?: 0 - type = (item as UTSJSONObject).getString("type") ?: "consume" - remark = (item as UTSJSONObject).getString("description") ?: "" - createdAt = (item as UTSJSONObject).getString("created_at") ?: "" - } else { - val itemObj = item as UTSJSONObject - id = itemObj.getString("id") ?: "" - amount = itemObj.getNumber("amount") ?: 0 - balanceAfter = itemObj.getNumber("balance_after") ?: 0 - type = itemObj.getString("type") ?: "consume" - remark = itemObj.getString("description") ?: "" - createdAt = itemObj.getString("created_at") ?: "" - } - val transaction: TransactionType = TransactionType(id = id, user_id = userId, change_amount = amount, amount = amount, current_balance = balanceAfter, change_type = type, type = type, related_id = null, remark = remark, created_at = createdAt) - mappedData.push(transaction) - i++ - } - } - if (loadMore) { - run { - var i: Number = 0 - while(i < mappedData.length){ - transactions.value.push(mappedData[i]) - i++ - } - } - currentPage.value = page - } else { - transactions.value = mappedData - currentPage.value = 1 - } - hasMore.value = mappedData.length >= limit - } - catch (err: Throwable) { - console.error("加载交易记录失败:", err, " at pages/mall/consumer/wallet.uvue:325") - } - finally { - isLoading.value = false - } - }) - } - val loadWalletData = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - val userId = getCurrentUserId() - if (userId == "") { - return@w1 - } - loadBalance() - loadTransactions(false) - }) - } - val canRecharge = computed(fun(): Boolean { - val amount = parseFloat(rechargeAmount.value) - if (amount == null || amount < 10 || amount > 5000) { - return false - } - return true - } - ) - watch(activeFilter, fun(){ - resetTransactions() - loadTransactions(false) - } - ) - onShow__1(fun(){ - loadWalletData() - } - ) - val getTransactionIcon = fun(type: String): String { - if (type === "recharge") { - return "💳" - } - if (type === "consume") { - return "🛒" - } - if (type === "withdraw") { - return "🏦" - } - if (type === "refund") { - return "🔄" - } - if (type === "reward") { - return "🎁" - } - if (type === "income") { - return "💰" - } - if (type === "expense") { - return "📤" - } - return "💰" - } - val getTransactionTitle = fun(type: String): String { - if (type === "recharge") { - return "账户充值" - } - if (type === "consume") { - return "商品消费" - } - if (type === "withdraw") { - return "余额提现" - } - if (type === "refund") { - return "订单退款" - } - if (type === "reward") { - return "活动奖励" - } - if (type === "income") { - return "收入" - } - if (type === "expense") { - return "支出" - } - return "交易" - } - val formatTime = fun(timeStr: String): String { - val date = Date(timeStr) - val month = (date.getMonth() + 1).toString(10).padStart(2, "0") - val day = date.getDate().toString(10).padStart(2, "0") - val hours = date.getHours().toString(10).padStart(2, "0") - val minutes = date.getMinutes().toString(10).padStart(2, "0") - return "" + month + "-" + day + " " + hours + ":" + minutes - } - val recharge = fun(){ - showRechargePopup.value = true - rechargeAmount.value = "" - } - val withdraw = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/withdraw")) - } - val goToCoupons = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/coupons")) - } - val goToRedPackets = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/red-packets/index")) - } - val goToPoints = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/points/index")) - } - val goToBankCards = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/bank-cards/index")) - } - val changeFilter = fun(filter: String){ - activeFilter.value = filter - } - val selectQuickAmount = fun(amount: Number): Unit { - rechargeAmount.value = amount.toString(10) - } - val closeRechargePopup = fun(): Unit { - showRechargePopup.value = false - rechargeAmount.value = "" - } - val confirmRecharge = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (canRecharge.value === false) { - return@w1 - } - val amount = parseFloat(rechargeAmount.value) - if (amount == null || amount < 10 || amount > 5000) { - return@w1 - } - uni_showLoading(ShowLoadingOptions(title = "处理中...")) - try { - val success = await(supabaseService.rechargeBalance(amount)) - if (success) { - uni_showToast(ShowToastOptions(title = "充值成功", icon = "success")) - closeRechargePopup() - loadWalletData() - } else { - uni_showToast(ShowToastOptions(title = "充值失败", icon = "none")) - } - } - catch (e: Throwable) { - console.error("充值异常:", e, " at pages/mall/consumer/wallet.uvue:509") - uni_showToast(ShowToastOptions(title = "系统异常,请稍后重试", icon = "none")) - } - finally { - uni_hideLoading() - } - }) - } - return fun(): Any? { - return _cE("view", _uM("class" to "wallet-page"), _uA( - _cE("scroll-view", _uM("class" to "wallet-content", "scroll-y" to ""), _uA( - _cE("view", _uM("class" to "dashboard-container"), _uA( - _cE("view", _uM("class" to "dashboard-main"), _uA( - _cE("view", _uM("class" to "balance-overview"), _uA( - _cE("text", _uM("class" to "balance-label"), "账户余额"), - _cE("text", _uM("class" to "balance-value"), "¥" + _tD(balance.value.toFixed(2)), 1), - _cE("view", _uM("class" to "balance-actions"), _uA( - _cE("button", _uM("class" to "action-btn recharge", "onClick" to recharge), "充值"), - _cE("button", _uM("class" to "action-btn withdraw", "onClick" to withdraw), "提现") - )) - )), - _cE("view", _uM("class" to "assets-stats"), _uA( - _cE("view", _uM("class" to "stat-item"), _uA( - _cE("text", _uM("class" to "stat-label"), "累计充值"), - _cE("text", _uM("class" to "stat-value"), "¥" + _tD(stats.value.totalRecharge.toFixed(2)), 1) - )), - _cE("view", _uM("class" to "stat-item"), _uA( - _cE("text", _uM("class" to "stat-label"), "累计消费"), - _cE("text", _uM("class" to "stat-value"), "¥" + _tD(stats.value.totalConsume.toFixed(2)), 1) - )), - _cE("view", _uM("class" to "stat-item"), _uA( - _cE("text", _uM("class" to "stat-label"), "累计提现"), - _cE("text", _uM("class" to "stat-value"), "¥" + _tD(stats.value.totalWithdraw.toFixed(2)), 1) - )) - )), - _cE("view", _uM("class" to "quick-actions"), _uA( - _cE("view", _uM("class" to "action-grid"), _uA( - _cE("view", _uM("class" to "action-item", "onClick" to goToCoupons), _uA( - _cE("text", _uM("class" to "action-icon"), "🎫"), - _cE("text", _uM("class" to "action-text"), "优惠券") - )), - _cE("view", _uM("class" to "action-item", "onClick" to goToRedPackets), _uA( - _cE("text", _uM("class" to "action-icon"), "🧧"), - _cE("text", _uM("class" to "action-text"), "红包") - )), - _cE("view", _uM("class" to "action-item", "onClick" to goToPoints), _uA( - _cE("text", _uM("class" to "action-icon"), "⭐"), - _cE("text", _uM("class" to "action-text"), "积分") - )), - _cE("view", _uM("class" to "action-item", "onClick" to goToBankCards), _uA( - _cE("text", _uM("class" to "action-icon"), "💳"), - _cE("text", _uM("class" to "action-text"), "银行卡") - )) - )) - )), - _cE("view", _uM("class" to "security-tips"), _uA( - _cE("text", _uM("class" to "tip-title"), "安全提示"), - _cE("text", _uM("class" to "tip-item"), "1. 请妥善保管您的支付密码"), - _cE("text", _uM("class" to "tip-item"), "2. 不要向他人透露您的账户信息"), - _cE("text", _uM("class" to "tip-item"), "3. 定期修改密码以确保账户安全") - )) - )), - _cE("view", _uM("class" to "dashboard-side"), _uA( - _cE("view", _uM("class" to "transactions-section"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("text", _uM("class" to "section-title"), "交易记录"), - _cE("view", _uM("class" to "filter-tabs"), _uA( - _cE("text", _uM("class" to _nC(_uA( - "filter-tab", - _uM("active" to (activeFilter.value === "all")) - )), "onClick" to fun(){ - changeFilter("all") - } - ), "全部", 10, _uA( - "onClick" - )), - _cE("text", _uM("class" to _nC(_uA( - "filter-tab", - _uM("active" to (activeFilter.value === "income")) - )), "onClick" to fun(){ - changeFilter("income") - } - ), "收入", 10, _uA( - "onClick" - )), - _cE("text", _uM("class" to _nC(_uA( - "filter-tab", - _uM("active" to (activeFilter.value === "expense")) - )), "onClick" to fun(){ - changeFilter("expense") - } - ), "支出", 10, _uA( - "onClick" - )) - )) - )), - if (isTrue(transactions.value.length === 0 && isLoading.value === false)) { - _cE("view", _uM("key" to 0, "class" to "empty-transactions"), _uA( - _cE("text", _uM("class" to "empty-icon"), "💰"), - _cE("text", _uM("class" to "empty-text"), "暂无交易记录"), - _cE("text", _uM("class" to "empty-subtext"), "快去使用钱包功能吧") - )) - } else { - _cC("v-if", true) - } - , - _cE("view", _uM("class" to "transactions-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(transactions.value, fun(transaction, __key, __index, _cached): Any { - return _cE("view", _uM("key" to transaction.id, "class" to "transaction-item"), _uA( - _cE("view", _uM("class" to "transaction-left"), _uA( - _cE("text", _uM("class" to "transaction-icon"), _tD(getTransactionIcon(transaction.type)), 1), - _cE("view", _uM("class" to "transaction-info"), _uA( - _cE("text", _uM("class" to "transaction-title"), _tD(getTransactionTitle(transaction.type)), 1), - _cE("text", _uM("class" to "transaction-time"), _tD(formatTime(transaction.created_at)), 1), - if (isTrue(transaction.remark)) { - _cE("text", _uM("key" to 0, "class" to "transaction-remark"), _tD(transaction.remark), 1) - } else { - _cC("v-if", true) - } - )) - )), - _cE("view", _uM("class" to "transaction-right"), _uA( - _cE("text", _uM("class" to _nC(_uA( - "transaction-amount", - _uM("income" to (transaction.amount > 0), "expense" to (transaction.amount < 0)) - ))), _tD(if (transaction.amount > 0) { - "+" - } else { - "" - } - ) + "¥" + _tD(Math.abs(transaction.amount).toFixed(2)), 3), - _cE("text", _uM("class" to "transaction-balance"), "余额: ¥" + _tD(transaction.current_balance.toFixed(2)), 1) - )) - )) - } - ), 128) - )), - if (isTrue(isLoading.value)) { - _cE("view", _uM("key" to 1, "class" to "loading-more"), _uA( - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - _cC("v-if", true) - } - , - if (isTrue(hasMore.value === false && transactions.value.length > 0)) { - _cE("view", _uM("key" to 2, "class" to "no-more"), _uA( - _cE("text", _uM("class" to "no-more-text"), "没有更多记录了") - )) - } else { - _cC("v-if", true) - } - )) - )) - )) - )), - if (isTrue(showRechargePopup.value)) { - _cE("view", _uM("key" to 0, "class" to "recharge-popup"), _uA( - _cE("view", _uM("class" to "popup-mask", "onClick" to closeRechargePopup)), - _cE("view", _uM("class" to "popup-content"), _uA( - _cE("view", _uM("class" to "popup-header"), _uA( - _cE("text", _uM("class" to "popup-title"), "充值"), - _cE("text", _uM("class" to "popup-close", "onClick" to closeRechargePopup), "×") - )), - _cE("view", _uM("class" to "popup-body"), _uA( - _cE("text", _uM("class" to "amount-label"), "充值金额"), - _cE("view", _uM("class" to "amount-input"), _uA( - _cE("text", _uM("class" to "currency-symbol"), "¥"), - _cE("input", _uM("class" to "amount-field", "modelValue" to rechargeAmount.value, "onInput" to fun(`$event`: UniInputEvent){ - rechargeAmount.value = `$event`.detail.value - }, "type" to "number", "placeholder" to "请输入充值金额", "focus" to ""), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "quick-amounts"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(quickAmounts, fun(amount, __key, __index, _cached): Any { - return _cE("text", _uM("key" to amount, "class" to _nC(_uA( - "quick-amount", - _uM("active" to (rechargeAmount.value === amount.toString(10))) - )), "onClick" to fun(){ - selectQuickAmount(amount) - }), " ¥" + _tD(amount), 11, _uA( - "onClick" - )) - }), 64) - )), - _cE("text", _uM("class" to "recharge-tip"), "单笔充值最低10元,最高5000元") - )), - _cE("view", _uM("class" to "popup-footer"), _uA( - _cE("button", _uM("class" to "cancel-btn", "onClick" to closeRechargePopup), "取消"), - _cE("button", _uM("class" to _nC(_uA( - "confirm-btn", - _uM("disabled" to (canRecharge.value === false)) - )), "onClick" to confirmRecharge), " 确认充值 ", 2) - )) - )) - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("wallet-page" to _pS(_uM("display" to "flex", "flexDirection" to "column", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f5f5")), "wallet-content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "dashboard-container" to _pS(_uM("display" to "flex", "flexDirection" to "column", "paddingBottom" to 20)), "dashboard-main" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "dashboard-side" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "balance-overview" to _pS(_uM("backgroundImage" to "linear-gradient(135deg, #667eea 0%, #764ba2 100%)", "backgroundColor" to "rgba(0,0,0,0)", "paddingTop" to 30, "paddingRight" to 20, "paddingBottom" to 30, "paddingLeft" to 20, "color" to "#ffffff")), "balance-label" to _pS(_uM("fontSize" to 14, "opacity" to 0.9, "marginBottom" to 10, "textAlign" to "center")), "balance-value" to _pS(_uM("fontSize" to 36, "fontWeight" to "bold", "marginBottom" to 20, "textAlign" to "center")), "balance-actions" to _pS(_uM("display" to "flex", "flexDirection" to "row")), "action-btn" to _uM("" to _uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 40, "borderTopLeftRadius" to 20, "borderTopRightRadius" to 20, "borderBottomRightRadius" to 20, "borderBottomLeftRadius" to 20, "fontSize" to 14, "fontWeight" to "bold", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000"), ".recharge" to _uM("backgroundColor" to "#ffffff", "color" to "#667eea", "marginRight" to 20), ".withdraw" to _uM("backgroundColor" to "rgba(255,255,255,0.2)", "color" to "#ffffff", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "rgba(255,255,255,0.5)", "borderRightColor" to "rgba(255,255,255,0.5)", "borderBottomColor" to "rgba(255,255,255,0.5)", "borderLeftColor" to "rgba(255,255,255,0.5)")), "assets-stats" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "boxShadow" to "0 2px 8px rgba(0, 0, 0, 0.1)")), "stat-item" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "textAlign" to "center")), "stat-label" to _pS(_uM("fontSize" to 12, "color" to "#666666", "marginBottom" to 8)), "stat-value" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "quick-actions" to _pS(_uM("backgroundColor" to "#ffffff", "marginTop" to 10, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20)), "action-grid" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center")), "action-item" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "action-icon" to _pS(_uM("fontSize" to 28, "marginBottom" to 8)), "action-text" to _pS(_uM("fontSize" to 12, "color" to "#666666")), "transactions-section" to _pS(_uM("backgroundColor" to "#ffffff", "marginTop" to 10, "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15)), "section-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 15)), "section-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333")), "filter-tab" to _uM("" to _uM("fontSize" to 14, "color" to "#666666", "paddingTop" to 5, "paddingRight" to 0, "paddingBottom" to 5, "paddingLeft" to 0, "position" to "relative", "marginRight" to 15, "borderBottomWidth" to 2, "borderBottomStyle" to "solid", "borderBottomColor" to "rgba(0,0,0,0)"), ".active" to _uM("color" to "#007aff", "fontWeight" to "bold", "borderBottomWidth" to 2, "borderBottomStyle" to "solid", "borderBottomColor" to "#007aff")), "empty-transactions" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 40, "paddingRight" to 20, "paddingBottom" to 40, "paddingLeft" to 20)), "empty-icon" to _pS(_uM("fontSize" to 60, "marginBottom" to 20)), "empty-text" to _pS(_uM("fontSize" to 16, "color" to "#666666", "marginBottom" to 10)), "empty-subtext" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "transactions-list" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "transaction-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "flex-start", "paddingTop" to 15, "paddingRight" to 0, "paddingBottom" to 15, "paddingLeft" to 0, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5", "borderBottomWidth:last-child" to "medium", "borderBottomStyle:last-child" to "none", "borderBottomColor:last-child" to "#000000")), "transaction-left" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "flex-start")), "transaction-icon" to _pS(_uM("fontSize" to 24, "marginRight" to 15)), "transaction-info" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "transaction-title" to _pS(_uM("fontSize" to 14, "color" to "#333333", "fontWeight" to "bold", "marginBottom" to 5)), "transaction-time" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginBottom" to 3)), "transaction-remark" to _pS(_uM("fontSize" to 12, "color" to "#666666")), "transaction-right" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "flex-end")), "transaction-amount" to _uM("" to _uM("fontSize" to 16, "fontWeight" to "bold", "marginBottom" to 5), ".income" to _uM("color" to "#4caf50"), ".expense" to _uM("color" to "#333333")), "transaction-balance" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "loading-more" to _pS(_uM("paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "textAlign" to "center")), "no-more" to _pS(_uM("paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "textAlign" to "center")), "loading-text" to _pS(_uM("color" to "#999999", "fontSize" to 14)), "no-more-text" to _pS(_uM("color" to "#999999", "fontSize" to 14)), "security-tips" to _pS(_uM("backgroundColor" to "#ffffff", "marginTop" to 10, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20)), "tip-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold", "color" to "#333333", "marginBottom" to 15)), "tip-item" to _pS(_uM("marginBottom" to 8, "fontSize" to 12, "color" to "#666666", "lineHeight" to 1.6, "marginBottom:last-child" to 0)), "recharge-popup" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "zIndex" to 999)), "popup-mask" to _pS(_uM("position" to "absolute", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "rgba(0,0,0,0.5)")), "popup-content" to _pS(_uM("position" to "absolute", "bottom" to 0, "left" to 0, "right" to 0, "backgroundColor" to "#ffffff", "borderTopLeftRadius" to 15, "borderTopRightRadius" to 15, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20)), "popup-header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 20, "paddingBottom" to 15, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#e5e5e5")), "popup-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333")), "popup-close" to _pS(_uM("fontSize" to 24, "color" to "#999999", "paddingTop" to 5, "paddingRight" to 5, "paddingBottom" to 5, "paddingLeft" to 5)), "popup-body" to _pS(_uM("marginBottom" to 20)), "amount-label" to _pS(_uM("fontSize" to 14, "color" to "#333333", "marginBottom" to 10)), "amount-input" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to 20, "paddingTop" to 10, "paddingRight" to 10, "paddingBottom" to 10, "paddingLeft" to 10, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#e5e5e5", "borderRightColor" to "#e5e5e5", "borderBottomColor" to "#e5e5e5", "borderLeftColor" to "#e5e5e5", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8)), "currency-symbol" to _pS(_uM("fontSize" to 20, "color" to "#333333", "marginRight" to 10)), "amount-field" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to 24, "fontWeight" to "bold", "color" to "#333333")), "quick-amounts" to _pS(_uM("display" to "flex", "flexDirection" to "row", "flexWrap" to "wrap", "marginBottom" to 15)), "quick-amount" to _uM("" to _uM("paddingTop" to 8, "paddingRight" to 15, "paddingBottom" to 8, "paddingLeft" to 15, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#e5e5e5", "borderRightColor" to "#e5e5e5", "borderBottomColor" to "#e5e5e5", "borderLeftColor" to "#e5e5e5", "borderTopLeftRadius" to 15, "borderTopRightRadius" to 15, "borderBottomRightRadius" to 15, "borderBottomLeftRadius" to 15, "fontSize" to 14, "color" to "#333333", "marginRight" to 10, "marginBottom" to 10), ".active" to _uM("backgroundColor" to "#007aff", "color" to "#ffffff", "borderTopColor" to "#007aff", "borderRightColor" to "#007aff", "borderBottomColor" to "#007aff", "borderLeftColor" to "#007aff")), "recharge-tip" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "popup-footer" to _pS(_uM("display" to "flex", "flexDirection" to "row")), "cancel-btn" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 45, "borderTopLeftRadius" to 22.5, "borderTopRightRadius" to 22.5, "borderBottomRightRadius" to 22.5, "borderBottomLeftRadius" to 22.5, "fontSize" to 16, "fontWeight" to "bold", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "backgroundColor" to "#f5f5f5", "color" to "#666666", "marginRight" to 15)), "confirm-btn" to _uM("" to _uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 45, "borderTopLeftRadius" to 22.5, "borderTopRightRadius" to 22.5, "borderBottomRightRadius" to 22.5, "borderBottomLeftRadius" to 22.5, "fontSize" to 16, "fontWeight" to "bold", "borderTopWidth" to "medium", "borderRightWidth" to "medium", "borderBottomWidth" to "medium", "borderLeftWidth" to "medium", "borderTopStyle" to "none", "borderRightStyle" to "none", "borderBottomStyle" to "none", "borderLeftStyle" to "none", "borderTopColor" to "#000000", "borderRightColor" to "#000000", "borderBottomColor" to "#000000", "borderLeftColor" to "#000000", "backgroundColor" to "#007aff", "color" to "#ffffff"), ".disabled" to _uM("backgroundColor" to "#cccccc", "opacity" to 0.6))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/mall/consumer/withdraw.kt b/unpackage/cache/.app-android/src/pages/mall/consumer/withdraw.kt deleted file mode 100644 index 79ad26e1..00000000 --- a/unpackage/cache/.app-android/src/pages/mall/consumer/withdraw.kt +++ /dev/null @@ -1,258 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesMallConsumerWithdraw : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesMallConsumerWithdraw) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesMallConsumerWithdraw - val _cache = __ins.renderCache - val amount = ref("") - val balance = ref(0.00) - val loading = ref(false) - val bankCards = ref(_uA()) - val selectedBank = ref(null) - val showBankPopup = ref(false) - val isValid = computed(fun(): Boolean { - val kVal = parseFloat(amount.value) - if (kVal == null || kVal <= 0) { - return false - } - if (kVal > balance.value) { - return false - } - if (selectedBank.value == null) { - return false - } - return true - } - ) - val loadData = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val bal = await(supabaseService.getUserBalanceNumber()) - balance.value = bal - val res = await(supabaseService.getUserBankCards()) - val list: UTSArray = _uA() - run { - var i: Number = 0 - while(i < res.length){ - val item = res[i] - var id = "" - var bankName = "" - var cardNum = "" - if (item is UTSJSONObject) { - id = (item as UTSJSONObject).getString("id") ?: "" - bankName = (item as UTSJSONObject).getString("bank_name") ?: "" - cardNum = (item as UTSJSONObject).getString("card_number") ?: "" - } else { - val itemObj = item as UTSJSONObject - id = itemObj.getString("id") ?: "" - bankName = itemObj.getString("bank_name") ?: "" - cardNum = itemObj.getString("card_number") ?: "" - } - if (id != "") { - val card: BankCard = BankCard(id = id, bank_name = bankName, card_number = cardNum) - list.push(card) - } - i++ - } - } - bankCards.value = list - if (bankCards.value.length > 0) { - selectedBank.value = bankCards.value[0] - } - } - catch (e: Throwable) { - console.error(e, " at pages/mall/consumer/withdraw.uvue:140") - } - }) - } - onMounted(fun(){ - loadData() - } - ) - val getTailNumber = fun(cardNo: String?): String { - if (cardNo == null) { - return "" - } - if (cardNo.length <= 4) { - return cardNo - } - return cardNo.substring(cardNo.length - 4) - } - val setAll = fun(){ - amount.value = balance.value.toString(10) - } - val openBankSelector = fun(){ - showBankPopup.value = true - } - val selectBank = fun(bank: BankCard){ - selectedBank.value = bank - showBankPopup.value = false - } - val navigateToAddCard = fun(){ - uni_navigateTo(NavigateToOptions(url = "/pages/mall/consumer/bank-cards/add")) - showBankPopup.value = false - } - val submitWithdraw = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (isValid.value === false) { - return@w1 - } - loading.value = true - try { - val kVal = parseFloat(amount.value) - val success = await(supabaseService.withdrawBalance(kVal)) - if (success) { - uni_showToast(ShowToastOptions(title = "提现申请已提交", icon = "success")) - setTimeout(fun(){ - uni_navigateBack(null) - }, 1500) - } else { - uni_showToast(ShowToastOptions(title = "提现失败, " + (if (kVal > balance.value) { - "余额不足" - } else { - "请重试" - } - ), icon = "none")) - } - } - catch (e: Throwable) { - uni_showToast(ShowToastOptions(title = "系统异常", icon = "none")) - } - finally { - loading.value = false - } - }) - } - return fun(): Any? { - return _cE("view", _uM("class" to "page-container"), _uA( - _cE("view", _uM("class" to "card"), _uA( - _cE("view", _uM("class" to "section-title"), "提现至"), - _cE("view", _uM("class" to "bank-selector", "onClick" to openBankSelector), _uA( - if (selectedBank.value != null) { - _cE("view", _uM("key" to 0, "class" to "bank-info"), _uA( - _cE("text", _uM("class" to "bank-name"), _tD(selectedBank.value!!.bank_name), 1), - _cE("text", _uM("class" to "card-type"), "储蓄卡"), - _cE("text", _uM("class" to "card-no"), "尾号 " + _tD(getTailNumber(selectedBank.value!!.card_number)), 1) - )) - } else { - _cE("view", _uM("key" to 1, "class" to "bank-info placeholder"), _uA( - _cE("text", null, "请选择到账银行卡") - )) - } - , - _cE("text", _uM("class" to "arrow"), ">") - )), - _cE("view", _uM("class" to "amount-section"), _uA( - _cE("text", _uM("class" to "label"), "提现金额"), - _cE("view", _uM("class" to "input-wrapper"), _uA( - _cE("text", _uM("class" to "currency"), "¥"), - _cE("input", _uM("class" to "amount-input", "type" to "digit", "modelValue" to amount.value, "onInput" to fun(`$event`: UniInputEvent){ - amount.value = `$event`.detail.value - } - , "placeholder" to "请输入提现金额"), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "balance-line"), _uA( - _cE("text", _uM("class" to "balance-text"), "当前可提现余额 ¥" + _tD(balance.value), 1), - _cE("text", _uM("class" to "all-btn", "onClick" to setAll), "全部提现") - )) - )), - _cE("button", _uM("class" to "submit-btn", "disabled" to (isValid.value === false), "loading" to loading.value, "onClick" to submitWithdraw), _tD(if (loading.value) { - "处理中..." - } else { - "确认提现" - } - ), 9, _uA( - "disabled", - "loading" - )) - )), - if (isTrue(showBankPopup.value)) { - _cE("view", _uM("key" to 0, "class" to "popup-mask", "onClick" to fun(){ - showBankPopup.value = false - }), _uA( - _cE("view", _uM("class" to "popup-content", "onClick" to withModifiers(fun(){}, _uA( - "stop" - ))), _uA( - _cE("view", _uM("class" to "popup-header"), _uA( - _cE("text", _uM("class" to "popup-title"), "选择到账银行卡"), - _cE("text", _uM("class" to "close-btn", "onClick" to fun(){ - showBankPopup.value = false - }), "×", 8, _uA( - "onClick" - )) - )), - _cE("scroll-view", _uM("scroll-y" to "true", "class" to "bank-list"), _uA( - _cE(Fragment, null, RenderHelpers.renderList(bankCards.value, fun(item, index, __index, _cached): Any { - return _cE("view", _uM("key" to index, "class" to "bank-item", "onClick" to fun(){ - selectBank(item) - }), _uA( - _cE("view", _uM("class" to "bank-row"), _uA( - _cE("text", _uM("class" to "bank-name-popup"), _tD(item.bank_name), 1), - _cE("text", _uM("class" to "card-no-popup"), "(" + _tD(getTailNumber(item.card_number)) + ")", 1) - )), - if (isTrue(selectedBank.value != null && selectedBank.value!!.id == item.id)) { - _cE("text", _uM("key" to 0, "class" to "check"), "✓") - } else { - _cC("v-if", true) - } - ), 8, _uA( - "onClick" - )) - }), 128), - _cE("view", _uM("class" to "add-card-btn", "onClick" to navigateToAddCard), _uA( - _cE("text", null, "+ 添加银行卡") - )) - )) - ), 8, _uA( - "onClick" - )) - ), 8, _uA( - "onClick" - )) - } else { - _cC("v-if", true) - } - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("page-container" to _pS(_uM("backgroundColor" to "#f5f5f5", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20)), "card" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopLeftRadius" to 12, "borderTopRightRadius" to 12, "borderBottomRightRadius" to 12, "borderBottomLeftRadius" to 12, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20)), "section-title" to _pS(_uM("fontSize" to 16, "color" to "#333333", "marginBottom" to 15)), "bank-selector" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 15, "paddingRight" to 0, "paddingBottom" to 15, "paddingLeft" to 0, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#eeeeee")), "bank-info" to _pS(_uM("display" to "flex", "alignItems" to "center")), "bank-name" to _pS(_uM("marginRight" to 10, "fontWeight" to "bold")), "card-type" to _pS(_uM("marginRight" to 10)), "placeholder" to _pS(_uM("color" to "#999999")), "amount-section" to _pS(_uM("marginTop" to 20)), "label" to _pS(_uM("fontSize" to 14, "color" to "#666666", "marginBottom" to 10)), "input-wrapper" to _pS(_uM("display" to "flex", "alignItems" to "center", "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#eeeeee", "paddingBottom" to 10, "marginBottom" to 10)), "currency" to _pS(_uM("fontSize" to 30, "fontWeight" to "bold", "marginRight" to 10)), "amount-input" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to 30, "fontWeight" to "bold", "height" to 40)), "balance-line" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "fontSize" to 12)), "balance-text" to _pS(_uM("color" to "#999999")), "all-btn" to _pS(_uM("color" to "#5785e5")), "submit-btn" to _pS(_uM("marginTop" to 40, "backgroundColor" to "#5785e5", "color" to "#ffffff", "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "backgroundColor:disabled" to "#cccccc")), "popup-mask" to _pS(_uM("position" to "fixed", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0, "backgroundColor" to "rgba(0,0,0,0.5)", "zIndex" to 999, "display" to "flex", "justifyContent" to "center", "alignItems" to "flex-end")), "popup-content" to _pS(_uM("backgroundColor" to "#ffffff", "width" to "100%", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "minHeight" to 300)), "popup-header" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "marginBottom" to 20)), "popup-title" to _pS(_uM("fontSize" to 16, "fontWeight" to "bold")), "close-btn" to _pS(_uM("fontSize" to 20, "color" to "#999999", "paddingTop" to 5, "paddingRight" to 5, "paddingBottom" to 5, "paddingLeft" to 5)), "bank-item" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "alignItems" to "center", "paddingTop" to 15, "paddingRight" to 0, "paddingBottom" to 15, "paddingLeft" to 0, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5")), "add-card-btn" to _pS(_uM("paddingTop" to 15, "paddingRight" to 0, "paddingBottom" to 15, "paddingLeft" to 0, "textAlign" to "center", "color" to "#5785e5", "fontWeight" to "bold"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/user/bind-email.kt b/unpackage/cache/.app-android/src/pages/user/bind-email.kt deleted file mode 100644 index edc22d26..00000000 --- a/unpackage/cache/.app-android/src/pages/user/bind-email.kt +++ /dev/null @@ -1,123 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesUserBindEmail : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesUserBindEmail) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesUserBindEmail - val _cache = __ins.renderCache - val email = ref("") - val code = ref("") - val counting = ref(false) - val count = ref(60) - var timer: Number = 0 - val sendCode = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (counting.value) { - return@w1 - } - if (email.value == "" || email.value.includes("@") == false) { - uni_showToast(ShowToastOptions(title = "请输入正确的邮箱", icon = "none")) - return@w1 - } - uni_showLoading(ShowLoadingOptions(title = "发送中...")) - uni_hideLoading() - counting.value = true - count.value = 60 - timer = setInterval(fun(){ - count.value-- - if (count.value <= 0) { - clearInterval(timer) - counting.value = false - } - } - , 1000) - uni_showToast(ShowToastOptions(title = "验证码已发送", icon = "none")) - }) - } - val handleSubmit = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (email.value == "" || code.value == "") { - uni_showToast(ShowToastOptions(title = "请填写完整信息", icon = "none")) - return@w1 - } - uni_showLoading(ShowLoadingOptions(title = "绑定中...")) - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "绑定成功", icon = "success")) - setTimeout(fun(){ - uni_navigateBack(null) - } - , 1500) - }) - } - return fun(): Any? { - return _cE("view", _uM("class" to "page-container"), _uA( - _cE("view", _uM("class" to "form-group"), _uA( - _cE("view", _uM("class" to "input-item"), _uA( - _cE("text", _uM("class" to "label"), "邮箱"), - _cE("input", _uM("class" to "input", "type" to "text", "placeholder" to "请输入邮箱地址", "modelValue" to email.value, "onInput" to fun(`$event`: UniInputEvent){ - email.value = `$event`.detail.value - } - ), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "input-item"), _uA( - _cE("text", _uM("class" to "label"), "验证码"), - _cE("input", _uM("class" to "input", "type" to "number", "placeholder" to "请输入验证码", "modelValue" to code.value, "onInput" to fun(`$event`: UniInputEvent){ - code.value = `$event`.detail.value - } - , "maxlength" to "6"), null, 40, _uA( - "modelValue", - "onInput" - )), - _cE("text", _uM("class" to "code-btn", "onClick" to sendCode), _tD(if (counting.value) { - "" + count.value + "s" - } else { - "获取验证码" - } - ), 1) - )) - )), - _cE("button", _uM("class" to "submit-btn", "onClick" to handleSubmit), "确认绑定") - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("page-container" to _pS(_uM("paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "backgroundColor" to "#f5f5f5", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "form-group" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginBottom" to 20)), "input-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#eeeeee", "borderBottomWidth:last-child" to "medium", "borderBottomStyle:last-child" to "none", "borderBottomColor:last-child" to "#000000")), "label" to _pS(_uM("width" to 70, "fontSize" to 14, "color" to "#333333")), "input" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to 14, "color" to "#333333")), "code-btn" to _pS(_uM("fontSize" to 12, "color" to "#ff4444", "paddingTop" to 5, "paddingRight" to 10, "paddingBottom" to 5, "paddingLeft" to 10, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ff4444", "borderRightColor" to "#ff4444", "borderBottomColor" to "#ff4444", "borderLeftColor" to "#ff4444", "borderTopLeftRadius" to 4, "borderTopRightRadius" to 4, "borderBottomRightRadius" to 4, "borderBottomLeftRadius" to 4)), "submit-btn" to _pS(_uM("backgroundColor" to "#ff4444", "color" to "#FFFFFF", "fontSize" to 16, "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "textAlign" to "center"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/user/bind-phone.kt b/unpackage/cache/.app-android/src/pages/user/bind-phone.kt deleted file mode 100644 index 495a7efe..00000000 --- a/unpackage/cache/.app-android/src/pages/user/bind-phone.kt +++ /dev/null @@ -1,131 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.getStorageSync as uni_getStorageSync -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -import io.dcloud.uniapp.extapi.setStorageSync as uni_setStorageSync -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesUserBindPhone : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesUserBindPhone) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesUserBindPhone - val _cache = __ins.renderCache - val phone = ref("") - val code = ref("") - val counting = ref(false) - val count = ref(60) - var timer: Number = 0 - val sendCode = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (counting.value) { - return@w1 - } - if (phone.value == "" || phone.value.length != 11) { - uni_showToast(ShowToastOptions(title = "请输入正确的手机号", icon = "none")) - return@w1 - } - uni_showLoading(ShowLoadingOptions(title = "发送中...")) - uni_hideLoading() - counting.value = true - count.value = 60 - timer = setInterval(fun(){ - count.value-- - if (count.value <= 0) { - clearInterval(timer) - counting.value = false - } - } - , 1000) - uni_showToast(ShowToastOptions(title = "验证码已发送", icon = "none")) - }) - } - val handleSubmit = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (phone.value == "" || code.value == "") { - uni_showToast(ShowToastOptions(title = "请填写完整信息", icon = "none")) - return@w1 - } - uni_showLoading(ShowLoadingOptions(title = "绑定中...")) - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "绑定成功", icon = "success")) - val userInfoRaw = uni_getStorageSync("userInfo") - if (userInfoRaw != null) { - val userInfo = userInfoRaw as UTSJSONObject - userInfo.set("phone", phone.value) - uni_setStorageSync("userInfo", userInfo) - } - setTimeout(fun(){ - uni_navigateBack(null) - } - , 1500) - }) - } - return fun(): Any? { - return _cE("view", _uM("class" to "page-container"), _uA( - _cE("view", _uM("class" to "form-group"), _uA( - _cE("view", _uM("class" to "input-item"), _uA( - _cE("text", _uM("class" to "label"), "手机号"), - _cE("input", _uM("class" to "input", "type" to "number", "placeholder" to "请输入新手机号", "modelValue" to phone.value, "onInput" to fun(`$event`: UniInputEvent){ - phone.value = `$event`.detail.value - } - , "maxlength" to "11"), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "input-item"), _uA( - _cE("text", _uM("class" to "label"), "验证码"), - _cE("input", _uM("class" to "input", "type" to "number", "placeholder" to "请输入验证码", "modelValue" to code.value, "onInput" to fun(`$event`: UniInputEvent){ - code.value = `$event`.detail.value - } - , "maxlength" to "6"), null, 40, _uA( - "modelValue", - "onInput" - )), - _cE("text", _uM("class" to "code-btn", "onClick" to sendCode), _tD(if (counting.value) { - "" + count.value + "s" - } else { - "获取验证码" - } - ), 1) - )) - )), - _cE("button", _uM("class" to "submit-btn", "onClick" to handleSubmit), "确认绑定") - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("page-container" to _pS(_uM("paddingTop" to 0, "paddingRight" to 15, "paddingBottom" to 0, "paddingLeft" to 15, "backgroundColor" to "#ffffff", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginBottom" to 30)), "input-item" to _pS(_uM("display" to "flex", "alignItems" to "center", "height" to 50, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#eeeeee", "borderBottomWidth:last-child" to "medium", "borderBottomStyle:last-child" to "none", "borderBottomColor:last-child" to "#000000")), "label" to _pS(_uM("width" to 70, "fontSize" to 14, "color" to "#333333")), "input" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to 14)), "code-btn" to _pS(_uM("color" to "#007aff", "fontSize" to 14, "paddingTop" to 5, "paddingRight" to 10, "paddingBottom" to 5, "paddingLeft" to 10)), "submit-btn" to _pS(_uM("backgroundColor" to "#007aff", "color" to "#ffffff", "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "fontSize" to 16))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/user/boot.kt b/unpackage/cache/.app-android/src/pages/user/boot.kt deleted file mode 100644 index 0ee090e4..00000000 --- a/unpackage/cache/.app-android/src/pages/user/boot.kt +++ /dev/null @@ -1,96 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.reLaunch as uni_reLaunch -open class GenPagesUserBoot : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) { - onLoad(fun(_: OnLoadOptions) { - this.checkAndRedirect() - } - , __ins) - onPageShow(fun() {}, __ins) - } - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - override fun `$render`(): Any? { - val _cache = this.`$`.renderCache - val _component_navigator = resolveComponent("navigator") - return _cE("view", _uM("class" to "page"), _uA( - _cE("view", _uM("class" to "splash"), _uA( - _cE("view", _uM("class" to "brand"), _uA( - _cE("view", _uM("class" to "brand-mark")), - _cE("view", _uM("class" to "brand-text"), _uA( - _cE("text", _uM("class" to "brand-name"), "Mall"), - _cE("text", _uM("class" to "brand-slogan"), "正品保障 · 省心售后") - )) - )), - _cE("view", _uM("class" to "status"), _uA( - _cE("view", _uM("class" to "spinner")), - _cE("text", _uM("class" to "status-text"), "正在检查登录状态…"), - _cE("text", _uM("class" to "status-sub"), "通常数秒内自动进入首页或登录页") - )), - _cE("view", _uM("class" to "actions"), _uA( - _cV(_component_navigator, _uM("url" to "/pages/user/login", "open-type" to "reLaunch", "class" to "action primary"), _uM("default" to withSlotCtx(fun(): UTSArray { - return _uA( - "前往登录" - ) - } - ), "_" to 1)), - _cV(_component_navigator, _uM("url" to "/pages/user/register", "open-type" to "navigate", "class" to "action ghost"), _uM("default" to withSlotCtx(fun(): UTSArray { - return _uA( - "我要注册" - ) - } - ), "_" to 1)) - )) - )) - )) - } - open var checkAndRedirect = ::gen_checkAndRedirect_fn - open fun gen_checkAndRedirect_fn() { - console.log("boot: start redirect check", " at pages/user/boot.uvue:40") - if (IS_TEST_MODE) { - return - } - try { - val sessionInfo = supaInstance.getSession() - if (sessionInfo != null && sessionInfo.user != null) { - uni_reLaunch(ReLaunchOptions(url = "/pages/main/index")) - return - } - } - catch (e: Throwable) { - console.error("boot: error checking session", e, " at pages/user/boot.uvue:54") - } - uni_reLaunch(ReLaunchOptions(url = "/pages/user/login")) - } - companion object { - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f7fa", "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to "48rpx", "paddingRight" to "32rpx", "paddingBottom" to "48rpx", "paddingLeft" to "32rpx")), "splash" to _pS(_uM("width" to "100%", "maxWidth" to "640rpx", "backgroundColor" to "#ffffff", "borderTopLeftRadius" to "24rpx", "borderTopRightRadius" to "24rpx", "borderBottomRightRadius" to "24rpx", "borderBottomLeftRadius" to "24rpx", "boxShadow" to "0 12rpx 48rpx rgba(0, 0, 0, 0.08)", "paddingTop" to "48rpx", "paddingRight" to "40rpx", "paddingBottom" to "48rpx", "paddingLeft" to "40rpx", "display" to "flex", "flexDirection" to "column", "justifyContent" to "space-between")), "brand" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "brand-mark" to _pS(_uM("width" to "80rpx", "height" to "80rpx", "borderTopLeftRadius" to "24rpx", "borderTopRightRadius" to "24rpx", "borderBottomRightRadius" to "24rpx", "borderBottomLeftRadius" to "24rpx", "backgroundColor" to "#ff6b6b", "marginRight" to "20rpx")), "brand-text" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "brand-name" to _pS(_uM("marginBottom" to "8rpx", "fontSize" to "36rpx", "fontWeight" to "700", "color" to "#111827")), "brand-slogan" to _pS(_uM("fontSize" to "26rpx", "color" to "#6b7280")), "status" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "textAlign" to "center", "marginTop" to "32rpx", "marginBottom" to "32rpx")), "status-text" to _pS(_uM("marginTop" to "12rpx", "fontSize" to "30rpx", "color" to "#111827", "fontWeight" to "700")), "spinner" to _pS(_uM("width" to "88rpx", "height" to "88rpx", "borderTopLeftRadius" to "44rpx", "borderTopRightRadius" to "44rpx", "borderBottomRightRadius" to "44rpx", "borderBottomLeftRadius" to "44rpx", "borderTopWidth" to "8rpx", "borderRightWidth" to "8rpx", "borderBottomWidth" to "8rpx", "borderLeftWidth" to "8rpx", "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#ff6b6b", "borderRightColor" to "#f3f4f6", "borderBottomColor" to "#f3f4f6", "borderLeftColor" to "#f3f4f6")), "status-sub" to _pS(_uM("fontSize" to "24rpx", "color" to "#6b7280")), "actions" to _pS(_uM("display" to "flex", "flexDirection" to "column")), "action" to _uM("" to _uM("marginBottom" to "16rpx", "width" to "100%", "textAlign" to "center", "paddingTop" to "24rpx", "paddingRight" to "24rpx", "paddingBottom" to "24rpx", "paddingLeft" to "24rpx", "borderTopLeftRadius" to "16rpx", "borderTopRightRadius" to "16rpx", "borderBottomRightRadius" to "16rpx", "borderBottomLeftRadius" to "16rpx", "fontSize" to "28rpx", "fontWeight" to "700"), ".primary" to _uM("backgroundImage" to "linear-gradient(135deg, #ff6b6b, #ff9f43)", "backgroundColor" to "rgba(0,0,0,0)", "color" to "#ffffff"), ".ghost" to _uM("borderTopWidth" to "2rpx", "borderRightWidth" to "2rpx", "borderBottomWidth" to "2rpx", "borderLeftWidth" to "2rpx", "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#e5e7eb", "borderRightColor" to "#e5e7eb", "borderBottomColor" to "#e5e7eb", "borderLeftColor" to "#e5e7eb", "color" to "#374151", "backgroundImage" to "none", "backgroundColor" to "#ffffff"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/user/center.kt b/unpackage/cache/.app-android/src/pages/user/center.kt deleted file mode 100644 index e458fd6b..00000000 --- a/unpackage/cache/.app-android/src/pages/user/center.kt +++ /dev/null @@ -1,222 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.framework.onShow as onShow__1 -import io.dcloud.uniapp.framework.onLoad as onLoad__1 -import io.dcloud.uniapp.extapi.reLaunch as uni_reLaunch -import io.dcloud.uniapp.extapi.removeStorageSync as uni_removeStorageSync -import io.dcloud.uniapp.extapi.showModal as uni_showModal -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesUserCenter : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesUserCenter) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesUserCenter - val _cache = __ins.renderCache - val profile = ref(null) - val userStats = ref(UserStatsType__1(trainings = 0, points = 0, streak = 0)) - val currentLocale = ref("zh-CN") - val userAvatar = ref("/static/default-avatar.png") - val toggleLanguage = fun(): Unit { - if (currentLocale.value === "zh-CN") { - currentLocale.value = "en-US" - } else { - currentLocale.value = "zh-CN" - } - uni_showToast(ShowToastOptions(title = "语言已切换", icon = "success")) - } - val loadProfile = fun(): UTSPromise { - return wrapUTSPromise(suspend { - try { - val res = await(supabaseService.getUserProfile()) - if (res != null) { - val profileData = res as UTSJSONObject - val p: ProfileType = ProfileType(id = profileData.getString("id") ?: "", username = profileData.getString("username"), email = profileData.getString("email"), avatar_url = profileData.getString("avatar_url")) - profile.value = p - if (p.avatar_url != null && p.avatar_url != "") { - userAvatar.value = p.avatar_url!! - } - } - } - catch (e: Throwable) { - console.error("加载用户资料失败:", e, " at pages/user/center.uvue:134") - } - }) - } - val loadUserStats = fun(): Unit { - userStats.value = UserStatsType__1(trainings = 12, points = 480, streak = 5) - } - val navigateToProfile = fun(): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/user/profile")) - } - val navigateTo = fun(url: String): Unit { - val implementedPages = _uA( - "/pages/user/profile" - ) as UTSArray - var found = false - run { - var i: Number = 0 - while(i < implementedPages.length){ - if (implementedPages[i] == url) { - found = true - break - } - i++ - } - } - if (found) { - uni_navigateTo(NavigateToOptions(url = url)) - } else { - uni_showToast(ShowToastOptions(title = "功能开发中", icon = "none")) - } - } - val handleLogout = fun(): Unit { - uni_removeStorageSync("userInfo") - uni_removeStorageSync("user_id") - uni_removeStorageSync("access_token") - uni_showToast(ShowToastOptions(title = "已退出登录", icon = "success")) - setTimeout(fun(){ - uni_reLaunch(ReLaunchOptions(url = "/pages/user/login")) - } - , 1000) - } - val showLogoutConfirm = fun(): Unit { - uni_showModal(ShowModalOptions(title = "提示", content = "确定要退出登录吗?", success = fun(res){ - if (res.confirm) { - handleLogout() - } - } - )) - } - onShow__1(fun(){ - loadProfile() - loadUserStats() - } - ) - return fun(): Any? { - return _cE("view", _uM("class" to "page-wrapper"), _uA( - _cE("view", _uM("class" to "top-section"), _uA( - _cE("view", _uM("class" to "language-switch"), _uA( - _cE("button", _uM("class" to "language-btn", "onClick" to toggleLanguage), _tD(if (currentLocale.value === "zh-CN") { - "EN" - } else { - "中文" - } - ), 1) - )) - )), - _cE("view", _uM("class" to "main-section"), _uA( - _cE("scroll-view", _uM("direction" to "vertical", "class" to "user-center-container"), _uA( - _cE("view", _uM("class" to "user-header"), _uA( - _cE("view", _uM("class" to "user-info"), _uA( - _cE("image", _uM("class" to "user-avatar", "src" to userAvatar.value, "mode" to "aspectFill"), null, 8, _uA( - "src" - )), - _cE("view", _uM("class" to "user-details"), _uA( - _cE("text", _uM("class" to "user-name"), _tD(if (profile.value != null && profile.value!!.username != null) { - profile.value!!.username - } else { - "未命名用户" - } - ), 1), - _cE("view", _uM("class" to "edit-profile-link", "onClick" to navigateToProfile), _uA( - _cE("text", _uM("class" to "edit-text"), "编辑资料"), - _cE("text", _uM("class" to "edit-icon"), "✏️") - )) - )) - )), - _cE("view", _uM("class" to "stats-container"), _uA( - _cE("view", _uM("class" to "stat-item"), _uA( - _cE("text", _uM("class" to "stat-value"), _tD(userStats.value.trainings), 1), - _cE("text", _uM("class" to "stat-label"), "训练") - )), - _cE("view", _uM("class" to "stat-divider")), - _cE("view", _uM("class" to "stat-item"), _uA( - _cE("text", _uM("class" to "stat-value"), _tD(userStats.value.points), 1), - _cE("text", _uM("class" to "stat-label"), "积分") - )), - _cE("view", _uM("class" to "stat-divider")), - _cE("view", _uM("class" to "stat-item"), _uA( - _cE("text", _uM("class" to "stat-value"), _tD(userStats.value.streak), 1), - _cE("text", _uM("class" to "stat-label"), "连续") - )) - )) - )), - _cE("view", _uM("class" to "menu-sections"), _uA( - _cE("view", _uM("class" to "menu-section"), _uA( - _cE("view", _uM("class" to "section-header"), _uA( - _cE("text", _uM("class" to "section-title"), "设置") - )), - _cE("view", _uM("class" to "section-items"), _uA( - _cE("view", _uM("class" to "menu-item", "onClick" to fun(){ - navigateTo("/pages/settings/app") - } - ), _uA( - _cE("view", _uM("class" to "menu-icon app-settings"), "⚙️"), - _cE("text", _uM("class" to "menu-text"), "应用设置"), - _cE("text", _uM("class" to "menu-arrow"), ">") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "menu-item", "onClick" to fun(){ - navigateTo("/pages/settings/about") - } - ), _uA( - _cE("view", _uM("class" to "menu-icon about"), "ℹ️"), - _cE("text", _uM("class" to "menu-text"), "关于"), - _cE("text", _uM("class" to "menu-arrow"), ">") - ), 8, _uA( - "onClick" - )), - _cE("view", _uM("class" to "menu-item", "onClick" to fun(){ - navigateTo("/pages/user/notifications") - } - ), _uA( - _cE("view", _uM("class" to "menu-icon notifications"), "🔔"), - _cE("text", _uM("class" to "menu-text"), "通知"), - _cE("text", _uM("class" to "menu-arrow"), ">") - ), 8, _uA( - "onClick" - )) - )) - )) - )), - _cE("button", _uM("class" to "logout-button", "onClick" to showLogoutConfirm), "退出登录") - )) - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("page-wrapper" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundColor" to "#f5f5f5")), "top-section" to _pS(_uM("paddingTop" to 10, "paddingRight" to 15, "paddingBottom" to 10, "paddingLeft" to 15, "backgroundColor" to "#ffffff")), "language-switch" to _pS(_uM("display" to "flex", "justifyContent" to "flex-end")), "language-btn" to _pS(_uM("fontSize" to 12, "paddingTop" to 5, "paddingRight" to 15, "paddingBottom" to 5, "paddingLeft" to 15, "backgroundColor" to "#f0f0f0", "borderTopLeftRadius" to 15, "borderTopRightRadius" to 15, "borderBottomRightRadius" to 15, "borderBottomLeftRadius" to 15)), "main-section" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "user-center-container" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "user-header" to _pS(_uM("backgroundColor" to "#ffffff", "paddingTop" to 20, "paddingRight" to 15, "paddingBottom" to 20, "paddingLeft" to 15, "marginBottom" to 10)), "user-info" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "user-avatar" to _pS(_uM("width" to 60, "height" to 60, "borderTopLeftRadius" to 30, "borderTopRightRadius" to 30, "borderBottomRightRadius" to 30, "borderBottomLeftRadius" to 30, "backgroundColor" to "#eeeeee")), "user-details" to _pS(_uM("marginLeft" to 15, "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "user-name" to _pS(_uM("fontSize" to 18, "fontWeight" to "bold", "color" to "#333333")), "edit-profile-link" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginTop" to 5)), "edit-text" to _pS(_uM("fontSize" to 12, "color" to "#007aff")), "edit-icon" to _pS(_uM("fontSize" to 12, "marginLeft" to 5)), "stats-container" to _pS(_uM("display" to "flex", "flexDirection" to "row", "justifyContent" to "space-around", "marginTop" to 20, "paddingTop" to 15, "borderTopWidth" to 1, "borderTopStyle" to "solid", "borderTopColor" to "#eeeeee")), "stat-item" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "stat-value" to _pS(_uM("fontSize" to 20, "fontWeight" to "bold", "color" to "#333333")), "stat-label" to _pS(_uM("fontSize" to 12, "color" to "#999999", "marginTop" to 5)), "stat-divider" to _pS(_uM("width" to 1, "height" to 30, "backgroundColor" to "#eeeeee")), "menu-sections" to _pS(_uM("backgroundColor" to "#ffffff", "marginBottom" to 10)), "menu-section" to _pS(_uM("paddingTop" to 15, "paddingRight" to 15, "paddingBottom" to 15, "paddingLeft" to 15)), "section-header" to _pS(_uM("marginBottom" to 10)), "section-title" to _pS(_uM("fontSize" to 14, "color" to "#999999")), "section-items" to _pS(_uM("backgroundColor" to "#ffffff")), "menu-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "paddingTop" to 12, "paddingRight" to 0, "paddingBottom" to 12, "paddingLeft" to 0, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#f5f5f5", "borderBottomWidth:last-child" to "medium", "borderBottomStyle:last-child" to "none", "borderBottomColor:last-child" to "#000000")), "menu-icon" to _pS(_uM("width" to 30, "fontSize" to 18)), "menu-text" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to 14, "color" to "#333333")), "menu-arrow" to _pS(_uM("fontSize" to 14, "color" to "#cccccc")), "logout-button" to _pS(_uM("marginTop" to 20, "marginRight" to 15, "marginBottom" to 20, "marginLeft" to 15, "backgroundColor" to "#ff4444", "color" to "#ffffff", "fontSize" to 16, "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "textAlign" to "center"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/user/change-password.kt b/unpackage/cache/.app-android/src/pages/user/change-password.kt deleted file mode 100644 index 506e8089..00000000 --- a/unpackage/cache/.app-android/src/pages/user/change-password.kt +++ /dev/null @@ -1,105 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.hideLoading as uni_hideLoading -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -import io.dcloud.uniapp.extapi.showLoading as uni_showLoading -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesUserChangePassword : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesUserChangePassword) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesUserChangePassword - val _cache = __ins.renderCache - val oldPassword = ref("") - val newPassword = ref("") - val confirmPassword = ref("") - val handleSubmit = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (oldPassword.value == "" || newPassword.value == "" || confirmPassword.value == "") { - uni_showToast(ShowToastOptions(title = "请填写完整信息", icon = "none")) - return@w1 - } - if (newPassword.value != confirmPassword.value) { - uni_showToast(ShowToastOptions(title = "两次输入的密码不一致", icon = "none")) - return@w1 - } - uni_showLoading(ShowLoadingOptions(title = "提交中...")) - uni_hideLoading() - uni_showToast(ShowToastOptions(title = "修改成功", icon = "success")) - setTimeout(fun(){ - uni_navigateBack(null) - } - , 1500) - }) - } - return fun(): Any? { - return _cE("view", _uM("class" to "page-container"), _uA( - _cE("view", _uM("class" to "form-group"), _uA( - _cE("view", _uM("class" to "input-item"), _uA( - _cE("text", _uM("class" to "label"), "旧密码"), - _cE("input", _uM("class" to "input", "type" to "password", "placeholder" to "请输入旧密码", "modelValue" to oldPassword.value, "onInput" to fun(`$event`: UniInputEvent){ - oldPassword.value = `$event`.detail.value - } - ), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "input-item"), _uA( - _cE("text", _uM("class" to "label"), "新密码"), - _cE("input", _uM("class" to "input", "type" to "password", "placeholder" to "请输入新密码", "modelValue" to newPassword.value, "onInput" to fun(`$event`: UniInputEvent){ - newPassword.value = `$event`.detail.value - } - ), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "input-item"), _uA( - _cE("text", _uM("class" to "label"), "确认密码"), - _cE("input", _uM("class" to "input", "type" to "password", "placeholder" to "请再次输入新密码", "modelValue" to confirmPassword.value, "onInput" to fun(`$event`: UniInputEvent){ - confirmPassword.value = `$event`.detail.value - } - ), null, 40, _uA( - "modelValue", - "onInput" - )) - )) - )), - _cE("button", _uM("class" to "submit-btn", "onClick" to handleSubmit), "确认修改") - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("page-container" to _pS(_uM("paddingTop" to 20, "paddingRight" to 20, "paddingBottom" to 20, "paddingLeft" to 20, "backgroundColor" to "#f5f5f5", "flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%")), "form-group" to _pS(_uM("backgroundColor" to "#ffffff", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "paddingTop" to 0, "paddingRight" to 15, "paddingBottom" to 0, "paddingLeft" to 15, "marginBottom" to 30)), "input-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "height" to 50, "borderBottomWidth" to 1, "borderBottomStyle" to "solid", "borderBottomColor" to "#eeeeee", "borderBottomWidth:last-child" to "medium", "borderBottomStyle:last-child" to "none", "borderBottomColor:last-child" to "#000000")), "label" to _pS(_uM("width" to 80, "fontSize" to 14, "color" to "#333333")), "input" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to 14)), "submit-btn" to _pS(_uM("backgroundColor" to "#007aff", "color" to "#ffffff", "borderTopLeftRadius" to 25, "borderTopRightRadius" to 25, "borderBottomRightRadius" to 25, "borderBottomLeftRadius" to 25, "fontSize" to 16, "paddingTop" to 12, "paddingRight" to 12, "paddingBottom" to 12, "paddingLeft" to 12, "textAlign" to "center"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/user/forgot-password.kt b/unpackage/cache/.app-android/src/pages/user/forgot-password.kt deleted file mode 100644 index f7435441..00000000 --- a/unpackage/cache/.app-android/src/pages/user/forgot-password.kt +++ /dev/null @@ -1,168 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesUserForgotPassword : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesUserForgotPassword) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesUserForgotPassword - val _cache = __ins.renderCache - val email = ref("") - val emailError = ref("") - val generalError = ref("") - val isLoading = ref(false) - val resetEmailSent = ref(false) - val currentLocale = ref("zh-CN") - val toggleLanguage = fun(): Unit { - if (currentLocale.value === "zh-CN") { - currentLocale.value = "en-US" - } else { - currentLocale.value = "zh-CN" - } - uni_showToast(ShowToastOptions(title = "语言已切换", icon = "success")) - } - val validateEmail = fun(): Boolean { - if (email.value == null || email.value == "") { - emailError.value = "请输入邮箱地址" - return false - } - val atIndex = email.value.indexOf("@") - val dotIndex = email.value.lastIndexOf(".") - if (atIndex == -1 || dotIndex == -1 || atIndex > dotIndex) { - emailError.value = "请输入有效的邮箱地址" - return false - } - emailError.value = "" - return true - } - val handleResetRequest = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - generalError.value = "" - if (validateEmail() == false) { - return@w1 - } - isLoading.value = true - try { - resetEmailSent.value = true - } - catch (err: Throwable) { - console.error("Password reset error:", err, " at pages/user/forgot-password.uvue:107") - generalError.value = "发送失败,请稍后重试" - } - finally { - isLoading.value = false - } - }) - } - val onSubmit = fun(e: UniFormSubmitEvent): Unit { - handleResetRequest() - } - val navigateToLogin = fun(): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/user/login")) - } - return fun(): Any? { - val _component_form = resolveComponent("form") - return _cE("scroll-view", _uM("class" to "forgot-password-container", "scroll-y" to "true", "show-scrollbar" to "false"), _uA( - _cE("view", _uM("class" to "language-switch"), _uA( - _cE("button", _uM("class" to "language-btn", "onClick" to toggleLanguage), _tD(if (currentLocale.value === "zh-CN") { - "EN" - } else { - "中" - } - ), 1) - )), - _cE("view", _uM("class" to "content-wrapper"), _uA( - _cE("view", _uM("class" to "logo-section"), _uA( - _cE("text", _uM("class" to "app-title"), "Akmon"), - _cE("text", _uM("class" to "page-title"), "忘记密码"), - _cE("text", _uM("class" to "page-subtitle"), "输入您的邮箱地址,我们将发送重置链接") - )), - _cE("view", _uM("class" to "form-container"), _uA( - if (resetEmailSent.value == false) { - _cE("view", _uM("key" to 0), _uA( - _cV(_component_form, _uM("onSubmit" to onSubmit), _uM("default" to withSlotCtx(fun(): UTSArray { - return _uA( - _cE("view", _uM("class" to _nC(_uA( - "input-group", - if (emailError.value != "") { - "input-error" - } else { - "" - } - ))), _uA( - _cE("text", _uM("class" to "input-label"), "邮箱"), - _cE("input", _uM("class" to "input-field", "name" to "email", "type" to "text", "modelValue" to email.value, "onInput" to fun(`$event`: UniInputEvent){ - email.value = `$event`.detail.value - }, "placeholder" to "请输入邮箱地址", "onBlur" to validateEmail), null, 40, _uA( - "modelValue", - "onInput" - )), - if (emailError.value != "") { - _cE("text", _uM("key" to 0, "class" to "error-text"), _tD(emailError.value), 1) - } else { - _cC("v-if", true) - } - ), 2), - _cE("button", _uM("form-type" to "submit", "class" to "submit-button", "disabled" to isLoading.value, "loading" to isLoading.value), " 发送重置链接 ", 8, _uA( - "disabled", - "loading" - )), - if (generalError.value != "") { - _cE("text", _uM("key" to 0, "class" to "general-error"), _tD(generalError.value), 1) - } else { - _cC("v-if", true) - } - ) - }), "_" to 1)), - _cE("view", _uM("class" to "login-option"), _uA( - _cE("text", _uM("class" to "login-text"), "想起密码了?"), - _cE("text", _uM("class" to "login-link", "onClick" to navigateToLogin), "返回登录") - )) - )) - } else { - _cE("view", _uM("key" to 1, "class" to "success-container"), _uA( - _cE("view", _uM("class" to "success-icon"), "✓"), - _cE("text", _uM("class" to "success-title"), "邮件已发送"), - _cE("text", _uM("class" to "success-message"), "请检查您的邮箱,按照邮件中的说明重置密码"), - _cE("button", _uM("class" to "back-button", "onClick" to navigateToLogin), " 返回登录 ") - )) - } - )) - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("forgot-password-container" to _pS(_uM("height" to "100%", "paddingTop" to "40rpx", "paddingRight" to "40rpx", "paddingBottom" to "40rpx", "paddingLeft" to "40rpx", "backgroundColor" to "#f8f9fa", "boxSizing" to "border-box")), "content-wrapper" to _pS(_uM("width" to "100%", "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "flex-start", "paddingBottom" to "40rpx", "minHeight" to "800rpx")), "language-switch" to _pS(_uM("position" to "absolute", "top" to "40rpx", "right" to "40rpx", "zIndex" to 10)), "language-btn" to _pS(_uM("width" to "80rpx", "height" to "80rpx", "borderTopLeftRadius" to "40rpx", "borderTopRightRadius" to "40rpx", "borderBottomRightRadius" to "40rpx", "borderBottomLeftRadius" to "40rpx", "fontSize" to "28rpx", "backgroundColor" to "rgba(33,150,243,0.8)", "color" to "#ffffff", "fontWeight" to "normal", "borderTopWidth" to "2rpx", "borderRightWidth" to "2rpx", "borderBottomWidth" to "2rpx", "borderLeftWidth" to "2rpx", "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "rgba(255,255,255,0.3)", "borderRightColor" to "rgba(255,255,255,0.3)", "borderBottomColor" to "rgba(255,255,255,0.3)", "borderLeftColor" to "rgba(255,255,255,0.3)", "textAlign" to "center", "boxShadow" to "0 4rpx 12rpx rgba(33, 150, 243, 0.3)")), "logo-section" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "marginTop" to "80rpx", "marginBottom" to "40rpx")), "app-title" to _pS(_uM("fontSize" to "36rpx", "fontWeight" to "bold", "color" to "#2196f3")), "page-title" to _pS(_uM("fontSize" to "48rpx", "marginTop" to "20rpx", "fontWeight" to "bold", "color" to "#333333")), "page-subtitle" to _pS(_uM("fontSize" to "28rpx", "marginTop" to "10rpx", "color" to "#666666")), "form-container" to _pS(_uM("width" to "100%", "maxWidth" to "680rpx", "paddingTop" to "40rpx", "paddingRight" to "40rpx", "paddingBottom" to "40rpx", "paddingLeft" to "40rpx", "backgroundColor" to "#ffffff", "borderTopLeftRadius" to "20rpx", "borderTopRightRadius" to "20rpx", "borderBottomRightRadius" to "20rpx", "borderBottomLeftRadius" to "20rpx", "boxShadow" to "0 10rpx 30rpx rgba(0, 0, 0, 0.1)", "boxSizing" to "border-box")), "input-group" to _pS(_uM("marginBottom" to "30rpx")), "input-label" to _pS(_uM("fontSize" to "28rpx", "marginBottom" to "10rpx", "fontWeight" to "normal", "color" to "#333333", "display" to "flex")), "input-field" to _uM("" to _uM("width" to "100%", "height" to "90rpx", "paddingTop" to 0, "paddingRight" to "30rpx", "paddingBottom" to 0, "paddingLeft" to "30rpx", "fontSize" to "28rpx", "borderTopLeftRadius" to "10rpx", "borderTopRightRadius" to "10rpx", "borderBottomRightRadius" to "10rpx", "borderBottomLeftRadius" to "10rpx", "borderTopWidth" to "2rpx", "borderRightWidth" to "2rpx", "borderBottomWidth" to "2rpx", "borderLeftWidth" to "2rpx", "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#dddddd", "borderRightColor" to "#dddddd", "borderBottomColor" to "#dddddd", "borderLeftColor" to "#dddddd", "backgroundColor" to "#f9f9f9", "boxSizing" to "border-box"), ".input-error " to _uM("borderTopColor" to "#f44336", "borderRightColor" to "#f44336", "borderBottomColor" to "#f44336", "borderLeftColor" to "#f44336")), "error-text" to _pS(_uM("fontSize" to "24rpx", "marginTop" to "6rpx", "color" to "#f44336")), "submit-button" to _pS(_uM("width" to "100%", "height" to "90rpx", "fontSize" to "32rpx", "marginTop" to "20rpx", "marginRight" to 0, "marginBottom" to "20rpx", "marginLeft" to 0, "borderTopLeftRadius" to "45rpx", "borderTopRightRadius" to "45rpx", "borderBottomRightRadius" to "45rpx", "borderBottomLeftRadius" to "45rpx", "backgroundImage" to "linear-gradient(to right, #2196f3, #03a9f4)", "color" to "#ffffff", "fontWeight" to "normal", "textAlign" to "center", "boxShadow" to "0 10rpx 20rpx rgba(3, 169, 244, 0.2)", "backgroundImage:disabled" to "none", "backgroundColor:disabled" to "#cccccc", "boxShadow:disabled" to "none")), "general-error" to _pS(_uM("width" to "100%", "textAlign" to "center", "color" to "#f44336", "fontSize" to "28rpx", "marginTop" to "20rpx")), "login-option" to _pS(_uM("display" to "flex", "justifyContent" to "center", "marginTop" to "40rpx")), "login-text" to _pS(_uM("fontSize" to "28rpx", "marginRight" to "8rpx", "color" to "#666666")), "login-link" to _pS(_uM("fontSize" to "28rpx", "color" to "#2196f3", "fontWeight" to "normal")), "success-container" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "paddingTop" to "20rpx", "paddingRight" to 0, "paddingBottom" to "20rpx", "paddingLeft" to 0)), "success-icon" to _pS(_uM("width" to "120rpx", "height" to "120rpx", "fontSize" to "60rpx", "marginBottom" to "30rpx", "backgroundColor" to "#4caf50", "color" to "#FFFFFF", "borderTopLeftRadius" to "120rpx", "borderTopRightRadius" to "120rpx", "borderBottomRightRadius" to "120rpx", "borderBottomLeftRadius" to "120rpx", "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "success-title" to _pS(_uM("fontSize" to "36rpx", "marginBottom" to "20rpx", "fontWeight" to "bold", "color" to "#333333")), "success-message" to _pS(_uM("fontSize" to "28rpx", "marginBottom" to "40rpx", "color" to "#666666", "textAlign" to "center")), "back-button" to _pS(_uM("width" to "100%", "height" to "90rpx", "fontSize" to "32rpx", "borderTopLeftRadius" to "45rpx", "borderTopRightRadius" to "45rpx", "borderBottomRightRadius" to "45rpx", "borderBottomLeftRadius" to "45rpx", "backgroundColor" to "#f0f0f0", "color" to "#333333", "fontWeight" to "normal", "textAlign" to "center"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/user/login.kt b/unpackage/cache/.app-android/src/pages/user/login.kt deleted file mode 100644 index 670637b2..00000000 --- a/unpackage/cache/.app-android/src/pages/user/login.kt +++ /dev/null @@ -1,422 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.reLaunch as uni_reLaunch -import io.dcloud.uniapp.extapi.setStorageSync as uni_setStorageSync -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesUserLogin : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesUserLogin) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesUserLogin - val _cache = __ins.renderCache - val cssVars: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("cssVars", "pages/user/login.uvue", 144, 7)) { - var `--bg` = "#f5f6f8" - var `--card` = "#ffffff" - var `--brand` = "#e1251b" - var `--text` = "#333333" - var `--muted` = "#666666" - var `--muted2` = "#999999" - var `--border` = "#eeeeee" - var `--inputbg` = "#f6f7f9" - var `--shadow` = "0 2px 12px rgba(0,0,0,0.06)" - } - val logoUrl = ref("/static/logo.png") - val loginType = ref(0) - val account = ref("") - val password = ref("") - val captcha = ref("") - val TEST_ACCOUNT = "test@mall.com" - val TEST_PASSWORD = "Hf2152111" - val isLoading = ref(false) - val codeDisabled = ref(false) - val codeText = ref("获取验证码") - val codeTimer = ref(0) - val codeCountdown = ref(0) - val checkLoginStatus = fun(): Unit { - try { - if (IS_TEST_MODE) { - return - } - val sessionInfo = supaInstance.getSession() - if (sessionInfo != null && sessionInfo.user != null) { - val pages = getCurrentPages() - if (pages.length > 0) { - val currentPage = pages[pages.length - 1] - val opts = currentPage.options as UTSJSONObject - val redirect = opts.getString("redirect") - if (redirect != null && redirect != "") { - uni_reLaunch(ReLaunchOptions(url = "/pages/main/index")) - } else { - uni_reLaunch(ReLaunchOptions(url = "/pages/main/index")) - } - } else { - uni_reLaunch(ReLaunchOptions(url = "/pages/main/index")) - } - } - } - catch (e: Throwable) { - console.error("检查登录状态失败:", e, " at pages/user/login.uvue:194") - } - } - onMounted(fun(){ - checkLoginStatus() - account.value = TEST_ACCOUNT - password.value = TEST_PASSWORD - } - ) - val validateAccount = fun(): Boolean { - if (account.value.trim() === "") { - uni_showToast(ShowToastOptions(title = "请填写账号", icon = "none")) - return false - } - if (loginType.value === 1) { - if (!UTSRegExp("^1[3-9]\\d{9}\$", "").test(account.value)) { - uni_showToast(ShowToastOptions(title = "请输入正确的手机号码", icon = "none")) - return false - } - } - return true - } - val validatePassword = fun(): Boolean { - if (password.value.trim() === "") { - uni_showToast(ShowToastOptions(title = "请填写密码", icon = "none")) - return false - } - if (password.value.length < 6) { - uni_showToast(ShowToastOptions(title = "密码长度不能少于6位", icon = "none")) - return false - } - return true - } - val validateCaptcha = fun(): Boolean { - if (captcha.value.trim() === "") { - uni_showToast(ShowToastOptions(title = "请填写验证码", icon = "none")) - return false - } - if (!UTSRegExp("^\\d{6}\$", "").test(captcha.value)) { - uni_showToast(ShowToastOptions(title = "请输入正确的验证码", icon = "none")) - return false - } - return true - } - val getCode = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (codeDisabled.value) { - return@w1 - } - if (!validateAccount()) { - return@w1 - } - uni_showToast(ShowToastOptions(title = "验证码已发送", icon = "success")) - codeDisabled.value = true - codeCountdown.value = 60 - codeText.value = "" + codeCountdown.value + "秒后重试" - codeTimer.value = setInterval(fun(){ - codeCountdown.value-- - if (codeCountdown.value > 0) { - codeText.value = "" + codeCountdown.value + "秒后重试" - } else { - codeDisabled.value = false - codeText.value = "获取验证码" - if (codeTimer.value != 0) { - clearInterval(codeTimer.value) - codeTimer.value = 0 - } - } - } - , 1000) as Number - }) - } - val handleLogin = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (!validateAccount()) { - return@w1 - } - if (account.value === "admin" && password.value === "admin") { - setIsLoggedIn(true) - val adminProfile = UserProfile(id = "admin", username = "Admin", email = "admin@mall.com", gender = "unknown", birthday = "", height_cm = 0, weight_kg = 0, bio = "Administrator", avatar_url = "/static/logo.png", preferred_language = "zh-CN", role = "admin", school_id = "", grade_id = "", class_id = "") - setUserProfile(adminProfile) - uni_showToast(ShowToastOptions(title = "管理员登录成功", icon = "success")) - setTimeout(fun(){ - uni_reLaunch(ReLaunchOptions(url = "/pages/main/index")) - } - , 500) - return@w1 - } - if (loginType.value === 0) { - if (!validatePassword()) { - return@w1 - } - } else { - if (!validateCaptcha()) { - return@w1 - } - } - isLoading.value = true - try { - logout() - if (loginType.value === 0) { - val isEmail = account.value.includes("@") - if (isEmail) { - val result = await(supaInstance.signIn(account.value.trim(), password.value)) - console.log("signIn result:", result, " at pages/user/login.uvue:314") - if (result.user == null) { - val rawData = result.raw as UTSJSONObject - val errorMsg = rawData?.getString("msg") ?: "" - val errorCode = rawData?.getString("error_code") ?: "" - if (errorMsg.includes("email") && errorMsg.includes("confirm") || errorCode === "email_not_confirmed" || errorMsg.includes("邮箱") && errorMsg.includes("确认")) { - throw UTSError("邮箱未确认,请先检查邮箱并点击确认链接") - } else if (errorMsg.includes("Invalid login credentials") || errorCode === "invalid_credentials" || errorMsg.includes("credentials") || errorMsg.includes("invalid")) { - throw UTSError("用户名或密码错误") - } else { - throw UTSError(if (errorMsg != "") { - errorMsg - } else { - "登录失败,请重试" - } - ) - } - } - } else { - uni_showToast(ShowToastOptions(title = "手机号密码登录功能开发中", icon = "none")) - return@w1 - } - } else { - uni_showToast(ShowToastOptions(title = "手机验证码登录功能开发中", icon = "none")) - return@w1 - } - try { - val profile = await(getCurrentUser()) - console.log("current user profile:", profile, " at pages/user/login.uvue:348") - } - catch (e: Throwable) { - console.error("获取用户信息失败(忽略,不阻塞登录):", e, " at pages/user/login.uvue:350") - } - val currentSession = supaInstance.getSession() - if (currentSession.user != null) { - val uid = currentSession.user?.getString("id") - if (uid != null) { - uni_setStorageSync("user_id", uid) - console.log("用户ID已保存到本地存储:", uid, " at pages/user/login.uvue:359") - } - } - uni_showToast(ShowToastOptions(title = "登录成功", icon = "success")) - setTimeout(fun(){ - uni_reLaunch(ReLaunchOptions(url = "/pages/main/index")) - } - , 500) - } - catch (err: Throwable) { - console.error("登录错误:", err, " at pages/user/login.uvue:368") - var msg = "登录失败,请重试" - try { - val e = err as UTSError - if (e.message != null && e.message.trim() !== "") { - msg = e.message - } - } - catch (e2: Throwable) {} - uni_showToast(ShowToastOptions(title = msg, icon = "none")) - } - finally { - isLoading.value = false - } - }) - } - val navigateToRegister = fun(): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/user/register")) - } - val handleTutorial = fun(){ - return uni_showToast(ShowToastOptions(title = "扫码教程开发中", icon = "none")) - } - val handleForgotPassword = fun(){ - return uni_showToast(ShowToastOptions(title = "忘记密码开发中", icon = "none")) - } - val handleWechatLogin = fun(){ - return uni_showToast(ShowToastOptions(title = "微信登录开发中", icon = "none")) - } - val handleQQLogin = fun(){ - return uni_showToast(ShowToastOptions(title = "QQ登录开发中", icon = "none")) - } - return fun(): Any? { - return _cE("view", _uM("class" to "page", "style" to cssVars), _uA( - _cE("view", _uM("class" to "header"), _uA( - _cE("view", _uM("class" to "header-left"), _uA( - _cE("image", _uM("src" to logoUrl.value, "mode" to "aspectFit", "class" to "logo"), null, 8, _uA( - "src" - )) - )) - )), - _cE("view", _uM("class" to "main"), _uA( - _cE("view", _uM("class" to "card"), _uA( - _cE("view", _uM("class" to "left"), _uA( - _cE("text", _uM("class" to "left-title"), "APP 扫码登录"), - _cE("view", _uM("class" to "left-hint"), _uA( - _cE("text", _uM("class" to "hint-text"), "打开 APP 扫一扫"), - _cE("text", _uM("class" to "hint-link", "onClick" to handleTutorial), "查看教程") - )), - _cE("view", _uM("class" to "qr-wrap"), _uA( - _cE("view", _uM("class" to "qr"), _uA( - _cE("view", _uM("class" to "qr-placeholder"), _uA( - _cE("text", _uM("class" to "qr-text"), "二维码占位"), - _cE("text", _uM("class" to "qr-sub"), "220×220") - )) - )) - )) - )), - _cE("view", _uM("class" to "divider")), - _cE("view", _uM("class" to "right"), _uA( - _cE("view", _uM("class" to "right-inner"), _uA( - _cE("view", _uM("class" to "tabs"), _uA( - _cE("view", _uM("class" to _nC(_uA( - "tab", - _uM("active" to (loginType.value === 0)) - )), "onClick" to fun(){ - loginType.value = 0 - } - ), _uA( - _cE("text", _uM("class" to "tab-text"), "密码登录"), - if (loginType.value === 0) { - _cE("view", _uM("key" to 0, "class" to "tab-line")) - } else { - _cC("v-if", true) - } - ), 10, _uA( - "onClick" - )), - _cE("view", _uM("class" to _nC(_uA( - "tab", - _uM("active" to (loginType.value === 1)) - )), "onClick" to fun(){ - loginType.value = 1 - } - ), _uA( - _cE("text", _uM("class" to "tab-text"), "短信登录"), - if (loginType.value === 1) { - _cE("view", _uM("key" to 0, "class" to "tab-line")) - } else { - _cC("v-if", true) - } - ), 10, _uA( - "onClick" - )) - )), - _cE("view", _uM("class" to "form"), _uA( - if (loginType.value === 0) { - _cE(Fragment, _uM("key" to 0), _uA( - _cE("view", _uM("class" to "field"), _uA( - _cE("input", _uM("class" to "input", "type" to "text", "placeholder" to "账号名/手机号/邮箱", "modelValue" to account.value, "onInput" to fun(`$event`: UniInputEvent){ - account.value = `$event`.detail.value - }), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "field"), _uA( - _cE("input", _uM("class" to "input", "type" to "password", "placeholder" to "密码", "modelValue" to password.value, "onInput" to fun(`$event`: UniInputEvent){ - password.value = `$event`.detail.value - }), null, 40, _uA( - "modelValue", - "onInput" - )) - )) - ), 64) - } else { - _cE(Fragment, _uM("key" to 1), _uA( - _cE("view", _uM("class" to "field"), _uA( - _cE("input", _uM("class" to "input", "type" to "text", "placeholder" to "输入手机号码", "maxlength" to "11", "modelValue" to account.value, "onInput" to fun(`$event`: UniInputEvent){ - account.value = `$event`.detail.value - } - ), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "field code-row"), _uA( - _cE("input", _uM("class" to "input code-input", "type" to "text", "placeholder" to "填写验证码", "maxlength" to "6", "modelValue" to captcha.value, "onInput" to fun(`$event`: UniInputEvent){ - captcha.value = `$event`.detail.value - } - ), null, 40, _uA( - "modelValue", - "onInput" - )), - _cE("view", _uM("class" to _nC(_uA( - "code-btn", - if (codeDisabled.value) { - "disabled" - } else { - "" - } - )), "onClick" to getCode), _uA( - _cE("text", _uM("class" to "code-text"), _tD(codeText.value), 1) - ), 2) - )) - ), 64) - } - , - _cE("view", _uM("class" to _nC(_uA( - "btn", - _uM("disabled" to isLoading.value) - )), "onClick" to handleLogin), _uA( - _cE("text", _uM("class" to "btn-text"), "登录") - ), 2), - _cE("view", _uM("class" to "actions"), _uA( - _cE("view", _uM("class" to "action-item", "onClick" to handleWechatLogin), _uA( - _cE("view", _uM("class" to "dot wechat")), - _cE("text", _uM("class" to "action-text"), "微信登录") - )), - _cE("text", _uM("class" to "sep"), "|"), - _cE("view", _uM("class" to "action-item", "onClick" to handleQQLogin), _uA( - _cE("view", _uM("class" to "dot qq")), - _cE("text", _uM("class" to "action-text"), "QQ登录") - )), - _cE("text", _uM("class" to "sep"), "|"), - _cE("text", _uM("class" to "action-link", "onClick" to handleForgotPassword), "忘记密码"), - _cE("text", _uM("class" to "sep"), "|"), - _cE("text", _uM("class" to "action-link", "onClick" to navigateToRegister), "立即注册") - )) - )) - )) - )) - )) - )), - _cE("view", _uM("class" to "footer"), _uA( - _cE("text", _uM("class" to "footer-text"), "Copyright ©2024 Mall. All Rights Reserved") - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "backgroundColor" to "#f5f6f8")), "header" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "flex-start", "paddingTop" to 30, "paddingRight" to 40, "paddingBottom" to 30, "paddingLeft" to 40)), "logo" to _pS(_uM("width" to 240, "height" to 64)), "main" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "paddingTop" to 20, "paddingRight" to 10, "paddingBottom" to 20, "paddingLeft" to 10)), "card" to _pS(_uM("width" to "90%", "backgroundColor" to "#ffffff", "borderTopLeftRadius" to 16, "borderTopRightRadius" to 16, "borderBottomRightRadius" to 16, "borderBottomLeftRadius" to 16, "paddingTop" to 30, "paddingRight" to 30, "paddingBottom" to 30, "paddingLeft" to 30, "display" to "flex", "flexDirection" to "column")), "left" to _pS(_uM("flexDirection" to "column", "alignItems" to "flex-start", "justifyContent" to "center", "display" to "none")), "left-title" to _pS(_uM("fontSize" to 18, "fontWeight" to "700", "color" to "#333333", "marginBottom" to 10)), "left-hint" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginBottom" to 18)), "hint-text" to _pS(_uM("fontSize" to 13, "color" to "#666666", "marginRight" to 14)), "hint-link" to _pS(_uM("fontSize" to 13, "color" to "#e1251b")), "qr-wrap" to _pS(_uM("width" to "100%", "display" to "flex", "flexDirection" to "row", "justifyContent" to "flex-start")), "qr" to _pS(_uM("width" to 240, "height" to 240, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center")), "qr-placeholder" to _pS(_uM("width" to 220, "height" to 220, "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#e6e6e6", "borderRightColor" to "#e6e6e6", "borderBottomColor" to "#e6e6e6", "borderLeftColor" to "#e6e6e6", "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "backgroundColor" to "#ffffff", "display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center")), "qr-text" to _pS(_uM("fontSize" to 14, "color" to "#666666", "marginBottom" to 8)), "qr-sub" to _pS(_uM("fontSize" to 12, "color" to "#999999")), "divider" to _pS(_uM("display" to "none")), "right" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "justifyContent" to "center")), "right-inner" to _pS(_uM("width" to "100%", "marginLeft" to "auto")), "tabs" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "marginBottom" to 18)), "tab" to _pS(_uM("position" to "relative", "paddingTop" to 8, "paddingRight" to 12, "paddingBottom" to 8, "paddingLeft" to 12, "marginTop" to 0, "marginRight" to 12, "marginBottom" to 0, "marginLeft" to 12)), "tab-text" to _uM("" to _uM("fontSize" to 16, "color" to "#666666"), ".tab.active " to _uM("color" to "#e1251b", "fontWeight" to "700")), "tab-line" to _pS(_uM("position" to "absolute", "left" to 0, "right" to 0, "bottom" to -6, "height" to 2, "backgroundColor" to "#e1251b", "borderTopLeftRadius" to 2, "borderTopRightRadius" to 2, "borderBottomRightRadius" to 2, "borderBottomLeftRadius" to 2)), "form" to _pS(_uM("marginTop" to 10)), "field" to _pS(_uM("marginBottom" to 14)), "input" to _pS(_uM("width" to "100%", "height" to 44, "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "backgroundColor" to "#f6f7f9", "paddingTop" to 0, "paddingRight" to 14, "paddingBottom" to 0, "paddingLeft" to 14, "fontSize" to 14, "color" to "#333333")), "code-row" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center")), "code-input" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "marginRight" to 10)), "code-btn" to _uM("" to _uM("height" to 44, "paddingTop" to 0, "paddingRight" to 12, "paddingBottom" to 0, "paddingLeft" to 12, "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "backgroundColor" to "#ffffff", "borderTopWidth" to 1, "borderRightWidth" to 1, "borderBottomWidth" to 1, "borderLeftWidth" to 1, "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#eeeeee", "borderRightColor" to "#eeeeee", "borderBottomColor" to "#eeeeee", "borderLeftColor" to "#eeeeee", "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center"), ".disabled" to _uM("opacity" to 0.5)), "code-text" to _pS(_uM("fontSize" to 13, "color" to "#e1251b")), "btn" to _uM("" to _uM("marginTop" to 16, "height" to 46, "borderTopLeftRadius" to 10, "borderTopRightRadius" to 10, "borderBottomRightRadius" to 10, "borderBottomLeftRadius" to 10, "backgroundColor" to "rgba(225,37,27,0.45)", "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center"), ".disabled" to _uM("backgroundColor" to "#d9d9d9")), "btn-text" to _pS(_uM("color" to "#ffffff", "fontSize" to 16, "fontWeight" to "700")), "actions" to _pS(_uM("marginTop" to 16, "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "center", "flexWrap" to "wrap")), "action-item" to _pS(_uM("display" to "flex", "flexDirection" to "row", "alignItems" to "center", "marginTop" to 0, "marginRight" to 6, "marginBottom" to 0, "marginLeft" to 6)), "dot" to _uM("" to _uM("width" to 16, "height" to 16, "borderTopLeftRadius" to 8, "borderTopRightRadius" to 8, "borderBottomRightRadius" to 8, "borderBottomLeftRadius" to 8, "marginRight" to 8), ".wechat" to _uM("backgroundColor" to "#19be6b"), ".qq" to _uM("backgroundColor" to "#2d8cf0")), "action-text" to _pS(_uM("fontSize" to 13, "color" to "#666666")), "action-link" to _pS(_uM("fontSize" to 13, "color" to "#666666", "marginTop" to 0, "marginRight" to 6, "marginBottom" to 0, "marginLeft" to 6)), "sep" to _pS(_uM("fontSize" to 13, "color" to "#e0e0e0", "marginTop" to 0, "marginRight" to 6, "marginBottom" to 0, "marginLeft" to 6)), "footer" to _pS(_uM("paddingTop" to 18, "paddingRight" to 0, "paddingBottom" to 28, "paddingLeft" to 0, "display" to "flex", "flexDirection" to "row", "justifyContent" to "center")), "footer-text" to _pS(_uM("fontSize" to 12, "color" to "#999999"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/user/profile.kt b/unpackage/cache/.app-android/src/pages/user/profile.kt deleted file mode 100644 index 23831734..00000000 --- a/unpackage/cache/.app-android/src/pages/user/profile.kt +++ /dev/null @@ -1,482 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.chooseImage as uni_chooseImage -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesUserProfile : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesUserProfile) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesUserProfile - val _cache = __ins.renderCache - val isLoading = ref(false) - val saveSuccess = ref("") - val saveError = ref("") - val isSaving = ref(false) - val userAvatar = ref("/static/logo.png") - val currentLocale = ref("zh-CN") - val genderOptions = _uA( - "male", - "female", - "other" - ) as UTSArray - val tempGenderIndex = ref(_uA(0)) - val showGenderPicker = ref(false) - val showBirthdayPicker = ref(false) - val tempBirthday = ref(_uA(2000, 1, 1)) - val profile = ref(UserProfile(id = "", username = "", email = "", gender = "other", birthday = "", height_cm = 0, weight_kg = 0, bio = "", avatar_url = "/static/logo.png", preferred_language = "zh-CN")) - val toggleLanguage = fun(): Unit { - if (currentLocale.value === "zh-CN") { - currentLocale.value = "en-US" - } else { - currentLocale.value = "zh-CN" - } - uni_showToast(ShowToastOptions(title = "语言已切换", icon = "success")) - } - val getGenderText = fun(genderCode: String): String { - if (genderCode == "male") { - return "男" - } else if (genderCode == "female") { - return "女" - } else { - return "其他" - } - } - val loadProfile = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - isLoading.value = true - val user = supaInstance.user - if (user == null) { - profile.value.email = "" - isLoading.value = false - return@w1 - } - val userEmail = user.getString("email") - if (userEmail == null || userEmail == "") { - profile.value.email = "" - isLoading.value = false - return@w1 - } - val filter = "id=eq." + user["id"] as String - val options = AkSupaSelectOptions(single = true) - val result = await(supaInstance.select("ak_users", filter, options)) - val data = result.data - val error = result.error - if (UTSArray.isArray(data) && (data as UTSArray).length > 0) { - val prodata = (data as UTSArray)[0] as UTSJSONObject - val p: UserProfile = UserProfile(id = user["id"] as String, username = prodata.getString("username") ?: "", email = prodata.getString("email") ?: "", gender = prodata.getString("gender") ?: "other", birthday = prodata.getString("birthday") ?: "", height_cm = prodata.getNumber("height_cm") ?: 0, weight_kg = prodata.getNumber("weight_kg") ?: 0, bio = prodata.getString("bio") ?: "", avatar_url = prodata.getString("avatar_url") ?: "/static/logo.png", preferred_language = prodata.getString("preferred_language") ?: "zh-CN") - profile.value = p - if (p.avatar_url != null && p.avatar_url != "") { - userAvatar.value = p.avatar_url!! - } - setUserProfile(p) - } else { - profile.value.id = user.getString("id") ?: "" - profile.value.username = user.getString("username") ?: "" - profile.value.email = user.getString("email") ?: "" - if (profile.value.username == "") { - val emailStr = profile.value.email - if (emailStr != null && emailStr != "") { - val parts = emailStr.split("@") - if (parts.length > 0) { - profile.value.username = parts[0] - } - } - } - val newProfile = UTSJSONObject(object : UTSJSONObject() { - var id = profile.value.id!! - var username = profile.value.username - var email = profile.value.email - var gender = profile.value.gender - var preferred_language = profile.value.preferred_language - }, UTSSourceMapPosition("newProfile", "pages/user/profile.uvue", 220, 11)) - val insertResult = await(supaInstance.from("ak_users").insert(newProfile).execute()) - if (insertResult.error == null) { - val newProfileData: UserProfile = UserProfile(id = profile.value.id, username = profile.value.username, email = profile.value.email, gender = profile.value.gender, preferred_language = profile.value.preferred_language) - setUserProfile(newProfileData) - } - } - isLoading.value = false - }) - } - val saveProfile = fun(): UTSPromise { - return wrapUTSPromise(suspend { - isSaving.value = true - saveSuccess.value = "" - saveError.value = "" - try { - val userid: String = profile.value.id ?: "" - val updateData: UTSJSONObject = object : UTSJSONObject(UTSSourceMapPosition("updateData", "pages/user/profile.uvue", 251, 11)) { - var username = profile.value.username - var gender = profile.value.gender - var birthday = profile.value.birthday - var height_cm = profile.value.height_cm - var weight_kg = profile.value.weight_kg - var bio = profile.value.bio - var avatar_url = profile.value.avatar_url - var preferred_language = profile.value.preferred_language - } - val result = await(supaInstance.from("ak_users").update(updateData).eq("id", userid).execute()) - if (result.error == null) { - saveSuccess.value = "保存成功" - } else { - saveError.value = "保存失败" - } - } - catch (e: Throwable) { - saveError.value = "保存失败" - } - isSaving.value = false - }) - } - val onSubmit = fun(): Unit { - saveProfile() - } - val getUuid = fun(): String { - return "" + Date.now() + "_" + Math.floor(Math.random() * 1e8) - } - val chooseAvatar = fun(): Unit { - uni_chooseImage(ChooseImageOptions(count = 1, sizeType = _uA( - "compressed" - ), sourceType = _uA( - "album", - "camera" - ), success = fun(res: ChooseImageSuccess){ - val upfilepath = res.tempFilePaths[0] - val userId = profile.value.id ?: "" - var ext = "png" - val tempFiles = res.tempFiles - if (UTSArray.isArray(tempFiles) && tempFiles.length > 0) { - val fileObj: ChooseImageTempFile = tempFiles[0] - val fileName = fileObj.name - if (fileName != null && fileName != "") { - val idx = fileName.lastIndexOf(".") - if (idx >= 0) { - ext = fileName.substring(idx + 1) - } - } - } - val uuid = getUuid() - val remotePath = "profiles/" + userId + "_" + uuid + "." + ext - supaInstance.storage.from("zhipao").upload(remotePath, upfilepath, UTSJSONObject()).then(fun(uploadResult){ - if (uploadResult.status == 200 || uploadResult.status == 201) { - val data = uploadResult.data - if (data != null) { - val dataObj = data as UTSJSONObject - var avatarUrl = dataObj.getString("Key") - if (avatarUrl != null && avatarUrl != "") { - avatarUrl = "https://ak3.oulog.com/storage/v1/object/public/" + avatarUrl - userAvatar.value = avatarUrl - profile.value.avatar_url = avatarUrl - saveProfile() - uni_showToast(ShowToastOptions(title = "头像已更新", icon = "success")) - } - } - } else { - uni_showToast(ShowToastOptions(title = "上传失败", icon = "none")) - } - } - ) - } - )) - } - val onHeightInput = fun(e: UniInputEvent): Unit { - val kVal = e.detail.value - if (kVal == "") { - profile.value.height_cm = 0 - } else { - profile.value.height_cm = parseInt(kVal) - } - } - val onWeightInput = fun(e: UniInputEvent): Unit { - val kVal = e.detail.value - if (kVal == "") { - profile.value.weight_kg = 0 - } else { - profile.value.weight_kg = parseInt(kVal) - } - } - val showGenderPickerNow = fun(): Unit { - val genderValue = profile.value.gender - val idx = if (genderValue != null) { - genderOptions.indexOf(genderValue) - } else { - -1 - } - tempGenderIndex.value = _uA( - if (idx >= 0) { - idx - } else { - 0 - } - ) - showGenderPicker.value = true - } - val onGenderPickerViewChange = fun(e: UniPickerViewChangeEvent): Unit { - val idx = e.detail.value[0] - tempGenderIndex.value = _uA( - if ((idx >= 0 && idx < genderOptions.length)) { - idx - } else { - 0 - } - ) - } - val confirmGenderPicker = fun(): Unit { - profile.value.gender = genderOptions[tempGenderIndex.value[0]] - showGenderPicker.value = false - } - val onBirthdayDateChange = fun(vals: UTSArray): Unit { - tempBirthday.value = vals - } - val showBirthdayPickernow = fun(): Unit { - val birthday = profile.value.birthday - if (birthday != null && birthday != "") { - val parts = birthday.split("-") - if (parts.length == 3) { - tempBirthday.value = _uA( - parseInt(parts[0]), - parseInt(parts[1]), - parseInt(parts[2]) - ) - } - } - showBirthdayPicker.value = true - } - val confirmBirthdayPicker = fun(): Unit { - showBirthdayPicker.value = false - val y = tempBirthday.value[0] - val m = tempBirthday.value[1] - val d = tempBirthday.value[2] - val mm = if (m < 10) { - "0" + m - } else { - "" + m - } - val dd = if (d < 10) { - "0" + d - } else { - "" + d - } - profile.value.birthday = "" + y + "-" + mm + "-" + dd - } - onMounted(fun(){ - loadProfile() - } - ) - return fun(): Any? { - val _component_picker_view_column = resolveComponent("picker-view-column") - val _component_picker_view = resolveComponent("picker-view") - val _component_picker_date = resolveComponent("picker-date") - val _component_form = resolveComponent("form") - return _cE("view", _uM("class" to "page-wrapper"), _uA( - _cE("view", _uM("class" to "top-section"), _uA( - _cE("view", _uM("class" to "language-switch"), _uA( - _cE("button", _uM("class" to "language-btn", "onClick" to toggleLanguage), _tD(if (currentLocale.value === "zh-CN") { - "EN" - } else { - "中" - } - ), 1) - )) - )), - _cE("view", _uM("class" to "main-section"), _uA( - _cE("scroll-view", _uM("direction" to "vertical", "class" to "profile-container"), _uA( - if (isTrue(isLoading.value)) { - _cE("view", _uM("key" to 0, "class" to "loading-container"), _uA( - _cE("text", _uM("class" to "loading-text"), "加载中...") - )) - } else { - if (profile.value.email == "") { - _cE("view", _uM("key" to 1, "class" to "error-container"), _uA( - _cE("text", _uM("class" to "error-text"), "加载失败"), - _cE("button", _uM("class" to "retry-button", "onClick" to loadProfile), "重试") - )) - } else { - _cE("view", _uM("key" to 2, "class" to "profile-content"), _uA( - _cE("view", _uM("class" to "avatar-section"), _uA( - _cE("image", _uM("class" to "avatar", "src" to userAvatar.value, "mode" to "aspectFill", "onClick" to chooseAvatar), null, 8, _uA( - "src" - )) - )), - _cV(_component_form, _uM("onSubmit" to onSubmit), _uM("default" to withSlotCtx(fun(): UTSArray { - return _uA( - _cE("view", _uM("class" to "input-group"), _uA( - _cE("text", _uM("class" to "input-label"), "用户名"), - _cE("input", _uM("class" to "input-field", "name" to "username", "type" to "text", "modelValue" to profile.value.username, "onInput" to fun(`$event`: UniInputEvent){ - profile.value.username = `$event`.detail.value - } - , "placeholder" to "请输入用户名"), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("view", _uM("class" to "input-group"), _uA( - _cE("text", _uM("class" to "input-label"), "邮箱"), - _cE("input", _uM("class" to "input-field readonly", "name" to "email", "type" to "text", "modelValue" to profile.value.email, "onInput" to fun(`$event`: UniInputEvent){ - profile.value.email = `$event`.detail.value - } - , "disabled" to ""), null, 40, _uA( - "modelValue", - "onInput" - )), - _cE("text", _uM("class" to "hint-text"), "邮箱不可修改") - )), - _cE("view", _uM("class" to "input-group"), _uA( - _cE("text", _uM("class" to "input-label"), "性别"), - _cE("view", _uM("class" to "picker-field", "onClick" to showGenderPickerNow), _uA( - _cE("text", null, _tD(getGenderText(profile.value.gender ?: "other")), 1), - _cE("text", _uM("class" to "picker-arrow"), ">") - )), - if (isTrue(showGenderPicker.value)) { - _cE("view", _uM("key" to 0, "class" to "picker-modal"), _uA( - _cV(_component_picker_view, _uM("class" to "picker-view", "value" to tempGenderIndex.value, "indicator-style" to "height: 50px;", "onChange" to onGenderPickerViewChange), _uM("default" to withSlotCtx(fun(): UTSArray { - return _uA( - _cV(_component_picker_view_column, _uM("style" to _nS(_uM("width" to "750rpx"))), _uM("default" to withSlotCtx(fun(): UTSArray { - return _uA( - _cE(Fragment, null, RenderHelpers.renderList(genderOptions, fun(g, idx, __index, _cached): Any { - return _cE("view", _uM("key" to g, "class" to "picker-item"), _tD(getGenderText(g)), 1) - }), 64) - ) - }), "_" to 1), 8, _uA( - "style" - )) - ) - }), "_" to 1), 8, _uA( - "value" - )), - _cE("view", _uM("class" to "picker-actions"), _uA( - _cE("button", _uM("onClick" to fun(){ - showGenderPicker.value = false - }), "取消", 8, _uA( - "onClick" - )), - _cE("button", _uM("onClick" to confirmGenderPicker, "class" to "picker-actions-button"), "确定") - )) - )) - } else { - _cC("v-if", true) - } - )), - _cE("view", _uM("class" to "input-group"), _uA( - _cE("text", _uM("class" to "input-label"), "生日"), - _cE("view", _uM("class" to "picker-field", "onClick" to showBirthdayPickernow), _uA( - _cE("text", null, _tD(if (profile.value.birthday != null && profile.value.birthday != "") { - profile.value.birthday - } else { - "请选择生日" - } - ), 1), - _cE("text", _uM("class" to "picker-arrow"), ">") - )), - if (isTrue(showBirthdayPicker.value)) { - _cE("view", _uM("key" to 0, "class" to "picker-modal"), _uA( - _cV(_component_picker_date, _uM("startYear" to 1970, "endYear" to Date().getFullYear(), "value" to tempBirthday.value, "onChange" to onBirthdayDateChange), null, 8, _uA( - "endYear", - "value" - )), - _cE("view", _uM("class" to "picker-actions"), _uA( - _cE("button", _uM("onClick" to fun(){ - showBirthdayPicker.value = false - }), "取消", 8, _uA( - "onClick" - )), - _cE("button", _uM("onClick" to confirmBirthdayPicker, "class" to "picker-actions-button"), "确定") - )) - )) - } else { - _cC("v-if", true) - } - )), - _cE("view", _uM("class" to "input-group"), _uA( - _cE("text", _uM("class" to "input-label"), "身高 (cm)"), - _cE("input", _uM("class" to "input-field", "name" to "height", "type" to "number", "value" to if (profile.value.height_cm != null && profile.value.height_cm!! > 0) { - profile.value.height_cm - } else { - "" - } - , "placeholder" to "请输入身高", "onInput" to onHeightInput), null, 40, _uA( - "value" - )) - )), - _cE("view", _uM("class" to "input-group"), _uA( - _cE("text", _uM("class" to "input-label"), "体重 (kg)"), - _cE("input", _uM("class" to "input-field", "name" to "weight", "type" to "number", "value" to if (profile.value.weight_kg != null && profile.value.weight_kg!! > 0) { - profile.value.weight_kg - } else { - "" - } - , "placeholder" to "请输入体重", "onInput" to onWeightInput), null, 40, _uA( - "value" - )) - )), - _cE("view", _uM("class" to "input-group"), _uA( - _cE("text", _uM("class" to "input-label"), "个人简介"), - _cE("textarea", _uM("class" to "textarea-field", "name" to "bio", "modelValue" to profile.value.bio, "onInput" to fun(`$event`: UniInputEvent){ - profile.value.bio = `$event`.detail.value - } - , "placeholder" to "请输入个人简介"), null, 40, _uA( - "modelValue", - "onInput" - )) - )), - _cE("button", _uM("form-type" to "submit", "class" to "save-button", "disabled" to isSaving.value, "loading" to isSaving.value), " 保存 ", 8, _uA( - "disabled", - "loading" - )) - ) - } - ), "_" to 1)), - if (saveSuccess.value != "") { - _cE("view", _uM("key" to 0, "class" to "success-message"), _uA( - _cE("text", _uM("class" to "success-text"), _tD(saveSuccess.value), 1) - )) - } else { - if (saveError.value != "") { - _cE("view", _uM("key" to 1, "class" to "error-message"), _uA( - _cE("text", _uM("class" to "error-text"), _tD(saveError.value), 1) - )) - } else { - _cC("v-if", true) - } - } - )) - } - } - )) - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("page-wrapper" to _pS(_uM("display" to "flex", "flexDirection" to "column", "backgroundColor" to "#f8f9fa", "height" to "100%", "position" to "absolute", "top" to 0, "left" to 0, "right" to 0, "bottom" to 0)), "top-section" to _pS(_uM("flexShrink" to 0, "height" to "100rpx", "position" to "relative", "backgroundColor" to "#f8f9fa")), "main-section" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "height" to 0)), "profile-container" to _pS(_uM("width" to "100%", "height" to "100%", "paddingTop" to "20rpx", "paddingRight" to "20rpx", "paddingBottom" to "20rpx", "paddingLeft" to "20rpx", "backgroundColor" to "#f8f9fa", "boxSizing" to "border-box")), "language-switch" to _pS(_uM("position" to "absolute", "top" to "20rpx", "right" to "30rpx", "zIndex" to 10)), "language-btn" to _pS(_uM("width" to "60rpx", "height" to "60rpx", "borderTopLeftRadius" to "30rpx", "borderTopRightRadius" to "30rpx", "borderBottomRightRadius" to "30rpx", "borderBottomLeftRadius" to "30rpx", "fontSize" to "22rpx", "backgroundColor" to "rgba(33,150,243,0.8)", "color" to "#ffffff", "fontWeight" to "normal", "borderTopWidth" to "2rpx", "borderRightWidth" to "2rpx", "borderBottomWidth" to "2rpx", "borderLeftWidth" to "2rpx", "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "rgba(255,255,255,0.3)", "borderRightColor" to "rgba(255,255,255,0.3)", "borderBottomColor" to "rgba(255,255,255,0.3)", "borderLeftColor" to "rgba(255,255,255,0.3)", "textAlign" to "center")), "loading-container" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "height" to "80%")), "loading-text" to _pS(_uM("fontSize" to "28rpx", "color" to "#666666")), "error-container" to _pS(_uM("display" to "flex", "flexDirection" to "column", "alignItems" to "center", "justifyContent" to "center", "height" to "80%")), "error-text" to _pS(_uM("fontSize" to "28rpx", "color" to "#f44336", "marginBottom" to "20rpx")), "retry-button" to _pS(_uM("paddingTop" to "20rpx", "paddingRight" to "40rpx", "paddingBottom" to "20rpx", "paddingLeft" to "40rpx", "fontSize" to "28rpx", "backgroundColor" to "#2196f3", "color" to "#FFFFFF", "borderTopLeftRadius" to "10rpx", "borderTopRightRadius" to "10rpx", "borderBottomRightRadius" to "10rpx", "borderBottomLeftRadius" to "10rpx")), "profile-content" to _pS(_uM("paddingTop" to "20rpx", "paddingRight" to "20rpx", "paddingBottom" to "20rpx", "paddingLeft" to "20rpx", "backgroundColor" to "#FFFFFF", "borderTopLeftRadius" to "20rpx", "borderTopRightRadius" to "20rpx", "borderBottomRightRadius" to "20rpx", "borderBottomLeftRadius" to "20rpx")), "avatar-section" to _pS(_uM("display" to "flex", "justifyContent" to "center", "marginBottom" to "40rpx")), "avatar" to _pS(_uM("width" to "140rpx", "height" to "140rpx", "borderTopLeftRadius" to "70rpx", "borderTopRightRadius" to "70rpx", "borderBottomRightRadius" to "70rpx", "borderBottomLeftRadius" to "70rpx", "backgroundColor" to "#eeeeee")), "input-group" to _pS(_uM("marginBottom" to "30rpx")), "input-label" to _pS(_uM("fontSize" to "28rpx", "marginBottom" to "10rpx", "fontWeight" to "normal", "color" to "#333333", "display" to "flex")), "input-field" to _uM("" to _uM("width" to "100%", "height" to "80rpx", "paddingTop" to 0, "paddingRight" to "20rpx", "paddingBottom" to 0, "paddingLeft" to "20rpx", "fontSize" to "28rpx", "borderTopLeftRadius" to "10rpx", "borderTopRightRadius" to "10rpx", "borderBottomRightRadius" to "10rpx", "borderBottomLeftRadius" to "10rpx", "borderTopWidth" to "2rpx", "borderRightWidth" to "2rpx", "borderBottomWidth" to "2rpx", "borderLeftWidth" to "2rpx", "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#dddddd", "borderRightColor" to "#dddddd", "borderBottomColor" to "#dddddd", "borderLeftColor" to "#dddddd", "backgroundColor" to "#ffffff", "boxSizing" to "border-box"), ".readonly" to _uM("backgroundColor" to "#f5f5f5", "color" to "#999999")), "hint-text" to _pS(_uM("fontSize" to "24rpx", "marginTop" to "6rpx", "color" to "#999999")), "picker-field" to _pS(_uM("width" to "100%", "height" to "80rpx", "paddingTop" to 0, "paddingRight" to "20rpx", "paddingBottom" to 0, "paddingLeft" to "20rpx", "fontSize" to "28rpx", "borderTopLeftRadius" to "10rpx", "borderTopRightRadius" to "10rpx", "borderBottomRightRadius" to "10rpx", "borderBottomLeftRadius" to "10rpx", "borderTopWidth" to "2rpx", "borderRightWidth" to "2rpx", "borderBottomWidth" to "2rpx", "borderLeftWidth" to "2rpx", "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#dddddd", "borderRightColor" to "#dddddd", "borderBottomColor" to "#dddddd", "borderLeftColor" to "#dddddd", "backgroundColor" to "#ffffff", "display" to "flex", "flexDirection" to "row", "alignItems" to "center", "justifyContent" to "space-between", "boxSizing" to "border-box")), "picker-arrow" to _pS(_uM("color" to "#999999", "fontSize" to "24rpx")), "textarea-field" to _pS(_uM("width" to "100%", "height" to "200rpx", "paddingTop" to "20rpx", "paddingRight" to "20rpx", "paddingBottom" to "20rpx", "paddingLeft" to "20rpx", "fontSize" to "28rpx", "borderTopLeftRadius" to "10rpx", "borderTopRightRadius" to "10rpx", "borderBottomRightRadius" to "10rpx", "borderBottomLeftRadius" to "10rpx", "borderTopWidth" to "2rpx", "borderRightWidth" to "2rpx", "borderBottomWidth" to "2rpx", "borderLeftWidth" to "2rpx", "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#dddddd", "borderRightColor" to "#dddddd", "borderBottomColor" to "#dddddd", "borderLeftColor" to "#dddddd", "backgroundColor" to "#ffffff", "boxSizing" to "border-box")), "save-button" to _pS(_uM("width" to "100%", "height" to "90rpx", "fontSize" to "32rpx", "marginTop" to "20rpx", "marginRight" to 0, "marginBottom" to "20rpx", "marginLeft" to 0, "borderTopLeftRadius" to "45rpx", "borderTopRightRadius" to "45rpx", "borderBottomRightRadius" to "45rpx", "borderBottomLeftRadius" to "45rpx", "backgroundImage" to "linear-gradient(to right, #2196f3, #03a9f4)", "color" to "#ffffff", "fontWeight" to "normal", "textAlign" to "center", "backgroundImage:disabled" to "none", "backgroundColor:disabled" to "#cccccc")), "success-message" to _pS(_uM("paddingTop" to "20rpx", "paddingRight" to "20rpx", "paddingBottom" to "20rpx", "paddingLeft" to "20rpx", "marginBottom" to "20rpx", "backgroundColor" to "#e8f5e9", "borderTopLeftRadius" to "10rpx", "borderTopRightRadius" to "10rpx", "borderBottomRightRadius" to "10rpx", "borderBottomLeftRadius" to "10rpx")), "success-text" to _pS(_uM("color" to "#43a047", "fontSize" to "28rpx", "textAlign" to "center")), "error-message" to _pS(_uM("paddingTop" to "20rpx", "paddingRight" to "20rpx", "paddingBottom" to "20rpx", "paddingLeft" to "20rpx", "marginBottom" to "20rpx", "backgroundColor" to "#ffebee", "borderTopLeftRadius" to "10rpx", "borderTopRightRadius" to "10rpx", "borderBottomRightRadius" to "10rpx", "borderBottomLeftRadius" to "10rpx")), "picker-modal" to _pS(_uM("position" to "fixed", "left" to 0, "right" to 0, "bottom" to 0, "backgroundImage" to "none", "backgroundColor" to "#ffffff", "zIndex" to 1000, "paddingBottom" to "30rpx", "borderTopLeftRadius" to "20rpx", "borderTopRightRadius" to "20rpx", "display" to "flex", "flexDirection" to "column", "alignItems" to "center")), "picker-view" to _pS(_uM("width" to "750rpx", "height" to 320, "backgroundImage" to "none", "backgroundColor" to "#ffffff")), "picker-item" to _pS(_uM("height" to 50, "display" to "flex", "alignItems" to "center", "justifyContent" to "center", "width" to "750rpx")), "picker-actions" to _pS(_uM("display" to "flex", "justifyContent" to "space-between", "width" to "750rpx", "paddingTop" to "20rpx", "paddingRight" to "40rpx", "paddingBottom" to 0, "paddingLeft" to "40rpx", "boxSizing" to "border-box")), "picker-actions-button" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "marginTop" to 0, "marginRight" to "10rpx", "marginBottom" to 0, "marginLeft" to "10rpx", "backgroundImage" to "none", "backgroundColor" to "#2196f3", "color" to "#ffffff", "borderTopLeftRadius" to "10rpx", "borderTopRightRadius" to "10rpx", "borderBottomRightRadius" to "10rpx", "borderBottomLeftRadius" to "10rpx", "fontSize" to "28rpx", "height" to "80rpx"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/user/register.kt b/unpackage/cache/.app-android/src/pages/user/register.kt deleted file mode 100644 index 9464fd4a..00000000 --- a/unpackage/cache/.app-android/src/pages/user/register.kt +++ /dev/null @@ -1,306 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateTo as uni_navigateTo -import io.dcloud.uniapp.extapi.redirectTo as uni_redirectTo -import io.dcloud.uniapp.extapi.showToast as uni_showToast -open class GenPagesUserRegister : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - companion object { - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - var setup: (__props: GenPagesUserRegister) -> Any? = fun(__props): Any? { - val __ins = getCurrentInstance()!! - val _ctx = __ins.proxy as GenPagesUserRegister - val _cache = __ins.renderCache - val email = ref("") - val password = ref("") - val confirmPassword = ref("") - val protocol = ref(false) - val inAnimation = ref(false) - val isLoading = ref(false) - val logoUrl = ref("/static/logo.png") - val handleProtocolChange = fun(e: UniCheckboxGroupChangeEvent): Unit { - protocol.value = protocol.value == false - } - val validateEmail = fun(): Boolean { - if (email.value.trim() == "") { - uni_showToast(ShowToastOptions(title = "请填写邮箱", icon = "none")) - return false - } - val atIndex = email.value.indexOf("@") - val dotIndex = email.value.lastIndexOf(".") - if (atIndex == -1 || dotIndex == -1 || atIndex > dotIndex) { - uni_showToast(ShowToastOptions(title = "请输入正确的邮箱", icon = "none")) - return false - } - return true - } - val validatePassword = fun(): Boolean { - if (password.value.trim() == "") { - uni_showToast(ShowToastOptions(title = "请填写密码", icon = "none")) - return false - } - if (password.value.length < 6) { - uni_showToast(ShowToastOptions(title = "密码长度不能少于6位", icon = "none")) - return false - } - return true - } - val validateConfirmPassword = fun(): Boolean { - if (confirmPassword.value.trim() == "") { - uni_showToast(ShowToastOptions(title = "请确认密码", icon = "none")) - return false - } - if (confirmPassword.value != password.value) { - uni_showToast(ShowToastOptions(title = "两次输入的密码不一致", icon = "none")) - return false - } - return true - } - val handleRegister = fun(): UTSPromise { - return wrapUTSPromise(suspend w1@{ - if (protocol.value == false) { - inAnimation.value = true - uni_showToast(ShowToastOptions(title = "请先阅读并同意协议", icon = "none")) - return@w1 - } - if (validateEmail() == false) { - return@w1 - } - if (validatePassword() == false) { - return@w1 - } - if (validateConfirmPassword() == false) { - return@w1 - } - isLoading.value = true - try { - val options = UTSJSONObject(UTSSourceMapPosition("options", "pages/user/register.uvue", 187, 10)) - val metaData = UTSJSONObject(UTSSourceMapPosition("metaData", "pages/user/register.uvue", 188, 10)) - metaData.set("user_role", "consumer") - options.set("data", metaData) - val result = await(supaInstance.signUp(email.value.trim(), password.value, options)) - console.log("注册返回结果:", result, " at pages/user/register.uvue:194") - val errorCode = result?.getString("error_code") ?: "" - val errorMsg = result?.getString("msg") ?: "" - val code = result?.getNumber("code") ?: 0 - console.log("错误代码:", errorCode, "错误信息:", errorMsg, "状态码:", code, " at pages/user/register.uvue:200") - if (code == 500 && (errorCode == "unexpected_failure" || errorMsg.includes("confirmation email"))) { - console.warn("邮件发送失败,但用户可能已创建", " at pages/user/register.uvue:203") - } - var user: UTSJSONObject? = null - var hasSession = false - if (result != null) { - val userField = result.getJSON("user") - if (userField != null) { - user = userField - console.log("找到 user 字段:", user.getString("id"), user.getString("email"), " at pages/user/register.uvue:213") - } else { - val id = result.getString("id") - if (id != null && id != "") { - user = result - console.log("result 本身就是 user 对象:", id, " at pages/user/register.uvue:218") - } else { - console.warn("未找到 user 信息", " at pages/user/register.uvue:220") - } - } - val sessionField = result.getJSON("session") - if (sessionField != null) { - hasSession = true - console.log("找到 session,已自动登录", " at pages/user/register.uvue:227") - } else { - console.log("未找到 session,可能需要邮箱验证", " at pages/user/register.uvue:229") - } - } - if (user == null && code != 0 && code != 200) { - if (code == 500 && errorMsg.includes("confirmation email")) { - throw UTSError("注册失败:邮件服务配置错误") - } else { - throw UTSError(if (errorMsg != "") { - errorMsg - } else { - "注册失败,请重试" - } - ) - } - } - if (user != null) { - try { - val profileResult = await(ensureUserProfile(user)) - if (profileResult != null) { - console.log("用户资料创建成功:", profileResult.id, " at pages/user/register.uvue:245") - } else { - console.warn("用户资料创建失败,但注册已成功", " at pages/user/register.uvue:247") - } - } catch (profileError: Throwable) { - console.error("创建用户资料异常:", profileError, " at pages/user/register.uvue:250") - } - } else { - console.warn("注册成功但未获取到用户信息", " at pages/user/register.uvue:253") - } - if (hasSession == false && user != null) { - console.log("需要邮箱验证", " at pages/user/register.uvue:257") - } - uni_showToast(ShowToastOptions(title = "注册成功", icon = "success")) - setTimeout(fun(){ - uni_redirectTo(RedirectToOptions(url = "/pages/user/login")) - } - , 1500) - } - catch (err: Throwable) { - console.error("注册错误:", err, " at pages/user/register.uvue:271") - var errorMessage = "注册失败,请重试" - if (err != null) { - val error = err as UTSError - if (error.message != null && error.message.trim() != "") { - errorMessage = error.message - if (error.message.includes("confirmation email") || error.message.includes("邮件")) { - errorMessage = "注册可能成功,但邮件发送失败,请稍后尝试登录" - } - } - } - uni_showToast(ShowToastOptions(title = errorMessage, icon = "none", duration = 3000)) - } - finally { - isLoading.value = false - } - }) - } - val navigateToLogin = fun(): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/user/login")) - } - val navigateToTerms = fun(type: Number): Unit { - uni_navigateTo(NavigateToOptions(url = "/pages/user/terms?type=" + type)) - } - return fun(): Any? { - val _component_checkbox = resolveComponent("checkbox") - val _component_checkbox_group = resolveComponent("checkbox-group") - return _cE("view", _uM("class" to "register-wrapper"), _uA( - _cE("view", _uM("class" to "header"), _uA( - _cE("image", _uM("src" to logoUrl.value, "mode" to "aspectFit", "class" to "logo"), null, 8, _uA( - "src" - )) - )), - _cE("view", _uM("class" to "register-box"), _uA( - _cE("view", _uM("class" to "title"), "注册账号"), - _cE("view", _uM("class" to "form-content"), _uA( - _cE("view", _uM("class" to "input-group"), _uA( - _cE("view", _uM("class" to "input-wrapper"), _uA( - _cE("image", _uM("src" to "/static/user/phone_1.png", "class" to "input-icon")), - _cE("input", _uM("type" to "text", "placeholder" to "输入邮箱", "modelValue" to email.value, "onInput" to fun(`$event`: UniInputEvent){ - email.value = `$event`.detail.value - } - , "class" to "input-field"), null, 40, _uA( - "modelValue", - "onInput" - )) - )) - )), - _cE("view", _uM("class" to "input-group"), _uA( - _cE("view", _uM("class" to "input-wrapper"), _uA( - _cE("image", _uM("src" to "/static/user/code_1.png", "class" to "input-icon")), - _cE("input", _uM("type" to "password", "placeholder" to "填写密码", "modelValue" to password.value, "onInput" to fun(`$event`: UniInputEvent){ - password.value = `$event`.detail.value - } - , "class" to "input-field"), null, 40, _uA( - "modelValue", - "onInput" - )) - )) - )), - _cE("view", _uM("class" to "input-group"), _uA( - _cE("view", _uM("class" to "input-wrapper"), _uA( - _cE("image", _uM("src" to "/static/user/code_1.png", "class" to "input-icon")), - _cE("input", _uM("type" to "password", "placeholder" to "确认密码", "modelValue" to confirmPassword.value, "onInput" to fun(`$event`: UniInputEvent){ - confirmPassword.value = `$event`.detail.value - } - , "class" to "input-field"), null, 40, _uA( - "modelValue", - "onInput" - )) - )) - )) - )), - _cE("view", _uM("class" to _nC(_uA( - "register-btn", - if (isLoading.value) { - "disabled" - } else { - "" - } - )), "onClick" to handleRegister), " 注册 ", 2), - _cE("view", _uM("class" to "tips"), _uA( - _cE("text", _uM("class" to "tips-text"), "已有账号?"), - _cE("text", _uM("class" to "tips-link", "onClick" to navigateToLogin), "立即登录") - )), - _cE("view", _uM("class" to "protocol"), _uA( - _cV(_component_checkbox_group, _uM("onChange" to handleProtocolChange), _uM("default" to withSlotCtx(fun(): UTSArray { - return _uA( - _cV(_component_checkbox, _uM("class" to _nC(_uA( - "protocol-checkbox", - if (inAnimation.value) { - "trembling" - } else { - "" - } - )), "checked" to protocol.value), null, 8, _uA( - "checked", - "class" - )), - _cE("text", _uM("class" to "protocol-text"), _uA( - " 已阅读并同意 ", - _cE("text", _uM("class" to "main-color", "onClick" to fun(){ - navigateToTerms(3) - } - ), "《用户协议》", 8, _uA( - "onClick" - )), - " 与 ", - _cE("text", _uM("class" to "main-color", "onClick" to fun(){ - navigateToTerms(4) - } - ), "《隐私协议》", 8, _uA( - "onClick" - )) - )) - ) - } - ), "_" to 1)) - )) - )), - _cE("view", _uM("class" to "footer"), _uA( - _cE("text", _uM("class" to "footer-text"), "Copyright ©2024 Mall. All Rights Reserved") - )) - )) - } - } - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("register-wrapper" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "display" to "flex", "flexDirection" to "column", "backgroundImage" to "none", "backgroundColor" to "#F5F5F5")), "header" to _pS(_uM("paddingTop" to "40rpx", "paddingRight" to 0, "paddingBottom" to 0, "paddingLeft" to "60rpx", "backgroundImage" to "none", "backgroundColor" to "#F5F5F5")), "logo" to _pS(_uM("width" to "200rpx", "height" to "80rpx")), "register-box" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundImage" to "none", "backgroundColor" to "#FFFFFF", "marginTop" to "60rpx", "marginRight" to "40rpx", "marginBottom" to 0, "marginLeft" to "40rpx", "borderTopLeftRadius" to "8rpx", "borderTopRightRadius" to "8rpx", "borderBottomRightRadius" to "8rpx", "borderBottomLeftRadius" to "8rpx", "paddingTop" to "60rpx", "paddingRight" to "50rpx", "paddingBottom" to "40rpx", "paddingLeft" to "50rpx", "boxShadow" to "0 2rpx 8rpx rgba(0, 0, 0, 0.08)")), "title" to _pS(_uM("fontSize" to "40rpx", "fontWeight" to "700", "color" to "#333333", "textAlign" to "center", "marginBottom" to "50rpx")), "form-content" to _pS(_uM("marginBottom" to "40rpx")), "input-group" to _pS(_uM("marginBottom" to "30rpx")), "input-wrapper" to _pS(_uM("position" to "relative", "display" to "flex", "alignItems" to "center", "paddingTop" to 0, "paddingRight" to "20rpx", "paddingBottom" to 0, "paddingLeft" to "20rpx", "height" to "88rpx", "borderTopWidth" to "1rpx", "borderRightWidth" to "1rpx", "borderBottomWidth" to "1rpx", "borderLeftWidth" to "1rpx", "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "#E0E0E0", "borderRightColor" to "#E0E0E0", "borderBottomColor" to "#E0E0E0", "borderLeftColor" to "#E0E0E0", "borderTopLeftRadius" to "4rpx", "borderTopRightRadius" to "4rpx", "borderBottomRightRadius" to "4rpx", "borderBottomLeftRadius" to "4rpx", "backgroundImage" to "none", "backgroundColor" to "#FFFFFF")), "input-icon" to _pS(_uM("width" to "32rpx", "height" to "32rpx", "flexShrink" to 0, "marginRight" to "20rpx")), "input-field" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "fontSize" to "28rpx", "height" to "100%", "color" to "#333333")), "register-btn" to _uM("" to _uM("display" to "flex", "alignItems" to "center", "justifyContent" to "center", "width" to "100%", "height" to "88rpx", "marginTop" to "50rpx", "backgroundImage" to "linear-gradient(135deg, #FF4D4F 0%, #FF7A45 100%)", "backgroundColor" to "rgba(0,0,0,0)", "borderTopLeftRadius" to "4rpx", "borderTopRightRadius" to "4rpx", "borderBottomRightRadius" to "4rpx", "borderBottomLeftRadius" to "4rpx", "color" to "#FFFFFF", "fontSize" to "32rpx", "fontWeight" to "700", "boxShadow" to "0 4rpx 12rpx rgba(255, 77, 79, 0.3)"), ".disabled" to _uM("backgroundImage" to "none", "backgroundColor" to "#D9D9D9", "boxShadow" to "none", "opacity" to 0.6)), "tips" to _pS(_uM("marginTop" to "30rpx", "textAlign" to "center")), "tips-text" to _pS(_uM("fontSize" to "28rpx", "color" to "#666666")), "tips-link" to _pS(_uM("fontSize" to "28rpx", "color" to "#FF4D4F", "marginLeft" to "8rpx")), "protocol" to _pS(_uM("marginTop" to "40rpx", "display" to "flex", "alignItems" to "center", "justifyContent" to "center")), "protocol-checkbox" to _pS(_uM("marginRight" to "10rpx")), "protocol-text" to _pS(_uM("fontSize" to "24rpx", "color" to "#999999")), "main-color" to _pS(_uM("color" to "#FF4D4F")), "footer" to _pS(_uM("paddingTop" to "40rpx", "paddingRight" to 0, "paddingBottom" to "40rpx", "paddingLeft" to 0, "textAlign" to "center", "backgroundImage" to "none", "backgroundColor" to "#F5F5F5")), "footer-text" to _pS(_uM("fontSize" to "22rpx", "color" to "#999999"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/src/pages/user/terms.kt b/unpackage/cache/.app-android/src/pages/user/terms.kt deleted file mode 100644 index 382df11e..00000000 --- a/unpackage/cache/.app-android/src/pages/user/terms.kt +++ /dev/null @@ -1,73 +0,0 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") -package uni.UNICONSUMER -import io.dcloud.uniapp.* -import io.dcloud.uniapp.extapi.* -import io.dcloud.uniapp.framework.* -import io.dcloud.uniapp.runtime.* -import io.dcloud.uniapp.vue.* -import io.dcloud.uniapp.vue.shared.* -import io.dcloud.unicloud.* -import io.dcloud.uts.* -import io.dcloud.uts.Map -import io.dcloud.uts.Set -import io.dcloud.uts.UTSAndroid -import kotlin.properties.Delegates -import io.dcloud.uniapp.extapi.navigateBack as uni_navigateBack -open class GenPagesUserTerms : BasePage { - constructor(__ins: ComponentInternalInstance, __renderer: String?) : super(__ins, __renderer) {} - @Suppress("UNUSED_PARAMETER", "UNUSED_VARIABLE") - override fun `$render`(): Any? { - val _ctx = this - val _cache = this.`$`.renderCache - return _cE("view", _uM("class" to "page"), _uA( - _cE("view", _uM("class" to "topbar"), _uA( - _cE("text", _uM("class" to "back", "onClick" to _ctx.goBack), "返回", 8, _uA( - "onClick" - )), - _cE("text", _uM("class" to "title"), "用户协议与隐私政策"), - _cE("text", _uM("class" to "ghost")) - )), - _cE("scroll-view", _uM("class" to "content", "scroll-y" to "true", "show-scrollbar" to "false"), _uA( - _cE("view", _uM("class" to "card"), _uA( - _cE("text", _uM("class" to "h1"), "用户协议"), - _cE("text", _uM("class" to "p"), "1. 本应用为商城系统示例/项目使用。 "), - _cE("text", _uM("class" to "p"), "2. 你在使用本应用服务时,应遵守法律法规与平台规则。 "), - _cE("text", _uM("class" to "p"), "3. 账号与密码由你自行保管,因泄露造成的损失由你自行承担。 "), - _cE("view", _uM("class" to "divider")), - _cE("text", _uM("class" to "h1"), "隐私政策"), - _cE("text", _uM("class" to "p"), "1. 我们可能会收集你提供的邮箱等信息,用于账号注册与登录。 "), - _cE("text", _uM("class" to "p"), "2. 我们会采取合理的安全措施保护你的信息安全。 "), - _cE("text", _uM("class" to "p"), "3. 你可以在账号相关页面申请修改或删除个人信息(以实际功能为准)。 ") - )), - _cE("view", _uM("class" to "footer"), _uA( - _cE("button", _uM("class" to "primary", "onClick" to _ctx.goBack), "我已阅读并同意", 8, _uA( - "onClick" - )) - )) - )) - )) - } - open var goBack = ::gen_goBack_fn - open fun gen_goBack_fn() { - uni_navigateBack(null) - } - companion object { - val styles: Map>> by lazy { - _nCS(_uA( - styles0 - ), _uA( - GenApp.styles - )) - } - val styles0: Map>> - get() { - return _uM("page" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "backgroundImage" to "none", "backgroundColor" to "#f7f8fa", "display" to "flex", "flexDirection" to "column")), "topbar" to _pS(_uM("height" to "96rpx", "paddingTop" to 0, "paddingRight" to "24rpx", "paddingBottom" to 0, "paddingLeft" to "24rpx", "backgroundImage" to "none", "backgroundColor" to "rgba(255,255,255,0.96)", "borderBottomWidth" to "1rpx", "borderBottomStyle" to "solid", "borderBottomColor" to "rgba(0,0,0,0.06)", "display" to "flex", "alignItems" to "center", "justifyContent" to "space-between")), "back" to _pS(_uM("fontSize" to "26rpx", "color" to "#ff4d4f", "width" to "120rpx")), "title" to _pS(_uM("fontSize" to "30rpx", "fontWeight" to "700", "color" to "#111111")), "ghost" to _pS(_uM("width" to "120rpx")), "content" to _pS(_uM("flexGrow" to 1, "flexShrink" to 1, "flexBasis" to "0%", "paddingTop" to "18rpx", "paddingRight" to "24rpx", "paddingBottom" to "24rpx", "paddingLeft" to "24rpx", "boxSizing" to "border-box")), "card" to _pS(_uM("backgroundImage" to "none", "backgroundColor" to "rgba(255,255,255,0.96)", "borderTopWidth" to "1rpx", "borderRightWidth" to "1rpx", "borderBottomWidth" to "1rpx", "borderLeftWidth" to "1rpx", "borderTopStyle" to "solid", "borderRightStyle" to "solid", "borderBottomStyle" to "solid", "borderLeftStyle" to "solid", "borderTopColor" to "rgba(0,0,0,0.06)", "borderRightColor" to "rgba(0,0,0,0.06)", "borderBottomColor" to "rgba(0,0,0,0.06)", "borderLeftColor" to "rgba(0,0,0,0.06)", "borderTopLeftRadius" to "20rpx", "borderTopRightRadius" to "20rpx", "borderBottomRightRadius" to "20rpx", "borderBottomLeftRadius" to "20rpx", "paddingTop" to "24rpx", "paddingRight" to "22rpx", "paddingBottom" to "24rpx", "paddingLeft" to "22rpx", "boxShadow" to "0 16rpx 36rpx rgba(0, 0, 0, 0.06)")), "h1" to _pS(_uM("fontSize" to "32rpx", "fontWeight" to "700", "color" to "#111111", "marginBottom" to "12rpx")), "p" to _pS(_uM("fontSize" to "26rpx", "color" to "rgba(0,0,0,0.65)", "lineHeight" to "44rpx", "marginBottom" to "12rpx")), "divider" to _pS(_uM("height" to "1rpx", "backgroundImage" to "none", "backgroundColor" to "rgba(0,0,0,0.08)", "marginTop" to "18rpx", "marginRight" to 0, "marginBottom" to "18rpx", "marginLeft" to 0)), "footer" to _pS(_uM("marginTop" to "18rpx")), "primary" to _pS(_uM("width" to "100%", "height" to "92rpx", "borderTopLeftRadius" to "18rpx", "borderTopRightRadius" to "18rpx", "borderBottomRightRadius" to "18rpx", "borderBottomLeftRadius" to "18rpx", "backgroundImage" to "linear-gradient(135deg, #ff4d4f 0%, #ff7a45 100%)", "backgroundColor" to "rgba(0,0,0,0)", "color" to "#ffffff", "fontSize" to "30rpx", "fontWeight" to "700", "boxShadow" to "0 16rpx 32rpx rgba(255, 77, 79, 0.24)"))) - } - var inheritAttrs = true - var inject: Map> = _uM() - var emits: Map = _uM() - var props = _nP(_uM()) - var propsNeedCastKeys: UTSArray = _uA() - var components: Map = _uM() - } -} diff --git a/unpackage/cache/.app-android/tsc/app-android/.tsbuildInfo b/unpackage/cache/.app-android/tsc/app-android/.tsbuildInfo deleted file mode 100644 index 422f5296..00000000 --- a/unpackage/cache/.app-android/tsc/app-android/.tsbuildInfo +++ /dev/null @@ -1 +0,0 @@ -{"program":{"fileNames":["../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/boolean.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/console.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/date.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/error.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/json.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/map.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/math.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/number.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/regexp.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/set.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/string.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/timers.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/utsjsonobject.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/arraybuffer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/float32array.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/float64array.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/int8array.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/int16array.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/int32array.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/uint8array.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/uint8clampedarray.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/uint16array.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/uint32array.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/dataview.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/iterable.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/common.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uts/shims/shims.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uts/shims/lib.es5.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uts/shims/lib.es2015.collection.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uts/shims/lib.es2015.promise.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uts/shims/lib.es2015.symbol.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uts/shims/lib.es2015.symbol.wellknown.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uts/shims/lib.es2015.iterable.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uts/shims/lib.es2018.asynciterable.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uts/shims/lib.es2018.asyncgenerator.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uts/shims/lib.es2018.promise.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uts/shims/lib.es2020.symbol.wellknown.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uts/shims/index.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uts/index.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uni-x/hbuilder-x/hbuilderx.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uni-x/hbuilder-x/index.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uni-x/@vue/shared/dist/shared.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uni-x/@vue/reactivity/dist/reactivity.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uni-x/@vue/runtime-core/dist/runtime-core.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uni-x/@vue/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uni-x/vue.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uni-x/shims/common.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uni-x/shims/app-android.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/io/filedescriptor.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/ibinder.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/iinterface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/util/sparsearray.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/util/sparsebooleanarray.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/util/arraymap.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/util/size.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/io/closeable.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/io/flushable.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/io/outputstream.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/io/inputstream.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/basebundle.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/persistablebundle.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/util/sizef.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/io/serializable.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/bundle.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/parcel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/parcelable.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/clipdescription.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/icu/util/ulocale.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/localelist.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/blendmode.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/media/audioattributes.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/vibrationattributes.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/vibrationeffect.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/vibrator.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/combinedvibration.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/vibratormanager.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/keyevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/util/androidruntimeexception.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/keycharactermap.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/lights/lightstate.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/lights/light.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/lights/lightsrequest.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/lights/lightsmanager.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/batterystate.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/hardwarebuffer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/memoryfile.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/sensor.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/triggerevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/triggereventlistener.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/sensorlistener.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/channel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/sensordirectchannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/sensorevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/sensoreventlistener.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/util/printer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/messenger.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/message.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/messagequeue.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/looper.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/handler.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/sensormanager.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/inputdevice.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/inputevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/insets.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/rect.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/rectf.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/io/writer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/socketaddress.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/proxy.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/url.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/uri.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/watchable.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/watchkey.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/watchservice.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/linkoption.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/privilegedexceptionaction.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/privilegedaction.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/provider.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/key.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/publickey.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/cert/certificate.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/cert/certpath.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/timestamp.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/codesigner.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/codesource.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/guard.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/permission.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/permissioncollection.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/protectiondomain.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/domaincombiner.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/accesscontrolcontext.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/javax/security/auth/subject.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/security/principal.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/attribute/userprincipal.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/attribute/groupprincipal.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/attribute/userprincipallookupservice.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/pathmatcher.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/buffer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/byteorder.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/doublebuffer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/shortbuffer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/charbuffer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/intbuffer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/floatbuffer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/longbuffer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/bytebuffer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/mappedbytebuffer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/writablebytechannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/gatheringbytechannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/openoption.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/readablebytechannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/scatteringbytechannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/bytechannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/seekablebytechannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/attribute/fileattribute.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/interruptiblechannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/spi/abstractinterruptiblechannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/completionhandler.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/asynchronouschannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/asynchronousfilechannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/filelock.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/filechannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/filestore.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/accessmode.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/copyoption.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/directorystream.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/spi/filesystemprovider.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/filesystem.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/file/path.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/io/file.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/io/printwriter.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/matrix.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/motionevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/temporal/temporal.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/temporal/temporalunit.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/temporal/temporalamount.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/duration.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/path.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/region.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/accessibility/accessibilitywindowinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/accessibility/accessibilitynodeinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/autofill/autofillid.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/componentname.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/credentials/credentialoption.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/credentials/getcredentialrequest.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/outcomereceiver.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/autofill/autofillvalue.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/viewstructure.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/locusid.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/contentcapture/contentcapturecontext.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/contentcapture/contentcapturesession.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/util/longsparsearray.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/util/property.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/util/attributeset.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/animation/transformation.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/animation/timeinterpolator.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/animation/interpolator.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/animation/animation.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/animation/animator.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/animation/statelistanimator.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/io/fileinputstream.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/io/fileoutputstream.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/io/ioexception.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/networkinterface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/inetaddress.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/datagrampacket.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/socketoption.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/pipe.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/networkchannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/socket.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/socketchannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/socketoptions.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/socketimpl.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/socketimplfactory.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/serversocket.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/serversocketchannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/protocolfamily.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/selector.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/selectionkey.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/spi/abstractselectionkey.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/spi/abstractselector.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/spi/selectorprovider.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/selectablechannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/spi/abstractselectablechannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/membershipkey.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/multicastchannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/nio/channels/datagramchannel.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/net/datagramsocket.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/parcelfiledescriptor.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/res/assetfiledescriptor.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/res/xmlresourceparser.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/res/assetmanager.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/xfermode.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/shader.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/patheffect.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/maskfilter.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/colorfilter.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/paint.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/fonts/font.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/fonts/fontfamily.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/fonts/fontvariationaxis.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/fonts/fontstyle.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/typeface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/util/displaymetrics.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/util/typedvalue.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/res/colorstatelist.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/res/typedarray.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/changedpackages.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/moduleinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/res/configuration.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/userhandle.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/util/androidexception.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/intentsender.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/permissioninfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/componentinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/serviceinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/attribution.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/featureinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/featuregroupinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/signature.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/signinginfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/instrumentationinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/activityinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/patternmatcher.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/pathpermission.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/providerinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/configurationinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/packageinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/permissiongroupinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/versionedpackage.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/attributionsource.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/net/uri.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/database/contentobserver.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/database/chararraybuffer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/database/datasetobserver.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/database/cursor.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/contentvalues.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/cancellationsignal.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/componentcallbacks.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/componentcallbacks2.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/contentprovider.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/colorspace.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/drawfilter.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/ninepatch.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/color.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/mesh.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/gainmap.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/bitmapshader.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/runtimeshader.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/rendereffect.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/text/linebreakconfig.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/text/measuredtext.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/recordingcanvas.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/outline.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/rendernode.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/matrix44.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/canvas.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/picture.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/bitmap.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/drawable/icon.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/syncadaptertype.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/contentproviderresult.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/contentproviderclient.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/accounts/account.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/syncrequest.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/syncstatusobserver.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/syncinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/contentresolver.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/urirelativefilter.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/urirelativefiltergroup.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/intentfilter.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/resolveinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/archivedpackageinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/pendingintent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/packageinstaller.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/installsourceinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/packagemanager.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/packageiteminfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/pm/applicationinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/res/loader/assetsprovider.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/om/overlayidentifier.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/om/overlayinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/res/loader/resourcesprovider.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/res/loader/resourcesloader.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/movie.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/res/resources.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/drawable/drawable.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/translation/translationresponsevalue.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/translation/viewtranslationresponse.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/translation/viewtranslationcallback.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/accessibility/accessibilitynodeprovider.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/contentinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/onreceivecontentlistener.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/inputmethod/surroundingtext.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/text/inputtype.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/inputmethod/editorinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/window/onbackinvokedcallback.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/window/onbackinvokeddispatcher.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/actionprovider.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/menuitem.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/submenu.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/menu.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/menuinflater.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/actionmode.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/windowinsetsanimationcontroller.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/windowinsetsanimationcontrollistener.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/windowinsetscontroller.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/window/inputtransfertoken.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/syncfence.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/surfacecontrol.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/attachedsurfacecontrol.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/abssavedstate.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/inputmethod/extractedtext.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/inputmethod/textsnapshot.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/inputmethod/inputcontentinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/inputmethod/handwritinggesture.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/inputmethod/completioninfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/inputmethod/correctioninfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/inputmethod/textattribute.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/inputmethod/previewablehandwritinggesture.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/inputmethod/extractedtextrequest.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/inputmethod/inputconnection.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/accessibility/accessibilityrecord.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/accessibility/accessibilityevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/accessibility/accessibilityeventsource.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/pointericon.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/contextmenu.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/windowid.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/point.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/roundedcorner.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/overlayproperties.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/hardware/display/deviceproductinfo.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/display.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/displayhash/displayhash.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/displayhash/displayhashresultcallback.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/displaycutout.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/displayshape.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/windowinsets.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/windowinsetsanimation.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/graphics/surfacetexture.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/surface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/scrollcapturesession.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/scrollcapturecallback.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/touchdelegate.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/dragevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/translation/translationspec.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/translation/translationcapability.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/view.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/text/textpaint.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/text/style/characterstyle.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/text/style/updateappearance.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/text/style/clickablespan.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/text/spanned.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/text/spannable.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/format/textstyle.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/temporal/temporaladjuster.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/format/decimalstyle.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/format/resolverstyle.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/temporal/temporalfield.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/temporal/valuerange.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/temporal/temporalquery.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/temporal/temporalaccessor.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/text/parseposition.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/format/formatstyle.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/offsettime.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/month.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/chrono/chronoperiod.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/chrono/era.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/chrono/chronolocaldate.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/temporal/chronofield.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/chrono/isoera.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/chrono/abstractchronology.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/dayofweek.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/localdatetime.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/chrono/isochronology.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/period.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/localdate.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/localtime.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/chrono/chronolocaldatetime.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/chrono/chronozoneddatetime.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/chrono/chronology.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/text/characteriterator.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/text/attributedcharacteriterator.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/text/fieldposition.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/text/format.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/format/datetimeformatter.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/offsetdatetime.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/instant.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/zone/zoneoffsettransition.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/zone/zonerules.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/zoneoffset.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/zoneid.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/instantsource.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/clock.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/java/time/zoneddatetime.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/textclassifier/textlinks.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/clipdata.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/intent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/serviceconnection.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/database/sqlite/sqliteclosable.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/database/sqlite/sqliteprogram.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/database/sqlite/sqlitestatement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/database/sqlite/sqlitequery.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/database/sqlite/sqlitecursordriver.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/database/sqlite/sqliterawstatement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/database/databaseerrorhandler.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/database/sqlite/sqlitetransactionlistener.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/database/sqlite/sqlitedatabase.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/broadcastreceiver.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/sharedpreferences.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/context.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/loader.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/loadermanager.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/assist/assistcontent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/viewparent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/viewmanager.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/viewoverlay.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/animation/layouttransition.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/animation/layoutanimationcontroller.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/viewgroup.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/transition/scene.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/componentcaller.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/transition/pathmotion.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/transition/transition.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/sharedelementcallback.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/layoutinflater.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/fragment.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/draganddroppermissions.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/widget/adapter.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/widget/spinneradapter.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/fragmenttransaction.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/actionbar.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/dialoginterface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/searchevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/media/session/playbackstate.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/media/rating.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/media/mediadescription.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/media/mediametadata.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/os/resultreceiver.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/media/session/mediacontroller.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/framemetrics.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/transition/transitionmanager.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/window.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/dialog.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/voiceinteractor.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/taskstackbuilder.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/window/trustedpresentationthresholds.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/choreographer.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/surfacecontrolinputreceiver.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/windowmetrics.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/windowmanager.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/pictureinpictureuistate.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/contextparams.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/content/contextwrapper.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/view/contextthemewrapper.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/window/splashscreen.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/widget/toolbar.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/util/rational.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/remoteaction.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/pictureinpictureparams.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/application.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/fragmentmanager.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uts-development-android/uts-types/app-android/android/app/activity.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/app-android/utsactivitycallback.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/app-android/utsandroid.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/app-android/utsandroidhookproxy.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/app-js/utsjs.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/app-android/index.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/worker.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/webviewstyles.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/viewtotempfilepathoptions.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/drawablecontext.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/snapshotoptions.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/cssstyledeclaration.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/domrect.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unicallbackwrapper.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/path2d.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/canvasrenderingcontext2d.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unianimationplaybackevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unianimation.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unisafeareainsets.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unipage.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unitextlayout.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/iunielement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unievent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unipageevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniwebviewservicemessageevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unicustomevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniwebviewmessageevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniwebviewloadingevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniwebviewloadevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniwebviewerrorevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/nodedata.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/pagenode.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unielement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniwebviewelement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniwebviewdownloadevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniwebviewcontentheightchangeevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/univideoelement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unitouchevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unitextarealinechangeevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unitextareafocusevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unitextareablurevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unitextelement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unitabselement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unitabtapevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniswipertransitionevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniswiperchangeevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniswiperanimationfinishevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unistopnestedscrollevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unistartnestedscrollevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniscrolltoupperevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniscrolltolowerevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniscrollevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unirichtextitemclickevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniresizeobserver.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniresizeevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unirefresherevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniprovider.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unipointerevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unipagescrollevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unidocument.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/asyncapiresult.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/iunierror.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unierror.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/nativeloadfontfaceoptions.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unipagebody.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uninativepage.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unipagemanager.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uninestedprescrollevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uninativeapp.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniinputkeyboardheightchangeevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniinputfocusevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniinputevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniinputconfirmevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniinputchangeevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniinputblurevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniimageloadevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniimageerrorevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniformcontrol.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniformcontrolelement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unicustomelement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/unicanvaselement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/sourceerror.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/uniaggregateerror.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/utsandroidhookproxy.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/iuninativeviewelement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/iuniform.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/inavigationbar.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/index.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/native/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vue/checkboxgroupchangeevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vue/pickerviewchangeevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vue/progressactiveendevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vue/radiogroupchangeevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vue/sliderchangeevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vue/switchchangeevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vue/pickerchangeevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vue/pickercolumnchangeevent.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vue/uninavigatorelement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vue/uniclouddbelement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vue/uniformelement.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vue/lifecycle.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vue/index.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vue/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/base/index.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/env/index.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-actionsheet/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-actionsheet/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-addphonecontact/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-addphonecontact/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-arraybuffertobase64/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-arraybuffertobase64/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-authentication/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-authentication/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-barcode-scanning/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-barcode-scanning/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-base64toarraybuffer/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-base64toarraybuffer/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-chooselocation/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-chooselocation/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-choosemedia/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-choosemedia/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-clipboard/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-clipboard/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-createinneraudiocontext/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-createinneraudiocontext/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-createintersectionobserver/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-createintersectionobserver/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-createrequestpermissionlistener/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-createrequestpermissionlistener/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-createselectorquery/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-createselectorquery/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-createwebviewcontext/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-createwebviewcontext/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-createworker/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-createworker/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-dialogpage/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-dialogpage/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-event/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-event/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-exit/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-exit/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-file/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-file/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-filesystemmanager/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-filesystemmanager/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getaccessibilityinfo/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getaccessibilityinfo/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getappauthorizesetting/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getappauthorizesetting/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getappbaseinfo/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getappbaseinfo/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getbackgroundaudiomanager/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getbackgroundaudiomanager/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getdeviceinfo/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getdeviceinfo/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getelementbyid/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getelementbyid/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getenteroptionssync/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getenteroptionssync/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getlaunchoptionssync/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getlaunchoptionssync/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getlocation-tencent-uni1/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getlocation-tencent-uni1/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getnetworktype/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getnetworktype/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getperformance/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getperformance/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getprovider/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getprovider/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getsysteminfo/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getsysteminfo/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getsystemsetting/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-getsystemsetting/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-installapk/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-installapk/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-interceptor/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-interceptor/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-keyboard/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-keyboard/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-loadfontface/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-loadfontface/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-location-system/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-location-system/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-location-tencent/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-location-tencent/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-location/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-location/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-makephonecall/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-makephonecall/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-media/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-media/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-modal/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-modal/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-navigationbar/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-navigationbar/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-network/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-network/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-oauth-huawei/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-oauth-huawei/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-oauth-weixin/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-oauth-weixin/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-oauth/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-oauth/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-openappauthorizesetting/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-openappauthorizesetting/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-opendocument/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-opendocument/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-pagescrollto/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-pagescrollto/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-payment-alipay/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-payment-alipay/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-payment-huawei/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-payment-huawei/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-payment-wxpay/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-payment-wxpay/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-payment/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-payment/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-previewimage/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-previewimage/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-privacy/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-privacy/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-prompt/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-prompt/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-pulldownrefresh/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-pulldownrefresh/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-recorder/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-recorder/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-requestmerchanttransfer/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-requestmerchanttransfer/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-route/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-route/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-rpx2px/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-rpx2px/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-scancode/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-scancode/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-screenbrightness/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-screenbrightness/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-share-weixin/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-share-weixin/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-share/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-share/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-sharewithsystem/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-sharewithsystem/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-sse/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-sse/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-storage/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-storage/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-tabbar/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-tabbar/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-theme/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-theme/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-virtualpayment/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-virtualpayment/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-websocket/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/lib/uni-websocket/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-api/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-ad/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-ad/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-crash/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-crash/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-facialverify/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-facialverify/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-live-player/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-live-player/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-live-pusher/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-live-pusher/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-map-tencent/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-map-tencent/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-fcm/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-fcm/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-gp/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-gp/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-hms/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-hms/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-honor/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-honor/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-mainland/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-mainland/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-meizu/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-meizu/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-oppo/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-oppo/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-vivo/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-vivo/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-xiaomi/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push-xiaomi/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-push/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-secure-network/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-secure-network/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-verify/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/lib/uni-verify/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-biz/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-component/lib/uni-camera/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-component/lib/uni-camera/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-component/lib/uni-canvas/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-component/lib/uni-canvas/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-component/lib/uni-video/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-component/lib/uni-video/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-component/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-openlocation/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-openlocation/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-compass/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-compass/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-canvas/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-canvas/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-locale/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-locale/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-accelerometer/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-accelerometer/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-memory/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-memory/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-preloadpage/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-preloadpage/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-createmediaqueryobserver/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-createmediaqueryobserver/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-__f__/utssdk/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/lib/uni-__f__/utssdk/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uts-plugin-extend/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uni-map-tencent-map.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uni-map-tencent-global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uni-camera.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/uni-camera-global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni/global.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni-cloud/unicloud-db/index.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni-cloud/interface.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/uni-cloud/index.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/common.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/app.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/page.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/process.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/vite.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uniappx/node_modules/@dcloudio/uni-app-x/types/index.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/uts/types/uni-x/app-android.d.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/src/runtime/app/socket.ts","../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/src/runtime/app/index.ts","../../../../dist/dev/.tsc/app-android/uni_modules/ak-req/interface.uts.ts","../../../../dist/dev/.tsc/app-android/ak/config.uts.ts","../../../../dist/dev/.tsc/app-android/uni_modules/ak-req/ak-req.uts.ts","../../../../dist/dev/.tsc/app-android/uni_modules/ak-req/index.uts.ts","../../../../dist/dev/.tsc/app-android/uni_modules/i18n/index.uts.ts","../../../../dist/dev/.tsc/app-android/utils/utils.uts.ts","../../../../dist/dev/.tsc/app-android/components/supadb/aksupa.uts.ts","../../../../dist/dev/.tsc/app-android/components/supadb/aksupainstance.uts.ts","../../../../dist/dev/.tsc/app-android/types/mall-types.uts.ts","../../../../dist/dev/.tsc/app-android/pages/sense/types.uts.ts","../../../../dist/dev/.tsc/app-android/pages/sense/sensedataservice.uts.ts","../../../../dist/dev/.tsc/app-android/utils/sapi.uts.ts","../../../../dist/dev/.tsc/app-android/utils/store.uts.ts","../../../../dist/dev/.tsc/app-android/app.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/user/login.uvue.ts","../../../../dist/dev/.tsc/app-android/utils/supabaseservice.uts.ts","../../../../dist/dev/.tsc/app-android/pages/main/index.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/main/category.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/main/cart.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/main/profile.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/settings.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/wallet.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/withdraw.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/search.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/product-detail.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/shop-detail.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/coupons.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/favorites.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/footprint.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/address-list.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/address-edit.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/checkout.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/payment.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/payment-success.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/orders.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/order-detail.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/logistics.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/review.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/refund.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/apply-refund.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/refund-review.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/chat.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/subscription/followed-shops.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/points/index.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/points/signin.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/points/exchange.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/points/exchange-records.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/product-reviews.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/my-reviews.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/balance/index.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/share/index.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/share/detail.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/member/index.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/message-detail.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/red-packets/index.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/bank-cards/index.uvue.ts","../../../../dist/dev/.tsc/app-android/pages/mall/consumer/bank-cards/add.uvue.ts","../../../../dist/dev/.tsc/app-android/main.uts.ts"],"fileInfos":[{"version":"6e80ad2ee01e6eea8837f649d0b91002724ec74cef9b3d2b5fda718b14fc6ec9","affectsGlobalScope":true},{"version":"87e0a7f9366dc80be7b72c6d0a6e23c4f68cd2b96c90edd3da8082bfdd237af9","affectsGlobalScope":true},{"version":"2c44751aff2b2161d0450df9812bb5114ba050a522e1d5fa67f66649d678fcb4","affectsGlobalScope":true},{"version":"68566331a40bef8710069a7f5ac951543c5653c1c3fa8cc3a54c95753abbcf7a","affectsGlobalScope":true},{"version":"173b34be3df2099c2da11fb3ceecf87e883bd64f5219c0ee7bc6add9bc812cde","affectsGlobalScope":true},{"version":"9c867cbb4270f3c93a0ffaa8840b3034033a95025cd4f6bf9989ecb7b7c54a4e","affectsGlobalScope":true},{"version":"6d41c5eb02906006bad04d0ba26eafc1b10c433760b9209f4dbb7af1b8231071","affectsGlobalScope":true},{"version":"7b435c510e94d33c438626dff7d8df57d20d69f6599ba461c46fc87b8c572bce","affectsGlobalScope":true},{"version":"25f08344cf6121c92864c9f22b22ab6574001771eb1d75843006938c11f7d4ab","affectsGlobalScope":true},{"version":"f955119e78143380da1b952b56ab8ca46e10776d17e0a748678729086b0fae49","affectsGlobalScope":true},{"version":"b15b894ea3a5bcdfd96e2160e10f71ea6db8563804bbaa4cdf3b86a21c7e7da0","affectsGlobalScope":true},{"version":"db491a26fb6bb04dd6c9aecbe3803dd94c1e5d3dd839ffed552ffaf4e419871a","affectsGlobalScope":true},{"version":"463cb70eebbf68046eba623ed570e54c425ea29d46d7476da84134722a6d155b","affectsGlobalScope":true},{"version":"a7cca769cf6ecd24d991ae00ac9715b012cae512f27d569513eb2e47fc8ef952","affectsGlobalScope":true},{"version":"d27811b28326ce496b3a0810a4b38d9391e929b150d9d8b881a562c9c9d666c0","affectsGlobalScope":true},{"version":"0aca09a3a690438ac20a824d8236bfdb84e4035724e77073c7f144b18339ec65","affectsGlobalScope":true},{"version":"0f844aa90d79ff631b051f5ee8540a8936d48c39914c910e89e7b7949bbac865","affectsGlobalScope":true},{"version":"0fbf8b372e8d8349a3b5a1f470bb7897272bb43aa88066e50dce25fde261cd93","affectsGlobalScope":true},{"version":"0ef38eeb51b042d85f64103ec93a37ba8683a31c22fdfd76c69852e982aa08c6","affectsGlobalScope":true},{"version":"9652d98559378167cb1f4eb57e51119e4fef5861d18c5928c6bae207b80adfe3","affectsGlobalScope":true},{"version":"7c1cfb70557e907294946a14c5eba189f77d5e9dfe7f02832ee5c6f3f34dc4d5","affectsGlobalScope":true},{"version":"baa7e3434cefa49e8965ea72a0c26fe056b2e9d978ac2bb3abd204fcd6c4fc0d","affectsGlobalScope":true},{"version":"aca5b50919b30253d6db79ecb92848d8dae72c7998df1454a19e21dd633a75b1","affectsGlobalScope":true},{"version":"016e96968aee1fb6804200c75a11e876371536a98e772cb55ffbf482ddbd8822","affectsGlobalScope":true},{"version":"4567cbd464d15226a40a5b3d671e20665aa070a2c4fa3f4682700f563f9ab730","affectsGlobalScope":true},{"version":"bfea9c54c2142652e7f2f09b7b395c57f3e7650fb2981d9f183de9eeae8a1487","affectsGlobalScope":true},{"version":"5b4344f074c83584664e93d170e99db772577f7ced22b73deaf3cfb798a76958","affectsGlobalScope":true},"db8eb85d3f5c85cc8b2b051fde29f227ec8fbe50fd53c0dc5fc7a35b0209de4a",{"version":"8b46e06cc0690b9a6bf177133da7a917969cacbd6a58c8b9b1a261abd33cb04d","affectsGlobalScope":true},{"version":"c2e5d9c9ebf7c1dc6e3f4de35ae66c635240fe1f90cccc58c88200a5aa4a227c","affectsGlobalScope":true},{"version":"c5277ad101105fbcb9e32c74cea42b2a3fbebc5b63d26ca5b0c900be136a7584","affectsGlobalScope":true},{"version":"46a47bc3acc0af133029fb44c0c25f102828995c1c633d141ac84240b68cdfad","affectsGlobalScope":true},{"version":"bf7e3cadb46cd342e77f1409a000ea51a26a336be4093ee1791288e990f3dadf","affectsGlobalScope":true},{"version":"3fb65674722f36d0cc143a1eb3f44b3ab9ecd8d5e09febcfbc0393bec72c16b5","affectsGlobalScope":true},{"version":"daf924aae59d404ac5e4b21d9a8b817b2118452e7eb2ec0c2c8494fb25cb4ab3","affectsGlobalScope":true},{"version":"120ddb03b09c36f2e2624563a384123d08f6243018e131e8c97a1bb1f0e73df5","affectsGlobalScope":true},{"version":"0daef79ef17e2d10a96f021096f6c02d51a0648514f39def46c9a8a3018196be","affectsGlobalScope":true},{"version":"571605fec3d26fc2b8fbffb6aa32d2ef810b06aa51c1b0c3c65bbc47bd5b4a5e","affectsGlobalScope":true},{"version":"51536e45c08d8b901d596d8d48db9ab14f2a2fd465ed5e2a18dda1d1bae6fe5a","affectsGlobalScope":true},"897a4b80718f9228e992483fefa164d61e78548e57fbf23c76557f9e9805285e","ab2680cfdaea321773953b64ec757510297477ad349307e93b883f0813e2a744",{"version":"8a931e7299563cecc9c06d5b0b656dca721af7339b37c7b4168e41b63b7cfd04","affectsGlobalScope":true},"7da94064e1304209e28b08779b3e1a9d2e939cf9b736c9c450bc2596521c417f","7cce3fa83b9b8cad28998e2ffa7bb802841bb843f83164ba12342b51bf3ae453","dc44a5ac4c9a05feede6d8acf7e6e768ca266b1ce56030af1a3ab4138234bf45",{"version":"451f4c4dd94dd827770739cc52e3c65ac6c3154ad35ae34ad066de2a664b727a","affectsGlobalScope":true},{"version":"2f2af0034204cd7e4e6fc0c8d7a732152c055e030f1590abea84af9127e0ed46","affectsGlobalScope":true},{"version":"0c26e42734c9bf81c50813761fc91dc16a0682e4faa8944c218f4aaf73d74acf","affectsGlobalScope":true},{"version":"af11b7631baab8e9159d290632eb6d5aa2f44e08c34b5ea5dc3ac45493fffed5","affectsGlobalScope":true},{"version":"9ae2c80b25e85af48286ea185227d52786555ac3b556b304afd2226866a43e2a","affectsGlobalScope":true},"a9f049ea570ee986ad735ceba97a15d423659025fd070da3da67eeb8abf79fb2","5e94ed5f6b634fb2efe8715d7a14898244e87d97de8f30c5f1ce659325f35b63","b7cce00afe96bd61edceeda75e87001c606d6afae1269d408b762909ca550025","753ec8d1da4a289e4c8ab87eaf69ff564ccf882b9b205d748b8fee35e5c13c84","dcb4f549a765d67fd8112c49cb86835f903bbc7b3c744a0e0e6586bfcf6b797a","69bea942e5e363f5afe74ade98131ef7e6424ceb6eafa912c4fd558e95cfd13a","fe9bf6de0f7eb5bcdecbc97a9f9d143fc47ed6b2d4f4c7d626a163fb3683df38","113a30c935a90737c27e5b166753e8cd2c52cb7eb970a6bf8c7aaeb41a50f1ee","345270970a9c2a3acbb36b6e8d6929bd67a51089c1bd5ee69a6e3a7fde03a31b","c9ad66dfbb3053a5c29fccf8365eb0591f842a0238bd6acf7315c69249bd63d7","be45ce8cab2a0fbf2650402c462e99c1d7a881d4722435646ae8ba6f487ff3db","d16e1c53c406a38a3bcf4d00c3d4b563de4b314a20217289fb0e540fa693f30b","1215db238a845972b6d722503f428d9c8af6162341a437202039a397f0a3b4c1","35d891aaa6d58b6b5222cec630cb7cae1c0db8d022bd12aba90010e7fd1e0d5c","155136082237896cfaa4af7370dc01a631ac790fa0dcc2969be674f0a02de5a2","7624ff1625a5d1ebcdb3161f7f5424b21fb3af0204d3f4d35d6e27d1947ad1bc","7bb9019b6498ed08c1ebcf61148f8b793abb3cc3923b0ac3478937211830d85f","ae03093b0feedf80a44033b3103c5e3338014efa3f3e24845bf26274b56502a7","6d7cb1c3550c1cf70353db405d8cdeeeb086ee133481d491a7f18a121296da97","95a912851175159e7e4f743314fb8822cd420106bde2aedd824d46177ba99096","4818294229770bda38c78a67eacc25a54fe3a7139cef63c16dceef161eee3a1e","75c2abd02e246ceac6959a2fff8b140ed7558a53c27e1aff74a799ecfd93e78a","af4a013ff8eadb3da77fad719c7cd817990353cef3e92a71119c4bde4315ace9","6e7baf1a770b2b2511fca9d7eb9262c426571c96a19d4e906dcbd829618d8a07","3281685ed81a5f4cd84de92382261796473bbc121dfacf41fd13db4c256f83a7","75c18be6fbada64942047f2e29116c1598eea0fb259b66553cfe485a36bf98fb","2faab834c91aa96433e7a8754a557b48dfcc62f52d4c9c89c207388ad32ec70b","ffaaa31124382edc748ca1ff1aeb9e9300901546526e1356b10f166ac4f3f3ab","7e7b2aa55273a7f11e445b8f1f23c9e3d15d9aee5ace616534e8b16faf04c7b6","f4555f41566ae26a07b20098b9ab36476f7b185ca1e31204e593c34b51e3d5d2","be7cb8f67c758b1257fd0b90b9d546db908279170299f2df910c5fb05812b453","ef09a4caf8a73b19a1a5d861896499d1bc1d2b7d317af56b613fc379cdcf7f3d","a9826fdd6dfd19e91873c0c69195ebf925c652fd7096ea6a6dcb5d081037f8da","417de4e994c7f3f7c5c7710eaf664ed94347b40fdb7ef3f6a2cb5079a08da145","7f7a841a4438b02913186a76fc16143be3c3d0b9d5e596fc3b1e8b2c86b6a892","dd85cdccad106178a91b0e274bc61c704c0c2758843d29d699c028689e67552d","e2b50c5db2178aa09da186d8b60e2f589bc6998deeefba9be9df4c0686c0dca2","560f73409bc73749185b2d598923d2886dcf259b8864aa28786526164c6ae494","734a97c19cfa217eb74f1da4b933bc0318e53befff66c25043078404a0a5a3fb","f8f34d360348460782fc26f7e70cdeeb8150eaebff535b4075fb64d749142e9b","9c8b8cfe32f699471ca567ec171102bfd8a4abba5693d1837b45de1d93626910","aca17a9829f3267c504ebc02d05115616e4f0398b53e82599fd7a70662c4dd50","236f39f3abf84c47d0663a94647ca67bb92b8ab8eb1d7c0f9b15a77c20400ba3","6b41d23aa626a42b433e913b51024e310aed256d745cda2685c663ebf7a277ba","692673cea6d597777fa0b866c6d93e4cd1fbe7749a49bec3504f3d6852da382d","cd903ae80936070b05eebc6e0c461d9479ce64cf1ba537cfdc8d78b3d9a81e1d","360e08b9f7239540ba530e0f38576059fe0efaae8fcbf67f0fe5ebc169f475d3","6e66fa453a3da37ae7ae2fee12937b38d1210a0bc22a25fa70f999f8a98b8c3f","6898a15ba9329b18503a934d772f8e7d9d8d2172ed3424ea43dcee250e225cee","bc8c6cd4ce4e561453acdc3a22b6f9bfe5ba2bd4557fdef998369081c9134275","3df8d611a65ce138aebef52e24c51687ab9430e4cc9cff0c92bf52834a6c8023","5dcd61aeda70e3af3934446d645000bf91b7b6d71cf75141f9f4bd32ffbf4a1f","5948cfa7a16bb3b6694049a3d7c59566125a575beea799ebf86355888fa15f05","141027c7195a6e49d68ec954a6c850a67183117b1a48ca9e55d586abbcc286a2","ff64b99cc27e43aefdefe313778db4b98e1ec8e66bd8c9e8dd1da7a848852110","0e985df7af2d15cf2ded941415a3132f92fa1f39182c36e2541f0897578a90e0","7b1c9d68ac624e2ce9fbcef42f03df9eb5d7922b697c4eb0625bc5932c7e5626","c9cd9b2f01b474b6d1f824261274d4e2944543cba989e13ec8fb45eaf428fb99","0621f832a6db1c7e15d4b8e27efb3b6a2dfbf0061d548d20a0fa3acd6e7e9ad0","1362b7513042c64d05ef2e4073ca3ef25825e6c953c4d5455580ee50a232e083","f7a55f60dda8daa1e82458d64f4f1dd5f3113320ecdfd98a14ca95d423574207","6e62d79025167711952e5abc46fe773b83dd7fbc3432f3d60e34263ef07b8a88","a07425e97c460bd3c764ce3d857fe37fa7d1808b3ddac022d348e7bacaa58336","6ddf6dc4e11f0041c3d513c6ecbca1a62c71edf8a75606396a9937e97b0976a8","8c907668fe1c4c163e322f2c563c5f1de02ce8bedfe90335a4cf2fbf01e7ec42","2888b08f7df74672945e8913b3f8b482a519d8ead96db6413328531b98fce6a0","b0765d93e1ae41c0b9231e50ee9850a9ab30043bb9f40cc4b720c31e55dcefb2","e1a94bff81e13adc6eb802257e67f4ccc54d4268e76236dac5fdce5aef22a445","636cd0739ee78e7d5d7d7aec83243de13f3e92c6bdcdc4325756fedd4363fba3","b14f0680cf344c2ff3c2c03c9fbd5413ed76902100a8c476a04dac98113ae6ce","b00fc5ea3c8d7676d825c82783c73dc1a9b662bcea886cde8861a93ce0637902","ebb3d0ff97c54e1995f229e6dfee89d255e8b37ce50360642e3e4f4041e00850","1e995807d59118d7808da9ab62300b2b535686c1356df51ff64365ef6f255909","f63b65154c9e12d730832f8f0b0f77f1ce912bf6d6bd8296759b2a57aea933a4","37fa9c72aeca0c40378a13917e15c08f70618fc1af50db2390c54a2da5891156","f89deb8cdd5de1cc0b735108eeea49bf81af828bb893b1740afa59af0b726e1b","91d50f7a3484627280e6b3873386d1a44dcf956156d2b31ea9741c1327be23e9","a9da237d591fdcbd3db71e2c52fccfe18a203bb810aa891bfdec7f7334289174","6fc646802b257c559c61bb190cf1c39377f97c8edcfb9b4f7215f4000b16be52","52bd2529c7f409e5c239d43ea7444c394e6be64b509437c3c25fca52f3aa5144","f52a07b2ca2e4dab99459d521867b3f4c5a2032677a0c803d90c400a34c55a40","dbb522d1482ff56669c9f281491dee1ae8a75e015c5becdb348c2dcc02afddc9","2b63c811c1648b74cf6e4337c99d9e84abe4d105bc9e38d38810c358e431a023","ecf25c2f08b3a89cb878eb832a7f0ad19a7070905ae687d36bd5abfe2d6b7e7e","e11fcfb3cb83517aefe0f4713f395a0dc18f7c6aee361a0bce258c3d22a1bc00","4a83c0012226f26b3d13aec38482c66f3a605c0b20827ef19bbd8d49cee622f2","cdfff4439385638f00f16b0c50b1c0ec6452281af8e9be558432cffbce7aad22","034b7b464137cdc0c1ec97078a3d12c6a3f283d60cfa09756cef051042b79463","ecdaa87c9dcec6f7c802e5a2d3926691cf1fea4d8f8e916a93a0b410d8daf91d","4c6a9787e1b611dad138b011c9abb88395aaa9bd473cd713f2064aacdeaee396","52f648342dbae30c9a51cfb4859e0ac8cc64197351e53eb1e2a04e0315c17ff7","2922eb5995ced0c1d56d05304a32b8805b6d582d736c3168526c9011dad0233b","5f3833db4ede7a6c5955a483a01d50359c874b5a0b4ab5afe26e0232666da187","a3037d173041b7bd28ffaad2a9c10837b5d315652d1ec4da9fa3c7aa7fe59f87","23b539194ab717460588dc29b98d18318c217f4e74258b37bba04c9e07d71d1e","076bc471e07b6780a988f0d244e614e4fd5b93deeb7eb58ffb30efc270423de8","b3bca5abd1ec281a32ec6bcfd1c2975aeb9683ea3eec68bf323d8cee61afca90","edd3eb041e9fcea3765ae94f145524eeacff60b721e34ec1b9a7061276352719","c5450ecca5a8946d0ca8d2bcd8506c22c33a4af38cbffba6d03b4304a823e50d","4c6ef9fc8bf8d9038bcd22fba5b4edd22ea05a3d536ebdd5b07f720d02607a93","04f7b9e58a831b4f7f5d6bb170e87820c68ceccd86ece944c5cbb376fee8416f","db12cd264aabe686c6a027c8af3afa72486b0cf4291d5f5c8ee148325264de1c","c19c6bb7f81272ea573f2174600665cc999e8a7596fc2f9fae2daa689575f08d","95663e373c6b4ce80da0f9e21c564f4f201fed54773f9e27319ef441b547470e","e8af6903e8e7f3f405654c808534319d1105e5d05c5d5b7ab00dc05ff8c123ca","95a831ca188856a59bc544031053fda680056f0c0e2ee2722ebf614f50b7e54b","ad3683201a9dac34ae25a2c57af2dba04805cc998fe78df34facc13dc970ffb0","3052cfcfd8ccb093f64924792c7d3090490a803331969e44cab52cab4cb74698","98366b7911900d3a31c6e85c326f7ba664a28fbd24fba191faedadec01fb2c4a","4f3924ede1fa4f31f726c577e5056c407e995cf6f140d5a37b25637d512c6d2a","739779e95e30515697347572fdd439ad55442bf175aaa6763444336b258964dc","6369eadb1ef17bc4faff5eeadf6bf759986e6dcba8e412aacbc7681c5a1ffe00","9352428676f84478a26cc7b750e4a9d2abc7189b6369452067e4da2afe1d3be1","a2f25e1d6a2a69b6c88f86c6d39914c9e9a1634c9165db2cf05f9f7273b2737d","bb356f5b92a22eb4bcca50ed190e2bd94fb2fd6ccd5f0bd184ab94b10aaf8e22","fabdd71c50eaac10936f748c32779ba276c3b778fb697d5b36c18b416958bc06","55137dec811a92edfa329067ddcfb042673ffdcbad49dae12c61cf9ff2410822","96f21e74ddcc1a72f611bb90f4146bff4bfa61a0ce5d32dc10592f9bca6d9dd4","b7ef1d83bdc824781f07b5347176f154c98190874c5f5ba2c0797225ad370b2c","0e7a4c6bc6f826aa0032971691aeef1d4d6c8bd17529652f4f764749e33b2167","c702feb8c88742697dd03848be3381f849776cea383497cfe9c72075ba6996fc","890729ef6b2e352d1750186bb3cb740f4d450d4f5d58e80c988ef79c596b4db8","caf48a1f9ca7807e639635d357c615d61be9260f3b3c15fd3b32c9a136b95330","7def810f306678f7f8c1305a372c6e8d4ecf984f0cb067dc8fd422dfab2bd6ee","7accc5c71c146538a30125e240e7be8cfc29a9e263f4540b14c55db4af3fc4c0","04e345066cc36c58551825d6e84cd23db6e78607ab1ccda754c6bae66e0b0fc4","172c9efb0cff276f9cb01dfa2ac5b7b6d5fe3a547e264fa2a15187d7dd9d6c93","8d9202dcdfb70d6335082e1af748cc1e8b3ab4ea42fa9d34403233b8a2693cf8","f4600cc019ff4c47e17213c7d2ec5c831db0a9379d7376fa2fae3af29c9c82b7","b7dd7c73cc8c564f0bdd5217f56cf42fde85c7524b06739e76f08265a3e8a1ec","2fc96755c9ce9f4f3d6a4f7406b8abdd0651c7548296e060908c4b75b7bc42da","c94c469279059c008ff138b5b091085b1f4326824abe8265140fb26021e294ac","f2f23a8040a3b977f2adc72622b49145f1605300d5b279c4debbff8d535c469a","41d81600effb129c209f86ae32231ddc357d7acedb9fa9ebfe60c308475d1b36","67368e74c92373e743f2942eaffd292cdd6f91d3a4d4210649de88e886f727f5","2e3ca531dc7f889d2525b5548bf18b0ecb5b2b1ace8c89e5644b5a84ed80df0f","13cde4d1ad843f50fa82156e498420f3d6231eeddbd9c856f2fbc947cee14f69","7ee62691b05718e30a74db92d9295084ab8d9dd0764754995545b672017694a9","7c89dee0144087f836d6b9452ba29aa4967317ffca1be148988eb81b5a357992","616e4dc1950431f1786d66b11b6e6f18565814d3098faa8785bf2fb71d7d97f4","fa065dd51bd483dc403955d383e587f65cd99070cad7b1e638d24fb084df9879","defa4a8e6bee828a1c2dcb37f58597411f5299557e37efef2136fd6a042a0ecd","7e5a27c15c04faa14436677396f5075f2acb6b0aa33670543ba5d75251ec3be0","0b5823a49cbcd5576d7fa7f439441ced3386eb630279cb7a3bb30246cb2519aa","7d964df58d57fb44484522e32f2e99d0fc6bdd929bec44ad5a051cce31703737","dd0b587ad7c873cce8d7e51b947a8c1b722e00881b0b485af46f9f4e9dfc9fb2","f72781d005c256a6d64fe522eadb2c2a2b920c91e395dd2837b4193ec6a32b6d","827c3bc97611a0334d90bb429cd61547e1479349cf904428fede5ba28bd02ca0","9c865c53cf594f71256e90f1e7777688088e05f7040702c0af1b31b2a17979c8","ad149f89d84abf476903e0a70593bf8a9a9870f3363f03e48bce03a60b9032cb","42c0632af4a7291567b196d0653c7e47ed807968bcd9330e14cca8fd5137411f","cf92f44b3a567bd9842fb31ea8f3fa8d71389a703e83b0104ca057a9c7c401b5","ec9f73c33592a97de39ce97779da9c1d9a3a81416f60024cf3a094d8bc6a51f0","59899090f0e604d38520297678161172eb0da2e276d50b734782ac74bf710b64","a4261d849c4c4834f22b6c33fb05fca37078eee9a4dc6fa00c90f2cc0ddadafe","33f8235ee036526ba4f6281be5a9675977efec915fa370ea9823be3b743493b4","92106a20ad252996f5de30ac709a31f7e968eb0e3faf02d439bfc19736358abd","d3418282d5ac5cf21a0c186d4ce7958c5a8b8e35d69d79225eee9561bd5e941b","deadf795497e8a65e573447e50e36a3b30f7e6cf70c02b4235c7aad21624f9cf","bcfe531c8d0cd3b6c3b24e398f78f7b51a3c4d44c75225fa8f8bf4fe30fb6ec2","b451a4d6f6ecc0523e2bd43e2297c68d63647a330a7c893a3a356dc90c0b7e35","5ac5bd94c6929192ff715f8c15543a2b7331f0db6f8b9a5680956339c4ac5841","0ee0e380e1d17c3e6183b70c012b18166bf6ef593923f2b4083d99697fd61d5e","11f2b58acfd6affaa3ff00799fe3744768c073ccf63320634067988309b86b27","055c94ddb36bb93d5bd06af77e403511ebe8952802934ea2c9af6effa2859a11","795418f74f7d511631329ef4a917d7e065c7f7b8f261eb6576e5e1b364fcaf93","f07aa0f14b07105c64bebcb9e792216b85e21dba5ad5fc7d69dafc990998c9ab","3590279ae9cb56082358ac736c650e2500d3e354aacc4ad0d46da2bb9c074b70","d14cb41bef07c4b766260e33f77affc25c326bab71a29b38de49c736bef814c1","9784caa1704ad93d707a343016dce9afc51e3d4bc473c44afaa5ef73bf02ec67","f9da916dde53443d9ff83edfa1b404fd468280839379215c45b98748ad36413f","89e00a80153e04f55fc2abf67a5fa26e843e94e4d896eb906ac131113e623dcb","695d60af09f1ea0abfbaac6029a847d5acd974031ffa92bb30a5046412141366","e5fb35e195ee33c761e1dfe073436e30c7f38d72cd4739dd2deca834cb2040bf","00a0288ce31d3e3129fc177a60c130cd792f2ecfd6e634c4cf9ef38b075d7e5b","db2d09f8715a7f099f32904cc44ca3259bc0d6c9f8afb539f0e94082c3421b32","d005bd50e8eb8fb8b93c2f9c1c6ccb1445d21fb55e02ecf2782fbc921f4e3066","99b4c7f34a053d3bea56a63a20077ec8ae250cafe28730428dd18f8bb01e8ae7","2a3b6a931d2bcd2998c06cebc2d86ac66300a65fac01f9fd1a5ca39746921148","18e2f9802d6f93be156bdc2c771ade01af119f6735ddc52611dd47c00da6de74","60c6f70be8a7438ebf45665d8edbd06b2d6f12e57374d5d3dc2f5117f3e56359","9fdd23e11fd5b1dca494cc919f706f502804acef50cee593723ed4087e486f7e","784d7599403cb4e6595c528758daefd24ec8d6867ba668dfc524deb04ffbc1a7","e254021ff17cd2dffd5ba54458cfa43a07520db1b679dd74a54bfec16c198eed","31d3d8d7c90229e478767cf35dfaa0d63fa453f03d11a3c9ea0bcf49a000852e","a811babe4e7849025cb2c111317d96da26b0c2c0bcd9a5a6baa5c0244ecc2c4b","5dcb774809733fd4c12d74e54e4604d6462668f0ff9f89e610d3c8ed7daade4b","6dfb57cbb5123326dd2591fdd29cf2a6edfbd50473f84ba56b41dc1a9a5c9335","2c4c16ae9d3ee7cbfd81aa78318dd44aab3e89f104ea5b83db823c62e8035958","452faa95475c0a3d13b75d2a16e3400f7689c66210f41160bdd7cea51f58269e","2a58ae82f98a35406aa0aaf823ceab9788bfb5f8f634df0f81e33f052cc9a070","c4bbb6c48e58b754e445b06107d128d1827917dd3ff142ee91842b9a9c112384","219683614118701da9fd97320073c9ba09a038636e85a9020572e5604028dbae","e02e548bcf8cdbfaad3014721c0afc4d9155864326e3ea996526e20e6a2afd4d","870fdd3a3eba1f8ce6d5a9f0a26ee479aefa7021f907bd7113c2742d4270a4dc","04f86e5474108337feddc60f974803afbfc9ec42d62ba329edc96c90c730020b","4fe88323f71b0c362f2a0bd9134ab39f3631259df044ed828110508864832c33","0598cf1cb02c868f6c3f00f66f5eed0c5f3224fde091e5caf586a32f2d54a256","a7ebf86af52748a4e9be5ae5659227d9c9f32e66938bf8f01e98c3fb3315d3d1","ee844259ed172b447221233f5f5858f3f9c14740d5b62cddf1462ef2a6e1272d","142e686aafed13c5d48f79c62cfc000896a2a57bd6eb900c2d7c33428df54c1d","744ecf788f2bcbc504d2854a287256f45df04c3c7e8ebe6997310f5d61b50711","f0e88b50b239c95a138b1e484eb51f502dd62f8573556e8a2389b5fd30133ada","651c9cd467ee2d3a75fbcbfdc9ce0663d8a7918b00051f9e8caf2c29c97f1dce","1755b7e2ac5ff0c983ed2af446b6e2be02aab92cec69b529d5bacad737c92ba5","75372fc69641935f9001968fd8a738f17427a92236783d830d9a1658c317c9bc","79857c3eddd652e3bf563ee8a8ac42f77602b493241f5d4ecf321deb07d3265c","493374b8fed9e916f65268ae34b2eb50d54dac6c6155c8c3aec2b110b96eb846","3f67bfe77198b02a087dd8696dd7cfb815e14d53beb18dec7775aee1d58702c7","ccc5205e0d157e66fda814ca588dee8c132fe54018d0d82661cef3cb6a61dea7","700797233325d51580854ed460164d5fef06c5c6479154336ed7fb4573c22faf","63b6ea7963794e1a1cbf29a4b9e6e5a18a16bc0acf12c4c497b13b8189291577","c940f837169ec3a8fab6fbfb8982c102be8568226547083fcaa7120cfaaa8cfa","e7c3a4ba9d905fd2c0e8c9fa1a7cc8d60e34de72c4fba3f485f1ae6f28d30e49","1c2e47b8eb25bf91b26b6d41e7dffb80d763866bac7cce5521a7a776a5219d7b","7b6c20a8df3cd20f3c7897bd4e7d14a3470bcf698aeece02039fa55977c6cd6c","3f13e83bc86dd062b425976807aed2f63743f517d1507e74c14ac1bb4e6af2f5","e7a3f8116acb64d02bb91ec7c607e4f605b80db625a6b81b2d86347be7872caf","51633fe4f49dbc57954c0c606e445e4f091b7af3420d80884accebc2116e3382","d6f2f3c749d1adf9b6d572d27c27eb0de6c97b07032c48e3f70837139e9180a3","170b85f7259689ce23bc809d7cea2a7fc79b7f4e524fd73930e66783b656c330","479da7ed69ee5914191bd855aa74fc34406c4c3864149a528b0cc76037250e59","8766424888a810870e4be559a7276449184edcae82db64731448db12049800ab","3019a26416cfecfa581ed6835e94ca21b0702114056dce8836e3a1226d732640","f0eadd8d5b164b19483b7c62e85a2249611b9dee897c7f1b46e109cce13b22cb","5f476be61ef4a259f7067891c04795ddadf1fe8450671cda83e27636ef2ad0c4","5be2d74a8b503f4ba88f905316a3704f28074cf30b884ff423ecf60a7d9fd4e2","d6f8636d479116a1cef3c6e6415d5326e5bacc5d0bbc361bbd507cdd451b1594","692ddfb913a98bcaf42cb94473d0d4a45683addbf48f3a1d5c5869073e09ed41","3d51204c5e6a69cb45ea152c968eb5a26db0ca7d06d73889dfb012edbcafda48","bdb19d108c2a788c48040cebb03d4bad79731996ca9765e7b292492d59e8f31f","734cfc086d6f945e9a84aadb7a2cb73214a9a86df7d0853409e36ad0ada006e7","c2d9d2be0c62d9eb038421e2a51be0f098f8da42472080649945506d9f8b2d64","38d5dea40c2e2423eff59924eca48e669ed88441815187bac4262ef0ad2689f0","688db86acd5f0d3a167a0bb4778bdecba769f2d94c8f2291277f0b51e7cbfcd1","1c2d49d8d8d90cdf734a7eaeac76e05829437eb657caa9e9403b56701a00b747","9c37c1dafbbfa00089e3ba095269dfcce8196e7cf2e7866124a577bed39b1341","25b2e683398aab0e633bfd679093be0e781f8259f3a7212c74090eabef71829a","870a3b40f227aca3021236bf178d76508583497a04ccde082db4735cfbdc413e","4206886663e1df92db9fd3286566a7b40d08c754109815aa1c5348469156b454","546275842f9a117e664c71aa151099b612126abf5002b7ea9a7d29db3f7ea06e","5d3e9c802093fd0f3621ad32231fdb40951d750679921c24be00207580515fdd","b638e2349147b410c99c7abb3b916484c84f931c0e54a51610eac23674f5462c","991acf2b656113675182be59c7bedb01f42132c7777d49ab56a20f7fd0eb0c53","c06c2a0bdf10e96019121c1ad43550e1309cbdcfb618fdfd5f5007c464b35869","dc67651920a1617964151323c9c0fc22962948131fccb442e3858deb974f0c0a","4dded26d1610b1fcd97be8bc2adbe9bf49cd6c574bb54f544a706ead913ce579","81b3af7d7e8df93862b5c308efb013845eb80b34c5bddb6bcf97269ac881b454","dfb5b0e704f05aa091ad57629da2964d4b4ebb92de88830e59641df028742982","ccabbc8d7cb2972fa82cfab2f68118ff53236e3f73a98dc20f77c0ceaa1c2323","b92d5c9cccabb04f74d0329058e29e4edf43ec80a427a9553e3dc006887260b3","310519588275401653a9e2524530076c0615619f4ed02a90f4c295256145ffdb","c654364580b1b5192b100687f5337a6cd364c49fa4d435a1de2088ba5aedc687","3a66a49f53f67807ef110033829b67d0ffe29032ba9b9c2d05a78cde639c7fe9","4a36f2312ade82cfc32f31fbf131cfcd29038f5f88dfb663d5faebf0c39bbb8c","c05e29c903823a814853aa0803301724bcee784eb332e63a673efc556283bbe6","71933894b1cb6b21be3e94316e86a3fac2492c2bc08944ae9611b85387f2b0fd","e5a70a8f848f1e7665865e76872cae69906a3976b61efa1580f8a9229d012e03","5fb73749ab8047b48d360937332fe28dc50e085a431f7327a6b5d530071bd06a","218ab8481329fd2accca1e5debb45dac5eeba96b39bba5f659009539f138cbd0","0930323b4efbec69877906806bd2a069c96896d35b5fe879eccf64059bdd0702","c0f9aa7e3e64a5097534bdb379b91e9c6838033cc1406805b06eb4f2bcb8adb1","e33f32c896ea534b5587a1166b769f1259a0d3bcf021fea449c03775e4ce5bb7","10c91f6a781c0068e7e3ac9435a38342e34965dd3cc7111a824e5c7d6a0106c0","5ae29d8bd0fbab2cea691b9541833b76c9a542013ad33710a109ff7f0751ae71","7b4ddfc74242c161aa469a8c1ba0d01915779a87a85e1476febe79111b52c5ff","d712fb0b184c4dd377292dc9767530e9249d73a04690dfca42c350cd4a02338b","72028dca7892e4d0175a4ed026701d73b5a5e8ad5c3771dfbe1138f1488a03be","ed145ad7bd6050dacd85f1c7e50fcd5aafa0433339dc2630a37bfc930d8589df","c063c430d8f55f4d7e4bb7ebf91fd7bd50e8d37f3406d356ecfa6c909350db29","9cba5e78db08657ac090c65d42534dba1592010544541b7810b35855570eaea5","abbfbef2b303ba2de958b6b872319bf3d4fc2d931da921efa09b092a91e3aa6b","e3bfc18a8b10bf2d1495eb4b3d4dbce361348fd743a785956d5aa868e62532de","b2656290b994b55e6cafe2640efdac100c004adec35498d4f470489a45a01862","6eab49aeb5385eedddd1c559a0fb5c09c8a18ee4c675ea1c9ccc061f7bc42851","e2acf71e1a4fc7f7a90e01d9c9c2c8e68dc42fb64a6e7276287bdc7ddea84214","d7eee876214292d6d5b868bdc75382459d63ee4ce8ddafdfe881efab51b5ef68","ab032d928152e2db5be177587327d54c90eb7c117f511db93430329ca0f377b8","f098324307a2ff30be1a9f32e72e3aaba90da04fd1e9f049c0769b079b6103fe","6049f94460f61904ef21883ba8e33ccb44b375beb0ab34061727f00a81aa4d8c","50de79e82b5c05faca1a582c3d607327af5ada600c6c04fd7e316d2f45e3d8a8","f01a152654a9a507506c715e69ee756fb7655868e592b39876129747346b37ee","9bffe80260c554aa2cbf095500c995460101af6eaf73c73a0e9a5fd010cb13ea","053dbae8c05eacde27db36ec5579374b5ae43908a0785232dd64a119f67e8312","f3b1803e1d654a91dc2f717a6303deda942fccaee3b214da79036ddedbc00aba","9841b6295555dd6eabc901bb6d3c1cd5c5bc54b98cb42fc51843495b5c30d0dc","bc0d319e41b6e74bad9b40e300ef0f5ace1c35b0e05735734e00a9a1b4529386","bebeb2d6b9908b8436e7287b8ac1181c64413f67ba95f75ded3394ac32e773f4","c8ea876fd7003a81023eed439b17a43102e6ed1098784770cf75c97141122aef","0f8e5ea2ae53ebd5cc361b68dd769c7ebab313df09ab3f3bada1057e8912718a","31776bf779655f6c80dbe834cb41c3fc3a5679813d009d54edbaa566aadc4449","37dd9cda7e4c1c3efad74cdc1305fe1b70a54fb25c1e960fcff5c1f95b857b2f","b027177cf9d90394842e000df982b32d996992a3270c48236b254ffa8862dc00","81800937cbae367db7745647bcbd75c38ae4e4114aed57ba00e14143a2771592","df3147e3f4c3f381fdc44804eeea2557af08f2ff5f05dd2f7e251b35d5974083","5c30fc9007e35a95a06d1b692099f6efc9bc1bb96a1d5a5d6bca96536c5b0d00","64c5f1364683f030776a3163d566cb2efd2069aae22c6e9d2b7e26ea1099d4ab","14fa28f24d61bda6cbdf507f9e8e1943995c4e5636f81e13125f3cbc7ac8d92f","c26f1d3fdb8f7fdf406eacd8b9dcb10db9fe3cc7e1e6a9eb34c5fd3d337efbda","4801ce5e0e889617c01743d837dea896b4665cfbae623a87a2397fab26f659fb","b833095a6a099770438573a7d76b9f914594012e547be2c556d1e1d3250b75a8","4e8e990f4db7856337b3d1653c79bc0516d3c8f354e7a6e8402d9dbbd7144e65","1fa883af678154c29e9bd700aca19b34652535836d9bf7a0b460b13eeb735b87","cc575e3fd7b401d7174141a186554fbb02dc4b8d331fedfa7b3100daa3b80ede","0e4a0b82e38b8363eed4d6a077911b99ca2e3cf1783b13429759286a390912e0","723b00629de441eafab07568c93668685b149345c2b05ad708a8a6454ec631da","b4323a664b69955890c49f0cc6085ed5e72694cdbfc41324ad2cffea4f638fb8","4b379fededb05ff467e513c3cf72bbf020eec7af35e6469e3254d5bc64d3a1a4","f04e225f4d8e584b1c831c637c4fe7bd87a883d6a497e69714a7a28e847ce3cd","2ded5138347ab78bdf2c26620590d02ebd17c27e1e066f288a36d945fcabed42","c0d39cde2ba477c45a0e9e2a9ec06105efa556a334e9a602fd1785416060d6be","78ec7867d878c548b5c7ed2666c6d53f47dfc69d0096808b9d7f51802566aaca","e6aa21fd5acdb192f250cdd88234ee6a7cf5cc9305da17154e61557444c61446","c08f744bbd44f2680fd88eb1639958049ba6474310e9bfcbf00b2b2d42189bdf","0d6054a6bc3a72dd52b8a7794a3fd190eb2158f87d2aa6b6988ad6f8068b89ed","8e352c0efe439c8168c631188927adfc249c92b71f016cd6e7ade1cc6f63e6c8","2e2de1897f5a1f98a8307938953ad1987b1457b140c0263b19de30763479c55a","f7f6f8cb688ee877fb46ac3f42b60eda69130cef419017e6ed88d6a2bf381647","ec46a2c7b6e2ac832c937a649b13ded708d1cc7a067ad64cb938dd1f441c993b","b2fd56f80464f3d91a0e73f5b644196e28b6dc1d1c9836a1ccf1db5d80f6a0ad","d352e51bbc82a60de52ac06a88644b2e73f2cb04ef4a7d93b7dbe365068dd4af","e3f2b9e7514ca65ac5ce5373be59f3322292182e02e36a6685f9cfd58b28de6c","13eb27b0a813189a3d0abf455f248b7357e378501a961979027bab62ce5ecfce","8839cd37fe3f2042169adecaf9e66f71ea4c1903423ef49b75db6e11c9bca531","1c4f801fa938dfff8ba0283c2bdedab2045f215369450d3fe6cefd10cf5a0755","798423eb5bfb9145647edc8ed7a0767d02bb4c85c6b00adf4db9cc3ac51d0d62","44ced48a3e22e8949f6bfbc99b780b6ec3f0f3235c0f57fd4c257171eab4dd84","878f780ef3f0f209808122ea1c7ff44748275b4cfba75ea40804e530c2f1abb2","e9b071d1470820ce48e6bc84e3ab4564a33ffa118451f693ddbd48932af9356b","a507de4adadb7e8cfde49db789c062c168907843b49d081fea1b79bcbd59dcf4","4a9c2514a2e2861e25ec956f4da6058e15dfad6a9238f91bf0c3abb8bf7bb57f","d4430a6173c7dca84d93735e97419ba6c5dc52ef09c880e860fe8084cd52986e","b4a8d42bc830833c7480258c34529d74f38940ae87675365f8233136a66d812d","61b1e746198b9347a1ad402da267fd4564d54322c7186a3945692cb32c59aaab","13b3e17dbdea4c62fa4b927b1d06ae4fdc2b35beb05ac20af9e6e706309f80e8","09897651e677150ac1d89f9978c6b51af312ef76de686148adaf8ea3de68ff2e","dd0c1145cb0c0810c14087524546684c8ba0cc57db8e8c9e2408c649d76c7b23","2f58b3aee27f7398c1a383fa7e7727654f03e03e172bff82639f0bb3e10ec6ae","de584fb280277e63c00cd5fa2c3f0bcfb73e1e21bc649c0530acba7f63f78de5","ce3f7939c0317c703adcc465382181b0ca8f81dfaeceaf23d546ca600f8ce5b5","f7d66ad8b8c2dc1afd84528f04feb85d18f4f98f1d18ec9d4eace61a546f102e","05501b15cfea24b2771b49cd0b22f2798bbcf234485d74981a786f7e5a1748fc","34424207792bae5c0a7a0ab55a3ce23c02ce8821ac776cee8d428c0a7bfd594e","0cabe23306fa31422636ba594ed34bb4a88e7ab11d301df5284faa0544c3a1c5","27ded2aca35542a4a09f8d3a693b067b5065fa947ab2160e60e38995f85155dc","87451be2caf8e2ff68bb1a0e717833eade17e51722f794ddaa9a12d1712d2e7f","1e103dc7088b204e29d4cbd6f06fdb04457a20222cb38edb9679398683d962d4","ce4372e2cd71e7b0046866206c79f017289aef907f25aca105e0bb2a47e4af58","ba7c5abb7a4aafde4cb9f6c6d0d8f40104bb95eea930c67d2e8b9b706c7621d5","553a8a343dc91dc8eac6972338c04f1a25f74c0cf8625460a78807a5f0a4ab44","f751a293408dad0e5db2dce0e145933c247809120686202390d08c4fd34190f6","02bf8212d26ce921fff01ba650cf10e7e8798a09e458e5ff978d87e035b31b14","ca48c69113aea0263d4c53655691a3ac013a94d7eaf1b40addcf0a2deaae37b5","a5d9a1a3e10a466aa66db4c27e52ed9f6356ca04ac5dc1150144519e4ed10d44","4b8e1cecf784a46d18c18c1f2a3635de2c694082946a3b25d9f70063d5d6e0b5","d295ea463f494f86669136ff6c28591c8db2616e5b1ad79f03d9f42212758cb6","09dae15420c131bc6a3ddd8ecdd5be7896fa62ff759e942731ac2ea32e762b34","4db477d4d7ed492862b36c76963ed59b34faffbdb81487b1596c60695d473341","842fdad56070483dfe030511b9be1743a4e1025c544f02c8524b9b2eae7b9576","3db908a469aef5106e9d2568a3a25cc4f3b0f20343525154f424fb7923495abd","a04aeba6a1323e8613f33cb75ad532dacfb47703ef16a2b19132866a38bacfe7","4f14982a91c67b93709de2d2b0acbcc9d96be3e35bb9c3e7254d9d5b4102e748","f911d7e57a38a3d36650257d850b74d07ac66996cc2395aa10e3b9e7fd0436c6","c16bb5cbf34f654b82757e42bb4e26d059220e70de3cecd5efcae7991f57eab5","388f0bae73dfdf424ce68b7cefd94bcf240d5069e287f9aa44ecc4c6158d07d9","30db41256ca755e46170d77d15d3a816573b2172cc2428a0f3d69f2086d1c012","1bd268ad8d4a33a2ff0ec102582851f69ef4425eb5c6817f2b3ebe4e1121fd26","9be9fa2ad677df2fb29f846d1e8a48786a339c45dce3c37aeb99af2fce4a1915","8e817cae6465c48cc7a34bdff73f723df7fb3ab612c82e9e4f310fcd419e8646","63b0adfc785281458279e5856cd200f1ce8fadc19a8d67b7687cce0fdf4ad51f","736042a11a451d682b2ee38cc334f70cd9985b5352004fd59c37d34026249945","afc2aa98e9958a720c80006acbad97d2ff65c29367e1f36611c489a1ee118b22","876f964e4f16edabd41027e4abaa3f8a6aeda0ce19c7d4e67a194557b54b6fab","38eef06fe69bbb915f536282ff7c292c04639e3d576d58a49d1e90ef527196a2","11d332d87547781f488740c22a66e9b9e4082f959048a00f02d582ddc4f12860","5869a53a27e1f7fa879fb805a30f101671bff660f669ae17217667c846f0d149","0b7d45d2bb8b3447b31c358e3f3550e0314f75fc76f67d4e5f3c4c84c8749ef3","221fd528946354d830e771ed9d4f7c6bbc5b532a4e1fbe8051ae2666d0847c1f","7f045b82df5f431f837390c22a2c35658959713bd12599806257727cbcdcbf1c","a019dfd1c3dd9c05e92099f9e544a0e63a08df0039b061ea842995837080d080","9e52d6fc2217c394a41eec5ca3fa42190bd9be1a2cf863f7e065a13ad581015b","d84acd47fce20eb719b2375094e2bd222fb8eb50a876cc72753625e98777c859","d262815cc9e0bc51a685aa8ec6f56c9a7a7bf5ac024208a9728a0987ad8bfe0e","13261e6804d7e8070708d36ea504aaf37e1d46c89776d607e94541c110e7a3d6","debe6ab96531c19b627feae9b975a132a4cdeaad58188f34550f7821942cdb1c","a9dbc621de1b4661d1beeb586ea7c415d485d04022ad44bdfe00e41124d22c41","70c0c12691b22f5c7c4c09bb574887bfc77142fe9fcf6b1affc088bdb1fc480f","f7a4d387ad7fc9dca7a2197dbe5d7e5435a9c051589d4cf55930f271131e6817","06aa6da5d72e34291e11e03a994be8e4fd2d6da908cafc160c8f8b3111a3bfe4","84a7c5a51285da53bc0e548850adbe4c4a48e2c79d142f420e70c724cda08abb","02f942620720d49d6b84b7b58514fa87a905eeca44e57a281813726548c8e709","aec5846e3da757ec64a2f1cd2d00a9abb16016c4731be01d0f22f9a0095b3ce0","7a8c4ebdbc2a4b8fa750a434907f65c1ef172d0a8ce06796b987ed661015782d","a4b7d3fa206dd9ba8be67de430764a665947082b07f029672a440d2f0dfcdc35","fc62ec250788c4b03d7af3a3c1d0499eebfbe38867dfbb4b738d51f33578a2d7","5829a3088359b8d6af30e786c0d3e28ee9e15e23281bb4fb8d07513a2bbd98fd","bf338a71abf1293386086a8f6b3a57e3dcc76f7d63ecd808eba7ea00d5edd286","08bcc1f8fee417f45a074cf822d1d0848d37bd8f52dbbe336e2e5619aca50647","ccab2caf5c037e1d4522246c0a87675a7aeb1aa9fc23bee76b1dc135bba2104b","a607147d53272b43503684a14891610ff15197d85eb39feb386d0dc66e991acb","0f3d70da43d7579832b931a9675c86156be54dbd467f47bfeaa5e591d349c768","9268108f1f2def6b335388a4f34bd184cd8b4854e0a54ab85de565f55f81be12","19bc8e14e1ffae7a8147662b9b1eeac79c4037c8447651b182e6a6dfda63bf7f","921938780b87d72d17a00fc61f80516c723a4daa73015d2949ef420e085a918a","9874e153efdf24175131ff8e678db6956525f75a6d95168398ace5e25655225d","69df59c5d86d78e387eac890b5f8c7ab7b5b68962cd7ff5b77e1fe97b6342f04","a2fcb274aa68c2237edb520cd3a54bff2203f237fa2bd8326d8620c35a0e8bee","d83263a1abb74bfed4c2748a8e181e97e710d532104f5ba8a6458be5c9ded464","6ed8b3b00b53a43db74041c6d3637f8eea508a324419d5d745f9335dd218d568","bfd7174d5a4de03ce64db5ba26fee050efa0c43d906452c0e3c5f750dc8c6998","423268a14f8cd112c3746ec5528f2a425adec9f0abc45e525aae9d54b378762d","f88e5b1376d2eccf8399f8005d921ea1b13f049bcecdc31b3752311950f03c42","cb47de952fc15ce96880d0c30e10a72073022bec8307b1230c2f303cd6622239","c879b7a8573bfe6f75e7fd29445af276bca450ce56e7b48172f88efaa442cf40","4a99a48d6990223a6eeb811c17ef17204febc6d4fba394f286c5aea21caf43eb","82a86282f0a951afab5b509da77fba3006e986a075bd64d1d06db26fd635f220","4b3c32870abd10e454744a4bee8475ce654991ce4aa9287928a17491aa38a6a2","9bceb2c3a158f54b2398841d02f7a7a31df940cb90322b43bd211fb2020b145d","7d3287e8968cbd4fb1047dbfa61e8d5539c0cdbbc5f5802cf6ee1f11708930b2","636c9f06df5f7ecc1847a98d2963a09e9460f4552dc8c203f447af8ff7d060ec","b014d7af72076a3bfd5d9a710623ae6ecbb55b4c069bcc23c41cc219c57b14ca","a64ec866138d2dae51ef6b94bf2b352d2acb383aedcf5976dc36389e27b0aa3a","882cc90ef2a309b77a60dcce6cab81328499bb47587dce292b38d3519c6c8394","02e3010879d3018585a9ff2e963af8e3f5caca993c532c2220eeb1b45a11cfe9","d0c23cc4f54db1bb6bf7dde080c56c7a2abc3310518cdf8e884b4904ab1bf5b4","c159d276c7a7debf45d949ad448d6dc93445a926cd8eb76d48aceb7773d344ef","ffbebd238e0dbeb7da6a4478e7a0ce4bbda5f789e134fe49b4fd1e6d18d3ab7e","5289392088136105e55d7c489d2280c4583f8f7281b77eed3746b2609eddcd5a","33be7a3da4878aeb17da49c0bf374b8c0a8e7926a23cfea292316a7a2ccda4a6","5bd637837ef59a145b3c4912a23bbced04fc22a756e9d6f60cdb9d15be9d9c1d","cfd0d1e4d035baf9efb522a57dd49de10c257dca36353792bcbf055e29c8bc47","99597e0fdde015c3a4b83d9c4fd34b9709fb1b3f598cc3a7dbe34dbd8c7ca96d","02860d062cbee8d613ee767bc3dd07a71ef7e2017effc0a4dc305b1e41f9cbf2","bd73aaccea2ab75aa47e87a5f5e43abaebbf72ed00d9339f093298e3129c9b3f","a4534dbe0bd2abe2eb7527ae1fd990e8e404163f48fe675b794debbe7c63c461","9f33ad4e5d5a6bfb1a126a78462447c3a8993d6ba5b97695a5549662db39b733","2250c0bb781af780c38e7e7b0b5a96a7c9d06c8cf0221b4b1847cbf5ff7a463c","52beb91f2335f3e62766682cf73c0edd070d729ca17e7949f04d7ec8e7408f05","f09e1c1ab3686f4eb0dfdf036ddc6871b74df080fc69f24cecb2cc8d3973e147","b4c7966b8c8f647f1c2adfcb93cac25880260fca8ededd33d2e648a6f4a09fe0","e67709ede217673ecf53c24436c1675df7e738c2d43570973d7b18bb2ecfdece","8ef4432db0d8380322d4ea1cb49cfc0be1257dd1ef102f653a8ce5ab6ea1b4e2","4b7d8d8c756bdd8ffda46d2522a4b8e28660e90d8fd375b2e534d33fcefd18fe","c8b19b7a6357ddfce5f2e75a5c4e8abeb752f595b96a1034a4ae053965d6c4bb","fc702e18a35f9968c62a516510157e056e1fc6340483844e9dd79e1c8c5b373d","cfdae246948113b1114fc6803a33060fac4b5dd22f047ec5969d5685fa952bab","9dedb414c09e12a98163b346878d8c57b3df0ec44662cf47638e385b65a8b279","e3050b97a2b2370c6555e17d5c5c23720ff6d5cf8811c64064cca99ae1e88323","27d5bdd0dd73211f69b539a64d3e7564f4b8bc9df431e44477fdff71e4724979","af92248075f2070f44f9817120e7a1b7ca621d66bed2a69a69715d147cf125b2","bc5cdc8597ba4548b91cdd2ddddd996f5441acf76192fae49ad78dd91d162d9f","8b157465e164c37d7f50b032657029a9440027bacb63e0a0422c5903e9009555","90823973681cd3bf25e61792de6d4867a506d0b1c0cc1be63d3417e3e2c817ca","3a57cdf3165e34e394a9510116433248ce234cbac86115e4cc3f61205db4d1ed","5ba05a9e9155e96bc4b9aeaf3ed99bde4284adfcbaf666152eebd596a2d5cbad","25120cc5b77f87056bb13b0c01a05168d6485323d5972feca20cea124a4f618f",{"version":"397fe1ca4ecca584df1b191b80066313ba83e2120c8c6662511d1ae61c28a7eb","affectsGlobalScope":true},{"version":"fd45f5d7408b4ade5b812478e612b59801d371e4b8e467cf1b1aca46acd1564a","affectsGlobalScope":true},{"version":"b9241ecb5024beeaeb98fb558000dbc55e650576e572d194508f52807af6bcba","affectsGlobalScope":true},"3039ca5b4c980b09439c8b8962ea05552573fd995304d31957d47e01a6bca5ab","2e5ac0dd461b94010e16057c26d281841e3a935df927d76123b6864880086a26","b911176e7778c30f6549f86daae0353c53730eb0ee59b6476f1072cb51ab1af3","f8cc7ac396a3ea99a6959ddbaf883388260e035721216e5971af17db61f11f0b","895bedc6daf4f0da611480f24f65df818ea9e01404e4bf5927043dbf4eeed4d1","ea4facc7918e50e285a4419f7bc7ffdf978385899a3cf19ef7d7b782b896616d","8db893a4613484d4036337ffea6a5b675624518ad34597a8df255379802001ab","5828081db18ff2832ce9c56cc87f192bcc4df6378a03318775a40a775a824623","33b7db19877cf2f9306524371fcfc45dcb6436c8e905472ede7346c9f044bf20","b8eb76852bc6e72782541a2725580b1c3df02a0c96db570b0a7681567aeed598","6a7b38162c0cff2af6d2cbd4a98cfac6c0ea4fb1b5700c42f648de9b8c2e8e1f","19828d5df3be9b94598e5c25d783b936fcccaa226a2820bacee9ea94dc8aff2f","5d45955831c840d09b502ce6726a06435866b4736978e235a7d817ed45990df7","3bdf7ca46ef934ee671b3dd0e3d4cddcaecfe6146811b330743acdfb8e60f36c","70dab20ce12f8d153044fc487f2bfd40d21fc64329446f02c6a94b9759c13265","c1eed15acf77bbaa4a4840edbdcf70ff2f3c2a0f5af498578ce020e2f2c73f7f","71943244e9813364dac70c5be97fdce7bc775c96bb212d97a60ba072344dcbbc","6f1fa6fc9b169b165be0d8550a3ca0b5181af0c41e4e1e15f5e6bcb2a6e1c344","e311e90ded1cd037cbece1bc6649eaa7b65f4346c94ae81ba5441a8f9df93fa3","8eb08fff3569e1b9eddb72e9541a21e9a88b0c069945e8618e9bc75074048249","d596c650714d80a93a2fe15dce31ed9a77c2f2b1b9f4540684eaf271f05e2691","8f9fb9a9d72997c334ca96106095da778555f81ac31f1d2a9534d187b94e8bf6","aea632713de6ee4a86e99873486c807d3104c2bf704acef8d9c2567d0d073301","1adb14a91196aa7104b1f3d108533771182dc7aaea5d636921bc0f812cfee5f5","8d90bb23d4e2a4708dbf507b721c1a63f3abd12d836e22e418011a5f37767665","8cb0d02bb611ea5e97884deb11d6177eb919f52703f0e8060d4f190c97bb3f6c","78880fa8d163b58c156843fda943cc029c80fac5fb769724125db8e884dce32d","7856bc6f351d5439a07d4b23950aa060ea972fd98cbc5add0ad94bfc815f4c4c","ce379fb42f8ba7812c2cb88b5a4d2d94c5c75f31c31e25d10073e38b8758bd62","9d3db8aef76e0766621b93a1144069623346b9cfccf538b67859141a9793d16d","13fb62b7b7affaf711211d4e0c57e9e29d87165561971cc55cda29e7f765c44f","8868c445f34ee81895103fd83307eadbe213cfb53bbc5cd0e7f063e4214c49b0","277990f7c3f5cbbf2abd201df1d68b0001ff6f024d75ca874d55c2c58dd6e179","a31dfa9913def0386f7b538677c519094e4db7ce12db36d4d80a89891ef1a48f","f4c0c7ee2e447f369b8768deed1e4dd40b338f7af33b6cc15c77c44ff68f572d","2f268bd768d2b35871af601db7f640c9e6a7a2364de2fd83177158e0f7b454dc","73bfa99afd564cfef641ccb4fdef0debdb3c49f0a817085d68fc6b6508266f09","a004a3b60f23fcfb36d04221b4bef155e11fd57293ba4f1c020a220fadf0fc85","4e145e72e5600a49fa27282d63bb9715b19343d8826f91be0f324af73bc25322","62f734f7517d2ca3bf02abddaf8abf7e3de258667a63e8258373658bbb9153b6","df99236666c99f3e5c22c886fc4dba8156fed038057f7f56c4c39a0c363cc66a","b4bce232891b663cc0768f737f595a83de80b74671db22b137570ef2dc6b86ef","781b566c3eccba1a2cafbb827fb6fc02d5147c89a40e11c7892057481a195270","c9befaf90879c27ee3f7f12afd15b4531fbbea9ec37d145b83807a67d9f55c82","8630f26d1038328e6b9da9c082f6fa911903bc638499baa6cfab002b5a70af96","73474d70a9b4f02771119085c4cd7562be4169e7973544c9541341ca2931aa3d","54da497c3b3b94fae91a66ed222e21411dc595a17f9e6bd229e233d0de732691","803da2f4e024efa2edc55c67d35c5240e7ae599baf9263b453acd02127a582e9","b8b070df71250096699ad55a106d161d403347ed335f72c5ae8485e5d858524d","a9716557f56781aef13d6d3c5dafc61236f64bfd48d462c4848a7eca25f924ff","3d15b5e24065431bf7831b8e84000c0e767d921135af86ef0b0c034f14df5d8f","a563202fc316d8926dc83759cec155d5c028a7828996cbd283470ac7e8c58727","e5c004f39619ebaaa2475b18e949e12e51ff629132f48d56608081e5f0195577","e6b7a14eb53f023f455f4513b6a560f004fa1ebf6cc298b479be796541e322e6","771bf8091a4e40be8f539648b5a0ff7ecba8f46e72fc16acc10466c4c1304524","cb66d1c49ad20e7246b73671f59acaaaac72c58b7e37faae69ae366fd6adf1d3","e5c1c52655dc3f8400a3406fd9da0c4888e6b28c29de33bee51f9eaeda290b4d","1e28ee6d718080b750621e18befe236487df6685b37c17958520aaf777b7aeff","8891345dbe1920b9ed3f446a87de27b5cd6b2053112f6ff3975a661f9a03ec34","a72e21b05b937630b97b1d36bb76b879bb243a021516aef10701775f2da7f872","4debe398f42800c1359d60396fc76aa4fa34a23a96b597672b5c284fd81c0158","a720d8028d38f2b94855967789252c6148957dcd24e280d193b78db00eb3a099","1b0818297187a33e2c24c39145b409e11624523d32364edc22bceaf1f4c86f1b","332e362ba8bd05237c661ba685b2c37e9cde5e0876cb81bf515d15623bdee74c","84648722d2b1f16c55cb68dbfaf18b913a13a78274641f7236eeb4d7088f6db8","f63d313c2673117608b3ed762ac07f618ee873bee3764406b06bcfcb5a713afe","2e2a2a0f7ef2a7587cfe40a96dbca31e8badb15a8a42bf042fe7a63abc9e2f27","2bb32fb3f0fe14c48170dcad3d2a501c1883516d4da9cbd0a2043d90c9789a7b","352532af4d27bdf545d9bb20f0c55758138327404bd86f0934edc7ded76be7e6","64d93f4a24f8a70b64658a7d9b9e96bd46ad498ad5dc9cdb9d52da547e77ff68","8a728de3047a1dadcb69595e74c3d75bc80a2c8165f8cf875ab610042a137fbe","3eafed0be4b194295bcde379e7d083779d0f27f31b715738a3beac49547dc613","7e74740cb7a937af187118ae4582fbe5d4d30b34e9cddec2bd7f7a865e7824ca","8cdf90b59995b9f7c728a28e7af5dc4431f08f3346e6c16af49f548461a3e0aa","1d472b3eedeeaab5418ea6563734fffc68c404feac91900633e7126bee346590","6cf7182d798892394143549a7b27ed27f7bcf1bf058535ec21cc03f39904bfb3","abe524377702be43d1600db4a5a940da5c68949e7ac034c4092851c235c38803","daf4418239ceadb20481bff0111fe102ee0f6f40daaa4ee1fdaca6d582906a26","8a5c5bc61338c6f2476eb98799459fd8c0c7a0fc20cbcd559bb016021da98111","644cf9d778fa319c8044aed7eeb05a3adb81a1a5b8372fdc9980fbdd6a61f78e","d2c6adc44948dbfdece6673941547b0454748e2846bb1bcba900ee06f782b01d","d80b7e2287ee54b23fe6698cb4e09b1dabc8e1a90fb368e301ac6fbc9ad412e2","60b678d3c92834151ca6701c399c74c961193c06cc9d97da32cc4ad22ee5951e",{"version":"c7eebbc98b3e28df60899db055f0b1940295e6c68173e1859b97c062e02e00cf","affectsGlobalScope":true},"816f825b072afd246eb3905cf51528d65e6fe51c12a1f8fb370c93bb0e031c9b","f6a64974d6fab49d27f8b31578a08662b9a7f607de3b5ec2d7c45b3466d914fd","a8e9d24cd3dc3bd95b34eb6edeac7525b7fdbe23b373554bdc3e91572b8079ee","1d5fd841722ce9aa05b9d602153c15914108bdaa8154bdd24eddadb8a3df586c","14788c10b66324b98feee7a2567eb30d1066e11506e54bf1215b369d70da4932","316785de2c0af9fbd9f2191904670e880bc3836671dd306236675515e481973a","070d805e34c4b9a7ce184aabb7da77dc60f2bdb662349cf7fc23a2a69d17de8d","092deae5b432b6b04f8b4951f1478c08862e832abd4477315dba6ea0c39f1d9e","27d668b912bf3fd0a4ddf3886a8b405eed97505fdc78a9f0b708f38e3e51655d","72654e8bed98873e19827d9a661b419dfd695dbc89fd2bb20f7609e3d16ebd50","66bdb366b92004ba3bf97df0502b68010f244174ee27f8c344d0f62cb2ac8f1e","ae41e04ff8c248ab719fe7958754e8d517add8f1c7abcc8d50214fd67c14194d","558008ff2f788e594beaa626dfcfb8d65db138f0236b2295a6140e80f7abd5d2",{"version":"6573e49f0f35a2fd56fd0bb27e8d949834b98a9298473f45e947553447dd3158","affectsGlobalScope":true},{"version":"e04ea44fae6ce4dc40d15b76c9a96c846425fff7cc11abce7a00b6b7367cbf65","affectsGlobalScope":true},{"version":"7526edb97536a6bba861f8c28f4d3ddd68ddd36b474ee6f4a4d3e7531211c25d","affectsGlobalScope":true},"3c499fc4aad3185e54006bdb0bd853f7dd780c61e805ab4a01a704fa40a3f778",{"version":"13f46aaf5530eb680aeebb990d0efc9b8be6e8de3b0e8e7e0419a4962c01ac55","affectsGlobalScope":true},"17477b7b77632178ce46a2fce7c66f4f0a117aa6ef8f4d4d92d3368c729403c9",{"version":"700d5c16f91eb843726008060aebf1a79902bd89bf6c032173ad8e59504bc7ea","affectsGlobalScope":true},"169c322c713a62556aedbf3f1c3c5cf91c84ce57846a4f3b5de53f245149ec7b",{"version":"b0b314030907c0badf21a107290223e97fe114f11d5e1deceea6f16cabd53745","affectsGlobalScope":true},"7c6c5a958a0425679b5068a8f0cc8951b42eb0571fee5d6187855a17fa03d08a",{"version":"f659d54aa3496515d87ff35cd8205d160ca9d5a6eaf2965e69c4df2fa7270c2c","affectsGlobalScope":true},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"f3e7a4075f7edc952560ec2254b453bfc8496d78e034768052347e088537694b","affectsGlobalScope":true},"4a4d7982941daaeb02f730f07578bce156d2c7cabfa184099321ed8b1e51591b",{"version":"cc8e57cfe18cd11c3bab5157ec583cfe5d75eefefe4b9682e54b0055bf86159f","affectsGlobalScope":true},"75f6112942f6aba10b3e2de5371ec8d40a9ab9ab05c8eb8f98a7e8e9f220c8a2",{"version":"8a3b75fccc93851209da864abe53d968629fab3125981b6f47008ec63061eb39","affectsGlobalScope":true},"4aafdcfff990abfe7feb894446ab43d2268657084ba656222e9b873d2845fe3c",{"version":"d6f55de9010fbefe991546d35da3f09ae0e47afae754cb8a4c867fd7e50dcec0","affectsGlobalScope":true},"afac637a8547d41243dd8c4824c202c9d024534c5031181a81dece1281f1e261",{"version":"1ce2f82236ecdd61ff4e476c96d83ce37d9f2a80601a627fe1d3048e8648f43c","affectsGlobalScope":true},"42d908b851ddcf6df729c0a2ae56f151bad6610ea368729d68f0c8fbbd779913",{"version":"592e99b73ae40c0e64ce44b3e28cea3d7149864f2f3cbc6ccb71f784373ade97","affectsGlobalScope":true},"fa601c3ce9e69927d13e178fdcb6b70a489bb20c5ca1459add96e652dbdefcf6",{"version":"8f8ebce0e991de85323524170fad48f0f29e473b6dd0166118e2c2c3ba52f9d6","affectsGlobalScope":true},"e58a369a59a067b5ee3990d7e7ed6e2ce846d82133fb5c62503b8c86427421a4",{"version":"f877e78f5304ec3e183666aab8d5a1c42c3a617ff616d27e88cc6e0307641beb","affectsGlobalScope":true},"82a66c8db63050ce22777862d6dc095b5e74f80f56e3a2631870d7ee8d104c9e",{"version":"4fc0006f46461bb20aac98aed6c0263c1836ef5e1bbf1ca268db4258ed6a965e","affectsGlobalScope":true},"e086e212ddb5de48f83d971e892949a9ed5ada7134b3116f17768b6885bce6f3",{"version":"867954bf7772a2979c5c722ef216e432d0d8442e995e6018e89a159e08d5d183","affectsGlobalScope":true},"6cc643a497641f28562d8a24b3bd6c4252f3476b462ea406f3123ae70be343ce",{"version":"cd8a7e7d61af5ca34b39095ab24bdcb308bfd4ab379df8ef9d53ce9fa83187a8","affectsGlobalScope":true},"9e837aadb58587a9f79d1ba6a1625cfe40e4077c6bc89cd1c1d5886a2d2489cc",{"version":"544f8c58d5e1b386997f5ae49c6a0453b10bd9c7034c5de51317c8ac8ea82e9a","affectsGlobalScope":true},"2382c18dddfe93b455dfaccc5e6ad795cc33ba8a6a72de41622ef03dd27e377f",{"version":"ae9b62dd72bf086ccc808ba2e0d626d7d086281328fc2cf47030fd48b5eb7b16","affectsGlobalScope":true},"b03e600a48c41adfad25cda292a2bcd87963f7fce09f3561978482f9f6530fc4",{"version":"cc1bddca46e3993a368c85e6a3a37f143320b1c13e5bfe198186d7ed21205606","affectsGlobalScope":true},"34cb99d3f4d6e60c5776445e927c460158639eeb8fd480e181943e93685e1166",{"version":"c77843976650a6b19c00ed2ede800f57517b3895b2437d01efc623f576ef1473","affectsGlobalScope":true},"c8db20febc70a33fc8668c2f6475c42be345a0545f6bd719f787b62e60d8f49e",{"version":"5ebba285fdef0037c21fcbef6caad0e6cc9a36550a33b59f55f2d8d5746fc9b2","affectsGlobalScope":true},"85397e8169bdc706449ae59a849719349ecef1e26eef3e651a54bb2cc5ba8d65",{"version":"2b8dc33e6e5b898a5bca6ae330cd29307f718dca241f6a2789785a0ddfaa0895","affectsGlobalScope":true},"cc2c766993dfe7a58134ab3cacd2ef900ace4dec870d7b3805bf06c2a68928bd",{"version":"dde8acfb7dd736b0d71c8657f1be28325fea52b48f8bdb7a03c700347a0e3504","affectsGlobalScope":true},"96c711d561eaa29cec567f90571ea515f91412bb005ac2a4538bcadf0e439fa5",{"version":"34c9c31b78d5b5ef568a565e11232decf3134f772325e7cd0e2128d0144ff1e5","affectsGlobalScope":true},"7e72ce64e021f6f43c8743682a3c7cf2035166f8283ca675a4589e1bd8a63e55",{"version":"60cc5b4f0a18127b33f8202d0d0fde56bc5699f4da1764b62ed770da2d5d44f1","affectsGlobalScope":true},"5da9bade8fea62743220d554e24489ea6aa46596e94e67cfff19b95804a54a5f",{"version":"d11fa2d42f762954eb4a07a0ab16b0a46aa6faf7b239f6cd1a8f5a38cb08edcd","affectsGlobalScope":true},"87daa4e406afddcea17302b85e08a2de9444fe561347cd1572ffa671c0171552",{"version":"781afd67249e2733eb65511694e19cdcdb3af496e5d8cdee0a80eba63557ff6e","affectsGlobalScope":true},"6b32428a82779c0a33356f537ec131882935bc76ad0371722618a9ac6403cca0",{"version":"f3275e1f0e5852b1a50fd3669f6ad8e6e04db94693bcfb97d31851e63f8e301e","affectsGlobalScope":true},"de82ff7892200413e9e0c54b038d87099de9d74a9e815b3cb6e9908f950f6ccd",{"version":"8a6ecff784dafbdb121906a61009670121882523b646338196099d4f3b5761d8","affectsGlobalScope":true},"1d5f5827fdeb0d59f76a1ee6caf0804d5d3c260e60e465b0b62baea333199e62",{"version":"256bdff4c082d9f4e2303138f64c152c6bd7b9dbca3be565095b3f3d51e2ab36","affectsGlobalScope":true},"0b14c87ea4887402356f7c8b321dfd944880ae76cd703e342c57ac7a83de4465",{"version":"e214a2a7769955cd4d4c29b74044036e4af6dca4ab9aaa2ed69286fcdf5d23b3","affectsGlobalScope":true},"85647ff695641f7f2fdf511385d441fec76ee47b2ed3edb338f3d6701bf86059",{"version":"25659b24ac2917dbfcbb61577d73077d819bd235e3e7112c76a16de8818c5fd6","affectsGlobalScope":true},"d6f83ae805f5842baa481a110e50ca8dbed0b631e0fd197b721de91dd6948d77",{"version":"7402e6ca4224d9c8cdd742afd0b656470ea6a5efe2229644418198715bb4b557","affectsGlobalScope":true},"36b19abb9d0a0e6809f9493786fe73c3058f66f0a5778554b30bd09d6d21d3d8",{"version":"242b00f3d86b322df41ed0bbea60ad286c033ac08d643b71989213403abcdf8a","affectsGlobalScope":true},"009a83d5af0027c9ab394c09b87ba6b4ca88a77aa695814ead6e765ea9c7a7cd",{"version":"4dc6e0aeb511a3538b6d6d13540496f06911941013643d81430075074634a375","affectsGlobalScope":true},"3a9312d5650fcbaf5888d260ac21bc800cc19cc5cc93867877dfeb9bbd53e2ca",{"version":"7ed57d9cb47c621d4ef4d4d11791fec970237884ff9ef7e806be86b2662343e8","affectsGlobalScope":true},"3bee2291e79f793251dcbea6b2692f84891c8c6508d97d89e95e66f26d136d37",{"version":"5bd49ff5317b8099b386eb154d5f72eca807889a354bcee0dc23bdcd8154d224","affectsGlobalScope":true},"1d5156bc15078b5ae9a798c122c436ce40692d0b29d41b4dc5e6452119a76c0e",{"version":"bd449d8024fc6b067af5eac1e0feb830406f244b4c126f2c17e453091d4b1cb3","affectsGlobalScope":true},"b6ce2b60910be81d4f2000ffe0bdbec408d6423196f6ad00db2a467cd53d676b",{"version":"dd5eab3bb4d13ecb8e4fdc930a58bc0dfd4825c5df8d4377524d01c7dc1380c5","affectsGlobalScope":true},"f011eacef91387abfde6dc4c363d7ffa3ce8ffc472bcbaeaba51b789f28bd1ef",{"version":"ceae66bbecbf62f0069b9514fae6da818974efb6a2d1c76ba5f1b58117c7e32e","affectsGlobalScope":true},"4101e45f397e911ce02ba7eceb8df6a8bd12bef625831e32df6af6deaf445350",{"version":"07a772cc9e01a1014a626275025b8af79535011420daa48a8b32bfe44588609c","affectsGlobalScope":true},"6d0790ee42e40b27183db10ce3be3f0e98dc3944d73c9a4c092bf5ec3bb184f7",{"version":"5be6cb715e042708f5ec2375975ba7a855f54d3554cf8970cd49d0434ad5c235","affectsGlobalScope":true},"02fbf1f4aabb776e2cf229fd74840a27eee5a08642b8ca0677e680a8427d6d12",{"version":"4d13cccdda804f10cecab5e99408e4108f5db47c2ad85845c838b8c0d4552e13","affectsGlobalScope":true},"780abc69f1e0ed0a3ed43cfaf201378faf6e8d8ec13354ed7169159cdeead3b9",{"version":"7ced457d6288fcb2fa3b64ddcaba92dbe7c539cc494ad303f64fc0a2ab72157d","affectsGlobalScope":true},"5d2721c49e058b8f28e495a54f709a004571cd3f57a62df63ed3eddb9e860af1",{"version":"0ccde5fc989806345b5ecca397796e26bbbca2882297adea57009022be7a300a","affectsGlobalScope":true},"730592593eaba845555f4d8f602d8c066972c97a3a8522a0c6f8f721e36bdc90",{"version":"725128203f84341790bab6555e2c343db6e1108161f69d7650a96b141a3153be","affectsGlobalScope":true},"e6ed9d8801e5fddc1a4260510e4266fbf80d5767cf2b9a6cbe8d0eb39d45971d",{"version":"947bf6ad14731368d6d6c25d87a9858e7437a183a99f1b67a8f1850f41f8cedd","affectsGlobalScope":true},"8eda6e4644c03f941c57061e33cef31cfde1503caadb095d0eb60704f573adee",{"version":"0538a53133eebb69d3007755def262464317adcf2ce95f1648482a0550ffc854","affectsGlobalScope":true},"a1dd4d1eada136ec8afb47871da02c1a28be6adc81717106ded5fcdd6548835c",{"version":"8d3ccb8e37673a205fb24f1a3ce7bc9237d32be05494c240245e3a783dd8e16d","affectsGlobalScope":true},"92492e2b8992cc1d68eca60f289ce9fa29dda1eb4d12eed577bcdb958666754b",{"version":"d155bad43ed0facccf039f4220d5d07fbafab34d9b1405e30d213d1ab36af590","affectsGlobalScope":true},"4a5259be4d6c85a4cd49745fb1d29d510a4a855e84261ad77d0df8585808292c",{"version":"220f860f55d18691bedf54ba7df667e0f1a7f0eed11485622111478b0ab46517","affectsGlobalScope":true},"3bee701deb7e118ea775daf8355be548d8b87ddf705fe575120a14dcace0468a",{"version":"9c473a989218576ad80b55ea7f75c6a265e20b67872a04acb9fb347a0c48b1a0","affectsGlobalScope":true},"5f666c585bb469b58187b892ed6dfb1ebf4aa84464b8d383b1f6defc0abe5ae0",{"version":"20b41a2f0d37e930d7b52095422bea2090ab08f9b8fcdce269518fd9f8c59a21","affectsGlobalScope":true},"dbac1f0434cde478156c9cbf705a28efca34759c45e618af88eff368dd09721d",{"version":"0f864a43fa6819d8659e94d861cecf2317b43a35af2a344bd552bb3407d7f7ec","affectsGlobalScope":true},"855391e91f3f1d3e5ff0677dbd7354861f33a264dc9bcd6814be9eec3c75dc96",{"version":"ebb2f05e6d17d9c9aa635e2befe083da4be0b8a62e47e7cc7992c20055fac4f0","affectsGlobalScope":true},"aee945b0aace269d555904ab638d1e6c377ce2ad35ab1b6a82f481a26ef84330",{"version":"9fb8ef1b9085ff4d56739d826dc889a75d1fefa08f6081f360bff66ac8dd6c8d","affectsGlobalScope":true},"342fd04a625dc76a10b4dea5ffee92d59e252d968dc99eb49ce9ed07e87a49d0",{"version":"e1425c8355feaaca104f9d816dce78025aa46b81945726fb398b97530eee6b71","affectsGlobalScope":true},"c000363e096f8d47779728ebba1a8e19a5c9ad4c54dbde8729eafc7e75eee8dc",{"version":"42c6b2370c371581bfa91568611dae8d640c5d64939a460c99d311a918729332","affectsGlobalScope":true},"590155b280f2902ebb42a991e9f4817ddf6558e5eb197deb3a693f5e0fc79bd9",{"version":"867b000c7a948de02761982c138124ad05344d5f8cb5a7bf087e45f60ff38e7c","affectsGlobalScope":true},"6f1d28967ec27ef5d244770ac80a62b66f10439aea63ed52e0604a18aad6468c",{"version":"02c22afdab9f51039e120327499536ac95e56803ceb6db68e55ad8751d25f599","affectsGlobalScope":true},"aba5fbfef4b20028806dac5702f876b902a6ba04e3c5b79760b62fc268c1bc80",{"version":"37129ad43dd9666177894b0f3ce63bba752dc3577a916aa7fe2baa105f863de3","affectsGlobalScope":true},"68526c897cd9e129d21f982679011d64068eac52cc437fce5e48bc78670356f3",{"version":"31f709dc6793c847f5768128e46c00813c8270f7efdb2a67b19edceb0d11f353","affectsGlobalScope":true},"eee3c05152eff43e7a9555abbef7d8710bfdb404511432599e8ac63ae761c46c",{"version":"018847821d07559c56b0709a12e6ffaa0d93170e73c60ee9f108211d8a71ec97","affectsGlobalScope":true},"b50322892db37ef61b48411c989f4cd36b3f41205ad10e7c03f14afade571256",{"version":"7832e8fe1841bee70f9a5c04943c5af1b1d4040ac6ff43472aeb1d43c692a957","affectsGlobalScope":true},"9f2282aa955832e76be86172346dc00c903ea14daf99dd273e3ec562d9a90882",{"version":"013853836ed002be194bc921b75e49246d15c44f72e9409273d4f78f2053fc8f","affectsGlobalScope":true},"0e9a7364eaf09801cbb8cf0118441d5f7f011fc0060c60191587526c448974c4",{"version":"e08392a815b5a4a729d5f8628e3ed0d2402f83ed76b20c1bf551d454f59d3d16","affectsGlobalScope":true},"6a7f172fb4524b4091b793d0e2cccdb365876dcf7f056552a93fbf6c2c1d64d9",{"version":"c3dfd6032ba0bc68520b99fc40cb45f46c73f4c98dedcde79b181f1f0632c262","affectsGlobalScope":true},"261f0f336c13435274021ab058138312b2443bd61723de6acbc4e57a8cecf349",{"version":"5768572c8e94e5e604730716ac9ffe4e6abecbc6720930f067f5b799538f7991","affectsGlobalScope":true},"198075277aef627743ef66a469881addbbf2f6c4c508ffb4c96de94137ca8563",{"version":"e2ae8c8fcfb98fae10647c9159915deea2073bdfcc3fe99b5846fd9563867399","affectsGlobalScope":true},"d0984177c1dc95545541f477fb0df1fb76e7454a943c98ed208dc0da2ff096b2",{"version":"f366ca25885ab7c99fc71a54843420be31df1469f8556c37d24f72e4037cb601","affectsGlobalScope":true},"a05b412a93ba43d2d6e9c81718dea87a42c7e4f9e8b1efbaafee03a94eaf4b7a",{"version":"163cc945edad3584b23de3879dbad7b538d4de3a6c51cc28ae4115caee70ce21","affectsGlobalScope":true},"4fefff4da619ba238fccd45484e9ee84ee1ae89152eac9e64d0f1e871911121c",{"version":"d604893d4e88daade0087033797bbafc2916c66a6908da92e37c67f0bad608db","affectsGlobalScope":true},"56ce2cd3aa0ebbcf161faed36a9d119e5ff6f962993f1af29b826eff1801bad3",{"version":"dc265f24d2ddad98f081eb76d1a25acfb29e18f569899b75f40b99865a5d9e3b","affectsGlobalScope":true},"7c1538394a43ce6d7b7c471b87cc97c487bc3bff37fdd2fc5f659c67445a3a03",{"version":"dd7f9be1c6c69fbf3304bc0ae81584e6cd17ab6ad4ab69cb8b06f541318cc97e","affectsGlobalScope":true},"f528ce3ce9430376705b10ee52296d36b83871b2b39a8ae3ecec542fc4361928",{"version":"41ffc155348dd4993bc58ee901923f5ade9f44bc3b4d5da14012a8ded17c0edd","affectsGlobalScope":true},"580eedb87f9ed40ff5fc619507e47c984a1e3fbf2fee8f5eecbe98806997d0ee",{"version":"3e8e0655ed5a570a77ea9c46df87eeca341eed30a19d111070cf6b55512694e8","affectsGlobalScope":true},"c1b3019eeb7120da76e837268ac26beea8dc0aa8d6108e286e9cfa9478af562b","6bb6fda2bba279010a8ffb5221fd28aed12d3d37ebc396a6e0f02840adb17970",{"version":"cc4c74d1c56e83aa22e2933bfabd9b0f9222aadc4b939c11f330c1ed6d6a52ca","affectsGlobalScope":true},"b0672e739a3d2875447236285ec9b3693a85f19d2f5017529e3692a3b158803d",{"version":"8a2e0eab2b49688f0a67d4da942f8fd4c208776631ba3f583f1b2de9dfebbe6c","affectsGlobalScope":true},"229648df48b149ecb40a267e69899456c28dbe4b31e64513be64eb2b58e29f1c",{"version":"f6266ada92f0c4e677eb3fbf88039a8779327370f499690bf9720d6f7ad5f199","affectsGlobalScope":true},"ab149c81ee4c7bb5fd0abea1057389185e334d5038c4c8739faa65ec5feb6ffc",{"version":"fb6cb8911a03c7ac61ee80aafdc072623850dd6a6d9fa0c98b015d8b181153a5","affectsGlobalScope":true},"8946ad9bc3d5c42cdb07de081480d869e358f5986166649a9e4230bea2ea84bd",{"version":"09a227ec52ef63acca2a3a1f31ca6d3affa45b51e18ffdf0036152d5f102dfd7","affectsGlobalScope":true},"c03bcada0b059d1f0e83cabf6e8ca6ba0bfe3dece1641e9f80b29b8f6c9bcede",{"version":"f2eac49e9caa2240956e525024bf37132eae37ac50e66f6c9f3d6294a54c654c","affectsGlobalScope":true},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"f3e7a4075f7edc952560ec2254b453bfc8496d78e034768052347e088537694b","affectsGlobalScope":true},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"f3e7a4075f7edc952560ec2254b453bfc8496d78e034768052347e088537694b","affectsGlobalScope":true},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"f3e7a4075f7edc952560ec2254b453bfc8496d78e034768052347e088537694b","affectsGlobalScope":true},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"f3e7a4075f7edc952560ec2254b453bfc8496d78e034768052347e088537694b","affectsGlobalScope":true},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"f3e7a4075f7edc952560ec2254b453bfc8496d78e034768052347e088537694b","affectsGlobalScope":true},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"f3e7a4075f7edc952560ec2254b453bfc8496d78e034768052347e088537694b","affectsGlobalScope":true},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"f3e7a4075f7edc952560ec2254b453bfc8496d78e034768052347e088537694b","affectsGlobalScope":true},"a0ad84c717107c133f77f15b344d62633863931d4b3592de20c232ded129c50b",{"version":"7373a173ea1b42648b1779267a5a707eb403ccc31a16761870dbf0660eb234ee","affectsGlobalScope":true},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"f3e7a4075f7edc952560ec2254b453bfc8496d78e034768052347e088537694b","affectsGlobalScope":true},"ace629691abf97429c0afef8112cc0c070189ff2d12caee88e8913bdd2aaad25",{"version":"99a71914dd3eb5d2f037f80c3e13ba3caff0c3247d89a3f61a7493663c41b7ea","affectsGlobalScope":true},"25a12a35aeee9c92a4d7516c6197037fc98eee0c7f1d4c53ef8180ffc82cb476",{"version":"b4646ac5ca017c2bb22a1120b4506855f1cef649979bf5a25edbead95a8ea866","affectsGlobalScope":true},"54d94aeec7e46e1dab62270c203f7907ca62e4aaa48c6cdcfed81d0cd4da08f3",{"version":"f9585ff1e49e800c03414267219537635369fe9d0886a84b88a905d4bcfff998","affectsGlobalScope":true},"483d29eb2d4b6c4d486f67b682a5d0ca2d4d452e09e6d43eee0f5ef0f4950aee","eaf540a66adaf590521596a4de7d2f86644aae59b5ef449b26d4b00ccfc13ba5",{"version":"1ff9449d1efdebef55b0ba13fe7f04b697c264e73ec05f41f7633dd057468b2d","affectsGlobalScope":true},"79792358436829ae510866561a6c62e37472108ae7a1836ba2b7136eba000bda",{"version":"7c160037704eee2460c7de4a60f3379da37180db9a196071290137286542b956","affectsGlobalScope":true},"87bdcea89ec013888b0fdb1694ce0cb4b8bf6b9f03f90429cbb4e00b510f838d",{"version":"4681d15a4d7642278bf103db7cd45cc5fe0e8bde5ea0d2be4d5948186a9f4851","affectsGlobalScope":true},"91eb719bcc811a5fb6af041cb0364ac0993591b5bf2f45580b4bb55ddfec41e2","05d7cf6a50e4262ca228218029301e1cdc4770633440293e06a822cb3b0ef923",{"version":"78402a74c2c1fc42b4d1ffbad45f2041327af5929222a264c44be2e23f26b76a","affectsGlobalScope":true},"cc93c43bc9895982441107582b3ecf8ab24a51d624c844a8c7333d2590c929e2",{"version":"c5d44fe7fb9b8f715327414c83fa0d335f703d3fe9f1045a047141bfd113caec","affectsGlobalScope":true},"f8b42b35100812c99430f7b8ce848cb630c33e35cc10db082e85c808c1757554",{"version":"ba28f83668cca1ad073188b0c2d86843f9e34f24c5279f2f7ba182ff051370a4","affectsGlobalScope":true},"349b276c58b9442936b049d5495e087aef7573ad9923d74c4fbb5690c2f42a2e",{"version":"ad8c67f8ddd4c3fcd5f3d90c3612f02b3e9479acafab240b651369292bb2b87a","affectsGlobalScope":true},"1954f24747d14471a5b42bd2ad022c563813a45a7d40ba172fc2e89f465503e2",{"version":"05bbb3d4f0f6ca8774de1a1cc8ba1267fffcc0dd4e9fc3c3478ee2f05824d75d","affectsGlobalScope":true},"37e69b0edd29cbe19be0685d44b180f7baf0bd74239f9ac42940f8a73f267e36",{"version":"afba2e7ffca47f1d37670963b0481eb35983a6e7d043c321b3cfa2723cab93c9","affectsGlobalScope":true},"bb146d5c2867f91eea113d7c91579da67d7d1e7e03eb48261fdbb0dfb0c04d36",{"version":"90b95d16bd0207bb5f6fedf65e5f6dba5a11910ce5b9ffc3955a902e5a8a8bd5","affectsGlobalScope":true},"3698fee6ae409b528a07581f542d5d69e588892f577e9ccdb32a4101e816e435",{"version":"26fc7c5e17d3bcc56ed060c8fb46c6afde9bc8b9dbf24f1c6bdfecca2228dac8","affectsGlobalScope":true},"46fd8192176411dac41055bdb1fdad11cfe58cdce62ccd68acff09391028d23f",{"version":"22791df15401d21a4d62fc958f3683e5edc9b5b727530c5475b766b363d87452","affectsGlobalScope":true},"150ac8ae1c4500f57f2af6e491717a8858a40619063164b1ad746d6a9ef30207","cefffd616954d7b8f99cba34f7b28e832a1712b4e05ac568812345d9ce779540",{"version":"a365952b62dfc98d143e8b12f6dcc848588c4a3a98a0ae5bf17cbd49ceb39791","affectsGlobalScope":true},"af0b1194c18e39526067d571da465fea6db530bca633d7f4b105c3953c7ee807",{"version":"b58e47c6ff296797df7cec7d3f64adef335e969e91d5643a427bf922218ce4ca","affectsGlobalScope":true},"76cbd2a57dc22777438abd25e19005b0c04e4c070adca8bbc54b2e0d038b9e79","4aaf6fd05956c617cc5083b7636da3c559e1062b1cadba1055882e037f57e94c","171ad16fb81daf3fd71d8637a9a1db19b8e97107922e8446d9b37e2fafd3d500",{"version":"d4ce8dfc241ebea15e02f240290653075986daf19cf176c3ce8393911773ac1b","affectsGlobalScope":true},{"version":"52cd0384675a9fa39b785398b899e825b4d8ef0baff718ec2dd331b686e56814","affectsGlobalScope":true},{"version":"58c2bb87fdf190100849a698042d09373be574e531758b1cfe3533258c3d4daa","affectsGlobalScope":true},{"version":"b8f8d5bc91f9618e50778e56f99e74f63dc08f7a91799379887d0fb3ff51fe5e","affectsGlobalScope":true},{"version":"769c459185e07f5b15c8d6ebc0e4fec7e7b584fd5c281f81324f79dd7a06e69c","affectsGlobalScope":true},{"version":"c947df743f2fd638bd995252d7883b54bfef0dbad641f085cc0223705dfd190e","affectsGlobalScope":true},"db78f3b8c08924f96c472319f34b5773daa85ff79faa217865dafef15ea57ffb","8ae46c432d6a66b15bce817f02d26231cf6e75d9690ae55e6a85278eb8242d21","ff5a16ce08431fae07230367d151e3c92aa6899bc9a05669492a51666f11ceb5","526904beb2843034196e50156b58a5001ba5b87c5bb4e7ec04f539e6819f204e","4d311eabe35c4c1fe9b47d5e5f82e3c5467be90b34270fd71b3757bb5dbbe296","0f7abdc525bf2758a1bdca084ddd6092ee33ff438c11107f74d9f5720b0c432e","c3d1047841fd6c273c783726782bdb8c9a77bbbd4bc726447fd33010f0a54cc6","66500cbabdb5d98df1ea231c2e2c0e04f80cd68274d7824dec4918c57cdc12ed","80883fa1b4dc48eb6db24453403c5cbf4a2a31777fde224b8fde7ba9246de371","ef4a9912cd6a2cf0c5acc4fa29a46013bb2cd1180466c8b28b29b136639e0b11","0a61e93272daf8f155d2224a33a1b5c0275eeeed139cd3fcef46c1aeaf730eda","d5ac44aae007e8852a0613908b99a642cc2464d7459380bf304d0c6e695a9cf5","3578d1b66793fa7c30e0a946babf6a7fe46e99ac5e7aa75c434c022bfe9cd163","7353061b0ab6ac04877a2a8c6a1c7f192dd6a148a2f5a71db83c782e0ca04e1c","45aa47354b80aa70ef600ae3b77eba08293bd3ff8c730157446d1163bb2c4c59","b7f651b5728e9c2eb9b2d644820075b36c680e854c06a3a6e5c77a98a68ab7ce","bb68c92912ca084538bc4c76109d28c858eb329aa7acbea374090cf6b74b9829","9ea0c0a352cc40e927881cd4795c2f026916cee12427f9bc915afddb59dd73eb","dde124bb83e97fb0e57a531ee1ba05e8384dd1c0eb74e2d704b37b54cd01789f","4e7c0134edd334de68d2668fc1a1adc718e15a0acf859cbe69627d199788f2a3","5caac17490528dad34758ef4abd2709736244d20259300900349a23f630c3961","134683ca90bc862a303f55c26d2fe4045abb7b7e51e1bc7041804db6e78cecac","7d319c24129ecaacb69375af96fe976718009ef6c2a60b49f6418e8c1ff16bd7","a64ed6fb2e8cb7eeb98bba822448f2b780e95cdf2afb1cfbe130fa068bb7e2ac","4add33de85170cb7beb03b92f245ad531ccd4e644f94408920a814d7259ac6ef","2eff215c0bf89368c948feff7d68d99b96e4d7d3fabb4461fc891bee6f53c56b","f80fa78e2a8706b519cff7e63c3897db7bbe8281398c3d865cac5d4f10688a5e","a585e7fce445d81fc500099a1408e5939916bcd4e64bbc77925c4f041ef829ee","102b972fb504b9fe324493e879ddca6e2c59ca2785fd8e811b5c405e796876f4","0e007c4a2461e85f3e5a3edbc152dc81ac2cd33a55a26f5cfe055d9492f91721","62f9b6f2c3e35d0b5b9ee04b1be03702092a1da85ea836ba7c1e7f7438fd980a","696af3999940599e7dc14a1eced4f128baee4a3cc79ab1422e02b6c6a76fa59a","e388ce93422740ed6e5ff60f4e70e9bfa41175ed353835ec5ffa610b57bd8dfb","c74448c6ad0b791eb727c032822bf5f46b5598144ada9953ccf336e064a9b04c","5a6c433af128b4c280ff2d5694df39f562d9e39e1526fce13b6927cd669e61c4","0200a55190733e3b5be0e8370bdbbe2f61b9f0799350640dfa4041c49c6a81b8","0d4db689b3c2536776c3363242e01c3e97b446b8cb37027fb41c5d9d4183db19","b12839a77591a84fb66ce906b8947e18fe858a00fecae5340b09f02b76c99740","e7a84d6e8e43819c5c6c688a195294112f88cfb6e65bfcdc5265b608413f303a","0c1e196d68392ccb814d385c270a577230e7350b4eef01a93bf497ec4baa513c","59a792b84d0a3874c4779260e08bd396cafe23f30df4ea5de32908558f5892d7","92c133641a49f519ff7ceb20d988d5c28873cdc84dca96f5f5a954f7a0739d03","df344e2d79c49a6636bbdd87faa8a4a79ec1226defc49d52aa8550134aac8a26","79c477a2d4626e7d1fc4e281ff53618b65ac1d2d79d8df8ede051e792340ca9c","d31fa5597aed0deaa4e19c29acb9c202a25e267fd38510a02b10d01b4f28e270","4d79716fc99dbeef5a66ddee95724c9754286a928e26a493b7babb4446fb1a89","f9f7beba5adb3872e352dc2ea7211435df7bab7d98562b1d65676b6e1c7cc3a3","42a43e87c01fd76573880adb08cd5e0acbbd07350b9e39c5418da0afe3241fc1","712a193a9f9cd6ea10e3d7cfec1c7f3d55e7460641c3f1edd3505f9fa32ab81b","f76c971d1e258b502448a9aa7aed9d6190b75d301e2f1aec92a03a4486783d47","3ef9135446efd31179eb94dc16ca9631d2bcd57c2f84b4a74c4c069c5c50ad2b","25db3eb2b6ff6c9268b2408f572ce33d2d975d0141745fbf2e0d2dbbc354944d","a73d6ce3abbc21f882dfd4a9e1f92b24de0a23faef215bbc9f65326d97fd72bc","de29cbbebf350d00e9bd2193a08a771ee9f84252b0280a4e0251a4426a6ea391","c586aa78eea1db992fd2038360ec8519b2db45730b3573bda09e1cdfb6272e15","907badd2824a6c2f1d884a31f319ca3d1f5d73137c24a8a97210e37e7811f8ee","44626011a1388de252111699a315dadea510160ff2c2b69ac3c72e9001f67659","06595ed23ebf30a5c2e69e63090534502eda03dd378154099fb979152e8f2c04","22a19578f29ef8d592d86f055460a98a758f137b0699f197149dd9f5319fda7f","602b7724ff9646f1cd487d767e0d8ede210387dfb2bb0488418f6fcd1f2c05af","5ca6be4bc24f5bdd8cede7b520f89b02f5fc5d5e3bc86828a262f03ce2e3cd91","5046ed7886716564baf1fb1f4a501173eab0f582466096c3a7ccbcc29624beb3"],"root":[838,898],"options":{"inlineSources":true,"module":99,"noEmitOnError":false,"noImplicitAny":false,"noImplicitThis":true,"outDir":"../../../../dist/dev/.uvue/app-android","rootDir":"../../../../dist/dev/.tsc/app-android","skipLibCheck":true,"sourceMap":true,"strict":true,"target":99,"tsBuildInfoFile":"./.tsbuildInfo","useDefineForClassFields":false},"fileIdsList":[[848,853],[844,846],[842,847],[46,48,50,833,834,840,845,854,855,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897],[46,48,50,833,834,856],[46,48,50,833,834,853,856],[849,856],[46,48,50,833,834,847,848,853,856],[46,48,50,833,834,848,856],[46,48,50,833,834],[46,48,50,833,834,848],[46,48,50,833,834,849,856],[848,850],[46,48,50,833,834,842,848,849,853],[841,842],[841,843],[848,849],[46,48,50,833,834,848,849,850,851,852],[844,847,848],[845],[46,48,50,832,833,834],[593,607,828,831,833,834,835,836],[519,526],[592],[511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591],[514,515,516,517,518,520,522,524,525,527],[565],[526,530],[567],[586],[521],[527],[520,526,537],[526,535],[514,515,516,517,518,522,526,527,535,536],[566],[526],[535,536,537,582],[518,527,568,571],[513,518,523,528,535,563,564,568,569],[523,526],[570],[528],[517,526],[526,527],[526,537],[525,526,535,536,537],[530],[46,48,50,524,832,833],[830],[829],[608,609,760,797,804,823,825,827],[826],[824],[611,613,615,617,619,621,623,625,627,629,631,633,635,637,639,641,643,645,647,649,651,653,655,657,659,661,663,665,667,669,671,673,675,677,679,681,683,685,687,689,691,693,695,697,699,701,703,705,707,709,711,713,715,717,719,721,723,725,727,729,731,733,735,737,739,741,743,745,747,749,751,753,755,757,759],[610],[612],[614],[616],[620],[622],[624],[626],[628],[630],[632],[634],[636],[638],[640],[642],[644],[646],[648],[650],[652],[654],[656],[658],[660],[662],[664],[666],[668],[670],[672],[674],[676],[678],[680],[682],[684],[686],[688],[690],[692],[694],[696],[698],[700],[702],[704],[706],[708],[710],[712],[714],[716],[718],[720],[722],[724],[726],[728],[730],[732],[734],[736],[738],[740],[742],[744],[746],[748],[750],[752],[754],[756],[758],[762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796],[761],[763],[765],[767],[769],[771],[787],[791],[793],[795],[799,801,803],[798],[301,453],[800],[802],[806,808,810,812,814,816,818,820,822],[821],[813],[809],[807],[819],[811],[815],[805],[817],[530,537],[606],[594,595,596,597,598,599,600,601,602,603,604,605],[537],[530,537,590],[506,507,508,509],[505],[453],[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27],[839],[44],[44,45,46,48],[41,48,49,50],[42],[41,46,48,833,834],[45,46,47,50,833,834],[29,30,31,32,33,34,35,36,37,38,39],[33],[36],[33,35],[67,68],[198],[198,201,390,462],[201],[196,329,390,453,472,473],[51,63,66,79,173,175,185,188,191,196,252,255,274,278,280,281,282,299,301,316,329,340,342,344,345,346,366,369,387,390,440,452,453,455,456,463,464,467,468,469,470,474,476,482,484,485,486,487,488,493,494,497,498,499,502,503,504],[66,252,281,282,496,505],[66,67,68,274,439,440],[274],[66,79,99,175,274,329,340,342,344,346,366,369,390,453,468,474,475,476,485,505],[51,66,67,68,80,173,196,201,252,255,282,328,342,344,345,369,390,440,453,455,462,466,467,468,505],[51,66,173,390,453,469,473],[390,469],[51,66,173,454],[66,67,68,102,253,254,255,440,453],[67,68,107,500,501],[67,68,173,302,316],[68,108,174,390,453],[66,185,316,440,453,505],[66,67,68,453,505],[67,68,453],[52,66,440,453],[67,68,69,255,274,310,438,440,453],[63,67,68],[252],[281],[51,66,173,231,232,252,267,268,273,274,278,279,280,282,453],[66,231,232,274,278,279,280,283,304],[66,67,68,274],[57,60,61,66,231,232,274,275,278,279,280,283,301,302,303,304,305,306,307,308,309,453],[61,66,101,102,172,185,196,203,204,234,248,249,252,253,255,273,274,281,301,310,313,319,321,328,329,375,440,441,448,450,451,452],[273],[61,66,101,102,172,185,203,204,234,252,253,255,273,274,281,301,310,313,319,321,328,329,375,440,441,448,450,451,452,453,495],[79],[65,66,67,68,107,185,196,265,274,310,319,328,439,453],[67,68,97,254,266,274,310,312,440],[66,67,68,102,253,254,440,453],[51,173,275,453],[67,68,323],[67,68,97,257],[67,68,97,319,320,453],[263],[67,97,320,321],[67,68,260],[67,68,263],[67,68,320],[67,68,256,258,259,260,261,262,263,264,265,268,269,321],[58,60,61,63,67,68,70,102,253,255,272,274,301,315,316,440],[66,67,97,233,319,329],[66,67,68,107,172,185,233,250,251,252,253,254,255,256,258,260,264,265,268,270,271,272,313,314,315,317,318,321,328,329,440],[67,266],[67,68,319,320],[67,68,97,257,266,267],[67,68,97,258,265,268,313,319,329],[67,68,262],[51,58,66,67,68,164,203,204,231],[61,232,233],[67,68,328],[67,68,71],[232],[325],[58,231,322,324,453],[61,66,196,232,233,234,245,246,247,248,249,252,321,326,327,329],[245,247,248,328,329],[196],[52,185],[67,68,306],[66,67,68,306],[274,311],[66,67,68,185],[66,67,68,186],[102,274],[58,66,274,275,276,277,310],[450],[58],[278],[172,278,279,280,442,444,445,446,447,448,449],[442],[443],[231,443],[60,67,68,87,140,174,240,246,284,287,289,299,300],[236,289,301],[72,107,108,174,180,236,240,241,285,286,288,294,297,298,300,301],[61,72,106,107,181,196,239,247,248,296,299,328],[67,68,72,99,102,248,274,301,329,453],[71,108,148,172,231,234,240,328],[241],[67,68,301],[67,68,107],[108,173],[174],[108,140,143,287],[61,240,299],[107,108,181,240,299,301],[107,180],[71,72,107,180,235,236,237,238,239,245],[108,174],[299],[72,107,108,174,180,181,240,241,286,288,294,297,299,300,301],[67,68,106],[67,68,107,180],[72,107,236,239,291,301],[107,174,240,292,295,296],[236,287,290],[102],[107,240,293],[51,172,234,242,243,244],[82,83,84],[82,83],[89,93],[89],[89,95],[87,88,89,91,92,94,96,102],[67,68,179],[90],[65],[66,67,68,274,301],[67,68,301,478,479],[66,67,68,73,79,102,274,316,453,477,478,480,481],[66,67,68],[67,68,172],[63],[52,54,57,62,63,64,65,67,68],[68,75],[97,99,101],[51,53,67],[52],[67,68,70],[97,100],[60,61],[66,67,68,98,102],[51],[52,67,68,99,102],[51,52,53,54,55,56,57,63,64,65,66],[67],[51,58,67,68,102,172,203,204,205,212,230],[60,61,62,67,68],[66,67,68,102],[67,68,73],[68],[73,74,75],[74,76,77],[395],[391],[390,391,392,393],[240],[180,196,453],[390,453,462],[107,196,198,201,390,453,462,465],[462,463,466],[246],[67,68,365],[366],[57,66,67,68,107,179,181,182,390],[66,183],[68,183,390],[67,68,71,107,181,183],[107,342,344,345,390],[342,343,390,453],[196,197,199,453],[196,199,200,390,453],[107,181,350,352],[67,68,390],[66,67,68,191],[106,184,190,192,390],[66,67,68,274,439],[329,344,390],[234,252,328,453,496],[67,68,107,246,284,371,372,373,374],[106,107,180],[376],[67,68,180],[67,68,69,439],[67,68,76,78,81,85,86,103],[68,104],[66,67,68,71,97,336,337],[66,79,102,108,280,336,355,356,357,358,359,360,361,362,363],[67,68,69,274],[358],[336],[67,68,79,80],[67,68,81,105],[196,390,453,462],[79,185,343,440],[344,453],[72,248,329,341,343,390,440],[67,68,105,174],[334,390],[67,68,301,328,453],[67,68,371],[107,280,384],[107,371,383],[104],[329,342,344,390],[67,68,107,299,382],[58,67,68,87,107,181,351],[105],[66,67,68,71,390,394,396,437],[107,175,390],[67,68,388],[390],[67,68,184,330],[52,54,66,67,68,72,79,102,107,174,175,181,183,184,187,188,189,193,194,195,196,200,202,240,248,249,252,292,299,301,328,329,331,332,333,334,335,338,340,346,349,353,354,364,366,367,368,369,370,371,375,377,380,381,385,386,387,389,439,453],[54,66,79,107,175,181,183,190,196,197,249,252,299,340,346,366,368,371,380,381,387,389,390,453,457,458,459,460,461],[329],[66,107,340,346,366,369,371,390],[66,71,174,184,187,188,189],[52,66,79,102,105,107,175,249,252,274,329,340,342,344,346,353,366,385,390,453,463,466,468,476,482,483,484],[57,106,107,372,378,379],[106,199,380],[106],[347],[199,280,348],[52,67,68,101,350,352,375,390,458,489,490,491,492],[107,380],[277,390,462],[390,462,471],[68,175,196,329,342,344,453,462],[339],[65,112,113,171],[51,61,164,172],[51,60,164,172],[58,60],[58,59],[60,109,172],[110,207],[58,110,207,208,209,229],[65,206],[207],[110],[58,110,207,209,212,216,218],[58,60,61,111,207,213],[51,60,61,110,207,209,214],[215],[65,112],[61,65,111,113],[140,141,142,143,144,145,146,147],[93],[148,152,157,160,161,163,171],[150,153],[110,148,151,154,155,209,211,219,224,226,228,230],[148,149,150,151,152,153,154,156,157,159,163,171],[93,162,164],[148,150],[206,207,228],[206,207,211,227],[93,110,209],[150,151,153,154,224,226],[93,148],[148,153],[148,155],[93,159,220,221,224],[220,225],[58,224],[110,209,211,213,217,224,226],[110,148,151,154,155,209,211,212,224,226],[93,158],[220,221,224,225],[221],[220,221,222,224,226],[93,210,213,218,219,223,229],[140,141],[136],[135],[136,137],[58,116,138,139,169,171],[113,114,115,116,117,170,172],[171],[60,61,113,117,152,156,157,162,164,165,166,167,168,170,171],[115,116],[114],[58,115],[140,148],[129,131,132],[65,120,122],[65,124,125],[65,112,123,126],[131],[65,128],[65,129],[134],[127,129,130,135],[61],[121],[65,124],[65,424],[65,405,425,426],[400,411,423],[176,177,178,398,401,403,404,409,410,420,423,428],[176,177,178,398,401,403,404,420,422,423,428,430,433,434],[397,400,402,404,409,410,411,412,421,422,430,433,434,436],[176,177,178,411,423],[176,177,178,398,401,402,403,404,420,421,423,428,430,433,434],[176,397,398,401,402,403,404],[65,400,402,404,409,410,411,412,413,414,416,418,419,421,422,430,433,434,436,437],[179,430,434,435],[65,176,177,178],[399,400,401,403,404,405,406,423,427,434],[65,176,177,178,398,401,402,403,404,429,433,434,436,437],[179,430,434,436],[65,176,177,178,398,401,402,403,404,407,408,409,410,411,415,417,418,420,421,423,428,429,430,433,434,436,437],[65,176,177,178,398,401,402,403,404,408,411,415,419,420,421,422,428,429,430,433,434,436,437],[65,176,177,178,398,401,402,403,404,407,416,419,428,430,433,434,436],[65,176,177,178,398,401,402,403,404,407,408,415,416,419,420,428,430,433,434,436,437],[65,176,177,178,398,401,402,403,404,419,420,428,429,430,433,434,436],[65,176,177,178,409,417,419,423],[401,402,403],[176],[176,177],[176,177,400,402,404],[404],[176,179],[65,401],[65,179,416,430,433],[65,179,416,430,431,433],[65,176,177,178,398,401,402,403,404,408,411,415,416,419,420,421,422,428,429,430,433,434,436],[65,397,404,432,433],[65,176,398,401,402,403,404,432,434],[65,118,119,133]],"referencedMap":[[854,1],[847,2],[848,3],[898,4],[859,5],[858,5],[857,6],[860,7],[871,5],[870,5],[880,5],[890,5],[897,5],[896,5],[882,8],[872,5],[867,5],[868,5],[869,5],[877,5],[893,5],[894,5],[889,5],[876,9],[875,5],[874,5],[873,5],[887,5],[886,5],[884,5],[885,5],[865,7],[888,5],[895,5],[881,10],[879,5],[878,5],[864,5],[861,11],[892,5],[891,5],[866,12],[883,5],[862,5],[863,5],[851,13],[855,14],[843,15],[844,16],[852,17],[853,18],[856,19],[846,20],[833,21],[837,22],[520,23],[593,24],[592,25],[526,26],[566,27],[589,28],[568,29],[587,30],[522,31],[521,32],[585,33],[530,32],[564,34],[537,35],[567,36],[527,37],[583,38],[581,32],[580,32],[579,32],[578,32],[577,32],[576,32],[575,32],[574,32],[573,39],[570,40],[572,32],[524,41],[528,32],[571,42],[563,43],[562,32],[560,32],[559,32],[558,44],[557,32],[556,32],[555,32],[554,32],[553,45],[552,32],[551,32],[550,32],[549,32],[547,46],[548,32],[545,32],[544,32],[543,32],[546,47],[542,32],[541,37],[540,48],[539,48],[538,46],[534,48],[533,48],[532,48],[531,48],[529,43],[834,49],[831,50],[830,51],[828,52],[827,53],[825,54],[760,55],[611,56],[613,57],[615,58],[617,59],[621,60],[623,61],[625,62],[627,63],[629,64],[631,65],[633,66],[635,67],[637,68],[639,69],[641,70],[643,71],[645,72],[647,73],[649,74],[651,75],[653,76],[655,77],[657,78],[659,79],[661,80],[663,81],[665,82],[667,83],[669,84],[671,85],[673,86],[675,87],[677,88],[679,89],[681,90],[683,91],[685,92],[687,93],[689,94],[691,95],[693,96],[695,97],[697,98],[699,99],[701,100],[703,101],[705,102],[707,103],[709,104],[711,105],[713,106],[715,107],[717,108],[719,109],[721,110],[723,111],[725,112],[727,113],[729,114],[731,115],[733,116],[735,117],[737,118],[739,119],[741,120],[743,121],[745,122],[747,123],[749,124],[751,125],[753,126],[755,127],[757,128],[759,129],[797,130],[762,131],[764,132],[766,133],[768,134],[770,135],[772,136],[788,137],[792,138],[794,139],[796,140],[804,141],[799,142],[798,143],[801,144],[803,145],[823,146],[822,147],[814,148],[810,149],[808,150],[820,151],[812,152],[816,153],[806,154],[818,155],[594,156],[607,157],[606,158],[600,156],[601,156],[595,156],[596,156],[597,156],[598,156],[599,156],[603,159],[604,160],[602,159],[510,161],[506,162],[507,163],[28,164],[840,165],[47,10],[45,166],[46,167],[838,168],[43,169],[50,170],[48,171],[40,172],[35,173],[34,173],[37,174],[36,175],[39,175],[306,176],[201,177],[460,178],[202,179],[474,180],[505,181],[503,182],[456,183],[464,184],[486,185],[469,186],[504,187],[473,188],[455,189],[316,190],[502,191],[494,176],[501,192],[467,193],[488,194],[487,195],[273,196],[451,197],[439,198],[69,199],[281,200],[282,201],[185,196],[283,202],[305,203],[304,204],[310,205],[279,176],[453,206],[495,207],[496,208],[475,209],[440,210],[313,211],[255,212],[454,213],[191,176],[323,176],[324,214],[265,215],[321,216],[315,217],[259,176],[250,176],[257,218],[269,176],[261,219],[260,176],[318,220],[264,221],[251,176],[270,222],[317,223],[320,224],[319,225],[267,226],[271,227],[256,227],[268,228],[314,229],[258,215],[262,176],[263,230],[272,176],[232,231],[234,232],[248,233],[252,234],[322,235],[326,236],[325,237],[328,238],[249,239],[233,240],[441,241],[303,176],[309,242],[307,243],[311,184],[312,244],[186,245],[187,246],[275,247],[278,248],[448,249],[442,250],[446,251],[450,252],[443,253],[445,254],[447,250],[444,255],[301,256],[290,257],[299,258],[329,259],[302,260],[241,261],[242,262],[289,263],[106,264],[174,265],[298,266],[288,267],[327,268],[286,269],[296,270],[240,271],[180,272],[300,273],[371,176],[295,274],[107,275],[108,264],[181,276],[292,277],[297,278],[291,279],[236,266],[382,280],[293,176],[294,281],[245,282],[374,176],[87,176],[83,176],[85,283],[84,284],[82,176],[373,176],[94,285],[95,286],[96,287],[103,288],[351,289],[90,286],[91,290],[70,291],[73,176],[479,292],[480,293],[478,176],[482,294],[477,295],[274,296],[62,297],[66,298],[77,299],[102,300],[52,301],[53,302],[71,303],[101,304],[88,305],[99,306],[100,307],[98,308],[67,309],[68,310],[231,311],[266,176],[63,312],[481,313],[253,176],[74,314],[75,315],[76,316],[78,317],[396,318],[392,319],[394,320],[391,321],[465,322],[463,323],[466,324],[484,325],[64,176],[247,326],[354,176],[366,327],[367,328],[183,329],[333,330],[365,331],[182,332],[346,333],[341,334],[200,335],[199,177],[461,336],[197,266],[353,337],[184,338],[189,176],[192,339],[193,340],[334,341],[369,342],[497,343],[375,344],[378,345],[376,176],[377,346],[379,347],[470,176],[387,348],[104,349],[105,350],[359,176],[360,176],[338,351],[355,176],[363,176],[364,352],[357,353],[362,354],[336,176],[361,199],[356,355],[81,356],[79,357],[468,358],[344,359],[345,360],[342,361],[175,362],[335,363],[368,364],[372,365],[385,366],[384,367],[476,368],[343,369],[383,370],[352,371],[491,372],[438,373],[386,374],[389,375],[330,295],[388,303],[332,376],[331,377],[390,378],[462,379],[458,376],[459,380],[457,381],[190,382],[485,383],[370,176],[380,384],[381,385],[347,386],[348,387],[349,388],[493,389],[492,390],[471,391],[472,392],[499,393],[350,176],[340,394],[489,176],[172,395],[203,396],[204,397],[61,398],[60,399],[173,400],[109,399],[208,401],[230,402],[207,403],[206,404],[111,405],[217,406],[212,407],[110,291],[215,408],[216,409],[113,410],[112,411],[148,412],[161,413],[162,414],[155,415],[93,250],[229,416],[164,417],[163,418],[151,419],[158,413],[227,420],[228,421],[211,422],[210,423],[153,424],[154,425],[156,426],[225,427],[221,428],[220,429],[218,430],[213,431],[159,432],[226,433],[222,434],[223,435],[224,436],[150,424],[144,437],[142,437],[137,438],[136,439],[138,440],[168,250],[170,441],[171,442],[139,443],[169,444],[114,445],[115,446],[116,447],[146,437],[145,437],[147,437],[149,448],[143,437],[133,449],[123,450],[124,291],[126,451],[127,452],[132,453],[121,291],[129,454],[130,455],[135,456],[131,457],[120,458],[122,459],[125,460],[425,461],[427,462],[414,463],[411,464],[421,465],[423,466],[409,467],[422,468],[410,469],[417,470],[436,471],[179,472],[428,473],[430,474],[435,475],[419,476],[416,477],[420,478],[429,479],[407,480],[418,481],[404,482],[398,483],[178,484],[401,485],[403,486],[177,487],[402,488],[431,489],[432,490],[437,491],[434,492],[433,493],[134,494]],"exportedModulesMap":[[854,1],[847,2],[848,3],[898,4],[859,5],[858,5],[857,6],[860,7],[871,5],[870,5],[880,5],[890,5],[897,5],[896,5],[882,8],[872,5],[867,5],[868,5],[869,5],[877,5],[893,5],[894,5],[889,5],[876,9],[875,5],[874,5],[873,5],[887,5],[886,5],[884,5],[885,5],[865,7],[888,5],[895,5],[881,10],[879,5],[878,5],[864,5],[861,11],[892,5],[891,5],[866,12],[883,5],[862,5],[863,5],[851,13],[855,14],[843,15],[844,16],[852,17],[853,18],[856,19],[846,20],[833,21],[837,22],[520,23],[593,24],[592,25],[526,26],[566,27],[589,28],[568,29],[587,30],[522,31],[521,32],[585,33],[530,32],[564,34],[537,35],[567,36],[527,37],[583,38],[581,32],[580,32],[579,32],[578,32],[577,32],[576,32],[575,32],[574,32],[573,39],[570,40],[572,32],[524,41],[528,32],[571,42],[563,43],[562,32],[560,32],[559,32],[558,44],[557,32],[556,32],[555,32],[554,32],[553,45],[552,32],[551,32],[550,32],[549,32],[547,46],[548,32],[545,32],[544,32],[543,32],[546,47],[542,32],[541,37],[540,48],[539,48],[538,46],[534,48],[533,48],[532,48],[531,48],[529,43],[834,49],[831,50],[830,51],[828,52],[827,53],[825,54],[760,55],[611,56],[613,57],[615,58],[617,59],[621,60],[623,61],[625,62],[627,63],[629,64],[631,65],[633,66],[635,67],[637,68],[639,69],[641,70],[643,71],[645,72],[647,73],[649,74],[651,75],[653,76],[655,77],[657,78],[659,79],[661,80],[663,81],[665,82],[667,83],[669,84],[671,85],[673,86],[675,87],[677,88],[679,89],[681,90],[683,91],[685,92],[687,93],[689,94],[691,95],[693,96],[695,97],[697,98],[699,99],[701,100],[703,101],[705,102],[707,103],[709,104],[711,105],[713,106],[715,107],[717,108],[719,109],[721,110],[723,111],[725,112],[727,113],[729,114],[731,115],[733,116],[735,117],[737,118],[739,119],[741,120],[743,121],[745,122],[747,123],[749,124],[751,125],[753,126],[755,127],[757,128],[759,129],[797,130],[762,131],[764,132],[766,133],[768,134],[770,135],[772,136],[788,137],[792,138],[794,139],[796,140],[804,141],[799,142],[798,143],[801,144],[803,145],[823,146],[822,147],[814,148],[810,149],[808,150],[820,151],[812,152],[816,153],[806,154],[818,155],[594,156],[607,157],[606,158],[600,156],[601,156],[595,156],[596,156],[597,156],[598,156],[599,156],[603,159],[604,160],[602,159],[510,161],[506,162],[507,163],[28,164],[840,165],[47,10],[45,166],[46,167],[838,168],[43,169],[50,170],[48,171],[40,172],[35,173],[34,173],[37,174],[36,175],[39,175],[306,176],[201,177],[460,178],[202,179],[474,180],[505,181],[503,182],[456,183],[464,184],[486,185],[469,186],[504,187],[473,188],[455,189],[316,190],[502,191],[494,176],[501,192],[467,193],[488,194],[487,195],[273,196],[451,197],[439,198],[69,199],[281,200],[282,201],[185,196],[283,202],[305,203],[304,204],[310,205],[279,176],[453,206],[495,207],[496,208],[475,209],[440,210],[313,211],[255,212],[454,213],[191,176],[323,176],[324,214],[265,215],[321,216],[315,217],[259,176],[250,176],[257,218],[269,176],[261,219],[260,176],[318,220],[264,221],[251,176],[270,222],[317,223],[320,224],[319,225],[267,226],[271,227],[256,227],[268,228],[314,229],[258,215],[262,176],[263,230],[272,176],[232,231],[234,232],[248,233],[252,234],[322,235],[326,236],[325,237],[328,238],[249,239],[233,240],[441,241],[303,176],[309,242],[307,243],[311,184],[312,244],[186,245],[187,246],[275,247],[278,248],[448,249],[442,250],[446,251],[450,252],[443,253],[445,254],[447,250],[444,255],[301,256],[290,257],[299,258],[329,259],[302,260],[241,261],[242,262],[289,263],[106,264],[174,265],[298,266],[288,267],[327,268],[286,269],[296,270],[240,271],[180,272],[300,273],[371,176],[295,274],[107,275],[108,264],[181,276],[292,277],[297,278],[291,279],[236,266],[382,280],[293,176],[294,281],[245,282],[374,176],[87,176],[83,176],[85,283],[84,284],[82,176],[373,176],[94,285],[95,286],[96,287],[103,288],[351,289],[90,286],[91,290],[70,291],[73,176],[479,292],[480,293],[478,176],[482,294],[477,295],[274,296],[62,297],[66,298],[77,299],[102,300],[52,301],[53,302],[71,303],[101,304],[88,305],[99,306],[100,307],[98,308],[67,309],[68,310],[231,311],[266,176],[63,312],[481,313],[253,176],[74,314],[75,315],[76,316],[78,317],[396,318],[392,319],[394,320],[391,321],[465,322],[463,323],[466,324],[484,325],[64,176],[247,326],[354,176],[366,327],[367,328],[183,329],[333,330],[365,331],[182,332],[346,333],[341,334],[200,335],[199,177],[461,336],[197,266],[353,337],[184,338],[189,176],[192,339],[193,340],[334,341],[369,342],[497,343],[375,344],[378,345],[376,176],[377,346],[379,347],[470,176],[387,348],[104,349],[105,350],[359,176],[360,176],[338,351],[355,176],[363,176],[364,352],[357,353],[362,354],[336,176],[361,199],[356,355],[81,356],[79,357],[468,358],[344,359],[345,360],[342,361],[175,362],[335,363],[368,364],[372,365],[385,366],[384,367],[476,368],[343,369],[383,370],[352,371],[491,372],[438,373],[386,374],[389,375],[330,295],[388,303],[332,376],[331,377],[390,378],[462,379],[458,376],[459,380],[457,381],[190,382],[485,383],[370,176],[380,384],[381,385],[347,386],[348,387],[349,388],[493,389],[492,390],[471,391],[472,392],[499,393],[350,176],[340,394],[489,176],[172,395],[203,396],[204,397],[61,398],[60,399],[173,400],[109,399],[208,401],[230,402],[207,403],[206,404],[111,405],[217,406],[212,407],[110,291],[215,408],[216,409],[113,410],[112,411],[148,412],[161,413],[162,414],[155,415],[93,250],[229,416],[164,417],[163,418],[151,419],[158,413],[227,420],[228,421],[211,422],[210,423],[153,424],[154,425],[156,426],[225,427],[221,428],[220,429],[218,430],[213,431],[159,432],[226,433],[222,434],[223,435],[224,436],[150,424],[144,437],[142,437],[137,438],[136,439],[138,440],[168,250],[170,441],[171,442],[139,443],[169,444],[114,445],[115,446],[116,447],[146,437],[145,437],[147,437],[149,448],[143,437],[133,449],[123,450],[124,291],[126,451],[127,452],[132,453],[121,291],[129,454],[130,455],[135,456],[131,457],[120,458],[122,459],[125,460],[425,461],[427,462],[414,463],[411,464],[421,465],[423,466],[409,467],[422,468],[410,469],[417,470],[436,471],[179,472],[428,473],[430,474],[435,475],[419,476],[416,477],[420,478],[429,479],[407,480],[418,481],[404,482],[398,483],[178,484],[401,485],[403,486],[177,487],[402,488],[431,489],[432,490],[437,491],[434,492],[433,493],[134,494]],"semanticDiagnosticsPerFile":[842,854,[847,[{"file":"../../../../dist/dev/.tsc/app-android/components/supadb/aksupa.uts.ts","start":9852,"length":6,"code":2550,"category":1,"messageText":"Property 'assign' does not exist on type 'ObjectConstructor'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2015' or later."}]],848,[898,[{"file":"../../../../dist/dev/.tsc/app-android/main.uts.ts","start":7,"length":108,"messageText":"An import path can only end with a '.ts' extension when 'allowImportingTsExtensions' is enabled.","category":1,"code":5097}]],[859,[{"file":"../../../../dist/dev/.tsc/app-android/pages/main/cart.uvue.ts","start":71,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],[858,[{"file":"../../../../dist/dev/.tsc/app-android/pages/main/category.uvue.ts","start":69,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],[857,[{"file":"../../../../dist/dev/.tsc/app-android/pages/main/index.uvue.ts","start":79,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],[871,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/address-edit.uvue.ts","start":70,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],[870,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/address-list.uvue.ts","start":89,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],[880,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/apply-refund.uvue.ts","start":50,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],890,897,[896,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/bank-cards/index.uvue.ts","start":2688,"length":6,"messageText":"Cannot find name 'onShow'.","category":1,"code":2304}]],[882,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/chat.uvue.ts","start":14604,"length":13,"messageText":"The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.","category":1,"code":2358}]],[872,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/checkout.uvue.ts","start":111,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],867,[868,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/favorites.uvue.ts","start":787,"length":22,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"messageText":"Overload 1 of 2, '(predicate: (value: { __$originalPosition?: UTSSourceMapPosition<\"FavoriteType\", \"pages/mall/consumer/favorites.uvue\", 67, 6> | undefined; id: string; name: string; price: number; main_image_url: string; merchant_id: string; selected: boolean; }, index: number, array: { ...; }[]) => value is { ...; }, thisArg?: any): { ...; }[]', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]},{"messageText":"Overload 2 of 2, '(predicate: (value: { __$originalPosition?: UTSSourceMapPosition<\"FavoriteType\", \"pages/mall/consumer/favorites.uvue\", 67, 6> | undefined; id: string; name: string; price: number; main_image_url: string; merchant_id: string; selected: boolean; }, index: number, array: { ...; }[]) => boolean, thisArg?: any): { ...; }[]', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]}]},"relatedInformation":[{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":30746,"length":51,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502},{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":32136,"length":48,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502}]},{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/favorites.uvue.ts","start":953,"length":22,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"messageText":"Overload 1 of 2, '(predicate: (value: { __$originalPosition?: UTSSourceMapPosition<\"FavoriteType\", \"pages/mall/consumer/favorites.uvue\", 67, 6> | undefined; id: string; name: string; price: number; main_image_url: string; merchant_id: string; selected: boolean; }, index: number, array: { ...; }[]) => value is { ...; }, thisArg?: any): this is { ...; }[]', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]},{"messageText":"Overload 2 of 2, '(predicate: (value: { __$originalPosition?: UTSSourceMapPosition<\"FavoriteType\", \"pages/mall/consumer/favorites.uvue\", 67, 6> | undefined; id: string; name: string; price: number; main_image_url: string; merchant_id: string; selected: boolean; }, index: number, array: { ...; }[]) => boolean, thisArg?: any): boolean', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]}]},"relatedInformation":[{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":23899,"length":51,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502},{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":25290,"length":48,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502}]},{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/favorites.uvue.ts","start":5031,"length":22,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"messageText":"Overload 1 of 2, '(predicate: (value: { __$originalPosition?: UTSSourceMapPosition<\"FavoriteType\", \"pages/mall/consumer/favorites.uvue\", 67, 6> | undefined; id: string; name: string; price: number; main_image_url: string; merchant_id: string; selected: boolean; }, index: number, array: { ...; }[]) => value is { ...; }, thisArg?: any): { ...; }[]', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]},{"messageText":"Overload 2 of 2, '(predicate: (value: { __$originalPosition?: UTSSourceMapPosition<\"FavoriteType\", \"pages/mall/consumer/favorites.uvue\", 67, 6> | undefined; id: string; name: string; price: number; main_image_url: string; merchant_id: string; selected: boolean; }, index: number, array: { ...; }[]) => boolean, thisArg?: any): { ...; }[]', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]}]},"relatedInformation":[{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":30746,"length":51,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502},{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":32136,"length":48,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502}]}]],[869,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/footprint.uvue.ts","start":1415,"length":22,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"messageText":"Overload 1 of 2, '(predicate: (value: { __$originalPosition?: UTSSourceMapPosition<\"FootprintType\", \"pages/mall/consumer/footprint.uvue\", 74, 6> | undefined; id: string; name: string; ... 8 more ...; merchant_id: string; }, index: number, array: { ...; }[]) => value is { ...; }, thisArg?: any): { ...; }[]', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]},{"messageText":"Overload 2 of 2, '(predicate: (value: { __$originalPosition?: UTSSourceMapPosition<\"FootprintType\", \"pages/mall/consumer/footprint.uvue\", 74, 6> | undefined; id: string; name: string; ... 8 more ...; merchant_id: string; }, index: number, array: { ...; }[]) => boolean, thisArg?: any): { ...; }[]', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]}]},"relatedInformation":[{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":30746,"length":51,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502},{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":32136,"length":48,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502}]},{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/footprint.uvue.ts","start":1583,"length":22,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"messageText":"Overload 1 of 2, '(predicate: (value: { __$originalPosition?: UTSSourceMapPosition<\"FootprintType\", \"pages/mall/consumer/footprint.uvue\", 74, 6> | undefined; id: string; name: string; ... 8 more ...; merchant_id: string; }, index: number, array: { ...; }[]) => value is { ...; }, thisArg?: any): this is { ...; }[]', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]},{"messageText":"Overload 2 of 2, '(predicate: (value: { __$originalPosition?: UTSSourceMapPosition<\"FootprintType\", \"pages/mall/consumer/footprint.uvue\", 74, 6> | undefined; id: string; name: string; ... 8 more ...; merchant_id: string; }, index: number, array: { ...; }[]) => boolean, thisArg?: any): boolean', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]}]},"relatedInformation":[{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":23899,"length":51,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502},{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":25290,"length":48,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502}]},{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/footprint.uvue.ts","start":1758,"length":5,"code":2345,"category":1,"messageText":"Argument of type 'Date' is not assignable to parameter of type 'string | number'."},{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/footprint.uvue.ts","start":3941,"length":22,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"messageText":"Overload 1 of 2, '(predicate: (value: FootprintType, index: number, array: FootprintType[]) => value is FootprintType, thisArg?: any): this is FootprintType[]', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]},{"messageText":"Overload 2 of 2, '(predicate: (value: FootprintType, index: number, array: FootprintType[]) => boolean, thisArg?: any): boolean', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]}]},"relatedInformation":[{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":23899,"length":51,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502},{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":25290,"length":48,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502}]},{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/footprint.uvue.ts","start":4378,"length":22,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"messageText":"Overload 1 of 2, '(predicate: (value: FootprintType, index: number, array: FootprintType[]) => value is FootprintType, thisArg?: any): this is FootprintType[]', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]},{"messageText":"Overload 2 of 2, '(predicate: (value: FootprintType, index: number, array: FootprintType[]) => boolean, thisArg?: any): boolean', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]}]},"relatedInformation":[{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":23899,"length":51,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502},{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":25290,"length":48,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502}]},{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/footprint.uvue.ts","start":4744,"length":22,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"messageText":"Overload 1 of 2, '(predicate: (value: { __$originalPosition?: UTSSourceMapPosition<\"FootprintType\", \"pages/mall/consumer/footprint.uvue\", 74, 6> | undefined; id: string; name: string; ... 8 more ...; merchant_id: string; }, index: number, array: { ...; }[]) => value is { ...; }, thisArg?: any): { ...; }[]', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]},{"messageText":"Overload 2 of 2, '(predicate: (value: { __$originalPosition?: UTSSourceMapPosition<\"FootprintType\", \"pages/mall/consumer/footprint.uvue\", 74, 6> | undefined; id: string; name: string; ... 8 more ...; merchant_id: string; }, index: number, array: { ...; }[]) => boolean, thisArg?: any): { ...; }[]', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]}]},"relatedInformation":[{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":30746,"length":51,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502},{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":32136,"length":48,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502}]},{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/footprint.uvue.ts","start":5462,"length":22,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"messageText":"Overload 1 of 2, '(predicate: (value: { __$originalPosition?: UTSSourceMapPosition<\"FootprintType\", \"pages/mall/consumer/footprint.uvue\", 74, 6> | undefined; id: string; name: string; ... 8 more ...; merchant_id: string; }, index: number, array: { ...; }[]) => value is { ...; }, thisArg?: any): { ...; }[]', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]},{"messageText":"Overload 2 of 2, '(predicate: (value: { __$originalPosition?: UTSSourceMapPosition<\"FootprintType\", \"pages/mall/consumer/footprint.uvue\", 74, 6> | undefined; id: string; name: string; ... 8 more ...; merchant_id: string; }, index: number, array: { ...; }[]) => boolean, thisArg?: any): { ...; }[]', gave the following error.","category":1,"code":2772,"next":[{"messageText":"Type 'Boolean' is not assignable to type 'boolean'.","category":1,"code":2322,"next":[{"messageText":"'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.","category":1,"code":2692}]}]}]},"relatedInformation":[{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":30746,"length":51,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502},{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/hbuilderx-language-services/builtin-dts/uts-types/common/array.d.ts","start":32136,"length":48,"messageText":"The expected type comes from the return type of this signature.","category":3,"code":6502}]}]],[877,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/logistics.uvue.ts","start":61,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],893,[894,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/message-detail.uvue.ts","start":60,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],889,[876,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/order-detail.uvue.ts","start":84,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],[875,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/orders.uvue.ts","start":102,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],874,873,887,886,884,885,[865,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/product-detail.uvue.ts","start":19982,"length":7,"messageText":"Cannot find name 'success'.","category":1,"code":2304}]],[888,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/product-reviews.uvue.ts","start":60,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],895,881,879,[878,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/review.uvue.ts","start":60,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307},{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/review.uvue.ts","start":7989,"length":20,"code":2352,"category":1,"messageText":{"messageText":"Conversion of type 'ChooseImageSuccess' to type 'UTSJSONObject' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.","category":1,"code":2352,"next":[{"messageText":"Type 'ChooseImageSuccess' is missing the following properties from type 'UTSJSONObject': get, set, getAny, getBoolean, and 6 more.","category":1,"code":2740}]}}]],[864,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/search.uvue.ts","start":102,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307},{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/search.uvue.ts","start":6518,"length":18,"code":2352,"category":1,"messageText":{"messageText":"Conversion of type 'Product' to type 'UTSJSONObject' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.","category":1,"code":2352,"next":[{"messageText":"Type 'Product' is missing the following properties from type 'UTSJSONObject': get, set, getAny, getBoolean, and 6 more.","category":1,"code":2740}]}}]],[861,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/settings.uvue.ts","start":66,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],[892,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/share/detail.uvue.ts","start":60,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],891,866,883,[862,[{"file":"../../../../dist/dev/.tsc/app-android/pages/mall/consumer/wallet.uvue.ts","start":67,"length":19,"messageText":"Cannot find module '@dcloudio/uni-app' or its corresponding type declarations.","category":1,"code":2307}]],863,851,850,855,849,[843,[{"file":"../../../../dist/dev/.tsc/app-android/uni_modules/ak-req/ak-req.uts.ts","start":10200,"length":6,"code":2550,"category":1,"messageText":"Property 'assign' does not exist on type 'ObjectConstructor'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2015' or later."},{"file":"../../../../dist/dev/.tsc/app-android/uni_modules/ak-req/ak-req.uts.ts","start":10346,"length":6,"code":2550,"category":1,"messageText":"Property 'assign' does not exist on type 'ObjectConstructor'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2015' or later."},{"file":"../../../../dist/dev/.tsc/app-android/uni_modules/ak-req/ak-req.uts.ts","start":10445,"length":6,"code":2550,"category":1,"messageText":"Property 'assign' does not exist on type 'ObjectConstructor'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2015' or later."}]],844,841,845,852,853,856,846,833,832,837,565,520,516,517,514,593,591,592,526,566,590,589,568,535,536,519,515,586,587,522,521,518,585,584,530,564,537,567,527,582,583,581,580,579,578,577,576,575,574,573,570,572,524,569,528,571,563,562,561,560,559,558,557,523,556,555,554,553,552,551,550,549,547,548,545,544,543,546,525,542,541,540,539,538,534,533,532,531,529,588,513,512,511,834,835,831,830,829,608,609,828,827,826,825,824,760,611,610,613,612,615,614,617,616,619,618,621,620,623,622,625,624,627,626,629,628,631,630,633,632,635,634,637,636,639,638,641,640,643,642,645,644,647,646,649,648,651,650,653,652,655,654,657,656,659,658,661,660,663,662,665,664,667,666,669,668,671,670,673,672,675,674,677,676,679,678,681,680,683,682,685,684,687,686,689,688,691,690,693,692,695,694,697,696,699,698,701,700,703,702,705,704,707,706,709,708,711,710,713,712,715,714,717,716,719,718,721,720,723,722,725,724,727,726,729,728,731,730,733,732,735,734,737,736,739,738,741,740,743,742,745,744,747,746,749,748,751,750,753,752,755,754,757,756,759,758,797,762,761,764,763,766,765,768,767,770,769,772,771,774,773,776,775,778,777,780,779,782,781,784,783,786,785,788,787,790,789,792,791,794,793,796,795,804,799,798,801,800,803,802,823,822,821,814,813,810,809,808,807,820,819,812,811,816,815,806,805,818,817,836,594,607,606,605,600,601,595,596,597,598,599,603,604,602,510,506,507,508,509,1,16,2,28,3,26,4,5,17,18,6,20,21,19,27,7,8,9,10,11,12,13,14,24,25,22,23,15,[840,[{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/src/runtime/app/index.ts","start":145,"length":16,"code":2339,"category":1,"messageText":"Property 'UNI_SOCKET_HOSTS' does not exist on type '{ NODE_ENV: \"development\" | \"production\"; }'."},{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/src/runtime/app/index.ts","start":197,"length":15,"code":2339,"category":1,"messageText":"Property 'UNI_SOCKET_PORT' does not exist on type '{ NODE_ENV: \"development\" | \"production\"; }'."},{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/src/runtime/app/index.ts","start":246,"length":13,"code":2339,"category":1,"messageText":"Property 'UNI_SOCKET_ID' does not exist on type '{ NODE_ENV: \"development\" | \"production\"; }'."},{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/src/runtime/app/index.ts","start":380,"length":27,"messageText":"Cannot find name '__registerWebViewUniConsole'.","category":1,"code":2304},{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/src/runtime/app/index.ts","start":454,"length":32,"code":2339,"category":1,"messageText":"Property 'UNI_CONSOLE_WEBVIEW_EVAL_JS_CODE' does not exist on type '{ NODE_ENV: \"development\" | \"production\"; }'."}]],[839,[{"file":"../../../../../../../hbuilderx/hbuilderx/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/src/runtime/app/socket.ts","start":1121,"length":19,"code":2578,"category":1,"messageText":"Unused '@ts-expect-error' directive."}]],47,45,46,44,838,42,43,50,49,48,41,40,31,35,32,33,34,37,36,38,39,30,29,306,201,460,202,198,474,505,503,456,464,486,469,504,473,455,316,502,494,501,467,488,487,273,451,439,69,281,282,185,283,305,304,310,279,453,495,496,475,440,313,255,454,191,323,324,265,321,315,259,250,257,269,261,260,318,264,251,270,317,320,319,267,271,256,268,314,258,262,263,272,232,234,248,252,322,326,325,328,249,233,441,452,303,309,307,308,311,312,186,187,276,275,278,448,277,442,446,450,443,445,447,444,449,301,290,72,299,287,239,284,329,302,285,241,242,244,243,289,106,238,174,298,288,327,286,296,240,180,237,300,371,295,107,108,181,292,297,291,236,382,293,294,245,235,86,374,87,83,85,84,82,373,89,94,95,96,92,103,351,90,91,70,73,479,480,478,482,477,274,62,66,280,77,102,52,53,71,101,88,99,100,98,188,67,68,231,266,63,481,253,74,75,76,78,337,396,395,392,394,393,391,465,463,466,484,254,80,56,196,246,194,97,195,500,57,64,54,55,247,354,366,367,183,333,365,182,346,341,200,199,461,197,353,184,189,490,192,193,334,369,497,375,378,376,377,379,470,387,483,104,105,359,360,338,355,363,358,364,357,362,336,361,356,81,79,468,344,345,342,175,335,368,372,385,384,476,343,383,352,491,438,386,389,330,388,332,331,390,462,458,459,457,190,485,370,380,381,347,348,349,493,492,471,472,499,350,339,340,498,489,58,172,51,203,204,59,61,205,60,173,65,109,208,230,207,206,219,111,217,212,110,215,216,209,214,113,112,140,148,141,161,162,155,93,160,229,164,163,151,158,227,228,211,210,153,154,156,225,221,220,218,213,159,226,222,223,224,150,144,142,166,157,137,136,138,167,168,165,170,117,152,171,139,169,114,115,116,146,145,147,149,143,133,123,124,126,127,132,128,121,129,130,135,119,118,131,120,122,125,425,424,426,427,405,414,411,421,423,409,422,410,417,413,436,415,179,428,399,406,400,397,430,435,419,416,420,408,429,407,418,412,176,404,398,178,401,403,177,402,431,432,437,434,433,134]},"version":"5.2.2"} \ No newline at end of file diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/078578ea91137475446b7f647411def3998ee9af b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/078578ea91137475446b7f647411def3998ee9af deleted file mode 100644 index a8468ba0..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/078578ea91137475446b7f647411def3998ee9af +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, toDisplayString as _toDisplayString, t as _t, sei as _sei, n as _n, f as _f, gei as _gei, e as _e } from \"vue\";\nimport _imports_0 from '/static/images/default-product.png';\nimport { ref, reactive, onMounted, onUnmounted, nextTick } from 'vue';\nimport { supabaseService, ChatMessage } from \"@/utils/supabaseService\";\nimport supa from \"@/components/supadb/aksupainstance\";\nimport { AkSupaRealtimeChannel } from \"@/components/supadb/aksupa\";\nimport { getCurrentUser } from \"@/utils/store\";\nclass UiChatMessage extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n viewId: { type: String, optional: false },\n type: { type: String, optional: false },\n content: { type: String, optional: false },\n time: { type: String, optional: false },\n msgType: { type: String, optional: false }\n };\n },\n name: \"UiChatMessage\"\n };\n }\n constructor(options, metadata = UiChatMessage.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.viewId = this.__props__.viewId;\n this.type = this.__props__.type;\n this.content = this.__props__.content;\n this.time = this.__props__.time;\n this.msgType = this.__props__.msgType;\n delete this.__props__;\n }\n}\n// 响应式数据\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'chat',\n setup(__props) {\n const messages = ref([]);\n const inputMessage = ref('');\n const inputFocus = ref(false);\n const showEmoji = ref(false);\n const scrollToView = ref('');\n const currentUserId = ref('');\n const merchantId = ref(''); // 商家ID\n const headerTitle = ref('在线客服');\n const merchantAvatar = ref('/static/default-shop.png'); // 商家头像\n const navPaddingTop = ref('30px'); // 默认值,包含状态栏高度+原有内边距\n const isInitialLoading = ref(true);\n let realtimeChannel = null;\n // 模拟表情列表\n const emojiList = ['😊', '😂', '🤣', '😍', '😘', '🥰', '😭', '😡', '👍', '👏', '🙏', '🎉', '❤️', '🔥', '⭐'];\n function scrollToBottom() {\n if (messages.value.length === 0)\n return null;\n // 获取最后一条消息的 ID\n const lastMsg = messages.value[messages.value.length - 1];\n const targetId = lastMsg.viewId;\n // 关键点:在 UVue 安卓端,直接连续赋值可能被合并。\n // 我们先清空 ID,然后在下一帧赋值,确保 scroll-view 监听到变化。\n scrollToView.value = '';\n // 延迟更久一点,确保安卓端列表排版彻底完成\n setTimeout(() => {\n scrollToView.value = targetId;\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:193', '[scrollToBottom] 发起滚动定位:', targetId);\n // 分级校准:针对长消息或渲染抖动导致的高度变化\n setTimeout(() => {\n scrollToView.value = '';\n setTimeout(() => {\n scrollToView.value = targetId;\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:200', '[scrollToBottom] 第一阶段校准:', targetId);\n }, 50);\n }, 500);\n // 最终深度校准(针对首屏数据较多时)\n setTimeout(() => {\n scrollToView.value = '';\n setTimeout(() => {\n scrollToView.value = targetId;\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:209', '[scrollToBottom] 最终校准:', targetId);\n }, 50);\n }, 1200);\n }, 300);\n }\n function getCurrentTime() {\n const now = new Date();\n const hours = now.getHours().toString().padStart(2, '0');\n const minutes = now.getMinutes().toString().padStart(2, '0');\n return `${hours}:${minutes}`;\n }\n function setupRealtimeSubscription() {\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:223', '开始建立聊天实时订阅...');\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:224', '当前用户ID:', currentUserId.value, '商家ID:', merchantId.value);\n realtimeChannel = supa.channel('chat-messages-' + Date.now().toString())\n .on('postgres_changes', new UTSJSONObject({\n event: 'INSERT',\n schema: 'public',\n table: 'ml_chat_messages'\n }), (payload = null) => {\n var _a, _b, _c, _d, _g, _h;\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:232', '=== 收到实时订阅回调 ===');\n const payloadObj = (UTS.isInstanceOf(payload, UTSJSONObject)) ? payload : UTS.JSON.parse(UTS.JSON.stringify(payload !== null && payload !== void 0 ? payload : new UTSJSONObject({})));\n const newMsgAny = payloadObj.get('new');\n if (newMsgAny == null) {\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:236', 'newMsgAny 为空,跳过');\n return null;\n }\n const newMsg = (UTS.isInstanceOf(newMsgAny, UTSJSONObject)) ? newMsgAny : UTS.JSON.parse(UTS.JSON.stringify(newMsgAny));\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:240', '收到新消息:', newMsg);\n const senderId = (_a = newMsg.getString('sender_id')) !== null && _a !== void 0 ? _a : '';\n const receiverId = (_b = newMsg.getString('receiver_id')) !== null && _b !== void 0 ? _b : '';\n const msgId = (_c = newMsg.getString('id')) !== null && _c !== void 0 ? _c : '';\n const content = (_d = newMsg.getString('content')) !== null && _d !== void 0 ? _d : '';\n const msgType = (_g = newMsg.getString('msg_type')) !== null && _g !== void 0 ? _g : 'text';\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:248', '=== 消息详情 ===');\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:249', '消息ID:', msgId);\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:250', '发送者ID:', senderId);\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:251', '接收者ID:', receiverId);\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:252', '当前用户ID:', currentUserId.value);\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:253', '商家ID:', merchantId.value);\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:254', '消息内容:', content);\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:255', '消息类型 msgType:', msgType);\n // 检查消息是否已经在列表中(避免重复)\n for (let i = 0; i < messages.value.length; i++) {\n if (messages.value[i].id == msgId) {\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:260', '消息已存在,跳过');\n return null;\n }\n }\n // 判断消息类型\n const isMyMessage = (senderId == currentUserId.value);\n const isForMe = (receiverId == currentUserId.value);\n const isRelatedToCurrentChat = (senderId == merchantId.value || receiverId == merchantId.value);\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:270', '=== 条件判断 ===');\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:271', 'isMyMessage:', isMyMessage);\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:272', 'isForMe:', isForMe);\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:273', 'isRelatedToCurrentChat:', isRelatedToCurrentChat);\n // 如果消息与当前聊天无关,跳过\n if (!isRelatedToCurrentChat) {\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:277', '消息与当前聊天无关,跳过');\n return null;\n }\n // 如果是自己发送的消息,或者是发给自己的消息,都显示\n if (isMyMessage || isForMe) {\n const createdAt = (_h = newMsg.getString('created_at')) !== null && _h !== void 0 ? _h : new Date().toISOString();\n const date = new Date(createdAt);\n const timeStr = `${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`;\n // 生成安全的 viewId\n const safeViewId = 'msg_' + msgId.replace(/[^a-zA-Z0-9]/g, '_');\n const incomingMsg = new UiChatMessage({\n id: msgId,\n viewId: safeViewId,\n type: isMyMessage ? 'sent' : 'received',\n content: content,\n time: timeStr,\n msgType: msgType\n });\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:299', '=== 添加新消息到列表 ===');\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:300', '消息类型:', incomingMsg.type);\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:301', '消息内容:', incomingMsg.content);\n messages.value.push(incomingMsg);\n scrollToBottom();\n }\n else {\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:305', '条件不满足,不添加消息');\n }\n })\n .subscribe((status, err = null) => {\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:309', '订阅状态:', status);\n if (err != null) {\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:311', '订阅错误:', err);\n }\n });\n }\n function loadChatHistory() {\n var _a, _b, _c, _d, _g;\n return __awaiter(this, void 0, void 0, function* () {\n let rawMsgs = [];\n if (merchantId.value != '') {\n rawMsgs = yield supabaseService.getChatMessages(merchantId.value);\n }\n else {\n uni.__f__('warn', 'at pages/mall/consumer/chat.uvue:322', \"No merchant ID provided for chat\");\n return Promise.resolve(null);\n }\n // 确保时间顺序是升序(旧的在前,新的在后)\n // Supabase 返回的消息如果是降序,我们需要 reverse 过来显示\n const sortedRawMsgs = rawMsgs.sort((a, b) => {\n var _a, _b;\n const timeA = new Date((_a = a.created_at) !== null && _a !== void 0 ? _a : '').getTime();\n const timeB = new Date((_b = b.created_at) !== null && _b !== void 0 ? _b : '').getTime();\n return timeA - timeB;\n });\n const uiMessages = [];\n for (let i = 0; i < sortedRawMsgs.length; i++) {\n const m = sortedRawMsgs[i];\n const date = new Date((_a = m.created_at) !== null && _a !== void 0 ? _a : new Date().toISOString());\n const timeStr = `${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`;\n const sender = (_b = m.sender_id) !== null && _b !== void 0 ? _b : '';\n const msgType = (currentUserId.value != '' && sender == currentUserId.value) ? 'sent' : 'received';\n const rawId = ((_c = m.id) !== null && _c !== void 0 ? _c : '').toString();\n const msgId = rawId != '' ? rawId : Date.now().toString() + i.toString();\n const safeViewId = 'msg_' + msgId.replace(/[^a-zA-Z0-9]/g, '_');\n const uiMsg = new UiChatMessage({\n id: msgId,\n viewId: safeViewId,\n type: msgType,\n content: (_d = m.content) !== null && _d !== void 0 ? _d : '',\n time: timeStr,\n msgType: (_g = m.msg_type) !== null && _g !== void 0 ? _g : 'text'\n });\n uiMessages.push(uiMsg);\n }\n messages.value = uiMessages;\n if (isInitialLoading.value) {\n // 增加一点初始化延迟,等待 scroll-view 渲染就绪\n setTimeout(() => {\n scrollToBottom();\n isInitialLoading.value = false;\n }, 500);\n }\n });\n }\n function onScrollToUpper(e = null) {\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:368', '[onScrollToUpper] 触发加载历史记录');\n }\n function loadMerchantInfo() {\n return __awaiter(this, void 0, void 0, function* () {\n if (merchantId.value == '')\n return Promise.resolve(null);\n try {\n const response = yield supa\n .from('ml_shops')\n .select('shop_logo, shop_name')\n .eq('merchant_id', merchantId.value)\n .limit(1)\n .execute();\n if (response.error != null) {\n uni.__f__('error', 'at pages/mall/consumer/chat.uvue:383', '[loadMerchantInfo] 获取商家信息失败:', response.error);\n return Promise.resolve(null);\n }\n const rawData = response.data;\n if (rawData == null)\n return Promise.resolve(null);\n const rawList = rawData;\n if (rawList.length == 0)\n return Promise.resolve(null);\n const shopData = rawList[0];\n const shopObj = UTS.JSON.parse(UTS.JSON.stringify(shopData));\n const logo = shopObj.getString('shop_logo');\n if (logo != null && logo != '') {\n merchantAvatar.value = logo;\n }\n const name = shopObj.getString('shop_name');\n if (name != null && name != '' && headerTitle.value == '在线客服') {\n headerTitle.value = name;\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/chat.uvue:406', '[loadMerchantInfo] 获取商家信息异常:', e);\n }\n });\n }\n // 生命周期\n onLoad((options = null) => {\n var _a, _b;\n // 动态获取状态栏高度\n const sysInfo = uni.getSystemInfoSync();\n const statusBarH = sysInfo.statusBarHeight;\n // 状态栏高度 + 10px 原有顶部内边距\n navPaddingTop.value = (statusBarH + 10) + 'px';\n const optObj = (UTS.isInstanceOf(options, UTSJSONObject)) ? options : UTS.JSON.parse(UTS.JSON.stringify(options !== null && options !== void 0 ? options : new UTSJSONObject({})));\n const mid = (_a = optObj.getString('merchantId')) !== null && _a !== void 0 ? _a : '';\n if (mid !== '') {\n merchantId.value = mid;\n }\n const mname = (_b = optObj.getString('merchantName')) !== null && _b !== void 0 ? _b : '';\n if (mname !== '') {\n headerTitle.value = mname;\n }\n });\n onMounted(() => {\n supabaseService.ensureSession().then((uid = null) => {\n if (uid != null) {\n currentUserId.value = uid;\n }\n else {\n getCurrentUser().then((user = null) => {\n var _a;\n if (user != null) {\n currentUserId.value = (_a = user.id) !== null && _a !== void 0 ? _a : '';\n }\n });\n }\n loadMerchantInfo();\n loadChatHistory();\n setupRealtimeSubscription();\n });\n });\n onUnmounted(() => {\n if (realtimeChannel != null) {\n supa.removeChannel(realtimeChannel);\n }\n });\n const sendMessage = () => { return __awaiter(this, void 0, void 0, function* () {\n const content = inputMessage.value.trim();\n if (content == '')\n return Promise.resolve(null);\n // 清空输入框\n inputMessage.value = '';\n // 发送消息时确保收起表情面板\n showEmoji.value = false;\n // 发送到 Supabase\n if (merchantId.value != '') {\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:464', '[sendMessage] 开始发送消息到:', merchantId.value);\n const success = yield supabaseService.sendMessage(merchantId.value, content);\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:466', '[sendMessage] 发送结果:', success);\n if (!success) {\n uni.showToast({\n title: '发送失败',\n icon: 'none'\n });\n }\n // 不需要手动添加消息,等待实时订阅推送\n }\n }); };\n // 模拟客服回复 (已禁用,改用 Realtime)\n /*\n const simulateCustomerReply = async () => {\n // ...\n }\n */\n /* 移除不再使用的 simulateCustomerReply 和 addReceivedMessage */\n // 插入表情\n function insertEmoji(emoji) {\n inputMessage.value += emoji;\n showEmoji.value = false; // 选中表情后收起表情列表\n inputFocus.value = true;\n }\n // 显示表情选择器\n function showEmojiPicker() {\n showEmoji.value = !showEmoji.value;\n if (showEmoji.value) {\n // 如果打开表情,通常需要收起键盘\n uni.hideKeyboard();\n }\n }\n // 执行图片上传\n function doUploadImage(filePath) {\n return __awaiter(this, void 0, void 0, function* () {\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:504', '[doUploadImage] 开始上传图片:', filePath);\n // 显示加载提示\n uni.showLoading({\n title: '发送中...',\n mask: true\n });\n try {\n // 上传图片\n const imageUrl = yield supabaseService.uploadChatImage(filePath);\n uni.hideLoading();\n if (imageUrl == '') {\n uni.showToast({\n title: '图片上传失败',\n icon: 'none'\n });\n return Promise.resolve(null);\n }\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:526', '[doUploadImage] 图片上传成功:', imageUrl);\n // 发送图片消息\n const success = yield supabaseService.sendMessage(merchantId.value, imageUrl, 'image');\n if (!success) {\n uni.showToast({\n title: '发送失败',\n icon: 'none'\n });\n }\n }\n catch (e) {\n uni.hideLoading();\n uni.__f__('error', 'at pages/mall/consumer/chat.uvue:538', '[doUploadImage] 上传异常:', e);\n uni.showToast({\n title: '上传失败',\n icon: 'none'\n });\n }\n });\n }\n // 显示图片选择器\n function showImagePicker() {\n uni.chooseImage(new UTSJSONObject({\n count: 1,\n success: (res) => {\n var _a, _b, _c;\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:551', '选择图片成功:', UTS.JSON.stringify(res));\n // 处理 tempFilePaths,兼容不同平台\n let filePath = '';\n const tempFilePaths = res.tempFilePaths;\n if (tempFilePaths != null) {\n if (Array.isArray(tempFilePaths)) {\n const arr = tempFilePaths;\n if (arr.length > 0) {\n filePath = arr[0];\n }\n }\n else if (UTS.isInstanceOf(tempFilePaths, UTSJSONObject)) {\n const keys = UTSJSONObject.keys(tempFilePaths);\n if (keys.length > 0) {\n filePath = (_a = tempFilePaths.getString(keys[0])) !== null && _a !== void 0 ? _a : '';\n }\n }\n else if (typeof tempFilePaths === 'string') {\n filePath = tempFilePaths;\n }\n }\n // 尝试从 tempFiles 获取\n if (filePath == '' && res.tempFiles != null) {\n const tempFiles = res.tempFiles;\n if (Array.isArray(tempFiles)) {\n const files = tempFiles;\n if (files.length > 0) {\n const firstFile = files[0];\n if (UTS.isInstanceOf(firstFile, UTSJSONObject)) {\n filePath = (_b = firstFile.getString('path')) !== null && _b !== void 0 ? _b : '';\n }\n else if (typeof firstFile === 'object' && firstFile != null) {\n const fileObj = UTS.JSON.parse(UTS.JSON.stringify(firstFile));\n filePath = (_c = fileObj.getString('path')) !== null && _c !== void 0 ? _c : '';\n }\n }\n }\n }\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:589', '[showImagePicker] 文件路径:', filePath);\n if (filePath == '') {\n uni.showToast({\n title: '获取图片路径失败',\n icon: 'none'\n });\n return null;\n }\n // 执行上传\n doUploadImage(filePath);\n },\n fail: (err) => {\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:603', '选择图片失败:', err);\n uni.showToast({\n title: '选择图片失败',\n icon: 'none'\n });\n }\n }));\n }\n // 预览图片\n function previewImage(url) {\n uni.previewImage({\n urls: [url],\n current: url\n });\n }\n // 显示更多工具\n function showMoreTools() {\n uni.showActionSheet({\n itemList: ['发送位置', '发送文件', '发送语音'],\n success: (res) => {\n uni.__f__('log', 'at pages/mall/consumer/chat.uvue:625', '选择工具:', res.tapIndex);\n }\n });\n }\n // 显示更多操作\n function showMoreActions() {\n uni.showActionSheet({\n itemList: ['投诉客服', '结束对话', '清除记录'],\n success: (res) => {\n switch (res.tapIndex) {\n case 0:\n uni.navigateTo({ url: '/pages/mall/consumer/complaint' });\n break;\n case 1:\n uni.showModal(new UTSJSONObject({\n title: '确认结束',\n content: '确定要结束本次对话吗?',\n success: (res) => {\n if (res.confirm) {\n uni.navigateBack();\n }\n }\n }));\n break;\n case 2:\n uni.showModal(new UTSJSONObject({\n title: '确认清除',\n content: '确定要清除聊天记录吗?',\n success: (res) => {\n if (res.confirm) {\n messages.value = [];\n }\n }\n }));\n break;\n }\n }\n });\n }\n // 返回\n const goBack = () => {\n uni.navigateBack();\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _o(goBack),\n b: _t(headerTitle.value),\n c: _o(showMoreActions),\n d: navPaddingTop.value,\n e: _f(messages.value, (message, k0, i0) => {\n return _e({\n a: message.type === 'received'\n }, message.type === 'received' ? _e({\n b: merchantAvatar.value,\n c: _t(headerTitle.value),\n d: message.msgType == 'image'\n }, message.msgType == 'image' ? {\n e: message.content,\n f: _o($event => { return previewImage(message.content); }, message.id)\n } : {}, {\n g: message.msgType != 'image'\n }, message.msgType != 'image' ? {\n h: _t(message.content)\n } : {}, {\n i: _t(message.time)\n }) : _e({\n j: message.msgType == 'image'\n }, message.msgType == 'image' ? {\n k: message.content,\n l: _o($event => { return previewImage(message.content); }, message.id)\n } : {}, {\n m: message.msgType != 'image'\n }, message.msgType != 'image' ? {\n n: _t(message.content)\n } : {}, {\n o: _t(message.time),\n p: _imports_0\n }), {\n q: _sei(message.viewId, 'view'),\n r: message.id,\n s: _n(message.type)\n });\n }),\n f: scrollToView.value,\n g: _o(onScrollToUpper),\n h: _o(showEmojiPicker),\n i: _o(showImagePicker),\n j: _o(showMoreTools),\n k: inputFocus.value,\n l: _o(sendMessage),\n m: inputMessage.value,\n n: _o($event => { return inputMessage.value = $event.detail.value; }),\n o: inputMessage.value.trim() ? 1 : '',\n p: _o(sendMessage),\n q: showEmoji.value\n }, showEmoji.value ? {\n r: _f(emojiList, (emoji, k0, i0) => {\n return {\n a: _t(emoji),\n b: emoji,\n c: _o($event => { return insertEmoji(emoji); }, emoji)\n };\n })\n } : {}, {\n s: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/chat.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__","uni.getSystemInfoSync","uni.showToast","uni.hideKeyboard","uni.showLoading","uni.hideLoading","uni.chooseImage","uni.previewImage","uni.showActionSheet","uni.navigateTo","uni.navigateBack","uni.showModal"],"map":"{\"version\":3,\"file\":\"chat.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"chat.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/14726a60616208809d92077d658c5d9c002c5809 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/14726a60616208809d92077d658c5d9c002c5809 deleted file mode 100644 index fbec066d..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/14726a60616208809d92077d658c5d9c002c5809 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, toDisplayString as _toDisplayString, t as _t, n as _n, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { onLoad, onShow } from '@dcloudio/uni-app';\nimport supabaseService from \"@/utils/supabaseService\";\nimport { Product } from \"@/utils/supabaseService\";\nclass LocalCategory extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n icon: { type: String, optional: false },\n description: { type: String, optional: false },\n color: { type: String, optional: false }\n };\n },\n name: \"LocalCategory\"\n };\n }\n constructor(options, metadata = LocalCategory.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.icon = this.__props__.icon;\n this.description = this.__props__.description;\n this.color = this.__props__.color;\n delete this.__props__;\n }\n}\nclass CapsuleButtonInfo extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n left: { type: Number, optional: false },\n top: { type: Number, optional: false },\n right: { type: Number, optional: false },\n bottom: { type: Number, optional: false },\n width: { type: Number, optional: false },\n height: { type: Number, optional: false }\n };\n },\n name: \"CapsuleButtonInfo\"\n };\n }\n constructor(options, metadata = CapsuleButtonInfo.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.left = this.__props__.left;\n this.top = this.__props__.top;\n this.right = this.__props__.right;\n this.bottom = this.__props__.bottom;\n this.width = this.__props__.width;\n this.height = this.__props__.height;\n delete this.__props__;\n }\n}\n// 小程序胶囊按钮信息\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'category',\n setup(__props) {\n const statusBarHeight = ref(0);\n const headerHeight = ref(44);\n // 小程序胶囊按钮信息类型\n const capsuleButtonInfo = ref(null);\n const navBarRight = ref(0); // 导航栏右侧预留空间\n const primaryCategories = ref([]);\n const subCategories = ref([]); // 二级分类列表\n const productList = ref([]);\n const activePrimary = ref('');\n const activeSubCategory = ref(''); // 当前选中的二级分类\n const selectedParentId = ref(''); // 当前选中的一级分类ID(用于高亮显示)\n const cartCount = ref(3);\n const hasMore = ref(true);\n const hasLoadedFromParams = ref(false);\n const currentPage = ref(1);\n const loading = ref(false);\n const scrollTop = ref(0);\n const pendingCategoryId = ref(''); // 待处理的分类ID(从其他页面跳转过来时暂存)\n // 获取当前分类信息\n const currentCategoryName = ref('');\n const currentCategoryDesc = ref('');\n // 页面参数\n const pageParams = ref(new UTSJSONObject({}));\n // 加载商品数据\n function loadProducts() {\n return __awaiter(this, void 0, void 0, function* () {\n if (loading.value)\n return Promise.resolve(null);\n if (activePrimary.value == '') {\n uni.__f__('warn', 'at pages/main/category.uvue:182', 'activePrimary为空,无法加载商品');\n return Promise.resolve(null);\n }\n loading.value = true;\n try {\n uni.__f__('log', 'at pages/main/category.uvue:188', '开始加载商品,分类ID:', activePrimary.value, '页码:', currentPage.value);\n const response = yield supabaseService.getProductsByCategory(activePrimary.value, currentPage.value);\n uni.__f__('log', 'at pages/main/category.uvue:190', '商品加载结果:', new UTSJSONObject({\n dataCount: response.data.length,\n total: response.total,\n hasmore: response.hasmore,\n page: currentPage.value\n }));\n if (currentPage.value == 1) {\n productList.value = response.data;\n }\n else {\n productList.value.push(...response.data);\n }\n hasMore.value = response.hasmore;\n // 更新当前分类信息 - 先在一级分类中查找,再在二级分类中查找\n let foundCat = null;\n for (let i = 0; i < primaryCategories.value.length; i++) {\n if (primaryCategories.value[i].id == activePrimary.value) {\n foundCat = primaryCategories.value[i];\n break;\n }\n }\n if (foundCat == null) {\n for (let i = 0; i < subCategories.value.length; i++) {\n if (subCategories.value[i].id == activePrimary.value) {\n foundCat = subCategories.value[i];\n break;\n }\n }\n }\n if (foundCat != null) {\n currentCategoryName.value = foundCat.name;\n currentCategoryDesc.value = foundCat.description;\n }\n uni.__f__('log', 'at pages/main/category.uvue:226', '商品列表加载完成,当前总数量:', productList.value.length);\n }\n catch (error) {\n uni.__f__('error', 'at pages/main/category.uvue:228', '加载商品数据失败:', error);\n if (currentPage.value == 1) {\n productList.value = [];\n }\n }\n finally {\n loading.value = false;\n }\n });\n }\n // 加载二级分类\n function loadSubCategories(parentId) {\n return __awaiter(this, void 0, void 0, function* () {\n uni.__f__('log', 'at pages/main/category.uvue:239', '加载二级分类,父级ID:', parentId);\n try {\n const subCats = yield supabaseService.getSubCategories(parentId);\n uni.__f__('log', 'at pages/main/category.uvue:242', '获取到二级分类数量:', subCats.length);\n const categories = [];\n for (let i = 0; i < subCats.length; i++) {\n const cat = subCats[i];\n categories.push(new LocalCategory({\n id: cat.id,\n name: cat.name,\n icon: cat.icon,\n description: cat.description,\n color: cat.color\n }));\n }\n subCategories.value = categories;\n }\n catch (e) {\n uni.__f__('error', 'at pages/main/category.uvue:257', '加载二级分类失败:', e);\n subCategories.value = [];\n }\n });\n }\n // 判断一级分类是否选中\n function isPrimaryActive(categoryId) {\n return selectedParentId.value == categoryId;\n }\n // 判断二级分类是否选中\n function isSubActive(subCategoryId) {\n return activeSubCategory.value == subCategoryId || activePrimary.value == subCategoryId;\n }\n // 获取一级分类的背景色\n function getPrimaryItemBgColor(item) {\n if (isPrimaryActive(item.id)) {\n return item.color;\n }\n return 'transparent';\n }\n // 选择二级分类\n function selectSubCategory(subCategoryId) {\n return __awaiter(this, void 0, void 0, function* () {\n uni.__f__('log', 'at pages/main/category.uvue:282', '选择二级分类:', subCategoryId);\n activeSubCategory.value = subCategoryId;\n // 使用二级分类ID加载商品\n currentPage.value = 1;\n hasMore.value = true;\n activePrimary.value = subCategoryId; // 临时设置为二级分类ID用于加载商品\n yield loadProducts();\n });\n }\n // 选择一级分类 - 必须在 loadCategories 之前定义\n // originalCategoryId: 可能是一级分类ID,也可能是二级分类ID\n function selectPrimaryCategory(originalCategoryId) {\n return __awaiter(this, void 0, void 0, function* () {\n uni.__f__('log', 'at pages/main/category.uvue:295', '=== selectPrimaryCategory函数开始执行 ===');\n uni.__f__('log', 'at pages/main/category.uvue:296', '传入的categoryId:', originalCategoryId);\n if (originalCategoryId == '') {\n uni.__f__('error', 'at pages/main/category.uvue:299', 'categoryId为空,尝试使用第一个分类');\n if (primaryCategories.value.length > 0) {\n originalCategoryId = primaryCategories.value[0].id;\n }\n else {\n uni.__f__('error', 'at pages/main/category.uvue:303', '没有可用的分类');\n return Promise.resolve(null);\n }\n }\n // 检查传入的是否是一级分类ID\n let targetParentId = originalCategoryId;\n let targetSubId = '';\n uni.__f__('log', 'at pages/main/category.uvue:311', '当前一级分类列表长度:', primaryCategories.value.length);\n let foundInPrimary = null;\n for (let i = 0; i < primaryCategories.value.length; i++) {\n if (primaryCategories.value[i].id == originalCategoryId) {\n foundInPrimary = primaryCategories.value[i];\n break;\n }\n }\n uni.__f__('log', 'at pages/main/category.uvue:319', '在一级分类中查找结果:', foundInPrimary != null);\n if (foundInPrimary == null) {\n // 传入的可能是二级分类ID,需要查找其父级分类\n uni.__f__('log', 'at pages/main/category.uvue:323', '传入的ID不在一级分类中,可能是二级分类ID,尝试查找父级分类');\n // 从服务器获取分类信息以确定父级\n try {\n const categoryInfo = yield supabaseService.getCategoryById(originalCategoryId);\n if (categoryInfo != null && categoryInfo.parent_id != null && categoryInfo.parent_id != '') {\n uni.__f__('log', 'at pages/main/category.uvue:329', '找到父级分类ID:', categoryInfo.parent_id);\n // 检查父级分类ID是否在一级分类列表中\n uni.__f__('log', 'at pages/main/category.uvue:332', '查找父级分类ID:', categoryInfo.parent_id);\n let parentInPrimary = null;\n for (let i = 0; i < primaryCategories.value.length; i++) {\n if (primaryCategories.value[i].id == categoryInfo.parent_id) {\n parentInPrimary = primaryCategories.value[i];\n break;\n }\n }\n uni.__f__('log', 'at pages/main/category.uvue:340', '父级分类查找结果:', parentInPrimary != null);\n if (parentInPrimary != null) {\n uni.__f__('log', 'at pages/main/category.uvue:342', '父级分类在列表中找到:', parentInPrimary.name);\n targetParentId = categoryInfo.parent_id;\n targetSubId = originalCategoryId; // 记住要选中的二级分类\n }\n else {\n uni.__f__('log', 'at pages/main/category.uvue:346', '父级分类不在列表中,使用第一个分类');\n // 打印当前列表中的所有分类ID\n for (let i = 0; i < primaryCategories.value.length; i++) {\n uni.__f__('log', 'at pages/main/category.uvue:349', '列表中的分类:', primaryCategories.value[i].id, primaryCategories.value[i].name);\n }\n if (primaryCategories.value.length > 0) {\n targetParentId = primaryCategories.value[0].id;\n }\n }\n }\n else {\n uni.__f__('log', 'at pages/main/category.uvue:356', '未找到父级分类,使用第一个分类');\n if (primaryCategories.value.length > 0) {\n targetParentId = primaryCategories.value[0].id;\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/main/category.uvue:362', '获取分类信息失败:', e);\n if (primaryCategories.value.length > 0) {\n targetParentId = primaryCategories.value[0].id;\n }\n }\n }\n uni.__f__('log', 'at pages/main/category.uvue:369', '最终选中的一级分类ID:', targetParentId);\n uni.__f__('log', 'at pages/main/category.uvue:370', '需要选中的二级分类ID:', targetSubId);\n // 设置一级分类高亮\n selectedParentId.value = targetParentId;\n activePrimary.value = targetParentId;\n // 加载二级分类\n yield loadSubCategories(targetParentId);\n // 如果有要选中的二级分类\n if (targetSubId != '') {\n activeSubCategory.value = targetSubId;\n }\n else {\n // 如果没有指定二级分类,但有二级分类列表,默认选中第一个\n if (subCategories.value.length > 0) {\n activeSubCategory.value = subCategories.value[0].id;\n targetSubId = subCategories.value[0].id;\n uni.__f__('log', 'at pages/main/category.uvue:387', '默认选中第一个二级分类:', subCategories.value[0].name);\n }\n else {\n activeSubCategory.value = '';\n }\n }\n // 自动滚动到选中位置\n let foundIndex = -1;\n for (let i = 0; i < primaryCategories.value.length; i++) {\n if (primaryCategories.value[i].id == targetParentId) {\n foundIndex = i;\n break;\n }\n }\n if (foundIndex != -1) {\n // 获取系统信息\n const systemInfo = uni.getSystemInfoSync();\n let itemHeight = 70;\n if (systemInfo.windowWidth > 1025) {\n itemHeight = 80;\n }\n const scrollViewHeight = systemInfo.windowHeight - systemInfo.statusBarHeight - 44;\n const targetScrollTop = (foundIndex * itemHeight) - (scrollViewHeight / 2) + (itemHeight / 2);\n scrollTop.value = Math.max(0, targetScrollTop);\n uni.__f__('log', 'at pages/main/category.uvue:413', `滚动左侧菜单: index=${foundIndex}, target=${scrollTop.value}`);\n }\n // 查找分类信息\n let foundCategory = null;\n for (let i = 0; i < primaryCategories.value.length; i++) {\n if (primaryCategories.value[i].id == targetParentId) {\n foundCategory = primaryCategories.value[i];\n break;\n }\n }\n if (foundCategory != null) {\n currentCategoryName.value = foundCategory.name;\n currentCategoryDesc.value = foundCategory.description;\n }\n else {\n uni.__f__('log', 'at pages/main/category.uvue:428', '分类信息未找到,使用第一个分类的信息');\n if (primaryCategories.value.length > 0) {\n const firstCategory = primaryCategories.value[0];\n currentCategoryName.value = firstCategory.name;\n currentCategoryDesc.value = firstCategory.description;\n }\n }\n currentPage.value = 1;\n hasMore.value = true;\n // 如果有选中的二级分类,使用二级分类ID加载商品;否则使用一级分类ID\n const categoryIdForProducts = (targetSubId != '') ? targetSubId : targetParentId;\n activePrimary.value = categoryIdForProducts; // 临时设置为要加载的分类ID\n yield loadProducts();\n });\n }\n function loadCategories() {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // 只获取一级分类(parent_id 为 null 的分类)\n const categoriesData = yield supabaseService.getParentCategories();\n uni.__f__('log', 'at pages/main/category.uvue:449', '加载一级分类数据成功,数量:', categoriesData.length);\n // 映射数据并添加默认颜色,防止选中时背景透明导致文字看不清\n // 过滤掉医药健康相关分类\n const categories = [];\n for (let i = 0; i < categoriesData.length; i++) {\n const cat = categoriesData[i];\n const name = cat.name;\n uni.__f__('log', 'at pages/main/category.uvue:457', '一级分类:', cat.id, name);\n if (name.includes('医药') || name.includes('健康')) {\n uni.__f__('log', 'at pages/main/category.uvue:459', '过滤掉分类:', name);\n continue;\n }\n categories.push(new LocalCategory({\n id: cat.id,\n name: cat.name,\n icon: cat.icon,\n description: cat.description,\n color: cat.color\n }));\n }\n uni.__f__('log', 'at pages/main/category.uvue:471', '最终一级分类列表数量:', categories.length);\n if (categories.length > 0) {\n primaryCategories.value = categories;\n // 检查是否有待处理的分类ID(从其他页面跳转过来时暂存)\n if (pendingCategoryId.value != '') {\n uni.__f__('log', 'at pages/main/category.uvue:478', '发现待处理的分类ID:', pendingCategoryId.value);\n // 直接调用 selectPrimaryCategory,它会处理一级或二级分类ID\n const idToSelect = pendingCategoryId.value;\n pendingCategoryId.value = ''; // 清除暂存\n selectPrimaryCategory(idToSelect);\n return Promise.resolve(null);\n }\n // 检查是否有预设的分类ID\n if (activePrimary.value != '') {\n uni.__f__('log', 'at pages/main/category.uvue:488', '有预设的分类ID:', activePrimary.value);\n const target = UTS.arrayFind(categories, (c) => { return c.id == activePrimary.value; });\n if (target != null) {\n uni.__f__('log', 'at pages/main/category.uvue:491', '找到目标分类,执行选中:', target.name);\n selectPrimaryCategory(activePrimary.value);\n return Promise.resolve(null);\n }\n }\n // 默认选中第一个分类或\"厨具\"分类\n const defaultCategory = (_a = UTS.arrayFind(categories, (c) => { return c.name.includes('厨具'); })) !== null && _a !== void 0 ? _a : categories[0];\n if (defaultCategory != null) {\n uni.__f__('log', 'at pages/main/category.uvue:500', '设置默认分类:', defaultCategory.name);\n selectPrimaryCategory(defaultCategory.id);\n }\n }\n else {\n uni.__f__('warn', 'at pages/main/category.uvue:504', '从Supabase获取的分类数据为空');\n }\n }\n catch (error) {\n uni.__f__('error', 'at pages/main/category.uvue:507', '加载分类数据失败:', error);\n }\n });\n }\n // 加载更多\n function loadMore() {\n if (hasMore.value && !loading.value) {\n currentPage.value++;\n loadProducts();\n }\n }\n // 生命周期\n onMounted(() => {\n loadCategories().then(() => {\n setTimeout(() => {\n if (!hasLoadedFromParams.value && activePrimary.value != '') {\n loadProducts();\n }\n }, 300);\n });\n });\n // 页面显示时检查是否有参数传递过来\n onShow(() => {\n uni.__f__('log', 'at pages/main/category.uvue:532', '=== category页面onShow被调用 ===');\n // 检查是否有存储的分类选择\n const savedCategoryId = uni.getStorageSync('selectedCategory');\n uni.__f__('log', 'at pages/main/category.uvue:536', 'onShow检查Storage:', savedCategoryId);\n if (savedCategoryId != null && savedCategoryId != '') {\n const targetId = savedCategoryId;\n uni.__f__('log', 'at pages/main/category.uvue:540', 'onShow发现存储的分类ID:', targetId);\n // 清除存储,避免下次进入默认选中\n uni.removeStorageSync('selectedCategory');\n // 确保分类数据已加载\n if (primaryCategories.value.length > 0) {\n // 如果当前未选中或选中的不是目标分类,则切换\n if (activePrimary.value != targetId) {\n uni.__f__('log', 'at pages/main/category.uvue:549', 'onShow执行切换分类:', targetId);\n selectPrimaryCategory(targetId);\n }\n else {\n uni.__f__('log', 'at pages/main/category.uvue:552', '当前已是目标分类:', targetId);\n }\n }\n else {\n // 如果分类数据未加载,暂存ID,等待loadCategories完成后处理\n uni.__f__('log', 'at pages/main/category.uvue:556', '分类数据尚未加载,暂存ID等待加载');\n pendingCategoryId.value = targetId;\n }\n }\n });\n // 页面加载时处理参数 - 这是处理分类切换的主要入口\n onLoad((options = null) => {\n var _a, _b, _c, _d, _g;\n const systemInfo = uni.getSystemInfoSync();\n statusBarHeight.value = systemInfo.statusBarHeight;\n // 获取小程序胶囊按钮信息\n try {\n const menuButton = uni.getMenuButtonBoundingClientRect();\n if (menuButton != null) {\n capsuleButtonInfo.value = {\n left: menuButton.left,\n top: menuButton.top,\n right: menuButton.right,\n bottom: menuButton.bottom,\n width: menuButton.width,\n height: menuButton.height\n };\n navBarRight.value = (systemInfo.screenWidth - menuButton.left) + 10;\n }\n }\n catch (e) {\n uni.__f__('log', 'at pages/main/category.uvue:582', '获取胶囊按钮信息失败', e);\n navBarRight.value = 90;\n }\n uni.__f__('log', 'at pages/main/category.uvue:587', '=== category页面onLoad被调用 ===');\n let categoryId = '';\n let categoryName = '';\n // 首先检查传入的options参数\n const optObj = (UTS.isInstanceOf(options, UTSJSONObject)) ? options : UTS.JSON.parse(UTS.JSON.stringify(options !== null && options !== void 0 ? options : new UTSJSONObject({})));\n const optCategoryId = (_a = optObj.getString('categoryId')) !== null && _a !== void 0 ? _a : '';\n if (optCategoryId !== '') {\n categoryId = optCategoryId;\n categoryName = (_b = optObj.getString('name')) !== null && _b !== void 0 ? _b : '';\n uni.__f__('log', 'at pages/main/category.uvue:598', '✅ onLoad中找到分类参数:', categoryId, categoryName);\n }\n // 如果options中没有,尝试从getCurrentPages()获取\n if (categoryId == '') {\n const pages = getCurrentPages();\n if (pages.length > 0) {\n const currentPage_1 = pages[pages.length - 1];\n const rawPageOptions = (_c = currentPage_1.options) !== null && _c !== void 0 ? _c : new UTSJSONObject({});\n uni.__f__('log', 'at pages/main/category.uvue:607', '从getCurrentPages()获取参数:', rawPageOptions);\n const pageOptObj = (UTS.isInstanceOf(rawPageOptions, UTSJSONObject)) ? rawPageOptions : UTS.JSON.parse(UTS.JSON.stringify(rawPageOptions));\n const pageCategoryId = (_d = pageOptObj.getString('categoryId')) !== null && _d !== void 0 ? _d : '';\n if (pageCategoryId !== '') {\n categoryId = pageCategoryId;\n categoryName = (_g = pageOptObj.getString('name')) !== null && _g !== void 0 ? _g : '';\n uni.__f__('log', 'at pages/main/category.uvue:613', '✅ 从getCurrentPages()找到分类参数:', categoryId, categoryName);\n }\n }\n }\n // 如果有找到分类ID,则选中对应的分类\n if (categoryId != '') {\n hasLoadedFromParams.value = true;\n uni.__f__('log', 'at pages/main/category.uvue:621', '✅ 准备选中分类:', categoryId);\n uni.__f__('log', 'at pages/main/category.uvue:622', '分类名称:', categoryName !== null && categoryName !== void 0 ? categoryName : '未指定');\n // 检查是否需要更新分类\n if (activePrimary.value !== categoryId) {\n uni.__f__('log', 'at pages/main/category.uvue:626', '当前分类:', activePrimary.value, '与目标分类:', categoryId, '不同,需要更新');\n uni.__f__('log', 'at pages/main/category.uvue:627', '准备调用selectPrimaryCategory函数...');\n selectPrimaryCategory(categoryId);\n }\n else {\n uni.__f__('log', 'at pages/main/category.uvue:630', '当前分类已经是目标分类,但可能用户想要刷新页面');\n uni.__f__('log', 'at pages/main/category.uvue:631', '当前分类:', activePrimary.value, '目标分类:', categoryId);\n // 即使分类相同,也重新加载数据,确保数据是最新的\n // 添加一个小的延迟,确保页面完全显示后再更新数据\n setTimeout(() => {\n selectPrimaryCategory(categoryId);\n }, 100);\n }\n }\n else {\n uni.__f__('log', 'at pages/main/category.uvue:639', '⚠️ onLoad中未找到分类参数,将使用从数据库加载的第一个分类');\n // 不再使用硬编码的默认分类,loadCategories 会设置第一个分类\n }\n uni.__f__('log', 'at pages/main/category.uvue:643', '=== category页面onLoad执行完成 ===');\n });\n // 添加到购物车\n function addToCart(product) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n uni.showLoading({ title: '检查商品...' });\n try {\n const pid = ((_a = product.id) !== null && _a !== void 0 ? _a : '').toString();\n const merchantId = (_b = product.merchant_id) !== null && _b !== void 0 ? _b : '';\n if (pid === '') {\n uni.hideLoading();\n uni.showToast({ title: '商品无效', icon: 'none' });\n return Promise.resolve(null);\n }\n // 检查商品是否有SKU\n const skus = yield supabaseService.getProductSkus(pid);\n uni.hideLoading();\n if (skus.length > 0) {\n // 有规格,提示并跳转到商品详情页选择规格\n uni.showToast({\n title: '请选择规格',\n icon: 'none'\n });\n setTimeout(() => {\n uni.navigateTo({\n url: '/pages/mall/consumer/product-detail?id=' + pid\n });\n }, 500);\n }\n else {\n // 无规格,直接加入购物车\n uni.showLoading({ title: '添加中...' });\n const success = yield supabaseService.addToCart(pid, 1, '', merchantId);\n uni.hideLoading();\n if (success) {\n uni.showToast({\n title: '已添加到购物车',\n icon: 'success'\n });\n cartCount.value++;\n }\n else {\n uni.showToast({\n title: '添加失败,请先登录',\n icon: 'none'\n });\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/main/category.uvue:693', '添加到购物车异常', e);\n uni.hideLoading();\n uni.showToast({ title: '操作失败', icon: 'none' });\n }\n });\n }\n // 导航函数\n function navigateToSearch() { uni.navigateTo({ url: '/pages/mall/consumer/search' }); }\n function navigateToCart() { uni.navigateTo({ url: '/pages/main/cart' }); }\n function navigateToProduct(product) {\n var _a, _b, _c, _d, _g;\n const id = ((_a = product.id) !== null && _a !== void 0 ? _a : '').toString();\n if (id === '')\n return null;\n const price = ((_b = product.base_price) !== null && _b !== void 0 ? _b : 0).toString();\n const originalPrice = ((_c = product.market_price) !== null && _c !== void 0 ? _c : '').toString();\n const name = encodeURIComponent((_d = product.name) !== null && _d !== void 0 ? _d : '');\n const image = encodeURIComponent((_g = product.main_image_url) !== null && _g !== void 0 ? _g : '');\n uni.navigateTo({\n url: `/pages/mall/consumer/product-detail?id=${id}&productId=${id}&price=${price}&originalPrice=${originalPrice}&name=${name}&image=${image}`\n });\n }\n // 相机功能\n function onCamera() {\n uni.chooseImage(new UTSJSONObject({\n count: 1,\n sourceType: ['camera'],\n success: (res) => {\n uni.__f__('log', 'at pages/main/category.uvue:721', '相机拍摄成功:', res.tempFilePaths[0]);\n uni.showToast({\n title: '已拍摄,正在识别...',\n icon: 'loading'\n });\n // 这里可以添加后续的识别逻辑\n setTimeout(() => {\n uni.showToast({\n title: '识别成功',\n icon: 'success'\n });\n }, 1000);\n },\n fail: (err) => {\n uni.__f__('error', 'at pages/main/category.uvue:735', '相机调用失败:', err);\n }\n }));\n }\n // 扫码功能\n function onScan() {\n uni.scanCode(new UTSJSONObject({\n success: (res) => {\n uni.__f__('log', 'at pages/main/category.uvue:744', '扫码成功:', res);\n uni.showToast({\n title: '扫码成功: ' + res.result,\n icon: 'none'\n });\n },\n fail: (err) => {\n uni.__f__('error', 'at pages/main/category.uvue:751', '扫码失败:', err);\n }\n }));\n }\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _o(onScan),\n b: _o(onCamera),\n c: _o(navigateToSearch),\n d: navBarRight.value + 'px',\n e: statusBarHeight.value + 'px',\n f: statusBarHeight.value + 44 + 'px',\n g: _f(primaryCategories.value, (item, k0, i0) => {\n return {\n a: _t(item.icon),\n b: _t(item.name),\n c: item.id,\n d: _n({\n active: isPrimaryActive(item.id)\n }),\n e: _o($event => { return selectPrimaryCategory(item.id); }, item.id),\n f: getPrimaryItemBgColor(item)\n };\n }),\n h: scrollTop.value,\n i: _t(currentCategoryName.value),\n j: _t(currentCategoryDesc.value),\n k: subCategories.value.length > 0\n }, subCategories.value.length > 0 ? {\n l: _f(subCategories.value, (sub, k0, i0) => {\n return {\n a: _t(sub.icon),\n b: _t(sub.name),\n c: sub.id,\n d: _n({\n active: isSubActive(sub.id)\n }),\n e: _o($event => { return selectSubCategory(sub.id); }, sub.id)\n };\n })\n } : {}, {\n m: productList.value.length > 0\n }, productList.value.length > 0 ? {\n n: _f(productList.value, (product, k0, i0) => {\n return {\n a: product.main_image_url,\n b: _t(product.name),\n c: _t(product.base_price ?? product.price ?? 0),\n d: _o($event => { return addToCart(product); }, product.id),\n e: product.id,\n f: _o($event => { return navigateToProduct(product); }, product.id)\n };\n })\n } : loading.value ? {} : {}, {\n o: loading.value,\n p: hasMore.value\n }, hasMore.value ? {} : {}, {\n q: _o(loadMore),\n r: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/main/category.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.__f__","uni.getSystemInfoSync","uni.getStorageSync","uni.removeStorageSync","uni.getMenuButtonBoundingClientRect","uni.showLoading","uni.hideLoading","uni.showToast","uni.navigateTo","uni.chooseImage","uni.scanCode"],"map":"{\"version\":3,\"file\":\"category.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"category.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/15abbd7dab58411da894e1f875438c9bdba0233b b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/15abbd7dab58411da894e1f875438c9bdba0233b deleted file mode 100644 index f0a40f2b..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/15abbd7dab58411da894e1f875438c9bdba0233b +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, toDisplayString as _toDisplayString, t as _t, n as _n, gei as _gei, sei as _sei, s as _s, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport supa from \"@/components/supadb/aksupainstance\";\nimport { IS_TEST_MODE } from \"@/ak/config\";\nimport { getCurrentUser, logout, setIsLoggedIn, setUserProfile } from \"@/utils/store\";\nimport { UserProfile } from \"@/types/mall-types\";\nconst TEST_ACCOUNT = 'test@mall.com';\nconst TEST_PASSWORD = 'Hf2152111';\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'login',\n setup(__props) {\n const cssVars = new UTSJSONObject({\n '--bg': '#f5f6f8',\n '--card': '#ffffff',\n '--brand': '#e1251b',\n '--text': '#333333',\n '--muted': '#666666',\n '--muted2': '#999999',\n '--border': '#eeeeee',\n '--inputbg': '#f6f7f9',\n '--shadow': '0 2px 12px rgba(0,0,0,0.06)'\n });\n const logoUrl = ref('/static/logo.png');\n const loginType = ref(0);\n const account = ref('');\n const password = ref('');\n const captcha = ref('');\n // 测试账号(开发测试用)\n const isLoading = ref(false);\n const codeDisabled = ref(false);\n const codeText = ref('获取验证码');\n const codeTimer = ref(0);\n const codeCountdown = ref(0);\n const checkLoginStatus = () => {\n try {\n if (IS_TEST_MODE)\n return null;\n const sessionInfo = supa.getSession();\n if (sessionInfo != null && sessionInfo.user != null) {\n const pages = getCurrentPages();\n if (pages.length > 0) {\n const currentPage = pages[pages.length - 1];\n const opts = currentPage.options;\n const redirect = opts.getString('redirect');\n if (redirect != null && redirect != '') {\n uni.reLaunch({ url: `/pages/main/index` });\n }\n else {\n uni.reLaunch({ url: '/pages/main/index' });\n }\n }\n else {\n uni.reLaunch({ url: '/pages/main/index' });\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/user/login.uvue:194', '检查登录状态失败:', e);\n }\n };\n onMounted(() => {\n checkLoginStatus();\n // 自动填充测试账号密码\n account.value = TEST_ACCOUNT;\n password.value = TEST_PASSWORD;\n });\n const validateAccount = () => {\n if (account.value.trim() === '') {\n uni.showToast({ title: '请填写账号', icon: 'none' });\n return false;\n }\n if (loginType.value === 1) {\n if (!/^1[3-9]\\d{9}$/.test(account.value)) {\n uni.showToast({ title: '请输入正确的手机号码', icon: 'none' });\n return false;\n }\n }\n return true;\n };\n const validatePassword = () => {\n if (password.value.trim() === '') {\n uni.showToast({ title: '请填写密码', icon: 'none' });\n return false;\n }\n if (password.value.length < 6) {\n uni.showToast({ title: '密码长度不能少于6位', icon: 'none' });\n return false;\n }\n return true;\n };\n const validateCaptcha = () => {\n if (captcha.value.trim() === '') {\n uni.showToast({ title: '请填写验证码', icon: 'none' });\n return false;\n }\n if (!/^\\d{6}$/.test(captcha.value)) {\n uni.showToast({ title: '请输入正确的验证码', icon: 'none' });\n return false;\n }\n return true;\n };\n const getCode = () => { return __awaiter(this, void 0, void 0, function* () {\n if (codeDisabled.value)\n return Promise.resolve(null);\n if (!validateAccount())\n return Promise.resolve(null);\n uni.showToast({ title: '验证码已发送', icon: 'success' });\n codeDisabled.value = true;\n codeCountdown.value = 60;\n codeText.value = `${codeCountdown.value}秒后重试`;\n codeTimer.value = setInterval(() => {\n codeCountdown.value--;\n if (codeCountdown.value > 0) {\n codeText.value = `${codeCountdown.value}秒后重试`;\n }\n else {\n codeDisabled.value = false;\n codeText.value = '获取验证码';\n if (codeTimer.value != 0) {\n clearInterval(codeTimer.value);\n codeTimer.value = 0;\n }\n }\n }, 1000);\n }); };\n const handleLogin = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n if (!validateAccount())\n return Promise.resolve(null);\n // 特殊账号处理:admin/admin 直接跳转\n if (account.value === 'admin' && password.value === 'admin') {\n setIsLoggedIn(true);\n const adminProfile = new UserProfile({\n id: 'admin',\n username: 'Admin',\n email: 'admin@mall.com',\n gender: 'unknown',\n birthday: '',\n height_cm: 0,\n weight_kg: 0,\n bio: 'Administrator',\n avatar_url: '/static/logo.png',\n preferred_language: 'zh-CN',\n role: 'admin',\n school_id: '',\n grade_id: '',\n class_id: ''\n });\n setUserProfile(adminProfile);\n uni.showToast({ title: '管理员登录成功', icon: 'success' });\n setTimeout(() => {\n uni.reLaunch({ url: '/pages/main/index' });\n }, 500);\n return Promise.resolve(null);\n }\n if (loginType.value === 0) {\n if (!validatePassword())\n return Promise.resolve(null);\n }\n else {\n if (!validateCaptcha())\n return Promise.resolve(null);\n }\n isLoading.value = true;\n try {\n logout();\n if (loginType.value === 0) {\n const isEmail = account.value.includes('@');\n if (isEmail) {\n // 邮箱 + 密码登录(Supabase Auth)\n const result = yield supa.signIn(account.value.trim(), password.value);\n uni.__f__('log', 'at pages/user/login.uvue:314', 'signIn result:', result);\n // 检查登录是否失败\n if (result.user == null) {\n // 检查是否是邮箱未确认的错误\n const rawData = result.raw;\n const errorMsg = (_a = rawData === null || rawData === void 0 ? null : rawData.getString('msg')) !== null && _a !== void 0 ? _a : '';\n const errorCode = (_b = rawData === null || rawData === void 0 ? null : rawData.getString('error_code')) !== null && _b !== void 0 ? _b : '';\n if (errorMsg.includes('email') && errorMsg.includes('confirm') ||\n errorCode === 'email_not_confirmed' ||\n errorMsg.includes('邮箱') && errorMsg.includes('确认')) {\n throw new Error('邮箱未确认,请先检查邮箱并点击确认链接');\n }\n else if (errorMsg.includes('Invalid login credentials') ||\n errorCode === 'invalid_credentials' ||\n errorMsg.includes('credentials') ||\n errorMsg.includes('invalid')) {\n throw new Error('用户名或密码错误');\n }\n else {\n throw new Error(errorMsg != '' ? errorMsg : '登录失败,请重试');\n }\n }\n }\n else {\n uni.showToast({ title: '手机号密码登录功能开发中', icon: 'none' });\n return Promise.resolve(null);\n }\n }\n else {\n uni.showToast({ title: '手机验证码登录功能开发中', icon: 'none' });\n return Promise.resolve(null);\n }\n // 尝试获取/补全用户资料,但失败时不再阻塞登录\n try {\n const profile = yield getCurrentUser();\n uni.__f__('log', 'at pages/user/login.uvue:348', 'current user profile:', profile);\n }\n catch (e) {\n uni.__f__('error', 'at pages/user/login.uvue:350', '获取用户信息失败(忽略,不阻塞登录):', e);\n }\n // 显式保存用户ID到本地存储,确保页面刷新或重启后 SupabaseService 能恢复身份\n const currentSession = supa.getSession();\n if (currentSession.user != null) {\n const uid = (_c = currentSession.user) === null || _c === void 0 ? null : _c.getString('id');\n if (uid != null) {\n uni.setStorageSync('user_id', uid);\n uni.__f__('log', 'at pages/user/login.uvue:359', '用户ID已保存到本地存储:', uid);\n }\n }\n uni.showToast({ title: '登录成功', icon: 'success' });\n setTimeout(() => {\n uni.reLaunch({ url: '/pages/main/index' });\n }, 500);\n }\n catch (err) {\n uni.__f__('error', 'at pages/user/login.uvue:368', '登录错误:', err);\n let msg = '登录失败,请重试';\n // UTS 不支持 typeof 检查,直接尝试转换\n try {\n const e = err;\n if (e.message != null && e.message.trim() !== '')\n msg = e.message;\n }\n catch (e2) {\n // 忽略转换错误,使用默认消息\n }\n uni.showToast({ title: msg, icon: 'none' });\n }\n finally {\n isLoading.value = false;\n }\n }); };\n const navigateToRegister = () => {\n uni.navigateTo({\n url: '/pages/user/register'\n });\n };\n const handleTutorial = () => { return uni.showToast({ title: '扫码教程开发中', icon: 'none' }); };\n const handleForgotPassword = () => { return uni.showToast({ title: '忘记密码开发中', icon: 'none' }); };\n const handleWechatLogin = () => { return uni.showToast({ title: '微信登录开发中', icon: 'none' }); };\n const handleQQLogin = () => { return uni.showToast({ title: 'QQ登录开发中', icon: 'none' }); };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: logoUrl.value,\n b: _o(handleTutorial),\n c: loginType.value === 0\n }, loginType.value === 0 ? {} : {}, {\n d: loginType.value === 0 ? 1 : '',\n e: _o($event => { return loginType.value = 0; }),\n f: loginType.value === 1\n }, loginType.value === 1 ? {} : {}, {\n g: loginType.value === 1 ? 1 : '',\n h: _o($event => { return loginType.value = 1; }),\n i: loginType.value === 0\n }, loginType.value === 0 ? {\n j: account.value,\n k: _o($event => { return account.value = $event.detail.value; }),\n l: password.value,\n m: _o($event => { return password.value = $event.detail.value; })\n } : {\n n: account.value,\n o: _o($event => { return account.value = $event.detail.value; }),\n p: captcha.value,\n q: _o($event => { return captcha.value = $event.detail.value; }),\n r: _t(codeText.value),\n s: _n(codeDisabled.value ? 'disabled' : ''),\n t: _o(getCode)\n }, {\n v: isLoading.value ? 1 : '',\n w: _o(handleLogin),\n x: _o(handleWechatLogin),\n y: _o(handleQQLogin),\n z: _o(handleForgotPassword),\n A: _o(navigateToRegister),\n B: _sei(_gei(_ctx, ''), 'view'),\n C: _s(cssVars)\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/user/login.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.reLaunch","uni.__f__","uni.showToast","uni.setStorageSync","uni.navigateTo"],"map":"{\"version\":3,\"file\":\"login.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"login.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/18b0fdad95e26f730235bc14d5d31d0e211abd0f b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/18b0fdad95e26f730235bc14d5d31d0e211abd0f deleted file mode 100644 index c53544b2..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/18b0fdad95e26f730235bc14d5d31d0e211abd0f +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, toDisplayString as _toDisplayString, t as _t, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport _imports_0 from '/static/icons/back.png';\nimport { ref, computed } from 'vue';\nimport { onLoad } from '@dcloudio/uni-app';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass OrderType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n order_no: { type: String, optional: false },\n created_at: { type: String, optional: false },\n merchant_id: { type: String, optional: false }\n };\n },\n name: \"OrderType\"\n };\n }\n constructor(options, metadata = OrderType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.order_no = this.__props__.order_no;\n this.created_at = this.__props__.created_at;\n this.merchant_id = this.__props__.merchant_id;\n delete this.__props__;\n }\n}\nclass OrderItemType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: Number, optional: false },\n order_id: { type: Number, optional: false },\n product_id: { type: Number, optional: false },\n product_name: { type: String, optional: false },\n product_image: { type: String, optional: false },\n sku_specifications: { type: \"Any\", optional: true },\n price: { type: Number, optional: false },\n quantity: { type: Number, optional: false }\n };\n },\n name: \"OrderItemType\"\n };\n }\n constructor(options, metadata = OrderItemType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.order_id = this.__props__.order_id;\n this.product_id = this.__props__.product_id;\n this.product_name = this.__props__.product_name;\n this.product_image = this.__props__.product_image;\n this.sku_specifications = this.__props__.sku_specifications;\n this.price = this.__props__.price;\n this.quantity = this.__props__.quantity;\n delete this.__props__;\n }\n}\nclass MerchantRatingType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n description: { type: Number, optional: false },\n logistics: { type: Number, optional: false },\n service: { type: Number, optional: false }\n };\n },\n name: \"MerchantRatingType\"\n };\n }\n constructor(options, metadata = MerchantRatingType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.description = this.__props__.description;\n this.logistics = this.__props__.logistics;\n this.service = this.__props__.service;\n delete this.__props__;\n }\n}\nclass MerchantType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n shop_name: { type: String, optional: false },\n rating: { type: Number, optional: false }\n };\n },\n name: \"MerchantType\"\n };\n }\n constructor(options, metadata = MerchantType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.shop_name = this.__props__.shop_name;\n this.rating = this.__props__.rating;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'review',\n setup(__props) {\n const orderId = ref('');\n const order = ref(null);\n const orderItems = ref([]);\n const merchant = ref(null);\n const ratings = ref([]);\n const contents = ref([]);\n const images = ref([]);\n const anonymous = ref(false);\n const merchantRating = ref(new MerchantRatingType({\n description: 5,\n logistics: 5,\n service: 5\n }));\n const isSubmitting = ref(false);\n const loadOrderData = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l, _m, _p, _q, _r;\n try {\n uni.__f__('log', 'at pages/mall/consumer/review.uvue:200', '[loadOrderData] 开始加载订单数据, orderId:', orderId.value);\n // 使用 supabaseService 获取订单详情\n const orderDetailRaw = yield supabaseService.getOrderDetail(orderId.value);\n uni.__f__('log', 'at pages/mall/consumer/review.uvue:204', '[loadOrderData] orderDetailRaw:', UTS.JSON.stringify(orderDetailRaw));\n if (orderDetailRaw == null) {\n uni.__f__('error', 'at pages/mall/consumer/review.uvue:207', '加载订单失败: 未找到订单');\n uni.showToast({ title: '订单不存在', icon: 'none' });\n return Promise.resolve(null);\n }\n // 转换为 UTSJSONObject\n const orderDetail = UTS.JSON.parse(UTS.JSON.stringify(orderDetailRaw));\n // 解析订单基本信息\n order.value = new OrderType({\n id: (_a = orderDetail.getString('id')) !== null && _a !== void 0 ? _a : '',\n order_no: (_b = orderDetail.getString('order_no')) !== null && _b !== void 0 ? _b : '',\n created_at: (_c = orderDetail.getString('created_at')) !== null && _c !== void 0 ? _c : '',\n merchant_id: (_d = orderDetail.getString('merchant_id')) !== null && _d !== void 0 ? _d : ''\n }\n // 解析订单商品\n );\n // 解析订单商品\n const itemsRaw = orderDetail.get('ml_order_items');\n uni.__f__('log', 'at pages/mall/consumer/review.uvue:225', '[loadOrderData] itemsRaw:', UTS.JSON.stringify(itemsRaw));\n if (itemsRaw != null) {\n const itemsList = itemsRaw;\n const processedItems = [];\n for (let i = 0; i < itemsList.length; i++) {\n const itemStr = UTS.JSON.stringify(itemsList[i]);\n const item = UTS.JSON.parse(itemStr);\n const skuSpec = item.get('sku_specifications');\n processedItems.push(new OrderItemType({\n id: ((_g = item.getNumber('id')) !== null && _g !== void 0 ? _g : 0),\n order_id: ((_h = item.getNumber('order_id')) !== null && _h !== void 0 ? _h : 0),\n product_id: ((_j = item.getNumber('product_id')) !== null && _j !== void 0 ? _j : 0),\n product_name: (_k = item.getString('product_name')) !== null && _k !== void 0 ? _k : '',\n price: ((_l = item.getNumber('price')) !== null && _l !== void 0 ? _l : 0),\n quantity: ((_m = item.getNumber('quantity')) !== null && _m !== void 0 ? _m : 1),\n sku_specifications: skuSpec,\n product_image: (_q = (_p = item.getString('product_image')) !== null && _p !== void 0 ? _p : item.getString('image_url')) !== null && _q !== void 0 ? _q : '/static/default-product.png'\n }));\n }\n orderItems.value = processedItems;\n uni.__f__('log', 'at pages/mall/consumer/review.uvue:248', '[loadOrderData] processedItems count:', processedItems.length);\n }\n // 初始化评价数据\n const count = orderItems.value.length;\n const newRatings = [];\n const newContents = [];\n const newImages = [];\n for (let i = 0; i < count; i++) {\n newRatings.push(5);\n newContents.push('');\n newImages.push([]);\n }\n ratings.value = newRatings;\n contents.value = newContents;\n images.value = newImages;\n // 获取商家信息\n const orderObj = order.value;\n if (orderObj != null) {\n const merchantId = orderObj.merchant_id;\n if (merchantId != '') {\n const shopInfo = yield supabaseService.getShopByMerchantId(merchantId);\n if (shopInfo != null) {\n merchant.value = new MerchantType({\n id: shopInfo.id,\n shop_name: shopInfo.shop_name,\n rating: (_r = shopInfo.rating_avg) !== null && _r !== void 0 ? _r : 5\n });\n }\n }\n }\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/review.uvue:282', '加载订单数据异常:', err);\n uni.showToast({ title: '加载失败', icon: 'none' });\n }\n }); };\n const canSubmit = computed(() => {\n if (ratings.value.length === 0)\n return false;\n for (let i = 0; i < ratings.value.length; i++) {\n if (ratings.value[i] <= 0)\n return false;\n }\n return true;\n });\n onLoad((options = null) => {\n var _a;\n if (options != null) {\n const optObj = options;\n orderId.value = (_a = optObj.getString('orderId')) !== null && _a !== void 0 ? _a : '';\n if (orderId.value != '')\n loadOrderData();\n }\n });\n // 格式化时间\n const formatTime = (timeStr = null) => {\n if (timeStr == null)\n return '';\n const date = new Date(timeStr);\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n return `${year}-${month}-${day}`;\n };\n const getSpecText = (specs = null) => {\n if (specs == null)\n return '';\n if (typeof specs === 'string')\n return specs;\n try {\n const specObj = UTS.JSON.parse(UTS.JSON.stringify(specs));\n const jsonStr = UTS.JSON.stringify(specObj);\n if (jsonStr == '{}' || jsonStr == 'null')\n return '';\n // 简单解析:直接返回 JSON 字符串(去除大括号)\n const cleanStr = jsonStr.replace(/^\\{|\\}$/g, '').replace(/\"/g, '').replace(/:/g, ': ').replace(/,/g, '; ');\n return cleanStr;\n }\n catch (e) {\n return '';\n }\n };\n // 获取评分文本\n const getRatingText = (rating) => {\n if (rating === 1)\n return '非常差';\n if (rating === 2)\n return '差';\n if (rating === 3)\n return '一般';\n if (rating === 4)\n return '好';\n if (rating === 5)\n return '非常好';\n return '未评价';\n };\n // 设置商品评分\n const setRating = (index, rating) => {\n ratings.value[index] = rating;\n // 触发响应式更新\n const newRatings = [];\n for (let i = 0; i < ratings.value.length; i++) {\n newRatings.push(ratings.value[i]);\n }\n ratings.value = newRatings;\n };\n const setMerchantRating = (type, rating) => {\n if (type === 'description') {\n merchantRating.value.description = rating;\n }\n else if (type === 'logistics') {\n merchantRating.value.logistics = rating;\n }\n else if (type === 'service') {\n merchantRating.value.service = rating;\n }\n };\n // 切换匿名\n const toggleAnonymous = (event = null) => {\n const eventObj = event;\n const detailRaw = eventObj.get('detail');\n const detail = detailRaw != null ? detailRaw : (new UTSJSONObject());\n const valueRaw = detail.get('value');\n anonymous.value = valueRaw != null ? valueRaw : false;\n };\n // 上传图片\n const uploadImage = (index) => { return __awaiter(this, void 0, void 0, function* () {\n // 检查图片数量限制\n if (images.value[index].length >= 9) {\n uni.showToast({\n title: '最多上传9张图片',\n icon: 'none'\n });\n return Promise.resolve(null);\n }\n // 使用uni.chooseImage选择图片\n uni.chooseImage(new UTSJSONObject({\n count: 9 - images.value[index].length,\n sizeType: ['compressed'],\n sourceType: ['album', 'camera'],\n success: (res) => {\n const resObj = res;\n const tempFilesRaw = resObj.get('tempFilePaths');\n const tempFiles = tempFilesRaw != null ? tempFilesRaw : [];\n uni.showLoading({\n title: '上传中...'\n });\n setTimeout(() => {\n for (let i = 0; i < tempFiles.length; i++) {\n images.value[index].push(tempFiles[i]);\n }\n const newImages = [];\n for (let i = 0; i < images.value.length; i++) {\n const innerArray = [];\n for (let j = 0; j < images.value[i].length; j++) {\n innerArray.push(images.value[i][j]);\n }\n newImages.push(innerArray);\n }\n images.value = newImages;\n uni.hideLoading();\n uni.showToast({\n title: '上传成功',\n icon: 'success'\n });\n }, 1000);\n }\n }));\n }); };\n // 删除图片\n const deleteImage = (index, imgIndex) => {\n images.value[index].splice(imgIndex, 1);\n // 触发响应式更新\n const newImages = [];\n for (let i = 0; i < images.value.length; i++) {\n const innerArray = [];\n for (let j = 0; j < images.value[i].length; j++) {\n innerArray.push(images.value[i][j]);\n }\n newImages.push(innerArray);\n }\n images.value = newImages;\n };\n // 获取当前用户ID\n const getCurrentUserId = () => {\n var _a;\n const userStore = uni.getStorageSync('userInfo');\n if (userStore == null)\n return '';\n const userInfo = userStore;\n return (_a = userInfo.getString('id')) !== null && _a !== void 0 ? _a : '';\n };\n const submitReview = () => { return __awaiter(this, void 0, void 0, function* () {\n if (canSubmit.value === false || isSubmitting.value)\n return Promise.resolve(null);\n isSubmitting.value = true;\n try {\n const userId = getCurrentUserId();\n if (userId == '') {\n uni.showToast({\n title: '用户信息错误',\n icon: 'none'\n });\n return Promise.resolve(null);\n }\n class ProductReviewType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n user_id: { type: String, optional: false },\n product_id: { type: Number, optional: false },\n order_id: { type: String, optional: false },\n rating: { type: Number, optional: false },\n content: { type: String, optional: false },\n images: { type: \"Unknown\", optional: false },\n is_anonymous: { type: Boolean, optional: false }\n };\n },\n name: \"ProductReviewType\"\n };\n }\n constructor(options, metadata = ProductReviewType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.user_id = this.__props__.user_id;\n this.product_id = this.__props__.product_id;\n this.order_id = this.__props__.order_id;\n this.rating = this.__props__.rating;\n this.content = this.__props__.content;\n this.images = this.__props__.images;\n this.is_anonymous = this.__props__.is_anonymous;\n delete this.__props__;\n }\n }\n const productReviews = [];\n for (let index = 0; index < orderItems.value.length; index++) {\n const item = orderItems.value[index];\n const reviewObj = new UTSJSONObject();\n reviewObj.set('user_id', userId);\n reviewObj.set('product_id', item.product_id);\n reviewObj.set('order_id', orderId.value);\n reviewObj.set('rating', ratings.value[index]);\n reviewObj.set('content', contents.value[index] != '' ? contents.value[index] : '');\n reviewObj.set('images', images.value[index]);\n reviewObj.set('is_anonymous', anonymous.value);\n productReviews.push(reviewObj);\n }\n const reviewsSuccess = yield supabaseService.submitProductReviews(productReviews);\n if (reviewsSuccess == false) {\n uni.showToast({\n title: '提交失败',\n icon: 'none'\n });\n isSubmitting.value = false;\n return Promise.resolve(null);\n }\n if (merchant.value != null) {\n class MerchantReviewType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n user_id: { type: String, optional: false },\n shop_id: { type: String, optional: false },\n order_id: { type: String, optional: false },\n description_rating: { type: Number, optional: false },\n logistics_rating: { type: Number, optional: false },\n service_rating: { type: Number, optional: false }\n };\n },\n name: \"MerchantReviewType\"\n };\n }\n constructor(options, metadata = MerchantReviewType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.user_id = this.__props__.user_id;\n this.shop_id = this.__props__.shop_id;\n this.order_id = this.__props__.order_id;\n this.description_rating = this.__props__.description_rating;\n this.logistics_rating = this.__props__.logistics_rating;\n this.service_rating = this.__props__.service_rating;\n delete this.__props__;\n }\n }\n const merchantReviewObj = new UTSJSONObject();\n merchantReviewObj.set('user_id', userId);\n merchantReviewObj.set('shop_id', merchant.value.id);\n merchantReviewObj.set('order_id', orderId.value);\n merchantReviewObj.set('description_rating', merchantRating.value.description);\n merchantReviewObj.set('logistics_rating', merchantRating.value.logistics);\n merchantReviewObj.set('service_rating', merchantRating.value.service);\n yield supabaseService.submitShopReview(merchantReviewObj);\n }\n yield supabaseService.updateOrderStatus(orderId.value, 4);\n uni.showToast({\n title: '评价成功',\n icon: 'success',\n duration: 2000\n });\n // 跳转到评价成功页面\n setTimeout(() => {\n uni.navigateBack();\n }, 1500);\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/review.uvue:524', '提交评价失败:', err);\n uni.showToast({\n title: '提交失败',\n icon: 'none'\n });\n }\n finally {\n isSubmitting.value = false;\n }\n }); };\n // 返回\n const goBack = () => {\n uni.navigateBack();\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _imports_0,\n b: _o(goBack),\n c: _t(order.value != null ? order.value.order_no : ''),\n d: _t(formatTime(order.value != null ? order.value.created_at : '')),\n e: _f(orderItems.value, (item, index, i0) => {\n return _e({\n a: item.product_image ?? '/static/default-product.png',\n b: _t(item.product_name),\n c: item.sku_specifications != null\n }, item.sku_specifications != null ? {\n d: _t(getSpecText(item.sku_specifications))\n } : {}, {\n e: _f(5, (star, k1, i1) => {\n return {\n a: star,\n b: star <= ratings.value[index] ? 1 : '',\n c: _o($event => { return setRating(index, star); }, star)\n };\n }),\n f: _t(getRatingText(ratings.value[index])),\n g: contents.value[index],\n h: _o($event => { return contents.value[index] = $event.detail.value; }, item.id),\n i: _t(contents.value[index]?.length ?? 0),\n j: _f(images.value[index], (image, imgIndex, i1) => {\n return {\n a: image,\n b: _o($event => { return deleteImage(index, imgIndex); }, imgIndex),\n c: imgIndex\n };\n }),\n k: images.value[index].length < 9\n }, images.value[index].length < 9 ? {\n l: _o($event => { return uploadImage(index); }, item.id)\n } : {}, {\n m: _o(toggleAnonymous, item.id),\n n: item.id\n });\n }),\n f: anonymous.value,\n g: merchant.value\n }, merchant.value ? {\n h: _f(5, (star, k0, i0) => {\n return {\n a: star,\n b: star <= merchantRating.value.description ? 1 : '',\n c: _o($event => { return setMerchantRating('description', star); }, star)\n };\n }),\n i: _f(5, (star, k0, i0) => {\n return {\n a: star,\n b: star <= merchantRating.value.logistics ? 1 : '',\n c: _o($event => { return setMerchantRating('logistics', star); }, star)\n };\n }),\n j: _f(5, (star, k0, i0) => {\n return {\n a: star,\n b: star <= merchantRating.value.service ? 1 : '',\n c: _o($event => { return setMerchantRating('service', star); }, star)\n };\n })\n } : {}, {\n k: isSubmitting.value === false\n }, isSubmitting.value === false ? {} : {}, {\n l: canSubmit.value === false || isSubmitting.value ? 1 : '',\n m: _o(submitReview),\n n: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/review.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.__f__","uni.showToast","uni.showLoading","uni.hideLoading","uni.chooseImage","uni.getStorageSync","uni.navigateBack"],"map":"{\"version\":3,\"file\":\"review.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"review.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/1d65e85cee615fda73748edd005cf2b059fb5673 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/1d65e85cee615fda73748edd005cf2b059fb5673 deleted file mode 100644 index 546b8e50..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/1d65e85cee615fda73748edd005cf2b059fb5673 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, n as _n, f as _f, gei as _gei, sei as _sei } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass BankCard extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n user_id: { type: String, optional: false },\n bank_name: { type: String, optional: false },\n card_no_last4: { type: String, optional: false },\n card_type: { type: String, optional: false },\n holder_name: { type: String, optional: false },\n is_default: { type: Boolean, optional: false }\n };\n },\n name: \"BankCard\"\n };\n }\n constructor(options, metadata = BankCard.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.user_id = this.__props__.user_id;\n this.bank_name = this.__props__.bank_name;\n this.card_no_last4 = this.__props__.card_no_last4;\n this.card_type = this.__props__.card_type;\n this.holder_name = this.__props__.holder_name;\n this.is_default = this.__props__.is_default;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'index',\n setup(__props) {\n const cards = ref([]);\n const loading = ref(true);\n const loadData = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _g, _h, _j, _k, _l, _m, _p;\n loading.value = true;\n try {\n const rawList = yield supabaseService.getUserBankCards();\n const cardList = [];\n // Use for loop instead of map to avoid complex closure typing issues\n for (let i = 0; i < rawList.length; i++) {\n const item = rawList[i];\n let id = '';\n let bankName = '';\n let last4 = '';\n let type = 'debit';\n let holder = '';\n let isDef = false;\n if (UTS.isInstanceOf(item, UTSJSONObject)) {\n id = (_a = item.getString('id')) !== null && _a !== void 0 ? _a : '';\n bankName = (_b = item.getString('bank_name')) !== null && _b !== void 0 ? _b : '';\n last4 = (_c = item.getString('card_no_last4')) !== null && _c !== void 0 ? _c : '';\n type = (_d = item.getString('card_type')) !== null && _d !== void 0 ? _d : 'debit';\n holder = (_e = item.getString('holder_name')) !== null && _e !== void 0 ? _e : '';\n isDef = (_g = item.getBoolean('is_default')) !== null && _g !== void 0 ? _g : false;\n }\n else {\n const obj = UTS.JSON.parse(UTS.JSON.stringify(item));\n id = (_h = obj.getString('id')) !== null && _h !== void 0 ? _h : '';\n bankName = (_j = obj.getString('bank_name')) !== null && _j !== void 0 ? _j : '';\n last4 = (_k = obj.getString('card_no_last4')) !== null && _k !== void 0 ? _k : '';\n type = (_l = obj.getString('card_type')) !== null && _l !== void 0 ? _l : 'debit';\n holder = (_m = obj.getString('holder_name')) !== null && _m !== void 0 ? _m : '';\n isDef = (_p = obj.getBoolean('is_default')) !== null && _p !== void 0 ? _p : false;\n }\n cardList.push(new BankCard({\n id: id,\n user_id: '',\n bank_name: bankName,\n card_no_last4: last4,\n card_type: type,\n holder_name: holder,\n is_default: isDef\n }));\n }\n cards.value = cardList;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/bank-cards/index.uvue:92', e);\n }\n finally {\n loading.value = false;\n }\n }); };\n onShow(() => {\n loadData();\n });\n const addCard = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/bank-cards/add'\n });\n };\n const deleteCard = (card) => {\n uni.showModal(new UTSJSONObject({\n title: '删除银行卡',\n content: `确认删除尾号${card.card_no_last4}的${card.bank_name}卡片吗?`,\n success: (res) => {\n if (res.confirm) {\n supabaseService.deleteBankCard(card.id).then((success) => {\n if (success) {\n uni.showToast({ title: '已删除' });\n loadData();\n }\n else {\n uni.showToast({ title: '删除失败', icon: 'none' });\n }\n });\n }\n }\n }));\n };\n const getCardClass = (bankName) => {\n if (bankName.includes('招商'))\n return 'cmb';\n if (bankName.includes('建设'))\n return 'ccb';\n if (bankName.includes('工商'))\n return 'icbc';\n if (bankName.includes('农业'))\n return 'abc';\n return 'default-bank';\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = {\n a: _f(cards.value, (card, k0, i0) => {\n return {\n a: _t(card.bank_name),\n b: _t(card.card_type === 'credit' ? '信用卡' : '储蓄卡'),\n c: _t(card.card_no_last4),\n d: _o($event => { return deleteCard(card); }, card.id),\n e: card.id,\n f: _n(getCardClass(card.bank_name))\n };\n }),\n b: _o(addCard),\n c: _sei(_gei(_ctx, ''), 'view')\n };\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/bank-cards/index.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__","uni.navigateTo","uni.showToast","uni.showModal"],"map":"{\"version\":3,\"file\":\"index.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"index.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\";AAAA,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,KAAK,CAAA;AACzD,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,KAAK,CAAA;AAEvH,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;OAC7B,EAAE,eAAe,EAAE;MAErB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWb,eAAe,aAAa,CAAA,gBAAgB,CAAC;IAC3C,MAAM,EAAE,OAAO;IACf,KAAK,CAAC,OAAO;QAEf,MAAM,KAAK,GAAG,GAAG,CAAa,EAAE,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;QAEzB,MAAM,QAAQ,GAAG;;YACb,OAAO,CAAC,KAAK,GAAG,IAAI,CAAA;YACpB,IAAI;gBACA,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,gBAAgB,EAAE,CAAA;gBACxD,MAAM,QAAQ,GAAe,EAAE,CAAA;gBAE/B,qEAAqE;gBACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;oBACvB,IAAI,EAAE,GAAG,EAAE,CAAA;oBACX,IAAI,QAAQ,GAAG,EAAE,CAAA;oBACjB,IAAI,KAAK,GAAG,EAAE,CAAA;oBACd,IAAI,IAAI,GAAG,OAAO,CAAA;oBAClB,IAAI,MAAM,GAAG,EAAE,CAAA;oBACf,IAAI,KAAK,GAAG,KAAK,CAAA;oBAEjB,qBAAI,IAAI,EAAY,aAAa,GAAE;wBAC/B,EAAE,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAA;wBAC/B,QAAQ,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,mCAAI,EAAE,CAAA;wBAC5C,KAAK,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,mCAAI,EAAE,CAAA;wBAC7C,IAAI,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,mCAAI,OAAO,CAAA;wBAC7C,MAAM,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,mCAAI,EAAE,CAAA;wBAC5C,KAAK,GAAG,MAAA,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,mCAAI,KAAK,CAAA;qBACjD;yBAAM;wBACF,MAAM,GAAG,GAAG,SAAK,KAAK,CAAC,SAAK,SAAS,CAAC,IAAI,CAAC,CAAkB,CAAA;wBAC7D,EAAE,GAAG,MAAA,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAA;wBAC9B,QAAQ,GAAG,MAAA,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,mCAAI,EAAE,CAAA;wBAC3C,KAAK,GAAG,MAAA,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,mCAAI,EAAE,CAAA;wBAC5C,IAAI,GAAG,MAAA,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,mCAAI,OAAO,CAAA;wBAC5C,MAAM,GAAG,MAAA,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,mCAAI,EAAE,CAAA;wBAC3C,KAAK,GAAG,MAAA,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,mCAAI,KAAK,CAAA;qBACjD;oBAED,QAAQ,CAAC,IAAI,cAAC;wBACV,EAAE,EAAE,EAAE;wBACN,OAAO,EAAE,EAAE;wBACX,SAAS,EAAE,QAAQ;wBACnB,aAAa,EAAE,KAAK;wBACpB,SAAS,EAAE,IAAI;wBACf,WAAW,EAAE,MAAM;wBACnB,UAAU,EAAE,KAAK;qBACR,EAAC,CAAA;iBACjB;gBAED,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAA;aACzB;YAAC,OAAO,CAAC,EAAE;gBACR,GAAG,CAAC,KAAK,CAAC,OAAO,EAAC,iDAAiD,EAAC,CAAC,CAAC,CAAA;aACzE;oBAAS;gBACN,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;aACxB;QACL,CAAC,IAAA,CAAA;QAED,MAAM,CAAC;YACH,QAAQ,EAAE,CAAA;QACd,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG;YACZ,GAAG,CAAC,UAAU,CAAC;gBACX,GAAG,EAAE,qCAAqC;aAC7C,CAAC,CAAA;QACN,CAAC,CAAA;QAED,MAAM,UAAU,GAAG,CAAC,IAAc;YAC9B,GAAG,CAAC,SAAS,mBAAC;gBACV,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,SAAS,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,MAAM;gBAC5D,OAAO,EAAE,CAAC,GAAG;oBACT,IAAI,GAAG,CAAC,OAAO,EAAE;wBACb,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO;4BACjD,IAAI,OAAO,EAAE;gCACT,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;gCAC/B,QAAQ,EAAE,CAAA;6BACb;iCAAM;gCACH,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;6BACjD;wBACL,CAAC,CAAC,CAAA;qBACL;gBACL,CAAC;aACJ,EAAC,CAAA;QACN,CAAC,CAAA;QAED,MAAM,YAAY,GAAG,CAAC,QAAgB;YAClC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;YACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;YACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,MAAM,CAAA;YAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;YACzC,OAAO,cAAc,CAAA;QACzB,CAAC,CAAA;QAGD,OAAO,CAAC,IAAI,EAAE,MAAM;YAAO,QAAQ,CAAA;YACjC,MAAM,YAAY,GAAG;gBACrB,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;oBAC9B,OAAO;wBACL,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;wBACrB,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;wBAClD,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;wBACzB,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,UAAU,CAAC,IAAI,CAAC,EAAhB,CAAgB,EAAE,IAAI,CAAC,EAAE,CAAC;wBAC1C,CAAC,EAAE,IAAI,CAAC,EAAE;wBACV,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBACpC,CAAC;gBACJ,CAAC,CAAC;gBACF,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;gBACd,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC;aAChC,CAAA;YACC,OAAO,YAAY,CAAA;QACrB,CAAC,CAAA;IACD,CAAC;CAEA,CAAC,CAAA\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/25eeb7e54c29d127725809becbf7f9599d4a3c23 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/25eeb7e54c29d127725809becbf7f9599d4a3c23 deleted file mode 100644 index 04961ad6..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/25eeb7e54c29d127725809becbf7f9599d4a3c23 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, toDisplayString as _toDisplayString, t as _t, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass MyReviewItem extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n product_id: { type: String, optional: false },\n product_name: { type: String, optional: false },\n product_image: { type: String, optional: false },\n rating: { type: Number, optional: false },\n content: { type: String, optional: false },\n images: { type: UTS.UTSType.withGenerics(Array, [String]), optional: false },\n append_content: { type: String, optional: true },\n can_append: { type: Boolean, optional: false },\n can_edit: { type: Boolean, optional: false },\n created_at: { type: String, optional: false }\n };\n },\n name: \"MyReviewItem\"\n };\n }\n constructor(options, metadata = MyReviewItem.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.product_id = this.__props__.product_id;\n this.product_name = this.__props__.product_name;\n this.product_image = this.__props__.product_image;\n this.rating = this.__props__.rating;\n this.content = this.__props__.content;\n this.images = this.__props__.images;\n this.append_content = this.__props__.append_content;\n this.can_append = this.__props__.can_append;\n this.can_edit = this.__props__.can_edit;\n this.created_at = this.__props__.created_at;\n delete this.__props__;\n }\n}\nclass PendingItem extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n order_id: { type: String, optional: false },\n product_id: { type: String, optional: false },\n product_name: { type: String, optional: false },\n product_image: { type: String, optional: false },\n order_time: { type: String, optional: false }\n };\n },\n name: \"PendingItem\"\n };\n }\n constructor(options, metadata = PendingItem.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.order_id = this.__props__.order_id;\n this.product_id = this.__props__.product_id;\n this.product_name = this.__props__.product_name;\n this.product_image = this.__props__.product_image;\n this.order_time = this.__props__.order_time;\n delete this.__props__;\n }\n}\nconst defaultImage = '/static/images/default-product.png';\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'my-reviews',\n setup(__props) {\n const activeTab = ref('published');\n const reviews = ref([]);\n const pendingItems = ref([]);\n const loading = ref(true);\n const showAppendModal = ref(false);\n const appendContent = ref('');\n const selectedReview = ref(null);\n const loadReviews = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l;\n loading.value = true;\n try {\n const result = yield supabaseService.getMyReviews();\n const parsed = [];\n for (let i = 0; i < result.length; i++) {\n const item = result[i];\n let reviewObj;\n if (UTS.isInstanceOf(item, UTSJSONObject)) {\n reviewObj = item;\n }\n else {\n reviewObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n }\n let images = [];\n const imagesRaw = reviewObj.get('images');\n if (imagesRaw != null && typeof imagesRaw === 'string') {\n try {\n const parsedImages = UTS.JSON.parse(imagesRaw);\n if (Array.isArray(parsedImages)) {\n images = parsedImages;\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/my-reviews.uvue:192', '解析图片失败:', e);\n }\n }\n const review = new MyReviewItem({\n id: (_a = reviewObj.getString('id')) !== null && _a !== void 0 ? _a : '',\n product_id: (_b = reviewObj.getString('product_id')) !== null && _b !== void 0 ? _b : '',\n product_name: (_c = reviewObj.getString('product_name')) !== null && _c !== void 0 ? _c : '',\n product_image: (_d = reviewObj.getString('product_image')) !== null && _d !== void 0 ? _d : '',\n rating: (_g = reviewObj.getNumber('rating')) !== null && _g !== void 0 ? _g : 5,\n content: (_h = reviewObj.getString('content')) !== null && _h !== void 0 ? _h : '',\n images: images,\n append_content: reviewObj.getString('append_content'),\n can_append: (_j = reviewObj.getBoolean('can_append')) !== null && _j !== void 0 ? _j : false,\n can_edit: (_k = reviewObj.getBoolean('can_edit')) !== null && _k !== void 0 ? _k : false,\n created_at: (_l = reviewObj.getString('created_at')) !== null && _l !== void 0 ? _l : ''\n });\n parsed.push(review);\n }\n reviews.value = parsed;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/my-reviews.uvue:214', '加载评价失败:', e);\n }\n finally {\n loading.value = false;\n }\n }); };\n const loadPendingItems = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g;\n loading.value = true;\n try {\n const orders = yield supabaseService.getOrders(4);\n const pending = [];\n for (let i = 0; i < orders.length; i++) {\n const order = orders[i];\n let orderObj;\n if (UTS.isInstanceOf(order, UTSJSONObject)) {\n orderObj = order;\n }\n else {\n orderObj = UTS.JSON.parse(UTS.JSON.stringify(order));\n }\n const orderId = (_a = orderObj.getString('id')) !== null && _a !== void 0 ? _a : '';\n const itemsRaw = orderObj.get('items');\n if (itemsRaw != null && Array.isArray(itemsRaw)) {\n const items = itemsRaw;\n for (let j = 0; j < items.length; j++) {\n const orderItem = items[j];\n let itemObj;\n if (UTS.isInstanceOf(orderItem, UTSJSONObject)) {\n itemObj = orderItem;\n }\n else {\n itemObj = UTS.JSON.parse(UTS.JSON.stringify(orderItem));\n }\n pending.push(new PendingItem({\n order_id: orderId,\n product_id: (_b = itemObj.getString('product_id')) !== null && _b !== void 0 ? _b : '',\n product_name: (_c = itemObj.getString('product_name')) !== null && _c !== void 0 ? _c : '',\n product_image: (_d = itemObj.getString('product_image')) !== null && _d !== void 0 ? _d : '',\n order_time: (_g = orderObj.getString('created_at')) !== null && _g !== void 0 ? _g : ''\n }));\n }\n }\n }\n pendingItems.value = pending;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/my-reviews.uvue:262', '加载待评价商品失败:', e);\n }\n finally {\n loading.value = false;\n }\n }); };\n const switchTab = (tab) => {\n activeTab.value = tab;\n if (tab === 'published' && reviews.value.length === 0) {\n loadReviews();\n }\n else if (tab === 'pending' && pendingItems.value.length === 0) {\n loadPendingItems();\n }\n };\n const goToProduct = (productId) => {\n uni.navigateTo({\n url: `/pages/mall/consumer/product-detail?id=${productId}`\n });\n };\n const goToReview = (item) => {\n uni.navigateTo({\n url: `/pages/mall/consumer/review?order_id=${item.order_id}`\n });\n };\n const showAppendPopup = (review) => {\n selectedReview.value = review;\n appendContent.value = '';\n showAppendModal.value = true;\n };\n const closeAppendPopup = () => {\n showAppendModal.value = false;\n selectedReview.value = null;\n appendContent.value = '';\n };\n const submitAppend = () => { return __awaiter(this, void 0, void 0, function* () {\n if (selectedReview.value == null || appendContent.value.trim() === '') {\n uni.showToast({ title: '请输入评价内容', icon: 'none' });\n return Promise.resolve(null);\n }\n uni.showLoading({ title: '提交中...' });\n try {\n const success = yield supabaseService.appendReview(selectedReview.value.id, appendContent.value.trim(), []);\n if (success) {\n selectedReview.value.append_content = appendContent.value.trim();\n selectedReview.value.can_append = false;\n closeAppendPopup();\n uni.showToast({ title: '追加成功', icon: 'success' });\n }\n else {\n uni.showToast({ title: '追加失败', icon: 'none' });\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/my-reviews.uvue:325', '追加评价失败:', e);\n uni.showToast({ title: '追加失败', icon: 'none' });\n }\n finally {\n uni.hideLoading();\n }\n }); };\n const doDelete = (review) => { return __awaiter(this, void 0, void 0, function* () {\n uni.showLoading({ title: '删除中...' });\n try {\n const success = yield supabaseService.deleteReview(review.id);\n if (success) {\n const index = reviews.value.indexOf(review);\n if (index > -1) {\n reviews.value.splice(index, 1);\n }\n uni.showToast({ title: '删除成功', icon: 'success' });\n }\n else {\n uni.showToast({ title: '删除失败', icon: 'none' });\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/my-reviews.uvue:347', '删除评价失败:', e);\n uni.showToast({ title: '删除失败', icon: 'none' });\n }\n finally {\n uni.hideLoading();\n }\n }); };\n const confirmDelete = (review) => {\n uni.showModal(new UTSJSONObject({\n title: '提示',\n content: '确定要删除这条评价吗?',\n success: (res) => {\n if (res.confirm) {\n doDelete(review);\n }\n }\n }));\n };\n const previewImage = (images, index) => {\n uni.previewImage({\n urls: images,\n current: index\n });\n };\n const formatTime = (timeStr = null) => {\n if (timeStr == null || timeStr === '')\n return '';\n const date = new Date(timeStr);\n const y = date.getFullYear();\n const m = (date.getMonth() + 1).toString().padStart(2, '0');\n const d = date.getDate().toString().padStart(2, '0');\n return `${y}-${m}-${d}`;\n };\n onMounted(() => {\n loadReviews();\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: activeTab.value === 'published' ? 1 : '',\n b: _o($event => { return switchTab('published'); }),\n c: activeTab.value === 'pending' ? 1 : '',\n d: _o($event => { return switchTab('pending'); }),\n e: activeTab.value === 'published'\n }, activeTab.value === 'published' ? {\n f: _f(reviews.value, (review, k0, i0) => {\n return _e({\n a: review.product_image.length > 0 ? review.product_image : defaultImage,\n b: _t(review.product_name),\n c: _f(5, (star, k1, i1) => {\n return {\n a: star,\n b: star <= review.rating ? 1 : ''\n };\n }),\n d: _t(formatTime(review.created_at)),\n e: _o($event => { return goToProduct(review.product_id); }, review.id),\n f: _t(review.content),\n g: review.images.length > 0\n }, review.images.length > 0 ? {\n h: _f(review.images.slice(0, 4), (img, idx, i1) => {\n return {\n a: idx,\n b: img,\n c: _o($event => { return previewImage(review.images, idx); }, idx)\n };\n })\n } : {}, {\n i: review.append_content\n }, review.append_content ? {\n j: _t(review.append_content)\n } : {}, {\n k: review.can_append\n }, review.can_append ? {\n l: _o($event => { return showAppendPopup(review); }, review.id)\n } : {}, {\n m: _o($event => { return confirmDelete(review); }, review.id),\n n: review.id\n });\n })\n } : {}, {\n g: activeTab.value === 'pending'\n }, activeTab.value === 'pending' ? {\n h: _f(pendingItems.value, (item, k0, i0) => {\n return {\n a: item.product_image.length > 0 ? item.product_image : defaultImage,\n b: _t(item.product_name),\n c: _t(formatTime(item.order_time)),\n d: _o($event => { return goToReview(item); }, item.order_id),\n e: item.order_id\n };\n })\n } : {}, {\n i: !loading.value && (activeTab.value === 'published' && reviews.value.length === 0 || activeTab.value === 'pending' && pendingItems.value.length === 0)\n }, !loading.value && (activeTab.value === 'published' && reviews.value.length === 0 || activeTab.value === 'pending' && pendingItems.value.length === 0) ? {\n j: _t(activeTab.value === 'published' ? '暂无评价记录' : '暂无待评价商品')\n } : {}, {\n k: loading.value\n }, loading.value ? {} : {}, {\n l: showAppendModal.value\n }, showAppendModal.value ? {\n m: _o(closeAppendPopup),\n n: appendContent.value,\n o: _o($event => { return appendContent.value = $event.detail.value; }),\n p: _o(closeAppendPopup),\n q: _o(submitAppend),\n r: _o(() => { }),\n s: _o(closeAppendPopup)\n } : {}, {\n t: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/my-reviews.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__","uni.navigateTo","uni.showToast","uni.showLoading","uni.hideLoading","uni.showModal","uni.previewImage"],"map":"{\"version\":3,\"file\":\"my-reviews.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"my-reviews.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/2b1c8edca0e95b73995bcf8c33c1412b5bf02e2e b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/2b1c8edca0e95b73995bcf8c33c1412b5bf02e2e deleted file mode 100644 index 3849248f..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/2b1c8edca0e95b73995bcf8c33c1412b5bf02e2e +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, n as _n, toDisplayString as _toDisplayString, t as _t, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, reactive, onMounted, computed } from 'vue';\nimport { onShow, onLoad, onBackPress } from '@dcloudio/uni-app';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass OrderTabItem extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n count: { type: Number, optional: false }\n };\n },\n name: \"OrderTabItem\"\n };\n }\n constructor(options, metadata = OrderTabItem.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.count = this.__props__.count;\n delete this.__props__;\n }\n}\nclass OrderProduct extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n price: { type: Number, optional: false },\n image: { type: String, optional: false },\n spec: { type: String, optional: false },\n quantity: { type: Number, optional: false }\n };\n },\n name: \"OrderProduct\"\n };\n }\n constructor(options, metadata = OrderProduct.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.price = this.__props__.price;\n this.image = this.__props__.image;\n this.spec = this.__props__.spec;\n this.quantity = this.__props__.quantity;\n delete this.__props__;\n }\n}\nclass OrderItem extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n order_no: { type: String, optional: false },\n status: { type: Number, optional: false },\n create_time: { type: String, optional: false },\n product_amount: { type: Number, optional: false },\n shipping_fee: { type: Number, optional: false },\n total_amount: { type: Number, optional: false },\n merchant_id: { type: String, optional: false },\n shop_name: { type: String, optional: false },\n products: { type: UTS.UTSType.withGenerics(Array, [OrderProduct]), optional: false }\n };\n },\n name: \"OrderItem\"\n };\n }\n constructor(options, metadata = OrderItem.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.order_no = this.__props__.order_no;\n this.status = this.__props__.status;\n this.create_time = this.__props__.create_time;\n this.product_amount = this.__props__.product_amount;\n this.shipping_fee = this.__props__.shipping_fee;\n this.total_amount = this.__props__.total_amount;\n this.merchant_id = this.__props__.merchant_id;\n this.shop_name = this.__props__.shop_name;\n this.products = this.__props__.products;\n delete this.__props__;\n }\n}\n// 响应式数据\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'orders',\n setup(__props) {\n const orders = ref([]);\n const allOrdersList = ref([]); // Store all fetched orders for client-side filtering\n const loading = ref(false);\n const loadingMore = ref(false);\n const hasMore = ref(true);\n const refreshing = ref(false);\n const page = ref(1);\n const activeTab = ref('all');\n const statusBarHeight = ref(0);\n const searchKeyword = ref('');\n // 商家推销配置缓存\n const merchantShareFreeEnabled = ref(new UTSJSONObject());\n const merchantRequiredCount = ref(new UTSJSONObject());\n // 订单标签页 - 使用 ref 以便整体替换\n const orderTabs = ref([\n new OrderTabItem({ id: 'all', name: '全部', count: 0 }),\n new OrderTabItem({ id: 'pending', name: '待付款', count: 0 }),\n new OrderTabItem({ id: 'shipping', name: '待发货', count: 0 }),\n new OrderTabItem({ id: 'delivering', name: '待收货', count: 0 }),\n new OrderTabItem({ id: 'completed', name: '已完成', count: 0 }),\n new OrderTabItem({ id: 'aftersale', name: '售后', count: 0 }),\n new OrderTabItem({ id: 'cancelled', name: '已取消', count: 0 })\n ]);\n // 模拟状态筛选(除去\"全部\"后的其余标签)\n const orderTabsMobile = computed(() => {\n return orderTabs.value.filter((tab) => { return tab.id !== 'all'; });\n });\n // 辅助函数:获取状态码\n const getStatusByTab = (tabId) => {\n if (tabId == 'pending')\n return 1;\n if (tabId == 'shipping')\n return 2;\n if (tabId == 'delivering')\n return 3;\n if (tabId == 'completed')\n return 4;\n if (tabId == 'cancelled')\n return 5;\n if (tabId == 'aftersale')\n return 6;\n return 0;\n };\n // 格式化规格对象为友好的文本 - 必须在 parseSpecText 之前定义\n function formatSpecObj(obj = null) {\n if (obj == null)\n return '';\n if (typeof obj !== 'object') {\n // 非对象类型直接返回字符串形式\n if (typeof obj === 'string')\n return obj;\n if (typeof obj === 'number')\n return obj.toString();\n return '';\n }\n try {\n const objStr = UTS.JSON.stringify(obj);\n const objParsed = UTS.JSON.parse(objStr);\n if (objParsed == null)\n return '';\n const specObj = objParsed;\n // 使用 JSON.stringify 获取所有键\n const specObjStr = UTS.JSON.stringify(specObj);\n const specObjForKeys = UTS.JSON.parse(specObjStr);\n // 手动提取键值对\n const parts = [];\n // 尝试获取已知字段\n const colorVal = specObjForKeys.getString('Color');\n if (colorVal != null && colorVal != '') {\n parts.push('Color: ' + colorVal);\n }\n const sizeVal = specObjForKeys.getString('Size');\n if (sizeVal != null && sizeVal != '') {\n parts.push('Size: ' + sizeVal);\n }\n const defaultVal = specObjForKeys.getString('默认');\n if (defaultVal != null && defaultVal != '') {\n parts.push('默认: ' + defaultVal);\n }\n // 如果没有匹配到已知字段,尝试直接显示 JSON\n if (parts.length === 0) {\n // 尝试遍历对象\n const objAny = specObjForKeys;\n if (objAny != null) {\n return specObjStr.replace(/[{}\"]/g, '').replace(/:/g, ': ').replace(/,/g, ' | ');\n }\n }\n return parts.join(' | ');\n }\n catch (e) {\n return '';\n }\n }\n // 辅助函数:解析规格文本\n function parseSpecText(specs = null) {\n if (specs == null)\n return '';\n if (typeof specs === 'string') {\n // 如果是 JSON 字符串,尝试解析\n if (specs.startsWith('{') || specs.startsWith('[')) {\n try {\n const parsed = UTS.JSON.parse(specs);\n if (parsed == null)\n return specs;\n return formatSpecObj(parsed);\n }\n catch (e) {\n return specs;\n }\n }\n return specs;\n }\n // 对于对象类型,格式化显示\n return formatSpecObj(specs);\n }\n // 辅助函数:更新标签计数\n const updateTabsCounts = (allOrders) => {\n const countAll = allOrders.length;\n const countPending = allOrders.filter((o) => { return o.status === 1; }).length;\n const countShipping = allOrders.filter((o) => { return o.status === 2; }).length;\n const countDelivering = allOrders.filter((o) => { return o.status === 3; }).length;\n const countCompleted = allOrders.filter((o) => { return o.status === 4; }).length;\n const countCancelled = allOrders.filter((o) => { return o.status === 5; }).length;\n const countAftersale = allOrders.filter((o) => { return o.status === 6 || o.status === 7; }).length;\n orderTabs.value[0].count = countAll;\n orderTabs.value[1].count = countPending;\n orderTabs.value[2].count = countShipping;\n orderTabs.value[3].count = countDelivering;\n orderTabs.value[4].count = countCompleted;\n orderTabs.value[5].count = countAftersale;\n orderTabs.value[6].count = countCancelled;\n };\n // 辅助函数:按标签筛选订单\n const filterOrdersByTab = () => {\n if (activeTab.value === 'all') {\n orders.value = allOrdersList.value;\n }\n else if (activeTab.value === 'aftersale') {\n orders.value = allOrdersList.value.filter((o) => {\n return o.status === 6 || o.status === 7;\n });\n }\n else {\n const targetStatus = getStatusByTab(activeTab.value);\n orders.value = allOrdersList.value.filter((o) => {\n return o.status === targetStatus;\n });\n }\n };\n // 检查商家是否开启分享免单\n const isShareFreeEnabled = (merchantId) => {\n const val = merchantShareFreeEnabled.value.get(merchantId);\n return val === true;\n };\n // 获取商家要求的购买人数\n const getRequiredCount = (merchantId) => {\n const val = merchantRequiredCount.value.get(merchantId);\n if (val != null && typeof val === 'number') {\n return val;\n }\n return 4;\n };\n // 加载商家推销配置\n const loadMerchantPromotionConfigs = (orderList) => { return __awaiter(this, void 0, void 0, function* () {\n // 收集所有唯一的商家ID\n const merchantIds = new Set();\n for (let i = 0; i < orderList.length; i++) {\n const merchantId = orderList[i].merchant_id;\n const existingVal = merchantShareFreeEnabled.value.get(merchantId);\n if (merchantId != null && merchantId !== '' && existingVal == null) {\n merchantIds.add(merchantId);\n }\n }\n // 批量加载商家配置\n const merchantIdArray = Array.from(merchantIds);\n for (let i = 0; i < merchantIdArray.length; i++) {\n const merchantIdRaw = merchantIdArray[i];\n const merchantId = merchantIdRaw;\n try {\n const config = yield supabaseService.getMerchantPromotionConfig(merchantId);\n const promotionEnabled = config.get('promotion_enabled');\n const shareFreeEnabled = config.get('share_free_enabled');\n const requiredCount = config.get('required_count');\n const isEnabled = (promotionEnabled === true || promotionEnabled === 'true') &&\n (shareFreeEnabled === true || shareFreeEnabled === 'true');\n merchantShareFreeEnabled.value.set(merchantId, isEnabled);\n if (requiredCount != null) {\n merchantRequiredCount.value.set(merchantId, requiredCount);\n }\n else {\n merchantRequiredCount.value.set(merchantId, 4);\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/orders.uvue:428', '加载商家推销配置失败:', merchantId, e);\n merchantShareFreeEnabled.value.set(merchantId, false);\n merchantRequiredCount.value.set(merchantId, 4);\n }\n }\n }); };\n // 加载订单数据\n const loadOrders = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n loading.value = true;\n try {\n // Fetch all orders from Supabase (status=0)\n const fetchedOrders = yield supabaseService.getOrders(0);\n uni.__f__('log', 'at pages/mall/consumer/orders.uvue:442', '[loadOrders] 获取到订单数量:', fetchedOrders.length);\n // Map to View Model\n const mappedOrders = [];\n for (let i = 0; i < fetchedOrders.length; i++) {\n const order = fetchedOrders[i];\n // 使用 JSON 序列化转换\n const orderStr = UTS.JSON.stringify(order);\n const orderParsed = UTS.JSON.parse(orderStr);\n if (orderParsed == null)\n continue;\n const orderObj = orderParsed;\n const itemsRaw = orderObj.get('ml_order_items');\n const productsList = [];\n uni.__f__('log', 'at pages/mall/consumer/orders.uvue:457', '[loadOrders] 订单商品数据:', itemsRaw);\n if (itemsRaw != null) {\n // 先检查是否为数组\n if (Array.isArray(itemsRaw)) {\n const items = itemsRaw;\n uni.__f__('log', 'at pages/mall/consumer/orders.uvue:463', '[loadOrders] 商品数量:', items.length);\n for (let j = 0; j < items.length; j++) {\n const item = items[j];\n const itemStr = UTS.JSON.stringify(item);\n const itemParsed = UTS.JSON.parse(itemStr);\n if (itemParsed == null)\n continue;\n const itemObj = itemParsed;\n const specRaw = itemObj.get('specifications');\n const specText = specRaw != null ? parseSpecText(specRaw) : '';\n const productId = itemObj.getString('product_id');\n const productName = itemObj.getString('product_name');\n const price = itemObj.getNumber('price');\n const imageUrl = itemObj.getString('image_url');\n const quantity = itemObj.getNumber('quantity');\n uni.__f__('log', 'at pages/mall/consumer/orders.uvue:480', '[loadOrders] 商品:', productName, '图片:', imageUrl, '规格:', specText);\n const productItem = new OrderProduct({\n id: productId !== null && productId !== void 0 ? productId : '',\n name: productName !== null && productName !== void 0 ? productName : '未知商品',\n price: price !== null && price !== void 0 ? price : 0,\n image: imageUrl !== null && imageUrl !== void 0 ? imageUrl : '/static/default-product.png',\n spec: specText,\n quantity: quantity !== null && quantity !== void 0 ? quantity : 1\n });\n productsList.push(productItem);\n }\n }\n }\n const orderId = orderObj.getString('id');\n const orderNo = orderObj.getString('order_no');\n const orderStatus = orderObj.getNumber('order_status');\n const createdAt = orderObj.getString('created_at');\n const productAmount = orderObj.getNumber('product_amount');\n const shippingFee = orderObj.getNumber('shipping_fee');\n const totalAmount = orderObj.getNumber('total_amount');\n const paidAmount = orderObj.getNumber('paid_amount');\n const merchantId = orderObj.getString('merchant_id');\n // 从关联查询的 ml_shops 表获取店铺名称\n let shopName = '自营店铺';\n const shopsRaw = orderObj.get('ml_shops');\n if (shopsRaw != null) {\n const shopStr = UTS.JSON.stringify(shopsRaw);\n const shopParsed = UTS.JSON.parse(shopStr);\n if (shopParsed != null) {\n const shopObj = shopParsed;\n const shopNameFromDb = shopObj.getString('shop_name');\n if (shopNameFromDb != null && shopNameFromDb != '') {\n shopName = shopNameFromDb;\n }\n }\n }\n else if (merchantId != null && merchantId != '') {\n shopName = '商家店铺';\n }\n uni.__f__('log', 'at pages/mall/consumer/orders.uvue:522', '[loadOrders] 订单号:', orderNo, '店铺:', shopName, '商品数:', productsList.length);\n // 如果没有商品数据,添加一个占位商品\n if (productsList.length === 0) {\n const placeholderProduct = new OrderProduct({\n id: 'placeholder',\n name: '订单商品',\n price: (_a = totalAmount !== null && totalAmount !== void 0 ? totalAmount : paidAmount) !== null && _a !== void 0 ? _a : 0,\n image: '/static/default-product.png',\n spec: '',\n quantity: 1\n });\n productsList.push(placeholderProduct);\n }\n const mappedOrder = new OrderItem({\n id: orderId !== null && orderId !== void 0 ? orderId : '',\n order_no: orderNo !== null && orderNo !== void 0 ? orderNo : '',\n status: orderStatus !== null && orderStatus !== void 0 ? orderStatus : 1,\n create_time: createdAt !== null && createdAt !== void 0 ? createdAt : '',\n product_amount: productAmount !== null && productAmount !== void 0 ? productAmount : 0,\n shipping_fee: shippingFee !== null && shippingFee !== void 0 ? shippingFee : 0,\n total_amount: (_b = totalAmount !== null && totalAmount !== void 0 ? totalAmount : paidAmount) !== null && _b !== void 0 ? _b : 0,\n merchant_id: merchantId !== null && merchantId !== void 0 ? merchantId : '',\n shop_name: shopName,\n products: productsList\n });\n mappedOrders.push(mappedOrder);\n }\n // Sort by created_at desc - 直接使用 OrderItem 类型访问属性\n mappedOrders.sort((a, b) => {\n const timeA = new Date(a.create_time).getTime();\n const timeB = new Date(b.create_time).getTime();\n return timeB - timeA;\n });\n allOrdersList.value = mappedOrders;\n // Update tab counts\n updateTabsCounts(mappedOrders);\n // Apply current tab filter\n filterOrdersByTab();\n // 加载商家推销配置\n loadMerchantPromotionConfigs(mappedOrders);\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/orders.uvue:571', '加载订单异常:', err);\n uni.showToast({ title: '加载订单失败', icon: 'none' });\n }\n finally {\n loading.value = false;\n }\n }); };\n // 生命周期\n onLoad((options = null) => {\n var _a;\n // 初始化状态栏高度\n const systemInfo = uni.getSystemInfoSync();\n statusBarHeight.value = (_a = systemInfo.statusBarHeight) !== null && _a !== void 0 ? _a : 0;\n if (options == null)\n return null;\n const statusVal = options['status'];\n if (statusVal != null) {\n const status = statusVal;\n if (['all', 'pending', 'shipping', 'delivering', 'completed', 'aftersale', 'cancelled'].includes(status)) {\n activeTab.value = status;\n }\n }\n const typeVal = options['type'];\n if (typeVal != null) {\n const type = typeVal;\n if (type === 'pending')\n activeTab.value = 'pending';\n else if (type === 'shipped')\n activeTab.value = 'delivering'; // 映射到待收货\n else if (type === 'review')\n activeTab.value = 'completed'; // 映射到已完成\n else if (type === 'refund')\n activeTab.value = 'aftersale'; // 退款/售后跳转到售后标签页\n }\n });\n onShow(() => {\n loadOrders();\n });\n const formatDate = (isoString) => {\n if (isoString == '')\n return '';\n const date = new Date(isoString);\n return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`;\n };\n // 辅助函数:获取当前订单数据(必须在 performSearch 之前定义)\n function getCurrentOrderData() {\n return allOrdersList.value;\n }\n // 搜索执行函数(必须在 onSearchInput 等之前定义)\n const performSearch = () => {\n const keyword = searchKeyword.value.trim().toLowerCase();\n if (keyword == '') {\n loadOrders();\n return null;\n }\n // 在当前订单数据中搜索\n const allOrders = getCurrentOrderData();\n const filtered = allOrders.filter((order = null) => {\n const orderObj = order;\n // 搜索订单号\n const orderNo = orderObj['order_no'];\n if (orderNo != null && orderNo.toLowerCase().includes(keyword)) {\n return true;\n }\n // 搜索商品名称\n const products = orderObj['products'];\n if (products != null && Array.isArray(products)) {\n return products.some((product = null) => {\n const productObj = product;\n const name = productObj['name'];\n return name != null && name.toLowerCase().includes(keyword);\n });\n }\n return false;\n });\n orders.value = filtered;\n };\n // 搜索相关函数\n const onSearchInput = (e = null) => {\n const eObj = e;\n const detail = eObj['detail'];\n searchKeyword.value = detail['value'];\n performSearch();\n };\n const onSearchConfirm = () => {\n performSearch();\n };\n const clearSearch = () => {\n searchKeyword.value = '';\n performSearch();\n };\n const formatSpec = (specs = null) => {\n if (specs == null)\n return '';\n if (typeof specs === 'string')\n return specs;\n if (typeof specs === 'object') {\n return UTS.JSON.stringify(specs);\n }\n return '';\n };\n // 切换标签\n const switchTab = (tabId) => {\n activeTab.value = tabId;\n filterOrdersByTab();\n };\n // 获取状态文本\n const getStatusText = (status) => {\n if (status == 1)\n return '待付款';\n if (status == 2)\n return '待发货';\n if (status == 3)\n return '待收货';\n if (status == 4)\n return '已完成';\n if (status == 5)\n return '已取消';\n if (status == 6)\n return '退款中';\n if (status == 7)\n return '已退款';\n return '未知状态';\n };\n // 获取状态类名\n const getStatusClass = (status) => {\n if (status == 1)\n return 'status-pending';\n if (status == 2)\n return 'status-shipping';\n if (status == 3)\n return 'status-delivering';\n if (status == 4)\n return 'status-completed';\n if (status == 5)\n return 'status-cancelled';\n if (status == 6)\n return 'status-refunding';\n if (status == 7)\n return 'status-refunded';\n return 'status-unknown';\n };\n // 联系卖家\n const contactSeller = (order) => {\n if (order.merchant_id != '') {\n uni.navigateTo({\n url: `/pages/mall/consumer/chat?merchantId=${order.merchant_id}`\n });\n }\n else {\n uni.showToast({\n title: '暂无卖家联系方式',\n icon: 'none'\n });\n }\n };\n // 删除订单\n const deleteOrder = (orderId) => {\n uni.showModal(new UTSJSONObject({\n title: '删除订单',\n content: '确定要删除此订单吗?',\n success: (res) => {\n if (res.confirm) {\n uni.showLoading({ title: '删除中...' });\n supabaseService.deleteOrder(orderId).then(() => {\n uni.hideLoading();\n uni.showToast({\n title: '订单已删除',\n icon: 'success'\n });\n loadOrders();\n }).catch(() => {\n uni.hideLoading();\n uni.showToast({\n title: '删除失败',\n icon: 'none'\n });\n });\n }\n }\n }));\n };\n // 下拉刷新\n const onRefresh = () => {\n refreshing.value = true;\n setTimeout(() => {\n loadOrders();\n refreshing.value = false;\n uni.showToast({\n title: '刷新成功',\n icon: 'success'\n });\n }, 1000);\n };\n // 上拉加载更多\n const loadMore = () => {\n if (loadingMore.value || !hasMore.value)\n return null;\n // 暂未实现分页,直接返回\n hasMore.value = false;\n };\n // 订单操作函数\n const cancelOrder = (orderId) => {\n uni.showModal(new UTSJSONObject({\n title: '确认取消',\n content: '确定要取消此订单吗?',\n success: (res) => {\n if (res.confirm) {\n uni.showLoading({ title: '取消中...' });\n supabaseService.cancelOrder(orderId).then((success) => {\n uni.hideLoading();\n if (success) {\n uni.showToast({\n title: '订单已取消',\n icon: 'success'\n });\n loadOrders();\n }\n else {\n uni.showToast({\n title: '取消失败',\n icon: 'none'\n });\n }\n }).catch(() => {\n uni.hideLoading();\n uni.showToast({\n title: '取消失败',\n icon: 'none'\n });\n });\n }\n }\n }));\n };\n const payOrder = (orderId) => {\n uni.navigateTo({\n url: `/pages/mall/consumer/payment?orderId=${orderId}`\n });\n };\n const remindShipping = (orderId) => { return __awaiter(this, void 0, void 0, function* () {\n // 基础提醒\n uni.showLoading({ title: '正在提醒...' });\n try {\n // 查找订单中的商家ID\n const order = UTS.arrayFind(orders.value, o => { return o.id === orderId; });\n if (order != null) {\n const merchantId = order.merchant_id;\n const orderNo = order.order_no;\n if (merchantId != '') {\n // 向商家发送自动催单消息\n const message = `你好,我的订单[${orderNo}]还没有发货,请尽快安排,谢谢。`;\n const success = yield supabaseService.sendChatMessage(message, merchantId);\n if (success) {\n uni.__f__('log', 'at pages/mall/consumer/orders.uvue:826', '催单消息发送成功');\n }\n else {\n uni.__f__('warn', 'at pages/mall/consumer/orders.uvue:828', '催单消息发送失败,可能是由于网络原因');\n }\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/orders.uvue:833', '提醒发货异常:', e);\n }\n finally {\n uni.hideLoading();\n }\n uni.showToast({\n title: '已提醒卖家发货',\n icon: 'success'\n });\n }); };\n const viewLogistics = (orderId) => {\n uni.navigateTo({\n url: `/pages/mall/consumer/logistics?orderId=${orderId}`\n });\n };\n // goReview 必须在 doConfirmReceipt 之前定义,因为 doConfirmReceipt 会调用它\n const goReview = (order) => {\n const productIds = order.products.map((p) => {\n return p.id;\n }).join(',');\n const orderId = order.id;\n uni.navigateTo({\n url: `/pages/mall/consumer/review?orderId=${orderId}&productIds=${productIds}`\n });\n };\n const doConfirmReceipt = (orderId) => { return __awaiter(this, void 0, void 0, function* () {\n var _a;\n uni.showLoading({ title: '处理中...' });\n try {\n const result = yield supabaseService.confirmReceipt(orderId);\n uni.hideLoading();\n if (result.success) {\n uni.showToast({\n title: '收货成功',\n icon: 'success'\n });\n // 更新 allOrdersList 中的订单状态\n const allIndex = allOrdersList.value.findIndex((o) => { return o.id === orderId; });\n if (allIndex !== -1) {\n allOrdersList.value[allIndex].status = 4;\n allOrdersList.value = [...allOrdersList.value];\n }\n // 更新标签计数\n updateTabsCounts(allOrdersList.value);\n // 重新应用当前标签筛选\n filterOrdersByTab();\n // 跳转到评价页面\n setTimeout(() => {\n const order = UTS.arrayFind(allOrdersList.value, (o) => { return o.id === orderId; });\n if (order != null) {\n goReview(order);\n }\n }, 1000);\n }\n else {\n uni.showToast({\n title: (_a = result.error) !== null && _a !== void 0 ? _a : '确认收货失败',\n icon: 'none'\n });\n }\n }\n catch (e) {\n uni.hideLoading();\n uni.showToast({\n title: '系统异常',\n icon: 'none'\n });\n }\n }); };\n const confirmReceipt = (orderId) => {\n uni.showModal(new UTSJSONObject({\n title: '确认收货',\n content: '请确认您已收到商品,且商品无误',\n success: (res) => {\n if (res.confirm) {\n doConfirmReceipt(orderId);\n }\n }\n }));\n };\n const repurchase = (order) => {\n const products = order.products;\n if (products.length === 0) {\n uni.showToast({\n title: '订单无商品',\n icon: 'none'\n });\n return null;\n }\n uni.showLoading({ title: '处理中...' });\n let completed = 0;\n const total = products.length;\n let successCount = 0;\n for (let i = 0; i < products.length; i++) {\n const product = products[i];\n const productId = product.id;\n const merchantId = order.merchant_id;\n if (productId != null && productId !== '') {\n supabaseService.addToCart(productId, 1, '', merchantId !== null && merchantId !== void 0 ? merchantId : '').then((success) => {\n completed++;\n if (success)\n successCount++;\n if (completed === total) {\n uni.hideLoading();\n if (successCount > 0) {\n uni.showToast({\n title: `已添加${successCount}件商品`,\n icon: 'success'\n });\n }\n else {\n uni.showToast({\n title: '添加失败',\n icon: 'none'\n });\n }\n }\n }).catch(() => {\n completed++;\n if (completed === total) {\n uni.hideLoading();\n if (successCount > 0) {\n uni.showToast({\n title: `已添加${successCount}件商品`,\n icon: 'success'\n });\n }\n else {\n uni.showToast({\n title: '添加失败',\n icon: 'none'\n });\n }\n }\n });\n }\n else {\n completed++;\n if (completed === total) {\n uni.hideLoading();\n if (successCount > 0) {\n uni.showToast({\n title: `已添加${successCount}件商品`,\n icon: 'success'\n });\n }\n else {\n uni.showToast({\n title: '添加失败',\n icon: 'none'\n });\n }\n }\n }\n }\n };\n const viewOrderDetail = (orderId) => {\n uni.navigateTo({\n url: `/pages/mall/consumer/order-detail?id=${orderId}`\n });\n };\n const onApplyRefund = (order) => {\n const orderId = order.id;\n uni.navigateTo({\n url: `/pages/mall/consumer/apply-refund?orderId=${orderId}`\n });\n };\n const viewRefundProgress = (orderId) => {\n uni.navigateTo({\n url: `/pages/mall/consumer/refund?orderId=${orderId}`\n });\n };\n const doCancelRefund = (orderId) => { return __awaiter(this, void 0, void 0, function* () {\n uni.showLoading({ title: '处理中...' });\n const result = yield supabaseService.cancelRefund(orderId);\n uni.hideLoading();\n if (result.success) {\n uni.showToast({ title: '已取消退款', icon: 'success' });\n loadOrders();\n }\n else {\n uni.showToast({ title: result.message, icon: 'none' });\n }\n }); };\n // 取消退款申请\n const cancelRefund = (orderId) => {\n uni.showModal(new UTSJSONObject({\n title: '确认取消',\n content: '确定要取消退款申请吗?',\n success: (res) => {\n if (res.confirm) {\n doCancelRefund(orderId);\n }\n }\n }));\n };\n // 处理订单操作\n const handleOrderAction = (order, action) => {\n if (action === '取消订单') {\n cancelOrder(order.id);\n }\n else if (action === '联系卖家') {\n contactSeller(order);\n }\n else if (action === '提醒发货') {\n remindShipping(order.id);\n }\n else if (action === '申请退款' || action === '申请售后') {\n onApplyRefund(order);\n }\n else if (action === '查看物流') {\n viewLogistics(order.id);\n }\n else if (action === '确认收货') {\n confirmReceipt(order.id);\n }\n else if (action === '再次购买') {\n repurchase(order);\n }\n else if (action === '删除订单') {\n deleteOrder(order.id);\n }\n else if (action === '退款进度') {\n viewRefundProgress(order.id);\n }\n else if (action === '取消退款') {\n cancelRefund(order.id);\n }\n };\n // 显示订单操作菜单\n const showOrderMenu = (order) => {\n const status = order.status;\n let actions = [];\n if (status === 1) {\n actions = ['取消订单', '联系卖家'];\n }\n else if (status === 2) {\n actions = ['提醒发货', '申请退款', '联系卖家'];\n }\n else if (status === 3) {\n actions = ['查看物流', '确认收货', '申请退款', '联系卖家'];\n }\n else if (status === 4) {\n actions = ['申请售后', '再次购买', '联系卖家'];\n }\n else if (status === 5) {\n actions = ['删除订单', '再次购买', '联系卖家'];\n }\n else if (status === 6) {\n actions = ['取消退款', '退款进度', '联系卖家'];\n }\n else if (status === 7) {\n actions = ['再次购买', '联系卖家'];\n }\n uni.showActionSheet({\n itemList: actions,\n success: (res) => {\n const action = actions[res.tapIndex];\n handleOrderAction(order, action);\n }\n });\n };\n // 导航函数\n const navigateToSearch = () => {\n uni.navigateTo({ url: '/pages/mall/consumer/search' });\n };\n const navigateToProduct = (product) => {\n const productId = product.id;\n uni.navigateTo({ url: `/pages/mall/consumer/product-detail?id=${productId}` });\n };\n const goShopping = () => {\n uni.switchTab({ url: '/pages/main/index' });\n };\n const shareForFree = (order) => { return __awaiter(this, void 0, void 0, function* () {\n if (order.products.length === 0) {\n uni.showToast({ title: '没有可分享的商品', icon: 'none' });\n return Promise.resolve(null);\n }\n const firstProduct = order.products[0];\n try {\n uni.showLoading({ title: '创建分享...' });\n const result = yield supabaseService.createShareRecord(firstProduct.id, order.id, '', firstProduct.name, firstProduct.image, firstProduct.price);\n uni.hideLoading();\n const shareIdRaw = result.get('id');\n const shareCodeRaw = result.get('share_code');\n if (shareIdRaw != null && shareCodeRaw != null) {\n const shareId = shareIdRaw;\n const shareCode = shareCodeRaw;\n uni.showModal(new UTSJSONObject({\n title: '分享成功',\n content: `您的分享码: ${shareCode}\\n分享给好友,当有4人购买后即可免单!`,\n confirmText: '查看详情',\n success: (res) => {\n if (res.confirm) {\n uni.navigateTo({ url: `/pages/mall/consumer/share/detail?id=${shareId}` });\n }\n }\n }));\n }\n else {\n uni.showToast({ title: '分享创建失败', icon: 'none' });\n }\n }\n catch (e) {\n uni.hideLoading();\n uni.__f__('error', 'at pages/mall/consumer/orders.uvue:1153', '[shareForFree] 创建分享失败:', e);\n uni.showToast({ title: '分享失败', icon: 'none' });\n }\n }); };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: searchKeyword.value,\n b: _o(onSearchInput),\n c: _o(onSearchConfirm),\n d: searchKeyword.value\n }, searchKeyword.value ? {\n e: _o(clearSearch)\n } : {}, {\n f: statusBarHeight.value + 'px',\n g: activeTab.value === 'all'\n }, activeTab.value === 'all' ? {} : {}, {\n h: _n({\n active: activeTab.value === 'all'\n }),\n i: _o($event => { return switchTab('all'); }),\n j: _f(orderTabsMobile.value, (tab, k0, i0) => {\n return _e({\n a: _t(tab.name),\n b: tab.count > 0\n }, tab.count > 0 ? {\n c: _t(tab.count)\n } : {}, {\n d: activeTab.value === tab.id\n }, activeTab.value === tab.id ? {} : {}, {\n e: tab.id,\n f: _n({\n active: activeTab.value === tab.id\n }),\n g: _o($event => { return switchTab(tab.id); }, tab.id)\n });\n }),\n k: !loading.value && orders.value.length === 0\n }, !loading.value && orders.value.length === 0 ? {\n l: _o(goShopping)\n } : {\n m: _f(orders.value, (order, k0, i0) => {\n return _e({\n a: _t(order.shop_name != null && order.shop_name != '' ? order.shop_name : '自营店铺'),\n b: _t(getStatusText(order.status)),\n c: _n(getStatusClass(order.status)),\n d: _o($event => { return showOrderMenu(order); }, order.id),\n e: _f(order.products, (product, k1, i1) => {\n return {\n a: product.image,\n b: _o($event => { return navigateToProduct(product); }, product.id),\n c: _t(product.name),\n d: _t(product.spec),\n e: _t(product.price),\n f: _t(product.quantity),\n g: product.id\n };\n }),\n f: _t(formatDate(order.create_time)),\n g: _t(order.products.length),\n h: _t(order.total_amount),\n i: order.status >= 2 && order.status <= 4 && isShareFreeEnabled(order.merchant_id)\n }, order.status >= 2 && order.status <= 4 && isShareFreeEnabled(order.merchant_id) ? {\n j: _t(getRequiredCount(order.merchant_id)),\n k: _o($event => { return shareForFree(order); }, order.id)\n } : {}, {\n l: order.status === 1\n }, order.status === 1 ? {\n m: _o($event => { return cancelOrder(order.id); }, order.id),\n n: _o($event => { return payOrder(order.id); }, order.id)\n } : {}, {\n o: order.status === 2\n }, order.status === 2 ? {\n p: _o($event => { return remindShipping(order.id); }, order.id),\n q: _o($event => { return onApplyRefund(order); }, order.id)\n } : {}, {\n r: order.status === 3\n }, order.status === 3 ? {\n s: _o($event => { return viewLogistics(order.id); }, order.id),\n t: _o($event => { return confirmReceipt(order.id); }, order.id),\n v: _o($event => { return onApplyRefund(order); }, order.id)\n } : {}, {\n w: order.status === 4\n }, order.status === 4 ? {\n x: _o($event => { return goReview(order); }, order.id),\n y: _o($event => { return onApplyRefund(order); }, order.id),\n z: _o($event => { return repurchase(order); }, order.id)\n } : {}, {\n A: order.status === 5\n }, order.status === 5 ? {\n B: _o($event => { return viewOrderDetail(order.id); }, order.id)\n } : {}, {\n C: order.status === 6\n }, order.status === 6 ? {\n D: _o($event => { return viewOrderDetail(order.id); }, order.id),\n E: _o($event => { return cancelRefund(order.id); }, order.id),\n F: _o($event => { return viewRefundProgress(order.id); }, order.id)\n } : {}, {\n G: order.status === 7\n }, order.status === 7 ? {\n H: _o($event => { return viewOrderDetail(order.id); }, order.id),\n I: _o($event => { return repurchase(order); }, order.id)\n } : {}, {\n J: _o(() => { }, order.id),\n K: order.id,\n L: _o($event => { return viewOrderDetail(order.id); }, order.id)\n });\n })\n }, {\n n: loadingMore.value\n }, loadingMore.value ? {} : {}, {\n o: !hasMore.value && orders.value.length > 0\n }, !hasMore.value && orders.value.length > 0 ? {} : {}, {\n p: refreshing.value,\n q: _o(onRefresh),\n r: _o(loadMore),\n s: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/orders.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.__f__","uni.showToast","uni.getSystemInfoSync","uni.navigateTo","uni.showLoading","uni.hideLoading","uni.showModal","uni.showActionSheet","uni.switchTab"],"map":"{\"version\":3,\"file\":\"orders.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"orders.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\";AAAA,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,KAAK,CAAA;AACzD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,eAAe,IAAI,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,KAAK,CAAA;AAEhI,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;OACxD,EAAE,eAAe,EAAE;MAGrB,YAAY;;;;;;;;;;;;;;;;;;;;;;;MAOZ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAUZ,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAad,QAAQ;AAER,eAAe,aAAa,CAAA,gBAAgB,CAAC;IAC3C,MAAM,EAAE,QAAQ;IAChB,KAAK,CAAC,OAAO;QAEf,MAAM,MAAM,GAAG,GAAG,CAAc,EAAE,CAAC,CAAA;QACnC,MAAM,aAAa,GAAG,GAAG,CAAc,EAAE,CAAC,CAAA,CAAC,qDAAqD;QAChG,MAAM,OAAO,GAAG,GAAG,CAAU,KAAK,CAAC,CAAA;QACnC,MAAM,WAAW,GAAG,GAAG,CAAU,KAAK,CAAC,CAAA;QACvC,MAAM,OAAO,GAAG,GAAG,CAAU,IAAI,CAAC,CAAA;QAClC,MAAM,UAAU,GAAG,GAAG,CAAU,KAAK,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,GAAG,CAAS,CAAC,CAAC,CAAA;QAC3B,MAAM,SAAS,GAAG,GAAG,CAAS,KAAK,CAAC,CAAA;QACpC,MAAM,eAAe,GAAG,GAAG,CAAS,CAAC,CAAC,CAAA;QACtC,MAAM,aAAa,GAAG,GAAG,CAAS,EAAE,CAAC,CAAA;QAErC,WAAW;QACX,MAAM,wBAAwB,GAAG,GAAG,CAAgB,IAAI,aAAa,EAAE,CAAC,CAAA;QACxE,MAAM,qBAAqB,GAAG,GAAG,CAAgB,IAAI,aAAa,EAAE,CAAC,CAAA;QAErE,wBAAwB;QACxB,MAAM,SAAS,GAAG,GAAG,CAAiB;6BAClC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;6BACnC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;6BACxC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;6BACzC,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;6BAC3C,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;6BAC1C,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;6BACzC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;SAC7C,CAAC,CAAA;QAEF,uBAAuB;QACvB,MAAM,eAAe,GAAG,QAAQ,CAAC;YAC7B,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAiB,OAAK,OAAA,GAAG,CAAC,EAAE,KAAK,KAAK,EAAhB,CAAgB,CAAC,CAAA;QAC1E,CAAC,CAAC,CAAA;QAGF,aAAa;QACb,MAAM,cAAc,GAAG,CAAC,KAAa;YACjC,IAAI,KAAK,IAAI,SAAS;gBAAE,OAAO,CAAC,CAAA;YAChC,IAAI,KAAK,IAAI,UAAU;gBAAE,OAAO,CAAC,CAAA;YACjC,IAAI,KAAK,IAAI,YAAY;gBAAE,OAAO,CAAC,CAAA;YACnC,IAAI,KAAK,IAAI,WAAW;gBAAE,OAAO,CAAC,CAAA;YAClC,IAAI,KAAK,IAAI,WAAW;gBAAE,OAAO,CAAC,CAAA;YAClC,IAAI,KAAK,IAAI,WAAW;gBAAE,OAAO,CAAC,CAAA;YAClC,OAAO,CAAC,CAAA;QACZ,CAAC,CAAA;QAED,yCAAyC;QACzC,SAAS,aAAa,CAAC,UAAQ;YAC3B,IAAI,GAAG,IAAI,IAAI;gBAAE,OAAO,EAAE,CAAA;YAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBACzB,iBAAiB;gBACjB,IAAI,OAAO,GAAG,KAAK,QAAQ;oBAAE,OAAO,GAAG,CAAA;gBACvC,IAAI,OAAO,GAAG,KAAK,QAAQ;oBAAE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;gBAClD,OAAO,EAAE,CAAA;aACZ;YAED,IAAI;gBACA,MAAM,MAAM,GAAG,SAAK,SAAS,CAAC,GAAG,CAAC,CAAA;gBAClC,MAAM,SAAS,GAAG,SAAK,KAAK,CAAC,MAAM,CAAC,CAAA;gBACpC,IAAI,SAAS,IAAI,IAAI;oBAAE,OAAO,EAAE,CAAA;gBAEhC,MAAM,OAAO,GAAG,SAA0B,CAAA;gBAE1C,0BAA0B;gBAC1B,MAAM,UAAU,GAAG,SAAK,SAAS,CAAC,OAAO,CAAC,CAAA;gBAC1C,MAAM,cAAc,GAAG,SAAK,KAAK,CAAC,UAAU,CAAkB,CAAA;gBAE9D,UAAU;gBACV,MAAM,KAAK,GAAa,EAAE,CAAA;gBAE1B,WAAW;gBACX,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;gBAClD,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,EAAE,EAAE;oBACpC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAA;iBACnC;gBAED,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;gBAChD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,EAAE;oBAClC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAA;iBACjC;gBAED,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBACjD,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,IAAI,EAAE,EAAE;oBACxC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAA;iBAClC;gBAED,0BAA0B;gBAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACpB,SAAS;oBACT,MAAM,MAAM,GAAG,cAAqB,CAAA;oBACpC,IAAI,MAAM,IAAI,IAAI,EAAE;wBAChB,OAAO,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;qBACnF;iBACJ;gBAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aAC3B;YAAC,OAAO,CAAC,EAAE;gBACR,OAAO,EAAE,CAAA;aACZ;QACL,CAAC;QAED,cAAc;QACd,SAAS,aAAa,CAAC,YAAU;YAC7B,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO,EAAE,CAAA;YAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC3B,oBAAoB;gBACpB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBAChD,IAAI;wBACA,MAAM,MAAM,GAAG,SAAK,KAAK,CAAC,KAAK,CAAC,CAAA;wBAChC,IAAI,MAAM,IAAI,IAAI;4BAAE,OAAO,KAAK,CAAA;wBAChC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;qBAC/B;oBAAC,OAAO,CAAC,EAAE;wBACR,OAAO,KAAK,CAAA;qBACf;iBACJ;gBACD,OAAO,KAAK,CAAA;aACf;YACD,eAAe;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC;QAED,cAAc;QACd,MAAM,gBAAgB,GAAG,CAAC,SAAsB;YAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAA;YACjC,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAY,OAAK,OAAA,CAAC,CAAC,MAAM,KAAK,CAAC,EAAd,CAAc,CAAC,CAAC,MAAM,CAAA;YAC9E,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAY,OAAK,OAAA,CAAC,CAAC,MAAM,KAAK,CAAC,EAAd,CAAc,CAAC,CAAC,MAAM,CAAA;YAC/E,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAY,OAAK,OAAA,CAAC,CAAC,MAAM,KAAK,CAAC,EAAd,CAAc,CAAC,CAAC,MAAM,CAAA;YACjF,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAY,OAAK,OAAA,CAAC,CAAC,MAAM,KAAK,CAAC,EAAd,CAAc,CAAC,CAAC,MAAM,CAAA;YAChF,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAY,OAAK,OAAA,CAAC,CAAC,MAAM,KAAK,CAAC,EAAd,CAAc,CAAC,CAAC,MAAM,CAAA;YAChF,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAY,OAAK,OAAA,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAhC,CAAgC,CAAC,CAAC,MAAM,CAAA;YAElG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAA;YACnC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,YAAY,CAAA;YACvC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,aAAa,CAAA;YACxC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,eAAe,CAAA;YAC1C,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,cAAc,CAAA;YACzC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,cAAc,CAAA;YACzC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,cAAc,CAAA;QAC7C,CAAC,CAAA;QAED,eAAe;QACf,MAAM,iBAAiB,GAAG;YACtB,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,EAAE;gBAC3B,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAA;aACrC;iBAAM,IAAI,SAAS,CAAC,KAAK,KAAK,WAAW,EAAE;gBACxC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAY;oBACnD,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;gBAC3C,CAAC,CAAC,CAAA;aACL;iBAAM;gBACH,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBACpD,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAY;oBACnD,OAAO,CAAC,CAAC,MAAM,KAAK,YAAY,CAAA;gBACpC,CAAC,CAAC,CAAA;aACL;QACL,CAAC,CAAA;QAED,eAAe;QACf,MAAM,kBAAkB,GAAG,CAAC,UAAkB;YAC1C,MAAM,GAAG,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YAC1D,OAAO,GAAG,KAAK,IAAI,CAAA;QACvB,CAAC,CAAA;QAED,cAAc;QACd,MAAM,gBAAgB,GAAG,CAAC,UAAkB;YACxC,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACvD,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBACxC,OAAO,GAAa,CAAA;aACvB;YACD,OAAO,CAAC,CAAA;QACZ,CAAC,CAAA;QAED,WAAW;QACX,MAAM,4BAA4B,GAAG,CAAO,SAAsB;YAC9D,cAAc;YACd,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;gBAC3C,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBAClE,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,KAAK,EAAE,IAAI,WAAW,IAAI,IAAI,EAAE;oBAChE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;iBAC9B;aACJ;YAED,WAAW;YACX,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;gBACxC,MAAM,UAAU,GAAG,aAAuB,CAAA;gBAC1C,IAAI;oBACA,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAA;oBAC3E,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;oBACxD,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;oBACzD,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;oBAElD,MAAM,SAAS,GACX,CAAC,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,MAAM,CAAC;wBAC1D,CAAC,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,MAAM,CAAC,CAAA;oBAC9D,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;oBAEzD,IAAI,aAAa,IAAI,IAAI,EAAE;wBACvB,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;qBAC7D;yBAAM;wBACH,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAQ,CAAC,CAAA;qBACxD;iBACJ;gBAAC,OAAO,CAAC,EAAE;oBACR,GAAG,CAAC,KAAK,CAAC,OAAO,EAAC,wCAAwC,EAAC,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;oBACxF,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,KAAY,CAAC,CAAA;oBAC5D,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAQ,CAAC,CAAA;iBACxD;aACJ;QACL,CAAC,IAAA,CAAA;QAED,SAAS;QACT,MAAM,UAAU,GAAG;;YACf,OAAO,CAAC,KAAK,GAAG,IAAI,CAAA;YAEpB,IAAI;gBACA,4CAA4C;gBAC5C,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;gBACxD,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,wCAAwC,EAAC,uBAAuB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;gBAEvG,oBAAoB;gBACpB,MAAM,YAAY,GAAgB,EAAE,CAAA;gBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;oBAC9B,gBAAgB;oBAChB,MAAM,QAAQ,GAAG,SAAK,SAAS,CAAC,KAAK,CAAC,CAAA;oBACtC,MAAM,WAAW,GAAG,SAAK,KAAK,CAAC,QAAQ,CAAC,CAAA;oBACxC,IAAI,WAAW,IAAI,IAAI;wBAAE,SAAQ;oBACjC,MAAM,QAAQ,GAAG,WAA4B,CAAA;oBAE7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;oBAC/C,MAAM,YAAY,GAAmB,EAAE,CAAA;oBAEvC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,wCAAwC,EAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAA;oBAE1F,IAAI,QAAQ,IAAI,IAAI,EAAE;wBAClB,WAAW;wBACX,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;4BACzB,MAAM,KAAK,GAAG,QAAiB,CAAA;4BAC/B,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,wCAAwC,EAAC,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;4BAC5F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gCACrB,MAAM,OAAO,GAAG,SAAK,SAAS,CAAC,IAAI,CAAC,CAAA;gCACpC,MAAM,UAAU,GAAG,SAAK,KAAK,CAAC,OAAO,CAAC,CAAA;gCACtC,IAAI,UAAU,IAAI,IAAI;oCAAE,SAAQ;gCAChC,MAAM,OAAO,GAAG,UAA2B,CAAA;gCAE3C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;gCAC7C,MAAM,QAAQ,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gCAE9D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;gCACjD,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;gCACrD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;gCACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;gCAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;gCAE9C,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,wCAAwC,EAAC,kBAAkB,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;gCAE3H,MAAM,WAAW,oBAAiB;oCAC9B,EAAE,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE;oCACnB,IAAI,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,MAAM;oCAC3B,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC;oCACjB,KAAK,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,6BAA6B;oCAChD,IAAI,EAAE,QAAQ;oCACd,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,CAAC;iCAC1B,CAAA,CAAA;gCACD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;6BACjC;yBACJ;qBACJ;oBAED,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;oBACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;oBAC9C,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;oBACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;oBAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;oBAC1D,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;oBACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;oBACtD,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;oBACpD,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;oBAEpD,0BAA0B;oBAC1B,IAAI,QAAQ,GAAG,MAAM,CAAA;oBACrB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;oBACzC,IAAI,QAAQ,IAAI,IAAI,EAAE;wBAClB,MAAM,OAAO,GAAG,SAAK,SAAS,CAAC,QAAQ,CAAC,CAAA;wBACxC,MAAM,UAAU,GAAG,SAAK,KAAK,CAAC,OAAO,CAAC,CAAA;wBACtC,IAAI,UAAU,IAAI,IAAI,EAAE;4BACpB,MAAM,OAAO,GAAG,UAA2B,CAAA;4BAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;4BACrD,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,IAAI,EAAE,EAAE;gCAChD,QAAQ,GAAG,cAAc,CAAA;6BAC5B;yBACJ;qBACJ;yBAAM,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,IAAI,EAAE,EAAE;wBAC/C,QAAQ,GAAG,MAAM,CAAA;qBACpB;oBAED,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,wCAAwC,EAAC,mBAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;oBAEpI,oBAAoB;oBACpB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;wBAC3B,MAAM,kBAAkB,oBAAiB;4BACrC,EAAE,EAAE,aAAa;4BACjB,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,MAAA,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,UAAU,mCAAI,CAAC;4BACrC,KAAK,EAAE,6BAA6B;4BACpC,IAAI,EAAE,EAAE;4BACR,QAAQ,EAAE,CAAC;yBACd,CAAA,CAAA;wBACD,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;qBACxC;oBAED,MAAM,WAAW,iBAAc;wBAC3B,EAAE,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE;wBACjB,QAAQ,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE;wBACvB,MAAM,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,CAAC;wBACxB,WAAW,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE;wBAC5B,cAAc,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,CAAC;wBAClC,YAAY,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,CAAC;wBAC9B,YAAY,EAAE,MAAA,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,UAAU,mCAAI,CAAC;wBAC5C,WAAW,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE;wBAC7B,SAAS,EAAE,QAAQ;wBACnB,QAAQ,EAAE,YAAY;qBACzB,CAAA,CAAA;oBACD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;iBACjC;gBAED,kDAAkD;gBAClD,YAAY,CAAC,IAAI,CAAC,CAAC,CAAY,EAAE,CAAY;oBACzC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAA;oBAC/C,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAA;oBAC/C,OAAO,KAAK,GAAG,KAAK,CAAA;gBACxB,CAAC,CAAC,CAAA;gBAEF,aAAa,CAAC,KAAK,GAAG,YAAY,CAAA;gBAElC,oBAAoB;gBACpB,gBAAgB,CAAC,YAAY,CAAC,CAAA;gBAE9B,2BAA2B;gBAC3B,iBAAiB,EAAE,CAAA;gBAEnB,WAAW;gBACX,4BAA4B,CAAC,YAAY,CAAC,CAAA;aAE7C;YAAC,OAAO,GAAG,EAAE;gBACV,GAAG,CAAC,KAAK,CAAC,OAAO,EAAC,wCAAwC,EAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBAC1E,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;aACnD;oBAAS;gBACN,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;aACxB;QACL,CAAC,IAAA,CAAA;QAED,OAAO;QACP,MAAM,CAAC,CAAC,OAAO,OAAA;;YACX,WAAW;YACX,MAAM,UAAU,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAA;YAC1C,eAAe,CAAC,KAAK,GAAG,MAAA,UAAU,CAAC,eAAe,mCAAI,CAAC,CAAA;YAEvD,IAAI,OAAO,IAAI,IAAI;gBAAE,YAAM;YAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;YACnC,IAAI,SAAS,IAAI,IAAI,EAAE;gBACnB,MAAM,MAAM,GAAG,SAAmB,CAAA;gBAClC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBACtG,SAAS,CAAC,KAAK,GAAG,MAAM,CAAA;iBAC3B;aACJ;YACD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;YAC/B,IAAI,OAAO,IAAI,IAAI,EAAE;gBACjB,MAAM,IAAI,GAAG,OAAiB,CAAA;gBAC9B,IAAI,IAAI,KAAK,SAAS;oBAAE,SAAS,CAAC,KAAK,GAAG,SAAS,CAAA;qBAC9C,IAAI,IAAI,KAAK,SAAS;oBAAE,SAAS,CAAC,KAAK,GAAG,YAAY,CAAA,CAAC,SAAS;qBAChE,IAAI,IAAI,KAAK,QAAQ;oBAAE,SAAS,CAAC,KAAK,GAAG,WAAW,CAAA,CAAC,SAAS;qBAC9D,IAAI,IAAI,KAAK,QAAQ;oBAAE,SAAS,CAAC,KAAK,GAAG,WAAW,CAAA,CAAC,gBAAgB;aAC7E;QACL,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC;YACH,UAAU,EAAE,CAAA;QAChB,CAAC,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,CAAC,SAAiB;YACjC,IAAI,SAAS,IAAI,EAAE;gBAAE,OAAO,EAAE,CAAA;YAC9B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAA;YAChC,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;QACnO,CAAC,CAAA;QAED,wCAAwC;QACxC,SAAS,mBAAmB;YACxB,OAAO,aAAa,CAAC,KAAK,CAAA;QAC9B,CAAC;QAED,kCAAkC;QAClC,MAAM,aAAa,GAAG;YAClB,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;YACxD,IAAI,OAAO,IAAI,EAAE,EAAE;gBACf,UAAU,EAAE,CAAA;gBACZ,YAAM;aACT;YAED,aAAa;YACb,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAA;YACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,YAAU;gBACzC,MAAM,QAAQ,GAAG,KAA4B,CAAA;gBAC7C,QAAQ;gBACR,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAW,CAAA;gBAC9C,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBAC5D,OAAO,IAAI,CAAA;iBACd;gBAED,SAAS;gBACT,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACrC,IAAI,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,cAAY;wBAC9B,MAAM,UAAU,GAAG,OAA8B,CAAA;wBACjD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAW,CAAA;wBACzC,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;oBAC/D,CAAC,CAAC,CAAA;iBACL;gBAED,OAAO,KAAK,CAAA;YAChB,CAAC,CAAC,CAAA;YAEF,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAA;QAC3B,CAAC,CAAA;QAED,SAAS;QACT,MAAM,aAAa,GAAG,CAAC,QAAM;YACzB,MAAM,IAAI,GAAG,CAAwB,CAAA;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAwB,CAAA;YACpD,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAW,CAAA;YAC/C,aAAa,EAAE,CAAA;QACnB,CAAC,CAAA;QAED,MAAM,eAAe,GAAG;YACpB,aAAa,EAAE,CAAA;QACnB,CAAC,CAAA;QAED,MAAM,WAAW,GAAG;YAChB,aAAa,CAAC,KAAK,GAAG,EAAE,CAAA;YACxB,aAAa,EAAE,CAAA;QACnB,CAAC,CAAA;QAED,MAAM,UAAU,GAAG,CAAC,YAAU;YAC1B,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO,EAAE,CAAA;YAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAA;YAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC3B,OAAO,SAAK,SAAS,CAAC,KAAK,CAAC,CAAA;aAC/B;YACD,OAAO,EAAE,CAAA;QACb,CAAC,CAAA;QAED,OAAO;QACP,MAAM,SAAS,GAAG,CAAC,KAAa;YAC5B,SAAS,CAAC,KAAK,GAAG,KAAK,CAAA;YACvB,iBAAiB,EAAE,CAAA;QACvB,CAAC,CAAA;QAED,SAAS;QACT,MAAM,aAAa,GAAG,CAAC,MAAc;YACjC,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC7B,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC7B,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC7B,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC7B,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC7B,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC7B,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC7B,OAAO,MAAM,CAAA;QACjB,CAAC,CAAA;QAED,SAAS;QACT,MAAM,cAAc,GAAG,CAAC,MAAc;YAClC,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,gBAAgB,CAAA;YACxC,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,iBAAiB,CAAA;YACzC,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,mBAAmB,CAAA;YAC3C,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,kBAAkB,CAAA;YAC1C,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,kBAAkB,CAAA;YAC1C,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,kBAAkB,CAAA;YAC1C,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,iBAAiB,CAAA;YACzC,OAAO,gBAAgB,CAAA;QAC3B,CAAC,CAAA;QAED,OAAO;QACP,MAAM,aAAa,GAAG,CAAC,KAAgB;YACnC,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE;gBACzB,GAAG,CAAC,UAAU,CAAC;oBACX,GAAG,EAAE,wCAAwC,KAAK,CAAC,WAAW,EAAE;iBACnE,CAAC,CAAA;aACL;iBAAM;gBACH,GAAG,CAAC,SAAS,CAAC;oBACV,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,MAAM;iBACf,CAAC,CAAA;aACL;QACL,CAAC,CAAA;QAED,OAAO;QACP,MAAM,WAAW,GAAG,CAAC,OAAe;YAChC,GAAG,CAAC,SAAS,mBAAC;gBACV,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,YAAY;gBACrB,OAAO,EAAE,CAAC,GAAG;oBACT,IAAI,GAAG,CAAC,OAAO,EAAE;wBACb,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;wBACpC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;4BACtC,GAAG,CAAC,WAAW,EAAE,CAAA;4BACjB,GAAG,CAAC,SAAS,CAAC;gCACV,KAAK,EAAE,OAAO;gCACd,IAAI,EAAE,SAAS;6BAClB,CAAC,CAAA;4BACF,UAAU,EAAE,CAAA;wBAChB,CAAC,CAAC,CAAC,KAAK,CAAC;4BACL,GAAG,CAAC,WAAW,EAAE,CAAA;4BACjB,GAAG,CAAC,SAAS,CAAC;gCACV,KAAK,EAAE,MAAM;gCACb,IAAI,EAAE,MAAM;6BACf,CAAC,CAAA;wBACN,CAAC,CAAC,CAAA;qBACL;gBACL,CAAC;aACJ,EAAC,CAAA;QACN,CAAC,CAAA;QAED,OAAO;QACP,MAAM,SAAS,GAAG;YACd,UAAU,CAAC,KAAK,GAAG,IAAI,CAAA;YACvB,UAAU,CAAC;gBACP,UAAU,EAAE,CAAA;gBACZ,UAAU,CAAC,KAAK,GAAG,KAAK,CAAA;gBACxB,GAAG,CAAC,SAAS,CAAC;oBACV,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,SAAS;iBAClB,CAAC,CAAA;YACN,CAAC,EAAE,IAAI,CAAC,CAAA;QACZ,CAAC,CAAA;QAED,SAAS;QACT,MAAM,QAAQ,GAAG;YACb,IAAI,WAAW,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK;gBAAE,YAAM;YAE/C,cAAc;YACd,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;QACzB,CAAC,CAAA;QAED,SAAS;QACT,MAAM,WAAW,GAAG,CAAC,OAAe;YAChC,GAAG,CAAC,SAAS,mBAAC;gBACV,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,YAAY;gBACrB,OAAO,EAAE,CAAC,GAAG;oBACT,IAAI,GAAG,CAAC,OAAO,EAAE;wBACb,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;wBACpC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO;4BAC9C,GAAG,CAAC,WAAW,EAAE,CAAA;4BACjB,IAAI,OAAO,EAAE;gCACT,GAAG,CAAC,SAAS,CAAC;oCACV,KAAK,EAAE,OAAO;oCACd,IAAI,EAAE,SAAS;iCAClB,CAAC,CAAA;gCACF,UAAU,EAAE,CAAA;6BACf;iCAAM;gCACH,GAAG,CAAC,SAAS,CAAC;oCACV,KAAK,EAAE,MAAM;oCACb,IAAI,EAAE,MAAM;iCACf,CAAC,CAAA;6BACL;wBACL,CAAC,CAAC,CAAC,KAAK,CAAC;4BACL,GAAG,CAAC,WAAW,EAAE,CAAA;4BACjB,GAAG,CAAC,SAAS,CAAC;gCACV,KAAK,EAAE,MAAM;gCACb,IAAI,EAAE,MAAM;6BACf,CAAC,CAAA;wBACN,CAAC,CAAC,CAAA;qBACL;gBACL,CAAC;aACJ,EAAC,CAAA;QACN,CAAC,CAAA;QAED,MAAM,QAAQ,GAAG,CAAC,OAAe;YAC7B,GAAG,CAAC,UAAU,CAAC;gBACX,GAAG,EAAE,wCAAwC,OAAO,EAAE;aACzD,CAAC,CAAA;QACN,CAAC,CAAA;QAED,MAAM,cAAc,GAAG,CAAO,OAAe;YACzC,OAAO;YACP,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YAErC,IAAI;gBACA,aAAa;gBACb,MAAM,KAAK,iBAAG,MAAM,CAAC,KAAK,EAAM,CAAC,MAAI,OAAA,CAAC,CAAC,EAAE,KAAK,OAAO,EAAhB,CAAgB,CAAC,CAAA;gBACtD,IAAI,KAAK,IAAI,IAAI,EAAE;oBACf,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAA;oBACpC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAA;oBAE9B,IAAI,UAAU,IAAI,EAAE,EAAE;wBAClB,cAAc;wBACd,MAAM,OAAO,GAAG,WAAW,OAAO,kBAAkB,CAAA;wBACpD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;wBAE1E,IAAI,OAAO,EAAE;4BACT,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,wCAAwC,EAAC,UAAU,CAAC,CAAA;yBACvE;6BAAM;4BACH,GAAG,CAAC,KAAK,CAAC,MAAM,EAAC,wCAAwC,EAAC,oBAAoB,CAAC,CAAA;yBAClF;qBACJ;iBACJ;aACJ;YAAC,OAAO,CAAC,EAAE;gBACR,GAAG,CAAC,KAAK,CAAC,OAAO,EAAC,wCAAwC,EAAC,SAAS,EAAE,CAAC,CAAC,CAAA;aAC3E;oBAAS;gBACN,GAAG,CAAC,WAAW,EAAE,CAAA;aACpB;YAED,GAAG,CAAC,SAAS,CAAC;gBACV,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;aAClB,CAAC,CAAA;QACN,CAAC,IAAA,CAAA;QAED,MAAM,aAAa,GAAG,CAAC,OAAe;YAClC,GAAG,CAAC,UAAU,CAAC;gBACX,GAAG,EAAE,0CAA0C,OAAO,EAAE;aAC3D,CAAC,CAAA;QACN,CAAC,CAAA;QAED,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,CAAC,KAAgB;YAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAe;gBAClD,OAAO,CAAC,CAAC,EAAE,CAAA;YACf,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACZ,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAA;YACxB,GAAG,CAAC,UAAU,CAAC;gBACX,GAAG,EAAE,uCAAuC,OAAO,eAAe,UAAU,EAAE;aACjF,CAAC,CAAA;QACN,CAAC,CAAA;QAED,MAAM,gBAAgB,GAAG,CAAO,OAAe;;YAC3C,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;YACpC,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;gBAC5D,GAAG,CAAC,WAAW,EAAE,CAAA;gBAEjB,IAAI,MAAM,CAAC,OAAO,EAAE;oBAChB,GAAG,CAAC,SAAS,CAAC;wBACV,KAAK,EAAE,MAAM;wBACb,IAAI,EAAE,SAAS;qBAClB,CAAC,CAAA;oBAEF,0BAA0B;oBAC1B,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAY,OAAc,OAAA,CAAC,CAAC,EAAE,KAAK,OAAO,EAAhB,CAAgB,CAAC,CAAA;oBAC3F,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;wBACjB,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;wBACxC,aAAa,CAAC,KAAK,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;qBACjD;oBAED,SAAS;oBACT,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;oBAErC,aAAa;oBACb,iBAAiB,EAAE,CAAA;oBAEnB,UAAU;oBACV,UAAU,CAAC;wBACP,MAAM,KAAK,iBAAG,aAAa,CAAC,KAAK,EAAM,CAAC,CAAY,OAAc,OAAA,CAAC,CAAC,EAAE,KAAK,OAAO,EAAhB,CAAgB,CAAC,CAAA;wBACnF,IAAI,KAAK,IAAI,IAAI,EAAE;4BACf,QAAQ,CAAC,KAAK,CAAC,CAAA;yBAClB;oBACL,CAAC,EAAE,IAAI,CAAC,CAAA;iBACX;qBAAM;oBACH,GAAG,CAAC,SAAS,CAAC;wBACV,KAAK,EAAE,MAAA,MAAM,CAAC,KAAK,mCAAI,QAAQ;wBAC/B,IAAI,EAAE,MAAM;qBACf,CAAC,CAAA;iBACL;aACJ;YAAC,OAAO,CAAC,EAAE;gBACR,GAAG,CAAC,WAAW,EAAE,CAAA;gBACjB,GAAG,CAAC,SAAS,CAAC;oBACV,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,MAAM;iBACf,CAAC,CAAA;aACL;QACL,CAAC,IAAA,CAAA;QAED,MAAM,cAAc,GAAG,CAAC,OAAe;YACnC,GAAG,CAAC,SAAS,mBAAC;gBACV,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,CAAC,GAAG;oBACT,IAAI,GAAG,CAAC,OAAO,EAAE;wBACb,gBAAgB,CAAC,OAAO,CAAC,CAAA;qBAC5B;gBACL,CAAC;aACJ,EAAC,CAAA;QACN,CAAC,CAAA;QAED,MAAM,UAAU,GAAG,CAAC,KAAgB;YAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;YAE/B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,GAAG,CAAC,SAAS,CAAC;oBACV,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM;iBACf,CAAC,CAAA;gBACF,YAAM;aACT;YAED,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;YAEpC,IAAI,SAAS,GAAG,CAAC,CAAA;YACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAA;YAC7B,IAAI,YAAY,GAAG,CAAC,CAAA;YAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;gBAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,CAAA;gBAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAA;gBAEpC,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE;oBACvC,eAAe,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAgB;wBAChF,SAAS,EAAE,CAAA;wBACX,IAAI,OAAO;4BAAE,YAAY,EAAE,CAAA;wBAC3B,IAAI,SAAS,KAAK,KAAK,EAAE;4BACrB,GAAG,CAAC,WAAW,EAAE,CAAA;4BACjB,IAAI,YAAY,GAAG,CAAC,EAAE;gCAClB,GAAG,CAAC,SAAS,CAAC;oCACV,KAAK,EAAE,MAAM,YAAY,KAAK;oCAC9B,IAAI,EAAE,SAAS;iCAClB,CAAC,CAAA;6BACL;iCAAM;gCACH,GAAG,CAAC,SAAS,CAAC;oCACV,KAAK,EAAE,MAAM;oCACb,IAAI,EAAE,MAAM;iCACf,CAAC,CAAA;6BACL;yBACJ;oBACL,CAAC,CAAC,CAAC,KAAK,CAAC;wBACL,SAAS,EAAE,CAAA;wBACX,IAAI,SAAS,KAAK,KAAK,EAAE;4BACrB,GAAG,CAAC,WAAW,EAAE,CAAA;4BACjB,IAAI,YAAY,GAAG,CAAC,EAAE;gCAClB,GAAG,CAAC,SAAS,CAAC;oCACV,KAAK,EAAE,MAAM,YAAY,KAAK;oCAC9B,IAAI,EAAE,SAAS;iCAClB,CAAC,CAAA;6BACL;iCAAM;gCACH,GAAG,CAAC,SAAS,CAAC;oCACV,KAAK,EAAE,MAAM;oCACb,IAAI,EAAE,MAAM;iCACf,CAAC,CAAA;6BACL;yBACJ;oBACL,CAAC,CAAC,CAAA;iBACL;qBAAM;oBACH,SAAS,EAAE,CAAA;oBACX,IAAI,SAAS,KAAK,KAAK,EAAE;wBACrB,GAAG,CAAC,WAAW,EAAE,CAAA;wBACjB,IAAI,YAAY,GAAG,CAAC,EAAE;4BAClB,GAAG,CAAC,SAAS,CAAC;gCACV,KAAK,EAAE,MAAM,YAAY,KAAK;gCAC9B,IAAI,EAAE,SAAS;6BAClB,CAAC,CAAA;yBACL;6BAAM;4BACH,GAAG,CAAC,SAAS,CAAC;gCACV,KAAK,EAAE,MAAM;gCACb,IAAI,EAAE,MAAM;6BACf,CAAC,CAAA;yBACL;qBACJ;iBACJ;aACJ;QACL,CAAC,CAAA;QAED,MAAM,eAAe,GAAG,CAAC,OAAe;YACpC,GAAG,CAAC,UAAU,CAAC;gBACX,GAAG,EAAE,wCAAwC,OAAO,EAAE;aACzD,CAAC,CAAA;QACN,CAAC,CAAA;QAED,MAAM,aAAa,GAAG,CAAC,KAAgB;YACnC,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAA;YACxB,GAAG,CAAC,UAAU,CAAC;gBACX,GAAG,EAAE,6CAA6C,OAAO,EAAE;aAC9D,CAAC,CAAA;QACN,CAAC,CAAA;QAED,MAAM,kBAAkB,GAAG,CAAC,OAAe;YACvC,GAAG,CAAC,UAAU,CAAC;gBACX,GAAG,EAAE,uCAAuC,OAAO,EAAE;aACxD,CAAC,CAAA;QACN,CAAC,CAAA;QAED,MAAM,cAAc,GAAG,CAAO,OAAe;YACzC,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YAC1D,GAAG,CAAC,WAAW,EAAE,CAAA;YAEjB,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;gBAClD,UAAU,EAAE,CAAA;aACf;iBAAM;gBACH,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;aACzD;QACL,CAAC,IAAA,CAAA;QAED,SAAS;QACT,MAAM,YAAY,GAAG,CAAC,OAAe;YACjC,GAAG,CAAC,SAAS,mBAAC;gBACV,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,CAAC,GAAG;oBACT,IAAI,GAAG,CAAC,OAAO,EAAE;wBACb,cAAc,CAAC,OAAO,CAAC,CAAA;qBAC1B;gBACL,CAAC;aACJ,EAAC,CAAA;QACN,CAAC,CAAA;QAED,SAAS;QACT,MAAM,iBAAiB,GAAG,CAAC,KAAgB,EAAE,MAAc;YACvD,IAAI,MAAM,KAAK,MAAM,EAAE;gBACnB,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aACxB;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC1B,aAAa,CAAC,KAAK,CAAC,CAAA;aACvB;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC1B,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aAC3B;iBAAM,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC/C,aAAa,CAAC,KAAK,CAAC,CAAA;aACvB;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC1B,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aAC1B;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC1B,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aAC3B;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC1B,UAAU,CAAC,KAAK,CAAC,CAAA;aACpB;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC1B,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aACxB;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC1B,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aAC/B;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC1B,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aACzB;QACL,CAAC,CAAA;QAED,WAAW;QACX,MAAM,aAAa,GAAG,CAAC,KAAgB;YACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;YAC3B,IAAI,OAAO,GAAa,EAAE,CAAA;YAE1B,IAAI,MAAM,KAAK,CAAC,EAAE;gBACd,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;aAC7B;iBAAM,IAAI,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;aACrC;iBAAM,IAAI,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;aAC7C;iBAAM,IAAI,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;aACrC;iBAAM,IAAI,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;aACrC;iBAAM,IAAI,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;aACrC;iBAAM,IAAI,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;aAC7B;YAED,GAAG,CAAC,eAAe,CAAC;gBAChB,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,CAAC,GAAG;oBACT,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;oBACpC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;gBACpC,CAAC;aACJ,CAAC,CAAA;QACN,CAAC,CAAA;QAED,OAAO;QACP,MAAM,gBAAgB,GAAG;YACrB,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,6BAA6B,EAAE,CAAC,CAAA;QAC1D,CAAC,CAAA;QAED,MAAM,iBAAiB,GAAG,CAAC,OAAqB;YAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,CAAA;YAC5B,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,0CAA0C,SAAS,EAAE,EAAE,CAAC,CAAA;QAClF,CAAC,CAAA;QAED,MAAM,UAAU,GAAG;YACf,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC,CAAA;QAC/C,CAAC,CAAA;QAED,MAAM,YAAY,GAAG,CAAO,KAAgB;YACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;gBAClD,6BAAM;aACT;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAEtC,IAAI;gBACA,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;gBACrC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,iBAAiB,CAClD,YAAY,CAAC,EAAE,EACf,KAAK,CAAC,EAAE,EACR,EAAE,EACF,YAAY,CAAC,IAAI,EACjB,YAAY,CAAC,KAAK,EAClB,YAAY,CAAC,KAAK,CACrB,CAAA;gBACD,GAAG,CAAC,WAAW,EAAE,CAAA;gBAEjB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACnC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;gBAE7C,IAAI,UAAU,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,EAAE;oBAC5C,MAAM,OAAO,GAAG,UAAoB,CAAA;oBACpC,MAAM,SAAS,GAAG,YAAsB,CAAA;oBAExC,GAAG,CAAC,SAAS,mBAAC;wBACV,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,UAAU,SAAS,sBAAsB;wBAClD,WAAW,EAAE,MAAM;wBACnB,OAAO,EAAE,CAAC,GAAG;4BACT,IAAI,GAAG,CAAC,OAAO,EAAE;gCACb,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,wCAAwC,OAAO,EAAE,EAAE,CAAC,CAAA;6BAC7E;wBACL,CAAC;qBACJ,EAAC,CAAA;iBACL;qBAAM;oBACH,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;iBACnD;aACJ;YAAC,OAAO,CAAC,EAAE;gBACR,GAAG,CAAC,WAAW,EAAE,CAAA;gBACjB,GAAG,CAAC,KAAK,CAAC,OAAO,EAAC,yCAAyC,EAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;gBACxF,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;aACjD;QACL,CAAC,IAAA,CAAA;QAED,OAAO,CAAC,IAAI,EAAE,MAAM;YAAO,QAAQ,CAAA;YACjC,MAAM,YAAY,GAAG,EAAE,CAAC;gBACxB,CAAC,EAAE,aAAa,CAAC,KAAK;gBACtB,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;gBACpB,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;gBACtB,CAAC,EAAE,aAAa,CAAC,KAAK;aACvB,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvB,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;aACnB,CAAC,CAAC,CAAC,EAAE,EAAE;gBACN,CAAC,EAAE,eAAe,CAAC,KAAK,GAAG,IAAI;gBAC/B,CAAC,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK;aAC7B,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtC,CAAC,EAAE,EAAE,CAAC;oBACJ,MAAM,EAAE,SAAS,CAAC,KAAK,KAAK,KAAK;iBAClC,CAAC;gBACF,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,SAAS,CAAC,KAAK,CAAC,EAAhB,CAAgB,CAAC;gBACjC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;oBACvC,OAAO,EAAE,CAAC;wBACR,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;wBACf,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC;qBACjB,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;wBACjB,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;qBACjB,CAAC,CAAC,CAAC,EAAE,EAAE;wBACN,CAAC,EAAE,SAAS,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE;qBAC9B,EAAE,SAAS,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;wBACvC,CAAC,EAAE,GAAG,CAAC,EAAE;wBACT,CAAC,EAAE,EAAE,CAAC;4BACJ,MAAM,EAAE,SAAS,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE;yBACnC,CAAC;wBACF,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAjB,CAAiB,EAAE,GAAG,CAAC,EAAE,CAAC;qBAC3C,CAAC,CAAC;gBACL,CAAC,CAAC;gBACF,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;aAC/C,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC/C,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;aAClB,CAAC,CAAC,CAAC;gBACF,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;oBAChC,OAAO,EAAE,CAAC;wBACR,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;wBAClF,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBAClC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBACnC,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,aAAa,CAAC,KAAK,CAAC,EAApB,CAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;wBAC/C,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE;4BACpC,OAAO;gCACL,CAAC,EAAE,OAAO,CAAC,KAAK;gCAChB,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,iBAAiB,CAAC,OAAO,CAAC,EAA1B,CAA0B,EAAE,OAAO,CAAC,EAAE,CAAC;gCACvD,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gCACnB,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gCACnB,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gCACpB,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;gCACvB,CAAC,EAAE,OAAO,CAAC,EAAE;6BACd,CAAC;wBACJ,CAAC,CAAC;wBACF,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;wBACpC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAC5B,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC;wBACzB,CAAC,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;qBACnF,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBACnF,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;wBAC1C,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,YAAY,CAAC,KAAK,CAAC,EAAnB,CAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;qBAC/C,CAAC,CAAC,CAAC,EAAE,EAAE;wBACN,CAAC,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;qBACtB,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtB,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,EAArB,CAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;wBAChD,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAlB,CAAkB,EAAE,KAAK,CAAC,EAAE,CAAC;qBAC9C,CAAC,CAAC,CAAC,EAAE,EAAE;wBACN,CAAC,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;qBACtB,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtB,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,EAAxB,CAAwB,EAAE,KAAK,CAAC,EAAE,CAAC;wBACnD,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,aAAa,CAAC,KAAK,CAAC,EAApB,CAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;qBAChD,CAAC,CAAC,CAAC,EAAE,EAAE;wBACN,CAAC,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;qBACtB,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtB,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,EAAvB,CAAuB,EAAE,KAAK,CAAC,EAAE,CAAC;wBAClD,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,EAAxB,CAAwB,EAAE,KAAK,CAAC,EAAE,CAAC;wBACnD,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,aAAa,CAAC,KAAK,CAAC,EAApB,CAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;qBAChD,CAAC,CAAC,CAAC,EAAE,EAAE;wBACN,CAAC,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;qBACtB,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtB,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,QAAQ,CAAC,KAAK,CAAC,EAAf,CAAe,EAAE,KAAK,CAAC,EAAE,CAAC;wBAC1C,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,aAAa,CAAC,KAAK,CAAC,EAApB,CAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;wBAC/C,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,UAAU,CAAC,KAAK,CAAC,EAAjB,CAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;qBAC7C,CAAC,CAAC,CAAC,EAAE,EAAE;wBACN,CAAC,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;qBACtB,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtB,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,EAAzB,CAAyB,EAAE,KAAK,CAAC,EAAE,CAAC;qBACrD,CAAC,CAAC,CAAC,EAAE,EAAE;wBACN,CAAC,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;qBACtB,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtB,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,EAAzB,CAAyB,EAAE,KAAK,CAAC,EAAE,CAAC;wBACpD,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,EAAtB,CAAsB,EAAE,KAAK,CAAC,EAAE,CAAC;wBACjD,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,EAA5B,CAA4B,EAAE,KAAK,CAAC,EAAE,CAAC;qBACxD,CAAC,CAAC,CAAC,EAAE,EAAE;wBACN,CAAC,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;qBACtB,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtB,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,EAAzB,CAAyB,EAAE,KAAK,CAAC,EAAE,CAAC;wBACpD,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,UAAU,CAAC,KAAK,CAAC,EAAjB,CAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;qBAC7C,CAAC,CAAC,CAAC,EAAE,EAAE;wBACN,CAAC,EAAE,EAAE,CAAC,QAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;wBACzB,CAAC,EAAE,KAAK,CAAC,EAAE;wBACX,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,EAAzB,CAAyB,EAAE,KAAK,CAAC,EAAE,CAAC;qBACrD,CAAC,CAAC;gBACL,CAAC,CAAC;aACH,EAAE;gBACD,CAAC,EAAE,WAAW,CAAC,KAAK;aACrB,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC9B,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;aAC7C,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtD,CAAC,EAAE,UAAU,CAAC,KAAK;gBACnB,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC;gBAChB,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC;gBACf,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC;aAChC,CAAC,CAAA;YACA,OAAO,YAAY,CAAA;QACrB,CAAC,CAAA;IACD,CAAC;CAEA,CAAC,CAAA\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/2c7d6833d1cd1a3ada2782776fa54bd52081d2f9 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/2c7d6833d1cd1a3ada2782776fa54bd52081d2f9 deleted file mode 100644 index d028a9cd..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/2c7d6833d1cd1a3ada2782776fa54bd52081d2f9 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'payment-success',\n setup(__props) {\n const orderId = ref('');\n const orderNo = ref('');\n const amount = ref(0);\n // 定义 loadOrderInfo 函数(必须在 onMounted 之前)\n const loadOrderInfo = () => { return __awaiter(this, void 0, void 0, function* () {\n try {\n const response = yield supabaseService.getOrderById(orderId.value);\n uni.__f__('log', 'at pages/mall/consumer/payment-success.uvue:35', '[payment-success] getOrderById response:', UTS.JSON.stringify(response));\n if (response != null) {\n const orderData = response;\n const totalAmount = orderData.getNumber('total_amount');\n const paidAmount = orderData.getNumber('paid_amount');\n uni.__f__('log', 'at pages/mall/consumer/payment-success.uvue:41', '[payment-success] total_amount:', totalAmount, 'paid_amount:', paidAmount);\n if (paidAmount != null && paidAmount > 0) {\n amount.value = paidAmount;\n }\n else if (totalAmount != null && totalAmount > 0) {\n amount.value = totalAmount;\n }\n const orderNoVal = orderData.getString('order_no');\n if (orderNoVal != null && orderNoVal != '') {\n orderNo.value = orderNoVal;\n }\n }\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/payment-success.uvue:55', '[payment-success] 加载订单信息失败:', err);\n }\n }); };\n onLoad((options) => {\n if (options == null)\n return null;\n const orderIdValue = options['orderId'];\n if (orderIdValue != null) {\n orderId.value = orderIdValue;\n orderNo.value = orderIdValue;\n const amountValue = options['amount'];\n if (amountValue != null) {\n const amountStr = amountValue.toString();\n uni.__f__('log', 'at pages/mall/consumer/payment-success.uvue:70', '[payment-success] amountStr:', amountStr);\n const parsed = parseFloat(amountStr);\n uni.__f__('log', 'at pages/mall/consumer/payment-success.uvue:72', '[payment-success] parsed:', parsed);\n if (isNaN(parsed) == false) {\n amount.value = parsed;\n }\n }\n if (amount.value == 0) {\n uni.__f__('log', 'at pages/mall/consumer/payment-success.uvue:79', '[payment-success] amount为0,尝试从数据库查询');\n }\n loadOrderInfo();\n }\n });\n onMounted(() => {\n // 逻辑已移到 onLoad\n });\n const viewOrder = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/orders'\n });\n };\n const goHome = () => {\n uni.switchTab({\n url: '/pages/main/index'\n });\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: orderId.value\n }, orderId.value ? {\n b: _t(orderNo.value),\n c: _t(amount.value.toFixed(2))\n } : {}, {\n d: _o(viewOrder),\n e: _o(goHome),\n f: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/payment-success.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__","uni.navigateTo","uni.switchTab"],"map":"{\"version\":3,\"file\":\"payment-success.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"payment-success.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/2e0d6dc961a998606f9a0e444aef275cc1517830 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/2e0d6dc961a998606f9a0e444aef275cc1517830 deleted file mode 100644 index 0a3d6f2b..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/2e0d6dc961a998606f9a0e444aef275cc1517830 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, n as _n, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass MemberLevel extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: Number, optional: false },\n name: { type: String, optional: false },\n min_amount: { type: Number, optional: false },\n discount: { type: Number, optional: false },\n description: { type: String, optional: true }\n };\n },\n name: \"MemberLevel\"\n };\n }\n constructor(options, metadata = MemberLevel.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.min_amount = this.__props__.min_amount;\n this.discount = this.__props__.discount;\n this.description = this.__props__.description;\n delete this.__props__;\n }\n}\nclass MemberInfo extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n member_level: { type: Number, optional: false },\n level_name: { type: String, optional: false },\n discount: { type: Number, optional: false },\n total_spent: { type: Number, optional: false },\n next_level: { type: MemberLevel, optional: true },\n progress_percent: { type: Number, optional: false },\n manual_level: { type: Boolean, optional: false }\n };\n },\n name: \"MemberInfo\"\n };\n }\n constructor(options, metadata = MemberInfo.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.member_level = this.__props__.member_level;\n this.level_name = this.__props__.level_name;\n this.discount = this.__props__.discount;\n this.total_spent = this.__props__.total_spent;\n this.next_level = this.__props__.next_level;\n this.progress_percent = this.__props__.progress_percent;\n this.manual_level = this.__props__.manual_level;\n delete this.__props__;\n }\n}\nclass LevelLog extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n old_level: { type: Number, optional: false },\n new_level: { type: Number, optional: false },\n reason: { type: String, optional: true },\n created_at: { type: String, optional: false }\n };\n },\n name: \"LevelLog\"\n };\n }\n constructor(options, metadata = LevelLog.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.old_level = this.__props__.old_level;\n this.new_level = this.__props__.new_level;\n this.reason = this.__props__.reason;\n this.created_at = this.__props__.created_at;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'index',\n setup(__props) {\n const memberInfo = ref(new MemberInfo({\n member_level: 0,\n level_name: '普通会员',\n discount: 1.0,\n total_spent: 0,\n next_level: null,\n progress_percent: 0,\n manual_level: false\n }));\n const levels = ref([]);\n const logs = ref([]);\n const logsLoading = ref(false);\n const loadMemberInfo = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l;\n try {\n const result = yield supabaseService.getUserMemberInfo();\n const info = new MemberInfo({\n member_level: (_a = result.getNumber('member_level')) !== null && _a !== void 0 ? _a : 0,\n level_name: (_b = result.getString('level_name')) !== null && _b !== void 0 ? _b : '普通会员',\n discount: (_c = result.getNumber('discount')) !== null && _c !== void 0 ? _c : 1.0,\n total_spent: (_d = result.getNumber('total_spent')) !== null && _d !== void 0 ? _d : 0,\n next_level: null,\n progress_percent: (_g = result.getNumber('progress_percent')) !== null && _g !== void 0 ? _g : 0,\n manual_level: (_h = result.getBoolean('manual_level')) !== null && _h !== void 0 ? _h : false\n });\n const nextLevelRaw = result.get('next_level');\n if (nextLevelRaw != null) {\n let nextLevelObj = null;\n if (UTS.isInstanceOf(nextLevelRaw, UTSJSONObject)) {\n nextLevelObj = nextLevelRaw;\n }\n else {\n nextLevelObj = UTS.JSON.parse(UTS.JSON.stringify(nextLevelRaw));\n }\n const nextLevel = new MemberLevel({\n id: (_j = nextLevelObj.getNumber('id')) !== null && _j !== void 0 ? _j : 0,\n name: (_k = nextLevelObj.getString('name')) !== null && _k !== void 0 ? _k : '',\n min_amount: (_l = nextLevelObj.getNumber('min_amount')) !== null && _l !== void 0 ? _l : 0,\n discount: 1.0,\n description: null\n });\n info.next_level = nextLevel;\n }\n memberInfo.value = info;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/member/index.uvue:186', '加载会员信息失败:', e);\n }\n }); };\n const loadLevels = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d;\n try {\n const result = yield supabaseService.getMemberLevels();\n const parsed = [];\n for (let i = 0; i < result.length; i++) {\n const item = result[i];\n let itemObj = null;\n if (UTS.isInstanceOf(item, UTSJSONObject)) {\n itemObj = item;\n }\n else {\n itemObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n }\n parsed.push(new MemberLevel({\n id: (_a = itemObj.getNumber('id')) !== null && _a !== void 0 ? _a : 0,\n name: (_b = itemObj.getString('name')) !== null && _b !== void 0 ? _b : '',\n min_amount: (_c = itemObj.getNumber('min_amount')) !== null && _c !== void 0 ? _c : 0,\n discount: (_d = itemObj.getNumber('discount')) !== null && _d !== void 0 ? _d : 1.0,\n description: itemObj.getString('description')\n }));\n }\n levels.value = parsed;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/member/index.uvue:215', '加载会员等级失败:', e);\n }\n }); };\n const loadLogs = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d;\n logsLoading.value = true;\n try {\n const result = yield supabaseService.getMemberLevelLogs();\n const parsed = [];\n for (let i = 0; i < result.length; i++) {\n const item = result[i];\n let itemObj = null;\n if (UTS.isInstanceOf(item, UTSJSONObject)) {\n itemObj = item;\n }\n else {\n itemObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n }\n parsed.push(new LevelLog({\n id: (_a = itemObj.getString('id')) !== null && _a !== void 0 ? _a : '',\n old_level: (_b = itemObj.getNumber('old_level')) !== null && _b !== void 0 ? _b : 0,\n new_level: (_c = itemObj.getNumber('new_level')) !== null && _c !== void 0 ? _c : 0,\n reason: itemObj.getString('reason'),\n created_at: (_d = itemObj.getString('created_at')) !== null && _d !== void 0 ? _d : ''\n }));\n }\n logs.value = parsed;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/member/index.uvue:245', '加载变更记录失败:', e);\n }\n finally {\n logsLoading.value = false;\n }\n }); };\n const getDiscountText = (discount) => {\n if (discount >= 1)\n return '无折扣';\n return Math.round(discount * 100) / 10 + '折';\n };\n const getNextLevelName = () => {\n if (memberInfo.value.next_level != null) {\n return memberInfo.value.next_level.name;\n }\n return '';\n };\n const getNextLevelMinAmount = () => {\n if (memberInfo.value.next_level != null) {\n return memberInfo.value.next_level.min_amount;\n }\n return 0;\n };\n const getRemainingAmount = () => {\n if (memberInfo.value.next_level != null) {\n return memberInfo.value.next_level.min_amount - memberInfo.value.total_spent;\n }\n return 0;\n };\n const getLevelName = (level) => {\n for (let i = 0; i < levels.value.length; i++) {\n if (levels.value[i].id === level) {\n return levels.value[i].name;\n }\n }\n return '普通会员';\n };\n const formatDate = (dateStr) => {\n if (dateStr === '')\n return '';\n const date = new Date(dateStr);\n const y = date.getFullYear();\n const m = (date.getMonth() + 1).toString().padStart(2, '0');\n const d = date.getDate().toString().padStart(2, '0');\n return `${y}-${m}-${d}`;\n };\n onMounted(() => {\n loadMemberInfo();\n loadLevels();\n loadLogs();\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _t(memberInfo.value.level_name),\n b: _n('level-' + memberInfo.value.member_level),\n c: _t(getDiscountText(memberInfo.value.discount)),\n d: memberInfo.value.next_level != null\n }, memberInfo.value.next_level != null ? {\n e: _t(getNextLevelName()),\n f: _t(getRemainingAmount()),\n g: memberInfo.value.progress_percent + '%',\n h: _t(memberInfo.value.total_spent),\n i: _t(getNextLevelMinAmount())\n } : {}, {\n j: _f(levels.value, (level, k0, i0) => {\n return _e({\n a: _t(level.name.charAt(0)),\n b: _n('level-bg-' + level.id),\n c: _t(level.name),\n d: _t(level.description != null && level.description != '' ? level.description : '累计消费' + level.min_amount + '元'),\n e: _t(getDiscountText(level.discount)),\n f: level.id === memberInfo.value.member_level\n }, level.id === memberInfo.value.member_level ? {} : {}, {\n g: level.id,\n h: level.id === memberInfo.value.member_level ? 1 : ''\n });\n }),\n k: logsLoading.value\n }, logsLoading.value ? {} : logs.value.length === 0 ? {} : {\n m: _f(logs.value, (log, k0, i0) => {\n return {\n a: _t(getLevelName(log.old_level)),\n b: _t(getLevelName(log.new_level)),\n c: _t(log.reason != null && log.reason != '' ? log.reason : '系统升级'),\n d: _t(formatDate(log.created_at)),\n e: log.id\n };\n })\n }, {\n l: logs.value.length === 0,\n n: _sei(_gei(_ctx, ''), 'scroll-view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/member/index.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__"],"map":"{\"version\":3,\"file\":\"index.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"index.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/31f29e9d0fe8afe4d8494256fd3556498e2e78f9 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/31f29e9d0fe8afe4d8494256fd3556498e2e78f9 deleted file mode 100644 index ac657254..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/31f29e9d0fe8afe4d8494256fd3556498e2e78f9 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, n as _n, f as _f, o as _o, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass BalanceRecord extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n type: { type: String, optional: false },\n amount: { type: Number, optional: false },\n balance_before: { type: Number, optional: false },\n balance_after: { type: Number, optional: false },\n description: { type: String, optional: true },\n created_at: { type: String, optional: false }\n };\n },\n name: \"BalanceRecord\"\n };\n }\n constructor(options, metadata = BalanceRecord.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.type = this.__props__.type;\n this.amount = this.__props__.amount;\n this.balance_before = this.__props__.balance_before;\n this.balance_after = this.__props__.balance_after;\n this.description = this.__props__.description;\n this.created_at = this.__props__.created_at;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'index',\n setup(__props) {\n const balance = ref(0);\n const totalEarned = ref(0);\n const totalWithdrawn = ref(0);\n const records = ref([]);\n const loading = ref(true);\n const loadBalance = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n try {\n const result = yield supabaseService.getUserBalance();\n balance.value = (_a = result.getNumber('balance')) !== null && _a !== void 0 ? _a : 0;\n totalEarned.value = (_b = result.getNumber('total_earned')) !== null && _b !== void 0 ? _b : 0;\n totalWithdrawn.value = (_c = result.getNumber('total_withdrawn')) !== null && _c !== void 0 ? _c : 0;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/balance/index.uvue:90', '加载余额失败:', e);\n }\n }); };\n const loadRecords = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h;\n loading.value = true;\n try {\n const result = yield supabaseService.getBalanceRecords(1, 50);\n const parsed = [];\n for (let i = 0; i < result.length; i++) {\n const item = result[i];\n let id = '';\n let type = '';\n let amount = 0;\n let balanceBefore = 0;\n let balanceAfter = 0;\n let description = null;\n let createdAt = '';\n let itemObj = null;\n if (UTS.isInstanceOf(item, UTSJSONObject)) {\n itemObj = item;\n }\n else {\n itemObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n }\n id = (_a = itemObj.getString('id')) !== null && _a !== void 0 ? _a : '';\n type = (_b = itemObj.getString('type')) !== null && _b !== void 0 ? _b : '';\n amount = (_c = itemObj.getNumber('amount')) !== null && _c !== void 0 ? _c : 0;\n balanceBefore = (_d = itemObj.getNumber('balance_before')) !== null && _d !== void 0 ? _d : 0;\n balanceAfter = (_g = itemObj.getNumber('balance_after')) !== null && _g !== void 0 ? _g : 0;\n description = itemObj.getString('description');\n createdAt = (_h = itemObj.getString('created_at')) !== null && _h !== void 0 ? _h : '';\n parsed.push(new BalanceRecord({\n id,\n type,\n amount,\n balance_before: balanceBefore,\n balance_after: balanceAfter,\n description,\n created_at: createdAt\n }));\n }\n records.value = parsed;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/balance/index.uvue:139', '加载余额记录失败:', e);\n }\n finally {\n loading.value = false;\n }\n }); };\n const loadData = () => { return __awaiter(this, void 0, void 0, function* () {\n yield Promise.all([\n loadBalance(),\n loadRecords()\n ]);\n }); };\n const getTypeText = (type) => {\n if (type === 'free_order')\n return '免单奖励';\n if (type === 'rebate')\n return '返利';\n if (type === 'withdraw')\n return '提现';\n if (type === 'clear')\n return '余额清零';\n if (type === 'manual')\n return '手动调整';\n return '余额变动';\n };\n const formatTime = (timeStr) => {\n if (timeStr === '')\n return '';\n const date = new Date(timeStr);\n const y = date.getFullYear();\n const m = (date.getMonth() + 1).toString().padStart(2, '0');\n const d = date.getDate().toString().padStart(2, '0');\n const hh = date.getHours().toString().padStart(2, '0');\n const mm = date.getMinutes().toString().padStart(2, '0');\n return `${y}-${m}-${d} ${hh}:${mm}`;\n };\n const showWithdrawTips = () => {\n uni.showModal(new UTSJSONObject({\n title: '提现说明',\n content: '请添加商家微信进行提现处理,商家确认后将通过微信转账给您。',\n showCancel: false,\n confirmText: '我知道了'\n }));\n };\n onMounted(() => {\n loadData();\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _t(balance.value),\n b: _t(totalEarned.value),\n c: _t(totalWithdrawn.value),\n d: loading.value\n }, loading.value ? {} : records.value.length === 0 ? {} : {\n f: _f(records.value, (record, k0, i0) => {\n return {\n a: _t(getTypeText(record.type)),\n b: _t(formatTime(record.created_at)),\n c: _t(record.amount > 0 ? '+' : ''),\n d: _t(record.amount),\n e: _n(record.amount > 0 ? 'positive' : 'negative'),\n f: _t(record.balance_after),\n g: record.id\n };\n })\n }, {\n e: records.value.length === 0,\n g: _o(showWithdrawTips),\n h: _sei(_gei(_ctx, ''), 'scroll-view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/balance/index.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__","uni.showModal"],"map":"{\"version\":3,\"file\":\"index.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"index.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/33f69ff5bed2f84df6a418b476284c928ef39189 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/33f69ff5bed2f84df6a418b476284c928ef39189 deleted file mode 100644 index 2966c55a..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/33f69ff5bed2f84df6a418b476284c928ef39189 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass PointRecord extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n user_id: { type: String, optional: false },\n points: { type: Number, optional: false },\n type: { type: String, optional: false },\n description: { type: String, optional: false },\n created_at: { type: String, optional: false }\n };\n },\n name: \"PointRecord\"\n };\n }\n constructor(options, metadata = PointRecord.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.user_id = this.__props__.user_id;\n this.points = this.__props__.points;\n this.type = this.__props__.type;\n this.description = this.__props__.description;\n this.created_at = this.__props__.created_at;\n delete this.__props__;\n }\n}\nclass ExpiringDetail extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n points: { type: Number, optional: false },\n description: { type: String, optional: true },\n expires_at: { type: String, optional: false },\n created_at: { type: String, optional: false }\n };\n },\n name: \"ExpiringDetail\"\n };\n }\n constructor(options, metadata = ExpiringDetail.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.points = this.__props__.points;\n this.description = this.__props__.description;\n this.expires_at = this.__props__.expires_at;\n this.created_at = this.__props__.created_at;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'index',\n setup(__props) {\n const totalPoints = ref(0);\n const records = ref([]);\n const loading = ref(true);\n const signedToday = ref(false);\n const continuousDays = ref(0);\n const expiringPoints = ref(0);\n const expiringDate = ref('');\n const expiringDetails = ref([]);\n const showExpiringPopup = ref(false);\n const loadPoints = () => { return __awaiter(this, void 0, void 0, function* () {\n try {\n const points = yield supabaseService.getUserPoints();\n totalPoints.value = points;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/points/index.uvue:146', '获取积分失败', e);\n }\n }); };\n const loadRecords = () => { return __awaiter(this, void 0, void 0, function* () {\n try {\n const list = yield supabaseService.getPointRecords();\n records.value = list;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/points/index.uvue:155', '获取积分记录失败', e);\n }\n }); };\n const loadSigninStatus = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n try {\n const status = yield supabaseService.getTodaySigninStatus();\n signedToday.value = (_a = status.getBoolean('signed')) !== null && _a !== void 0 ? _a : false;\n continuousDays.value = (_b = status.getNumber('continuous_days')) !== null && _b !== void 0 ? _b : 0;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/points/index.uvue:165', '获取签到状态失败', e);\n }\n }); };\n const loadExpiringPoints = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g;\n try {\n const result = yield supabaseService.getExpiringPoints();\n expiringPoints.value = (_a = result.getNumber('expiring_points')) !== null && _a !== void 0 ? _a : 0;\n expiringDate.value = (_b = result.getString('expiring_date')) !== null && _b !== void 0 ? _b : '';\n const detailsRaw = result.get('details');\n if (detailsRaw != null && Array.isArray(detailsRaw)) {\n const details = [];\n const arr = detailsRaw;\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n let itemObj;\n if (UTS.isInstanceOf(item, UTSJSONObject)) {\n itemObj = item;\n }\n else {\n itemObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n }\n details.push(new ExpiringDetail({\n points: (_c = itemObj.getNumber('points')) !== null && _c !== void 0 ? _c : 0,\n description: itemObj.getString('description'),\n expires_at: (_d = itemObj.getString('expires_at')) !== null && _d !== void 0 ? _d : '',\n created_at: (_g = itemObj.getString('created_at')) !== null && _g !== void 0 ? _g : ''\n }));\n }\n expiringDetails.value = details;\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/points/index.uvue:197', '获取即将过期积分失败', e);\n }\n }); };\n const loadData = () => { return __awaiter(this, void 0, void 0, function* () {\n loading.value = true;\n yield Promise.all([\n loadPoints(),\n loadRecords(),\n loadSigninStatus(),\n loadExpiringPoints()\n ]);\n loading.value = false;\n }); };\n onMounted(() => {\n loadData();\n });\n const handleExchange = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/points/exchange'\n });\n };\n const goToSignin = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/points/signin'\n });\n };\n const goToMyReviews = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/my-reviews'\n });\n };\n const showExpiringDetails = () => {\n showExpiringPopup.value = true;\n };\n const closeExpiringPopup = () => {\n showExpiringPopup.value = false;\n };\n const getTypeText = (type) => {\n if (type == 'signin') {\n return '每日签到';\n }\n else if (type == 'shopping') {\n return '购物奖励';\n }\n else if (type == 'redeem') {\n return '积分兑换';\n }\n else if (type == 'admin') {\n return '系统调整';\n }\n else if (type == 'register') {\n return '注册赠送';\n }\n else if (type == 'expire') {\n return '积分过期';\n }\n else {\n return '积分变动';\n }\n };\n const formatTime = (timeStr) => {\n if (timeStr == '')\n return '';\n const date = new Date(timeStr);\n const y = date.getFullYear();\n const m = (date.getMonth() + 1).toString().padStart(2, '0');\n const d = date.getDate().toString().padStart(2, '0');\n const hh = date.getHours().toString().padStart(2, '0');\n const mm = date.getMinutes().toString().padStart(2, '0');\n return `${y}-${m}-${d} ${hh}:${mm}`;\n };\n const formatDate = (dateStr) => {\n if (dateStr == '')\n return '';\n const date = new Date(dateStr);\n const y = date.getFullYear();\n const m = (date.getMonth() + 1).toString().padStart(2, '0');\n const d = date.getDate().toString().padStart(2, '0');\n return `${y}-${m}-${d}`;\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _t(totalPoints.value),\n b: _o(handleExchange),\n c: !signedToday.value\n }, !signedToday.value ? {} : {}, {\n d: _o(goToSignin),\n e: _o(handleExchange),\n f: _o(goToMyReviews),\n g: !signedToday.value\n }, !signedToday.value ? {\n h: _o(goToSignin)\n } : {\n i: _t(continuousDays.value)\n }, {\n j: expiringPoints.value > 0\n }, expiringPoints.value > 0 ? {\n k: _t(expiringPoints.value),\n l: _t(expiringDate.value),\n m: _o(showExpiringDetails)\n } : {}, {\n n: loading.value\n }, loading.value ? {} : records.value.length === 0 ? {} : {\n p: _f(records.value, (item, k0, i0) => {\n return {\n a: _t(item.description ?? getTypeText(item.type)),\n b: _t(formatTime(item.created_at)),\n c: _t(item.points > 0 ? '+' : ''),\n d: _t(item.points),\n e: item.points > 0 ? 1 : '',\n f: item.points < 0 ? 1 : '',\n g: item.id\n };\n })\n }, {\n o: records.value.length === 0,\n q: showExpiringPopup.value\n }, showExpiringPopup.value ? {\n r: _o(closeExpiringPopup),\n s: _f(expiringDetails.value, (detail, index, i0) => {\n return {\n a: _t(detail.points),\n b: _t(detail.description ?? '积分获取'),\n c: _t(formatDate(detail.expires_at)),\n d: index\n };\n }),\n t: _o(() => { }),\n v: _o(closeExpiringPopup)\n } : {}, {\n w: _sei(_gei(_ctx, ''), 'scroll-view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/points/index.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__","uni.navigateTo"],"map":"{\"version\":3,\"file\":\"index.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"index.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/35fe7f02336e4da6657a8163909b8be379ed5e58 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/35fe7f02336e4da6657a8163909b8be379ed5e58 deleted file mode 100644 index 2ff691bc..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/35fe7f02336e4da6657a8163909b8be379ed5e58 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, n as _n, toDisplayString as _toDisplayString, t as _t, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, reactive, onMounted } from 'vue';\nimport { onShow, onLoad } from '@dcloudio/uni-app';\nimport supabaseService from \"@/utils/supabaseService\";\nimport { Product, Category, Brand } from \"@/utils/supabaseService\";\nimport { getCurrentUser } from \"@/utils/store\";\nclass CapsuleButtonInfo extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n left: { type: Number, optional: false },\n top: { type: Number, optional: false },\n right: { type: Number, optional: false },\n bottom: { type: Number, optional: false },\n width: { type: Number, optional: false },\n height: { type: Number, optional: false }\n };\n },\n name: \"CapsuleButtonInfo\"\n };\n }\n constructor(options, metadata = CapsuleButtonInfo.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.left = this.__props__.left;\n this.top = this.__props__.top;\n this.right = this.__props__.right;\n this.bottom = this.__props__.bottom;\n this.width = this.__props__.width;\n this.height = this.__props__.height;\n delete this.__props__;\n }\n}\n// 小程序胶囊按钮信息\nconst scrollThreshold = 30; // 降低滚动阈值,使其更灵敏\nclass SortTab extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false }\n };\n },\n name: \"SortTab\"\n };\n }\n constructor(options, metadata = SortTab.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n delete this.__props__;\n }\n}\n// 排序标签\nconst defaultLoadLimit = 6;\n// 前置声明内部加载函数\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'index',\n setup(__props) {\n const statusBarHeight = ref(0);\n const scrollHeight = ref(0);\n const refreshing = ref(false);\n const loading = ref(false);\n const isFirstShow = ref(true);\n const hasMore = ref(true);\n const activeSort = ref('recommend'); // 默认展示智能推荐\n const activeFilter = ref('recommend');\n const currentPage = ref(1);\n const priceAscending = ref(true); // 价格排序方向:true=升序,false=降序\n // 小程序胶囊按钮信息类型\n const capsuleButtonInfo = ref(null);\n const navBarRight = ref(0); // 导航栏右侧预留空间\n // 数据源\n const hotProducts = ref([]);\n const recommendedProducts = ref([]);\n const hotKeywords = ref([]);\n // 屏幕尺寸检测\n const isMobile = ref(false);\n const showLoadMore = ref(false);\n // 导航栏显示控制\n const showNavbar = ref(true);\n const lastScrollTop = ref(0);\n const scrollingUp = ref(false);\n // 分类数据 - 从Supabase获取\n const categoryTab = ref('category');\n const categories = ref([]);\n const brands = ref([]);\n // 一级分类和二级分类\n const parentCategories = ref([]);\n const subCategories = ref([]);\n const selectedParentCategory = ref(null);\n const showSubCategories = ref(false);\n const sortTabs = [\n new SortTab({ id: 'recommend', name: '智能推荐' }),\n new SortTab({ id: 'sales', name: '销量' }),\n new SortTab({ id: 'price', name: '价格' }),\n new SortTab({ id: 'new', name: '新品' }),\n new SortTab({ id: 'discount', name: '特价' })\n ];\n // 健康资讯\n const healthNews = [\n new UTSJSONObject({\n id: 'news1',\n title: '秋季流感预防指南,科学防护健康过冬',\n tag: '健康科普',\n image: 'https://picsum.photos/800/400?random=health1'\n }),\n new UTSJSONObject({\n id: 'news2',\n title: '家庭常备药清单,为家人健康保驾护航',\n tag: '家庭用药',\n image: 'https://picsum.photos/800/400?random=health2'\n }),\n new UTSJSONObject({\n id: 'news3',\n title: '慢性病科学管理,提高生活质量',\n tag: '健康管理',\n image: 'https://picsum.photos/800/400?random=health3'\n })\n ];\n // 获取一级分类数据\n const loadCategories = () => { return __awaiter(this, void 0, void 0, function* () {\n try {\n const categoriesData = yield supabaseService.getParentCategories();\n parentCategories.value = categoriesData;\n // 兼容其他使用 categories 的地方\n categories.value = categoriesData;\n uni.__f__('log', 'at pages/main/index.uvue:375', '一级分类数据:', UTS.JSON.stringify(parentCategories.value));\n }\n catch (error) {\n uni.__f__('error', 'at pages/main/index.uvue:377', '加载分类数据失败:', error);\n parentCategories.value = [];\n categories.value = [];\n }\n }); };\n // 获取二级分类数据\n const loadSubCategories = (parentId) => { return __awaiter(this, void 0, void 0, function* () {\n try {\n uni.__f__('log', 'at pages/main/index.uvue:386', '[loadSubCategories] 开始加载二级分类, parentId:', parentId);\n const subData = yield supabaseService.getSubCategories(parentId);\n uni.__f__('log', 'at pages/main/index.uvue:388', '[loadSubCategories] 获取到二级分类数量:', subData.length);\n uni.__f__('log', 'at pages/main/index.uvue:389', '[loadSubCategories] 二级分类数据:', UTS.JSON.stringify(subData));\n subCategories.value = subData;\n }\n catch (error) {\n uni.__f__('error', 'at pages/main/index.uvue:392', '加载子分类数据失败:', error);\n subCategories.value = [];\n }\n }); };\n // 点击一级分类\n const onParentCategoryClick = (category) => { return __awaiter(this, void 0, void 0, function* () {\n uni.__f__('log', 'at pages/main/index.uvue:399', '[onParentCategoryClick] 点击一级分类:', category.name, 'id:', category.id);\n // 如果已经选中,则切换显示/隐藏二级分类\n if (selectedParentCategory.value != null && selectedParentCategory.value.id === category.id) {\n uni.__f__('log', 'at pages/main/index.uvue:403', '[onParentCategoryClick] 切换显示状态');\n showSubCategories.value = !showSubCategories.value;\n return Promise.resolve(null);\n }\n // 选中新的分类\n selectedParentCategory.value = category;\n showSubCategories.value = true;\n uni.__f__('log', 'at pages/main/index.uvue:411', '[onParentCategoryClick] showSubCategories 设置为 true');\n // 加载二级分类\n yield loadSubCategories(category.id);\n // 如果没有二级分类,直接跳转到分类页\n if (subCategories.value.length == 0) {\n uni.__f__('log', 'at pages/main/index.uvue:418', '[onParentCategoryClick] 没有二级分类,直接跳转到分类页');\n uni.setStorageSync('selectedCategory', category.id);\n uni.switchTab({\n url: '/pages/main/category'\n });\n }\n }); };\n // 点击二级分类\n const onSubCategoryClick = (category) => {\n // 跳转到分类页面\n uni.setStorageSync('selectedCategory', category.id);\n const timestamp = Date.now();\n const randomParam = Math.random().toString(36).substring(2, 8);\n const url = `/pages/main/category?categoryId=${category.id}&name=${encodeURIComponent(category.name)}×tamp=${timestamp}&random=${randomParam}`;\n uni.switchTab({\n url: '/pages/main/category'\n });\n };\n // 获取品牌数据\n const loadBrands = () => { return __awaiter(this, void 0, void 0, function* () {\n try {\n const brandsData = yield supabaseService.getBrands();\n brands.value = brandsData;\n }\n catch (e) {\n uni.__f__('error', 'at pages/main/index.uvue:445', '加载品牌失败:', e);\n brands.value = [];\n }\n }); };\n // 根据品牌名称获取图标\n const getBrandIcon = (name) => {\n if (name == null || name === '') {\n return '🏢';\n }\n // 常见品牌图标映射(使用数组方式避免 Object.keys 问题)\n const iconKeys = [\n '感冒', '发烧', '咳嗽', '消炎', '维生素', '钙片', '胃药', '止痛', '过敏', '皮肤', '眼药水', '口腔', '血压', '血糖', '血脂', '保健', '养生', '减肥', '美容', '母婴', '儿童', '老人', '男性', '女性', '维生素C', '维生素D', '蛋白粉', '鱼油', '蜂胶', '阿胶', '红枣', '枸杞', '菊花', '金银花', '口罩', '消毒液', '体温计', '创可贴', '棉签',\n '九芝堂', '同仁堂', '云南白药', '东阿阿胶', '太极', '江中', '三九', '华素制药', '汤臣倍健', '白云山', '修正', '葵花', '哈药', '扬子江', '恒瑞', '复星', '辉瑞', '阿斯利康', '罗氏', '默沙东', '赛诺菲', '诺华', '雅培', '雀巢', '蒙牛', '伊利', '海尔', '美的', '飞利浦', '西门子', '松下', '苏泊尔', '九阳', '华为', '小米', '苹果', '三星'\n ];\n const iconValues = [\n '💊', '🌡️', '😷', '🔬', '💊', '🦴', '🫁', '💉', '🌸', '🧴', '👁️', '🦷', '❤️', '🩸', '💓', '🧬', '🍵', '⚖️', '💅', '👶', '🧒', '👴', '♂️', '♀️', '🍊', '☀️', '🥛', '🐟', '🐝', '🍯', '🫘', '🌿', '🌼', '🌸', '😷', '🧴', '🌡️', '🩹', '🧺',\n '📜', '🏛️', '⛰️', '🍯', '☯️', '🌿', '9️⃣', '💊', '💪', '⛰️', '🩹', '🌻', '🧪', '🚢', '🔬', '⭐', '🧬', '🧪', '🧬', '💊', '🧬', '🔬', '🏥', '🥣', '🐄', '🥛', '🏠', '❄️', '🪒', '⚡', '🔋', '🍳', '🥛', '📱', '🍚', '🍎', '📱'\n ];\n // 尝试精确匹配\n for (let i = 0; i < iconKeys.length; i++) {\n if (name === iconKeys[i]) {\n return iconValues[i];\n }\n }\n // 尝试模糊匹配\n for (let i = 0; i < iconKeys.length; i++) {\n if (name.indexOf(iconKeys[i]) !== -1) {\n return iconValues[i];\n }\n }\n // 默认返回品牌图标\n return '🏢';\n };\n // 默认加载商品数量\n const doLoadHotProducts = (targetLimit, resolve, reject) => { return __awaiter(this, void 0, void 0, function* () {\n try {\n let products = [];\n const limit = targetLimit;\n uni.__f__('log', 'at pages/main/index.uvue:490', '加载热销商品,当前排序方式:', activeSort.value, 'limit:', limit);\n switch (activeSort.value) {\n case 'sales':\n uni.__f__('log', 'at pages/main/index.uvue:494', '调用 getProductsBySales');\n products = yield supabaseService.getProductsBySales(limit);\n break;\n case 'price':\n uni.__f__('log', 'at pages/main/index.uvue:498', '调用 getProductsByPrice, 升序:', priceAscending.value);\n products = yield supabaseService.getProductsByPrice(limit, priceAscending.value);\n break;\n case 'new':\n uni.__f__('log', 'at pages/main/index.uvue:502', '调用 getProductsByNewest');\n products = yield supabaseService.getProductsByNewest(limit);\n break;\n case 'recommend':\n uni.__f__('log', 'at pages/main/index.uvue:506', '调用 getSmartRecommendations');\n products = yield supabaseService.getSmartRecommendations(limit);\n break;\n case 'discount':\n uni.__f__('log', 'at pages/main/index.uvue:510', '调用 getDiscountProducts');\n products = yield supabaseService.getDiscountProducts(limit);\n break;\n default:\n uni.__f__('log', 'at pages/main/index.uvue:514', '调用默认 getProductsBySales');\n products = yield supabaseService.getProductsBySales(limit);\n }\n uni.__f__('log', 'at pages/main/index.uvue:518', '加载到的商品数量:', products.length);\n if (products.length > 0) {\n uni.__f__('log', 'at pages/main/index.uvue:520', 'Sample Product Merchant IDs:');\n for (let i = 0; i < Math.min(products.length, 3); i++) {\n const p = products[i];\n uni.__f__('log', 'at pages/main/index.uvue:523', ` - Product: ${p.name}, MerchantID: ${p.merchant_id}`);\n }\n }\n hotProducts.value = products;\n }\n catch (error) {\n uni.__f__('error', 'at pages/main/index.uvue:528', '加载热销商品失败:', error);\n hotProducts.value = [];\n }\n }); };\n // 获取热销商品(根据当前排序方式)\n function loadHotProducts(targetLimit) {\n return new Promise((resolve, reject) => {\n doLoadHotProducts(targetLimit, resolve, reject);\n });\n }\n // 前置声明推荐商品加载函数\n const doLoadRecommendedProducts = (limit, resolve, reject) => { return __awaiter(this, void 0, void 0, function* () {\n recommendedProducts.value = yield supabaseService.getRecommendedProducts(limit);\n resolve();\n }); };\n // 获取推荐商品\n function loadRecommendedProducts(limit) {\n return new Promise((resolve, reject) => {\n doLoadRecommendedProducts(limit, resolve, reject);\n });\n }\n // 加载热搜词\n const loadHotKeywords = () => { return __awaiter(this, void 0, void 0, function* () {\n try {\n const keywords = yield supabaseService.getHotKeywords(10);\n hotKeywords.value = keywords;\n uni.__f__('log', 'at pages/main/index.uvue:558', '加载热搜词:', keywords.length, '个');\n }\n catch (error) {\n uni.__f__('error', 'at pages/main/index.uvue:560', '加载热搜词失败:', error);\n hotKeywords.value = [];\n }\n }); };\n // 点击热搜词进行搜索\n const searchByKeyword = (keyword) => {\n uni.navigateTo({\n url: `/pages/mall/consumer/search?keyword=${encodeURIComponent(keyword)}`\n });\n };\n // 初始化数据\n const initData = () => { return __awaiter(this, void 0, void 0, function* () {\n // 首先确保用户资料已加载\n try {\n yield getCurrentUser();\n uni.__f__('log', 'at pages/main/index.uvue:577', '主页初始化:用户资料加载完成');\n }\n catch (error) {\n uni.__f__('error', 'at pages/main/index.uvue:579', '加载用户资料失败:', error);\n }\n yield loadCategories();\n yield loadBrands();\n yield loadHotKeywords();\n yield loadHotProducts(defaultLoadLimit);\n yield loadRecommendedProducts(defaultLoadLimit);\n }); };\n // 家庭常备药\n const familyItems = [\n new UTSJSONObject({\n id: 'family1',\n name: '创可贴',\n desc: '伤口护理',\n icon: '🩹',\n color: '#FF5722',\n categoryId: 'external'\n }),\n new UTSJSONObject({\n id: 'family2',\n name: '体温计',\n desc: '健康监测',\n icon: '🌡️',\n color: '#2196F3',\n categoryId: 'device'\n }),\n new UTSJSONObject({\n id: 'family3',\n name: '消毒酒精',\n desc: '环境消毒',\n icon: '🧪',\n color: '#ff5000',\n categoryId: 'external'\n }),\n new UTSJSONObject({\n id: 'family4',\n name: '口罩',\n desc: '日常防护',\n icon: '😷',\n color: '#607D8B',\n categoryId: 'device'\n }),\n new UTSJSONObject({\n id: 'family5',\n name: '退热贴',\n desc: '物理降温',\n icon: '🧊',\n color: '#00BCD4',\n categoryId: 'cold'\n }),\n new UTSJSONObject({\n id: 'family6',\n name: '棉签纱布',\n desc: '伤口处理',\n icon: '🩹',\n color: '#FF9800',\n categoryId: 'external'\n })\n ];\n // 初始化页面\n const initPage = () => {\n const systemInfo = uni.getSystemInfoSync();\n statusBarHeight.value = systemInfo.statusBarHeight;\n // 获取小程序胶囊按钮信息\n try {\n capsuleButtonInfo.value = uni.getMenuButtonBoundingClientRect();\n if (capsuleButtonInfo.value != null) {\n // 计算导航栏右侧需要预留的空间(胶囊按钮宽度 + 左右边距)\n navBarRight.value = (systemInfo.screenWidth - capsuleButtonInfo.value.left) + 10;\n }\n }\n catch (e) {\n uni.__f__('log', 'at pages/main/index.uvue:655', '获取胶囊按钮信息失败', e);\n navBarRight.value = 90; // 默认预留空间\n }\n // 计算滚动区域高度 - 不再需要手动计算,使用 Flex 布局自动撑开\n // scrollHeight.value = windowHeight - 50 \n // 检测屏幕尺寸\n const screenWidth = systemInfo.screenWidth;\n isMobile.value = screenWidth < 768; // 小于768px为小屏幕\n };\n // 生命周期\n onMounted(() => {\n initPage();\n initData();\n });\n // 页面显示时重置状态\n onShow(() => {\n uni.__f__('log', 'at pages/main/index.uvue:680', '=== index页面onShow被调用 ===');\n uni.__f__('log', 'at pages/main/index.uvue:681', '主页重新显示,重置页面状态');\n // 重置导航栏显示状态\n showNavbar.value = true;\n lastScrollTop.value = 0;\n // 重置滚动位置到顶部\n // 注意:这里不能直接操作scroll-view的滚动位置\n // 但可以重置一些页面状态\n // 注意:这里不再清除selectedCategory\n // 让分类页面在成功读取后自行清除\n // 这样可以确保分类页面能正确读取到传递的数据\n // 每次页面显示时尝试更新用户资料\n if (!isFirstShow.value) {\n getCurrentUser().then((profile = null) => {\n if (profile != null) {\n uni.__f__('log', 'at pages/main/index.uvue:699', '主页onShow:用户资料更新成功');\n }\n else {\n uni.__f__('log', 'at pages/main/index.uvue:701', '主页onShow:用户资料为空,可能未登录');\n }\n }).catch((error = null) => {\n uni.__f__('error', 'at pages/main/index.uvue:704', '主页onShow:加载用户资料失败:', error);\n });\n }\n else {\n isFirstShow.value = false;\n uni.__f__('log', 'at pages/main/index.uvue:708', '主页首次显示,跳过onShow中的用户资料检查,交由initData处理');\n }\n uni.__f__('log', 'at pages/main/index.uvue:711', '=== index页面onShow执行完成 ===');\n });\n // 处理滚动事件\n const handleScroll = (event = null) => {\n var _a;\n try {\n const eventObj = event;\n const detailRaw = eventObj.get('detail');\n if (detailRaw == null)\n return null;\n const detail = detailRaw;\n const scrollTop = (_a = detail.getNumber('scrollTop')) !== null && _a !== void 0 ? _a : 0;\n const currentTime = Date.now();\n // 判断滚动方向\n if (scrollTop > lastScrollTop.value) {\n // 向下滚动\n scrollingUp.value = false;\n // 向下滚动超过阈值时隐藏导航栏\n if (scrollTop > scrollThreshold && showNavbar.value) {\n showNavbar.value = false;\n }\n }\n else if (scrollTop < lastScrollTop.value) {\n // 向上滚动\n scrollingUp.value = true;\n // 向上滚动时显示导航栏\n if (!showNavbar.value) {\n showNavbar.value = true;\n }\n }\n // 滚动到顶部时强制显示导航栏\n if (scrollTop <= 10) {\n showNavbar.value = true;\n }\n lastScrollTop.value = scrollTop;\n // 调试信息(开发时可启用)\n // uni.__f__('log','at pages/main/index.uvue:749',`Scroll: ${scrollTop}, ShowNavbar: ${showNavbar.value}, ScrollingUp: ${scrollingUp.value}`)\n }\n catch (e) {\n // 忽略滚动事件处理错误\n }\n };\n // 重置导航栏显示状态(例如点击回到顶部时)\n const resetNavbar = () => {\n showNavbar.value = true;\n lastScrollTop.value = 0;\n };\n // 切换分类 - 跳转到分类页面并传递分类ID\n const switchCategory = (category = null) => {\n var _a, _b;\n uni.__f__('log', 'at pages/main/index.uvue:763', '=== switchCategory函数开始执行 ===');\n // 将 category 转换为 UTSJSONObject 以访问属性\n const catObj = (UTS.isInstanceOf(category, UTSJSONObject)) ? category : UTS.JSON.parse(UTS.JSON.stringify(category));\n const categoryId = (_a = catObj.getString('id')) !== null && _a !== void 0 ? _a : '';\n const categoryName = (_b = catObj.getString('name')) !== null && _b !== void 0 ? _b : '';\n uni.__f__('log', 'at pages/main/index.uvue:770', '分类ID:', categoryId, '分类名称:', categoryName);\n // 使用Storage传递参数,确保switchTab后能被读取\n uni.setStorageSync('selectedCategory', categoryId);\n // 生成唯一的时间戳和随机参数,确保每次跳转都是新的页面\n const timestamp = Date.now();\n const randomParam = Math.random().toString(36).substring(2, 8);\n // 构建带参数的URL,直接通过URL传递分类信息\n const url = `/pages/main/category?categoryId=${categoryId}&name=${encodeURIComponent(categoryName)}×tamp=${timestamp}&random=${randomParam}`;\n uni.switchTab({\n url: '/pages/main/category',\n success: () => {\n // 通过 Storage 传递参数已在上面设置\n uni.__f__('log', 'at pages/main/index.uvue:786', '跳转分类页面成功,categoryId:', categoryId);\n }\n });\n };\n const switchBrand = (brand) => {\n // 假设跳转到搜索结果页或者分类页带 filter\n uni.navigateTo({\n url: `/pages/mall/consumer/search?keyword=${encodeURIComponent(brand.name)}&type=brand&brandId=${brand.id}`\n });\n };\n // 切换排序\n const switchSort = (sortId) => {\n // 如果点击的是价格排序,切换升序/降序\n if (sortId === 'price' && activeSort.value === 'price') {\n priceAscending.value = !priceAscending.value;\n uni.__f__('log', 'at pages/main/index.uvue:803', '切换价格排序方向,升序:', priceAscending.value);\n }\n else {\n // 切换到其他排序时,重置价格排序为升序\n if (sortId !== 'price') {\n priceAscending.value = true;\n }\n activeSort.value = sortId;\n }\n hasMore.value = true; // 重置加载更多状态\n // 重新加载热销商品,排序由 Supabase 服务处理\n loadHotProducts(defaultLoadLimit);\n };\n // 切换筛选器\n const switchFilter = (filterId) => {\n activeFilter.value = filterId;\n // 重新加载推荐商品,筛选由 Supabase 服务处理\n loadRecommendedProducts(defaultLoadLimit);\n };\n // 查看新闻详情\n const viewNewsDetail = (news = null) => {\n uni.navigateTo({\n url: `/pages/news/detail?id=${news.id}`\n });\n };\n // 下拉刷新\n const onRefresh = () => { return __awaiter(this, void 0, void 0, function* () {\n refreshing.value = true;\n try {\n // 重新加载数据\n yield initData();\n }\n catch (e) {\n uni.__f__('error', 'at pages/main/index.uvue:838', '刷新数据失败:', e);\n }\n finally {\n // 延迟关闭刷新动画,确保用户能看到刷新过程\n setTimeout(() => {\n refreshing.value = false;\n // 延迟显示提示,避免与动画冲突\n setTimeout(() => {\n uni.showToast({\n title: '刷新成功',\n icon: 'success'\n });\n }, 200);\n }, 800);\n }\n }); };\n // 加载更多\n const loadMore = () => { return __awaiter(this, void 0, void 0, function* () {\n uni.__f__('log', 'at pages/main/index.uvue:856', '=== 触发触底事件 ===');\n if (loading.value) {\n uni.__f__('log', 'at pages/main/index.uvue:858', '正在加载中,跳过');\n return Promise.resolve(null);\n }\n showLoadMore.value = true;\n loading.value = true;\n try {\n // 获取当前热销商品的数量\n const currentCount = hotProducts.value.length;\n const nextPage = Math.floor(currentCount / 6) + 1;\n const additionalLimit = 6;\n uni.__f__('log', 'at pages/main/index.uvue:870', '开始加载更多,当前数量:', currentCount, '页码:', nextPage);\n // 加载更多商品\n let newProducts = [];\n switch (activeSort.value) {\n case 'sales':\n newProducts = yield supabaseService.getProductsBySales(currentCount + additionalLimit);\n break;\n case 'price':\n newProducts = yield supabaseService.getProductsByPrice(currentCount + additionalLimit, priceAscending.value);\n break;\n case 'new':\n newProducts = yield supabaseService.getProductsByNewest(currentCount + additionalLimit);\n break;\n case 'recommend':\n newProducts = yield supabaseService.getSmartRecommendations(currentCount + additionalLimit);\n break;\n case 'discount':\n newProducts = yield supabaseService.getDiscountProducts(currentCount + additionalLimit);\n break;\n default:\n newProducts = yield supabaseService.getProductsBySales(currentCount + additionalLimit);\n }\n uni.__f__('log', 'at pages/main/index.uvue:894', '加载到的新商品数量:', newProducts.length);\n // 检查是否还有更多数据\n if (newProducts.length <= currentCount) {\n hasMore.value = false;\n uni.showToast({\n title: '没有更多了',\n icon: 'none'\n });\n }\n else {\n // 更新商品列表\n hotProducts.value = newProducts;\n }\n }\n catch (error) {\n uni.__f__('error', 'at pages/main/index.uvue:908', '加载更多失败:', error);\n }\n finally {\n loading.value = false;\n // 稍微延迟隐藏加载条,让用户看到\n setTimeout(() => {\n showLoadMore.value = false;\n }, 500);\n }\n }); };\n // 添加到购物车\n const addToCart = (product = null) => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n uni.showLoading({ title: '检查商品...' });\n try {\n // 将 product 转换为 UTSJSONObject 以访问属性\n const prodObj = (UTS.isInstanceOf(product, UTSJSONObject)) ? product : UTS.JSON.parse(UTS.JSON.stringify(product));\n const productId = (_a = prodObj.getString('id')) !== null && _a !== void 0 ? _a : '';\n const merchantId = (_b = prodObj.getString('merchant_id')) !== null && _b !== void 0 ? _b : '';\n // 检查商品是否有SKU\n const skus = yield supabaseService.getProductSkus(productId);\n uni.hideLoading();\n if (skus.length > 0) {\n // 有规格,提示并跳转到商品详情页选择规格\n uni.showToast({\n title: '请选择规格',\n icon: 'none'\n });\n setTimeout(() => {\n uni.navigateTo({\n url: '/pages/mall/consumer/product-detail?id=' + productId\n });\n }, 500);\n }\n else {\n // 无规格,直接加入购物车\n uni.showLoading({ title: '添加中...' });\n const success = yield supabaseService.addToCart(productId, 1, '', merchantId);\n uni.hideLoading();\n if (success) {\n uni.showToast({\n title: '已添加到购物车',\n icon: 'success'\n });\n }\n else {\n uni.showToast({\n title: '添加失败,请先登录',\n icon: 'none'\n });\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/main/index.uvue:960', '添加到购物车异常', e);\n uni.hideLoading();\n uni.showToast({\n title: '操作异常',\n icon: 'none'\n });\n }\n }); };\n // 扫码功能\n const onScan = () => {\n uni.scanCode(new UTSJSONObject({\n success: (res) => {\n uni.__f__('log', 'at pages/main/index.uvue:973', '扫码成功:', res);\n uni.showToast({\n title: '扫码成功: ' + res.result,\n icon: 'none'\n });\n },\n fail: (err) => {\n uni.__f__('error', 'at pages/main/index.uvue:980', '扫码失败:', err);\n }\n }));\n };\n // 相机功能\n const onCamera = () => {\n uni.chooseImage(new UTSJSONObject({\n count: 1,\n sourceType: ['camera'],\n success: (res) => {\n uni.__f__('log', 'at pages/main/index.uvue:991', '相机拍摄成功:', res.tempFilePaths[0]);\n uni.showToast({\n title: '已拍摄,正在识别...',\n icon: 'loading'\n });\n setTimeout(() => {\n uni.showToast({\n title: '识别成功',\n icon: 'success'\n });\n }, 1000);\n },\n fail: (err) => {\n uni.__f__('error', 'at pages/main/index.uvue:1004', '相机调用失败:', err);\n }\n }));\n };\n // 导航函数\n const navigateToSearch = () => { uni.navigateTo({ url: '/pages/mall/consumer/search' }); };\n const navigateToNews = () => { uni.navigateTo({ url: '/pages/news/list' }); };\n const navigateToProduct = (product = null) => {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l;\n // 将 product 转换为 UTSJSONObject 以访问属性\n const prodObj = (UTS.isInstanceOf(product, UTSJSONObject)) ? product : UTS.JSON.parse(UTS.JSON.stringify(product));\n // 使用productId(如果存在)作为跳转的商品ID,否则使用id\n const productId = (_b = (_a = prodObj.getString('productId')) !== null && _a !== void 0 ? _a : prodObj.getString('id')) !== null && _b !== void 0 ? _b : '';\n const name = (_c = prodObj.getString('name')) !== null && _c !== void 0 ? _c : '';\n // 使用 main_image_url\n const image = (_g = (_d = prodObj.getString('main_image_url')) !== null && _d !== void 0 ? _d : prodObj.getString('image')) !== null && _g !== void 0 ? _g : '/static/images/default-product.png';\n const price = ((_j = (_h = prodObj.getNumber('base_price')) !== null && _h !== void 0 ? _h : prodObj.getNumber('price')) !== null && _j !== void 0 ? _j : 0).toString();\n const marketPrice = (_l = (_k = prodObj.getNumber('market_price')) !== null && _k !== void 0 ? _k : prodObj.getNumber('original_price')) !== null && _l !== void 0 ? _l : (parseFloat(price) * 1.2);\n const originalPrice = marketPrice.toString();\n // 手动构建URL,避免双重编码问题\n uni.navigateTo({\n url: `/pages/mall/consumer/product-detail?id=${productId}&price=${price}&originalPrice=${originalPrice}&name=${encodeURIComponent(name)}&image=${encodeURIComponent(image)}`\n });\n };\n const navigateToCategory = (item = null) => {\n uni.navigateTo({\n url: `/pages/mall/consumer/search?keyword=${encodeURIComponent(item.name)}&type=family`\n });\n };\n const navigateToConsultation = () => { return uni.navigateTo({ url: '/pages/medicine/consultation' }); };\n const navigateToPrescription = () => { return uni.navigateTo({ url: '/pages/medicine/prescription' }); };\n const navigateToOTC = () => { return uni.navigateTo({ url: '/pages/medicine/otc' }); };\n const navigateToHealthTools = () => { return uni.navigateTo({ url: '/pages/medicine/tools' }); };\n const navigateToReminders = () => { return uni.navigateTo({ url: '/pages/user/reminders' }); };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _o(onScan),\n b: _o(onCamera),\n c: _o(navigateToSearch),\n d: navBarRight.value + 'px',\n e: statusBarHeight.value + 'px',\n f: showNavbar.value ? 'translateY(0)' : 'translateY(-100%)',\n g: _n({\n active: categoryTab.value == 'category'\n }),\n h: _o($event => { return categoryTab.value = 'category'; }),\n i: _n({\n active: categoryTab.value == 'brand'\n }),\n j: _o($event => { return categoryTab.value = 'brand'; }),\n k: categoryTab.value === 'category'\n }, categoryTab.value === 'category' ? {\n l: _f(parentCategories.value, (category, k0, i0) => {\n return {\n a: _t(category.icon),\n b: _t(category.name),\n c: category.id,\n d: _o($event => { return onParentCategoryClick(category); }, category.id),\n e: category.color\n };\n })\n } : {}, {\n m: categoryTab.value === 'category' && showSubCategories.value && subCategories.value.length > 0\n }, categoryTab.value === 'category' && showSubCategories.value && subCategories.value.length > 0 ? {\n n: _t(selectedParentCategory.value?.name),\n o: _o($event => { return showSubCategories.value = false; }),\n p: _f(subCategories.value, (subCat, k0, i0) => {\n return {\n a: _t(subCat.icon),\n b: _t(subCat.name),\n c: subCat.id,\n d: _o($event => { return onSubCategoryClick(subCat); }, subCat.id)\n };\n })\n } : {}, {\n q: categoryTab.value === 'brand'\n }, categoryTab.value === 'brand' ? {\n r: _f(brands.value, (brand, k0, i0) => {\n return _e({\n a: brand.logo_url == null || brand.logo_url == ''\n }, brand.logo_url == null || brand.logo_url == '' ? {\n b: _t(getBrandIcon(brand.name))\n } : {\n c: brand.logo_url\n }, {\n d: _t(brand.name),\n e: brand.id,\n f: _o($event => { return switchBrand(brand); }, brand.id)\n });\n })\n } : {}, {\n s: statusBarHeight.value + 44 + 10 + 'px',\n t: _f(sortTabs, (tab, k0, i0) => {\n return {\n a: _t(tab.name),\n b: tab.id,\n c: _n({\n active: activeSort.value === tab.id\n }),\n d: _o($event => { return switchSort(tab.id); }, tab.id)\n };\n }),\n v: _f(hotProducts.value, (product, k0, i0) => {\n return {\n a: product.main_image_url,\n b: _t(product.name),\n c: _t(product.price),\n d: _o($event => { return addToCart(product); }, product.id),\n e: product.id,\n f: _o($event => { return navigateToProduct(product); }, product.id)\n };\n }),\n w: loading.value || showLoadMore.value\n }, loading.value || showLoadMore.value ? {} : {}, {\n x: refreshing.value,\n y: _o(onRefresh),\n z: _o(loadMore),\n A: _o(handleScroll),\n B: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/main/index.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.__f__","uni.setStorageSync","uni.switchTab","uni.navigateTo","uni.getSystemInfoSync","uni.getMenuButtonBoundingClientRect","uni.showToast","uni.showLoading","uni.hideLoading","uni.scanCode","uni.chooseImage"],"map":"{\"version\":3,\"file\":\"index.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"index.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/39e52e671c44f44fcdf4bfcd01d6c099c2e98ff5 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/39e52e671c44f44fcdf4bfcd01d6c099c2e98ff5 deleted file mode 100644 index 3ca2b76e..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/39e52e671c44f44fcdf4bfcd01d6c099c2e98ff5 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, n as _n, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted, computed } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass ShareRecord extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n product_id: { type: String, optional: false },\n product_name: { type: String, optional: false },\n product_image: { type: String, optional: true },\n product_price: { type: Number, optional: false },\n share_code: { type: String, optional: false },\n required_count: { type: Number, optional: false },\n current_count: { type: Number, optional: false },\n status: { type: Number, optional: false },\n reward_amount: { type: Number, optional: true },\n created_at: { type: String, optional: false }\n };\n },\n name: \"ShareRecord\"\n };\n }\n constructor(options, metadata = ShareRecord.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.product_id = this.__props__.product_id;\n this.product_name = this.__props__.product_name;\n this.product_image = this.__props__.product_image;\n this.product_price = this.__props__.product_price;\n this.share_code = this.__props__.share_code;\n this.required_count = this.__props__.required_count;\n this.current_count = this.__props__.current_count;\n this.status = this.__props__.status;\n this.reward_amount = this.__props__.reward_amount;\n this.created_at = this.__props__.created_at;\n delete this.__props__;\n }\n}\nconst defaultImage = '/static/images/default-product.png';\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'index',\n setup(__props) {\n const shares = ref([]);\n const loading = ref(true);\n const showRules = ref(false);\n const totalShares = computed(() => { return shares.value.length; });\n const completedShares = computed(() => {\n let count = 0;\n for (let i = 0; i < shares.value.length; i++) {\n if (shares.value[i].status === 1)\n count++;\n }\n return count;\n });\n const totalReward = computed(() => {\n let total = 0;\n for (let i = 0; i < shares.value.length; i++) {\n if (shares.value[i].reward_amount != null) {\n total += shares.value[i].reward_amount;\n }\n }\n return total;\n });\n const loadShares = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l;\n loading.value = true;\n try {\n const result = yield supabaseService.getMyShareRecords();\n const parsed = [];\n for (let i = 0; i < result.length; i++) {\n const item = result[i];\n let itemObj = null;\n if (UTS.isInstanceOf(item, UTSJSONObject)) {\n itemObj = item;\n }\n else {\n itemObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n }\n parsed.push(new ShareRecord({\n id: (_a = itemObj.getString('id')) !== null && _a !== void 0 ? _a : '',\n product_id: (_b = itemObj.getString('product_id')) !== null && _b !== void 0 ? _b : '',\n product_name: (_c = itemObj.getString('product_name')) !== null && _c !== void 0 ? _c : '',\n product_image: itemObj.getString('product_image'),\n product_price: (_d = itemObj.getNumber('product_price')) !== null && _d !== void 0 ? _d : 0,\n share_code: (_g = itemObj.getString('share_code')) !== null && _g !== void 0 ? _g : '',\n required_count: (_h = itemObj.getNumber('required_count')) !== null && _h !== void 0 ? _h : 4,\n current_count: (_j = itemObj.getNumber('current_count')) !== null && _j !== void 0 ? _j : 0,\n status: (_k = itemObj.getNumber('status')) !== null && _k !== void 0 ? _k : 0,\n reward_amount: itemObj.getNumber('reward_amount'),\n created_at: (_l = itemObj.getString('created_at')) !== null && _l !== void 0 ? _l : ''\n }));\n }\n shares.value = parsed;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/share/index.uvue:145', '加载分享记录失败:', e);\n }\n finally {\n loading.value = false;\n }\n }); };\n const toggleRules = () => {\n showRules.value = !showRules.value;\n };\n const getProgressPercent = (current, required) => {\n if (required <= 0)\n return 0;\n return Math.min(100, Math.round((current / required) * 100));\n };\n const getStatusText = (status) => {\n if (status === 0)\n return '进行中';\n if (status === 1)\n return '已免单';\n if (status === 2)\n return '已失效';\n if (status === 3)\n return '已过期';\n return '未知';\n };\n const getStatusClass = (status) => {\n if (status === 0)\n return 'status-progress';\n if (status === 1)\n return 'status-completed';\n if (status === 2)\n return 'status-invalid';\n if (status === 3)\n return 'status-expired';\n return '';\n };\n const goToShareDetail = (shareId) => {\n uni.navigateTo({\n url: `/pages/mall/consumer/share/detail?id=${shareId}`\n });\n };\n onMounted(() => {\n loadShares();\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _t(totalShares.value),\n b: _t(completedShares.value),\n c: _t(totalReward.value),\n d: _t(showRules.value ? '▲' : '▼'),\n e: _o(toggleRules),\n f: showRules.value\n }, showRules.value ? {} : {}, {\n g: loading.value\n }, loading.value ? {} : shares.value.length === 0 ? {} : {\n i: _f(shares.value, (share, k0, i0) => {\n return {\n a: share.product_image != null && share.product_image.length > 0 ? share.product_image : defaultImage,\n b: _t(share.product_name),\n c: getProgressPercent(share.current_count, share.required_count) + '%',\n d: _t(share.current_count),\n e: _t(share.required_count),\n f: _t(share.share_code),\n g: _t(getStatusText(share.status)),\n h: _n(getStatusClass(share.status)),\n i: share.id,\n j: _o($event => { return goToShareDetail(share.id); }, share.id)\n };\n })\n }, {\n h: shares.value.length === 0,\n j: _sei(_gei(_ctx, ''), 'scroll-view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/share/index.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__","uni.navigateTo"],"map":"{\"version\":3,\"file\":\"index.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"index.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/3e6663e1a0331bfa14f35fb2dfbe7efc3e376e5f b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/3e6663e1a0331bfa14f35fb2dfbe7efc3e376e5f deleted file mode 100644 index 107d8edc..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/3e6663e1a0331bfa14f35fb2dfbe7efc3e376e5f +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, f as _f, toDisplayString as _toDisplayString, t as _t, gei as _gei, sei as _sei } from \"vue\";\nimport { ref, computed } from 'vue';\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'refund-review',\n setup(__props) {\n const rating = ref(5);\n const comment = ref('');\n const submitting = ref(false);\n const ratingText = computed(() => {\n const texts = ['非常不满意', '不满意', '一般', '满意', '非常满意'];\n return texts[rating.value - 1];\n });\n const setRating = (val) => {\n rating.value = val;\n };\n const submitReview = () => {\n if (submitting.value)\n return null;\n submitting.value = true;\n // 模拟提交\n setTimeout(() => {\n uni.showToast({\n title: '评价成功',\n icon: 'success'\n });\n setTimeout(() => {\n uni.navigateBack();\n }, 1500);\n submitting.value = false;\n }, 1000);\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = {\n a: _f(5, (i, k0, i0) => {\n return {\n a: i,\n b: i <= rating.value ? 1 : '',\n c: _o($event => { return setRating(i); }, i)\n };\n }),\n b: _t(ratingText.value),\n c: comment.value,\n d: _o($event => { return comment.value = $event.detail.value; }),\n e: _t(comment.value.length),\n f: _o(submitReview),\n g: submitting.value,\n h: _sei(_gei(_ctx, ''), 'view')\n };\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/refund-review.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.showToast","uni.navigateBack"],"map":"{\"version\":3,\"file\":\"refund-review.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"refund-review.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"AAAA,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,KAAK,CAAA;AACzD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,eAAe,IAAI,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,KAAK,CAAA;AAE9G,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAGnC,eAAe,aAAa,CAAA,gBAAgB,CAAC;IAC3C,MAAM,EAAE,eAAe;IACvB,KAAK,CAAC,OAAO;QAEf,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,CAAA;QACvB,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;QAE7B,MAAM,UAAU,GAAG,QAAQ,CAAC;YAC1B,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;YAClD,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,CAAC,GAAW;YAC5B,MAAM,CAAC,KAAK,GAAG,GAAG,CAAA;QACpB,CAAC,CAAA;QAED,MAAM,YAAY,GAAG;YACnB,IAAI,UAAU,CAAC,KAAK;gBAAE,YAAM;YAC5B,UAAU,CAAC,KAAK,GAAG,IAAI,CAAA;YAEvB,OAAO;YACP,UAAU,CAAC;gBACT,GAAG,CAAC,SAAS,CAAC;oBACZ,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAA;gBAEF,UAAU,CAAC;oBACT,GAAG,CAAC,YAAY,EAAE,CAAA;gBACpB,CAAC,EAAE,IAAI,CAAC,CAAA;gBAER,UAAU,CAAC,KAAK,GAAG,KAAK,CAAA;YAC1B,CAAC,EAAE,IAAI,CAAC,CAAA;QACV,CAAC,CAAA;QAED,OAAO,CAAC,IAAI,EAAE,MAAM;YAAO,QAAQ,CAAA;YACjC,MAAM,YAAY,GAAG;gBACrB,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;oBACjB,OAAO;wBACL,CAAC,EAAE,CAAC;wBACJ,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC7B,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,SAAS,CAAC,CAAC,CAAC,EAAZ,CAAY,EAAE,CAAC,CAAC;qBACjC,CAAC;gBACJ,CAAC,CAAC;gBACF,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;gBACvB,CAAC,EAAE,OAAO,CAAC,KAAK;gBAChB,CAAC,EAAE,EAAE,CAAC,MAAM,MAAI,OAAA,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAnC,CAAmC,CAAC;gBACpD,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC3B,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC;gBACnB,CAAC,EAAE,UAAU,CAAC,KAAK;gBACnB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC;aAChC,CAAA;YACC,OAAO,YAAY,CAAA;QACrB,CAAC,CAAA;IACD,CAAC;CAEA,CAAC,CAAA\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/519b5e4dc737033438561cfa4a42a5e92bf9a466 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/519b5e4dc737033438561cfa4a42a5e92bf9a466 deleted file mode 100644 index de098d4c..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/519b5e4dc737033438561cfa4a42a5e92bf9a466 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, n as _n, toDisplayString as _toDisplayString, t as _t, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted, watch } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass RefundStatusHistoryItem extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n status: { type: Number, optional: false },\n remark: { type: String, optional: false },\n created_at: { type: String, optional: false }\n };\n },\n name: \"RefundStatusHistoryItem\"\n };\n }\n constructor(options, metadata = RefundStatusHistoryItem.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.status = this.__props__.status;\n this.remark = this.__props__.remark;\n this.created_at = this.__props__.created_at;\n delete this.__props__;\n }\n}\nclass RefundProductInfo extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n images: { type: UTS.UTSType.withGenerics(Array, [String]), optional: false }\n };\n },\n name: \"RefundProductInfo\"\n };\n }\n constructor(options, metadata = RefundProductInfo.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.images = this.__props__.images;\n delete this.__props__;\n }\n}\nclass RefundOrderItem extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n product_name: { type: String, optional: false },\n sku_specifications: { type: \"Any\", optional: true },\n price: { type: Number, optional: false },\n quantity: { type: Number, optional: false },\n product: { type: RefundProductInfo, optional: true }\n };\n },\n name: \"RefundOrderItem\"\n };\n }\n constructor(options, metadata = RefundOrderItem.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.product_name = this.__props__.product_name;\n this.sku_specifications = this.__props__.sku_specifications;\n this.price = this.__props__.price;\n this.quantity = this.__props__.quantity;\n this.product = this.__props__.product;\n delete this.__props__;\n }\n}\nclass RefundOrderInfo extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n order_no: { type: String, optional: false },\n created_at: { type: String, optional: false },\n order_items: { type: UTS.UTSType.withGenerics(Array, [RefundOrderItem]), optional: false }\n };\n },\n name: \"RefundOrderInfo\"\n };\n }\n constructor(options, metadata = RefundOrderInfo.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.order_no = this.__props__.order_no;\n this.created_at = this.__props__.created_at;\n this.order_items = this.__props__.order_items;\n delete this.__props__;\n }\n}\nclass RefundType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n user_id: { type: String, optional: false },\n order_id: { type: String, optional: false },\n refund_no: { type: String, optional: false },\n refund_type: { type: Number, optional: false },\n refund_reason: { type: String, optional: false },\n refund_amount: { type: Number, optional: false },\n status: { type: Number, optional: false },\n status_history: { type: UTS.UTSType.withGenerics(Array, [RefundStatusHistoryItem]), optional: true },\n created_at: { type: String, optional: false },\n order: { type: RefundOrderInfo, optional: true }\n };\n },\n name: \"RefundType\"\n };\n }\n constructor(options, metadata = RefundType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.user_id = this.__props__.user_id;\n this.order_id = this.__props__.order_id;\n this.refund_no = this.__props__.refund_no;\n this.refund_type = this.__props__.refund_type;\n this.refund_reason = this.__props__.refund_reason;\n this.refund_amount = this.__props__.refund_amount;\n this.status = this.__props__.status;\n this.status_history = this.__props__.status_history;\n this.created_at = this.__props__.created_at;\n this.order = this.__props__.order;\n delete this.__props__;\n }\n}\nclass TabCountsType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n processing: { type: Number, optional: false }\n };\n },\n name: \"TabCountsType\"\n };\n }\n constructor(options, metadata = TabCountsType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.processing = this.__props__.processing;\n delete this.__props__;\n }\n}\nclass TimelineStepType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n status: { type: Number, optional: false },\n title: { type: String, optional: false },\n time: { type: String, optional: false },\n active: { type: Boolean, optional: false },\n completed: { type: Boolean, optional: false },\n desc: { type: String, optional: false }\n };\n },\n name: \"TimelineStepType\"\n };\n }\n constructor(options, metadata = TimelineStepType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.status = this.__props__.status;\n this.title = this.__props__.title;\n this.time = this.__props__.time;\n this.active = this.__props__.active;\n this.completed = this.__props__.completed;\n this.desc = this.__props__.desc;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'refund',\n setup(__props) {\n const activeTab = ref('all');\n const refunds = ref([]);\n const tabCounts = ref(new TabCountsType({\n processing: 0\n }));\n const isLoading = ref(false);\n const currentPage = ref(1);\n const pageSize = ref(15);\n const hasMore = ref(true);\n const getCurrentUserId = () => {\n var _a;\n return (_a = supabaseService.getCurrentUserId()) !== null && _a !== void 0 ? _a : '';\n };\n const resetData = () => {\n refunds.value = [];\n currentPage.value = 1;\n hasMore.value = true;\n };\n const loadRefunds = (loadMore) => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l, _m, _p, _q, _r, _s, _u;\n if (isLoading.value || (!hasMore.value && loadMore)) {\n return Promise.resolve(null);\n }\n isLoading.value = true;\n try {\n const userId = getCurrentUserId();\n if (userId == '') {\n uni.navigateTo({\n url: '/pages/user/login'\n });\n return Promise.resolve(null);\n }\n const page = loadMore ? currentPage.value + 1 : 1;\n let statusList = [];\n if (activeTab.value === 'processing') {\n statusList = [1, 2];\n }\n else if (activeTab.value === 'completed') {\n statusList = [3, 4, 5];\n }\n const rawData = yield supabaseService.getRefunds(statusList, page, pageSize.value);\n const newRefunds = [];\n for (let i = 0; i < rawData.length; i++) {\n const item = rawData[i];\n const orderObjRaw = item.get('order');\n const orderObj = (orderObjRaw != null) ? orderObjRaw : (new UTSJSONObject());\n const dbItemsRaw = orderObj.get('ml_order_items');\n const dbItems = (dbItemsRaw != null) ? dbItemsRaw : [];\n const uiItems = [];\n for (let j = 0; j < dbItems.length; j++) {\n const di = dbItems[j];\n const imgRaw = di.get('image_url');\n const imgUrl = (imgRaw != null) ? imgRaw : '/static/default-product.png';\n const productInfo = new RefundProductInfo({\n images: [imgUrl]\n });\n const specRaw = di.get('specifications');\n const specifications = (specRaw != null) ? specRaw : null;\n const orderItem = new RefundOrderItem({\n id: (_a = di.getString('id')) !== null && _a !== void 0 ? _a : '',\n product_name: (_b = di.getString('product_name')) !== null && _b !== void 0 ? _b : '',\n sku_specifications: specifications,\n price: 0,\n quantity: (_c = di.getNumber('quantity')) !== null && _c !== void 0 ? _c : 1,\n product: productInfo\n });\n uiItems.push(orderItem);\n }\n const statusHistoryRaw = item.get('status_history');\n const statusHistory = (statusHistoryRaw != null) ? statusHistoryRaw : [];\n const refundItem = new RefundType({\n id: (_d = item.getString('id')) !== null && _d !== void 0 ? _d : '',\n user_id: (_g = item.getString('user_id')) !== null && _g !== void 0 ? _g : '',\n order_id: (_h = item.getString('order_id')) !== null && _h !== void 0 ? _h : '',\n refund_no: (_j = item.getString('refund_no')) !== null && _j !== void 0 ? _j : '',\n refund_type: (_k = item.getNumber('refund_type')) !== null && _k !== void 0 ? _k : 1,\n refund_reason: (_l = item.getString('refund_reason')) !== null && _l !== void 0 ? _l : '',\n refund_amount: (_m = item.getNumber('refund_amount')) !== null && _m !== void 0 ? _m : 0,\n status: (_p = item.getNumber('status')) !== null && _p !== void 0 ? _p : 1,\n status_history: statusHistory,\n created_at: (_q = item.getString('created_at')) !== null && _q !== void 0 ? _q : '',\n order: new RefundOrderInfo({\n id: (_r = item.getString('order_id')) !== null && _r !== void 0 ? _r : '',\n order_no: (_s = orderObj.getString('order_no')) !== null && _s !== void 0 ? _s : '',\n created_at: (_u = orderObj.getString('created_at')) !== null && _u !== void 0 ? _u : '',\n order_items: uiItems\n })\n });\n newRefunds.push(refundItem);\n }\n if (loadMore) {\n refunds.value.push(...newRefunds);\n currentPage.value = page;\n }\n else {\n refunds.value = newRefunds;\n currentPage.value = 1;\n }\n hasMore.value = newRefunds.length === pageSize.value;\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/refund.uvue:261', '加载售后记录异常:', err);\n }\n finally {\n isLoading.value = false;\n }\n }); };\n const loadTabCounts = () => { return __awaiter(this, void 0, void 0, function* () {\n const userId = getCurrentUserId();\n if (userId == '')\n return Promise.resolve(null);\n try {\n const processingRefunds = yield supabaseService.getRefunds([1, 2], 1, 100);\n tabCounts.value.processing = processingRefunds.length;\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/refund.uvue:275', '加载计数异常:', err);\n }\n }); };\n watch(activeTab, () => {\n resetData();\n loadRefunds(false);\n });\n onMounted(() => {\n loadRefunds(false);\n loadTabCounts();\n });\n const getStatusText = (status) => {\n if (status === 1)\n return '待处理';\n if (status === 2)\n return '处理中';\n if (status === 3)\n return '已完成';\n if (status === 4)\n return '已取消';\n if (status === 5)\n return '已拒绝';\n return '未知状态';\n };\n const getStatusClass = (status) => {\n if (status === 1)\n return 'status-pending';\n if (status === 2)\n return 'status-processing';\n if (status === 3)\n return 'status-completed';\n if (status === 4)\n return 'status-cancelled';\n if (status === 5)\n return 'status-rejected';\n return 'status-unknown';\n };\n // 获取商品图片\n const getProductImage = (refund) => {\n var _a, _b, _c, _d;\n const firstItem = (_b = (_a = refund.order) === null || _a === void 0 ? null : _a.order_items) === null || _b === void 0 ? null : _b[0];\n if (((_c = firstItem === null || firstItem === void 0 ? null : firstItem.product) === null || _c === void 0 ? null : _c.images) == null || ((_d = firstItem === null || firstItem === void 0 ? null : firstItem.product) === null || _d === void 0 ? null : _d.images.length) == 0) {\n return '/static/default-product.png';\n }\n return firstItem.product.images[0];\n };\n // 获取商品名称\n const getProductName = (refund) => {\n var _a, _b;\n const items = (_b = (_a = refund.order) === null || _a === void 0 ? null : _a.order_items) !== null && _b !== void 0 ? _b : [];\n if (items.length === 0)\n return '未知商品';\n if (items.length === 1) {\n return items[0].product_name;\n }\n else {\n return `${items[0].product_name}等${items.length}件商品`;\n }\n };\n // 格式化时间\n const formatTime = (timeStr = null) => {\n if (timeStr == null || timeStr == '')\n return '';\n const date = new Date(timeStr);\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n return `${month}-${day}`;\n };\n const getCurrentStepIndex = (status) => {\n if (status === 1)\n return 0;\n if (status === 2)\n return 1;\n if (status === 3)\n return 2;\n if (status === 4)\n return 0;\n if (status === 5)\n return 1;\n return 0;\n };\n const getTimelineSteps = (refund) => {\n var _a, _b, _c, _d;\n const steps = [\n new TimelineStepType({ status: 0, title: '提交申请', time: refund.created_at, active: false, completed: false, desc: '' }),\n new TimelineStepType({ status: 1, title: '商家处理', time: '', active: false, completed: false, desc: '' }),\n new TimelineStepType({ status: 3, title: '退款完成', time: '', active: false, completed: false, desc: '' })\n ];\n if (refund.status_history != null) {\n for (let i = 0; i < refund.status_history.length; i++) {\n const history_1 = refund.status_history[i];\n if (history_1.status === 1 || history_1.status === 2) {\n steps[1].time = (_a = history_1.created_at) !== null && _a !== void 0 ? _a : '';\n steps[1].desc = (_b = history_1.remark) !== null && _b !== void 0 ? _b : '';\n }\n else if (history_1.status === 3) {\n steps[2].time = (_c = history_1.created_at) !== null && _c !== void 0 ? _c : '';\n steps[2].desc = (_d = history_1.remark) !== null && _d !== void 0 ? _d : '';\n }\n }\n }\n const currentStepIndex = getCurrentStepIndex(refund.status);\n const result = [];\n for (let i = 0; i < steps.length; i++) {\n const step = steps[i];\n result.push(new TimelineStepType({\n status: step.status,\n title: step.title,\n time: step.time,\n desc: step.desc,\n active: i === currentStepIndex,\n completed: i < currentStepIndex\n }));\n }\n return result;\n };\n // 切换标签页\n const changeTab = (tab) => {\n activeTab.value = tab;\n };\n // 加载更多\n const loadMore = () => {\n if (hasMore.value && !isLoading.value) {\n loadRefunds(true);\n }\n };\n // 查看订单\n const viewOrder = (orderId) => {\n uni.navigateTo({\n url: `/pages/mall/consumer/order-detail?id=${orderId}`\n });\n };\n const doCancelRefund = (refund) => { return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield supabaseService.createRefund({\n id: refund.id,\n status: 4\n });\n if (result.success) {\n refund.status = 4;\n loadTabCounts();\n uni.showToast({\n title: '已取消',\n icon: 'success'\n });\n }\n else {\n uni.showToast({\n title: '取消失败',\n icon: 'none'\n });\n }\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/refund.uvue:431', '取消退款失败:', err);\n uni.showToast({\n title: '取消失败',\n icon: 'none'\n });\n }\n }); };\n const cancelRefund = (refund) => {\n uni.showModal(new UTSJSONObject({\n title: '取消申请',\n content: '确定要取消这个退款申请吗?',\n success: (res) => {\n if (res.confirm) {\n doCancelRefund(refund);\n }\n }\n }));\n };\n // 联系客服\n const contactService = (refund) => {\n uni.navigateTo({\n url: `/pages/mall/service/chat?refundId=${refund.id}`\n });\n };\n // 评价服务\n const reviewRefund = (refund) => {\n uni.navigateTo({\n url: `/pages/mall/consumer/refund-review?id=${refund.id}`\n });\n };\n const doDeleteRefund = (refund) => { return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield supabaseService.deleteRefund(refund.id);\n if (result) {\n const newRefunds = [];\n for (let i = 0; i < refunds.value.length; i++) {\n if (refunds.value[i].id !== refund.id) {\n newRefunds.push(refunds.value[i]);\n }\n }\n refunds.value = newRefunds;\n uni.showToast({\n title: '删除成功',\n icon: 'success'\n });\n }\n else {\n uni.showToast({\n title: '删除失败',\n icon: 'none'\n });\n }\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/refund.uvue:489', '删除记录失败:', err);\n uni.showToast({\n title: '删除失败',\n icon: 'none'\n });\n }\n }); };\n const deleteRefund = (refund) => {\n uni.showModal(new UTSJSONObject({\n title: '删除记录',\n content: '确定要删除这个售后记录吗?',\n success: (res) => {\n if (res.confirm) {\n doDeleteRefund(refund);\n }\n }\n }));\n };\n // 申请售后\n const applyRefund = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/apply-refund'\n });\n };\n // 查看订单\n const goToOrders = () => {\n uni.switchTab({\n url: '/pages/mall/consumer/orders'\n });\n };\n // 返回\n const goBack = () => {\n uni.navigateBack();\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _o(goBack),\n b: _n({\n active: activeTab.value === 'all'\n }),\n c: _o($event => { return changeTab('all'); }),\n d: tabCounts.value.processing > 0\n }, tabCounts.value.processing > 0 ? {\n e: _t(tabCounts.value.processing)\n } : {}, {\n f: _n({\n active: activeTab.value === 'processing'\n }),\n g: _o($event => { return changeTab('processing'); }),\n h: _n({\n active: activeTab.value === 'completed'\n }),\n i: _o($event => { return changeTab('completed'); }),\n j: refunds.value.length === 0 && !isLoading.value\n }, refunds.value.length === 0 && !isLoading.value ? {\n k: _o(goToOrders)\n } : {}, {\n l: _f(refunds.value, (refund, k0, i0) => {\n return _e({\n a: _t(refund.refund_no),\n b: _t(getStatusText(refund.status)),\n c: _n(getStatusClass(refund.status)),\n d: _t(refund.order?.order_no),\n e: _t(formatTime(refund.order?.created_at)),\n f: getProductImage(refund),\n g: _t(getProductName(refund)),\n h: refund.refund_reason\n }, refund.refund_reason ? {\n i: _t(refund.refund_reason)\n } : {}, {\n j: _t(refund.refund_amount),\n k: _o($event => { return viewOrder(refund.order_id); }, refund.id),\n l: refund.status_history != null && refund.status_history.length > 0\n }, refund.status_history != null && refund.status_history.length > 0 ? {\n m: _f(getTimelineSteps(refund), (step, index, i1) => {\n return _e({\n a: step.active ? 1 : '',\n b: step.completed ? 1 : '',\n c: _t(step.title),\n d: _t(step.time),\n e: step.desc\n }, step.desc ? {\n f: _t(step.desc)\n } : {}, {\n g: index\n });\n })\n } : {}, {\n n: refund.status === 1\n }, refund.status === 1 ? {\n o: _o($event => { return cancelRefund(refund); }, refund.id),\n p: _o($event => { return contactService(refund); }, refund.id)\n } : {}, {\n q: refund.status === 3\n }, refund.status === 3 ? {\n r: _o($event => { return reviewRefund(refund); }, refund.id),\n s: _o($event => { return deleteRefund(refund); }, refund.id)\n } : {}, {\n t: refund.id\n });\n }),\n m: isLoading.value\n }, isLoading.value ? {} : {}, {\n n: !hasMore.value && refunds.value.length > 0\n }, !hasMore.value && refunds.value.length > 0 ? {} : {}, {\n o: _o(loadMore),\n p: _o(applyRefund),\n q: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/refund.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.navigateTo","uni.__f__","uni.showToast","uni.showModal","uni.switchTab","uni.navigateBack"],"map":"{\"version\":3,\"file\":\"refund.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"refund.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/5811c40d464e5a5a4cdaddea7b217b0007e7c74d b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/5811c40d464e5a5a4cdaddea7b217b0007e7c74d deleted file mode 100644 index 92ecce55..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/5811c40d464e5a5a4cdaddea7b217b0007e7c74d +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, n as _n, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted, computed } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass FavoriteType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n price: { type: Number, optional: false },\n main_image_url: { type: String, optional: false },\n merchant_id: { type: String, optional: false },\n selected: { type: Boolean, optional: false }\n };\n },\n name: \"FavoriteType\"\n };\n }\n constructor(options, metadata = FavoriteType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.price = this.__props__.price;\n this.main_image_url = this.__props__.main_image_url;\n this.merchant_id = this.__props__.merchant_id;\n this.selected = this.__props__.selected;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'favorites',\n setup(__props) {\n const favorites = ref([]);\n const isEditMode = ref(false);\n const isLoading = ref(false);\n const selectedCount = computed(() => {\n return favorites.value.filter((item) => { return item.selected === true; }).length;\n });\n const isAllSelected = computed(() => {\n return favorites.value.length > 0 && favorites.value.every((item) => { return item.selected === true; });\n });\n const loadFavorites = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h;\n isLoading.value = true;\n try {\n const res = yield supabaseService.getFavorites();\n uni.__f__('log', 'at pages/mall/consumer/favorites.uvue:92', '收藏数据加载完成,数量:', res.length);\n const productList = [];\n for (let i = 0; i < res.length; i++) {\n const item = res[i];\n let prod = null;\n let itemObj = null;\n if (UTS.isInstanceOf(item, UTSJSONObject)) {\n itemObj = item;\n prod = itemObj.get('ml_products');\n }\n else {\n itemObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n prod = itemObj.get('ml_products');\n }\n let image = '/static/default-product.png';\n let id = '';\n let name = '未知商品';\n let price = 0;\n let merchantId = '';\n if (prod != null) {\n let prodObj;\n if (UTS.isInstanceOf(prod, UTSJSONObject)) {\n prodObj = prod;\n }\n else {\n prodObj = UTS.JSON.parse(UTS.JSON.stringify(prod));\n }\n id = (_a = prodObj.getString('id')) !== null && _a !== void 0 ? _a : '';\n name = (_b = prodObj.getString('name')) !== null && _b !== void 0 ? _b : '未知商品';\n price = (_c = prodObj.getNumber('base_price')) !== null && _c !== void 0 ? _c : 0;\n image = (_d = prodObj.getString('main_image_url')) !== null && _d !== void 0 ? _d : image;\n merchantId = (_g = prodObj.getString('merchant_id')) !== null && _g !== void 0 ? _g : '';\n if (image === '/static/default-product.png') {\n const imgUrls = prodObj.getString('image_urls');\n if (imgUrls != null) {\n try {\n const arr = UTS.JSON.parse(imgUrls);\n if (Array.isArray(arr) && arr.length > 0) {\n image = arr[0];\n }\n }\n catch (e) { }\n }\n }\n }\n else {\n if (itemObj != null) {\n id = (_h = itemObj.getString('target_id')) !== null && _h !== void 0 ? _h : '';\n }\n }\n const product = new FavoriteType({\n id: id,\n name: name,\n price: price,\n main_image_url: image,\n merchant_id: merchantId,\n selected: false\n });\n productList.push(product);\n }\n favorites.value = productList;\n uni.__f__('log', 'at pages/mall/consumer/favorites.uvue:156', '收藏列表更新完成,数量:', favorites.value.length);\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/favorites.uvue:158', '加载收藏失败', e);\n }\n finally {\n isLoading.value = false;\n }\n }); };\n const toggleEditMode = () => {\n isEditMode.value = !isEditMode.value;\n for (let i = 0; i < favorites.value.length; i++) {\n favorites.value[i].selected = false;\n }\n };\n const clearAll = () => {\n if (favorites.value.length === 0)\n return null;\n uni.showModal(new UTSJSONObject({\n title: '清空收藏',\n content: '确定要清空所有收藏商品吗?',\n success: (res) => {\n if (res.confirm) {\n uni.showLoading({ title: '清空中...' });\n const productIds = [];\n for (let i = 0; i < favorites.value.length; i++) {\n productIds.push(favorites.value[i].id);\n }\n let completed = 0;\n for (let i = 0; i < productIds.length; i++) {\n supabaseService.toggleFavorite(productIds[i]).then(() => {\n completed++;\n if (completed === productIds.length) {\n uni.hideLoading();\n favorites.value = [];\n uni.showToast({\n title: '已清空',\n icon: 'success'\n });\n }\n }).catch(() => {\n completed++;\n if (completed === productIds.length) {\n uni.hideLoading();\n loadFavorites();\n uni.showToast({\n title: '部分清空失败',\n icon: 'none'\n });\n }\n });\n }\n }\n }\n }));\n };\n const toggleSelect = (item) => {\n item.selected = !(item.selected === true);\n favorites.value = [...favorites.value];\n };\n const toggleSelectAll = () => {\n const newSelectedState = !isAllSelected.value;\n for (let i = 0; i < favorites.value.length; i++) {\n favorites.value[i].selected = newSelectedState;\n }\n favorites.value = [...favorites.value];\n };\n const deleteSelected = () => {\n const selectedItems = favorites.value.filter((item) => { return item.selected === true; });\n if (selectedItems.length === 0) {\n uni.showToast({\n title: '请选择要删除的商品',\n icon: 'none'\n });\n return null;\n }\n uni.showModal(new UTSJSONObject({\n title: '删除收藏',\n content: `确定要删除选中的 ${selectedItems.length} 个商品吗?`,\n success: (res) => {\n if (res.confirm) {\n uni.showLoading({ title: '删除中...' });\n let completed = 0;\n const total = selectedItems.length;\n for (let i = 0; i < selectedItems.length; i++) {\n supabaseService.toggleFavorite(selectedItems[i].id).then(() => {\n completed++;\n if (completed === total) {\n uni.hideLoading();\n loadFavorites();\n uni.showToast({\n title: '已删除',\n icon: 'success'\n });\n }\n }).catch(() => {\n completed++;\n if (completed === total) {\n uni.hideLoading();\n loadFavorites();\n uni.showToast({\n title: '部分删除失败',\n icon: 'none'\n });\n }\n });\n }\n }\n }\n }));\n };\n const viewProduct = (product) => {\n if (isEditMode.value) {\n toggleSelect(product);\n return null;\n }\n uni.navigateTo({\n url: `/pages/mall/consumer/product-detail?id=${product.id}`\n });\n };\n const addToCart = (product) => { return __awaiter(this, void 0, void 0, function* () {\n var _a;\n uni.showLoading({ title: '检查商品...' });\n try {\n const merchantId = (_a = product.merchant_id) !== null && _a !== void 0 ? _a : '';\n const skus = yield supabaseService.getProductSkus(product.id);\n uni.hideLoading();\n if (skus.length > 0) {\n uni.showToast({ title: '请选择规格', icon: 'none' });\n setTimeout(() => {\n uni.navigateTo({\n url: '/pages/mall/consumer/product-detail?id=' + product.id\n });\n }, 500);\n }\n else {\n uni.showLoading({ title: '添加中...' });\n const success = yield supabaseService.addToCart(product.id, 1, '', merchantId);\n uni.hideLoading();\n if (success) {\n uni.showToast({ title: '已添加到购物车', icon: 'success' });\n }\n else {\n uni.showToast({ title: '添加失败', icon: 'none' });\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/favorites.uvue:313', '添加到购物车异常', e);\n uni.hideLoading();\n uni.showToast({ title: '操作失败', icon: 'none' });\n }\n }); };\n const goShopping = () => {\n uni.switchTab({\n url: '/pages/main/index'\n });\n };\n onMounted(() => {\n loadFavorites();\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: favorites.value.length > 0\n }, favorites.value.length > 0 ? {\n b: _t(isEditMode.value ? '完成' : '编辑'),\n c: _o(toggleEditMode),\n d: _o(clearAll)\n } : {}, {\n e: favorites.value.length === 0 && !isLoading.value\n }, favorites.value.length === 0 && !isLoading.value ? {\n f: _o(goShopping)\n } : {}, {\n g: _f(favorites.value, (product, index, i0) => {\n return _e(isEditMode.value ? _e({\n a: product.selected === true\n }, product.selected === true ? {} : {}, {\n b: _n({\n selected: product.selected === true\n }),\n c: _o($event => { return toggleSelect(product); }, index)\n }) : {}, {\n d: product.main_image_url,\n e: _t(product.name),\n f: _t(product.price)\n }, !isEditMode.value ? {\n g: _o($event => { return addToCart(product); }, index)\n } : {}, {\n h: _o($event => { return viewProduct(product); }, index),\n i: index\n });\n }),\n h: isEditMode.value,\n i: !isEditMode.value,\n j: isLoading.value\n }, isLoading.value ? {} : {}, {\n k: !isLoading.value && favorites.value.length > 0\n }, !isLoading.value && favorites.value.length > 0 ? {} : {}, {\n l: isEditMode.value && favorites.value.length > 0\n }, isEditMode.value && favorites.value.length > 0 ? _e({\n m: isAllSelected.value\n }, isAllSelected.value ? {} : {}, {\n n: _n({\n selected: isAllSelected.value\n }),\n o: _o(toggleSelectAll),\n p: _t(selectedCount.value),\n q: _o(deleteSelected)\n }) : {}, {\n r: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/favorites.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__","uni.showLoading","uni.hideLoading","uni.showToast","uni.showModal","uni.navigateTo","uni.switchTab"],"map":"{\"version\":3,\"file\":\"favorites.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"favorites.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/5d381ef50c8764af014777c72ad2905d507799ce b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/5d381ef50c8764af014777c72ad2905d507799ce deleted file mode 100644 index 9d561889..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/5d381ef50c8764af014777c72ad2905d507799ce +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, toDisplayString as _toDisplayString, t as _t, f as _f, n as _n, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, reactive, onMounted, computed } from 'vue';\nimport { onPageScroll, onReachBottom } from '@dcloudio/uni-app';\nimport { supabaseService } from \"@/utils/supabaseService\";\nimport { Product } from \"@/utils/supabaseService\";\nclass HotSearchItemType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n keyword: { type: String, optional: false },\n hot: { type: Boolean, optional: false }\n };\n },\n name: \"HotSearchItemType\"\n };\n }\n constructor(options, metadata = HotSearchItemType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.keyword = this.__props__.keyword;\n this.hot = this.__props__.hot;\n delete this.__props__;\n }\n}\nclass GuessItemType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n price: { type: Number, optional: false },\n image: { type: String, optional: false },\n sales: { type: Number, optional: false },\n merchant_id: { type: String, optional: false }\n };\n },\n name: \"GuessItemType\"\n };\n }\n constructor(options, metadata = GuessItemType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.price = this.__props__.price;\n this.image = this.__props__.image;\n this.sales = this.__props__.sales;\n this.merchant_id = this.__props__.merchant_id;\n delete this.__props__;\n }\n}\nclass SearchResultType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n image: { type: String, optional: false },\n price: { type: Number, optional: false },\n specification: { type: String, optional: false },\n tag: { type: String, optional: false },\n sales: { type: Number, optional: false },\n merchant_id: { type: String, optional: false }\n };\n },\n name: \"SearchResultType\"\n };\n }\n constructor(options, metadata = SearchResultType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.image = this.__props__.image;\n this.price = this.__props__.price;\n this.specification = this.__props__.specification;\n this.tag = this.__props__.tag;\n this.sales = this.__props__.sales;\n this.merchant_id = this.__props__.merchant_id;\n delete this.__props__;\n }\n}\nclass ShopResultType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n logo: { type: String, optional: false },\n productCount: { type: Number, optional: false }\n };\n },\n name: \"ShopResultType\"\n };\n }\n constructor(options, metadata = ShopResultType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.logo = this.__props__.logo;\n this.productCount = this.__props__.productCount;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'search',\n setup(__props) {\n const statusBarHeight = ref(0);\n const scrollHeight = ref(0);\n const searchKeyword = ref('');\n const showResults = ref(false);\n const loading = ref(false);\n const hasMore = ref(true);\n const isError = ref(false); // 错误状态控制\n const autoFocus = ref(true);\n const activeSort = ref('default'); // 当前排序方式: default, sales, price\n const priceSortAsc = ref(false); // 价格排序是否为升序\n const searchHistory = ref([]);\n const hotSearchList = ref([]);\n const guessList = ref([]);\n const allGuessItems = ref([]);\n const searchResults = ref([]);\n const searchShopResults = ref([]);\n const loadSearchHistory = () => {\n const history = uni.getStorageSync('searchHistory');\n if (history != null) {\n try {\n const parsed = UTS.JSON.parse(history);\n if (Array.isArray(parsed)) {\n searchHistory.value = parsed;\n }\n }\n catch (e) {\n searchHistory.value = [];\n }\n }\n };\n const saveSearchHistory = () => {\n uni.setStorageSync('searchHistory', UTS.JSON.stringify(searchHistory.value));\n };\n const addToHistory = (keyword) => {\n if (keyword == '')\n return null;\n const index = searchHistory.value.indexOf(keyword);\n if (index > -1) {\n searchHistory.value.splice(index, 1);\n }\n searchHistory.value.unshift(keyword);\n if (searchHistory.value.length > 10)\n UTS.arrayPop(searchHistory.value);\n saveSearchHistory();\n };\n const clearHistory = () => {\n uni.showModal(new UTSJSONObject({\n title: '提示',\n content: '确定清空搜索历史吗?',\n success: (res) => {\n if (res.confirm) {\n searchHistory.value = [];\n uni.removeStorageSync('searchHistory');\n }\n }\n }));\n };\n const deleteHistoryItem = (index) => {\n searchHistory.value.splice(index, 1);\n saveSearchHistory();\n };\n const refreshGuessListItems = () => {\n if (allGuessItems.value.length > 0) {\n const arr = [];\n for (let i = 0; i < allGuessItems.value.length; i++) {\n arr.push(allGuessItems.value[i]);\n }\n for (let i = arr.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n const temp = arr[i];\n arr[i] = arr[j];\n arr[j] = temp;\n }\n const result = [];\n const limit = arr.length < 6 ? arr.length : 6;\n for (let i = 0; i < limit; i++) {\n result.push(arr[i]);\n }\n guessList.value = result;\n }\n };\n const loadData = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h;\n isError.value = false;\n try {\n loadSearchHistory();\n // 获取热销商品,失败时使用空数组\n let hotProducts = [];\n try {\n const hotResult = yield supabaseService.getHotProducts(30);\n hotProducts = hotResult;\n }\n catch (hotError) {\n uni.__f__('error', 'at pages/mall/consumer/search.uvue:378', '获取热销商品失败,使用空列表:', hotError);\n hotProducts = [];\n }\n const hotList = [];\n const limit1 = hotProducts.length < 10 ? hotProducts.length : 10;\n for (let i = 0; i < limit1; i++) {\n const p = hotProducts[i];\n const item = new HotSearchItemType({\n keyword: (_a = p.name) !== null && _a !== void 0 ? _a : '',\n hot: true\n });\n hotList.push(item);\n }\n hotSearchList.value = hotList;\n const allItems = [];\n for (let i = 0; i < hotProducts.length; i++) {\n const p = hotProducts[i];\n const saleCount = p.sale_count;\n const item = new GuessItemType({\n id: (_b = p.id) !== null && _b !== void 0 ? _b : '',\n name: (_c = p.name) !== null && _c !== void 0 ? _c : '',\n price: (_d = p.base_price) !== null && _d !== void 0 ? _d : 0,\n image: (_g = p.main_image_url) !== null && _g !== void 0 ? _g : '/static/default.jpg',\n sales: saleCount != null ? saleCount : 0,\n merchant_id: (_h = p.merchant_id) !== null && _h !== void 0 ? _h : ''\n });\n allItems.push(item);\n }\n allGuessItems.value = allItems;\n refreshGuessListItems();\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/search.uvue:413', 'Load data failed', e);\n // 不再显示错误页面,允许使用空数据\n isError.value = false;\n }\n }); };\n const retryLoad = () => {\n uni.showLoading({ title: '重新加载中' });\n setTimeout(() => {\n uni.hideLoading();\n loadData();\n }, 1000);\n };\n const searchSuggestions = ref([]);\n let suggestTimer = 0;\n const fetchSuggestions = (kw) => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n if (kw == '' || showResults.value)\n return Promise.resolve(null);\n try {\n const res = yield supabaseService.searchProducts(kw.trim(), 1, 5);\n if (res.data != null && res.data.length > 0) {\n const names = [];\n for (let i = 0; i < res.data.length; i++) {\n const p = res.data[i];\n let name = '';\n if (UTS.isInstanceOf(p, UTSJSONObject)) {\n name = (_a = p.getString('name')) !== null && _a !== void 0 ? _a : '';\n }\n else {\n const pObj = p;\n name = (_b = pObj.getString('name')) !== null && _b !== void 0 ? _b : '';\n }\n let found = false;\n for (let j = 0; j < names.length; j++) {\n if (names[j] === name) {\n found = true;\n break;\n }\n }\n if (found === false && name !== '') {\n names.push(name);\n }\n }\n searchSuggestions.value = names;\n }\n else {\n searchSuggestions.value = [];\n }\n }\n catch (e) {\n searchSuggestions.value = [];\n }\n }); };\n const currentPage = ref(1);\n const performSearch = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l, _m, _p;\n showResults.value = true;\n loading.value = true;\n currentPage.value = 1;\n const keyword = searchKeyword.value.trim();\n if (keyword == '') {\n loading.value = false;\n return Promise.resolve(null);\n }\n uni.__f__('log', 'at pages/mall/consumer/search.uvue:479', 'Search execution started for keyword:', keyword);\n let sortBy = 'sales';\n let ascending = false;\n if (activeSort.value === 'price') {\n sortBy = 'price';\n ascending = priceSortAsc.value;\n }\n else if (activeSort.value === 'default') {\n sortBy = 'default';\n }\n try {\n uni.__f__('log', 'at pages/mall/consumer/search.uvue:491', 'Calling searchProducts with params:', keyword, currentPage.value, sortBy, ascending);\n const prodResp = yield supabaseService.searchProducts(keyword, currentPage.value, 20, sortBy, ascending);\n uni.__f__('log', 'at pages/mall/consumer/search.uvue:493', 'searchProducts response received:', prodResp.data != null ? prodResp.data.length : 0, 'items');\n let shopList = [];\n if (currentPage.value === 1 && activeSort.value === 'default') {\n const shopResp = yield supabaseService.searchShops(keyword);\n if (shopResp.data != null && shopResp.data.length > 0) {\n for (let i = 0; i < shopResp.data.length; i++) {\n const s = shopResp.data[i];\n const shopItem = new ShopResultType({\n id: (_a = s.id) !== null && _a !== void 0 ? _a : '',\n name: (_b = s.shop_name) !== null && _b !== void 0 ? _b : '',\n logo: (_c = s.shop_logo) !== null && _c !== void 0 ? _c : '/static/shop_logo_default.png',\n productCount: (_d = s.product_count) !== null && _d !== void 0 ? _d : 0\n });\n shopList.push(shopItem);\n }\n }\n }\n searchShopResults.value = shopList;\n const prodData = prodResp.data != null ? prodResp.data : [];\n const resultList = [];\n for (let i = 0; i < prodData.length; i++) {\n const p = prodData[i];\n let tag = '';\n const tagsRaw = p.tags;\n if (tagsRaw != null) {\n try {\n const tagsStr = p.tags;\n if (tagsStr != null) {\n const tags = UTS.JSON.parse(tagsStr);\n if (Array.isArray(tags) && tags.length > 0) {\n const firstTag = tags[0];\n tag = firstTag != null ? firstTag : '';\n }\n }\n }\n catch (e) { }\n }\n const searchItem = new SearchResultType({\n id: (_g = p.id) !== null && _g !== void 0 ? _g : '',\n name: (_h = p.name) !== null && _h !== void 0 ? _h : '',\n image: (_j = p.main_image_url) !== null && _j !== void 0 ? _j : '/static/default.jpg',\n price: (_k = p.base_price) !== null && _k !== void 0 ? _k : 0,\n specification: (_l = p.specification) !== null && _l !== void 0 ? _l : '标准规格',\n tag: tag,\n sales: (_m = p.sale_count) !== null && _m !== void 0 ? _m : 0,\n merchant_id: (_p = p.merchant_id) !== null && _p !== void 0 ? _p : ''\n });\n resultList.push(searchItem);\n }\n searchResults.value = resultList;\n hasMore.value = prodResp.hasmore;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/search.uvue:548', 'Search failed detailed error:', e);\n }\n finally {\n loading.value = false;\n }\n }); };\n const initPage = () => {\n var _a;\n try {\n const systemInfo = uni.getSystemInfoSync();\n statusBarHeight.value = (_a = systemInfo.statusBarHeight) !== null && _a !== void 0 ? _a : 0;\n const windowHeight = systemInfo.windowHeight;\n scrollHeight.value = windowHeight - (60 + statusBarHeight.value);\n loadData();\n const pages = getCurrentPages();\n if (pages.length > 0) {\n const currentPageObj = pages[pages.length - 1];\n // @ts-ignore\n const options = currentPageObj.options;\n if (options != null) {\n const optObj = options;\n const kwRaw = optObj.getString('keyword');\n if (kwRaw != null && kwRaw !== '') {\n const decoded = decodeURIComponent(kwRaw);\n const keyword = decoded != null ? decoded : kwRaw;\n searchKeyword.value = keyword;\n const typeVal = optObj.getString('type');\n if (typeVal === 'family' || typeVal === 'brand') {\n if (typeVal === 'family') {\n addToHistory(keyword);\n }\n showResults.value = true;\n loading.value = true;\n performSearch();\n }\n }\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/search.uvue:589', '初始化失败', e);\n isError.value = true;\n }\n };\n onMounted(() => {\n initPage();\n });\n const onInput = (e = null) => {\n try {\n let val = '';\n // 处理 input 事件的不同事件对象格式\n if (e != null) {\n // UTSJSONObject 格式 (e.detail.value)\n if (UTS.isInstanceOf(e, UTSJSONObject)) {\n const eObj = e;\n const detailObj = eObj.get('detail');\n if (detailObj != null && UTS.isInstanceOf(detailObj, UTSJSONObject)) {\n const detail = detailObj;\n const v = detail.get('value');\n val = v != null ? v : '';\n }\n }\n else {\n // 尝试转换为 UTSJSONObject\n const eObj = UTS.JSON.parse(UTS.JSON.stringify(e));\n const detailObj = eObj.get('detail');\n if (detailObj != null) {\n const detail = detailObj;\n const v = detail.get('value');\n val = v != null ? v : '';\n }\n else {\n const v = eObj.get('value');\n val = v != null ? v : '';\n }\n }\n }\n searchKeyword.value = val;\n if (val == '') {\n showResults.value = false;\n searchSuggestions.value = [];\n return null;\n }\n if (suggestTimer > 0)\n clearTimeout(suggestTimer);\n suggestTimer = setTimeout(() => {\n fetchSuggestions(val);\n }, 300);\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/search.uvue:638', 'onInput error:', err);\n }\n };\n const clearSearch = () => {\n searchKeyword.value = '';\n showResults.value = false;\n };\n const onSearch = () => {\n if (searchKeyword.value.trim() == '')\n return null;\n addToHistory(searchKeyword.value.trim());\n performSearch();\n };\n const searchFromHistory = (keyword) => {\n searchKeyword.value = keyword;\n performSearch();\n };\n const searchFromHot = (keyword) => {\n searchKeyword.value = keyword;\n addToHistory(keyword);\n performSearch();\n };\n const selectSuggestion = (suggestion) => {\n searchKeyword.value = suggestion;\n addToHistory(suggestion);\n performSearch();\n };\n const switchSort = (type) => {\n if (type === 'price') {\n if (activeSort.value === 'price') {\n priceSortAsc.value = !priceSortAsc.value;\n }\n else {\n activeSort.value = 'price';\n priceSortAsc.value = true; // 默认升序\n }\n }\n else {\n activeSort.value = type;\n }\n // 重新执行搜索以获取正确排序的数据\n performSearch();\n };\n const loadMore = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j;\n if (loading.value || hasMore.value == false || searchKeyword.value.trim() == '')\n return Promise.resolve(null);\n loading.value = true;\n currentPage.value++;\n const keyword = searchKeyword.value.trim();\n let sortBy = 'sales';\n let ascending = false;\n if (activeSort.value === 'price') {\n sortBy = 'price';\n ascending = priceSortAsc.value;\n }\n else if (activeSort.value === 'default') {\n sortBy = 'default';\n }\n try {\n const response = yield supabaseService.searchProducts(keyword, currentPage.value, 20, sortBy, ascending);\n const respData = response.data != null ? response.data : [];\n for (let i = 0; i < respData.length; i++) {\n const p = respData[i];\n let tag = '';\n const tagsRaw = p.tags;\n if (tagsRaw != null) {\n try {\n const tagsStr = p.tags;\n if (tagsStr != null) {\n const tags = UTS.JSON.parse(tagsStr);\n if (Array.isArray(tags) && tags.length > 0) {\n const firstTag = tags[0];\n tag = firstTag != null ? firstTag : '';\n }\n }\n }\n catch (e) { }\n }\n const searchItem = new SearchResultType({\n id: (_a = p.id) !== null && _a !== void 0 ? _a : '',\n name: (_b = p.name) !== null && _b !== void 0 ? _b : '',\n image: (_c = p.main_image_url) !== null && _c !== void 0 ? _c : '/static/default.jpg',\n price: (_d = p.base_price) !== null && _d !== void 0 ? _d : 0,\n specification: (_g = p.specification) !== null && _g !== void 0 ? _g : '标准规格',\n tag: tag,\n sales: (_h = p.sale_count) !== null && _h !== void 0 ? _h : 0,\n merchant_id: (_j = p.merchant_id) !== null && _j !== void 0 ? _j : ''\n });\n searchResults.value.push(searchItem);\n }\n hasMore.value = response.hasmore;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/search.uvue:734', 'Load more failed', e);\n hasMore.value = false;\n }\n finally {\n loading.value = false;\n }\n }); };\n onReachBottom(() => {\n if (showResults.value) {\n loadMore();\n }\n });\n const refreshGuessList = () => {\n uni.showLoading({ title: '刷新中' });\n setTimeout(() => {\n refreshGuessListItems();\n uni.hideLoading();\n }, 500);\n };\n const viewProductDetail = (item) => {\n const id = item.id;\n const price = item.price;\n const name = item.name;\n uni.navigateTo({\n url: `/pages/mall/consumer/product-detail?productId=${id}&price=${price}&name=${encodeURIComponent(name)}`\n });\n };\n const viewShopDetail = (shop) => {\n uni.navigateTo({\n url: `/pages/mall/consumer/shop-detail?id=${shop.id}`\n });\n };\n const addToCart = (product) => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n uni.showLoading({ title: '检查商品...' });\n try {\n // 统一转换为 UTSJSONObject 访问属性\n const prodObj = UTS.JSON.parse(UTS.JSON.stringify(product));\n const productId = (_a = prodObj.getString('id')) !== null && _a !== void 0 ? _a : '';\n const merchantId = (_b = prodObj.getString('merchant_id')) !== null && _b !== void 0 ? _b : '';\n // 检查商品是否有SKU\n const skus = yield supabaseService.getProductSkus(productId);\n uni.hideLoading();\n if (skus.length > 0) {\n // 有规格,提示并跳转到商品详情页选择规格\n uni.showToast({ title: '请选择规格', icon: 'none' });\n setTimeout(() => {\n uni.navigateTo({\n url: '/pages/mall/consumer/product-detail?id=' + productId\n });\n }, 500);\n }\n else {\n // 无规格,直接加入购物车\n uni.showLoading({ title: '添加中...' });\n const success = yield supabaseService.addToCart(productId, 1, '', merchantId);\n uni.hideLoading();\n if (success) {\n uni.showToast({ title: '已添加到购物车', icon: 'success' });\n }\n else {\n uni.showToast({ title: '添加失败,请先登录', icon: 'none' });\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/search.uvue:802', '添加到购物车异常', e);\n uni.hideLoading();\n uni.showToast({ title: '操作异常', icon: 'none' });\n }\n }); };\n const openCamera = () => {\n uni.chooseImage(new UTSJSONObject({\n count: 1,\n sourceType: ['camera'],\n success: (res) => {\n uni.__f__('log', 'at pages/mall/consumer/search.uvue:813', '拍摄图片路径:', res.tempFilePaths[0]);\n uni.showToast({ title: '已启用相机', icon: 'none' });\n },\n fail: (err) => {\n uni.__f__('error', 'at pages/mall/consumer/search.uvue:817', '启用相机失败', err);\n }\n }));\n };\n const goBack = () => {\n if (showResults.value) {\n // 如果在搜索结果页,先返回到搜索初始页\n showResults.value = false;\n searchKeyword.value = '';\n }\n else {\n // 如果在搜索初始页,则返回上一页\n const pages = getCurrentPages();\n if (pages.length > 1) {\n uni.navigateBack();\n }\n else {\n // 如果只有一页(由于深链接或重定向),返回首页\n uni.switchTab({\n url: '/pages/main/index'\n });\n }\n }\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _o(goBack),\n b: searchKeyword.value,\n c: _o(onInput),\n d: _o(onSearch),\n e: autoFocus.value,\n f: searchKeyword.value\n }, searchKeyword.value ? {\n g: _o(clearSearch)\n } : {}, {\n h: _o(openCamera),\n i: _o(onSearch),\n j: statusBarHeight.value + 'px',\n k: isError.value\n }, isError.value ? {\n l: _o(retryLoad)\n } : _e({\n m: searchKeyword.value == '' && showResults.value == false\n }, searchKeyword.value == '' && showResults.value == false ? _e({\n n: searchHistory.value.length > 0\n }, searchHistory.value.length > 0 ? {\n o: _o(clearHistory),\n p: _f(searchHistory.value, (item, index, i0) => {\n return {\n a: _t(item),\n b: _o($event => { return deleteHistoryItem(index); }, index),\n c: index,\n d: _o($event => { return searchFromHistory(item); }, index)\n };\n })\n } : {}, {\n q: _f(hotSearchList.value, (item, index, i0) => {\n return _e({\n a: _t(index + 1),\n b: _n(index < 3 ? 'top-three' : ''),\n c: _t(item.keyword),\n d: item.hot == true\n }, item.hot == true ? {} : {}, {\n e: index,\n f: _n(item.hot == true ? 'hot' : ''),\n g: _o($event => { return searchFromHot(item.keyword); }, index)\n });\n }),\n r: _o(refreshGuessList),\n s: _f(guessList.value, (item, k0, i0) => {\n return {\n a: item.image,\n b: _t(item.name),\n c: _t(item.price),\n d: _o($event => { return addToCart(item); }, item.id),\n e: item.id,\n f: _o($event => { return viewProductDetail(item); }, item.id)\n };\n })\n }) : {}, {\n t: searchKeyword.value != '' && showResults.value == false\n }, searchKeyword.value != '' && showResults.value == false ? {\n v: _f(searchSuggestions.value, (suggestion, index, i0) => {\n return {\n a: _t(suggestion),\n b: index,\n c: _o($event => { return selectSuggestion(suggestion); }, index)\n };\n })\n } : {}, {\n w: showResults.value\n }, showResults.value ? _e({\n x: searchShopResults.value.length > 0\n }, searchShopResults.value.length > 0 ? {\n y: _f(searchShopResults.value, (shop, k0, i0) => {\n return {\n a: shop.logo,\n b: _t(shop.name),\n c: _t(shop.productCount),\n d: shop.id,\n e: _o($event => { return viewShopDetail(shop); }, shop.id)\n };\n })\n } : {}, {\n z: activeSort.value === 'default' ? 1 : '',\n A: _o($event => { return switchSort('default'); }),\n B: activeSort.value === 'sales' ? 1 : '',\n C: _o($event => { return switchSort('sales'); }),\n D: _t(activeSort.value === 'price' ? priceSortAsc.value ? '↑' : '↓' : ''),\n E: activeSort.value === 'price' ? 1 : '',\n F: _o($event => { return switchSort('price'); }),\n G: searchResults.value.length > 0\n }, searchResults.value.length > 0 ? {\n H: _f(searchResults.value, (product, k0, i0) => {\n return {\n a: product.image,\n b: _t(product.name),\n c: _t(product.price),\n d: _o($event => { return addToCart(product); }, product.id),\n e: product.id,\n f: _o($event => { return viewProductDetail(product); }, product.id)\n };\n })\n } : {}, {\n I: !loading.value && searchResults.value.length === 0\n }, !loading.value && searchResults.value.length === 0 ? {} : {}, {\n J: loading.value\n }, loading.value ? {} : {}, {\n K: !hasMore.value && searchResults.value.length > 0\n }, !hasMore.value && searchResults.value.length > 0 ? {} : {}) : {}), {\n L: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/search.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.getStorageSync","uni.setStorageSync","uni.removeStorageSync","uni.showModal","uni.__f__","uni.showLoading","uni.hideLoading","uni.getSystemInfoSync","uni.navigateTo","uni.showToast","uni.chooseImage","uni.navigateBack","uni.switchTab"],"map":"{\"version\":3,\"file\":\"search.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"search.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/65f26ef90b315aab90c4c1c11a93b354af188514 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/65f26ef90b315aab90c4c1c11a93b354af188514 deleted file mode 100644 index 6ceb3a44..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/65f26ef90b315aab90c4c1c11a93b354af188514 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport supabaseService from \"@/utils/supabaseService\";\nimport { UserCoupon } from \"@/utils/supabaseService\";\nclass Coupon extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n title: { type: String, optional: false },\n amount: { type: String, optional: false },\n expiry: { type: String, optional: false },\n id: { type: String, optional: false }\n };\n },\n name: \"Coupon\"\n };\n }\n constructor(options, metadata = Coupon.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.title = this.__props__.title;\n this.amount = this.__props__.amount;\n this.expiry = this.__props__.expiry;\n this.id = this.__props__.id;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'coupons',\n setup(__props) {\n const coupons = ref([]);\n const loadCoupons = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a;\n uni.showLoading({ title: '加载中...' });\n try {\n const userCoupons = yield supabaseService.getUserCoupons(1);\n const couponList = [];\n for (let i = 0; i < userCoupons.length; i++) {\n const item = userCoupons[i];\n const amountVal = (_a = item.amount) !== null && _a !== void 0 ? _a : 0;\n const expiryVal = (item.expire_at != null && item.expire_at !== '')\n ? item.expire_at.substring(0, 10)\n : '长期有效';\n const coupon = new Coupon({\n id: item.id,\n title: (item.template_name != null && item.template_name !== '') ? item.template_name : '优惠券',\n amount: `¥${amountVal}`,\n expiry: expiryVal\n });\n couponList.push(coupon);\n }\n coupons.value = couponList;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/coupons.uvue:59', '加载优惠券失败', e);\n coupons.value = [];\n }\n finally {\n uni.hideLoading();\n }\n }); };\n onMounted(() => {\n loadCoupons();\n });\n const useCoupon = (coupon) => {\n uni.switchTab({\n url: '/pages/main/index'\n });\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: coupons.value.length === 0\n }, coupons.value.length === 0 ? {} : {\n b: _f(coupons.value, (coupon, index, i0) => {\n return {\n a: _t(coupon.amount),\n b: _t(coupon.title),\n c: _t(coupon.expiry),\n d: _o($event => { return useCoupon(coupon); }, index),\n e: index\n };\n })\n }, {\n c: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/coupons.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.showLoading","uni.__f__","uni.hideLoading","uni.switchTab"],"map":"{\"version\":3,\"file\":\"coupons.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"coupons.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/75dca90fea0853754643cbe5daf47e69f1ebde1f b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/75dca90fea0853754643cbe5daf47e69f1ebde1f deleted file mode 100644 index ef7dbe7a..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/75dca90fea0853754643cbe5daf47e69f1ebde1f +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, computed, onMounted } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass BankCard extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n bank_name: { type: String, optional: false },\n card_number: { type: String, optional: false }\n };\n },\n name: \"BankCard\"\n };\n }\n constructor(options, metadata = BankCard.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.bank_name = this.__props__.bank_name;\n this.card_number = this.__props__.card_number;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'withdraw',\n setup(__props) {\n const amount = ref('');\n const balance = ref(0.00);\n const loading = ref(false);\n const bankCards = ref([]);\n const selectedBank = ref(null);\n const showBankPopup = ref(false);\n const isValid = computed(() => {\n const val = parseFloat(amount.value);\n // 检查 val 是否有效(替代 isNaN)\n if (val == null || val <= 0)\n return false;\n if (val > balance.value)\n return false;\n if (selectedBank.value == null)\n return false;\n return true;\n });\n const loadData = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h;\n try {\n const bal = yield supabaseService.getUserBalanceNumber();\n balance.value = bal;\n const res = yield supabaseService.getUserBankCards();\n const list = [];\n for (let i = 0; i < res.length; i++) {\n const item = res[i];\n let id = '';\n let bankName = '';\n let cardNum = '';\n if (UTS.isInstanceOf(item, UTSJSONObject)) {\n id = (_a = item.getString('id')) !== null && _a !== void 0 ? _a : '';\n bankName = (_b = item.getString('bank_name')) !== null && _b !== void 0 ? _b : '';\n cardNum = (_c = item.getString('card_number')) !== null && _c !== void 0 ? _c : '';\n }\n else {\n const itemObj = item;\n id = (_d = itemObj.getString('id')) !== null && _d !== void 0 ? _d : '';\n bankName = (_g = itemObj.getString('bank_name')) !== null && _g !== void 0 ? _g : '';\n cardNum = (_h = itemObj.getString('card_number')) !== null && _h !== void 0 ? _h : '';\n }\n if (id != '') {\n const card = new BankCard({\n id: id,\n bank_name: bankName,\n card_number: cardNum\n });\n list.push(card);\n }\n }\n bankCards.value = list;\n if (bankCards.value.length > 0) {\n selectedBank.value = bankCards.value[0];\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/withdraw.uvue:140', e);\n }\n }); };\n onMounted(() => {\n loadData();\n });\n const getTailNumber = (cardNo = null) => {\n if (cardNo == null)\n return '';\n if (cardNo.length <= 4)\n return cardNo;\n return cardNo.substring(cardNo.length - 4);\n };\n const setAll = () => {\n amount.value = balance.value.toString();\n };\n const openBankSelector = () => {\n showBankPopup.value = true;\n };\n const selectBank = (bank) => {\n selectedBank.value = bank;\n showBankPopup.value = false;\n };\n const navigateToAddCard = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/bank-cards/add'\n });\n showBankPopup.value = false;\n };\n const submitWithdraw = () => { return __awaiter(this, void 0, void 0, function* () {\n if (isValid.value === false)\n return Promise.resolve(null);\n loading.value = true;\n try {\n const val = parseFloat(amount.value);\n const success = yield supabaseService.withdrawBalance(val);\n if (success) {\n uni.showToast({\n title: '提现申请已提交',\n icon: 'success'\n });\n setTimeout(() => {\n uni.navigateBack();\n }, 1500);\n }\n else {\n uni.showToast({\n title: '提现失败, ' + (val > balance.value ? '余额不足' : '请重试'),\n icon: 'none'\n });\n }\n }\n catch (e) {\n uni.showToast({\n title: '系统异常',\n icon: 'none'\n });\n }\n finally {\n loading.value = false;\n }\n }); };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: selectedBank.value != null\n }, selectedBank.value != null ? {\n b: _t(selectedBank.value.bank_name),\n c: _t(getTailNumber(selectedBank.value.card_number))\n } : {}, {\n d: _o(openBankSelector),\n e: amount.value,\n f: _o($event => { return amount.value = $event.detail.value; }),\n g: _t(balance.value),\n h: _o(setAll),\n i: _t(loading.value ? '处理中...' : '确认提现'),\n j: isValid.value === false,\n k: loading.value,\n l: _o(submitWithdraw),\n m: showBankPopup.value\n }, showBankPopup.value ? {\n n: _o($event => { return showBankPopup.value = false; }),\n o: _f(bankCards.value, (item, index, i0) => {\n return _e({\n a: _t(item.bank_name),\n b: _t(getTailNumber(item.card_number)),\n c: selectedBank.value != null && selectedBank.value.id == item.id\n }, selectedBank.value != null && selectedBank.value.id == item.id ? {} : {}, {\n d: index,\n e: _o($event => { return selectBank(item); }, index)\n });\n }),\n p: _o(navigateToAddCard),\n q: _o(() => { }),\n r: _o($event => { return showBankPopup.value = false; })\n } : {}, {\n s: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/withdraw.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__","uni.navigateTo","uni.showToast","uni.navigateBack"],"map":"{\"version\":3,\"file\":\"withdraw.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"withdraw.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/773f07d58dcac63314b02776930d00008dd45f08 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/773f07d58dcac63314b02776930d00008dd45f08 deleted file mode 100644 index ffcf1de7..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/773f07d58dcac63314b02776930d00008dd45f08 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { onLoad } from '@dcloudio/uni-app';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass TrackItem extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n desc: { type: String, optional: false },\n time: { type: String, optional: false }\n };\n },\n name: \"TrackItem\"\n };\n }\n constructor(options, metadata = TrackItem.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.desc = this.__props__.desc;\n this.time = this.__props__.time;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'logistics',\n setup(__props) {\n const orderId = ref('');\n const productImage = ref('/static/product1.jpg');\n const logisticsStatus = ref('暂无物流信息');\n const courierName = ref('');\n const courierPhone = ref('');\n const trackingNo = ref('');\n const trackList = ref([]);\n // 加载物流信息函数 - 必须在 onLoad 之前定义\n const loadLogisticsInfo = () => { return __awaiter(this, void 0, void 0, function* () {\n if (orderId.value == '')\n return Promise.resolve(null);\n try {\n uni.__f__('log', 'at pages/mall/consumer/logistics.uvue:60', '[logistics] 开始加载物流信息, orderId:', orderId.value);\n const order = yield supabaseService.getOrderDetail(orderId.value);\n uni.__f__('log', 'at pages/mall/consumer/logistics.uvue:62', '[logistics] 获取订单结果:', order != null ? '成功' : '失败');\n if (order != null) {\n const orderStr = UTS.JSON.stringify(order);\n uni.__f__('log', 'at pages/mall/consumer/logistics.uvue:66', '[logistics] 订单JSON:', orderStr);\n const orderParsed = UTS.JSON.parse(orderStr);\n if (orderParsed == null) {\n uni.__f__('error', 'at pages/mall/consumer/logistics.uvue:69', '[logistics] 解析订单数据失败');\n return Promise.resolve(null);\n }\n const orderObj = orderParsed;\n // 获取物流信息\n const trackingNoVal = orderObj.getString('tracking_no');\n const carrierNameVal = orderObj.getString('carrier_name');\n const shippingStatus = orderObj.getNumber('shipping_status');\n uni.__f__('log', 'at pages/mall/consumer/logistics.uvue:79', '[logistics] tracking_no:', trackingNoVal);\n uni.__f__('log', 'at pages/mall/consumer/logistics.uvue:80', '[logistics] carrier_name:', carrierNameVal);\n uni.__f__('log', 'at pages/mall/consumer/logistics.uvue:81', '[logistics] shipping_status:', shippingStatus);\n if (trackingNoVal != null && trackingNoVal != '') {\n trackingNo.value = trackingNoVal;\n }\n else {\n uni.__f__('log', 'at pages/mall/consumer/logistics.uvue:86', '[logistics] 物流单号为空,订单可能未发货');\n // 物流单号为空时显示提示\n trackingNo.value = '暂无物流单号';\n logisticsStatus.value = '商家未填写物流信息';\n }\n if (carrierNameVal != null && carrierNameVal != '') {\n courierName.value = carrierNameVal;\n // 根据快递公司设置电话\n if (carrierNameVal.includes('顺丰')) {\n courierPhone.value = '95338';\n }\n else if (carrierNameVal.includes('中通')) {\n courierPhone.value = '95311';\n }\n else if (carrierNameVal.includes('圆通')) {\n courierPhone.value = '95554';\n }\n else if (carrierNameVal.includes('韵达')) {\n courierPhone.value = '95546';\n }\n else if (carrierNameVal.includes('申通')) {\n courierPhone.value = '95543';\n }\n else {\n courierPhone.value = '';\n }\n }\n // 根据发货状态设置物流状态\n if (shippingStatus == 2) {\n logisticsStatus.value = '已签收';\n }\n else if (shippingStatus == 1) {\n logisticsStatus.value = '运输中';\n }\n else {\n logisticsStatus.value = '待发货';\n }\n // 获取商品图片\n const itemsRaw = orderObj.get('ml_order_items');\n if (itemsRaw != null && Array.isArray(itemsRaw)) {\n const items = itemsRaw;\n if (items.length > 0) {\n const firstItem = items[0];\n const itemStr = UTS.JSON.stringify(firstItem);\n const itemParsed = UTS.JSON.parse(itemStr);\n if (itemParsed != null) {\n const itemObj = itemParsed;\n const imgUrl = itemObj.getString('image_url');\n if (imgUrl != null && imgUrl != '') {\n productImage.value = imgUrl;\n }\n }\n }\n }\n // 构建物流轨迹(如果有发货时间)\n const shippedAt = orderObj.getString('shipped_at');\n if (shippedAt != null && shippedAt != '') {\n const trackItem = new TrackItem({\n desc: '商家已发货,等待快递揽收',\n time: shippedAt\n });\n trackList.value.push(trackItem);\n }\n // 如果已签收,添加签收信息\n const deliveredAt = orderObj.getString('delivered_at');\n if (deliveredAt != null && deliveredAt != '') {\n const trackItem = new TrackItem({\n desc: '快件已签收',\n time: deliveredAt\n });\n trackList.value.unshift(trackItem);\n logisticsStatus.value = '已签收';\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/logistics.uvue:159', '加载物流信息失败:', e);\n }\n }); };\n onLoad((options = null) => {\n if (options == null)\n return null;\n const orderIdValue = options['orderId'];\n if (orderIdValue != null) {\n orderId.value = orderIdValue;\n loadLogisticsInfo();\n }\n });\n onMounted(() => {\n // 逻辑已移到 onLoad\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = {\n a: productImage.value,\n b: _t(logisticsStatus.value),\n c: _t(courierName.value),\n d: _t(trackingNo.value),\n e: _t(courierPhone.value),\n f: _f(trackList.value, (item, index, i0) => {\n return _e({\n a: index !== trackList.value.length - 1\n }, index !== trackList.value.length - 1 ? {} : {}, {\n b: _t(item.desc),\n c: _t(item.time),\n d: index,\n e: index === 0 ? 1 : ''\n });\n }),\n g: _sei(_gei(_ctx, ''), 'view')\n };\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/logistics.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.__f__"],"map":"{\"version\":3,\"file\":\"logistics.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"logistics.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/7db138d839efd8bbac6c9407a427f988a90f95ca b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/7db138d839efd8bbac6c9407a427f988a90f95ca deleted file mode 100644 index e1b71a6c..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/7db138d839efd8bbac6c9407a427f988a90f95ca +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, toDisplayString as _toDisplayString, t as _t, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref } from 'vue';\nimport { onLoad } from '@dcloudio/uni-app';\nimport { supabaseService } from \"@/utils/supabaseService\";\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'apply-refund',\n setup(__props) {\n const orderId = ref('');\n const orderItemId = ref(''); // Optional, if refunding specific item\n const refundType = ref(1); // 1: Only Refund, 2: Return & Refund\n const refundReason = ref('');\n const refundAmount = ref('');\n const description = ref('');\n const maxAmount = ref(0);\n const deliveryFee = ref(0);\n const submitting = ref(false);\n const reasonList = [\n '多拍/错拍/不想要',\n '快递一直未送达',\n '未按约定时间发货',\n '快递无记录',\n '空包裹/少货/错发',\n '质量问题',\n '其他'\n ];\n const loadOrderInfo = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n try {\n const orderData = yield supabaseService.getOrderDetail(orderId.value);\n if (orderData != null) {\n // Cast to UTSJSONObject to access properties safely\n const order = orderData;\n const total = (_a = order.getNumber('total_amount')) !== null && _a !== void 0 ? _a : 0;\n const shipping = (_b = order.getNumber('shipping_fee')) !== null && _b !== void 0 ? _b : 0;\n maxAmount.value = total;\n deliveryFee.value = shipping;\n refundAmount.value = maxAmount.value.toString();\n }\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/apply-refund.uvue:98', '加载订单信息失败', err);\n uni.showToast({\n title: '加载订单失败',\n icon: 'none'\n });\n }\n }); };\n onLoad((options = null) => {\n if (options['orderId'] != null) {\n orderId.value = options['orderId'];\n loadOrderInfo();\n }\n });\n const handleTypeChange = (e = null) => {\n // Use bracket notation to access detail property safely on 'any' type in UTS\n // The structure is e -> detail -> value\n // We need to cast e to UTSJSONObject first if we want to use bracket notation,\n // OR we can use JSON.parse/stringify trick if simple casting fails,\n // BUT the most standard way for UTS 'any' which is actually a Map/JSONObject at runtime:\n const target = e;\n const detail = target['detail'];\n const value = detail['value'];\n refundType.value = parseInt(value);\n };\n const handleReasonChange = (e = null) => {\n // Use bracket notation to access detail property safely on 'any' type in UTS\n const target = e;\n const detail = target['detail'];\n const value = detail['value'];\n const index = value;\n refundReason.value = reasonList[index];\n };\n const submitRefund = () => { return __awaiter(this, void 0, void 0, function* () {\n uni.__f__('log', 'at pages/mall/consumer/apply-refund.uvue:136', '=== 提交退款 ===');\n uni.__f__('log', 'at pages/mall/consumer/apply-refund.uvue:137', 'refundReason:', refundReason.value);\n uni.__f__('log', 'at pages/mall/consumer/apply-refund.uvue:138', 'refundAmount:', refundAmount.value);\n uni.__f__('log', 'at pages/mall/consumer/apply-refund.uvue:139', 'maxAmount:', maxAmount.value);\n if (refundReason.value == '') {\n uni.showToast({ title: '请选择退款原因', icon: 'none' });\n return Promise.resolve(null);\n }\n const amount = parseFloat(refundAmount.value);\n uni.__f__('log', 'at pages/mall/consumer/apply-refund.uvue:147', '解析后金额:', amount);\n if (isNaN(amount) || amount <= 0 || amount > maxAmount.value) {\n uni.showToast({ title: '请输入有效的退款金额', icon: 'none' });\n return Promise.resolve(null);\n }\n submitting.value = true;\n uni.showLoading({ title: '提交中...' });\n try {\n uni.__f__('log', 'at pages/mall/consumer/apply-refund.uvue:158', '调用 createRefund, orderId:', orderId.value);\n const result = yield supabaseService.createRefund(new UTSJSONObject({\n order_id: orderId.value,\n refund_type: refundType.value,\n refund_reason: refundReason.value,\n refund_amount: amount,\n description: description.value\n }));\n uni.__f__('log', 'at pages/mall/consumer/apply-refund.uvue:167', 'createRefund 结果:', UTS.JSON.stringify(result));\n uni.hideLoading();\n if (result.success) {\n uni.showToast({ title: '提交成功', icon: 'success' });\n setTimeout(() => {\n uni.navigateBack();\n }, 1500);\n }\n else {\n uni.showToast({ title: result.message, icon: 'none' });\n }\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/apply-refund.uvue:180', '提交退款失败', err);\n uni.hideLoading();\n uni.showToast({ title: '提交异常', icon: 'none' });\n }\n finally {\n submitting.value = false;\n }\n }); };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: refundType.value === 1,\n b: refundType.value === 2,\n c: _o(handleTypeChange),\n d: refundReason.value\n }, refundReason.value ? {\n e: _t(refundReason.value)\n } : {}, {\n f: _o(handleReasonChange),\n g: reasonList,\n h: `最多可退 ¥${maxAmount.value}`,\n i: refundAmount.value,\n j: _o($event => { return refundAmount.value = $event.detail.value; }),\n k: _t(maxAmount.value),\n l: _t(deliveryFee.value),\n m: description.value,\n n: _o($event => { return description.value = $event.detail.value; }),\n o: _o(submitRefund),\n p: submitting.value,\n q: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/apply-refund.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.__f__","uni.showToast","uni.showLoading","uni.hideLoading","uni.navigateBack"],"map":"{\"version\":3,\"file\":\"apply-refund.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"apply-refund.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/827da4df1694074e2abfae526ab958d8753962be b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/827da4df1694074e2abfae526ab958d8753962be deleted file mode 100644 index 6e90e99b..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/827da4df1694074e2abfae526ab958d8753962be +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass FollowedShop extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n merchant_id: { type: String, optional: false },\n shop_name: { type: String, optional: false },\n shop_logo: { type: String, optional: true },\n description: { type: String, optional: true },\n rating_avg: { type: Number, optional: false },\n total_sales: { type: Number, optional: false }\n };\n },\n name: \"FollowedShop\"\n };\n }\n constructor(options, metadata = FollowedShop.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.merchant_id = this.__props__.merchant_id;\n this.shop_name = this.__props__.shop_name;\n this.shop_logo = this.__props__.shop_logo;\n this.description = this.__props__.description;\n this.rating_avg = this.__props__.rating_avg;\n this.total_sales = this.__props__.total_sales;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'followed-shops',\n setup(__props) {\n const shops = ref([]);\n const loading = ref(true);\n const loadFollowedShops = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g;\n loading.value = true;\n const userId = supabaseService.getCurrentUserId();\n if (userId == null || userId == '') {\n uni.navigateTo({ url: '/pages/auth/login' });\n return Promise.resolve(null);\n }\n const res = yield supabaseService.getFollowedShops(userId);\n const list = [];\n if (res != null && Array.isArray(res)) {\n for (let i = 0; i < res.length; i++) {\n const item = res[i];\n const shopDataRaw = item.get('ml_shops');\n if (shopDataRaw != null) {\n const shopData = shopDataRaw;\n const shop = new FollowedShop({\n id: (_a = shopData.getString('id')) !== null && _a !== void 0 ? _a : '',\n merchant_id: (_b = shopData.getString('merchant_id')) !== null && _b !== void 0 ? _b : '',\n shop_name: (_c = shopData.getString('shop_name')) !== null && _c !== void 0 ? _c : '',\n shop_logo: shopData.getString('shop_logo'),\n description: shopData.getString('description'),\n rating_avg: (_d = shopData.getNumber('rating_avg')) !== null && _d !== void 0 ? _d : 5.0,\n total_sales: (_g = shopData.getNumber('total_sales')) !== null && _g !== void 0 ? _g : 0\n });\n list.push(shop);\n }\n }\n }\n shops.value = list;\n loading.value = false;\n }); };\n const doUnfollow = (shopId, userId) => { return __awaiter(this, void 0, void 0, function* () {\n const success = yield supabaseService.unfollowShop(shopId, userId);\n if (success) {\n uni.showToast({ title: '已取消', icon: 'none' });\n loadFollowedShops();\n }\n else {\n uni.showToast({ title: '操作失败', icon: 'none' });\n }\n }); };\n const unfollow = (shop) => { return __awaiter(this, void 0, void 0, function* () {\n const userId = supabaseService.getCurrentUserId();\n if (userId == null || userId == '')\n return Promise.resolve(null);\n uni.showModal(new UTSJSONObject({\n title: '提示',\n content: '确定取消关注该店铺吗?',\n success: (res) => {\n if (res.confirm) {\n doUnfollow(shop.id, userId);\n }\n }\n }));\n }); };\n const goToShop = (shop) => {\n const targetId = shop.merchant_id != '' ? shop.merchant_id : shop.id;\n uni.navigateTo({\n url: `/pages/mall/consumer/shop-detail?merchantId=${targetId}`\n });\n };\n const goHome = () => {\n uni.switchTab({ url: '/pages/main/index' });\n };\n onMounted(() => {\n loadFollowedShops();\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: shops.value.length > 0\n }, shops.value.length > 0 ? {\n b: _f(shops.value, (shop, k0, i0) => {\n return {\n a: shop.shop_logo != null ? shop.shop_logo : '/static/default-shop.png',\n b: _t(shop.shop_name),\n c: _t(shop.description != null ? shop.description : '暂无介绍'),\n d: _t(shop.rating_avg),\n e: _t(shop.total_sales),\n f: _o($event => { return unfollow(shop); }, shop.id),\n g: shop.id,\n h: _o($event => { return goToShop(shop); }, shop.id)\n };\n })\n } : loading.value == false ? {\n d: _o(goHome)\n } : {}, {\n c: loading.value == false,\n e: loading.value\n }, loading.value ? {} : {}, {\n f: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/subscription/followed-shops.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.navigateTo","uni.showToast","uni.showModal","uni.switchTab"],"map":"{\"version\":3,\"file\":\"followed-shops.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"followed-shops.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/8f2e9fefce51e24da3791b2d384335ceb0ba47f3 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/8f2e9fefce51e24da3791b2d384335ceb0ba47f3 deleted file mode 100644 index a3794fb3..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/8f2e9fefce51e24da3791b2d384335ceb0ba47f3 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, toDisplayString as _toDisplayString, t as _t, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, computed, onMounted } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass RedPacket extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n user_id: { type: String, optional: false },\n amount: { type: Number, optional: false },\n name: { type: String, optional: false },\n status: { type: Number, optional: false },\n expire_at: { type: String, optional: false },\n created_at: { type: String, optional: false }\n };\n },\n name: \"RedPacket\"\n };\n }\n constructor(options, metadata = RedPacket.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.user_id = this.__props__.user_id;\n this.amount = this.__props__.amount;\n this.name = this.__props__.name;\n this.status = this.__props__.status;\n this.expire_at = this.__props__.expire_at;\n this.created_at = this.__props__.created_at;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'index',\n setup(__props) {\n const loading = ref(true);\n const currentTab = ref(0);\n const packets = ref([]);\n const filteredPackets = computed(() => {\n const result = [];\n if (currentTab.value === 0) {\n for (let i = 0; i < packets.value.length; i++) {\n if (packets.value[i].status === 0) {\n result.push(packets.value[i]);\n }\n }\n }\n else {\n for (let i = 0; i < packets.value.length; i++) {\n if (packets.value[i].status !== 0) {\n result.push(packets.value[i]);\n }\n }\n }\n return result;\n });\n const loadData = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h;\n loading.value = true;\n try {\n const rawList = yield supabaseService.getUserRedPackets();\n const mappedList = [];\n for (let i = 0; i < rawList.length; i++) {\n const item = rawList[i];\n const packet = new RedPacket({\n id: (_a = item.getString('id')) !== null && _a !== void 0 ? _a : '',\n user_id: '',\n amount: (_b = item.getNumber('amount')) !== null && _b !== void 0 ? _b : 0,\n name: (_c = item.getString('name')) !== null && _c !== void 0 ? _c : '',\n status: (_d = item.getNumber('status')) !== null && _d !== void 0 ? _d : 0,\n expire_at: (_g = item.getString('expire_at')) !== null && _g !== void 0 ? _g : '',\n created_at: (_h = item.getString('created_at')) !== null && _h !== void 0 ? _h : ''\n });\n mappedList.push(packet);\n }\n packets.value = mappedList;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/red-packets/index.uvue:98', e);\n }\n finally {\n loading.value = false;\n }\n }); };\n onMounted(() => {\n loadData();\n });\n const usePacket = (item) => {\n uni.switchTab({\n url: '/pages/main/index'\n });\n };\n const getStatusText = (status) => {\n if (status === 1)\n return '已使用';\n if (status === 2)\n return '已过期';\n return '';\n };\n const formatTime = (timeStr) => {\n if (timeStr == '')\n return '永久有效';\n const date = new Date(timeStr);\n return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`;\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: currentTab.value === 0 ? 1 : '',\n b: _o($event => { return currentTab.value = 0; }),\n c: currentTab.value === 1 ? 1 : '',\n d: _o($event => { return currentTab.value = 1; }),\n e: loading.value\n }, loading.value ? {} : _e({\n f: filteredPackets.value.length === 0\n }, filteredPackets.value.length === 0 ? {} : {\n g: _f(filteredPackets.value, (item, k0, i0) => {\n return _e({\n a: _t(item.amount),\n b: _t(item.name),\n c: _t(formatTime(item.expire_at)),\n d: item.status === 0\n }, item.status === 0 ? {\n e: _o($event => { return usePacket(item); }, item.id)\n } : {\n f: _t(getStatusText(item.status))\n }, {\n g: item.id,\n h: item.status !== 0 ? 1 : ''\n });\n })\n }), {\n h: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/red-packets/index.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__","uni.switchTab"],"map":"{\"version\":3,\"file\":\"index.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"index.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/959459969b1d135a113b92473cd28feefe6532cf b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/959459969b1d135a113b92473cd28feefe6532cf deleted file mode 100644 index f4f9a9ed..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/959459969b1d135a113b92473cd28feefe6532cf +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent } from \"vue\";\nimport { UserType } from \"@/types/mall-types\";\nimport supabaseService from \"@/utils/supabaseService\";\nclass UserStatsType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n points: { type: Number, optional: false },\n balance: { type: Number, optional: false },\n level: { type: Number, optional: false }\n };\n },\n name: \"UserStatsType\"\n };\n }\n constructor(options, metadata = UserStatsType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.points = this.__props__.points;\n this.balance = this.__props__.balance;\n this.level = this.__props__.level;\n delete this.__props__;\n }\n}\nclass OrderCountsType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n total: { type: Number, optional: false },\n pending: { type: Number, optional: false },\n toship: { type: Number, optional: false },\n shipped: { type: Number, optional: false },\n review: { type: Number, optional: false }\n };\n },\n name: \"OrderCountsType\"\n };\n }\n constructor(options, metadata = OrderCountsType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.total = this.__props__.total;\n this.pending = this.__props__.pending;\n this.toship = this.__props__.toship;\n this.shipped = this.__props__.shipped;\n this.review = this.__props__.review;\n delete this.__props__;\n }\n}\nclass ServiceCountsType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n coupons: { type: Number, optional: false },\n favorites: { type: Number, optional: false }\n };\n },\n name: \"ServiceCountsType\"\n };\n }\n constructor(options, metadata = ServiceCountsType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.coupons = this.__props__.coupons;\n this.favorites = this.__props__.favorites;\n delete this.__props__;\n }\n}\nclass ConsumptionStatsType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n total_amount: { type: Number, optional: false },\n order_count: { type: Number, optional: false },\n avg_amount: { type: Number, optional: false },\n save_amount: { type: Number, optional: false }\n };\n },\n name: \"ConsumptionStatsType\"\n };\n }\n constructor(options, metadata = ConsumptionStatsType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.total_amount = this.__props__.total_amount;\n this.order_count = this.__props__.order_count;\n this.avg_amount = this.__props__.avg_amount;\n this.save_amount = this.__props__.save_amount;\n delete this.__props__;\n }\n}\nclass StatsPeriodType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n key: { type: String, optional: false },\n label: { type: String, optional: false }\n };\n },\n name: \"StatsPeriodType\"\n };\n }\n constructor(options, metadata = StatsPeriodType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.key = this.__props__.key;\n this.label = this.__props__.label;\n delete this.__props__;\n }\n}\nclass OrderItemType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n order_no: { type: String, optional: false },\n status: { type: Number, optional: false },\n actual_amount: { type: Number, optional: false },\n created_at: { type: String, optional: false },\n ml_order_items: { type: \"Any\", optional: true },\n ml_shops: { type: \"Any\", optional: true },\n items_count: { type: Number, optional: false }\n };\n },\n name: \"OrderItemType\"\n };\n }\n constructor(options, metadata = OrderItemType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.order_no = this.__props__.order_no;\n this.status = this.__props__.status;\n this.actual_amount = this.__props__.actual_amount;\n this.created_at = this.__props__.created_at;\n this.ml_order_items = this.__props__.ml_order_items;\n this.ml_shops = this.__props__.ml_shops;\n this.items_count = this.__props__.items_count;\n delete this.__props__;\n }\n}\nexport default defineComponent({\n data() {\n return {\n userInfo: new UserType({\n id: '',\n phone: '',\n email: '',\n nickname: '',\n avatar_url: '',\n gender: 0,\n user_type: 0,\n status: 0,\n created_at: ''\n }),\n userStats: new UserStatsType({\n points: 0,\n balance: 0,\n level: 1\n }),\n orderCounts: new OrderCountsType({\n total: 0,\n pending: 0,\n toship: 0,\n shipped: 0,\n review: 0\n }),\n serviceCounts: new ServiceCountsType({\n coupons: 0,\n favorites: 0\n }),\n recentOrders: [],\n statsPeriods: [\n new StatsPeriodType({ key: 'month', label: '本月' }),\n new StatsPeriodType({ key: 'quarter', label: '本季度' }),\n new StatsPeriodType({ key: 'year', label: '本年' }),\n new StatsPeriodType({ key: 'all', label: '全部' })\n ],\n activeStatsPeriod: 'month',\n currentStats: new ConsumptionStatsType({\n total_amount: 0,\n order_count: 0,\n avg_amount: 0,\n save_amount: 0\n }),\n statusBarHeight: 0,\n navBarRight: 0,\n currentOrderTab: 'all',\n allOrders: []\n };\n },\n onLoad() {\n this.initPage();\n this.loadUserProfile();\n this.loadOrders();\n // 监听订单更新事件\n uni.$on('orderUpdated', this.handleOrderUpdated);\n },\n onShow() {\n this.refreshData();\n },\n onUnload() {\n // 移除事件监听\n uni.$off('orderUpdated', this.handleOrderUpdated);\n },\n computed: {\n filteredOrders() {\n const result = [];\n if (this.currentOrderTab === 'all') {\n for (let i = 0; i < this.allOrders.length; i++) {\n result.push(this.allOrders[i]);\n }\n return result;\n }\n let targetStatus = 0;\n if (this.currentOrderTab === 'pending') {\n targetStatus = 1;\n }\n else if (this.currentOrderTab === 'toship') {\n targetStatus = 2;\n }\n else if (this.currentOrderTab === 'shipped') {\n targetStatus = 3;\n }\n else if (this.currentOrderTab === 'review') {\n targetStatus = 4;\n }\n else {\n return result;\n }\n for (let i = 0; i < this.allOrders.length; i++) {\n if (this.allOrders[i].status === targetStatus) {\n result.push(this.allOrders[i]);\n }\n }\n return result;\n }\n },\n methods: {\n loadOrders() {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const orders = yield supabaseService.getOrders();\n const mappedOrders = [];\n for (let i = 0; i < orders.length; i++) {\n const rawItem = orders[i];\n const o = UTS.JSON.parse(UTS.JSON.stringify(rawItem));\n let status = o.getNumber('status');\n if (status == null) {\n const orderStatus = o.getNumber('order_status');\n status = orderStatus != null ? orderStatus : 0;\n }\n let actualAmount = o.getNumber('actual_amount');\n if (actualAmount == null) {\n const totalAmount = o.getNumber('total_amount');\n actualAmount = totalAmount != null ? totalAmount : 0;\n }\n const mlOrderItems = o.get('ml_order_items');\n let itemsCount = 0;\n if (mlOrderItems != null && Array.isArray(mlOrderItems)) {\n itemsCount = mlOrderItems.length;\n }\n const orderItem = new OrderItemType({\n id: (_a = o.getString('id')) !== null && _a !== void 0 ? _a : '',\n order_no: (_b = o.getString('order_no')) !== null && _b !== void 0 ? _b : '',\n status: status,\n actual_amount: actualAmount,\n created_at: (_c = o.getString('created_at')) !== null && _c !== void 0 ? _c : '',\n ml_order_items: mlOrderItems,\n ml_shops: o.get('ml_shops'),\n items_count: itemsCount\n });\n mappedOrders.push(orderItem);\n }\n for (let i = 0; i < mappedOrders.length; i++) {\n for (let j = i + 1; j < mappedOrders.length; j++) {\n const dateA = mappedOrders[i]['created_at'];\n const dateB = mappedOrders[j]['created_at'];\n const timeA = new Date(dateA != null ? dateA : '1970-01-01').getTime();\n const timeB = new Date(dateB != null ? dateB : '1970-01-01').getTime();\n if (timeA < timeB) {\n const temp = mappedOrders[i];\n mappedOrders[i] = mappedOrders[j];\n mappedOrders[j] = temp;\n }\n }\n }\n this.allOrders = mappedOrders;\n const recentList = [];\n const limit = mappedOrders.length < 5 ? mappedOrders.length : 5;\n for (let i = 0; i < limit; i++) {\n recentList.push(mappedOrders[i]);\n }\n this.recentOrders = recentList;\n let total = 0;\n let pending = 0;\n let toship = 0;\n let shipped = 0;\n let review = 0;\n for (let i = 0; i < mappedOrders.length; i++) {\n total++;\n const status = mappedOrders[i].status;\n if (status === 1)\n pending++;\n else if (status === 2)\n toship++;\n else if (status === 3)\n shipped++;\n else if (status === 4)\n review++;\n }\n this.orderCounts = {\n total: total,\n pending: pending,\n toship: toship,\n shipped: shipped,\n review: review\n };\n }\n catch (e) {\n uni.__f__('error', 'at pages/main/profile.uvue:512', '加载订单异常', e);\n }\n });\n },\n // 切换订单Tab\n switchOrderTab(tab) {\n this.currentOrderTab = tab;\n },\n // 获取当前订单部分标题\n getOrderSectionTitle() {\n if (this.currentOrderTab === 'all')\n return '全部订单';\n if (this.currentOrderTab === 'pending')\n return '待支付订单';\n if (this.currentOrderTab === 'shipped')\n return '待收货订单';\n if (this.currentOrderTab === 'review')\n return '待评价订单';\n return '我的订单';\n },\n initPage() {\n var _a;\n const systemInfo = uni.getSystemInfoSync();\n this.statusBarHeight = (_a = systemInfo.statusBarHeight) !== null && _a !== void 0 ? _a : 0;\n // 获取小程序胶囊按钮信息\n try {\n const menuButton = uni.getMenuButtonBoundingClientRect();\n if (menuButton != null) {\n this.navBarRight = (systemInfo.screenWidth - menuButton.left) + 10;\n }\n }\n catch (e) {\n uni.__f__('log', 'at pages/main/profile.uvue:542', '获取胶囊按钮信息失败', e);\n this.navBarRight = 90;\n }\n },\n loadUserProfile() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // 获取用户资料\n const profile = yield supabaseService.getUserProfile();\n if (profile != null) {\n // 映射字段\n let uId = '';\n let uPhone = '';\n let uEmail = '';\n let uNickname = '';\n let uAvatar = '';\n let uGender = 0;\n if (UTS.isInstanceOf(profile, UTSJSONObject)) {\n uId = (_a = profile.getString('user_id')) !== null && _a !== void 0 ? _a : '';\n uPhone = (_b = profile.getString('phone')) !== null && _b !== void 0 ? _b : '';\n uEmail = (_c = profile.getString('email')) !== null && _c !== void 0 ? _c : '';\n uNickname = (_d = profile.getString('nickname')) !== null && _d !== void 0 ? _d : '';\n uAvatar = (_e = profile.getString('avatar_url')) !== null && _e !== void 0 ? _e : '';\n uGender = (_f = profile.getNumber('gender')) !== null && _f !== void 0 ? _f : 0;\n }\n else {\n // 必须使用 JSON.parse(JSON.stringify()) 转换为 UTSJSONObject\n const profileObj = UTS.JSON.parse(UTS.JSON.stringify(profile));\n uId = (_g = profileObj.getString('user_id')) !== null && _g !== void 0 ? _g : '';\n uPhone = (_h = profileObj.getString('phone')) !== null && _h !== void 0 ? _h : '';\n uEmail = (_j = profileObj.getString('email')) !== null && _j !== void 0 ? _j : '';\n uNickname = (_k = profileObj.getString('nickname')) !== null && _k !== void 0 ? _k : '';\n uAvatar = (_l = profileObj.getString('avatar_url')) !== null && _l !== void 0 ? _l : '';\n uGender = (_m = profileObj.getNumber('gender')) !== null && _m !== void 0 ? _m : 0;\n }\n if (uNickname === '' && uPhone !== '') {\n uNickname = uPhone.substring(0, 3) + '****' + uPhone.substring(7);\n }\n this.userInfo = new UserType({\n id: uId,\n phone: uPhone,\n email: uEmail,\n nickname: uNickname != '' ? uNickname : '微信用户',\n avatar_url: uAvatar != '' ? uAvatar : '/static/images/default-product.png',\n gender: uGender,\n user_type: 1,\n status: 1,\n created_at: new Date().toISOString()\n });\n }\n else {\n // 如果获取失败(未登录或无档案),尝试获取当前登录ID\n const userId = supabaseService.getCurrentUserId();\n if (userId != null) {\n this.userInfo.id = userId;\n this.userInfo.nickname = '用户' + userId.substring(0, 4);\n }\n else {\n this.userInfo.nickname = '未登录';\n }\n }\n // 获取积分和余额(顺序获取,UTS不支持Promise.all数组解构)\n const balanceResult = yield supabaseService.getUserBalance();\n const points = yield supabaseService.getUserPoints();\n const balanceValue = (_o = balanceResult.getNumber('balance')) !== null && _o !== void 0 ? _o : 0;\n this.userStats = new UserStatsType({\n points: points,\n balance: balanceValue,\n level: this.calculateLevel(points) // 根据积分计算等级\n });\n }\n catch (e) {\n uni.__f__('error', 'at pages/main/profile.uvue:617', '加载用户信息失败', e);\n // 保持默认或显示错误\n }\n });\n },\n calculateLevel(points) {\n if (points < 1000)\n return 0;\n if (points < 5000)\n return 1;\n if (points < 20000)\n return 2;\n if (points < 50000)\n return 3;\n return 4;\n },\n loadConsumptionStats() {\n if (this.activeStatsPeriod === 'month') {\n this.currentStats = new ConsumptionStatsType({\n total_amount: 1280.50,\n order_count: 8,\n avg_amount: 160.06,\n save_amount: 85.20\n });\n }\n else if (this.activeStatsPeriod === 'quarter') {\n this.currentStats = new ConsumptionStatsType({\n total_amount: 3680.80,\n order_count: 18,\n avg_amount: 204.49,\n save_amount: 256.30\n });\n }\n else if (this.activeStatsPeriod === 'year') {\n this.currentStats = new ConsumptionStatsType({\n total_amount: 15680.90,\n order_count: 56,\n avg_amount: 280.02,\n save_amount: 986.50\n });\n }\n else {\n this.currentStats = new ConsumptionStatsType({\n total_amount: 25680.50,\n order_count: 89,\n avg_amount: 288.55,\n save_amount: 1580.20\n });\n }\n },\n refreshData() {\n // 刷新页面数据\n this.loadUserProfile();\n this.loadOrders();\n this.updateCouponCount(); // 更新优惠券数量\n },\n updateCouponCount() {\n return __awaiter(this, void 0, void 0, function* () {\n // 从 Supabase 获取真实的优惠券数量\n try {\n const count = yield supabaseService.getUserCouponCount();\n this.serviceCounts.coupons = count;\n }\n catch (e) {\n uni.__f__('error', 'at pages/main/profile.uvue:675', '获取优惠券数量失败', e);\n this.serviceCounts.coupons = 0;\n }\n });\n },\n getUserLevel() {\n const levels = ['新手', '铜牌会员', '银牌会员', '金牌会员', '钻石会员'];\n if (this.userStats.level >= 0 && this.userStats.level < levels.length) {\n return levels[this.userStats.level];\n }\n return '新手';\n },\n getOrderStatusText(status) {\n if (status === 6)\n return '退款中';\n if (status === 7)\n return '已退款';\n const statusTexts = ['异常', '待支付', '待发货', '待收货', '已完成', '已取消'];\n if (status >= 0 && status < statusTexts.length) {\n return statusTexts[status];\n }\n return '未知';\n },\n getOrderStatusClass(status) {\n if (status === 6)\n return 'refunding';\n if (status === 7)\n return 'refunded';\n const statusClasses = ['error', 'pending', 'processing', 'shipping', 'completed', 'cancelled'];\n if (status >= 0 && status < statusClasses.length) {\n return statusClasses[status];\n }\n return 'error';\n },\n showOrderMenu(order) {\n const status = order.status;\n let actions = [];\n if (status === 1) {\n actions = ['取消订单', '联系卖家'];\n }\n else if (status === 2) {\n actions = ['提醒发货', '申请退款', '联系卖家'];\n }\n else if (status === 3) {\n actions = ['查看物流', '确认收货', '申请退款', '联系卖家'];\n }\n else if (status === 4) {\n actions = ['申请售后', '再次购买', '联系卖家'];\n }\n else if (status === 5) {\n actions = ['删除订单', '再次购买', '联系卖家'];\n }\n else if (status === 6) {\n actions = ['退款进度', '联系卖家'];\n }\n else if (status === 7) {\n actions = ['再次购买', '联系卖家'];\n }\n uni.showActionSheet({\n itemList: actions,\n success: (res) => {\n const action = actions[res.tapIndex];\n this.handleOrderAction(order, action);\n }\n });\n },\n handleOrderAction(order, action) {\n if (action === '取消订单') {\n this.cancelOrderAction(order);\n }\n else if (action === '联系卖家') {\n this.contactSeller(order);\n }\n else if (action === '提醒发货') {\n this.remindShipping(order);\n }\n else if (action === '申请退款' || action === '申请售后') {\n this.applyRefund(order);\n }\n else if (action === '查看物流') {\n this.viewLogistics(order.id);\n }\n else if (action === '确认收货') {\n this.confirmReceive(order);\n }\n else if (action === '再次购买') {\n this.repurchase(order);\n }\n else if (action === '删除订单') {\n this.deleteOrder(order.id);\n }\n else if (action === '退款进度') {\n this.viewRefundProgress(order.id);\n }\n },\n cancelOrderAction(order) {\n uni.showModal(new UTSJSONObject({\n title: '确认取消',\n content: '确定要取消此订单吗?',\n success: (res) => {\n if (res.confirm) {\n uni.showLoading({ title: '取消中...' });\n supabaseService.cancelOrder(order.id).then(() => {\n uni.hideLoading();\n uni.showToast({ title: '订单已取消', icon: 'success' });\n this.loadOrders();\n }).catch(() => {\n uni.hideLoading();\n uni.showToast({ title: '取消失败', icon: 'none' });\n });\n }\n }\n }));\n },\n contactSeller(order) {\n const merchantId = order.ml_shops != null ? this.getMerchantIdFromOrder(order) : '';\n if (merchantId !== '') {\n uni.navigateTo({\n url: `/pages/mall/consumer/chat?merchantId=${merchantId}`\n });\n }\n else {\n uni.showToast({ title: '暂无卖家联系方式', icon: 'none' });\n }\n },\n getMerchantIdFromOrder(order) {\n var _a;\n const shopsRaw = order.ml_shops;\n if (shopsRaw != null) {\n const shopStr = UTS.JSON.stringify(shopsRaw);\n const shopParsed = UTS.JSON.parse(shopStr);\n if (shopParsed != null) {\n const shopObj = shopParsed;\n return (_a = shopObj.getString('merchant_id')) !== null && _a !== void 0 ? _a : '';\n }\n }\n return '';\n },\n remindShipping(order) {\n uni.showLoading({ title: '提醒中...' });\n const merchantId = order.ml_shops != null ? this.getMerchantIdFromOrder(order) : '';\n if (merchantId !== '') {\n const message = `你好,我的订单[${order.order_no}]还没有发货,请尽快安排,谢谢。`;\n supabaseService.sendChatMessage(message, merchantId).then(() => {\n uni.hideLoading();\n uni.showToast({ title: '已提醒卖家发货', icon: 'success' });\n }).catch(() => {\n uni.hideLoading();\n uni.showToast({ title: '提醒失败', icon: 'none' });\n });\n }\n else {\n uni.hideLoading();\n uni.showToast({ title: '无法联系卖家', icon: 'none' });\n }\n },\n applyRefund(order) {\n uni.navigateTo({\n url: `/pages/mall/consumer/apply-refund?orderId=${order.id}`\n });\n },\n viewLogistics(orderId) {\n uni.navigateTo({\n url: `/pages/mall/consumer/logistics?orderId=${orderId}`\n });\n },\n repurchase(order) {\n var _a;\n uni.showLoading({ title: '处理中...' });\n const itemsRaw = order.ml_order_items;\n if (itemsRaw == null || itemsRaw.length === 0) {\n uni.hideLoading();\n uni.showToast({ title: '订单无商品', icon: 'none' });\n return null;\n }\n const items = itemsRaw;\n let completed = 0;\n const total = items.length;\n let successCount = 0;\n for (let i = 0; i < items.length; i++) {\n const itemStr = UTS.JSON.stringify(items[i]);\n const itemParsed = UTS.JSON.parse(itemStr);\n if (itemParsed == null) {\n completed++;\n if (completed === total) {\n uni.hideLoading();\n if (successCount > 0) {\n uni.showToast({ title: `已添加${successCount}件商品`, icon: 'success' });\n }\n else {\n uni.showToast({ title: '添加失败', icon: 'none' });\n }\n }\n continue;\n }\n const itemObj = itemParsed;\n const productId = (_a = itemObj.getString('product_id')) !== null && _a !== void 0 ? _a : '';\n const merchantId = order.ml_shops != null ? this.getMerchantIdFromOrder(order) : '';\n if (productId !== '') {\n supabaseService.addToCart(productId, 1, '', merchantId).then((success) => {\n completed++;\n if (success)\n successCount++;\n if (completed === total) {\n uni.hideLoading();\n if (successCount > 0) {\n uni.showToast({ title: `已添加${successCount}件商品`, icon: 'success' });\n }\n else {\n uni.showToast({ title: '添加失败', icon: 'none' });\n }\n }\n }).catch(() => {\n completed++;\n if (completed === total) {\n uni.hideLoading();\n if (successCount > 0) {\n uni.showToast({ title: `已添加${successCount}件商品`, icon: 'success' });\n }\n else {\n uni.showToast({ title: '添加失败', icon: 'none' });\n }\n }\n });\n }\n else {\n completed++;\n if (completed === total) {\n uni.hideLoading();\n if (successCount > 0) {\n uni.showToast({ title: `已添加${successCount}件商品`, icon: 'success' });\n }\n else {\n uni.showToast({ title: '添加失败', icon: 'none' });\n }\n }\n }\n }\n },\n deleteOrder(orderId) {\n uni.showModal(new UTSJSONObject({\n title: '删除订单',\n content: '确定要删除此订单吗?',\n success: (res) => {\n if (res.confirm) {\n uni.showLoading({ title: '删除中...' });\n supabaseService.deleteOrder(orderId).then(() => {\n uni.hideLoading();\n uni.showToast({ title: '订单已删除', icon: 'success' });\n this.loadOrders();\n }).catch(() => {\n uni.hideLoading();\n uni.showToast({ title: '删除失败', icon: 'none' });\n });\n }\n }\n }));\n },\n viewRefundProgress(orderId) {\n uni.navigateTo({\n url: `/pages/mall/consumer/refund?orderId=${orderId}`\n });\n },\n getOrderShopName(order) {\n const shopsRaw = order.ml_shops;\n if (shopsRaw != null) {\n const shopStr = UTS.JSON.stringify(shopsRaw);\n const shopParsed = UTS.JSON.parse(shopStr);\n if (shopParsed != null) {\n const shopObj = shopParsed;\n const name = shopObj.getString('shop_name');\n if (name != null && name !== '')\n return name;\n }\n }\n return '自营店铺';\n },\n getOrderMainImage(order) {\n const itemsRaw = order.ml_order_items;\n if (itemsRaw == null)\n return '/static/images/default-product.png';\n const items = itemsRaw;\n if (items.length > 0) {\n const firstItem = items[0];\n const itemStr = UTS.JSON.stringify(firstItem);\n const itemParsed = UTS.JSON.parse(itemStr);\n if (itemParsed == null)\n return '/static/images/default-product.png';\n const itemObj = itemParsed;\n const imgUrl = itemObj.getString('image_url');\n const prodImg = itemObj.getString('product_image');\n const img = (imgUrl != null && imgUrl !== '') ? imgUrl : prodImg;\n if (img != null && img !== '')\n return img;\n }\n return '/static/images/default-product.png';\n },\n getOrderTitle(order) {\n const itemsRaw = order.ml_order_items;\n if (itemsRaw == null)\n return '精选商品';\n const items = itemsRaw;\n if (items.length > 0) {\n const firstItem = items[0];\n const itemStr = UTS.JSON.stringify(firstItem);\n const itemParsed = UTS.JSON.parse(itemStr);\n if (itemParsed == null)\n return '精选商品';\n const itemObj = itemParsed;\n const pName = itemObj.getString('product_name');\n const name = (pName != null && pName !== '') ? pName : '商品';\n return name;\n }\n return '精选商品';\n },\n getOrderSpec(order) {\n const itemsRaw = order.ml_order_items;\n if (itemsRaw == null)\n return '';\n const items = itemsRaw;\n if (items.length > 0) {\n const firstItem = items[0];\n const itemStr = UTS.JSON.stringify(firstItem);\n const itemParsed = UTS.JSON.parse(itemStr);\n if (itemParsed == null)\n return '';\n const itemObj = itemParsed;\n const specRaw = itemObj.get('specifications');\n if (specRaw == null)\n return '';\n if (typeof specRaw === 'string') {\n const specStr = specRaw;\n if (specStr.startsWith('{')) {\n try {\n const specObj = UTS.JSON.parse(specStr);\n const parts = [];\n const color = specObj.get('Color');\n if (color != null)\n parts.push('颜色: ' + color);\n const size = specObj.get('Size');\n if (size != null)\n parts.push('尺码: ' + size);\n if (parts.length > 0)\n return parts.join(' ');\n return specStr.replace(/[{}\"]/g, '');\n }\n catch (e) {\n return specStr;\n }\n }\n return specStr;\n }\n return UTS.JSON.stringify(specRaw).replace(/[{}\"]/g, '');\n }\n return '';\n },\n getOrderItemCount(order) {\n if (order.items_count != null && order.items_count > 0) {\n return order.items_count;\n }\n return 1;\n },\n getOrderShopName(order) {\n const shopsRaw = order.ml_shops;\n if (shopsRaw != null) {\n const shopStr = UTS.JSON.stringify(shopsRaw);\n const shopParsed = UTS.JSON.parse(shopStr);\n if (shopParsed != null) {\n const shopObj = shopParsed;\n const name = shopObj.getString('shop_name');\n if (name != null && name !== '')\n return name;\n }\n }\n return '自营店铺';\n },\n formatDateTime(timeStr) {\n if (timeStr == null || timeStr === '')\n return '';\n const date = new Date(timeStr);\n const y = date.getFullYear();\n const m = (date.getMonth() + 1).toString().padStart(2, '0');\n const d = date.getDate().toString().padStart(2, '0');\n const h = date.getHours().toString().padStart(2, '0');\n const i = date.getMinutes().toString().padStart(2, '0');\n return `${y}-${m}-${d} ${h}:${i}`;\n },\n formatTime(timeStr) {\n const date = new Date(timeStr);\n const now = new Date();\n const diff = now.getTime() - date.getTime();\n const days = Math.floor(diff / (1000 * 60 * 60 * 24));\n if (days === 0) {\n return '今天';\n }\n else if (days === 1) {\n return '昨天';\n }\n else {\n return `${days}天前`;\n }\n },\n switchStatsPeriod(period) {\n this.activeStatsPeriod = period;\n this.loadConsumptionStats();\n },\n editProfile() {\n uni.navigateTo({\n url: '/pages/mall/consumer/edit-profile'\n });\n },\n // 跳转设置\n goToSettings() {\n uni.navigateTo({\n url: '/pages/mall/consumer/settings'\n });\n },\n // 跳转钱包\n goToWallet() {\n uni.navigateTo({\n url: '/pages/mall/consumer/wallet'\n });\n },\n goToOrders(type) {\n uni.navigateTo({\n url: `/pages/mall/consumer/orders?type=${type}`\n });\n },\n goShopping() {\n uni.switchTab({\n url: '/pages/main/index'\n });\n },\n viewOrderDetail(order) {\n uni.navigateTo({\n url: `/pages/mall/consumer/order-detail?orderId=${order.id}`\n });\n },\n goToProductFromOrder(order) {\n const itemsRaw = order.ml_order_items;\n if (itemsRaw == null)\n return null;\n const items = itemsRaw;\n if (items.length > 0) {\n const firstItem = items[0];\n const itemStr = UTS.JSON.stringify(firstItem);\n const itemParsed = UTS.JSON.parse(itemStr);\n if (itemParsed == null)\n return null;\n const itemObj = itemParsed;\n const productId = itemObj.getString('product_id');\n if (productId != null && productId !== '') {\n uni.navigateTo({\n url: `/pages/mall/consumer/product-detail?id=${productId}`\n });\n }\n }\n },\n payOrder(order) {\n uni.navigateTo({\n url: `/pages/mall/consumer/payment?orderId=${order.id}`\n });\n },\n confirmReceive(order) {\n uni.showModal(new UTSJSONObject({\n title: '确认收货',\n content: '确认已收到商品吗?',\n success: (res) => {\n if (res.confirm) {\n uni.showLoading({ title: '处理中...' });\n supabaseService.confirmOrderReceived(order.id).then(() => {\n uni.hideLoading();\n uni.showToast({\n title: '确认收货成功',\n icon: 'success'\n });\n this.loadOrders();\n }).catch(() => {\n uni.hideLoading();\n uni.showToast({\n title: '操作失败',\n icon: 'none'\n });\n });\n }\n }\n }));\n },\n reviewOrder(order) {\n uni.navigateTo({\n url: `/pages/mall/consumer/review?orderId=${order.id}`\n });\n },\n goToCoupons() {\n uni.navigateTo({\n url: '/pages/mall/consumer/coupons'\n });\n },\n goToPoints() {\n uni.navigateTo({\n url: '/pages/mall/consumer/points/index'\n });\n },\n goToAddress() {\n // 暂时跳转到设置页的地址管理\n uni.navigateTo({\n url: '/pages/mall/consumer/address-list'\n });\n },\n goToFavorites() {\n uni.navigateTo({\n url: '/pages/mall/consumer/favorites'\n });\n },\n goToFootprint() {\n uni.navigateTo({\n url: '/pages/mall/consumer/footprint'\n });\n },\n goToRefund() {\n uni.navigateTo({\n url: '/pages/mall/consumer/orders?type=refund'\n });\n },\n contactService() {\n uni.navigateTo({\n url: '/pages/mall/service/chat'\n });\n },\n goToOrderReviews() {\n uni.navigateTo({\n url: '/pages/mall/consumer/orders?type=review'\n });\n },\n goToMySubscriptions() {\n uni.navigateTo({\n url: '/pages/mall/consumer/subscription/my-subscriptions'\n });\n },\n goToFollowedShops() {\n uni.navigateTo({\n url: '/pages/mall/consumer/subscription/followed-shops'\n });\n },\n goToPoints() {\n uni.navigateTo({\n url: '/pages/mall/consumer/points/index'\n });\n },\n goToBalance() {\n uni.navigateTo({\n url: '/pages/mall/consumer/balance/index'\n });\n },\n goToShare() {\n uni.navigateTo({\n url: '/pages/mall/consumer/share/index'\n });\n },\n goToMember() {\n uni.navigateTo({\n url: '/pages/mall/consumer/member/index'\n });\n },\n changePassword() {\n uni.navigateTo({\n url: '/pages/mall/consumer/change-password'\n });\n },\n bindPhone() {\n uni.navigateTo({\n url: '/pages/mall/consumer/bind-phone'\n });\n },\n bindEmail() {\n uni.navigateTo({\n url: '/pages/mall/consumer/bind-email'\n });\n },\n handleOrderUpdated(data = null) {\n uni.__f__('log', 'at pages/main/profile.uvue:1264', '收到订单更新事件:', data);\n this.refreshData();\n const dataObj = data;\n const status = dataObj.getNumber('status');\n if (status === 1) {\n uni.showToast({\n title: '订单已保存到待支付',\n icon: 'success'\n });\n }\n else if (status === 2) {\n uni.showToast({\n title: '支付成功,订单待发货',\n icon: 'success'\n });\n }\n }\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/main/profile.uvue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":["uni.$on","uni.$off","uni.__f__","uni.getSystemInfoSync","uni.getMenuButtonBoundingClientRect","uni.showActionSheet","uni.showLoading","uni.hideLoading","uni.showToast","uni.showModal","uni.navigateTo","uni.switchTab"],"map":"{\"version\":3,\"file\":\"profile.uvue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"profile.uvue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\";;OACO,EAAE,QAAQ,EAAE;OACZ,eAAe;MAEjB,aAAa;;;;;;;;;;;;;;;;;;;;;;;MAMb,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQf,iBAAiB;;;;;;;;;;;;;;;;;;;;;MAKjB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;MAOpB,eAAe;;;;;;;;;;;;;;;;;;;;;MAKf,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWlB,+BAAe;IACb,IAAI;QACF,OAAO;YACL,QAAQ,eAAE;gBACR,EAAE,EAAE,EAAE;gBACN,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,CAAC;gBACZ,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,EAAE;aACH,CAAA;YACb,SAAS,oBAAE;gBACT,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;aACQ,CAAA;YAClB,WAAW,sBAAE;gBACX,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,CAAC;aACS,CAAA;YACpB,aAAa,wBAAE;gBACb,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,CAAC;aACQ,CAAA;YACtB,YAAY,EAAE,EAA0B;YACxC,YAAY,EAAE;oCACZ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;oCAC7B,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;oCAChC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;oCAC5B,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;aACF;YAC3B,iBAAiB,EAAE,OAAO;YAC1B,YAAY,2BAAE;gBACZ,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,CAAC;gBACd,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,CAAC;aACS,CAAA;YACzB,eAAe,EAAE,CAAC;YAClB,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,KAAe;YAChC,SAAS,EAAE,EAA0B;SACtC,CAAA;IACH,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,QAAQ,EAAE,CAAA;QACf,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,IAAI,CAAC,UAAU,EAAE,CAAA;QAEjB,WAAW;QACX,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAClD,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IACD,QAAQ;QACN,SAAS;QACT,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;IACnD,CAAC;IACD,QAAQ,EAAE;QACR,cAAc;YACZ,MAAM,MAAM,GAAyB,EAAE,CAAA;YACvC,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE;gBAClC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;iBAC/B;gBACD,OAAO,MAAM,CAAA;aACd;YACD,IAAI,YAAY,GAAW,CAAC,CAAA;YAC5B,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE;gBACtC,YAAY,GAAG,CAAC,CAAA;aACjB;iBAAM,IAAI,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE;gBAC5C,YAAY,GAAG,CAAC,CAAA;aACjB;iBAAM,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE;gBAC7C,YAAY,GAAG,CAAC,CAAA;aACjB;iBAAM,IAAI,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE;gBAC5C,YAAY,GAAG,CAAC,CAAA;aACjB;iBAAM;gBACL,OAAO,MAAM,CAAA;aACd;YACD,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtD,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,EAAE;oBAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;iBAC/B;aACF;YACD,OAAO,MAAM,CAAA;QACf,CAAC;KACF;IACD,OAAO,EAAE;QACD,UAAU;;;gBACd,IAAI;oBACF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,CAAA;oBAEhD,MAAM,YAAY,GAAyB,EAAE,CAAA;oBAC7C,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;wBACzB,MAAM,CAAC,GAAG,SAAK,KAAK,CAAC,SAAK,SAAS,CAAC,OAAO,CAAC,CAAkB,CAAA;wBAE9D,IAAI,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;wBAClC,IAAI,MAAM,IAAI,IAAI,EAAE;4BAClB,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;4BAC/C,MAAM,GAAG,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;yBAC/C;wBAED,IAAI,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;wBAC/C,IAAI,YAAY,IAAI,IAAI,EAAE;4BACxB,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;4BAC/C,YAAY,GAAG,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;yBACrD;wBAED,MAAM,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;wBAE5C,IAAI,UAAU,GAAG,CAAC,CAAA;wBAClB,IAAI,YAAY,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;4BACvD,UAAU,GAAI,YAAsB,CAAC,MAAM,CAAA;yBAC5C;wBAED,MAAM,SAAS,qBAAkB;4BAC/B,EAAE,EAAE,MAAA,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAI,EAAE;4BAC3B,QAAQ,EAAE,MAAA,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,mCAAI,EAAE;4BACvC,MAAM,EAAE,MAAM;4BACd,aAAa,EAAE,YAAY;4BAC3B,UAAU,EAAE,MAAA,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAI,EAAE;4BAC3C,cAAc,EAAE,YAAY;4BAC5B,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;4BAC3B,WAAW,EAAE,UAAU;yBACxB,CAAA,CAAA;wBAED,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;qBAC7B;oBAED,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACpD,KAAK,IAAI,CAAC,GAAW,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACxD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAW,CAAA;4BACrD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAW,CAAA;4BACrD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAA;4BACtE,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAA;4BACtE,IAAI,KAAK,GAAG,KAAK,EAAE;gCACjB,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;gCAC5B,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;gCACjC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;6BACvB;yBACF;qBACF;oBAED,IAAI,CAAC,SAAS,GAAG,YAAY,CAAA;oBAE7B,MAAM,UAAU,GAAyB,EAAE,CAAA;oBAC3C,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC/D,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;wBACtC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;qBACjC;oBACD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAA;oBAE9B,IAAI,KAAK,GAAG,CAAC,CAAA;oBACb,IAAI,OAAO,GAAG,CAAC,CAAA;oBACf,IAAI,MAAM,GAAG,CAAC,CAAA;oBACd,IAAI,OAAO,GAAG,CAAC,CAAA;oBACf,IAAI,MAAM,GAAG,CAAC,CAAA;oBAEd,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACpD,KAAK,EAAE,CAAA;wBACP,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;wBACrC,IAAI,MAAM,KAAK,CAAC;4BAAE,OAAO,EAAE,CAAA;6BACtB,IAAI,MAAM,KAAK,CAAC;4BAAE,MAAM,EAAE,CAAA;6BAC1B,IAAI,MAAM,KAAK,CAAC;4BAAE,OAAO,EAAE,CAAA;6BAC3B,IAAI,MAAM,KAAK,CAAC;4BAAE,MAAM,EAAE,CAAA;qBAChC;oBAED,IAAI,CAAC,WAAW,GAAG;wBACjB,KAAK,EAAE,KAAK;wBACZ,OAAO,EAAE,OAAO;wBAChB,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,OAAO;wBAChB,MAAM,EAAE,MAAM;qBACf,CAAA;iBACF;gBAAC,OAAO,CAAC,EAAE;oBACR,GAAG,CAAC,KAAK,CAAC,OAAO,EAAC,gCAAgC,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;iBAClE;;SACF;QAED,UAAU;QACV,cAAc,CAAC,GAAW;YACxB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAA;QAC5B,CAAC;QAED,aAAa;QACb,oBAAoB;YAClB,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK;gBAAE,OAAO,MAAM,CAAA;YACjD,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAA;YACtD,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAA;YACtD,IAAI,IAAI,CAAC,eAAe,KAAK,QAAQ;gBAAE,OAAO,OAAO,CAAA;YACrD,OAAO,MAAM,CAAA;QACf,CAAC;QAED,QAAQ;;YACN,MAAM,UAAU,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAA;YAC1C,IAAI,CAAC,eAAe,GAAG,MAAA,UAAU,CAAC,eAAe,mCAAI,CAAC,CAAA;YAEtD,cAAc;YAEd,IAAI;gBACF,MAAM,UAAU,GAAG,GAAG,CAAC,+BAA+B,EAAE,CAAA;gBACxD,IAAI,UAAU,IAAI,IAAI,EAAE;oBACtB,IAAI,CAAC,WAAW,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;iBACnE;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,gCAAgC,EAAC,YAAY,EAAE,CAAC,CAAC,CAAA;gBACjE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;aACtB;QAEH,CAAC;QACK,eAAe;;;gBACnB,IAAI;oBACF,SAAS;oBACT,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,cAAc,EAAE,CAAA;oBACtD,IAAI,OAAO,IAAI,IAAI,EAAE;wBACnB,OAAO;wBACP,IAAI,GAAG,GAAG,EAAE,CAAA;wBACZ,IAAI,MAAM,GAAG,EAAE,CAAA;wBACf,IAAI,MAAM,GAAG,EAAE,CAAA;wBACf,IAAI,SAAS,GAAG,EAAE,CAAA;wBAClB,IAAI,OAAO,GAAG,EAAE,CAAA;wBAChB,IAAI,OAAO,GAAG,CAAC,CAAA;wBAEf,qBAAI,OAAO,EAAY,aAAa,GAAE;4BAClC,GAAG,GAAG,MAAA,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,mCAAI,EAAE,CAAA;4BACxC,MAAM,GAAG,MAAA,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,mCAAI,EAAE,CAAA;4BACzC,MAAM,GAAG,MAAA,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,mCAAI,EAAE,CAAA;4BACzC,SAAS,GAAG,MAAA,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,mCAAI,EAAE,CAAA;4BAC/C,OAAO,GAAG,MAAA,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAI,EAAE,CAAA;4BAC/C,OAAO,GAAG,MAAA,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,mCAAI,CAAC,CAAA;yBAC7C;6BAAM;4BACH,sDAAsD;4BACtD,MAAM,UAAU,GAAG,SAAK,KAAK,CAAC,SAAK,SAAS,CAAC,OAAO,CAAC,CAAkB,CAAA;4BACvE,GAAG,GAAG,MAAA,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,mCAAI,EAAE,CAAA;4BAC3C,MAAM,GAAG,MAAA,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,mCAAI,EAAE,CAAA;4BAC5C,MAAM,GAAG,MAAA,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,mCAAI,EAAE,CAAA;4BAC5C,SAAS,GAAG,MAAA,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,mCAAI,EAAE,CAAA;4BAClD,OAAO,GAAG,MAAA,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAI,EAAE,CAAA;4BAClD,OAAO,GAAG,MAAA,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,mCAAI,CAAC,CAAA;yBAChD;wBAED,IAAI,SAAS,KAAK,EAAE,IAAI,MAAM,KAAK,EAAE,EAAE;4BACpC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;yBACnE;wBAED,IAAI,CAAC,QAAQ,gBAAG;4BACb,EAAE,EAAE,GAAG;4BACP,KAAK,EAAE,MAAM;4BACb,KAAK,EAAE,MAAM;4BACb,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;4BAC9C,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC;4BAC1E,MAAM,EAAE,OAAO;4BACf,SAAS,EAAE,CAAC;4BACZ,MAAM,EAAE,CAAC;4BACT,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBAC1B,CAAA,CAAA;qBACd;yBAAM;wBACH,6BAA6B;wBAC7B,MAAM,MAAM,GAAG,eAAe,CAAC,gBAAgB,EAAE,CAAA;wBACjD,IAAI,MAAM,IAAI,IAAI,EAAE;4BAChB,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAA;4BACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;yBACzD;6BAAM;4BACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAA;yBACjC;qBACJ;oBAED,sCAAsC;oBACtC,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,cAAc,EAAE,CAAA;oBAC5D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,CAAA;oBAEpD,MAAM,YAAY,GAAG,MAAA,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,mCAAI,CAAC,CAAA;oBAE5D,IAAI,CAAC,SAAS,qBAAG;wBACf,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,YAAY;wBACrB,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,WAAW;qBAC9B,CAAA,CAAA;iBAEnB;gBAAC,OAAO,CAAC,EAAE;oBACV,GAAG,CAAC,KAAK,CAAC,OAAO,EAAC,gCAAgC,EAAC,UAAU,EAAE,CAAC,CAAC,CAAA;oBACjE,YAAY;iBACb;;SACF;QAED,cAAc,CAAC,MAAc;YACzB,IAAI,MAAM,GAAG,IAAI;gBAAE,OAAO,CAAC,CAAA;YAC3B,IAAI,MAAM,GAAG,IAAI;gBAAE,OAAO,CAAC,CAAA;YAC3B,IAAI,MAAM,GAAG,KAAK;gBAAE,OAAO,CAAC,CAAA;YAC5B,IAAI,MAAM,GAAG,KAAK;gBAAE,OAAO,CAAC,CAAA;YAC5B,OAAO,CAAC,CAAA;QACZ,CAAC;QAED,oBAAoB;YAClB,IAAI,IAAI,CAAC,iBAAiB,KAAK,OAAO,EAAE;gBACtC,IAAI,CAAC,YAAY,4BAAG;oBAClB,YAAY,EAAE,OAAO;oBACrB,WAAW,EAAE,CAAC;oBACd,UAAU,EAAE,MAAM;oBAClB,WAAW,EAAE,KAAK;iBACK,CAAA,CAAA;aAC1B;iBAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE;gBAC/C,IAAI,CAAC,YAAY,4BAAG;oBAClB,YAAY,EAAE,OAAO;oBACrB,WAAW,EAAE,EAAE;oBACf,UAAU,EAAE,MAAM;oBAClB,WAAW,EAAE,MAAM;iBACI,CAAA,CAAA;aAC1B;iBAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,MAAM,EAAE;gBAC5C,IAAI,CAAC,YAAY,4BAAG;oBAClB,YAAY,EAAE,QAAQ;oBACtB,WAAW,EAAE,EAAE;oBACf,UAAU,EAAE,MAAM;oBAClB,WAAW,EAAE,MAAM;iBACI,CAAA,CAAA;aAC1B;iBAAM;gBACL,IAAI,CAAC,YAAY,4BAAG;oBAClB,YAAY,EAAE,QAAQ;oBACtB,WAAW,EAAE,EAAE;oBACf,UAAU,EAAE,MAAM;oBAClB,WAAW,EAAE,OAAO;iBACG,CAAA,CAAA;aAC1B;QACH,CAAC;QAED,WAAW;YACT,SAAS;YACT,IAAI,CAAC,eAAe,EAAE,CAAA;YACtB,IAAI,CAAC,UAAU,EAAE,CAAA;YACjB,IAAI,CAAC,iBAAiB,EAAE,CAAA,CAAC,UAAU;QACrC,CAAC;QAEK,iBAAiB;;gBACrB,wBAAwB;gBACxB,IAAI;oBACF,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,kBAAkB,EAAE,CAAA;oBACxD,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,KAAK,CAAA;iBACnC;gBAAC,OAAO,CAAC,EAAE;oBACV,GAAG,CAAC,KAAK,CAAC,OAAO,EAAC,gCAAgC,EAAC,WAAW,EAAE,CAAC,CAAC,CAAA;oBAClE,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,CAAA;iBAC/B;YACH,CAAC;SAAA;QAED,YAAY;YACV,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;YACrD,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE;gBACnE,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;aACtC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,kBAAkB,CAAC,MAAc;YAC/B,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC9B,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC9B,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YAC7D,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE;gBAC5C,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;aAC7B;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,mBAAmB,CAAC,MAAc;YAChC,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,WAAW,CAAA;YACpC,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAA;YACnC,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;YAC9F,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE;gBAC9C,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;aAC/B;YACD,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,aAAa,CAAC,KAAoB;YAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;YAC3B,IAAI,OAAO,GAAa,EAAE,CAAA;YAE1B,IAAI,MAAM,KAAK,CAAC,EAAE;gBAChB,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;aAC3B;iBAAM,IAAI,MAAM,KAAK,CAAC,EAAE;gBACvB,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;aACnC;iBAAM,IAAI,MAAM,KAAK,CAAC,EAAE;gBACvB,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;aAC3C;iBAAM,IAAI,MAAM,KAAK,CAAC,EAAE;gBACvB,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;aACnC;iBAAM,IAAI,MAAM,KAAK,CAAC,EAAE;gBACvB,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;aACnC;iBAAM,IAAI,MAAM,KAAK,CAAC,EAAE;gBACvB,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;aAC3B;iBAAM,IAAI,MAAM,KAAK,CAAC,EAAE;gBACvB,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;aAC3B;YAED,GAAG,CAAC,eAAe,CAAC;gBAClB,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,CAAC,GAAG;oBACX,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;oBACpC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;gBACvC,CAAC;aACF,CAAC,CAAA;QACJ,CAAC;QAED,iBAAiB,CAAC,KAAoB,EAAE,MAAc;YACpD,IAAI,MAAM,KAAK,MAAM,EAAE;gBACrB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;aAC9B;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC5B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;aAC1B;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;aAC3B;iBAAM,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBACjD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;aACxB;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC5B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aAC7B;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;aAC3B;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;aACvB;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aAC3B;iBAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC5B,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aAClC;QACH,CAAC;QAED,iBAAiB,CAAC,KAAoB;YACpC,GAAG,CAAC,SAAS,mBAAC;gBACZ,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,YAAY;gBACrB,OAAO,EAAE,CAAC,GAAG;oBACX,IAAI,GAAG,CAAC,OAAO,EAAE;wBACf,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;wBACpC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;4BACzC,GAAG,CAAC,WAAW,EAAE,CAAA;4BACjB,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;4BAClD,IAAI,CAAC,UAAU,EAAE,CAAA;wBACnB,CAAC,CAAC,CAAC,KAAK,CAAC;4BACP,GAAG,CAAC,WAAW,EAAE,CAAA;4BACjB,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;wBAChD,CAAC,CAAC,CAAA;qBACH;gBACH,CAAC;aACF,EAAC,CAAA;QACJ,CAAC;QAED,aAAa,CAAC,KAAoB;YAChC,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACnF,IAAI,UAAU,KAAK,EAAE,EAAE;gBACrB,GAAG,CAAC,UAAU,CAAC;oBACb,GAAG,EAAE,wCAAwC,UAAU,EAAE;iBAC1D,CAAC,CAAA;aACH;iBAAM;gBACL,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;aACnD;QACH,CAAC;QAED,sBAAsB,CAAC,KAAoB;;YACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;YAC/B,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACpB,MAAM,OAAO,GAAG,SAAK,SAAS,CAAC,QAAQ,CAAC,CAAA;gBACxC,MAAM,UAAU,GAAG,SAAK,KAAK,CAAC,OAAO,CAAC,CAAA;gBACtC,IAAI,UAAU,IAAI,IAAI,EAAE;oBACtB,MAAM,OAAO,GAAG,UAA2B,CAAA;oBAC3C,OAAO,MAAA,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,mCAAI,EAAE,CAAA;iBAC9C;aACF;YACD,OAAO,EAAE,CAAA;QACX,CAAC;QAED,cAAc,CAAC,KAAoB;YACjC,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;YACpC,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACnF,IAAI,UAAU,KAAK,EAAE,EAAE;gBACrB,MAAM,OAAO,GAAG,WAAW,KAAK,CAAC,QAAQ,kBAAkB,CAAA;gBAC3D,eAAe,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC;oBACxD,GAAG,CAAC,WAAW,EAAE,CAAA;oBACjB,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;gBACtD,CAAC,CAAC,CAAC,KAAK,CAAC;oBACP,GAAG,CAAC,WAAW,EAAE,CAAA;oBACjB,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;gBAChD,CAAC,CAAC,CAAA;aACH;iBAAM;gBACL,GAAG,CAAC,WAAW,EAAE,CAAA;gBACjB,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;aACjD;QACH,CAAC;QAED,WAAW,CAAC,KAAoB;YAC9B,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,6CAA6C,KAAK,CAAC,EAAE,EAAE;aAC7D,CAAC,CAAA;QACJ,CAAC;QAED,aAAa,CAAC,OAAe;YAC3B,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,0CAA0C,OAAO,EAAE;aACzD,CAAC,CAAA;QACJ,CAAC;QAED,UAAU,CAAC,KAAoB;;YAC7B,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;YACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAA;YACrC,IAAI,QAAQ,IAAI,IAAI,IAAK,QAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxD,GAAG,CAAC,WAAW,EAAE,CAAA;gBACjB,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;gBAC/C,YAAM;aACP;YAED,MAAM,KAAK,GAAG,QAAiB,CAAA;YAC/B,IAAI,SAAS,GAAG,CAAC,CAAA;YACjB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAA;YAC1B,IAAI,YAAY,GAAG,CAAC,CAAA;YAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,MAAM,OAAO,GAAG,SAAK,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBACxC,MAAM,UAAU,GAAG,SAAK,KAAK,CAAC,OAAO,CAAC,CAAA;gBACtC,IAAI,UAAU,IAAI,IAAI,EAAE;oBACtB,SAAS,EAAE,CAAA;oBACX,IAAI,SAAS,KAAK,KAAK,EAAE;wBACvB,GAAG,CAAC,WAAW,EAAE,CAAA;wBACjB,IAAI,YAAY,GAAG,CAAC,EAAE;4BACpB,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,YAAY,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;yBACnE;6BAAM;4BACL,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;yBAC/C;qBACF;oBACD,SAAQ;iBACT;gBAED,MAAM,OAAO,GAAG,UAA2B,CAAA;gBAC3C,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAI,EAAE,CAAA;gBACvD,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBAEnF,IAAI,SAAS,KAAK,EAAE,EAAE;oBACpB,eAAe,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO;wBACnE,SAAS,EAAE,CAAA;wBACX,IAAI,OAAO;4BAAE,YAAY,EAAE,CAAA;wBAC3B,IAAI,SAAS,KAAK,KAAK,EAAE;4BACvB,GAAG,CAAC,WAAW,EAAE,CAAA;4BACjB,IAAI,YAAY,GAAG,CAAC,EAAE;gCACpB,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,YAAY,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;6BACnE;iCAAM;gCACL,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;6BAC/C;yBACF;oBACH,CAAC,CAAC,CAAC,KAAK,CAAC;wBACP,SAAS,EAAE,CAAA;wBACX,IAAI,SAAS,KAAK,KAAK,EAAE;4BACvB,GAAG,CAAC,WAAW,EAAE,CAAA;4BACjB,IAAI,YAAY,GAAG,CAAC,EAAE;gCACpB,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,YAAY,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;6BACnE;iCAAM;gCACL,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;6BAC/C;yBACF;oBACH,CAAC,CAAC,CAAA;iBACH;qBAAM;oBACL,SAAS,EAAE,CAAA;oBACX,IAAI,SAAS,KAAK,KAAK,EAAE;wBACvB,GAAG,CAAC,WAAW,EAAE,CAAA;wBACjB,IAAI,YAAY,GAAG,CAAC,EAAE;4BACpB,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,YAAY,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;yBACnE;6BAAM;4BACL,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;yBAC/C;qBACF;iBACF;aACF;QACH,CAAC;QAED,WAAW,CAAC,OAAe;YACzB,GAAG,CAAC,SAAS,mBAAC;gBACZ,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,YAAY;gBACrB,OAAO,EAAE,CAAC,GAAG;oBACX,IAAI,GAAG,CAAC,OAAO,EAAE;wBACf,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;wBACpC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;4BACxC,GAAG,CAAC,WAAW,EAAE,CAAA;4BACjB,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;4BAClD,IAAI,CAAC,UAAU,EAAE,CAAA;wBACnB,CAAC,CAAC,CAAC,KAAK,CAAC;4BACP,GAAG,CAAC,WAAW,EAAE,CAAA;4BACjB,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;wBAChD,CAAC,CAAC,CAAA;qBACH;gBACH,CAAC;aACF,EAAC,CAAA;QACJ,CAAC;QAED,kBAAkB,CAAC,OAAe;YAChC,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,uCAAuC,OAAO,EAAE;aACtD,CAAC,CAAA;QACJ,CAAC;QAED,gBAAgB,CAAC,KAAoB;YACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;YAC/B,IAAI,QAAQ,IAAI,IAAI,EAAE;gBAClB,MAAM,OAAO,GAAG,SAAK,SAAS,CAAC,QAAQ,CAAC,CAAA;gBACxC,MAAM,UAAU,GAAG,SAAK,KAAK,CAAC,OAAO,CAAC,CAAA;gBACtC,IAAI,UAAU,IAAI,IAAI,EAAE;oBACpB,MAAM,OAAO,GAAG,UAA2B,CAAA;oBAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;oBAC3C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE;wBAAE,OAAO,IAAI,CAAA;iBAC/C;aACJ;YACD,OAAO,MAAM,CAAA;QACjB,CAAC;QAED,iBAAiB,CAAC,KAAoB;YACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAA;YACrC,IAAI,QAAQ,IAAI,IAAI;gBAAE,OAAO,oCAAoC,CAAA;YACjE,MAAM,KAAK,GAAG,QAAiB,CAAA;YAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC1B,MAAM,OAAO,GAAG,SAAK,SAAS,CAAC,SAAS,CAAC,CAAA;gBACzC,MAAM,UAAU,GAAG,SAAK,KAAK,CAAC,OAAO,CAAC,CAAA;gBACtC,IAAI,UAAU,IAAI,IAAI;oBAAE,OAAO,oCAAoC,CAAA;gBACnE,MAAM,OAAO,GAAG,UAA2B,CAAA;gBAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;gBAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;gBAClD,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;gBAChE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;oBAAE,OAAO,GAAG,CAAA;aAC5C;YACD,OAAO,oCAAoC,CAAA;QAC7C,CAAC;QAED,aAAa,CAAC,KAAoB;YAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAA;YACrC,IAAI,QAAQ,IAAI,IAAI;gBAAE,OAAO,MAAM,CAAA;YACnC,MAAM,KAAK,GAAG,QAAiB,CAAA;YAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC1B,MAAM,OAAO,GAAG,SAAK,SAAS,CAAC,SAAS,CAAC,CAAA;gBACzC,MAAM,UAAU,GAAG,SAAK,KAAK,CAAC,OAAO,CAAC,CAAA;gBACtC,IAAI,UAAU,IAAI,IAAI;oBAAE,OAAO,MAAM,CAAA;gBACrC,MAAM,OAAO,GAAG,UAA2B,CAAA;gBAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;gBAC/C,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;gBAE3D,OAAO,IAAI,CAAA;aACd;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QAED,YAAY,CAAC,KAAoB;YAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAA;YACrC,IAAI,QAAQ,IAAI,IAAI;gBAAE,OAAO,EAAE,CAAA;YAC/B,MAAM,KAAK,GAAG,QAAiB,CAAA;YAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC1B,MAAM,OAAO,GAAG,SAAK,SAAS,CAAC,SAAS,CAAC,CAAA;gBACzC,MAAM,UAAU,GAAG,SAAK,KAAK,CAAC,OAAO,CAAC,CAAA;gBACtC,IAAI,UAAU,IAAI,IAAI;oBAAE,OAAO,EAAE,CAAA;gBACjC,MAAM,OAAO,GAAG,UAA2B,CAAA;gBAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;gBAC7C,IAAI,OAAO,IAAI,IAAI;oBAAE,OAAO,EAAE,CAAA;gBAE9B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;oBAC7B,MAAM,OAAO,GAAG,OAAiB,CAAA;oBACjC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;wBACzB,IAAI;4BACA,MAAM,OAAO,GAAG,SAAK,KAAK,CAAC,OAAO,CAAkB,CAAA;4BACpD,MAAM,KAAK,GAAa,EAAE,CAAA;4BAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;4BAClC,IAAI,KAAK,IAAI,IAAI;gCAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;4BAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;4BAChC,IAAI,IAAI,IAAI,IAAI;gCAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;4BAE3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gCAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;4BAC5C,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;yBACvC;wBAAC,OAAO,CAAC,EAAE;4BACR,OAAO,OAAO,CAAA;yBACjB;qBACJ;oBACD,OAAO,OAAO,CAAA;iBACjB;gBACD,OAAO,SAAK,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;aACvD;YACD,OAAO,EAAE,CAAA;QACX,CAAC;QAED,iBAAiB,CAAC,KAAoB;YAClC,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE;gBACpD,OAAO,KAAK,CAAC,WAAW,CAAA;aAC3B;YACD,OAAO,CAAC,CAAA;QACZ,CAAC;QAED,gBAAgB,CAAC,KAAoB;YACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;YAC/B,IAAI,QAAQ,IAAI,IAAI,EAAE;gBAClB,MAAM,OAAO,GAAG,SAAK,SAAS,CAAC,QAAQ,CAAC,CAAA;gBACxC,MAAM,UAAU,GAAG,SAAK,KAAK,CAAC,OAAO,CAAC,CAAA;gBACtC,IAAI,UAAU,IAAI,IAAI,EAAE;oBACpB,MAAM,OAAO,GAAG,UAA2B,CAAA;oBAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;oBAC3C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE;wBAAE,OAAO,IAAI,CAAA;iBAC/C;aACJ;YACD,OAAO,MAAM,CAAA;QACjB,CAAC;QAED,cAAc,CAAC,OAAe;YAC5B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,EAAE;gBAAE,OAAO,EAAE,CAAA;YAChD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;YAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YAC5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACpD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACrD,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACvD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;QACnC,CAAC;QAED,UAAU,CAAC,OAAe;YACxB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;YAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;YACtB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;YAErD,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,IAAI,CAAA;aACZ;iBAAM,IAAI,IAAI,KAAK,CAAC,EAAE;gBACrB,OAAO,IAAI,CAAA;aACZ;iBAAM;gBACL,OAAO,GAAG,IAAI,IAAI,CAAA;aACnB;QACH,CAAC;QAED,iBAAiB,CAAC,MAAc;YAC9B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAA;YAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC7B,CAAC;QAED,WAAW;YACT,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,mCAAmC;aACzC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO;QACP,YAAY;YACV,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,+BAA+B;aACrC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO;QACP,UAAU;YACR,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,6BAA6B;aACnC,CAAC,CAAA;QACJ,CAAC;QAED,UAAU,CAAC,IAAY;YACrB,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,oCAAoC,IAAI,EAAE;aAChD,CAAC,CAAA;QACJ,CAAC;QAED,UAAU;YACR,GAAG,CAAC,SAAS,CAAC;gBACZ,GAAG,EAAE,mBAAmB;aACzB,CAAC,CAAA;QACJ,CAAC;QAED,eAAe,CAAC,KAAoB;YAClC,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,6CAA6C,KAAK,CAAC,EAAE,EAAE;aAC7D,CAAC,CAAA;QACJ,CAAC;QAED,oBAAoB,CAAC,KAAoB;YACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAA;YACrC,IAAI,QAAQ,IAAI,IAAI;gBAAE,YAAM;YAC5B,MAAM,KAAK,GAAG,QAAiB,CAAA;YAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC1B,MAAM,OAAO,GAAG,SAAK,SAAS,CAAC,SAAS,CAAC,CAAA;gBACzC,MAAM,UAAU,GAAG,SAAK,KAAK,CAAC,OAAO,CAAC,CAAA;gBACtC,IAAI,UAAU,IAAI,IAAI;oBAAE,YAAM;gBAC9B,MAAM,OAAO,GAAG,UAA2B,CAAA;gBAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;gBACjD,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE;oBACzC,GAAG,CAAC,UAAU,CAAC;wBACb,GAAG,EAAE,0CAA0C,SAAS,EAAE;qBAC3D,CAAC,CAAA;iBACH;aACF;QACH,CAAC;QAED,QAAQ,CAAC,KAAoB;YAC3B,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,wCAAwC,KAAK,CAAC,EAAE,EAAE;aACxD,CAAC,CAAA;QACJ,CAAC;QAED,cAAc,CAAC,KAAoB;YACjC,GAAG,CAAC,SAAS,mBAAC;gBACZ,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,CAAC,GAAG;oBACX,IAAI,GAAG,CAAC,OAAO,EAAE;wBACf,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;wBACpC,eAAe,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;4BAClD,GAAG,CAAC,WAAW,EAAE,CAAA;4BACjB,GAAG,CAAC,SAAS,CAAC;gCACZ,KAAK,EAAE,QAAQ;gCACf,IAAI,EAAE,SAAS;6BAChB,CAAC,CAAA;4BACF,IAAI,CAAC,UAAU,EAAE,CAAA;wBACnB,CAAC,CAAC,CAAC,KAAK,CAAC;4BACP,GAAG,CAAC,WAAW,EAAE,CAAA;4BACjB,GAAG,CAAC,SAAS,CAAC;gCACZ,KAAK,EAAE,MAAM;gCACb,IAAI,EAAE,MAAM;6BACb,CAAC,CAAA;wBACJ,CAAC,CAAC,CAAA;qBACH;gBACH,CAAC;aACF,EAAC,CAAA;QACJ,CAAC;QAED,WAAW,CAAC,KAAoB;YAC9B,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,uCAAuC,KAAK,CAAC,EAAE,EAAE;aACvD,CAAC,CAAA;QACJ,CAAC;QAED,WAAW;YACT,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,8BAA8B;aACpC,CAAC,CAAA;QACJ,CAAC;QAED,UAAU;YACR,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,mCAAmC;aACzC,CAAC,CAAA;QACJ,CAAC;QAED,WAAW;YACT,gBAAgB;YAChB,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,mCAAmC;aACzC,CAAC,CAAA;QACJ,CAAC;QAED,aAAa;YACX,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,gCAAgC;aACtC,CAAC,CAAA;QACJ,CAAC;QAED,aAAa;YACX,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,gCAAgC;aACtC,CAAC,CAAA;QACJ,CAAC;QAED,UAAU;YACR,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,yCAAyC;aAC/C,CAAC,CAAA;QACJ,CAAC;QAED,cAAc;YACZ,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,0BAA0B;aAChC,CAAC,CAAA;QACJ,CAAC;QACD,gBAAgB;YACd,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,yCAAyC;aAC/C,CAAC,CAAA;QACJ,CAAC;QACD,mBAAmB;YACjB,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,oDAAoD;aAC1D,CAAC,CAAA;QACJ,CAAC;QACD,iBAAiB;YACf,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,kDAAkD;aACxD,CAAC,CAAA;QACJ,CAAC;QACD,UAAU;YACR,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,mCAAmC;aACzC,CAAC,CAAA;QACJ,CAAC;QAED,WAAW;YACT,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,oCAAoC;aAC1C,CAAC,CAAA;QACJ,CAAC;QAED,SAAS;YACP,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,kCAAkC;aACxC,CAAC,CAAA;QACJ,CAAC;QAED,UAAU;YACR,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,mCAAmC;aACzC,CAAC,CAAA;QACJ,CAAC;QAED,cAAc;YACZ,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,sCAAsC;aAC5C,CAAC,CAAA;QACJ,CAAC;QAED,SAAS;YACP,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,iCAAiC;aACvC,CAAC,CAAA;QACJ,CAAC;QAED,SAAS;YACP,GAAG,CAAC,UAAU,CAAC;gBACb,GAAG,EAAE,iCAAiC;aACvC,CAAC,CAAA;QACJ,CAAC;QAED,kBAAkB,CAAC,WAAS;YAC1B,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,iCAAiC,EAAC,WAAW,EAAE,IAAI,CAAC,CAAA;YACpE,IAAI,CAAC,WAAW,EAAE,CAAA;YAElB,MAAM,OAAO,GAAG,IAAqB,CAAA;YACrC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YAC1C,IAAI,MAAM,KAAK,CAAC,EAAE;gBAChB,GAAG,CAAC,SAAS,CAAC;oBACZ,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAA;aACH;iBAAM,IAAI,MAAM,KAAK,CAAC,EAAE;gBACvB,GAAG,CAAC,SAAS,CAAC;oBACZ,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAA;aACH;QACH,CAAC;KACF;CACF,EAAA\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/a155128467ff7d312a19e4d349e7a299a2f81c95 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/a155128467ff7d312a19e4d349e7a299a2f81c95 deleted file mode 100644 index 85894c5b..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/a155128467ff7d312a19e4d349e7a299a2f81c95 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted, computed } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass CalendarDay extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n day: { type: Number, optional: false },\n signed: { type: Boolean, optional: false },\n isToday: { type: Boolean, optional: false }\n };\n },\n name: \"CalendarDay\"\n };\n }\n constructor(options, metadata = CalendarDay.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.day = this.__props__.day;\n this.signed = this.__props__.signed;\n this.isToday = this.__props__.isToday;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'signin',\n setup(__props) {\n const totalPoints = ref(0);\n const continuousDays = ref(0);\n const signedToday = ref(false);\n const currentYear = ref(new Date().getFullYear());\n const currentMonth = ref(new Date().getMonth() + 1);\n const signinRecords = ref([]);\n const showPopup = ref(false);\n const popupPoints = ref(0);\n const popupBonus = ref(0);\n const popupContinuousDays = ref(0);\n const weekdays = ['日', '一', '二', '三', '四', '五', '六'];\n const calendarDays = computed(() => {\n const days = [];\n const year = currentYear.value;\n const month = currentMonth.value;\n const firstDay = new Date(year, month - 1, 1).getDay();\n const daysInMonth = new Date(year, month, 0).getDate();\n const today = new Date();\n const todayStr = today.toISOString().split('T')[0];\n for (let i = 0; i < firstDay; i++) {\n days.push(new CalendarDay({ day: 0, signed: false, isToday: false }));\n }\n for (let i = 1; i <= daysInMonth; i++) {\n const dateStr = `${year}-${month.toString().padStart(2, '0')}-${i.toString().padStart(2, '0')}`;\n const isToday = dateStr === todayStr;\n const signed = signinRecords.value.includes(dateStr);\n days.push(new CalendarDay({ day: i, signed, isToday }));\n }\n return days;\n });\n const loadSigninData = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d;\n uni.showLoading({ title: '加载中...' });\n try {\n const points = yield supabaseService.getUserPoints();\n totalPoints.value = points;\n const status = yield supabaseService.getTodaySigninStatus();\n signedToday.value = (_a = status.getBoolean('signed')) !== null && _a !== void 0 ? _a : false;\n continuousDays.value = (_b = status.getNumber('continuous_days')) !== null && _b !== void 0 ? _b : 0;\n const records = yield supabaseService.getSigninRecords(currentYear.value, currentMonth.value);\n const dates = [];\n for (let i = 0; i < records.length; i++) {\n const record = records[i];\n let dateStr = '';\n if (UTS.isInstanceOf(record, UTSJSONObject)) {\n dateStr = (_c = record.getString('signin_date')) !== null && _c !== void 0 ? _c : '';\n }\n else {\n const rObj = UTS.JSON.parse(UTS.JSON.stringify(record));\n dateStr = (_d = rObj.getString('signin_date')) !== null && _d !== void 0 ? _d : '';\n }\n if (dateStr !== '') {\n dates.push(dateStr);\n }\n }\n signinRecords.value = dates;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/points/signin.uvue:180', '加载签到数据失败:', e);\n }\n finally {\n uni.hideLoading();\n }\n }); };\n const doSignin = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g;\n if (signedToday.value)\n return Promise.resolve(null);\n uni.showLoading({ title: '签到中...' });\n try {\n const result = yield supabaseService.signin();\n if (result.getBoolean('success') === true) {\n popupPoints.value = (_a = result.getNumber('points')) !== null && _a !== void 0 ? _a : 0;\n popupBonus.value = (_b = result.getNumber('bonus_points')) !== null && _b !== void 0 ? _b : 0;\n popupContinuousDays.value = (_c = result.getNumber('continuous_days')) !== null && _c !== void 0 ? _c : 0;\n totalPoints.value = (_d = result.getNumber('total_points')) !== null && _d !== void 0 ? _d : 0;\n continuousDays.value = popupContinuousDays.value;\n signedToday.value = true;\n const today = new Date().toISOString().split('T')[0];\n signinRecords.value.push(today);\n showPopup.value = true;\n }\n else {\n const message = (_g = result.getString('message')) !== null && _g !== void 0 ? _g : '签到失败';\n uni.showToast({ title: message, icon: 'none' });\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/points/signin.uvue:211', '签到异常:', e);\n uni.showToast({ title: '签到异常', icon: 'none' });\n }\n finally {\n uni.hideLoading();\n }\n }); };\n const closePopup = () => {\n showPopup.value = false;\n };\n const prevMonth = () => {\n if (currentMonth.value === 1) {\n currentYear.value--;\n currentMonth.value = 12;\n }\n else {\n currentMonth.value--;\n }\n loadSigninData();\n };\n const nextMonth = () => {\n if (currentMonth.value === 12) {\n currentYear.value++;\n currentMonth.value = 1;\n }\n else {\n currentMonth.value++;\n }\n loadSigninData();\n };\n onMounted(() => {\n loadSigninData();\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _t(totalPoints.value),\n b: _o(prevMonth),\n c: _t(currentYear.value),\n d: _t(currentMonth.value),\n e: _o(nextMonth),\n f: _t(continuousDays.value),\n g: _f(weekdays, (day, k0, i0) => {\n return {\n a: _t(day),\n b: day\n };\n }),\n h: _f(calendarDays.value, (day, index, i0) => {\n return _e({\n a: day.day > 0\n }, day.day > 0 ? {\n b: _t(day.day)\n } : {}, {\n c: day.signed\n }, day.signed ? {} : {}, {\n d: index,\n e: day.day === 0 ? 1 : '',\n f: day.signed ? 1 : '',\n g: day.isToday ? 1 : ''\n });\n }),\n i: _t(signedToday.value ? '今日已签到' : '立即签到'),\n j: signedToday.value ? 1 : '',\n k: signedToday.value,\n l: _o(doSignin),\n m: showPopup.value\n }, showPopup.value ? _e({\n n: _t(popupPoints.value),\n o: popupBonus.value > 0\n }, popupBonus.value > 0 ? {\n p: _t(popupBonus.value)\n } : {}, {\n q: _t(popupContinuousDays.value),\n r: _o(closePopup),\n s: _o(() => { }),\n t: _o(closePopup)\n }) : {}, {\n v: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/points/signin.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.showLoading","uni.__f__","uni.hideLoading","uni.showToast"],"map":"{\"version\":3,\"file\":\"signin.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"signin.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/a42ccdf95d6d26f3d0a633068185ec082aec7bcf b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/a42ccdf95d6d26f3d0a633068185ec082aec7bcf deleted file mode 100644 index 8ff26215..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/a42ccdf95d6d26f3d0a633068185ec082aec7bcf +++ /dev/null @@ -1 +0,0 @@ -{"code":"import {} from \"vue\";\nimport { setIsLoggedIn, setUserProfile, getCurrentUser } from \"@/utils/store\";\nimport supa from \"@/components/supadb/aksupainstance\";\nexport default defineComponent({\n onLaunch: function () {\n uni.__f__('log', 'at App.uvue:7', 'App Launch');\n // 检查是否已有有效会话,有则恢复登录状态\n this.checkExistingSession();\n },\n onShow: function () {\n uni.__f__('log', 'at App.uvue:13', 'App Show');\n },\n onHide: function () {\n uni.__f__('log', 'at App.uvue:16', 'App Hide');\n },\n methods: {\n checkExistingSession: function () {\n // 检查是否已有有效会话\n const session = supa.getSession();\n if (session.user != null) {\n uni.__f__('log', 'at App.uvue:23', '已有有效会话,恢复登录状态');\n setIsLoggedIn(true);\n uni.reLaunch({ url: '/pages/mall/consumer/index' });\n return null;\n }\n // 检查本地存储的登录状态\n const savedUserId = uni.getStorageSync('user_id');\n if (savedUserId != null && savedUserId != '') {\n uni.__f__('log', 'at App.uvue:32', '本地存储中有用户ID,尝试恢复会话');\n getCurrentUser().then((profile = null) => {\n if (profile != null) {\n uni.__f__('log', 'at App.uvue:35', '会话恢复成功');\n setIsLoggedIn(true);\n uni.reLaunch({ url: '/pages/mall/consumer/index' });\n }\n }).catch(() => {\n uni.__f__('log', 'at App.uvue:40', '会话恢复失败,需要重新登录');\n });\n }\n // 没有有效会话,显示登录页\n uni.__f__('log', 'at App.uvue:45', '无有效会话,显示登录页');\n }\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/App.uvue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":["uni.__f__","uni.reLaunch","uni.getStorageSync"],"map":"{\"version\":3,\"file\":\"App.uvue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"App.uvue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\";OACQ,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE;OACjD,IAAI;AAEX,+BAAe;IACd,QAAQ,EAAE;QACT,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,eAAe,EAAC,YAAY,CAAC,CAAA;QAE7C,sBAAsB;QACtB,IAAI,CAAC,oBAAoB,EAAE,CAAA;IAC5B,CAAC;IACD,MAAM,EAAE;QACP,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,gBAAgB,EAAC,UAAU,CAAC,CAAA;IAC7C,CAAC;IACD,MAAM,EAAE;QACP,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,gBAAgB,EAAC,UAAU,CAAC,CAAA;IAC7C,CAAC;IACD,OAAO,EAAE;QACR,oBAAoB,EAAE;YACrB,aAAa;YACb,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;YACjC,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE;gBACzB,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,gBAAgB,EAAC,eAAe,CAAC,CAAA;gBACjD,aAAa,CAAC,IAAI,CAAC,CAAA;gBACnB,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,4BAA4B,EAAE,CAAC,CAAA;gBACnD,YAAM;aACN;YAED,cAAc;YACd,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;YACjD,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,IAAI,EAAE,EAAE;gBAC7C,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,gBAAgB,EAAC,mBAAmB,CAAC,CAAA;gBACrD,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,OAAA;oBAC7B,IAAI,OAAO,IAAI,IAAI,EAAE;wBACpB,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,gBAAgB,EAAC,QAAQ,CAAC,CAAA;wBAC1C,aAAa,CAAC,IAAI,CAAC,CAAA;wBACnB,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,4BAA4B,EAAE,CAAC,CAAA;qBACnD;gBACF,CAAC,CAAC,CAAC,KAAK,CAAC;oBACR,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,gBAAgB,EAAC,eAAe,CAAC,CAAA;gBAClD,CAAC,CAAC,CAAA;aACF;YAED,eAAe;YACf,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,gBAAgB,EAAC,aAAa,CAAC,CAAA;QAChD,CAAC;KACD;CACD,EAAA\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/a79d5bacfa6cb3318dab236aa857c2317b4b1eb2 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/a79d5bacfa6cb3318dab236aa857c2317b4b1eb2 deleted file mode 100644 index f630b23f..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/a79d5bacfa6cb3318dab236aa857c2317b4b1eb2 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { MerchantType, ProductType } from \"@/types/mall-types\";\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass CouponType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n discount_value: { type: Number, optional: false },\n min_order_amount: { type: Number, optional: false },\n name: { type: String, optional: false },\n start_time: { type: String, optional: false },\n end_time: { type: String, optional: false },\n status: { type: Number, optional: false }\n };\n },\n name: \"CouponType\"\n };\n }\n constructor(options, metadata = CouponType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.discount_value = this.__props__.discount_value;\n this.min_order_amount = this.__props__.min_order_amount;\n this.name = this.__props__.name;\n this.start_time = this.__props__.start_time;\n this.end_time = this.__props__.end_time;\n this.status = this.__props__.status;\n delete this.__props__;\n }\n}\n// 分页相关状态\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'shop-detail',\n setup(__props) {\n const currentPage = ref(1);\n const pageSize = ref(6); // 默认显示六个\n const hasMore = ref(true);\n const isLoading = ref(false);\n const currentMerchantId = ref('');\n const merchant = ref(new MerchantType({\n id: '',\n user_id: '',\n shop_name: '',\n shop_logo: '',\n shop_banner: '',\n shop_description: '',\n contact_name: '',\n contact_phone: '',\n shop_status: 0,\n rating: 0,\n total_sales: 0,\n created_at: ''\n }));\n const products = ref([]);\n const isFollowed = ref(false);\n const coupons = ref([]); // 新增优惠券\n const isRefresherTriggered = ref(false);\n // 函数定义必须在 onMounted 之前\n // checkFollowStatus 必须在 loadShopData 之前定义\n const checkFollowStatus = (shopId) => { return __awaiter(this, void 0, void 0, function* () {\n const userId = supabaseService.getCurrentUserId();\n if (userId != null && userId != '') {\n try {\n // @ts-ignore\n isFollowed.value = yield supabaseService.isShopFollowed(shopId, userId);\n }\n catch (e) {\n uni.__f__('warn', 'at pages/mall/consumer/shop-detail.uvue:126', 'isShopFollowed method not found');\n }\n }\n }); };\n const loadShopData = (id) => { return __awaiter(this, void 0, void 0, function* () {\n uni.__f__('log', 'at pages/mall/consumer/shop-detail.uvue:132', 'Loading shop data for:', id);\n const shop = yield supabaseService.getShopByMerchantId(id);\n if (shop != null) {\n uni.__f__('log', 'at pages/mall/consumer/shop-detail.uvue:136', 'Shop loaded successfully:', shop.shop_name);\n // 使用显式类型转换\n const merchantData = new MerchantType({\n id: shop.id,\n user_id: shop.merchant_id,\n shop_name: shop.shop_name,\n shop_logo: shop.shop_logo != null ? shop.shop_logo : '/static/default-shop.png',\n shop_banner: shop.shop_banner != null ? shop.shop_banner : '/static/default-banner.png',\n shop_description: shop.description != null ? shop.description : '',\n contact_name: shop.contact_name != null ? shop.contact_name : '',\n contact_phone: shop.contact_phone != null ? shop.contact_phone : '',\n shop_status: 1,\n rating: shop.rating_avg != null ? shop.rating_avg : 5.0,\n total_sales: shop.total_sales != null ? shop.total_sales : 0,\n created_at: shop.created_at != null ? shop.created_at : ''\n });\n merchant.value = merchantData;\n // 检查关注状态\n checkFollowStatus(shop.id);\n }\n else {\n uni.__f__('warn', 'at pages/mall/consumer/shop-detail.uvue:157', 'Shop data is null for ID:', id);\n uni.showToast({\n title: '未找到店铺信息',\n icon: 'none',\n duration: 3000\n });\n }\n }); };\n const loadCoupons = (id) => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j;\n try {\n // @ts-ignore\n const res = yield supabaseService.fetchShopCoupons(id);\n if (res != null && Array.isArray(res)) {\n const couponList = [];\n for (let i = 0; i < res.length; i++) {\n const item = res[i];\n const itemObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n couponList.push(new CouponType({\n id: (_a = itemObj.getString('id')) !== null && _a !== void 0 ? _a : '',\n discount_value: (_b = itemObj.getNumber('discount_value')) !== null && _b !== void 0 ? _b : 0,\n min_order_amount: (_c = itemObj.getNumber('min_order_amount')) !== null && _c !== void 0 ? _c : 0,\n name: (_d = itemObj.getString('name')) !== null && _d !== void 0 ? _d : '',\n start_time: (_g = itemObj.getString('start_time')) !== null && _g !== void 0 ? _g : '',\n end_time: (_h = itemObj.getString('end_time')) !== null && _h !== void 0 ? _h : '',\n status: (_j = itemObj.getNumber('status')) !== null && _j !== void 0 ? _j : 1\n }));\n }\n coupons.value = couponList;\n }\n }\n catch (e1) {\n uni.__f__('warn', 'at pages/mall/consumer/shop-detail.uvue:188', 'SupabaseService.fetchShopCoupons method missing. Please rebuild project.');\n }\n }); };\n const loadShopProducts = (id) => { return __awaiter(this, void 0, void 0, function* () {\n var _a;\n if (isLoading.value)\n return Promise.resolve(null);\n isLoading.value = true;\n // 保存当前使用的MerchantID,供下拉/触底使用\n if (currentPage.value === 1) {\n currentMerchantId.value = id;\n }\n uni.__f__('log', 'at pages/mall/consumer/shop-detail.uvue:201', `shop-detail loadShopProducts for: ${id} page: ${currentPage.value}`);\n let res = new UTSJSONObject({});\n try {\n // @ts-ignore\n res = yield supabaseService.getProductsByMerchantId(id, currentPage.value, pageSize.value);\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/shop-detail.uvue:208', 'getProductsByMerchantId missing or error', e);\n isLoading.value = false;\n uni.stopPullDownRefresh();\n return Promise.resolve(null);\n }\n uni.__f__('log', 'at pages/mall/consumer/shop-detail.uvue:214', `shop-detail getProductsByMerchantId result count: ${(_a = res.data) === null || _a === void 0 ? null : _a.length}`);\n const rawList = res.data;\n if (rawList != null && Array.isArray(rawList) && rawList.length > 0) {\n // 过滤掉已经在列表中的重复商品 (防止分页计算错误导致的重复)\n const newItems = [];\n const existingIds = products.value.map(p => { return p.id; });\n const list = rawList.map((item = null) => {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l, _m;\n // 解析图片数组\n let images = [];\n // 转换为 UTSJSONObject 安全访问属性\n const itemObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n // 1. 尝试 main_image_url\n const mainImageUrl = itemObj.getString('main_image_url');\n if (mainImageUrl != null && mainImageUrl != '') {\n images.push(mainImageUrl);\n }\n // 2. 尝试 image_urls (如果 main 为空,或者需要展示多图)\n const imageUrls = itemObj.get('image_urls');\n if (imageUrls != null) {\n try {\n if (Array.isArray(imageUrls)) {\n const arr = imageUrls;\n if (arr.length > 0) {\n if (images.length == 0)\n images.push(...arr);\n }\n }\n else if (typeof imageUrls === 'string') {\n const rawUrl = imageUrls;\n if (rawUrl.startsWith('[')) {\n const parsed = UTS.JSON.parse(rawUrl);\n if (Array.isArray(parsed)) {\n const arr = parsed;\n if (images.length == 0)\n images.push(...arr);\n }\n }\n else {\n if (images.indexOf(rawUrl) === -1)\n images.push(rawUrl);\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/shop-detail.uvue:257', '解析图片数组失败:', e);\n }\n }\n // 没有任何图片则使用默认\n if (images.length === 0) {\n images.push('/static/default-product.png');\n }\n return new ProductType({\n id: (_a = itemObj.getString('id')) !== null && _a !== void 0 ? _a : '',\n merchant_id: (_b = itemObj.getString('merchant_id')) !== null && _b !== void 0 ? _b : '',\n category_id: (_c = itemObj.getString('category_id')) !== null && _c !== void 0 ? _c : '',\n name: (_d = itemObj.getString('name')) !== null && _d !== void 0 ? _d : '未知商品',\n description: (_g = itemObj.getString('description')) !== null && _g !== void 0 ? _g : '',\n images: images,\n price: (_h = itemObj.getNumber('base_price')) !== null && _h !== void 0 ? _h : 0,\n original_price: (_j = itemObj.getNumber('market_price')) !== null && _j !== void 0 ? _j : 0,\n stock: (_k = itemObj.getNumber('total_stock')) !== null && _k !== void 0 ? _k : 0,\n sales: (_l = itemObj.getNumber('sale_count')) !== null && _l !== void 0 ? _l : 0,\n status: 1,\n created_at: (_m = itemObj.getString('created_at')) !== null && _m !== void 0 ? _m : ''\n });\n });\n // 只有在 currentPage > 1 时才需要过滤,currentPage = 1 时直接替换\n if (currentPage.value === 1) {\n products.value = list;\n }\n else {\n for (let i = 0; i < list.length; i++) {\n if (existingIds.indexOf(list[i].id) === -1) {\n newItems.push(list[i]);\n }\n }\n if (newItems.length > 0) {\n products.value.push(...newItems);\n }\n }\n currentPage.value++;\n hasMore.value = list.length >= pageSize.value;\n }\n else {\n hasMore.value = false;\n }\n isLoading.value = false;\n uni.stopPullDownRefresh();\n }); };\n onMounted(() => {\n const pages = getCurrentPages();\n const options = pages[pages.length - 1].options;\n // Search传递的是 id (shop_id), 其他地方可能传递 merchantId\n const mId = options.get('merchantId');\n const pId = options.get('id');\n const paramId = (mId != null ? mId : pId);\n if (paramId != null && paramId != '') {\n uni.__f__('log', 'at pages/mall/consumer/shop-detail.uvue:315', 'Page mounted with params:', paramId);\n // 优先加载店铺信息\n loadShopData(paramId).then(() => {\n // 加载成功后,使用确定的 merchant_id 来查询关联数据 (商品/优惠券通常是关联在 merchant_id 上的)\n const realMerchantId = merchant.value.user_id; // 这里 user_id 映射了 DB 中的 merchant_id\n if (realMerchantId != null && realMerchantId != '') {\n uni.__f__('log', 'at pages/mall/consumer/shop-detail.uvue:321', 'Chain loading products for Corrected Merchant ID:', realMerchantId);\n currentMerchantId.value = realMerchantId; // 更新当前上下文ID\n loadShopProducts(realMerchantId);\n loadCoupons(realMerchantId);\n }\n else {\n // 防御性策略:如果没能获取 merchant_id,尝试用传入 ID\n uni.__f__('warn', 'at pages/mall/consumer/shop-detail.uvue:327', 'Shop load failed or id empty, fallback using original id:', paramId);\n currentMerchantId.value = paramId;\n loadShopProducts(paramId);\n loadCoupons(paramId);\n }\n });\n }\n else {\n uni.__f__('error', 'at pages/mall/consumer/shop-detail.uvue:334', 'No ID passed to shop-detail');\n uni.showToast({ title: '参数错误', icon: 'error' });\n }\n });\n const onRefresherRefresh = () => {\n isRefresherTriggered.value = true;\n currentPage.value = 1;\n hasMore.value = true;\n isLoading.value = false;\n if (currentMerchantId.value != '') {\n const id = currentMerchantId.value;\n Promise.all([\n loadShopData(id),\n loadCoupons(id),\n loadShopProducts(id)\n ]).then(() => {\n isRefresherTriggered.value = false;\n });\n }\n else {\n setTimeout(() => {\n isRefresherTriggered.value = false;\n }, 500);\n }\n };\n const onScrollToLower = () => {\n if (hasMore.value && !isLoading.value && currentMerchantId.value != '') {\n uni.__f__('log', 'at pages/mall/consumer/shop-detail.uvue:363', 'Scroll to lower, loading more...');\n loadShopProducts(currentMerchantId.value);\n }\n };\n onPullDownRefresh(() => {\n onRefresherRefresh();\n });\n onReachBottom(() => {\n onScrollToLower();\n });\n const claimCoupon = (coupon = null) => { return __awaiter(this, void 0, void 0, function* () {\n var _a;\n const userId = supabaseService.getCurrentUserId();\n if (userId == null) {\n uni.navigateTo({ url: '/pages/auth/login' });\n return Promise.resolve(null);\n }\n uni.showLoading({ title: '领取中' });\n // 转换为 UTSJSONObject 安全访问属性\n const couponObj = UTS.JSON.parse(UTS.JSON.stringify(coupon));\n const couponId = (_a = couponObj.getString('id')) !== null && _a !== void 0 ? _a : '';\n let success = false;\n try {\n // @ts-ignore\n success = yield supabaseService.claimShopCoupon(couponId, userId);\n }\n catch (e1) {\n try {\n // @ts-ignore\n success = yield supabaseService.claimCoupon(couponId, userId);\n }\n catch (e2) {\n uni.__f__('warn', 'at pages/mall/consumer/shop-detail.uvue:397', 'claimCoupon not found');\n }\n }\n uni.hideLoading();\n if (success) {\n uni.showToast({ title: '领取成功', icon: 'success' });\n }\n else {\n uni.showToast({ title: '领取失败', icon: 'none' });\n }\n }); };\n const toggleFollow = () => { return __awaiter(this, void 0, void 0, function* () {\n const userId = supabaseService.getCurrentUserId();\n if (userId == null) {\n uni.navigateTo({ url: '/pages/auth/login' });\n return Promise.resolve(null);\n }\n // 这里的 merchant.value.id 假如是 ML_SHOPS.id\n const shopId = merchant.value.id;\n if (shopId == null || shopId == '')\n return Promise.resolve(null);\n uni.showLoading({ title: '处理中' });\n // @ts-ignore\n if (isFollowed.value) {\n // 取消关注\n // @ts-ignore\n const success = yield supabaseService.unfollowShop(shopId, userId);\n if (success) {\n isFollowed.value = false;\n uni.showToast({ title: '已取消关注', icon: 'none' });\n }\n else {\n uni.showToast({ title: '操作失败', icon: 'none' });\n }\n }\n else {\n // 关注\n // @ts-ignore\n const success = yield supabaseService.followShop(shopId, userId);\n if (success) {\n isFollowed.value = true;\n uni.showToast({ title: '关注成功', icon: 'success' });\n }\n else {\n uni.showToast({ title: '关注失败', icon: 'none' });\n }\n }\n uni.hideLoading();\n }); };\n const contactService = () => {\n const currentUser = supabaseService.getCurrentUserId();\n if (currentUser == null) {\n uni.navigateTo({ url: '/pages/user/login' });\n return null;\n }\n if (merchant.value.user_id != null && merchant.value.user_id != '') {\n uni.navigateTo({\n url: `/pages/mall/consumer/chat?merchantId=${merchant.value.user_id}&merchantName=${encodeURIComponent(merchant.value.shop_name)}`\n });\n }\n else {\n uni.showToast({ title: '无法联系商家', icon: 'none' });\n }\n };\n const addToCart = (product) => { return __awaiter(this, void 0, void 0, function* () {\n var _a;\n uni.showLoading({ title: '检查商品...' });\n try {\n // 使用店铺的 merchant_id\n const merchantId = (_a = merchant.value.user_id) !== null && _a !== void 0 ? _a : '';\n // 检查商品是否有SKU\n const skus = yield supabaseService.getProductSkus(product.id);\n uni.hideLoading();\n if (skus.length > 0) {\n // 有规格,提示并跳转到商品详情页选择规格\n uni.showToast({\n title: '请选择规格',\n icon: 'none'\n });\n setTimeout(() => {\n uni.navigateTo({\n url: '/pages/mall/consumer/product-detail?id=' + product.id\n });\n }, 500);\n }\n else {\n // 无规格,直接加入购物车\n uni.showLoading({ title: '添加中...' });\n const success = yield supabaseService.addToCart(product.id, 1, '', merchantId);\n uni.hideLoading();\n if (success) {\n uni.showToast({\n title: '已添加到购物车',\n icon: 'success'\n });\n }\n else {\n uni.showToast({\n title: '添加失败,请重试',\n icon: 'none'\n });\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/shop-detail.uvue:504', '添加到购物车异常', e);\n uni.hideLoading();\n uni.showToast({\n title: '操作失败',\n icon: 'none'\n });\n }\n }); };\n const goToProduct = (id) => {\n uni.navigateTo({\n url: `/pages/mall/consumer/product-detail?productId=${id}`\n });\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: merchant.value.shop_banner != '' ? merchant.value.shop_banner : '/static/default-banner.png',\n b: merchant.value.shop_logo != '' ? merchant.value.shop_logo : '/static/default-shop.png',\n c: _t(merchant.value.shop_name),\n d: _t(merchant.value.rating.toFixed(1)),\n e: _t(merchant.value.total_sales),\n f: _o(contactService),\n g: _t(isFollowed.value ? '已关注' : '+ 关注'),\n h: isFollowed.value ? 1 : '',\n i: _o(toggleFollow),\n j: _t(merchant.value.shop_description != '' ? merchant.value.shop_description : '这家店很懒,什么都没写~'),\n k: coupons.value.length > 0\n }, coupons.value.length > 0 ? {\n l: _f(coupons.value, (coupon, k0, i0) => {\n return _e({\n a: _t(coupon.discount_value),\n b: coupon.min_order_amount > 0\n }, coupon.min_order_amount > 0 ? {\n c: _t(coupon.min_order_amount)\n } : {}, {\n d: coupon.id,\n e: _o($event => { return claimCoupon(coupon); }, coupon.id)\n });\n })\n } : {}, {\n m: _f(products.value, (product, k0, i0) => {\n return {\n a: product.images[0],\n b: _t(product.name),\n c: _t(product.price),\n d: _o($event => { return addToCart(product); }, product.id),\n e: product.id,\n f: _o($event => { return goToProduct(product.id); }, product.id)\n };\n }),\n n: _o(onScrollToLower),\n o: _o(onRefresherRefresh),\n p: isRefresherTriggered.value,\n q: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/shop-detail.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__","uni.showToast","uni.stopPullDownRefresh","uni.navigateTo","uni.showLoading","uni.hideLoading"],"map":"{\"version\":3,\"file\":\"shop-detail.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"shop-detail.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/af18212a2c22dc4c0f8dafdca7b5a56e70d718fd b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/af18212a2c22dc4c0f8dafdca7b5a56e70d718fd deleted file mode 100644 index ea224b17..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/af18212a2c22dc4c0f8dafdca7b5a56e70d718fd +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, n as _n, o as _o, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted, watch, computed, onUnmounted } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass PaymentMethodType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n description: { type: String, optional: false },\n icon: { type: String, optional: false },\n enabled: { type: Boolean, optional: false }\n };\n },\n name: \"PaymentMethodType\"\n };\n }\n constructor(options, metadata = PaymentMethodType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.description = this.__props__.description;\n this.icon = this.__props__.icon;\n this.enabled = this.__props__.enabled;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'payment',\n setup(__props) {\n const orderId = ref('');\n const orderNo = ref('');\n const amount = ref(0);\n const paymentMethods = ref([]);\n const selectedMethod = ref('wechat');\n const userBalance = ref(0);\n const isPaying = ref(false);\n const showPassword = ref(false);\n const password = ref('');\n // 价格相关变量\n const productAmount = ref(0); // 商品总价\n const deliveryFee = ref(0); // 运费\n const discountAmount = ref(0); // 优惠减免\n // 加载支付方式(必须在 onMounted 之前定义)\n const loadPaymentMethods = () => {\n const methods = [\n new PaymentMethodType({\n id: 'wechat',\n name: '微信支付',\n description: '推荐安装微信5.0及以上版本使用',\n icon: '💳',\n enabled: true\n }),\n new PaymentMethodType({\n id: 'alipay',\n name: '支付宝',\n description: '推荐安装支付宝10.0及以上版本使用',\n icon: '💳',\n enabled: true\n }),\n new PaymentMethodType({\n id: 'balance',\n name: '余额支付',\n description: '使用账户余额支付',\n icon: '💰',\n enabled: true\n }),\n new PaymentMethodType({\n id: 'bankcard',\n name: '银行卡支付',\n description: '支持储蓄卡、信用卡',\n icon: '💳',\n enabled: true\n })\n ];\n paymentMethods.value = methods;\n };\n // 加载用户余额(必须在 onMounted 之前定义)\n const loadUserBalance = () => { return __awaiter(this, void 0, void 0, function* () {\n try {\n const balance = yield supabaseService.getUserBalanceNumber();\n userBalance.value = balance;\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/payment.uvue:178', '加载用户余额异常:', err);\n userBalance.value = 0;\n }\n }); };\n // 计算价格明细(必须在 onMounted 之前定义)\n const calculatePriceDetails = (totalAmount) => {\n // 模拟计算各项费用\n // 假设商品总价占总金额的80%,运费占10%,优惠减免占10%\n productAmount.value = totalAmount * 0.8;\n deliveryFee.value = totalAmount * 0.1;\n discountAmount.value = totalAmount * 0.1;\n // 确保总和等于应付金额\n const calculatedTotal = productAmount.value + deliveryFee.value - discountAmount.value;\n if (Math.abs(calculatedTotal - totalAmount) > 0.01) {\n // 调整商品总价以匹配应付金额\n productAmount.value = totalAmount + discountAmount.value - deliveryFee.value;\n }\n };\n // 更新本地存储中的订单状态(必须在 onMounted 之前定义)\n const updateOrderInStorage = (targetOrderId, status) => {\n try {\n // 尝试从 'orders' 读取 (checkout页面写入的key)\n const ordersStr = uni.getStorageSync('orders');\n let orders = [];\n if (ordersStr != null && ordersStr !== '') {\n const parsed = UTS.JSON.parse(ordersStr);\n if (Array.isArray(parsed)) {\n for (let i = 0; i < parsed.length; i++) {\n // 使用 JSON 序列化转换\n const itemStr = UTS.JSON.stringify(parsed[i]);\n const itemParsed = UTS.JSON.parse(itemStr);\n if (itemParsed != null) {\n orders.push(itemParsed);\n }\n }\n }\n }\n let foundIndex = -1;\n for (let i = 0; i < orders.length; i++) {\n const o = orders[i];\n if (o['id'] === targetOrderId) {\n foundIndex = i;\n break;\n }\n }\n if (foundIndex !== -1) {\n orders[foundIndex]['status'] = status;\n orders[foundIndex]['payment_status'] = status === 2 ? 1 : 0; // 2=待发货(已支付), 1=待支付(未支付)\n orders[foundIndex]['updated_at'] = new Date().toISOString();\n // 确保更新的是 'orders' key\n uni.setStorageSync('orders', UTS.JSON.stringify(orders));\n uni.__f__('log', 'at pages/mall/consumer/payment.uvue:234', '订单状态已更新到Storage (orders):', targetOrderId, status);\n }\n else {\n // 本地缓存中没有订单数据是正常的,数据在数据库中\n uni.__f__('log', 'at pages/mall/consumer/payment.uvue:237', '本地缓存中无订单数据,已忽略:', targetOrderId);\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/payment.uvue:240', '更新订单状态失败', e);\n }\n };\n // 取消支付,更新订单状态(必须在 goBack 之前定义)\n const cancelPayment = () => { return __awaiter(this, void 0, void 0, function* () {\n try {\n // 这里应该调用API更新订单状态为待支付(status: 1)\n // 模拟更新订单状态\n // 更新本地存储\n updateOrderInStorage(orderId.value, 1); // 1: 待支付\n // 发布订单更新事件,让profile页面可以刷新数据\n uni.$emit('orderUpdated', new UTSJSONObject({ orderId: orderId.value, status: 1 }));\n uni.showToast({\n title: '已保存到待支付订单',\n icon: 'success'\n });\n // 延迟返回,让用户看到提示\n setTimeout(() => {\n uni.navigateBack();\n }, 1500);\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/payment.uvue:267', '取消支付异常:', err);\n uni.showToast({\n title: '操作失败',\n icon: 'none'\n });\n }\n }); };\n // 返回(必须在 onBackPress 之前定义)\n const goBack = () => {\n uni.showModal(new UTSJSONObject({\n title: '取消支付',\n content: '确定要取消支付吗?取消后订单将保存到待支付订单中',\n confirmText: '取消支付',\n cancelText: '继续支付',\n success: (res) => {\n if (res.confirm) {\n // 用户确认取消支付,更新订单状态为待支付\n cancelPayment();\n }\n }\n }));\n };\n // 加载订单信息(必须在 onMounted 之前定义)\n const loadOrderInfo = () => { return __awaiter(this, void 0, void 0, function* () {\n try {\n if (orderId.value == '')\n return Promise.resolve(null);\n const order = yield supabaseService.getOrderDetail(orderId.value);\n if (order != null) {\n // 使用 JSON 序列化转换对象\n const orderStr = UTS.JSON.stringify(order);\n const orderParsed = UTS.JSON.parse(orderStr);\n if (orderParsed == null) {\n uni.__f__('error', 'at pages/mall/consumer/payment.uvue:302', '订单数据解析失败');\n return Promise.resolve(null);\n }\n const orderObj = orderParsed;\n const orderNoVal = orderObj.getString('order_no');\n if (orderNoVal != null) {\n orderNo.value = orderNoVal;\n }\n const totalAmount = orderObj.getNumber('total_amount');\n const dbAmount = totalAmount !== null && totalAmount !== void 0 ? totalAmount : 0;\n if (dbAmount > 0) {\n amount.value = dbAmount;\n }\n const items = orderObj.get('items');\n if (items != null && Array.isArray(items) && items.length > 0) {\n // Could update product name etc if displayed\n }\n }\n else {\n // Fallback or error\n uni.__f__('warn', 'at pages/mall/consumer/payment.uvue:323', 'Order not found in DB', orderId.value);\n if (orderNo.value == '')\n orderNo.value = 'ORD_PENDING_' + Date.now();\n }\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/payment.uvue:327', '加载订单信息异常:', err);\n }\n }); };\n // 生命周期\n onLoad((options) => {\n if (options != null) {\n const orderIdValue = options['orderId'];\n if (orderIdValue != null) {\n orderId.value = orderIdValue;\n loadOrderInfo();\n }\n const amountValue = options['amount'];\n if (amountValue != null) {\n amount.value = parseFloat(amountValue.toString());\n }\n // 获取传递的价格详情\n const productAmountValue = options['productAmount'];\n if (productAmountValue != null) {\n productAmount.value = parseFloat(productAmountValue.toString());\n }\n const deliveryFeeValue = options['deliveryFee'];\n if (deliveryFeeValue != null) {\n deliveryFee.value = parseFloat(deliveryFeeValue.toString());\n }\n const discountAmountValue = options['discountAmount'];\n if (discountAmountValue != null) {\n discountAmount.value = parseFloat(discountAmountValue.toString());\n }\n // 如果没有传详情,尝试根据总价估算(兼容旧逻辑,但优先使用传参)\n if (productAmountValue == null && amount.value > 0) {\n calculatePriceDetails(amount.value);\n }\n loadPaymentMethods();\n loadUserBalance();\n }\n });\n onMounted(() => {\n // onMounted 中的逻辑已移到 onLoad 中\n });\n // 监听返回操作(包含系统返回键和导航栏返回按钮)\n onBackPress((options) => {\n // 如果是通过代码主动调用 navigateBack 返回,则允许\n if (options.from === 'navigateBack') {\n return false;\n }\n // 否则拦截返回,显示确认弹窗\n goBack();\n return true;\n });\n // 获取当前用户ID\n const getCurrentUserId = () => {\n const userStore = uni.getStorageSync('userInfo');\n if (userStore != null) {\n // 使用 JSON 序列化转换\n const userStr = UTS.JSON.stringify(userStore);\n const userParsed = UTS.JSON.parse(userStr);\n if (userParsed != null) {\n const userObj = userParsed;\n const id = userObj.getString('id');\n if (id != null) {\n return id;\n }\n }\n }\n return '';\n };\n // 获取支付方式图标\n const getMethodIcon = (methodId) => {\n if (methodId === 'wechat') {\n return '💳';\n }\n else if (methodId === 'alipay') {\n return '💳';\n }\n else if (methodId === 'balance') {\n return '💰';\n }\n else if (methodId === 'bankcard') {\n return '💳';\n }\n return '💳';\n };\n // 获取支付品牌图片\n const getMethodBrandIcon = (methodId) => {\n if (methodId === 'wechat') {\n return '/static/logo.png'; // 替换为真实的微信支付图标路径\n }\n else if (methodId === 'alipay') {\n return '/static/logo.png'; // 替换为真实的支付宝图标路径\n }\n else if (methodId === 'balance') {\n return '/static/logo.png'; // 替换为真实的余额支付图标路径\n }\n else if (methodId === 'bankcard') {\n return '/static/logo.png'; // 替换为真实的银行卡支付图标路径\n }\n return '/static/logo.png';\n };\n // 选择支付方式\n const selectMethod = (method) => {\n if (!method.enabled) {\n uni.showToast({\n title: '该支付方式暂不可用',\n icon: 'none'\n });\n return null;\n }\n selectedMethod.value = method.id;\n // 切换方式时,除非点击支付,否则不自动弹出密码\n showPassword.value = false;\n password.value = ''; // 清空密码\n };\n // 关闭密码弹窗\n const closePasswordPopup = () => {\n showPassword.value = false;\n password.value = '';\n };\n // 获取支付按钮文本\n const getPayButtonText = () => {\n if (selectedMethod.value === 'balance' && userBalance.value < amount.value) {\n return '余额不足';\n }\n if (selectedMethod.value === 'wechat') {\n return '微信支付';\n }\n else if (selectedMethod.value === 'alipay') {\n return '支付宝支付';\n }\n else if (selectedMethod.value === 'balance') {\n return '余额支付';\n }\n else if (selectedMethod.value === 'bankcard') {\n return '银行卡支付';\n }\n return '确认支付';\n };\n // 减少商品库存\n // const reduceStock = (orderId: string) => {\n // Update should happen on server side during payment processing\n // }\n // 确认支付\n const confirmPayment = () => { return __awaiter(this, void 0, void 0, function* () {\n if (isPaying.value)\n return Promise.resolve(null);\n // 余额支付或银行卡支付检查密码\n if (selectedMethod.value === 'balance' || selectedMethod.value === 'bankcard') {\n if (selectedMethod.value === 'balance' && userBalance.value < amount.value) {\n uni.showToast({\n title: '余额不足',\n icon: 'none'\n });\n return Promise.resolve(null);\n }\n if (!showPassword.value) {\n showPassword.value = true;\n password.value = '';\n return Promise.resolve(null);\n }\n if (password.value.length !== 6) {\n uni.showToast({\n title: '请输入6位支付密码',\n icon: 'none'\n });\n return Promise.resolve(null);\n }\n }\n isPaying.value = true;\n uni.showLoading({ title: '支付中...' });\n try {\n uni.__f__('log', 'at pages/mall/consumer/payment.uvue:509', '[confirmPayment] 开始支付, orderId:', orderId.value, 'method:', selectedMethod.value);\n const success = yield supabaseService.payOrder(orderId.value, selectedMethod.value, amount.value);\n uni.__f__('log', 'at pages/mall/consumer/payment.uvue:512', '[confirmPayment] 支付结果:', success);\n if (!success) {\n uni.__f__('error', 'at pages/mall/consumer/payment.uvue:515', '[confirmPayment] payOrder 返回 false');\n uni.hideLoading();\n uni.showToast({\n title: '支付处理失败',\n icon: 'none'\n });\n isPaying.value = false;\n return Promise.resolve(null);\n }\n uni.hideLoading();\n updateOrderInStorage(orderId.value, 2);\n uni.showToast({\n title: '支付成功',\n icon: 'success',\n duration: 2000\n });\n uni.$emit('orderUpdated', new UTSJSONObject({ orderId: orderId.value, status: 2 }));\n setTimeout(() => {\n uni.redirectTo({\n url: `/pages/mall/consumer/payment-success?orderId=${orderId.value}`\n });\n }, 1500);\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/payment.uvue:544', '[confirmPayment] 支付异常:', err);\n uni.hideLoading();\n uni.showToast({\n title: '支付失败',\n icon: 'none'\n });\n isPaying.value = false;\n }\n }); };\n // 获取支付方式代码\n const getPaymentMethodCode = (methodId) => {\n if (methodId === 'wechat') {\n return 1;\n }\n else if (methodId === 'alipay') {\n return 2;\n }\n else if (methodId === 'balance') {\n return 3;\n }\n else if (methodId === 'bankcard') {\n return 4;\n }\n return 0;\n };\n // 验证密码(必须在 watch 之前定义)\n const verifyPassword = () => { return __awaiter(this, void 0, void 0, function* () {\n // 这里应该验证支付密码,这里简单模拟\n const userId = getCurrentUserId();\n try {\n // 模拟验证\n yield new Promise((resolve) => {\n setTimeout(() => {\n resolve();\n }, 500);\n });\n // 假设密码正确\n const isCorrect = true;\n if (isCorrect) {\n // 密码正确,继续支付\n confirmPayment();\n }\n else {\n password.value = '';\n uni.showToast({\n title: '密码错误',\n icon: 'none'\n });\n }\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/payment.uvue:596', '验证密码异常:', err);\n }\n }); };\n // 输入密码\n const inputPassword = (num) => {\n if (password.value.length >= 6)\n return null;\n password.value += num;\n };\n // 删除密码\n const deletePassword = () => {\n if (password.value.length > 0) {\n password.value = password.value.slice(0, -1);\n }\n };\n // 监听密码输入\n watch(password, (newPassword) => {\n if (newPassword.length === 6) {\n // 自动验证密码\n verifyPassword();\n }\n });\n // 忘记密码\n const forgotPassword = () => {\n uni.navigateTo({\n url: '/pages/user/forgot-password'\n });\n };\n // 在组件卸载时移除返回键监听\n onUnmounted(() => {\n // uni.offBackPress() 在uni-app中不需要手动移除\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _t(amount.value.toFixed(2)),\n b: _t(orderNo.value),\n c: _f(paymentMethods.value, (method, k0, i0) => {\n return _e({\n a: getMethodBrandIcon(method.id),\n b: _t(method.name),\n c: method.id === 'balance'\n }, method.id === 'balance' ? {\n d: _t(userBalance.value.toFixed(2))\n } : {\n e: _t(method.description)\n }, {\n f: selectedMethod.value === method.id\n }, selectedMethod.value === method.id ? {} : {}, {\n g: _n({\n checked: selectedMethod.value === method.id\n }),\n h: method.id,\n i: _o($event => { return selectMethod(method); }, method.id)\n });\n }),\n d: showPassword.value\n }, showPassword.value ? {\n e: _o(closePasswordPopup),\n f: _t(amount.value.toFixed(2)),\n g: _f(6, (_, index, i0) => {\n return _e({\n a: password.value.length > index\n }, password.value.length > index ? {} : {}, {\n b: index\n });\n }),\n h: _o(forgotPassword),\n i: _f(9, (num, k0, i0) => {\n return {\n a: _t(num),\n b: num,\n c: _o($event => { return inputPassword(num.toString()); }, num)\n };\n }),\n j: _o($event => { return inputPassword('0'); }),\n k: _o(deletePassword),\n l: _o(() => { }),\n m: _o(closePasswordPopup)\n } : {}, {\n n: !showPassword.value\n }, !showPassword.value ? _e({\n o: _t(amount.value.toFixed(2)),\n p: !isPaying.value\n }, !isPaying.value ? {\n q: _t(getPayButtonText())\n } : {}, {\n r: isPaying.value || selectedMethod.value === 'balance' && userBalance.value < amount.value ? 1 : '',\n s: _o(confirmPayment)\n }) : {}, {\n t: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/payment.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__","uni.getStorageSync","uni.setStorageSync","uni.$emit","uni.showToast","uni.navigateBack","uni.showModal","uni.showLoading","uni.hideLoading","uni.redirectTo","uni.navigateTo"],"map":"{\"version\":3,\"file\":\"payment.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"payment.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/b9ed826ef0894270dafa24434e544c6dfcf08ff1 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/b9ed826ef0894270dafa24434e544c6dfcf08ff1 deleted file mode 100644 index b43a105f..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/b9ed826ef0894270dafa24434e544c6dfcf08ff1 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, n as _n, o as _o, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { onLoad } from '@dcloudio/uni-app';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass ShareRecordType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n product_name: { type: String, optional: false },\n product_image: { type: String, optional: true },\n product_price: { type: Number, optional: false },\n share_code: { type: String, optional: false },\n required_count: { type: Number, optional: false },\n current_count: { type: Number, optional: false },\n status: { type: Number, optional: false },\n reward_amount: { type: Number, optional: true },\n created_at: { type: String, optional: false },\n completed_at: { type: String, optional: true }\n };\n },\n name: \"ShareRecordType\"\n };\n }\n constructor(options, metadata = ShareRecordType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.product_name = this.__props__.product_name;\n this.product_image = this.__props__.product_image;\n this.product_price = this.__props__.product_price;\n this.share_code = this.__props__.share_code;\n this.required_count = this.__props__.required_count;\n this.current_count = this.__props__.current_count;\n this.status = this.__props__.status;\n this.reward_amount = this.__props__.reward_amount;\n this.created_at = this.__props__.created_at;\n this.completed_at = this.__props__.completed_at;\n delete this.__props__;\n }\n}\nclass BuyerType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n buyer_id: { type: String, optional: false },\n buyer_name: { type: String, optional: false },\n quantity: { type: Number, optional: false },\n created_at: { type: String, optional: false }\n };\n },\n name: \"BuyerType\"\n };\n }\n constructor(options, metadata = BuyerType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.buyer_id = this.__props__.buyer_id;\n this.buyer_name = this.__props__.buyer_name;\n this.quantity = this.__props__.quantity;\n this.created_at = this.__props__.created_at;\n delete this.__props__;\n }\n}\nconst defaultImage = '/static/images/default-product.png';\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'detail',\n setup(__props) {\n const shareId = ref('');\n const shareRecord = ref(new ShareRecordType({\n id: '',\n product_name: '',\n product_image: null,\n product_price: 0,\n share_code: '',\n required_count: 4,\n current_count: 0,\n status: 0,\n reward_amount: null,\n created_at: '',\n completed_at: null\n }));\n const buyers = ref([]);\n const buyersLoading = ref(false);\n const loadShareDetail = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l, _m, _p, _q;\n if (shareId.value === '')\n return Promise.resolve(null);\n try {\n const result = yield supabaseService.getShareDetail(shareId.value);\n const recordRaw = result.get('share_record');\n if (recordRaw != null) {\n let recordObj = null;\n if (UTS.isInstanceOf(recordRaw, UTSJSONObject)) {\n recordObj = recordRaw;\n }\n else {\n recordObj = UTS.JSON.parse(UTS.JSON.stringify(recordRaw));\n }\n const record = new ShareRecordType({\n id: (_a = recordObj.getString('id')) !== null && _a !== void 0 ? _a : '',\n product_name: (_b = recordObj.getString('product_name')) !== null && _b !== void 0 ? _b : '',\n product_image: recordObj.getString('product_image'),\n product_price: (_c = recordObj.getNumber('product_price')) !== null && _c !== void 0 ? _c : 0,\n share_code: (_d = recordObj.getString('share_code')) !== null && _d !== void 0 ? _d : '',\n required_count: (_g = recordObj.getNumber('required_count')) !== null && _g !== void 0 ? _g : 4,\n current_count: (_h = recordObj.getNumber('current_count')) !== null && _h !== void 0 ? _h : 0,\n status: (_j = recordObj.getNumber('status')) !== null && _j !== void 0 ? _j : 0,\n reward_amount: recordObj.getNumber('reward_amount'),\n created_at: (_k = recordObj.getString('created_at')) !== null && _k !== void 0 ? _k : '',\n completed_at: recordObj.getString('completed_at')\n });\n shareRecord.value = record;\n }\n const purchasesRaw = result.get('secondary_purchases');\n if (purchasesRaw != null && Array.isArray(purchasesRaw)) {\n const parsed = [];\n const arr = purchasesRaw;\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n let itemObj = null;\n if (UTS.isInstanceOf(item, UTSJSONObject)) {\n itemObj = item;\n }\n else {\n itemObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n }\n parsed.push(new BuyerType({\n id: (_l = itemObj.getString('id')) !== null && _l !== void 0 ? _l : '',\n buyer_id: (_m = itemObj.getString('buyer_id')) !== null && _m !== void 0 ? _m : '',\n buyer_name: '用户' + (i + 1),\n quantity: (_p = itemObj.getNumber('quantity')) !== null && _p !== void 0 ? _p : 1,\n created_at: (_q = itemObj.getString('created_at')) !== null && _q !== void 0 ? _q : ''\n }));\n }\n buyers.value = parsed;\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/share/detail.uvue:197', '加载分享详情失败:', e);\n }\n }); };\n const getProgressPercent = () => {\n if (shareRecord.value.required_count <= 0)\n return 0;\n return Math.min(100, Math.round((shareRecord.value.current_count / shareRecord.value.required_count) * 100));\n };\n const getStatusText = (status) => {\n if (status === 0)\n return '进行中';\n if (status === 1)\n return '已免单';\n if (status === 2)\n return '已失效';\n if (status === 3)\n return '已过期';\n return '未知';\n };\n const getStatusClass = (status) => {\n if (status === 0)\n return 'status-progress';\n if (status === 1)\n return 'status-completed';\n if (status === 2)\n return 'status-invalid';\n if (status === 3)\n return 'status-expired';\n return '';\n };\n const copyShareCode = () => {\n uni.setClipboardData({\n data: shareRecord.value.share_code,\n success: () => {\n uni.showToast({ title: '已复制分享码', icon: 'success' });\n }\n });\n };\n const getBuyerInitial = (name) => {\n if (name.length > 0) {\n return name.charAt(0);\n }\n return '用';\n };\n const maskName = (name) => {\n if (name.length <= 2) {\n return name.charAt(0) + '*';\n }\n return name.charAt(0) + '***' + name.charAt(name.length - 1);\n };\n const formatTime = (timeStr = null) => {\n if (timeStr == null || timeStr === '')\n return '';\n const date = new Date(timeStr);\n const y = date.getFullYear();\n const m = (date.getMonth() + 1).toString().padStart(2, '0');\n const d = date.getDate().toString().padStart(2, '0');\n const hh = date.getHours().toString().padStart(2, '0');\n const mm = date.getMinutes().toString().padStart(2, '0');\n return `${y}-${m}-${d} ${hh}:${mm}`;\n };\n onLoad((options = null) => {\n if (options != null) {\n const idVal = options['id'];\n if (idVal != null) {\n shareId.value = idVal;\n loadShareDetail();\n }\n }\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: shareRecord.value.product_image != null && shareRecord.value.product_image.length > 0 ? shareRecord.value.product_image : defaultImage,\n b: _t(shareRecord.value.product_name),\n c: _t(shareRecord.value.product_price),\n d: _t(getStatusText(shareRecord.value.status)),\n e: _n(getStatusClass(shareRecord.value.status)),\n f: getProgressPercent() + '%',\n g: _t(shareRecord.value.current_count),\n h: _t(shareRecord.value.required_count),\n i: shareRecord.value.status === 0\n }, shareRecord.value.status === 0 ? {\n j: _t(shareRecord.value.required_count - shareRecord.value.current_count)\n } : {}, {\n k: shareRecord.value.status === 1\n }, shareRecord.value.status === 1 ? {\n l: _t(shareRecord.value.reward_amount)\n } : {}, {\n m: _o(copyShareCode),\n n: _t(shareRecord.value.share_code),\n o: _t(buyers.value.length),\n p: buyersLoading.value\n }, buyersLoading.value ? {} : buyers.value.length === 0 ? {} : {\n r: _f(buyers.value, (buyer, k0, i0) => {\n return {\n a: _t(getBuyerInitial(buyer.buyer_name)),\n b: _t(maskName(buyer.buyer_name)),\n c: _t(formatTime(buyer.created_at)),\n d: _t(buyer.quantity),\n e: buyer.id\n };\n })\n }, {\n q: buyers.value.length === 0,\n s: _t(formatTime(shareRecord.value.created_at)),\n t: shareRecord.value.completed_at\n }, shareRecord.value.completed_at ? {\n v: _t(formatTime(shareRecord.value.completed_at))\n } : {}, {\n w: _sei(_gei(_ctx, ''), 'scroll-view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/share/detail.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.__f__","uni.showToast","uni.setClipboardData"],"map":"{\"version\":3,\"file\":\"detail.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"detail.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\";AAAA,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,KAAK,CAAA;AACzD,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,KAAK,CAAA;AAEhI,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;OACnC,EAAE,eAAe,EAAE;MAErB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAcf,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQd,MAAM,YAAY,GAAW,oCAAoC,CAAA;AAGjE,eAAe,aAAa,CAAA,gBAAgB,CAAC;IAC3C,MAAM,EAAE,QAAQ;IAChB,KAAK,CAAC,OAAO;QAEf,MAAM,OAAO,GAAG,GAAG,CAAS,EAAE,CAAC,CAAA;QAC/B,MAAM,WAAW,GAAG,GAAG,qBAAkB;YACvC,EAAE,EAAE,EAAE;YACN,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,IAAI;YACnB,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,EAAE;YACd,cAAc,EAAE,CAAC;YACjB,aAAa,EAAE,CAAC;YAChB,MAAM,EAAE,CAAC;YACT,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,IAAI;SACnB,EAAC,CAAA;QAEF,MAAM,MAAM,GAAG,GAAG,CAAc,EAAE,CAAC,CAAA;QACnC,MAAM,aAAa,GAAG,GAAG,CAAU,KAAK,CAAC,CAAA;QACzC,MAAM,eAAe,GAAG;;YACtB,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE;gBAAE,6BAAM;YAEhC,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAElE,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;gBAC5C,IAAI,SAAS,IAAI,IAAI,EAAE;oBACrB,IAAI,SAAS,GAAyB,IAAI,CAAA;oBAC1C,qBAAI,SAAS,EAAY,aAAa,GAAE;wBACtC,SAAS,GAAG,SAAS,CAAA;qBACtB;yBAAM;wBACL,SAAS,GAAG,SAAK,KAAK,CAAC,SAAK,SAAS,CAAC,SAAS,CAAC,CAAkB,CAAA;qBACnE;oBAED,MAAM,MAAM,uBAAoB;wBAC9B,EAAE,EAAE,MAAA,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAI,EAAE;wBACnC,YAAY,EAAE,MAAA,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,mCAAI,EAAE;wBACvD,aAAa,EAAE,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;wBACnD,aAAa,EAAE,MAAA,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,mCAAI,CAAC;wBACxD,UAAU,EAAE,MAAA,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAI,EAAE;wBACnD,cAAc,EAAE,MAAA,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,mCAAI,CAAC;wBAC1D,aAAa,EAAE,MAAA,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,mCAAI,CAAC;wBACxD,MAAM,EAAE,MAAA,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,mCAAI,CAAC;wBAC1C,aAAa,EAAE,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;wBACnD,UAAU,EAAE,MAAA,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAI,EAAE;wBACnD,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC;qBAClD,CAAA,CAAA;oBACD,WAAW,CAAC,KAAK,GAAG,MAAM,CAAA;iBAC3B;gBAED,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;gBACtD,IAAI,YAAY,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;oBACvD,MAAM,MAAM,GAAgB,EAAE,CAAA;oBAC9B,MAAM,GAAG,GAAG,YAAqB,CAAA;oBAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACnC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;wBACnB,IAAI,OAAO,GAAyB,IAAI,CAAA;wBACxC,qBAAI,IAAI,EAAY,aAAa,GAAE;4BACjC,OAAO,GAAG,IAAI,CAAA;yBACf;6BAAM;4BACL,OAAO,GAAG,SAAK,KAAK,CAAC,SAAK,SAAS,CAAC,IAAI,CAAC,CAAkB,CAAA;yBAC5D;wBAED,MAAM,CAAC,IAAI,eAAC;4BACV,EAAE,EAAE,MAAA,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAI,EAAE;4BACjC,QAAQ,EAAE,MAAA,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,mCAAI,EAAE;4BAC7C,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;4BAC1B,QAAQ,EAAE,MAAA,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,mCAAI,CAAC;4BAC5C,UAAU,EAAE,MAAA,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAI,EAAE;yBAClD,EAAC,CAAA;qBACH;oBAED,MAAM,CAAC,KAAK,GAAG,MAAM,CAAA;iBACtB;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,GAAG,CAAC,KAAK,CAAC,OAAO,EAAC,8CAA8C,EAAC,WAAW,EAAE,CAAC,CAAC,CAAA;aACjF;QACH,CAAC,IAAA,CAAA;QAED,MAAM,kBAAkB,GAAG;YACzB,IAAI,WAAW,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAA;YACnD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAC9G,CAAC,CAAA;QAED,MAAM,aAAa,GAAG,CAAC,MAAc;YACnC,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC9B,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC9B,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC9B,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC9B,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QAED,MAAM,cAAc,GAAG,CAAC,MAAc;YACpC,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,iBAAiB,CAAA;YAC1C,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,kBAAkB,CAAA;YAC3C,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,gBAAgB,CAAA;YACzC,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,gBAAgB,CAAA;YACzC,OAAO,EAAE,CAAA;QACX,CAAC,CAAA;QAED,MAAM,aAAa,GAAG;YACpB,GAAG,CAAC,gBAAgB,CAAC;gBACnB,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,UAAU;gBAClC,OAAO,EAAE;oBACP,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;gBACrD,CAAC;aACF,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,MAAM,eAAe,GAAG,CAAC,IAAY;YACnC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;aACtB;YACD,OAAO,GAAG,CAAA;QACZ,CAAC,CAAA;QAED,MAAM,QAAQ,GAAG,CAAC,IAAY;YAC5B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;gBACpB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;aAC5B;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC9D,CAAC,CAAA;QAED,MAAM,UAAU,GAAG,CAAC,cAAsB;YACxC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,EAAE;gBAAE,OAAO,EAAE,CAAA;YAChD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;YAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YAC5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACpD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACtD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACxD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAA;QACrC,CAAC,CAAA;QAED,MAAM,CAAC,CAAC,OAAO,OAAA;YACb,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;gBAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,OAAO,CAAC,KAAK,GAAG,KAAe,CAAA;oBAC/B,eAAe,EAAE,CAAA;iBAClB;aACF;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,IAAI,EAAE,MAAM;YAAO,QAAQ,CAAA;YACjC,MAAM,YAAY,GAAG,EAAE,CAAC;gBACxB,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY;gBACzI,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC;gBACrC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC;gBACtC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9C,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/C,CAAC,EAAE,kBAAkB,EAAE,GAAG,GAAG;gBAC7B,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC;gBACtC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC;gBACvC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;aAClC,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC;aAC1E,CAAC,CAAC,CAAC,EAAE,EAAE;gBACN,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;aAClC,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC;aACvC,CAAC,CAAC,CAAC,EAAE,EAAE;gBACN,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;gBACpB,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC;gBACnC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC1B,CAAC,EAAE,aAAa,CAAC,KAAK;aACvB,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7D,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;oBAChC,OAAO;wBACL,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;wBACxC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;wBACjC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;wBACnC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;wBACrB,CAAC,EAAE,KAAK,CAAC,EAAE;qBACZ,CAAC;gBACJ,CAAC,CAAC;aACH,EAAE;gBACD,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAC5B,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC/C,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,YAAY;aAClC,EAAE,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBAClC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;aAClD,CAAC,CAAC,CAAC,EAAE,EAAE;gBACN,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,aAAa,CAAC;aACvC,CAAC,CAAA;YACA,OAAO,YAAY,CAAA;QACrB,CAAC,CAAA;IACD,CAAC;CAEA,CAAC,CAAA\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/bed14419eca6edc4bc965295055177593f20c345 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/bed14419eca6edc4bc965295055177593f20c345 deleted file mode 100644 index b6daea33..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/bed14419eca6edc4bc965295055177593f20c345 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, toDisplayString as _toDisplayString, t as _t, n as _n, gei as _gei, sei as _sei } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { onBackPress } from '@dcloudio/uni-app';\nimport supa from \"@/components/supadb/aksupainstance\";\nclass UserType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n phone: { type: String, optional: true },\n email: { type: String, optional: true },\n nickname: { type: String, optional: true },\n avatar_url: { type: String, optional: true }\n };\n },\n name: \"UserType\"\n };\n }\n constructor(options, metadata = UserType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.phone = this.__props__.phone;\n this.email = this.__props__.email;\n this.nickname = this.__props__.nickname;\n this.avatar_url = this.__props__.avatar_url;\n delete this.__props__;\n }\n}\nclass NotificationType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n order: { type: Boolean, optional: false },\n promotion: { type: Boolean, optional: false },\n review: { type: Boolean, optional: false }\n };\n },\n name: \"NotificationType\"\n };\n }\n constructor(options, metadata = NotificationType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.order = this.__props__.order;\n this.promotion = this.__props__.promotion;\n this.review = this.__props__.review;\n delete this.__props__;\n }\n}\nclass PrivacyType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n hidePurchase: { type: Boolean, optional: false },\n allowSearchByPhone: { type: Boolean, optional: false },\n receiveMerchantMsg: { type: Boolean, optional: false }\n };\n },\n name: \"PrivacyType\"\n };\n }\n constructor(options, metadata = PrivacyType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.hidePurchase = this.__props__.hidePurchase;\n this.allowSearchByPhone = this.__props__.allowSearchByPhone;\n this.receiveMerchantMsg = this.__props__.receiveMerchantMsg;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'settings',\n setup(__props) {\n onBackPress((options = null) => {\n // 无论是什么触发的返回(系统返回键或导航栏返回按钮),都跳转到profile\n // 注意:onBackPress 只能在 page 中使用,component 中无效\n uni.switchTab({\n url: '/pages/main/profile'\n });\n // 返回 true 表示阻止默认返回行为\n return true;\n });\n const userInfo = ref(new UserType({\n id: '',\n phone: null,\n email: null,\n nickname: null,\n avatar_url: null\n }));\n const notifications = ref(new NotificationType({\n order: true,\n promotion: true,\n review: true\n }));\n const privacy = ref(new PrivacyType({\n hidePurchase: false,\n allowSearchByPhone: true,\n receiveMerchantMsg: true\n }));\n const cacheSize = ref('0.0 MB');\n const currentLanguage = ref('简体中文');\n const currentTheme = ref('自动');\n const appVersion = ref('1.0.0');\n const statusBarHeight = ref(0);\n const loadUserInfo = () => {\n var _a;\n const userStore = uni.getStorageSync('userInfo');\n if (userStore != null) {\n const storeObj = userStore;\n const user = new UserType({\n id: (_a = storeObj.getString('id')) !== null && _a !== void 0 ? _a : '',\n phone: storeObj.getString('phone'),\n email: storeObj.getString('email'),\n nickname: storeObj.getString('nickname'),\n avatar_url: storeObj.getString('avatar_url')\n });\n userInfo.value = user;\n }\n };\n const loadSettings = () => {\n var _a, _b, _c, _d, _e, _f;\n const savedNotifications = uni.getStorageSync('userNotifications');\n if (savedNotifications != null) {\n const notifObj = savedNotifications;\n const notif = new NotificationType({\n order: (_a = notifObj.getBoolean('order')) !== null && _a !== void 0 ? _a : true,\n promotion: (_b = notifObj.getBoolean('promotion')) !== null && _b !== void 0 ? _b : true,\n review: (_c = notifObj.getBoolean('review')) !== null && _c !== void 0 ? _c : true\n });\n notifications.value = notif;\n }\n const savedPrivacy = uni.getStorageSync('userPrivacy');\n if (savedPrivacy != null) {\n const privacyObj = savedPrivacy;\n const priv = new PrivacyType({\n hidePurchase: (_d = privacyObj.getBoolean('hidePurchase')) !== null && _d !== void 0 ? _d : false,\n allowSearchByPhone: (_e = privacyObj.getBoolean('allowSearchByPhone')) !== null && _e !== void 0 ? _e : true,\n receiveMerchantMsg: (_f = privacyObj.getBoolean('receiveMerchantMsg')) !== null && _f !== void 0 ? _f : true\n });\n privacy.value = priv;\n }\n cacheSize.value = '12.5 MB';\n const appInfo = uni.getAppBaseInfo();\n if (appInfo != null) {\n const infoObj = appInfo;\n const version = infoObj.getString('appVersion');\n if (version != null) {\n appVersion.value = version;\n }\n }\n };\n onMounted(() => {\n var _a;\n const systemInfo = uni.getSystemInfoSync();\n statusBarHeight.value = (_a = systemInfo.statusBarHeight) !== null && _a !== void 0 ? _a : 0;\n loadUserInfo();\n loadSettings();\n });\n // 跳转到个人资料\n const goToProfile = () => {\n uni.navigateTo({\n url: '/pages/user/profile'\n });\n };\n // 跳转到地址管理\n const goToAddressList = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/address-list'\n });\n };\n // 修改密码\n const changePassword = () => {\n uni.navigateTo({\n url: '/pages/user/change-password'\n });\n };\n // 绑定手机\n const bindPhone = () => {\n uni.navigateTo({\n url: '/pages/user/bind-phone'\n });\n };\n // 绑定邮箱\n const bindEmail = () => {\n uni.navigateTo({\n url: '/pages/user/bind-email'\n });\n };\n // 切换通知设置\n const toggleNotification = (type) => {\n if (type === 'order') {\n notifications.value.order = notifications.value.order === false;\n }\n else if (type === 'promotion') {\n notifications.value.promotion = notifications.value.promotion === false;\n }\n else if (type === 'review') {\n notifications.value.review = notifications.value.review === false;\n }\n uni.setStorageSync('userNotifications', notifications.value);\n };\n // 切换隐私设置\n const togglePrivacy = (type) => {\n if (type === 'hidePurchase') {\n privacy.value.hidePurchase = privacy.value.hidePurchase === false;\n }\n else if (type === 'allowSearchByPhone') {\n privacy.value.allowSearchByPhone = privacy.value.allowSearchByPhone === false;\n }\n else if (type === 'receiveMerchantMsg') {\n privacy.value.receiveMerchantMsg = privacy.value.receiveMerchantMsg === false;\n }\n uni.setStorageSync('userPrivacy', privacy.value);\n };\n // 清除缓存\n const clearCache = () => {\n uni.showModal(new UTSJSONObject({\n title: '清除缓存',\n content: `确定要清除 ${cacheSize.value} 缓存吗?`,\n success: (res) => {\n if (res.confirm) {\n // 这里应该清除实际缓存\n uni.showLoading({\n title: '清除中...'\n });\n setTimeout(() => {\n cacheSize.value = '0.0 MB';\n uni.hideLoading();\n uni.showToast({\n title: '缓存已清除',\n icon: 'success'\n });\n }, 1000);\n }\n }\n }));\n };\n // 切换语言\n const changeLanguage = () => {\n uni.showActionSheet({\n itemList: ['简体中文', 'English', '日本語'],\n success: (res) => {\n const languages = ['简体中文', 'English', '日本語'];\n currentLanguage.value = languages[res.tapIndex];\n uni.setStorageSync('appLanguage', currentLanguage.value);\n uni.showToast({\n title: '语言已切换',\n icon: 'success'\n });\n }\n });\n };\n // 切换主题\n const changeTheme = () => {\n uni.showActionSheet({\n itemList: ['自动', '浅色模式', '深色模式'],\n success: (res) => {\n const themes = ['自动', '浅色模式', '深色模式'];\n currentTheme.value = themes[res.tapIndex];\n uni.setStorageSync('appTheme', currentTheme.value);\n uni.showToast({\n title: '主题已切换',\n icon: 'success'\n });\n }\n });\n };\n // 我的评价\n const goToMyReviews = () => {\n // 跳转到订单列表的已完成或者是评价相关的页面\n uni.navigateTo({\n url: '/pages/mall/consumer/orders?status=completed'\n });\n };\n // 关于我们\n const aboutUs = () => {\n uni.navigateTo({\n url: '/pages/user/terms?type=about'\n });\n };\n // 用户协议\n const userAgreement = () => {\n uni.navigateTo({\n url: '/pages/user/terms?type=agreement'\n });\n };\n // 隐私政策\n const privacyPolicy = () => {\n uni.navigateTo({\n url: '/pages/user/terms?type=privacy'\n });\n };\n // 检查更新\n const checkUpdate = () => {\n uni.showLoading({\n title: '检查更新中...'\n });\n setTimeout(() => {\n uni.hideLoading();\n uni.showModal(new UTSJSONObject({\n title: '检查更新',\n content: '当前已是最新版本',\n showCancel: false\n }));\n }, 1000);\n };\n // 联系客服\n const contactService = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/chat'\n });\n };\n // 意见反馈\n const feedback = () => {\n uni.navigateTo({\n url: '/pages/info/feedback'\n });\n };\n const rateApp = () => {\n uni.showModal(new UTSJSONObject({\n title: '给个好评',\n content: '如果喜欢我们的应用,请给个好评吧!感谢您的支持!',\n confirmText: '好的',\n showCancel: false\n }));\n };\n // 退出登录\n const logout = () => {\n uni.showModal(new UTSJSONObject({\n title: '退出登录',\n content: '确定要退出登录吗?',\n success: (res) => {\n if (res.confirm) {\n uni.showLoading({\n title: '正在退出...'\n });\n uni.removeStorageSync('userInfo');\n uni.removeStorageSync('user_id');\n uni.removeStorageSync('access_token');\n uni.hideLoading();\n uni.showToast({\n title: '已退出登录',\n icon: 'success'\n });\n setTimeout(() => {\n uni.reLaunch({\n url: '/pages/user/login'\n });\n }, 1000);\n }\n }\n }));\n };\n const deleteAccount = () => {\n uni.showModal(new UTSJSONObject({\n title: '注销账号',\n content: '确定要注销账号吗?此操作不可恢复,所有数据将被删除!',\n confirmText: '注销',\n confirmColor: '#ff4757',\n success: (res) => {\n if (res.confirm) {\n uni.showLoading({\n title: '注销中...'\n });\n let userId = userInfo.value.id;\n if (userId == null || userId === '') {\n const storageId = uni.getStorageSync('user_id');\n userId = (storageId != null) ? storageId : null;\n }\n if (userId != null) {\n const updateObj = new UTSJSONObject();\n updateObj.set('status', 3);\n supa\n .from('ml_user_profiles')\n .update(updateObj)\n .eq('user_id', userId)\n .execute();\n }\n uni.removeStorageSync('userInfo');\n uni.removeStorageSync('user_id');\n uni.removeStorageSync('access_token');\n uni.hideLoading();\n uni.showToast({\n title: '账号已注销',\n icon: 'success',\n duration: 2000\n });\n setTimeout(() => {\n uni.reLaunch({\n url: '/pages/user/login'\n });\n }, 1500);\n }\n }\n }));\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = {\n a: _o(goToProfile),\n b: _o(goToAddressList),\n c: _o(changePassword),\n d: _t(userInfo.value.phone != null && userInfo.value.phone != '' ? '已绑定' : '未绑定'),\n e: _n(userInfo.value.phone != null && userInfo.value.phone != '' ? 'bound' : ''),\n f: _o(bindPhone),\n g: _t(userInfo.value.email != null && userInfo.value.email != '' ? '已绑定' : '未绑定'),\n h: _n(userInfo.value.email != null && userInfo.value.email != '' ? 'bound' : ''),\n i: _o(bindEmail),\n j: notifications.value.order,\n k: _o($event => { return toggleNotification('order'); }),\n l: notifications.value.promotion,\n m: _o($event => { return toggleNotification('promotion'); }),\n n: notifications.value.review,\n o: _o($event => { return toggleNotification('review'); }),\n p: privacy.value.hidePurchase,\n q: _o($event => { return togglePrivacy('hidePurchase'); }),\n r: privacy.value.allowSearchByPhone,\n s: _o($event => { return togglePrivacy('allowSearchByPhone'); }),\n t: privacy.value.receiveMerchantMsg,\n v: _o($event => { return togglePrivacy('receiveMerchantMsg'); }),\n w: _t(cacheSize.value),\n x: _o(clearCache),\n y: _t(currentLanguage.value),\n z: _o(changeLanguage),\n A: _t(currentTheme.value),\n B: _o(changeTheme),\n C: _o(goToMyReviews),\n D: _o(aboutUs),\n E: _o(userAgreement),\n F: _o(privacyPolicy),\n G: _t(appVersion.value),\n H: _o(checkUpdate),\n I: _o(contactService),\n J: _o(feedback),\n K: _o(rateApp),\n L: _o(logout),\n M: _o(deleteAccount),\n N: _sei(_gei(_ctx, ''), 'view')\n };\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/settings.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.switchTab","uni.getStorageSync","uni.getAppBaseInfo","uni.getSystemInfoSync","uni.navigateTo","uni.setStorageSync","uni.showLoading","uni.hideLoading","uni.showToast","uni.showModal","uni.showActionSheet","uni.removeStorageSync","uni.reLaunch"],"map":"{\"version\":3,\"file\":\"settings.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"settings.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/c5061a928971b59d11d3ac4ffe8fa7bac3b752fd b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/c5061a928971b59d11d3ac4ffe8fa7bac3b752fd deleted file mode 100644 index b4a8bfa6..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/c5061a928971b59d11d3ac4ffe8fa7bac3b752fd +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, f as _f, o as _o, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { onLoad } from '@dcloudio/uni-app';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass ReviewItem extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n user_id: { type: String, optional: false },\n user_name: { type: String, optional: false },\n user_avatar: { type: String, optional: false },\n rating: { type: Number, optional: false },\n content: { type: String, optional: false },\n images: { type: UTS.UTSType.withGenerics(Array, [String]), optional: false },\n is_anonymous: { type: Boolean, optional: false },\n like_count: { type: Number, optional: false },\n is_liked: { type: Boolean, optional: false },\n append_content: { type: String, optional: true },\n append_at: { type: String, optional: true },\n reply: { type: String, optional: true },\n created_at: { type: String, optional: false }\n };\n },\n name: \"ReviewItem\"\n };\n }\n constructor(options, metadata = ReviewItem.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.user_id = this.__props__.user_id;\n this.user_name = this.__props__.user_name;\n this.user_avatar = this.__props__.user_avatar;\n this.rating = this.__props__.rating;\n this.content = this.__props__.content;\n this.images = this.__props__.images;\n this.is_anonymous = this.__props__.is_anonymous;\n this.like_count = this.__props__.like_count;\n this.is_liked = this.__props__.is_liked;\n this.append_content = this.__props__.append_content;\n this.append_at = this.__props__.append_at;\n this.reply = this.__props__.reply;\n this.created_at = this.__props__.created_at;\n delete this.__props__;\n }\n}\nclass StatsType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n total_count: { type: Number, optional: false },\n avg_rating: { type: Number, optional: false },\n good_rate: { type: Number, optional: false },\n rating_distribution: { type: \"Unknown\", optional: false }\n };\n },\n name: \"StatsType\"\n };\n }\n constructor(options, metadata = StatsType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.total_count = this.__props__.total_count;\n this.avg_rating = this.__props__.avg_rating;\n this.good_rate = this.__props__.good_rate;\n this.rating_distribution = this.__props__.rating_distribution;\n delete this.__props__;\n }\n}\nconst pageSize = 10;\nconst defaultAvatar = '/static/images/default-avatar.png';\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'product-reviews',\n setup(__props) {\n const productId = ref('');\n const reviews = ref([]);\n const stats = ref(new StatsType({\n total_count: 0,\n avg_rating: 0,\n good_rate: 0,\n rating_distribution: new Map()\n }));\n const loading = ref(true);\n const hasMore = ref(true);\n const page = ref(1);\n const filterRating = ref(0);\n const hasImageFilter = ref(false);\n const getRatingCount = (rating) => {\n var _a;\n return (_a = stats.value.rating_distribution.get(rating.toString())) !== null && _a !== void 0 ? _a : 0;\n };\n const getRatingPercent = (rating) => {\n if (stats.value.total_count === 0)\n return 0;\n const count = getRatingCount(rating);\n return Math.round((count / stats.value.total_count) * 100);\n };\n const loadStats = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d;\n try {\n const result = yield supabaseService.getReviewStats(productId.value);\n const distMap = new Map();\n const dist = result.get('rating_distribution');\n if (dist != null && UTS.isInstanceOf(dist, UTSJSONObject)) {\n for (let i = 1; i <= 5; i++) {\n distMap.set(i.toString(), (_a = dist.getNumber(i.toString())) !== null && _a !== void 0 ? _a : 0);\n }\n }\n const statsData = new StatsType({\n total_count: (_b = result.getNumber('total_count')) !== null && _b !== void 0 ? _b : 0,\n avg_rating: (_c = result.getNumber('avg_rating')) !== null && _c !== void 0 ? _c : 0,\n good_rate: (_d = result.getNumber('good_rate')) !== null && _d !== void 0 ? _d : 0,\n rating_distribution: distMap\n });\n stats.value = statsData;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/product-reviews.uvue:234', '加载统计失败:', e);\n }\n }); };\n const loadReviews = (pageNum) => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l, _m, _p;\n loading.value = true;\n try {\n const result = yield supabaseService.getProductReviews(productId.value, pageNum, pageSize, filterRating.value, hasImageFilter.value);\n const total = (_a = result.getNumber('total')) !== null && _a !== void 0 ? _a : 0;\n const data = result.get('data');\n const reviewList = [];\n if (data != null && Array.isArray(data)) {\n const rawList = data;\n for (let i = 0; i < rawList.length; i++) {\n const item = rawList[i];\n let reviewObj;\n if (UTS.isInstanceOf(item, UTSJSONObject)) {\n reviewObj = item;\n }\n else {\n reviewObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n }\n let images = [];\n const imagesRaw = reviewObj.get('images');\n if (imagesRaw != null && typeof imagesRaw === 'string') {\n try {\n const parsed = UTS.JSON.parse(imagesRaw);\n if (Array.isArray(parsed)) {\n images = parsed;\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/product-reviews.uvue:274', '解析图片失败:', e);\n }\n }\n const review = new ReviewItem({\n id: (_b = reviewObj.getString('id')) !== null && _b !== void 0 ? _b : '',\n user_id: (_c = reviewObj.getString('user_id')) !== null && _c !== void 0 ? _c : '',\n user_name: (_d = reviewObj.getString('user_name')) !== null && _d !== void 0 ? _d : '匿名用户',\n user_avatar: (_g = reviewObj.getString('user_avatar')) !== null && _g !== void 0 ? _g : '',\n rating: (_h = reviewObj.getNumber('rating')) !== null && _h !== void 0 ? _h : 5,\n content: (_j = reviewObj.getString('content')) !== null && _j !== void 0 ? _j : '',\n images: images,\n is_anonymous: (_k = reviewObj.getBoolean('is_anonymous')) !== null && _k !== void 0 ? _k : false,\n like_count: (_l = reviewObj.getNumber('like_count')) !== null && _l !== void 0 ? _l : 0,\n is_liked: (_m = reviewObj.getBoolean('is_liked')) !== null && _m !== void 0 ? _m : false,\n append_content: reviewObj.getString('append_content'),\n append_at: reviewObj.getString('append_at'),\n reply: reviewObj.getString('reply'),\n created_at: (_p = reviewObj.getString('created_at')) !== null && _p !== void 0 ? _p : ''\n });\n reviewList.push(review);\n }\n }\n if (pageNum === 1) {\n reviews.value = reviewList;\n }\n else {\n reviews.value = [...reviews.value, ...reviewList];\n }\n hasMore.value = reviews.value.length < total;\n page.value = pageNum;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/product-reviews.uvue:307', '加载评价失败:', e);\n }\n finally {\n loading.value = false;\n }\n }); };\n const loadMore = () => {\n if (!loading.value && hasMore.value) {\n loadReviews(page.value + 1);\n }\n };\n const setFilterRating = (rating) => {\n filterRating.value = rating;\n hasImageFilter.value = false;\n page.value = 1;\n loadReviews(1);\n };\n const toggleHasImage = () => {\n hasImageFilter.value = !hasImageFilter.value;\n filterRating.value = 0;\n page.value = 1;\n loadReviews(1);\n };\n const toggleLike = (review) => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n try {\n const result = yield supabaseService.toggleReviewLike(review.id);\n if (result.getBoolean('success') === true) {\n review.is_liked = (_a = result.getBoolean('is_liked')) !== null && _a !== void 0 ? _a : false;\n review.like_count = (_b = result.getNumber('like_count')) !== null && _b !== void 0 ? _b : 0;\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/product-reviews.uvue:341', '点赞失败:', e);\n }\n }); };\n const previewImage = (images, index) => {\n uni.previewImage({\n urls: images,\n current: index\n });\n };\n const formatTime = (timeStr = null) => {\n if (timeStr == null || timeStr === '')\n return '';\n const date = new Date(timeStr);\n const now = new Date();\n const diff = now.getTime() - date.getTime();\n const days = Math.floor(diff / (24 * 60 * 60 * 1000));\n if (days === 0) {\n const hours = Math.floor(diff / (60 * 60 * 1000));\n if (hours === 0) {\n const minutes = Math.floor(diff / (60 * 1000));\n return minutes <= 1 ? '刚刚' : `${minutes}分钟前`;\n }\n return `${hours}小时前`;\n }\n else if (days < 7) {\n return `${days}天前`;\n }\n else {\n const y = date.getFullYear();\n const m = (date.getMonth() + 1).toString().padStart(2, '0');\n const d = date.getDate().toString().padStart(2, '0');\n return `${y}-${m}-${d}`;\n }\n };\n onLoad((options = null) => {\n if (options != null) {\n const idVal = options['product_id'];\n if (idVal != null) {\n productId.value = idVal;\n loadStats();\n loadReviews(1);\n }\n }\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: stats.value.total_count > 0\n }, stats.value.total_count > 0 ? {\n b: _t(stats.value.avg_rating),\n c: _t(stats.value.good_rate),\n d: _t(stats.value.total_count),\n e: _f(5, (i, k0, i0) => {\n return {\n a: _t(6 - i),\n b: getRatingPercent(6 - i) + '%',\n c: _t(getRatingCount(6 - i)),\n d: i\n };\n })\n } : {}, {\n f: _t(stats.value.total_count),\n g: filterRating.value === 0 ? 1 : '',\n h: _o($event => { return setFilterRating(0); }),\n i: _t(getRatingCount(5)),\n j: filterRating.value === 5 ? 1 : '',\n k: _o($event => { return setFilterRating(5); }),\n l: _t(getRatingCount(4) + getRatingCount(3)),\n m: filterRating.value === 4 ? 1 : '',\n n: _o($event => { return setFilterRating(4); }),\n o: _t(getRatingCount(2) + getRatingCount(1)),\n p: filterRating.value === 2 ? 1 : '',\n q: _o($event => { return setFilterRating(2); }),\n r: hasImageFilter.value ? 1 : '',\n s: _o(toggleHasImage),\n t: _f(reviews.value, (review, k0, i0) => {\n return _e({\n a: review.user_avatar.length > 0 ? review.user_avatar : defaultAvatar,\n b: _t(review.user_name),\n c: _f(5, (star, k1, i1) => {\n return {\n a: star,\n b: star <= review.rating ? 1 : ''\n };\n }),\n d: _t(formatTime(review.created_at)),\n e: _t(review.content),\n f: review.images.length > 0\n }, review.images.length > 0 ? _e({\n g: _f(review.images.slice(0, 3), (img, idx, i1) => {\n return {\n a: idx,\n b: img,\n c: _o($event => { return previewImage(review.images, idx); }, idx)\n };\n }),\n h: review.images.length > 3\n }, review.images.length > 3 ? {\n i: _t(review.images.length - 3)\n } : {}) : {}, {\n j: review.append_content\n }, review.append_content ? {\n k: _t(review.append_content),\n l: _t(formatTime(review.append_at))\n } : {}, {\n m: review.reply\n }, review.reply ? {\n n: _t(review.reply)\n } : {}, {\n o: _t(review.is_liked ? '❤' : '♡'),\n p: _t(review.like_count != null ? review.like_count : 0),\n q: review.is_liked ? 1 : '',\n r: _o($event => { return toggleLike(review); }, review.id),\n s: review.id\n });\n }),\n v: !loading.value && reviews.value.length === 0\n }, !loading.value && reviews.value.length === 0 ? {} : {}, {\n w: loading.value\n }, loading.value ? {} : {}, {\n x: !loading.value && hasMore.value && reviews.value.length > 0\n }, !loading.value && hasMore.value && reviews.value.length > 0 ? {\n y: _o(loadMore)\n } : {}, {\n z: !loading.value && !hasMore.value && reviews.value.length > 0\n }, !loading.value && !hasMore.value && reviews.value.length > 0 ? {} : {}, {\n A: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/product-reviews.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.__f__","uni.previewImage"],"map":"{\"version\":3,\"file\":\"product-reviews.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"product-reviews.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/ca6e0d1f43fd0395f8db67abfd73bcf6cac9c015 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/ca6e0d1f43fd0395f8db67abfd73bcf6cac9c015 deleted file mode 100644 index 681c7636..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/ca6e0d1f43fd0395f8db67abfd73bcf6cac9c015 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted, getCurrentInstance } from 'vue';\nimport { onShow, onLoad } from '@dcloudio/uni-app';\nimport { supabaseService, UserAddress as SupabaseUserAddress } from \"@/utils/supabaseService\";\nclass Address extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n phone: { type: String, optional: false },\n province: { type: String, optional: false },\n city: { type: String, optional: false },\n district: { type: String, optional: false },\n detail: { type: String, optional: false },\n isDefault: { type: Boolean, optional: false },\n label: { type: String, optional: true }\n };\n },\n name: \"Address\"\n };\n }\n constructor(options, metadata = Address.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.phone = this.__props__.phone;\n this.province = this.__props__.province;\n this.city = this.__props__.city;\n this.district = this.__props__.district;\n this.detail = this.__props__.detail;\n this.isDefault = this.__props__.isDefault;\n this.label = this.__props__.label;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'address-list',\n setup(__props) {\n const addresses = ref([]);\n const selectionMode = ref(false);\n const loadAddresses = () => { return __awaiter(this, void 0, void 0, function* () {\n try {\n // 从Supabase加载地址数据\n const supabaseAddresses = yield supabaseService.getAddresses();\n // 转换数据格式以匹配前端界面\n const transformedAddresses = [];\n for (let i = 0; i < supabaseAddresses.length; i++) {\n const item = supabaseAddresses[i];\n const addr = new Address({\n id: item.id,\n name: item.recipient_name,\n phone: item.phone,\n province: item.province,\n city: item.city,\n district: item.district,\n detail: item.detail_address,\n isDefault: item.is_default,\n label: ''\n });\n transformedAddresses.push(addr);\n }\n addresses.value = transformedAddresses;\n // 同时更新本地存储作为缓存\n uni.setStorageSync('addresses', UTS.JSON.stringify(addresses.value));\n }\n catch (error) {\n uni.__f__('error', 'at pages/mall/consumer/address-list.uvue:84', '加载地址数据失败:', error);\n // 如果API调用失败,尝试从本地存储加载\n const storedAddresses = uni.getStorageSync('addresses');\n if (storedAddresses != null) {\n try {\n addresses.value = UTS.JSON.parse(storedAddresses);\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/address-list.uvue:91', '解析地址数据失败', e);\n addresses.value = [];\n }\n }\n else {\n addresses.value = [];\n }\n }\n }); };\n onLoad((options = null) => {\n if (options['selectMode'] == 'true') {\n selectionMode.value = true;\n }\n });\n onShow(() => {\n loadAddresses();\n });\n // onMounted logic for EventChannel removed as it is not fully supported in UTS Android\n // Using uni.$emit for global event communication instead\n const getFullAddress = (item) => {\n return `${item.province}${item.city}${item.district} ${item.detail}`;\n };\n const addAddress = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/address-edit'\n });\n };\n // 删除地址\n const deleteAddress = (id) => {\n uni.showModal(new UTSJSONObject({\n title: '提示',\n content: '确定要删除该地址吗?',\n success: (res) => {\n if (res.confirm) {\n // 调用Supabase服务删除地址\n supabaseService.deleteAddress(id).then((success) => {\n if (success) {\n // 从本地列表移除\n const index = addresses.value.findIndex(addr => { return addr.id === id; });\n if (index !== -1) {\n addresses.value.splice(index, 1);\n // 更新本地存储缓存\n uni.setStorageSync('addresses', UTS.JSON.stringify(addresses.value));\n uni.showToast({\n title: '删除成功',\n icon: 'success'\n });\n }\n }\n else {\n uni.__f__('error', 'at pages/mall/consumer/address-list.uvue:145', '删除地址失败');\n uni.showToast({\n title: '删除失败',\n icon: 'none'\n });\n }\n });\n }\n }\n }));\n };\n const editAddress = (id) => {\n uni.navigateTo({\n url: `/pages/mall/consumer/address-edit?id=${id}`\n });\n };\n const selectAddress = (item) => {\n if (selectionMode.value) {\n uni.$emit('addressSelected', new UTSJSONObject({\n id: item.id,\n recipient_name: item.name,\n phone: item.phone,\n province: item.province,\n city: item.city,\n district: item.district,\n detail: item.detail,\n is_default: item.isDefault\n }));\n uni.navigateBack();\n }\n else {\n editAddress(item.id);\n }\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: addresses.value.length === 0\n }, addresses.value.length === 0 ? {} : {\n b: _f(addresses.value, (item, index, i0) => {\n return _e({\n a: _t(item.name),\n b: _t(item.phone),\n c: item.isDefault\n }, item.isDefault ? {} : {}, {\n d: item.label\n }, item.label ? {\n e: _t(item.label)\n } : {}, {\n f: _t(getFullAddress(item)),\n g: _o($event => { return editAddress(item.id); }, item.id),\n h: _o($event => { return deleteAddress(item.id); }, item.id),\n i: item.id,\n j: _o($event => { return selectAddress(item); }, item.id)\n });\n })\n }, {\n c: _o(addAddress),\n d: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/address-list.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.setStorageSync","uni.__f__","uni.getStorageSync","uni.navigateTo","uni.showToast","uni.showModal","uni.$emit","uni.navigateBack"],"map":"{\"version\":3,\"file\":\"address-list.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"address-list.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/cbd98157fd8e3a15f71f89e0488fc6fe5ed364da b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/cbd98157fd8e3a15f71f89e0488fc6fe5ed364da deleted file mode 100644 index 0471c82b..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/cbd98157fd8e3a15f71f89e0488fc6fe5ed364da +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent } from \"vue\";\nimport { ProductType, MerchantType, ProductSkuType, CouponTemplateType, FootprintItemType } from \"@/types/mall-types\";\nimport { supabaseService } from \"@/utils/supabaseService\";\nexport default defineComponent({\n data() {\n return {\n product: new ProductType({\n id: '',\n merchant_id: '',\n category_id: '',\n name: '',\n description: '',\n images: [],\n price: 0,\n original_price: 0,\n stock: 0,\n sales: 0,\n status: 0,\n created_at: ''\n }),\n merchant: new MerchantType({\n id: '',\n user_id: '',\n shop_name: '',\n shop_logo: '',\n shop_banner: '',\n shop_description: '',\n contact_name: '',\n contact_phone: '',\n shop_status: 0,\n rating: 0,\n total_sales: 0,\n created_at: ''\n }),\n productSkus: [],\n currentImageIndex: 0,\n showSpec: false,\n selectedSkuId: '',\n selectedSpec: '',\n quantity: 1,\n isFavorite: false,\n showParams: false,\n // 新增: 优惠券相关\n coupons: [],\n showCoupons: false,\n // 会员价相关\n memberPrice: 0,\n memberDiscount: 0,\n memberLevelName: ''\n };\n },\n onLoad(options = null) {\n var _a;\n const opts = options;\n const productId = ((_a = opts['productId']) !== null && _a !== void 0 ? _a : opts['id']);\n const priceStr = opts['price'];\n const productPrice = priceStr != null ? parseFloat(priceStr) : null;\n const originalPriceStr = opts['originalPrice'];\n const productOriginalPrice = originalPriceStr != null ? parseFloat(originalPriceStr) : null;\n let productName = opts['name'];\n if (productName != null) {\n try {\n const decodedName = decodeURIComponent(productName);\n productName = decodedName;\n }\n catch (e) {\n uni.__f__('warn', 'at pages/mall/consumer/product-detail.uvue:349', 'ProductName decode failed, using original:', productName);\n }\n }\n let productImage = opts['image'];\n if (productImage != null) {\n try {\n const decodedImage = decodeURIComponent(productImage);\n productImage = decodedImage;\n }\n catch (e) {\n uni.__f__('warn', 'at pages/mall/consumer/product-detail.uvue:359', 'ProductImage decode failed, using original:', productImage);\n }\n }\n if (productId != null) {\n this.loadProductDetail(productId, new UTSJSONObject({\n price: productPrice,\n originalPrice: productOriginalPrice,\n name: productName,\n image: productImage\n }));\n this.checkFavoriteStatus(productId);\n this.saveFootprint(productId);\n if (productName != null) {\n uni.setNavigationBarTitle({\n title: productName\n });\n }\n }\n },\n computed: {\n displayPrice() {\n if (this.selectedSkuId != null && this.selectedSkuId !== '') {\n const sku = UTS.arrayFind(this.productSkus, s => { return s.id === this.selectedSkuId; });\n if (sku != null)\n return sku.price;\n }\n return this.product.price;\n }\n },\n methods: {\n saveFootprint(productId) {\n // 调用后端API记录足迹\n supabaseService.addFootprint(productId).then(success => {\n if (success === true) {\n uni.__f__('log', 'at pages/mall/consumer/product-detail.uvue:394', '足迹已同步到服务器');\n }\n });\n const footprintData = uni.getStorageSync('footprints');\n let footprints = [];\n if (footprintData != null && footprintData !== '') {\n try {\n footprints = UTS.JSON.parse(footprintData);\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/product-detail.uvue:405', 'Failed to parse footprints', e);\n }\n }\n // 移除已存在的相同商品(为了将其移到最新位置)\n const productIdStr = productId;\n footprints = footprints.filter(function (item = null) {\n var _a;\n const itemObj = item;\n const itemId = (_a = itemObj.getString('id')) !== null && _a !== void 0 ? _a : '';\n return itemId != productIdStr;\n });\n // 添加到头部\n const productImage = this.product.images.length > 0 ? this.product.images[0] : '/static/default-product.png';\n footprints.unshift(new FootprintItemType({\n id: this.product.id,\n name: this.product.name,\n price: this.product.price,\n original_price: this.product.original_price,\n image: productImage,\n sales: this.product.sales,\n shopId: this.merchant.id,\n shopName: this.merchant.shop_name,\n viewTime: Date.now()\n }));\n // 限制数量,例如最近50条\n if (footprints.length > 50) {\n footprints = footprints.slice(0, 50);\n }\n uni.setStorageSync('footprints', UTS.JSON.stringify(footprints));\n },\n loadProductDetail(productId, options = new UTSJSONObject({})) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;\n return __awaiter(this, void 0, void 0, function* () {\n uni.showLoading({ title: '加载中...' });\n try {\n const dbProduct = yield supabaseService.getProductById(productId);\n if (dbProduct != null) {\n // 使用 getProductById 返回的 Product 对象\n this.product = new ProductType({\n id: dbProduct.id,\n merchant_id: (_a = dbProduct.merchant_id) !== null && _a !== void 0 ? _a : '',\n category_id: (_b = dbProduct.category_id) !== null && _b !== void 0 ? _b : '',\n name: dbProduct.name,\n description: (_c = dbProduct.description) !== null && _c !== void 0 ? _c : '',\n images: (_d = dbProduct.images) !== null && _d !== void 0 ? _d : [],\n price: (_f = (_e = dbProduct.price) !== null && _e !== void 0 ? _e : dbProduct.base_price) !== null && _f !== void 0 ? _f : 0,\n original_price: (_h = (_g = dbProduct.original_price) !== null && _g !== void 0 ? _g : dbProduct.market_price) !== null && _h !== void 0 ? _h : 0,\n stock: (_k = (_j = dbProduct.stock) !== null && _j !== void 0 ? _j : dbProduct.total_stock) !== null && _k !== void 0 ? _k : 0,\n sales: (_l = dbProduct.sale_count) !== null && _l !== void 0 ? _l : 0,\n status: (_m = dbProduct.status) !== null && _m !== void 0 ? _m : 1,\n created_at: (_o = dbProduct.created_at) !== null && _o !== void 0 ? _o : new Date().toISOString(),\n specification: (_p = dbProduct.specification) !== null && _p !== void 0 ? _p : null,\n usage: (_q = dbProduct.usage) !== null && _q !== void 0 ? _q : null,\n side_effects: (_r = dbProduct.side_effects) !== null && _r !== void 0 ? _r : null,\n precautions: (_s = dbProduct.precautions) !== null && _s !== void 0 ? _s : null,\n expiry_date: (_t = dbProduct.expiry_date) !== null && _t !== void 0 ? _t : null,\n storage_conditions: (_u = dbProduct.storage_conditions) !== null && _u !== void 0 ? _u : null,\n approval_number: (_v = dbProduct.approval_number) !== null && _v !== void 0 ? _v : null,\n tags: []\n }\n // 解析 tags\n );\n // 解析 tags\n if (dbProduct.tags != null && dbProduct.tags != '') {\n try {\n const parsedTags = UTS.JSON.parse(dbProduct.tags);\n if (Array.isArray(parsedTags)) {\n this.product.tags = parsedTags.map((t = null) => { return t; });\n }\n }\n catch (e) { }\n }\n // Handle Images - 使用 main_image_url 作为后备\n if (this.product.images.length == 0 && dbProduct.main_image_url != null && dbProduct.main_image_url != '') {\n this.product.images.push(dbProduct.main_image_url);\n }\n // Final fallback\n if (this.product.images.length == 0) {\n this.product.images.push('/static/default-product.png');\n }\n uni.__f__('log', 'at pages/mall/consumer/product-detail.uvue:487', '商品详情加载成功:', this.product.name, '库存:', this.product.stock, '销量:', this.product.sales);\n }\n else {\n throw new Error('No product found');\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/product-detail.uvue:492', 'Failed to load product detail:', e);\n // Fallback to options if available\n this.product.id = productId;\n const opts = options;\n const nameOpt = opts['name'];\n this.product.name = (nameOpt != null && nameOpt != '') ? (_w = decodeURIComponent(nameOpt)) !== null && _w !== void 0 ? _w : '未知商品' : '未知商品';\n // price 可能是 string 或 number 类型\n const priceOpt = opts['price'];\n if (typeof priceOpt == 'number') {\n this.product.price = priceOpt;\n }\n else if (typeof priceOpt == 'string') {\n this.product.price = parseFloat(priceOpt);\n }\n else {\n this.product.price = 0;\n }\n const imageOpt = opts['image'];\n const decodedImage = (imageOpt != null && imageOpt != '') ? decodeURIComponent(imageOpt) : null;\n this.product.images = decodedImage != null ? [decodedImage] : ['/static/default-product.png'];\n }\n // Load Merchant and SKUs\n if (this.product.merchant_id != null && this.product.merchant_id !== '') {\n yield this.loadMerchantInfo(this.product.merchant_id);\n // 加载优惠券\n this.loadCoupons();\n }\n if (this.product.id != null && this.product.id !== '') {\n this.loadProductSkus(this.product.id);\n }\n // 加载会员价\n this.loadMemberPrice();\n uni.hideLoading();\n });\n },\n loadMerchantInfo(merchantId) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n return __awaiter(this, void 0, void 0, function* () {\n let realMerchantLoaded = false;\n if (merchantId.includes('-') || !merchantId.startsWith('merchant_')) {\n try {\n const shopResponse = yield supabaseService.getShopByMerchantId(merchantId);\n if (shopResponse != null) {\n // 直接使用 Shop 对象的属性\n this.merchant = new MerchantType({\n id: shopResponse.id,\n user_id: shopResponse.merchant_id,\n shop_name: shopResponse.shop_name,\n shop_logo: (_a = shopResponse.shop_logo) !== null && _a !== void 0 ? _a : '/static/default-shop.png',\n shop_banner: (_b = shopResponse.shop_banner) !== null && _b !== void 0 ? _b : '/static/default-banner.png',\n shop_description: (_c = shopResponse.description) !== null && _c !== void 0 ? _c : '',\n contact_name: (_d = shopResponse.contact_name) !== null && _d !== void 0 ? _d : '店主',\n contact_phone: (_e = shopResponse.contact_phone) !== null && _e !== void 0 ? _e : '',\n shop_status: 1,\n rating: (_f = shopResponse.rating_avg) !== null && _f !== void 0 ? _f : 5.0,\n total_sales: (_g = shopResponse.total_sales) !== null && _g !== void 0 ? _g : 0,\n created_at: (_h = shopResponse.created_at) !== null && _h !== void 0 ? _h : new Date().toISOString()\n });\n realMerchantLoaded = true;\n uni.__f__('log', 'at pages/mall/consumer/product-detail.uvue:552', '店铺信息加载成功:', this.merchant.shop_name);\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/product-detail.uvue:555', 'Load shop failed', e);\n }\n }\n if (!realMerchantLoaded) {\n let charSum = 0;\n for (let i = 0; i < merchantId.length; i++) {\n const charCode = merchantId.charCodeAt(i);\n if (charCode != null) {\n charSum += charCode;\n }\n }\n const merchantIndex = Math.abs(charSum) % 5;\n const shopNames = ['优质好店', '品牌直营店', '官方旗舰店', '专卖店', '精品小店'];\n this.merchant = new MerchantType({\n id: merchantId,\n user_id: 'user_mock_' + merchantIndex,\n shop_name: shopNames[merchantIndex],\n shop_logo: '/static/shop-logo.png',\n shop_banner: '/static/shop-banner.png',\n shop_description: '优质服务,正品保障',\n contact_name: '店主',\n contact_phone: '',\n shop_status: 1,\n rating: 4.8,\n total_sales: 999,\n created_at: '2023-01-01'\n });\n }\n });\n },\n loadProductSkus(productId) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function* () {\n // 尝试从数据库加载SKU\n try {\n const skus = yield supabaseService.getProductSkus(productId);\n if (skus.length > 0) {\n uni.__f__('log', 'at pages/mall/consumer/product-detail.uvue:592', '加载到商品SKU:', skus.length);\n this.productSkus = [];\n for (let i = 0; i < skus.length; i++) {\n const skuData = skus[i];\n // 解析 specifications JSON 字符串\n let specs = new UTSJSONObject({});\n if (skuData.specifications != null && skuData.specifications != '') {\n try {\n specs = UTS.JSON.parse(skuData.specifications);\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/product-detail.uvue:602', '解析SKU规格失败', e);\n }\n }\n const sku = new ProductSkuType({\n id: skuData.id,\n product_id: skuData.product_id,\n sku_code: skuData.sku_code,\n specifications: specs,\n price: skuData.price,\n stock: (_a = skuData.stock) !== null && _a !== void 0 ? _a : 0,\n image_url: (_b = skuData.image_url) !== null && _b !== void 0 ? _b : '',\n status: (_c = skuData.status) !== null && _c !== void 0 ? _c : 1\n });\n this.productSkus.push(sku);\n }\n return Promise.resolve(null);\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/product-detail.uvue:620', 'Fetch SKUs error', e);\n }\n });\n },\n loadMemberPrice() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const memberInfo = yield supabaseService.getUserMemberInfo();\n const levelNameRaw = memberInfo.get('level_name');\n const discountRaw = memberInfo.get('discount');\n if (levelNameRaw != null) {\n this.memberLevelName = levelNameRaw;\n }\n if (discountRaw != null) {\n const discountRate = discountRaw;\n // discountRate 是折扣率,如 0.9 表示 9 折\n // 会员价 = 原价 × 折扣率\n if (discountRate > 0 && discountRate < 1) {\n // 计算折扣显示值:0.9 -> 9 折\n this.memberDiscount = Math.round(discountRate * 10) / 10 * 10;\n // 计算会员价:原价 × 折扣率\n this.memberPrice = Math.round(this.product.price * discountRate * 100) / 100;\n }\n }\n }\n catch (e) {\n uni.__f__('log', 'at pages/mall/consumer/product-detail.uvue:646', '获取会员信息失败,可能未登录或非会员:', e);\n }\n });\n },\n // 新增:加载优惠券\n loadCoupons() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.product.merchant_id == '')\n return Promise.resolve(null);\n // Safety check for cached service definition\n try {\n const couponData = yield supabaseService.fetchShopCoupons(this.product.merchant_id);\n // 解析优惠券数据\n this.coupons = [];\n if (couponData != null && couponData.length > 0) {\n for (let i = 0; i < couponData.length; i++) {\n const item = couponData[i];\n const couponObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n const getSafeString = (key) => {\n const val = couponObj.get(key);\n if (val == null)\n return '';\n if (typeof val == 'string')\n return val;\n return '';\n };\n const getSafeNumber = (key) => {\n const val = couponObj.get(key);\n if (val == null)\n return 0;\n if (typeof val == 'number')\n return val;\n return 0;\n };\n const coupon = new CouponTemplateType({\n id: getSafeString('id'),\n name: getSafeString('name'),\n description: getSafeString('description'),\n coupon_type: getSafeNumber('coupon_type'),\n discount_type: getSafeNumber('discount_type'),\n discount_value: getSafeNumber('discount_value'),\n min_order_amount: getSafeNumber('min_order_amount'),\n max_discount_amount: getSafeNumber('max_discount_amount'),\n total_quantity: getSafeNumber('total_quantity'),\n per_user_limit: getSafeNumber('per_user_limit'),\n usage_limit: getSafeNumber('usage_limit'),\n merchant_id: getSafeString('merchant_id'),\n category_ids: [],\n product_ids: [],\n user_type_limit: getSafeNumber('user_type_limit'),\n start_time: getSafeString('start_time'),\n end_time: getSafeString('end_time'),\n status: getSafeNumber('status'),\n created_at: getSafeString('created_at')\n });\n this.coupons.push(coupon);\n }\n }\n }\n catch (e) {\n uni.__f__('warn', 'at pages/mall/consumer/product-detail.uvue:702', 'SupabaseService coupon methods not available:', e);\n }\n });\n },\n // 新增:联系客服(商家)\n contactMerchant() {\n var _a, _b;\n if (supabaseService.getCurrentUserId() == '') {\n uni.navigateTo({ url: '/pages/auth/login' });\n return null;\n }\n // Navigate to chat\n const merchId = (_b = (_a = this.merchant.user_id) !== null && _a !== void 0 ? _a : this.merchant.id) !== null && _b !== void 0 ? _b : this.product.merchant_id;\n uni.navigateTo({\n url: `/pages/mall/consumer/chat?merchantId=${merchId}&merchantName=${this.merchant.shop_name}`\n });\n },\n // 新增:优惠券弹窗\n showCouponModal() {\n this.showCoupons = true;\n },\n hideCouponModal() {\n this.showCoupons = false;\n },\n // 新增:领取优惠券\n claimCoupon(coupon) {\n return __awaiter(this, void 0, void 0, function* () {\n const userId = supabaseService.getCurrentUserId();\n if (userId == '') {\n uni.navigateTo({ url: '/pages/auth/login' });\n return Promise.resolve(null);\n }\n uni.showLoading({ title: '领取中' });\n let success = false;\n const couponId = coupon.id;\n try {\n // @ts-ignore\n success = yield supabaseService.claimShopCoupon(couponId, userId);\n }\n catch (e) {\n try {\n // @ts-ignore\n success = yield supabaseService.claimCoupon(couponId, userId);\n }\n catch (e2) {\n uni.__f__('warn', 'at pages/mall/consumer/product-detail.uvue:746', 'claimCoupon method missing:', e2);\n }\n }\n });\n },\n getSelectedSkuImage() {\n if (this.selectedSkuId != '') {\n const sku = UTS.arrayFind(this.productSkus, s => { return s.id === this.selectedSkuId; });\n if (sku != null && sku.image_url != null && sku.image_url != '') {\n return sku.image_url;\n }\n }\n return this.product.images.length > 0 ? this.product.images[0] : '/static/default-product.png';\n },\n getSelectedSkuPrice() {\n if (this.selectedSkuId != '') {\n const sku = UTS.arrayFind(this.productSkus, s => { return s.id === this.selectedSkuId; });\n if (sku != null)\n return sku.price.toFixed(2);\n }\n return this.product.price.toFixed(2);\n },\n getSelectedSkuStock() {\n if (this.selectedSkuId != '') {\n const sku = UTS.arrayFind(this.productSkus, s => { return s.id === this.selectedSkuId; });\n this.showSpecModal();\n if (sku != null)\n return sku.stock;\n }\n return this.product.stock;\n if (success === true) {\n uni.showToast({ title: '领取成功', icon: 'success' });\n }\n else {\n uni.showToast({ title: '领取失败或已领取', icon: 'none' });\n }\n },\n formatDate(dateStr) {\n if (dateStr == '')\n return '';\n const date = new Date(dateStr);\n return `${date.getFullYear()}.${date.getMonth() + 1}.${date.getDate()}`;\n },\n onSwiperChange(e = null) {\n const eventObj = e;\n const detail = eventObj['detail'];\n this.currentImageIndex = detail['current'];\n },\n showSpecModal() {\n this.showSpec = true;\n },\n hideSpecModal() {\n this.showSpec = false;\n },\n selectSku(sku) {\n this.selectedSkuId = sku.id;\n this.selectedSpec = this.getSkuSpecText(sku);\n },\n getSkuSpecText(sku) {\n var _a;\n if (sku.specifications != null) {\n const specs = sku.specifications;\n let specStr = '';\n // 在 UTS 中遍历 UTSJSONObject 的推荐方式\n for (const key in specs) {\n const val = specs[key];\n if (val != null) {\n specStr += (specStr === '' ? '' : ' ') + val.toString();\n }\n }\n if (specStr !== '') {\n return specStr;\n }\n }\n return (_a = sku.sku_code) !== null && _a !== void 0 ? _a : '';\n },\n addToCart() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.productSkus.length > 0 && (this.selectedSkuId == null || this.selectedSkuId === '')) {\n if (!this.showSpec) {\n this.showSpecModal();\n }\n return Promise.resolve(null);\n }\n uni.showLoading({ title: '添加中...' });\n try {\n const success = yield supabaseService.addToCart(this.product.id, this.quantity, this.selectedSkuId, this.product.merchant_id);\n uni.hideLoading();\n if (success === true) {\n uni.showToast({ title: '已添加到购物车', icon: 'success' });\n this.hideSpecModal();\n }\n else {\n uni.__f__('error', 'at pages/mall/consumer/product-detail.uvue:850', '添加购物车返回失败');\n uni.showToast({ title: '添加失败,请登录重试', icon: 'none' });\n }\n }\n catch (e) {\n uni.hideLoading();\n uni.__f__('error', 'at pages/mall/consumer/product-detail.uvue:855', '添加购物车异常', e);\n uni.showToast({ title: '添加异常', icon: 'none' });\n }\n });\n },\n buyNow() {\n var _a;\n if (this.productSkus.length > 0 && (this.selectedSkuId == null || this.selectedSkuId === '')) {\n if (!this.showSpec) {\n this.showSpecModal();\n }\n return null;\n }\n const sku = (this.selectedSkuId != null && this.selectedSkuId !== '') ? UTS.arrayFind(this.productSkus, s => { return s.id === this.selectedSkuId; }) : null;\n const selectedItem = new UTSJSONObject({\n id: this.selectedSkuId,\n product_id: this.product.id,\n sku_id: this.selectedSkuId,\n product_name: this.product.name,\n product_image: (sku != null && sku.image_url != null) ? sku.image_url : this.product.images[0],\n sku_specifications: sku != null ? sku.specifications : new UTSJSONObject({}),\n price: parseFloat((sku != null ? sku.price : this.product.price).toString()).toFixed(2),\n quantity: this.quantity,\n shop_id: this.merchant.id,\n shop_name: this.merchant.shop_name,\n merchant_id: (_a = this.merchant.user_id) !== null && _a !== void 0 ? _a : this.product.merchant_id\n });\n uni.setStorageSync('checkout_type', 'buy_now');\n uni.setStorageSync('checkout_items', UTS.JSON.stringify([selectedItem]));\n uni.navigateTo({\n url: '/pages/mall/consumer/checkout'\n });\n },\n checkFavoriteStatus(id) {\n this.checkFavorite(id);\n },\n checkFavorite(id) {\n return __awaiter(this, void 0, void 0, function* () {\n const isFav = yield supabaseService.checkFavorite(id);\n this.isFavorite = isFav;\n });\n },\n toggleFavorite() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.product.id == '')\n return Promise.resolve(null);\n uni.showLoading({ title: '处理中' });\n try {\n const wasFavorite = this.isFavorite;\n const isNowFavorite = yield supabaseService.toggleFavorite(this.product.id);\n uni.hideLoading();\n if (isNowFavorite !== wasFavorite) {\n this.isFavorite = isNowFavorite;\n uni.showToast({\n title: isNowFavorite ? '收藏成功' : '已取消收藏',\n icon: 'success'\n });\n }\n else {\n uni.showToast({ title: '操作失败', icon: 'none' });\n this.checkFavoriteStatus(this.product.id);\n }\n }\n catch (e) {\n uni.hideLoading();\n uni.__f__('error', 'at pages/mall/consumer/product-detail.uvue:922', 'Toggle favorite failed', e);\n uni.showToast({ title: '操作异常', icon: 'none' });\n }\n });\n },\n goToHome() {\n uni.switchTab({ url: '/pages/mall/consumer/home' });\n },\n goToShop() {\n var _a, _b;\n const merchantId = (_b = (_a = this.merchant.id) !== null && _a !== void 0 ? _a : this.product.merchant_id) !== null && _b !== void 0 ? _b : '';\n if (merchantId != '') {\n uni.__f__('log', 'at pages/mall/consumer/product-detail.uvue:934', '进店点击,merchantId:', merchantId);\n uni.navigateTo({\n url: `/pages/mall/consumer/shop-detail?merchantId=${merchantId}`\n });\n }\n else {\n uni.showToast({\n title: '店铺信息加载中',\n icon: 'none'\n });\n }\n },\n goToCart() {\n uni.switchTab({ url: '/pages/main/cart' });\n },\n decreaseQuantity() {\n if (this.quantity > 1) {\n this.quantity--;\n }\n },\n increaseQuantity() {\n const maxQuantity = this.getMaxQuantity();\n if (this.quantity < maxQuantity) {\n this.quantity++;\n }\n else {\n uni.showToast({ title: `最多只能购买${maxQuantity}件`, icon: 'none' });\n }\n },\n validateQuantity() {\n let num = this.quantity;\n const maxQuantity = this.getMaxQuantity();\n if (num < 1)\n num = 1;\n else if (num > maxQuantity) {\n num = maxQuantity;\n uni.showToast({ title: `最多只能购买${maxQuantity}件`, icon: 'none' });\n }\n this.quantity = num;\n },\n getMaxQuantity() {\n if (this.selectedSkuId != null && this.selectedSkuId !== '') {\n const sku = UTS.arrayFind(this.productSkus, s => { return s.id === this.selectedSkuId; });\n if (sku != null)\n return sku.stock;\n }\n return this.product.stock;\n },\n getAvailableStock() {\n return this.getMaxQuantity();\n },\n previewImage(index) {\n uni.previewImage({\n current: index,\n urls: this.product.images\n });\n },\n showParamsModal() {\n this.showParams = true;\n },\n hideParamsModal() {\n this.showParams = false;\n },\n getParamsSummary() {\n let summary = '';\n if (this.product.specification != null && this.product.specification != '')\n summary += '规格 ';\n if (this.product.expiry_date != null && this.product.expiry_date != '')\n summary += '有效期 ';\n if (this.product.approval_number != null && this.product.approval_number != '')\n summary += '批准文号 ';\n const finalSummary = summary.trim();\n return finalSummary != '' ? finalSummary : '查看详情';\n }\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/product-detail.uvue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":["uni.__f__","uni.setNavigationBarTitle","uni.getStorageSync","uni.setStorageSync","uni.showLoading","uni.hideLoading","uni.navigateTo","uni.showToast","uni.switchTab","uni.previewImage"],"map":"{\"version\":3,\"file\":\"product-detail.uvue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"product-detail.uvue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/d356a05dbb78f9c270161df0f7c54d0261a25330 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/d356a05dbb78f9c270161df0f7c54d0261a25330 deleted file mode 100644 index b3e88dde..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/d356a05dbb78f9c270161df0f7c54d0261a25330 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, n as _n, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted, computed } from 'vue';\nimport { onLoad, onBackPress } from '@dcloudio/uni-app';\nimport { supabaseService } from \"@/utils/supabaseService\";\nimport supa from \"@/components/supadb/aksupainstance\";\nclass OrderType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n order_no: { type: String, optional: false },\n order_status: { type: Number, optional: false },\n total_amount: { type: Number, optional: false },\n product_amount: { type: Number, optional: false },\n shipping_fee: { type: Number, optional: false },\n discount_amount: { type: Number, optional: false },\n payment_method: { type: String, optional: false },\n created_at: { type: String, optional: false },\n paid_at: { type: String, optional: false },\n shipped_at: { type: String, optional: false },\n completed_at: { type: String, optional: false },\n merchant_id: { type: String, optional: false },\n shipping_address: { type: \"Any\", optional: true }\n };\n },\n name: \"OrderType\"\n };\n }\n constructor(options, metadata = OrderType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.order_no = this.__props__.order_no;\n this.order_status = this.__props__.order_status;\n this.total_amount = this.__props__.total_amount;\n this.product_amount = this.__props__.product_amount;\n this.shipping_fee = this.__props__.shipping_fee;\n this.discount_amount = this.__props__.discount_amount;\n this.payment_method = this.__props__.payment_method;\n this.created_at = this.__props__.created_at;\n this.paid_at = this.__props__.paid_at;\n this.shipped_at = this.__props__.shipped_at;\n this.completed_at = this.__props__.completed_at;\n this.merchant_id = this.__props__.merchant_id;\n this.shipping_address = this.__props__.shipping_address;\n delete this.__props__;\n }\n}\nclass OrderItemType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n product_id: { type: String, optional: false },\n product_name: { type: String, optional: false },\n image_url: { type: String, optional: false },\n price: { type: Number, optional: false },\n quantity: { type: Number, optional: false },\n specifications: { type: \"Any\", optional: false }\n };\n },\n name: \"OrderItemType\"\n };\n }\n constructor(options, metadata = OrderItemType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.product_id = this.__props__.product_id;\n this.product_name = this.__props__.product_name;\n this.image_url = this.__props__.image_url;\n this.price = this.__props__.price;\n this.quantity = this.__props__.quantity;\n this.specifications = this.__props__.specifications;\n delete this.__props__;\n }\n}\nclass AddressType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n name: { type: String, optional: false },\n phone: { type: String, optional: false },\n province: { type: String, optional: false },\n city: { type: String, optional: false },\n district: { type: String, optional: false },\n detail: { type: String, optional: false },\n address: { type: String, optional: false }\n };\n },\n name: \"AddressType\"\n };\n }\n constructor(options, metadata = AddressType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.name = this.__props__.name;\n this.phone = this.__props__.phone;\n this.province = this.__props__.province;\n this.city = this.__props__.city;\n this.district = this.__props__.district;\n this.detail = this.__props__.detail;\n this.address = this.__props__.address;\n delete this.__props__;\n }\n}\nclass DeliveryInfoType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n tracking_no: { type: String, optional: false },\n carrier_name: { type: String, optional: false }\n };\n },\n name: \"DeliveryInfoType\"\n };\n }\n constructor(options, metadata = DeliveryInfoType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.tracking_no = this.__props__.tracking_no;\n this.carrier_name = this.__props__.carrier_name;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'order-detail',\n setup(__props) {\n const orderId = ref('');\n const order = ref(null);\n const orderItems = ref([]);\n const shopName = ref('店铺名称');\n const deliveryAddress = ref(null);\n const deliveryInfo = ref(null);\n // 辅助函数 - 必须在调用前定义\n const getStatusText = () => {\n var _a, _b;\n const status = (_b = (_a = order.value) === null || _a === void 0 ? null : _a.order_status) !== null && _b !== void 0 ? _b : 0;\n if (status == 1)\n return '待付款';\n if (status == 2)\n return '待发货';\n if (status == 3)\n return '待收货';\n if (status == 4)\n return '已完成';\n if (status == 5)\n return '已取消';\n if (status == 6)\n return '退款中';\n if (status == 7)\n return '已退款';\n return '未知状态';\n };\n const getStatusDesc = () => {\n var _a, _b;\n const status = (_b = (_a = order.value) === null || _a === void 0 ? null : _a.order_status) !== null && _b !== void 0 ? _b : 0;\n if (status == 1)\n return '请尽快完成支付';\n if (status == 2)\n return '商家正在打包商品';\n if (status == 3)\n return '商品正在赶往您的地址';\n if (status == 4)\n return '订单已完成,感谢支持';\n if (status == 5)\n return '订单已取消';\n if (status == 6)\n return '售后处理中';\n if (status == 7)\n return '钱款已退回';\n return '';\n };\n const getStatusIcon = () => {\n var _a, _b;\n const status = (_b = (_a = order.value) === null || _a === void 0 ? null : _a.order_status) !== null && _b !== void 0 ? _b : 0;\n if (status === 1)\n return '💳';\n if (status === 2)\n return '📦';\n if (status === 3)\n return '🚚';\n if (status === 4)\n return '✅';\n return '📝';\n };\n const getStatusClass = () => {\n var _a, _b;\n const status = (_b = (_a = order.value) === null || _a === void 0 ? null : _a.order_status) !== null && _b !== void 0 ? _b : 0;\n return `status-${status}`;\n };\n const getFullAddress = (addr = null) => {\n var _a, _b, _c, _d, _g;\n if (addr == null)\n return '';\n if (typeof addr === 'string')\n return addr;\n try {\n const addrObj = UTS.JSON.parse(UTS.JSON.stringify(addr));\n const addressField = addrObj.getString('address');\n if (addressField != null && addressField != '')\n return addressField;\n const province = (_a = addrObj.getString('province')) !== null && _a !== void 0 ? _a : '';\n const city = (_b = addrObj.getString('city')) !== null && _b !== void 0 ? _b : '';\n const district = (_c = addrObj.getString('district')) !== null && _c !== void 0 ? _c : '';\n const detail = (_g = (_d = addrObj.getString('detail')) !== null && _d !== void 0 ? _d : addrObj.getString('address_detail')) !== null && _g !== void 0 ? _g : '';\n return province + city + district + detail;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/order-detail.uvue:278', '[getFullAddress] 解析地址失败:', e);\n return '';\n }\n };\n function formatSpecs(specs = null) {\n if (specs == null)\n return '';\n if (typeof specs === 'string') {\n if (specs == '')\n return '';\n try {\n const parsed = UTS.JSON.parse(specs);\n if (parsed != null) {\n return formatSpecs(parsed);\n }\n return specs;\n }\n catch (e) {\n return specs;\n }\n }\n try {\n const specStr = UTS.JSON.stringify(specs);\n const specObj = UTS.JSON.parse(specStr);\n // 定义常见的键名\n const keys = ['Color', 'Size', '颜色', '尺寸', '规格', '默认', 'spec', 'color', 'size'];\n const parts = [];\n // 尝试提取键值\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const val = specObj.get(key);\n if (val != null && val != '') {\n parts.push(val.toString());\n }\n }\n // 如果提取到了内容\n if (parts.length > 0) {\n return parts.join(' | ');\n }\n // 如果没有提取到已知键,则进行通用清理\n return specStr.replace(/[{}\"]/g, '').replace(/:/g, ': ').replace(/,/g, ' | ');\n }\n catch (e) {\n return '';\n }\n }\n const getSpecText = (specs = null) => {\n return formatSpecs(specs);\n };\n const formatTime = (iso) => {\n if (iso == '')\n return '';\n const d = new Date(iso);\n return `${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()} ${d.getHours()}:${d.getMinutes()}`;\n };\n const getPaymentMethodText = (method = null) => {\n return '在线支付';\n };\n const copyText = (text) => {\n if (text == '')\n return null;\n uni.setClipboardData({\n data: text,\n success: () => { return uni.showToast({ title: '已复制' }); }\n });\n };\n const loadShopInfo = (merchantId) => { return __awaiter(this, void 0, void 0, function* () {\n var _a;\n try {\n const result = yield supa\n .from('ml_shops')\n .select('shop_name')\n .eq('merchant_id', merchantId)\n .limit(1)\n .execute();\n if (result.error != null) {\n uni.__f__('error', 'at pages/mall/consumer/order-detail.uvue:359', '[loadShopInfo] 获取店铺信息失败:', result.error);\n return Promise.resolve(null);\n }\n const rawData = result.data;\n if (rawData == null)\n return Promise.resolve(null);\n const rawList = rawData;\n if (rawList.length == 0)\n return Promise.resolve(null);\n const shopData = rawList[0];\n const shopObj = UTS.JSON.parse(UTS.JSON.stringify(shopData));\n shopName.value = ((_a = shopObj.getString('shop_name')) !== null && _a !== void 0 ? _a : '店铺');\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/order-detail.uvue:373', '[loadShopInfo] 获取店铺信息异常:', e);\n }\n }); };\n const loadOrderDetail = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l, _m, _p, _q, _r, _s, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11;\n uni.showLoading({ title: '加载中' });\n try {\n const data = yield supabaseService.getOrderDetail(orderId.value);\n uni.__f__('log', 'at pages/mall/consumer/order-detail.uvue:381', '[loadOrderDetail] 获取到的数据:', UTS.JSON.stringify(data));\n if (data != null) {\n const dataObj = data;\n order.value = new OrderType({\n order_no: ((_a = dataObj.get('order_no')) !== null && _a !== void 0 ? _a : ''),\n order_status: ((_b = dataObj.get('order_status')) !== null && _b !== void 0 ? _b : 1),\n total_amount: ((_c = dataObj.get('total_amount')) !== null && _c !== void 0 ? _c : 0),\n product_amount: ((_d = dataObj.get('product_amount')) !== null && _d !== void 0 ? _d : 0),\n shipping_fee: ((_g = dataObj.get('shipping_fee')) !== null && _g !== void 0 ? _g : 0),\n discount_amount: ((_h = dataObj.get('discount_amount')) !== null && _h !== void 0 ? _h : 0),\n payment_method: ((_j = dataObj.get('payment_method')) !== null && _j !== void 0 ? _j : ''),\n created_at: ((_k = dataObj.get('created_at')) !== null && _k !== void 0 ? _k : ''),\n paid_at: ((_l = dataObj.get('paid_at')) !== null && _l !== void 0 ? _l : ''),\n shipped_at: ((_m = dataObj.get('shipped_at')) !== null && _m !== void 0 ? _m : ''),\n completed_at: ((_p = dataObj.get('completed_at')) !== null && _p !== void 0 ? _p : ''),\n merchant_id: ((_q = dataObj.get('merchant_id')) !== null && _q !== void 0 ? _q : ''),\n shipping_address: ((_r = dataObj.get('shipping_address')) !== null && _r !== void 0 ? _r : null)\n });\n const itemsRaw = dataObj.get('ml_order_items');\n uni.__f__('log', 'at pages/mall/consumer/order-detail.uvue:403', '[loadOrderDetail] 订单商品数据:', itemsRaw);\n if (itemsRaw != null && Array.isArray(itemsRaw)) {\n const items = itemsRaw;\n orderItems.value = [];\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n const itemObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n const orderItem = new OrderItemType({\n id: ((_s = itemObj.get('id')) !== null && _s !== void 0 ? _s : ''),\n product_id: ((_u = itemObj.get('product_id')) !== null && _u !== void 0 ? _u : ''),\n product_name: ((_v = itemObj.get('product_name')) !== null && _v !== void 0 ? _v : '未知商品'),\n price: ((_w = itemObj.get('price')) !== null && _w !== void 0 ? _w : 0),\n quantity: ((_x = itemObj.get('quantity')) !== null && _x !== void 0 ? _x : 1),\n image_url: ((_y = itemObj.get('image_url')) !== null && _y !== void 0 ? _y : ''),\n specifications: ((_z = itemObj.get('specifications')) !== null && _z !== void 0 ? _z : '')\n });\n orderItems.value.push(orderItem);\n }\n }\n const addressRaw = dataObj.get('shipping_address');\n uni.__f__('log', 'at pages/mall/consumer/order-detail.uvue:426', '[loadOrderDetail] 收货地址数据:', addressRaw);\n if (addressRaw != null) {\n let addressObj;\n if (UTS.isInstanceOf(addressRaw, UTSJSONObject)) {\n addressObj = addressRaw;\n }\n else if (typeof addressRaw === 'string') {\n addressObj = UTS.JSON.parse(addressRaw);\n }\n else {\n addressObj = UTS.JSON.parse(UTS.JSON.stringify(addressRaw));\n }\n const province = ((_0 = addressObj.get('province')) !== null && _0 !== void 0 ? _0 : '');\n const city = ((_1 = addressObj.get('city')) !== null && _1 !== void 0 ? _1 : '');\n const district = ((_2 = addressObj.get('district')) !== null && _2 !== void 0 ? _2 : '');\n const detail = ((_3 = addressObj.get('detail')) !== null && _3 !== void 0 ? _3 : ((_4 = addressObj.get('address_detail')) !== null && _4 !== void 0 ? _4 : ''));\n deliveryAddress.value = new AddressType({\n name: ((_5 = addressObj.get('name')) !== null && _5 !== void 0 ? _5 : ((_6 = addressObj.get('recipient_name')) !== null && _6 !== void 0 ? _6 : ((_7 = addressObj.get('receiver_name')) !== null && _7 !== void 0 ? _7 : ''))),\n phone: ((_8 = addressObj.get('phone')) !== null && _8 !== void 0 ? _8 : ((_9 = addressObj.get('recipient_phone')) !== null && _9 !== void 0 ? _9 : ((_10 = addressObj.get('receiver_phone')) !== null && _10 !== void 0 ? _10 : ''))),\n province: province,\n city: city,\n district: district,\n detail: detail,\n address: province + city + district + detail\n });\n }\n const merchantId = ((_11 = dataObj.get('merchant_id')) !== null && _11 !== void 0 ? _11 : '');\n if (merchantId != '') {\n loadShopInfo(merchantId);\n }\n // 加载物流信息\n const trackingNoVal = dataObj.getString('tracking_no');\n const carrierNameVal = dataObj.getString('carrier_name');\n if (trackingNoVal != null && trackingNoVal != '') {\n deliveryInfo.value = new DeliveryInfoType({\n tracking_no: trackingNoVal,\n carrier_name: carrierNameVal !== null && carrierNameVal !== void 0 ? carrierNameVal : ''\n });\n }\n uni.__f__('log', 'at pages/mall/consumer/order-detail.uvue:469', '[loadOrderDetail] 订单详情加载成功,商品数量:', orderItems.value.length);\n }\n else {\n uni.showToast({ title: '订单不存在', icon: 'none' });\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/order-detail.uvue:474', '[loadOrderDetail] 加载订单详情失败:', e);\n uni.showToast({ title: '加载失败', icon: 'none' });\n }\n finally {\n uni.hideLoading();\n }\n }); };\n // 动作函数\n const contactService = () => {\n var _a, _b;\n if (order.value != null && ((_a = order.value) === null || _a === void 0 ? null : _a.merchant_id) != '') {\n // 跳转到商家的聊天窗口\n uni.navigateTo({\n url: `/pages/mall/consumer/chat?merchantId=${(_b = order.value) === null || _b === void 0 ? null : _b.merchant_id}&merchantName=${encodeURIComponent(shopName.value)}`\n });\n }\n else {\n uni.showActionSheet({\n itemList: ['在线客服', '拨打电话'],\n success: (res) => {\n if (res.tapIndex === 1) {\n // 模拟拨打电话\n uni.makePhoneCall({ phoneNumber: '400-123-4567' });\n }\n else {\n uni.showToast({ title: '连接到了系统客服' });\n }\n }\n });\n }\n };\n const payOrder = () => {\n var _a, _b;\n const totalAmount = (_b = (_a = order.value) === null || _a === void 0 ? null : _a.total_amount) !== null && _b !== void 0 ? _b : 0;\n uni.navigateTo({\n url: `/pages/mall/consumer/payment?orderId=${orderId.value}&amount=${totalAmount}`\n });\n };\n const doCancelOrder = () => { return __awaiter(this, void 0, void 0, function* () {\n try {\n const updatePayload = new UTSJSONObject();\n updatePayload.set('order_status', 5);\n updatePayload.set('updated_at', new Date().toISOString());\n const result = yield supa\n .from('ml_orders')\n .update(updatePayload)\n .eq('id', orderId.value)\n .execute();\n if (result.error == null) {\n if (order.value != null) {\n order.value.order_status = 5;\n }\n uni.showToast({ title: '订单已取消' });\n }\n else {\n uni.__f__('error', 'at pages/mall/consumer/order-detail.uvue:528', '[doCancelOrder] 取消订单失败:', result.error);\n uni.showToast({ title: '取消失败', icon: 'none' });\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/order-detail.uvue:532', '[doCancelOrder] 取消订单异常:', e);\n uni.showToast({ title: '取消失败', icon: 'none' });\n }\n }); };\n const cancelOrder = () => {\n uni.showModal(new UTSJSONObject({\n title: '提示',\n content: '确定要取消订单吗?',\n success: (res) => {\n if (res.confirm) {\n doCancelOrder();\n }\n }\n }));\n };\n const remindDelivery = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n const merchantId = (_a = order.value) === null || _a === void 0 ? null : _a.merchant_id;\n if (merchantId == null || merchantId == '') {\n uni.showToast({ title: '商家信息不存在', icon: 'none' });\n return Promise.resolve(null);\n }\n const orderNo = (_c = (_b = order.value) === null || _b === void 0 ? null : _b.order_no) !== null && _c !== void 0 ? _c : '';\n const message = `您好,订单 ${orderNo} 已付款,请尽快安排发货,谢谢!`;\n uni.showLoading({ title: '发送中...' });\n const success = yield supabaseService.sendChatMessage(message, merchantId, 'text');\n uni.hideLoading();\n if (success) {\n uni.showToast({ title: '已提醒商家尽快发货' });\n }\n else {\n uni.showToast({ title: '发送失败,请稍后重试', icon: 'none' });\n }\n }); };\n const viewLogistics = () => {\n uni.navigateTo({ url: `/pages/mall/consumer/logistics?orderId=${orderId.value}` });\n };\n const goToReview = () => {\n uni.navigateTo({ url: `/pages/mall/consumer/review?orderId=${orderId.value}` });\n };\n const doConfirmReceive = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a;\n try {\n const result = yield supabaseService.confirmReceipt(orderId.value);\n if (result.success) {\n if (order.value != null) {\n order.value.order_status = 4;\n }\n uni.showToast({ title: '收货成功' });\n setTimeout(() => { return goToReview(); }, 1500);\n }\n else {\n uni.showToast({ title: (_a = result.error) !== null && _a !== void 0 ? _a : '失败', icon: 'none' });\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/order-detail.uvue:591', '[doConfirmReceive] 确认收货异常:', e);\n uni.showToast({ title: '操作失败', icon: 'none' });\n }\n }); };\n const confirmReceive = () => {\n uni.showModal(new UTSJSONObject({\n title: '确认收货',\n content: '确保您已收到货物',\n success: (res) => {\n if (res.confirm) {\n doConfirmReceive();\n }\n }\n }));\n };\n const rePurchase = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n uni.showLoading({ title: '处理中' });\n try {\n const items = orderItems.value;\n if (items.length == 0) {\n uni.hideLoading();\n uni.showToast({ title: '没有可购买的商品', icon: 'none' });\n return Promise.resolve(null);\n }\n let successCount = 0;\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n const result = yield supabaseService.addToCart(item.product_id, item.quantity, '', (_b = (_a = order.value) === null || _a === void 0 ? null : _a.merchant_id) !== null && _b !== void 0 ? _b : '');\n if (result)\n successCount++;\n }\n uni.hideLoading();\n if (successCount > 0) {\n uni.showToast({ title: '已加入购物车' });\n setTimeout(() => {\n uni.switchTab({ url: '/pages/main/cart' });\n }, 1000);\n }\n else {\n uni.showToast({ title: '操作失败', icon: 'none' });\n }\n }\n catch (e) {\n uni.hideLoading();\n uni.__f__('error', 'at pages/mall/consumer/order-detail.uvue:642', '[rePurchase] 再次购买异常:', e);\n uni.showToast({ title: '操作失败', icon: 'none' });\n }\n }); };\n const doApplyRefund = (reason) => { return __awaiter(this, void 0, void 0, function* () {\n try {\n const success = yield supabaseService.applyRefund(orderId.value, reason);\n if (success) {\n if (order.value != null) {\n order.value.order_status = 6;\n }\n uni.showToast({ title: '申请已提交' });\n }\n else {\n uni.showToast({ title: '提交失败', icon: 'none' });\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/order-detail.uvue:659', '[doApplyRefund] 申请退款异常:', e);\n uni.showToast({ title: '提交失败', icon: 'none' });\n }\n }); };\n const applyRefund = () => {\n uni.showModal(new UTSJSONObject({\n title: '申请退款',\n editable: true,\n placeholderText: '请输入退款原因',\n success: (res) => {\n var _a;\n if (res.confirm) {\n const reason = (_a = res.content) !== null && _a !== void 0 ? _a : '用户主动申请';\n doApplyRefund(reason);\n }\n }\n }));\n };\n const applyAfterSales = () => {\n // 售后逻辑类似退款,或者是跳转到专门的售后单页面\n applyRefund();\n };\n const goToShop = () => {\n var _a, _b;\n // 跳转到店铺详情\n const merchantId = (_b = (_a = order.value) === null || _a === void 0 ? null : _a.merchant_id) !== null && _b !== void 0 ? _b : '';\n if (merchantId != '') {\n uni.navigateTo({\n url: `/pages/mall/consumer/shop-detail?id=${merchantId}`\n });\n }\n else {\n uni.showToast({ title: '商家信息不存在', icon: 'none' });\n }\n };\n const goToProduct = (pid) => {\n uni.navigateTo({ url: `/pages/mall/consumer/product-detail?id=${pid}` });\n };\n const shareForFree = () => { return __awaiter(this, void 0, void 0, function* () {\n if (orderItems.value.length === 0) {\n uni.showToast({ title: '没有可分享的商品', icon: 'none' });\n return Promise.resolve(null);\n }\n const firstItem = orderItems.value[0];\n try {\n uni.showLoading({ title: '创建分享...' });\n const result = yield supabaseService.createShareRecord(firstItem.product_id, orderId.value, firstItem.id, firstItem.product_name, firstItem.image_url, firstItem.price);\n uni.hideLoading();\n const shareIdRaw = result.get('id');\n const shareCodeRaw = result.get('share_code');\n if (shareIdRaw != null && shareCodeRaw != null) {\n const shareId = shareIdRaw;\n const shareCode = shareCodeRaw;\n uni.showModal(new UTSJSONObject({\n title: '分享成功',\n content: `您的分享码: ${shareCode}\\n分享给好友,当有4人购买后即可免单!`,\n confirmText: '查看详情',\n success: (res) => {\n if (res.confirm) {\n uni.navigateTo({ url: `/pages/mall/consumer/share/detail?id=${shareId}` });\n }\n }\n }));\n }\n else {\n uni.showToast({ title: '分享创建失败', icon: 'none' });\n }\n }\n catch (e) {\n uni.hideLoading();\n uni.__f__('error', 'at pages/mall/consumer/order-detail.uvue:741', '[shareForFree] 创建分享失败:', e);\n uni.showToast({ title: '分享失败', icon: 'none' });\n }\n }); };\n // 使用 onBackPress 拦截物理返回键和系统导航栏返回\n onBackPress((_ = null) => {\n const pages = getCurrentPages();\n uni.__f__('log', 'at pages/mall/consumer/order-detail.uvue:749', '[order-detail onBackPress] pages count:', pages.length);\n if (pages.length > 1) {\n // 正常返回上一页\n return false;\n }\n // 如果只有当前页面,跳转到 orders\n uni.redirectTo({ url: '/pages/mall/consumer/orders' });\n return true;\n });\n // 生命周期 - 在所有函数定义之后\n onLoad((options = null) => {\n const id = options['id'];\n const orderIdParam = options['orderId'];\n if (id != null && id != '') {\n orderId.value = id;\n loadOrderDetail();\n }\n else if (orderIdParam != null && orderIdParam != '') {\n orderId.value = orderIdParam;\n loadOrderDetail();\n }\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _t(getStatusIcon()),\n b: _t(getStatusText()),\n c: _t(getStatusDesc()),\n d: order.value?.order_status === 4\n }, order.value?.order_status === 4 ? {\n e: _o(shareForFree)\n } : {}, {\n f: _n(getStatusClass()),\n g: order.value != null && (order.value?.order_status ?? 0) >= 2\n }, order.value != null && (order.value?.order_status ?? 0) >= 2 ? _e({\n h: _t(deliveryAddress.value?.name ?? ''),\n i: _t(deliveryAddress.value?.phone ?? ''),\n j: _t(getFullAddress(deliveryAddress.value)),\n k: deliveryInfo.value != null && deliveryInfo.value?.tracking_no != ''\n }, deliveryInfo.value != null && deliveryInfo.value?.tracking_no != '' ? {\n l: _t(deliveryInfo.value?.carrier_name ?? '快递运单'),\n m: _t(deliveryInfo.value?.tracking_no ?? ''),\n n: _o($event => { return copyText(deliveryInfo.value?.tracking_no ?? ''); })\n } : {}) : {}, {\n o: _t(shopName.value),\n p: _o(goToShop),\n q: _f(orderItems.value, (item, k0, i0) => {\n return _e({\n a: item.image_url != null && item.image_url != '' ? item.image_url : '/static/default-product.png',\n b: _t(item.product_name),\n c: item.specifications\n }, item.specifications ? {\n d: _t(getSpecText(item.specifications))\n } : {}, {\n e: _t(item.price),\n f: _t(item.quantity),\n g: item.id,\n h: _o($event => { return goToProduct(item.product_id); }, item.id)\n });\n }),\n r: order.value != null\n }, order.value != null ? _e({\n s: _t(order.value?.order_no ?? ''),\n t: _o($event => { return copyText(order.value?.order_no ?? ''); }),\n v: _t(formatTime(order.value?.created_at ?? '')),\n w: order.value?.payment_method != null && order.value?.payment_method != ''\n }, order.value?.payment_method != null && order.value?.payment_method != '' ? {\n x: _t(getPaymentMethodText(order.value?.payment_method))\n } : {}, {\n y: order.value?.paid_at != null && order.value?.paid_at != ''\n }, order.value?.paid_at != null && order.value?.paid_at != '' ? {\n z: _t(formatTime(order.value?.paid_at ?? ''))\n } : {}, {\n A: order.value?.shipped_at != null && order.value?.shipped_at != ''\n }, order.value?.shipped_at != null && order.value?.shipped_at != '' ? {\n B: _t(formatTime(order.value?.shipped_at ?? ''))\n } : {}, {\n C: order.value?.completed_at != null && order.value?.completed_at != ''\n }, order.value?.completed_at != null && order.value?.completed_at != '' ? {\n D: _t(formatTime(order.value?.completed_at ?? ''))\n } : {}) : {}, {\n E: order.value != null\n }, order.value != null ? _e({\n F: _t(order.value?.product_amount ?? 0),\n G: _t(order.value?.shipping_fee != null ? order.value?.shipping_fee : 0),\n H: (order.value?.discount_amount ?? 0) > 0\n }, (order.value?.discount_amount ?? 0) > 0 ? {\n I: _t(order.value?.discount_amount ?? 0)\n } : {}, {\n J: _t(order.value?.total_amount ?? 0)\n }) : {}, {\n K: order.value != null\n }, order.value != null ? _e({\n L: _o(contactService),\n M: order.value?.order_status === 1\n }, order.value?.order_status === 1 ? {\n N: _o(cancelOrder),\n O: _o(payOrder)\n } : {}, {\n P: order.value?.order_status === 2\n }, order.value?.order_status === 2 ? {\n Q: _o(applyRefund),\n R: _o(remindDelivery)\n } : {}, {\n S: order.value?.order_status === 3\n }, order.value?.order_status === 3 ? {\n T: _o(viewLogistics),\n U: _o(confirmReceive)\n } : {}, {\n V: order.value?.order_status === 4\n }, order.value?.order_status === 4 ? {\n W: _o(applyAfterSales),\n X: _o(shareForFree),\n Y: _o(rePurchase),\n Z: _o(goToReview)\n } : {}, {\n aa: order.value?.order_status === 5\n }, order.value?.order_status === 5 ? {\n ab: _o(rePurchase)\n } : {}) : {}, {\n ac: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/order-detail.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.__f__","uni.showToast","uni.setClipboardData","uni.showLoading","uni.hideLoading","uni.navigateTo","uni.makePhoneCall","uni.showActionSheet","uni.showModal","uni.switchTab","uni.redirectTo"],"map":"{\"version\":3,\"file\":\"order-detail.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"order-detail.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/d3bc6a3b539560d0a3572b9ba5ef253caee8f310 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/d3bc6a3b539560d0a3572b9ba5ef253caee8f310 deleted file mode 100644 index e45c6fa0..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/d3bc6a3b539560d0a3572b9ba5ef253caee8f310 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, n as _n, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted, computed } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass FootprintType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n price: { type: Number, optional: false },\n original_price: { type: Number, optional: false },\n image: { type: String, optional: false },\n sales: { type: Number, optional: false },\n shopId: { type: String, optional: false },\n shopName: { type: String, optional: false },\n viewTime: { type: Number, optional: false },\n selected: { type: Boolean, optional: false },\n merchant_id: { type: String, optional: false }\n };\n },\n name: \"FootprintType\"\n };\n }\n constructor(options, metadata = FootprintType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.price = this.__props__.price;\n this.original_price = this.__props__.original_price;\n this.image = this.__props__.image;\n this.sales = this.__props__.sales;\n this.shopId = this.__props__.shopId;\n this.shopName = this.__props__.shopName;\n this.viewTime = this.__props__.viewTime;\n this.selected = this.__props__.selected;\n this.merchant_id = this.__props__.merchant_id;\n delete this.__props__;\n }\n}\nclass FootprintGroup extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n dateLabel: { type: String, optional: false },\n dateKey: { type: String, optional: false },\n items: { type: UTS.UTSType.withGenerics(Array, [FootprintType]), optional: false }\n };\n },\n name: \"FootprintGroup\"\n };\n }\n constructor(options, metadata = FootprintGroup.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.dateLabel = this.__props__.dateLabel;\n this.dateKey = this.__props__.dateKey;\n this.items = this.__props__.items;\n delete this.__props__;\n }\n}\nclass FootprintSaveType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n price: { type: Number, optional: false },\n original_price: { type: Number, optional: false },\n image: { type: String, optional: false },\n sales: { type: Number, optional: false },\n shopId: { type: String, optional: false },\n shopName: { type: String, optional: false },\n viewTime: { type: Number, optional: false }\n };\n },\n name: \"FootprintSaveType\"\n };\n }\n constructor(options, metadata = FootprintSaveType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.price = this.__props__.price;\n this.original_price = this.__props__.original_price;\n this.image = this.__props__.image;\n this.sales = this.__props__.sales;\n this.shopId = this.__props__.shopId;\n this.shopName = this.__props__.shopName;\n this.viewTime = this.__props__.viewTime;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'footprint',\n setup(__props) {\n const footprints = ref([]);\n const isEditMode = ref(false);\n const isLoading = ref(false);\n const hasMore = ref(false);\n const selectedCount = computed(() => {\n return footprints.value.filter((item) => { return item.selected === true; }).length;\n });\n const isAllSelected = computed(() => {\n return footprints.value.length > 0 && footprints.value.every((item) => { return item.selected === true; });\n });\n const formatGroupDate = (dateStr) => {\n const date = new Date(dateStr);\n const today = new Date();\n const yesterday = new Date(today);\n yesterday.setDate(yesterday.getDate() - 1);\n if (date.toDateString() === today.toDateString()) {\n return '今天';\n }\n else if (date.toDateString() === yesterday.toDateString()) {\n return '昨天';\n }\n else {\n const month = date.getMonth() + 1;\n const day = date.getDate();\n return `${month}月${day}日`;\n }\n };\n const groupedFootprints = computed(() => {\n const result = [];\n for (let i = 0; i < footprints.value.length; i++) {\n const item = footprints.value[i];\n const dateKey = new Date(item.viewTime).toDateString();\n let foundGroup = null;\n for (let j = 0; j < result.length; j++) {\n if (result[j].dateKey === dateKey) {\n foundGroup = result[j];\n break;\n }\n }\n if (foundGroup != null) {\n foundGroup.items.push(item);\n }\n else {\n const newGroup = new FootprintGroup({\n dateLabel: formatGroupDate(dateKey),\n dateKey: dateKey,\n items: [item]\n });\n result.push(newGroup);\n }\n }\n return result;\n });\n const toggleEditMode = () => {\n isEditMode.value = !isEditMode.value;\n for (let i = 0; i < footprints.value.length; i++) {\n footprints.value[i].selected = false;\n }\n };\n const clearAll = () => {\n if (footprints.value.length === 0)\n return null;\n uni.showModal(new UTSJSONObject({\n title: '清空足迹',\n content: '确定要清空所有浏览记录吗?',\n success: (res) => {\n if (res.confirm) {\n uni.showLoading({ title: '清空中...' });\n supabaseService.clearFootprints().then((success) => {\n uni.hideLoading();\n if (success) {\n footprints.value = [];\n uni.removeStorageSync('footprints');\n uni.showToast({\n title: '已清空',\n icon: 'success'\n });\n }\n else {\n uni.showToast({\n title: '清空失败',\n icon: 'none'\n });\n }\n });\n }\n }\n }));\n };\n const toggleSelect = (item) => {\n item.selected = !(item.selected === true);\n footprints.value = [...footprints.value];\n };\n const toggleGroupSelect = (groupIndex) => {\n const group = groupedFootprints.value[groupIndex];\n if (group == null)\n return null;\n const allSelected = group.items.every((item) => { return item.selected === true; });\n const newSelectedState = !allSelected;\n for (let i = 0; i < group.items.length; i++) {\n group.items[i].selected = newSelectedState;\n }\n footprints.value = [...footprints.value];\n };\n const isGroupSelected = (groupIndex) => {\n const group = groupedFootprints.value[groupIndex];\n if (group == null || group.items.length === 0)\n return false;\n return group.items.every((item) => { return item.selected === true; });\n };\n const toggleSelectAll = () => {\n const newSelectedState = !isAllSelected.value;\n for (let i = 0; i < footprints.value.length; i++) {\n footprints.value[i].selected = newSelectedState;\n }\n footprints.value = [...footprints.value];\n };\n const deleteSelected = () => {\n const selectedItems = footprints.value.filter((item) => { return item.selected === true; });\n if (selectedItems.length === 0) {\n uni.showToast({\n title: '请选择要删除的记录',\n icon: 'none'\n });\n return null;\n }\n uni.showModal(new UTSJSONObject({\n title: '确认删除',\n content: `确定要删除选中的${selectedItems.length}条记录吗?`,\n success: (res) => {\n if (res.confirm) {\n uni.showLoading({ title: '删除中...' });\n // 收集要删除的商品ID\n const productIds = [];\n for (let i = 0; i < selectedItems.length; i++) {\n productIds.push(selectedItems[i].id);\n }\n // 调用服务层批量删除\n supabaseService.deleteFootprints(productIds).then((success) => {\n uni.hideLoading();\n if (success) {\n // 从本地列表中移除\n footprints.value = footprints.value.filter((item) => { return item.selected !== true; });\n // 更新本地缓存\n const dataToSave = [];\n for (let i = 0; i < footprints.value.length; i++) {\n const item = footprints.value[i];\n dataToSave.push(new FootprintSaveType({\n id: item.id,\n name: item.name,\n price: item.price,\n original_price: item.original_price,\n image: item.image,\n sales: item.sales,\n shopId: item.shopId,\n shopName: item.shopName,\n viewTime: item.viewTime\n }));\n }\n uni.setStorageSync('footprints', UTS.JSON.stringify(dataToSave));\n uni.showToast({\n title: '删除成功',\n icon: 'success'\n });\n if (footprints.value.length === 0) {\n isEditMode.value = false;\n }\n }\n else {\n uni.showToast({\n title: '删除失败',\n icon: 'none'\n });\n }\n });\n }\n }\n }));\n };\n const addToCart = (item) => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n uni.showLoading({ title: '检查商品...' });\n try {\n const productId = item.id;\n const merchantId = (_b = (_a = item.merchant_id) !== null && _a !== void 0 ? _a : item.shopId) !== null && _b !== void 0 ? _b : '';\n // 检查商品是否有SKU\n const skus = yield supabaseService.getProductSkus(productId);\n uni.hideLoading();\n if (skus.length > 0) {\n // 有规格,提示并跳转到商品详情页选择规格\n uni.showToast({\n title: '请选择规格',\n icon: 'none'\n });\n setTimeout(() => {\n uni.navigateTo({\n url: '/pages/mall/consumer/product-detail?id=' + productId\n });\n }, 500);\n }\n else {\n // 无规格,直接加入购物车\n uni.showLoading({ title: '添加中...' });\n const success = yield supabaseService.addToCart(productId, 1, '', merchantId);\n uni.hideLoading();\n if (success) {\n uni.showToast({\n title: '已添加到购物车',\n icon: 'success'\n });\n }\n else {\n uni.showToast({\n title: '添加失败',\n icon: 'none'\n });\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/footprint.uvue:347', '添加到购物车异常', e);\n uni.hideLoading();\n uni.showToast({\n title: '操作失败',\n icon: 'none'\n });\n }\n }); };\n const viewProduct = (item) => {\n if (isEditMode.value)\n return null;\n uni.navigateTo({\n url: `/pages/mall/consumer/product-detail?productId=${item.id}&price=${item.price}&originalPrice=${item.original_price}`\n });\n };\n const loadMore = () => {\n };\n const goShopping = () => {\n uni.switchTab({\n url: '/pages/main/index'\n });\n };\n const parseFootprintItem = (item = null) => {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l, _m;\n let itemObj;\n if (UTS.isInstanceOf(item, UTSJSONObject)) {\n itemObj = item;\n }\n else {\n itemObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n }\n return new FootprintType({\n id: (_a = itemObj.getString('id')) !== null && _a !== void 0 ? _a : '',\n name: (_b = itemObj.getString('name')) !== null && _b !== void 0 ? _b : '',\n price: (_c = itemObj.getNumber('price')) !== null && _c !== void 0 ? _c : 0,\n original_price: (_d = itemObj.getNumber('original_price')) !== null && _d !== void 0 ? _d : 0,\n image: (_g = itemObj.getString('image')) !== null && _g !== void 0 ? _g : '',\n sales: (_h = itemObj.getNumber('sales')) !== null && _h !== void 0 ? _h : 0,\n shopId: (_j = itemObj.getString('shopId')) !== null && _j !== void 0 ? _j : '',\n shopName: (_k = itemObj.getString('shopName')) !== null && _k !== void 0 ? _k : '',\n viewTime: (_l = itemObj.getNumber('viewTime')) !== null && _l !== void 0 ? _l : 0,\n selected: false,\n merchant_id: (_m = itemObj.getString('merchant_id')) !== null && _m !== void 0 ? _m : ''\n });\n };\n const loadFootprints = () => { return __awaiter(this, void 0, void 0, function* () {\n isLoading.value = true;\n try {\n const remoteData = yield supabaseService.getFootprints();\n if (remoteData.length > 0) {\n uni.__f__('log', 'at pages/mall/consumer/footprint.uvue:403', '获取到远程足迹数据:', remoteData.length);\n const newFootprints = [];\n for (let i = 0; i < remoteData.length; i++) {\n newFootprints.push(parseFootprintItem(remoteData[i]));\n }\n footprints.value = newFootprints;\n const dataToSave = [];\n for (let i = 0; i < footprints.value.length; i++) {\n const item = footprints.value[i];\n dataToSave.push(new FootprintSaveType({\n id: item.id,\n name: item.name,\n price: item.price,\n original_price: item.original_price,\n image: item.image,\n sales: item.sales,\n shopId: item.shopId,\n shopName: item.shopName,\n viewTime: item.viewTime\n }));\n }\n uni.setStorageSync('footprints', UTS.JSON.stringify(dataToSave));\n }\n else {\n const storedFootprints = uni.getStorageSync('footprints');\n if (storedFootprints != null) {\n try {\n const data = UTS.JSON.parse(storedFootprints);\n const newFootprints = [];\n for (let i = 0; i < data.length; i++) {\n newFootprints.push(parseFootprintItem(data[i]));\n }\n footprints.value = newFootprints;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/footprint.uvue:437', 'Failed to parse footprints', e);\n footprints.value = [];\n }\n }\n else {\n footprints.value = [];\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/footprint.uvue:445', '加载足迹失败', e);\n const storedFootprints = uni.getStorageSync('footprints');\n if (storedFootprints != null) {\n try {\n const data = UTS.JSON.parse(storedFootprints);\n const newFootprints = [];\n for (let i = 0; i < data.length; i++) {\n newFootprints.push(parseFootprintItem(data[i]));\n }\n footprints.value = newFootprints;\n }\n catch (err) {\n footprints.value = [];\n }\n }\n }\n isLoading.value = false;\n hasMore.value = false;\n }); };\n onMounted(() => {\n loadFootprints();\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: footprints.value.length > 0\n }, footprints.value.length > 0 ? {\n b: _t(isEditMode.value ? '完成' : '编辑'),\n c: _o(toggleEditMode),\n d: _o(clearAll)\n } : {}, {\n e: footprints.value.length === 0 && !isLoading.value\n }, footprints.value.length === 0 && !isLoading.value ? {\n f: _o(goShopping)\n } : {}, {\n g: _f(groupedFootprints.value, (group, index, i0) => {\n return _e({\n a: _t(group.dateLabel)\n }, isEditMode.value ? {\n b: _t(isGroupSelected(index) ? '取消全选' : '全选'),\n c: _o($event => { return toggleGroupSelect(index); }, index)\n } : {}, {\n d: _f(group.items, (item, k1, i1) => {\n return _e(isEditMode.value ? _e({\n a: item.selected === true\n }, item.selected === true ? {} : {}, {\n b: _n({\n selected: item.selected === true\n }),\n c: _o($event => { return toggleSelect(item); }, item.id)\n }) : {}, {\n d: item.image,\n e: _t(item.name),\n f: _t(item.price),\n g: _o($event => { return addToCart(item); }, item.id),\n h: _o($event => { return viewProduct(item); }, item.id),\n i: item.id\n });\n }),\n e: index\n });\n }),\n h: isEditMode.value,\n i: isEditMode.value,\n j: isLoading.value\n }, isLoading.value ? {} : {}, {\n k: !hasMore.value && footprints.value.length > 0\n }, !hasMore.value && footprints.value.length > 0 ? {} : {}, {\n l: _o(loadMore),\n m: isEditMode.value && footprints.value.length > 0\n }, isEditMode.value && footprints.value.length > 0 ? _e({\n n: isAllSelected.value\n }, isAllSelected.value ? {} : {}, {\n o: _n({\n selected: isAllSelected.value\n }),\n p: _o(toggleSelectAll),\n q: _t(selectedCount.value),\n r: _o(deleteSelected)\n }) : {}, {\n s: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/footprint.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.showLoading","uni.hideLoading","uni.removeStorageSync","uni.showToast","uni.showModal","uni.setStorageSync","uni.navigateTo","uni.__f__","uni.switchTab","uni.getStorageSync"],"map":"{\"version\":3,\"file\":\"footprint.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"footprint.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/d5553b3073ec0a0bf75bd43a3ef3a6a4cecf2dca b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/d5553b3073ec0a0bf75bd43a3ef3a6a4cecf2dca deleted file mode 100644 index f8fdf731..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/d5553b3073ec0a0bf75bd43a3ef3a6a4cecf2dca +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, gei as _gei, sei as _sei } from \"vue\";\nimport { ref, reactive } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass BankCardForm extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n holder_name: { type: String, optional: false },\n card_no: { type: String, optional: false },\n bank_name: { type: String, optional: false },\n phone: { type: String, optional: false },\n is_default: { type: Boolean, optional: false }\n };\n },\n name: \"BankCardForm\"\n };\n }\n constructor(options, metadata = BankCardForm.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.holder_name = this.__props__.holder_name;\n this.card_no = this.__props__.card_no;\n this.bank_name = this.__props__.bank_name;\n this.phone = this.__props__.phone;\n this.is_default = this.__props__.is_default;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'add',\n setup(__props) {\n const loading = ref(false);\n const form = reactive(new BankCardForm({\n holder_name: '',\n card_no: '',\n bank_name: '',\n phone: '',\n is_default: false\n }));\n const onSwitchChange = (e) => {\n form.is_default = e.detail.value;\n };\n // 模拟卡号识别\n const detectBank = (e = null) => {\n const val = form.card_no;\n if (val.length >= 6) {\n if (val.startsWith('6222'))\n form.bank_name = '中国工商银行';\n else if (val.startsWith('6227'))\n form.bank_name = '中国建设银行';\n else if (val.startsWith('6225'))\n form.bank_name = '招商银行';\n else if (val.startsWith('6228'))\n form.bank_name = '中国农业银行';\n // else form.bank_name = '' \n }\n };\n const submit = () => { return __awaiter(this, void 0, void 0, function* () {\n if (form.holder_name == '' || form.card_no == '' || form.bank_name == '') {\n uni.showToast({ title: '请完善卡片信息', icon: 'none' });\n return Promise.resolve(null);\n }\n loading.value = true;\n try {\n const cardData = new UTSJSONObject();\n cardData.set('holder_name', form.holder_name);\n cardData.set('bank_name', form.bank_name);\n cardData.set('card_no', form.card_no); // Also save full card no if needed, or just last4\n // 截取后4位\n const last4 = form.card_no.length > 4 ? form.card_no.slice(-4) : form.card_no;\n cardData.set('card_no_last4', last4);\n cardData.set('phone', form.phone);\n cardData.set('is_default', form.is_default);\n // 简单推定为储蓄卡\n cardData.set('card_type', 'debit');\n const success = yield supabaseService.addBankCard(cardData);\n if (success) {\n uni.showToast({ title: '添加成功' });\n setTimeout(() => {\n uni.navigateBack();\n }, 1000);\n }\n else {\n uni.showToast({ title: '添加失败', icon: 'none' });\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/bank-cards/add.uvue:101', e);\n uni.showToast({ title: '系统错误', icon: 'none' });\n }\n finally {\n loading.value = false;\n }\n }); };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = {\n a: form.holder_name,\n b: _o($event => { return form.holder_name = $event.detail.value; }),\n c: _o([$event => { return form.card_no = $event.detail.value; }, detectBank]),\n d: form.card_no,\n e: form.bank_name,\n f: _o($event => { return form.bank_name = $event.detail.value; }),\n g: form.phone,\n h: _o($event => { return form.phone = $event.detail.value; }),\n i: form.is_default,\n j: _o(onSwitchChange),\n k: loading.value ? 1 : '',\n l: loading.value,\n m: _o(submit),\n n: _sei(_gei(_ctx, ''), 'view')\n };\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/bank-cards/add.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.showToast","uni.navigateBack","uni.__f__"],"map":"{\"version\":3,\"file\":\"add.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"add.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/decf18e9dfb4f86140f833b05ae7daff0bf3ff84 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/decf18e9dfb4f86140f833b05ae7daff0bf3ff84 deleted file mode 100644 index 7ac836b5..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/decf18e9dfb4f86140f833b05ae7daff0bf3ff84 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, n as _n, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, computed, onMounted } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass PointProduct extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n description: { type: String, optional: true },\n image_url: { type: String, optional: true },\n product_type: { type: String, optional: false },\n points_required: { type: Number, optional: false },\n original_price: { type: Number, optional: true },\n stock: { type: Number, optional: false },\n status: { type: Number, optional: false }\n };\n },\n name: \"PointProduct\"\n };\n }\n constructor(options, metadata = PointProduct.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.description = this.__props__.description;\n this.image_url = this.__props__.image_url;\n this.product_type = this.__props__.product_type;\n this.points_required = this.__props__.points_required;\n this.original_price = this.__props__.original_price;\n this.stock = this.__props__.stock;\n this.status = this.__props__.status;\n delete this.__props__;\n }\n}\nconst defaultImage = '/static/images/default-product.png';\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'exchange',\n setup(__props) {\n const totalPoints = ref(0);\n const products = ref([]);\n const loading = ref(true);\n const activeTab = ref('all');\n const showPopup = ref(false);\n const showSuccess = ref(false);\n const selectedProduct = ref(null);\n const exchangeQuantity = ref(1);\n const exchanging = ref(false);\n const filteredProducts = computed(() => {\n if (activeTab.value === 'all') {\n return products.value;\n }\n const filtered = [];\n for (let i = 0; i < products.value.length; i++) {\n if (products.value[i].product_type === activeTab.value) {\n filtered.push(products.value[i]);\n }\n }\n return filtered;\n });\n const totalPointsCost = computed(() => {\n if (selectedProduct.value == null)\n return 0;\n return selectedProduct.value.points_required * exchangeQuantity.value;\n });\n const loadProducts = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h;\n loading.value = true;\n try {\n const points = yield supabaseService.getUserPoints();\n totalPoints.value = points;\n const productList = yield supabaseService.getPointProducts();\n const parsed = [];\n for (let i = 0; i < productList.length; i++) {\n const item = productList[i];\n let id = '';\n let name = '';\n let description = null;\n let image_url = null;\n let product_type = 'coupon';\n let points_required = 0;\n let original_price = null;\n let stock = 0;\n let status = 1;\n let itemObj = null;\n if (UTS.isInstanceOf(item, UTSJSONObject)) {\n itemObj = item;\n }\n else {\n itemObj = UTS.JSON.parse(UTS.JSON.stringify(item));\n }\n id = (_a = itemObj.getString('id')) !== null && _a !== void 0 ? _a : '';\n name = (_b = itemObj.getString('name')) !== null && _b !== void 0 ? _b : '';\n description = itemObj.getString('description');\n image_url = itemObj.getString('image_url');\n product_type = (_c = itemObj.getString('product_type')) !== null && _c !== void 0 ? _c : 'coupon';\n points_required = (_d = itemObj.getNumber('points_required')) !== null && _d !== void 0 ? _d : 0;\n original_price = itemObj.getNumber('original_price');\n stock = (_g = itemObj.getNumber('stock')) !== null && _g !== void 0 ? _g : 0;\n status = (_h = itemObj.getNumber('status')) !== null && _h !== void 0 ? _h : 1;\n const product = new PointProduct({\n id,\n name,\n description,\n image_url,\n product_type,\n points_required,\n original_price,\n stock,\n status\n });\n parsed.push(product);\n }\n products.value = parsed;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/points/exchange.uvue:246', '加载商品失败:', e);\n }\n finally {\n loading.value = false;\n }\n }); };\n const switchTab = (tab) => {\n activeTab.value = tab;\n };\n const showExchangePopup = (product) => {\n selectedProduct.value = product;\n exchangeQuantity.value = 1;\n showPopup.value = true;\n };\n const closePopup = () => {\n showPopup.value = false;\n selectedProduct.value = null;\n };\n const increaseQuantity = () => {\n if (selectedProduct.value != null && exchangeQuantity.value < selectedProduct.value.stock) {\n exchangeQuantity.value++;\n }\n };\n const decreaseQuantity = () => {\n if (exchangeQuantity.value > 1) {\n exchangeQuantity.value--;\n }\n };\n const confirmExchange = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a;\n if (selectedProduct.value == null)\n return Promise.resolve(null);\n if (totalPoints.value < totalPointsCost.value)\n return Promise.resolve(null);\n exchanging.value = true;\n try {\n const result = yield supabaseService.exchangeProduct(selectedProduct.value.id, exchangeQuantity.value, null);\n if (result.getBoolean('success') === true) {\n showPopup.value = false;\n totalPoints.value -= totalPointsCost.value;\n showSuccess.value = true;\n loadProducts();\n }\n else {\n const message = (_a = result.getString('message')) !== null && _a !== void 0 ? _a : '兑换失败';\n uni.showToast({ title: message, icon: 'none' });\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/points/exchange.uvue:302', '兑换异常:', e);\n uni.showToast({ title: '兑换异常', icon: 'none' });\n }\n finally {\n exchanging.value = false;\n }\n }); };\n const closeSuccess = () => {\n showSuccess.value = false;\n };\n const goToRecords = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/points/exchange-records'\n });\n };\n onMounted(() => {\n loadProducts();\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _t(totalPoints.value),\n b: _o(goToRecords),\n c: _n(activeTab.value === 'all' ? 'active' : ''),\n d: _o($event => { return switchTab('all'); }),\n e: _n(activeTab.value === 'coupon' ? 'active' : ''),\n f: _o($event => { return switchTab('coupon'); }),\n g: _n(activeTab.value === 'physical' ? 'active' : ''),\n h: _o($event => { return switchTab('physical'); }),\n i: _n(activeTab.value === 'virtual' ? 'active' : ''),\n j: _o($event => { return switchTab('virtual'); }),\n k: !loading.value\n }, !loading.value ? {\n l: _f(filteredProducts.value, (product, k0, i0) => {\n return _e({\n a: product.image_url != null && product.image_url.length > 0 ? product.image_url : defaultImage,\n b: _t(product.name),\n c: product.description\n }, product.description ? {\n d: _t(product.description)\n } : {}, {\n e: _t(product.points_required),\n f: _t(product.stock),\n g: product.original_price\n }, product.original_price ? {\n h: _t(product.original_price)\n } : {}, {\n i: product.id,\n j: _o($event => { return showExchangePopup(product); }, product.id)\n });\n })\n } : {}, {\n m: !loading.value && filteredProducts.value.length === 0\n }, !loading.value && filteredProducts.value.length === 0 ? {} : {}, {\n n: loading.value\n }, loading.value ? {} : {}, {\n o: showPopup.value\n }, showPopup.value ? _e({\n p: _o(closePopup),\n q: selectedProduct.value != null\n }, selectedProduct.value != null ? {\n r: selectedProduct.value.image_url != null && selectedProduct.value.image_url.length > 0 ? selectedProduct.value.image_url : defaultImage,\n s: _t(selectedProduct.value.name),\n t: _t(selectedProduct.value.points_required)\n } : {}, {\n v: _o(decreaseQuantity),\n w: _t(exchangeQuantity.value),\n x: _o(increaseQuantity),\n y: _t(totalPointsCost.value),\n z: _t(totalPoints.value),\n A: totalPoints.value < totalPointsCost.value\n }, totalPoints.value < totalPointsCost.value ? {\n B: _t(totalPointsCost.value - totalPoints.value)\n } : {}, {\n C: _t(exchanging.value ? '兑换中...' : '确认兑换'),\n D: totalPoints.value < totalPointsCost.value ? 1 : '',\n E: totalPoints.value < totalPointsCost.value || exchanging.value,\n F: _o(confirmExchange),\n G: _o(() => { }),\n H: _o(closePopup)\n }) : {}, {\n I: showSuccess.value\n }, showSuccess.value ? {\n J: _t(totalPointsCost.value),\n K: _o(closeSuccess),\n L: _o(() => { }),\n M: _o(closeSuccess)\n } : {}, {\n N: _sei(_gei(_ctx, ''), 'scroll-view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/points/exchange.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__","uni.showToast","uni.navigateTo"],"map":"{\"version\":3,\"file\":\"exchange.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"exchange.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/e5a22df9506d95865d6c62a2cc5c7958fdc0092c b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/e5a22df9506d95865d6c62a2cc5c7958fdc0092c deleted file mode 100644 index 84bde7a4..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/e5a22df9506d95865d6c62a2cc5c7958fdc0092c +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { onLoad } from '@dcloudio/uni-app';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass MessageType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n type: { type: String, optional: false },\n title: { type: String, optional: false },\n content: { type: String, optional: false },\n icon_url: { type: String, optional: true },\n link_url: { type: String, optional: true },\n extra_data: { type: \"Any\", optional: true },\n created_at: { type: String, optional: false }\n };\n },\n name: \"MessageType\"\n };\n }\n constructor(options, metadata = MessageType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.type = this.__props__.type;\n this.title = this.__props__.title;\n this.content = this.__props__.content;\n this.icon_url = this.__props__.icon_url;\n this.link_url = this.__props__.link_url;\n this.extra_data = this.__props__.extra_data;\n this.created_at = this.__props__.created_at;\n delete this.__props__;\n }\n}\nclass ExtraInfoItem extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n label: { type: String, optional: false },\n value: { type: String, optional: false }\n };\n },\n name: \"ExtraInfoItem\"\n };\n }\n constructor(options, metadata = ExtraInfoItem.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.label = this.__props__.label;\n this.value = this.__props__.value;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'message-detail',\n setup(__props) {\n const message = ref(new MessageType({\n id: '',\n type: '',\n title: '',\n content: '',\n icon_url: null,\n link_url: null,\n extra_data: null,\n created_at: ''\n }));\n const extraInfo = ref([]);\n const formatLabel = (key) => {\n if (key === 'share_code')\n return '分享码';\n if (key === 'product_name')\n return '商品名称';\n if (key === 'reward_amount')\n return '奖励金额';\n if (key === 'order_no')\n return '订单号';\n if (key === 'buyer_name')\n return '购买者';\n if (key === 'quantity')\n return '数量';\n return key;\n };\n const parseExtraData = (data = null) => {\n extraInfo.value = [];\n if (data == null)\n return null;\n try {\n let dataObj = null;\n if (typeof data === 'string') {\n const parsed = UTS.JSON.parse(data);\n if (parsed != null) {\n dataObj = parsed;\n }\n }\n else if (UTS.isInstanceOf(data, UTSJSONObject)) {\n dataObj = data;\n }\n else {\n dataObj = UTS.JSON.parse(UTS.JSON.stringify(data));\n }\n if (dataObj != null) {\n const keys = UTSJSONObject.keys(dataObj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const value = dataObj.get(key);\n if (value != null) {\n const item = new ExtraInfoItem({\n label: formatLabel(key),\n value: `${value}`\n });\n extraInfo.value.push(item);\n }\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/message-detail.uvue:107', '解析extra_data失败:', e);\n }\n };\n const loadMessage = (id) => { return __awaiter(this, void 0, void 0, function* () {\n var _a;\n try {\n const notifications = yield supabaseService.getUserNotifications(null);\n const found = UTS.arrayFind(notifications, n => { return n.id === id; });\n if (found != null) {\n const extraData = found.extra_data;\n const msg = new MessageType({\n id: found.id,\n type: found.type,\n title: found.title,\n content: found.content,\n icon_url: found.icon_url,\n link_url: found.link_url,\n extra_data: extraData,\n created_at: (_a = found.created_at) !== null && _a !== void 0 ? _a : ''\n });\n message.value = msg;\n if (extraData != null) {\n parseExtraData(extraData);\n }\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/message-detail.uvue:135', '加载消息失败:', e);\n }\n }); };\n const formatTime = (timeStr) => {\n if (timeStr == null || timeStr === '')\n return '';\n const date = new Date(timeStr);\n const y = date.getFullYear();\n const m = (date.getMonth() + 1).toString().padStart(2, '0');\n const d = date.getDate().toString().padStart(2, '0');\n const hh = date.getHours().toString().padStart(2, '0');\n const mm = date.getMinutes().toString().padStart(2, '0');\n return `${y}-${m}-${d} ${hh}:${mm}`;\n };\n const goToLink = () => {\n const url = message.value.link_url;\n if (url != null && url !== '') {\n if (url.startsWith('/pages/')) {\n uni.navigateTo({ url: url });\n }\n else {\n uni.setClipboardData({\n data: url,\n success: () => {\n uni.showToast({ title: '链接已复制', icon: 'success' });\n }\n });\n }\n }\n };\n onLoad((options = null) => {\n if (options != null) {\n const idVal = options['id'];\n if (idVal != null) {\n loadMessage(idVal);\n }\n }\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _t(message.value.title),\n b: _t(formatTime(message.value.created_at)),\n c: _t(message.value.content),\n d: message.value.link_url\n }, message.value.link_url ? {\n e: _o(goToLink)\n } : {}, {\n f: message.value.icon_url\n }, message.value.icon_url ? {\n g: message.value.icon_url\n } : {}, {\n h: extraInfo.value.length > 0\n }, extraInfo.value.length > 0 ? {\n i: _f(extraInfo.value, (item, index, i0) => {\n return {\n a: _t(item.label),\n b: _t(item.value),\n c: index\n };\n })\n } : {}, {\n j: _sei(_gei(_ctx, ''), 'scroll-view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/message-detail.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.__f__","uni.navigateTo","uni.showToast","uni.setClipboardData"],"map":"{\"version\":3,\"file\":\"message-detail.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"message-detail.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/ec410f85521dd54bee80a19dfaab62953504bb26 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/ec410f85521dd54bee80a19dfaab62953504bb26 deleted file mode 100644 index 7b4af1bb..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/ec410f85521dd54bee80a19dfaab62953504bb26 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, n as _n, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, computed, watch } from 'vue';\nimport { onShow } from '@dcloudio/uni-app';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass WalletType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n user_id: { type: String, optional: false },\n balance: { type: Number, optional: false },\n total_recharge: { type: Number, optional: false },\n total_consume: { type: Number, optional: false },\n total_withdraw: { type: Number, optional: false },\n updated_at: { type: String, optional: false }\n };\n },\n name: \"WalletType\"\n };\n }\n constructor(options, metadata = WalletType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.user_id = this.__props__.user_id;\n this.balance = this.__props__.balance;\n this.total_recharge = this.__props__.total_recharge;\n this.total_consume = this.__props__.total_consume;\n this.total_withdraw = this.__props__.total_withdraw;\n this.updated_at = this.__props__.updated_at;\n delete this.__props__;\n }\n}\nclass TransactionType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n user_id: { type: String, optional: false },\n change_amount: { type: Number, optional: false },\n amount: { type: Number, optional: false },\n current_balance: { type: Number, optional: false },\n change_type: { type: String, optional: false },\n type: { type: String, optional: false },\n related_id: { type: String, optional: true },\n remark: { type: String, optional: true },\n created_at: { type: String, optional: false }\n };\n },\n name: \"TransactionType\"\n };\n }\n constructor(options, metadata = TransactionType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.user_id = this.__props__.user_id;\n this.change_amount = this.__props__.change_amount;\n this.amount = this.__props__.amount;\n this.current_balance = this.__props__.current_balance;\n this.change_type = this.__props__.change_type;\n this.type = this.__props__.type;\n this.related_id = this.__props__.related_id;\n this.remark = this.__props__.remark;\n this.created_at = this.__props__.created_at;\n delete this.__props__;\n }\n}\nclass StatsType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n totalRecharge: { type: Number, optional: false },\n totalConsume: { type: Number, optional: false },\n totalWithdraw: { type: Number, optional: false }\n };\n },\n name: \"StatsType\"\n };\n }\n constructor(options, metadata = StatsType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.totalRecharge = this.__props__.totalRecharge;\n this.totalConsume = this.__props__.totalConsume;\n this.totalWithdraw = this.__props__.totalWithdraw;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'wallet',\n setup(__props) {\n const balance = ref(0);\n const stats = ref(new StatsType({\n totalRecharge: 0,\n totalConsume: 0,\n totalWithdraw: 0\n }));\n const transactions = ref([]);\n const activeFilter = ref('all');\n const isLoading = ref(false);\n const currentPage = ref(1);\n const pageSize = ref(20);\n const hasMore = ref(true);\n const showRechargePopup = ref(false);\n const rechargeAmount = ref('');\n const quickAmounts = [50, 100, 200, 500, 1000];\n // 获取当前用户ID\n const getCurrentUserId = () => {\n var _a;\n const userStore = uni.getStorageSync('userInfo');\n if (userStore == null)\n return '';\n const userInfo = userStore;\n return (_a = userInfo.getString('id')) !== null && _a !== void 0 ? _a : '';\n };\n // 重置交易记录\n const resetTransactions = () => {\n transactions.value = [];\n currentPage.value = 1;\n hasMore.value = true;\n };\n // 加载余额信息\n const loadBalance = () => { return __awaiter(this, void 0, void 0, function* () {\n try {\n const realBalance = yield supabaseService.getUserBalanceNumber();\n balance.value = realBalance;\n const statsData = new StatsType({\n totalRecharge: 0,\n totalConsume: 0,\n totalWithdraw: 0\n });\n stats.value = statsData;\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/wallet.uvue:247', '加载钱包异常:', err);\n }\n }); };\n // 加载交易记录\n const loadTransactions = (loadMore) => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l, _m, _p, _q;\n if (isLoading.value || (hasMore.value === false && loadMore)) {\n return Promise.resolve(null);\n }\n isLoading.value = true;\n try {\n const userId = getCurrentUserId();\n if (userId == '') {\n isLoading.value = false;\n return Promise.resolve(null);\n }\n const page = loadMore ? currentPage.value + 1 : 1;\n const limit = 20;\n const data = yield supabaseService.getTransactions(page, limit);\n const mappedData = [];\n for (let i = 0; i < data.length; i++) {\n const item = data[i];\n let id = '';\n let amount = 0;\n let balanceAfter = 0;\n let type = '';\n let remark = '';\n let createdAt = '';\n if (UTS.isInstanceOf(item, UTSJSONObject)) {\n id = (_a = item.getString('id')) !== null && _a !== void 0 ? _a : '';\n amount = (_b = item.getNumber('amount')) !== null && _b !== void 0 ? _b : 0;\n balanceAfter = (_c = item.getNumber('balance_after')) !== null && _c !== void 0 ? _c : 0;\n type = (_d = item.getString('type')) !== null && _d !== void 0 ? _d : 'consume';\n remark = (_g = item.getString('description')) !== null && _g !== void 0 ? _g : '';\n createdAt = (_h = item.getString('created_at')) !== null && _h !== void 0 ? _h : '';\n }\n else {\n const itemObj = item;\n id = (_j = itemObj.getString('id')) !== null && _j !== void 0 ? _j : '';\n amount = (_k = itemObj.getNumber('amount')) !== null && _k !== void 0 ? _k : 0;\n balanceAfter = (_l = itemObj.getNumber('balance_after')) !== null && _l !== void 0 ? _l : 0;\n type = (_m = itemObj.getString('type')) !== null && _m !== void 0 ? _m : 'consume';\n remark = (_p = itemObj.getString('description')) !== null && _p !== void 0 ? _p : '';\n createdAt = (_q = itemObj.getString('created_at')) !== null && _q !== void 0 ? _q : '';\n }\n const transaction = new TransactionType({\n id: id,\n user_id: userId,\n change_amount: amount,\n amount: amount,\n current_balance: balanceAfter,\n change_type: type,\n type: type,\n related_id: null,\n remark: remark,\n created_at: createdAt\n });\n mappedData.push(transaction);\n }\n if (loadMore) {\n for (let i = 0; i < mappedData.length; i++) {\n transactions.value.push(mappedData[i]);\n }\n currentPage.value = page;\n }\n else {\n transactions.value = mappedData;\n currentPage.value = 1;\n }\n hasMore.value = mappedData.length >= limit;\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/wallet.uvue:325', '加载交易记录失败:', err);\n }\n finally {\n isLoading.value = false;\n }\n }); };\n // 加载钱包数据\n const loadWalletData = () => { return __awaiter(this, void 0, void 0, function* () {\n const userId = getCurrentUserId();\n if (userId == '') {\n return Promise.resolve(null);\n }\n loadBalance();\n loadTransactions(false);\n }); };\n // 计算属性\n const canRecharge = computed(() => {\n const amount = parseFloat(rechargeAmount.value);\n if (amount == null || amount < 10 || amount > 5000) {\n return false;\n }\n return true;\n });\n // 监听过滤器变化\n watch(activeFilter, () => {\n resetTransactions();\n loadTransactions(false);\n });\n // 生命周期\n onShow(() => {\n loadWalletData();\n });\n // 获取交易图标\n const getTransactionIcon = (type) => {\n if (type === 'recharge')\n return '💳';\n if (type === 'consume')\n return '🛒';\n if (type === 'withdraw')\n return '🏦';\n if (type === 'refund')\n return '🔄';\n if (type === 'reward')\n return '🎁';\n if (type === 'income')\n return '💰';\n if (type === 'expense')\n return '📤';\n return '💰';\n };\n // 获取交易标题\n const getTransactionTitle = (type) => {\n if (type === 'recharge')\n return '账户充值';\n if (type === 'consume')\n return '商品消费';\n if (type === 'withdraw')\n return '余额提现';\n if (type === 'refund')\n return '订单退款';\n if (type === 'reward')\n return '活动奖励';\n if (type === 'income')\n return '收入';\n if (type === 'expense')\n return '支出';\n return '交易';\n };\n // 格式化时间\n const formatTime = (timeStr) => {\n const date = new Date(timeStr);\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const hours = date.getHours().toString().padStart(2, '0');\n const minutes = date.getMinutes().toString().padStart(2, '0');\n return `${month}-${day} ${hours}:${minutes}`;\n };\n // 显示更多操作\n const showMoreActions = () => {\n uni.showActionSheet({\n itemList: ['交易记录', '安全设置', '帮助中心'],\n success: (res) => {\n switch (res.tapIndex) {\n case 0:\n // 交易记录已经在当前页\n break;\n case 1:\n uni.navigateTo({\n url: '/pages/mall/consumer/settings'\n });\n break;\n case 2:\n uni.navigateTo({\n url: '/pages/info/help'\n });\n break;\n }\n }\n });\n };\n // 充值\n const recharge = () => {\n showRechargePopup.value = true;\n rechargeAmount.value = '';\n };\n // 提现\n const withdraw = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/withdraw'\n });\n };\n // 跳转到优惠券\n const goToCoupons = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/coupons'\n });\n };\n // 跳转到红包\n const goToRedPackets = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/red-packets/index'\n });\n };\n // 跳转到积分\n const goToPoints = () => {\n // 使用统一的积分页面\n uni.navigateTo({\n url: '/pages/mall/consumer/points/index'\n });\n };\n // 跳转到银行卡\n const goToBankCards = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/bank-cards/index'\n });\n };\n // 切换过滤器\n const changeFilter = (filter) => {\n activeFilter.value = filter;\n };\n // 加载更多\n const loadMore = () => {\n if (hasMore.value && isLoading.value === false) {\n loadTransactions(true);\n }\n };\n // 选择快捷金额\n const selectQuickAmount = (amount) => {\n rechargeAmount.value = amount.toString();\n };\n // 关闭充值弹窗\n const closeRechargePopup = () => {\n showRechargePopup.value = false;\n rechargeAmount.value = '';\n };\n // 确认充值\n const confirmRecharge = () => { return __awaiter(this, void 0, void 0, function* () {\n if (canRecharge.value === false)\n return Promise.resolve(null);\n const amount = parseFloat(rechargeAmount.value);\n if (amount == null || amount < 10 || amount > 5000)\n return Promise.resolve(null);\n uni.showLoading({ title: '处理中...' });\n try {\n const success = yield supabaseService.rechargeBalance(amount);\n if (success) {\n uni.showToast({\n title: '充值成功',\n icon: 'success'\n });\n closeRechargePopup();\n loadWalletData();\n }\n else {\n uni.showToast({\n title: '充值失败',\n icon: 'none'\n });\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/wallet.uvue:509', '充值异常:', e);\n uni.showToast({\n title: '系统异常,请稍后重试',\n icon: 'none'\n });\n }\n finally {\n uni.hideLoading();\n }\n }); };\n // 返回\n const goBack = () => {\n uni.navigateBack();\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _t(balance.value.toFixed(2)),\n b: _o(recharge),\n c: _o(withdraw),\n d: _t(stats.value.totalRecharge.toFixed(2)),\n e: _t(stats.value.totalConsume.toFixed(2)),\n f: _t(stats.value.totalWithdraw.toFixed(2)),\n g: _o(goToCoupons),\n h: _o(goToRedPackets),\n i: _o(goToPoints),\n j: _o(goToBankCards),\n k: _n({\n active: activeFilter.value === 'all'\n }),\n l: _o($event => { return changeFilter('all'); }),\n m: _n({\n active: activeFilter.value === 'income'\n }),\n n: _o($event => { return changeFilter('income'); }),\n o: _n({\n active: activeFilter.value === 'expense'\n }),\n p: _o($event => { return changeFilter('expense'); }),\n q: transactions.value.length === 0 && isLoading.value === false\n }, transactions.value.length === 0 && isLoading.value === false ? {} : {}, {\n r: _f(transactions.value, (transaction, k0, i0) => {\n return _e({\n a: _t(getTransactionIcon(transaction.type)),\n b: _t(getTransactionTitle(transaction.type)),\n c: _t(formatTime(transaction.created_at)),\n d: transaction.remark\n }, transaction.remark ? {\n e: _t(transaction.remark)\n } : {}, {\n f: _t(transaction.amount > 0 ? '+' : ''),\n g: _t(Math.abs(transaction.amount).toFixed(2)),\n h: _n({\n income: transaction.amount > 0,\n expense: transaction.amount < 0\n }),\n i: _t(transaction.current_balance.toFixed(2)),\n j: transaction.id\n });\n }),\n s: isLoading.value\n }, isLoading.value ? {} : {}, {\n t: hasMore.value === false && transactions.value.length > 0\n }, hasMore.value === false && transactions.value.length > 0 ? {} : {}, {\n v: showRechargePopup.value\n }, showRechargePopup.value ? {\n w: _o(closeRechargePopup),\n x: _o(closeRechargePopup),\n y: rechargeAmount.value,\n z: _o($event => { return rechargeAmount.value = $event.detail.value; }),\n A: _f(quickAmounts, (amount, k0, i0) => {\n return {\n a: _t(amount),\n b: amount,\n c: _n({\n active: rechargeAmount.value === amount.toString()\n }),\n d: _o($event => { return selectQuickAmount(amount); }, amount)\n };\n }),\n B: _o(closeRechargePopup),\n C: canRecharge.value === false ? 1 : '',\n D: _o(confirmRecharge)\n } : {}, {\n E: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/wallet.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.getStorageSync","uni.__f__","uni.navigateTo","uni.showActionSheet","uni.showLoading","uni.showToast","uni.hideLoading","uni.navigateBack"],"map":"{\"version\":3,\"file\":\"wallet.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"wallet.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/efc08f74074a25bae9935d56fac7a3943f8fec41 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/efc08f74074a25bae9935d56fac7a3943f8fec41 deleted file mode 100644 index 7c329ea0..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/efc08f74074a25bae9935d56fac7a3943f8fec41 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, n as _n, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted } from 'vue';\nimport { supabaseService } from \"@/utils/supabaseService\";\nclass ExchangeRecord extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n product_name: { type: String, optional: false },\n product_image: { type: String, optional: true },\n product_type: { type: String, optional: false },\n quantity: { type: Number, optional: false },\n points_used: { type: Number, optional: false },\n status: { type: Number, optional: false },\n tracking_no: { type: String, optional: true },\n created_at: { type: String, optional: false }\n };\n },\n name: \"ExchangeRecord\"\n };\n }\n constructor(options, metadata = ExchangeRecord.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.product_name = this.__props__.product_name;\n this.product_image = this.__props__.product_image;\n this.product_type = this.__props__.product_type;\n this.quantity = this.__props__.quantity;\n this.points_used = this.__props__.points_used;\n this.status = this.__props__.status;\n this.tracking_no = this.__props__.tracking_no;\n this.created_at = this.__props__.created_at;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'exchange-records',\n setup(__props) {\n const records = ref([]);\n const loading = ref(true);\n const loadRecords = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j;\n loading.value = true;\n try {\n const result = yield supabaseService.getExchangeRecords();\n const parsed = [];\n for (let i = 0; i < result.length; i++) {\n const item = result[i];\n const itemAny = item;\n // 处理数组返回\n let recordData = null;\n if (Array.isArray(itemAny)) {\n recordData = itemAny[0];\n }\n else {\n recordData = itemAny;\n }\n let id = '';\n let quantity = 1;\n let points_used = 0;\n let status = 0;\n let tracking_no = null;\n let created_at = '';\n let product_name = '';\n let product_image = null;\n let product_type = 'coupon';\n // 转换为 UTSJSONObject\n let recordObj = null;\n if (UTS.isInstanceOf(recordData, UTSJSONObject)) {\n recordObj = recordData;\n }\n else {\n recordObj = UTS.JSON.parse(UTS.JSON.stringify(recordData));\n }\n id = (_a = recordObj.getString('id')) !== null && _a !== void 0 ? _a : '';\n quantity = (_b = recordObj.getNumber('quantity')) !== null && _b !== void 0 ? _b : 1;\n points_used = (_c = recordObj.getNumber('points_used')) !== null && _c !== void 0 ? _c : 0;\n status = (_d = recordObj.getNumber('status')) !== null && _d !== void 0 ? _d : 0;\n tracking_no = recordObj.getString('tracking_no');\n created_at = (_g = recordObj.getString('created_at')) !== null && _g !== void 0 ? _g : '';\n // 获取关联的商品信息\n const product = recordObj.get('product');\n if (product != null) {\n let productObj = null;\n if (UTS.isInstanceOf(product, UTSJSONObject)) {\n productObj = product;\n }\n else {\n productObj = UTS.JSON.parse(UTS.JSON.stringify(product));\n }\n product_name = (_h = productObj.getString('name')) !== null && _h !== void 0 ? _h : '';\n product_image = productObj.getString('image_url');\n product_type = (_j = productObj.getString('product_type')) !== null && _j !== void 0 ? _j : 'coupon';\n }\n parsed.push(new ExchangeRecord({\n id,\n product_name,\n product_image,\n product_type,\n quantity,\n points_used,\n status,\n tracking_no,\n created_at\n }));\n }\n records.value = parsed;\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/points/exchange-records.uvue:132', '加载兑换记录失败:', e);\n }\n finally {\n loading.value = false;\n }\n }); };\n const getStatusText = (status) => {\n if (status === 0)\n return '待处理';\n if (status === 1)\n return '已发货';\n if (status === 2)\n return '已完成';\n if (status === 3)\n return '已取消';\n return '未知';\n };\n const getStatusClass = (status) => {\n if (status === 0)\n return 'status-pending';\n if (status === 1)\n return 'status-shipped';\n if (status === 2)\n return 'status-completed';\n if (status === 3)\n return 'status-cancelled';\n return '';\n };\n const formatTime = (timeStr) => {\n if (timeStr == '')\n return '';\n const date = new Date(timeStr);\n const y = date.getFullYear();\n const m = (date.getMonth() + 1).toString().padStart(2, '0');\n const d = date.getDate().toString().padStart(2, '0');\n const hh = date.getHours().toString().padStart(2, '0');\n const mm = date.getMinutes().toString().padStart(2, '0');\n return `${y}-${m}-${d} ${hh}:${mm}`;\n };\n onMounted(() => {\n loadRecords();\n });\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: !loading.value && records.value.length === 0\n }, !loading.value && records.value.length === 0 ? {} : {}, {\n b: loading.value\n }, loading.value ? {} : {}, {\n c: !loading.value && records.value.length > 0\n }, !loading.value && records.value.length > 0 ? {\n d: _f(records.value, (record, k0, i0) => {\n return _e({\n a: _t(record.product_name),\n b: _t(getStatusText(record.status)),\n c: _n(getStatusClass(record.status)),\n d: _t(record.points_used),\n e: _t(record.quantity),\n f: _t(formatTime(record.created_at)),\n g: record.tracking_no\n }, record.tracking_no ? {\n h: _t(record.tracking_no)\n } : {}, {\n i: record.id\n });\n })\n } : {}, {\n e: _sei(_gei(_ctx, ''), 'scroll-view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/points/exchange-records.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":["uni.__f__"],"map":"{\"version\":3,\"file\":\"exchange-records.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"exchange-records.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/f5e36d4dffb09dad9a99bbcbecaf21b0ee1bf29c b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/f5e36d4dffb09dad9a99bbcbecaf21b0ee1bf29c deleted file mode 100644 index f27196c1..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/f5e36d4dffb09dad9a99bbcbecaf21b0ee1bf29c +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { o as _o, toDisplayString as _toDisplayString, t as _t, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, reactive, computed } from 'vue';\nimport { onLoad } from '@dcloudio/uni-app';\nimport { supabaseService, AddAddressParams, UpdateAddressParams } from \"@/utils/supabaseService\";\nclass Address extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n phone: { type: String, optional: false },\n province: { type: String, optional: false },\n city: { type: String, optional: false },\n district: { type: String, optional: false },\n detail: { type: String, optional: false },\n isDefault: { type: Boolean, optional: false },\n label: { type: String, optional: true }\n };\n },\n name: \"Address\"\n };\n }\n constructor(options, metadata = Address.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.phone = this.__props__.phone;\n this.province = this.__props__.province;\n this.city = this.__props__.city;\n this.district = this.__props__.district;\n this.detail = this.__props__.detail;\n this.isDefault = this.__props__.isDefault;\n this.label = this.__props__.label;\n delete this.__props__;\n }\n}\nclass AddressForm extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n name: { type: String, optional: false },\n phone: { type: String, optional: false },\n detail: { type: String, optional: false },\n isDefault: { type: Boolean, optional: false },\n label: { type: String, optional: false }\n };\n },\n name: \"AddressForm\"\n };\n }\n constructor(options, metadata = AddressForm.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.name = this.__props__.name;\n this.phone = this.__props__.phone;\n this.detail = this.__props__.detail;\n this.isDefault = this.__props__.isDefault;\n this.label = this.__props__.label;\n delete this.__props__;\n }\n}\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'address-edit',\n setup(__props) {\n const isEdit = ref(false);\n const addressId = ref('');\n const regionString = ref('');\n const tags = ['家', '公司', '学校'];\n const smartInput = ref('');\n const formData = reactive(new AddressForm({\n name: '',\n phone: '',\n detail: '',\n isDefault: false,\n label: ''\n }));\n const loadAddress = (id) => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n try {\n // 从Supabase加载地址详情\n const address = yield supabaseService.getAddressById(id);\n if (address != null) {\n formData.name = address.recipient_name;\n formData.phone = address.phone;\n formData.detail = address.detail_address;\n formData.isDefault = address.is_default;\n formData.label = (_a = address.label) !== null && _a !== void 0 ? _a : '';\n regionString.value = `${address.province} ${address.city} ${address.district}`.trim();\n }\n else {\n // 如果Supabase没有找到,尝试从本地存储加载\n const storedAddresses = uni.getStorageSync('addresses');\n if (storedAddresses != null) {\n const addresses = UTS.JSON.parse(storedAddresses);\n const localAddress = UTS.arrayFind(addresses, item => { return item.id === id; });\n if (localAddress != null) {\n formData.name = localAddress.name;\n formData.phone = localAddress.phone;\n formData.detail = localAddress.detail;\n formData.isDefault = localAddress.isDefault;\n formData.label = (_b = localAddress.label) !== null && _b !== void 0 ? _b : '';\n regionString.value = `${localAddress.province} ${localAddress.city} ${localAddress.district}`.trim();\n }\n }\n }\n }\n catch (error) {\n uni.__f__('error', 'at pages/mall/consumer/address-edit.uvue:140', '加载地址详情失败:', error);\n // 失败时从本地存储加载\n const storedAddresses = uni.getStorageSync('addresses');\n if (storedAddresses != null) {\n try {\n const addresses = UTS.JSON.parse(storedAddresses);\n const address = UTS.arrayFind(addresses, item => { return item.id === id; });\n if (address != null) {\n formData.name = address.name;\n formData.phone = address.phone;\n formData.detail = address.detail;\n formData.isDefault = address.isDefault;\n formData.label = (_c = address.label) !== null && _c !== void 0 ? _c : '';\n regionString.value = `${address.province} ${address.city} ${address.district}`.trim();\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/address-edit.uvue:156', '解析本地地址数据失败', e);\n }\n }\n }\n }); };\n onLoad((options = null) => {\n if (options['id'] != null) {\n isEdit.value = true;\n addressId.value = options['id'];\n loadAddress(addressId.value);\n }\n });\n const selectTag = (tag) => {\n if (formData.label === tag) {\n formData.label = '';\n }\n else {\n formData.label = tag;\n }\n };\n const onSwitchChange = (e) => {\n formData.isDefault = e.detail.value;\n };\n const saveAddress = () => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n if (formData.name == '') {\n uni.showToast({ title: '请填写收货人', icon: 'none' });\n return Promise.resolve(null);\n }\n if (formData.phone == '') {\n uni.showToast({ title: '请填写手机号码', icon: 'none' });\n return Promise.resolve(null);\n }\n if (regionString.value == '') {\n uni.showToast({ title: '请填写所在地区', icon: 'none' });\n return Promise.resolve(null);\n }\n if (formData.detail == '') {\n uni.showToast({ title: '请填写详细地址', icon: 'none' });\n return Promise.resolve(null);\n }\n // 简单解析地区(这里简化处理,实际应使用选择器)\n const regions = regionString.value.split(' ');\n const province = (_a = regions[0]) !== null && _a !== void 0 ? _a : '';\n const city = (_b = regions[1]) !== null && _b !== void 0 ? _b : '';\n const district = regions.slice(2).join(' ');\n // 构建地址对象\n const addressData = new AddAddressParams({\n recipient_name: formData.name,\n phone: formData.phone,\n province: province,\n city: city,\n district: district,\n detail_address: formData.detail,\n postal_code: '',\n is_default: formData.isDefault,\n label: formData.label\n });\n let success = false;\n if (isEdit.value) {\n // 更新地址\n const updateData = new UpdateAddressParams({\n recipient_name: formData.name,\n phone: formData.phone,\n province: province,\n city: city,\n district: district,\n detail_address: formData.detail,\n postal_code: '',\n is_default: formData.isDefault,\n label: formData.label\n });\n success = yield supabaseService.updateAddress(addressId.value, updateData);\n }\n else {\n // 添加新地址\n success = yield supabaseService.addAddress(addressData);\n }\n if (success) {\n // 同时更新本地存储作为缓存\n const storedAddresses = uni.getStorageSync('addresses');\n let addresses = [];\n if (storedAddresses != null) {\n try {\n addresses = UTS.JSON.parse(storedAddresses);\n }\n catch (e) {\n addresses = [];\n }\n }\n // 如果设为默认,取消其他默认\n if (formData.isDefault) {\n addresses.forEach(item => {\n item.isDefault = false;\n });\n }\n if (isEdit.value) {\n const index = addresses.findIndex(item => { return item.id === addressId.value; });\n if (index !== -1) {\n addresses[index] = new Address(Object.assign(Object.assign({}, addresses[index]), { name: formData.name, phone: formData.phone, province: province, city: city, district: district, detail: formData.detail, isDefault: formData.isDefault, label: formData.label }));\n }\n }\n else {\n const newAddress = new Address({\n id: `addr_${Date.now()}`,\n name: formData.name,\n phone: formData.phone,\n province: province,\n city: city,\n district: district,\n detail: formData.detail,\n isDefault: formData.isDefault,\n label: formData.label\n });\n addresses.push(newAddress);\n }\n uni.setStorageSync('addresses', UTS.JSON.stringify(addresses));\n uni.showToast({\n title: '保存成功',\n icon: 'success'\n });\n setTimeout(() => {\n uni.navigateBack();\n }, 1500);\n }\n else {\n uni.__f__('error', 'at pages/mall/consumer/address-edit.uvue:300', '保存地址失败');\n uni.showToast({\n title: '保存失败',\n icon: 'none'\n });\n }\n }); };\n const parseSmartInput = () => {\n var _a, _b, _c, _d, _g, _h;\n const input = smartInput.value.trim();\n if (input == '')\n return null;\n // 提取手机号\n const phoneRegex = /(1[3-9]\\d{9})/;\n const phoneMatch = input.match(phoneRegex);\n if (phoneMatch != null) {\n formData.phone = (_a = phoneMatch[0]) !== null && _a !== void 0 ? _a : '';\n }\n // 提取姓名(取第一个2-4位中文)\n const nameRegex = /([\\u4e00-\\u9fa5]{2,4})/;\n const nameMatch = input.match(nameRegex);\n if (nameMatch != null) {\n formData.name = (_b = nameMatch[0]) !== null && _b !== void 0 ? _b : '';\n }\n // 去掉姓名和电话后剩余作为地址\n let addrText = input;\n if (formData.name != '')\n addrText = addrText.replace(formData.name, '');\n if (formData.phone != '')\n addrText = addrText.replace(formData.phone, '');\n addrText = addrText.replace(/[,,;;\\s]+/g, ' ').trim();\n // 解析省市区\n const pattern1 = /^(.*?省)?(.*?市)?(.*?[区县])?(.*)$/;\n const m = addrText.match(pattern1);\n if (m != null) {\n const province = (_c = m[1]) !== null && _c !== void 0 ? _c : '';\n const city = (_d = m[2]) !== null && _d !== void 0 ? _d : '';\n const district = (_g = m[3]) !== null && _g !== void 0 ? _g : '';\n const detail = (_h = m[4]) !== null && _h !== void 0 ? _h : '';\n regionString.value = `${province.trim()} ${city.trim()} ${district.trim()}`.trim();\n formData.detail = detail.trim();\n }\n else {\n formData.detail = addrText;\n }\n };\n const deleteAddress = () => {\n uni.showModal(new UTSJSONObject({\n title: '提示',\n content: '确定要删除该地址吗?',\n success: (res) => {\n if (res.confirm) {\n // 调用Supabase服务删除地址\n supabaseService.deleteAddress(addressId.value).then((success) => {\n if (success) {\n // 同时从本地存储中移除\n const storedAddresses = uni.getStorageSync('addresses');\n if (storedAddresses != null) {\n try {\n let addresses = UTS.JSON.parse(storedAddresses);\n addresses = addresses.filter(item => { return item.id !== addressId.value; });\n uni.setStorageSync('addresses', UTS.JSON.stringify(addresses));\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/address-edit.uvue:363', '解析本地地址数据失败', e);\n }\n }\n uni.showToast({\n title: '删除成功',\n icon: 'success'\n });\n setTimeout(() => {\n uni.navigateBack();\n }, 1500);\n }\n else {\n uni.__f__('error', 'at pages/mall/consumer/address-edit.uvue:376', '删除地址失败');\n uni.showToast({\n title: '删除失败',\n icon: 'none'\n });\n }\n });\n }\n }\n }));\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: formData.name,\n b: _o($event => { return formData.name = $event.detail.value; }),\n c: formData.phone,\n d: _o($event => { return formData.phone = $event.detail.value; }),\n e: regionString.value,\n f: _o($event => { return regionString.value = $event.detail.value; }),\n g: formData.detail,\n h: _o($event => { return formData.detail = $event.detail.value; }),\n i: _f(tags, (tag, k0, i0) => {\n return {\n a: _t(tag),\n b: formData.label === tag ? 1 : '',\n c: tag,\n d: formData.label === tag ? 1 : '',\n e: _o($event => { return selectTag(tag); }, tag)\n };\n }),\n j: formData.isDefault,\n k: _o(onSwitchChange),\n l: smartInput.value\n }, smartInput.value ? {\n m: _o($event => { return smartInput.value = ''; })\n } : {}, {\n n: _o([$event => { return smartInput.value = $event.detail.value; }, parseSmartInput]),\n o: smartInput.value,\n p: _o(saveAddress),\n q: isEdit.value\n }, isEdit.value ? {\n r: _o(deleteAddress)\n } : {}, {\n s: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/address-edit.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.getStorageSync","uni.__f__","uni.showToast","uni.setStorageSync","uni.navigateBack","uni.showModal"],"map":"{\"version\":3,\"file\":\"address-edit.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"address-edit.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/f82ce35dea324a707477b891333c28df8073c3f9 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/f82ce35dea324a707477b891333c28df8073c3f9 deleted file mode 100644 index 2d39ca86..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/f82ce35dea324a707477b891333c28df8073c3f9 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter, __read, __values } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, f as _f, n as _n, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, onMounted, computed, watch, onUnmounted, getCurrentInstance } from 'vue';\nimport { onLoad } from '@dcloudio/uni-app';\nimport { supabaseService, UserAddress as SupabaseUserAddress } from \"@/utils/supabaseService\";\nimport { ShopOrderParams } from \"D:/companyproject/mall/utils/supabaseService.ts\";\nclass CheckoutItemType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n product_id: { type: String, optional: false },\n sku_id: { type: String, optional: false },\n product_name: { type: String, optional: false },\n product_image: { type: String, optional: false },\n sku_specifications: { type: \"Any\", optional: false },\n price: { type: Number, optional: false },\n original_price: { type: Number, optional: false },\n member_price: { type: Number, optional: false },\n quantity: { type: Number, optional: false },\n shop_id: { type: String, optional: true },\n shop_name: { type: String, optional: true },\n merchant_id: { type: String, optional: true }\n };\n },\n name: \"CheckoutItemType\"\n };\n }\n constructor(options, metadata = CheckoutItemType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.product_id = this.__props__.product_id;\n this.sku_id = this.__props__.sku_id;\n this.product_name = this.__props__.product_name;\n this.product_image = this.__props__.product_image;\n this.sku_specifications = this.__props__.sku_specifications;\n this.price = this.__props__.price;\n this.original_price = this.__props__.original_price;\n this.member_price = this.__props__.member_price;\n this.quantity = this.__props__.quantity;\n this.shop_id = this.__props__.shop_id;\n this.shop_name = this.__props__.shop_name;\n this.merchant_id = this.__props__.merchant_id;\n delete this.__props__;\n }\n}\nclass DeliveryOptionType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n price: { type: Number, optional: false },\n description: { type: String, optional: false }\n };\n },\n name: \"DeliveryOptionType\"\n };\n }\n constructor(options, metadata = DeliveryOptionType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.price = this.__props__.price;\n this.description = this.__props__.description;\n delete this.__props__;\n }\n}\nclass ShopGroupType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n shopId: { type: String, optional: false },\n shopName: { type: String, optional: false },\n merchant_id: { type: String, optional: false },\n items: { type: \"Unknown\", optional: false }\n };\n },\n name: \"ShopGroupType\"\n };\n }\n constructor(options, metadata = ShopGroupType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.shopId = this.__props__.shopId;\n this.shopName = this.__props__.shopName;\n this.merchant_id = this.__props__.merchant_id;\n this.items = this.__props__.items;\n delete this.__props__;\n }\n}\nclass CouponTemplateType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n name: { type: String, optional: false },\n discount_value: { type: Number, optional: false },\n min_order_amount: { type: Number, optional: false }\n };\n },\n name: \"CouponTemplateType\"\n };\n }\n constructor(options, metadata = CouponTemplateType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.name = this.__props__.name;\n this.discount_value = this.__props__.discount_value;\n this.min_order_amount = this.__props__.min_order_amount;\n delete this.__props__;\n }\n}\nclass UserCouponType extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n template: { type: CouponTemplateType, optional: true }\n };\n },\n name: \"UserCouponType\"\n };\n }\n constructor(options, metadata = UserCouponType.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.template = this.__props__.template;\n delete this.__props__;\n }\n}\nclass AddressItem extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n recipient_name: { type: String, optional: false },\n phone: { type: String, optional: false },\n province: { type: String, optional: false },\n city: { type: String, optional: false },\n district: { type: String, optional: false },\n detail: { type: String, optional: false },\n is_default: { type: Boolean, optional: false }\n };\n },\n name: \"AddressItem\"\n };\n }\n constructor(options, metadata = AddressItem.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.recipient_name = this.__props__.recipient_name;\n this.phone = this.__props__.phone;\n this.province = this.__props__.province;\n this.city = this.__props__.city;\n this.district = this.__props__.district;\n this.detail = this.__props__.detail;\n this.is_default = this.__props__.is_default;\n delete this.__props__;\n }\n}\nclass NewAddressData extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n phone: { type: String, optional: false },\n province: { type: String, optional: false },\n city: { type: String, optional: false },\n district: { type: String, optional: false },\n detail: { type: String, optional: false },\n isDefault: { type: Boolean, optional: false }\n };\n },\n name: \"NewAddressData\"\n };\n }\n constructor(options, metadata = NewAddressData.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.phone = this.__props__.phone;\n this.province = this.__props__.province;\n this.city = this.__props__.city;\n this.district = this.__props__.district;\n this.detail = this.__props__.detail;\n this.isDefault = this.__props__.isDefault;\n delete this.__props__;\n }\n}\nclass NewAddressForm extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n recipient_name: { type: String, optional: false },\n phone: { type: String, optional: false },\n province: { type: String, optional: false },\n city: { type: String, optional: false },\n district: { type: String, optional: false },\n detail: { type: String, optional: false },\n is_default: { type: Boolean, optional: false }\n };\n },\n name: \"NewAddressForm\"\n };\n }\n constructor(options, metadata = NewAddressForm.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.recipient_name = this.__props__.recipient_name;\n this.phone = this.__props__.phone;\n this.province = this.__props__.province;\n this.city = this.__props__.city;\n this.district = this.__props__.district;\n this.detail = this.__props__.detail;\n this.is_default = this.__props__.is_default;\n delete this.__props__;\n }\n}\nclass MockAddress extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n name: { type: String, optional: false },\n phone: { type: String, optional: false },\n province: { type: String, optional: false },\n city: { type: String, optional: false },\n district: { type: String, optional: false },\n detail: { type: String, optional: false },\n isDefault: { type: Boolean, optional: false }\n };\n },\n name: \"MockAddress\"\n };\n }\n constructor(options, metadata = MockAddress.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.name = this.__props__.name;\n this.phone = this.__props__.phone;\n this.province = this.__props__.province;\n this.city = this.__props__.city;\n this.district = this.__props__.district;\n this.detail = this.__props__.detail;\n this.isDefault = this.__props__.isDefault;\n delete this.__props__;\n }\n}\n// 添加对象 keys 获取函数\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'checkout',\n setup(__props) {\n function getObjectKeys(obj) {\n const keys = [];\n // UTS 兼容的对象属性获取方式\n const tempObj = obj;\n // 使用 try-catch 安全获取对象属性\n try {\n // 假设我们知道一些常见的属性名\n const commonKeys = ['id', 'name', 'value', 'label', 'key', 'recipient_name', 'phone', 'province', 'city', 'district', 'detail', 'is_default'];\n for (let i = 0; i < commonKeys.length; i++) {\n const key = commonKeys[i];\n // 替换 hasOwnProperty 检查\n if (tempObj[key] !== null) { // 移除对 undefined 的检查\n keys.push(key);\n }\n }\n }\n catch (e) {\n // 捕获异常,避免编译错误\n }\n return keys;\n }\n const checkoutItems = ref([]);\n const selectedAddress = ref(null);\n const deliveryOptions = ref([\n new DeliveryOptionType({ id: 'express', name: '物流快递', price: 8.00, description: '普通快递配送' }),\n new DeliveryOptionType({ id: 'local', name: '同城配送', price: 15.00, description: '同城极速上门' })\n ]);\n const selectedDelivery = ref('express');\n const selectedCoupon = ref(null);\n const remark = ref('');\n const showAddressPopup = ref(false);\n const addressList = ref([]);\n const newAddress = ref(new NewAddressForm({\n recipient_name: '',\n phone: '',\n province: '',\n city: '',\n district: '',\n detail: '',\n is_default: false\n }));\n const showNewAddressForm = ref(false);\n const showSaveConfirm = ref(false);\n const smartAddressInput = ref('');\n const toUTSJSONObject = (value = null) => {\n if (UTS.isInstanceOf(value, UTSJSONObject))\n return value;\n return UTS.JSON.parse(UTS.JSON.stringify(value !== null && value !== void 0 ? value : new UTSJSONObject({})));\n };\n // 计算属性 - 修复价格同步问题\n // 按店铺分组商品\n const shopGroups = computed(() => {\n const groups = [];\n checkoutItems.value.forEach((item) => {\n var _a, _b, _c, _d;\n const shopId = (_a = item.shop_id) !== null && _a !== void 0 ? _a : 'unknown';\n let target = null;\n for (let i = 0; i < groups.length; i++) {\n if (groups[i].shopId == shopId) {\n target = groups[i];\n break;\n }\n }\n if (target == null) {\n target = {\n shopId: shopId,\n shopName: (_b = item.shop_name) !== null && _b !== void 0 ? _b : '商城优选',\n merchant_id: (_d = (_c = item.merchant_id) !== null && _c !== void 0 ? _c : item.shop_id) !== null && _d !== void 0 ? _d : '',\n items: []\n };\n groups.push(target);\n }\n target.items.push(item);\n });\n return groups;\n });\n const getGroupTotal = (group) => {\n let sum = 0;\n group.items.forEach((item) => {\n // 优先使用会员价,如果没有会员价则使用原价\n let price = item.price;\n if (item.member_price != null && item.member_price > 0 && item.member_price < item.price) {\n price = item.member_price;\n }\n const quantity = item.quantity;\n if (isNaN(price) == false && isNaN(quantity) == false) {\n sum += (price * quantity);\n }\n });\n return sum.toFixed(2);\n };\n const totalAmount = computed(() => {\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:493', '计算商品总价,checkoutItems:', checkoutItems.value);\n if (checkoutItems.value.length == 0) {\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:495', '商品列表为空,返回0');\n return 0;\n }\n // 确保每个商品的价格和数量都是数字类型,并计算总和\n const total = checkoutItems.value.reduce((sum, item) => {\n // 确保item存在且包含必要的属性\n if (item == null)\n return sum;\n // 优先使用会员价,如果没有会员价则使用原价\n let price = item.price;\n if (item.member_price != null && item.member_price > 0 && item.member_price < item.price) {\n price = item.member_price;\n }\n const quantity = item.quantity;\n // 验证转换后的数字是否有效\n if (isNaN(price) || isNaN(quantity) || price <= 0 || quantity <= 0) {\n uni.__f__('warn', 'at pages/mall/consumer/checkout.uvue:513', '商品价格或数量无效:', item, 'price:', price, 'quantity:', quantity);\n return sum;\n }\n const itemTotal = price * quantity;\n return sum + itemTotal;\n }, 0);\n return total;\n });\n const deliveryFee = computed(() => {\n var _a;\n const option = UTS.arrayFind(deliveryOptions.value, opt => { return opt.id === selectedDelivery.value; });\n return (_a = option === null || option === void 0 ? null : option.price) !== null && _a !== void 0 ? _a : 0;\n });\n const discountAmount = computed(() => {\n var _a;\n const coupon = (_a = selectedCoupon.value) === null || _a === void 0 ? null : _a.template;\n if (coupon == null)\n return 0;\n // 确保使用计算后的商品总价进行比较 (should be min_order_amount)\n if (totalAmount.value < coupon.min_order_amount)\n return 0;\n // 简单处理:假设都是满减券\n return coupon.discount_value;\n });\n const actualAmount = computed(() => {\n // 确保所有值都是数字类型\n const total = typeof totalAmount.value === 'number' ? totalAmount.value : 0;\n const delivery = typeof deliveryFee.value === 'number' ? deliveryFee.value : 0;\n const discount = typeof discountAmount.value === 'number' ? discountAmount.value : 0;\n // 正确计算:商品总价 + 运费 - 优惠减免\n let amount = total + delivery - discount;\n // 金额必须大于等于0\n return amount > 0 ? amount : 0;\n });\n // 监听checkoutItems变化 - 调试用\n watch(checkoutItems, (newItems) => {\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:554', 'checkoutItems变化了:', newItems);\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:555', '商品总价计算:', totalAmount.value);\n }, { deep: true });\n // 处理商品数据清洗\n const processCheckoutItems = (items) => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l, _m, _p, _q, _r, _s, _u;\n // 获取会员折扣信息\n let memberDiscount = 1.0;\n try {\n const memberInfo = yield supabaseService.getUserMemberInfo();\n const discountRaw = memberInfo.get('discount');\n if (discountRaw != null) {\n memberDiscount = discountRaw;\n }\n }\n catch (e) {\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:569', '获取会员信息失败,使用默认折扣:', e);\n }\n // 数据清洗:确保价格和数量是数字类型\n const converted = [];\n if (items != null && items.length > 0) {\n for (let i = 0; i < items.length; i++) {\n const obj = toUTSJSONObject(items[i]);\n const id = (_a = obj.getString('id')) !== null && _a !== void 0 ? _a : '';\n const productId = (_c = (_b = obj.getString('product_id')) !== null && _b !== void 0 ? _b : obj.getString('productId')) !== null && _c !== void 0 ? _c : id;\n const skuId = (_g = (_d = obj.getString('sku_id')) !== null && _d !== void 0 ? _d : obj.getString('skuId')) !== null && _g !== void 0 ? _g : id;\n const productName = (_j = (_h = obj.getString('product_name')) !== null && _h !== void 0 ? _h : obj.getString('name')) !== null && _j !== void 0 ? _j : '';\n const productImage = (_l = (_k = obj.getString('product_image')) !== null && _k !== void 0 ? _k : obj.getString('image')) !== null && _l !== void 0 ? _l : '';\n let specs = new UTSJSONObject({});\n const skuSpecsAny = obj.get('sku_specifications');\n if (skuSpecsAny != null) {\n specs = skuSpecsAny;\n }\n else {\n const specAny = obj.get('spec');\n if (specAny != null)\n specs = { spec: specAny };\n }\n let price = 0;\n const priceAny = obj.get('price');\n if (priceAny != null) {\n const parsed = parseFloat(priceAny.toString());\n if (isNaN(parsed) == false)\n price = parsed;\n }\n let quantity = 1;\n const quantityAny = obj.get('quantity');\n if (quantityAny != null) {\n const parsedQ = parseInt(quantityAny.toString());\n if (isNaN(parsedQ) == false && parsedQ >= 1)\n quantity = parsedQ;\n }\n const shopId = (_p = (_m = obj.getString('shop_id')) !== null && _m !== void 0 ? _m : obj.getString('shopId')) !== null && _p !== void 0 ? _p : 'unknown';\n const shopName = (_r = (_q = obj.getString('shop_name')) !== null && _q !== void 0 ? _q : obj.getString('shopName')) !== null && _r !== void 0 ? _r : '';\n const merchantId = (_u = (_s = obj.getString('merchant_id')) !== null && _s !== void 0 ? _s : obj.getString('merchantId')) !== null && _u !== void 0 ? _u : '';\n // 计算会员价\n let memberPrice = 0;\n if (memberDiscount > 0 && memberDiscount < 1 && price > 0) {\n memberPrice = Math.round(price * memberDiscount * 100) / 100;\n }\n converted.push(new CheckoutItemType({\n id: id,\n product_id: productId,\n sku_id: skuId,\n product_name: productName,\n product_image: productImage,\n sku_specifications: specs,\n price: parseFloat(price.toFixed(2)),\n original_price: parseFloat(price.toFixed(2)),\n member_price: memberPrice,\n quantity: quantity,\n shop_id: shopId,\n shop_name: shopName,\n merchant_id: merchantId\n }));\n }\n }\n checkoutItems.value = converted;\n // 调试:打印每个商品的价格\n if (checkoutItems.value.length > 0) {\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:636', '清洗后商品价格明细:');\n checkoutItems.value.forEach((item, index) => {\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:638', `商品${index}:`, item.product_name, '原价:', item.price, '会员价:', item.member_price, 'shop:', item.shop_id);\n });\n }\n }); };\n // 获取当前用户ID\n function getCurrentUserId() {\n const userId = supabaseService.getCurrentUserId();\n return userId !== null && userId !== void 0 ? userId : '';\n }\n // 生命周期\n onMounted(() => {\n // 监听地址更新事件\n uni.$on('addressUpdated', (updatedAddressList) => {\n addressList.value = updatedAddressList;\n // 如果当前没有选中地址,尝试选择默认地址\n if (selectedAddress.value == null && addressList.value.length > 0) {\n let defaultAddress = null;\n for (let i = 0; i < addressList.value.length; i++) {\n const addr = addressList.value[i];\n if (addr.is_default) {\n defaultAddress = addr;\n break;\n }\n }\n if (defaultAddress != null)\n selectedAddress.value = defaultAddress;\n }\n });\n });\n // 组件卸载时移除事件监听\n onUnmounted(() => {\n uni.$off('addressUpdated');\n uni.$off('checkoutPageShow');\n // 离开页面时清除结算数据,防止下次进入时显示旧数据\n uni.removeStorageSync('checkout_type');\n uni.removeStorageSync('checkout_items');\n });\n // 加载默认地址\n function loadDefaultAddress() {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l, _m, _p, _q, _r;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // 首先检查用户是否登录\n const currentUserId = getCurrentUserId();\n // 如果用户已登录,尝试从Supabase加载地址数据\n if (currentUserId != '') {\n const supabaseAddresses = yield supabaseService.getAddresses();\n if (supabaseAddresses != null && supabaseAddresses.length > 0) {\n // 查找默认地址\n const defaultAddress = UTS.arrayFind(supabaseAddresses, (addr) => { return addr.is_default === true; });\n if (defaultAddress != null) {\n // 转换地址格式以匹配selectedAddress的结构\n const addr = new AddressItem({\n id: defaultAddress.id,\n recipient_name: defaultAddress.recipient_name,\n phone: defaultAddress.phone,\n province: defaultAddress.province,\n city: defaultAddress.city,\n district: defaultAddress.district,\n detail: defaultAddress.detail_address,\n is_default: defaultAddress.is_default\n });\n selectedAddress.value = addr;\n }\n else {\n // 如果没有默认地址,使用第一个地址\n const firstAddress = supabaseAddresses[0];\n const addr = new AddressItem({\n id: firstAddress.id,\n recipient_name: firstAddress.recipient_name,\n phone: firstAddress.phone,\n province: firstAddress.province,\n city: firstAddress.city,\n district: firstAddress.district,\n detail: firstAddress.detail_address,\n is_default: firstAddress.is_default\n });\n selectedAddress.value = addr;\n }\n // 同时更新本地存储缓存\n const localAddresses = [];\n for (let i = 0; i < supabaseAddresses.length; i++) {\n const addr = supabaseAddresses[i];\n localAddresses.push(new UTSJSONObject({\n id: addr.id,\n name: addr.recipient_name,\n phone: addr.phone,\n province: addr.province,\n city: addr.city,\n district: addr.district,\n detail: addr.detail_address,\n isDefault: addr.is_default\n }));\n }\n uni.setStorageSync('addresses', UTS.JSON.stringify(localAddresses));\n }\n }\n // 如果Supabase没有地址数据或用户未登录,尝试从本地存储加载\n if (selectedAddress.value == null) {\n const storedAddresses = uni.getStorageSync('addresses');\n const storedAddressesStr = storedAddresses != null ? storedAddresses.toString() : '';\n if (storedAddressesStr != '') {\n try {\n const addresses = UTS.JSON.parse(storedAddressesStr);\n if (addresses != null && addresses.length > 0) {\n let picked = null;\n for (let i = 0; i < addresses.length; i++) {\n const obj = toUTSJSONObject(addresses[i]);\n const isDef = (_b = (_a = obj.getBoolean('isDefault')) !== null && _a !== void 0 ? _a : obj.getBoolean('is_default')) !== null && _b !== void 0 ? _b : false;\n if (isDef) {\n picked = obj;\n break;\n }\n }\n if (picked == null)\n picked = toUTSJSONObject(addresses[0]);\n const addr = new AddressItem({\n id: (_c = picked.getString('id')) !== null && _c !== void 0 ? _c : '',\n recipient_name: (_g = (_d = picked.getString('recipient_name')) !== null && _d !== void 0 ? _d : picked.getString('name')) !== null && _g !== void 0 ? _g : '',\n phone: (_h = picked.getString('phone')) !== null && _h !== void 0 ? _h : '',\n province: (_j = picked.getString('province')) !== null && _j !== void 0 ? _j : '',\n city: (_k = picked.getString('city')) !== null && _k !== void 0 ? _k : '',\n district: (_l = picked.getString('district')) !== null && _l !== void 0 ? _l : '',\n detail: (_p = (_m = picked.getString('detail')) !== null && _m !== void 0 ? _m : picked.getString('detail_address')) !== null && _p !== void 0 ? _p : '',\n is_default: (_r = (_q = picked.getBoolean('isDefault')) !== null && _q !== void 0 ? _q : picked.getBoolean('is_default')) !== null && _r !== void 0 ? _r : false\n });\n selectedAddress.value = addr;\n }\n }\n catch (err) {\n uni.__f__('error', 'at pages/mall/consumer/checkout.uvue:772', '解析本地地址数据失败:', err);\n }\n }\n }\n // 如果仍然没有地址,使用模拟地址数据\n if (selectedAddress.value == null) {\n // 模拟地址数据\n const mockAddresses = [\n new MockAddress({\n id: 'addr_001',\n name: '张三',\n phone: '13800138001',\n province: '北京市',\n city: '北京市',\n district: '朝阳区',\n detail: '建国路88号SOHO现代城A座1001',\n isDefault: true\n }),\n new MockAddress({\n id: 'addr_002',\n name: '李四',\n phone: '13900139001',\n province: '上海市',\n city: '上海市',\n district: '浦东新区',\n detail: '陆家嘴环路1000号汇亚大厦20层',\n isDefault: false\n })\n ];\n // 保存模拟地址到本地存储\n uni.setStorageSync('addresses', UTS.JSON.stringify(mockAddresses));\n // 使用第一个地址作为默认地址\n const first = mockAddresses[0];\n const addr = new AddressItem({\n id: first.id,\n recipient_name: first.name,\n phone: first.phone,\n province: first.province,\n city: first.city,\n district: first.district,\n detail: first.detail,\n is_default: first.isDefault\n });\n selectedAddress.value = addr;\n }\n }\n catch (error) {\n uni.__f__('error', 'at pages/mall/consumer/checkout.uvue:822', '加载地址失败:', error);\n }\n });\n }\n // 用户登录状态\n const isLoggedIn = computed(() => {\n const userId = getCurrentUserId();\n return userId != '';\n });\n // 获取完整地址\n const getFullAddress = (address) => {\n return `${address.province}${address.city}${address.district}${address.detail}`;\n };\n // 加载地址列表\n function loadAddressList() {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l, _m, _p;\n return __awaiter(this, void 0, void 0, function* () {\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:839', '[loadAddressList] 开始加载地址列表');\n try {\n const currentUserId = getCurrentUserId();\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:842', '[loadAddressList] currentUserId:', currentUserId);\n if (currentUserId != '') {\n const supabaseAddresses = yield supabaseService.getAddresses();\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:846', '[loadAddressList] supabaseAddresses 数量:', supabaseAddresses != null ? supabaseAddresses.length : 0);\n if (supabaseAddresses != null && supabaseAddresses.length > 0) {\n const list = [];\n const localAddresses = [];\n for (let i = 0; i < supabaseAddresses.length; i++) {\n const addr = supabaseAddresses[i];\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:853', '[loadAddressList] 地址', i, ':', addr.recipient_name, addr.phone, addr.detail_address);\n list.push(new AddressItem({\n id: addr.id,\n recipient_name: addr.recipient_name,\n phone: addr.phone,\n province: addr.province,\n city: addr.city,\n district: addr.district,\n detail: addr.detail_address,\n is_default: addr.is_default\n }));\n localAddresses.push(new UTSJSONObject({\n id: addr.id,\n name: addr.recipient_name,\n phone: addr.phone,\n province: addr.province,\n city: addr.city,\n district: addr.district,\n detail: addr.detail_address,\n isDefault: addr.is_default\n }));\n }\n addressList.value = list;\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:876', '[loadAddressList] addressList.value 设置完成, 数量:', addressList.value.length);\n uni.setStorageSync('addresses', UTS.JSON.stringify(localAddresses));\n }\n }\n if (addressList.value.length == 0) {\n const storedAddresses = uni.getStorageSync('addresses');\n const storedAddressesStr = storedAddresses != null ? storedAddresses.toString() : '';\n if (storedAddressesStr != '') {\n try {\n const addresses = UTS.JSON.parse(storedAddressesStr);\n if (addresses != null && addresses.length > 0) {\n const list = [];\n for (let i = 0; i < addresses.length; i++) {\n const obj = toUTSJSONObject(addresses[i]);\n list.push(new AddressItem({\n id: (_a = obj.getString('id')) !== null && _a !== void 0 ? _a : '',\n recipient_name: (_c = (_b = obj.getString('recipient_name')) !== null && _b !== void 0 ? _b : obj.getString('name')) !== null && _c !== void 0 ? _c : '',\n phone: (_d = obj.getString('phone')) !== null && _d !== void 0 ? _d : '',\n province: (_g = obj.getString('province')) !== null && _g !== void 0 ? _g : '',\n city: (_h = obj.getString('city')) !== null && _h !== void 0 ? _h : '',\n district: (_j = obj.getString('district')) !== null && _j !== void 0 ? _j : '',\n detail: (_l = (_k = obj.getString('detail')) !== null && _k !== void 0 ? _k : obj.getString('detail_address')) !== null && _l !== void 0 ? _l : '',\n is_default: (_p = (_m = obj.getBoolean('isDefault')) !== null && _m !== void 0 ? _m : obj.getBoolean('is_default')) !== null && _p !== void 0 ? _p : false\n }));\n }\n addressList.value = list;\n }\n else {\n addressList.value = [];\n }\n }\n catch (err) {\n addressList.value = [];\n }\n }\n else {\n addressList.value = [];\n }\n }\n if (addressList.value.length == 0) {\n const mockAddresses = [\n new MockAddress({\n id: 'addr_001',\n name: '张三',\n phone: '13800138001',\n province: '北京市',\n city: '北京市',\n district: '朝阳区',\n detail: '建国路88号SOHO现代城A座1001',\n isDefault: true\n }),\n new MockAddress({\n id: 'addr_002',\n name: '李四',\n phone: '13900139001',\n province: '上海市',\n city: '上海市',\n district: '浦东新区',\n detail: '陆家嘴环路1000号汇亚大厦20层',\n isDefault: false\n })\n ];\n uni.setStorageSync('addresses', UTS.JSON.stringify(mockAddresses));\n const list = [];\n for (let i = 0; i < mockAddresses.length; i++) {\n const addr = mockAddresses[i];\n list.push(new AddressItem({\n id: addr.id,\n recipient_name: addr.name,\n phone: addr.phone,\n province: addr.province,\n city: addr.city,\n district: addr.district,\n detail: addr.detail,\n is_default: addr.isDefault\n }));\n }\n addressList.value = list;\n }\n }\n catch (error) {\n uni.__f__('error', 'at pages/mall/consumer/checkout.uvue:957', '加载地址列表失败:', error);\n }\n });\n }\n // 从本地存储加载结算数据(例如从购物车进入)\n function loadFromLocalStorage() {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const cartData = uni.getStorageSync('cart');\n const cartDataStr = cartData != null ? cartData.toString() : '';\n if (cartDataStr != '') {\n try {\n const cartItems = UTS.JSON.parse(cartDataStr);\n const selectedCartItems = [];\n for (let i = 0; i < cartItems.length; i++) {\n const obj = toUTSJSONObject(cartItems[i]);\n const selected = (_a = obj.getBoolean('selected')) !== null && _a !== void 0 ? _a : false;\n if (selected)\n selectedCartItems.push(obj);\n }\n if (selectedCartItems.length > 0) {\n yield processCheckoutItems(selectedCartItems);\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/checkout.uvue:978', '解析购物车数据失败:', e);\n }\n }\n loadDefaultAddress();\n });\n }\n // 加载结算数据(兼容旧版本,现在主要在onLoad中处理)\n function loadCheckoutData() {\n loadFromLocalStorage();\n }\n // 初始化加载数据\n function initCheckoutData() {\n return __awaiter(this, void 0, void 0, function* () {\n let dataLoaded = false;\n const checkoutTypeAny = uni.getStorageSync('checkout_type');\n const checkoutType = checkoutTypeAny != null ? checkoutTypeAny.toString() : '';\n if (checkoutType == 'buy_now' || checkoutType == 'cart') {\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:995', `检测到结算模式(${checkoutType}),从Storage加载数据`);\n const itemsStrAny = uni.getStorageSync('checkout_items');\n const itemsStr = itemsStrAny != null ? itemsStrAny.toString() : '';\n if (itemsStr != '') {\n try {\n const items = UTS.JSON.parse(itemsStr);\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:1001', '从Storage加载的商品数据:', items);\n if (items != null && Array.isArray(items) && items.length > 0) {\n yield processCheckoutItems(items);\n dataLoaded = true;\n }\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/checkout.uvue:1007', '解析结算数据失败', e);\n }\n }\n }\n if (dataLoaded == false) {\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:1013', '未找到预结算数据,尝试从购物车本地存储加载');\n yield loadFromLocalStorage();\n }\n loadDefaultAddress();\n loadAddressList();\n });\n }\n onLoad((options = null) => {\n initCheckoutData();\n });\n // 页面显示时触发\n function onShow() {\n const userId = getCurrentUserId();\n if (userId != '') {\n loadDefaultAddress();\n loadAddressList();\n }\n }\n uni.$on('checkoutPageShow', onShow);\n // 选择地址\n const handleSelectAddress = (address) => {\n selectedAddress.value = address;\n showAddressPopup.value = false;\n };\n // 新建地址\n const handleAddNewAddress = () => {\n showNewAddressForm.value = true;\n };\n // 保存新地址\n const saveNewAddress = () => { return __awaiter(this, void 0, void 0, function* () {\n if (newAddress.value.recipient_name == '' || newAddress.value.phone == '' || newAddress.value.detail == '') {\n uni.showToast({\n title: '请填写完整信息',\n icon: 'none'\n });\n return Promise.resolve(null);\n }\n // 触发保存确认弹窗\n showSaveConfirm.value = true;\n }); };\n // 处理保存确认\n const handleSaveConfirm = (save) => { return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _g, _h, _j, _k, _l, _m, _p, _q, _r, _s, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;\n showSaveConfirm.value = false;\n const newAddressData = new NewAddressData({\n id: `addr_${Date.now()}`,\n name: newAddress.value.recipient_name,\n phone: newAddress.value.phone,\n province: newAddress.value.province,\n city: newAddress.value.city,\n district: newAddress.value.district,\n detail: newAddress.value.detail,\n isDefault: newAddress.value.is_default\n });\n if (save) {\n const storedAddresses = uni.getStorageSync('addresses');\n let addresses = [];\n const storedAddressesStr = storedAddresses != null ? storedAddresses.toString() : '';\n if (storedAddressesStr != '') {\n try {\n addresses = UTS.JSON.parse(storedAddressesStr);\n }\n catch (e) {\n addresses = [];\n }\n }\n const normalized = [];\n for (let i = 0; i < addresses.length; i++) {\n const obj = toUTSJSONObject(addresses[i]);\n const isDef = (_b = (_a = obj.getBoolean('isDefault')) !== null && _a !== void 0 ? _a : obj.getBoolean('is_default')) !== null && _b !== void 0 ? _b : false;\n normalized.push(new UTSJSONObject({\n id: (_c = obj.getString('id')) !== null && _c !== void 0 ? _c : '',\n name: (_g = (_d = obj.getString('name')) !== null && _d !== void 0 ? _d : obj.getString('recipient_name')) !== null && _g !== void 0 ? _g : '',\n phone: (_h = obj.getString('phone')) !== null && _h !== void 0 ? _h : '',\n province: (_j = obj.getString('province')) !== null && _j !== void 0 ? _j : '',\n city: (_k = obj.getString('city')) !== null && _k !== void 0 ? _k : '',\n district: (_l = obj.getString('district')) !== null && _l !== void 0 ? _l : '',\n detail: (_p = (_m = obj.getString('detail')) !== null && _m !== void 0 ? _m : obj.getString('detail_address')) !== null && _p !== void 0 ? _p : '',\n isDefault: newAddressData.isDefault ? false : isDef,\n label: (_q = obj.getString('label')) !== null && _q !== void 0 ? _q : ''\n }));\n }\n if (normalized.length === 0 && newAddressData.isDefault == false) {\n newAddressData.isDefault = true;\n }\n normalized.unshift(newAddressData);\n uni.setStorageSync('addresses', UTS.JSON.stringify(normalized));\n const updatedList = [];\n for (let i = 0; i < normalized.length; i++) {\n const obj = toUTSJSONObject(normalized[i]);\n updatedList.push(new AddressItem({\n id: (_r = obj.getString('id')) !== null && _r !== void 0 ? _r : '',\n recipient_name: (_u = (_s = obj.getString('recipient_name')) !== null && _s !== void 0 ? _s : obj.getString('name')) !== null && _u !== void 0 ? _u : '',\n phone: (_v = obj.getString('phone')) !== null && _v !== void 0 ? _v : '',\n province: (_w = obj.getString('province')) !== null && _w !== void 0 ? _w : '',\n city: (_x = obj.getString('city')) !== null && _x !== void 0 ? _x : '',\n district: (_y = obj.getString('district')) !== null && _y !== void 0 ? _y : '',\n detail: (_0 = (_z = obj.getString('detail')) !== null && _z !== void 0 ? _z : obj.getString('detail_address')) !== null && _0 !== void 0 ? _0 : '',\n is_default: (_2 = (_1 = obj.getBoolean('isDefault')) !== null && _1 !== void 0 ? _1 : obj.getBoolean('is_default')) !== null && _2 !== void 0 ? _2 : false\n }));\n }\n uni.$emit('addressUpdated', updatedList);\n }\n const checkoutFormatAddress = new AddressItem({\n id: (_3 = newAddressData.id) !== null && _3 !== void 0 ? _3 : '',\n recipient_name: (_4 = newAddressData.name) !== null && _4 !== void 0 ? _4 : '',\n phone: (_5 = newAddressData.phone) !== null && _5 !== void 0 ? _5 : '',\n province: newAddressData.province,\n city: newAddressData.city,\n district: newAddressData.district,\n detail: newAddressData.detail,\n is_default: newAddressData.isDefault\n });\n if (checkoutFormatAddress.is_default) {\n for (let i = 0; i < addressList.value.length; i++) {\n addressList.value[i].is_default = false;\n }\n }\n addressList.value.unshift(checkoutFormatAddress);\n if (checkoutFormatAddress.is_default || selectedAddress.value == null) {\n selectedAddress.value = checkoutFormatAddress;\n }\n newAddress.value = new NewAddressForm({\n recipient_name: '',\n phone: '',\n province: '',\n city: '',\n district: '',\n detail: '',\n is_default: false\n });\n smartAddressInput.value = '';\n showNewAddressForm.value = false;\n uni.showToast({\n title: '地址保存成功',\n icon: 'success'\n });\n }); };\n // 解析智能地址\n const parseSmartAddress = () => {\n var e_1, _a;\n var _b, _c, _d, _g;\n const input = smartAddressInput.value.trim();\n if (input == '')\n return null;\n newAddress.value.recipient_name = '';\n newAddress.value.phone = '';\n newAddress.value.province = '';\n newAddress.value.city = '';\n newAddress.value.district = '';\n newAddress.value.detail = '';\n const phoneRegex = /(1[3-9]\\d{9})/g;\n const phoneMatches = input.match(phoneRegex);\n if (phoneMatches != null && phoneMatches.length > 0) {\n newAddress.value.phone = (_b = phoneMatches[0]) !== null && _b !== void 0 ? _b : '';\n }\n const nameRegex = /([\\u4e00-\\u9fa5]{2,4})/g;\n const nameMatches = input.match(nameRegex);\n if (nameMatches != null && nameMatches.length > 0) {\n newAddress.value.recipient_name = (_c = nameMatches[0]) !== null && _c !== void 0 ? _c : '';\n }\n let addressText = input;\n if (newAddress.value.recipient_name != '') {\n addressText = addressText.replace(newAddress.value.recipient_name, '');\n }\n if (newAddress.value.phone != '') {\n addressText = addressText.replace(newAddress.value.phone, '');\n }\n addressText = addressText.replace(/[,,;;\\s]+/g, ' ').trim();\n const patterns = [\n /^(.*?省)?(.*?市)?(.*?[区县])?(.*)$/,\n /^(.*?省)?(.*?市)?(.*)$/\n ];\n try {\n for (var patterns_1 = __values(patterns), patterns_1_1 = patterns_1.next(); !patterns_1_1.done; patterns_1_1 = patterns_1.next()) {\n var pattern = patterns_1_1.value;\n const match = addressText.match(pattern);\n if (match != null) {\n const _h = __read(match, 5), province = _h[1], city = _h[2], district = _h[3], detail = _h[4];\n if (province != null)\n newAddress.value.province = province.replace('省', '').trim();\n if (city != null)\n newAddress.value.city = city.replace('市', '').trim();\n if (district != null)\n newAddress.value.district = district.trim();\n if (detail != null)\n newAddress.value.detail = detail.trim();\n if (newAddress.value.detail == '' && district != null && detail != null) {\n newAddress.value.detail = detail.trim();\n }\n break;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (patterns_1_1 && !patterns_1_1.done && (_a = patterns_1.return)) _a.call(patterns_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (newAddress.value.province == '' && newAddress.value.city == '' && newAddress.value.district == '') {\n const parts = addressText.split(/[省市县区]/);\n if (parts.length >= 2) {\n newAddress.value.province = (_d = parts[0]) !== null && _d !== void 0 ? _d : '';\n newAddress.value.city = (_g = parts[1]) !== null && _g !== void 0 ? _g : '';\n newAddress.value.detail = parts.slice(2).join('').trim();\n if (newAddress.value.detail == '') {\n newAddress.value.detail = addressText;\n }\n }\n else {\n newAddress.value.detail = addressText;\n }\n }\n if (newAddress.value.detail == '' && addressText.trim() != '') {\n newAddress.value.detail = addressText.trim();\n }\n };\n // 取消新建地址\n const cancelNewAddress = () => {\n showNewAddressForm.value = false;\n newAddress.value = new NewAddressForm({\n recipient_name: '',\n phone: '',\n province: '',\n city: '',\n district: '',\n detail: '',\n is_default: false\n });\n smartAddressInput.value = '';\n };\n // 获取规格文本\n function formatSpecs(specs = null) {\n if (specs == null)\n return '';\n try {\n const specsStr = UTS.JSON.stringify(specs);\n if (specsStr == '{}' || specsStr == '[]' || specsStr == '\"\"' || specsStr == '')\n return '';\n // 使用 Record 类型替代 UTSJSONObject 的迭代器方法\n const specsObj = UTS.JSON.parse(specsStr);\n const parts = [];\n // 遍历已知可能的规格键名\n const possibleKeys = ['颜色', '尺寸', '规格', '型号', '版本', '材质', '款式', 'color', 'size', 'spec', 'version', 'style'];\n // 先尝试已知键名\n for (let i = 0; i < possibleKeys.length; i++) {\n const key = possibleKeys[i];\n const value = specsObj[key];\n if (value != null && value.toString() != '') {\n parts.push(`${key}: ${value.toString()}`);\n }\n }\n // 如果已知键名没找到,尝试遍历对象的所有属性\n if (parts.length === 0) {\n // 使用 JSON.stringify 后正则匹配键值对\n const keyValueRegex = /\"([^\"]+)\":\\s*\"([^\"]+)\"/g;\n let match = null;\n while (true) {\n match = keyValueRegex.exec(specsStr);\n if (match == null)\n break;\n const key = match[1];\n const value = match[2];\n if (key != null && value != null && value != '') {\n parts.push(`${key}: ${value}`);\n }\n }\n }\n if (parts.length === 0)\n return '';\n return parts.join('; ');\n }\n catch (e) {\n return '';\n }\n }\n // 选择配送方式\n const selectDelivery = (option) => {\n selectedDelivery.value = option.id;\n };\n // 选择优惠券\n const selectCoupon = () => {\n uni.navigateTo({\n url: '/pages/mall/consumer/coupons',\n success: (res = null) => {\n // 移除事件通道相关代码,避免使用不支持的 API\n // 注释掉事件通道逻辑,因为当前环境不支持 createEventChannel\n // const eventChannel = res.eventChannel || uni.createEventChannel()\n // if (eventChannel && eventChannel.emit) {\n // eventChannel.emit('setSelectMode', { selectMode: true })\n // }\n }\n });\n uni.$on('couponSelected', (coupon = null) => {\n selectedCoupon.value = coupon;\n uni.$off('couponSelected');\n });\n };\n // 提交订单\n const submitOrder = () => { return __awaiter(this, void 0, void 0, function* () {\n if (selectedAddress.value == null) {\n uni.showToast({ title: '请选择收货地址', icon: 'none' });\n return Promise.resolve(null);\n }\n if (checkoutItems.value.length === 0) {\n uni.showToast({ title: '订单中没有商品', icon: 'none' });\n return Promise.resolve(null);\n }\n uni.showLoading({ title: '提交中...' });\n try {\n const userId = supabaseService.getCurrentUserId();\n if (userId == null || userId == '') {\n uni.hideLoading();\n uni.showToast({ title: '请先登录', icon: 'none' });\n return Promise.resolve(null);\n }\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:1354', '[submitOrder] 开始创建订单, userId:', userId);\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:1355', '[submitOrder] shopGroups数量:', shopGroups.value.length);\n const groups = [];\n for (let i = 0; i < shopGroups.value.length; i++) {\n const group = shopGroups.value[i];\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:1360', `[submitOrder] 处理店铺组 ${i}:`, new UTSJSONObject({\n shopId: group.shopId,\n shopName: group.shopName,\n merchant_id: group.merchant_id,\n itemsCount: group.items.length\n }));\n const items = [];\n for (let j = 0; j < group.items.length; j++) {\n const item = group.items[j];\n items.push(new UTSJSONObject({\n id: item.id,\n product_id: item.product_id,\n sku_id: item.sku_id,\n quantity: item.quantity,\n price: item.price,\n member_price: item.member_price,\n product_name: item.product_name,\n product_image: item.product_image,\n specifications: item.sku_specifications\n }));\n }\n const finalMerchantId = (group.merchant_id != null && group.merchant_id != '') ? group.merchant_id : group.shopId;\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:1382', `[submitOrder] 店铺组 ${i} 最终使用的 merchant_id:`, finalMerchantId);\n groups.push(new UTSJSONObject({\n merchant_id: finalMerchantId,\n shopId: group.shopId,\n shopName: group.shopName,\n items: items\n }));\n }\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:1391', '[submitOrder] 准备传递的 groups 数量:', groups.length);\n const result = yield supabaseService.createOrdersByShop(new ShopOrderParams({\n shipping_address: selectedAddress.value !== null ? toUTSJSONObject(selectedAddress.value) : new UTSJSONObject(),\n shopGroups: groups,\n deliveryFee: deliveryFee.value,\n discountAmount: discountAmount.value\n }));\n uni.hideLoading();\n uni.__f__('log', 'at pages/mall/consumer/checkout.uvue:1402', '[submitOrder] 创建结果 success:', result.success);\n if (result.success) {\n try {\n uni.removeStorageSync('checkout_items');\n uni.removeStorageSync('checkout_type');\n }\n catch (e) {\n uni.__f__('error', 'at pages/mall/consumer/checkout.uvue:1408', e);\n }\n const orderIds = result.orderIds;\n if (orderIds.length === 1) {\n uni.navigateTo({\n url: `/pages/mall/consumer/payment?orderId=${orderIds[0]}&amount=${actualAmount.value}`\n });\n }\n else {\n uni.showToast({ title: `成功创建${orderIds.length}个订单`, icon: 'success' });\n setTimeout(() => {\n uni.redirectTo({ url: '/pages/mall/consumer/orders' });\n }, 1500);\n }\n }\n else {\n const errMsg = (result.error != null && result.error !== '') ? result.error : '创建订单失败';\n uni.__f__('error', 'at pages/mall/consumer/checkout.uvue:1423', '[submitOrder] 订单创建失败:', errMsg);\n uni.showToast({ title: errMsg, icon: 'none' });\n }\n }\n catch (err) {\n uni.hideLoading();\n uni.__f__('error', 'at pages/mall/consumer/checkout.uvue:1429', '[submitOrder] 提交订单错误:', err);\n const errMsg = (err.message != null && err.message !== '') ? err.message : '提交订单失败';\n uni.showToast({ title: errMsg, icon: 'none' });\n }\n }); };\n // 生成订单号\n const generateOrderNo = () => {\n const date = new Date();\n // ...\n const random = Math.random().toString().slice(2, 8);\n return `ORD${Date.now()}${random}`;\n };\n // 返回\n const goBack = () => {\n uni.navigateBack();\n };\n // 选择地址\n const selectAddress = () => {\n showAddressPopup.value = true;\n };\n // 添加登录跳转方法\n const goToLogin = () => {\n uni.navigateTo({\n url: '/pages/login/login' // 根据实际登录页面路径调整\n });\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: selectedAddress.value\n }, selectedAddress.value ? _e({\n b: _t(selectedAddress.value.recipient_name),\n c: _t(selectedAddress.value.phone),\n d: selectedAddress.value.is_default\n }, selectedAddress.value.is_default ? {} : {}, {\n e: _t(getFullAddress(selectedAddress.value))\n }) : {}, {\n f: _o(selectAddress),\n g: shopGroups.value.length > 0\n }, shopGroups.value.length > 0 ? {\n h: _f(shopGroups.value, (group, k0, i0) => {\n return {\n a: _t(group.shopName),\n b: _f(group.items, (item, k1, i1) => {\n return _e({\n a: item.product_image,\n b: _t(item.product_name),\n c: _t(item.price),\n d: item.sku_specifications\n }, item.sku_specifications ? {\n e: _t(formatSpecs(item.sku_specifications))\n } : {}, {\n f: _t(item.quantity),\n g: _t((item.price * item.quantity).toFixed(2)),\n h: item.id\n });\n }),\n c: group.shopId\n };\n })\n } : {}, {\n i: _f(deliveryOptions.value, (option, k0, i0) => {\n return {\n a: _t(option.name),\n b: option.id,\n c: _n({\n selected: selectedDelivery.value === option.id\n }),\n d: _o($event => { return selectDelivery(option); }, option.id)\n };\n }),\n j: selectedDelivery.value\n }, selectedDelivery.value ? {\n k: _t(deliveryOptions.value.find(opt => { return opt.id === selectedDelivery.value; })?.description),\n l: _t(deliveryOptions.value.find(opt => { return opt.id === selectedDelivery.value; })?.price.toFixed(2))\n } : {}, {\n m: selectedCoupon.value != null\n }, selectedCoupon.value != null ? {\n n: _t(selectedCoupon.value.template?.name ?? '已选择优惠券')\n } : {}, {\n o: _o(selectCoupon),\n p: remark.value,\n q: _o($event => { return remark.value = $event.detail.value; }),\n r: _t(totalAmount.value.toFixed(2)),\n s: _t(deliveryFee.value.toFixed(2)),\n t: discountAmount.value > 0\n }, discountAmount.value > 0 ? {\n v: _t(discountAmount.value.toFixed(2))\n } : {}, {\n w: _t(actualAmount.value.toFixed(2)),\n x: _o(submitOrder),\n y: showAddressPopup.value\n }, showAddressPopup.value ? _e({\n z: _o($event => { return showAddressPopup.value = false; }),\n A: isLoggedIn.value == false\n }, isLoggedIn.value == false ? {\n B: _o(goToLogin)\n } : {}, {\n C: isLoggedIn.value\n }, isLoggedIn.value ? _e({\n D: addressList.value.length > 0\n }, addressList.value.length > 0 ? {\n E: _f(addressList.value, (address, k0, i0) => {\n return _e({\n a: _t(address.recipient_name),\n b: _t(address.phone),\n c: address.is_default\n }, address.is_default ? {} : {}, {\n d: _t(getFullAddress(address)),\n e: selectedAddress.value !== null && selectedAddress.value.id === address.id\n }, selectedAddress.value !== null && selectedAddress.value.id === address.id ? {} : {}, {\n f: address.id,\n g: _o($event => { return handleSelectAddress(address); }, address.id)\n });\n })\n } : {}) : {}, {\n F: isLoggedIn.value == false && addressList.value.length > 0\n }, isLoggedIn.value == false && addressList.value.length > 0 ? {\n G: _f(addressList.value, (address, k0, i0) => {\n return _e({\n a: _t(address.recipient_name),\n b: _t(address.phone),\n c: address.is_default\n }, address.is_default ? {} : {}, {\n d: _t(getFullAddress(address)),\n e: selectedAddress.value != null && selectedAddress.value.id === address.id\n }, selectedAddress.value != null && selectedAddress.value.id === address.id ? {} : {}, {\n f: address.id,\n g: _o($event => { return handleSelectAddress(address); }, address.id)\n });\n })\n } : {}, {\n H: isLoggedIn.value && addressList.value.length === 0\n }, isLoggedIn.value && addressList.value.length === 0 ? {} : {}, {\n I: _o(handleAddNewAddress),\n J: _o(() => { }),\n K: _o($event => { return showAddressPopup.value = false; })\n }) : {}, {\n L: showNewAddressForm.value\n }, showNewAddressForm.value ? _e({\n M: _o(cancelNewAddress),\n N: newAddress.value.recipient_name,\n O: _o($event => { return newAddress.value.recipient_name = $event.detail.value; }),\n P: newAddress.value.phone,\n Q: _o($event => { return newAddress.value.phone = $event.detail.value; }),\n R: _o([$event => { return smartAddressInput.value = $event.detail.value; }, parseSmartAddress]),\n S: smartAddressInput.value,\n T: newAddress.value.province,\n U: _o($event => { return newAddress.value.province = $event.detail.value; }),\n V: newAddress.value.city,\n W: _o($event => { return newAddress.value.city = $event.detail.value; }),\n X: newAddress.value.district,\n Y: _o($event => { return newAddress.value.district = $event.detail.value; }),\n Z: newAddress.value.detail,\n aa: _o($event => { return newAddress.value.detail = $event.detail.value; }),\n ab: newAddress.value.is_default\n }, newAddress.value.is_default ? {} : {}, {\n ac: _n({\n checked: newAddress.value.is_default\n }),\n ad: _o($event => { return newAddress.value.is_default = !newAddress.value.is_default; }),\n ae: _o(saveNewAddress),\n af: _o(() => { }),\n ag: _o(cancelNewAddress)\n }) : {}, {\n ah: showSaveConfirm.value\n }, showSaveConfirm.value ? {\n ai: _o($event => { return handleSaveConfirm(false); }),\n aj: _o($event => { return handleSaveConfirm(true); })\n } : {}, {\n ak: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/mall/consumer/checkout.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.__f__","uni.$on","uni.$off","uni.removeStorageSync","uni.setStorageSync","uni.getStorageSync","uni.showToast","uni.$emit","uni.navigateTo","uni.showLoading","uni.hideLoading","uni.redirectTo","uni.navigateBack"],"map":"{\"version\":3,\"file\":\"checkout.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"checkout.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/feeff01e7b02fcd2429280f301af39ee31c8d397 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/feeff01e7b02fcd2429280f301af39ee31c8d397 deleted file mode 100644 index e329b4b5..00000000 --- a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/code/cache/feeff01e7b02fcd2429280f301af39ee31c8d397 +++ /dev/null @@ -1 +0,0 @@ -{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, f as _f, gei as _gei, sei as _sei, e as _e } from \"vue\";\nimport { ref, computed, onMounted } from 'vue';\nimport { onShow } from '@dcloudio/uni-app';\nimport { supabaseService, CartItem as SupabaseCartItem, Product } from \"@/utils/supabaseService\";\nclass LocalCartItem extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n shopId: { type: String, optional: false },\n shopName: { type: String, optional: false },\n name: { type: String, optional: false },\n price: { type: Number, optional: false },\n originalPrice: { type: Number, optional: false },\n memberPrice: { type: Number, optional: false },\n image: { type: String, optional: false },\n spec: { type: String, optional: false },\n quantity: { type: Number, optional: false },\n selected: { type: Boolean, optional: false },\n productId: { type: String, optional: false },\n skuId: { type: String, optional: false },\n merchantId: { type: String, optional: false }\n };\n },\n name: \"LocalCartItem\"\n };\n }\n constructor(options, metadata = LocalCartItem.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.shopId = this.__props__.shopId;\n this.shopName = this.__props__.shopName;\n this.name = this.__props__.name;\n this.price = this.__props__.price;\n this.originalPrice = this.__props__.originalPrice;\n this.memberPrice = this.__props__.memberPrice;\n this.image = this.__props__.image;\n this.spec = this.__props__.spec;\n this.quantity = this.__props__.quantity;\n this.selected = this.__props__.selected;\n this.productId = this.__props__.productId;\n this.skuId = this.__props__.skuId;\n this.merchantId = this.__props__.merchantId;\n delete this.__props__;\n }\n}\nclass CartGroup extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n shopId: { type: String, optional: false },\n shopName: { type: String, optional: false },\n merchantId: { type: String, optional: false },\n items: { type: UTS.UTSType.withGenerics(Array, [LocalCartItem]), optional: false }\n };\n },\n name: \"CartGroup\"\n };\n }\n constructor(options, metadata = CartGroup.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.shopId = this.__props__.shopId;\n this.shopName = this.__props__.shopName;\n this.merchantId = this.__props__.merchantId;\n this.items = this.__props__.items;\n delete this.__props__;\n }\n}\nclass RecommendProduct extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n id: { type: String, optional: false },\n shopId: { type: String, optional: false },\n shopName: { type: String, optional: false },\n name: { type: String, optional: false },\n price: { type: Number, optional: false },\n image: { type: String, optional: false },\n skuId: { type: String, optional: false },\n merchant_id: { type: String, optional: false }\n };\n },\n name: \"RecommendProduct\"\n };\n }\n constructor(options, metadata = RecommendProduct.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.id = this.__props__.id;\n this.shopId = this.__props__.shopId;\n this.shopName = this.__props__.shopName;\n this.name = this.__props__.name;\n this.price = this.__props__.price;\n this.image = this.__props__.image;\n this.skuId = this.__props__.skuId;\n this.merchant_id = this.__props__.merchant_id;\n delete this.__props__;\n }\n}\nclass CapsuleButtonInfo extends UTS.UTSType {\n static get$UTSMetadata$() {\n return {\n kind: 2,\n get fields() {\n return {\n left: { type: Number, optional: false },\n top: { type: Number, optional: false },\n right: { type: Number, optional: false },\n bottom: { type: Number, optional: false },\n width: { type: Number, optional: false },\n height: { type: Number, optional: false }\n };\n },\n name: \"CapsuleButtonInfo\"\n };\n }\n constructor(options, metadata = CapsuleButtonInfo.get$UTSMetadata$(), isJSONParse = false) {\n super();\n this.__props__ = UTS.UTSType.initProps(options, metadata, isJSONParse);\n this.left = this.__props__.left;\n this.top = this.__props__.top;\n this.right = this.__props__.right;\n this.bottom = this.__props__.bottom;\n this.width = this.__props__.width;\n this.height = this.__props__.height;\n delete this.__props__;\n }\n}\n// 小程序胶囊按钮信息\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'cart',\n setup(__props) {\n const compareStrings = (a, b) => {\n uni.__f__('log', 'at pages/main/cart.uvue:211', '[compareStrings] a length:', a.length, 'b length:', b.length);\n uni.__f__('log', 'at pages/main/cart.uvue:212', '[compareStrings] a type:', typeof a, 'b type:', typeof b);\n uni.__f__('log', 'at pages/main/cart.uvue:213', '[compareStrings] a value:', UTS.JSON.stringify(a));\n uni.__f__('log', 'at pages/main/cart.uvue:214', '[compareStrings] b value:', UTS.JSON.stringify(b));\n if (a.length !== b.length)\n return false;\n for (let i = 0; i < a.length; i++) {\n const aCode = a.charCodeAt(i);\n const bCode = b.charCodeAt(i);\n if (aCode != null && bCode != null && aCode !== bCode) {\n uni.__f__('log', 'at pages/main/cart.uvue:221', '[compareStrings] mismatch at index:', i, 'a:', aCode, 'b:', bCode);\n return false;\n }\n }\n return true;\n };\n const cartItems = ref([]);\n const recommendProducts = ref([]);\n const recommendPage = ref(1);\n const loading = ref(false);\n const statusBarHeight = ref(0);\n const isManageMode = ref(false);\n const updatingItems = ref(new Set()); // Track items being updated to prevent race conditions\n // 小程序胶囊按钮信息类型\n const capsuleButtonInfo = ref(null);\n const navBarRight = ref(0); // 导航栏右侧预留空间\n // 计算属性\n const cartGroups = computed(() => {\n uni.__f__('log', 'at pages/main/cart.uvue:264', '[cartGroups] 计算购物车分组, cartItems count:', cartItems.value.length);\n const groups = new Map();\n cartItems.value.forEach((item) => {\n uni.__f__('log', 'at pages/main/cart.uvue:268', '[cartGroups] item:', item.id, 'shopId:', item.shopId, 'shopName:', item.shopName);\n const shopKey = item.shopId;\n if (!groups.has(shopKey)) {\n groups.set(shopKey, new CartGroup({\n shopId: item.shopId,\n shopName: item.shopName,\n merchantId: item.merchantId,\n items: []\n }));\n }\n const group = UTS.mapGet(groups, shopKey);\n if (group != null) {\n group.items.push(item);\n }\n });\n const groupArray = [];\n groups.forEach((value) => {\n uni.__f__('log', 'at pages/main/cart.uvue:287', '[cartGroups] group:', value.shopId, 'items count:', value.items.length);\n groupArray.push(value);\n });\n return groupArray;\n });\n const allSelected = computed(() => {\n return cartItems.value.length > 0 && cartItems.value.every((item) => { return item.selected; });\n });\n const selectedCount = computed(() => {\n return cartItems.value.filter((item) => { return item.selected; }).reduce((sum, item) => { return sum + item.quantity; }, 0);\n });\n const totalPrice = computed(() => {\n return cartItems.value\n .filter((item) => { return item.selected; })\n .reduce((sum, item) => {\n // 优先使用会员价,如果没有会员价则使用原价\n const finalPrice = item.memberPrice > 0 && item.memberPrice < item.price ? item.memberPrice : item.price;\n return sum + finalPrice * item.quantity;\n }, 0)\n .toFixed(2);\n });\n // 计算会员节省金额\n const memberSavedAmount = computed(() => {\n return cartItems.value\n .filter((item) => { return item.selected && item.memberPrice > 0 && item.memberPrice < item.price; })\n .reduce((sum, item) => { return sum + (item.price - item.memberPrice) * item.quantity; }, 0)\n .toFixed(2);\n });\n // 检查店铺是否全选\n const isShopSelected = (shopId) => {\n const shopItems = [];\n for (let i = 0; i < cartItems.value.length; i++) {\n if (compareStrings(cartItems.value[i].shopId, shopId)) {\n shopItems.push(cartItems.value[i]);\n }\n }\n if (shopItems.length === 0)\n return false;\n for (let i = 0; i < shopItems.length; i++) {\n if (!shopItems[i].selected)\n return false;\n }\n return true;\n };\n const toggleManageMode = () => {\n isManageMode.value = !isManageMode.value;\n };\n // 初始化页面数据\n const initPage = () => {\n var _a;\n const systemInfo = uni.getSystemInfoSync();\n statusBarHeight.value = (_a = systemInfo.statusBarHeight) !== null && _a !== void 0 ? _a : 0;\n // 获取小程序胶囊按钮信息\n try {\n const menuButton = uni.getMenuButtonBoundingClientRect();\n if (menuButton != null) {\n capsuleButtonInfo.value = {\n left: menuButton.left,\n top: menuButton.top,\n right: menuButton.right,\n bottom: menuButton.bottom,\n width: menuButton.width,\n height: menuButton.height\n };\n navBarRight.value = (systemInfo.screenWidth - menuButton.left) + 10;\n }\n }\n catch (e) {\n uni.__f__('log', 'at pages/main/cart.uvue:360', '获取胶囊按钮信息失败', e);\n navBarRight.value = 90;\n }\n };\n // 生命周期\n onMounted(() => {\n initPage();\n });\n // 提取更新列表的辅助函数以减少重复代码\n const updateRecommendList = (recommends) => {\n recommendProducts.value = recommends.map((p) => {\n var _a, _b, _c, _d, _g, _h, _j;\n return new RecommendProduct({\n id: p.id,\n shopId: (_a = p.merchant_id) !== null && _a !== void 0 ? _a : 'unknown',\n shopName: (_b = p.shop_name) !== null && _b !== void 0 ? _b : '商城推荐',\n name: p.name,\n price: (_d = (_c = p.base_price) !== null && _c !== void 0 ? _c : p.market_price) !== null && _d !== void 0 ? _d : 0,\n image: (_h = (_g = p.main_image_url) !== null && _g !== void 0 ? _g : p.image_url) !== null && _h !== void 0 ? _h : '/static/images/default-product.png',\n skuId: '',\n merchant_id: (_j = p.merchant_id) !== null && _j !== void 0 ? _j : ''\n });\n });\n };\n const refreshRecommend = () => { return __awaiter(this, void 0, void 0, function* () {\n try {\n // 1. 模拟市面加载感,锁定按钮防止连续快速点击\n if (loading.value)\n return Promise.resolve(null);\n loading.value = true;\n uni.showLoading({\n title: '正在挑选...',\n mask: true\n });\n // 2. 模拟市面“随机性”逻辑:\n // 淘宝京东不会按顺序翻页,而是跳跃选取页码,并打乱排序规则\n const maxOffsetPages = 20; // 假设数据库中至少有 20 页热推商品\n const sorts = ['sales', 'price_asc', 'rating'];\n // 随机页码 + 随机排序 = 每次点击都有新发现\n const nextRandomPage = Math.floor(Math.random() * maxOffsetPages) + 1;\n const randomSort = sorts[Math.floor(Math.random() * sorts.length)];\n uni.__f__('log', 'at pages/main/cart.uvue:407', `[refreshRecommend] 换一批: 随机页=${nextRandomPage}, 随机排=${randomSort}`);\n const hotResp = yield supabaseService.searchProducts('', nextRandomPage, 6, randomSort);\n let recommends = hotResp.data;\n // 3. 兜底逻辑:如果随机到的页码没数据,回退到第 1 页\n if (recommends.length === 0) {\n const fallbackResp = yield supabaseService.searchProducts('', 1, 6, 'sales');\n recommends = fallbackResp.data;\n }\n // 4. 前端打乱 (Shuffle):即使是同一页数据,乱序排布也会增加“新鲜感”\n if (recommends.length > 0) {\n recommends.sort(() => { return Math.random() - 0.5; });\n updateRecommendList(recommends);\n uni.hideLoading();\n uni.showToast({\n title: '已为你换一批好物',\n icon: 'none',\n duration: 1000\n });\n }\n else {\n uni.hideLoading();\n }\n }\n catch (error) {\n uni.hideLoading();\n uni.__f__('error', 'at pages/main/cart.uvue:434', '刷新推荐失败:', error);\n uni.showToast({ title: '加载失败,请重试', icon: 'none' });\n }\n finally {\n loading.value = false;\n }\n }); };\n // 加载数据\n const loadCartData = () => { return __awaiter(this, void 0, void 0, function* () {\n loading.value = true;\n try {\n // 获取会员折扣信息\n let memberDiscount = 1.0;\n try {\n const memberInfo = yield supabaseService.getUserMemberInfo();\n const discountRaw = memberInfo.get('discount');\n if (discountRaw != null) {\n memberDiscount = discountRaw;\n }\n }\n catch (e) {\n uni.__f__('log', 'at pages/main/cart.uvue:455', '获取会员信息失败,使用默认折扣:', e);\n }\n // 从Supabase加载购物车数据\n const supabaseCartItems = yield supabaseService.getCartItems();\n // 转换数据格式以匹配前端界面\n const transformedItems = supabaseCartItems.map((item) => {\n var _a, _b, _c, _d, _g, _h, _j, _k;\n // 调试日志:打印每条商品数据的关键字段\n uni.__f__('log', 'at pages/main/cart.uvue:464', `CartItem raw: id=${item.id}, shop_id=${item.shop_id}, shop_name=${item.shop_name}, name=${item.product_name}, price=${item.product_price}`);\n // 关键修复:确保shopId有值,如果后端返回null/undefined,使用'default_shop'作为分组键\n const shopId = (item.shop_id != null && item.shop_id !== '') ? item.shop_id : 'default_shop';\n const shopName = (item.shop_name != null && item.shop_name !== '') ? item.shop_name : '商城优选';\n // 计算会员价\n const originalPrice = item.product_price != null ? item.product_price : 0;\n let memberPrice = 0;\n if (memberDiscount > 0 && memberDiscount < 1 && originalPrice > 0) {\n memberPrice = Math.round(originalPrice * memberDiscount * 100) / 100;\n }\n return new LocalCartItem({\n id: item.id,\n shopId: shopId,\n shopName: shopName,\n name: (_a = item.product_name) !== null && _a !== void 0 ? _a : '未知商品',\n price: originalPrice,\n originalPrice: originalPrice,\n memberPrice: memberPrice,\n image: (_b = item.product_image) !== null && _b !== void 0 ? _b : '/static/images/default-product.png',\n spec: (_c = item.product_specification) !== null && _c !== void 0 ? _c : '标准规格',\n quantity: (_d = item.quantity) !== null && _d !== void 0 ? _d : 1,\n selected: (_g = item.selected) !== null && _g !== void 0 ? _g : false,\n productId: (_h = item.product_id) !== null && _h !== void 0 ? _h : '',\n skuId: (_j = item.sku_id) !== null && _j !== void 0 ? _j : '',\n merchantId: (_k = item.merchant_id) !== null && _k !== void 0 ? _k : ''\n });\n });\n uni.__f__('log', 'at pages/main/cart.uvue:495', 'Transformed items count:', transformedItems.length);\n cartItems.value = transformedItems;\n // 加载推荐商品(优先获取推荐位商品,如果没有则通过搜索获取热销商品)\n let recommends = yield supabaseService.getRecommendedProducts(6);\n // 如果没有设置推荐商品,则获取热销商品作为补充\n if (recommends.length === 0) {\n const hotResp = yield supabaseService.searchProducts('', 1, 6, 'sales');\n recommends = hotResp.data;\n }\n if (recommends.length > 0) {\n recommendProducts.value = recommends.map((p) => {\n var _a, _b, _c, _d, _g, _h, _j;\n return new RecommendProduct({\n id: p.id,\n shopId: (_a = p.merchant_id) !== null && _a !== void 0 ? _a : 'unknown',\n shopName: (_b = p.shop_name) !== null && _b !== void 0 ? _b : '商城推荐',\n name: p.name,\n price: (_d = (_c = p.base_price) !== null && _c !== void 0 ? _c : p.market_price) !== null && _d !== void 0 ? _d : 0,\n image: (_h = (_g = p.main_image_url) !== null && _g !== void 0 ? _g : p.image_url) !== null && _h !== void 0 ? _h : '/static/images/default-product.png',\n skuId: '',\n merchant_id: (_j = p.merchant_id) !== null && _j !== void 0 ? _j : ''\n });\n });\n }\n else {\n recommendProducts.value = [];\n }\n }\n catch (error) {\n uni.__f__('error', 'at pages/main/cart.uvue:524', '加载购物车数据失败:', error);\n cartItems.value = [];\n }\n finally {\n loading.value = false;\n }\n }); };\n onShow(() => {\n loadCartData();\n });\n // 商品操作 - 更新选中状态到Supabase\n const toggleSelect = (itemId) => { return __awaiter(this, void 0, void 0, function* () {\n // 乐观更新\n const index = cartItems.value.findIndex(item => { return item.id === itemId; });\n if (index !== -1) {\n const newSelected = !cartItems.value[index].selected;\n cartItems.value[index].selected = newSelected;\n cartItems.value = [...cartItems.value]; // 触发响应式更新\n // 更新到Supabase\n const success = yield supabaseService.updateCartItemSelection(itemId, newSelected);\n if (!success) {\n uni.__f__('error', 'at pages/main/cart.uvue:547', '更新选中状态失败');\n // 恢复状态\n cartItems.value[index].selected = !newSelected;\n cartItems.value = [...cartItems.value];\n uni.showToast({ title: '网络异常,请重试', icon: 'none' });\n }\n }\n }); };\n const toggleShopSelect = (shopId) => { return __awaiter(this, void 0, void 0, function* () {\n uni.__f__('log', 'at pages/main/cart.uvue:557', '[toggleShopSelect] shopId:', shopId);\n uni.__f__('log', 'at pages/main/cart.uvue:558', '[toggleShopSelect] shopId length:', shopId.length);\n uni.__f__('log', 'at pages/main/cart.uvue:559', '[toggleShopSelect] cartItems.value.length:', cartItems.value.length);\n // 用 for 循环替代 filter,避免安卓端 UTS filter 的问题\n const shopItems = [];\n for (let i = 0; i < cartItems.value.length; i++) {\n const item = cartItems.value[i];\n const itemShopId = item.shopId;\n // 安卓端字符串比较问题:使用 localeCompare 或逐字符比较\n const isMatch = compareStrings(itemShopId, shopId);\n uni.__f__('log', 'at pages/main/cart.uvue:568', '[toggleShopSelect] checking item:', item.id, 'item.shopId:', itemShopId, 'match:', isMatch);\n if (isMatch) {\n shopItems.push(item);\n }\n }\n uni.__f__('log', 'at pages/main/cart.uvue:573', '[toggleShopSelect] shopItems count:', shopItems.length);\n if (shopItems.length === 0)\n return Promise.resolve(null);\n // 用 for 循环替代 every\n let allSelected = true;\n for (let i = 0; i < shopItems.length; i++) {\n if (!shopItems[i].selected) {\n allSelected = false;\n break;\n }\n }\n const newState = !allSelected;\n uni.__f__('log', 'at pages/main/cart.uvue:586', '[toggleShopSelect] allSelected:', allSelected, 'newState:', newState);\n const shopItemIds = [];\n for (let i = 0; i < shopItems.length; i++) {\n shopItemIds.push(shopItems[i].id);\n }\n uni.__f__('log', 'at pages/main/cart.uvue:592', '[toggleShopSelect] shopItemIds:', shopItemIds);\n // 创建全新的数组来触发响应式更新\n const newCartItems = [];\n for (let i = 0; i < cartItems.value.length; i++) {\n const item = cartItems.value[i];\n const isMatch = compareStrings(item.shopId, shopId);\n if (isMatch) {\n uni.__f__('log', 'at pages/main/cart.uvue:600', '[toggleShopSelect] updating item:', item.id, 'to selected:', newState);\n // 创建新的对象\n const newItem = new LocalCartItem({\n id: item.id,\n shopId: item.shopId,\n shopName: item.shopName,\n name: item.name,\n price: item.price,\n originalPrice: item.originalPrice,\n memberPrice: item.memberPrice,\n image: item.image,\n spec: item.spec,\n quantity: item.quantity,\n selected: newState,\n productId: item.productId,\n skuId: item.skuId,\n merchantId: item.merchantId\n });\n newCartItems.push(newItem);\n }\n else {\n newCartItems.push(item);\n }\n }\n // 替换整个数组\n cartItems.value = newCartItems;\n // 批量更新到Supabase\n const success = yield supabaseService.batchUpdateCartItemSelection(shopItemIds, newState);\n if (!success) {\n uni.__f__('error', 'at pages/main/cart.uvue:630', '批量更新店铺商品选中状态失败');\n uni.showToast({\n title: '操作失败',\n icon: 'none'\n });\n // 重新加载数据以确保状态一致\n loadCartData();\n }\n }); };\n const toggleSelectAll = () => { return __awaiter(this, void 0, void 0, function* () {\n // 目标状态:如果当前全选,则取消全选;否则全选\n const newSelectedState = !allSelected.value;\n // 乐观更新\n const oldItems = UTS.JSON.parse(UTS.JSON.stringify(cartItems.value));\n const selectedItems = cartItems.value.map((item) => {\n item.selected = newSelectedState;\n return item;\n });\n cartItems.value = selectedItems;\n // 更新到Supabase\n const itemIds = cartItems.value.map(item => { return item.id; });\n if (itemIds.length === 0)\n return Promise.resolve(null);\n const success = yield supabaseService.batchUpdateCartItemSelection(itemIds, newSelectedState);\n if (!success) {\n uni.__f__('error', 'at pages/main/cart.uvue:659', '批量更新选中状态失败');\n cartItems.value = oldItems;\n uni.showToast({\n title: '操作失败',\n icon: 'none'\n });\n }\n }); };\n const increaseQuantity = (itemId) => { return __awaiter(this, void 0, void 0, function* () {\n if (updatingItems.value.has(itemId))\n return Promise.resolve(null);\n const index = cartItems.value.findIndex(item => { return item.id === itemId; });\n if (index !== -1) {\n updatingItems.value.add(itemId);\n const newQuantity = cartItems.value[index].quantity + 1;\n cartItems.value[index].quantity = newQuantity;\n cartItems.value = [...cartItems.value];\n // 更新到Supabase\n const success = yield supabaseService.updateCartItemQuantity(itemId, newQuantity);\n updatingItems.value.delete(itemId);\n if (!success) {\n uni.__f__('error', 'at pages/main/cart.uvue:683', '更新商品数量失败');\n // 恢复状态\n cartItems.value[index].quantity = newQuantity - 1;\n cartItems.value = [...cartItems.value];\n uni.showToast({ title: '更新失败', icon: 'none' });\n }\n }\n }); };\n const decreaseQuantity = (itemId) => { return __awaiter(this, void 0, void 0, function* () {\n if (updatingItems.value.has(itemId))\n return Promise.resolve(null);\n const index = cartItems.value.findIndex(item => { return item.id === itemId; });\n if (index !== -1) {\n if (cartItems.value[index].quantity > 1) {\n updatingItems.value.add(itemId);\n const newQuantity = cartItems.value[index].quantity - 1;\n cartItems.value[index].quantity = newQuantity;\n cartItems.value = [...cartItems.value];\n // 更新到Supabase\n const success = yield supabaseService.updateCartItemQuantity(itemId, newQuantity);\n updatingItems.value.delete(itemId);\n if (!success) {\n uni.__f__('error', 'at pages/main/cart.uvue:708', '更新商品数量失败');\n // 恢复状态\n cartItems.value[index].quantity = newQuantity + 1;\n cartItems.value = [...cartItems.value];\n uni.showToast({ title: '更新失败', icon: 'none' });\n }\n }\n else {\n // 数量为1时,询问是否删除\n uni.showModal(new UTSJSONObject({\n title: '提示',\n content: '确定要从购物车移除该商品吗?',\n success: (res) => {\n if (res.confirm) {\n // 从Supabase删除\n supabaseService.deleteCartItem(itemId).then((success) => {\n if (success) {\n cartItems.value.splice(index, 1);\n cartItems.value = [...cartItems.value];\n uni.showToast({\n title: '已移除',\n icon: 'none'\n });\n }\n else {\n uni.__f__('error', 'at pages/main/cart.uvue:731', '删除商品失败');\n uni.showToast({\n title: '删除失败',\n icon: 'none'\n });\n }\n });\n }\n }\n }));\n }\n }\n }); };\n // 删除商品 - 增加保存逻辑\n const deleteSelectedItems = () => { return __awaiter(this, void 0, void 0, function* () {\n if (selectedCount.value === 0) {\n uni.showToast({\n title: '请选择要删除的商品',\n icon: 'none'\n });\n return Promise.resolve(null);\n }\n uni.showModal(new UTSJSONObject({\n title: '提示',\n content: `确定要删除选中的 ${selectedCount.value} 件商品吗?`,\n success: (res) => {\n if (res.confirm) {\n // 获取选中的商品ID\n const selectedItemIds = cartItems.value\n .filter(item => { return item.selected; })\n .map(item => { return item.id; });\n // 批量删除到Supabase\n supabaseService.batchDeleteCartItems(selectedItemIds).then((success) => {\n if (success) {\n // 从本地列表移除\n cartItems.value = cartItems.value.filter(item => { return !item.selected; });\n // 如果购物车删空了,退出管理模式\n if (cartItems.value.length === 0) {\n isManageMode.value = false;\n }\n uni.showToast({\n title: '删除成功',\n icon: 'success'\n });\n }\n else {\n uni.__f__('error', 'at pages/main/cart.uvue:780', '批量删除商品失败');\n uni.showToast({\n title: '删除失败',\n icon: 'none'\n });\n }\n });\n }\n }\n }));\n }); };\n const addToCart = (product) => { return __awaiter(this, void 0, void 0, function* () {\n uni.showLoading({ title: '检查商品...' });\n try {\n const productId = product.id;\n const skuId = product.skuId;\n const merchantId = product.merchant_id;\n // 检查商品是否有SKU\n const skus = yield supabaseService.getProductSkus(productId);\n uni.hideLoading();\n if (skus.length > 0) {\n // 有规格,提示并跳转到商品详情页选择规格\n uni.showToast({\n title: '请选择规格',\n icon: 'none'\n });\n setTimeout(() => {\n uni.navigateTo({\n url: '/pages/mall/consumer/product-detail?id=' + productId\n });\n }, 500);\n }\n else {\n // 无规格,直接加入购物车\n uni.showLoading({ title: '添加中...' });\n const success = yield supabaseService.addToCart(productId, 1, skuId, merchantId);\n uni.hideLoading();\n if (success) {\n uni.showToast({\n title: '已添加到购物车',\n icon: 'success'\n });\n // 重新加载购物车数据\n loadCartData();\n }\n else {\n uni.__f__('error', 'at pages/main/cart.uvue:828', '添加商品到购物车失败');\n uni.showToast({\n title: '添加失败',\n icon: 'none'\n });\n }\n }\n }\n catch (error) {\n uni.__f__('error', 'at pages/main/cart.uvue:836', '添加商品到购物车异常:', error);\n uni.hideLoading();\n uni.showToast({\n title: '添加失败',\n icon: 'none'\n });\n }\n }); };\n // 导航函数\n const navigateToShop = (shopId, merchantId = null) => {\n // Prevent navigation for invalid shops\n if (shopId == '' || shopId === 'default_shop' || shopId === 'unknown')\n return null;\n let url = `/pages/mall/consumer/shop-detail?id=${shopId}`;\n if (merchantId != null) {\n const mId = `${merchantId}`;\n if (mId !== '' && mId !== 'null' && mId !== 'undefined' && mId !== 'false') {\n url += `&merchantId=${mId}`;\n }\n }\n uni.navigateTo({ url });\n };\n const goShopping = () => {\n uni.switchTab({ url: '/pages/main/index' });\n };\n const navigateToProduct = (product = null) => {\n var _a, _b, _c;\n uni.__f__('log', 'at pages/main/cart.uvue:865', 'navigateToProduct', product);\n // 使用 JSON 转换确保可以作为 JSONObject 处理,兼容 LocalCartItem 类型和普通对象\n const productJson = UTS.JSON.parse(UTS.JSON.stringify(product));\n // 使用productId(如果存在)作为跳转的商品ID,否则使用id\n let productId = productJson.getString('productId');\n if (productId == null || productId == '') {\n productId = productJson.getString('id');\n }\n if (productId == null || productId == '') {\n uni.__f__('error', 'at pages/main/cart.uvue:877', '无法获取商品ID', product);\n return null;\n }\n // 传递完整的参数,确保商品详情页能正确加载\n let paramsArr = [];\n paramsArr.push('id=' + encodeURIComponent(productId));\n paramsArr.push('productId=' + encodeURIComponent(productId));\n const price = (_a = productJson.getNumber('price')) !== null && _a !== void 0 ? _a : 0;\n paramsArr.push('price=' + price);\n let originalPrice = productJson.getNumber('original_price');\n if (originalPrice == null) {\n originalPrice = productJson.getNumber('originalPrice');\n }\n if (originalPrice == null) {\n originalPrice = parseFloat((price * 1.2).toFixed(2));\n }\n paramsArr.push('originalPrice=' + originalPrice);\n const name = (_b = productJson.getString('name')) !== null && _b !== void 0 ? _b : '';\n paramsArr.push('name=' + encodeURIComponent(name));\n const image = (_c = productJson.getString('image')) !== null && _c !== void 0 ? _c : '/static/images/default-product.png';\n paramsArr.push('image=' + encodeURIComponent(image));\n const url = `/pages/mall/consumer/product-detail?${paramsArr.join('&')}`;\n uni.__f__('log', 'at pages/main/cart.uvue:905', 'Navigate to:', url);\n uni.navigateTo({\n url: url\n });\n };\n const goToCheckout = () => {\n if (selectedCount.value === 0) {\n uni.showToast({\n title: '请选择商品',\n icon: 'none'\n });\n return null;\n }\n // 获取选中的商品 (直接过滤cartItems,不依赖cartGroups,确保扁平化传递)\n const selectedItems = cartItems.value\n .filter(item => { return item.selected; })\n .map(item => {\n var _a, _b;\n return (new UTSJSONObject({\n id: item.id,\n product_id: (_a = item.productId) !== null && _a !== void 0 ? _a : item.id,\n sku_id: (_b = item.skuId) !== null && _b !== void 0 ? _b : item.id,\n product_name: item.name,\n shop_id: item.shopId,\n shop_name: item.shopName,\n merchant_id: item.merchantId,\n product_image: item.image,\n sku_specifications: item.spec,\n price: item.price,\n quantity: item.quantity // 确保是数字\n }));\n });\n // 关键修复:将结算数据写入 Storage,确保 checkout 页面能稳定获取\n uni.setStorageSync('checkout_type', 'cart');\n // 使用纯JSON序列化防止复杂对象引发的问题\n try {\n uni.setStorageSync('checkout_items', UTS.JSON.stringify(selectedItems));\n }\n catch (e) {\n uni.__f__('error', 'at pages/main/cart.uvue:944', '存储结算数据失败', e);\n uni.showToast({ title: '系统异常,请重试', icon: 'none' });\n return null;\n }\n // 跳转到结算页面并传递数据\n uni.navigateTo({\n url: '/pages/mall/consumer/checkout'\n });\n };\n return (_ctx, _cache) => {\n \"raw js\";\n const __returned__ = _e({\n a: _t(isManageMode.value ? '✓' : '⚙️'),\n b: _t(isManageMode.value ? '完成' : '管理'),\n c: _o(toggleManageMode),\n d: navBarRight.value + 'px',\n e: statusBarHeight.value + 'px',\n f: statusBarHeight.value + 44 + 'px',\n g: !loading.value && cartItems.value.length === 0\n }, !loading.value && cartItems.value.length === 0 ? {\n h: _o(goShopping)\n } : {\n i: _f(cartGroups.value, (group, k0, i0) => {\n return _e({\n a: isShopSelected(group.shopId)\n }, isShopSelected(group.shopId) ? {} : {}, {\n b: _o($event => { return toggleShopSelect(group.shopId); }, group.shopId),\n c: _o($event => { return navigateToShop(group.shopId, group.merchantId); }, group.shopId),\n d: _t(group.shopName),\n e: _o($event => { return navigateToShop(group.shopId, group.merchantId); }, group.shopId),\n f: _o($event => { return navigateToShop(group.shopId, group.merchantId); }, group.shopId),\n g: _f(group.items, (item, k1, i1) => {\n return _e({\n a: item.selected\n }, item.selected ? {} : {}, {\n b: _o($event => { return toggleSelect(item.id); }, item.id),\n c: item.image,\n d: _o($event => { return navigateToProduct(item); }, item.id),\n e: _t(item.name),\n f: _t(item.spec),\n g: _t(item.price),\n h: _o($event => { return decreaseQuantity(item.id); }, item.id),\n i: _t(item.quantity),\n j: _o($event => { return increaseQuantity(item.id); }, item.id),\n k: item.id\n });\n }),\n h: group.shopId\n });\n })\n }, {\n j: cartItems.value.length > 0\n }, cartItems.value.length > 0 ? _e({\n k: allSelected.value\n }, allSelected.value ? {} : {}, {\n l: _o(toggleSelectAll),\n m: !isManageMode.value\n }, !isManageMode.value ? _e({\n n: _t(totalPrice.value),\n o: parseFloat(memberSavedAmount.value) > 0\n }, parseFloat(memberSavedAmount.value) > 0 ? {\n p: _t(memberSavedAmount.value)\n } : {}) : {}, {\n q: !isManageMode.value\n }, !isManageMode.value ? {\n r: _t(selectedCount.value),\n s: _o(goToCheckout)\n } : {\n t: _t(selectedCount.value),\n v: _o(deleteSelectedItems)\n }) : {}, {\n w: recommendProducts.value.length > 0\n }, recommendProducts.value.length > 0 ? {\n x: _o(refreshRecommend),\n y: _f(recommendProducts.value, (product, k0, i0) => {\n return {\n a: product.image,\n b: _t(product.name),\n c: _t(product.price),\n d: _o($event => { return addToCart(product); }, product.id),\n e: product.id,\n f: _o($event => { return navigateToProduct(product); }, product.id)\n };\n })\n } : {}, {\n z: _sei(_gei(_ctx, ''), 'view')\n });\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=D:/companyproject/mall/pages/main/cart.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/HBuilderX/HBuilderX/plugins/uniapp-uts-v1/node_modules/@dcloudio/uni-uts-v1/lib/tsconfig/types/dcloudio__uni-app/types/index.d.ts"],"uniExtApis":["uni.__f__","uni.getSystemInfoSync","uni.getMenuButtonBoundingClientRect","uni.showLoading","uni.hideLoading","uni.showToast","uni.showModal","uni.navigateTo","uni.switchTab","uni.setStorageSync"],"map":"{\"version\":3,\"file\":\"cart.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"cart.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/types/cache/068534fff1f6f936808d5b690f5ae272b553a928 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/types/cache/068534fff1f6f936808d5b690f5ae272b553a928 deleted file mode 100644 index e69de29b..00000000 diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/types/cache/0bf992dc2f064036018ddd610b60dc8e8361ea77 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/types/cache/0bf992dc2f064036018ddd610b60dc8e8361ea77 deleted file mode 100644 index e69de29b..00000000 diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/types/cache/676ca468240c66ed0d1c6521f403b8e9977ab78b b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/types/cache/676ca468240c66ed0d1c6521f403b8e9977ab78b deleted file mode 100644 index e69de29b..00000000 diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/types/cache/7b5ce199fbe937f31d0dc51657c7d43766f5be70 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/types/cache/7b5ce199fbe937f31d0dc51657c7d43766f5be70 deleted file mode 100644 index e69de29b..00000000 diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/types/cache/9c7e4ce7d3463fc1a361ba9c3e83bd7c68e685a6 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/types/cache/9c7e4ce7d3463fc1a361ba9c3e83bd7c68e685a6 deleted file mode 100644 index e69de29b..00000000 diff --git a/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/types/cache/e949c1926a118ad0830363bbad64fd542253d233 b/unpackage/cache/.mp-weixin/.uts2js/cache/uts_03e2ffe59ea0756f084c7b882568fd226fd0dc83/types/cache/e949c1926a118ad0830363bbad64fd542253d233 deleted file mode 100644 index e69de29b..00000000