Opinión personal: Principalmente para editar en segundo plano, al igual que cuando escribes un artículo en una cuenta pública, también se escribe en base al editor de texto enriquecido.
(2.1) Summernote admite el marco de interfaz de usuario de bootstrap: http://www.bootcss.com/. Bootstrap ahora se usa con mucha frecuencia. Lo más destacado es el diseño responsivo, y se da prioridad a los teléfonos móviles (dispositivos móviles). Es muy adecuado para la navegación de los grandes usuarios de teléfonos móviles de hoy en día. Por eso, summernote también es muy adecuado para la edición de texto en teléfonos móviles.
(2.2) bootstrap también tiene su propio editor de texto enriquecido: bootstrap-wysiwyg, pero ¿por qué no utilizar este? La razón es que summernote puede insertar vídeos. ¿Pero muchos otros editores de texto enriquecido también pueden insertar vídeos? Estoy hablando de videos nacionales. La mayoría de los otros editores de texto enriquecidos extranjeros solo pueden insertar videos de YouTube, pero Summernote es increíble. Puede insertar videos de Tencent y Youku, por lo que es muy recomendable para editores que necesitan insertar videos al editar texto. nota de verano.
(2.3) Summernote es realmente muy simple, pero sus funciones son muy completas. También puedes personalizar la barra de herramientas, y emoji no es una excepción. Sin embargo, dado que la mayoría de los artículos sobre cómo insertar emoji en summernote se utilizan para cargar emoji localmente, puedes hacerlo. consulte: https://github.com/summernote/awesome-summernote y https://github.com/nilobarp/summernote-ext-emoji, Pero cargar emoji localmente entraría en conflicto con la eliminación de imágenes, por lo que no agregué la función emoji. Otra forma es obtener el enlace al servidor api.github.emoji a través de ajax y luego agregarlo a través del enlace, pero así es. Jun realmente no sabe cómo usarlo.
(2.4) Summernote puede obtener directamente el valor del cuadro de texto a través de summernote ('código'), que es el código del cuerpo de html, y puede cargarse directamente a la base de datos o enviarse a segundo plano.
(3.1) Debido a que la función que viene con summernote solo convertirá la imagen al formato base64 y la guardará, será muy laborioso guardarla en la base de datos. Una imagen aleatoria costará varios MB, lo cual es demasiado, así que la reescribí. Será mucho mejor guardarlo en el servidor y luego cargar la dirección de la imagen en el servidor a la base de datos.
(3.2) He visto en muchos otros blogs que las imágenes cargadas por Summernote se reescriben y se guardan en el servidor, pero es una pena que simplemente peguen el código y se olviden de él. Además, básicamente solo se guardan y no se eliminan. Creo que sería una lástima que la imagen se inserte incorrectamente pero no se pueda eliminar, así que planeo escribir una versión de Summernote que te permita cargar y eliminar imágenes. De hecho, la idea es la misma que la de mi último artículo, solo preste atención a algunos lugares: $.ajax() de jQuery interactúa con el fondo de php y usa MutationObserver para eliminar imágenes.
(3.3) Cualquiera que sepa cómo usar ajax no debería tener ningún problema, por lo que la reescritura de onImageUpload también usa ajax() de jQuery para interactuar con el fondo. Debido a que ajax() también admite el tipo de archivo, el tipo FormData se usa para la interacción.
(3.4) Si puedes reescribirlo, no hay problema. No lo reescribiré solo por conveniencia. Escribí el backend en PHP, pero otros tipos de backends son relativamente simples de escribir, con solo unas 10 líneas de código.
(4.1) Insertar una imagen relativamente grande puede causar un error. La razón está en el archivo php.ini. La primera razón es principalmente que el tamaño de la imagen excede el rango permitido. Este problema se puede resolver modificando max_execution_time o post_max_size o upload_max_filesize. de php.ini Se puede solucionar, no diré mucho más y me referiré a las experiencias de otras personas: http://blog.csdn.net/anan890624/article/details/51859863.
(4.2) La segunda razón también está en el archivo php.ini, pero no es un límite de tamaño, pero no se puede encontrar el archivo de almacenamiento temporal del archivo. Es posible que no esté definido originalmente en upload_tmp_dir de php.ini. es necesario modificarlo. Esto es lo que hice. Modificaciones realizadas sobre esta base.
(4.3) Después de modificar php.ini, debe reiniciar el servidor; de lo contrario, se producirán errores incluso si lo modifica.