Code Monkey home page Code Monkey logo

continew-org / continew-admin Goto Github PK

View Code? Open in Web Editor NEW
431.0 431.0 96.0 20.5 MB

🔥Almost最佳后端规范🔥持续迭代优化的前后端分离中后台管理系统框架,开箱即用,持续提供舒适的开发体验。当前采用技术栈:Spring Boot3(Java17)、Vue3 & Arco Design、TS、Vite5 、Sa-Token、MyBatis Plus、Redisson、JetCache、Jackson、Spring Doc、JustAuth、Easy Excel、Crane4j、Liquibase、Hutool 等。

Home Page: https://continew.top

License: Apache License 2.0

Java 96.40% Dockerfile 0.09% FreeMarker 3.51%
arco-design java17 justauth mybatis-plus redisson sa-token spring-boot3 typescript vue3

continew-admin's Issues

关于登入成功后地址重定向问题

Bug 描述

遇到的问题是登入成功后,应该本地已标记登入成功。但是在浏览器上重新输入地址首页地址的时候,会又要求调到登入的页面,应该是直接,已登入的情况跳转默认的首页才比较合理~哈哈

复现步骤

1:输入账号密码
2:提示登入成功
3:然后再重新输入:https://cnadmin.charles7c.top/
4: 结果是 又需要再登入了。这样不对。

预期结果

1:输入账号密码
2:提示登入成功
3:然后再重新输入:https://cnadmin.charles7c.top/
4: 结果是 应该 默认进入首页,或当前输入的地址。

环境信息

额外补充

确认

  • 阅读文档
  • 根据报错信息百度或 Google 一下
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

Charles7c大佬什么时候补充完整的开发文档,比如如何新增一个模块,如何新增一个功能。

Feature 描述

大胆预测一波,Charles7c大佬这个项目爆火🔥🔥🔥。
真的很好用,CRUD真的是非常好用!!!
但是相关开发文档还是比较少,我也希望我可以pr,但是我这个菜鸡有些代码可能还看不太懂。

描述一下您想要的解决方案

描述一下您考虑过的替代方案

额外补充

确认

  • 阅读文档
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)
  • 您是否愿意为您提出的 Feature 提交 PR?

代码生成页面显示之后整体失去响应

Bug 描述

菜单栏里点击代码生成菜单,再点击其他菜单,页面无反应,除非刷新页面

复现步骤

1菜单栏里点击代码生成菜单
2再点击其他菜单,页面无反应,除非刷新页面

预期结果

其他菜单可正常点击响应

环境信息

JDK21,最新代码

额外补充

No response

确认

  • 阅读文档
  • 根据报错信息百度或 Google 一下
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

希望能支持Flux 响应式编程

Feature 描述

在框架使用spring-boot-starter-webflux 无法使用响应式.或者流式输出.
导致集成spring-ai提供的对应start包,也无法使用流式输出.

描述一下您想要的解决方案

我排查了好久,找不到为什么,啊哈哈哈,.我新建一个空的springboot3.0X的项目是可以的.
操作如下.希望大佬有空的时候帮忙看一下.

  1. 新建springboot3.0X
  2. 引入maven
  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
  </dependency>
  1. 编写测试接口
    @GetMapping(value = "/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
    public Flux<String> stream() {
        return Flux.interval(Duration.ofSeconds(1))
                .map(sequence -> "Flux - " + LocalTime.now().toString());
    }

4.响应输出
image

描述一下您考虑过的替代方案

No response

额外补充

No response

确认

  • 阅读文档
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)
  • 您是否愿意为您提出的 Feature 提交 PR?

存储设置

Feature 描述

建议加入存储设置,可以对不同的云厂商key还有信息进行可视化配置

描述一下您想要的解决方案

image image

描述一下您考虑过的替代方案

No response

额外补充

No response

确认

  • 阅读文档
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

自动生成基于continew-starter的手脚架

Feature 描述

希望能加入自动生成手脚架的功能基于continew-starter 相关的starter 可以选着对应的starter

描述一下您想要的解决方案

用的continew-admin作为后台管理的服务.想开发一个客户端的服务也想集成continew-starter相关的配置.但是自己新建springboot多模块项目修改pom文件太费劲了....pom文件改了好半天.或者能提供一个空的springboot手脚架示例

描述一下您考虑过的替代方案

No response

额外补充

No response

确认

  • 阅读文档
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

偶发性登录成功后不跳转

Bug 描述

使用前端路由,在登录成功后偶发性不跳转首页,在刷新后再次登录才会跳转成功

