当前位置: 首页 > article >正文

yshop代码生成器遇到的问题 eFrom.vue没生成

what

eForm.ftl文件文件不支持生成eForm.vue文件

how

1. eForm.ftl文件文件不支持生成eForm.vue文件

Part 1: 生成eForm.vue文件, 
Reson: 添加eForm生成文件规则,解决报错问题
module: yshop-generator

pakage: co.yixiang.modules.gen.utils.GenUtil

    /**
     * 获取前端代码模板名称
     * @return List
     */
    private static List<String> getFrontTemplateNames() {
        List<String> templateNames = new ArrayList<>();
        templateNames.add("index");
        templateNames.add("api");
        /**
         * Date: 2023/04/05
         * 代码里面没有添加,估计暂时没整合
         */
        templateNames.add("eForm");
        return templateNames;
    }

eForm.ftl 修改column.olumnComment为column.remark。

<template>
    <el-dialog :append-to-body="true" :close-on-click-modal="false" :before-close="cancel" :visible.sync="dialog"
               :title="isAdd ? '新增' : '编辑'" width="500px">
        <el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
            <#if columns??>
                <#list columns as column>
                    <#if column.changeColumnName != '${pkChangeColName}'>
                        <el-form-item
                                label="<#if column.remark != ''>${column.remark }<#else>${column.changeColumnName}</#if>"
                                <#if column.columnKey = 'UNI'>prop="${column.changeColumnName}"</#if>>
                            <el-input v-model="form.${column.changeColumnName}" style="width: 370px;"/>
                        </el-form-item>
                    </#if>
                </#list>
            </#if>
        </el-form>
..........................此处省略代码
</template>
..........................此处省略代码

end 问题解决,生成eForm.vue也不会报错

Part2: 数据库表添加column_comment

module: yshop-generator

pakage: co.yixiang.modules.gen.utils.GenUtil

    /**
     * 获取前端代码模板名称
     * @return List
     */
    private static List<String> getFrontTemplateNames() {
        List<String> templateNames = new ArrayList<>();
        templateNames.add("index");
        templateNames.add("api");
        /**
         * Date: 2023/04/05
         * 代码里面没有添加,估计暂时没整合
         */
        templateNames.add("eForm");
        return templateNames;
    }

SQL脚本

ALTER TABLE `column_config` 
ADD COLUMN `column_comment` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL AFTER `column_type`;
module: yshop-generator

package: co.yixiang.modules.gen.domain.ColumnConfig

添加字段 && 构造函数

    /** 数据库字段描述 */
    private String columnComment;
    
    public ColumnConfig(String tableName, String columnName, Boolean notNull, String columnType, String columnComment, String remark, String keyType, String extra) {
        this.tableName = tableName;
        this.columnName = columnName;
        this.columnType = columnType;
        this.columnComment = columnComment;
        this.keyType = keyType;
        this.extra = extra;
        this.notNull = notNull;
        if (GenUtil.PK.equalsIgnoreCase(keyType) && GenUtil.EXTRA.equalsIgnoreCase(extra)) {
            this.notNull = false;
        }
        this.remark = remark;
        this.listShow = true;
        this.formShow = true;
    }
module: yshop-generator

package: co.yixiang.modules.gen.utils.GenUtil

    /**
     * 获取前端代码模板名称
     * @return List
     */
    private static List<String> getFrontTemplateNames() {
        List<String> templateNames = new ArrayList<>();
        templateNames.add("index");
        templateNames.add("api");
        /**
         * Date: 2023/04/05
         * 代码里面没有添加,估计暂时没整合
         */
        templateNames.add("eForm");
        return templateNames;
    }
module: yshop-generator

package: co.yixiang.modules.gen.service.impl.GeneratorServiceImpl

    @Override
    public List<ColumnConfig> query(String tableName) {
        List<ColumnConfig> columnInfos = new ArrayList<>();
        List<Map<String, Object>> result = baseMapper.queryByTableName(tableName);
        for (Map<String, Object> map : result) {

            columnInfos.add(
                    new ColumnConfig(
                            tableName,
                            map.get("COLUMN_NAME").toString(),
                            "NO".equals(map.get("IS_NULLABLE").toString()),
                            map.get("DATA_TYPE").toString(),
                            ObjectUtil.isNotNull(map.get("COLUMN_COMMENT")) ? map.get("COLUMN_COMMENT").toString() : null,
                            ObjectUtil.isNotNull(map.get("COLUMN_COMMENT")) ? map.get("COLUMN_COMMENT").toString() : null,
                            ObjectUtil.isNotNull(map.get("COLUMN_KEY")) ? map.get("COLUMN_KEY").toString() : null,
                            ObjectUtil.isNotNull(map.get("EXTRA")) ? map.get("EXTRA").toString() : null)
            );
        }
        return columnInfos;
    }

why

结论:可以正常生成eForm.vue文件,后面自己的项目中可以单独使用。
熟悉了yshop前段,代码生成器的逻辑。支持方法。

what is the next!
1.后台的代码生成器流程代码过一下。
2.支持的调用接口记录一下。
3.接口文档,写多了就快了。(深入熟悉了就知道如何定制可扩展兼容性强的规则。)(针对子类,参数表的配置处理)


http://www.kler.cn/a/6865.html

相关文章:

  • Jmeter 如何导入证书并调用https请求
  • 《通往人工智能深度学习专家之路:全面解析学习路线图》
  • python高级之简单爬虫实现
  • SDF,一个从1978年运行至今的公共Unix Shell
  • 找不到vcruntime140.dll怎么办,彻底解决vcruntime140.dll丢失的5种方法
  • 物联网——UNIX时间戳、BKP备份寄存器、RTC时钟
  • 从零开始实现一个C++高性能服务器框架----配置模块
  • 【华为机试真题详解JAVA实现】—整数与IP地址间的转换
  • plt常用绘图方法总结
  • 【游戏策划】消消乐游戏策划案
  • Windows11之QT开发框架超详细下载安装与使用教程
  • 【Java贪心】P1208 [USACO1.3]混合牛奶 Mixing Milk
  • mySql的配置文件 .ini
  • 办公工具-latex
  • (不打广告)推荐这款永久免费内网穿透软件-神卓互联
  • C#中的异常
  • 【趣味杂谈】ChatGPT,不止是第四次工业革命的开始
  • 网站都变成灰色了,怎么实现的?
  • 函数的返回值
  • ToBeWritten之Radare2 使用教程
  • [oeasy]python0129_unicode_中文字符序号_十三道大辙_字符编码解码_eval_火星文
  • Linux系统(Ubuntu) 安装和使用MySQL (5.0) ---- 保姆级教程
  • OD-求字符串中所有整数的最小和(Python)
  • 新加坡量子软件公司Horizon完成1810万美元A轮融资
  • 【多线程与高并发】1、线程的基本概念
  • 腾讯会议10秒编译百万代码|鹅厂编译加速标杆案例公开