Files
Neo-ZQYY/apps/demo-miniprogram/doc/useless/TASK_ABANDON_QUICK_REFERENCE.md
Neo 779b2f6d52 chore: v1 整理 — 清理历史文件、DDL 合并、文档归档
- 清理 1155 个已删除的历史文件(废弃 prompt_logs、tmp、旧 ops 脚本)
- export/ 数据文件从 git 移除(已在 .gitignore)
- demo-miniprogram 从 tmp/ 移入 apps/,添加 CLAUDE.md 注解
- DDL 合并:完整 schema 定义填充到 db/*/schemas/(从 docs/database/ddl/ 复制)
- 39 个 v1 迁移脚本归档到 db/_archived/migrations_v1_merged/
- 4 个迁移变更类 BD_Manual 文档归档到 docs/database/_archived/
- .gitignore 补充 .vite/ 和 apps/*.zip
- settings.json 添加 effortLevel 默认配置
- scripts/ops/ 新增运维脚本入库

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 00:39:27 +08:00

3.8 KiB
Raw Blame History

任务放弃功能改进 - 快速参考

核心改进

1 已放弃任务长按菜单

  • 位置:任务列表页 → 已放弃区域 → 长按任务
  • 显示:单个选项"↩️ 取消放弃"
  • 行为:点击直接执行,无需二次确认

2 取消放弃流程

已放弃任务 → 长按 → 点击"取消放弃" → 直接移回一般任务区域

状态变化

  • status: abandonedpending
  • is_pinned: 保持 false
  • abandonReason: 清除

3 键盘交互优化

  • 输入框激活:键盘弹出时弹窗自动上移
  • 内容保护:添加占位区域防止被键盘遮挡
  • 按钮位置:固定在键盘上方
  • 视觉反馈:输入框获得焦点时边框变蓝

文件修改清单

文件 修改内容
P4-miniapp-core-business.md 补充任务类型与状态关系说明
task-list.wxml 长按菜单条件渲染 + 键盘事件
task-list.ts 新增 onCtxCancelAbandon + 键盘处理
task-list.wxss 键盘交互样式
task-detail.wxml 键盘事件 + 占位区域
task-detail.ts 键盘处理 + 取消放弃逻辑
task-detail.wxss 键盘交互样式

关键代码片段

长按菜单条件渲染

<!-- 已放弃任务:显示"取消放弃" -->
<block wx:if="{{contextMenuTarget.isAbandoned}}">
  <view class="ctx-item" bindtap="onCtxCancelAbandon">
    <text class="ctx-emoji">↩️</text>
    <text class="ctx-text">取消放弃</text>
  </view>
</block>
<!-- 一般/置顶任务:显示标准菜单 -->
<block wx:else>
  <!-- 置顶/备注/问问AI/放弃任务 -->
</block>

键盘高度管理

// 键盘弹出
onAbandonTextareaFocus(e: WechatMiniprogram.InputEvent) {
  const height = (e as any).detail?.height ?? 0
  this.setData({ keyboardHeight: height })
}

// 键盘收起
onAbandonTextareaBlur() {
  this.setData({ keyboardHeight: 0 })
}

动态样式绑定

<view class="abandon-overlay {{keyboardHeight > 0 ? 'abandon-overlay--keyboard-open' : ''}}">
  <view class="abandon-actions {{keyboardHeight > 0 ? 'abandon-actions--float' : ''}}" 
        style="{{keyboardHeight > 0 ? 'bottom: ' + keyboardHeight + 'px;' : ''}}">
  </view>
</view>

测试检查清单

  • 长按已放弃任务显示"取消放弃"
  • 点击"取消放弃"直接执行
  • 任务移回一般任务区域
  • 输入放弃原因时键盘不遮挡内容
  • 按钮固定在键盘上方
  • 输入框边框变蓝
  • 任务列表页和详情页行为一致

相关概念

任务类型 vs 任务状态

  • 任务类型task_type业务性质系统自动分配
    • high_priority_recall / priority_recall / follow_up_visit / relationship_building
  • 任务状态status生命周期用户或系统操作改变
    • active / inactive / completed / abandoned
  • 置顶状态is_pinned独立标记用户手动操作

前端展示规则

  • 置顶区域is_pinned=true && status=active
  • 一般任务is_pinned=false && status=active
  • 已放弃区域status=abandoned(任务类型保留但灰化)

常见问题

Q: 取消放弃后任务会回到原来的位置吗?
A: 不会。取消放弃后任务会移到一般任务区域的最后,不会回到原来的位置。

Q: 取消放弃需要输入原因吗?
A: 不需要。取消放弃是直接操作,无需任何确认或输入。

Q: 键盘弹出时弹窗会完全隐藏吗?
A: 不会。弹窗会自动上移,确保内容可见,按钮固定在键盘上方。

Q: 备注弹窗的键盘交互是否相同?
A: 是的。备注弹窗组件已经实现了相同的键盘交互,无需额外修改。


更新日期2026-03-14
相关文档docs/TASK_ABANDON_IMPROVEMENTS.md