docs: define A01 grid and entry states
This commit is contained in:
@@ -27,6 +27,18 @@
|
||||
- A-01 的登录与微信功能图标均需采用独立本地透明 PNG;微信标志只使用官方或许可来源的原色透明 PNG,不自行重绘或改色。账号密码与手机号验证码的表单图标归 A-02 设计时确定。
|
||||
- A-01 只设计欢迎、入口与协议未勾选提示。账号密码与手机号验证码表单均归 `A-02`,微信授权结果归 `A-03`,注册归 `A-04`,忘记密码归 `A-05`。
|
||||
- A-01 正常态必须展示两个按钮、注册文字入口和未勾选协议;点击任一需要授权的入口但未勾选协议时,仅提示“请先阅读并同意相关协议”,不视为用户已同意。
|
||||
- 固定设计画布为 `750rpx` 宽;内容宽度 638rpx,左右各 56rpx。朱砂家祠头图高 196rpx;标题与副标题区域从头图下方开始,操作区首按钮顶边固定为 646rpx。
|
||||
- 主按钮高度 108rpx,微信按钮高度 108rpx,二者间距 30rpx;注册文字在微信按钮下方 56rpx,字号 28rpx,整行居中且不得换行。两个按钮文字字号 36rpx,均单行居中。
|
||||
- 协议行使用 26rpx 字号,页面最小底部内边距为 `calc(32rpx + env(safe-area-inset-bottom))`。320 × 568 时页面允许纵向滚动,协议行与任一入口均不得落入系统导航区。
|
||||
- 仅作静态设计验证,不代表 uni-app 运行时验收;页面实现后仍须在 Android 320 × 568、360 × 640、360 × 800、412 × 915 上重新验收。
|
||||
|
||||
| 状态 | 触发 | A-01 可见结果 | 去向 |
|
||||
| --- | --- | --- | --- |
|
||||
| 初始未勾选 | 首次进入 | 两个按钮、注册文字与空复选框 | 留在 A-01 |
|
||||
| 未同意协议 | 点击登录、微信登录或注册账号 | 提示“请先阅读并同意相关协议”,不跳转、不改变勾选状态 | 留在 A-01 |
|
||||
| 登录已确认协议 | 点击“登录” | 结束 A-01 引导 | A-02,默认账号密码登录标签 |
|
||||
| 微信已确认协议 | 点击“微信登录” | 结束 A-01 引导 | A-03,显示授权中、取消或失败回跳 |
|
||||
| 注册已确认协议 | 点击“注册账号”文字 | 结束 A-01 引导 | A-04 |
|
||||
|
||||
## 4. 未完成项(因此不得标记为设计完成)
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
- Consumes: UTF-8 Base64 文本解码函数 `ConvertFrom-Utf8Base64`、A-01 设计记录和效果稿 v3。
|
||||
- Produces: 退出码 `0` 与 `A01-DESIGN-RECORD-AUDIT PASS`;缺少任何规则或效果稿时抛出明确错误。
|
||||
|
||||
- [ ] **Step 1: 写入会失败的栅格规则断言**
|
||||
- [x] **Step 1: 写入会失败的栅格规则断言**
|
||||
|
||||
在现有 `$rules` 数组后增加以下代码;这些规则在本任务开始时尚未写入设计记录,因此审计应失败。
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
}
|
||||
```
|
||||
|
||||
- [ ] **Step 2: 运行审计并确认它先失败**
|
||||
- [x] **Step 2: 运行审计并确认它先失败**
|
||||
|
||||
Run:
|
||||
|
||||
@@ -86,12 +86,9 @@
|
||||
|
||||
Expected: `Missing A01 layout rule: 内容宽度 638rpx`。
|
||||
|
||||
- [ ] **Step 3: 提交失败测试**
|
||||
- [x] **Step 3: 保持红灯测试未提交并进入 Task 2**
|
||||
|
||||
```powershell
|
||||
git add tests/a01-design-record-audit.ps1
|
||||
git commit -m "test: require A01 fixed-grid design rules"
|
||||
```
|
||||
红灯只用于证明固定栅格规则确实缺失。不要单独提交失败测试;在 Task 2 将设计记录补齐并转绿后,再与设计记录一起提交。
|
||||
|
||||
### Task 2: 写入 A-01 固定栅格与状态边界
|
||||
|
||||
@@ -105,7 +102,7 @@
|
||||
- Consumes: Task 1 的 `$layoutRules` 与当前入口结构断言。
|
||||
- Produces: 以 750rpx 设计画布表达的固定栅格、四类进入状态和明确的非运行时验收边界。
|
||||
|
||||
- [ ] **Step 1: 在第 3 节加入固定栅格**
|
||||
- [x] **Step 1: 在第 3 节加入固定栅格**
|
||||
|
||||
在“固定布局与状态边界”中加入以下内容,保持现有的入口与协议规则不变:
|
||||
|
||||
@@ -116,7 +113,7 @@
|
||||
- 仅作静态设计验证,不代表 uni-app 运行时验收;页面实现后仍须在 Android 320 × 568、360 × 640、360 × 800、412 × 915 上重新验收。
|
||||
```
|
||||
|
||||
- [ ] **Step 2: 在第 3 节加入状态表**
|
||||
- [x] **Step 2: 在第 3 节加入状态表**
|
||||
|
||||
紧接固定栅格条目,加入以下表格:
|
||||
|
||||
@@ -130,7 +127,7 @@
|
||||
| 注册已确认协议 | 点击“注册账号”文字 | 结束 A-01 引导 | A-04 |
|
||||
```
|
||||
|
||||
- [ ] **Step 3: 运行审计并确认通过**
|
||||
- [x] **Step 3: 运行审计并确认通过**
|
||||
|
||||
Run:
|
||||
|
||||
@@ -140,7 +137,7 @@
|
||||
|
||||
Expected: `A01-DESIGN-RECORD-AUDIT PASS`。
|
||||
|
||||
- [ ] **Step 4: 检查文档差异并提交**
|
||||
- [x] **Step 4: 检查文档差异并提交**
|
||||
|
||||
```powershell
|
||||
git diff --check
|
||||
|
||||
@@ -22,6 +22,25 @@ foreach ($rule in $rules) {
|
||||
}
|
||||
}
|
||||
|
||||
$layoutRules = @(
|
||||
(ConvertFrom-Utf8Base64 '5YaF5a655a695bqmIDYzOHJweA=='),
|
||||
(ConvertFrom-Utf8Base64 '5Li75oyJ6ZKu6auY5bqmIDEwOHJweA=='),
|
||||
(ConvertFrom-Utf8Base64 'ZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20p'),
|
||||
(ConvertFrom-Utf8Base64 '6LSm5Y+35a+G56CB55m75b2VIC8g5omL5py66aqM6K+B56CB55m75b2V')
|
||||
)
|
||||
|
||||
foreach ($rule in $layoutRules) {
|
||||
if ($record -notmatch [regex]::Escape($rule)) {
|
||||
throw "Missing A01 layout rule: $rule"
|
||||
}
|
||||
}
|
||||
|
||||
$currentStructure = [regex]::Match($record, '(?s)## 2\..*?(?=## 3\.)').Value
|
||||
$currentStructureRule = ConvertFrom-Utf8Base64 '5Lik5Liq5aSn5oyJ6ZKu5ZKM5LiA5Liq5paH5a2X5YWl5Y+j'
|
||||
if ($currentStructure -notmatch [regex]::Escape($currentStructureRule)) {
|
||||
throw "Missing current A01 structure rule: $currentStructureRule"
|
||||
}
|
||||
|
||||
if (-not (Test-Path -LiteralPath $effect)) {
|
||||
throw "Missing archived A01 effect: $effect"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user