Files
TrueGrowth/docs/TDESIGN_THEME_INTEGRATION.md

262 lines
6.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TDesign 主题集成 - Opentu 品牌色彩
本文档说明了如何在项目中集成 TDesign 组件库并应用 Opentu 品牌色彩系统。
## 🎨 品牌色彩系统
### 主品牌色 - 橙金色系
```css
--brand-primary: #F39C12 /* 主品牌色 */
--brand-primary-dark: #E67E22 /* 深色变体 */
--brand-primary-darker: #D35400 /* 更深色变体 */
--brand-primary-light: #FEF5E7 /* 浅色变体 */
--brand-primary-light-darker: #FDE68A /* 中等浅色变体 */
```
### 辅助品牌色 - 蓝紫色系
```css
--brand-secondary: #5A4FCF /* 辅助色 */
--brand-secondary-light: #7B68EE /* 浅色变体 */
--brand-secondary-lighter: #9966CC /* 更浅色变体 */
```
### 创作激活色 - 玫红色系
```css
--accent-create: #E91E63 /* 创作激活色 */
--accent-create-light: #F06292 /* 浅色变体 */
```
### 渐变色
```css
--brand-gradient: linear-gradient(135deg, #F39C12 0%, #E67E22 30%, #5A4FCF 70%, #E91E63 100%);
--brush-gradient: linear-gradient(135deg, #5A4FCF 0%, #7B68EE 50%, #E91E63 100%);
```
## 📁 文件结构
```
packages/drawnix/src/styles/
├── index.scss # 主样式入口文件
├── tdesign-theme.scss # TDesign 主题配置
├── theme.scss # 应用主题变量
└── variables.module.scss # SCSS 变量和混入
apps/web/src/
└── styles.scss # 全局样式文件
```
## 🔧 配置说明
### 1. TDesign 主题配置
`tdesign-theme.scss` 中,我们覆盖了 TDesign 的默认 CSS 变量:
```scss
:root {
/* 主品牌色映射到 TDesign 变量 */
--td-brand-color: #F39C12;
--td-brand-color-hover: #E67E22;
--td-brand-color-active: #D35400;
/* 功能色彩 */
--td-success-color: #00B894;
--td-warning-color: #E67E22;
--td-error-color: #E91E63;
}
```
### 2. 组件样式定制
针对特定 TDesign 组件的样式定制:
```scss
.drawnix {
/* 按钮组件 */
.t-button--theme-primary {
background: linear-gradient(135deg, var(--td-brand-color) 0%, var(--td-brand-color-6) 100%);
}
/* 输入框组件 */
.t-input:focus {
border-color: var(--td-brand-color);
box-shadow: 0 0 0 2px rgba(243, 156, 18, 0.2);
}
}
```
### 3. 全局样式配置
`apps/web/src/styles.scss` 中定义了全局品牌样式:
```scss
:root {
--aitu-brand-primary: #F39C12;
--aitu-gradient-primary: linear-gradient(135deg, #F39C12 0%, #E67E22 30%, #5A4FCF 70%, #E91E63 100%);
}
```
## 🎯 使用方法
### 1. 在 React 组件中使用 TDesign
```tsx
import { Button, Dialog } from 'tdesign-react';
function MyComponent() {
return (
<div>
{/* 主要按钮会自动应用品牌色 */}
<Button theme="primary"></Button>
{/* 次要按钮 */}
<Button variant="outline"></Button>
</div>
);
}
```
### 2. 使用品牌色彩 CSS 变量
```scss
.my-custom-component {
background: var(--brand-primary);
color: white;
&:hover {
background: var(--brand-primary-dark);
}
}
```
### 3. 使用渐变色
```scss
.gradient-background {
background: var(--brand-gradient);
}
.gradient-text {
background: var(--brand-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
```
### 4. 使用预定义的品牌样式类
```tsx
function MyComponent() {
return (
<div>
{/* 使用品牌按钮样式 */}
<button className="aitu-button-primary"></button>
<button className="aitu-button-secondary"></button>
{/* 使用渐变背景 */}
<div className="aitu-gradient-bg"></div>
{/* 使用渐变文字 */}
<h1 className="aitu-gradient-text">Opentu</h1>
</div>
);
}
```
## 🔍 支持的 TDesign 组件
以下 TDesign 组件已经配置了品牌色彩:
- ✅ Button按钮
- ✅ Dialog对话框
- ✅ Input输入框
- ✅ Tabs标签页
- ✅ Switch开关
- ✅ Checkbox复选框
- ✅ Radio单选框
- ✅ Select选择器
- ✅ Progress进度条
- ✅ Loading加载中
- ✅ Tag标签
- ✅ Badge徽章
- ✅ Notification通知
- ✅ Message消息
- ✅ Slider滑块
- ✅ DatePicker日期选择器
- ✅ TimePicker时间选择器
- ✅ Upload上传
- ✅ Steps步骤条
- ✅ Anchor锚点
- ✅ BackTop回到顶部
## 🌙 深色模式支持
项目已经配置了基础的深色模式支持:
```scss
@media (prefers-color-scheme: dark) {
:root {
--td-bg-color-page: #1a1a1a;
--td-bg-color-container: #2d2d2d;
--td-text-color-primary: #ffffff;
--td-text-color-secondary: #b3b3b3;
}
}
```
## 📱 响应式设计
品牌色彩系统支持响应式设计,在移动端会自动调整:
```scss
@media (max-width: 768px) {
.drawnix-console {
width: 150px;
height: 150px;
font-size: 10px;
}
}
```
## 🎨 设计原则
1. **一致性**:所有 TDesign 组件都使用统一的品牌色彩
2. **可访问性**:确保色彩对比度符合 WCAG 标准
3. **渐进增强**:支持深色模式和减少动画偏好
4. **性能优化**:使用 CSS 变量实现主题切换
## 🔄 更新主题色
如需更新品牌色彩,只需修改以下文件中的 CSS 变量:
1. `packages/drawnix/src/styles/tdesign-theme.scss` - TDesign 组件主题
2. `packages/drawnix/src/styles/theme.scss` - 应用主题变量
3. `apps/web/src/styles.scss` - 全局样式变量
## 🐛 故障排除
### 问题TDesign 组件没有应用品牌色彩
**解决方案**
1. 确保 `tdesign-theme.scss``tdesign.css` 之后引入
2. 检查 CSS 变量名是否正确
3. 确保组件被 `.drawnix` 类包裹
### 问题:渐变色不显示
**解决方案**
1. 检查浏览器是否支持 CSS 渐变
2. 确保 CSS 变量定义正确
3. 检查是否有其他样式覆盖
### 问题:深色模式不生效
**解决方案**
1. 检查系统是否设置为深色模式
2. 确保媒体查询语法正确
3. 检查 CSS 变量是否被正确覆盖
---
*文档更新时间2025-01-09*
*版本v1.0*