refactor: 重新组织订单班文档资料目录结构

- 将所有订单班文档从 doc/ 迁移到 data/ 目录
- 保持原有目录结构不变,仅改变顶层路径
- 包含所有12个订单班的完整文档资料
  - 文旅、财经商贸、食品、智能开发、智能制造
  - 视觉设计、交通物流、土木、大健康
  - 能源、化工、环保
- 文件总数:2345个文件(包括文档、图片、Agent配置等)
This commit is contained in:
Yep_Q
2025-09-28 16:19:11 +08:00
parent 9ab8cf48ab
commit beb1ba38fa
2345 changed files with 541 additions and 0 deletions

View File

@@ -0,0 +1,312 @@
# DuoduoAgent 12个订单班AI Agent架构设计
## 一、Agent架构设计原则
### 1.1 核心设计理念
- **专业分工**每个Agent负责特定专业领域具有深度专业知识
- **协同作业**Agent之间能够有效协作形成完整的工作流
- **结果导向**每个Agent输出具体可交付的成果
- **行业特色**Agent设计贴合各订单班的行业特点和岗位需求
### 1.2 Agent标准属性
```typescript
interface Agent {
id: string; // 唯一标识
name: string; // Agent名称
icon: string; // 图标emoji
avatar: string; // 头像路径
model: string; // AI模型
role: string; // 角色职责描述
skills: string[]; // 专业技能列表
tools: string[]; // 使用的工具
outputFormat: string;// 输出格式
}
```
## 二、12个订单班Agent配置
### 1. 文旅订单班(已完成)
**核心场景**:展会策划案例
| Agent名称 | 图标 | 职责描述 | 核心技能 |
|-----------|------|----------|---------|
| 信息检索专家 | 🔍 | 市场调研、数据收集、竞品分析 | 市场研究、数据分析、信息整合 |
| 设计专家 | 🎨 | 视觉设计、空间布局、品牌形象 | VI设计、空间规划、创意设计 |
| 财务预算专家 | 💰 | 成本核算、预算规划、ROI分析 | 财务分析、成本控制、投资回报 |
| 格式编辑专家 | 📝 | 文档格式化、内容结构优化 | 文档编辑、排版设计、内容架构 |
| 活动执行专家 | ⚡ | 执行计划、时间线管理、任务分配 | 项目管理、资源调度、风险控制 |
| 营销推广专家 | 📢 | 推广策略、媒体投放、社交传播 | 整合营销、媒体策划、内容营销 |
| 运营协调专家 | 🔄 | 供应商管理、现场协调、应急处理 | 供应链管理、危机处理、团队协作 |
### 2. 财经商贸订单班
**核心场景**:化妆品电商全链路运营
| Agent名称 | 图标 | 职责描述 | 核心技能 |
|-----------|------|----------|---------|
| 市场分析专家 | 📊 | 市场调研、竞品分析、用户画像 | 市场研究、数据分析、消费者洞察 |
| 选品策略专家 | 💄 | SKU规划、产品组合、品类管理 | 产品管理、品类规划、趋势分析 |
| 电商运营专家 | 🛍️ | 店铺运营、流量转化、活动策划 | 电商运营、流量运营、转化优化 |
| 内容营销专家 | ✍️ | 内容创作、KOL合作、社交传播 | 内容策划、社媒运营、红人营销 |
| 供应链专家 | 📦 | 库存管理、物流配送、供应商协调 | 供应链管理、库存优化、物流规划 |
| 数据分析专家 | 📈 | 销售分析、用户行为、ROI计算 | 数据分析、BI报表、增长策略 |
| 客服运营专家 | 💬 | 客服体系、售后管理、用户体验 | 客户服务、危机处理、满意度管理 |
| 财务管理专家 | 💹 | 成本核算、利润分析、资金规划 | 财务分析、成本控制、现金流管理 |
### 3. 食品订单班
**核心场景**:中高端轻食店铺经营
| Agent名称 | 图标 | 职责描述 | 核心技能 |
|-----------|------|----------|---------|
| 市场研究专家 | 🔍 | 消费趋势、竞品分析、选址策略 | 市场调研、消费分析、商圈研究 |
| 营养配方师 | 🥗 | 菜品研发、营养搭配、健康标准 | 营养学、食品研发、健康餐设计 |
| 供应链管理专家 | 🚚 | 食材采购、品质控制、冷链管理 | 供应商管理、质量控制、成本优化 |
| 品牌策划师 | 🎯 | 品牌定位、VI设计、营销策略 | 品牌建设、视觉设计、故事营销 |
| 财务分析师 | 💰 | 成本核算、定价策略、盈利模型 | 财务管理、成本分析、定价策略 |
| 运营管理专家 | ⚙️ | 店铺运营、人员管理、流程优化 | 门店管理、团队建设、SOP制定 |
| 食品创业导师 | 👨‍🏫 | 商业模式、融资规划、发展战略 | 创业指导、商业规划、投资对接 |
### 4. 智能开发订单班
**核心场景**:在线教育平台开发
| Agent名称 | 图标 | 职责描述 | 核心技能 |
|-----------|------|----------|---------|
| 产品架构师 | 🏗️ | 产品设计、功能规划、用户体验 | 产品设计、需求分析、原型设计 |
| 前端开发专家 | 💻 | UI实现、交互开发、性能优化 | React/Vue、TypeScript、响应式设计 |
| 后端架构师 | ⚡ | 系统架构、API设计、微服务 | Node.js/Java、数据库设计、分布式系统 |
| 算法工程师 | 🧮 | 推荐算法、数据挖掘、AI应用 | 机器学习、推荐系统、NLP |
| 测试专家 | 🔧 | 测试策略、自动化测试、质量保证 | 测试框架、性能测试、安全测试 |
| DevOps工程师 | 🔄 | CI/CD、容器化、监控运维 | Docker/K8s、自动化部署、监控告警 |
| 项目经理 | 📋 | 项目管理、进度控制、团队协调 | 敏捷开发、风险管理、资源调度 |
| 技术文档专家 | 📚 | API文档、技术规范、知识管理 | 文档编写、技术写作、知识沉淀 |
### 5. 智能制造订单班
**核心场景**物流PLC与机器人联合调试
| Agent名称 | 图标 | 职责描述 | 核心技能 |
|-----------|------|----------|---------|
| 自动化工程师 | 🤖 | PLC编程、控制逻辑、系统集成 | PLC编程、工业控制、系统集成 |
| 机器人专家 | 🦾 | 机器人编程、轨迹规划、视觉系统 | 机器人编程、视觉识别、运动控制 |
| 工艺优化专家 | ⚙️ | 流程优化、节拍分析、效率提升 | 工业工程、精益生产、流程优化 |
| 质量控制专家 | ✅ | 质量标准、检测方案、数据分析 | 质量管理、统计分析、六西格玛 |
| 设备维护专家 | 🔧 | 预防性维护、故障诊断、备件管理 | 设备管理、故障诊断、TPM |
| 安全管理专家 | 🛡️ | 安全评估、风险控制、应急预案 | 安全管理、风险评估、应急处理 |
| MES系统专家 | 💾 | 生产数据、系统对接、报表分析 | MES系统、数据采集、生产追溯 |
| 项目实施专家 | 📊 | 项目管理、资源调度、进度控制 | 项目管理、跨部门协调、交付管理 |
### 6. 视觉设计订单班
**核心场景**:农文旅宣传片策划
| Agent名称 | 图标 | 职责描述 | 核心技能 |
|-----------|------|----------|---------|
| 创意总监 | 🎬 | 创意策划、视觉概念、艺术指导 | 创意设计、艺术指导、概念开发 |
| 脚本编剧 | ✏️ | 故事创作、脚本撰写、叙事设计 | 剧本创作、故事结构、文案撰写 |
| 摄影指导 | 📷 | 镜头语言、拍摄计划、视觉风格 | 摄影技术、镜头运用、光影设计 |
| 后期制作专家 | 🎞️ | 剪辑制作、特效合成、调色配音 | 视频剪辑、特效制作、音频处理 |
| 平面设计师 | 🖼️ | 海报设计、VI应用、物料制作 | 平面设计、品牌视觉、印刷工艺 |
| 动画设计师 | 🎭 | 动效设计、MG动画、三维建模 | 动画制作、Motion Graphics、3D设计 |
| 音乐音效师 | 🎵 | 配乐选择、音效设计、音频制作 | 音乐制作、音效设计、混音技术 |
| 项目制片人 | 🎯 | 制作管理、预算控制、资源协调 | 制片管理、预算控制、团队协调 |
### 7. 交通物流订单班
**核心场景**AGV交通管制与充电调度
| Agent名称 | 图标 | 职责描述 | 核心技能 |
|-----------|------|----------|---------|
| 算法架构师 | 🧮 | 调度算法、路径规划、优化模型 | 算法设计、运筹优化、数学建模 |
| 系统集成专家 | 🔌 | 系统架构、接口设计、数据通信 | 系统集成、通信协议、中间件 |
| AGV控制专家 | 🚗 | AGV编程、运动控制、传感器集成 | AGV控制、导航技术、传感器应用 |
| 交通调度专家 | 🚦 | 交通管制、冲突避免、效率优化 | 交通工程、调度策略、冲突处理 |
| 充电管理专家 | 🔋 | 充电策略、电池管理、能源优化 | 电池管理、充电调度、能源管理 |
| 仿真测试专家 | 🖥️ | 仿真建模、场景测试、性能验证 | 仿真技术、测试方案、性能分析 |
| 数据分析专家 | 📊 | 运行分析、KPI监控、优化建议 | 数据分析、可视化、报表开发 |
| 运维保障专家 | 🛠️ | 系统运维、故障处理、应急响应 | 运维管理、故障诊断、应急处理 |
### 8. 土木水利订单班
**核心场景**:防洪堤工程投标方案
| Agent名称 | 图标 | 职责描述 | 核心技能 |
|-----------|------|----------|---------|
| 工程设计专家 | 📐 | 结构设计、图纸绘制、技术方案 | 结构设计、CAD制图、规范应用 |
| 造价工程师 | 💵 | 工程预算、成本分析、报价策略 | 工程造价、定额计价、成本控制 |
| 施工组织专家 | 🏗️ | 施工方案、进度计划、资源配置 | 施工管理、进度控制、资源调度 |
| 质量安全专家 | ⚠️ | 质量体系、安全方案、风险评估 | 质量管理、安全管理、风险控制 |
| 环境评估专家 | 🌿 | 环评报告、生态保护、绿色施工 | 环境工程、生态评估、环保措施 |
| BIM建模专家 | 🏢 | BIM建模、碰撞检测、可视化展示 | BIM技术、三维建模、协同设计 |
| 投标文件专家 | 📄 | 标书编制、资质准备、评分策略 | 投标管理、文件编制、评分分析 |
| 项目经理 | 👔 | 项目统筹、团队管理、对外协调 | 项目管理、团队建设、沟通协调 |
### 9. 大健康订单班
**核心场景**心理咨询AI辅助方案
| Agent名称 | 图标 | 职责描述 | 核心技能 |
|-----------|------|----------|---------|
| 心理评估专家 | 🧠 | 心理测评、状态评估、风险筛查 | 心理测量、评估工具、诊断标准 |
| 咨询方案专家 | 💭 | 治疗方案、干预策略、个案设计 | 心理治疗、方案设计、个案管理 |
| AI技术专家 | 🤖 | AI模型、算法设计、系统开发 | NLP技术、机器学习、对话系统 |
| 伦理合规专家 | ⚖️ | 伦理审查、隐私保护、法规遵从 | 医疗伦理、数据安全、法规知识 |
| 用户体验专家 | 👥 | 界面设计、交互优化、用户研究 | UX设计、用户研究、可用性测试 |
| 数据分析专家 | 📊 | 效果评估、数据挖掘、报告生成 | 统计分析、数据挖掘、效果评估 |
| 培训督导专家 | 👨‍🏫 | 咨询师培训、案例督导、质量控制 | 培训设计、督导技术、质量管理 |
| 医疗协作专家 | 🏥 | 医疗对接、转诊机制、多学科协作 | 医疗管理、协作机制、资源整合 |
### 10. 能源订单班
**核心场景**光伏电池片AOI检测
| Agent名称 | 图标 | 职责描述 | 核心技能 |
|-----------|------|----------|---------|
| 视觉算法专家 | 👁️ | 图像识别、缺陷检测、算法优化 | 计算机视觉、深度学习、图像处理 |
| 光学工程师 | 🔬 | 光学设计、成像系统、照明方案 | 光学设计、成像技术、照明系统 |
| 自动化工程师 | ⚙️ | 设备集成、控制系统、运动控制 | PLC编程、运动控制、系统集成 |
| 数据工程师 | 💾 | 数据采集、存储方案、实时处理 | 数据架构、大数据处理、实时计算 |
| 质量工程师 | ✅ | 检测标准、缺陷分类、良率分析 | 质量管理、缺陷分析、统计控制 |
| 工艺专家 | 🏭 | 生产工艺、参数优化、问题诊断 | 工艺技术、参数优化、故障分析 |
| 设备维护专家 | 🔧 | 设备保养、故障维修、备件管理 | 设备维护、故障诊断、预防保养 |
| 项目实施专家 | 📋 | 项目管理、实施方案、培训交付 | 项目管理、实施方法、培训设计 |
### 11. 化工订单班
**核心场景**:半导体材料检测分析
| Agent名称 | 图标 | 职责描述 | 核心技能 |
|-----------|------|----------|---------|
| 分析化学专家 | 🧪 | 化学分析、成分检测、方法开发 | 分析化学、仪器分析、方法验证 |
| 材料科学专家 | 🔬 | 材料表征、性能测试、失效分析 | 材料科学、表征技术、性能分析 |
| 仪器分析专家 | 📡 | 仪器操作、维护校准、数据解析 | 仪器操作、设备维护、数据处理 |
| 质量标准专家 | 📏 | 标准制定、体系建设、认证管理 | 质量体系、标准制定、认证流程 |
| 数据分析专家 | 📈 | 数据处理、统计分析、报告编制 | 统计分析、数据挖掘、报告撰写 |
| 实验室管理专家 | 🏢 | 实验室管理、安全规范、资源调度 | 实验室管理、EHS、资源管理 |
| 技术文档专家 | 📚 | 报告撰写、技术文档、知识管理 | 技术写作、文档管理、知识沉淀 |
| 客户服务专家 | 🤝 | 客户沟通、需求分析、技术支持 | 客户服务、需求分析、技术支持 |
### 12. 环保订单班
**核心场景**:地表水质采样方案
| Agent名称 | 图标 | 职责描述 | 核心技能 |
|-----------|------|----------|---------|
| 环境监测专家 | 🌊 | 监测方案、点位布设、参数选择 | 环境监测、采样技术、监测规范 |
| 水质分析专家 | 💧 | 水质分析、指标检测、数据解读 | 水质分析、理化检测、生物监测 |
| 采样技术专家 | 🧪 | 采样方法、样品保存、质控措施 | 采样技术、样品管理、质量控制 |
| 数据分析专家 | 📊 | 数据处理、趋势分析、评价报告 | 统计分析、数据可视化、报告编制 |
| GIS应用专家 | 🗺️ | 空间分析、地图制作、点位优化 | GIS技术、空间分析、制图技术 |
| 法规标准专家 | 📖 | 法规解读、标准应用、合规评估 | 环保法规、标准体系、合规管理 |
| 质量保证专家 | ✅ | QA/QC体系、审核验证、改进建议 | 质量管理、审核技术、持续改进 |
| 项目管理专家 | 📋 | 项目计划、资源协调、进度管理 | 项目管理、资源调度、风险控制 |
## 三、Agent协作模式
### 3.1 串行协作模式
```
Agent1 → Agent2 → Agent3 → ... → 最终输出
```
适用场景:工作流程明确、步骤依赖性强的任务
### 3.2 并行协作模式
```
→ Agent1 →
输入 → Agent2 → 整合输出
→ Agent3 →
```
适用场景:多维度分析、独立子任务并行处理
### 3.3 主从协作模式
```
主Agent协调者
├── 子Agent1
├── 子Agent2
└── 子Agent3
```
适用场景:需要统一协调和决策的复杂任务
### 3.4 迭代优化模式
```
初始输出 → 评估Agent → 优化Agent → 改进输出
↑ ↓
← ← ← ← ← ← ← ← ← ← ← ← ← ← ←
```
适用场景:需要持续优化和改进的创意性任务
## 四、技术实现要点
### 4.1 Agent配置管理
- 使用JSON配置文件统一管理所有Agent定义
- 支持动态加载和热更新Agent配置
- 提供Agent模板快速创建新Agent
### 4.2 Agent通信机制
- 基于消息队列的异步通信
- 统一的输入输出数据格式
- 支持结果缓存和断点续传
### 4.3 Agent监控与管理
- 实时状态监控waiting/thinking/generating/done
- 执行时间和资源消耗统计
- 错误处理和重试机制
### 4.4 Agent扩展性设计
- 插件化架构支持自定义Agent
- 标准化API接口便于集成
- 支持多模型切换GPT/Claude/DeepSeek等
## 五、Agent头像设计规范
### 5.1 设计风格
- **统一风格**:扁平化设计、科技感、专业感
- **色彩方案**:每个订单班使用独特的主题色
- **图标元素**:结合行业特征和专业属性
### 5.2 头像规格
- **尺寸**256x256px高清、128x128px标准、64x64px缩略图
- **格式**PNG透明背景、WebP优化加载
- **命名**{订单班}_{Agent名称}.png
### 5.3 视觉元素
- **背景**:渐变色或纯色背景
- **主体**:人物剪影或行业图标
- **装饰**:专业工具或符号元素
## 六、实施计划
### 第一阶段基础架构1周
1. 创建统一的orderClasses.json配置文件
2. 定义Agent数据结构和接口规范
3. 实现Agent动态加载机制
### 第二阶段Agent开发2周
1. 开发12个订单班的Agent配置
2. 实现Agent协作流程
3. 集成AI模型接口
### 第三阶段UI集成1周
1. 生成100+个Agent头像
2. 开发Agent选择器组件
3. 实现Agent执行可视化
### 第四阶段测试优化1周
1. 功能测试和性能优化
2. 用户体验改进
3. 部署和文档完善
## 七、成功指标
### 7.1 功能指标
- ✅ 12个订单班全部配置完成
- ✅ 每个订单班7-9个专业Agent
- ✅ Agent协作流程顺畅
- ✅ 输出结果符合行业标准
### 7.2 性能指标
- ✅ Agent切换响应时间 < 500ms
- 并发处理能力 > 100个Agent
- ✅ 结果生成时间 < 30s
- 系统可用性 > 99.9%
### 7.3 用户体验指标
- ✅ Agent角色清晰易懂
- ✅ 执行过程可视化直观
- ✅ 结果输出专业完整
- ✅ 可扩展性和可维护性强
---
*文档版本v1.0*
*更新日期2025-09-28*
*负责人DuoduoAgent技术团队*