复现步骤

使用Firefox或Chrome登录即可复现,附演示版测试截图(登录成功提示了“欢迎使用”,nprogress也从左到右瞬间100%)但路由无变化:
图片

预期结果

登录成功后可正常跳转到首页

环境信息

使用(1.0.1-SNAPSHOT)问题存在;
看框架的演示版(1.1.0-SNAPSHOT)问题依然存在;

额外补充

No response

确认

  • 阅读文档
  • 根据报错信息百度或 Google 一下
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

代码生成多选以及下载

Feature 描述

希望代码生成中可以同时选中多张表进行生成.生成完成可以弹出下载链接直接下载到本地

描述一下您想要的解决方案

这样可以更好的解决多人协作的问题.还有就是基于admin后台开发别的服务进行集成的时候要.这项目是单体可能这个模块不属于admin模块.以至于生成的代码不能直接写入对应项目的文件夹.

描述一下您考虑过的替代方案

No response

额外补充

No response

确认

  • 阅读文档
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

分布式id CosId machineId耗尽报错的问题

Feature 描述

分布式id CosId machineId耗尽报错的问题.....是因为使用kill -9 没有办法回收机器号 导致机器id的数量会上涨.停止服务需要点两次但是服务没有完全关闭点第二次才能停止不能优雅的 暂停和重启 之前一直使用的是kill -9 忽略了 别的问题.导致了 CosId 回收机器号的时候 没回收掉...会一直上涨. 因为服务在使用重启 脚本命令时候会导致之前无法停止 所以才使用了 kill -9
image

jar启动脚本
`export JAVA_HOME="/opt/jdk/jdk-17.0.10"
export PATH=$JAVA_HOME/bin:$PATH

定义应用名称和JAR文件

APP_NAME="continew-admin"
JAR_FILE="continew-admin.jar"

检查命令行参数

if [ "$1" == "start" ]; then
# 检查是否已经运行
if pgrep -f $JAR_FILE > /dev/null
then
echo "$APP_NAME 已经在运行。"
exit 0
fi

# 进入到JAR文件所在的目录
cd /work/server

# 启动Spring Boot应用
nohup java -jar $JAR_FILE > /dev/null 2>&1 &

echo "$APP_NAME 启动成功。"

elif [ "$1" == "stop" ]; then
# 停止Spring Boot应用
if pgrep -f $JAR_FILE > /dev/null
then
pkill -f $JAR_FILE
echo "$APP_NAME 已停止。"
else
echo "$APP_NAME 未在运行。"
fi
elif [ "$1" == "restart" ]; then
# 重启Spring Boot应用
if pgrep -f $JAR_FILE > /dev/null
then
pkill -f $JAR_FILE
fi

# 进入到JAR文件所在的目录
cd /work/lb/hex-server

# 启动Spring Boot应用
nohup java -jar $JAR_FILE > /dev/null 2>&1 &

echo "$APP_NAME 重启成功。"

else
echo "用法: $0 {start|stop|restart}"
exit 1
fi

exit 0`

描述一下您想要的解决方案

是否可以提供内置的对于springboot 优雅的 停止 启动 重启 可以避免在有些三方组件在回收机制无法触发.

描述一下您考虑过的替代方案

No response

额外补充

No response

确认

  • 阅读文档
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

token失效控制台报错

Bug 描述

image

复现步骤

登录token失效,或者第一次登录提示token失效的时候会出现控制台报错

预期结果

错误异常应该被捕获 返回到前端正确的提示.如果过多的登录失效的控制台的错误日志会太多

环境信息

JDK版本:17 项目版本:v2.3.x

额外补充

No response

确认

  • 阅读文档
  • 根据报错信息百度或 Google 一下
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

OSS文件上传

Feature 描述

文件上传到OSS的时候.好像不会在桶里自动创建文件夹,直接传到桶的主目录,是不是可以考虑用日期分割作为目录.方便后期服务迁移的时候能够更好的选中文件指定文件迁移.

描述一下您想要的解决方案

文件上传到OSS的时候.好像不会在桶里自动创建文件夹,直接传到桶的主目录,是不是可以考虑用日期分割作为目录.方便后期服务迁移的时候能够更好的选中文件指定文件迁移.

描述一下您考虑过的替代方案

No response

额外补充

No response

确认

  • 阅读文档
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

[Feature] 希望能加入多语言国际化选择功能

Feature 描述

我希望能加入多语言国际化选择功能

