Commit Graph

69 Commits

Author SHA1 Message Date
zpc
7154d7eb01 feat(content): 新增首页导航入口独立管理模块
- 新建 home_navigations 表,独立管理首页卡片导航
- 回退 assessment_types 表的 LinkUrl 字段
- 后台管理:ContentController 新增导航 CRUD 接口
- 小程序 API:HomeController 新增 getNavigationList 接口
- 前端:首页改用 navigationList 数据源,支持配置化跳转
- 数据库已插入3条导航记录(多元测评/学业规划/学科测评)
2026-02-23 12:35:28 +08:00
zpc
38dfd10b43 feat(assessment): 测评类型增加LinkUrl字段,支持可配置跳转
- assessment_types表新增LinkUrl字段
- 后端实体类、DTO、请求模型、服务层全链路支持LinkUrl
- 前端首页卡片点击改为读取后台配置的linkUrl跳转
- 测评类页面自动拼接typeId/typeName参数
2026-02-23 12:03:37 +08:00
zpc
f92b9db74e feat(order): 重构我的订单页面匹配蓝湖设计稿
- 前端:按蓝湖设计重写订单列表页,胶囊标签筛选栏(全部/已测评/待测评/已退款)
- 前端:卡片布局改为逐行展示(订单日期、编号、项目、金额、状态+操作按钮)
- 后端:OrderItemDto 新增 AssessmentStatus 和 DisplayStatusText 字段
- 后端:GetListAsync 查询测评记录状态,计算综合显示状态文本
- 后端:新增 GetDisplayStatusText 方法,结合订单状态和测评状态生成展示文本
- 邀请码订单(Status=2, PayAmount=0)正常显示在订单列表中
2026-02-23 00:47:13 +08:00
zpc
143a8fa5f2 fix(assessment): 修复往期测评数据显示问题
- DTO新增Name和AssessmentTypeId字段,前端可显示测评人姓名
- 修正前端状态映射:1待测评 2测评中 3生成中 4已完成(与后端一致)
- 直接使用后端返回的statusText,避免前后端状态不同步
- 后端查询改用左连接,避免缺少关联数据时丢失记录
- 待测评/测评中状态点击可跳转继续答题
2026-02-23 00:19:24 +08:00
zpc
7a54c91154 feat(assessment): 连接个人信息页与答题页数据流
- 新增 PendingRecordDto 模型,支持查询进行中的测评记录
- 后端新增 GetPendingRecord 接口,支持断点续答
- 邀请码路径改为调用 createOrder 创建订单和测评记录
- info 页面加载时检测未完成测评,支持继续上次或重新开始
- questions 页面改用 recordId 提交答案,匹配后端接口
- usePayment 返回 assessmentRecordId 供页面传递
2026-02-23 00:06:24 +08:00
zpc
e73527f2ae 21 2026-02-22 23:32:38 +08:00
zpc
60132f9ab9 21 2026-02-22 23:18:37 +08:00
zpc
423b60749a 231 2026-02-22 22:41:15 +08:00
zpc
2d6d0bda6a fix(admin-web): 修复分页参数命名不匹配导致翻页无效
- 前端 PagedRequest 接口 pageIndex 改为 page,与后端 PagedRequest.Page 对齐
- 修复所有管理页面的分页参数:题库、测评类型、报告分类、报告结论、
  用户、订单、轮播图、宣传图、业务页面、规划师、预约、邀请码、佣金、提现
