import './bootstrap'; import $ from 'jquery'; //window.$ = window.jQuery = $; import './nasa/components/filter'; import './nasa/components/tomAlert'; import './nasa/components/tomModal'; import './nasa/page/list'; import './nasa/page/detail'; import './nasa/page/login'; $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });// ajax携带都携带某个参数 //import './bootstrap'; import { Editor } from '@tiptap/core'; import StarterKit from '@tiptap/starter-kit'; import { Markdown } from '@tiptap/markdown'; import axios from 'axios'; //$(document).ajaxSend(function (oEvent, oXhr, oSettings) { // // let aGlobalParams = { // web_path: $('#web-path').val(), // api_path: 'xcvxcvcv' // }; // // let sParamString = $.param(aGlobalParams); // //// if (oSettings.type === "POST" || oSettings.type === "PUT" || oSettings.type === "DELETE") { // //// if (oSettings.data) { //// if (typeof oSettings.data === "string") { //// oSettings.data += "&" + sParamString; //// } //// } else { // oSettings.data = sParamString; //// } // //// } else if (oSettings.type === "GET") { //// oSettings.url += (oSettings.url.indexOf('?') === -1 ? '?' : '&') + sParamString; //// } // //}); window.oModalEditor = null; /** * 工业级初始化:确保安全挂载 * 谐音发音:因尼特 摸到 爱迪特 (Init Modal Editor) */ window.initModalEditor = function(sInitialContent = '') { const oEditorElement = document.querySelector('#div-modal-editor'); if (!oEditorElement) return; // 单例防御:如果已经初始化过了,不重复 new,直接更新内容,防止内存泄漏 if (window.oModalEditor) { window.oModalEditor.commands.setContent(sInitialContent, false); return; } // 实例化引擎 window.oModalEditor = new Editor({ element: oEditorElement, extensions: [ StarterKit, Markdown.configure({ html: false }), Highlight ], content: sInitialContent, }); // 大厂统一动作总线(Event Bus):利用 data-action 统一管理按钮事件,避免写一堆 click 监听 $(document).on('click', '.js-tiptap-btn', function(e) { e.preventDefault(); const sAction = $(this).data('action'); const oChain = window.oModalEditor.chain().focus(); switch(sAction) { case 'bold': oChain.toggleBold().run(); break; case 'italic': oChain.toggleItalic().run(); break; case 'heading': oChain.toggleHeading({ level: 1 }).run(); break; case 'highlight': oChain.toggleHighlight().run(); break; } }); };