assets: add A01 login design resources

This commit is contained in:
rain
2026-07-13 13:39:27 +08:00
parent 5507ba96b4
commit 86a41bcebc
8 changed files with 65 additions and 9 deletions
@@ -40,6 +40,16 @@
| 微信已确认协议 | 点击“微信登录” | 结束 A-01 引导 | A-03,显示授权中、取消或失败回跳 | | 微信已确认协议 | 点击“微信登录” | 结束 A-01 引导 | A-03,显示授权中、取消或失败回跳 |
| 注册已确认协议 | 点击“注册账号”文字 | 结束 A-01 引导 | A-04 | | 注册已确认协议 | 点击“注册账号”文字 | 结束 A-01 引导 | A-04 |
### A-01 资产清单
| 资产 | 用途 | 来源或生成提示 | 尺寸与验收 |
| --- | --- | --- | --- |
| `static/assets/backgrounds/auth-ancestral-header-v1.png` | 独立朱砂家祠头图 | 2026-07-13 内置图像生成:朱砂红、古金家祠线稿、无文字无徽标的浅横幅 | `750 × 196px` PNG;不复用 G-01 背景 |
| `static/assets/backgrounds/auth-rice-paper-v1.jpg` | 独立暖宣纸底纹 | 2026-07-13 内置图像生成:暖象牙色宣纸、低对比纤维与边缘暗纹、中心留白 | `750 × 1334px` JPG;不复用 G-01 背景 |
| `static/assets/backgrounds/auth-ink-scenery-v1.png` | 独立淡墨建筑、竹影与山水叠层 | 2026-07-13 内置图像生成:淡灰米色、底部山水亭台、右侧竹影、中心留白 | `750 × 1334px` PNG;不复用 G-01 背景 |
| `static/assets/icons/auth/login-outline-v1.png` | A-01 登录按钮的线性人物图标 | 项目既有 `static/assets/icons/tab/profile-v4.png` 的本地复用,未改色、未重绘 | `96 × 96px` RGBA PNG;透明角与可见像素审计通过 |
| `static/assets/icons/auth/wechat-licensed-v1.png` | A-01 微信登录按钮的微信图标 | Icons8 的 `https://img.icons8.com/color/96/weixing.png`,获取日期 2026-07-13;使用条件见 `https://icons8.com/license` | `96 × 96px` RGBA PNG;透明角与可见像素审计通过;免费使用须在应用“关于/设置”及应用商店描述中保留 Icons8 署名链接 |
## 4. 未完成项(因此不得标记为设计完成) ## 4. 未完成项(因此不得标记为设计完成)
1. 按 Android 固定栅格确定 320 × 568、360 × 640、360 × 800、412 × 915 的真实布局与文字折行规则。 1. 按 Android 固定栅格确定 320 × 568、360 × 640、360 × 800、412 × 915 的真实布局与文字折行规则。
@@ -30,7 +30,7 @@
| `static/assets/backgrounds/auth-rice-paper-v1.jpg` | A-01 独立暖宣纸纹理,`750 × 1334px`。 | | `static/assets/backgrounds/auth-rice-paper-v1.jpg` | A-01 独立暖宣纸纹理,`750 × 1334px`。 |
| `static/assets/backgrounds/auth-ink-scenery-v1.png` | A-01 独立淡墨建筑、竹影与山水叠层,`750 × 1334px`。 | | `static/assets/backgrounds/auth-ink-scenery-v1.png` | A-01 独立淡墨建筑、竹影与山水叠层,`750 × 1334px`。 |
| `static/assets/icons/auth/login-outline-v1.png` | 登录按钮使用的 `96 × 96px` 透明 PNG。 | | `static/assets/icons/auth/login-outline-v1.png` | 登录按钮使用的 `96 × 96px` 透明 PNG。 |
| `static/assets/icons/auth/wechat-official-v1.png` | 微信按钮使用的 `96 × 96px` 官方或许可、原色透明 PNG。 | | `static/assets/icons/auth/wechat-licensed-v1.png` | 微信按钮使用的 `96 × 96px` 许可来源、原色透明 PNG。 |
| `tests/a01-asset-alpha-audit.ps1` | 验证 A-01 图标的尺寸、透明角和可见像素,以及 A-01 独立背景文件。 | | `tests/a01-asset-alpha-audit.ps1` | 验证 A-01 图标的尺寸、透明角和可见像素,以及 A-01 独立背景文件。 |
| `docs/design/screens/A01-启动登录引导-栅格验收-320x568.png` | 320 × 568 静态设计效果稿。 | | `docs/design/screens/A01-启动登录引导-栅格验收-320x568.png` | 320 × 568 静态设计效果稿。 |
| `docs/design/screens/A01-启动登录引导-栅格验收-360x640.png` | 360 × 640 静态设计效果稿。 | | `docs/design/screens/A01-启动登录引导-栅格验收-360x640.png` | 360 × 640 静态设计效果稿。 |
@@ -153,7 +153,7 @@
- Create: `static/assets/backgrounds/auth-rice-paper-v1.jpg` - Create: `static/assets/backgrounds/auth-rice-paper-v1.jpg`
- Create: `static/assets/backgrounds/auth-ink-scenery-v1.png` - Create: `static/assets/backgrounds/auth-ink-scenery-v1.png`
- Create: `static/assets/icons/auth/login-outline-v1.png` - Create: `static/assets/icons/auth/login-outline-v1.png`
- Create: `static/assets/icons/auth/wechat-official-v1.png` - Create: `static/assets/icons/auth/wechat-licensed-v1.png`
- Create: `tests/a01-asset-alpha-audit.ps1` - Create: `tests/a01-asset-alpha-audit.ps1`
- Modify: `docs/design/A01_启动登录引导_设计记录.md` - Modify: `docs/design/A01_启动登录引导_设计记录.md`
- Test: `tests/a01-asset-alpha-audit.ps1` - Test: `tests/a01-asset-alpha-audit.ps1`
@@ -163,7 +163,7 @@
- Consumes: Task 2 的 A-01 独立美术方向和项目现有 `tests/g01-asset-alpha-audit.ps1` 的透明角审计方式。 - Consumes: Task 2 的 A-01 独立美术方向和项目现有 `tests/g01-asset-alpha-audit.ps1` 的透明角审计方式。
- Produces: 可由页面实现消费的独立背景与两个 `96 × 96px` RGBA 透明图标;设计记录中带来源、用途、路径、尺寸和 Alpha 验收结论的资产清单。 - Produces: 可由页面实现消费的独立背景与两个 `96 × 96px` RGBA 透明图标;设计记录中带来源、用途、路径、尺寸和 Alpha 验收结论的资产清单。
- [ ] **Step 1: 创建先失败的资产审计脚本** - [x] **Step 1: 创建先失败的资产审计脚本**
创建 `tests/a01-asset-alpha-audit.ps1`,内容如下: 创建 `tests/a01-asset-alpha-audit.ps1`,内容如下:
@@ -216,7 +216,7 @@
Write-Output 'A01-ASSET-ALPHA-AUDIT PASS' Write-Output 'A01-ASSET-ALPHA-AUDIT PASS'
``` ```
- [ ] **Step 2: 运行资产审计并确认它先失败** - [x] **Step 2: 运行资产审计并确认它先失败**
Run: Run:
@@ -226,15 +226,15 @@
Expected: `Missing A01 asset: static/assets/backgrounds/auth-ancestral-header-v1.png`。 Expected: `Missing A01 asset: static/assets/backgrounds/auth-ancestral-header-v1.png`。
- [ ] **Step 3: 生成或下载并记录资产** - [x] **Step 3: 生成或下载并记录资产**
生成以下三张独立背景,不能裁切或复用 G-01 背景:朱砂家祠头图 `750 × 196px`、暖宣纸纹理 `750 × 1334px`、淡墨建筑竹影山水叠层 `750 × 1334px`。将它们存到本任务列出的精确路径。 生成以下三张独立背景,不能裁切或复用 G-01 背景:朱砂家祠头图 `750 × 196px`、暖宣纸纹理 `750 × 1334px`、淡墨建筑竹影山水叠层 `750 × 1334px`。将它们存到本任务列出的精确路径。
为登录按钮准备古金或白色线性人物图标,保存为 `login-outline-v1.png`;从官方或明确许可来源取得未经改色的微信图标,保存为 `wechat-official-v1.png`。两个文件均为 `96 × 96px` RGBA PNG,四个角完全透明。 为登录按钮准备古金或白色线性人物图标,保存为 `login-outline-v1.png`;从官方或明确许可来源取得未经改色的微信图标,保存为 `wechat-licensed-v1.png`。两个文件均为 `96 × 96px` RGBA PNG,四个角完全透明。
在 A-01 设计记录新增“资产清单”表格,并写入以下列:资产路径、用途、来源或生成提示、尺寸、透明验收。微信条目必须填入直接来源页面与获取日期;其余四项必须写入生成提示或公开许可证来源。 在 A-01 设计记录新增“资产清单”表格,并写入以下列:资产路径、用途、来源或生成提示、尺寸、透明验收。微信条目必须填入直接来源页面与获取日期;其余四项必须写入生成提示或公开许可证来源。
- [ ] **Step 4: 运行资产审计并确认通过** - [x] **Step 4: 运行资产审计并确认通过**
Run: Run:
@@ -244,10 +244,10 @@
Expected: 每个图标输出一行 `PASS`,最后输出 `A01-ASSET-ALPHA-AUDIT PASS`。 Expected: 每个图标输出一行 `PASS`,最后输出 `A01-ASSET-ALPHA-AUDIT PASS`。
- [ ] **Step 5: 提交可消费资产与审计** - [x] **Step 5: 提交可消费资产与审计**
```powershell ```powershell
git add static/assets/backgrounds/auth-ancestral-header-v1.png static/assets/backgrounds/auth-rice-paper-v1.jpg static/assets/backgrounds/auth-ink-scenery-v1.png static/assets/icons/auth/login-outline-v1.png static/assets/icons/auth/wechat-official-v1.png tests/a01-asset-alpha-audit.ps1 docs/design/A01_启动登录引导_设计记录.md git add static/assets/backgrounds/auth-ancestral-header-v1.png static/assets/backgrounds/auth-rice-paper-v1.jpg static/assets/backgrounds/auth-ink-scenery-v1.png static/assets/icons/auth/login-outline-v1.png static/assets/icons/auth/wechat-licensed-v1.png tests/a01-asset-alpha-audit.ps1 docs/design/A01_启动登录引导_设计记录.md
git commit -m "assets: add A01 login design resources" git commit -m "assets: add A01 login design resources"
``` ```
Binary file not shown.

