Files
Ubuntu 32b43f85bd a
2026-07-03 16:58:28 +08:00

287 lines
7.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 玩Android Material Design 客户端
基于Uniapp框架开发的Material Design风格玩Android客户端应用。
## 🎨 设计理念
### Material Design 3 规范
- **颜色系统**: 使用Material Design 3颜色系统
- 主色: `#6200EE` (紫色)
- 次要色: `#03DAC6` (青色)
- 表面色: `#FFFFFF` (白色)
- 背景色: `#F5F5F5` (浅灰)
- **排版**: Roboto字体,规范的文字层级
- **阴影**: 使用Elevation阴影系统
- **动效**: 流畅的过渡动画和交互反馈
### Android应用标准
- 遵循Android应用设计规范
- 支持深色模式
- 响应式布局
- 触摸反馈和手势支持
## 📱 功能特性
### ✅ 已完成功能
1. **Material Design风格首页**
- 状态栏和导航栏(紫色主题)
- 搜索栏(Material Design样式)
- Banner轮播(自动轮播+阴影效果)
- 搜索热词(芯片式设计)
- 文章列表(卡片式布局)
- 置顶文章(特殊标识)
- 下拉刷新(Material Design样式)
- 上拉加载更多
- 回到顶部按钮
- 浮动操作按钮(FAB)
2. **完整的底部导航**
- Material Design图标(轮廓/填充)
- 5个Tab:首页、项目、公众号、体系、我的
- 平滑的切换动画
3. **网络请求封装**
- 统一的请求工具
- 错误处理和加载状态
- 拦截器支持
### ⏳ 待开发页面(Material Design风格占位)
1. **项目页面** - 开源项目浏览
2. **公众号页面** - 技术公众号订阅
3. **体系页面** - 技术知识体系
4. **我的页面** - 用户中心
## 🏗️ 项目结构
```
uniapp_android/
├── pages/ # 页面文件
│ ├── index/ # 首页(Material Design完整实现)
│ │ └── index.vue # 11.8KB,完整功能
│ ├── project/ # 项目页(Material Design占位)
│ ├── wxarticle/ # 公众号页(Material Design占位)
│ ├── tree/ # 体系页(Material Design占位)
│ └── mine/ # 我的页(Material Design占位)
├── components/ # 组件目录
├── utils/ # 工具函数
│ └── request.js # 网络请求封装
├── static/images/icons/ # Material Design图标
├── manifest.json # 应用配置(Android优化)
├── pages.json # 页面配置(Material Design风格)
├── App.vue # 应用入口(全局样式)
├── create_material_icons.py # 图标生成脚本
├── create_placeholder_pages.py # 占位页面生成脚本
└── README.md # 本文件
```
## 🎯 技术实现
### 核心特性
1. **响应式设计**: 使用rpx单位,适配不同屏幕
2. **深色模式**: 支持系统深色模式切换
3. **性能优化**: 图片懒加载、请求节流
4. **错误处理**: 统一的错误提示和重试机制
5. **交互反馈**: 触摸反馈、加载状态、动画效果
### Material Design组件实现
- **卡片**: 阴影、圆角、悬停效果
- **按钮**: 填充按钮、轮廓按钮、浮动按钮
- **芯片**: 搜索热词芯片
- **进度条**: 线性进度指示器
- **底部导航**: 图标切换动画
## 🚀 快速开始
### 1. 使用HBuilder X
```bash
# 1. 下载HBuilder X
# 2. 导入本项目文件夹
# 3. 运行到浏览器或Android模拟器
# 4. 打包为Android APK
```
### 2. 运行测试
```bash
# 在HBuilder X中:
# 1. 右键项目 → 运行 → 运行到浏览器
# 2. 选择Chrome浏览器
# 3. 按F12切换到移动端模拟
```
### 3. 打包APK
```bash
# 在HBuilder X中:
# 1. 发行 → 原生App-云打包
# 2. 选择Android平台
# 3. 使用公共测试证书
# 4. 开始打包
```
## 🎨 设计细节
### 颜色系统
```css
/* Material Design 3 颜色 */
--md-primary: #6200EE;
--md-primary-variant: #3700B3;
--md-secondary: #03DAC6;
--md-surface: #FFFFFF;
--md-background: #F5F5F5;
--md-on-primary: #FFFFFF;
--md-on-surface: #000000;
```
### 文字层级
```css
/* 标题文字 */
.text-title { font-size: 20px; font-weight: 500; }
/* 副标题 */
.text-subtitle { font-size: 16px; font-weight: 400; }
/* 正文 */
.text-body { font-size: 14px; font-weight: 400; }
/* 说明文字 */
.text-caption { font-size: 12px; font-weight: 400; }
```
### 阴影等级
```css
/* Elevation 1 */
.elevation-1 { box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
/* Elevation 2 */
.elevation-2 { box-shadow: 0 4px 8px rgba(0,0,0,0.12); }
/* Elevation 3 */
.elevation-3 { box-shadow: 0 8px 16px rgba(0,0,0,0.14); }
```
## 📊 API集成
### 已集成API
1. `GET /banner/json` - 首页Banner
2. `GET /hotkey/json` - 搜索热词
3. `GET /article/list/{page}/json` - 文章列表
### 网络请求示例
```javascript
import { api } from '@/utils/request.js'
// 获取Banner
const banners = await api.getBanners()
// 获取文章列表
const articles = await api.getArticles(0, 20)
```
## 🔧 开发指南
### 添加新页面
1. 在 `pages.json` 中添加页面配置
2. 创建Vue页面文件
3. 遵循Material Design设计规范
4. 使用提供的工具类和组件
### 样式规范
1. 使用提供的CSS类(如 `.card`, `.elevation-1`)
2. 遵循颜色系统
3. 使用响应式单位(rpx)
4. 添加深色模式支持
### 组件开发
1. 保持组件单一职责
2. 提供适当的Props和Events
3. 添加文档注释
4. 测试不同状态
## 📱 页面预览
### 首页
- 紫色状态栏和导航栏
- 搜索栏(点击跳转搜索)
- Banner轮播(自动+手动)
- 搜索热词芯片
- 文章卡片(置顶/普通)
- 浮动操作按钮
- 回到顶部按钮
### 其他页面
- Material Design风格的占位设计
- 功能预览卡片
- 开发进度指示
- 操作按钮
## 🧪 测试验证
### 已测试功能
1. ✅ 底部导航切换
2. ✅ Banner轮播和点击
3. ✅ 搜索热词展示和点击
4. ✅ 文章列表加载和分页
5. ✅ 下拉刷新和上拉加载
6. ✅ 浮动操作按钮
7. ✅ 回到顶部功能
8. ✅ 网络请求和错误处理
### 测试方法
1. HBuilder X浏览器运行
2. Chrome移动端模拟
3. 网络请求调试
4. 交互功能测试
## 📦 打包发布
### Android配置
```json
{
"minSdkVersion": 21,
"targetSdkVersion": 33,
"permissions": [
"INTERNET",
"ACCESS_NETWORK_STATE",
"ACCESS_WIFI_STATE"
]
}
```
### 打包步骤
1. 配置 `manifest.json`
2. 选择Android平台
3. 配置证书(测试/正式)
4. 云打包生成APK
## 🔄 更新计划
### 近期计划
1. 实现搜索功能页面
2. 实现WebView文章详情
3. 实现登录和用户系统
4. 实现收藏功能
### 长期计划
1. 完善其他页面功能
2. 添加离线缓存
3. 实现推送通知
4. 添加分享功能
## 📄 许可证
本项目基于Uniapp框架开发,遵循MIT许可证。
## 📞 支持
如有问题或建议,请:
1. 查看项目文档
2. 检查常见问题
3. 提交Issue
---
**项目状态**: ✅ 第一阶段完成
**设计风格**: 🎨 Material Design 3
**平台支持**: 📱 Android (Uniapp多端)
**打包就绪**: 🚀 可立即打包APK
**提示**: 本项目已完全按照Android Material Design风格实现,可直接导入HBuilder X打包发布。