Commit Graph
210 Commits
Author SHA1 Message Date
yml 402c19320d 优化平台公告的md显示 2026-06-05 21:49:33 +08:00
yml 6be0917ce4 优化一键脚本 2026-06-05 21:46:37 +08:00
yml cb79395226 优化出数据库 2026-06-05 21:38:01 +08:00
yml 63d4011796 增加mysql默认编码 2026-06-05 21:27:26 +08:00
yml c15e5e8b6a 修复数据库乱码 2026-06-05 21:15:57 +08:00
yml 766c33af9a 开发模式检查对齐生产 2026-06-05 21:11:53 +08:00
yml e2e91845e4 修复两个小bug 2026-06-05 21:10:40 +08:00
yml 2df097ccd3 管理后台公告中心优化 2026-06-05 21:02:50 +08:00
ymlandClaude Opus 4.6 7b456bafdd 添加公告管理权限配置
- 新增 announcement:view 和 announcement:manage 权限
- 为超级管理员和运营角色添加公告管理权限
- 迁移文件:000007_add_announcement_permissions.sql

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-05 20:53:43 +08:00
ymlandClaude Opus 4.6 29d7648a2b 添加管理后台公告管理功能
## 新增功能
- 管理后台公告管理页面(/admin/announcements)
- 公告 CRUD 操作(创建、编辑、删除)
- 公告发布和归档功能
- 按状态和分类筛选
- 在侧边栏添加公告管理入口

## 功能特性
- 支持设置优先级、置顶、重要标记
- 富文本编辑器(支持 Markdown/HTML)
- 实时查看浏览次数
- 权限控制(announcement:view 和 announcement:manage)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-05 20:52:12 +08:00
ymlandClaude Opus 4.6 d841b139df 优化公告详情页布局,移除最大宽度限制
- 移除 max-width: 900px 限制,使用全宽布局
- 添加内容自动换行支持
- 优化图片和表格的响应式显示
- 与列表页保持一致的视觉宽度

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-05 20:46:49 +08:00
ymlandClaude Opus 4.6 38a8cc3d6c 修复公告模块的TypeScript错误和API调用
- 使用 apiClient 替换不存在的 apiRequest
- 修复可能为 undefined 的对象访问
- 添加可选链操作符和默认值

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-05 20:43:42 +08:00
ymlandClaude Opus 4.6 61acaba492 修复:使用 Bell 图标替换不存在的 Megaphone 图标
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-05 20:40:41 +08:00
ymlandClaude Opus 4.6 28b6e326e8 新增公告中心功能
## 功能概述
在钱包旁边新增公告中心,用户可以查看平台通知、教程、规则和常见问题。

## 主要变更

### 后端
- 新增 announcement 模块(handler/service/repository)
- 新增 announcements 数据库表
- 添加公告相关 API 端点(用户端和管理端)
- 扩展 response 包,新增 NotFound 和 InternalServerError 方法

### 前端
- 新增公告功能模块(/features/announcement)
- 实现公告列表页和详情页
- 在顶部导航添加公告入口(钱包旁边)
- 支持按分类筛选(通知、教程、规则、FAQ)
- 支持置顶和重要标记显示

### 数据库
- 迁移文件:000005_add_announcements.sql
- 示例数据:000006_insert_sample_announcements.sql
- 包含6条示例公告

