fix(shop): 修复商品详情页图片显示和收货地址接口兼容性

- 新增 parseContent 函数,将 Markdown 图片语法转换为 RichText 可识别的 HTML 标签
- RichText 组件中使用 parseContent 处理后的内容,解决图片无法显示问题
- 重写 listShopUserAddress 接口,兼容后端多种响应格式及 code 为 0 或 200 的情况
- useAddress 中添加加载地址日志,优化错误捕获并规范日志输出格式
This commit is contained in:
2026-06-25 22:48:37 +08:00
parent 1d30897ab6
commit 8fb0bbcd8b
5 changed files with 110 additions and 6 deletions

View File

@@ -0,0 +1,36 @@
# 2026-06-24
## 提现页面路由修复
### 问题
`navigateTo:fail page "pages/user/withdraw/index" is not found` — app.config.ts 中提现页面路由被注释掉
### 修复
- **`src/app.config.ts`** — 取消注释 `pages/user/withdraw/index` 路由注册
## 钱包页面隐藏提现入口
### 改动文件
- **`src/pages/user/wallet.tsx`**
### 改动内容
1. 余额卡片去掉"提现"按钮,只保留"充值"
2. 快捷操作去掉"提现记录"入口,只保留余额明细、充值记录、兑换码
## 收货地址列表不显示问题修复
### 问题
`pages/user/address-list` 页面接口返回有地址数据,但页面不显示,导致无法下单
### 根因分析
1. **`model.ts``model/index.ts` 重复定义** — 两个文件对 `ShopUserAddress` 定义不同字段,`model.ts` 缺少 `ShopUserAddressParam` 导出
2. **`listShopUserAddress` 对响应格式不够健壮** — 只处理 `code === 0 && data` 为数组的情况,不兼容分页格式或 `code: 200`
3. **`request.ts` 拦截器只接受 `code === 0`** — 如果后端返回 `code: 200` 会直接抛错
### 修复3个文件
1. **删除 `src/api/shop/shopUserAddress/model.ts`** — 保留更完整的 `model/index.ts`
2. **`src/api/shop/shopUserAddress/index.ts`** — `listShopUserAddress` 重写兼容3种响应格式直接数组、`{code, data: [...]}``{code, data: {list: [...]}}`,同时兼容 `code: 0``code: 200`
3. **`src/utils/request.ts`** — `responseInterceptor` 成功码从 `code === 0` 扩展为 `code === 0 || code === 200`
4. **`src/hooks/useAddress.ts`** — 加 console.log 日志方便排查
构建编译通过 ✓

View File

@@ -0,0 +1,7 @@
# 2026-06-25 工作日志
## 商品详情页图片不显示修复
- **文件**: `src/pages/shop/product-detail.tsx`
- **问题**: 商品详情区域 `product.content` 包含 Markdown 图片语法(`![alt](url)`),微信小程序的 `RichText` 组件不支持 Markdown导致原样输出文本而非渲染图片
- **修复**: 新增 `parseContent()` 函数,将 Markdown 图片语法转为 `<img>` HTML 标签,同时兜底处理裸 URL 图片链接
- **构建状态**: 编译通过 ✓