Opinião pessoal: Principalmente para edição em segundo plano, assim como quando você escreve um artigo em uma conta pública, ele também é escrito com base no editor de rich text.
(2.1) Summernote suporta o framework front-end bootstrap: http://www.bootcss.com/ Bootstrap agora é muito usado. O principal destaque é o layout responsivo, e os telefones celulares (dispositivos móveis) têm prioridade. É muito adequado para a navegação do grande número de usuários de telefones celulares hoje em dia. Portanto, o summernote também é muito adequado para edição de texto em telefones celulares.
(2.2) bootstrap também possui seu próprio editor de rich text: bootstrap-wysiwyg, mas por que não usar isso? A razão é que o summernote pode inserir vídeos. Mas muitos outros editores de rich text também podem inserir vídeos? Estou falando de vídeos nacionais. A maioria dos outros editores de rich text estrangeiros só pode inserir vídeos do YouTube. Ele pode inserir vídeos Tencent e Youku.
(2.3) Summernote é realmente muito simples, mas suas funções são muito completas. Você também pode personalizar a barra de ferramentas, e o emoji não é exceção. No entanto, como a maioria dos artigos sobre como inserir emoji no summernote são usados para carregar emoji localmente, você pode. consulte: https://github.com/summernote/awesome-summernote e https://github.com/nilobarp/summernote-ext-emoji, Mas carregar emoji localmente entraria em conflito com a exclusão de imagens, então não adicionei a função emoji. Outra maneira é obter o link para o servidor api.github.emoji por meio de ajax e adicioná-lo por meio do link, mas isso é junho. realmente não sabe como usá-lo.
(2.4) Summernote pode obter diretamente o valor da caixa de texto através de summernote('code'), que é o código do corpo do html, e pode ser carregado diretamente no banco de dados ou enviado para segundo plano.
(3.1) Como a função que vem com o summernote só irá converter a imagem para o formato base64 e salvá-la, será muito trabalhoso salvá-la no banco de dados. Uma imagem aleatória custará vários MB, o que é muito caro, então reescrevi. Será muito melhor salvá-lo no servidor e depois carregar o endereço da imagem no servidor para o banco de dados.
(3.2) Já vi em muitos outros blogs que as imagens enviadas pelo Summernote são reescritas e salvas no servidor, mas é uma pena que eles apenas colem o código e se esqueçam dele. . Eu acho que seria uma pena inserir uma imagem incorretamente, mas ela não pode ser excluída, então pretendo escrever uma versão do summernote que permita fazer upload e excluir fotos. Na verdade, a ideia é a mesma do meu último artigo, só preste atenção em alguns lugares: o $.ajax() do jQuery interage com o background do php, e usa MutationObserver para deletar imagens
(3.3) Qualquer pessoa que saiba usar ajax não deve ter problemas, então a reescrita de onImageUpload também usa ajax() do jQuery para interagir com o plano de fundo. Como ajax() também suporta o tipo File, o tipo FormData é usado para interagir.
(3.4) Se você puder reescrevê-lo, não há problema. Não vou reescrevê-lo apenas por conveniência. Escrevi o backend em PHP, mas outros tipos de backend são relativamente simples de escrever, com apenas cerca de 10 linhas de código.
(4.1) Inserir uma imagem relativamente grande pode causar um erro. O motivo está no arquivo php.ini. O primeiro motivo é principalmente que o tamanho da imagem excede o intervalo permitido. Este problema pode ser resolvido modificando o max_execution_time ou post_max_size ou upload_max_filesize. do php.ini. Pode ser resolvido, não direi muito mais, e me refiro às experiências de outras pessoas: http://blog.csdn.net/anan890624/article/details/51859863
(4.2) O segundo motivo também está no arquivo php.ini, mas não é um limite de tamanho, mas o arquivo de armazenamento temporário do arquivo não pode ser encontrado. Ele pode não estar originalmente definido no upload_tmp_dir do php.ini, portanto. ele precisa ser modificado. Aqui está o que eu fiz. Modificações feitas com base nisso.
(4.3) Após modificar o php.ini, você deve reiniciar o servidor, caso contrário ocorrerão erros mesmo se você modificá-lo.