V3.3.4
date:2025-05-23 (仅授权版更新)下载地址
1、代码生成bug修复
2、完善错误处理,添加带自定义错误码的响应信息
err = g.Try(ctx, func(ctx context.Context) {
err = XXX() //可能返回错误时
//判断错误不为空则返回对应错误状态码和错误信息
liberr.ErrIsNilCode(ctx, err, 999,"xxxxxxxxxxx")
})
前端响应为:
{
"code": 999,
"message": "xxxxxxxxxxx"
}
3、修复权限中隐藏菜单权限分配后用户还是没有权限的问题
4、修复用户选择器回显时用户不存在报错bug
5、升级gf版本,gf版本更新为2.9.0
6、数据权限修改,数据权限方法GetAuthWhere与GetAuthDeptWhere返回值改为g.Map,方便和其它复杂查询条件拼接,注意若之前使用了数据权限,需要修改调用处如下:
//数据权限只需添加此行代码
//注意GetAuthWhere是使用创建人ID,此时若创建人转移了部门,数据会跟随创建人迁移
//如果要保持数据保留在原部门需要使用部门ID则使用GetAuthDeptWhere
m = s.GetAuthDeptWhere(
ctx,
m,
req.UserInfo,
"sys_user", "dept_id", "id",
)
//此时如果需要将数据权限与另外的条件生成OR+AND条件就非常麻烦,比如条件为 where (数据权限 OR name =xxx) AND age>18 无法做到这种
改为:
where := s.GetAuthDeptWhere(
ctx,
req.UserInfo,
"sys_user", "dept_id", "id",
)
if len(where) > 0 {
m = m.Where(where)
}
//此时如果需要将数据权限与另外的条件生成OR+AND条件就非常麻烦,比如条件为 where (数据权限 OR name =xxx) AND age>18 如下即可:
if len(where) > 0 {
m = m.Where(m.Builder().WhereOr(where).whereOr(name,xxx)).Where("age > ?",18)
}
7、修复完善前端权限判断
完善前端auth
、auths
、authAll
方法,用于通过if
或v-shhow
控制按钮或其它元素的显隐,如:
//单权限判断
<el-button type="primary" v-show="auth('api/v1/useCar/taxTolls/add')">添加</el-button>
//多个权限只需满足其中一个,满足一个则为 true
<el-button type="primary" v-show="auths(['api/v1/useCar/taxTolls/add','api/v1/useCar/taxTolls/add2'])">添加</el-button>
//多个权限必须全部满足,全部满足则为 true
<el-button type="primary" v-show="authAll(['api/v1/useCar/taxTolls/add','api/v1/useCar/taxTolls/add2'])">添加</el-button>
从v3.3.3升级到此版本,覆盖前后端补丁文件即可或直接通过git同步更新,无数据库和依赖更新
作者:管理员 创建时间:2025-05-22 16:08
最后编辑:管理员 更新时间:2025-06-13 09:31
最后编辑:管理员 更新时间:2025-06-13 09:31