- 原因:前端传 pageIndex,后端绑定不到 Page 属性,始终返回第一页数据
2026-02-22 22:37:55 +08:00
zpc
cc8f99e77c 312 2026-02-21 23:48:39 +08:00
zpc
4cbfde2e80 1564 2026-02-21 23:42:38 +08:00
zpc
f36f25ac26 1534 2026-02-21 23:42:15 +08:00
zpc
a313e5a7f8 21 2026-02-21 18:21:13 +08:00
zpc
b099a72f79 21 2026-02-21 18:20:45 +08:00
zpc
7f4e80bb5b 12 2026-02-21 14:25:02 +08:00
zpc
145905395f 21 2026-02-21 14:24:41 +08:00
zpc
5cec8deca1 12 2026-02-21 14:19:47 +08:00
zpc
e9cc5a0bc5 21 2026-02-21 14:19:07 +08:00
zpc
186ed4f8a1 21 2026-02-21 13:29:29 +08:00
zpc
1bd6683cb8 feat(payment): 支持微信支付V3证书PEM内容存储到数据库
- WechatPayMerchantConfig 新增 PrivateKeyContent/WechatPublicKeyContent 字段
- WechatPayV3Service 新增 ResolvePrivateKey/ResolvePublicKey 优先读数据库内容
- 后台管理页面改为文本域粘贴PEM内容,路径作为备选
- 完全向后兼容,原文件路径方式依然可用
- 迁移服务器只需在后台重新配置即可,无需拷贝证书文件
2026-02-21 13:28:42 +08:00
zpc
f082f20fc8 fix(order,encoding): 修复订单创建字段名不匹配和中文乱码问题
- 前端 productType/userInfo 改为 orderType/assessmentInfo 对齐后端 DTO
- 添加 gender/age/educationStage 数据格式转换(字符串转int)
- Program.cs 设置 Console.OutputEncoding = UTF8 解决日志中文乱码
- AddJsonOptions 配置 UnsafeRelaxedJsonEscaping 解决响应中文转义
- Dockerfile 添加 LANG/LC_ALL=C.UTF-8 环境变量
2026-02-21 13:18:11 +08:00
zpc
4bba7f8e53 fix(upload): 改回PUT预签名URL方式,前端用readFile+uni.request PUT上传
- 后端恢复PUT预签名URL生成,移除POST Object的policy/signature逻辑
- 前端改用uni.getFileSystemManager().readFile读取二进制数据
- 再通过uni.request PUT方式直传COS(uni.uploadFile只支持POST)
- 参考验证过的CosUploadService实现
2026-02-20 23:46:01 +08:00
zpc
66df292628 fix(upload): 修复POST Object签名错误,StringToSign应对原始policy做SHA1而非Base64编码后的 2026-02-20 23:43:04 +08:00
zpc
608fbe714f feat(upload): 小程序COS上传改为POST Object方式
- UploadConfigService: PUT预签名URL改为生成POST Object的policy+signature
- IUploadConfigService: PresignedUploadInfo增加Key/Policy/SecretId/KeyTime/Signature字段
- uniapp/upload.js: uni.uploadFile改为POST multipart/form-data + formData传签名参数
- 后台管理端上传不受影响,仍走独立的TencentCosProvider PUT预签名链路
2026-02-20 23:37:09 +08:00
zpc
e80df8a724 fix(upload): 修正COS配置读取key为uploads 2026-02-20 23:25:11 +08:00
zpc
3f179e5682 feat(upload): 头像直传COS + 修复用户资料接口404
后端:
- Model层新增UploadSetting配置模型
- Core层新增IUploadConfigService/UploadConfigService,从Admin库读取COS配置生成预签名URL
- Api层新增UploadController,提供POST /api/upload/presignedUrl接口
- ServiceModule注册UploadConfigService服务

