安阳做网站的公司有哪些做销售有什么软件可以找客户

张小明 2026/1/11 18:24:26
安阳做网站的公司有哪些,做销售有什么软件可以找客户,长沙网站建设 网站设计,建设厅网站账号密码忘记怎么办项目需求分析与技术方案 作为项目负责人#xff0c;针对企业网站后台管理系统富文本编辑器升级需求#xff0c;结合信创国产化、多浏览器兼容、云存储集成等核心要求#xff0c;现提出以下技术方案#xff1a; 一、核心功能实现方案 Word/公众号内容粘贴功能 前端实现针对企业网站后台管理系统富文本编辑器升级需求结合信创国产化、多浏览器兼容、云存储集成等核心要求现提出以下技术方案一、核心功能实现方案Word/公众号内容粘贴功能前端实现Vue3 TinyMCE5扩展// tinymce-plugin.jstinymce.PluginManager.add(wordpaste,function(editor){editor.ui.registry.addButton(wordpaste,{text:Word粘贴,icon:paste,onAction:function(){// 监听粘贴事件editor.on(paste,function(e){constclipboardDatae.clipboardData||window.clipboardData;if(clipboardData){constitemsclipboardData.items;for(leti0;iitems.length;i){if(items[i].type.indexOf(image)!-1){constblobitems[i].getAsFile();uploadImage(blob).then(url{// 替换粘贴内容中的图片引用editor.insertContent();});}}// 处理文本内容保留样式if(clipboardData.getData(text/html)){processWordHtml(clipboardData.getData(text/html)).then(htmleditor.insertContent(html));}}});}});});asyncfunctionprocessWordHtml(html){// 调用后端清洗服务constresponseawaitfetch(/api/clean-word-html,{method:POST,body:html});returnawaitresponse.text();}文档导入功能后端JSP实现// DocumentUploadServlet.javaWebServlet(/api/upload/document)MultipartConfigpublicclassDocumentUploadServletextendsHttpServlet{InjectprivateCloudStorageServicestorageService;protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{PartfilePartreq.getPart(file);StringoriginalNamegetFilename(filePart);StringextoriginalName.substring(originalName.lastIndexOf(.)1);// 使用Apache Tika检测MIME类型InputStreamstreamfilePart.getInputStream();StringmimeTypenewTika().detect(stream,originalName);// 根据文件类型调用不同解析器DocumentParserparserParserFactory.getParser(ext);DocumentContentcontentparser.parse(stream);// 处理文档中的图片ListimageUrlsnewArrayList();for(FileItemimage:content.getImages()){Stringpathdocs/UUID.randomUUID().getExtension(image.getName());storageService.upload(path,image.getInputStream());imageUrls.add(storageService.generateUrl(path));}// 生成可渲染的HTMLStringhtmlHtmlGenerator.generate(content,imageUrls);resp.setContentType(application/json);resp.getWriter().write(newGson().toJson(Map.of(html,html,images,imageUrls)));}}二、信创兼容性保障措施跨平台构建方案使用Gradle多平台构建配置// build.gradleplugins{idjavaidorg.springframework.bootversion2.7.0}bootRun{systemProperties[os.arch:System.getProperty(os.arch),file.encoding:UTF-8]// 信创环境特定配置if(System.getProperty(os.name).contains(Kylin)){jvmArgs[-Djava.awt.headlesstrue]}}浏览器兼容处理IE8专项适配polyfill方案// ie8-polyfills.jsif(!Array.prototype.forEach){Array.prototype.forEachfunction(callback){for(vari0;ithis.length;i){callback.call(window,this[i],i,this);}};}// 其他必要polyfill...三、云存储抽象层设计// CloudStorageService.javapublicinterfaceCloudStorageService{Stringupload(Stringpath,InputStreamdata);StringgenerateUrl(Stringpath);booleandelete(Stringpath);// 工厂方法staticCloudStorageServicegetInstance(Stringprovider){switch(provider.toLowerCase()){casealiyun:returnnewAliyunOssService();casehuawei:returnnewHuaweiObsService();casetencent:returnnewTencentCosService();default:thrownewIllegalArgumentException();}}}// 阿里云实现示例publicclassAliyunOssServiceimplementsCloudStorageService{privateOSSossClient;privateStringbucketName;OverridepublicStringupload(Stringpath,InputStreamdata){PutObjectRequestrequestnewPutObjectRequest(bucketName,path,data);ossClient.putObject(request);returnhttps://bucketName.oss-cn-beijing.aliyuncs.com/path;}}四、采购与合规方案授权模式对比| 对比项 | 单项目授权 | 集团买断方案 ||--------------|----------------|----------------|| 初始成本 | 500万/年 | 98万一次性 || 部署灵活性 | 低逐个部署 | 高统一管理 || 维护成本 | 高500实例 | 低集中维护 || 信创认证 | 需逐个认证 | 统一认证 || 定制开发 | 受限 | 完全自主 |供应商资质要求清单提供3个以上党政机关项目合同扫描件带红章信创产品互认证证书统信UOS/麒麟软件源代码安全审计报告等保三级标准国产化环境测试报告龙芯/飞腾平台五、实施路线图第一阶段2周完成TinyMCE插件开发搭建测试环境CentOS 7 MySQL 5.7第二阶段4周实现文档解析核心功能完成阿里云OSS集成第三阶段3周全浏览器兼容性测试信创环境验证兆芯麒麟系统第四阶段1周编写开发文档开展内部培训六、风险控制措施技术备选方案保留CKEditor作为备用编辑器准备Aspose.Words商业库作为解析备选合规保障措施委托公安部三所进行代码审计签订数据安全责任书供应商管理采用3-3-3-1付款方式约定1年免费维护期该方案已通过公司技术委员会评审建议优先选择具有党政军领域实施经验的供应商重点考察其信创环境适配能力和长期维护支持能力。预计实施周期8周可满足高安全要求的政务系统集成需求。复制插件安装jquerynpm install jquery在组件中引入// 引入tinymce-vueimportEditorfromtinymce/tinymce-vueimport{WordPaster}from../../static/WordPaster/js/wimport{zyOffice}from../../static/zyOffice/js/oimport{zyCapture}from../../static/zyCapture/z添加工具栏//添加导入excel工具栏按钮(function(){use strict;varglobaltinymce.util.Tools.resolve(tinymce.PluginManager);functionselectLocalImages(editor){WordPaster.getInstance().SetEditor(editor).importExcel()}varregister$1function(editor){editor.ui.registry.addButton(excelimport,{text:,tooltip:导入Excel文档,onAction:function(){selectLocalImages(editor)}});editor.ui.registry.addMenuItem(excelimport,{text:,tooltip:导入Excel文档,onAction:function(){selectLocalImages(editor)}});};varButtons{register:register$1};functionPlugin(){global.add(excelimport,function(editor){Buttons.register(editor);});}Plugin();}());//添加word转图片工具栏按钮(function(){use strict;varglobaltinymce.util.Tools.resolve(tinymce.PluginManager);functionselectLocalImages(editor){WordPaster.getInstance().SetEditor(editor);WordPaster.getInstance().importWordToImg()}varregister$1function(editor){editor.ui.registry.addButton(importwordtoimg,{text:,tooltip:Word转图片,onAction:function(){selectLocalImages(editor)}});editor.ui.registry.addMenuItem(importwordtoimg,{text:,tooltip:Word转图片,onAction:function(){selectLocalImages(editor)}});};varButtons{register:register$1};functionPlugin(){global.add(importwordtoimg,function(editor){Buttons.register(editor);});}Plugin();}());//添加粘贴网络图片工具栏按钮(function(){use strict;varglobaltinymce.util.Tools.resolve(tinymce.PluginManager);functionselectLocalImages(editor){WordPaster.getInstance().SetEditor(editor);WordPaster.getInstance().UploadNetImg()}varregister$1function(editor){editor.ui.registry.addButton(netpaster,{text:,tooltip:网络图片一键上传,onAction:function(){selectLocalImages(editor)}});editor.ui.registry.addMenuItem(netpaster,{text:,tooltip:网络图片一键上传,onAction:function(){selectLocalImages(editor)}});};varButtons{register:register$1};functionPlugin(){global.add(netpaster,function(editor){Buttons.register(editor);});}Plugin();}());//添加导入PDF按钮(function(){use strict;varglobaltinymce.util.Tools.resolve(tinymce.PluginManager);functionselectLocalImages(editor){WordPaster.getInstance().SetEditor(editor);WordPaster.getInstance().ImportPDF()}varregister$1function(editor){editor.ui.registry.addButton(pdfimport,{text:,tooltip:导入pdf文档,onAction:function(){selectLocalImages(editor)}});editor.ui.registry.addMenuItem(pdfimport,{text:,tooltip:导入pdf文档,onAction:function(){selectLocalImages(editor)}});};varButtons{register:register$1};functionPlugin(){global.add(pdfimport,function(editor){Buttons.register(editor);});}Plugin();}());//添加导入PPT按钮(function(){use strict;varglobaltinymce.util.Tools.resolve(tinymce.PluginManager);functionselectLocalImages(editor){WordPaster.getInstance().SetEditor(editor);WordPaster.getInstance().importPPT()}varregister$1function(editor){editor.ui.registry.addButton(pptimport,{text:,tooltip:导入PowerPoint文档,onAction:function(){selectLocalImages(editor)}});editor.ui.registry.addMenuItem(pptimport,{text:,tooltip:导入PowerPoint文档,onAction:function(){selectLocalImages(editor)}});};varButtons{register:register$1};functionPlugin(){global.add(pptimport,function(editor){Buttons.register(editor);});}Plugin();}());//添加导入WORD按钮(function(){use strict;varglobaltinymce.util.Tools.resolve(tinymce.PluginManager);functionselectLocalImages(editor){WordPaster.getInstance().SetEditor(editor).importWord()}varregister$1function(editor){editor.ui.registry.addButton(wordimport,{text:,tooltip:导入Word文档,onAction:function(){selectLocalImages(editor)}});editor.ui.registry.addMenuItem(wordimport,{text:,tooltip:导入Word文档,onAction:function(){selectLocalImages(editor)}});};varButtons{register:register$1};functionPlugin(){global.add(wordimport,function(editor){Buttons.register(editor);});}Plugin();}());//添加WORD粘贴按钮(function(){use strict;varglobaltinymce.util.Tools.resolve(tinymce.PluginManager);varicohttp://localhost:8080/static/WordPaster/plugin/word.pngfunctionselectLocalImages(editor){WordPaster.getInstance().SetEditor(editor).PasteManual()}varregister$1function(editor){editor.ui.registry.addButton(wordpaster,{text:,tooltip:Word一键粘贴,onAction:function(){selectLocalImages(editor)}});editor.ui.registry.addMenuItem(wordpaster,{text:,tooltip:Word一键粘贴,onAction:function(){selectLocalImages(editor)}});};varButtons{register:register$1};functionPlugin(){global.add(wordpaster,function(editor){Buttons.register(editor);});}Plugin();}());在线代码添加插件// 插件plugins:{type:[String,Array],// default: advlist anchor autolink autosave code codesample colorpicker colorpicker contextmenu directionality emoticons fullscreen hr image imagetools importcss insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus table template textcolor textpattern visualblocks visualcharsdefault:autoresize code autolink autosave image imagetools paste preview table powertables},点击查看在线代码初始化组件// 初始化WordPaster.getInstance({// 上传接口http://www.ncmem.com/doc/view.aspx?idd88b60a2b0204af1ba62fa66288203edPostUrl:http://localhost:8891/upload.aspx,// 为图片地址增加域名http://www.ncmem.com/doc/view.aspx?id704cd302ebd346b486adf39cf4553936ImageUrl:http://localhost:8891{url},// 设置文件字段名称http://www.ncmem.com/doc/view.aspx?idc3ad06c2ae31454cb418ceb2b8da7c45FileFieldName:file,// 提取图片地址http://www.ncmem.com/doc/view.aspx?id07e3f323d22d4571ad213441ab8530d1ImageMatch:})在页面中引入组件功能演示编辑器在编辑器中增加功能按钮导入Word文档,支持doc,docx导入Excel文档,支持xls,xlsx粘贴Word一键粘贴Word内容自动上传Word中的图片保留文字样式。Word转图片一键导入Word文件并将Word文件转换成图片上传到服务器中。导入PDF一键导入PDF文件并将PDF转换成图片上传到服务器中。导入PPT一键导入PPT文件并将PPT转换成图片上传到服务器中。上传网络图片一键自动上传网络图片。下载示例点击下载完整示例
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

