# qssh **Repository Path**: cpanmac/qssh ## Basic Information - **Project Name**: qssh - **Description**: 基于ssh的快速开发框架 已实现的功能 用户,部门,岗位,角色,菜单,按钮,url,数据权限 在线表单设计,基于js的后台代码管理 在线表单/页面组件管理,可扩展性强 在线列表管理,可配置查询sql,导出,在此列表再扩展增删改查 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-03-20 - **Last Updated**: 2022-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # qssh #### 介绍 基于ssh的快速开发框架,已实现的功能 1. 用户,部门,岗位,角色,菜单,按钮,url,数据权限 2. 在线表单设计, 3. 基于js的后台代码管理 4. 在线表单/页面组件管理,可扩展性强 5. 在线列表管理,可配置查询sql,导出,在此列表再扩展增删改查 6. 内容管理,banner管理 7. 数据字典 8. 集成微信服务号 9. 集成阿里云oss文件管理 10. 集成markdown/ueditor编辑器 #### 软件架构 软件架构说明 1. jdk1.7 2. myeclipse10 3. ssh,struts2,spring,hibernate 4. mysql5.5+ 5. [http://www.h-ui.net/Hui-overview.shtml](http://www.h-ui.net/Hui-overview.shtml "h-ui") 6. [https://element.faas.ele.me/#/zh-CN](https://element.faas.ele.me/#/zh-CN "Element") #### 安装教程 1. clone代码 2. 导入myeclipse 3. 导入项目/db/mysql-基础表以及数据.psc 4. 修改config/global.properties,配置文件上传(本地/oss),域名 5. 修改config/jdbc.properties,配置数据库连接 6. 部署到tomcat 7. 访问路径http://localhost:8080/qssh/admin 8. 默认超级管理员 sys/123456 #### 使用说明 1. 系统菜单分为:开发员菜单/后台菜单/手机菜单/pc前台菜单,数据字典方式配置,可扩展更多 2. 目前大模块有系统管理,基础数据,内容管理,系统管理是开发员菜单,可配置超级用户 3. 用户分为超级用户\业务管理员\普通用户,超级用户在系统管理下配置,拥有本系统所有权限,业务管理员有除开发菜单外的所有功能,普通用户通过基础数据添加用户,根据配置的岗位->权限->菜单->按钮来确定功能权限 4. 系统菜单下相关功能简介 1. 数据字典,这是系统相关的数据字典,开发员权限,其他人不得修改 2. 系统菜单,菜单管理 3. 菜单按钮,可以关联url, 4. 超级用户 5. url管理,可配置url,目前url拦截是关闭的,在com.qssh.base.common.AdminInterceptor,60行开启 6. 数据权限,目前理解的数据权限分为自己/全部,本部门,可选列表其中几个,其中可选列表支持数据字典,自定义明细项,hql查询的方式,配置后,可以在查询处调用,UserAuthDataService.getHql(字段名,用户id,数据权限编号)来实现数据权限,(这块还得改造,js后台代码管理还未增加相关数据权限逻辑) 7. 数据模板,配置模板名称,模板编号(使用的时候要用到),解析bean(解析excel的beanId),数据模板(excel模板文件,定义列),解析的bean需要实现接口DataImportService,实现参考com.qssh.base.dataimport.service.impl.ImportProductServiceImpl,目前导入是通过定时任务实现的,可以实现后台导入,导入进度查询,原则是同时成功,同时失败,可以自己实现,步骤主要分为验证,保存,验证失败会把每条失败数据写入excel并告知失败原因,常见的失败原因,数据类型,非空判断,数据库内某一个或多个字段联合重复,excel内某一个或多个字段联合重复,系统异常(通常在开发阶段会碰到解析异常) 8. 系统配置,配置key-value形式,实现系统特殊功能的配置 9. 列表管理,通过写sql的方式来配置一个查询列表,写完sql保存后,系统会自动根据sql查询的列来生成字段信息,需要在字段信息里面详细配置字段类型,格式化,查询条件,以及编辑,添加按钮来实现列表和表单的衔接 10. 代码管理,这里的代码指的是基于javascript的运行在后台的后台脚本代码,可实现增删改查,调用方式为:api/包1/包2/代码编号/代码方法.do,目前代码可实现引用,也就是可复用后台代码,代码调用的核心逻辑代码参考com.qssh.base.code.action.ServerCodeAction.serverCodeExecute方法,可以绑定更多的内置对象,可扩展更多你想实现的功能,后台代码默认开启了事物管理,也就是执行代码前开启了事物,执行代码后提交了事物,代码运行异常回滚事物,具体情况具体配置,可自行调整,这里的数据库操作参考 [https://www.hutool.cn/docs/#/db/支持事务的CRUD-Session](https://www.hutool.cn/docs/#/db/支持事务的CRUD-Session "https://www.hutool.cn/docs/#/db/支持事务的CRUD-Session") 11. 页面组件,配置组件,页面配置的思想是将html维护成一颗树状结构,每个节点包含标签名称,标签属性列表,子节点列表,标签内容文本,组件包含创建组件的函数,和属性列表,组件的ui是基于element-ui的,可参考element-ui来实现自定义的组件 12. 页面管理,原本想实现整个页面管理在一起的,后台吧列表页面单独提出来更好管理和维护,所以这块目前只用于表单设计,当然,也做了一部分列表管理的,可以自己探索,我个人前端能力不强,如果有人来帮忙一起优化更好了 5. 基础数据相关功能简介 1. 用户管理,管理用户,关联用户岗位 2. 部门管理 3. 岗位管理,关联岗位权限 4. 权限管理,关联菜单按钮,数据权限 5. 业务字典,和业务相关的数据字典管理 6. 数据导入,查询全部的数据导入任务 7. 消息模板,目前消息模板在数据库里面插入,这里只做了查询(可以继续优化) 6. 内容管理相关功能简介 1. 分类管理,也就是目录什么的,可以根据目录查看文章列表,树状结构 2. 文章管理,支持markdown/ueditor编辑器,可编写接口文档,或者文章 3. banner管理,轮播图管理 #### 系统截图 ![1](https://gitee.com/hyz79/qssh/raw/master/imgs/1.png "1") ![2](https://gitee.com/hyz79/qssh/raw/master/imgs/2.png "2") ![3](https://gitee.com/hyz79/qssh/raw/master/imgs/3.png "3") ![4](https://gitee.com/hyz79/qssh/raw/master/imgs/4.png "4") ![5](https://gitee.com/hyz79/qssh/raw/master/imgs/5.png "5") ![6](https://gitee.com/hyz79/qssh/raw/master/imgs/6.png "6") ![7](https://gitee.com/hyz79/qssh/raw/master/imgs/7.png "7") ![8](https://gitee.com/hyz79/qssh/raw/master/imgs/8.png "8") ![9](https://gitee.com/hyz79/qssh/raw/master/imgs/9.png "9") ![10](https://gitee.com/hyz79/qssh/raw/master/imgs/10.png "10") ![11](https://gitee.com/hyz79/qssh/raw/master/imgs/11.png "11") ![12](https://gitee.com/hyz79/qssh/raw/master/imgs/12.png "12") ![13](https://gitee.com/hyz79/qssh/raw/master/imgs/13.png "13") ![14](https://gitee.com/hyz79/qssh/raw/master/imgs/14.png "14") ![15](https://gitee.com/hyz79/qssh/raw/master/imgs/15.png "15") ![16](https://gitee.com/hyz79/qssh/raw/master/imgs/16.png "16") ![17](https://gitee.com/hyz79/qssh/raw/master/imgs/17.png "17") ![18](https://gitee.com/hyz79/qssh/raw/master/imgs/18.png "18") ![19](https://gitee.com/hyz79/qssh/raw/master/imgs/19.png "19") ![20](https://gitee.com/hyz79/qssh/raw/master/imgs/20.png "20") ![21](https://gitee.com/hyz79/qssh/raw/master/imgs/21.png "21") ![22](https://gitee.com/hyz79/qssh/raw/master/imgs/22.png "22") ![23](https://gitee.com/hyz79/qssh/raw/master/imgs/23.png "23") #### 加微信群交流 ![wx](https://gitee.com/hyz79/qssh/raw/master/imgs/wx.png "wx") 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request