After

Width:  |  Height:  |  Size: 295 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

+46
View File
@@ -0,0 +1,46 @@
$ErrorActionPreference = 'Stop'
$root = Split-Path -Parent $PSScriptRoot
Add-Type -AssemblyName System.Drawing
$backgrounds = @(
'static/assets/backgrounds/auth-ancestral-header-v1.png',
'static/assets/backgrounds/auth-rice-paper-v1.jpg',
'static/assets/backgrounds/auth-ink-scenery-v1.png'
)
$icons = @(
'static/assets/icons/auth/login-outline-v1.png',
'static/assets/icons/auth/wechat-licensed-v1.png'
)
foreach ($asset in $backgrounds + $icons) {
if (-not (Test-Path -LiteralPath (Join-Path $root $asset))) {
throw "Missing A01 asset: $asset"
}
}
foreach ($asset in $icons) {
$bitmap = [System.Drawing.Bitmap]::FromFile((Join-Path $root $asset))
$width = [int]$bitmap.Width
$height = [int]$bitmap.Height
$corners = @(
$bitmap.GetPixel(0, 0).A,
$bitmap.GetPixel(($width - 1), 0).A,
$bitmap.GetPixel(0, ($height - 1)).A,
$bitmap.GetPixel(($width - 1), ($height - 1)).A
)
$visiblePixels = 0
for ($y = 0; $y -lt $height; $y++) {
for ($x = 0; $x -lt $width; $x++) {
if ($bitmap.GetPixel($x, $y).A -gt 24) { $visiblePixels++ }
}
}
$bitmap.Dispose()
if ($width -ne 96 -or $height -ne 96) { throw "$asset must be 96 x 96px." }
if (($corners | Where-Object { $_ -ne 0 }).Count -ne 0) { throw "$asset has opaque outer corners." }
if ($visiblePixels -lt 80) { throw "$asset has no usable visible artwork." }
Write-Output "PASS $asset transparent corners and visible artwork"
}
Write-Output 'A01-ASSET-ALPHA-AUDIT PASS'