Files
MemRelay/projects/d44c219a-0b31-4de1-b160-323eb34a4c6a/curated/ArtVeris 项目概览.md
T

173 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: ArtVeris 项目概览
type: curated
permalink: main/projects/d44c219a-0b31-4de1-b160-323eb34a4c6a/curated/art-veris-项目概览
stable_id: cec86599-c3a8-4407-8bcd-f90e824aa53b
scope: project
project_id: d44c219a-0b31-4de1-b160-323eb34a4c6a
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: overview
revision: 1
source_memory_ids:
- 2939ce96-a6f6-418a-9a70-568980dbdc2a
- 2fafa191-d208-41e4-9f7b-ce5a633c886b
- 3efd0adf-f91b-4d78-b163-5365c257d6d4
- 46eb1720-910a-4e4e-b56b-b6ac43b0cec1
- 67a86e88-a750-4cd8-9650-c1b7cfbf22b9
- 6b129c78-a412-41e9-af9f-63ab071e03d9
- 76e12a12-446a-4d96-bb49-2534930a5d56
- 7737eaaf-441e-476e-aea0-42a4d13ae245
- 7e83a02d-9eb6-4e97-9f23-102f34ae8b1e
- 92e5c8d9-c4ef-4ab7-99ac-1b81f3228b59
- a9739d28-4318-492e-bad3-53e9ea2769a8
- ada12b65-afa2-415e-98b3-2a24ff57feb9
- ae318134-8651-4563-bc22-491c51f87af4
- b7e0eb44-e38f-40a3-8736-3a7a9de84818
- beb81aaa-8e86-4af7-a6c8-d35f7682d330
- d5bb7f58-99bb-4381-ac98-300cceb128fe
- dc70f54c-8e29-4834-a5c1-a63bc9ac9e68
- dcdbeb7d-dd75-4294-8853-872491043db1
- dd093dd7-71be-46a2-bcb1-4a87c3d4b9ab
- dd22c710-2822-4515-a28c-ead99162caac
- e1b8d25d-f638-4fbe-8a8d-0eda8f2d7d46
source_checkpoint_ids:
- 4f5c2b7f-d115-46c2-87be-80c8605ccbdb
- d45ff9ab-e2f4-4de8-8ccb-389754c1e3a4
source_file_ids:
- 07583531-4b5a-4826-ad88-be4c3f16ba9d
- 2749e8f9-a45f-43b0-a818-143ae532db24
- 2977cf7c-7494-4b28-a8c6-2fbc6261c810
- 4e728912-7bd0-455c-ac3a-e35189c26e37
- 8f5b3f27-3ed1-4bf1-97ef-cb130f238161
source_git_commit: d7c6368
source_git_commits:
- d7c6368
source_agent_sync_ids:
- artveris-curation-2026-09-03-migration
model_connection: Sub2API
model_name: git-restore
source_count: 42
source_revisions:
memory:76e12a12-446a-4d96-bb49-2534930a5d56: '1'
memory:67a86e88-a750-4cd8-9650-c1b7cfbf22b9: '2'
memory:2939ce96-a6f6-418a-9a70-568980dbdc2a: '1'
memory:7737eaaf-441e-476e-aea0-42a4d13ae245: '1'
memory:ae318134-8651-4563-bc22-491c51f87af4: '1'
memory:dd22c710-2822-4515-a28c-ead99162caac: '1'
memory:3efd0adf-f91b-4d78-b163-5365c257d6d4: '1'
memory:46eb1720-910a-4e4e-b56b-b6ac43b0cec1: '1'
memory:d5bb7f58-99bb-4381-ac98-300cceb128fe: '1'
memory:b7e0eb44-e38f-40a3-8736-3a7a9de84818: '1'
memory:dcdbeb7d-dd75-4294-8853-872491043db1: '1'
memory:7e83a02d-9eb6-4e97-9f23-102f34ae8b1e: '1'
memory:a9739d28-4318-492e-bad3-53e9ea2769a8: '1'
memory:dc70f54c-8e29-4834-a5c1-a63bc9ac9e68: '1'
memory:e1b8d25d-f638-4fbe-8a8d-0eda8f2d7d46: '1'
memory:6b129c78-a412-41e9-af9f-63ab071e03d9: '1'
source_dispositions:
processed: 42
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids:
- memory:76e12a12-446a-4d96-bb49-2534930a5d56
- memory:67a86e88-a750-4cd8-9650-c1b7cfbf22b9
- memory:2939ce96-a6f6-418a-9a70-568980dbdc2a
- memory:7737eaaf-441e-476e-aea0-42a4d13ae245
- memory:ae318134-8651-4563-bc22-491c51f87af4
- memory:dd22c710-2822-4515-a28c-ead99162caac
- memory:3efd0adf-f91b-4d78-b163-5365c257d6d4
- memory:46eb1720-910a-4e4e-b56b-b6ac43b0cec1
- memory:d5bb7f58-99bb-4381-ac98-300cceb128fe
- memory:b7e0eb44-e38f-40a3-8736-3a7a9de84818
- memory:dcdbeb7d-dd75-4294-8853-872491043db1
- memory:7e83a02d-9eb6-4e97-9f23-102f34ae8b1e
- memory:a9739d28-4318-492e-bad3-53e9ea2769a8
- memory:dc70f54c-8e29-4834-a5c1-a63bc9ac9e68
- memory:e1b8d25d-f638-4fbe-8a8d-0eda8f2d7d46
- memory:6b129c78-a412-41e9-af9f-63ab071e03d9
job_cited_source_ids:
- memory:76e12a12-446a-4d96-bb49-2534930a5d56
- memory:67a86e88-a750-4cd8-9650-c1b7cfbf22b9
- memory:2939ce96-a6f6-418a-9a70-568980dbdc2a
- memory:7737eaaf-441e-476e-aea0-42a4d13ae245
- memory:ae318134-8651-4563-bc22-491c51f87af4
- memory:dd22c710-2822-4515-a28c-ead99162caac
- memory:3efd0adf-f91b-4d78-b163-5365c257d6d4
- memory:46eb1720-910a-4e4e-b56b-b6ac43b0cec1
- memory:d5bb7f58-99bb-4381-ac98-300cceb128fe
- memory:b7e0eb44-e38f-40a3-8736-3a7a9de84818
- memory:dcdbeb7d-dd75-4294-8853-872491043db1
- memory:7e83a02d-9eb6-4e97-9f23-102f34ae8b1e
- memory:a9739d28-4318-492e-bad3-53e9ea2769a8
- memory:dc70f54c-8e29-4834-a5c1-a63bc9ac9e68
- memory:e1b8d25d-f638-4fbe-8a8d-0eda8f2d7d46
- memory:6b129c78-a412-41e9-af9f-63ab071e03d9
conflicts: []
supersedes: []
preferences: []
source_cursor: 359
source_hash: 06340ad0d2d916308bcf502ff22c22461eeb2afaaeea56df8687dae4fdb0f11d
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: null
created_at: '2026-09-03T04:21:14.903935+00:00'
updated_at: '2026-09-23T15:07:01.071882+00:00'
tags:
- 项目概览
- 架构
- 技术栈
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
---
## 项目目标
- 构建“一物一码”溯源平台,面向艺术品的全链路追踪与防伪。
- 采用 **Artwork → Batch → TraceCode** 的数据模型,每个实体对应唯一的 12 位数字短码。
## 核心技术栈
- **后端**:NestJS 11、Node 24、Prisma(MySQL 5.7)
- **前端**:Vue 3、Vite 6、ECharts 6、Pinia
- **部署**:单体 Node 服务 + PM2(可选 Docker),使用 `scripts/upgrade-remote.ps1` 实现一键远程升级。
- **链上**:天河链(TiChain)仅 **上传 + 确认**,不涉及二次转账、元数据上链。
## 主要里程碑
| 日期 | 关键事件 |
|------|----------|
| 2026‑09‑03 03:26 UTC | 项目在 GitHub/Gitea 创建(`dev` 分支领先 `main`) |
| 2026‑09‑03 03:55 UTC | 删除本地 `aidocs/`,迁移所有记忆到 MemRelay |
| 2026‑09‑03 04:01 UTC | 完成迁移检查点:文档上传、PM2 自动启动修复、`.gitignore` 更新 |
| 2026‑07‑01 〜 2026‑07‑16 | 完成核心模型、批量导入、天河链集成、状态机、备份恢复等功能 |
| 2026‑07‑10 | 确认天河链接入范围(仅上传、发布、查询) |
## 系统组成
- **业务层**:`apps/api` 包含公共接口、区块链、存储、备份、安装向导等模块。
- **管理后台**:`/admin` SPA,提供模型管理、系统设置、日志审计等功能。
- **客户端**:`/trace` SPA,展示艺术品信息及链上溯源链接。
- **运维**:生产服务器 8.134.255.136(Alinux 8、Baota),PM2 名为 `server`,域名 https://art.qclh.xyz。
## 关键约束
- **短码规则**:12 位数字(6 位随机 + 6 位全局递增),全局序列不可回滚。
- **链上/出库解耦**:链上记录与实际出库记录独立,可单独上链或出库。
- **配置唯一**:全局仅使用单一 `.env`,业务可通过 `system_setting` 表覆盖。
- **凭证管理**:UserKey 明文存库,AppKey 加密;所有新凭证仅写入密码库,记忆中只保留名称/用途。
## 当前文档来源
- 本概览引用的事实、决策与经验主要来源于以下记忆条目:
- **memory:76e12a12-446a-4d96-bb49-2534930a5d56**(ZIP 导入契约)
- **memory:67a86e88-a750-4cd8-9650-c1b7cfbf22b9**(前端业务坑)
- **memory:2939ce96-a6f6-418a-9a70-568980dbdc2a**(生产部署坑)
- **memory:7737eaaf-441e-476e-aea0-42a4d13ae245**(Windows 本地开发坑)
- **memory:ae318134-8651-4563-bc22-491c51f87af4**(关键技术选型)
- **memory:dd22c710-2822-4515-a28c-ead99162caac**(天河链接入范围)
- **memory:3efd0adf-f91b-4d78-b163-5365c257d6d4**(C 端模块化布局契约)
- **memory:46eb1720-910a-4e4e-b56b-b6ac43b0cec1**(天河链集成现状)
- **memory:d5bb7f58-99bb-4381-ac98-300cceb128fe**(生产拓扑)
- **memory:b7e0eb44-e38f-40a3-8736-3a7a9de84818**(部署契约)
- **memory:dcdbeb7d-dd75-4294-8853-872491043db1**(关键代码地图)
- **memory:7e83a02d-9eb6-4e97-9f23-102f34ae8b1e**(核心数据模型)
- **memory:a9739d28-4318-492e-bad3-53e9ea2769a8**(出库/上链不变量)
- **memory:dc70f54c-8e29-4834-a5c1-a63bc9ac9e68**(数据持久化红线)
- **memory:e1b8d25d-f638-4fbe-8a8d-0eda8f2d7d46**(构建与本地开发硬约束)
- **memory:6b129c78-a412-41e9-af9f-63ab071e03d9**(开发流程与提交规范)