广州招聘网网站开发酒店网站免费建设

张小明 2026/3/13 3:38:16
广州招聘网网站开发,酒店网站免费建设,手机网站建设价位,做网站需要做手机版吗一、功能概述 在喝水记录应用中#xff0c;“按周查看”的需求非常常见。相比单日统计#xff0c;周视图更能反映用户最近一段时间的整体习惯变化。本篇文章围绕“周视图统计”页面#xff0c;介绍如何在 Cordova Web 层 以 7 天为一个单位聚合展示数据#xff0c;并通过 O…一、功能概述在喝水记录应用中“按周查看”的需求非常常见。相比单日统计周视图更能反映用户最近一段时间的整体习惯变化。本篇文章围绕“周视图统计”页面介绍如何在Cordova Web 层以 7 天为一个单位聚合展示数据并通过OpenHarmony ArkTS为原生侧提供对应的概要视图为后续接入图表库或桌面卡片做铺垫。全文继续采用一段代码一段说明的结构并包含 ArkTS 代码示例。二、Web 端周视图页面结构dividweek-view-pageclasspage page-week-viewh1最近 7 天喝水统计/h1tableclassdata-tableidtable-week-viewtheadtrth日期/thth饮水量 (ml)/th/tr/theadtbodyidtable-week-view-body/tbody/table/div这段 HTML 定义了周视图统计页面的基础结构。页面标题明确指出“最近 7 天喝水统计”下方通过表格列出最近 7 天的每日总饮水量。表头中包含日期和饮水量两列tbody部分使用table-week-view-body作为占位符后续由 JavaScript 动态填充。与列表页面不同这里只关心每天的总量不展示单条记录因此数据量较小、阅读更聚焦。.page-week-view{padding:16px 24px;}#table-week-view td:nth-child(2){text-align:right;}CSS 简单地为周视图页面增加统一内边距并将表格第二列饮水量列右对齐这样不同日期的数值纵向对齐更方便用户进行比较。尽管样式代码很短但对于提升可读性有着实际作用。三、计算最近 7 天的日期范围并加载数据functiongetLast7Days(){consttodaynewDate();constdays[];for(leti6;i0;i--){constdnewDate(today);d.setDate(today.getDate()-i);days.push(d);}returndays;}getLast7Days函数用于生成最近 7 天的日期数组其中包含从 6 天前到今天的每一个日期对象。通过这种方式可以保证周视图中总是展示连续完整的 7 天而不是仅根据数据库中是否有记录来决定显示哪些日期。即便某天没有喝水记录也可以在界面上以 0 ml 的形式显示帮助用户意识到某些天存在“空白”。asyncfunctionloadWeekView(){constdaysgetLast7Days();consttbodydocument.getElementById(table-week-view-body);if(!tbody)return;tbody.innerHTML;conststatsForNative[];for(constdofdays){conststartnewDate(d.getFullYear(),d.getMonth(),d.getDate());constendnewDate(start);end.setDate(start.getDate()1);consttotalawaitdb.getTotalAmountBetween(start,end);consttrdocument.createElement(tr);consttdDatedocument.createElement(td);consttdAmountdocument.createElement(td);tdDate.textContentstart.toISOString().slice(0,10);tdAmount.textContent${total};tr.appendChild(tdDate);tr.appendChild(tdAmount);tbody.appendChild(tr);statsForNative.push({date:tdDate.textContent,total});}syncWeekViewToNative(statsForNative);}loadWeekView函数是周视图页面的核心逻辑。它首先调用getLast7Days获取最近 7 天的日期数组然后遍历每一天构造当天的起止时间区间[start, end)调用封装好的db.getTotalAmountBetween从 IndexedDB 中计算当天总饮水量。对于每一天函数创建一行表格行填入日期字符串和饮水量并追加到tbody中。同时将{ date, total }对象压入statsForNative数组最后统一通过syncWeekViewToNative将这份数据发送到原生层。通过这种方式Web 层既完成了自己的渲染任务又为 ArkTS 插件提供了周视图的完整原始数据。document.addEventListener(DOMContentLoaded,(){loadWeekView();});在DOMContentLoaded事件中调用loadWeekView确保页面结构加载完成后再开始计算和渲染周视图数据。由于周视图只涉及最近 7 天的聚合统计性能开销通常较小可以在页面初始化时直接完成计算。四、通过 Cordova 将周视图数据同步给原生functionsyncWeekViewToNative(items){if(!window.cordova){console.warn([WeekView] cordova not ready, skip native sync);return;}cordova.exec((){console.info([WeekView] sync week data success);},(err){console.error([WeekView] sync week data failed,err);},WaterTrackerWeekView,setWeekData,[items]);}syncWeekViewToNative函数负责通过 Cordova 桥接将statsForNative数组发送给 ArkTS 插件。数组中包含 7 个元素每个元素对应一天的日期字符串和总饮水量。函数在调用前检查window.cordova以避免在 Cordova 尚未初始化时调用随后使用cordova.exec调用插件WaterTrackerWeekView的setWeekData方法将这 7 天的统计数据打包发送。原生层可以基于这份数据构建自己的周视图展示例如小型图表或简要列表。五、OpenHarmony ArkTS 插件和周视图存储// entry/src/main/ets/plugins/WaterTrackerWeekViewPlugin.etsimportcommonfromohos.app.ability.common;exportinterfaceWeekDayStat{date?:string;total:number;}exportclassWeekViewStore{privatestatic_items:WeekDayStat[][];staticsetItems(items:WeekDayStat[]){this._itemsitems;}staticgetitems(){returnthis._items;}}exportdefaultclassWaterTrackerWeekViewPlugin{context:common.UIAbilityContext;constructor(ctx:common.UIAbilityContext){this.contextctx;}setWeekData(args:ArrayObject,callbackId:number){constitemsargs[0]asWeekDayStat[];WeekViewStore.setItems(items);console.info([WeekViewPlugin] receive${items.length}days);}}这段 ArkTS 代码定义了周视图插件WaterTrackerWeekViewPlugin及其数据存储WeekViewStore。WeekDayStat接口表示某一天的统计信息包含日期字符串和总饮水量。WeekViewStore通过一个静态数组_items缓存从 Web 层同步过来的 7 天数据提供setItems和items访问器。插件类在setWeekData方法中从args[0]解析出数组并交给WeekViewStore.setItems存储。随后任何 ArkUI 组件都可以直接从WeekViewStore.items中读取数据构建原生周视图。六、ArkUI 中构建简易周视图// entry/src/main/ets/pages/WeekViewPage.etsimport{WeekViewStore}from../plugins/WaterTrackerWeekViewPlugin;Componentstruct WeekViewStats{build(){Column(){Text(最近 7 天喝水统计).fontSize(18).margin({bottom:8});WeekViewStore.items.forEach((item){Row(){Text(item.date||).fontSize(14);Text(${item.total}ml).fontSize(14).margin({left:8});}.margin({bottom:4});});}.padding(16)}}WeekViewStats是一个示例性的 ArkUI 组件用于在原生界面中展示最近 7 天的喝水总量。组件在build方法中遍历WeekViewStore.items为每一天渲染一行Row显示日期与对应的饮水量。虽然这里只是文字列表但已经可以让用户在原生页面快速浏览一周的总体情况。在实际应用中你可以将这份数据结合图表控件绘制折线图或柱状图让趋势变化一目了然。七、小结本篇文章以“周视图统计”为例展示了 Cordovaopenharmony 混合应用中按时间维度聚合数据的一条清晰路径Web 层通过getLast7Days和loadWeekView计算最近 7 天的每日总饮水量并渲染表格同时调用syncWeekViewToNative将统计结果发送给 ArkTS 插件OpenHarmony 侧使用WeekViewStore和WaterTrackerWeekViewPlugin缓存这些数据并在 ArkUI 组件WeekViewStats中构建简易周视图。通过一段代码一段说明的方式本文强调了“由 Web 层负责数据聚合再交给原生侧做展示扩展”的思路从而避免在多个层级重复计算。你可以在此基础上继续扩展更多时间窗口例如 14 天、30 天或者与每日目标、提醒模块联动构建更完整的喝水习惯分析体系。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

