新增: 三实体列表查询维度补全(status/关键词/排序/分页下沉后端)
任务/项目/灵感三实体新增 list_by_query 动态 WHERE(累积式 where_clauses
+params_vec 收口)+ order_by 白名单防注入 + limit/offset 钳制。命令层
list_{tasks,projects,ideas} 吃 Option<XxxQuery> 双参向后兼容(旧无参/单参
路径等价全量)。前端 Tasks/Ideas status/keyword 筛选下沉后端 query。
F-260621-02
This commit is contained in:
@@ -1,12 +1,23 @@
|
||||
import { taskApi } from '@/api'
|
||||
import type { TaskQuery } from '@/api/types'
|
||||
import { t } from '@/i18n/i18n-helpers'
|
||||
import { state } from './state'
|
||||
|
||||
/** 任务 CRUD 子 store(共享全局 state) */
|
||||
export function createTasksStore() {
|
||||
async function loadTasks(projectId?: string) {
|
||||
/**
|
||||
* 加载任务列表。
|
||||
*
|
||||
* **双签名向后兼容**(F-260621-02):
|
||||
* - `loadTasks(projectId?)`:旧签名,仅项目过滤(等价 `loadTasks({ project_id: projectId })`)。
|
||||
* - `loadTasks(query?)`:新签名,多条件(status/keyword/...)走后端 WHERE。
|
||||
*
|
||||
* 不传 → 全量未删任务(created_at DESC,等价改造前 list_active)。
|
||||
* status/keyword 下沉后端 WHERE(P1/P2),取代 Tasks.vue 旧的前端内存 filter。
|
||||
*/
|
||||
async function loadTasks(queryOrProjectId?: TaskQuery | string) {
|
||||
try {
|
||||
state.tasks = await taskApi.list(projectId)
|
||||
state.tasks = await taskApi.list(queryOrProjectId)
|
||||
} catch (e: any) {
|
||||
state.error = e?.toString() ?? t('tasks.err.loadFailed')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user