View File

@@ -0,0 +1,85 @@
# 订单班文档资料 - 目录结构说明
## 目录组织规范
每个订单班都遵循统一的目录结构,便于管理和维护。
## 标准目录结构
```
订单班名称/
├── Agent_prompt/ # Agent提示词文档 (.md格式)
│ ├── 专家1.md
│ ├── 专家2.md
│ └── ...
├── agent头像/ # Agent头像图片 (.jpg/.png格式)
│ ├── 专家1.jpg
│ ├── 专家2.jpg
│ └── ...
├── notion文稿/ # Notion导出的文档内容
│ ├── image/ # 文档配图
│ └── 主文档.md
└── 其他原始资料/ # 如有其他资料可放此处
```
## 12个订单班列表
| 序号 | 订单班名称 | 核心场景 | 文档状态 |
|------|------------|----------|----------|
| 1 | 文旅 | 展会策划 | ✅ 完整 |
| 2 | 财经商贸 | 化妆品电商运营 | 📝 待整理 |
| 3 | 食品 | 轻食店铺经营 | 📝 待整理 |
| 4 | 智能开发 | 在线教育平台开发 | 📝 待整理 |
| 5 | 智能制造 | PLC与机器人调试 | 📝 待整理 |
| 6 | 视觉设计 | 农文旅宣传片策划 | 📝 待整理 |
| 7 | 交通物流 | AGV调度系统 | 📝 待整理 |
| 8 | 土木 | 防洪堤工程投标 | 📝 待整理 |
| 9 | 大健康 | 心理咨询AI辅助 | 📝 待整理 |
| 10 | 能源 | 光伏电池片检测 | 📝 待整理 |
| 11 | 化工 | 半导体材料检测 | 📝 待整理 |
| 12 | 环保 | 地表水质采样 | 📝 待整理 |
## 文件命名规范
### Agent_prompt/
- 格式:`{专家角色名称}.md`
- 示例:`市场研究专家.md``营养配方师.md`
### agent头像/
- 格式:`{专家角色名称}.jpg``.png`
- 示例:`市场研究专家.jpg``营养配方师.png`
- 要求:正方形图片,建议尺寸 512x512 px
### notion文稿/
- 主文档保留原Notion文档名称
- 图片:统一放在 `image/` 子目录
- 格式Markdown格式 (.md)
## 整理要求
1. **Agent数量**:每个订单班 7-9 个专家角色
2. **必需文件**
- 至少7个Agent提示词文档
- 对应的Agent头像图片
- 完整的Notion业务文档
3. **图片要求**
- 头像:专业形象,符合角色定位
- 配图:清晰、相关、有版权
## 使用说明
1. **添加新资料**:请按照上述目录结构存放文件
2. **更新资料**:直接替换对应文件,保持文件名一致
3. **备份**:重要修改前请先备份原文件
## 注意事项
- 保持各订单班目录结构的一致性
- 文件名使用中文,避免特殊字符
- Notion文档中的长ID可以保留或简化
- 定期检查文件完整性
---
*最后更新2025-09-28*
*负责人:项目组*

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 926 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 740 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1003 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

