221b068a848d771fb46d77dde13b06294b6b101e
- Implemented SHA-256 hashing for uploaded files to enable deduplication. - Added CheckHash method to verify if a file with the same hash already exists. - Updated Upload method to reuse existing media assets if a duplicate is found. - Introduced a new hash column in the media_assets table to store file hashes. - Enhanced the upload process to include progress tracking and hash calculation. - Modified frontend to check for existing files before uploading and to show upload progress. - Added vuedraggable for drag-and-drop functionality in the content editing view.
gen
@ 755f8cbcf5
QuyUn v2(多租户版本)
实现约定以 specs/ 为准:
- 路由前缀:
/t/:tenant_code/...(API:/t/:tenant_code/v1;Admin:/t/:tenant_code/admin;User:/t/:tenant_code/) - 数据库:见
specs/DB.sql(后端迁移:backend/database/migrations/00001_init_multi_tenant.sql)
开发(后端)
在 backend/:
- 启动依赖:
docker compose up -d postgres redis - 运行迁移:
env GOCACHE=$PWD/.gocache GOTMPDIR=$PWD/.gotmp go run . migrate up - 启动服务:
env GOCACHE=$PWD/.gocache GOTMPDIR=$PWD/.gotmp go run . serve
注意:当前 API 仅做了路由骨架(大部分返回 501),用于前后端联调与路由/租户前缀验证。
开发(前端)
- Admin:
frontend/admin/ - User:
frontend/user/ - Super Admin:
frontend/superadmin/(访问:/super/;API:/super/v1)- 角色类型管理:
/super/v1/roles - 租户统计:
/super/v1/statistics、/super/v1/tenants
- 角色类型管理:
两端均会从 location.pathname 推导 tenant_code,并设置:
- Admin router base:
/t/<tenant_code>/admin/ - User router base:
/t/<tenant_code>/ - API base:
/t/<tenant_code>/v1
Description
Languages
Vue
44.7%
Go
37.8%
JavaScript
15.9%
SCSS
0.6%
PLpgSQL
0.5%
Other
0.4%