项目概述
百得知识库页面展示

开屏页(Advertising):展示广告图片,包含倒计时功能,倒计时结束后自动跳转至主页面,提供用户短暂的品牌展示和加载时间
首页(Index.ets):应用主框架,实现底部 Tab 导航首页、学习、消息、我的,通过状态管理控制当前显示页面,并负责整体布局和背景设置
学习页(Learn):整合学习工具打卡、目标、学习平台和面试大全等模块入口,以卡片形式展示各类学习功能,提供清晰的学习路径导航
消息页(Message):展示消息统计总数量/未读数量,分类显示系统消息和通知公告,支持下拉刷新,点击可查看详情,提供未读消息计数提示
我的页(Mine):显示用户个人信息头像、昵称,提供编辑个人信息入口,整合功能列表反馈、设置等,处理登录/未登录状态的差异化展示和退出登录逻辑
登录页(LoginPage):实现用户身份认证,支持账号密码输入验证,含用户协议和隐私政策勾选及查看功能
开屏页:广告展示与倒计时跳转机制

倒计时控制机制通过状态变量 countDownSeconds(默认 3 秒)实现,每秒递减一次。
当倒计时结束时,系统会清除定时器以防内存泄漏,从 PreferencesUtil 恢复用户 token 和信息,并通过 router.replaceUrl 跳转到首页,同时在 onPageHide 中清理相关资源
// 展示开屏页面时间,单位秒
@State countDownSeconds: number = CommonConstant.ADVERTISING_TIME;
// 结束时间,单位秒
endTime: number = CommonConstant.ADVERTISING_END_TIME;
/**
* 生命周期函数
*/
onPageShow() {
this.endTime = setInterval(async () => {
if (this.countDownSeconds === CommonConstant.ADVERTISING_END_TIME) {
(.);
token = .(., ., );
userInfo = .(., ., );
(token && userInfo) {
.(., token);
.(., .(userInfo));
}
router.({ : . });
} {
.--;
}
}, );
}
() {
(.);
}












