2021-12-15 22:16:16 +08:00
|
|
|
import { useDesignStore } from '@/store/modules/designStore/designStore'
|
2022-03-26 20:59:20 +08:00
|
|
|
import Color from 'color'
|
|
|
|
|
|
|
|
/**
|
|
|
|
* * hsla 转换
|
|
|
|
* @param color 颜色
|
|
|
|
* @param alpha 默认1
|
|
|
|
* @returns
|
|
|
|
*/
|
|
|
|
export function alpha(color: string, alpha = 1 ) {
|
|
|
|
return Color(color).alpha(alpha).toString()
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* * 颜色透明
|
|
|
|
* rgba(10, 10, 10, 0.8) -> rgba(10, 10, 10, 0.4)
|
|
|
|
* @param color 颜色
|
|
|
|
* @param concentration 0~1 浓度
|
|
|
|
* @returns
|
|
|
|
*/
|
|
|
|
export function fade(color: string, fade: number) {
|
|
|
|
return Color(color).fade(fade).toString()
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* * 颜色变亮
|
|
|
|
* hsl(100, 50%, 10%) -> hsl(100, 50%, 50%)
|
|
|
|
* @param color 颜色
|
|
|
|
* @param concentration 0~1 浓度
|
|
|
|
* @returns
|
|
|
|
*/
|
|
|
|
export function lighten(color: string, concentration: number) {
|
|
|
|
return Color(color).lighten(concentration).toString()
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* * 颜色变暗
|
|
|
|
* hsl(100, 50%, 50%) -> hsl(100, 50%, 25%)
|
|
|
|
* @param color 颜色
|
|
|
|
* @param concentration 0~1 浓度
|
|
|
|
* @returns
|
|
|
|
*/
|
|
|
|
export function darken(color: string, concentration: number) {
|
|
|
|
return Color(color).darken(concentration).toString()
|
|
|
|
}
|
2021-12-15 22:16:16 +08:00
|
|
|
|
2021-12-18 16:36:43 +08:00
|
|
|
/**
|
|
|
|
* * 修改主题色
|
|
|
|
* @param themeName 主题名称
|
2022-03-12 15:25:26 +08:00
|
|
|
* @returns
|
2021-12-18 16:36:43 +08:00
|
|
|
*/
|
2021-12-15 22:16:16 +08:00
|
|
|
export const setHtmlTheme = (themeName?: string) => {
|
|
|
|
const e = window.document.documentElement
|
|
|
|
if (themeName) {
|
2021-12-17 11:55:42 +08:00
|
|
|
e.setAttribute('data-theme', themeName)
|
2021-12-15 22:16:16 +08:00
|
|
|
return
|
|
|
|
}
|
|
|
|
const designStore = useDesignStore()
|
2021-12-17 11:55:42 +08:00
|
|
|
e.setAttribute('data-theme', designStore.themeName)
|
2022-03-26 20:59:20 +08:00
|
|
|
}
|