https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构)html
https://www.cnblogs.com/smh188/p/11534451.html(我是如何一步步编码完成万仓网ERP系统的(二)前端框架)前端
https://www.cnblogs.com/smh188/p/11535449.html(我是如何一步步编码完成万仓网ERP系统的(三)登陆)web
https://www.cnblogs.com/smh188/p/11541033.html(我是如何一步步编码完成万仓网ERP系统的(四)登陆的具体实现)json
https://www.cnblogs.com/smh188/p/11542310.html(我是如何一步步编码完成万仓网ERP系统的(五)产品库设计 1.产品类别)跨域
https://www.cnblogs.com/smh188/p/11546917.html(我是如何一步步编码完成万仓网ERP系统的(六)产品库设计 2.百度Ueditor编辑器)前端框架
https://www.cnblogs.com/smh188/p/11572668.html(我是如何一步步编码完成万仓网ERP系统的(七)产品库设计 3.品牌图片跨域上传)服务器
https://www.cnblogs.com/smh188/p/11576543.html(我是如何一步步编码完成万仓网ERP系统的(八)产品库设计 4.品牌类别)架构
https://www.cnblogs.com/smh188/p/11578185.html(我是如何一步步编码完成万仓网ERP系统的(九)产品库设计 5.产品属性项) 框架
https://www.cnblogs.com/smh188/p/11589264.html(我是如何一步步编码完成万仓网ERP系统的(十)产品库设计 6.属性项和类别关联) dom
https://www.cnblogs.com/smh188/p/11596459.html(我是如何一步步编码完成万仓网ERP系统的(十一)产品库设计 7.发布商品)
https://www.cnblogs.com/smh188/p/11610960.html(我是如何一步步编码完成万仓网ERP系统的(十二)库存 1.概述)
https://www.cnblogs.com/smh188/p/11669871.html(我是如何一步步编码完成万仓网ERP系统的(十三)库存 2.加权平均价)
https://www.cnblogs.com/smh188/p/11763319.html(我是如何一步步编码完成万仓网ERP系统的(十四)库存 3.库存日志)
万仓网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:客官有时间光临个人小站 万仓网。