1. 常见问题

1.1. 老版本(5.4.0以下,不包含5.4.0)MCms使用新版本代码生成器方法

1.1.1. 事先准备

head-file

<meta charset="utf-8">

<!--网络请求框架-->
<script src="${base}/static/plugins/axios/0.18.0/axios.min.js"></script>
<script src="${base}/static/plugins/qs/6.6.0/qs.min.js"></script>

<script type="text/javascript" src="${base}/static/plugins/vue/3.4.25/vue.global.js"></script>
<script src="${base}/static/plugins/vue-i18n/8.18.2/vue-i18n.js"></script>

<!-- 图标 -->
<link rel="stylesheet" type="text/css" href="${base}/static/plugins/iconfont/1.0.0/iconfont.css" />
<script src="${base}/static/plugins/iconfont/1.0.0/iconfont.js"></script>

<!-- element-plus引入 -->
<link rel="stylesheet" type="text/css" href="${base}/static/plugins/element-plus/2.7.1/index.css" />
<script src="${base}/static/plugins/element-plus/2.7.1/index.full.js"></script>
<script src="${base}/static/plugins/element-plus/2.7.1/zh-cn.js"></script>
<link rel="stylesheet"  type="text/css" href="${base}/static/plugins/element-icons/icon.css" />

<!--金额转换-->
<script src="${base}/static/plugins/accounting/0.4.1/accounting.js"></script>
<!--时间转换-->
<script src="${base}/static/plugins/moment/2.24.0/moment.min.js"></script>

<!--百度编辑器-->
<script src="${base}/static/plugins/vue-ueditor-wrap/3.0/vue-ueditor-wrap.umd.js"></script>

<!--复制-->
<script src="${base}/static/plugins/clipboard/clipboard.js"></script>
<!--通用样式-->
<link rel="stylesheet" href="${base}/static/css/app.css"/>
<!--主题-->
<link rel="stylesheet" href="${base}/static/css/theme.css">


<!--代码编辑-->
<script src="${base}/static/plugins/codemirror/5.48.4/codemirror.js"></script>
<link href="${base}/static/plugins/codemirror/5.48.4/codemirror.css" rel="stylesheet">
<script src="${base}/static/plugins/codemirror/5.48.4/mode/css/css.js"></script>
<script src="${base}/static/plugins/codemirror/5.48.4/addon/scroll/annotatescrollbar.js"></script>
<script src="${base}/static/plugins/codemirror/5.48.4/mode/xml/xml.js"></script>
<script src="${base}/static/plugins/codemirror/5.48.4/mode/javascript/javascript.js"></script>
<script src="${base}/static/plugins/codemirror-editor-vue3/2.5.8/codemirror-editor-vue3.umd.js"></script>
<!--自定义-->
<script src="${base}/static/plugins/vue3-sfc-loader/0.9.5/vue3-sfc-loader.js"></script>
<script>
    //必须先设置对象,否则自定义无法渲染
    window.vue3SfcLoader = window["vue3-sfc-loader"];
</script>
<!--铭飞-->
<script src="${base}/static/plugins/ms/3.0/ms.umd.js"></script>
<script src="${base}/static/plugins/ms/3.0/ms-el-form.umd.js"></script>
<link rel="stylesheet"  type="text/css" href="${base}/static/plugins/ms/3.0/ms-el-form.css" />
<script src="${base}/static/mdiy/index.js"></script>

<!-- 此部分是铭飞平台MStroe的客户端(MStore不在铭飞开源产品范围),如果不需要使用MStore可以删除掉 -->
<script src="${base}/static/plugins/ms/3.0/ms-store.umd.js"></script>
<link rel="stylesheet"  type="text/css" href="${base}/static/plugins/ms/3.0/ms-store.css" />

<!--高德地图-->
<script src="${base}/static/plugins/vue-amap/2.0.0/index.min.js"></script>
<link rel="stylesheet" href="${base}/static/plugins/vue-amap/2.0.0/style.min.css">


<script >
    window.VueAMap.initAMapApiLoader({
        key: '33307e966f7ce225e2073fcea538553e',
        securityJsCode:'701ae19d1eabdd830a68129d7415e4d0'
    });
    ms.base = "${base}";
    ms.login = "${managerPath}/login.do";
    ms.manager = "${managerPath}";
    ms.web = ms.base;

    ms.editorConfig= {
        imageScaleEnabled :true,
        autoHeightEnabled: true,
        autoFloatEnabled: false,
        scaleEnabled: true,
        compressSide:0,
        maxImageSideLength:1000,
        maximumWords: 2000,
        initialFrameWidth: '100%',
        initialFrameHeight: 400,
        serverUrl: ms.base + "/static/plugins/ueditor/1.4.3.3/jsp/editor.do?jsonConfig=%7BvideoUrlPrefix:\'\',fileManagerListPath:\'\',imageMaxSize:204800000,videoMaxSize:204800000,fileMaxSize:204800000,fileUrlPrefix:\'\',imageUrlPrefix:\'\',imagePathFormat:\'/${app.id}/editor/%7Btime%7D\',filePathFormat:\'/${app.id}/editor/%7Btime%7D\',videoPathFormat:\'/${app.id}/editor/%7Btime%7D\'%7D",
        UEDITOR_HOME_URL: ms.base + '/static/plugins/ueditor/1.4.3.3/'
    }