View File

@@ -0,0 +1,39 @@
# Role: 经验丰富且富有创意的会展设计师
## Profile
- author: LangGPT
- version: 1.0
- language: 中文
- description: 你是一位经验老道、创意新颖的会展设计师,擅长展会的整体策划,包括选址、展陈设计、预算编制、活动日期安排、营销宣传等。
## Skills
1. 能快速理解并吸收外部资料与内容,整合成为实操性的策划要点。
2. 擅长将抽象主题具体化,策划方案具有逻辑清晰、创意突出、实用可行的特点。
3. 熟练掌握会展项目全过程,从前期调研、设计策划,到中期执行与后期评估。
4. 能使用专业术语和严谨的结构表达完整策划内容。
## Background
用户提供了三个节点文档:{{ $('When chat message received').item.json.chatInput }}代表整个会展的主题,{{ $json.text }}包含会展主题相关的资料和参考信息,{{ $json.text }}定义了文章的结构和写作范式。你的任务是理解这两个节点,并结合自身专业知识输出一份完整的策划书。
## Goals
- 全文必须按照{{ $('When chat message received').item.json.chatInput }}的主题
- 阅读并充分理解{{ $json.text }}中提供的信息和资料;
- 遵循{{ $json.text }}所规定的文章结构与格式;
- 撰写一份主题吸引人、语言专业、结构合理的会展策划方案书;
- 策划书内容必须涵盖选址(中国长三角地区)、展陈设计、预算、时间安排、宣传推广等环节;
- 正文长度不少于3000字。
## Rules
1. 必须严格参考{{ $json.text }}内容进行创作,体现理解与重构能力;
2. 主题需吸引眼球,具有创意性;
3. 逻辑严密,段落结构清晰;
4. 专业术语准确,语句通顺;
5. 不允许出现“AI生成”、“我是AI”等措辞
6. 最终输出不得少于3000字。
## Workflows
1. 阅读并吸收{{ $json.text }}内容,提炼核心信息;
2. 确认所{{ $json.text }}规定的写作框架;
3. 围绕会展策划关键点进行内容创作;
4. 审核文字逻辑、术语准确性与字数;
5. 以Json格式输出完整的策划方案书文本。

View File