站长工具seo综合查询腾讯wordpress 修改title

移动端AI部署正面临前所未有的性能挑战。当开发者试图将实验室级别的YOLOv10模型迁移到iPhone平台时,往往遭遇模型臃肿、推理延迟、功耗失控三大技术瓶颈。本文将深度解密Ultralytics框架如何通过五大核心技术突破,实现从云端模型到移动端应用的无缝衔接…

张小明 2025/12/31 9:52:27 网站建设

网站建设提升界面流畅程度个人做外贸怎样起步

还在为语音转文字延迟太高而抓狂?🤯 传统的Whisper模型在处理实时流数据时表现不佳,而WhisperLiveKit正是为解决这一痛点而生。这款开源工具集成了Simul-Whisper、Streaming Sortformer等前沿技术,让你在本地环境中实现毫秒级延迟…

张小明 2025/12/31 17:37:37 网站建设

网站备案变更接入mvc做的游戏网站代码

简介 本文详细介绍如何在Dify平台上构建RAG(检索增强生成)系统,通过"知识库"功能实现私有文档的智能检索与生成。文章分三步走:创建知识库、上传文档并进行分段处理、配置Embedding模型和文本分段参数。特别强调"召…

张小明 2026/1/6 2:22:30 网站建设

网站规划与网站建设wordpress 食谱网站

第一章:Open-AutoGLM自主纠错机制原理Open-AutoGLM 是一种基于生成语言模型的自反馈纠错系统,其核心在于通过模型自身对输出结果进行多轮验证与修正,从而提升响应的准确性与逻辑一致性。该机制不依赖外部标注数据,而是利用模型内在…

张小明 2025/12/31 10:53:18 网站建设

建立网站的主要流程有哪些步骤想学淘宝美工去哪里学

还在为3D建模软件复杂的操作而头疼?想快速拥有属于自己的科幻飞船却不知从何下手?SpaceshipGenerator项目让你告别繁琐的建模流程,通过智能参数配置和程序化生成技术,轻松打造个性化宇宙飞船!🎯 【免费下载…

张小明 2025/12/25 4:51:52 网站建设

vs加数据库做网站厦门网站排名

文章目录一、核心特点二、典型应用领域三、软件组成(OVERFLOW-D vs OVERFLOW-2)四、输入/输出与前后处理五、开源与获取六、性能与扩展性NASA OVERFLOW(Overset Grid Solver for Flow Simulation)是由美国国家航空航天局&#xff…

张小明 2025/12/25 5:22:20 网站建设