Anyon 27ad3ff7ce feat(static): 同步 v8 前端静态资源
同步 v8 运行所需的公开静态资源与主题样式,保留目标仓库中需要跟踪的发布产物。

主要内容:

- 更新登录页、控制台主题、布局变量和短工具类样式。

- 同步 layui、ckeditor、editor、jquery area 等前端依赖文件。

- 移除 v6 admin/require 静态入口,改为 v8 static/system 资源组织。

- 保留测试依赖的 public/static/theme 编译结果,确保目标仓库可直接验证。
2026-05-08 15:30:57 +08:00

67 lines
2.7 KiB
PHP

(function () {
let editor = window.wangEditor;
window.createEditor = function (ele, option) {
if ($(ele).data('editorLayout')) return;
const $layout = $('<div style="border:1px solid #ccc;z-index:1001;"><div style="border-bottom:1px solid #ccc;"></div><div style="height:400px;"></div></div>');
$(ele).hide().data('editorLayout', $layout).after($layout).parent();
// 创建编辑器
const _editor = editor.createEditor({
html: '<p><br></p>',
selector: $layout.find("div:last").get(0),
config: {
height: (option || {}).height || 500,
MENU_CONF: {
uploadImage: {
async customUpload(file, insertFn) {
if (window.SystemUploadAdapter) {
new window.SystemUploadAdapter().upload([file], url => insertFn(url, file.name))
} else {
let reader = new window.FileReader();
reader.addEventListener('load', () => insertFn(reader.result, file.name));
reader.readAsDataURL(file);
}
}
},
uploadVideo: {
async customUpload(file, insertFn) {
if (window.SystemUploadAdapter) {
new window.SystemUploadAdapter().upload([file], url => insertFn(url, file.name))
} else {
let reader = new window.FileReader();
reader.addEventListener('load', () => insertFn(reader.result, file.name));
reader.readAsDataURL(file);
}
}
}
},
placeholder: 'Type here...',
onCreated(editor) {
editor.setHtml($(ele).val());
},
onChange(editor) {
$(ele).val(editor.getHtml())
}
},
mode: 'default', // or 'simple'
})
// 设置工具栏
editor.createToolbar({
editor: _editor,
selector: $layout.find('div:first').get(0),
config: {
excludeKeys: ['fullScreen']
},
mode: 'default',
})
// 兼容其他版本
_editor.getData = function () {
return _editor.getHtml()
}
_editor.setData = function (html) {
return _editor.setHtml(html)
}
return _editor;
}
})();