@@ -0,0 +1,36 @@
# Role: 会展行业信息检索专家
## Profile
- author: LangGPT
- version: 1.0
- language: 中文
- description: 你是一位精通信息搜索与报告撰写的专家,特别擅长会展行业的内容收集与趋势分析。
## Skills
1. 能够高效检索抖音、小红书等内容平台上的行业信息;
2. 熟悉热门新闻网站的会展相关资讯收集;
3. 具备分析行业报告2023~2025年的能力
4. 能够撰写结构清晰、逻辑严密的行业调研报告;
5. 输出格式符合 JSON 结构要求。
## Goals
- 基于给定主题,全面检索多平台信息并进行深度分析;
- 撰写一份约2000字的会展行业调研报告
- 报告结构需包含指定的章节标题;
- 输出内容格式必须为合法的 JSON 格式。
## OutputFormat
请以如下 JSON 格式输出调研报告:
```json
{
"标题": "请填写调研报告标题",
"报告摘要": "摘要内容控制在200字以内",
"背景介绍": "详细背景内容",
"市场环境分析": "市场现状、趋势、竞争分析等",
"客户群体分析": "客户画像、行为习惯、兴趣点等",
"招商群体分析": "潜在招商对象特征、合作模式等",
"热门布展地点": "地点名称、特点、案例等",
"常见预算方案": "不同预算规模下的典型方案",
"本片内容总结": "总结全文要点"
}

View File

@@ -0,0 +1,259 @@
# 展会活动策划书格式规范
## 📋 文档说明
本文档为展会活动策划书的标准格式模板旨在帮助Claude AI更好地理解和执行展会策划相关任务。
---
## 一、策划案概述
### 1.1 封面要素
- **展会名称**:活动的正式名称
- **策划案名称**:本策划文档的标题
- **策划单位/人**:负责策划的组织或个人
- **日期**:策划案完成日期
### 1.2 目录
> 列出策划案各部分标题及对应页码,便于快速导航
### 1.3 策划背景
**内容要求**
- 简述展会举办的行业背景
- 分析市场机遇
- 阐明举办必要性
- *参考引用:[1, 6]*
### 1.4 策划目的
**内容要求**
- 明确展会举办期望达成的总体目标
- 列出具体的目标指标
- *参考引用:[2]*
### 1.5 策划依据
**内容要求**
- 市场调研数据
- 政策支持文件
- 往届经验总结
- 行业发展趋势
---
## 二、展会介绍与预期效果
### 2.1 展会主题
**内容要求**
- 核心主题陈述
- 展会口号/标语
- *参考引用:[3]*
### 2.2 展会地址
**必填信息**
- 展馆名称
- 具体地址
- 交通指引
### 2.3 展品范围
**内容要求**
- 详细列出展会展示的主要产品类别
- 明确各展区领域划分
- *参考引用:[1]*
### 2.4 举办时间
**时间安排**
- 展会具体日期
- 每日开放时间
- 布展/撤展时间
### 2.5 办展机构
#### 组织架构
| 机构类型 | 单位名称 | 参考引用 |
|---------|---------|----------|
| **主办单位** | [待填写] | [1] |
| **承办单位** | [待填写] | [1] |
| **协办单位** | [待填写] | - |
| **支持单位** | [待填写] | - |
### 2.6 目标参展商
**画像描述**
- 企业类型
- 行业领域
- 企业规模
- 地域分布
- *参考引用:[1]*
### 2.7 目标观众
**观众分类**
- 专业观众特征
- 采购商画像
- 公众观众群体
- *参考引用:[1]*
### 2.8 预计规模
#### 规模指标
| 指标项目 | 预计数值 | 参考引用 |
|---------|---------|----------|
| **展览面积** | [待填写] | [7] |
| **标准展位数量** | [待填写] | [7] |
| **特装展位面积** | [待填写] | - |
| **预计参展商家数** | [待填写] | [7] |
| **预计参观人次** | [待填写] | [3, 7] |
### 2.9 展会定位
**定位说明**
- 行业差异化定位
- 展会特色亮点
- 核心竞争优势
- *参考引用:[6]*
### 2.10 预期效果
#### 效果评估维度
1. **品牌影响力**
- 品牌知名度提升目标
- 行业地位巩固
2. **交易促成**
- 现场成交额目标
- 意向签约额预期
- *参考引用:[7]*
3. **行业推动**
- 对产业发展的贡献
- 技术交流成果
4. **其他效益**
- 媒体曝光度
- 社会关注度
- 政府关系改善
---
## 三、营销方案
### 3.1 整体推广策略
> 概述营销推广的核心思路与策略组合,包括时间节点、资源配置、预算分配等
### 3.2 线下推广方案
#### 3.2.1 传统媒体广告
- **行业杂志**:选择目标行业核心期刊
- **报纸广告**:主流财经、行业报纸
- **广播电视**:商业频道、行业节目
- *参考引用:[2]*
#### 3.2.2 直邮与邀请函
- **目标数据库**:精准客户名单
- **邮寄材料**:邀请函、展会资料
- **跟进机制**:电话确认、二次邀约
- *参考引用:[1]*
#### 3.2.3 户外广告
- **地铁广告**:重点线路、站点
- **公交广告**:商务区域线路
- **广告牌**:展馆周边、商业中心
#### 3.2.4 行业活动推广
- **相关展会**:同期或前期展会
- **行业会议**:峰会、论坛推广
- **路演活动**:重点城市巡回
#### 3.2.5 渠道合作
- **行业协会**:会员推荐、团体组织
- **商会合作**:企业资源对接
- **使馆商务处**:国际展商邀请
#### 3.2.6 新闻发布会
- **发布时机**:展前关键节点
- **亮点内容**:重大签约、新品发布
- **媒体邀请**:主流媒体、行业媒体
- *参考引用:[3]*
### 3.3 线上推广方案
#### 3.3.1 官网与微站
**功能建设**
- 信息发布平台
- 在线注册系统
- 展商展品数据库
- 移动端适配
- *参考引用:[2]*
#### 3.3.2 社交媒体营销
##### 平台策略
| 平台 | 推广策略 | 内容形式 |
|------|---------|----------|
| **微信** | 公众号运营、朋友圈广告 | 图文、视频号 |
| **微博** | 话题营销、KOL合作 | 热搜、直播 |
| **抖音** | 短视频种草、挑战赛 | 创意视频 |
| **LinkedIn** | B2B精准营销 | 行业分享 |
*参考引用:[8]*
#### 3.3.3 搜索引擎营销
- **SEM竞价**:关键词投放策略
- **SEO优化**:网站内容优化
- **品牌专区**:搜索结果页定制
- *参考引用:[2]*
#### 3.3.4 电子邮件营销EDM
- **数据库管理**:客户分类、标签化
- **内容策划**:展会资讯、优惠信息
- **发送策略**频次控制、A/B测试
- *参考引用:[2]*
#### 3.3.5 线上直播与短视频
- **直播预告**:展前预热直播
- **现场直击**:展会实时报道
- **短视频营销**:亮点集锦、花絮
- *参考引用:[8]*
#### 3.3.6 合作伙伴联动
- **行业网站**:内容合作、广告投放
- **流量平台**:精准引流、数据交换
- **媒体矩阵**:多渠道协同推广
- *参考引用:[2]*
### 3.4 精准邀请与对接
#### 3.4.1 专业买家邀请
**邀请体系**
- 数据库筛选:历史客户、潜在买家
- 呼叫中心:专业团队电话邀约
- 合作机构:协会推荐、团体组织
- VIP服务重点客户特殊接待
- *参考引用:[1]*
#### 3.4.2 供需匹配服务
**服务内容**
- 线上预约系统:提前安排洽谈
- 智能匹配算法:精准对接需求
- 现场撮合服务:专人协助对接
- 后续跟踪:展后持续服务
- *参考引用:[3]*
---
## 📌 使用说明
### 执行要点
1. **结构化思维**:按照上述框架系统性地规划展会
2. **数据支撑**:所有预期效果需有数据依据
3. **可执行性**:方案需具体、可落地、可评估
4. **迭代优化**:根据实际情况动态调整策略
### 参考引用说明
- [1] - [8] 为参考资料索引编号
- 实际使用时需替换为具体的参考来源
### 输出格式建议
- 使用清晰的标题层级
- 重要数据使用表格展示
- 关键信息使用加粗或引用格式
- 保持格式统一性和专业性
---
*本文档为展会策划标准模板,请根据实际项目需求进行调整和完善。*

View File

@@ -0,0 +1,50 @@
# Role: 会展执行专家
## Profile
- author: LangGPT
- version: 1.0
- language: 中文
- description: 你是一位经验丰富的会展执行专家,擅长制定展会全流程的执行计划,包括关键节点时间表、人员安排、任务分工及资源调度,确保所有事项在截止日期前高效完成。
## Skills
1. 精通会展项目的时间节点控制与执行节奏规划;
2. 擅长制定详细的时间进度表Gantt图逻辑
3. 能清晰分配人员职责、任务优先级和资源配比;
4. 熟悉从布展、搭建、演出、撤展等各阶段事项安排;
5. 能输出结构化的任务安排表JSON 或 Markdown 表格格式);
## Goals
- 接收展会主题与截止时间后,自动生成可执行的任务排期表;
- 每项任务需指定开始/结束时间、负责人、协作人、优先级等;
- 输出结果支持项目管理使用可便于导入工具如Excel、Notion、甘特图平台
## OutputFormat
### 格式一JSON格式推荐结构化场景
```json
{
"展会名称": "2025科技创新博览会",
"执行周期": "2025年3月1日 - 2025年3月15日",
"任务安排表": [
{
"任务名称": "展台搭建方案设计",
"开始时间": "2025-03-01",
"结束时间": "2025-03-03",
"负责人": "王明",
"协作人": ["设计部", "品牌方"],
"优先级": "高",
"备注": "设计需包含动线规划与物料明细"
},
{
"任务名称": "物料采购与准备",
"开始时间": "2025-03-04",
"结束时间": "2025-03-06",
"负责人": "李倩",
"协作人": ["供应链", "仓储"],
"优先级": "中",
"备注": "提前确认供应商报价"
}
// 更多任务...
]
}

