精华内容
下载资源
问答
  • SSM+Layui+PageHelper+代码生成器整合java项目,mybatis配置半自动生成
  • 加入QQ群讨论: RuoYiPlus简介 在RuoYi项目基础上改造,通过多模块的方式整合其他J2EE项目中经常被...三步启动后台管理系统,layui开发UI,八成代码自动生成: 下载您的子工程: : 解压后引入该maven项目,并修改appli
  • 一键生成前后端代码生成即可启动 框架: magicalcoder包括youyaboot和H5布局器 包含: springboot最为后台框架 jquery layui eleui等ui框架可以选择 作用: 一键生成管理后台的各种增删改查功能,表单验证,单表多...

    功能:
    一键生成前后端代码,生成即可启动

    框架:
    magicalcoder包括youyaboot和H5布局器

    包含:
    springboot最为后台框架
    jquery
    layui eleui等ui框架可以选择

    作用:
    一键生成管理后台的各种增删改查功能,表单验证,单表多表关联树各种场景拖拽一下就出来了,支持mysql,oracle,postgresql,sqlserver数据库

    使用:

    展开全文
  • 一键自动生成MVC.rar

    2021-02-06 11:04:26
    一键自动生成MVC代码layui前端
  • layui模块化开发

    2020-11-06 21:34:35
    安装express生成器 自动生成mvs代码2.在目录中 npm i 下载项目依赖,并在package.json中修改nodemon3.在www中设置端口4.routes中设置路由,并在app.js中删除引入的路由,创建自己的路由5.模板要传入public中6.数据库的...


    layui模块化开发

    1.安装express生成器 自动生成mvs代码

    安装
    npm i express-generator -g
    在项目目录中打开命令窗口
    执行
    express -e (-e生成ejs模板引擎)
    

    2.在目录中 npm i 下载项目依赖,并在package.json中修改nodemon

    3.在www中设置端口

    4.routes中设置路由,并在app.js中删除引入的路由,创建自己的路由

    5.模板要传入public中,

    6.数据库的连接需要创建models

    1.下载mongoose cnpm i mongoose -S
    2.命令行运行 mongod
    3.复制connect.js,并将其输出给表(集合)
    4.在app.js中导入整个文件'require("./models/connect.js")'
    5.每次重新运行命令行就会连接数据库
    

    7.moudles文件夹下创建cate.js引入connect,创建cate.js定义schema (集合) 结构,并导出给routes文件夹下的cate.js

    8.routes文件夹下的cate.js导入定义好的schema,以便我们在router.get下增删改查

    const cateModel = require('../models/cate');
    

    9.分类列表页渲染

    //1.cates.ejs页面布局
    //2.routes文件夹下cate.js传输数据
    router.get('/cateList', (req,res)=>{
        cateModel.find().then(re=>{
            res.render("cateList",{
                cates:re
            })
        })
    })
    //3.渲染cates.ejs中的tr,这里以分类名,分类描述,分类图标,分类状态,操作
    <tbody>
            <% for(var i=0;i<cates.length;i++){ %>
            <tr>
              <td><%= cates[i].cateName %></td>
              <td><%= cates[i].cateDesc?cates[i].cateDesc:'暂无描述' %></td>
              <td>
                <img
                  src="<%= cates[i].cateIcon?cates[i].cateIcon:'https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=3865588184,3342697262&fm=26&gp=0.jpg' %>"
                  alt="">
              </td>
              <td>
                <input type="checkbox" <%= cates[i].cateState? 'checked':'' %> disabled name="switch" lay-skin="switch">
                    //用三元判断类名,是就加类名,不是不加
              </td>
              <td>
                <button class="layui-btn layui-btn-primay layui-btn-xs">编辑</button>
                <button class="layui-btn layui-btn-danger layui-btn-xs">删除</button>
              </td>
            </tr>
            <%}%>
    </tbody>
    

    10.分类列表页进行分页处理(使用layui中laypage)

    //1.引入所需要的模块,form模块在tbody中需要
        /*⭐⭐①注意:分页的使用需要创建<div id="page"></div> 分页的容器
        分页参数网址:https://www.layui.com/doc/modules/laypage.html*/
    	<script type="text/javascript" src="/lib//layui/layui.js" ></script>
    	<script type="text/javascript">
         	layui.use(['element', 'jquery', 'form', 'laypage'], function () {
         	var element = layui.element;
          	var $ = layui.jquery;
          	var form = layui.form;
          	var laypage = layui.laypage;
    //2.执行一个laypage实例
         laypage.render({
            elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
            , count: <%= count %> //数据总数,从服务端得到
            , limit: 2   //每页条数 limit/pagesize
            , curr: <%= current %> //当前页码
            , jump: function (obj, first) {
              //obj包含了当前分页的所有参数,比如:
              console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
              console.log(obj.limit); //得到每页显示的条数
              
              //首次不执行
              if (!first) {
                //do something
                window.location.href=`/cateList?current=${obj.curr}&pageSize=${obj.limit}`
              }
            }
          });
         })
    	</script>
    //3.routes文件夹下cate.js设置分页
          router.get('/cateList',async (req,res)=>{
            //解构,并默认第一页,每页2条,否则需要让前端来传
            let { current=1,pageSize=2 } = req.query;
            //get请求之后是字符串,需要转数字
          current = parseInt(current);
          pageSize = parseInt(pageSize);
            //设置每次请求的页码需要的数据
          let cates = await cateModel.find().skip((current-1)*pageSize).limit(pageSize)
          let count = await cateModel.count(); // 总条数
    
          res.render('cateList',{
            cates,
            count,
            current
          })
        })
    //4.cateList.ejs中请求数据后数据渲染页面
    <script type="text/javascript" src="/lib//layui/layui.js" ></script>
    <script type="text/javascript">
         layui.use(['element', 'jquery', 'form', 'laypage'], function () {
          var element = layui.element;
          var $ = layui.jquery;
          var form = layui.form;
          var laypage = layui.laypage;
          //执行一个laypage实例
          laypage.render({
            elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
            , count: <%= count %> //数据总条数,从服务端得到
            , limit: 2
            , curr: <%= current %>
            , jump: function (obj, first) {
              //obj包含了当前分页的所有参数,比如:
              console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
              console.log(obj.limit); //得到每页显示的条数
              
              //首次不执行,并且在切换页码时请求刷新页面,重新导入数据,并执行上面.
              if (!first) {
                window.location.href=`/cateList?current=${obj.curr}&pageSize=${obj.limit}`
              }
            }
          });
         })
    </script>
    

    11.分类页增加效果

     //1. routes下cate.js添加分类router,点击添加可以获取分类页面
    router.get('/cateAdd',async (req,res)=>{
      const cates = await cateModel.find();
      res.render('cateAdd', {
        cates
      })
    })
    //2. 创建 cateAdd.ejs
    //3. cate.ejs中增加的a标签 href添加地址/cateAdd(实现跳转)
    //4. 面包屑处理
    	//artAdd.ejs
    	<div style="margin: 10px;">
            <span class="layui-breadcrumb">
              <a href="/dashboard">首页</a>
              <a href="/cateList">分类列表</a>
              <a><cite>添加分类</cite></a>
            </span>
        </div>
    	//cateList.ejs
    	<div style="margin: 10px;">
            <span class="layui-breadcrumb">
              <a href="/dashboard">首页</a>
              <a><cite>分类列表</cite></a>
            </span>
        </div>
    

    12.分类页搭建结构

    13.routes文件夹下创建上传文件upload.js

    //1.创建文件
    const router = require('express').Router();
    const upload = require('../utils/upload')
    
    router.post('/upload', upload.single('file'), (req,res)=>{
        let filePath = '/uploads/'+req.file.filename
        res.send({
          code:0,
          data:{
            filePath
          },
          msg:"上传成功"
        })
    })
    
    module.exports = router
    app.js下导入router,并use
    //2.cateAdd.ejs下监听提交,绑定事件
    // 创建容器
    <div class="layui-form-item">
        <label class="layui-form-label">分类图标</label>
    	<div class="layui-input-block">
            <button type="button" class="layui-btn" id="upload">
            <i class="layui-icon">&#xe67c;</i>上传图片
            </button>
            <img src="" width="150" class="img" alt="">
    	</div>
    </div>
    //监听提交
          form.on('submit(formDemo)', function(data){
            // 处理data 分类 是否可用状态
            let field = data.field;
            if(field.cateState === 'on'){
              field.cateState = 1
            }else{
              field.cateState = 0
            }
            field.cateIcon = cateIcon
              //删除无效属性file
            delete field.file;
            console.log(field);
            // 提交
            $.ajax({
              url:"/cateAdd",
              type:'POST',
              dataType:'json',
              data:field,
              success:function(res){
                if(res.code === 0){
                  // 成功
                  layer.msg(res.msg,{icon:1},function(){
                      history.go(0)
                  })
                }else{
                  // 失败
                  layer.msg(res.msg,{icon:2},function(){
                    history.go(0)
                  })
                }
              }
    
            }) 
            return false;
          });
    // 上传文件
          var uploadInst = upload.render({
            elem: '#upload' //绑定元素
            ,url: '/upload' //上传接口
            ,field:'file'
            ,done: function(res){
              //上传完毕回调
              console.log(res)
              cateIcon = res.data.filePath;
              $('.img').attr('src',res.data.filePath)
            }
            ,error: function(err){
              //请求异常回调
              console.log(err)
            }
          });
        })
    
    

    14.分类列表页提交数据

    //分类提交数据,cate.js下router.post
    router.post('/cateAdd', (req,res)=>{
      console.log(req.body)
      cateModel.insertMany(req.body).then(re=>{
        res.send({
          code:0,
          msg:'添加成功'
        })
      }).catch(err=>{
        res.send({
          code:-1,
          msg:'添加失败'
        })
      })
    })
    app.js下导入router,并use
    

    15.解决父集分类

    //cateAdd.ejs下渲染父集分类数据
    <div class="layui-form-item">
         <label class="layui-form-label">父级分类</label>
         <div class="layui-input-block">
            <select name="pid" lay-verify="required">
               <option value=""></option>
               <option value="0">顶级分类</option>
               <% for(var i=0;i<cates.length;i++){ %>
               	<option value="<%= cates[i].id %>">
               	<%= cates[i].cateName %>
               	</option>
               <%}%>
           	</select>
         </div>
    </div>
    //lay-submit会变成提交按钮
    

    16.编辑和删除

    //1.router下cate.js写入
    // 分类编辑
    router.get('/cateEdit',async (req,res)=>{
      // 获取 get 传id 根据id 获取分类数据
      const { cateId } = req.query;
      const cate = await cateModel.findById(cateId);
     
      const cates = await cateModel.find();
      res.render('cateEdit',{
        cates,
        cate
      })
    })
    // 分类编辑post 
    router.post('/cateEdit', (req,res)=>{
      // 根据_id更新
      cateModel.update({
        _id: req.body._id
      },{
        ...req.body
      }).then(re=>{
        res.send({
          code:0,
          msg:'更新成功',
        })
      }).catch(()=>{
        res.send({
          code:-1,
          msg:'更新失败',
        })
      })
      
    })
    
    // 删除分类
    router.post('/delCate', (req,res)=>{
      const {cateId} = req.body;
      cateModel.remove({
        _id:cateId
      }).then(re=>{
        res.send({
          code:0,
          msg:'删除成功'
        })
      }).catch(er=>{
        res.send({
          code:-1,
          msg:'删除失败'
        })
      })
    
    

    17.创建cateEdit.ejs,编辑页面

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
      <link rel="stylesheet" href="/lib/layui/css/layui.css">
    </head>
    <body>
      <div style="margin: 10px;">
        <span class="layui-breadcrumb">
          <a href="/dashboard">首页</a>
          <a href="/cateList">分类列表</a>
          <a><cite>添加分类</cite></a>
        </span>
        <div style="max-width:600px;margin-top:20px">
          <form class="layui-form" action="">
    
            <input type="hidden" name="_id" value="<%= cate._id %>"/>
            <div class="layui-form-item">
              <label class="layui-form-label">分类名称</label>
              <div class="layui-input-block">
                <input type="text" name="cateName"
                  value="<%= cate.cateName %>"
                  required  lay-verify="required" placeholder="请输入标题" autocomplete="off" class="layui-input">
              </div>
            </div>
            <div class="layui-form-item">
              <label class="layui-form-label">父级分类</label>
              <div class="layui-input-block">
                <select name="pid" lay-verify="required">
                  <option value=""></option>
                  <option value="0" <%= cate.pid == 0 ? 'selected': '' %>>顶级分类</option>
                  <% for(var i=0;i<cates.length;i++){ %>
                    <option <%= cate.pid == cates[i]._id ? 'selected' :'' %> value="<%= cates[i]._id %>">
                      <%= cates[i].cateName %>
                    </option>
                  <%}%>
                </select>
              </div>
            </div>
           
            <div class="layui-form-item">
              <label class="layui-form-label">是否可用</label>
              <div class="layui-input-block">
                <input type="checkbox" <%= cate.cateState == 1 ? 'checked': '' %> name="cateState" lay-skin="switch">
              </div>
            </div>
            <div class="layui-form-item">
              <label class="layui-form-label">分类图标</label>
              <div class="layui-input-block">
                <button type="button" class="layui-btn" id="upload">
                  <i class="layui-icon">&#xe67c;</i>上传图片
                </button>
                <img src="<%= cate.cateIcon?cate.cateIcon:'' %>" width="150" class="img" alt="">
              </div>
            </div>
            <div class="layui-form-item layui-form-text">
              <label class="layui-form-label">分类描述</label>
              <div class="layui-input-block">
                <textarea name="cateDesc" 
                  placeholder="请输入内容" 
                  class="layui-textarea">
                  <%= cate.cateDesc %>
                </textarea>
              </div>
            </div>
            <div class="layui-form-item">
              <div class="layui-input-block">
                <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
                <button type="reset" class="layui-btn layui-btn-primary">重置</button>
              </div>
            </div>
          </form>
        </div>
      </div>
      <script src="/lib/layui/layui.js"></script>
      <script>
        layui.use(['element', 'jquery', 'form', 'upload','layer'], function () {
          var element = layui.element;
          var $ = layui.jquery;
          var form = layui.form;
          var upload = layui.upload;
          var layer = layui.layer;
          var cateIcon="";
    
          
          //监听提交
          form.on('submit(formDemo)', function(data){
            // 处理 分类 是否可用状态
            let field = data.field;
            if(field.cateState === 'on'){
              field.cateState = 1
            }else{
              field.cateState = 0
            }
            field.cateIcon = cateIcon
            delete field.file;
            console.log(field);
            // 提交
            $.ajax({
              url:"/cateEdit",
              type:'POST',
              dataType:'json',
              data:field,
              success:function(res){
                if(res.code === 0){
                  // 成功
                  layer.msg(res.msg,{icon:1},function(){
                      location.href="/cateList";
                  })
                }else{
                  // 失败
                  layer.msg(res.msg,{icon:2},function(){
                    history.go(0)
                  })
                }
              }
    
            }) 
            return false;
          });
          // 上传文件
          var uploadInst = upload.render({
            elem: '#upload' //绑定元素
            ,url: '/upload' //上传接口
            ,field:'file'
            ,done: function(res){
              //上传完毕回调
              console.log(res)
              cateIcon = res.data.filePath;
              $('.img').attr('src',res.data.filePath)
            }
            ,error: function(err){
              //请求异常回调
              console.log(err)
            }
          });
         
        })
      </script>
    </body>
    </html>
        //cate.js下
        // 分类编辑post 
    router.post('/cateEdit', (req,res)=>{
      // 根据_id更新
      cateModel.update({
        _id: req.body._id
      },{
        ...req.body
      }).then(re=>{
        res.send({
          code:0,
          msg:'更新成功',
        })
      }).catch(()=>{
        res.send({
          code:-1,
          msg:'更新失败',
        })
      })
      
    })
    

    隐藏域

    <input type="hidden" name="xxx" value="xxx"/>
    隐藏域 表单控件类型
    作用:
    	提交数据(form)时,有一些数据 希望不被用户看见(提交订单时成本价,编辑时id)
    就可以使用隐藏域携带这个数据
    

    18.删除按钮

    // cateList.ejs 下点击删除按钮
          $(".del").click(function(){
          
            var id = this.dataset.id;
            var index = -1;
            index = layer.open({
              type:1,
              title:"删除分类?",
              content:"您确认删除吗?",
              skin:"layui-layer-molv",
              btn:['确认','取消'],
              yes:function(){
                // 删除
                $.ajax({
                  url:'/delCate',
                  type:"POST",
                  dataType:"json",
                  data:{
                    cateId: id
                  },
                  success:function(res){
                    if(res.code == 0){
                      layer.msg(res.msg,{icon:1},function(){
                        history.go(0)
                      })
                    }else{
                      layer.msg(res.msg,{icon:2},function(){
                        // 关闭弹出层
                        layer.close(index)
                      })
                    }
                  }
                })
              },
              btn2:function(){
                layer.msg("取消删除了")
              }
            })
          })
    //cate.js 下
    
    // 删除分类
    router.post('/delCate', (req,res)=>{
      const {cateId} = req.body;
      cateModel.remove({
        _id:cateId
      }).then(re=>{
        res.send({
          code:0,
          msg:'删除成功'
        })
      }).catch(er=>{
        res.send({
          code:-1,
          msg:'删除失败'
        })
      })
    
      
    
    展开全文
  • 帝国CMS怎么实现自动获取缩略图,选择 使用程序代码! if(empty($r[titlepic])) { $r[titlepic]='/e/data/images/notimg.gif'; }else{ $r[titlepic]=sys_ResizeImg($r[titlepic],220,150,1,'','e/data/tmp/...

    帝国CMS怎么实现自动获取缩略图,选择 使用程序代码!

    if(empty($r[titlepic]))
    {
            $r[titlepic]='/e/data/images/notimg.gif';
    }else{
            $r[titlepic]=sys_ResizeImg($r[titlepic],220,150,1,'','e/data/tmp/titlepic/');
    }
    $listtemp='
    <div class="layui-col-xs6 layui-col-md3">
        <div class="media border media-y">
            <a href="[!--titleurl--]" target="_blank">
                <img src="[!--titlepic--]" class="img-responsive">
            </a>
            <div class="media-body text-left padding-small">
                <div class="text-more"><a href="[!--titleurl--]">[!--title--]</a></div>
            </div>
        </div>
    </div>
    ';
    
    展开全文
  • 自动生成验证码方法

    2020-04-28 17:29:04
    自动生成验证码方法 1. 前端显示html代码 <div class="layui-form-item"> <label class="layui-form-label">验证码:</label> <div class="layui-input-inline"> &l...

    自动生成验证码方法

    1. 前端显示html代码

     <div class="layui-form-item">
                <label class="layui-form-label">验证码:</label>
    
                <div class="layui-input-inline">
                    <input type="text" name="code" class="layui-input" lay-verify="code" placeholder="验证码"/>
                    
                </div>
            </div>
            
            
             <div class="layui-form-item">
                <label class="layui-form-label">刷新图片:</label>
    
                <div class="layui-input-inline">
                    <img src="${pageContext.request.contextPath }/verify/regist.do" onClick="myRefersh(this)">                
                </div>
            </div>
    

    2.前端代码js代码

     //点击图片刷新
    function myRefersh( e ) {
    	
    	const source = e.src ; // 获得原来的 src 中的内容
    	//console.log( "source : " + source  ) ;
    	
    	var index = source.indexOf( "?" ) ;  // 从 source 中寻找 ? 第一次出现的位置 (如果不存在则返回 -1 )
    	//console.log( "index : " + index  ) ;
    	
    	if( index > -1 ) { // 如果找到了 ?  就进入内部
    		var s = source.substring( 0 , index ) ; // 从 source 中截取 index 之前的内容 ( index 以及 index 之后的内容都被舍弃 )
    		//console.log( "s : " + s  ) ;
    		
    		var date = new Date(); // 创建一个 Date 对象的 一个 实例
    		var time = date.getTime() ; // 从 新创建的 Date 对象的实例中获得该时间对应毫秒值
    		e.src = s + "?time=" + time ; // 将 加了 尾巴 的 地址 重新放入到 src 上
    		
    		//console.log( e.src ) ;
    	} else {
    		var date = new Date();
    		e.src = source + "?time=" + date.getTime();
    	}
    	
    }
    

    3.后台java代码

    
    
    //验证码验证
    		@RequestMapping("/verify/regist.do")
    		public void service(HttpServletRequest request,HttpSession session,HttpServletResponse response) {
    			// 从请求中获得 URI ( 统一资源标识符 )
    			String uri = request.getRequestURI();
    			System.out.println("hello : " + uri);
    		 
    			final int width = 180; // 图片宽度
    			final int height = 60; // 图片高度
    			final String imgType = "jpeg"; // 指定图片格式 (不是指MIME类型)
    			OutputStream output;
    			try {
    				output = response.getOutputStream();
    				// 获得可以向客户端返回图片的输出流
    				// (字节流)
    				// 创建验证码图片并返回图片上的字符串
    				String code = GraphicHelper.create(width, height, imgType, output);
    				System.out.println("验证码内容: " + code);
    				
    				// 建立 uri 和 相应的 验证码 的关联 ( 存储到当前会话对象的属性中 )
    				session.setAttribute("codeNumber", code);
    				
    				//System.out.println(session.getAttribute(uri));
    
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			} 
    		}
    

    4.感谢你的浏览访问

    工作几年,略有心得,然很少整理成文,平常工作中浏览了不少道友的好文章,受益良多。
    顾也开始写一些文章, 希望能与各位道友分享进步 !!!!
    如果有用,欢迎各位点赞评论,若有不足,亦可指正!!!

    展开全文
  • 填写总金额,选择起始缴费日期,再选缴费方式,当点击下拉框“季度”选项时,下方表格自动生成。 实现技术采用 前端:jsp页面,layui框架,JS , JQ 后端:java 代码前端 静态部分(去掉部分样式) 输入框部分 ...
  • 代码从实体到controller都是MybatisPlus自动生成 问题详情 layui的时间控件 点击输入框,弹出日期选择器 选择完成,保存,控制台出错。 这是他的输出格式 实体类的保存类型: 由于代码自动生成,类型...
  • layui选择框不出现的解决办法

    千次阅读 2019-03-26 18:24:16
    在script中添加如下代码即可 layui.use('form', function () { var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功 ... //但是,如果你的HTML是动态生成的,自动渲染就会失效 /...
  • layui下如 html代码是动态生成的,自动渲染会失效,此时需要手动渲染表单在 js文件中的适当位置添加 form.render(); 即可解决问题;解决js代码如下 ‘use strict’ layui.use([‘layer’,‘form’,‘ta...
  • 使用layui作为项目的前端插件,在表单中使用select下拉框时,总是显示不了正常的样式,查看官网,需要先加载form组件,代码如下: layui.use('form', function(){ var form = layui.form; //只有执行了这一步,...
  • 自动高亮菜单,自动面包屑,根据权限自动生成菜单树 集成api验证,开发api和后台都快速方便 安装方式 Laravel需要PHP> = 7.1以上的版本,并且同时需要PHP安装以下扩展 - cURL extension - mbstring - BC Math 使用...
  • 登录页面 用户管理 修改密码 菜单管理 角色管理 数据源监控 Api-swagger 自动生成代码 注:有什么问题或需要帮助的可以评论或者微信扫描右边二维码联系我。 ...
  • 转自:程序员GitHubPyCharm 应该是大多数 python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的...1.自动生成导入您正在编写代码,想导入一个包,只记得包名,但是忘了它在那个py文件了...
  • PyCharm 应该是大多数 python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能。...1.自动生成导入您正在编写代码,想导入一个包,只记得包名,但是忘了它在那个py文件了,可以通过 p...
  • MSFM权限管理系统是基于springBoot开发的一套轻量级的系统脚手架,可以以此形成一套属于自己的系统后台 ,自动生成前后台基本代码;使用Spring Boot、Shiro、MyBatis、Layui等框架,包含:用户管理、角色管理、权限...
  • 又名JAVA在线代码生成平台、sql转java、大狼狗代码生成器、mybatis在线生成器、SQL转Java JPA、MYBATIS实现类代码生成平台 Author powered by Moshow郑锴(大狼狗) , https://zhengkai.blog.csdn.net ...
  • ppw项目-问题记录30个

    2018-12-22 11:45:49
    后台,目前还没用模版自动生成代码的方式,尽可能维护可复用的类、模块,方便维护一些。 约定优于配置。 JS。前端引入,完整一套,已经开始维护jtn-common-jquery等各种js了。 任重而道远。 3、#include("/_view/...
  • v3.4还是比较新的版本,他提供了自动生成代码,能够解决我们开发过程中很大的重复性的工作。 但是,在开发过程中会需要进行条件搜索。故我在这里进行条件搜索的练习。 首先,这里已经代码自动生成完毕了。 结果如下...
  • MybatisPlus:根据表,自动生成代码,简单的sql语句不用写。 Druid数据源:安全可靠,还有可视化界面。 Redis缓存:需要在本地开启redis。 Shiro安全框架:更轻量,更简单。 Swagger接口文档:自动生成接口文档,有...
  • 自己刚刚写的SSM框架,集成了通用Mapper、MyBatis自动代码生成、Log4j、、拦截器、Layui页面
  • .net core webapi (1) 搭建

    千次阅读 2019-03-15 11:43:34
    以.NET Core为框架,搭建出一个功能完善的WebApi框架。实现后台管理系统、前台系统和...实现接口权限验证功能,实现从后台管理系统无代码化的自动生成实体类、自动生成基础的增删改查接口、自动生成基础版的后台管...
  • renren-security是一个轻量级权限管理系统,其核心设计目标是开发迅速、学习简单、轻量级、易... 使用renren-security搭建项目,只需编写30%左右代码,其余的代码交给系统自动生成。 具有如下特点: 1、轻量级的权限
  • /* 生成验证码 */ public function verify() { $config = [ 'fontSize' => 19, // 验证码字体大小 'length' => 4, // 验证码位数 'imageH' => 34 ]; $Verify = new Verify($config); $Verify->...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、window.PostMessage二、使用步骤1.前提2.通信总结 前言 参考 iframe+postMessage实现跨域通信 项目需要在layui+jq的网站中...
  • 使用renren-security搭建项目,只需编写30%左右代码,其余的代码交给系统自动生成。 具有如下特点: 1、轻量级的权限系统,只涉及Spring、Shiro、Mybatis后端框架,降低学习使用成本 2、友好的代
  • Flask框架_web_环境搭建

    2020-12-07 16:23:50
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变...
  • 使用renren-security搭建项目,只需编写30%左右代码,其余的代码交给系统自动生成。 具有如下特点:1、轻量级的权限系统,只涉及Spring、Shiro、Mybatis后端框架,降低学习使用成本2、友好的代码结构及注释,便于...
  • 提供代码生成器(wiki使用文档),只需编写20%左右的代码,剩下全部自动生成;支持一键及批量功能模块生成,并支持一定程度上的自定义配置并生成代码,相对比较灵活 基础框架功能模块 用户管理 部门管理 菜单...

空空如也

空空如也

1 2
收藏数 36
精华内容 14
关键字:

layui自动生成代码