v44 第 44 批:界面 5 条 + 移动端 API v1 全量
界面(用户 2026-10-12 第 1~5 条) 1. 新建日程「日历本」并入 .cs 自绘下拉,颜色画进候选项,三字与下拉同行。 2. 新建日程「开始/结束」改「日期范围:」,删旧日期控件; 重复相关三行仅选重复时出现;删「(含第一次)」与「这段时间算忙碌」。 3. 条目浮层加「地点」、去掉「状态」行;首页红线按分钟定位(原只取整小时); 去掉左侧红点只留红线。 4. 任务页删掉状态说明提示(STATUS_HINT 三值清空)。 5. 新建任务:标题在前树框在后;截止时间改最新日历控件;负责人默认自己; 删冗余提示;「上面要做什么」→「任务名称」;清理括号说明。 移动端 API(用户第 6 条:导航模块除外,其余全量) - 新增 Bearer 令牌鉴权(api_tokens 表,Schema v32),与登录口令 / DAV 口令三套分立。 - Api.php 内核(鉴权/取参/信封/分页/分发 + _method 覆写)+ ApiHandler.php 17 条资源 + ApiToken.php + api.php 入口。 - 路由:router.php / .htaccess / index.php 三处 /api/ 兜底(部署脚本自动追加线上规则)。 - 个人设置新增「App 接口令牌」卡;docs/API.md 接口文档; docs/API-QUESTION-LIST.md 自主决策与待确认缺口清单。 验证:本地 e2e 1510/0、v43 真机 33/0、v43 反向 9/0、 v44 真机 41/0、v44 API 63/0、v44 反向 19/0;全流水线 PUSH_RC=0。
This commit is contained in:
+21
-6
@@ -218,14 +218,24 @@ if ($timed) {
|
||||
下面的 `$nowH` 是当前小时(服务端时区,与页面口径一致),
|
||||
把它并进区间端点 —— 于是红线必然落在区间内,定位也就有了正确的目标。
|
||||
⚠️ 必须在**算 $nowH 之前**完成这一步(原代码把 $nowH 放在区间之后算,
|
||||
这里把它提上来,避免"改了区间却没重新算位置"这种漏改)。 */
|
||||
这里把它提上来,避免"改了区间却没重新算位置"这种漏改)。
|
||||
🔴🔴 v44(用户 2026-10-12 第 3 条):「首页上的红线刻度显示不准确。
|
||||
现在明明已经 7:44 了,但它那个红线还停留在最早的 7 点钟,
|
||||
并没有走到 7:44 那个位置。这个只有在首页上是这样的。我点到日程里面,
|
||||
那个红线的刻度好像是对的。」
|
||||
⇒ 真根因:首页用的是 `date('G')`(**只取整小时**),而日程页用的是
|
||||
`(int)date('G')*60 + (int)date('i')`(**精确到分**)。
|
||||
7:44 时首页算出 7 → 红线停在 7:00,正是用户看到的。
|
||||
⇒ 这里改成与日程页**同一套**(小时*60+分钟),两处的口径不再分叉。 */
|
||||
$nowHNow = (int)date('G');
|
||||
if ($nowHNow < $startH) { $startH = max(0, $nowHNow - 1); }
|
||||
if ($nowHNow >= $endH) { $endH = min(24, $nowHNow + 2); }
|
||||
if ($endH <= $startH) { $endH = min(24, $startH + 2); }
|
||||
}
|
||||
$nowH = (int)date('G');
|
||||
$nowPos = ($nowH - $startH) / max(1, ($endH - $startH)); // 红线位置(0~1)
|
||||
/* 红线位置:**分钟级**(与日程页同一算法)。见上面 v44 那条 —— 原来是 `date('G')`
|
||||
(整小时),所以"7:44 的红线停在 7:00"。 */
|
||||
$nowMinutes = ((int)date('G')) * 60 + (int)date('i');
|
||||
$nowPos = (($nowMinutes / 60) - $startH) / max(1, ($endH - $startH)); // 红线位置(0~1)
|
||||
$showNow = $nowPos >= 0 && $nowPos <= 1;
|
||||
|
||||
/* 🔴 v30 第 2/4 条:首页日程也用**和日程模块同一套冲突分列**。
|
||||
@@ -304,10 +314,15 @@ unset($evRef);
|
||||
</div>
|
||||
<?php endfor; ?>
|
||||
<?php /* 当前时刻红线:用户原话「需要在当前的时间或者是时刻那里显示一条红线」 */ ?>
|
||||
<?php /* 🔴 v44(用户 2026-10-12 第 3 条):「红线左侧是有一个红点吗?
|
||||
这个红点显示也不全,也不太好看。直接把红点去掉就行了,
|
||||
直接一根红线就可以了。」
|
||||
⇒ 那颗 `.ag-now-dot` 整个删掉(原来它是个 8×8 的圆,左端 `left:-4px`,
|
||||
靠外溢一点点来"指示起点";用户觉得显示不全又不好看)。
|
||||
⚠️ CSS 里那条 `.ag-now-dot` 也一并删(留在那儿是死规则,
|
||||
还会让"红线只有一根"这件事在样式表里看不出结论)。 */ ?>
|
||||
<?php if ($showNow): ?>
|
||||
<div class="ag-now" style="top: <?= number_format($nowPos * 100, 2) ?>%">
|
||||
<span class="ag-now-dot"></span>
|
||||
</div>
|
||||
<div class="ag-now" style="top: <?= number_format($nowPos * 100, 2) ?>%"></div>
|
||||
<?php endif; ?>
|
||||
<?php /* 日程块:按"相对第一个刻度的小时数"定位(与日视图同一套比例)---- */ ?>
|
||||
<?php
|
||||
|
||||
Reference in New Issue
Block a user