View File

@@ -0,0 +1,62 @@
# Role: 会展营销宣传专家
## Profile
- author: LangGPT
- version: 1.0
- language: 中文
- description: 你是一位精通线上与线下整合传播的会展营销专家,擅长为展会项目量身定制多渠道宣传策略,提升展会曝光度、观众到场率及品牌影响力。
## Skills
1. 能基于展会定位制定精准的营销目标与内容策略;
2. 熟悉抖音、小红书、公众号等新媒体平台营销玩法;
3. 精通线下地推、户外广告、合作联动等传统宣传方式;
4. 善于制定分阶段、分人群的推广计划与内容排期;
5. 输出结构标准化、逻辑清晰的整合营销方案(含推广时间表、渠道矩阵、内容主题等);
## Goals
- 为展会制定一套完整的整合营销传播方案;
- 输出方案需包含目标设定、策略框架、渠道矩阵、内容主题、执行时间表等;
- 内容格式需支持结构化输出,方便项目管理或汇报使用;
## OutputFormat
```json
{
"展会名称": "2025数字经济博览会",
"目标受众": ["B端科技企业", "C端泛科技爱好者"],
"营销目标": "提升展会曝光率、提升参展报名转化率",
"营销策略": {
"总体策略": "线上线下联动,内容驱动,精准触达",
"分阶段策略": {
"预热期": "内容种草 + 社媒曝光",
"引流期": "强内容发布 + 用户互动",
"转化期": "落地活动 + 渠道转化"
}
},
"渠道矩阵": {
"线上渠道": ["抖音", "小红书", "微信公众号", "官网", "知乎"],
"线下渠道": ["户外广告", "地铁灯箱", "异业联动门店", "校园推广"]
},
"内容主题规划": [
{"主题": "行业趋势", "形式": "图文、视频", "平台": "知乎、公众号"},
{"主题": "展会亮点", "形式": "短视频、直播", "平台": "抖音、小红书"},
{"主题": "嘉宾预告", "形式": "人物专访", "平台": "视频号、公众号"}
],
"时间与执行表": [
{
"阶段": "预热期",
"时间范围": "2025-02-01 ~ 2025-02-14",
"重点动作": "达人种草、开设话题标签、内容预告"
},
{
"阶段": "引流期",
"时间范围": "2025-02-15 ~ 2025-02-28",
"重点动作": "高频内容推送、互动抽奖、报名链接投放"
},
{
"阶段": "转化期",
"时间范围": "2025-03-01 ~ 2025-03-08",
"重点动作": "地推执行、户外广告投放、现场报名引导"
}
]
}

View File

@@ -0,0 +1,41 @@
# Role: 展会设计师专家
## Profile
- author: LangGPT
- version: 1.0
- language: 中文
- description: 你是一位富有创意并紧跟趋势的展会设计师擅长通过AI图像生成工具将抽象理念转化为具体可视化效果图尤其专注于展台搭建、空间布景与主题场景塑造。
## Skills
1. 能够将展会主题、品牌调性转化为视觉设计要素;
2. 熟悉不同类型展会的风格差异(科技、文旅、消费品等);
3. 精通Midjourney/DALL·E/Stable Diffusion等AI图像生成提示语构造
4. 擅长构建具体、细致、清晰的图像提示词prompt
5. 具备一定的美术与空间设计语言表达能力;
## Goals
- 基于给定的展会主题与定位,设计精美、实用的展会效果图;
- 提供5条以上适用于AI图像生成的中英文Prompt
- 每条提示词包括视觉元素、风格关键词、构图建议、镜头视角等;
- 鼓励使用Midjourney标准格式`/imagine prompt: {...}`
## OutputFormat
请以如下格式输出:
```json
{
"展会主题": "填写展会主题名称",
"目标受众": "描述设计所面向的核心观众群体",
"设计理念": "简述整体设计概念与方向",
"提示词列表": [
{
"语言": "英文",
"Prompt": "/imagine prompt: modern exhibition booth, minimalist style, LED walls, open layout, tech branding, ambient lighting, 3D render, ultra-realistic, --ar 16:9 --v 5"
},
{
"语言": "中文",
"Prompt": "/imagine prompt: 未来感展会展台设计,极简风格,灯光氛围,科技感十足,品牌标识突出,超写实渲染,--ar 16:9 --v 5"
}
// 可继续添加更多提示词
]
}

View File

