张功茂 / 开发履历
← 返回全部 11 个项目

PROJECT 07 / 11

原生鸿蒙

华泰证券 · 资讯行情

鸿蒙开发工程师2024.08 — 2024.11

重构资讯阅读与行情展示,接入实时数据、公告 PDF 预览、直播和新闻语音播报。

ArkUICanvasWebSocketPDFKit

核心技术栈

Canvas,Path2D,PixelMap,Chart 柱状图,webview,SSE + 动画中频刷新,WebSocket亚秒级刷新,Core Speech Kit实现tts语音,@kit.BasicServicesKit@kit.PDFKit

具体项目经历

1. 声明式吸顶交互:基于 List 容器与 onScroll 事件动态计算透明度,实现首页上划时,下半部分状态栏替换掉首页搜索栏的阅读资讯沉浸式体验。

2. 原生多媒体流渲染:集成第三方直播 SDK,配合原生 XComponent 组件承接底层视频流句柄,实现点击资讯 item 极速跳转,并完成财经大V直播间的无缝播放接入。

3. 轻量级Canvas绘图:采用 ArkUI Canvas 与 Path2D 绘制大盘折线并结合 PixelMap 缓存结果,实现行情页的各级市场显示(如上证、深证指数)及行情页缩略图折线图,彻底解决列表快速滚动时的重绘性能瓶颈。

4. 证券柱状图组件接入:基于第三方 Chart 柱状图组件封装涨跌分布模块,通过 series、shapeType、stack 等配置驱动图表渲染,并结合响应式状态更新实现行情数据的动态展示。

5. 非 VIP 用户充值页跳转:进入特殊资讯窗口前先调用接口完成会员鉴权;若当前用户为非 VIP,则跳转到 Web 组件渲染的 H5 充值展示页。

6. 行业板块实时刷新:根据行情刷新频率选用 SSE 或 WebSocket 获取行业板块涨跌幅数据,使用 ArkUI @State 驱动列表更新,并结合 animateTo 优化涨跌幅数字的动态过渡效果。

7. 纯文字语音播报:基于 Core Speech Kit 的 TextToSpeech 组件,将个股资讯纯文字内容直接转换为语音播放,实现“听新闻”能力;若详情页由 Web 承载,则通过 javaScriptProxy 桥接原生播报能力。

8. ArkUI 时间轴排版:利用 ArkUI 容器组合与条件渲染,配合 isExpanded 响应式状态,实现个股大事纪要的节点连线,以及单个节点的展开全部功能。

9. 个股公告 PDF 下载与预览:@kit.BasicServicesKit的 request.agent 将公告 PDF 下载到应用沙箱目录,下载完成后通过 router.pushUrl 跳转 PdfPreviewPage,结合 PDFKit 在新页面加载并预览 PDF,同时补充下载进度、失败提示与资源释放处理。