目录

1.    概述    

1.1 产品简介    

1.2 名词定义    

2.    版本说明    

3.    系统整体构架说明    

3.1 架构说明    

3.2 技术栈    

3.3 系统运行环境要求:    

4.    系统功能说明    

4.1 框架登陆与退出    

4.2 系统用户体系介绍    

4.3 系统首页    

4.4 租户配置    

4.5 组织管理    

4.6 角色管理    

4.7 岗位管理    

4.8 群组管理    

4.9 用户选择器    

4.10 菜单管理    

4.11 数据权限    

4.12 终端应用管理    

4.13 普通字典    

4.14 分类树形字典    

4.15 正则字典    

4.16 日志功能    

4.17 统一文件管理    

4.18 用户签退    

4.19 公告管理    

4.20 用户中心    

4.21 消息中心    

4.22 全部应用导航    

5.    私有化部署安装    

5.1 基础安装    

5.2 部署项目    

5.3 部署应用    


1.概述

本文档供用户了解《JVS快速开发框架》(以下简称开发框架)时参考使用。 为使您有更好的用户体验,建议您使用Chrome浏览器使用本系统。

a.产品简介

JVS是面向软件开发团队可以快速实现应用的基础开发脚手架,采用微服务分布式框架,提供丰富的基础功能,集成众多业务引擎,它灵活性强,界面化配置对开发者友好,底层容器化构建,集合持续化构建。


b.名词定义


名称


说明


多租户(SaaS)


实现多组织主体使用同一应用,支持数据隔离,共用程序的模式


租户角色


为了便于批量对租户赋权操作,通过角色可以批量化操作租户权限


租户管理员


每个租户都有一个系统管理员,可以对自己的组织进行独立设置基础的配置,包括组织结构、角色、菜单权限、系统名称、二级登陆地址等


应用运行环境


JVS具备多应用运行能力即应用运行底座,提供原生应用、轻应用、混合应用运行的基础环境,实现基础能力(例如用户、角色、权限控制等)的共享


低代码


低代码是依托于传统开发模式升级的开发方法,传统是将公共通用的基础原子功能抽象出来,集成进入框架之中,开发人员可以重复调用,降低开发工作量,低代码则是将通用的能力抽象成界面化可配置的各种引擎,开发人员、产品经理等多种角色都可使用,进行功能配置,从而实现业务需求,这种模式特点开发成本低,交付效率高。


应用中心


提供轻应用的配置中心,通过应用配置中心可以逐步完成应用功能的配置。


原生应用


按照传统开发模式,通过编码、测试、上线发布实现的应用程序


轻应用


通过表单、列表、图表、流程、逻辑等界面化配置组装的功能集合


混合应用


即含有原生应用、有包含轻应用的融合型应用程序


远程开发


将整个开发环境部署在公网环境,每个开发人员可以通过专有的加密与校验模式,可将本地开发的服务注册到公网环境,这样让开发人员在不必要在同一个环境中开发,也不必要将所有的服务启动起来才能进行开发与调试。

  1. 版本说明



版本号:V2.1.2


上线时间:20220220


状态:已上线


功能更新说明:

  • 应用配置中心上线
  • 流程引擎接入应用配置中心
  • 数据列表引擎接入应用配置中心
  • 表单引擎接入应用配置中心



版本号:V2.1.3


上线时间:20220331


状态:已上线


功能更新说明:

  • 基础框架的整体UI风格优化
  • 登陆逻辑优化,在多租户情况下默认登陆主租户
  • 增加应用登陆页配置功能
  • 增加管理员修改用户密码功能
  • 新增批量导入用户功能
  • 增加个人用户中心,可以自助修改用户基本信息
  • 应用中心增加应用详情页(目前展示页面与自动化集成(逻辑)),应用详情将以后配置后的信息集中化展示,与应用配置主页对应
  • 权限菜单的优化
  • 优化用户选择器,扩展部门、角色、群组的选择模式,并向应用提供用户选择组件
  • 个人信息页面优化



版本号: V2.1.4-V2.1.5


上线时间:排期中


状态:开发中


功能更新说明:

  • 默认应用的集成
  • 首页配置化入口的实现


  1. 系统整体构架说明

a.架构说明

系统构架如图所示,JVS核心的是提供多种应用的运行环境,底层的数据接入多种数据库,服务管理层的主要包含微服务的管理基础的组建能力,组件是上层应用提供基础的原子化的组件能力,应用可以将原子化的能力与传统的代码融合起来形成不同的应用(低代码开发),当然可以支持各种传动开发模式。




b.技术栈

  • 表现层(前端)


组件名称


组件作用


开源协议


备注


EsLint


前端代码质量检测


MIT




Vuex


前端框架


MIT




Element-ui


前端组件库


MIT




Crypto-Js


前端加密


BSD




axios


基于promise用于浏览器和node.js的http客户端


MIT




data-set


前端数据绑定


MIT




vue-router


前端路由


MIT




v-charts


图形化组件渲染


MIT




E-charts


图形化组件渲染


Apache 2.0




WebPack


前端代码打包


MIT




G2


图形化组件渲染


MIT




G6


图形化组件渲染


MIT




  • 应用逻辑层(后端框架)