@@ -0,0 +1,54 @@
# Role: 财务预算专家
## Profile
- author: LangGPT
- version: 1.0
- language: 中文
- description: 你是一位精通财务管理的预算专家,擅长根据用户提供的数据信息生成标准化的财务预算报表,能清晰展现成本、收入、利润、现金流等核心财务指标。
## Skills
1. 熟练编制年度、季度、项目级的财务预算;
2. 能将结构化/半结构化的数据转化为标准财务报表;
3. 掌握利润表、现金流量表、资产负债表等报表结构;
4. 熟悉Excel逻辑及数据可视化表达方式
5. 支持以JSON或表格Markdown格式输出财务报表
## Goals
- 将用户输入的财务数据转换为格式清晰、分类合理的预算报表;
- 报表字段需根据数据内容自动适配;
- 输出格式以财务报表通用结构为准,包括:项目名称、预算金额、实际金额、差异、备注等;
- 如数据不足,提供自动补全建议;
## OutputFormat
支持以下两种格式任选:
### 格式一JSON格式
```json
{
"报表类型": "年度预算表",
"币种": "人民币",
"时间周期": "2025年",
"项目预算表": [
{
"项目名称": "市场推广费",
"预算金额": 500000,
"实际金额": 450000,
"差异": -50000,
"备注": "广告成本略低于预期"
},
{
"项目名称": "人员成本",
"预算金额": 1200000,
"实际金额": 1250000,
"差异": 50000,
"备注": "新增一名市场专员"
}
// 更多项目...
],
"汇总": {
"总预算": 1700000,
"总实际支出": 1700000,
"预算差异": 0
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 423 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 503 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 936 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 842 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,391 @@
.page-list-title span {
font-weight: 900;
}
.page-list-title svg {
font-size: 14px;
}
.page-list {
font-size: 12px;
flex: 0 0 294px;
overflow-y: auto;
min-height: 152px;
}
.page-list .page-list-title {
display: flex;
justify-content: space-between;
font-size: 12px;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
align-items: center;
position: relative;
height: 42px;
padding: 0 10px 0 16px;
}
.page-list .page-list-title .page-list-title-btns svg,
.page-list .page-list-title .search-container svg{
font-size: 12px;
}
.page-list .page-list-title .page-list-title-btns{
display: flex;
gap: 2px;
justify-content:end;
}
.page-list .page-list-title .page-list-title-btns span,
.page-list .page-list-title .search-container> .hide-search-btn {
display: inline-flex;
width: 24px;
height: 24px;
border-radius: 4px;
align-items: center;
justify-content: center
}
.page-list .page-list-title .search-container {
position: absolute;
left: 0;
top: 0;
height: 42px;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
padding: 0 14px;
gap: 13px;
}
.search-container .ant-input-affix-wrapper {
padding: 0 12px;
}
.search-container .ant-input-affix-wrapper .ant-input-prefix{
margin-right: 9px;
}
.copy-page{
.ant-dropdown-menu-title-content{
display: flex;
align-items: center;
}
}
.page-operate-icon {
display: flex;
width: 12px;
height: 12px;
margin-right: 7px;
margin-left: 1px;
}
.page-search {
width: calc(100% - 48px);
margin-top: 8px;
margin-bottom: 6px;
font-size: 12px;
height: 28px;
border-radius: 4px 4px 4px 4px;
border: none;
}
.add-square {
width: 220px;
height: 150px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
border-radius: 4px 4px 4px 4px;
cursor: pointer;
padding: 29px 0 25px 0;
}
.add-square.add-page-ai {
padding: 21px 0 25px 0;
}
.add-square.add-page-ai .add-square-icon{
margin-bottom: 0;
}
.add-square.add-page-ai .add-square-name {
margin-bottom: 0!important
}
.add-square .add-square-icon{
margin-bottom: 13px;
}
.add-square-name {
width: 110px !important;
height: 20px;
font-weight: 400;
font-size: 14px;
line-height: 20px;
text-align: center;
font-style: normal;
text-transform: none;
border: unset !important;
margin-bottom: 10px !important;
}
.yt-ui-input-focus:focus{
border: unset !important;
box-shadow:none !important;
border-radius: 0;
border-bottom: 1px solid var(--ui-add-model-box-add-square-active-border-color) !important;
}
.add-square-size {
width: 46px !important;
height: 20px;
padding:0;
font-weight: 400;
font-size: 14px;
line-height: 20px;
text-align: center;
font-style: normal;
text-transform: none;
border: unset !important;
}
.add-page-model .ant-modal-content{
padding: 0;
border-radius: 10px;
overflow: hidden;
}
.add-page-model .ant-modal-content .ant-modal-header{
padding: 16px 30px 16px 32px;
margin-bottom: 0px;
}
.add-page-model .ant-modal-content .ant-modal-header .ant-modal-title{
font-size: 14px;
}
.add-page-model .ant-modal-content .ant-modal-header .ant-modal-close-x{
font-size: 14px;
}
.add-page-model.ant-modal .ant-modal-body {
display: flex;
flex-wrap: wrap;
max-height: 404px;
overflow-y: auto;
border-bottom: 1px solid #DBDBDB;
padding: 34px 52px 21px 44px;
column-gap: 30px;
row-gap: 24px;
}
.add-page-model .ant-modal-footer {
padding: 3px 24px 17px 24px;
}
.add-page-model.ant-modal .ant-modal-footer .ant-btn{
width: 80px;
font-size: 14px;
margin-right: 12px;
border-radius: 4px;
}
.add-page-model.ant-modal .ant-modal-footer .ant-btn:last-child{
margin-right: 0;
margin-inline-start: 0;
}
.template-square {
width: 220px;
height: 150px;
cursor: pointer;
line-height: 17px;
}
.template-square-pic {
width: 100%;
height: 124px;
border-radius: 4px;
overflow:hidden
}
.template-square-pic img {
width: 100%;
height: 100%;
}
.template-square-content {
width:100%;
display: flex;
align-items: end;
height: 26px;
justify-content: space-between;
}
.template-square-title {
flex:1 1 100%;
overflow:hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-right: 2px;
}
.template-square-others {
flex: 1 0 50px;
display: flex;
}
.page-list .add-page-btn {
width: calc(100% - 20px);
border: 0;
border-radius: 4px 4px 4px 4px;
margin: 10px auto 10px;
display: flex;
align-items: center;
gap: 10px;
padding-left: 20px;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 12px;
line-height: 17px;
text-align: left;
font-style: normal;
text-transform: none;
padding-left: 45px;
}
.page-list .add-page-btn img {
width: 12px;
object-fit: none;
}
.page-tree {
padding: 0 10px 10px;
flex: 1;
overflow: auto;
font-size: 12px;
height: calc(100% - 94px);
.ant-dropdown-link{
margin-right: 10px;
}
.drag-over{
border: 1px solid var(--pannel-web-excel-open-btn-color);
z-index: 999;
}
}
.page-tree .ant-tree-treenode,
.page-tree .ant-tree-node-content-wrapper {
width: 100% !important;
}
.page-tree .ant-tree-treenode .ant-tree-node-content-wrapper {
height: 100%;
display: flex;
align-items: center;
justify-content: flex-start;
}
.page-tree .ant-tree-treenode .ant-tree-node-content-wrapper .ant-tree-icon__customize {
flex: 0 0 14px;
align-items: center;
display: inline-flex;
margin-left: 4px;
}
.page-tree .ant-tree-treenode .ant-tree-node-content-wrapper .ant-tree-title {
padding-left: 4px;
flex: 1;
width: 0;
display: flex;
justify-content: space-between;
box-sizing: border-box;
}
.page-tree .ant-tree-treenode .ant-tree-node-content-wrapper .page-tree-item-title {
position: relative;
width: calc(100% - 28px);
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.page-tree .ant-tree-treenode .ant-tree-switcher {
line-height:32px;
width: 8px;
margin-right: 4px;
}
.page-tree .ant-tree-treenode .ant-tree-title {
min-height:32px;
line-height:32px;
}
.page-tree .ant-tree-node-content-wrapper:hover {}
.page-tree .hover-hide {
position:absolute;
right: 4px;
font-size: 14px;
top: 50%;
transform: translateY(-50%);
display: flex;
}
.page-tree .hover-hide> span {
margin-right: 8px;
font-size: 14px;
display: none;
}
.page-tree .ant-dropdown-trigger:hover{
.hover-hide > span{
display: block;
}
}
.max-page-modal.ant-modal-wrap {
.ant-modal-header {
height: 48px;
margin: 0;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 24px;
.ant-modal-title {
flex: 1;
}
}
.ant-modal-content {
height: 380px;
padding: 0;
border-radius: 10px;
overflow: hidden;
display: flex;
flex-direction: column;
.ant-modal-close {
font-size: 14px;
}
.ant-modal-body {
flex: 1;
padding: 29px 51px 0 51px;
.tip {
display: flex;
align-items: flex-start;
margin-bottom: 20px;
.max-page-icon.anticon {
margin-right: 9px;
font-size: 18px;
transform: translateY(3px);
}
.tip-text {
text-align: center;
font-weight: 400;
font-size: 14px;
line-height: 24px;
text-align: center;
font-style: normal;
text-transform: none;
}
}
.qrcode {
width: 170px;
height: 162px;
margin: 0 auto 11px;
padding: 10px;
display: flex;
border-radius: 4px 4px 4px 4px;
img {
flex: 1;
object-fit: contain;
}
}
.tel {
text-align: center;
font-weight: 400;
font-size: 16px;
line-height: 28px;
font-style: normal;
text-transform: none;
}
}
}
}
.max-ai-page-modal.ant-modal-wrap {
.ant-modal-content {
height: 320px;
.ant-modal-body {
padding: 34px 51px 0 51px;
}
.ant-modal-body .qrcode {
margin: 0 auto 16px
}
.ant-modal-close {
top: 13px;
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,165 @@
Fonticons, Inc. (https://fontawesome.com)
--------------------------------------------------------------------------------
Font Awesome Free License
Font Awesome Free is free, open source, and GPL friendly. You can use it for
commercial projects, open source projects, or really almost whatever you want.
Full Font Awesome Free license: https://fontawesome.com/license/free.
--------------------------------------------------------------------------------
# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)
The Font Awesome Free download is licensed under a Creative Commons
Attribution 4.0 International License and applies to all icons packaged
as SVG and JS file types.
--------------------------------------------------------------------------------
# Fonts: SIL OFL 1.1 License
In the Font Awesome Free download, the SIL OFL license applies to all icons
packaged as web and desktop font files.
Copyright (c) 2024 Fonticons, Inc. (https://fontawesome.com)
with Reserved Font Name: "Font Awesome".
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
SIL OPEN FONT LICENSE
Version 1.1 - 26 February 2007
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting — in part or in whole — any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
--------------------------------------------------------------------------------
# Code: MIT License (https://opensource.org/licenses/MIT)
In the Font Awesome Free download, the MIT license applies to all non-font and
non-icon files.
Copyright 2024 Fonticons, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in the
Software without restriction, including without limitation the rights to use, copy,
modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
# Attribution
Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font
Awesome Free files already contain embedded comments with sufficient
attribution, so you shouldn't need to do anything additional when using these
files normally.
We've kept attribution comments terse, so we ask that you do not actively work
to remove them from files, especially code. They're a great way for folks to
learn about Font Awesome.
--------------------------------------------------------------------------------
# Brand Icons
All brand icons are trademarks of their respective owners. The use of these
trademarks does not indicate endorsement of the trademark holder by Font
Awesome, nor vice versa. **Please do not use brand logos for any purpose except
to represent the company, product, or service to which they refer.**

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,19 @@
/*!
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
:root, :host {
--fa-style-family-classic: 'Font Awesome 6 Free';
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; }
@font-face {
font-family: 'Font Awesome 6 Free';
font-style: normal;
font-weight: 400;
font-display: block;
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }
.far,
.fa-regular {
font-weight: 400; }

View File

@@ -0,0 +1,6 @@
/*!
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400}

View File

@@ -0,0 +1,19 @@
/*!
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
:root, :host {
--fa-style-family-classic: 'Font Awesome 6 Free';
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; }
@font-face {
font-family: 'Font Awesome 6 Free';
font-style: normal;
font-weight: 900;
font-display: block;
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
.fas,
.fa-solid {
font-weight: 900; }

View File

@@ -0,0 +1,6 @@
/*!
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}

View File

@@ -0,0 +1,459 @@
/*!
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
:root, :host {
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free';
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free';
--fa-font-light: normal 300 1em/1 'Font Awesome 6 Pro';
--fa-font-thin: normal 100 1em/1 'Font Awesome 6 Pro';
--fa-font-duotone: normal 900 1em/1 'Font Awesome 6 Duotone';
--fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands';
--fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 6 Sharp';
--fa-font-sharp-regular: normal 400 1em/1 'Font Awesome 6 Sharp';
--fa-font-sharp-light: normal 300 1em/1 'Font Awesome 6 Sharp';
--fa-font-sharp-thin: normal 100 1em/1 'Font Awesome 6 Sharp';
--fa-font-sharp-duotone-solid: normal 900 1em/1 'Font Awesome 6 Sharp Duotone'; }
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
overflow: visible;
box-sizing: content-box; }
.svg-inline--fa {
display: var(--fa-display, inline-block);
height: 1em;
overflow: visible;
vertical-align: -.125em; }
.svg-inline--fa.fa-2xs {
vertical-align: 0.1em; }
.svg-inline--fa.fa-xs {
vertical-align: 0em; }
.svg-inline--fa.fa-sm {
vertical-align: -0.07143em; }
.svg-inline--fa.fa-lg {
vertical-align: -0.2em; }
.svg-inline--fa.fa-xl {
vertical-align: -0.25em; }
.svg-inline--fa.fa-2xl {
vertical-align: -0.3125em; }
.svg-inline--fa.fa-pull-left {
margin-right: var(--fa-pull-margin, 0.3em);
width: auto; }
.svg-inline--fa.fa-pull-right {
margin-left: var(--fa-pull-margin, 0.3em);
width: auto; }
.svg-inline--fa.fa-li {
width: var(--fa-li-width, 2em);
top: 0.25em; }
.svg-inline--fa.fa-fw {
width: var(--fa-fw-width, 1.25em); }
.fa-layers svg.svg-inline--fa {
bottom: 0;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0; }
.fa-layers-text, .fa-layers-counter {
display: inline-block;
position: absolute;
text-align: center; }
.fa-layers {
display: inline-block;
height: 1em;
position: relative;
text-align: center;
vertical-align: -.125em;
width: 1em; }
.fa-layers svg.svg-inline--fa {
transform-origin: center center; }
.fa-layers-text {
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
transform-origin: center center; }
.fa-layers-counter {
background-color: var(--fa-counter-background-color, #ff253a);
border-radius: var(--fa-counter-border-radius, 1em);
box-sizing: border-box;
color: var(--fa-inverse, #fff);
line-height: var(--fa-counter-line-height, 1);
max-width: var(--fa-counter-max-width, 5em);
min-width: var(--fa-counter-min-width, 1.5em);
overflow: hidden;
padding: var(--fa-counter-padding, 0.25em 0.5em);
right: var(--fa-right, 0);
text-overflow: ellipsis;
top: var(--fa-top, 0);
transform: scale(var(--fa-counter-scale, 0.25));
transform-origin: top right; }
.fa-layers-bottom-right {
bottom: var(--fa-bottom, 0);
right: var(--fa-right, 0);
top: auto;
transform: scale(var(--fa-layers-scale, 0.25));
transform-origin: bottom right; }
.fa-layers-bottom-left {
bottom: var(--fa-bottom, 0);
left: var(--fa-left, 0);
right: auto;
top: auto;
transform: scale(var(--fa-layers-scale, 0.25));
transform-origin: bottom left; }
.fa-layers-top-right {
top: var(--fa-top, 0);
right: var(--fa-right, 0);
transform: scale(var(--fa-layers-scale, 0.25));
transform-origin: top right; }
.fa-layers-top-left {
left: var(--fa-left, 0);
right: auto;
top: var(--fa-top, 0);
transform: scale(var(--fa-layers-scale, 0.25));
transform-origin: top left; }
.fa-1x {
font-size: 1em; }
.fa-2x {
font-size: 2em; }
.fa-3x {
font-size: 3em; }
.fa-4x {
font-size: 4em; }
.fa-5x {
font-size: 5em; }
.fa-6x {
font-size: 6em; }
.fa-7x {
font-size: 7em; }
.fa-8x {
font-size: 8em; }
.fa-9x {
font-size: 9em; }
.fa-10x {
font-size: 10em; }
.fa-2xs {
font-size: 0.625em;
line-height: 0.1em;
vertical-align: 0.225em; }
.fa-xs {
font-size: 0.75em;
line-height: 0.08333em;
vertical-align: 0.125em; }
.fa-sm {
font-size: 0.875em;
line-height: 0.07143em;
vertical-align: 0.05357em; }
.fa-lg {
font-size: 1.25em;
line-height: 0.05em;
vertical-align: -0.075em; }
.fa-xl {
font-size: 1.5em;
line-height: 0.04167em;
vertical-align: -0.125em; }
.fa-2xl {
font-size: 2em;
line-height: 0.03125em;
vertical-align: -0.1875em; }
.fa-fw {
text-align: center;
width: 1.25em; }
.fa-ul {
list-style-type: none;
margin-left: var(--fa-li-margin, 2.5em);
padding-left: 0; }
.fa-ul > li {
position: relative; }
.fa-li {
left: calc(-1 * var(--fa-li-width, 2em));
position: absolute;
text-align: center;
width: var(--fa-li-width, 2em);
line-height: inherit; }
.fa-border {
border-color: var(--fa-border-color, #eee);
border-radius: var(--fa-border-radius, 0.1em);
border-style: var(--fa-border-style, solid);
border-width: var(--fa-border-width, 0.08em);
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); }
.fa-pull-left {
float: left;
margin-right: var(--fa-pull-margin, 0.3em); }
.fa-pull-right {
float: right;
margin-left: var(--fa-pull-margin, 0.3em); }
.fa-beat {
animation-name: fa-beat;
animation-delay: var(--fa-animation-delay, 0s);
animation-direction: var(--fa-animation-direction, normal);
animation-duration: var(--fa-animation-duration, 1s);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-timing-function: var(--fa-animation-timing, ease-in-out); }
.fa-bounce {
animation-name: fa-bounce;
animation-delay: var(--fa-animation-delay, 0s);
animation-direction: var(--fa-animation-direction, normal);
animation-duration: var(--fa-animation-duration, 1s);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); }
.fa-fade {
animation-name: fa-fade;
animation-delay: var(--fa-animation-delay, 0s);
animation-direction: var(--fa-animation-direction, normal);
animation-duration: var(--fa-animation-duration, 1s);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }
.fa-beat-fade {
animation-name: fa-beat-fade;
animation-delay: var(--fa-animation-delay, 0s);
animation-direction: var(--fa-animation-direction, normal);
animation-duration: var(--fa-animation-duration, 1s);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }
.fa-flip {
animation-name: fa-flip;
animation-delay: var(--fa-animation-delay, 0s);
animation-direction: var(--fa-animation-direction, normal);
animation-duration: var(--fa-animation-duration, 1s);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-timing-function: var(--fa-animation-timing, ease-in-out); }
.fa-shake {
animation-name: fa-shake;
animation-delay: var(--fa-animation-delay, 0s);
animation-direction: var(--fa-animation-direction, normal);
animation-duration: var(--fa-animation-duration, 1s);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-timing-function: var(--fa-animation-timing, linear); }
.fa-spin {
animation-name: fa-spin;
animation-delay: var(--fa-animation-delay, 0s);
animation-direction: var(--fa-animation-direction, normal);
animation-duration: var(--fa-animation-duration, 2s);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-timing-function: var(--fa-animation-timing, linear); }
.fa-spin-reverse {
--fa-animation-direction: reverse; }
.fa-pulse,
.fa-spin-pulse {
animation-name: fa-spin;
animation-direction: var(--fa-animation-direction, normal);
animation-duration: var(--fa-animation-duration, 1s);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-timing-function: var(--fa-animation-timing, steps(8)); }
@media (prefers-reduced-motion: reduce) {
.fa-beat,
.fa-bounce,
.fa-fade,
.fa-beat-fade,
.fa-flip,
.fa-pulse,
.fa-shake,
.fa-spin,
.fa-spin-pulse {
animation-delay: -1ms;
animation-duration: 1ms;
animation-iteration-count: 1;
transition-delay: 0s;
transition-duration: 0s; } }
@keyframes fa-beat {
0%, 90% {
transform: scale(1); }
45% {
transform: scale(var(--fa-beat-scale, 1.25)); } }
@keyframes fa-bounce {
0% {
transform: scale(1, 1) translateY(0); }
10% {
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); }
30% {
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); }
50% {
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); }
57% {
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); }
64% {
transform: scale(1, 1) translateY(0); }
100% {
transform: scale(1, 1) translateY(0); } }
@keyframes fa-fade {
50% {
opacity: var(--fa-fade-opacity, 0.4); } }
@keyframes fa-beat-fade {
0%, 100% {
opacity: var(--fa-beat-fade-opacity, 0.4);
transform: scale(1); }
50% {
opacity: 1;
transform: scale(var(--fa-beat-fade-scale, 1.125)); } }
@keyframes fa-flip {
50% {
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } }
@keyframes fa-shake {
0% {
transform: rotate(-15deg); }
4% {
transform: rotate(15deg); }
8%, 24% {
transform: rotate(-18deg); }
12%, 28% {
transform: rotate(18deg); }
16% {
transform: rotate(-22deg); }
20% {
transform: rotate(22deg); }
32% {
transform: rotate(-12deg); }
36% {
transform: rotate(12deg); }
40%, 100% {
transform: rotate(0deg); } }
@keyframes fa-spin {
0% {
transform: rotate(0deg); }
100% {
transform: rotate(360deg); } }
.fa-rotate-90 {
transform: rotate(90deg); }
.fa-rotate-180 {
transform: rotate(180deg); }
.fa-rotate-270 {
transform: rotate(270deg); }
.fa-flip-horizontal {
transform: scale(-1, 1); }
.fa-flip-vertical {
transform: scale(1, -1); }
.fa-flip-both,
.fa-flip-horizontal.fa-flip-vertical {
transform: scale(-1, -1); }
.fa-rotate-by {
transform: rotate(var(--fa-rotate-angle, 0)); }
.fa-stack {
display: inline-block;
vertical-align: middle;
height: 2em;
position: relative;
width: 2.5em; }
.fa-stack-1x,
.fa-stack-2x {
bottom: 0;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0;
z-index: var(--fa-stack-z-index, auto); }
.svg-inline--fa.fa-stack-1x {
height: 1em;
width: 1.25em; }
.svg-inline--fa.fa-stack-2x {
height: 2em;
width: 2.5em; }
.fa-inverse {
color: var(--fa-inverse, #fff); }
.sr-only,
.fa-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0; }
.sr-only-focusable:not(:focus),
.fa-sr-only-focusable:not(:focus) {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0; }
.svg-inline--fa .fa-primary {
fill: var(--fa-primary-color, currentColor);
opacity: var(--fa-primary-opacity, 1); }
.svg-inline--fa .fa-secondary {
fill: var(--fa-secondary-color, currentColor);
opacity: var(--fa-secondary-opacity, 0.4); }
.svg-inline--fa.fa-swap-opacity .fa-primary {
opacity: var(--fa-secondary-opacity, 0.4); }
.svg-inline--fa.fa-swap-opacity .fa-secondary {
opacity: var(--fa-primary-opacity, 1); }
.svg-inline--fa mask .fa-primary,
.svg-inline--fa mask .fa-secondary {
fill: black; }
.fad.fa-inverse,
.fa-duotone.fa-inverse {
color: var(--fa-inverse, #fff); }

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,26 @@
/*!
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
@font-face {
font-family: 'FontAwesome';
font-display: block;
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
@font-face {
font-family: 'FontAwesome';
font-display: block;
src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }
@font-face {
font-family: 'FontAwesome';
font-display: block;
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype");
unicode-range: U+F003,U+F006,U+F014,U+F016-F017,U+F01A-F01B,U+F01D,U+F022,U+F03E,U+F044,U+F046,U+F05C-F05D,U+F06E,U+F070,U+F087-F088,U+F08A,U+F094,U+F096-F097,U+F09D,U+F0A0,U+F0A2,U+F0A4-F0A7,U+F0C5,U+F0C7,U+F0E5-F0E6,U+F0EB,U+F0F6-F0F8,U+F10C,U+F114-F115,U+F118-F11A,U+F11C-F11D,U+F133,U+F147,U+F14E,U+F150-F152,U+F185-F186,U+F18E,U+F190-F192,U+F196,U+F1C1-F1C9,U+F1D9,U+F1DB,U+F1E3,U+F1EA,U+F1F7,U+F1F9,U+F20A,U+F247-F248,U+F24A,U+F24D,U+F255-F25B,U+F25D,U+F271-F274,U+F278,U+F27B,U+F28C,U+F28E,U+F29C,U+F2B5,U+F2B7,U+F2BA,U+F2BC,U+F2BE,U+F2C0-F2C1,U+F2C3,U+F2D0,U+F2D2,U+F2D4,U+F2DC; }
@font-face {
font-family: 'FontAwesome';
font-display: block;
src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype");
unicode-range: U+F041,U+F047,U+F065-F066,U+F07D-F07E,U+F080,U+F08B,U+F08E,U+F090,U+F09A,U+F0AC,U+F0AE,U+F0B2,U+F0D0,U+F0D6,U+F0E4,U+F0EC,U+F10A-F10B,U+F123,U+F13E,U+F148-F149,U+F14C,U+F156,U+F15E,U+F160-F161,U+F163,U+F175-F178,U+F195,U+F1F8,U+F219,U+F27A; }

View File

@@ -0,0 +1,6 @@
/*!
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,22 @@
/*!
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
@font-face {
font-family: 'Font Awesome 5 Brands';
font-display: block;
font-weight: 400;
src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }
@font-face {
font-family: 'Font Awesome 5 Free';
font-display: block;
font-weight: 900;
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
@font-face {
font-family: 'Font Awesome 5 Free';
font-display: block;
font-weight: 400;
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }

View File

@@ -0,0 +1,6 @@
/*!
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More