登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
我知道了
查看详情
登录
注册
开源中国、Gitee、模力方舟招人啦~ 快来看看有没有适合你的岗位
代码拉取完成,页面将自动刷新
开源项目
>
WEB应用开发
>
后台管理框架
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
187
Star
2K
Fork
982
pixel
/
gin-vue-admin
代码
Issues
24
Pull Requests
6
Wiki
统计
流水线
服务
Gitee Pages
JavaDoc
PHPDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
[Bug]: 角色管理设置菜单权限,设置首页后,点击确定,再切换角色提示无法找到默认路由
待办的
#IBX4QH
Nidhoog
创建于
2025-03-28 18:23
### gin-vue-admin 版本 2.8.0 ### Node 版本 v18.20.3 ### Golang 版本 go 1.22 ### 是否依旧存在 可以 ### bug描述 首先点开 角色管理->测试角色->设置权限->角色菜单 设置任意一个菜单为首页后->点击右上角确定按钮-> 点击切换角色 提示错误: 找不到默认路由,无法切换本角色 定位问题: 根据报错提示找到对应方法 ` //@author: [piexlmax](https://github.com/piexlmax) //@function: SetUserAuthority //@description: 设置一个用户的权限 //@param: uuid uuid.UUID, authorityId string //@return: err error func (userService *UserService) SetUserAuthority(id uint, authorityId uint) (err error) { assignErr := global.GVA_DB.Where("sys_user_id = ? AND sys_authority_authority_id = ?", id, authorityId).First(&system.SysUserAuthority{}).Error if errors.Is(assignErr, gorm.ErrRecordNotFound) { return errors.New("该用户无此角色") } var authority system.SysAuthority err = global.GVA_DB.Where("authority_id = ?", authorityId).First(&authority).Error if err != nil { return err } var authorityMenu []system.SysAuthorityMenu var authorityMenuIDs []string err = global.GVA_DB.Where("sys_authority_authority_id = ?", authorityId).Find(&authorityMenu).Error if err != nil { return err } for i := range authorityMenu { authorityMenuIDs = append(authorityMenuIDs, authorityMenu[i].MenuId) } var authorityMenus []system.SysBaseMenu err = global.GVA_DB.Preload("Parameters").Where("id in (?)", authorityMenuIDs).Find(&authorityMenus).Error if err != nil { return err } hasMenu := false jsonStr, _ := json.Marshal(authorityMenus) log.Printf("authorityMenus: %s,authority.DefaultRouter:%v", jsonStr, authority.DefaultRouter) for i := range authorityMenus { if authorityMenus[i].Name == authority.DefaultRouter { hasMenu = true break } } if !hasMenu { return errors.New("找不到默认路由,无法切换本角色") } err = global.GVA_DB.Model(&system.SysUser{}).Where("id = ?", id).Update("authority_id", authorityId).Error return err } ` 函数逻辑就是检查当前角色菜单内是否包含DefaultRouter 的路由即 设为首页对应的路由 打断点调试,发现确实没有对应路由 猜测设置首页的时候没有设置成功 然后F12查看 设为首页 对应接口,/api/authority/updateAuthority 接口传参如下 { "authorityId": 8881, "AuthorityName": "普通管理员", "parentId": 888, "defaultRouter": "person" } 发现并没有设置角色的路由菜单,只修改了 defaultRouter 即默认路由, 查看数据库日志 发现也并没有删除或更新角色菜单表 sys_authority_menus 所以问题不在于设为首页这个接口 继续尝试复现,发现点击设为首页接口时 组件节点树对应的节点 被禁用了并且无法选中  然后发现此时点击确定这个动作对应接口 /api/menu/addMenuAuthority 会更新角色的菜单 传参如下  确实没有传递菜单 控制台 ID为1的那个路由 到这里基本定位到问题了,设为首页时 本该存在的路由菜单 被取消选中 然后点击确定 更新了角色菜单导致 角色的默认路由被删除掉了 继续定位问题 想到节点树组件的选中状态是由 default-checked-keys 管理的 即menus.vue 文件中变量 menuTreeIds 的值 于是 打开Vuetools 查看default-checked-keys 的值是否发生变化  奇怪的事情发生了,ID为1的路由并没有被删除,按理说应该还是选中状态,于是查询官方文档 https://element.eleme.cn/#/zh-CN/component/tree  这里管理的是默认状态选中的节点,推测只在初始化时起作用,也就是说后面手动选中或者取消选中并不会体现在这个属性中 突然灵光一闪 default-checked-keys 只在组件初始化时生效,而不会动态响应后续的值变化。 那么是不是我点击设为首页的时候把这个节点给取消选中了 嘿,测试了一下,还真是 看对应代码 ` <el-tree ref="menuTree" :data="menuTreeData" :default-checked-keys="menuTreeIds" :props="menuDefaultProps" default-expand-all highlight-current node-key="ID" show-checkbox :filter-node-method="filterNode" @check="nodeChange" > <template #default="{ node, data }"> <span class="custom-tree-node"> <span>{{ node.label }}</span> <span v-if="node.checked"> <el-button type="primary" link :style="{ color: row.defaultRouter === data.name ? '#E6A23C' : '#85ce61' }" @click="() => setDefault(data)" > {{ row.defaultRouter === data.name ? '首页' : '设为首页' }} </el-button> </span> <span v-if="data.menuBtn.length"> <el-button type="primary" link @click="() => OpenBtn(data)"> 分配按钮 </el-button> </span> </span> </template> </el-tree> ` 这里使用了插槽修改了 Tree组件 增加了设为首页的按钮 el-button 在 el-tree 中,点击节点内部的元素(如 el-button)时,默认会触发节点的点击事件。这是因为事件冒泡机制导致的。 明白了问题所在,这里没有考虑到事件冒泡 修改起来就很简单 Vue 提供的 .stop 修饰符可以直接阻止事件冒泡。 在 @click 后添加 .stop,即可阻止点击事件冒泡到父级元素。 直接修改 web/src/view/superAdmin/authority/components/menus.vue的第 34行为 @click.stop="() => setDefault(data)" ### 修改建议 修改 web/src/view/superAdmin/authority/components/menus.vue的第 34行为 @click.stop="() => setDefault(data)"
### gin-vue-admin 版本 2.8.0 ### Node 版本 v18.20.3 ### Golang 版本 go 1.22 ### 是否依旧存在 可以 ### bug描述 首先点开 角色管理->测试角色->设置权限->角色菜单 设置任意一个菜单为首页后->点击右上角确定按钮-> 点击切换角色 提示错误: 找不到默认路由,无法切换本角色 定位问题: 根据报错提示找到对应方法 ` //@author: [piexlmax](https://github.com/piexlmax) //@function: SetUserAuthority //@description: 设置一个用户的权限 //@param: uuid uuid.UUID, authorityId string //@return: err error func (userService *UserService) SetUserAuthority(id uint, authorityId uint) (err error) { assignErr := global.GVA_DB.Where("sys_user_id = ? AND sys_authority_authority_id = ?", id, authorityId).First(&system.SysUserAuthority{}).Error if errors.Is(assignErr, gorm.ErrRecordNotFound) { return errors.New("该用户无此角色") } var authority system.SysAuthority err = global.GVA_DB.Where("authority_id = ?", authorityId).First(&authority).Error if err != nil { return err } var authorityMenu []system.SysAuthorityMenu var authorityMenuIDs []string err = global.GVA_DB.Where("sys_authority_authority_id = ?", authorityId).Find(&authorityMenu).Error if err != nil { return err } for i := range authorityMenu { authorityMenuIDs = append(authorityMenuIDs, authorityMenu[i].MenuId) } var authorityMenus []system.SysBaseMenu err = global.GVA_DB.Preload("Parameters").Where("id in (?)", authorityMenuIDs).Find(&authorityMenus).Error if err != nil { return err } hasMenu := false jsonStr, _ := json.Marshal(authorityMenus) log.Printf("authorityMenus: %s,authority.DefaultRouter:%v", jsonStr, authority.DefaultRouter) for i := range authorityMenus { if authorityMenus[i].Name == authority.DefaultRouter { hasMenu = true break } } if !hasMenu { return errors.New("找不到默认路由,无法切换本角色") } err = global.GVA_DB.Model(&system.SysUser{}).Where("id = ?", id).Update("authority_id", authorityId).Error return err } ` 函数逻辑就是检查当前角色菜单内是否包含DefaultRouter 的路由即 设为首页对应的路由 打断点调试,发现确实没有对应路由 猜测设置首页的时候没有设置成功 然后F12查看 设为首页 对应接口,/api/authority/updateAuthority 接口传参如下 { "authorityId": 8881, "AuthorityName": "普通管理员", "parentId": 888, "defaultRouter": "person" } 发现并没有设置角色的路由菜单,只修改了 defaultRouter 即默认路由, 查看数据库日志 发现也并没有删除或更新角色菜单表 sys_authority_menus 所以问题不在于设为首页这个接口 继续尝试复现,发现点击设为首页接口时 组件节点树对应的节点 被禁用了并且无法选中  然后发现此时点击确定这个动作对应接口 /api/menu/addMenuAuthority 会更新角色的菜单 传参如下  确实没有传递菜单 控制台 ID为1的那个路由 到这里基本定位到问题了,设为首页时 本该存在的路由菜单 被取消选中 然后点击确定 更新了角色菜单导致 角色的默认路由被删除掉了 继续定位问题 想到节点树组件的选中状态是由 default-checked-keys 管理的 即menus.vue 文件中变量 menuTreeIds 的值 于是 打开Vuetools 查看default-checked-keys 的值是否发生变化  奇怪的事情发生了,ID为1的路由并没有被删除,按理说应该还是选中状态,于是查询官方文档 https://element.eleme.cn/#/zh-CN/component/tree  这里管理的是默认状态选中的节点,推测只在初始化时起作用,也就是说后面手动选中或者取消选中并不会体现在这个属性中 突然灵光一闪 default-checked-keys 只在组件初始化时生效,而不会动态响应后续的值变化。 那么是不是我点击设为首页的时候把这个节点给取消选中了 嘿,测试了一下,还真是 看对应代码 ` <el-tree ref="menuTree" :data="menuTreeData" :default-checked-keys="menuTreeIds" :props="menuDefaultProps" default-expand-all highlight-current node-key="ID" show-checkbox :filter-node-method="filterNode" @check="nodeChange" > <template #default="{ node, data }"> <span class="custom-tree-node"> <span>{{ node.label }}</span> <span v-if="node.checked"> <el-button type="primary" link :style="{ color: row.defaultRouter === data.name ? '#E6A23C' : '#85ce61' }" @click="() => setDefault(data)" > {{ row.defaultRouter === data.name ? '首页' : '设为首页' }} </el-button> </span> <span v-if="data.menuBtn.length"> <el-button type="primary" link @click="() => OpenBtn(data)"> 分配按钮 </el-button> </span> </span> </template> </el-tree> ` 这里使用了插槽修改了 Tree组件 增加了设为首页的按钮 el-button 在 el-tree 中,点击节点内部的元素(如 el-button)时,默认会触发节点的点击事件。这是因为事件冒泡机制导致的。 明白了问题所在,这里没有考虑到事件冒泡 修改起来就很简单 Vue 提供的 .stop 修饰符可以直接阻止事件冒泡。 在 @click 后添加 .stop,即可阻止点击事件冒泡到父级元素。 直接修改 web/src/view/superAdmin/authority/components/menus.vue的第 34行为 @click.stop="() => setDefault(data)" ### 修改建议 修改 web/src/view/superAdmin/authority/components/menus.vue的第 34行为 @click.stop="() => setDefault(data)"
评论 (
0
)
Nidhoog
创建了
任务
Nidhoog
添加了
bug
标签
Nidhoog
修改了
描述
原值
### gin-vue-admin 版本
2.8.0
### Node 版本
v18.20.3
### Golang 版本
go 1.22
### 是否依旧存在
可以
### bug描述
首先点开
角色管理->测试角色->设置权限->角色菜单
设置任意一个菜单为首页后->点击右上角确定按钮-> 点击切换角色
提示错误: 找不到默认路由,无法切换本角色
定位问题:
根据报错提示找到对应方法
`
//@author: [piexlmax](https://github.com/piexlmax)
//@function: SetUserAuthority
//@description: 设置一个用户的权限
//@param: uuid uuid.UUID, authorityId string
//@return: err error
func (userService *UserService) SetUserAuthority(id uint, authorityId uint) (err error) {
assignErr := global.GVA_DB.Where("sys_user_id = ? AND sys_authority_authority_id = ?", id, authorityId).First(&system.SysUserAuthority{}).Error
if errors.Is(assignErr, gorm.ErrRecordNotFound) {
return errors.New("该用户无此角色")
}
var authority system.SysAuthority
err = global.GVA_DB.Where("authority_id = ?", authorityId).First(&authority).Error
if err != nil {
return err
}
var authorityMenu []system.SysAuthorityMenu
var authorityMenuIDs []string
err = global.GVA_DB.Where("sys_authority_authority_id = ?", authorityId).Find(&authorityMenu).Error
if err != nil {
return err
}
for i := range authorityMenu {
authorityMenuIDs = append(authorityMenuIDs, authorityMenu[i].MenuId)
}
var authorityMenus []system.SysBaseMenu
err = global.GVA_DB.Preload("Parameters").Where("id in (?)", authorityMenuIDs).Find(&authorityMenus).Error
if err != nil {
return err
}
hasMenu := false
jsonStr, _ := json.Marshal(authorityMenus)
log.Printf("authorityMenus: %s,authority.DefaultRouter:%v", jsonStr, authority.DefaultRouter)
for i := range authorityMenus {
if authorityMenus[i].Name == authority.DefaultRouter {
hasMenu = true
break
}
}
if !hasMenu {
return errors.New("找不到默认路由,无法切换本角色")
}
err = global.GVA_DB.Model(&system.SysUser{}).Where("id = ?", id).Update("authority_id", authorityId).Error
return err
}
`
函数逻辑就是检查当前角色菜单内是否包含DefaultRouter 的路由即 设为首页对应的路由
打断点调试,发现确实没有对应路由
猜测设置首页的时候没有设置成功
然后F12查看 设为首页 对应接口,/api/authority/updateAuthority 接口传参如下
{
"authorityId": 8881,
"AuthorityName": "普通管理员",
"parentId": 888,
"defaultRouter": "person"
}
发现并没有设置角色的路由菜单,只修改了
defaultRouter 即默认路由,
查看数据库日志 发现也并没有删除或更新角色菜单表 sys_authority_menus
所以问题不在于设为首页这个接口
继续尝试复现,发现点击设为首页接口时 组件节点树对应的节点 被禁用了并且无法选中

