# lingyang-boot **Repository Path**: zgn123456/lingyang-boot ## Basic Information - **Project Name**: lingyang-boot - **Description**: lingyang-boot 包含了登录管理 / 用户权限管理 / 用户角色管理 / 用户组(部门)管理 [微服务版本],并支持saas平台 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-10-29 - **Last Updated**: 2024-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 在线预览 - [前端 (lingyang-boot-vue3)](https://gitee.com/sgy_project/lingyang-boot-vue3.git) - 预览地址 - 账号密码: test/123456 - 快速启动 ## 项目简介 羚羊系统专注于实际业务场景, 集成多个功能模块, 方便快速开发功能, 避免重复开发,目前支持微服务和单体部署无缝切换,代码无需改动, 项目100%开源,允许商用 * 基于SpringCloud 2023、SpringBoot2.7, Oauth2的RBAC权限系统 * 封装很多常用通过框架组件, 开箱即用 欢迎使用本项目并提出宝贵建议, 如果项目对你有用,麻烦点击一下star😀 ## 功能模块 ### 系统模块 | | 功能 | 描述 | |----------------------| ----- | -------------------------------------- | | :white_check_mark: | 成员管理 | 用于管理租户下管理员用户 | | :white_check_mark: | 部门管理 | 可将用户分配到多个部门中, 支持不同部门看到数据不同 | | :white_check_mark: | 我的部门 | 可查看我所属的部门以及部门用户 | | :white_check_mark: | 系统角色 | 可为角色分配权限以及用户, 则用户就拥有角色的权限 | | :white_check_mark: | 资源管理 | 管理项目的接口资源, 可一键同步所有接口, 方便菜单选择权限 | | :white_check_mark: | 菜单管理 | 管理项目的菜单列表并可以为菜单分配权限, 在角色中可选择菜单资源 | | :white_check_mark: | 客户端管理 | Oauth2的客户端管理, 可设置登录失败次数, 锁定周期, 是否使用验证码 | | :white_check_mark: | 租户管理 | 每个租户可拥有独立域名并可为租户选择租户套餐包(菜单资源) | | :white_check_mark: | 系统配置 | 可以配置系统需要动态配置的数据 | | :white_check_mark: | 字典管理 | 管理项目中用的字典数据 | | :white_check_mark: | 访问密钥 | 用于管理项目需要对外放开接口时的访问密钥, 目前保留 | | :white_check_mark: | 通知公告 | 管理通知数据, 目前需要完善 | | :white_check_mark: | 系统API | 获取swagger接口文档,罗列项目中所有接口 | ### 短链管理 | | 功能 | 描述 | |----------------------| ---- | --------- | | :white_check_mark: | 短链分组 | 对短链进行分组管理 | | :white_check_mark: | 短链域名 | 管理生成短链的域名 | | :white_check_mark: | 短链列表 | 被生成的短链 | | :white_check_mark: | 访问日志 | 短链访问日志 | ### 开发平台 | | 功能 | 描述 | | --- | ----- | ----------------------------- | | :white_check_mark: | 代码生成 | 从数据库中导入表并进行配置的记录 | | :white_check_mark: | 代码模板 | 代码生成依赖代码模板, 通过强大的模板引擎可以快速生成代码 | | :white_check_mark: | 代码模板组 | 对代码进行分组 | | :white_check_mark: | 数据源 | 管理数据库的数据源 | ### 支付模块 | | 功能 | 描述 | |--------------------| ---- | -------------------------------- | | :white_check_mark: | 商户列表 | 支持多商户, 每个商户可以管理多个应用 | | :white_check_mark: | 应用列表 | 一个应用表示一个支付场景, 可以为应用配置多个支付渠道和方式 | | :white_check_mark: | 支付订单 | 所有支付的订单都会在这里展示 | | :white_check_mark: | 退款订单 | 管理被退款的订单 | | :white_check_mark: | 商户通知 | 再支付或者退款的时候会通知接入的应用 | | :white_check_mark: | 账单下载 | 直连第三方平台下载账单数据 | | :white_large_square: | 转账订单 | 管理账单订单,待验证 | | :white_check_mark: | 支付接口 | 可以动态配置支付相关参数 | | :white_check_mark: | 支付方式 | 配置每个支付接口的支付方式,比如微信支付有JAPI支付,H5支付 | ### 基础设施&系统监控 | | 功能 | 描述 | |--------------------|---------- | -------------------------------- | | :white_check_mark: | 文件配置 | 可以配置文件上传时相关参数,并支持动态替换请求或者响应替换成真实url | | :white_check_mark: | 文件列表 | 展示文件上传记录 | | :white_check_mark: | 在线用户 | 展示所有在线的用户 | | :white_check_mark: | 定时任务 | 统一管理所有分布式定时任务 | | :white_check_mark: | 登录日志 | 记录用户登录行为 | | :white_check_mark: | 操作日志 | 记录用户操作行为 | ### 消息推送 | | 功能 | 描述 | | --- | ---- | ------------------------- | | :white_check_mark: | 推送任务 | 每个消息任务支持一种渠道推送方式并可以设置推送参数 | | :white_check_mark: | 推送记录 | 所有的消息推送都将被记录 | ### 公众号管理 | | 功能 | 描述 | | --- | ----- | ------------------- | | :white_check_mark: | 账号管理 | 管理公众号账号 | | :white_check_mark: | 标签管理 | 管理用户标签 | | :white_check_mark: | 菜单管理 | 管理公众号菜单 | | :white_check_mark: | 粉丝管理 | 展示公众号所有粉丝 | | :white_large_square: | 自动回复 | 公众号自动回复功能,目前支持图片和文本 | | :white_large_square: | 素材管理 | 管理公众号素材 | | :white_large_square: | 图文草稿箱 | 待实现 | 会员中心 ---- 待开发 ## 核心技术栈 | **框架** | **说明** | **版本** | |--------------------|---------------------------------------------------|--------| | SpringBoot | 系统应用框架 | 2.7.3 | | SpringCloud | 微服务框架 | 2021 | | Nacos | 中间件 | v2.2.3 | | MybatPlus | 持久层框架 | | | Redis | 缓存框架 | 6.2.17 | | lombok | 消除冗余代码 | | | MapStruct | 高性能java bean转换 | | | MySql | 数据库 | 8.0 | | lingyang-framework | 我自己开发的所用工程通用的、对第三方库封装的库, 你可以拉取到本地执行构建,目前已经推送到中央仓库 | | **本地安装 lingyang-framework工程(可选)** 由于项目依赖了lingyang-framework工程, 所以你要先拉取lingyang-framework工程到本地进行编译, 安装到本地的maven仓库或者远程的maven仓库中 ```bash git clone https://gitee.com/sgy_project/lingyang-framework.git cd lingyang-framework/bin bash build.sh` ``` > 注意: 如果你是win10电脑, 可以使用git命令行执行上面的脚本 ## 项目结构 ```context lingyang-boot ├── bin │ ├── build-back-end.sh: 构建后端脚本 ├── db │ ├── nacos.sql: nacos相关sql │ ├── system-v1.sql ├── docker │ ├── be: 部署后端应用 │ ├── clean.sh │ ├── mysql │ ├── nacos │ ├── nginx │ ├── README.md │ └── redis ├── ly-commons: 公共组件库 │ ├── common-core │ ├── common-datasource │ ├── common-security ├── ly-gateway: 网关 ├── ly-system │ ├── system-api: 系统服务接口, 供其他服务调用的远程接口 │ ├── system-biz: 系统服务业务 ├── ly-pay 统一支付 │ ├── pay-api: 统一支付接口, 供其他服务调用的远程接口 │ ├── pay-biz: 统一支付业务实现 ├── catering-portal 前台系统 │ ├── catering-portal-api: 前台系统接口, 供其他服务调用的远程接口 │ ├── catering-portal-biz: 前台系统系统业务实现 ├── ly-auth │ ├── auth-api: 认证模块接口, 供其他服务调用的远程接口 │ ├── auth-biz: 认证模块具体业务实现 ├── ly-msg-push │ ├── msg-push-api: 消息推送接口, 供其他服务调用的远程接口 │ ├── msg-push-biz: 消息推送实现 ├── ly-infra │ ├── infra-api: 基础设施接口, 供其他服务调用的远程接口 │ ├── infra-biz: 基础设施实现(文件管理, 定时任务管理等基础设施) ├── ly-misc: 混杂服务主要把一起零散或者不确定功能放到该服务中, 也可以把有一些业务代码很少,单独起一个微服务不划算的放到该模块中 │ ├── misc-api: 混杂项接口, 供其他服务调用的远程接口 │ ├── misc-biz: 混杂项实现(文件管理, 定时任务管理等基础设施) ├── ly-short-link │ ├── short-link-api: 短链模块接口, 供其他服务调用的远程接口 │ ├── short-link-biz: 短链模块业务实现 ├── ly-plugin: 插件模块(和业务相关) │ ├── plugin-gen: 代码生成插件 │ ├── ly-plugin-weixin: 微信插件 ├── ly-startup-cloud: 微服务启动器 │ ├── startup-cloud-auth: 授权启动器 │ ├── startup-cloud-gateway: 网关 │ ├── startup-cloud-infra: 基础设施 │ ├── startup-cloud-msg-push: 消息推送 │ ├── startup-cloud-pay: 支付 │ ├── startup-cloud-system: 系统 ├── ly-startup-standalone: 单体服务启动器 │ ├── startup-standalone-server: 服务(整合所有模块, 可自行删减) │ ├── startup-standalone-gateway: 网关 ``` ## 前端应用启动 拉取前端代码, 进入到根目录下执行如下命令 ```bash # 初始化时安装依赖, 只需要执行一次即可 yarn install # 启动服务 yarn run dev ``` ## 后端快速启动 - 编辑本地hosts, 添加 127.0.0.1 gateway.server.com(如果不用地图相关, 可以直接调用后端接口) ### 微服务部署 必须先部署 ly-infra 服务, 因为每个服务的雪花算法的workId都会调用infra服务获取的 ## 代码提交 - feat: 新功能 - fix: 修复 Bug - docs: 文档修改 - perf: 性能优化 - revert: 版本回退 - ci: CICD 集成相关 - test: 添加测试代码 - refactor: 代码重构 - build: 影响项目构建或依赖修改 - style: 不影响程序逻辑的代码修改 - chore: 不属于以上类型的其他类型(日常事务) ## idea中使用gradle编辑控制台乱码问题 点击Help -> Edit Custom VM Options 添加 ```text -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8 ``` ### 💐 特别鸣谢 - 👉 vxe-table:[https://gitee.com/xuliangzhan_admin/vxe-table](https://gitee.com/xuliangzhan_admin/vxe-table) - 👉 Vben-Admin:[https://vvbin.cn/doc-next](https://vvbin.cn/doc-next)