描述一下您想要的解决方案

描述一下您考虑过的替代方案

No response

额外补充

No response

确认

  • 阅读文档
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)
  • 您是否愿意为您提出的 Feature 提交 PR?

[Task] 文件管理增加资源统计,统计总存储量、各类型文件存储占用

Description

  • 在文件管理左侧面板下方,增加资源统计:统计总存储量、总文件数量、各类型文件数量及存储占用占比
  • 参考效果:
    image

Task List

  • 文件管理新增查询存储概览接口
  • 文件管理左侧面板下方增加相关信息展示,存储占比建议采用图表形式展示(简单、美观是第一要务)

[Task] 代码生成器增加字典/枚举关联,增加详情字段配置

Description

  • 代码生成器增加字典/枚举关联:字段配置表新增字典/枚举关联字段 dict_code,配置字段时,可以为指定字段下拉选择关联哪个枚举或字典,然后根据生成时,前端根据需要生成对应的下拉列表及列表回显、后端生成对应的字段处理。
  • 增加详情字段配置,配置指定字段为详情点击 slot 字段

Task List

  • 字段配置表新增字典/枚举关联字段 dict_code
  • 新增查询所有字典、枚举公共接口
  • 代码生成/字段配置增加对应配置列,支持下拉选择关联字典/枚举
  • 优化前后端代码生成模板,增加相应处理
  • 增加详情字段配置,增加相关前端处理

postman 请求接口响应乱码&上传文件响应乱码

Bug 描述

用postman请求接口响应乱码,如图:
image
上传文件响应乱码:
Uploading image.png…

复现步骤

postman请求接口必现以及用Arco upalod上传文件响应乱码必现

预期结果

响应正常json数据

环境信息

v2.2.0 java17

额外补充

No response

确认

  • 阅读文档
  • 根据报错信息百度或 Google 一下
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

定时任务

Feature 描述

希望计入加入定时任务模块

描述一下您想要的解决方案

描述一下您考虑过的替代方案

No response

额外补充

No response

确认

  • 阅读文档
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

关于项目中私人starter

Feature 描述

里面有些starter的源码可以开源不?例如日志的starter

描述一下您想要的解决方案

希望开源

描述一下您考虑过的替代方案

No response

额外补充

No response

确认

  • 阅读文档
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

初始化语句需要更新

Bug 描述

首先感谢作者Charles提供与维护本项目,这个项目使用的技术栈我相信都是精挑细选,与我不谋而合。感谢您。

我通过文档中的指导一步步运行起来后,控制台输出了 sys_log 表的 descriptionmodule 字段不允许为空且未设置默认值,我手动将数据库里的这两个字段改为允许为空、默认值为NULL后,一切恢复了正常。我知道这个不是正确的解决方法,应该需要去看代码的逻辑,为何会产生为空的数据。但是我遇到了先反馈。

我认为这个问题的发生是在作者的电脑发生时,作者手动修改了数据库,但未更新初始化SQL语句文件,然而也没用其他人提出这个问题,所以这个SQL文件将永远不会更新,希望作者更新一下此文件,后续其他人不会遇到相同问题,也不会遗失重要的日志。

复现步骤

从0创建项目。
一定要用一个崭新的数据库!!
项目启动后,访问Swagger,并随意点击几个API。
查看控制台

预期结果

不报错

环境信息

release - 2.2.0

额外补充

No response

确认

  • 阅读文档
  • 根据报错信息百度或 Google 一下
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

Java版本应该使用哪个呢

Feature 描述

在文档中似乎没看到对应的Java版本,有点小疑惑

描述一下您想要的解决方案

麻烦标注一下支持的Java版本

描述一下您考虑过的替代方案

No response

额外补充

No response

确认

  • 阅读文档
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

字典

Bug 描述

/api/common/dict/{code} 在前端获取字典信息的时候.字典对应的code创建了值,但是接口只能查询到两个

去掉这个方法上的缓存注解直接走数据库没问题
@CachePenetrationProtect
@cacherefresh(refresh = 3600, stopRefreshAfterLastAccess = 7200)
@cached(key = "#code", name = CacheConstants.DICT_KEY_PREFIX)

复现步骤

image image

预期结果

返回对应值

环境信息

jdk 17 dev分支

额外补充

No response

确认

  • 阅读文档
  • 根据报错信息百度或 Google 一下
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

文件管理,缩略图未删除

Bug 描述

图片文件删除之后,对应的缩略图没有处理

复现步骤

