## 版本 versionCode 10200 / versionName 0.2.0(原 10000 / 0.1.0) ## 新增 - **VTODO 待办完整支持**:同步、展示、勾选完成、编辑、循环待办。 关键修复:待办此前**从未被同步过** —— 同步主循环只处理 VEVENT, `DavClient.reportTodos()` 写了却零调用(死代码)。现已在 `SyncEngine.syncAccountInner` 接入,并对未知类型本也拉一次 (服务器多半不声明 supported-calendar-component-set,宁多拉不漏)。 整段包 try/catch,单本失败不影响日程同步。 - **日历本类型图标**:`supported-calendar-component-set` 解析出 event/todo/both/unknown,账号页在颜色前显示对应 SVG 图标。 unknown 按日历对待(服务器不声明时不能武断判成待办)。 - **问题反馈入口**:设置页新增卡片,指向 FeedLite (https://feedlite.yangyq.net/?sw=synccalendar)。 ## 改进 - 月视图事件标记:农历下方浅红点,每日期最多一个 - 选中/今天改为正圆底,周视图复用月视图 `dayCellCircle` - 「今天」按钮状态化(在不在今天,视觉可辨) - 待办页签按需显示(只看 todos.length,不依赖可能缺失的 comps) - 新建非今天日程默认 09:00(统一 DEFAULT_START_HOUR) ## 修复 - 首屏农历不变色:外层 ForEach key 缺数据版本 → 整树复用不重绘 - 翻月闪跳:async 未等待 + @State 同栈不可读 → 改 rebuildPagesFor(y,m) 显式传参 - 翻月后整月无选中:选中日未随月迁移,且钳制导致日号漂移 → 加 preferredDay - 周视图颜色过浅/选中不变白/星期标签丢失:复用组件时未设 inMonth ## 官网 - sf.html 新增「三、待办清单」章节(原三~八顺延为四~九) - index.html 版本号 V0.1.0 → V0.2.0 ## 工单 关闭 #3 #4 #5 #6;新建 #7 记录「VTODO 无法镜像到系统待办」的技术限制。 ## 未做(技术限制) 镜像到系统日历「待办」页签:鸿蒙未开放待办 API,不可行。见 #7。
This commit is contained in:
+2
-2
@@ -2,8 +2,8 @@
|
||||
"app": {
|
||||
"bundleName": "synccalendar.yangyq.net",
|
||||
"vendor": "yangyq",
|
||||
"versionCode": 10000,
|
||||
"versionName": "0.1.0",
|
||||
"versionCode": 10200,
|
||||
"versionName": "0.2.0",
|
||||
"buildVersion": "1",
|
||||
"icon": "$media:layered_image",
|
||||
"label": "$string:app_name"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
一款以**同步为核心**的鸿蒙原生日历应用,基于 HarmonyOS NEXT(ArkTS / Stage 模型)开发。对接标准 CalDAV 服务器(群晖、Nextcloud、Radicale、Baikal 等),让你的日程真正掌握在自己手里——不经过第三方云服务,数据始终同步在你自己的 NAS 上。
|
||||
|
||||
- 应用市场送审版本:**0.1.0** | 仓库当前:**0.1.0**(versionCode 10000)
|
||||
- 官网:<https://synccalendar.yangyq.net> | 问题反馈:<https://synccalendar.yangyq.net/feedback/>
|
||||
- 官网:<https://synccalendar.yangyq.net> | 问题反馈:<https://feedlite.yangyq.net/?sw=synccalendar>
|
||||
- 开源协议:Apache License 2.0
|
||||
|
||||
---
|
||||
@@ -337,7 +337,7 @@ hvigorw assembleApp --mode project -p product=default -p buildMode=release
|
||||
| 软件特性 | <https://synccalendar.yangyq.net/sf.html> |
|
||||
| 隐私政策 | <https://synccalendar.yangyq.net/upa.html> |
|
||||
| 用户服务协议 | <https://synccalendar.yangyq.net/usa.html> |
|
||||
| 问题反馈 | <https://synccalendar.yangyq.net/feedback/> |
|
||||
| 问题反馈 | <https://feedlite.yangyq.net/?sw=synccalendar> |
|
||||
|
||||
网站备案:**鲁ICP备17014997号-6A**
|
||||
|
||||
|
||||
@@ -61,11 +61,20 @@ export class AppSettings {
|
||||
static readonly FEATURES_URL: string = 'https://synccalendar.yangyq.net/sf.html';
|
||||
/** 使用帮助网址 */
|
||||
static readonly HELP_URL: string = 'https://synccalendar.yangyq.net/uh.html';
|
||||
/**
|
||||
* ⭐ 问题反馈网址。
|
||||
*
|
||||
* 换到 FeedLite(多站点共用一套反馈平台),`?sw=` 指定本项目站点标识。
|
||||
* 旧地址 synccalendar.yangyq.net/feedback/ 是自建 PHP 论坛,
|
||||
* 里面还有 3 条历史反馈(含一条完整 PR 贡献),服务暂不删除。
|
||||
*/
|
||||
static readonly FEEDBACK_URL: string = 'https://feedlite.yangyq.net/?sw=synccalendar';
|
||||
/** 文档标题(内置浏览器标题栏用) */
|
||||
static readonly PRIVACY_TITLE: string = '隐私政策';
|
||||
static readonly AGREEMENT_TITLE: string = '用户服务协议';
|
||||
static readonly FEATURES_TITLE: string = '软件特性';
|
||||
static readonly HELP_TITLE: string = '使用帮助';
|
||||
static readonly FEEDBACK_TITLE: string = '问题反馈';
|
||||
|
||||
/**
|
||||
* 是否已同意《隐私政策》与《用户协议》(首启同意弹窗)。
|
||||
|
||||
@@ -1697,6 +1697,36 @@ struct SettingsPage {
|
||||
this.openDoc(AppSettings.HELP_TITLE, AppSettings.HELP_URL);
|
||||
})
|
||||
|
||||
// FEEDBACK_CARD 问题反馈(FeedLite 平台,?sw=synccalendar 指定本项目站点)
|
||||
Column({ space: 8 }) {
|
||||
Row({ space: 10 }) {
|
||||
Column({ space: 2 }) {
|
||||
Text('问题反馈')
|
||||
.fontSize(15)
|
||||
.fontWeight(FontWeight.Medium)
|
||||
.fontColor($r('app.color.text_primary'))
|
||||
Text('遇到问题或有建议,点这里告诉我们')
|
||||
.fontSize(12)
|
||||
.fontColor($r('app.color.text_secondary'))
|
||||
}
|
||||
.alignItems(HorizontalAlign.Start)
|
||||
.layoutWeight(1)
|
||||
Text('›')
|
||||
.fontSize(18)
|
||||
.fontColor($r('app.color.text_hint'))
|
||||
}
|
||||
.width('100%')
|
||||
}
|
||||
.alignItems(HorizontalAlign.Start)
|
||||
.width('100%')
|
||||
.padding(14)
|
||||
.borderRadius(12)
|
||||
.backgroundColor($r('app.color.card_bg'))
|
||||
.border({ width: 1, color: $r('app.color.shadow_color') })
|
||||
.onClick(() => {
|
||||
this.openDoc(AppSettings.FEEDBACK_TITLE, AppSettings.FEEDBACK_URL);
|
||||
})
|
||||
|
||||
// 隐私政策与用户协议(点击弹层;bindSheet 挂在本卡片上,避免与其它弹层冲突)
|
||||
Column({ space: 8 }) {
|
||||
Row({ space: 10 }) {
|
||||
|
||||
Reference in New Issue
Block a user