Squash merge feat/expo-app: app-expo, .cursor, workflows, package.json, .husky; remove app-android, app-ios, react-app
This commit is contained in:
106
docs/app-expo-deploy.md
Normal file
106
docs/app-expo-deploy.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# App Expo 部署文档
|
||||
|
||||
> app-expo 前端应用的 CI/CD 部署说明,基于 GitHub Actions,无 EAS 依赖。
|
||||
|
||||
## 概述
|
||||
|
||||
统一部署 Pipeline 支持三个环境:
|
||||
|
||||
| 环境 | 触发源 | 用途 |
|
||||
|------|--------|------|
|
||||
| **dev** | `main` 分支 | 开发 + 内部测试 |
|
||||
| **stage** | `staging` 分支 | 预发布 |
|
||||
| **prod** | `v*.*.*` 标签 | 正式发布 |
|
||||
|
||||
## 环境映射
|
||||
|
||||
环境由触发源自动推断,无需额外配置:
|
||||
|
||||
```
|
||||
main → dev
|
||||
staging → stage
|
||||
v*.*.* → prod
|
||||
```
|
||||
|
||||
## 触发条件
|
||||
|
||||
- **Push**:推送至 `main` / `staging` 或 `v*.*.*` 标签
|
||||
- **路径过滤**:仅当 `app-expo/` 或 `.github/workflows/app-expo-deploy.yml` 有变更时触发
|
||||
- **手动触发**:`workflow_dispatch` 可选择 dev / stage / prod
|
||||
|
||||
## 使用方式
|
||||
|
||||
### Dev(开发 + 内部测试)
|
||||
|
||||
```bash
|
||||
git push origin main
|
||||
```
|
||||
|
||||
合并后自动执行:质量检查、构建、上传 artifact(保留 14 天)。
|
||||
|
||||
### Stage(预发布)
|
||||
|
||||
```bash
|
||||
git push origin staging
|
||||
```
|
||||
|
||||
若没有 `staging` 分支,可先创建:
|
||||
|
||||
```bash
|
||||
git checkout -b staging
|
||||
git push -u origin staging
|
||||
```
|
||||
|
||||
构建产物保留 30 天。
|
||||
|
||||
### Prod(正式发布)
|
||||
|
||||
```bash
|
||||
git tag v1.0.0
|
||||
git push origin v1.0.0
|
||||
```
|
||||
|
||||
将自动:构建、打包 zip、创建 GitHub Release、上传 artifact(保留 90 天)。
|
||||
|
||||
### 手动触发
|
||||
|
||||
1. 打开仓库 **Actions** 标签
|
||||
2. 选择 **App Expo Deploy**
|
||||
3. 点击 **Run workflow**
|
||||
4. 选择环境(dev / stage / prod)
|
||||
5. 若选 prod,可填写版本号(如 `1.0.0`)
|
||||
|
||||
## 版本规则(SemVer)
|
||||
|
||||
| 类型 | 示例 | 说明 |
|
||||
|------|------|------|
|
||||
| **PATCH** | v1.0.0 → v1.0.1 | bug 修复、小改动 |
|
||||
| **MINOR** | v1.0.0 → v1.1.0 | 新功能、向后兼容 |
|
||||
| **MAJOR** | v1.0.0 → v2.0.0 | 重大变更、不兼容 |
|
||||
|
||||
## 各环境行为
|
||||
|
||||
| 步骤 | dev | stage | prod |
|
||||
|------|-----|-------|------|
|
||||
| 质量检查(format/lint/test) | ✓ | - | - |
|
||||
| Web 构建 | ✓ | ✓ | ✓ |
|
||||
| 上传 artifact | ✓ (14 天) | ✓ (30 天) | ✓ (90 天) |
|
||||
| 创建 GitHub Release | - | - | ✓ |
|
||||
|
||||
## GitHub Environments
|
||||
|
||||
在 **Settings → Environments** 中可配置 `dev`、`staging`、`production`:
|
||||
|
||||
- 为各环境配置独立 secrets
|
||||
- 为 production 配置审批规则
|
||||
- 环境与 workflow 自动关联
|
||||
|
||||
## 产物说明
|
||||
|
||||
- **dev / stage**:`app-expo/dist` 目录(静态 Web 构建)
|
||||
- **prod**:`app-expo-v{version}-web.zip`,附带于 GitHub Release
|
||||
|
||||
## 相关文件
|
||||
|
||||
- 工作流:`.github/workflows/app-expo-deploy.yml`
|
||||
- 应用配置:`app-expo/app.config.ts`
|
||||
25
docs/ui-design/老年用户app设计规范.md
Normal file
25
docs/ui-design/老年用户app设计规范.md
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
|
||||
* 老年用户界面设计的首要目标不是“时尚感”,而是降低认知负担,让用户更快理解当前页面、下一步操作和结果反馈。系统综述把“简化”列为最高频原则之一。
|
||||
|
||||
* 相比信息密度高、入口分散的界面,老年用户更适合任务导向型结构。也就是每个页面只服务一个主要目标,避免同时出现过多功能入口、推荐流和次级操作。
|
||||
|
||||
* 导航层级应尽量浅,关键功能应保持可见,不能过度依赖隐藏菜单、手势、长按或抽屉式入口。研究表明,减少搜索空间能显著改善老年用户寻找功能的效率。
|
||||
|
||||
* “看得见”不只等于“大字”,还包括高对比度、稳定的版式层级、明确的标题系统和足够的点击区域。视觉设计应优先保证辨识,而不是追求极简留白下的弱化信息。
|
||||
|
||||
* 图标和文案应尽量具象、直白,避免抽象隐喻。对老年用户而言,含义明确的文字标签通常比单独图标更可靠,因此重要按钮最好采用“图标 + 文字”组合。
|
||||
|
||||
* 原生设计时应把“学习成本”当成核心指标,而不只是完成任务的效率。研究指出,符合 learnability 框架的界面能提升成功率、记忆表现和主观满意度。
|
||||
|
||||
* 老年用户需要的是可预测的交互逻辑。相同位置承担相同功能、相同颜色表达相同状态、相同按钮遵循相同行为,这种一致性能降低操作焦虑。
|
||||
|
||||
* 错误容忍度要高。重新设计时应让“误触之后可恢复”成为基本原则,例如明显的返回、撤销、二次确认和状态提示,因为老年用户往往更担心“点错会出问题”。
|
||||
|
||||
* 帮助系统应内嵌在界面中,而不是只放在设置页或外部说明里。研究把 Help & Training 视为独立维度,说明老年用户需要随时可获得的提示、示例和引导。
|
||||
|
||||
* 老年用户体验问题并不只是生理退化问题,也与情绪和社会感受有关。访谈研究显示,年龄刻板印象、害怕做错、担心被视为“不会用”会影响使用意愿,因此 UI 语气应避免命令式、技术炫耀式和羞辱式表达。
|
||||
|
||||
* 适合老年人的审美风格通常应传达“可信、平静、稳妥”的感受,而不是强调速度感、潮流感或娱乐化。因为视觉风格本身也在影响用户对风险和可控性的判断,这是质性研究反复提到的情绪维度。
|
||||
|
||||
* 老年用户之间差异很大,不能把他们视为单一群体。设计时更合理的做法是围绕具体生活场景建模,例如健康管理、出行、沟通、支付、紧急联系,而不是泛泛地做“老年模式”。
|
||||
Reference in New Issue
Block a user