King-Boot 快速开发平台 项目模块: =============== 当前最新版本: 1.0.1 基于jeecg 2.2.1版本 ## 后端技术架构 - 基础框架:Spring Boot 2.1.3.RELEASE - 持久层框架:Mybatis-plus_3.3.2 - 安全框架:Apache Shiro 1.4.0,Jwt_3.7.0 - 数据库连接池:阿里巴巴Druid 1.1.10 - 缓存框架:redis - 日志打印:logback - 其他:fastjson,poi,Swagger-ui,quartz, lombok(简化代码)等。 ## 开发环境 - 语言:Java 8 - IDE(JAVA): Eclipse安装lombok插件 或者 IDEA - 依赖管理:Maven - 数据库:MySQL5.7+ - 缓存:Redis ## 技术文档 - 存在一些第三方的jar,目前开发时maven设置先采用直接连到第三方仓库 找到 maven老家 conf/settings.xml, 在标签内增加下面方式的阿里云maven镜像(删除自己的镜像配置), 最终结果见下面: ``` nexus-aliyun *,!jeecg,!jeecg-snapshots Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public ``` 然后执行maven命令,依赖就会顺利下载;此配置重点在这句话*,!jeecg,!jeecg-snapshots 如果不加这句话,默认所有的依赖都会去阿里云仓库下载,加上后jeecg的依赖包就可以从jeecg私服下载了。 后期会删除这样的第三方jar ## 专项文档 - 查询规则 (本规则不适用于高级查询,高级查询有自己对应的查询类型可以选择 ) | 查询模式 | 用法 | 说明 | |---------- |-------------------------------------------------------|------------------| | 模糊查询 | 支持左右模糊和全模糊 需要在查询输入框内前或后带\*或是前后全部带\* | | | 取非查询 | 在查询输入框前面输入! 则查询该字段不等于输入值的数据(数值类型不支持此种查询,可以将数值字段定义为字符串类型的) | | | \> \>= < <= | 同取非查询 在输入框前面输入对应特殊字符即表示走对应规则查询 | | | in查询 | 若传入的数据带,(逗号) 则表示该查询为in查询 | | | 多选字段模糊查询 | 上述4 有一个特例,若某一查询字段前后都带逗号 则会将其视为走这种查询方式 ,该查询方式是将查询条件以逗号分割再遍历数组 将每个元素作like查询 用or拼接,例如 现在name传入值 ,a,b,c, 那么结果sql就是 name like '%a%' or name like '%b%' or name like '%c%' | | #### 二、AutoPoi(EXCEL工具类-EasyPOI衍变升级重构版本) [在线文档](https://github.com/zhangdaiscott/autopoi) #### 三、代码生成器 > 功能说明: 一键生成的代码(包括:controller、service、dao、mapper、entity、vue) - 模板位置: src/main/resources/jeecg/code-template - 技术文档: http://jeecg-boot.mydoc.io/?t=345685 #### 四、编码排重使用示例 重复校验效果: ![输入图片说明](https://static.oschina.net/uploads/img/201904/19191836_eGkQ.png "在这里输入图片标题") 1.引入排重接口,代码如下: ``` import { duplicateCheck } from '@/api/api' ``` 2.找到编码必填校验规则的前端代码,代码如下: ``` code: { rules: [ { required: true, message: '请输入编码!' }, {validator: this.validateCode} ] }, ``` 3.找到rules里validator对应的方法在哪里,然后使用第一步中引入的排重校验接口. 以用户online表单编码为示例,其中四个必传的参数有: ``` {tableName:表名,fieldName:字段名,fieldVal:字段值,dataId:表的主键}, ``` 具体使用代码如下: ``` validateCode(rule, value, callback){ let pattern = /^[a-z|A-Z][a-z|A-Z|\d|_|-]{0,}$/; if(!pattern.test(value)){ callback('编码必须以字母开头,可包含数字、下划线、横杠'); } else { var params = { tableName: "onl_cgreport_head", fieldName: "code", fieldVal: value, dataId: this.model.id }; duplicateCheck(params).then((res)=>{ if(res.success){ callback(); }else{ callback(res.message); } }) } }, ``` #### 五、微信接入相关 微信主要配置说明如下: ``` wx: mp: configs: - appId: 1111 (一个公众号的appid) secret: 1111(公众号的appsecret) token: 111 (接口配置里的Token值) aesKey: 111 (接口配置里的EncodingAESKey值) - appId: 2222 (另一个公众号的appid,以下同上) secret: 1111 token: 111 aesKey: 111 ```