const varyColor = require('webpack-theme-color-replacer/client/varyColor') // ant design vue 默认主题色 const antPrimaryColor = '#1890ff' // ant design vue 默认dark主题色,若主题色为默认主题色则返回此 dark 主题色系 const antDarkColors = ['#000c17', '#001529', '#002140'] const nightColors = ['#151515', '#1f1f1f', '#1f1f1f'] function getDarkColors(color, theme) { if (theme == 'night') { return nightColors } if (color == antPrimaryColor) { return antDarkColors } const darkColors = [] darkColors.push(varyColor.darken(color, 0.93), varyColor.darken(color, 0.83), varyColor.darken(color, 0.73)) return darkColors } function getBgColors(theme) { return theme == 'light' ? ['#f0f2f5', '#ffffff'] : ['#000000', '#141414'] } function toNum3(color) { if (isHex(color)) { return varyColor.toNum3(color) } let colorStr = '' if (isRgb(color)) { colorStr = color.slice(5, color.length) } else if (isRgba(color)) { colorStr = color.slice(6, color.lastIndexOf(',')) } let rgb = colorStr.split(',') const r = parseInt(rgb[0]) const g = parseInt(rgb[1]) const b = parseInt(rgb[2]) return [r, g, b] } function isHex(color) { return color.length >= 4 && color[0] == '#' } function isRgb(color) { return color.length >= 10 && color.slice(0, 3) == 'rgb' } function isRgba(color) { return color.length >= 13 && color.slice(0, 4) == 'rgba' } module.exports = {getDarkColors, getBgColors, isHex, isRgb, isRgba, toNum3}