## 技术特点
- 遵循项目现有架构模式
- 响应式设计,支持移动端
- 自动统计浏览次数
- 支持富文本内容展示

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-05 20:40:20 +08:00
yml 46c5df86ac 优化商品管理界面 快速点击筛选 2026-06-05 20:29:37 +08:00
yml bdd1ba6052 桌面通知(系统级消息提醒 2026-06-05 20:06:50 +08:00
yml e32362f425 优化几个客服不显示昵称问题 2026-06-05 19:49:24 +08:00
yml 92c603794a 管理员可以看到所有会话了 2026-06-05 19:43:55 +08:00
ymlandClaude Opus 4.6 59093f8fd5 feat: 添加客服在线状态和聊天粘贴图片功能
**客服在线状态:**
- 后端:添加 admin_users.support_status 字段(online/offline/busy)
- 接口:PUT /admin/me/support-status 更新状态
- 前端:管理员顶部导航显示状态切换器(仅客服权限可见)
- 转接对话框显示客服在线状态和智能排序(在线优先)

**聊天粘贴图片:**
- 用户端、移动端、管理端聊天输入框支持 Ctrl+V/Cmd+V 直接粘贴图片
- 自动调用图片压缩和上传逻辑,与文件选择上传保持一致
- 最多支持粘贴9张图片

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-05 19:23:34 +08:00
ymlandClaude Opus 4.7 b380817940 feat: 优化订单详情页UI,添加右侧悬浮操作栏
## 问题
- 原页面过长,操作按钮在底部,用户需要滚动才能操作
- 部分操作在侧边栏和主内容区重复显示

## 改进
1. **布局重构**
   - 采用左右分栏布局(主内容 + 320px 侧边栏)
   - 侧边栏固定悬浮(sticky),始终可见
   - 页面最大宽度从 1200px 扩展到 1400px

2. **操作整合(避免重复)**
   - 简单操作直接在侧边栏完成:提交交接、确认收号、确认结账
   - 复杂操作提供快捷入口:发起结账、修改结账、拒绝修正、发起申诉
   - 移除主内容区的重复表单

3. **视觉优化**
   - 蓝色高亮卡片:发起结账(重要操作)
   - 红色警告卡片:发起申诉(特殊操作)
   - 添加小分隔线区分主次操作

4. **响应式设计**
   - 桌面端:左右分栏
   - 移动端:单列布局,侧边栏移到顶部

## 用户体验提升
- 所有关键操作始终可见,无需滚动
- 简单操作一键完成,复杂操作跳转到详细表单
- 视觉层次清晰,减少误操作

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 11:01:17 +08:00
yml b1a1da726a 优化构建 2026-06-05 10:45:15 +08:00
ymlandClaude Opus 4.7 ac5d1ea25d fix: 优化交接记录显示,将技术标识转换为用户友好文字
问题:
- 交接记录显示原始技术标识(owner_handoff, renter_checkout 等)
- 用户体验不佳,难以理解记录含义

改进:
- 添加 formatHandoffRecordType 函数统一格式化交接记录类型
- 映射关系:
  - owner_handoff → 卖家交接
  - renter_checkout → 买家结账
  - owner_counter_checkout → 卖家反驳结账
  - renter_confirm_checkout → 买家确认结账
  - owner_accept_checkout → 卖家接受结账
- 同时优化PC端订单详情和管理后台订单详情

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 10:38:52 +08:00
ymlandClaude Opus 4.7 5d5bd5af77 feat: 添加租后须知功能并优化发布默认设置
新增功能:
- 添加租后须知查看功能(PC端+移动端)
- 管理后台支持配置租后须知内容
- 默认提供完整的租后须知模板

功能实现:
- 后端:新增 PostRentalNotice API 接口和配置管理
- PC端:在用户下拉菜单添加租后须知入口,独立页面展示
- 移动端:在个人中心实名认证下方添加入口,弹窗展示
- 管理端:新增租后须知配置弹窗,支持编辑和恢复默认

优化改进:
- 修复发布页面默认选中"参考比例"而非"自定比例"
- 移除错误的迁移测试脚本(与 MySQL 8.0 不兼容)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 09:55:11 +08:00
yml2213 0b9b0b5ea7 优化工作-1 2026-06-05 07:41:52 +08:00
yml2213 b7ec5e2755 优化文档 2026-06-05 03:20:01 +08:00
yml2213 3c28297dee 优化弹窗和后台设置字体 2026-06-05 03:06:09 +08:00
yml2213 498e3d7bde 优化订单结算金额展示和钱包流水号 2026-06-05 00:37:50 +08:00
yml2213 064abb6621 优化额外消耗 2026-06-05 00:11:22 +08:00
yml2213 fbf1b37399 优化后台商品审核价格调整 2026-06-04 23:44:16 +08:00
yml2213 c1b3dba83d 修复卖家发布页样式和全天时间选择 2026-06-04 21:45:07 +08:00
yml2213andClaude Opus 4.7 4ebf7f75fe refactor: 统一全项目金额精度为角(0.1元)
## 变更概述
将全项目金额处理从整元四舍五入统一为角精度(0.1元),提高金额计算准确性和显示一致性。

## 后端改动
- 新增 pkg/money/format.go 统一金额处理包
  - Round(): 角精度四舍五入
  - Min/Max(): 金额比较
  - Format(): 格式化字符串
- 更新业务模块使用统一金额函数
  - internal/modules/order: 订单结算改为角精度
  - internal/modules/dispute: 纠纷金额处理
  - internal/modules/listing: 商品定价和存储
- 更新测试用例期望值为角精度

## 前端改动
- 新增 shared/utils/money.ts 金额工具函数
  - roundMoney(): 角精度四舍五入
  - formatMoney(): 格式化为字符串(保留1位小数)
  - formatMoneyWithSymbol(): 添加¥符号
- 更新金额计算和显示逻辑
  - shared/utils/pricing.ts: 定价计算
  - shared/utils/listingDisplay.ts: 商品显示
  - shared/composables/useMoney.ts: 组合式函数
- 修复视图文件导入声明
  - features/listings/views: 商品详情页
  - features/seller/views: 卖家管理页

## 效果
- 金额显示:¥123.0(统一保留1位小数)
- 计算精度:12.45 -> 12.5(角精度)
- 减少误差:避免整元四舍五入损失
- 显示一致:全项目统一格式

## 测试
-  后端单元测试通过
-  TypeScript 类型检查通过
-  开发环境正常运行

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-04 16:42:49 +08:00
yml2213 e41d3a923a 优化首页账号展示体验 2026-06-04 12:57:34 +08:00
yml2213 75e849a91a 修复前端迁移后的类型错误 2026-06-04 11:07:34 +08:00
yml2213 eb6aed7e56 chore: 修复 listings 视图导入路径
- 修复 ListingDetailView, ListingsView 使用 features/listings
- 修复 MobileHomeView, MobileListingDetailView 使用正确路径
- 修复 MobileRealnameView 使用 features/auth

类型错误:72 → 45 (-27)
模块错误继续下降
2026-06-04 10:16:08 +08:00
yml2213 b00049de2d chore: 修复 auth 和 admin 视图导入路径
- 修复 AdminLoginView 使用 features/admin
- 修复 LoginView, MobileLoginView, MobileRegisterView 使用 features/auth
- 修复 MobileProfileView, MobileRealnameView 使用正确路径
- 修复 useSmsCountdown 导入到 shared/composables

类型错误:79 → ?
模块错误:38 → 31
2026-06-04 10:07:39 +08:00
yml2213 360ebb85e6 chore: 批量修复所有剩余导入路径错误
全面修复所有文件中的导入路径:
- 修复 utils/ 目录(pricing.ts, listingDisplay.ts)
- 修复 shared/ 目录(composables, components, types)
- 修复 stores/adminSession.ts
- 修复 layouts/AdminLayout.vue
- 修复 types/publish.ts

类型错误:106 → 79(-27)
模块错误 (TS2307):47 → 38(-9)

所有代码文件的 @/api/ 导入已修复!
2026-06-04 10:00:57 +08:00
yml2213 734285100a docs: 添加Features架构迁移最终总结
完成情况:
- 模块迁移:100%(128个文件)
- 清理工作:90%(路由、删除、导入路径)
- 类型错误:61%(272→106个)

架构已完整建立,剩余106个类型错误不影响功能。
2026-06-04 09:44:51 +08:00
yml2213 99e537c41e chore: 修复 admin index.ts 导出名称
更正函数名:
- getAdminInfo → fetchAdminMe
- refreshAdminAccessToken → refreshAdminSession

类型错误:108 → 106
2026-06-04 09:41:39 +08:00
yml2213 5ba154c193 chore: 修复最后一批导入路径错误
- 修复 wallet API 中的 orders 导入
- 修复 admin API 中的 authStorage 导入
- 修复 seller composables 和测试文件导入
- 修复 admin index.ts 导出名称

类型错误:113 → 108
2026-06-04 09:40:58 +08:00
yml2213 29e79ff835 chore: 继续修复导入路径
- 修复 auth 和 disputes API 导入
- 修复所有 Vue 文件中剩余的 @/api/ 导入
- 修复 admin index.ts 类型导出冲突
- 修复组件相对路径导入

类型错误:135 → 129
2026-06-04 09:35:11 +08:00
yml2213 956c2eca91 chore: 修复大量导入路径错误
- 迁移 files API 到 shared/api/
- 修复所有 features 中的 @/api/ 导入
- 修复所有 features 中的 @/composables/ 导入
- 更新 useOrderDetail 中的 uploadFile 调用

类型错误:272 → 190 → 135
2026-06-04 09:30:13 +08:00
yml2213 e010f2ce7e chore: 批量更新导入路径到 features 架构
- 更新所有 admin API 文件导入路径
- 更新所有 features 中 Vue 文件的导入路径
- 修复 ChatAttachmentImage 组件导入
- 修复 auth 模块部分导入路径

剩余 ~190 个类型错误待修复(主要是缺失的模块)
2026-06-04 09:23:15 +08:00
yml2213 5e878585ad chore: 删除旧的 api/, views/, composables/ 目录
所有文件已迁移到 features/ 架构:
- 删除 111 个旧文件
- api/ → features/*/api/
- views/ → features/*/views/
- composables/ → features/*/composables/

清理完成,架构迁移进入最后阶段。
2026-06-04 09:13:15 +08:00
yml2213 3d5db9d0b6 chore: 更新路由配置,使用 features 架构路径 2026-06-04 09:12:36 +08:00
yml2213 d5abb99ebf docs: 添加 Features 架构迁移完成总结 2026-06-04 09:06:54 +08:00
yml2213andClaude Opus 4.7 c9397635e2 feat: P3阶段完成 - 全部模块迁移完成 🎉
## P3.1: 争议仲裁模块(disputes)
- API: disputes.ts
- 模块导出

## P3.2: 卖家中心模块(seller)
- Views: 4个页面
- Composables: usePublishForm, usePublishDraft
- 模块导出

## P3.3: 管理后台模块(admin)
- API: 8个文件(adminAuth, adminDashboard, adminUsers等)
- Views: 15个管理页面
- Composables: useAdminTable, useAdminPaginatedTable
- Components: 管理端组件
- 模块导出

---

## 🎉 Features 架构迁移全部完成!

### 最终统计
-  P0: shared(基础设施)- 22个文件
-  P1: wallet, chats, orders - 24个文件
-  P2: listings, auth - 35个文件
-  P3: seller, disputes, admin - 47个文件

**总计:** 9个模块,128个文件完成迁移

### 新架构
```
frontend/src/
├── features/          # 9个业务模块 
│   ├── wallet/       
│   ├── chats/        
│   ├── orders/        (已重构)
│   ├── listings/     
│   ├── auth/         
│   ├── seller/       
│   ├── disputes/     
│   └── admin/        
└── shared/           
```

下一步:清理旧文件、更新路由配置

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-04 09:05:34 +08:00
yml2213 3534cffce1 docs: 添加 P2 阶段完成总结 2026-06-04 08:58:53 +08:00
yml2213andClaude Opus 4.7 405abfa4f7 feat: P2阶段完成 - listings和auth模块迁移
## P2.1: 商品浏览模块(listings)

### 完整迁移(23个文件)
- API: listings.ts, listingOptions.ts, homeConfig.ts
- Views: 5个页面(HomeView, ListingsView, ListingDetailView + 移动端2个)
- Composables: 3个(useHomeFilters, useFilterOptions, useListingQuery)
- Components: 9个(ListingCard, 各种过滤器组件)
- Tests: 2个测试文件

**功能:**
- 首页浏览、商品列表、详情查看
- 高级筛选(服务器、等级、哈夫币、皮肤等)
- 排序和分区功能
- 横幅、公告、统计展示

**技术改进:**
- 更新所有导入路径到 @/shared/
- 建立清晰的模块导出

---

## P2.2: 用户认证模块(auth)

### 完整迁移(12个文件)
- API: auth.ts, realname.ts, notifications.ts
- Views: 8个页面(登录、注册、个人资料、实名认证、通知 + 移动端)
- 模块导出

**功能:**
- 用户注册、登录、Token管理
- 实名认证、风险检查
- 个人资料编辑、头像上传
- 消息/通知中心

**技术改进:**
- 统一 API 导入路径
- 类型安全增强

---

## 里程碑

🎉 **P2 阶段完成!**

**累计完成:** 6个模块
-  P0: shared(基础设施)- 22个文件
-  P1: wallet, chats, orders - 24个文件
-  P2: listings, auth - 35个文件

**总计:** 81个文件已迁移

**剩余:** P3阶段(seller, disputes, admin)+ 清理工作

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-04 08:56:42 +08:00
yml2213 f415832c19 docs: 添加 P1 阶段完成总结 2026-06-04 08:46:55 +08:00
yml2213andClaude Opus 4.7 125d83f2f2 feat: P1阶段完成 - 订单模块迁移与重构
## P1.3: 订单模块(orders)

### 完整迁移
- 迁移 API: orders.ts
- 迁移 Views: 5个页面(桌面3 + 移动2)
- 迁移 Composables: useOrderSnapshot.ts
- 更新所有导入路径到 shared/

### 核心重构:拆分 useOrderDetail.ts
原始文件405行,混合了订单、支付、结算、争议等多个领域

**拆分为3个独立 composables:**

1. **usePaymentPolling.ts** - 支付轮询
   - 职责:轮询查询支付状态直到完成
   - 功能:开始/停止轮询、检查支付状态、自动重载
   - 代码:~65行

2. **useSettlement.ts** - 结算流程
   - 职责:处理订单结算完整流程
   - 功能:提交/接受/反驳/确认结算、表单管理
   - 代码:~170行

3. **useOrderDetail.ts** - 核心订单(重构后)
   - 职责:订单核心流程,组合使用上述composables
   - 功能:加载、取消、支付、交接、收货、争议
   - 代码:~215行

**重构优势:**
- 职责清晰,单一职责原则
- 可复用,支付和结算逻辑可独立使用
- 易测试,每个composable独立可测
- 易维护,从405行拆分为3个文件

### 技术改进
- 建立清晰的模块边界和导出规范
- 避免循环依赖
- 提高代码可测试性和可维护性

## 里程碑

🎉 **P1 阶段完成!**

-  P0: 基础设施(shared/)- 22个文件
-  P1.1: 钱包模块 - 5个文件
-  P1.2: 聊天模块 - 8个文件
-  P1.3: 订单模块 - 11个文件

**总计:** 3个核心业务模块,46个文件完成迁移

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-04 08:45:31 +08:00