const client = require('webpack-theme-color-replacer/client') export default { primaryColor: '#1890ff', getAntdSerials (color) { // 淡化(即less的tint) var lightens = new Array(9).fill().map((t, i) => { return client.varyColor.lighten(color, i / 10) }) // 此处为了简化,采用了darken。实际按color.less需求可以引入tinycolor, colorPalette变换得到颜色值 var darkens = new Array(6).fill().map((t, i) => { return client.varyColor.darken(color, i / 10) }) return lightens.concat(darkens) }, changeColor (newColor) { var lastColor = this.lastColor || this.primaryColor var options = { cssUrl: '/css/theme-colors.css', oldColors: this.getAntdSerials(lastColor), // current colors array. The same as `matchColors` newColors: this.getAntdSerials(newColor) // new colors array, one-to-one corresponde with `oldColors` } var promise = client.changer.changeColor(options, Promise) this.lastColor = lastColor return promise } }