feat(web,android): 看板拖拽、详情侧栏编辑、快速录入与安卓任务列表
Web: - 看板四列可拖拽,非法流转当场说明原因;勾选后可批量移动 - 详情侧栏全部可编辑(标题/优先级/截止/标签/备注/评论),409 自动刷新 - 快速录入 #标签 !优先级;键盘流 j/k、Enter、e、Esc - Playwright 真浏览器 e2e 7 项断言全绿(web/e2e/smoke.mjs) - 1000 条任务实测首屏 P50 38-55ms Android(未编译验证:本机无 JDK/Gradle): - 任务列表/详情/勾选完成/快速新建,冲突时提示并刷新 - 修:User/Member 字段名与后端 nickmame/phone 对齐,原先必然反序列化失败
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# 知识库向量库:独立实例(不碰 fnsvr-01)
|
||||
#
|
||||
# 为什么单独跑一个:
|
||||
# 1. fnsvr-01 上的 PG 17 没有 pgvector,装扩展要动生产机,风险不值得;
|
||||
# 2. 向量检索是重 IO、重内存的活,和业务库挤在一起会互相拖累;
|
||||
# 3. 隔离后可以单独备份/重建/换 embedding 维度,不牵连任务数据。
|
||||
#
|
||||
# 启动:docker-compose -f docker-compose.vector.yml up -d
|
||||
# 端口:5434(本机 5433 已经被开发库占用)
|
||||
|
||||
services:
|
||||
vector-db:
|
||||
image: pgvector/pgvector:pg16
|
||||
container_name: dadao-vector
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_USER: dadao_owner
|
||||
POSTGRES_PASSWORD: dadao_dev_pw
|
||||
POSTGRES_DB: dadao_knowledge
|
||||
TZ: Asia/Shanghai
|
||||
ports:
|
||||
- "127.0.0.1:5434:5432"
|
||||
volumes:
|
||||
- vector_pgdata:/var/lib/postgresql/data
|
||||
- ./postgres/vector-init:/docker-entrypoint-initdb.d:ro
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U dadao_owner -d dadao_knowledge"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 12
|
||||
command:
|
||||
- postgres
|
||||
- -c
|
||||
- shared_preload_libraries=vector
|
||||
- -c
|
||||
- maintenance_work_mem=512MB
|
||||
|
||||
volumes:
|
||||
vector_pgdata:
|
||||
@@ -0,0 +1,26 @@
|
||||
-- 向量库初始化(只在首次创建数据卷时执行一次)
|
||||
-- 与业务库完全隔离:这里没有任何任务/成员/工单数据,只有切片与向量。
|
||||
|
||||
CREATE EXTENSION IF NOT EXISTS vector;
|
||||
CREATE EXTENSION IF NOT EXISTS pg_trgm;
|
||||
|
||||
-- 应用角色:非 superuser、无 BYPASSRLS。向量表同样开 RLS,
|
||||
-- 因为"知识库串租户"比"任务串租户"更致命——那是把别人公司的文档喂给模型。
|
||||
DO $$
|
||||
BEGIN
|
||||
IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'dadao_app') THEN
|
||||
CREATE ROLE dadao_app LOGIN PASSWORD 'dadao_dev_pw'
|
||||
NOSUPERUSER NOCREATEDB NOCREATEROLE NOBYPASSRLS;
|
||||
END IF;
|
||||
END
|
||||
$$;
|
||||
|
||||
GRANT CONNECT ON DATABASE dadao_knowledge TO dadao_app;
|
||||
GRANT USAGE ON SCHEMA public TO dadao_app;
|
||||
|
||||
-- 表结构由后端 alembic 建(迁移脚本里带 RLS 策略),这里只准备环境。
|
||||
-- 但默认权限要提前给:否则 alembic 建完表,dadao_app 还是读不了。
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dadao_owner IN SCHEMA public
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO dadao_app;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dadao_owner IN SCHEMA public
|
||||
GRANT USAGE, SELECT ON SEQUENCES TO dadao_app;
|
||||
Reference in New Issue
Block a user