物流公司网站 源码wordpress大前端d8主题免费下载

Wan2.2-T2V-A14B在电商产品视频自动制作中的典型应用 你有没有经历过这样的场景:双十一前夜,运营团队还在熬夜剪辑第83条口红试色视频?摄影师刚拍完一组奶粉冲泡镜头,转头又要赶去拍电动牙刷的防水测试——而仓库里还有上千个SKU…

张小明 2026/3/5 3:16:50 网站建设

哪些企业需要做网站源码之家打不开

Internet Download Manager(简称IDM)作为一款高效的下载管理工具, 凭借独特的多线程分割下载与断点续传机制,实现了下载效率的显著提升,对大型文件的处理优势尤为明显。 该软件支持在网络故障等突发情况下恢复中断的…

张小明 2026/3/5 3:16:52 网站建设

计算机考试模拟网站怎么做建筑设计公司官网

文章目录 一、年纪大能不能进大厂?二、为什么说35是危机? 1.精力衰退2.脑力衰退3.知识/技术迭代 三、年龄大的程序员有哪些出路? 1.技术管理2.创业3.技术外包4.做老师5.做自媒体6.写书 四、结语 我自己今年已有44了,从2021年开始…

张小明 2026/3/5 3:16:53 网站建设

专业做书画推广的网站wordpress 伪静态 win

QQ空间历史说说备份工具:守护你的数字青春记忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代,我们的青春记忆大多储存在QQ空间里。那些记录着成长点…

张小明 2026/3/5 3:16:54 网站建设

爱站网域名查询网站建设电商考试

3步掌握AI图像修复:零代码集成IOPaint的完整指南 【免费下载链接】IOPaint 项目地址: https://gitcode.com/GitHub_Trending/io/IOPaint 还在为图片中的水印、多余物体烦恼吗?IOPaint作为开源的AI图像修复工具,让图像编辑变得简单高效…

张小明 2026/3/5 3:16:56 网站建设

物流网站方案免费域名网站搭建

摘要 https://arxiv.org/pdf/2511.22142v1 在自动驾驶领域,基于摄像头的感知模型大多在晴朗天气数据上进行训练。专注于解决特定天气挑战的模型无法适应各种天气变化,且主要优先考虑其天气去除特性。我们的研究引入了一种用于多天气条件下目标检测的语义…

张小明 2026/3/5 3:16:55 网站建设