文件管理,选择一张图片删除之后,对应的缩略图没有删除

预期结果

图片删除,对应的缩略图也删除

环境信息

ContiNew Admin version(s):v3.1.0

额外补充

No response

确认

  • 阅读文档
  • 根据报错信息百度或 Google 一下
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

系统管理-存储管理

Bug 描述

新建存储,选择兼容S3协议存储,使用minio,提交后端校验提示私有密钥长度不能超过255个字符。

复现步骤

新建存储,选择兼容S3协议存储,使用minio,提交后端校验提示私有密钥长度不能超过255个字符。

预期结果

正常新建或修改存储

环境信息

ContiNew Admin version(s):v3.1.0

额外补充

No response

确认

  • 阅读文档
  • 根据报错信息百度或 Google 一下
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

希望ORM更新

Feature 描述

感谢作者提供这份项目。

我看到项目内使用的ORM是MyBatis-Plus,不可否认,MyBatis-Plus是一个优秀的ORM框架,不过,本项目的总体风格是:年轻化、高可用,所以,不知道作者是否可以考虑fork一个我个人调研过的较好的ORM框架:MyBatis-Flex。https://github.com/mybatis-flex/mybatis-flex,具体的对比您可以到网络上进行查看,希望能够考虑一下。

描述一下您想要的解决方案

fork一个分支为 MyBatis-Flex 版本。并逐步替换为此 package,直至整个项目完全替换掉MyBatis-Plus。

描述一下您考虑过的替代方案

No response

额外补充

No response

确认

  • 阅读文档
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

代码生成

Bug 描述

e8062ad273fbe7108a70870eeea94cd
代码生成的这个页面,分页展示问题.

复现步骤

63136f3430b1e921b256e7a4294a45b

翻下一页的时候下一页只有一条数据

预期结果

环境信息

jdk:17 框架最新版本

额外补充

No response

确认

  • 阅读文档
  • 根据报错信息百度或 Google 一下
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

后面前端是否会实现动态路由

Feature 描述

后面前端是否会实现动态路由

描述一下您想要的解决方案

后面前端是否会实现动态路由

描述一下您考虑过的替代方案

No response

额外补充

No response

确认

  • 阅读文档
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

代码生成实体类路径bug

Bug 描述

在生成实体类的时候,如果数据库修改或者调整完字段顺序,生成字段在实体类,依旧是最后一位.还有一个问题是代码生成@query注解路径有问题. 使用admin版本是v2.4.0 start使用的版本是v1.4.1

复现步骤

代码生成顺序
56824ea9abc630a6b213c3c49bb2880
af5af016c14f76d15b6d36d2d95194d

路径问题
代码生成的路径是
import top.charles7c.continew.starter.data.mybatis.plus.query.Query;
import top.charles7c.continew.starter.data.mybatis.plus.query.QueryType;
实际导入路径是
import top.charles7c.continew.starter.data.core.annotation.Query;
import top.charles7c.continew.starter.data.core.enums.QueryType;

预期结果

环境信息

使用admin版本是v2.4.0 start使用的版本是v1.4.1

额外补充

No response

确认

  • 阅读文档
  • 根据报错信息百度或 Google 一下
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

代码生成目录不存在异常

Bug 描述

配置代码生成配置填写前端路径,前端路径不存在会抛异常:cn.hutool.core.io.IORuntimeException: IORuntimeException: IOException: No such file or directory
image
image

复现步骤

1、配置代码生成配置填写前端路径,点击保存
2、点击生成代码

预期结果

配置代码生成配置填写前端路径,前端路径不存在自动创建目录,成功生成代码

环境信息

JDK17,
continew-admin-2.2.0

额外补充

No response

确认

  • 阅读文档
  • 根据报错信息百度或 Google 一下
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

[Bug] 前端连接后,后台报错:java.lang.IllegalArgumentException: No 'jakarta.websocket.server.ServerContainer' ServletContext attribute. Are you running in a Servlet container that supports JSR-356?

Bug 描述

java.lang.IllegalArgumentException: No 'jakarta.websocket.server.ServerContainer' ServletContext attribute. Are you running in a Servlet container that supports JSR-356?

复现步骤

前端连接后,后台报错

预期结果

没有这个错误提示

环境信息

ContiNew Admin version(s):

额外补充

No response

确认

  • 阅读文档
  • 根据报错信息百度或 Google 一下
  • 搜索是否有其他人提交过类似的 issue,如果对应 issue 尚未解决,您可以先订阅关注该 issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 issue)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.