然后发现此时点击确定这个动作对应接口 /api/menu/addMenuAuthority
会更新角色的菜单
传参如下

确实没有传递菜单 控制台 ID为1的那个路由
到这里基本定位到问题了,设为首页时 本该存在的路由菜单 被取消选中 然后点击确定 更新了角色菜单导致 角色的默认路由被删除掉了
继续定位问题
想到节点树组件的选中状态是由 default-checked-keys 管理的
即menus.vue 文件中变量 menuTreeIds 的值
于是 打开Vuetools 查看default-checked-keys 的值是否发生变化

奇怪的事情发生了,ID为1的路由并没有被删除,按理说应该还是选中状态,于是查询官方文档
https://element.eleme.cn/#/zh-CN/component/tree

这里管理的是默认状态选中的节点,推测只在初始化时起作用,也就是说后面手动选中或者取消选中并不会体现在这个属性中
突然灵光一闪 default-checked-keys 只在组件初始化时生效,而不会动态响应后续的值变化。
那么是不是我点击设为首页的时候把这个节点给取消选中了
嘿,测试了一下,还真是
看对应代码
`
<el-tree
ref="menuTree"
:data="menuTreeData"
:default-checked-keys="menuTreeIds"
:props="menuDefaultProps"
default-expand-all
highlight-current
node-key="ID"
show-checkbox
:filter-node-method="filterNode"
@check="nodeChange"
>
<template #default="{ node, data }">
<span class="custom-tree-node">
<span>{{ node.label }}</span>
<span v-if="node.checked">
<el-button
type="primary"
link
:style="{
color:
row.defaultRouter === data.name ? '#E6A23C' : '#85ce61'
}"
@click="() => setDefault(data)"
>
{{ row.defaultRouter === data.name ? '首页' : '设为首页' }}
</el-button>
</span>
<span v-if="data.menuBtn.length">
<el-button type="primary" link @click="() => OpenBtn(data)">
分配按钮
</el-button>
</span>
</span>
</template>
</el-tree>
`
这里使用了插槽修改了 Tree组件 增加了设为首页的按钮 el-button
在 el-tree 中,点击节点内部的元素(如 el-button)时,默认会触发节点的点击事件。这是因为事件冒泡机制导致的。
明白了问题所在,这里没有考虑到事件冒泡
修改起来就很简单
Vue 提供的 .stop 修饰符可以直接阻止事件冒泡。
在 @click 后添加 .stop,即可阻止点击事件冒泡到父级元素。
直接修改 web/src/view/superAdmin/authority/components/menus.vue的第 34行为 @click.stop="() => setDefault(data)"
### 修改建议
修改 web/src/view/superAdmin/authority/components/menus.vue的第 34行为 @click.stop="() => setDefault(data)"
新值
### gin-vue-admin 版本
2.8.0
### Node 版本
v18.20.3
### Golang 版本
go 1.22
### 是否依旧存在
可以
### bug描述
首先点开
角色管理->测试角色->设置权限->角色菜单
设置任意一个菜单为首页后->点击右上角确定按钮-> 点击切换角色
提示错误: 找不到默认路由,无法切换本角色
定位问题:
根据报错提示找到对应方法
`
//@author: [piexlmax](https://github.com/piexlmax)
//@function: SetUserAuthority
//@description: 设置一个用户的权限
//@param: uuid uuid.UUID, authorityId string
//@return: err error
func (userService *UserService) SetUserAuthority(id uint, authorityId uint) (err error) {
assignErr := global.GVA_DB.Where("sys_user_id = ? AND sys_authority_authority_id = ?", id, authorityId).First(&system.SysUserAuthority{}).Error
if errors.Is(assignErr, gorm.ErrRecordNotFound) {
return errors.New("该用户无此角色")
}
var authority system.SysAuthority
err = global.GVA_DB.Where("authority_id = ?", authorityId).First(&authority).Error
if err != nil {
return err
}
var authorityMenu []system.SysAuthorityMenu
var authorityMenuIDs []string
err = global.GVA_DB.Where("sys_authority_authority_id = ?", authorityId).Find(&authorityMenu).Error
if err != nil {
return err
}
for i := range authorityMenu {
authorityMenuIDs = append(authorityMenuIDs, authorityMenu[i].MenuId)
}
var authorityMenus []system.SysBaseMenu
err = global.GVA_DB.Preload("Parameters").Where("id in (?)", authorityMenuIDs).Find(&authorityMenus).Error
if err != nil {
return err
}
hasMenu := false
jsonStr, _ := json.Marshal(authorityMenus)
log.Printf("authorityMenus: %s,authority.DefaultRouter:%v", jsonStr, authority.DefaultRouter)
for i := range authorityMenus {
if authorityMenus[i].Name == authority.DefaultRouter {
hasMenu = true
break
}
}
if !hasMenu {
return errors.New("找不到默认路由,无法切换本角色")
}
err = global.GVA_DB.Model(&system.SysUser{}).Where("id = ?", id).Update("authority_id", authorityId).Error
return err
}
`
函数逻辑就是检查当前角色菜单内是否包含DefaultRouter 的路由即 设为首页对应的路由
打断点调试,发现确实没有对应路由
猜测设置首页的时候没有设置成功
然后F12查看 设为首页 对应接口,/api/authority/updateAuthority 接口传参如下
{
"authorityId": 8881,
"AuthorityName": "普通管理员",
"parentId": 888,
"defaultRouter": "person"
}
发现并没有设置角色的路由菜单,只修改了
defaultRouter 即默认路由,
查看数据库日志 发现也并没有删除或更新角色菜单表 sys_authority_menus
所以问题不在于设为首页这个接口
继续尝试复现,发现点击设为首页接口时 组件节点树对应的节点 被禁用了并且无法选中

