1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import { message } from 'ant-design-vue/es';
- // import defaultSettings from '../defaultSettings';
- let lessNodesAppended;
- const colorList = [
- {
- key: '薄暮', color: '#F5222D',
- },
- {
- key: '火山', color: '#FA541C',
- },
- {
- key: '日暮', color: '#FAAD14',
- },
- {
- key: '明青', color: '#13C2C2',
- },
- {
- key: '极光绿', color: '#52C41A',
- },
- {
- key: '拂晓蓝(默认)', color: '#1890FF',
- },
- {
- key: '极客蓝', color: '#2F54EB',
- },
- {
- key: '酱紫', color: '#722ED1',
- },
- ];
- const updateTheme = primaryColor => {
- // Don't compile less in production!
- /* if (process.env.NODE_ENV === 'production') {
- return;
- } */
- // Determine if the component is remounted
- if (!primaryColor) {
- return;
- }
- const hideMessage = message.loading('正在编译主题!', 0);
- function buildIt() {
- if (!window.less) {
- return;
- }
- setTimeout(() => {
- window.less
- .modifyVars({
- '@primary-color': primaryColor,
- })
- .then(() => {
- hideMessage();
- })
- .catch(() => {
- message.error('Failed to update theme');
- hideMessage();
- });
- }, 200);
- }
- if (!lessNodesAppended) {
- // insert less.js and color.less
- const lessStyleNode = document.createElement('link');
- const lessConfigNode = document.createElement('script');
- const lessScriptNode = document.createElement('script');
- lessStyleNode.setAttribute('rel', 'stylesheet/less');
- lessStyleNode.setAttribute('href', '/color.less');
- lessConfigNode.innerHTML = `
- window.less = {
- async: true,
- env: 'production',
- javascriptEnabled: true
- };
- `;
- lessScriptNode.src = 'https://gw.alipayobjects.com/os/lib/less.js/3.8.1/less.min.js';
- lessScriptNode.async = true;
- lessScriptNode.onload = () => {
- buildIt();
- lessScriptNode.onload = null;
- };
- document.body.appendChild(lessStyleNode);
- document.body.appendChild(lessConfigNode);
- document.body.appendChild(lessScriptNode);
- lessNodesAppended = true;
- } else {
- buildIt();
- }
- };
- const updateColorWeak = colorWeak => {
- // document.body.className = colorWeak ? 'colorWeak' : '';
- colorWeak ? document.body.classList.add('colorWeak') : document.body.classList.remove('colorWeak')
- };
- export { updateTheme, colorList, updateColorWeak }
|