// utils.js // 获取用户配置 export function getUserConfigFromBackend() { // TODO 请求用户配置 const options = {}; // 字体、字号、样式 // TODO const { fontFamilyOptions = [ 'default', '宋体', '新宋体', '仿宋', '楷体', '微软雅黑', '黑体', '华文仿宋', '华文楷体', '华文隶书', '华文宋体', '华文细黑', '华文新魏', '华文行楷', '华文中宋', '隶书', '苹方 常规', '幼圆', 'Times New Roman' ], // 五号,小四,四号,小三,三号,小二,二号 fontSizeOptions = [14, 'default', 16,18.6,20, 21.3,24,29.3], styleDefinitions = [ { name: 'Article category', element: 'h3', classes: ['category'] }, { name: 'Title', element: 'h2', classes: ['document-title'] }, { name: 'Subtitle', element: 'h3', classes: ['document-subtitle'] }, { name: 'Info box', element: 'p', classes: ['info-box'] }, { name: 'Side quote', element: 'blockquote', classes: ['side-quote'] }, { name: 'Marker', element: 'span', classes: ['marker'] }, { name: 'Spoiler', element: 'span', classes: ['spoiler'] }, { name: 'Code (dark)', element: 'pre', classes: ['fancy-code', 'fancy-code-dark'] }, { name: 'Code (bright)', element: 'pre', classes: ['fancy-code', 'fancy-code-bright'] }, { name: 'GradientBorder', element: 'p', classes: ['gradientborder'] } ] } = options; // 如果传入的options没有对应项,使用默认值 return { fontFamily: { options: fontFamilyOptions }, fontSize: { options: fontSizeOptions }, style: { definitions: styleDefinitions } }; } // 实现自动保存saveData方法,将编辑内容发送至后端 export function saveData(data) { // return new Promise( resolve => { // setTimeout( () => { // console.log( 'Saved', data ); // resolve(); // }, HTTP_SERVER_LAG ); // } ); console.log(data); } // 将当前页面的样式转为内联 export function getStyle() { let str = ''; const styles = document.querySelectorAll('style'); for (let i = 0; i < styles.length; i++) { str += styles[i].outerHTML; } str += ""; str += "" // str += "" str += "" return str; } // 获取用户编辑的内容 export function getPageContent() { // const pageContent = document.querySelector("#app > div > div > div > div.editor-container__editor-wrapper > div > div > div.ck.ck-reset.ck-editor.ck-rounded-corners > div.ck.ck-editor__main > div"); const pageContent = document.querySelector("#app > div > div > div > div.editor-container__editor-wrapper > div > div > div"); return pageContent.innerHTML; } // 获取并应用用户定义的样式 export function getAndApplyUserStyles() { // 模拟从后端获取用户定义的样式 const response = fetch('/api/user-styles'); const styles = response.json(); const styleElement = document.createElement('style'); styleElement.innerHTML = styles; document.head.appendChild(styleElement); return styles; }