modify:新增小程序

This commit is contained in:
ECRZ
2026-01-06 18:00:43 +08:00
parent 498fa0e915
commit da4a055c1c
47 changed files with 7321 additions and 61 deletions

188
Sale/pages/index/CLAUDE.md Normal file
View File

@@ -0,0 +1,188 @@
[根目录](../../CLAUDE.md) > [pages](../) > **index**
---
# pages/index - 主页模块
> 最后更新2026-01-06 15:26:54
---
## 变更记录 (Changelog)
### 2026-01-06
- 初始化模块文档
- 识别为用户信息展示模板页面,需改造为价格查询功能
---
## 模块职责
当前状态:**微信小程序模板主页**,展示用户头像与昵称信息。
**目标职责**(需实现):
- 作为钢材价格查询的入口页面
- 提供搜索条件选择(地区、材质、规格、日期)
- 展示价格查询结果列表
- 跳转到价格趋势详情页面
---
## 入口与启动
### 页面路径
- **注册路径**`pages/index/index`(在 `app.json` 中注册)
- **物理路径**`pages/index/index.js`
- **访问方式**:小程序启动时的首页
### 生命周期
```javascript
Page({
onLoad() { }, // 页面加载
onReady() { }, // 页面初次渲染完成
onShow() { } // 页面显示
})
```
---
## 对外接口
### 页面跳转接口
- **跳转到日志页**`bindViewTap()` 方法
```javascript
wx.navigateTo({
url: '../logs/logs'
})
```
### 用户信息接口
- **获取用户头像**`onChooseAvatar(e)`
- **输入昵称**`onInputChange(e)`
- **获取用户资料**`getUserProfile(e)`(已废弃,推荐使用 `chooseAvatar`
---
## 关键依赖与配置
### 依赖文件
| 文件 | 用途 |
|------|------|
| `index.js` | 页面逻辑 |
| `index.wxml` | 页面结构 |
| `index.wxss` | 页面样式 |
| `index.json` | 页面配置(当前为空) |
### 外部依赖
- 微信小程序基础库 2.10.4+
- 无外部 npm 包依赖
### 配置文件
```json
// index.json当前为空对象
{}
```
---
## 数据模型
### 当前数据结构
```javascript
data: {
motto: 'Hello World',
userInfo: {
avatarUrl: 'https://mmbiz.qpic.cn/...',
nickName: ''
},
hasUserInfo: false,
canIUseGetUserProfile: wx.canIUse('getUserProfile'),
canIUseNicknameComp: wx.canIUse('input.type.nickname')
}
```
### 建议的数据结构(改造后)
```javascript
data: {
regions: ['昆明', '玉溪', '大理', '楚雄'], // 地区列表
materials: ['HPB300', 'HRB400', 'HRB500E'], // 材质列表
selectedRegion: '', // 选中的地区
selectedMaterial: '', // 选中的材质
selectedDate: '', // 选中的日期
priceList: [], // 查询结果
loading: false, // 加载状态
errorMessage: '' // 错误信息
}
```
---
## 测试与质量
### 测试覆盖
- **手动测试**:可在微信开发者工具中测试用户头像/昵称功能
- **单元测试**:暂无
- **快照测试**:暂无
### 已知问题
1. 当前页面为模板代码,未实现实际业务功能
2. 缺少价格查询相关逻辑
3. 缺少 API 调用封装
---
## 常见问题 (FAQ)
### Q: 如何改造为价格查询页面?
A: 建议步骤:
1. 删除用户信息相关代码
2. 添加搜索表单(地区、材质、日期选择器)
3. 实现查询按钮点击事件
4. 调用 `/api/prices/search` 接口
5. 展示查询结果列表
### Q: 如何调用后端 API
A: 使用 `wx.request()`,参考示例:
```javascript
wx.request({
url: 'http://localhost:3000/api/prices/search',
data: {
region: this.data.selectedRegion,
material: this.data.selectedMaterial,
date: this.data.selectedDate
},
success: (res) => {
this.setData({
priceList: res.data.data
})
}
})
```
---
## 相关文件清单
```
pages/index/
├── index.js # 页面逻辑50 行)
├── index.wxml # 页面结构28 行)
├── index.wxss # 页面样式
├── index.json # 页面配置
└── CLAUDE.md # 本文档
```
---
## 下一步建议
1. **重构 UI**:设计简洁的价格查询界面
2. **封装 API**:在 `utils` 中创建 `api.js` 封装请求方法
3. **添加图表**:集成 ECharts 或使用 Canvas 绘制价格趋势图
4. **优化体验**:添加加载动画、空状态提示、错误处理
---
**模块状态**:待开发
**优先级**:高
**预估工作量**4-6 小时