前端:
- api/user.js修复接口路径:updateProfileupdate_userinfo,upload/imageupload/presignedUrl
- 新增utils/upload.js COS直传工具(获取预签名URL直传COS返回文件URL)
- 个人资料页改为:选图直传COS保存时提交headimg URL到update_userinfo
2026-02-20 23:21:56 +08:00
zpc
1b4a56e347 21 2026-02-20 22:16:20 +08:00
zpc
26902724c8 fix(user): 修复用户等级显示乱码,添加删除用户功能
- 修正用户等级常量:1=普通用户, 2=合伙人, 3=渠道合伙人
- 添加删除用户接口(硬删除),同时清除 user_refresh_tokens 和 user_login_logs
- 前端添加删除按钮和确认对话框
2026-02-20 21:54:38 +08:00
zpc
795e5586ac 126 2026-02-20 21:46:53 +08:00
zpc
807f8fe9b2 fix(config): 默认头像改用 ImageUpload 图片上传控件 2026-02-20 21:35:11 +08:00
zpc
d95f4c02bc fix: ServiceModule 注册 AuthService 时补充 IConfigService 参数 2026-02-20 21:30:18 +08:00
zpc
54418db98e 21 2026-02-20 21:28:49 +08:00
zpc
d14e96ac97 feat(config): 添加用户默认配置功能(UID、昵称前缀、默认头像)
- UserConfigSetting 模型增加 default_nickname_prefix 和 default_avatar 字段
- Admin ConfigController 新增 user/get 和 user/update 接口
- 后台管理前端新增用户配置 tab 页面
- AuthService 创建用户时从配置读取默认昵称前缀和头像,支持 fallback
2026-02-20 21:25:22 +08:00
zpc
d125c24cba fix(model): 修复实体ID类型int->long匹配数据库bigint,删除FK_users_parent外键 2026-02-20 20:45:21 +08:00
zpc
26b471d691 fix(auth): 修复新用户注册Uid超长导致截断错误
- GenerateUid生成的是timestamp+random(14位),超过数据库nvarchar(6)限制
- 改为生成6位随机数字,并查库确保唯一性
2026-02-20 20:33:20 +08:00
zpc
21e8ff5372 refactor: 清理遗留实体和无效代码
- 删除无数据库表的实体: UserDetail, UserAddress, PaymentOrder, Admin, AdminLoginLog, AdminOperationLog, Picture, Delivery
- 删除关联服务: AddressService, PaymentService, PaymentOrderService, PaymentRewardDispatcher, DefaultPaymentRewardHandler
- 删除关联接口: IAddressService, IPaymentService, IPaymentOrderService, IPaymentRewardHandler, IPaymentRewardDispatcher
- 删除关联控制器: AddressController
- 删除关联DTO: AddressModels, CreatePaymentOrderRequest, PaymentOrderDto, PaymentOrderQueryRequest
- 删除关联测试: PaymentOrderServicePropertyTests, PaymentRewardDispatcherPropertyTests
- 修复实体字段映射: User, UserLoginLog, UserRefreshToken, Config, OrderNotify
- 更新 NotifyController 移除 IPaymentOrderService 依赖
- 更新 ServiceModule 移除已删除服务的DI注册
- 更新 MiAssessmentDbContext 移除已删除实体的DbSet和OnModelCreating配置
2026-02-20 20:29:34 +08:00
zpc
a595eee90d 21 2026-02-20 19:40:59 +08:00
zpc
04219e8436 321 2026-02-20 19:40:36 +08:00
zpc
d00dc98794 21 2026-02-20 19:13:19 +08:00
zpc
de7eb8234c 321 2026-02-20 19:12:08 +08:00
zpc
07562a377b 21 2026-02-20 18:05:37 +08:00
zpc
bd77dc50bd 21 2026-02-20 17:57:17 +08:00
zpc
c8b7cff7e9 12 2026-02-20 17:51:39 +08:00
zpc
9f270c3741 refactor(api): 统一API响应格式和DTO命名规范
- ApiResponse基类: Status/Msg 改为 Code/Message,成功码统一为0
- 移除所有DTO中冗余的 [JsonPropertyName],ASP.NET Core 自动处理camelCase
- Payment相关DTO: snake_case 改为 camelCase(微信支付协议模型保留不变)
- PaymentOrderQueryRequest: FromQuery参数名改为camelCase
- GlobalExceptionFilter: 错误码从0改为5000(0表示成功)
- PagedResult: 移除冗余的 [JsonPropertyName]
- 前端index.vue: 统一使用 res.code === 0 判断
2026-02-20 16:35:10 +08:00
zpc
8489b4300c refactor(config): 统一配置读取架构,运营配置从Admin库读取
- Model层新增AdminConfig实体和AdminConfigReadDbContext(只读连接Admin库)
- API项目新增AdminConnection连接字符串,注册AdminConfigReadDbContext
- Core层ConfigService按key路由:运营配置走Admin库,业务配置走业务库
- WechatPayConfigService改为从Admin库读取支付/小程序配置
- WechatService新增AdminConfigReadDbContext注入,配置读取改为Admin库
- Autofac注册同步更新三个服务的依赖注入
- Admin.Business的AdminConfigService改用AdminConfigDbContext连接Admin库
2026-02-20 15:48:16 +08:00
zpc
60c018b08a 21 2026-02-20 15:10:57 +08:00
zpc
d098a7ff81 验证存储桶是否可访问 2026-02-20 15:10:15 +08:00
zpc
09f72d1132 后台 2026-02-20 15:05:12 +08:00
zpc
0ffe59377a 提交代码 2026-02-20 14:57:43 +08:00
zpc
edc91995fe fix: 修复业务表实体映射,移除HasColumnName配置以匹配PascalCase数据库字段 2026-02-10 00:35:37 +08:00