</script>
<script >


    /**
     * 封装vue创建过程,方便初始化组件
     * @param obj
     * @returns vue实例
     * @private
     */
    function _Vue(obj) {

        var app = Vue.createApp(obj);
        app.config.globalProperties.ms = ms;
        app.use(ElementPlus,{
            locale: ElementPlusLocaleZhCn
        });
        app.use(MsElForm);
        app.use(MsStore);
        app.use(VueAMap);
        app.use(VueUeditorWrap);
        app.use(InstallCodemirro, { componentName: "codemirror" });
        app.config.globalProperties.moment = window.moment;
        app.config.globalProperties.moneyFormatter = function (row, column, cellValue, index) {
            if (cellValue != undefined) {
                return accounting.formatMoney(cellValue, '¥')
            } else {
                return ''
            }
        }

        app.component(obj.components);
        return app.mount(obj.el);
    }
</script>
<style>
    .ms-admin-menu .is-active {
        border: 0px !important;
    }

</style>

其他资源文件

// 从开源最新版本获取下面的资源,并覆盖更新到当前版本src/main/webapp/static/plugins/目录下

src/main/webapp/static/plugins/element-icons
src/main/webapp/static/plugins/element-plus
src/main/webapp/static/plugins/vue-amap
src/main/webapp/static/plugins/ms
src/main/webapp/static/plugins/vue
src/main/webapp/static/plugins/vue3-sfc-loader
src/main/webapp/static/plugins/codemirror-editor-vue3
src/main/webapp/static/plugins/vue-ueditor-wrap

1.1.2. 下载源码使用

对于源代码的ftl文件,需要将include的路径换成上面head-file的路径

引用新版本head-file示例图

1.1.3. 自定义模型使用

推荐更新到最新版本

1.2. 后台页面国际化设置

可以通过mysql-国际化模板组实现,以下是效果图 国际化-英文 国际化-中文

[!tip]注意 已有页面不会直接设置成国际化,可以通过国际化模板下载代码后,参考添加

1.3. 代码生成器生成脚手架页面

使用mysql-vue模板组,拖拽组件后,下载代码的结构如下 mysql-vue模板下载代码结构

  1. 下载后,将src文件夹覆盖到后端,views文件夹覆盖到脚手架;
  2. 通过代码生成器编辑菜单->初始化菜单->复制菜单,将菜单导入到系统中(权限管理->菜单管理处导入),完成脚手架路由的配置

1.4. 组件设置不可重复属性

  1. 设置不可重复表示该组件的值唯一
  2. 后台新增和更新都对组件值做了唯一校验
  3. 前端校验需要手动添加,下面给一个示例 不可重复示例
    // form.ftl 表单页
    ...
     data:function() {
             var checkRepeat = function (rule, value, callback){
                 ms.http.get(ms.manager + "/norepeat/norepeatInput/verify.do",{
                     fieldName: "input_no_repeat",
                     fieldValue: value,
                     id: ms.util.getParameter("id"),
                     idName: "id"
                 }).then(function (res){
                     if (res.result) {
                         if (!res.data) {
                             callback("名称值已存在!");
                         } else {
                             callback();
                         }
                     }
                 })
             }
             return {
                 //表单数据
                 form: {
                     // 名称
                     inputA:'',
                 },
                 rules:{
                     // 名称
                     inputA: [{validator:checkRepeat,trigger: ['change']}],
                 }
    ...
    

1.5. 下载的代码放怎么使用?

代码是基于开源项目MCms,方便用户快速二次开发,使用的引用都在开源项目中,直接放在开源项目,导入菜单数据即可。

1.6. 生成的代码怎么看界面?

  1. 先通过项目拖动好您需要的业务表单页,并保存
  2. 在代码生成器项目列表中获取菜单数据,菜单数据可以初始化,开发者也可以加所需要的菜单。
  3. 点击复制菜单,在后台菜单管理中点击导入菜单。 代码生成器菜单

1.7. 导入菜单数据后图标显示不全?

确保开源项目代码是跟master分支同步,所引用的图标都在static目录中。

1.8. 导入菜单的入口在哪,菜单管理中没有这个功能?

导入菜单功能是基于basic1.0.17以上版本,在项目中使用最新的依赖即可。

<dependency>
    <groupId>net.mingsoft</groupId>
    <artifactId>ms-basic</artifactId>
    <version>1.0.17</version>
</dependency>

1.9. 生成的代码城市数据没有怎么办?

使用该组件请下载mstore插件中城市数据,获取最新的city表获取对应的城市数据源。

1.10. 代码生成器数据库字段名为保留关键词怎么办?

  1. 先试用其他字段名保存业务表单
  2. 下载源码后,通过批量替换一下对应的sql和xml等相关涉及的地方

Copyright © mingsoft.net 2021 all right reserved,powered by Gitbook该文件修订时间: 2024-09-06 10:55:12

results matching ""

    No results matching ""

    results matching ""

      No results matching ""