From 8402f1bc2daffc4f3fc4e75ddb4af45be32d4c28 Mon Sep 17 00:00:00 2001 From: lyf <2514544224@qq.com> Date: Fri, 13 Mar 2026 23:24:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A1=B9=E7=9B=AE=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=B9=B6=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新 README 文档,增加项目介绍和说明 - 优化 Vite 配置,支持多页面入口和路径别名 - 移除未使用的 MyProject.vue 组件 - 更新项目依赖包版本 - 添加 Tailwind CSS 相关配置 - 优化编辑器布局和样式 - 添加 UI 组件库支持 - 更新 Logo 和加载动画 - 修复国际化配置 Made-with: Cursor --- Astral3D/README.en.md | 134 +-- Astral3D/README.md | 145 +-- Astral3D/package.json | 55 +- Astral3D/packages/editor/components.d.ts | 13 + Astral3D/packages/editor/index.html | 50 +- Astral3D/packages/editor/package.json | 10 +- Astral3D/packages/editor/postcss.config.js | 6 + .../editor/public/static/images/logo/logo.svg | 39 +- Astral3D/packages/editor/src/App.vue | 145 +-- .../editor/src/assets/css/globals.css | 445 +++++++++ .../src/components/es/EsCubeLoading.vue | 4 +- .../components/es/plugin/EsPluginDialog.vue | 102 +- .../editor/src/components/header/Logo.vue | 37 +- .../src/components/ui/Button/Button.vue | 38 + .../editor/src/components/ui/Card/Card.vue | 16 + .../src/components/ui/Card/CardContent.vue | 15 + .../components/ui/Card/CardDescription.vue | 16 + .../src/components/ui/Card/CardFooter.vue | 15 + .../src/components/ui/Card/CardHeader.vue | 19 + .../src/components/ui/Card/CardTitle.vue | 16 + .../editor/src/components/ui/Card/index.ts | 6 + .../src/components/ui/Dialog/Dialog.vue | 29 + .../src/components/ui/Dialog/DialogClose.vue | 21 + .../ui/Dialog/DialogDescription.vue | 16 + .../src/components/ui/Dialog/DialogHeader.vue | 15 + .../src/components/ui/Dialog/DialogTitle.vue | 16 + .../editor/src/components/ui/Input/Input.vue | 21 + .../editor/src/components/ui/index.ts | 8 + .../editor/src/language/zh-CN-en-US.ts | 2 +- Astral3D/packages/editor/src/lib/utils.ts | 6 + Astral3D/packages/editor/src/main.ts | 81 +- .../editor/src/store/modules/globalConfig.ts | 14 +- .../src/views/editor/layouts/Footer.vue | 10 +- .../views/home/components/SidebarTopInfo.vue | 4 +- .../src/views/home/container/Project.vue | 9 - .../views/home/container/SettingCenter.vue | 5 - .../packages/editor/src/views/home/index.vue | 43 +- .../src/views/home/project/MyProject.vue | 11 - .../src/views/home/project/SharedProject.vue | 289 +++--- Astral3D/packages/editor/tailwind.config.ts | 48 + Astral3D/packages/editor/uno.config.ts | 46 +- Astral3D/packages/editor/vite.config.ts | 406 ++++---- Astral3D/pnpm-lock.yaml | 902 +++++++++++++++--- .../controller/Astral3DScenesController.java | 2 +- docs/css-migration-spec.md | 329 +++++++ docs/digital-atelier-philosophy.md | 26 + docs/ui-migration-todo.md | 92 ++ docs/二开改造方案.md | 333 +++++++ 48 files changed, 3072 insertions(+), 1038 deletions(-) create mode 100644 Astral3D/packages/editor/postcss.config.js create mode 100644 Astral3D/packages/editor/src/assets/css/globals.css create mode 100644 Astral3D/packages/editor/src/components/ui/Button/Button.vue create mode 100644 Astral3D/packages/editor/src/components/ui/Card/Card.vue create mode 100644 Astral3D/packages/editor/src/components/ui/Card/CardContent.vue create mode 100644 Astral3D/packages/editor/src/components/ui/Card/CardDescription.vue create mode 100644 Astral3D/packages/editor/src/components/ui/Card/CardFooter.vue create mode 100644 Astral3D/packages/editor/src/components/ui/Card/CardHeader.vue create mode 100644 Astral3D/packages/editor/src/components/ui/Card/CardTitle.vue create mode 100644 Astral3D/packages/editor/src/components/ui/Card/index.ts create mode 100644 Astral3D/packages/editor/src/components/ui/Dialog/Dialog.vue create mode 100644 Astral3D/packages/editor/src/components/ui/Dialog/DialogClose.vue create mode 100644 Astral3D/packages/editor/src/components/ui/Dialog/DialogDescription.vue create mode 100644 Astral3D/packages/editor/src/components/ui/Dialog/DialogHeader.vue create mode 100644 Astral3D/packages/editor/src/components/ui/Dialog/DialogTitle.vue create mode 100644 Astral3D/packages/editor/src/components/ui/Input/Input.vue create mode 100644 Astral3D/packages/editor/src/components/ui/index.ts create mode 100644 Astral3D/packages/editor/src/lib/utils.ts delete mode 100644 Astral3D/packages/editor/src/views/home/project/MyProject.vue create mode 100644 Astral3D/packages/editor/tailwind.config.ts create mode 100644 docs/css-migration-spec.md create mode 100644 docs/digital-atelier-philosophy.md create mode 100644 docs/ui-migration-todo.md create mode 100644 docs/二开改造方案.md diff --git a/Astral3D/README.en.md b/Astral3D/README.en.md index 7c4a425..1a0505a 100644 --- a/Astral3D/README.en.md +++ b/Astral3D/README.en.md @@ -1,113 +1,65 @@ -# Astral 3D Editor +# NeonVision 3D Editor -🌍 [简体中文](README.md) | English +[简体中文](README.md) | English +## Core Features -Link: -[![Online Demo](https://img.shields.io/badge/Github-mlt131220/Astral3D-8732D7?style=for-the-badge&logo=github&logoColor=white)](https://github.com/mlt131220/Astral3D) -[![Online Demo](https://img.shields.io/badge/Gitee码云-mlt131220/Astral3D-8732D7?style=for-the-badge&logo=gitee&logoColor=white)](https://gitee.com/mlt131220/Astral3D) -[![Online Demo](https://img.shields.io/badge/Online_Demo-Astral_3D_Editor-8732D7?style=for-the-badge&logo=google-chrome&logoColor=white)](https://editor.astraljs.com) +- Multi-format support: 30+ model formats (GLTF/OBJ/FBX/GLB/RVT/IFC, etc.) +- BIM Model Lightweight Display (RVT/IFC) +- CAD Drawing Analysis (DWG/DXF) +- Scene Subpackage Storage and Loading +- Animation Editor -> Modern Web 3D editor based on Vue3 + Three.js +## Extended Capabilities -
- Editor City Preview - Editor Preview -
+- Plugin System +- Script Runtime +- Particle System +- Weather System +- Cloud Storage Integration +- Resource Center -## 💬 Join the community +## Technology Stack -Get the latest news and technical support in the following ways: +- Vue 3.5+ +- Three.js r176+ +- Cesium 1.107+ +- Naive UI 2.43+ +- UnoCSS 0.46+ -| ![QQ Group](https://img.shields.io/badge/QQ_Group-1040320579-07C160?logo=wechat&logoColor=white) | ![Contact Author](https://img.shields.io/badge/Contact_Author-WeChat(Business)-07C160?logo=wechat&logoColor=white) | -|---------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| | | +## Quick Start +### Prerequisites +- Node.js ≥ 20.x +- PNPM -## 🚀 Core competence +### Local Development -### Core function -- ✅ Multi-format support: 30+ model format (GLTF/OBJ/FBX/GLB/RVT/IFC, etc.) -- ✅ BIM Model Lightweight Demonstration (RVT/IFC) -- ✅ CAD drawing analysis (DWG/DXF) -- ✅ Scenario subcontract storage and loading -- ✅ Animation editor - -### Expansion capability -- 🧩 plug-in system -- 📜 When the script is running -- 💫 Particle system -- ❄️ Weather system -- ☁️ Cloud Storage Integration (USS again) -- 🎠 Resource center - -### Coming soon -- 🚧 Physical engine support -- 🚧 WebGPU support -- 🚧 Data components (API/WebSocket) -- 🚧 low code data large screen -- 🚧 WebSocket Multi-party collaboration - -## 🛠️ Technology stack - -![Vue3](https://img.shields.io/badge/Vue-3.5.22-4FC08D?logo=vuedotjs) -![Three.js](https://img.shields.io/badge/Three.js-r176-000000?logo=threedotjs) -![Cesium](https://img.shields.io/badge/Cesium-1.107.0-0133B4?logo=cesium) -![NaiveUI](https://img.shields.io/badge/Naive_UI-2.43.1-66C060?logo=vue.js) -![UnoCSS](https://img.shields.io/badge/UnoCSS-0.46.5-333333?logo=unocss) - -## ⚡ Quick start - -### pre-demand -- Node.js ≥ 23.11.x -- Yarn - -### Local run ```bash - git clone https://github.com/mlt131220/Astral3D.git +# Clone the project +git clone - cd Astral3D - pnpm install - pnpm run sdk:build - pnpm run editor:dev +# Install dependencies +pnpm install + +# Build SDK +pnpm run sdk:build + +# Start dev server +pnpm run editor:dev ``` -### Production construction +### Production Build + ```bash - pnpm run editor:build +pnpm run editor:build ``` -## 📚 Ecological correlation +## License -### Back-end implementation -[![Java Backend](https://img.shields.io/badge/Back_end_implementation-AstralService-00ADD8)](https://github.com/yx8663/astral-service) +Open source under Apache 2.0 License. -### Document center -[![Documentation](https://img.shields.io/badge/Document_center-Astral_Docs-8732D7?logo=gitbook)](http://editor-doc.astraljs.com/) +--- -## ☕ Support project - -If this project is helpful to you, please feel free to: - -1. In case wall [user] (https://github.com/mlt131220/Astral3D/issues/2) leave your usage scenario -2. Scan code support developers: - -| AliPay | WeChat | -|---------------------------------------------------------------------------|------------------------------------------------------------------------------| -| | | - -## ⚖️ License agreement - -This project adopts the [![Apache License] (https://img.shields.io/badge/License-Apache_2.0-blue.svg)] (License) open source licenses, please comply with the terms of the agreement and the following supplementary conditions: - -- ✅ allows: individual learning/secondary development -- ⚠️ A copyright notice is required -- ⚠️ commercial use requires authorization -- ❌ Prohibited: using this project for business or illegal purposes that are competitive with **hangzhou xingluan digital technology** - -**[Full legal notice](LEGAL.md)** | **[Contribution guide](CONTRIBUTING.md)** - -## 🌟 Star trend - -[![Star History Chart](https://api.star-history.com/svg?repos=mlt131220/Astral3D&type=Date)](https://star-history.com/#mlt131220/Astral3D&Date) \ No newline at end of file +*More content to be added* diff --git a/Astral3D/README.md b/Astral3D/README.md index 3835ef7..10ee14b 100644 --- a/Astral3D/README.md +++ b/Astral3D/README.md @@ -1,126 +1,65 @@ -# Astral 3D Editor +# NeonVision 3D Editor -🌍 简体中文 | [English](README.en.md) +简体中文 | [English](README.en.md) -直达: -[![Online Demo](https://img.shields.io/badge/Github-mlt131220/Astral3D-8732D7?style=for-the-badge&logo=github&logoColor=white)](https://github.com/mlt131220/Astral3D) -[![Online Demo](https://img.shields.io/badge/Gitee码云-mlt131220/Astral3D-8732D7?style=for-the-badge&logo=gitee&logoColor=white)](https://gitee.com/mlt131220/Astral3D) -[![Online Demo](https://img.shields.io/badge/Online_Demo-Astral_3D_Editor-8732D7?style=for-the-badge&logo=google-chrome&logoColor=white)](https://editor.astraljs.com) +## 核心功能 -> 基于 Vue3 + Three.js 的现代 Web 3D 编辑器 +- 多格式支持:30+ 模型格式(GLTF/OBJ/FBX/GLB/RVT/IFC等) +- BIM模型轻量化展示(RVT/IFC) +- CAD图纸解析(DWG/DXF) +- 场景分包存储与加载 +- 动画编辑器 -
- Editor City Preview - Editor Preview -
+## 扩展能力 -## 💬 加入社区 +- 插件系统 +- 脚本运行时 +- 粒子系统 +- 天气系统 +- 云存储集成 +- 资源中心 -通过以下方式获取最新动态和技术支持: +## 技术栈 -| ![QQ Group](https://img.shields.io/badge/QQ交流群-1040320579-07C160?logo=wechat&logoColor=white) | ![Contact Author](https://img.shields.io/badge/联系作者-个人微信(仅商务)-07C160?logo=wechat&logoColor=white) -|---------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| | +- Vue 3.5+ +- Three.js r176+ +- Cesium 1.107+ +- Naive UI 2.43+ +- UnoCSS 0.46+ - - - -## 🚀 核心能力 - -### 核心功能 -- ✅ 多格式支持:[30+ 模型格式(GLTF/OBJ/FBX/GLB/RVT/IFC等)](http://editor-doc.astraljs.com/guide/f7smai4w/#%E5%9F%BA%E7%A1%80%E6%93%8D%E4%BD%9C%E5%8C%BA) -- ✅ BIM模型轻量化展示(RVT/IFC) -- ✅ CAD图纸解析(DWG/DXF) -- ✅ 场景分包存储与加载 -- ✅ 动画编辑器 - -### 扩展能力 -- 🧩 插件系统 -- 📜 脚本运行时 -- 💫 粒子系统 -- ❄️ 天气系统 -- ☁️ 云存储集成(又拍云 USS) -- 🎠 资源中心 - -### 即将到来 -- 🚧 物理引擎支持 -- 🚧 WebGPU 支持 -- 🚧 数据组件(API/WebSocket) -- 🚧 低代码数据大屏 -- 🚧 WebSocket 多人协作 - -## 🛠️ 技术栈 - -![Vue3](https://img.shields.io/badge/Vue-3.5.22-4FC08D?logo=vuedotjs) -![Three.js](https://img.shields.io/badge/Three.js-r176-000000?logo=threedotjs) -![Cesium](https://img.shields.io/badge/Cesium-1.107.0-0133B4?logo=cesium) -![NaiveUI](https://img.shields.io/badge/Naive_UI-2.43.1-66C060?logo=vue.js) -![UnoCSS](https://img.shields.io/badge/UnoCSS-0.46.5-333333?logo=unocss) - -## ⚡ 快速开始 +## 快速开始 ### 前置需求 -- Node.js ≥ 23.11.x -- PNPM -``` -# 进入项目时 -nvm use 23.11.0 -# 或者如果 .nvmrc 已存在,直接: -nvm use -# 如果还是不行,手动修复 PATH 顺序: -$env:PATH = "E:\nvm4w\nodejs;$env:PATH" -nvm version # 应显示 1.1.12 -nvm install 23.11.0 -nvm use 23.11.0 -node --version -``` +- Node.js ≥ 20.x +- PNPM ### 本地运行 -```bash - git clone https://github.com/mlt131220/Astral3D.git - cd Astral3D - pnpm install - pnpm run sdk:build - pnpm run editor:dev +```bash +# 克隆项目 +git clone + +# 安装依赖 +pnpm install + +# 构建 SDK +pnpm run sdk:build + +# 启动开发服务器 +pnpm run editor:dev ``` ### 生产构建 + ```bash - pnpm run editor:build +pnpm run editor:build ``` -## 📚 生态相关 +## 许可协议 -### 后端实现 -[![Java Backend](https://img.shields.io/badge/后端实现-AstralService-00ADD8)](https://github.com/yx8663/astral-service) +基于 Apache 2.0 许可证开源。 -### 文档中心 -[![Documentation](https://img.shields.io/badge/文档中心-Astral_Docs-8732D7?logo=gitbook)](http://editor-doc.astraljs.com/) +--- -## ☕ 支持项目 - -如果本项目对您有帮助,欢迎: - -1. 在 [用户案例墙](https://github.com/mlt131220/Astral3D/issues/2) 留下您的使用场景 -2. 扫码支持开发者: - -| 支付宝 | 微信 | -|---------------------------------------------------------------------------|------------------------------------------------------------------------------| -| | | - -## ⚖️ 许可协议 - -本项目采用 [![Apache License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE) 开源协议,使用时请遵守协议条款及以下补充条款: - -- ✅ 允许:个人学习/二次开发 -- ⚠️ 需要版权声明 -- ⚠️ 商业用途需要授权 -- ❌ 禁止:将本项目用于与**杭州星孪数字科技**有竞争性的业务或非法用途 - -**[完整法律声明](LEGAL.md)** | **[贡献指南](CONTRIBUTING.md)** - -## 🌟 Star 趋势 - -[![Star History Chart](https://api.star-history.com/svg?repos=mlt131220/Astral3D&type=Date)](https://star-history.com/#mlt131220/Astral3D&Date) \ No newline at end of file +*更多内容待补充* diff --git a/Astral3D/package.json b/Astral3D/package.json index ffccaa9..cfd2b83 100644 --- a/Astral3D/package.json +++ b/Astral3D/package.json @@ -1,28 +1,29 @@ -{ - "name": "astral3d", - "version": "1.0.0", - "description": "Astral3D Engine", - "author": "ErSan ", - "scripts": { - "docs:dev": "pnpm run -C packages/docs docs:dev", - "docs:dev-clean": "pnpm run -C packages/docs docs:dev-clean", - "docs:build": "pnpm run -C packages/docs docs:build", - "docs:preview": "pnpm run -C packages/docs docs:preview", - "editor:dev": "pnpm run -C packages/editor dev", - "editor:build": "pnpm run sdk:build && pnpm run -C packages/editor build", - "editor:tsc": "pnpm run -C packages/editor tsc", - "editor:preview": "pnpm run -C packages/editor preview", - "sdk:dev": "pnpm run -C packages/sdk dev", - "sdk:build": "pnpm run -C packages/sdk build", - "examples:dev": "pnpm run -C packages/examples dev", - "examples:build": "pnpm run -C packages/examples build" - }, - "engines": { - "node": ">=23.0.0" - }, - "keywords": [], - "devDependencies": { - "prettier": "^3.7.4" - }, - "packageManager": "pnpm@10.8.1" +{ + "name": "astral3d", + "version": "1.0.0", + "description": "Astral3D Engine", + "author": "ErSan ", + "scripts": { + "docs:dev": "pnpm run -C packages/docs docs:dev", + "docs:dev-clean": "pnpm run -C packages/docs docs:dev-clean", + "docs:build": "pnpm run -C packages/docs docs:build", + "docs:preview": "pnpm run -C packages/docs docs:preview", + "editor:dev": "pnpm run -C packages/editor dev", + "editor:build": "pnpm run sdk:build && pnpm run -C packages/editor build", + "editor:tsc": "pnpm run -C packages/editor tsc", + "editor:preview": "pnpm run -C packages/editor preview", + "sdk:dev": "pnpm run -C packages/sdk dev", + "sdk:build": "pnpm run -C packages/sdk build", + "examples:dev": "pnpm run -C packages/examples dev", + "examples:build": "pnpm run -C packages/examples build" + }, + "engines": { + "node": ">=23.0.0" + }, + "keywords": [], + "devDependencies": { + "@tailwindcss/postcss": "^4.2.1", + "prettier": "^3.7.4" + }, + "packageManager": "pnpm@10.8.1" } \ No newline at end of file diff --git a/Astral3D/packages/editor/components.d.ts b/Astral3D/packages/editor/components.d.ts index 4008a8e..cc216f9 100644 --- a/Astral3D/packages/editor/components.d.ts +++ b/Astral3D/packages/editor/components.d.ts @@ -8,8 +8,15 @@ export {} declare module 'vue' { export interface GlobalComponents { AssetPreview: typeof import('./src/components/preview/AssetPreview.vue')['default'] + Button: typeof import('./src/components/ui/Button/Button.vue')['default'] CAD: typeof import('./src/components/drawing/toolbar/CAD.vue')['default'] CadLayers: typeof import('./src/components/drawing/toolbar/CadLayers.vue')['default'] + Card: typeof import('./src/components/ui/Card/Card.vue')['default'] + CardContent: typeof import('./src/components/ui/Card/CardContent.vue')['default'] + CardDescription: typeof import('./src/components/ui/Card/CardDescription.vue')['default'] + CardFooter: typeof import('./src/components/ui/Card/CardFooter.vue')['default'] + CardHeader: typeof import('./src/components/ui/Card/CardHeader.vue')['default'] + CardTitle: typeof import('./src/components/ui/Card/CardTitle.vue')['default'] CesiumConfig: typeof import('./src/components/project/CesiumConfig.vue')['default'] Clear: typeof import('./src/components/header/navigation/Clear.vue')['default'] CodeEditor: typeof import('./src/components/code/CodeEditor.vue')['default'] @@ -18,6 +25,11 @@ declare module 'vue' { CommonPreview_backup: typeof import('./src/components/preview/CommonPreview_backup.vue')['default'] Copy: typeof import('./src/components/header/navigation/Copy.vue')['default'] Delete: typeof import('./src/components/header/navigation/Delete.vue')['default'] + Dialog: typeof import('./src/components/ui/Dialog/Dialog.vue')['default'] + DialogClose: typeof import('./src/components/ui/Dialog/DialogClose.vue')['default'] + DialogDescription: typeof import('./src/components/ui/Dialog/DialogDescription.vue')['default'] + DialogHeader: typeof import('./src/components/ui/Dialog/DialogHeader.vue')['default'] + DialogTitle: typeof import('./src/components/ui/Dialog/DialogTitle.vue')['default'] Do: typeof import('./src/components/header/navigation/Do.vue')['default'] Drawing: typeof import('./src/components/drawing/Drawing.vue')['default'] EarthGenerator: typeof import('./src/components/es/plugin/builtin/EarthGenerator.vue')['default'] @@ -41,6 +53,7 @@ declare module 'vue' { HtmlPanelCode: typeof import('./src/components/code/HtmlPanelCode.vue')['default'] Image: typeof import('./src/components/drawing/toolbar/Image.vue')['default'] ImportExport: typeof import('./src/components/header/navigation/ImportExport.vue')['default'] + Input: typeof import('./src/components/ui/Input/Input.vue')['default'] JSONEditor: typeof import('./src/components/code/JSONEditor.vue')['default'] Locale: typeof import('./src/components/setting/common/Locale.vue')['default'] Logo: typeof import('./src/components/header/Logo.vue')['default'] diff --git a/Astral3D/packages/editor/index.html b/Astral3D/packages/editor/index.html index 73bc11f..c13bf35 100644 --- a/Astral3D/packages/editor/index.html +++ b/Astral3D/packages/editor/index.html @@ -1,29 +1,21 @@ - - - - - - - - - - - - - - - - - - - - - Astral 3D Editor - 高效的三维可视化编辑工具 - - - -
- - - - + + + + + + + + + + + + + 美术馆数字驾驶舱 - 新一代数字孪生编辑器 + + + +
+ + + + diff --git a/Astral3D/packages/editor/package.json b/Astral3D/packages/editor/package.json index a51d641..be3ce18 100644 --- a/Astral3D/packages/editor/package.json +++ b/Astral3D/packages/editor/package.json @@ -24,12 +24,17 @@ "animate.css": "^4.1.1", "axios": "^1.8.2", "cesium": "^1.126.0", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", "disable-devtool": "^0.3.8", "keyframe-resample": "^0.1.0", + "lucide-vue-next": "^0.577.0", "meshoptimizer": "^0.23.0", "monaco-editor": "^0.52.2", "naive-ui": "catalog:", "pinia": "^2.1.4", + "radix-vue": "^1.9.17", + "tailwind-merge": "^3.5.0", "three": "catalog:", "vite-plugin-static-copy": "catalog:", "vue": "catalog:", @@ -40,9 +45,12 @@ "@astral3d/build-vite-plugins": "workspace:^", "@types/cesium": "^1.70.4", "@types/three": "catalog:", - "@vitejs/plugin-vue":"catalog:", + "@vitejs/plugin-vue": "catalog:", + "autoprefixer": "^10.4.27", "dotenv": "^16.3.1", "less": "^4.3.0", + "postcss": "^8.5.8", + "tailwindcss": "^4.2.1", "typescript": "catalog:", "unocss": "^66.1.0-beta.12", "unplugin-vue-components": "^0.27.3", diff --git a/Astral3D/packages/editor/postcss.config.js b/Astral3D/packages/editor/postcss.config.js new file mode 100644 index 0000000..1c87846 --- /dev/null +++ b/Astral3D/packages/editor/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + '@tailwindcss/postcss': {}, + autoprefixer: {}, + }, +} diff --git a/Astral3D/packages/editor/public/static/images/logo/logo.svg b/Astral3D/packages/editor/public/static/images/logo/logo.svg index c21b41d..3e2d21e 100644 --- a/Astral3D/packages/editor/public/static/images/logo/logo.svg +++ b/Astral3D/packages/editor/public/static/images/logo/logo.svg @@ -1,10 +1,31 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Astral3D/packages/editor/src/App.vue b/Astral3D/packages/editor/src/App.vue index c8e8aa3..4da833f 100644 --- a/Astral3D/packages/editor/src/App.vue +++ b/Astral3D/packages/editor/src/App.vue @@ -1,65 +1,80 @@ - - - - - + + + + + diff --git a/Astral3D/packages/editor/src/assets/css/globals.css b/Astral3D/packages/editor/src/assets/css/globals.css new file mode 100644 index 0000000..0559103 --- /dev/null +++ b/Astral3D/packages/editor/src/assets/css/globals.css @@ -0,0 +1,445 @@ +/* ======================================== + 美术馆数字驾驶舱 - Professional Light Theme + Style: Minimalist, Animated, Light + ======================================== */ + +/* 基础颜色变量 */ +:root { + /* 主色调 - 天空蓝 Sky Blue */ + --color-primary: #0EA5E9; + --color-primary-hover: #0284C7; + --color-primary-pressed: #0369A1; + --color-primary-light: #E0F2FE; + + /* 浅色系背景 */ + --color-bg-primary: #FFFFFF; + --color-bg-secondary: #F8FAFC; + --color-bg-tertiary: #F1F5F9; + --color-bg-elevated: #FFFFFF; + + /* 文字颜色 */ + --color-text-primary: #0F172A; + --color-text-secondary: #475569; + --color-text-tertiary: #94A3B8; + --color-text-inverse: #FFFFFF; + + /* 边框与分割线 */ + --color-border: #E2E8F0; + --color-border-hover: #CBD5E1; + --color-divider: #F1F5F9; + + /* 功能色 */ + --color-success: #10B981; + --color-warning: #F59E0B; + --color-error: #EF4444; + --color-info: #3B82F6; + + /* 阴影 - 现代柔和阴影 */ + --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.07); + --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.08), 0 4px 6px -4px rgb(0 0 0 / 0.05); + --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.05); + + /* 圆角 - 现代大圆角 */ + --radius-sm: 0.375rem; + --radius-md: 0.5rem; + --radius-lg: 0.75rem; + --radius-xl: 1rem; + --radius-full: 9999px; + + /* 过渡动画 */ + --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1); + --transition-normal: 200ms cubic-bezier(0.4, 0, 0.2, 1); + --transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1); + + /* 间距 */ + --spacing-xs: 0.25rem; + --spacing-sm: 0.5rem; + --spacing-md: 1rem; + --spacing-lg: 1.5rem; + --spacing-xl: 2rem; + + /* Z-index 层 */ + --z-dropdown: 100; + --z-sticky: 200; + --z-modal: 300; + --z-popover: 400; + --z-tooltip: 500; +} + +/* 暗色主题 */ +.dark { + --color-bg-primary: #0F172A; + --color-bg-secondary: #1E293B; + --color-bg-tertiary: #334155; + --color-bg-elevated: #1E293B; + + --color-text-primary: #F8FAFC; + --color-text-secondary: #CBD5E1; + --color-text-tertiary: #64748B; + --color-text-inverse: #0F172A; + + --color-border: #334155; + --color-border-hover: #475569; + --color-divider: #1E293B; + + --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.3); + --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.3), 0 2px 4px -2px rgb(0 0 0 / 0.2); + --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.2); + --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.4), 0 8px 10px -6px rgb(0 0 0 / 0.2); +} + +/* ======================================== + 全局样式重置与现代样式 + ======================================== */ + +* { + box-sizing: border-box; +} + +html, body { + margin: 0; + padding: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + background-color: var(--color-bg-primary); + color: var(--color-text-primary); + transition: background-color var(--transition-normal), color var(--transition-normal); +} + +/* 滚动条美化 */ +::-webkit-scrollbar { + width: 6px; + height: 6px; +} + +::-webkit-scrollbar-track { + background: var(--color-bg-secondary); +} + +::-webkit-scrollbar-thumb { + background: var(--color-border); + border-radius: var(--radius-full); +} + +::-webkit-scrollbar-thumb:hover { + background: var(--color-border-hover); +} + +/* ======================================== + 动画关键帧 + ======================================== */ + +/* 淡入动画 */ +@keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1; } +} + +/* 上浮动画 */ +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(10px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +/* 缩放淡入 */ +@keyframes scaleIn { + from { + opacity: 0; + transform: scale(0.95); + } + to { + opacity: 1; + transform: scale(1); + } +} + +/* 滑动动画 */ +@keyframes slideInLeft { + from { + opacity: 0; + transform: translateX(-20px); + } + to { + opacity: 1; + transform: translateX(0); + } +} + +@keyframes slideInRight { + from { + opacity: 0; + transform: translateX(20px); + } + to { + opacity: 1; + transform: translateX(0); + } +} + +/* 脉冲动画 */ +@keyframes pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.5; } +} + +/* 骨架屏动画 */ +@keyframes shimmer { + 0% { background-position: -200% 0; } + 100% { background-position: 200% 0; } +} + +/* ======================================== + 实用动画类 + ======================================== */ + +/* 淡入 */ +.animate-fadeIn { + animation: fadeIn var(--transition-normal) ease-out forwards; +} + +/* 上浮淡入 */ +.animate-fadeInUp { + animation: fadeInUp var(--transition-slow) ease-out forwards; +} + +/* 缩放淡入 */ +.animate-scaleIn { + animation: scaleIn var(--transition-normal) ease-out forwards; +} + +/* 左滑入 */ +.animate-slideInLeft { + animation: slideInLeft var(--transition-slow) ease-out forwards; +} + +/* 右滑入 */ +.animate-slideInRight { + animation: slideInRight var(--transition-slow) ease-out forwards; +} + +/* 脉冲 */ +.animate-pulse { + animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; +} + +/* 骨架屏 */ +.animate-skeleton { + background: linear-gradient( + 90deg, + var(--color-bg-tertiary) 25%, + var(--color-bg-secondary) 50%, + var(--color-bg-tertiary) 75% + ); + background-size: 200% 100%; + animation: shimmer 1.5s infinite; +} + +/* 悬停动画 */ +.hover-lift { + transition: transform var(--transition-fast), box-shadow var(--transition-fast); +} + +.hover-lift:hover { + transform: translateY(-2px); + box-shadow: var(--shadow-lg); +} + +/* 悬停发光效果 */ +.hover-glow { + transition: box-shadow var(--transition-fast), border-color var(--transition-fast); +} + +.hover-glow:hover { + box-shadow: 0 0 20px rgba(14, 165, 233, 0.15); + border-color: var(--color-primary); +} + +/* ======================================== + 按钮样式 + ======================================== */ + +.btn-primary { + background-color: var(--color-primary); + color: var(--color-text-inverse); + border: none; + border-radius: var(--radius-md); + padding: var(--spacing-sm) var(--spacing-md); + font-weight: 500; + cursor: pointer; + transition: all var(--transition-fast); + display: inline-flex; + align-items: center; + justify-content: center; + gap: var(--spacing-xs); +} + +.btn-primary:hover { + background-color: var(--color-primary-hover); + box-shadow: var(--shadow-md); +} + +.btn-primary:active { + background-color: var(--color-primary-pressed); + transform: scale(0.98); +} + +/* 次要按钮 */ +.btn-secondary { + background-color: var(--color-bg-secondary); + color: var(--color-text-primary); + border: 1px solid var(--color-border); + border-radius: var(--radius-md); + padding: var(--spacing-sm) var(--spacing-md); + font-weight: 500; + cursor: pointer; + transition: all var(--transition-fast); +} + +.btn-secondary:hover { + background-color: var(--color-bg-tertiary); + border-color: var(--color-border-hover); +} + +/* 幽灵按钮 */ +.btn-ghost { + background-color: transparent; + color: var(--color-text-secondary); + border: none; + border-radius: var(--radius-md); + padding: var(--spacing-sm) var(--spacing-md); + font-weight: 500; + cursor: pointer; + transition: all var(--transition-fast); +} + +.btn-ghost:hover { + background-color: var(--color-bg-secondary); + color: var(--color-text-primary); +} + +/* ======================================== + 输入框样式 + ======================================== */ + +.input-light { + background-color: var(--color-bg-primary); + border: 1px solid var(--color-border); + border-radius: var(--radius-md); + padding: var(--spacing-sm) var(--spacing-md); + color: var(--color-text-primary); + transition: all var(--transition-fast); + outline: none; + width: 100%; +} + +.input-light::placeholder { + color: var(--color-text-tertiary); +} + +.input-light:focus { + border-color: var(--color-primary); + box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.1); +} + +.input-light:hover:not(:focus) { + border-color: var(--color-border-hover); +} + +/* ======================================== + 卡片样式 + ======================================== */ + +.card { + background-color: var(--color-bg-elevated); + border: 1px solid var(--color-border); + border-radius: var(--radius-lg); + padding: var(--spacing-lg); + box-shadow: var(--shadow-sm); + transition: all var(--transition-normal); +} + +.card-hover { + cursor: pointer; +} + +.card-hover:hover { + box-shadow: var(--shadow-md); + border-color: var(--color-border-hover); + transform: translateY(-1px); +} + +/* 玻璃态卡片 */ +.card-glass { + background-color: rgba(255, 255, 255, 0.8); + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); + border: 1px solid rgba(255, 255, 255, 0.3); + border-radius: var(--radius-xl); +} + +.dark .card-glass { + background-color: rgba(30, 41, 59, 0.8); + border: 1px solid rgba(255, 255, 255, 0.1); +} + +/* ======================================== + 侧边栏样式 + ======================================== */ + +.sidebar { + background-color: var(--color-bg-secondary); + border-right: 1px solid var(--color-border); +} + +.dark .sidebar { + background-color: var(--color-bg-secondary); + border-color: var(--color-border); +} + +/* ======================================== + 工具类 + ======================================== */ + +.text-primary { color: var(--color-text-primary); } +.text-secondary { color: var(--color-text-secondary); } +.text-tertiary { color: var(--color-text-tertiary); } +.text-accent { color: var(--color-primary); } + +.bg-primary { background-color: var(--color-bg-primary); } +.bg-secondary { background-color: var(--color-bg-secondary); } +.bg-tertiary { background-color: var(--color-bg-tertiary); } + +.border-default { border-color: var(--color-border); } + +/* 焦点样式 */ +.focus-ring:focus { + outline: none; + box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.2); +} + +/* 点击反馈 */ +.active-scale:active { + transform: scale(0.98); +} + +/* ======================================== + 减少动画 (无障碍) + ======================================== */ + +@media (prefers-reduced-motion: reduce) { + *, + *::before, + *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + } +} diff --git a/Astral3D/packages/editor/src/components/es/EsCubeLoading.vue b/Astral3D/packages/editor/src/components/es/EsCubeLoading.vue index 4f0cc54..446ec3c 100644 --- a/Astral3D/packages/editor/src/components/es/EsCubeLoading.vue +++ b/Astral3D/packages/editor/src/components/es/EsCubeLoading.vue @@ -7,7 +7,7 @@ withDefaults(defineProps<{
+
@@ -43,7 +43,7 @@ withDefaults(defineProps<{ left: 0; width: 100%; height: 100%; - background-color: #1D82B8; + background-color: #0EA5E9; -webkit-animation: es-foldCubeAngle 2.4s infinite linear both; animation: es-foldCubeAngle 2.4s infinite linear both; -webkit-transform-origin: 100% 100%; diff --git a/Astral3D/packages/editor/src/components/es/plugin/EsPluginDialog.vue b/Astral3D/packages/editor/src/components/es/plugin/EsPluginDialog.vue index ece696d..2b0d071 100644 --- a/Astral3D/packages/editor/src/components/es/plugin/EsPluginDialog.vue +++ b/Astral3D/packages/editor/src/components/es/plugin/EsPluginDialog.vue @@ -1,52 +1,52 @@ - - - - - \ No newline at end of file diff --git a/Astral3D/packages/editor/src/components/header/Logo.vue b/Astral3D/packages/editor/src/components/header/Logo.vue index 227ce56..362868b 100644 --- a/Astral3D/packages/editor/src/components/header/Logo.vue +++ b/Astral3D/packages/editor/src/components/header/Logo.vue @@ -1,13 +1,34 @@ diff --git a/Astral3D/packages/editor/src/components/ui/Button/Button.vue b/Astral3D/packages/editor/src/components/ui/Button/Button.vue new file mode 100644 index 0000000..1fef934 --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/Button/Button.vue @@ -0,0 +1,38 @@ + + + diff --git a/Astral3D/packages/editor/src/components/ui/Card/Card.vue b/Astral3D/packages/editor/src/components/ui/Card/Card.vue new file mode 100644 index 0000000..f209778 --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/Card/Card.vue @@ -0,0 +1,16 @@ + + + diff --git a/Astral3D/packages/editor/src/components/ui/Card/CardContent.vue b/Astral3D/packages/editor/src/components/ui/Card/CardContent.vue new file mode 100644 index 0000000..c7dc489 --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/Card/CardContent.vue @@ -0,0 +1,15 @@ + + + diff --git a/Astral3D/packages/editor/src/components/ui/Card/CardDescription.vue b/Astral3D/packages/editor/src/components/ui/Card/CardDescription.vue new file mode 100644 index 0000000..ae1713f --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/Card/CardDescription.vue @@ -0,0 +1,16 @@ + + + diff --git a/Astral3D/packages/editor/src/components/ui/Card/CardFooter.vue b/Astral3D/packages/editor/src/components/ui/Card/CardFooter.vue new file mode 100644 index 0000000..07e4edf --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/Card/CardFooter.vue @@ -0,0 +1,15 @@ + + + diff --git a/Astral3D/packages/editor/src/components/ui/Card/CardHeader.vue b/Astral3D/packages/editor/src/components/ui/Card/CardHeader.vue new file mode 100644 index 0000000..f7ae6eb --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/Card/CardHeader.vue @@ -0,0 +1,19 @@ + + + diff --git a/Astral3D/packages/editor/src/components/ui/Card/CardTitle.vue b/Astral3D/packages/editor/src/components/ui/Card/CardTitle.vue new file mode 100644 index 0000000..209af7d --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/Card/CardTitle.vue @@ -0,0 +1,16 @@ + + + diff --git a/Astral3D/packages/editor/src/components/ui/Card/index.ts b/Astral3D/packages/editor/src/components/ui/Card/index.ts new file mode 100644 index 0000000..da47938 --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/Card/index.ts @@ -0,0 +1,6 @@ +export { default as Card } from './Card.vue' +export { default as CardHeader } from './CardHeader.vue' +export { default as CardDescription } from './CardDescription.vue' +export { default as CardTitle } from './CardTitle.vue' +export { default as CardContent } from './CardContent.vue' +export { default as CardFooter } from './CardFooter.vue' diff --git a/Astral3D/packages/editor/src/components/ui/Dialog/Dialog.vue b/Astral3D/packages/editor/src/components/ui/Dialog/Dialog.vue new file mode 100644 index 0000000..f1f3b9e --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/Dialog/Dialog.vue @@ -0,0 +1,29 @@ + + + diff --git a/Astral3D/packages/editor/src/components/ui/Dialog/DialogClose.vue b/Astral3D/packages/editor/src/components/ui/Dialog/DialogClose.vue new file mode 100644 index 0000000..d1e71b5 --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/Dialog/DialogClose.vue @@ -0,0 +1,21 @@ + + + diff --git a/Astral3D/packages/editor/src/components/ui/Dialog/DialogDescription.vue b/Astral3D/packages/editor/src/components/ui/Dialog/DialogDescription.vue new file mode 100644 index 0000000..39ead31 --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/Dialog/DialogDescription.vue @@ -0,0 +1,16 @@ + + + diff --git a/Astral3D/packages/editor/src/components/ui/Dialog/DialogHeader.vue b/Astral3D/packages/editor/src/components/ui/Dialog/DialogHeader.vue new file mode 100644 index 0000000..41331db --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/Dialog/DialogHeader.vue @@ -0,0 +1,15 @@ + + + diff --git a/Astral3D/packages/editor/src/components/ui/Dialog/DialogTitle.vue b/Astral3D/packages/editor/src/components/ui/Dialog/DialogTitle.vue new file mode 100644 index 0000000..7067b79 --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/Dialog/DialogTitle.vue @@ -0,0 +1,16 @@ + + + diff --git a/Astral3D/packages/editor/src/components/ui/Input/Input.vue b/Astral3D/packages/editor/src/components/ui/Input/Input.vue new file mode 100644 index 0000000..f0782fc --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/Input/Input.vue @@ -0,0 +1,21 @@ + + + diff --git a/Astral3D/packages/editor/src/components/ui/index.ts b/Astral3D/packages/editor/src/components/ui/index.ts new file mode 100644 index 0000000..ddcf319 --- /dev/null +++ b/Astral3D/packages/editor/src/components/ui/index.ts @@ -0,0 +1,8 @@ +export { Button } from './Button/Button.vue' +export { Input } from './Input/Input.vue' +export { Card } from './Card/Card.vue' +export { CardHeader } from './Card/CardHeader.vue' +export { CardDescription } from './Card/CardDescription.vue' +export { CardTitle } from './Card/CardTitle.vue' +export { CardContent } from './Card/CardContent.vue' +export { CardFooter } from './Card/CardFooter.vue' diff --git a/Astral3D/packages/editor/src/language/zh-CN-en-US.ts b/Astral3D/packages/editor/src/language/zh-CN-en-US.ts index baeff4a..82b317c 100644 --- a/Astral3D/packages/editor/src/language/zh-CN-en-US.ts +++ b/Astral3D/packages/editor/src/language/zh-CN-en-US.ts @@ -16,7 +16,7 @@ export default { 'No more': "没有更多了", /* 项目 */ 'My Project': "我的项目", - 'Shared Project': "共享项目", + 'Shared Project': "项目", 'New project': "新建项目", "Template": "模板", 'Empty project': "空项目", diff --git a/Astral3D/packages/editor/src/lib/utils.ts b/Astral3D/packages/editor/src/lib/utils.ts new file mode 100644 index 0000000..fed2fe9 --- /dev/null +++ b/Astral3D/packages/editor/src/lib/utils.ts @@ -0,0 +1,6 @@ +import { clsx, type ClassValue } from 'clsx' +import { twMerge } from 'tailwind-merge' + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)) +} diff --git a/Astral3D/packages/editor/src/main.ts b/Astral3D/packages/editor/src/main.ts index 61e50f0..a36a30d 100644 --- a/Astral3D/packages/editor/src/main.ts +++ b/Astral3D/packages/editor/src/main.ts @@ -1,40 +1,41 @@ -import '@/utils/common/init'; - -import { createApp } from 'vue'; -import App from './App.vue'; -import { setupStore } from '@/store'; - -import 'virtual:uno.css'; -import "animate.css/animate.min.css"; -import '@/assets/less/index.less'; - -import {setupI18n} from '@/language'; -import {setupRouter} from "@/router"; - -import DisableDevtool from 'disable-devtool'; - -async function main() { - const app = createApp(App); - - setupRouter(app); - - // 配置存储 - setupStore(app); - - // 多语言配置 - setupI18n(app); - - app.mount('#app'); - - if (import.meta.env.PROD){ - DisableDevtool({ - clearLog:true - }); - } -} - -main(); - - - - +import '@/utils/common/init'; + +import { createApp } from 'vue'; +import App from './App.vue'; +import { setupStore } from '@/store'; + +import 'virtual:uno.css'; +import "animate.css/animate.min.css"; +import '@/assets/less/index.less'; +import '@/assets/css/globals.css'; + +import {setupI18n} from '@/language'; +import {setupRouter} from "@/router"; + +import DisableDevtool from 'disable-devtool'; + +async function main() { + const app = createApp(App); + + setupRouter(app); + + // 配置存储 + setupStore(app); + + // 多语言配置 + setupI18n(app); + + app.mount('#app'); + + if (import.meta.env.PROD){ + DisableDevtool({ + clearLog:true + }); + } +} + +main(); + + + + diff --git a/Astral3D/packages/editor/src/store/modules/globalConfig.ts b/Astral3D/packages/editor/src/store/modules/globalConfig.ts index abc3ea0..4a5aa46 100644 --- a/Astral3D/packages/editor/src/store/modules/globalConfig.ts +++ b/Astral3D/packages/editor/src/store/modules/globalConfig.ts @@ -51,13 +51,13 @@ export const useGlobalConfigStore = defineStore('global-config', () => { /* 主色 */ const mainColor = useStorage("astral-main-color", { "CMYK": [56, 0, 19, 11], - "RGB": [99, 226, 183], - "hex": "#63E2B7", - "hexHover": "#7FE7C4", - "hexPressed": "#5ACEA7", - "hexSuppl": "#2A947D", - "name": "\u9e23\u7fe0\u67f3", - "pinyin": "mingcuiliu" + "RGB": [14, 165, 233], + "hex": "#0EA5E9", + "hexHover": "#38BDF8", + "hexPressed": "#0284C7", + "hexSuppl": "#0369A1", + "name": "\u5929\u7A7A\u84DD", + "pinyin": "tiankonglan" }); const setPrimaryColor = (color: IConfig.Color) => { const colors = generate(color.hex); diff --git a/Astral3D/packages/editor/src/views/editor/layouts/Footer.vue b/Astral3D/packages/editor/src/views/editor/layouts/Footer.vue index dad7cfc..f3c5057 100644 --- a/Astral3D/packages/editor/src/views/editor/layouts/Footer.vue +++ b/Astral3D/packages/editor/src/views/editor/layouts/Footer.vue @@ -1,17 +1,9 @@ diff --git a/Astral3D/packages/editor/src/views/home/components/SidebarTopInfo.vue b/Astral3D/packages/editor/src/views/home/components/SidebarTopInfo.vue index e3e1173..effe8fd 100644 --- a/Astral3D/packages/editor/src/views/home/components/SidebarTopInfo.vue +++ b/Astral3D/packages/editor/src/views/home/components/SidebarTopInfo.vue @@ -13,8 +13,8 @@ withDefaults(defineProps<{
- - Astral 3D Editor + + 数字驾驶舱
diff --git a/Astral3D/packages/editor/src/views/home/container/Project.vue b/Astral3D/packages/editor/src/views/home/container/Project.vue index e49177b..1542198 100644 --- a/Astral3D/packages/editor/src/views/home/container/Project.vue +++ b/Astral3D/packages/editor/src/views/home/container/Project.vue @@ -1,21 +1,12 @@