123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- import { ConfigProvider, GlobalToken, theme, ThemeConfig } from "antd"
- import { useMemo } from "react"
- /**
- * 全局色使用
- * **/
- const { darkAlgorithm, compactAlgorithm, useToken } = theme
- /** 常用配置字段
- * colorTextBase 基础文字颜色
- * colorBgBase 基础背景色
- * colorPrimary 主题色
- * fontSize 文字大小
- * borderRadius 圆角
- * colorInfo 信息色
- * colorError 错误色
- * colorWarning 警告色
- * colorSuccess 成功色
- * */
- let themeConfig = {
- v: '1.0',
- type: 'light',//dark ||
- acPrimary: 'default',
- "acTextColor": "rgba(74,74,74,1)",
- "acLayout": "rgba(12,37,61,1)",
- "acContainer": "rgba(247,247,247,1)",
- "dfcolorBorder": "rgba(134,140,148,0.5)",
- "dfcolorBorderSecondary": "rgb(228, 228, 228)", //"rgba(152,196,245,0)",
- "dfcolorTextQuaternary": "rgba(0, 0, 0, 0.25)",
- "dfContentBgColor": "rgba(255,255,255,1)",
- "dfcolorLink": "#1677ff",
- "cardColorBorder": "#d5d5d5",
- "cardColorBorderSecondary": "rgba(155,155,155,0.1)",
- "cardColorBgContainer": "rgba(247,247,247,1)",
- "tableColorBgContainer": "rgb(255, 255, 255)",
- "tablePaddingXS": 4,
- "colorBgElevated": "rgba(255,255,255,1)",
- "colorBgMask": "rgba(0,0,0,0.45)",
- "myBgUrl": "",
- "colorInfo": "rgba(22,119,255,1)",
- "colorInfoBg": "rgba(250,173,20,0)",
- "colorInfoBorder": "rgba(255,255,255,0)",
- "colorError": "#ff4d4f",
- "colorErrorBg": "#fff2f0",
- "colorErrorBorder": "#ffccc7",
- "colorSuccess": "#52c41a",
- "colorSuccessBg": "#f6ffed",
- "colorSuccessBorder": "#b7eb8f",
- "colorWarning": "rgba(250,173,20,1)",
- "colorWarningBg": "#fffbe6",
- "colorWarningBorder": "#ffe58f",
- "controlItemBgActive": "rgba(0,21,40,0)",
- "controlItemBgActiveTable": "#e6f4ff",
- "controlItemBgActiveHover": "rgba(186,224,255,1)",
- "colorFillAlter": "rgba(0, 0, 0, 0.02)",
- "colorPrimaryBgHover": "rgba(186,224,255,0.4)",
- "colorMenuText": "rgba(255,255,255,1)",
- // acTextColor: '#000',//基础文字颜色
- // acLayout: 'rgba(247, 247, 247, 0.5)',//路由背景
- // acContainer: 'rgba(247, 247, 247, 0.6)',//输入容器背景
- // dfcolorBorder: 'rgba(175,175,175,1)',//外部边框颜色
- // dfcolorBorderSecondary: '#f0f0f0',//内部边框色
- // dfcolorTextQuaternary: 'rgba(0, 0, 0, 0.25)',//输入提示色
- // dfContentBgColor: 'rgba(247, 247, 247, 0.6)',//背景色
- // dfcolorLink: '#1677ff',//链接色
- // cardColorBorder: '#d5d5d5',//卡片外部边框色
- // cardColorBorderSecondary: '#d5d5d5',//卡片内部边框色
- // cardColorBgContainer: 'rgba(247, 247, 247, 0)',//卡片背景色
- // tableColorBgContainer: 'rgba(247, 247, 247, 0)',//表格背景色
- // tablePaddingXS: 4,//表格内边距
- // colorBgElevated: 'rgba(255,255,255,1)',//弹窗背景色
- // colorBgMask: 'rgba(0, 0, 0, 0.45)',//弹窗遮罩层颜色
- // myBgUrl: 'https://p9.qhimg.com/bdm/2560_1600_0/t01efb6b0204ffcaf78.jpg',//'https://p9.qhimg.com/bdm/2560_1600_0/t01efb6b0204ffcaf78.jpg'
- // colorInfo: '#1677ff',//用于表示操作信息的 Token 序列,如 Alert 、Tag、 Progress
- // colorInfoBg: '#e6f4ff',//信息背景色
- // colorInfoBorder: '#91caff',//信息边框色
- // colorError: '#ff4d4f',//失败背景色
- // colorErrorBg: '#fff2f0',//失败色
- // colorErrorBorder: '#ffccc7',//失败边框色
- // colorSuccess: '#52c41a',//成功色
- // colorSuccessBg: '#f6ffed',//成功背景色
- // colorSuccessBorder: '#b7eb8f',//成功边框色
- // colorWarning: '#faad14',//警戒色
- // colorWarningBg: '#fffbe6',//警戒背景色
- // colorWarningBorder: '#ffe58f',//警戒边框色
- // controlItemBgActive: '#e6f4ff',//menu被选中的背景色
- // controlItemBgActiveTable: '#e6f4ff',//table选中背景色
- // controlItemBgActiveHover: '#bae0ff',//table在被选中时的背景色
- // colorFillAlter: 'rgba(0, 0, 0, 0.02)',//Table控制区hover背景色
- // colorPrimaryBgHover: '#bae0ff',//主题悬浮色,
- // colorMenuText:'#000',//菜单文字颜色
- bgUrl: {
- green: 'https://gw.alipayobjects.com/mdn/rms_08e378/afts/img/A*XpGeRoZKGycAAAAAAAAAAAAAARQnAQ',
- yellow: 'https://gw.alipayobjects.com/mdn/rms_08e378/afts/img/A*1yydQLzw5nYAAAAAAAAAAAAAARQnAQ',
- orange: 'https://gw.alipayobjects.com/mdn/rms_08e378/afts/img/A*VWFOTbEyU9wAAAAAAAAAAAAAARQnAQ',
- red: 'https://gw.alipayobjects.com/mdn/rms_08e378/afts/img/A*w6xcR7MriwEAAAAAAAAAAAAAARQnAQ',
- pink: 'https://gw.alipayobjects.com/mdn/rms_08e378/afts/img/A*DGZXS4YOGp0AAAAAAAAAAAAAARQnAQ',
- purple: 'https://gw.alipayobjects.com/mdn/rms_08e378/afts/img/A*FMluR4vJhaQAAAAAAAAAAAAAARQnAQ',
- },
- colorPrimary: {
- default: '#1677FF',
- green: '#00B96B',
- yellow: '#F2BD27',
- orange: '#F4801A',
- red: '#E0282E',
- pink: '#ED4192',
- purple: '#9E339F'
- },
- fontfamilystyle:false,//字体样式
- default: {
- token: {
- 'colorTextWhite': '#FFFFFF',
- colorPrimary: '#1677FF',
- // colorBgContainer: 'rgba(247, 247, 247, 0.6)',//容器背景
- colorBgContainer: '#FFFFFF',//容器背景
- colorBgLayout: 'rgba(247, 247, 247, 0.5)',//路由背景
- colorTextBase: '#000',//基础文字色
- "wireframe": true,
- "fontSize": 14,
- "colortRansparency": 'rgba(247, 247, 247, 0)',//自定义透明色
- colorBorder: '#d5d5d5',//边框色
- colorBorderSecondary: "#f0f0f0",//内部边框色
- colorTextQuaternary: 'rgba(0, 0, 0, 0.25)',//输入提示色
- colorLink: "#1677ff",//链接色
- },
- components: {
- Table: {
- colorBgContainer: 'rgba(247, 247, 247, 0)',
- paddingXS: 4,
- },
- Aside: {
- borderRadiusSM: 0,
- },
- Layout: {
- borderRadiusSM: 0,
- },
- Menu: {
- borderRadiusSM: 0,
- },
- Card: {
- },
- },
- algorithm: []
- },
- dark: {
- token: {
- 'colorTextWhite': '#FFFFFF',
- colorPrimary: '#00B96B',
- "wireframe": true,
- "borderRadius": 6,
- "fontSize": 12,
- "colortRansparency": 'rgba(247, 247, 247, 0)',//自定义透明色
- lineHeight: 2,
- },
- components: {
- Card: {
- },
- Table: {
- },
- Button: {
- lineHeight: 1.4,
- }
- },
- algorithm: []
- },
- algorithm: [compactAlgorithm]
- }
- /**扩展自定义字段*/
- export interface NewGlobalToken extends GlobalToken {
- /**透明色*/
- colortRansparency?: string,
- colorTextWhite?: string
- }
- type Props = {
- theme: ThemeConfig | undefined,
- children: JSX.Element
- }
- export default function useNewToken() {
- const { token }: { token: NewGlobalToken } = useToken()
- const MyConfigProvider = (props: Props) => useMemo(() => {
- return <ConfigProvider
- theme={props.theme}
- >
- {props.children}
- </ConfigProvider>
- }, [])
- return { token, themeConfig, darkAlgorithm, MyConfigProvider }
- }
|