update
This commit is contained in:
10
README.md
10
README.md
@ -24,14 +24,14 @@ cmd/ 组合根:只做依赖装配,不含业务逻辑
|
||||
internal/
|
||||
config/ 配置加载(yml + 环境变量覆盖 + 默认值兜底)
|
||||
model/ 实体定义(gorm tag + json tag,PasswordHash 永不出参)
|
||||
database/ PostgreSQL 连接池 / 自动迁移 / 去重 schema
|
||||
database/ PostgreSQL 连接池 / 自动迁移 / 迁移 schema
|
||||
repository/ 数据访问(接口 + GORM 实现,查询条件用 Scope 安全组合)
|
||||
service/ 业务逻辑(JWT 签发、图片治理、去重、审核、入库管线)
|
||||
service/ 业务逻辑(JWT 签发、图片治理、审核、入库管线)
|
||||
dto/ 请求 / 响应结构体与边界常量
|
||||
handler/ HTTP 层(仅做参数解析与响应封装)
|
||||
middleware/ 鉴权 / CORS / 前端签名 / ingest 验签 / SSG token
|
||||
router/ 路由注册(公开 / SSG / 后台三个引擎)
|
||||
pkg/ 可复用工具(hashid / jwt / phash / imgurl / storage / ...)
|
||||
pkg/ 可复用工具(hashid / jwt / imgurl / storage / ...)
|
||||
```
|
||||
|
||||
**核心约束**:
|
||||
@ -94,7 +94,7 @@ internal/
|
||||
- 库里只存对象 key(`runway/<sha1>.jpg`)或本地相对路径,完整 URL 由 `imgurl.Composer` 渲染时拼装(换域名只改配置)。
|
||||
- key 以内容 sha1 命名 → 重爬天然幂等、不产生孤儿文件。
|
||||
- 删除图集时按**跨表引用计数**判定孤儿,归零才真删对象;删除动作异步入队,不阻塞请求。
|
||||
- **图片去重**:`phash`(dHash 向量)近重复标记 + HNSW 索引加速;存储 key 用内容 sha1 寻址(重爬幂等、不产生孤儿文件)。
|
||||
- **图片语义向量**:入库时由独立的视觉服务(FashionSigLIP,768 维归一化向量)编码,写入 `image_embeddings`(HNSW 余弦索引),用于后台「疑似同款」提示;**不做自动去重**,重复图全部平铺由人工清理。视觉服务不可用时自动降级为不写向量,不影响入库。存储 key 用内容 sha1 寻址(重爬幂等、不产生孤儿文件)。
|
||||
- **爬虫入库管线**:`ingest_jobs` 队列 + worker(`SELECT ... FOR UPDATE SKIP LOCKED` 多实例安全)异步下载图、补季节码、**直写正式表**(`status=pending`,已无草稿表);后台人工审核只改状态(`published` / `rejected`),不重建图片;公开读走 `public_*` 只读视图,未发布内容结构性不可见。失败按指数退避重试,单图失败整任务回滚。
|
||||
- **图片质量模型**(2026-09-11 起):所有用户同质量,统一走 CoreIX 公开样式(详情 `high` / 列表 `thumb`),付费墙已取消。
|
||||
|
||||
@ -182,7 +182,7 @@ backend/
|
||||
│ ├── handler/ # HTTP 层
|
||||
│ ├── middleware/ # 鉴权 / CORS / 签名 / 验签
|
||||
│ ├── router/ # 公开 / SSG / 后台三引擎路由
|
||||
│ └── pkg/ # hashid / jwt / phash / imgurl / storage / ...
|
||||
│ └── pkg/ # hashid / jwt / imgurl / storage / ...
|
||||
├── scripts/ # pgvector 起库脚本等
|
||||
├── go.mod / go.sum
|
||||
├── Dockerfile
|
||||
|
||||
Reference in New Issue
Block a user