基于OpenHarmony的黄鹤开源技术社区应用技术文档
1. 安装指南
1.1 环境要求
Windows环境:
- 操作系统:Windows10/11 64位
- 内存:16GB及以上
- 硬盘:100GB及以上
- 分辨率:1280*800像素及以上
macOS环境:
- 操作系统:macOS(X86) 11-14/macOS(ARM) 12-14
- 内存:8GB及以上
- 硬盘:100GB及以上
- 分辨率:1280*800像素及以上
1.2 开发工具
- IDE:DevEco Studio NEXT Developer Beta1及以上
- SDK:HarmonyOS NEXT Developer Beta1 SDK及以上
- 模拟器:API12手机模拟器
1.3 依赖安装
执行以下命令安装所需依赖:
ohpm install @ohos/pulltorefresh
ohpm install @ohos/lottie
ohpm install @ohos/axios
2. 项目使用说明
2.1 主要功能
- 首页展示:包含轮播图、推荐内容、资讯等模块
- 城市定位:自动获取或手动选择城市
- 页面切换:支持Tab页签和底部导航切换
- 数据加载:下拉刷新与上拉加载功能
- 夜间模式:全局暗黑主题切换
- 服务卡片:长按图标生成桌面快捷入口
- 用户登录:基于OAuth2的安全认证
2.2 权限配置
需在config.json中声明以下权限:
"reqPermissions": [
{
"name": "ohos.permission.APPROXIMATELY_LOCATION"
},
{
"name": "ohos.permission.LOCATION"
},
{
"name": "ohos.permission.GET_NETWORK_INFO"
},
{
"name": "ohos.permission.INTERNET"
}
]
3. API使用文档
3.1 数据接口结构
api/
├── index // 首页数据接口集合
├── hotRank // 热榜数据接口集合
3.2 核心API说明
3.2.1 基础请求封装(BaseRequest.ets)
// 示例:GET请求
BaseRequest.get(url, params)
.then(response => {
// 处理响应数据
})
.catch(error => {
Logger.error('请求失败', error);
});
// 示例:POST请求
BaseRequest.post(url, data)
.then(response => {
// 处理响应数据
});
3.2.2 日志系统(Logger.ets)
// 日志级别
Logger.debug('调试信息');
Logger.info('常规信息');
Logger.warn('警告信息');
Logger.error('错误信息');
// 日志存储路径
/storage/emulated/0/Android/data/包名/files/logs/
4. 项目安装方式
4.1 开发环境安装
- 下载并安装DevEco Studio
- 配置HarmonyOS SDK
- 创建或导入项目
4.2 真机调试
- 手机开启开发者模式
- 连接电脑并授权
- 配置自动签名:
- 登录华为账号
- 选择"Build > Generate Key and CSR"
- 启用自动签名功能
4.3 模拟器运行
- 创建API12手机模拟器
- 选择模拟器运行目标
- 点击运行按钮启动应用
4.4 HAP包安装
- 构建生成hap/entry-default-unsigned.hap
- 通过以下命令安装:
hdc install entry-default-unsigned.hap
5. 项目架构说明
5.1 工程目录结构
entry/src/main/ets/
├── common // 公共资源
├── api // 接口集合
├── constants // 常量定义
├── entryability // Ability生命周期
├── pages // 页面组件
├── util // 工具类
├── view // UI组件
└── viewmodel // 数据模型
5.2 核心模块
- 城市选择器:支持搜索和定位的城市选择组件
- 夜间模式:全局主题切换功能
- 轮播图:支持自动播放和手势滑动的Banner组件
- 数据加载:封装了上拉加载和下拉刷新逻辑
- 服务卡片:提供桌面快捷入口的卡片组件
6. 测试说明
6.1 单元测试
使用Jest框架运行测试:
npm test
6.2 集成测试
- 页面跳转测试
- 数据加载测试
- 用户交互测试
6.3 接口测试
建议使用Postman或Apifox工具验证所有API接口
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



