1. Primero, después de que todos los extremos frontales y posteriores se hayan copiado e integrado, luego modifique la ruta de la base de datos
2. Modifique la ruta de enrutamiento en el uindex.js anterior.
3. El permiso no se muestra correctamente porque no hay datos clave en la tabla de base de datos acl_role_permission,
es decir, el permiso de rol actual debe tener un dato cuyo permiso_id sea 1. Es como se muestra en la siguiente figura: después de que
cada rol haya agregado permisos relacionados, se debe agregar un dato más con un permiso_id de 1; de lo contrario, el menú no se mostrará.
Código específico:
1. Interfaz, agregue este código en acl / role.js
save2(roleId) {
return request({
url: `${
api_name}/save2`,
method: 'post',
params: {
roleId}
})
},
2. En la página views / acl / role / roleForm.vue
//插入该角色id附属permission_id=1,固定值,否则菜单不会出现
saveData() {
roleApi.save2(this.roleId).then(
response =>{
if(response.success){
this.saveData()
}
})
}
3. Agregue otra línea de llamada al método:
4. Backend:
//新增加一个角色信息
@PostMapping("save2")
public R save2(@RequestParam String roleId) {
rolePerService.save2(roleId);
return R.ok();
}
//新增加一个角色信息
void save2(String roleId);
public void save2(String roleId) {
QueryWrapper<RolePermission> wrapper=new QueryWrapper<RolePermission>();
RolePermission r=new RolePermission();
r.setPermissionId("1");
r.setRoleId(roleId);
System.out.println(r);
QueryWrapper<RolePermission> wrapper2=new QueryWrapper<RolePermission>();
wrapper2.eq("permission_id",1);
wrapper2.eq("role_id",roleId);
RolePermission selectOne = baseMapper.selectOne(wrapper2);
if(selectOne==null){
baseMapper.insert(r);
}
}