From 5dba088e09b8e93a3666a9b3ae58f2389a1c9379 Mon Sep 17 00:00:00 2001 From: zhouyk <1595705593@qq.com> Date: Fri, 9 Sep 2022 15:25:36 +0800 Subject: [PATCH] =?UTF-8?q?5.2.9=20=E9=A2=84=E5=8F=91=E5=B8=83=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/webapp/static/images/404.png | Bin 0 -> 9119 bytes src/main/webapp/static/images/500.png | Bin 0 -> 4870 bytes src/main/webapp/static/mdiy/index.js | 260 +++++ .../plugins/platform/ms-store.umd.min.js | 953 ++++++++++++++++++ src/main/webapp/template/1/default/header.htm | 4 +- src/main/webapp/template/1/default/index.htm | 6 +- 6 files changed, 1216 insertions(+), 7 deletions(-) create mode 100644 src/main/webapp/static/images/404.png create mode 100644 src/main/webapp/static/images/500.png create mode 100644 src/main/webapp/static/mdiy/index.js create mode 100644 src/main/webapp/static/plugins/platform/ms-store.umd.min.js diff --git a/src/main/webapp/static/images/404.png b/src/main/webapp/static/images/404.png new file mode 100644 index 0000000000000000000000000000000000000000..9492d7dd2a0978a7e92f52c05fad51333e800d5e GIT binary patch literal 9119 zcmZ8ncQ~72*QZp?8nvmd!=?yT6t%UrwPw|-6(I;xd$ek`N@}-i(}b!Wu}6)jszwnp zYLCQhl;V4|@B9Ao<+^g^x}W>x+~@qxz0U7E@y7Rb8ECm_$;ikU^!4tTl97=UfG-y{ z74XC)qK5?hP(n5J&8dOUQ)=huK$`}l_Yg`(M#pmYB_Ey+`vW{=_t$>lujS|B=#&l4)3Wu~~& zT%AZpCP1ctN5ecQXLEWwU`j8mXS)}AXpg5JOlr$AYXV(8S0OBOx&4XIlbcZ%x{TB-4>??KcXZaHy*xJuI~D}yqM=Pq4jD07 hen^EHu=AL#bq~11Zp_{8h+2 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 b$3LZ*O>xl9CA9JObp+5-(^IW}4i5Vt+evfM literal 0 HcmV?d00001 diff --git a/src/main/webapp/static/mdiy/index.js b/src/main/webapp/static/mdiy/index.js new file mode 100644 index 00000000..a43aae52 --- /dev/null +++ b/src/main/webapp/static/mdiy/index.js @@ -0,0 +1,260 @@ +/** + * 自定义模块前端工具 + */ +(function () { + + + let URLS = { + "config": { + "get": "/mdiy/config/get.do", + formURL: { + update: { + "url": "/mdiy/configData/update.do", + "params": {} + }, + save: { + "url": "/mdiy/configData/update.do", + "params": {} + }, + get: { + "url": "/mdiy/configData/get.do", + "params": {} + } + }, + + }, + "form": { + "get": "/mdiy/form/get.do", + formURL: { + update: { + "url": "/mdiy/formData/update.do", + "params": {} + }, + save: { + "url": "/mdiy/formData/save.do", + "params": {} + }, + get: { + "url": "/mdiy/formData/getData.do", + "params": {} + } + }, + }, + "model": { + "get": "/mdiy/model/get.do", + formURL: { + update: { + "url": "/mdiy/model/data/update.do", + "params": {} + }, + save: { + "url": "/mdiy/model/data/save.do", + "params": {} + }, + get: { + "url": "/mdiy/model/data.do", + "params": {} + } + }, + } + }; + + /** + * 获取自定义配置 + * @param configName:配置名称 + * @paramk key:配置的key值(可选),key == null 可以获取所有的配置 + * @param isSystem true 后台调用会拼接后台地址 false前台调用 + */ + function config(configName, key,isSystem) { + + var data = {configName: configName}; + + if(key != null) { + data.key = key; + } + + if(isSystem) { + return ms.http.get(ms.manager + "/mdiy/configData/getMap.do",data); + } else { + return ms.http.get(ms.base + "/mdiy/config/get.do",data); + } + + } + + + + var dict = { + /** + * 获取所有字典类型的数组集合 + * @param dictType 字典类型 支持多个类型用英文逗号隔开 + * @param isChild 子业务类型 可选 + */ + list: function(dictType, isChild) { + var _dict = { + dictType: dictType, + isChild: isChild, + } + return ms.http.get(ms.base + '/mdiy/dict/list.do', _dict); + }, + /** + * 根据字典 value 获取对应的 label + * @param dictList 字典列表 + * @param value 值 + * @returns {string|string|[{message: string, required: boolean}]|*} + */ + getLabel: function(dictList, value) { + var data = dictList.find(function (v) { + return v.dictValue == value; + }); + + if (data) { + return data.dictLabel; + } + return ""; + }, + /** + * 根据字典 label 获取对应的 value + * @param dictList 字典列表 + * @param label 值 + * @returns {string|string|[{message: string, required: boolean}]|*} + */ + getValue: function(dictList, label) { + var data = dictList.find(function (v) { + return v.dictLabel == label; + }); + + if (data) { + return data.dictValue; + } + return ""; + } + + } + + + var model = { + + /** + * 模型地址资源配置 + */ + + /** + * 配置模型 + * @param renderDomId 绑定的domid,表单会显示在dom里面 + * @param model 模型对象 示例:业务调用{modelName:模型名称},自动业务使用{id:模型编号} + * @param params 请求参数 示例:{参数名称:值} + * @param isSystem true 后台调用会拼接后台地址 false前台调用 + * @returns {Promise} + */ + config: function(renderDomId, model, params, isSystem) { + + URLS.config.formURL.get.params = params; + var urlStrs = JSON.stringify(URLS.config.formURL); + return this.render(renderDomId, model, JSON.parse(urlStrs), URLS["config"].get, isSystem); + }, + + /** + * 业务表单模型 + * @param renderDomId 绑定的domid,表单会显示在dom里面 + * @param model 模型对象 示例:业务调用{modelName:模型名称},自动业务使用{id:模型编号} + * @param params 请求参数 示例:{参数名称:值} + * @param isSystem true 后台调用会拼接后台地址 false前台调用 + * @returns {Promise} + */ + form: function(renderDomId, model, params, isSystem) { + URLS.form.formURL.get.params = params; + var urlStrs = JSON.stringify(URLS.form.formURL); + return this.render(renderDomId, model, JSON.parse(urlStrs), URLS["form"].get, isSystem); + }, + + /** + * 扩展业务模型 + * @param renderDomId 绑定的domid,表单会显示在dom里面 + * @param model 模型对象 示例:业务调用方式{modelName:模型名称}如配置的使用,自动业务使用{id:模型编号},如内容模型 + * @param params 请求参数 示例:{参数名称:值} + * @param isSystem true 后台调用会拼接后台地址 false前台调用 + * @returns {Promise} + */ + extend: function(renderDomId, model, params, isSystem) { + + URLS.model.formURL.get.params = params; + var urlStrs = JSON.stringify(URLS.model.formURL); + return this.render(renderDomId, model,JSON.parse(urlStrs) , URLS["model"].get, isSystem); + }, + + /** + * 渲染自定义模型对象 + * @param renderDomId 绑定的domid,表单会显示在dom里面 + * @param model 模型对象 示例:业务调用{modelName:模型名称},自动业务使用{id:模型编号} + * @param url 模型获取地址 + * @param isSystem true 后台调用会拼接后台地址 false前台调用 + * @returns {Promise} 返回model对象 + */ + render: function(renderDomId, model, formUrls, url, isSystem) { + // if(model.modelName!=undefined || model.modelId!=undefined){ + // return null; + // } + //查模型 + + if (isSystem) { + url = ms.manager + url; + formUrls.update.url = ms.manager + formUrls.update.url; + formUrls.save.url = ms.manager + formUrls.save.url; + formUrls.get.url = ms.manager + formUrls.get.url; + } + var modelId = 0; + var modelName = ""; + + return new Promise(function(resolve,reject) { + + ms.http.get(url, model).then(function (res) { + if (res.result && res.data) { + //因为命名规范问做容错处理 + if("undefined" != typeof formVue) { + form = formVue; + } + form.mdiyModel = res.data; + modelId = res.data.id; + modelName = res.data.modelName; + var data = JSON.parse(form.mdiyModel.modelJson); + form.$nextTick(function () { + + var modelDom = document.getElementById(renderDomId); + modelDom.innerHTML=""; + var modelDom = document.getElementById(renderDomId); + var scriptDom = document.createElement('script'); + scriptDom.innerHTML = data.script; + var divDom = document.createElement('div'); + divDom.id = 'custom-model'; + divDom.innerHTML = data.html; + modelDom.appendChild(scriptDom); + modelDom.appendChild(divDom); //初始化自定义模型并传入关联参数 + // promise抛出resolve进行外部调用自定义模型 + resolve(new custom_model({ + data: { + modelName: modelName, + modelId: modelId, + formURL: formUrls + } + })) + }); + + } + }); + }) + } + } + + var mdiy = { + dict: dict, + model: model, + config: config + } + + + if (typeof ms != "object") { + window.ms = {}; + } + window.ms.mdiy = mdiy; + window.ms.debug = false +}()); diff --git a/src/main/webapp/static/plugins/platform/ms-store.umd.min.js b/src/main/webapp/static/plugins/platform/ms-store.umd.min.js new file mode 100644 index 00000000..c5453611 --- /dev/null +++ b/src/main/webapp/static/plugins/platform/ms-store.umd.min.js @@ -0,0 +1,953 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["ms-store"] = factory(); + else + root["ms-store"] = factory(); +})((typeof self !== 'undefined' ? self : this), function() { + return /******/ (function(modules) { // webpackBootstrap + /******/ // The module cache + /******/ var installedModules = {}; + /******/ + /******/ // The require function + /******/ function __webpack_require__(moduleId) { + /******/ + /******/ // Check if module is in cache + /******/ if(installedModules[moduleId]) { + /******/ return installedModules[moduleId].exports; + /******/ } + /******/ // Create a new module (and put it into the cache) + /******/ var module = installedModules[moduleId] = { + /******/ i: moduleId, + /******/ l: false, + /******/ exports: {} + /******/ }; + /******/ + /******/ // Execute the module function + /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); + /******/ + /******/ // Flag the module as loaded + /******/ module.l = true; + /******/ + /******/ // Return the exports of the module + /******/ return module.exports; + /******/ } + /******/ + /******/ + /******/ // expose the modules object (__webpack_modules__) + /******/ __webpack_require__.m = modules; + /******/ + /******/ // expose the module cache + /******/ __webpack_require__.c = installedModules; + /******/ + /******/ // define getter function for harmony exports + /******/ __webpack_require__.d = function(exports, name, getter) { + /******/ if(!__webpack_require__.o(exports, name)) { + /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); + /******/ } + /******/ }; + /******/ + /******/ // define __esModule on exports + /******/ __webpack_require__.r = function(exports) { + /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { + /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); + /******/ } + /******/ Object.defineProperty(exports, '__esModule', { value: true }); + /******/ }; + /******/ + /******/ // create a fake namespace object + /******/ // mode & 1: value is a module id, require it + /******/ // mode & 2: merge all properties of value into the ns + /******/ // mode & 4: return value when already ns object + /******/ // mode & 8|1: behave like require + /******/ __webpack_require__.t = function(value, mode) { + /******/ if(mode & 1) value = __webpack_require__(value); + /******/ if(mode & 8) return value; + /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; + /******/ var ns = Object.create(null); + /******/ __webpack_require__.r(ns); + /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); + /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); + /******/ return ns; + /******/ }; + /******/ + /******/ // getDefaultExport function for compatibility with non-harmony modules + /******/ __webpack_require__.n = function(module) { + /******/ var getter = module && module.__esModule ? + /******/ function getDefault() { return module['default']; } : + /******/ function getModuleExports() { return module; }; + /******/ __webpack_require__.d(getter, 'a', getter); + /******/ return getter; + /******/ }; + /******/ + /******/ // Object.prototype.hasOwnProperty.call + /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; + /******/ + /******/ // __webpack_public_path__ + /******/ __webpack_require__.p = ""; + /******/ + /******/ + /******/ // Load entry module and return exports + /******/ return __webpack_require__(__webpack_require__.s = "./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"); + /******/ }) + /************************************************************************/ + /******/ ({ + + /***/ "./node_modules/@soda/get-current-script/index.js": + /*!********************************************************!*\ + !*** ./node_modules/@soda/get-current-script/index.js ***! + \********************************************************/ + /*! no static exports found */ + /***/ (function(module, exports, __webpack_require__) { + + eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*