https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构)

  https://www.cnblogs.com/smh188/p/11534451.html(我是如何一步步编码完成万仓网ERP系统的(二)前端框架)

  https://www.cnblogs.com/smh188/p/11535449.html(我是如何一步步编码完成万仓网ERP系统的(三)登录)

  https://www.cnblogs.com/smh188/p/11541033.html(我是如何一步步编码完成万仓网ERP系统的(四)登录的具体实现)

  https://www.cnblogs.com/smh188/p/11542310.html(我是如何一步步编码完成万仓网ERP系统的(五)产品库设计 1.产品类别)

  https://www.cnblogs.com/smh188/p/11546917.html(我是如何一步步编码完成万仓网ERP系统的(六)产品库设计 2.Ueditor百度编辑器)

  万仓网ERP系统不开源,准备做一个系列,讲一讲主要的技术点,这些技术点会有源代码。如果想看所有源代码,可以打道回府了,没必要再阅读下去了,浪费您宝贵的时间。

  上一篇咱们讲到了产品类别,一般分为三级类别就够了,如果分的过多,前端页面不好展示,也会造成管理的混乱。这一节说点跟产品库相关的技术点,Html编辑器。

  现在有很多好用的开源编辑器,孰优孰劣不在本文的探讨范围之内,万仓网产品库用的编辑器就是百度的Ueditor,今天咱们就说说Ueditor编辑器。

  如果是小型网站,可以直接把Ueditor放在后台网站的目录下,并将net文件夹转换为应用程序,加上一些简单配置就可以使用了。

  如果是大型网站呢,需要将后台系统和Ueditor编辑器单独部署在不同的服务器上(做测试时可以在一台服务器上,但ueditor编辑器需要有单独的站点域名),主要是考虑到用ueditor上传的图片(文件)需在图片服务器上。

  接下来咱们就一步步修改代码和配置,完成ueditor编辑器的跨域上传。

  1.修改ueditor编辑器的ueditor.all.js(ueditor.all.min.js)

   将 document.domain=“xxx.com”;(例如:document.domain = 'vancang.com') 添加在第8行。由于ueditor和后台系统使用的是不同的域名,上传文件涉及到跨域时,先定义根域。

  2,修改ueditor编辑器的ueditor.config.js

     找到 customDomain:false 改为 customDomain:true  并取消注释。

  3.修改ueditor编辑器下net\config.json

     找到含有url的字段,例如:"imageUrlPrefix": "/ueditor/net/" ,可以修改成含域名的全路径 "imageUrlPrefix": "https://img.xxx.com/image/"(https://img.vancang.com/image/)。

     找到含有Format的字段,例如:"imagePathFormat": "upload/image/{yyyy}{mm}{dd}/{time}{rand:6}",可以修改成绝对路径 "imagePathFormat": "D:\\img.xxx.com\\image\\{yyyy}{mm}{dd}/{time}{rand:6}"

  4.修改ueditor编辑器下net\web.config,域名需指向后台系统的域名

     web.config添加跨域配置,有一定风险。     

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>
        <add name="Access-Control-Allow-Origin" value="https://admin.xxx.com" />
      </customHeaders>
    </httpProtocol>
</system.webServer>

  5.修改后台系统页面,引用ueditor域名下的js

<script src="https://ueditor.xxx.com/ueditor.config.js"></script>
<script src="https://ueditor.xxx.com/ueditor.all.min.js"></script>
<script src="https://ueditor.xxx.com/lang/zh-cn/zh-cn.js"></script>

//初始化ueditor编辑器,serverUrl也要引用ueditor编辑器的域名

var ueDescription = UE.getEditor('txtDescription_textArea', {
  serverUrl: "https://ueditor.xxx.com/net/controller.ashx"
});

  6.修改后台系统的web.config跨域配置,域名需要指向ueditor编辑器的域名。

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>
        <add name="Access-Control-Allow-Origin" value="https://ueditor.xxx.com" />
      </customHeaders>
    </httpProtocol>
</system.webServer>

  这样,百度ueditor跨域上传图片基本就完成了,有兴趣的可以自己敲敲代码,做个小测试。

PS:客官有时间光临我的小站 万仓网

02-13 03:18