码巢引擎2026年开发文档
00-开发规范
后端规范
README
后端开发手册
前端规范
README
TypeScript最佳实践
前端布局规范
前端页面模板
前端颜色与组件规范
核心规范
组件配置手册
问题排查指南
页面模板
最佳实践
README
bp-20260223-m7ps
图片上传优化总结
BUG自动记录系统使用指南
README
TYPE_SAFETY_GUIDE
常见BUG知识库
常见BUG知识库
开发前检查清单
开发安全规范
开发规范-完整版-含FutureBirdAadminAi部署
数据模型字典
文档分类规范
文档标准化规范
文档模板-基础版
文档模板-技术版
类型安全快速参考卡
类型安全规范体系
规范更新指南
过期文档清理机制
错误处理规范
错误预防指南
常见BUG知识库
常见BUG知识库
01-快速开始
Gitee快速开始
README
协作快速开始
快速开始
质量保证快速开始
02-部署指南
Docker更新指南
Docker部署
FutureBirdAadminAi部署指南
FutureBirdAadminAi部署问题分析
README
发布指南
宝塔Docker部署教程
宝塔PM2部署教程
宝塔图形化部署教程
快速发布指南
数据库和依赖变更处理指南
构建和发布
构建标准
构建检查清单
生产部署快速开始
生产部署方案
生产部署标准
生产部署检查清单
程序备份性能
自动修复和发布指南
自动化发布命令使用指南
部署快速开始
部署指南
项目更新部署指南
03-开发指南
Git凭据配置
Git推送规则
Git自动配置
README
全局样式
协作设置
定时任务
开发指南
开发流程
开发环境标准
技术改进
贡献指南
项目目录树
项目目录结构
04-API文档
API接口文档
README
hr-api
企业API
05-数据库
DATABASE_SCHEMA
README
分区指南
数据库字典
数据持久化
数据模型统一
数据迁移
06-架构设计
RBAC-PERMISSIONS
README
SaaS客户引导流程设计
companyId统一规范
employee-permission-system-design
enterprise-data-linkage
仓库实现总结
仓库模式
企业管理端员工权限系统分析
前端架构
前端重构总结
员工权限系统评估报告
员工管理菜单重构方案
权限系统混乱问题分析
架构优化计划
架构使用指南
架构结构
架构结构
状态管理
用户身份管理体系
系统架构
面试管理模块重构规划
项目技术栈
07-测试质量
README
测试修复标准
测试报告
质量保证系统
08-版本管理
CHANGELOG
README
VERSION_RULES
09-配置指南
README
SMTP配置指南
主题切换指南
渠道配置指南
环境变量指南
环境隔离
12-项目记忆
README
知识库导入指南
记忆系统指南
13-迁移指南
README
备份迁移指南
管理员迁移指南
迁移快速开始
17-其他
README
压缩摘要
18-开放平台
01-架构设计
02-API接口设计
03-安全机制
04-前端设计
05-数据库设计
开放平台API指南
开放平台API说明
19-智能进化
AI执行规则
AI进化机制
README
自动化实现总览
黄金规则
40-操作教程
README
微信公众号域名配置指南
微信本地开发调试指南
44-技能文件
alipay-payment-integration
references
checklist
SKILL
audio
python
README
typescript
README
SKILL
database
python
README
typescript
README
SKILL
design-style-thinking
SKILL
doctor
references
sql-patterns
SKILL
document-generation
python
README
SKILL
email
SKILL
embedding
python
README
typescript
README
SKILL
expo-advanced
references
audio-record-play
file-upload
masonry-layout
save-to-gallery
top-tab-navigation
SKILL
feishu-base
SKILL
feishu-message
SKILL
fetch-url
python
README
typescript
README
SKILL
frontend-design
LICENSE
SKILL
FutureBird-coding-web-performance-best-practice
SKILL
general-dev-preview
references
web-preview
SKILL
image-generation
python
README
typescript
README
SKILL
knowledge
references
python
README
typescript
README
cli
SKILL
llm
python
README
typescript
README
SKILL
miniapp-upload-asr
SKILL
pptx-generation
python
README
SKILL
project-memory-loader
scripts
project_memory_loader
SKILL
repair
scripts
merge-commit-map
SKILL
shadcn-web-base-theme
assets
colors
amber
artistic-green
bento-blue
blue
cyan
emerald
fuchsia
gray
green
indigo
lime
low-pink
neutral
orange
purple
red
retro-brown
rose
sky
supbase-green
teal
tech-purple
vintage-grey
violet
yellow
fonts
business
classic
playful
radius
2xl
2xs
lg
md
none
sm
xl
xs
shadow
artistic
bento
cool
retro
superbase
tech
tool
vintage
default
references
colors
fonts
quick
radius
shadows
scripts
theme
SKILL
package
skill-creator-coze
scripts
init_skill
quick_validate
SKILL
storage
python
README
typescript
README
SKILL
supabase
assets
supabase-client
supabase-client
references
_future
asset-supabase-browser
asset-supabase-config-inject
asset-supabase-config-route
python-auth
python-realtime
python-storage
typescript-auth
typescript-realtime
typescript-storage
typescript-supabase-browser
typescript-supabase-config-inject
typescript-supabase-config-route
python
README
database
edge-functions
orm-model-guide
supabase_client
typescript
README
database
drizzle-schema-guide
edge-functions
supabase-client
cli
rls
SKILL
supabase-auth
references
typescript
supabase-browser
supabase-config-inject
supabase-config-route
auth-config
verify-session
SKILL
ui-design-ref
reference
3D黏土风
克莱因蓝高定风
暗黑科技风
杂志风
极光柔和
柔和卡片
玻璃拟态
纯白极简风
自然有机
SKILL
ui-ux-pro-max
scripts
core
design_system
search
SKILL
vercel-composition-patterns
rules
architecture-avoid-boolean-props
architecture-compound-components
patterns-children-over-render-props
patterns-explicit-variants
react19-no-forwardref
state-context-interface
state-decouple-implementation
state-lift-state
AGENTS
SKILL
vercel-react-best-practices
rules
advanced-event-handler-refs
advanced-init-once
advanced-use-latest
async-api-routes
async-defer-await
async-dependencies
async-parallel
async-suspense-boundaries
bundle-barrel-imports
bundle-conditional
bundle-defer-third-party
bundle-dynamic-imports
bundle-preload
client-event-listeners
client-localstorage-schema
client-passive-event-listeners
client-swr-dedup
js-batch-dom-css
js-cache-function-results
js-cache-property-access
js-cache-storage
js-combine-iterations
js-early-exit
js-hoist-regexp
js-index-maps
js-length-check-first
js-min-max-loop
js-set-map-lookups
js-tosorted-immutable
rendering-activity
rendering-animate-svg-wrapper
rendering-conditional-render
rendering-content-visibility
rendering-hoist-jsx
rendering-hydration-no-flicker
rendering-hydration-suppress-warning
rendering-svg-precision
rendering-usetransition-loading
rerender-defer-reads
rerender-dependencies
rerender-derived-state-no-effect
rerender-derived-state
rerender-functional-setstate
rerender-lazy-state-init
rerender-memo-with-default-value
rerender-memo
rerender-move-effect-to-event
rerender-simple-expression-in-memo
rerender-transitions
rerender-use-ref-transient-values
server-auth-actions
server-cache-lru
server-cache-react
server-dedup-props
server-parallel-fetching
server-serialization
AGENTS
SKILL
video-edit
python
README
typescript
README
SKILL
video-generation
python
README
typescript
README
SKILL
volcano-ark
SKILL
web-design-guidelines
SKILL
web-search
python
README
typescript
README
SKILL
webrtc-best-practice
SKILL
websocket-guide
references
nextjs
nodejs
SKILL
wechat-bot
SKILL
wechat-official-account
SKILL
README
README
未来鸟:企业数字化转型奔腾的力量!
-
+
首页
压缩摘要
> **文档版本**: v2.0.1 > **最后更新**: 2026-05-19 > **状态**: [最新] [核心文档] # 压缩摘要 ## 用户需求与目标 - 原始目标: 开发平台核心功能,按优先级逐个实现 P0-P3 任务 - P0: 统一配置继承逻辑(已完成) - P1: 身份权限 + 应用体系(已完成) - P2: 合作伙伴完善(待开发) - P3: 分成机制 + 推广裂变(待开发) - 当前目标: AI进化机制实现(P0-P3 已完成),提升开发准确性和效率 - 偏好: - 开发前必须执行预检,先搜向量知识库,再搜最佳实践 - 发现正确方式后必须记录最佳实践 ## 项目概览 - 概述: 基于Next.js的工资计算工具集,包含五险一金、个税、养老金、延迟退休四个独立计算器,以及薪税学院和渠道合作页面。新增统一用户身份管理体系和AI进化机制。 - 技术栈: Next.js 16, React 19, TypeScript 5, Tailwind CSS 4, shadcn/ui, Ant Design - 编码规范: Airbnb ## 关键决策 - 采用统一配置表 `unified_configs` 管理所有配置,支持多级继承(app_instance > company > partner > platform) - 配置类型包括:smtp, sms, wechat_mp, wechat_mini, storage, payment, theme, login_page, notification - **数据库分区架构(CRITICAL)**: 主数据库采用 PostgreSQL 分区表架构,按 `company_id` 进行 LIST 分区 - **AI进化机制**: 通过开发前预检、错误自动学习、红线检测、决策追溯提升开发效率 --- ## 🚨 关键红线(CRITICAL)- 必须遵守 ### ⛔ 数据库分区架构 **主数据库采用 PostgreSQL 分区表架构,按 `company_id` 进行 LIST 分区!** | 已分区表 | 分区键 | |----------|--------| | `saas_users` | company_id | | `salary_slips` | company_id | | `saas_orders` | company_id | **开发约束:** 1. **分区表主键必须包含分区列**: `PRIMARY KEY (company_id, id)` 2. **查询必须带 company_id 过滤** 以触发分区裁剪 3. **创建新分区表使用原生 SQL**,Drizzle ORM 不支持 ### ⛔ 数据模型双轨问题 - **正确**: `src/storage/database/shared/schema.ts` + `*Manager.ts` - **废弃**: `src/db/schema.ts`(禁止使用) ```typescript // ✅ 正确 - 使用 Manager 模式 import { saasCompanyManager } from '@/storage/database/saasCompanyManager'; const company = await saasCompanyManager.getById(companyId); // ❌ 错误 - 直接操作废弃的表 db.select().from(tenants); // 表不存在! ``` ### ⛔ 前端开发红线 1. **禁用 `any` 类型** - 必须明确类型定义 2. **客户端组件标记** - 使用 `'use client'` 指令 3. **禁止不纯函数** - `Math.random()`, `Date.now()` 必须在 `useEffect` 中使用 4. **禁止非法嵌套** - `<p>` 不能嵌套 `<div>` ### ⛔ API 开发规范 1. **统一响应格式**: `ApiResponse<T>` 类型 2. **Zod 验证请求**: 所有输入必须验证 3. **错误处理**: try-catch 包裹所有异步操作 --- ## 🐛 常见错误速查 | 错误 | 原因 | 解决方案 | |------|------|----------| | TS2802 迭代器展开报错 | ES2017 target 不支持 | 使用 `Array.from()` 替代 `[...]` | | Hydration 错误 | 服务端/客户端不一致 | 使用 `useEffect` + `useState` | | 分区表查询慢 | 未带 company_id | 添加 `where(eq(table.companyId, companyId))` | | Manager 未定义 | 导入路径错误 | 从 `@/storage/database/*Manager` 导入 | --- ## ⚡ 快速命令 | 命令 | 用途 | 时机 | |------|------|------| | `pnpm precheck <关键词>` | 开发前预检 | **每次开发前必执行** | | `pnpm best-practice:record` | 记录最佳实践 | 发现正确方式后 | | `pnpm memory:sync` | 同步记忆到知识库 | 手动更新时 | | `pnpm ai:search "<关键词>"` | 快速搜索知识库 | 查找信息时 | --- ## 📁 核心文件位置 | 类型 | 位置 | |------|------| | 数据模型 | `src/storage/database/shared/schema.ts` | | Manager 类 | `src/storage/database/*Manager.ts` | | API 路由 | `src/app/api/` | | 业务服务 | `src/services/` | | 开发规范 | `docs/00-开发规范/` | | 最佳实践 | `docs/00-开发规范/最佳实践/` | --- ## 🔄 AI 自动化流程 ### 开发前(自动触发) ``` 用户说"开发/实现/修复XXX" ↓ AI 执行 pnpm precheck <关键词> ↓ 阅读预检报告:向量知识库 → 最佳实践 → 红线 → 历史错误 ↓ 开始编码 ``` ### Git 提交时(自动触发) | Hook | 触发条件 | 自动执行 | |------|----------|----------| | pre-commit | 每次提交 | `redline:check` 检测红线违规 | | post-commit | `fix:` 前缀 | `learn:error` 学习错误模式 | | post-commit | `decision:` 前缀 | `decision:record` 记录决策 | ### 定时任务 | 时间 | 任务 | |------|------| | 每小时 :05 | 记忆同步 + 清理 | | 每天 23:55 | 记忆快照 | --- ## 📋 最近记忆(自动更新) ### 最近修复 - Git: 修复导出PDF多个问题 1. 修复分组图标显示"通知"问题 - 添加getGroupKey函数从groupId提取分组名称 - 修改groupIconMap查找逻辑使用分组名称而非完整groupId 2. 提高导出PDF清晰度 - scale从1.5提高到2 - 图片格式从JPEG改为PNG 3. 在PDF封面添加公司名称 - 导出前获取租户公司信息 - 在封面标题上方显示公司名称 4. 修复特殊分组渲染问题 - 修改renderEmergencyContacts、renderFamilyInfo、renderWorkExperience、renderEducation、renderHobbies、renderSelfEvaluation函数 - 使用完整的groupId参数而非硬编码简单格式 - 确保所有分组内容正确渲染 - Git: 修复导出PDF时lab/lch颜色函数不支持的问题 html2canvas不支持现代CSS颜色函数(lab, lch, oklch),扩展颜色检查范围并使用合适的默认颜色替代: - 背景色默认#ffffff - 边框色默认#e5e7eb - 文字色默认#333333 - Git: 移除列表视图内部滚动条,避免双重滚动条 移除列表视图中内部容器的max-h-[500px] overflow-y-auto样式,只保留模态框本身的滚动条 - Git: 彻底修复对象渲染报错问题 问题根因:多处使用 `val || '-'` 模式,如果 val 是对象,`|| '-'` 不会返回 '-'(因为对象是 truthy 的),导致对象被直接渲染 修复内容: 1. renderExperienceDynamic函数:添加getFieldValue函数安全处理字段值 2. renderEducationDynamic函数:添加getFieldValue函数安全处理字段值 3. 动态列表视图:修复value字段的对象检查逻辑 - Git: 彻底修复对象渲染报错问题 修复以下位置的对象渲染问题: 1. renderListView函数:工作经历Table时间字段render函数添加对象检查 2. renderExperienceDynamic函数:修复exp.startDate和exp.endDate处理 3. renderEducationDynamic函数:修复edu.startDate和edu.endDate处理 4. renderExperience函数:添加safeStr辅助函数,修复所有字段处理 5. renderEducation函数:修复所有字段处理 问题根因:模板字符串直接使用对象属性,如果属性是对象会导致React报错"Objects are not valid as a React child" ### 最近功能 ### 最近决策 --- ## TODO - P2: 合作伙伴完善(待开发) - P3: 分成机制 + 推广裂变(待开发)
未来鸟
2026年7月27日 10:43
转发
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
分享
链接
类型
密码
更新密码
有效期
Markdown文件
Word文件
PDF文档(打印)
AI