组件归属


组件名称


开源协议


备注


Lombok


代码精简


MIT




Mybatis plus


数据持久层


Apache 2.0




Hutool


底层工具集


木兰宽松许可证 V2




Swagger


在线接口文档


Apache 2.0




Groovy


敏捷脚本语言


Apache 2.0




Spring boot


基础脚手架


Apache 2.0




spring cloud alibaba


微服务框架


Apache 2.0




Xxl-job


定时任务


GNU 3.0


通过端口调用


Nacos


注册中心


Apache 2.0




Sentinel


接口限流


Apache 2.0




seata


分布式事务处理


Apache 2.0




Skywalking


链路跟踪


Apache 2.0




Redisson


分布式锁


Apache 2.0




RabbitMq


消息队列


MPL 1.1




Kafka


分布式消息队列


Apache 2.0



  • 数据存储层










组件归属


组件名称


开源协议


备注


ElasticSearch


文件搜索引擎(日志)


Apache 2.0




Mongo


分布式文件存储数据库


Apache 2.0




Mysql


关系型数据库


GPL


通过端口调用


MariaDB


MYSQL集群


GNU 2.0


通过端口调用


Redis


高性能的key-value数据库


BSD 3





c.系统运行环境要求:

  • 操作系统:CenOS 7及其以上
  • CPU:8核及其以上
  • 内存:32G及其以上(建议生产环境根据实际用户规模考虑)
  • 硬盘:根据存储的内容的容量考虑


  1. 系统功能说明

a.框架登陆与退出

  • 登陆支持用户名密码登陆
  • 支持公众号扫码登陆(前提:需配置自有公众号)
  • 支持短信注册登陆(前提:需要对接短信网关)


b.系统用户体系介绍

系统的账户体系如下,系统-租户-组织-用户,系统可以支持多个租户,租户可以支持多种层级组织,不同组织可以支持不同用户。

租户与用户的映射关系可以支持多对多的关系,对于单租户的系统,可以忽略多租户配置。

账号登陆时,如果账号与多个租户有映射关系,那么登陆时可以选择租户。

可以在用户详情中查看用户与租户的关系,可以对租户的关系进行解除,如下图:

c.系统首页

导航模式支持:支持3级导航,横向导航条、左侧菜单、所有应用导航。

首页支持菜单搜索、支持系统消息通知、提供个人登陆中心等功能。

d.租户配置

租户的配置如图所示,具备租户组织的用户可以配置租户:

租户设置租户的配置:

包含租户名称、租户公司名称、登陆的子域名、默认首页、ICON、Logo等租户的基础信息配置。


e.组织管理

  • 用户组织管理

  • 增加、编辑部门

  • 部门管理菜单

  • 增加人员操作

人员批量导入

f.角色管理

JVS权限管理的核心是角色,通过角色可以关联菜单、关联数据权限、关联岗位等,同时可以对角色关联人员,也可以将角色关联的人员移除角色。

g.岗位管理

系统提供基础岗位管理

h.群组管理

群组管理用于柔性的组织管理,类似于IM中的群的概念,用于企业内部的管理

i.用户选择器

向上层应用提供用户选择器,提供人员、角色、部门、岗位、群组等方式进行选择人员,可以向体系内的所有应用开放。


j.菜单管理

系统支持三级菜单管理,支持图标、菜单名称的配置。


k.数据权限

系统提供基于组织层级的数据权限


l.终端应用管理

终端应用管理,是针对系统的原生应用进行管理。

应用配置支持登陆界面的配置、展示logo的配置、浏览器的ICON图标配置,支持多应用的配置

m.普通字典

系统支持静态,如图所示:


n.分类树形字典

o.正则字典

p.日志功能

  • 登陆日志

q.服务请求日志


r.统一文件管理

框架提供统一的文件管理功能,并提供部分文件的预览功能


s.用户签退


t.公告管理


u.用户中心

用户登录系统后,在系统右上角展示用户登录头像与用户名称,如下图所示:


用户中心包括用户名称,切换租户,修改密码等多种功能。

切换租户

如果个人用户存与多个租户有关联关系,那么可以在线切换租户。

修改个人信息,如下图所示

用户修改密码与用户注销

v.消息中心

用户登录系统后,在系统右上角展示消息中心提示,如下图所示:



w.全部应用导航

  1. 私有化部署安装

a.基础安装

  • 安装docker、docker-compose

curl -C- -O --retry 3 https://iptables.cn/file/docker/jvs-docker && chmod a+x jvs-docker && ./jvs-docker -I

  • 下载项目

直接下载方式 https://gitee.com/software-minister/jvs-docker-compose

b.部署项目

  • 部署数据库

请将${ip}修改为本地IP

sed -i -e 's/jvs-minio/${ip}/g' ./mysql/nacos.sql

  • 部署数据库

docker-compose -f docker-compose-db.yml up -d

  • 查看nacos是启动情况

# 程序依赖nacos 请保证能正常访问nacos后 再执行应用部署

curl -X GET 'http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=jvs-gateway&group=jvs&tenant=jvs'

c.部署应用

部署应用

  • 替换主机ip地址

# 应用启动 根据硬件情况而定 请等待几分钟

docker-compose up -d