本项目"FinalWorkBossZP"是一个基于HarmonyOS开发的模仿BOSS直聘的鸿蒙应用,实现了BOSS直聘主要界面和功能,包括职位列表展示、顶部导航、左侧滑动标签和底部导航栏等功能。应用使用ArkTS语言和ArkUI框架开发,采用了组件化设计思想。
项目主要目录和文件结构如下:
FinalWorkBossZP/
├── AppScope/ # 应用级资源和配置
├── entry/ # 主入口模块
│ ├── src/
│ │ ├── main/
│ │ │ ├── ets/
│ │ │ │ ├── component/ # 自定义组件
│ │ │ │ │ ├── LeftTab.ets # 左侧标签栏组件
│ │ │ │ │ └── MyTabContent.ets # 底部导航栏组件
│ │ │ │ ├── entryability/ # 入口能力
│ │ │ │ ├── model/ # 数据模型
│ │ │ │ │ └── Item.ets # 职位数据模型
│ │ │ │ └── pages/
│ │ │ │ └── Index.ets # 主页面
│ │ │ ├── resources/ # 资源文件
│ │ │ └── module.json5 # 模块配置
应用顶部包含状态栏信息、应用名称("BOSS 直聘")和当前职位类型("鸿蒙开发工程师"),使用渐变色和特殊排版增强视觉效果。
实现了三个主要标签:"推荐"、"附近"、"最新",用户可以左右滑动切换不同的内容列表。标签栏右侧还有"北京"和"筛选"两个功能按钮,用于筛选职位信息。
根据标签显示不同的职位列表,每个职位项包含以下信息:
- 职位名称和薪资
- 公司名称、融资阶段、公司规模
- 职位标签(如年限要求、学历要求、技术栈等)
- HR信息和工作地点
用户点击职位项会弹出对话框显示详情选项。
底部导航栏包含四个选项卡:
- 职位:显示职位列表(默认选中)
- 有了:有红点提示
- 消息:有数字角标(2)提示
- 我的:有红点提示
LeftTab组件实现了左侧滑动标签栏和职位列表,主要功能:
- 自定义标签栏UI,支持标签切换
- 实现了标签切换的动画效果
- 集成了职位列表视图
- 实现了列表项的布局和点击交互
MyTab组件实现了底部导航栏,主要功能:
- 自定义导航项的UI
- 实现了角标和红点提示
- 实现了选中态与非选中态的样式切换
在Item.ets中定义了职位数据模型,包含各种职位信息:
export class Item {
position: string;
salary: string;
company: string;
invest: string;
number: string;
tags: string[];
icon: Resource;
name: string;
location: string;
// 构造函数
constructor(/* 参数 */) {
// 初始化
}
}
应用实现了多种动画效果:
- 标签切换的平滑过渡动画
- 列表项的点击反馈
- Tab选项卡的切换动画
- 开发语言:ArkTS
- UI框架:ArkUI
- 组件:Text、Image、Column、Row、Stack、Tabs、List等基础组件,以及Badge等复合组件
- 布局:弹性布局(Row/Column)、堆叠布局(Stack)
- 动画:animateTo、TabsAnimationEvent等
- 确保已安装DevEco Studio最新版本
- 克隆或下载项目代码
- 使用DevEco Studio打开项目
- 连接鸿蒙设备或启动模拟器
- 点击"运行"按钮部署应用到设备/模拟器
推荐使用HarmonyOS 5.0.2或更高版本的设备以获得最佳体验。