zoukankan      html  css  js  c++  java
  • drawio www.diagrams.net 画图应用程序开发过程资料汇总

    drawio
    www.diagrams.net
    https://github.com/jgraph/drawio
    https://github.com/jgraph/drawio
    https://jgraph.github.io/drawio/src/main/webapp/index.html
    https://github.com/Hlingoes/springboot-drawio
    https://github.com/ydtong/drawio
    https://github.com/Hlingoes/springboot-drawio
    https://github.com/JolyRain/drawio_demo
    https://github.com/weichou99/drawio-intergation
    https://github.com/WinwayJia/drawio
    https://gitee.com/gitofcjf/dynamic-flow?_from=gitee_search
    https://github.com/LXFengGithub/drawio-master
    https://github.com/ydtong/drawio
    https://github.com/coral-cloud/coral-draw
    
    
    https://www.diagrams.net/blog/embedding-walkthrough
    https://www.drawzh.com/
    https://desk.draw.io/support/solutions/articles/16000101649-use-the-simple-viewer
    
    
    https://www.pianshen.com/article/84141387911/
    https://blog.csdn.net/keylkeaf/article/details/106012044
    https://blog.csdn.net/fm0517/article/details/117412592
    https://blog.csdn.net/PiaoMiaoXiaodao/article/details/90761115
    https://blog.csdn.net/privateobject/article/details/105143285   重要
    https://zhangzw.com/posts/20200107.html
    https://blog.csdn.net/MaZhaoLiang0201/article/details/107083338  保存
    https://blog.csdn.net/fm0517/article/details/117560735 URL前缀为本地
    https://blog.csdn.net/Iammiky/article/details/109742767  打开已保存入数据的地图
    https://blog.csdn.net/Iammiky/article/details/113636410
    https://www.codeleading.com/article/48782597070/
    https://blog.csdn.net/weixin_41108690/article/details/88608748
    https://blog.csdn.net/qq_37541097/article/details/116024091
    
    基于draw.io的二次开发,文件增加本地以及oss存储
    https://gitee.com/zero123123/draw.io
    https://www.dazhuanlan.com/houfeng30920/topics/1395999
    https://gitee.com/twobear/drawio-webapp
    https://github.com/jgraph
    vue
    https://codeburst.io/from-draw-io-to-vue-js-app-c0f84ede8383
    https://www.iotschool.com/topics/189
    
    urlParams['lang'] = 'zh';//修改默认语言为中文
    urlParams['offline'] = 1;//修改为离线模式
    result['offline'] = '1'
    
                //urlParams['lang'] = 'zh';//修改默认语言为中文
                //urlParams['offline'] = 1;//修改为离线模式
                result['lang'] = '1';
                result['offline'] = 'zh';
    webappjsdiagramlyDrawioFile.js 1903行
    
     isLocalStorage = urlParams['local'] != '1' && typeof (localStorage) != 'undefined'
     
     DRAW_SERVER_URL
     loadServerData  加载数据
     window.DRAW_SERVER_URL = window.DRAW_SERVER_URL || '/file';
     saveToServer
     automatic=自动
    autosave=自动保存
    autosize=自动调整
     save=保存
     autosave
    webappjsdiagramlyLocalFile.js 129行
    加个ajax请求可将绘图信息保存到数据库 具体代码就不展示了 大致位置就在这 可以自行研究
    webapp/js/diagramly/App.js
    webapp/js/diagramly/StorageFile.js
    
    将几个菜单按钮都隐藏掉:js/mxgragh/Menus.js
    更改代码:
    
    
    
    
    
    
    hightopo
    
    https://github.com/qdteng/drawdb
    https://github.com/othorizon/drawio-webdav
    https://www.jianshu.com/p/4a1edcb07ed7
    
    
    
    https://github.com/search?p=1&q=springboot+thymeleaf+vue&type=Repositories
    https://blog.csdn.net/u014229652/article/details/82979551
    https://github.com/Jackjun724/spring-boot-blog
    https://github.com/jfreshik/test-message-app
    
    C:UsersAdministratorAppDataLocalJetBrainsIntelliJIdea2020.3	omcat
    
    
    https://app.diagrams.net/?lang=zh
    
    http://localhost:8080/drawio/index.html
    http://localhost:8080/drawio/?dev=1
    http://localhost:8080/drawio/?offline=1
    http://localhost:8082
    
    
     
    https://stackoverflow.com/questions/52512054/how-to-create-new-image-in-draw-io-and-save-it-database-from-within-my-website
    https://drawio.freshdesk.com/support/solutions/articles/16000067785-export-a-diagram-to-various-file-formats
    https://jgraph.github.io/drawio-tools/tools/convert.html
    
    huajun-drawio
    coral-draw
    eventType
    env_drawio_data
    env_drawio_user
    标准操作程序SOP
    标准作业流程SOP
    作业指导书
    作业指导流程
    NewDrawioFile.xm
    
     sop.url             
    env_sop
    
     window.open(key, "_blank");
    http://localhost:8082/admin/index.html
    
    
    
    export function listUser(query) {
      return request({
        url: '/system/user/list',
        method: 'get',
        params: query,
        baseURL: process.env.BASE_API
      })
    }
    
    
    
    
    
    
    Access to XMLHttpRequest at 'http://localhost:8082/user/check?ids=c79d8fc734fe0e4a4b31d2509e5b5e41&token=fea1cc48-1fa3-4324-ac96-06723b992935' from origin 'http://localhost' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
    
    
    No 'Access-Control-Allow-Origin' header is present on the requested resource.
    
    CorsConfig 
    
     if (StringUtils.isNotEmpty(token))
            {
                String userKey = getTokenKey(token);
                LoginUser user = redisService.getCacheObject(userKey);
                return user;
            }
    
      redis:
        database: 6
        host: 192.168.8.248
        port: 6379
        password: 
    
    http://localhost:8082
    
    
    user=darjeely&pass=cardinals5521
    
    http://localhost:8082/index.html?ownerId=1629168317743_1546895912&uuid=affe9bfc-c0e9-4885-966c-bfb7130433cd#L%E6%B2%B3%E5%8D%97%E7%9C%81%E5%BA%94%E6%80%A5%E5%8E%85
    
     this.loading = true;
     
      this.loading = false;
      
    http://localhost:8082/index.html?ownerId=publicUser&uuid=52a9dc40-96ba-4d16-86dd-8563326a224b#LNewDrawioFile.xml  
    
    
    
     http://localhost:8082/index.html?ownerId=publicUser&uuid=c79d8fc734fe0e4a4b31d2509e5b5e41&title=第三方付付付不#LNewDrawioFile.xml
     
     http://localhost:8082/index.html?ownerId=publicUser&uuid=c79d8fc734fe0e4a4b31d2509e5b5e41#LNewDrawioFile.xml
     http://localhost:8082/index.html?ownerId=publicUser&uuid=52a9dc40-96ba-4d16-86dd-8563326a224b#LNewDrawioFile.xml
     
      http://localhost:8086/index.html?ownerId=publicUser&uuid=52a9dc40-96ba-4d16-86dd-8563326a224b#LNewDrawioFile.xml
     
     
    http://localhost:8082/index.html?ownerId=publicUser&uuid=c79d8fc734fe0e4a4b31d2509e5b5e41&title=%E7%AC%AC%E4%B8%89%E6%96%B9%E4%BB%98%E4%BB%98%E4%BB%98%E4%B8%8D#LNewDrawioFile.xml
    
    http://localhost:8082/index.html?ownerId=publicUser&uuid=426d8fc734fe0e4a4b31d2509e5b5e42&title=%E6%B5%8B%E8%AF%95%E4%B8%80#LNewDrawioFile.xml
    
    http://localhost:8082/index.html?ownerId=publicUser&uuid=436d8fc734fe0e4a4b31d2509e5b5e43&title=%E6%B5%8B%E8%AF%95%E4%B8%80#LNewDrawioFile.xml
    
    
    
    2021-08-18 19:24:07.318  WARN 13560 --- [nio-8082-exec-4] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 1062, SQLState: 23000
    2021-08-18 19:24:07.318 ERROR 13560 --- [nio-8082-exec-4] o.h.engine.jdbc.spi.SqlExceptionHelper   : Duplicate entry 'publicUser' for key 'UK_ro1shf9dkhardfds9psiwqtld'
    2021-08-18 19:24:07.319 ERROR 13560 --- [nio-8082-exec-4] c.m.server.biz.base.DrawBaseService      : {"body":"PG14ZmlsZSBtb2RpZmllZD0iMjAyMS0wOC0xOFQxMDoyMjozNi4xNTlaIiBob3N0PSJsb2NhbGhvc3QiIGFnZW50PSJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvOTIuMC40NTE1LjE1OSBTYWZhcmkvNTM3LjM2IiBldGFnPSJCQVY5UE50UHBaZ2xWRGY5RjZqSiIgdmVyc2lvbj0iMTAuOS41IiB0eXBlPSJicm93c2VyIj48ZGlhZ3JhbSBpZD0iRk8ydjNhMTV0THpvVUR1YWN0elYiIG5hbWU9IlBhZ2UtMSI+eFpoYlU2TXdHSVovRFpmdWNHZ3B2YlJIN1dxclUxMVhiNXdVVW9nR3dvYlFncjkrQTRSeVZOdWR0dHR4cG54dkRpVFBkMGlxcEEzZGFFcUI3OXdTQzJKSmxhMUkwa2FTcWlvZFZaV1NQOW1LTTZYWDF6UEJwc2dTblFwaGlUNmdFR1doaHNpQ1FhVWpJd1F6NUZkRmszZ2VORmxGQTVTU2JiWGJtdURxVzMxZ3c0YXdOQUZ1cWsvSVlrNm1HbXF2MEs4Z3NwMzh6WXJlejFwY2tIY1dPd2tjWUpGdFNkTEdramFraExEc3lZMkdFQ2Z3Y2k3WnVNa25yYnVGVWVpeGZRYU0vOXpqNk9MaDZtRXpESzRlbDdvN2Z3MHZ4Q3diZ0VPeDRUams5aHZDU0ZKMTRQcVNOdkJXUWZJbGRzSGlIQTBsb1dmQlpIYUZOMjhkeE9EU0IyYlN1dVhCd0RXSHVWZzBOMWVidnhwU0JxT1NKRlkvaGNTRmpNYThpMmpWOHBnUW9kVHBDSHRiT0ViSmFUc2xwK2hDQXlJVzdOM1VCUzcrSUlnZFFFOXQwR3RBNGw3M2swY3p4b2pUb3QrVFdtVlliMVk3QVpqdmRncDdFVEkrQ3p3ZVVsMnVJaldhUlBVV29NYXBnR3I3QTJVY0hQd2d5WFFESDFMRUY1RFFMZlM3UWp4RGNOWkpxdjg5T0RzSEJDZWcxbmxTdUZ1bHBPaE5Ta1lMSkVVK0ZhWHUvcFI4U2t3WUJIdGs4T2tTdGxNRDJOSE9HR2IzM20xQXR3dnJUcVhyeVFKUFI3TW4ybktDZkJGbUdKT1FmUSt3bk05aVVEbWJqOERScU1YaHZ0bDZqTW8zbndRUDdGb3hYblFaUG04VXN1MWhKOGRZb2dZdGZoRVJKcUhNSVRieEFCNFg2cUE0Z0dWdUZYMXVDUEVGeVRmSVdDeHVWU0JrcE1vWlJvajlUb2IvVUx2Q2ZFN04zQnBGWXZMVWlFdEd5UitwOXFsUEFoSlNFMzRSUUNKZWt1MSs2VGtLTVdCb1U3Mlh0ZmxCREwwamlDOWw1L0hkUFV5NFhLdVhGQWFvRFprWVZmUG1iaG4vbmljSDNCVWljcDR6UytsWGtlZ3R4ZVJVeC8rTURVMkZ6Wkh4Ni9uK25aZkluOXBnMWxKTGxQVFRJTVUzeUtvNEFrYkpPeHdTbkxBYmVTUXB1b00xd3JnbUFZeHNMeWtySEZ0YVRCSmNpQmVaUzlIZ0lzdEtzNnVOZnpYamp1R0NYczBGVFE5MFdqeWdIc0VEL1k4bDlPVEllQWxlOGVweEVzM2pwWGxJTmVmNzVxVVpZbUpUNE5hS2RxWHR2QmV4YnUwaXBwL3pJdWJFTHo2YmVrL0tnbGpYZHMrNVhNKzhmWmp5V2ZnUDJzK2k3cmlBNmxlSTd1bU9QbTRXdjIrelFscjhsMEFiL3dVPTwvZGlhZ3JhbT48L214ZmlsZT4=","createTime":1629285847314,"delFlag":0,"id":0,"name":"NewDrawioFile.xml","ownerId":"publicUser","svgData":"ZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyWlhKemFXOXVQU0l4TGpFaUlIZHBaSFJvUFNJMk5ERndlQ0lnYUdWcFoyaDBQU0kyTmpGd2VDSWdkbWxsZDBKdmVEMGlMVEF1TlNBdE1DNDFJRFkwTVNBMk5qRWlQanhrWldaekx6NDhaejQ4Y21WamRDQjRQU0l5TXpBaUlIazlJak01TUNJZ2QybGtkR2c5SWpFeU1DSWdhR1ZwWjJoMFBTSTJNQ0lnY25nOUlqa2lJSEo1UFNJNUlpQm1hV3hzUFNJalptWm1abVptSWlCemRISnZhMlU5SWlNd01EQXdNREFpSUhCdmFXNTBaWEl0WlhabGJuUnpQU0p1YjI1bElpOCtQR2NnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb01qYzBMalVzTkRFekxqVXBJajQ4YzNkcGRHTm9QanhtYjNKbGFXZHVUMkpxWldOMElITjBlV3hsUFNKdmRtVnlabXh2ZHpwMmFYTnBZbXhsT3lJZ2NHOXBiblJsY2kxbGRtVnVkSE05SW1Gc2JDSWdkMmxrZEdnOUlqTXdJaUJvWldsbmFIUTlJakV5SWlCeVpYRjFhWEpsWkVabFlYUjFjbVZ6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5VVVpOVRWa2N4TVM5bVpXRjBkWEpsSTBWNGRHVnVjMmxpYVd4cGRIa2lQanhrYVhZZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR2gwYld3aUlITjBlV3hsUFNKa2FYTndiR0Y1T2lCcGJteHBibVV0WW14dlkyczdJR1p2Ym5RdGMybDZaVG9nTVRKd2VEc2dabTl1ZEMxbVlXMXBiSGs2SUVobGJIWmxkR2xqWVRzZ1kyOXNiM0k2SUhKbllpZ3dMQ0F3TENBd0tUc2diR2x1WlMxb1pXbG5hSFE2SURFdU1qc2dkbVZ5ZEdsallXd3RZV3hwWjI0NklIUnZjRHNnZDJsa2RHZzZJRE15Y0hnN0lIZG9hWFJsTFhOd1lXTmxPaUJ1YjNkeVlYQTdJRzkyWlhKbWJHOTNMWGR5WVhBNklHNXZjbTFoYkRzZ2RHVjRkQzFoYkdsbmJqb2dZMlZ1ZEdWeU95SStQR1JwZGlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRhSFJ0YkNJZ2MzUjViR1U5SW1ScGMzQnNZWGs2YVc1c2FXNWxMV0pzYjJOck8zUmxlSFF0WVd4cFoyNDZhVzVvWlhKcGREdDBaWGgwTFdSbFkyOXlZWFJwYjI0NmFXNW9aWEpwZER0M2FHbDBaUzF6Y0dGalpUcHViM0p0WVd3N0lqNTVkU0JxYVd4cHdxQThMMlJwZGo0OEwyUnBkajQ4TDJadmNtVnBaMjVQWW1wbFkzUStQSFJsZUhRZ2VEMGlNVFVpSUhrOUlqRXlJaUJtYVd4c1BTSWpNREF3TURBd0lpQjBaWGgwTFdGdVkyaHZjajBpYldsa1pHeGxJaUJtYjI1MExYTnBlbVU5SWpFeWNIZ2lJR1p2Ym5RdFptRnRhV3g1UFNJblNHVnNkbVYwYVdOaEp5SStXMDV2ZENCemRYQndiM0owWldRZ1lua2dkbWxsZDJWeVhUd3ZkR1Y0ZEQ0OEwzTjNhWFJqYUQ0OEwyYytQSEJoZEdnZ1pEMGlUU0ExTWpBZ05EWWdReUExTWpBZ01qUXVOamNnTlRnd0lESTBMalkzSURVNE1DQTBOaUJNSURVNE1DQTVOQ0JESURVNE1DQXhNVFV1TXpNZ05USXdJREV4TlM0ek15QTFNakFnT1RRZ1dpSWdabWxzYkQwaUkyWm1abVptWmlJZ2MzUnliMnRsUFNJak1EQXdNREF3SWlCemRISnZhMlV0YldsMFpYSnNhVzFwZEQwaU1UQWlJSEJ2YVc1MFpYSXRaWFpsYm5SelBTSnViMjVsSWk4K1BIQmhkR2dnWkQwaVRTQTFNakFnTkRZZ1F5QTFNakFnTmpJZ05UZ3dJRFl5SURVNE1DQTBOaUlnWm1sc2JEMGlibTl1WlNJZ2MzUnliMnRsUFNJak1EQXdNREF3SWlCemRISnZhMlV0YldsMFpYSnNhVzFwZEQwaU1UQWlJSEJ2YVc1MFpYSXRaWFpsYm5SelBTSnViMjVsSWk4K1BIQmhkR2dnWkQwaVRTQTFNakFnTWpVd0lFd2dOVFEwSURFNU1DQk1JRFl4TmlBeE9UQWdUQ0EyTkRBZ01qVXdJRm9pSUdacGJHdzlJaU5tWm1abVptWWlJSE4wY205clpUMGlJekF3TURBd01DSWdjM1J5YjJ0bExXMXBkR1Z5YkdsdGFYUTlJakV3SWlCd2IybHVkR1Z5TFdWMlpXNTBjejBpYm05dVpTSXZQanh3WVhSb0lHUTlJazBnTXpBd0lERXhNQ0JNSURNMU1DQXhNVEFnVENBek5UQWdNakV3SUV3Z01qY3dJREl4TUNCTUlESTNNQ0F4TkRBZ1dpSWdabWxzYkQwaUkyWm1abVptWmlJZ2MzUnliMnRsUFNJak1EQXdNREF3SWlCemRISnZhMlV0YldsMFpYSnNhVzFwZEQwaU1UQWlJSEJ2YVc1MFpYSXRaWFpsYm5SelBTSnViMjVsSWk4K1BISmxZM1FnZUQwaU16Y3dJaUI1UFNJek9EQWlJSGRwWkhSb1BTSXhNakFpSUdobGFXZG9kRDBpTmpBaUlHWnBiR3c5SWlObVptWm1abVlpSUhOMGNtOXJaVDBpSXpBd01EQXdNQ0lnY0c5cGJuUmxjaTFsZG1WdWRITTlJbTV2Ym1VaUx6NDhjR0YwYUNCa1BTSk5JRE00TWlBek9EQWdUQ0F6T0RJZ05EUXdJRTBnTkRjNElETTRNQ0JNSURRM09DQTBOREFpSUdacGJHdzlJbTV2Ym1VaUlITjBjbTlyWlQwaUl6QXdNREF3TUNJZ2MzUnliMnRsTFcxcGRHVnliR2x0YVhROUlqRXdJaUJ3YjJsdWRHVnlMV1YyWlc1MGN6MGlibTl1WlNJdlBqeHdZWFJvSUdROUlrMGdNQ0E1TUNCTUlERXlNQ0E1TUNCTUlERXlNQ0F4TkRBZ1RDQTRNQ0F4TkRBZ1RDQTJNQ0F4TnpBZ1RDQTJNQ0F4TkRBZ1RDQXdJREUwTUNCYUlpQm1hV3hzUFNJalptWm1abVptSWlCemRISnZhMlU5SWlNd01EQXdNREFpSUhOMGNtOXJaUzF0YVhSbGNteHBiV2wwUFNJeE1DSWdjRzlwYm5SbGNpMWxkbVZ1ZEhNOUltNXZibVVpTHo0OGNHRjBhQ0JrUFNKTklERXlOU0EyTWpBZ1RDQXhNalVnTkRFMUlFd2dNVFF3SURReE5TQk1JREUwTUNBeU5UWXVNemNpSUdacGJHdzlJbTV2Ym1VaUlITjBjbTlyWlQwaUl6QXdNREF3TUNJZ2MzUnliMnRsTFcxcGRHVnliR2x0YVhROUlqRXdJaUJ3YjJsdWRHVnlMV1YyWlc1MGN6MGlibTl1WlNJdlBqeHdZWFJvSUdROUlrMGdNVFF3SURJMU1TNHhNaUJNSURFME15NDFJREkxT0M0eE1pQk1JREUwTUNBeU5UWXVNemNnVENBeE16WXVOU0F5TlRndU1USWdXaUlnWm1sc2JEMGlJekF3TURBd01DSWdjM1J5YjJ0bFBTSWpNREF3TURBd0lpQnpkSEp2YTJVdGJXbDBaWEpzYVcxcGREMGlNVEFpSUhCdmFXNTBaWEl0WlhabGJuUnpQU0p1YjI1bElpOCtQSEJoZEdnZ1pEMGlUU0F4TVRBZ05UZ3dJRkVnTVRjd0lEVTRNQ0F4TnpBZ05qSXdJRkVnTVRjd0lEWTJNQ0F4TVRBZ05qWXdJRkVnTVRRd0lEWXlNQ0F4TVRBZ05UZ3dJRm9pSUdacGJHdzlJaU5tWm1abVptWWlJSE4wY205clpUMGlJekF3TURBd01DSWdjM1J5YjJ0bExXMXBkR1Z5YkdsdGFYUTlJakV3SWlCd2IybHVkR1Z5TFdWMlpXNTBjejBpYm05dVpTSXZQanhuSUhSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtEa3hMalVzTVRNdU5Ta2lQanh6ZDJsMFkyZytQR1p2Y21WcFoyNVBZbXBsWTNRZ2MzUjViR1U5SW05MlpYSm1iRzkzT25acGMybGliR1U3SWlCd2IybHVkR1Z5TFdWMlpXNTBjejBpWVd4c0lpQjNhV1IwYUQwaU16WWlJR2hsYVdkb2REMGlNVElpSUhKbGNYVnBjbVZrUm1WaGRIVnlaWE05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTDFSU0wxTldSekV4TDJabFlYUjFjbVVqUlhoMFpXNXphV0pwYkdsMGVTSStQR1JwZGlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRhSFJ0YkNJZ2MzUjViR1U5SW1ScGMzQnNZWGs2SUdsdWJHbHVaUzFpYkc5amF6c2dabTl1ZEMxemFYcGxPaUF4TW5CNE95Qm1iMjUwTFdaaGJXbHNlVG9nU0dWc2RtVjBhV05oT3lCamIyeHZjam9nY21kaUtEQXNJREFzSURBcE95QnNhVzVsTFdobGFXZG9kRG9nTVM0eU95QjJaWEowYVdOaGJDMWhiR2xuYmpvZ2RHOXdPeUIzYVdSMGFEb2dNelp3ZURzZ2QyaHBkR1V0YzNCaFkyVTZJRzV2ZDNKaGNEc2diM1psY21ac2IzY3RkM0poY0RvZ2JtOXliV0ZzT3lCMFpYaDBMV0ZzYVdkdU9pQmpaVzUwWlhJN0lqNDhaR2wySUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaG9kRzFzSWlCemRIbHNaVDBpWkdsemNHeGhlVHBwYm14cGJtVXRZbXh2WTJzN2RHVjRkQzFoYkdsbmJqcHBibWhsY21sME8zUmxlSFF0WkdWamIzSmhkR2x2YmpwcGJtaGxjbWwwTzNkb2FYUmxMWE53WVdObE9tNXZjbTFoYkRzaVBqRXhNVEV4TVR3dlpHbDJQand2WkdsMlBqd3ZabTl5WldsbmJrOWlhbVZqZEQ0OGRHVjRkQ0I0UFNJeE9DSWdlVDBpTVRJaUlHWnBiR3c5SWlNd01EQXdNREFpSUhSbGVIUXRZVzVqYUc5eVBTSnRhV1JrYkdVaUlHWnZiblF0YzJsNlpUMGlNVEp3ZUNJZ1ptOXVkQzFtWVcxcGJIazlJa2hsYkhabGRHbGpZU0krTVRFeE1URXhQQzkwWlhoMFBqd3ZjM2RwZEdOb1Bqd3ZaejQ4Y0dGMGFDQmtQU0pOSURReU1DQTJOVEFnVENBME5EUWdOVGt3SUV3Z05UUXdJRFU1TUNCTUlEVXhOaUEyTlRBZ1dpSWdabWxzYkQwaUkyWm1abVptWmlJZ2MzUnliMnRsUFNJak1EQXdNREF3SWlCemRISnZhMlV0YldsMFpYSnNhVzFwZEQwaU1UQWlJSEJ2YVc1MFpYSXRaWFpsYm5SelBTSnViMjVsSWk4K1BHVnNiR2x3YzJVZ1kzZzlJalF6TUNJZ1kzazlJalF3SWlCeWVEMGlOakFpSUhKNVBTSTBNQ0lnWm1sc2JEMGlJMlptWm1abVppSWdjM1J5YjJ0bFBTSWpNREF3TURBd0lpQndiMmx1ZEdWeUxXVjJaVzUwY3owaWJtOXVaU0l2UGp3dlp6NDhMM04yWno0PQ==","updateTime":1629285847314,"uuid":"42a9dc40-96ba-4d16-86dd-8563326a2242"}:could not execute statement; SQL [n/a]; constraint [UK_ro1shf9dkhardfds9psiwqtld]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
    2021-08-18 19:24:07.320  INFO 13560 --- [nio-8082-exec-4] c.m.server.biz.control.FileControl       : save File:{"body":"PG14ZmlsZSBtb2RpZmllZD0iMjAyMS0wOC0xOFQxMDoyMjozNi4xNTlaIiBob3N0PSJsb2NhbGhvc3QiIGFnZW50PSJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvOTIuMC40NTE1LjE1OSBTYWZhcmkvNTM3LjM2IiBldGFnPSJCQVY5UE50UHBaZ2xWRGY5RjZqSiIgdmVyc2lvbj0iMTAuOS41IiB0eXBlPSJicm93c2VyIj48ZGlhZ3JhbSBpZD0iRk8ydjNhMTV0THpvVUR1YWN0elYiIG5hbWU9IlBhZ2UtMSI+eFpoYlU2TXdHSVovRFpmdWNHZ3B2YlJIN1dxclUxMVhiNXdVVW9nR3dvYlFncjkrQTRSeVZOdWR0dHR4cG54dkRpVFBkMGlxcEEzZGFFcUI3OXdTQzJKSmxhMUkwa2FTcWlvZFZaV1NQOW1LTTZYWDF6UEJwc2dTblFwaGlUNmdFR1doaHNpQ1FhVWpJd1F6NUZkRmszZ2VORmxGQTVTU2JiWGJtdURxVzMxZ3c0YXdOQUZ1cWsvSVlrNm1HbXF2MEs4Z3NwMzh6WXJlejFwY2tIY1dPd2tjWUpGdFNkTEdramFraExEc3lZMkdFQ2Z3Y2k3WnVNa25yYnVGVWVpeGZRYU0vOXpqNk9MaDZtRXpESzRlbDdvN2Z3MHZ4Q3diZ0VPeDRUams5aHZDU0ZKMTRQcVNOdkJXUWZJbGRzSGlIQTBsb1dmQlpIYUZOMjhkeE9EU0IyYlN1dVhCd0RXSHVWZzBOMWVidnhwU0JxT1NKRlkvaGNTRmpNYThpMmpWOHBnUW9kVHBDSHRiT0ViSmFUc2xwK2hDQXlJVzdOM1VCUzcrSUlnZFFFOXQwR3RBNGw3M2swY3p4b2pUb3QrVFdtVlliMVk3QVpqdmRncDdFVEkrQ3p3ZVVsMnVJaldhUlBVV29NYXBnR3I3QTJVY0hQd2d5WFFESDFMRUY1RFFMZlM3UWp4RGNOWkpxdjg5T0RzSEJDZWcxbmxTdUZ1bHBPaE5Ta1lMSkVVK0ZhWHUvcFI4U2t3WUJIdGs4T2tTdGxNRDJOSE9HR2IzM20xQXR3dnJUcVhyeVFKUFI3TW4ybktDZkJGbUdKT1FmUSt3bk05aVVEbWJqOERScU1YaHZ0bDZqTW8zbndRUDdGb3hYblFaUG04VXN1MWhKOGRZb2dZdGZoRVJKcUhNSVRieEFCNFg2cUE0Z0dWdUZYMXVDUEVGeVRmSVdDeHVWU0JrcE1vWlJvajlUb2IvVUx2Q2ZFN04zQnBGWXZMVWlFdEd5UitwOXFsUEFoSlNFMzRSUUNKZWt1MSs2VGtLTVdCb1U3Mlh0ZmxCREwwamlDOWw1L0hkUFV5NFhLdVhGQWFvRFprWVZmUG1iaG4vbmljSDNCVWljcDR6UytsWGtlZ3R4ZVJVeC8rTURVMkZ6Wkh4Ni9uK25aZkluOXBnMWxKTGxQVFRJTVUzeUtvNEFrYkpPeHdTbkxBYmVTUXB1b00xd3JnbUFZeHNMeWtySEZ0YVRCSmNpQmVaUzlIZ0lzdEtzNnVOZnpYamp1R0NYczBGVFE5MFdqeWdIc0VEL1k4bDlPVEllQWxlOGVweEVzM2pwWGxJTmVmNzVxVVpZbUpUNE5hS2RxWHR2QmV4YnUwaXBwL3pJdWJFTHo2YmVrL0tnbGpYZHMrNVhNKzhmWmp5V2ZnUDJzK2k3cmlBNmxlSTd1bU9QbTRXdjIrelFscjhsMEFiL3dVPTwvZGlhZ3JhbT48L214ZmlsZT4=","createTime":1629285847314,"delFlag":0,"id":0,"name":"NewDrawioFile.xml","ownerId":"publicUser","svgData":"ZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyWlhKemFXOXVQU0l4TGpFaUlIZHBaSFJvUFNJMk5ERndlQ0lnYUdWcFoyaDBQU0kyTmpGd2VDSWdkbWxsZDBKdmVEMGlMVEF1TlNBdE1DNDFJRFkwTVNBMk5qRWlQanhrWldaekx6NDhaejQ4Y21WamRDQjRQU0l5TXpBaUlIazlJak01TUNJZ2QybGtkR2c5SWpFeU1DSWdhR1ZwWjJoMFBTSTJNQ0lnY25nOUlqa2lJSEo1UFNJNUlpQm1hV3hzUFNJalptWm1abVptSWlCemRISnZhMlU5SWlNd01EQXdNREFpSUhCdmFXNTBaWEl0WlhabGJuUnpQU0p1YjI1bElpOCtQR2NnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb01qYzBMalVzTkRFekxqVXBJajQ4YzNkcGRHTm9QanhtYjNKbGFXZHVUMkpxWldOMElITjBlV3hsUFNKdmRtVnlabXh2ZHpwMmFYTnBZbXhsT3lJZ2NHOXBiblJsY2kxbGRtVnVkSE05SW1Gc2JDSWdkMmxrZEdnOUlqTXdJaUJvWldsbmFIUTlJakV5SWlCeVpYRjFhWEpsWkVabFlYUjFjbVZ6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5VVVpOVRWa2N4TVM5bVpXRjBkWEpsSTBWNGRHVnVjMmxpYVd4cGRIa2lQanhrYVhZZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR2gwYld3aUlITjBlV3hsUFNKa2FYTndiR0Y1T2lCcGJteHBibVV0WW14dlkyczdJR1p2Ym5RdGMybDZaVG9nTVRKd2VEc2dabTl1ZEMxbVlXMXBiSGs2SUVobGJIWmxkR2xqWVRzZ1kyOXNiM0k2SUhKbllpZ3dMQ0F3TENBd0tUc2diR2x1WlMxb1pXbG5hSFE2SURFdU1qc2dkbVZ5ZEdsallXd3RZV3hwWjI0NklIUnZjRHNnZDJsa2RHZzZJRE15Y0hnN0lIZG9hWFJsTFhOd1lXTmxPaUJ1YjNkeVlYQTdJRzkyWlhKbWJHOTNMWGR5WVhBNklHNXZjbTFoYkRzZ2RHVjRkQzFoYkdsbmJqb2dZMlZ1ZEdWeU95SStQR1JwZGlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRhSFJ0YkNJZ2MzUjViR1U5SW1ScGMzQnNZWGs2YVc1c2FXNWxMV0pzYjJOck8zUmxlSFF0WVd4cFoyNDZhVzVvWlhKcGREdDBaWGgwTFdSbFkyOXlZWFJwYjI0NmFXNW9aWEpwZER0M2FHbDBaUzF6Y0dGalpUcHViM0p0WVd3N0lqNTVkU0JxYVd4cHdxQThMMlJwZGo0OEwyUnBkajQ4TDJadmNtVnBaMjVQWW1wbFkzUStQSFJsZUhRZ2VEMGlNVFVpSUhrOUlqRXlJaUJtYVd4c1BTSWpNREF3TURBd0lpQjBaWGgwTFdGdVkyaHZjajBpYldsa1pHeGxJaUJtYjI1MExYTnBlbVU5SWpFeWNIZ2lJR1p2Ym5RdFptRnRhV3g1UFNJblNHVnNkbVYwYVdOaEp5SStXMDV2ZENCemRYQndiM0owWldRZ1lua2dkbWxsZDJWeVhUd3ZkR1Y0ZEQ0OEwzTjNhWFJqYUQ0OEwyYytQSEJoZEdnZ1pEMGlUU0ExTWpBZ05EWWdReUExTWpBZ01qUXVOamNnTlRnd0lESTBMalkzSURVNE1DQTBOaUJNSURVNE1DQTVOQ0JESURVNE1DQXhNVFV1TXpNZ05USXdJREV4TlM0ek15QTFNakFnT1RRZ1dpSWdabWxzYkQwaUkyWm1abVptWmlJZ2MzUnliMnRsUFNJak1EQXdNREF3SWlCemRISnZhMlV0YldsMFpYSnNhVzFwZEQwaU1UQWlJSEJ2YVc1MFpYSXRaWFpsYm5SelBTSnViMjVsSWk4K1BIQmhkR2dnWkQwaVRTQTFNakFnTkRZZ1F5QTFNakFnTmpJZ05UZ3dJRFl5SURVNE1DQTBOaUlnWm1sc2JEMGlibTl1WlNJZ2MzUnliMnRsUFNJak1EQXdNREF3SWlCemRISnZhMlV0YldsMFpYSnNhVzFwZEQwaU1UQWlJSEJ2YVc1MFpYSXRaWFpsYm5SelBTSnViMjVsSWk4K1BIQmhkR2dnWkQwaVRTQTFNakFnTWpVd0lFd2dOVFEwSURFNU1DQk1JRFl4TmlBeE9UQWdUQ0EyTkRBZ01qVXdJRm9pSUdacGJHdzlJaU5tWm1abVptWWlJSE4wY205clpUMGlJekF3TURBd01DSWdjM1J5YjJ0bExXMXBkR1Z5YkdsdGFYUTlJakV3SWlCd2IybHVkR1Z5TFdWMlpXNTBjejBpYm05dVpTSXZQanh3WVhSb0lHUTlJazBnTXpBd0lERXhNQ0JNSURNMU1DQXhNVEFnVENBek5UQWdNakV3SUV3Z01qY3dJREl4TUNCTUlESTNNQ0F4TkRBZ1dpSWdabWxzYkQwaUkyWm1abVptWmlJZ2MzUnliMnRsUFNJak1EQXdNREF3SWlCemRISnZhMlV0YldsMFpYSnNhVzFwZEQwaU1UQWlJSEJ2YVc1MFpYSXRaWFpsYm5SelBTSnViMjVsSWk4K1BISmxZM1FnZUQwaU16Y3dJaUI1UFNJek9EQWlJSGRwWkhSb1BTSXhNakFpSUdobGFXZG9kRDBpTmpBaUlHWnBiR3c5SWlObVptWm1abVlpSUhOMGNtOXJaVDBpSXpBd01EQXdNQ0lnY0c5cGJuUmxjaTFsZG1WdWRITTlJbTV2Ym1VaUx6NDhjR0YwYUNCa1BTSk5JRE00TWlBek9EQWdUQ0F6T0RJZ05EUXdJRTBnTkRjNElETTRNQ0JNSURRM09DQTBOREFpSUdacGJHdzlJbTV2Ym1VaUlITjBjbTlyWlQwaUl6QXdNREF3TUNJZ2MzUnliMnRsTFcxcGRHVnliR2x0YVhROUlqRXdJaUJ3YjJsdWRHVnlMV1YyWlc1MGN6MGlibTl1WlNJdlBqeHdZWFJvSUdROUlrMGdNQ0E1TUNCTUlERXlNQ0E1TUNCTUlERXlNQ0F4TkRBZ1RDQTRNQ0F4TkRBZ1RDQTJNQ0F4TnpBZ1RDQTJNQ0F4TkRBZ1RDQXdJREUwTUNCYUlpQm1hV3hzUFNJalptWm1abVptSWlCemRISnZhMlU5SWlNd01EQXdNREFpSUhOMGNtOXJaUzF0YVhSbGNteHBiV2wwUFNJeE1DSWdjRzlwYm5SbGNpMWxkbVZ1ZEhNOUltNXZibVVpTHo0OGNHRjBhQ0JrUFNKTklERXlOU0EyTWpBZ1RDQXhNalVnTkRFMUlFd2dNVFF3SURReE5TQk1JREUwTUNBeU5UWXVNemNpSUdacGJHdzlJbTV2Ym1VaUlITjBjbTlyWlQwaUl6QXdNREF3TUNJZ2MzUnliMnRsTFcxcGRHVnliR2x0YVhROUlqRXdJaUJ3YjJsdWRHVnlMV1YyWlc1MGN6MGlibTl1WlNJdlBqeHdZWFJvSUdROUlrMGdNVFF3SURJMU1TNHhNaUJNSURFME15NDFJREkxT0M0eE1pQk1JREUwTUNBeU5UWXVNemNnVENBeE16WXVOU0F5TlRndU1USWdXaUlnWm1sc2JEMGlJekF3TURBd01DSWdjM1J5YjJ0bFBTSWpNREF3TURBd0lpQnpkSEp2YTJVdGJXbDBaWEpzYVcxcGREMGlNVEFpSUhCdmFXNTBaWEl0WlhabGJuUnpQU0p1YjI1bElpOCtQSEJoZEdnZ1pEMGlUU0F4TVRBZ05UZ3dJRkVnTVRjd0lEVTRNQ0F4TnpBZ05qSXdJRkVnTVRjd0lEWTJNQ0F4TVRBZ05qWXdJRkVnTVRRd0lEWXlNQ0F4TVRBZ05UZ3dJRm9pSUdacGJHdzlJaU5tWm1abVptWWlJSE4wY205clpUMGlJekF3TURBd01DSWdjM1J5YjJ0bExXMXBkR1Z5YkdsdGFYUTlJakV3SWlCd2IybHVkR1Z5TFdWMlpXNTBjejBpYm05dVpTSXZQanhuSUhSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtEa3hMalVzTVRNdU5Ta2lQanh6ZDJsMFkyZytQR1p2Y21WcFoyNVBZbXBsWTNRZ2MzUjViR1U5SW05MlpYSm1iRzkzT25acGMybGliR1U3SWlCd2IybHVkR1Z5TFdWMlpXNTBjejBpWVd4c0lpQjNhV1IwYUQwaU16WWlJR2hsYVdkb2REMGlNVElpSUhKbGNYVnBjbVZrUm1WaGRIVnlaWE05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTDFSU0wxTldSekV4TDJabFlYUjFjbVVqUlhoMFpXNXphV0pwYkdsMGVTSStQR1JwZGlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRhSFJ0YkNJZ2MzUjViR1U5SW1ScGMzQnNZWGs2SUdsdWJHbHVaUzFpYkc5amF6c2dabTl1ZEMxemFYcGxPaUF4TW5CNE95Qm1iMjUwTFdaaGJXbHNlVG9nU0dWc2RtVjBhV05oT3lCamIyeHZjam9nY21kaUtEQXNJREFzSURBcE95QnNhVzVsTFdobGFXZG9kRG9nTVM0eU95QjJaWEowYVdOaGJDMWhiR2xuYmpvZ2RHOXdPeUIzYVdSMGFEb2dNelp3ZURzZ2QyaHBkR1V0YzNCaFkyVTZJRzV2ZDNKaGNEc2diM1psY21ac2IzY3RkM0poY0RvZ2JtOXliV0ZzT3lCMFpYaDBMV0ZzYVdkdU9pQmpaVzUwWlhJN0lqNDhaR2wySUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaG9kRzFzSWlCemRIbHNaVDBpWkdsemNHeGhlVHBwYm14cGJtVXRZbXh2WTJzN2RHVjRkQzFoYkdsbmJqcHBibWhsY21sME8zUmxlSFF0WkdWamIzSmhkR2x2YmpwcGJtaGxjbWwwTzNkb2FYUmxMWE53WVdObE9tNXZjbTFoYkRzaVBqRXhNVEV4TVR3dlpHbDJQand2WkdsMlBqd3ZabTl5WldsbmJrOWlhbVZqZEQ0OGRHVjRkQ0I0UFNJeE9DSWdlVDBpTVRJaUlHWnBiR3c5SWlNd01EQXdNREFpSUhSbGVIUXRZVzVqYUc5eVBTSnRhV1JrYkdVaUlHWnZiblF0YzJsNlpUMGlNVEp3ZUNJZ1ptOXVkQzFtWVcxcGJIazlJa2hsYkhabGRHbGpZU0krTVRFeE1URXhQQzkwWlhoMFBqd3ZjM2RwZEdOb1Bqd3ZaejQ4Y0dGMGFDQmtQU0pOSURReU1DQTJOVEFnVENBME5EUWdOVGt3SUV3Z05UUXdJRFU1TUNCTUlEVXhOaUEyTlRBZ1dpSWdabWxzYkQwaUkyWm1abVptWmlJZ2MzUnliMnRsUFNJak1EQXdNREF3SWlCemRISnZhMlV0YldsMFpYSnNhVzFwZEQwaU1UQWlJSEJ2YVc1MFpYSXRaWFpsYm5SelBTSnViMjVsSWk4K1BHVnNiR2x3YzJVZ1kzZzlJalF6TUNJZ1kzazlJalF3SWlCeWVEMGlOakFpSUhKNVBTSTBNQ0lnWm1sc2JEMGlJMlptWm1abVppSWdjM1J5YjJ0bFBTSWpNREF3TURBd0lpQndiMmx1ZEdWeUxXVjJaVzUwY3owaWJtOXVaU0l2UGp3dlp6NDhMM04yWno0PQ==","updateTime":1629285847314,"uuid":"42a9dc40-96ba-4d16-86dd-8563326a2242"}
    Application Cache Error event: Manifest fetch failed (404)
    
    
    
    errorLoadingFile=加载文件出错
    
    
    =========================部署====================================
    中没有主清单属性
    java -jar huajun-drawio-3.0.0-2108191615.jar
    
    java -jar huajun-drawio-1.0.jar
    
    
    spring boot gradle jar
    HuajunDrawioApplication
    com.mxgraph.server.HuajunDrawioApplication.main
    
    Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
    
    Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            ... 1 more
            
    https://stackoverflow.com/questions/58810438/gradle-spring-boot-error-java-lang-classnotfoundexception-org-springframework
    https://stackoverflow.com/questions/58810438/gradle-spring-boot-error-java-lang-classnotfoundexception-org-springframework
    
            
    
    
    部署
    diagrams.net
    https://os.51cto.com/art/202004/615447.htm
    https://github.com/tobyqin/drawio-local
    https://gitee.com/twobear/drawio-webapp
    https://www.lefer.cn/posts/16902/
    https://blog.csdn.net/mathcoder23/article/details/118763696
    https://blog.csdn.net/mathcoder23/article/details/118763696  部署重要
    托管静态Html到OSS
    1.由于html的静态化,我们需要先修改静态代码指向的Drawio私有云后端服务地址
    编辑html/admin/config.js
    
    将window.baseUrl = '/api'更改为后端地址,http://ip:8080/api这里的ip是公网ip,注意后面不要加斜杠
    
    这里的http://ip:8080/api也可以改为//ip:8080/api,跟随前端协议变化而变化,但是需要自行配置https
    https://github.com/othorizon/drawio-webdav
    https://github.com/jgraph/drawio
    https://gitee.com/twobear/projects
    
    
    
    npm install
    npm  run dev
    
    
    http://localhost:8086/admin/login.html
    
    http://localhost:8086/index.html
    
    http://localhost:8086/js/diagramly/Init.js
    
    
    http://localhost:8086/index.html?ownerId=publicUser&uuid=52a9dc40-96ba-4d16-86dd-8563326a224b#LNewDrawioFile.xml
     
    
    
    后台api地址
    http://localhost:8083
    http://localhost:8083/index-dev.html
    
    
    https://blog.csdn.net/fm0517/article/details/117560735
    https://blog.csdn.net/qq_36202485/article/details/103406256
    https://www.codenong.com/cs106012044/
    https://www.bilibili.com/read/cv6514509
    https://www.cxyzjd.com/article/FesonX/103344938
    
    
    
    http://devhost.jgraph.com/drawio/src/main/webapp/js/diagramly/Init.js
    http://localhost:8083/js/diagramly/Init.js
    
    http://devhost.jgraph.com/mxgraph2/javascript/examples/grapheditor/www/js/Init.js
    http://localhost:8083/js/mxgraph/Init.js
    
    http://devhost.jgraph.com/mxgraph2/javascript/src/js/mxClient.js
    
    http://devhost.jgraph.com/drawio/src/main/webapp/js/diagramly/Devel.js
    http://localhost:8083/js/diagramly/Devel.js
    
    ========================================================================================
    
    http://localhost:8086/index.html?ownerId=publicUser&uuid=52a9dc40-96ba-4d16-86dd-8563326a224b#LNewDrawioFile.xml
    
    
    
    
    
    
    huajun-drawio
  • 相关阅读:
    lua判断字符串包含另一个字符串
    expect使用技巧
    Linux expect
    expect正则捕获返回结果
    修改alpine Linux的Docker容器的时区
    Dockerfile镜像优化,减小镜像
    Sed在匹配行前后加入一行
    scp的使用以及cp的对比
    rsync 的用法
    傅里叶系列(一)傅里叶级数的推导 (转)
  • 原文地址:https://www.cnblogs.com/Jeely/p/15242568.html
Copyright © 2011-2022 走看看