数据持久化和添加文档
This commit is contained in:
37
pages/mall/delivery/doc/FIX_REPORT_20260203.md
Normal file
37
pages/mall/delivery/doc/FIX_REPORT_20260203.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# 问题修复汇总报告 (2026-02-03)
|
||||
|
||||
## 1. 登录后无法进入首页的问题
|
||||
**现象**:用户登录成功后页面无跳转,或者直接跳到了管理/分析后台。
|
||||
**原因**:
|
||||
- `pages.json` 中 `pages/mall/admin/homePage/index` 排在首位,导致默认入口偏向管理端。
|
||||
- `ak/config.uts` 中的 `IS_TEST_MODE` 开启时,登录页和启动页禁用了自动重定向。
|
||||
- 登录逻辑中缺少对 `setIsLoggedIn` 的调用,导致全局状态未激活。
|
||||
|
||||
**修复方案**:
|
||||
- 修改 `pages/user/login.uvue`,无论是否在测试模式,登录成功后显式执行 `uni.switchTab` 跳转至 `/pages/mall/consumer/index`。
|
||||
- 补全了 `utils/store.uts` 中相关状态管理函数的导入。
|
||||
|
||||
## 2. 分析页面 (Profile) 报错
|
||||
**现象**:编译时提示 `Unexpected token`,页面无法打开。
|
||||
**原因**:
|
||||
- `pages/mall/analytics/profile.uvue` 中的 `loadReportCounts` 函数缺少一个闭合花括号 `}`,导致语法解析异常。
|
||||
|
||||
**修复方案**:
|
||||
- 在 `pages/mall/analytics/profile.uvue` 中补全了完整的代码结构。
|
||||
|
||||
## 3. H5 页面刷新后数据消失 (0数据)
|
||||
**现象**:在配送端或用户中心,刷新页面后“今日统计”或“用户信息”变为 0 或空。
|
||||
**原因**:
|
||||
- 在 H5 环境下,刷新会导致内存中的变量(Vue Reactive State)重置。
|
||||
- 如果 Supabase Session 恢复较慢,或者使用了模拟账号(如 `admin`),会导致系统判定用户未登录,从而查询不到 ID。
|
||||
|
||||
**修复方案**:
|
||||
- **增强持久化**:在 `utils/store.uts` 的 `getCurrentUserId` 函数中加入了本地存储(LocalStorage)兜底。
|
||||
- **登录保存**:在登录成功瞬间,将 `user_id` 写入 `uni.setStorageSync('user_id', ...)`。
|
||||
- **模拟账号优化**:针对 `admin` 账号在刷新后不会因为没有远程 Session 而被踢出。
|
||||
|
||||
---
|
||||
|
||||
## 待核对事项
|
||||
- **首页顺序**:如果需要默认进入移动全商城而非管理后台,请调整 `pages.json` 的数组顺序。
|
||||
- **订单数据**:目前“附近订单”在日志中显示有数据,但若在界面显示不全,请检查 `ml_delivery_tasks` 表中的 `status` 是否符合筛选条件。
|
||||
@@ -405,6 +405,7 @@ import { getCurrentUserId, getCurrentUser } from '@/utils/store.uts'
|
||||
console.log('loadAvailableOrders: query result=', res)
|
||||
if (res && Array.isArray(res.data)) {
|
||||
const fetched = (res.data as Array<any>).map((r:any) => this._transformTask(r))
|
||||
console.log('loadAvailableOrders: transformed count=', fetched.length)
|
||||
// 再次检查 currentTask,避免并发情况下短暂展示可接单
|
||||
if (this.currentTask) {
|
||||
this.availableOrders = []
|
||||
|
||||
@@ -280,6 +280,7 @@ const handleLogin = async () => {
|
||||
class_id: ''
|
||||
} as UserProfile
|
||||
setUserProfile(adminProfile)
|
||||
uni.setStorageSync('user_id', 'admin')
|
||||
|
||||
uni.showToast({ title: '管理员登录成功', icon: 'success' })
|
||||
setTimeout(() => {
|
||||
|
||||
Reference in New Issue
Block a user