feat: 实现文件夹和书签的持久排序与拖拽功能

This commit is contained in:
2026-01-18 23:33:31 +08:00
parent 6eb3c730bb
commit dbeb181e5d
49 changed files with 3141 additions and 507 deletions

View File

@@ -0,0 +1,35 @@
## ADDED Requirements
### Requirement: Folder ordering persistence
The system SHALL persist folder ordering per user per parent folder.
#### Scenario: List folders returns stable ordered result
- **GIVEN** an authenticated user
- **WHEN** the user calls `GET /folders`
- **THEN** the server returns folders ordered by `(parentId, sortOrder, name)`
#### Scenario: Reorder folders within the same parent
- **GIVEN** an authenticated user
- **WHEN** the user calls `POST /folders/reorder` with `parentId` and `orderedIds`
- **THEN** the server persists the new order and returns `{ ok: true }`
### Requirement: Bookmark ordering persistence
The system SHALL persist bookmark ordering per user per folder.
#### Scenario: List my bookmarks returns stable ordered result
- **GIVEN** an authenticated user
- **WHEN** the user calls `GET /bookmarks`
- **THEN** the server returns bookmarks ordered by `(folderId, sortOrder, updatedAt desc)`
#### Scenario: Reorder bookmarks within the same folder
- **GIVEN** an authenticated user
- **WHEN** the user calls `POST /bookmarks/reorder` with `folderId` and `orderedIds`
- **THEN** the server persists the new order and returns `{ ok: true }`
### Requirement: Root group treated consistently
The system SHALL treat `folderId=null` bookmarks as belonging to the root group.
#### Scenario: Reorder root-group bookmarks
- **GIVEN** an authenticated user
- **WHEN** the user calls `POST /bookmarks/reorder` with `folderId=null`
- **THEN** the server reorders root-group bookmarks and returns `{ ok: true }`