refactor(arch): 落地平台架构演进第一二阶段整改,消除OOM与越权风险并支持高并发缓冲与AI多租户BYOK
- [P0安全底座] 多租户数据闭环:公开留资与雷达足迹自动逆向追溯绑定名片 tenantId 与归属销售 userId - [P0性能稳定] 消除内存全量加载:公海池分批带条件扫描回收,雷达国家分布改用 SQL 原生 GROUP BY 聚合查询彻底消除 OOM 隐患 - [P0商业变现] 商业化配额门禁切面:在 Cool-Admin modifyBefore 生命周期织入 assertQuotaAvailable 校验,阻断超额名片创建 - [P0环境解耦] 客户端解耦本地硬编码:request.uts 支持 api_base_url 本地覆盖,生产数据库名修正为 crmmpdata - [P1高并发削峰] 雷达足迹批量缓冲引擎:引入 CrmRadarBufferService 环形缓冲队列与阈值/定时批量 Bulk Insert 落盘 - [P2中枢租户化] AI 智能中枢多租户 BYOK 与 Token 成本风控:支持企业自带 Key 隔离、Token 消耗账本、用量配额门禁与名片人设个性化联动 - [跨端规范] 对齐 Uni-app x 移动微官网原生首屏与底部原生 tabBar 规范 - [测试驱动] 全工程 116 个测试套件,1,175 个单元与集成测试用例全部 100% 绿色通过,管理后台 Vite 打包无错误
这个提交包含在:
@@ -85,7 +85,23 @@ export interface CardPortalDetail {
|
||||
|
||||
export type LeadStatus = 'new' | 'contacted' | 'hot' | 'won' | 'archived';
|
||||
|
||||
export type LeadSource = 'nfc' | 'qr' | 'link' | 'ai_chat';
|
||||
export type LeadSource = 'nfc' | 'qr' | 'link' | 'ai_chat' | 'exchange';
|
||||
|
||||
export type CardContactSource = 'exchange' | 'collect' | 'scan';
|
||||
|
||||
export interface CardContact {
|
||||
id?: string | number;
|
||||
ownerUserId: number;
|
||||
ownerCardId?: number | null;
|
||||
peerCardId: number;
|
||||
source: CardContactSource;
|
||||
leadId?: number | null;
|
||||
peerName?: string;
|
||||
peerTitle?: string;
|
||||
peerCompany?: string;
|
||||
peerAvatarUrl?: string;
|
||||
peerSlug?: string;
|
||||
}
|
||||
|
||||
export interface LeadEntity {
|
||||
id: string | number;
|
||||
@@ -184,6 +200,16 @@ export interface OwnerPageQuery {
|
||||
visitorId?: string;
|
||||
}
|
||||
|
||||
export interface QuotaCheckResult {
|
||||
used: number;
|
||||
limit: number;
|
||||
remaining: number;
|
||||
percentage: number;
|
||||
warning: boolean;
|
||||
exceeded: boolean;
|
||||
plan?: string;
|
||||
}
|
||||
|
||||
export interface OwnerPageData<T> {
|
||||
list: T[];
|
||||
pagination: {
|
||||
|
||||
在新工单中引用
屏蔽一个用户