| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import {CDN_IMG_URL} from './config'
- import network from "./network";
- import tool from "./tool";
- const EDITOR_ROOT_URL = `${CDN_IMG_URL}/tinymce`
- const EDITOR_LANGUAGE = `${EDITOR_ROOT_URL}/langs/zh_CN.js`
- let fullEditor = {
- // language_url: EDITOR_LANGUAGE,
- height: 500,
- plugins: 'print preview searchreplace autolink directionality visualblocks visualchars fullscreen link template codesample table charmap hr pagebreak nonbreaking anchor toc insertdatetime advlist lists textcolor wordcount imagetools contextmenu colorpicker textpattern help',
- toolbar1: 'formatselect | bold italic strikethrough forecolor backcolor | link | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | removeformat',
- }
- let textEditor = {
- // language_url: EDITOR_LANGUAGE,
- height: 500,
- menubar: false,
- plugins: [
- 'advlist autolink lists link charmap print preview anchor textcolor colorpicker',
- 'searchreplace visualblocks code fullscreen',
- 'insertdatetime media table contextmenu paste image code help'
- ],
- toolbar: 'undo redo | formatselect | bold italic backcolor forecolor | link image | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | preview | help',
- automatic_uploads: false,
- image_title: false,
- image_description: false,
- images_upload_base_path: 'article',
- file_picker_types: 'file image media',
- images_upload_handler: (blobInfo, success, failure) => {
- const handler = async () => {
- let token = await network.getData('file/token');
- let params = new FormData()
- params.append('file', blobInfo.blob())
- params.append('uploadToken', token)
- await network.postData('ad/upload', params).then(response => {
- let imageUrl = tool.getArImage(response, '/files/');
- success(imageUrl)
- }).catch(error => {
- failure(error)
- })
- }
- handler();
- },
- file_picker_callback: (callback, value, meta) => {
- // 模拟出一个input用于添加本地文件
- let inputElem = document.createElement('input');
- inputElem.setAttribute('type', 'file');
- inputElem.click();
- inputElem.onchange = () => {
- const handler = async () => {
- let token = await network.getData('file/token');
- let file = inputElem.files[0];
- let params = new FormData()
- params.append('file', file);
- params.append('uploadToken', token);
- await network.postData('article/upload', params).then(response => {
- let fileUrl = tool.getArImage(response, '/files/');
- callback(fileUrl, {text: response})
- }).catch(error => {
- console.log(error)
- })
- }
- handler();
- }
- },
- }
- export {
- fullEditor,
- textEditor,
- EDITOR_ROOT_URL
- }
|