然后发现此时点击确定这个动作对应接口 /api/menu/addMenuAuthority
会更新角色的菜单
传参如下

确实没有传递菜单 控制台 ID为1的那个路由
到这里基本定位到问题了,设为首页时 本该存在的路由菜单 被取消选中 然后点击确定 更新了角色菜单导致 角色的默认路由被删除掉了
继续定位问题
想到节点树组件的选中状态是由 default-checked-keys 管理的
即menus.vue 文件中变量 menuTreeIds 的值
于是 打开Vuetools 查看default-checked-keys 的值是否发生变化

奇怪的事情发生了,ID为1的路由并没有被删除,按理说应该还是选中状态,于是查询官方文档
https://element.eleme.cn/#/zh-CN/component/tree

这里管理的是默认状态选中的节点,推测只在初始化时起作用,也就是说后面手动选中或者取消选中并不会体现在这个属性中
突然灵光一闪 default-checked-keys 只在组件初始化时生效,而不会动态响应后续的值变化。
那么是不是我点击设为首页的时候把这个节点给取消选中了
嘿,测试了一下,还真是
看对应代码
`
<el-tree
ref="menuTree"
:data="menuTreeData"
:default-checked-keys="menuTreeIds"
:props="menuDefaultProps"
default-expand-all
highlight-current
node-key="ID"
show-checkbox
:filter-node-method="filterNode"
@check="nodeChange"
>
<template #default="{ node, data }">
<span class="custom-tree-node">
<span>{{ node.label }}</span>
<span v-if="node.checked">
<el-button
type="primary"
link
:style="{
color:
row.defaultRouter === data.name ? '#E6A23C' : '#85ce61'
}"
@click="() => setDefault(data)"
>
{{ row.defaultRouter === data.name ? '首页' : '设为首页' }}
</el-button>
</span>
<span v-if="data.menuBtn.length">
<el-button type="primary" link @click="() => OpenBtn(data)">
分配按钮
</el-button>
</span>
</span>
</template>
</el-tree>
`
这里使用了插槽修改了 Tree组件 增加了设为首页的按钮 el-button
在 el-tree 中,点击节点内部的元素(如 el-button)时,默认会触发节点的点击事件。这是因为事件冒泡机制导致的。
明白了问题所在,这里没有考虑到事件冒泡
修改起来就很简单
Vue 提供的 .stop 修饰符可以直接阻止事件冒泡。
在 @click 后添加 .stop,即可阻止点击事件冒泡到父级元素。
直接修改 web/src/view/superAdmin/authority/components/menus.vue的第 34行为 @click.stop="() => setDefault(data)"
### 修改建议
修改 web/src/view/superAdmin/authority/components/menus.vue的第 34行为 @click.stop="() => setDefault(data)"
Nidhoog
关联了
pixel/gin-vue-admin Pull Request !15
展开全部操作日志
折叠全部操作日志
登录
后才可以发表评论
状态
待办的
待办的
进行中
已完成
已关闭
负责人
未设置
标签
bug
未设置
标签管理
里程碑
未关联里程碑
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (29)
标签 (69)
main
revert-2033-main
orcale
main-bugfix
dev-282
revert-2019-patch-2
dev-281
dev-290
i18n
dev-2.7.9
revert-1979-main
2.7.8beta-2
autoCode-picture
bypanghu-patch-2
beta
dev-2.7.8
dev2.7.7
dev276
dev274
i18n-dev-new
plugin_study
dev273
dev271
opt_270
sync_api
pluginNew
v2.4.x
i18n-dev
gva_workflow
v2.8.2-a
v2.8.2
v2.8.1
v2.8.0
v2.7.9
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.7
v2.6.6
v2.6.5
v2.6.4-a
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.9a
v2.5.9
v2.5.8
v2.5.7-a
v2.5.7
v2.5.6-a
v2.5.6
v2.5.5
v2.5.4
v2.5.3b
v2.5.3beta
v2.5.3
v2.5.2
v2.5.1b
v2.5.1
V2.5.0b
v2.5.0a
v2.5.0
v2.4.6
v2.4.5
v2.4.5RC
v2.4.5Beta
V2.4.4
v2.4.4
v2.4.4-1
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.9
v2.3.8
V2.3.7
v2.3.6
v2.3.5
v.2.3.41
v2.3.4
v2.3.31
v2.3.3
V2.3.1
v2.3.0
v2.2.0
v2.1.0
v2.0.4
v2.0.3
v2.0.2
v2.0.0
v0.9.0
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
参与者(1)
1
https://gitee.com/pixelmax/gin-vue-admin.git
git@gitee.com:pixelmax/gin-vue-admin.git
pixelmax
gin-vue-admin
gin-vue-admin
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册