256 lines
5.8 KiB
Markdown
256 lines
5.8 KiB
Markdown
|
|
# 测试账号显示优化
|
|||
|
|
|
|||
|
|
## 🎯 优化目标
|
|||
|
|
|
|||
|
|
解决测试账号列表显示时出现横向滚动条的问题,让显示更紧凑。
|
|||
|
|
|
|||
|
|
## 📝 修改内容
|
|||
|
|
|
|||
|
|
### 1. 简化标题文本
|
|||
|
|
|
|||
|
|
**修改前**:
|
|||
|
|
```javascript
|
|||
|
|
uni.showActionSheet({
|
|||
|
|
title: '选择测试账号快速登录',
|
|||
|
|
// ...
|
|||
|
|
})
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**修改后**:
|
|||
|
|
```javascript
|
|||
|
|
uni.showActionSheet({
|
|||
|
|
title: '测试账号',
|
|||
|
|
// ...
|
|||
|
|
})
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**效果**: 标题从 10个字 缩短到 4个字
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2. 简化列表项格式
|
|||
|
|
|
|||
|
|
**修改前**:
|
|||
|
|
```javascript
|
|||
|
|
const itemList = this.testAccounts.map(acc =>
|
|||
|
|
`${acc.icon} ${acc.name} - ${acc.phone}`
|
|||
|
|
)
|
|||
|
|
// 显示: 👨👩👧 家长 - 13800138001
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**修改后**:
|
|||
|
|
```javascript
|
|||
|
|
const itemList = this.testAccounts.map(acc =>
|
|||
|
|
`${acc.icon} ${acc.name} ${acc.phone}`
|
|||
|
|
)
|
|||
|
|
// 显示: 👨👩👧 家长 13800138001
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**效果**: 移除了中间的 ` - ` 分隔符,节省2个字符
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 3. 区分重复账号名称
|
|||
|
|
|
|||
|
|
**修改前**:
|
|||
|
|
```javascript
|
|||
|
|
testAccounts: [
|
|||
|
|
{ role: 'user', name: '家长', phone: '13800138001', ... },
|
|||
|
|
{ role: 'teacher', name: '陪伴员', phone: '13800138002', ... },
|
|||
|
|
{ role: 'teacher', name: '陪伴员', phone: '13800138003', ... }
|
|||
|
|
]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**修改后**:
|
|||
|
|
```javascript
|
|||
|
|
testAccounts: [
|
|||
|
|
{ role: 'user', name: '家长', phone: '13800138001', ... },
|
|||
|
|
{ role: 'teacher', name: '陪伴员1', phone: '13800138002', ... },
|
|||
|
|
{ role: 'teacher', name: '陪伴员2', phone: '13800138003', ... }
|
|||
|
|
]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**效果**:
|
|||
|
|
- 区分两个陪伴员账号
|
|||
|
|
- 名称更清晰
|
|||
|
|
- 长度保持不变(3个字)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 优化对比
|
|||
|
|
|
|||
|
|
### 显示文本长度对比
|
|||
|
|
|
|||
|
|
| 项目 | 修改前 | 修改后 | 节省 |
|
|||
|
|
|------|--------|--------|------|
|
|||
|
|
| 标题 | 选择测试账号快速登录 (10字) | 测试账号 (4字) | 6字 |
|
|||
|
|
| 列表项 | 👨👩👧 家长 - 13800138001 | 👨👩👧 家长 13800138001 | 2字符 |
|
|||
|
|
| 总长度 | ~25字符 | ~20字符 | ~5字符 |
|
|||
|
|
|
|||
|
|
### 视觉效果对比
|
|||
|
|
|
|||
|
|
**修改前**:
|
|||
|
|
```
|
|||
|
|
┌────────────────────────────────┐
|
|||
|
|
│ 选择测试账号快速登录 │ ← 标题太长
|
|||
|
|
├────────────────────────────────┤
|
|||
|
|
│ 👨👩👧 家长 - 13800138001 │ ← 有分隔符
|
|||
|
|
│ 👨🏫 陪伴员 - 13800138002 │ ← 名称重复
|
|||
|
|
│ 👨🏫 陪伴员 - 13800138003 │ ← 名称重复
|
|||
|
|
└────────────────────────────────┘
|
|||
|
|
↑ 可能出现横向滚动条
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**修改后**:
|
|||
|
|
```
|
|||
|
|
┌──────────────────────────┐
|
|||
|
|
│ 测试账号 │ ← 标题简洁
|
|||
|
|
├──────────────────────────┤
|
|||
|
|
│ 👨👩👧 家长 13800138001 │ ← 无分隔符
|
|||
|
|
│ 👨🏫 陪伴员1 13800138002 │ ← 名称区分
|
|||
|
|
│ 👨🏫 陪伴员2 13800138003 │ ← 名称区分
|
|||
|
|
└──────────────────────────┘
|
|||
|
|
↑ 不会出现横向滚动条
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎨 显示效果
|
|||
|
|
|
|||
|
|
### 优化后的显示
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
测试账号
|
|||
|
|
─────────────────
|
|||
|
|
👨👩👧 家长 13800138001
|
|||
|
|
👨🏫 陪伴员1 13800138002
|
|||
|
|
👨🏫 陪伴员2 13800138003
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 特点
|
|||
|
|
- ✅ 标题简洁明了
|
|||
|
|
- ✅ 列表项紧凑
|
|||
|
|
- ✅ 账号名称清晰
|
|||
|
|
- ✅ 不会出现横向滚动条
|
|||
|
|
- ✅ 保持可读性
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📱 适配说明
|
|||
|
|
|
|||
|
|
### 不同屏幕宽度
|
|||
|
|
|
|||
|
|
| 屏幕类型 | 宽度 | 显示效果 |
|
|||
|
|
|----------|------|----------|
|
|||
|
|
| iPhone SE | 320px | ✅ 正常显示 |
|
|||
|
|
| iPhone 12 | 390px | ✅ 正常显示 |
|
|||
|
|
| iPhone 12 Pro Max | 428px | ✅ 正常显示 |
|
|||
|
|
| iPad | 768px | ✅ 正常显示 |
|
|||
|
|
|
|||
|
|
### 字符宽度计算
|
|||
|
|
|
|||
|
|
- 中文字符: ~2个单位宽度
|
|||
|
|
- 数字: ~1个单位宽度
|
|||
|
|
- Emoji: ~2个单位宽度
|
|||
|
|
- 空格: ~0.5个单位宽度
|
|||
|
|
|
|||
|
|
**优化前总宽度**:
|
|||
|
|
- 标题: 10字 × 2 = 20单位
|
|||
|
|
- 列表项: 3字 + 2字符 + 11数字 = ~20单位
|
|||
|
|
|
|||
|
|
**优化后总宽度**:
|
|||
|
|
- 标题: 4字 × 2 = 8单位
|
|||
|
|
- 列表项: 3-4字 + 11数字 = ~18单位
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🧪 测试验证
|
|||
|
|
|
|||
|
|
### 测试步骤
|
|||
|
|
|
|||
|
|
1. 打开注册页面
|
|||
|
|
2. 切换到"登录"标签
|
|||
|
|
3. 点击"💡 点击查看测试账号"
|
|||
|
|
4. 查看弹出的测试账号列表
|
|||
|
|
|
|||
|
|
### 预期结果
|
|||
|
|
|
|||
|
|
- ✅ 标题显示"测试账号"
|
|||
|
|
- ✅ 列表项格式: `图标 名称 手机号`
|
|||
|
|
- ✅ 没有横向滚动条
|
|||
|
|
- ✅ 所有文本完整显示
|
|||
|
|
- ✅ 可以正常点击选择
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 💡 其他优化建议
|
|||
|
|
|
|||
|
|
### 1. 进一步简化(可选)
|
|||
|
|
|
|||
|
|
如果仍然太宽,可以考虑:
|
|||
|
|
|
|||
|
|
```javascript
|
|||
|
|
// 只显示角色和手机号后4位
|
|||
|
|
const itemList = this.testAccounts.map(acc =>
|
|||
|
|
`${acc.icon} ${acc.name} ···${acc.phone.slice(-4)}`
|
|||
|
|
)
|
|||
|
|
// 显示: 👨👩👧 家长 ···8001
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 使用自定义弹窗(可选)
|
|||
|
|
|
|||
|
|
如果需要更灵活的布局,可以使用自定义弹窗:
|
|||
|
|
|
|||
|
|
```vue
|
|||
|
|
<view class="test-accounts-modal">
|
|||
|
|
<view class="account-item" v-for="acc in testAccounts" :key="acc.phone">
|
|||
|
|
<text class="icon">{{acc.icon}}</text>
|
|||
|
|
<view class="info">
|
|||
|
|
<text class="name">{{acc.name}}</text>
|
|||
|
|
<text class="phone">{{acc.phone}}</text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 分组显示(可选)
|
|||
|
|
|
|||
|
|
按角色分组显示:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
测试账号
|
|||
|
|
─────────────────
|
|||
|
|
家长
|
|||
|
|
👨👩👧 13800138001
|
|||
|
|
|
|||
|
|
陪伴员
|
|||
|
|
👨🏫 13800138002
|
|||
|
|
👨🏫 13800138003
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📋 修改清单
|
|||
|
|
|
|||
|
|
- [x] 简化标题文本
|
|||
|
|
- [x] 移除列表项分隔符
|
|||
|
|
- [x] 区分重复账号名称
|
|||
|
|
- [x] 测试验证(需要手动)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎉 总结
|
|||
|
|
|
|||
|
|
通过简化文本和优化格式,成功解决了横向滚动条问题:
|
|||
|
|
|
|||
|
|
- ✅ 标题缩短 60%
|
|||
|
|
- ✅ 列表项缩短 ~10%
|
|||
|
|
- ✅ 保持可读性
|
|||
|
|
- ✅ 提升用户体验
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**优化时间**: 2026-02-03
|
|||
|
|
**修改文件**: `uniapp/src/pages/auth/parent-register.vue`
|
|||
|
|
**状态**: ✅ 已完成
|