导言
实现这一功能,我们首先就应该想到,用户注册时往往都是普通用户,所以我们可以先根据若依的角色管理创建一个注册默认的角色名,并给他赋予一些基本的功能,那样用户注册之后就只有基本功能了。那么我们就根据这个逻辑一起来学习吧!!!
一、开启若依注册功能
其实拷贝代码后若依的注册功能是关闭的,我们需要自己去开启
1、view/login.vue开启用户注册功能
2、通过web端开启,如图,找到系统管理/参数设置,找到用户注册,点击修改,将参数键值从false改为true刷新即可
二、实现注册并赋予权限
1、创建默认角色
首先,我们根据若依的角色管理创建基础角色,并赋予它相应的基础功能,这一步最重要的就是记住他的角色编号,因为是基础角色,所以sql语句完全可以写死
2、编写sql语句
这里我们很多sql语句都是现成的,我们只需要在SysUserRoleMapper.xml里面加入这样一个sql语句,同时在对应的SysUserRoleMapper.java里面添加相应接口
<insert id="zhu_ce">
insert into sys_user_role(user_id, role_id) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.userId},102)
</foreach>
</insert>
/**
* 注册用户
* @param userRoleList
* @return int
*/
public int zhu_ce(List<SysUserRole> userRoleList);
3、在SysUserServiceImpl添加如下代码(这是根据insertUserRole改编的)
public void zhu_ce(SysUser userId)
{
List<SysUserRole> list = new ArrayList<SysUserRole>(102);
SysUserRole ur = new SysUserRole();
ur.setUserId(userId.getUserId());
ur.setRoleId(102L);
list.add(ur);
userRoleMapper.zhu_ce(list);
}
4、直接调用方法
现在就可以在若依的注册代码里面进行调用,然后实现注册用户并赋予相应角色功能了
/**
* 注册用户信息
*
* @param user 用户信息
* @return 结果
*/
@Override
public boolean registerUser(SysUser user)
{
int rows = userMapper.insertUser(user);
zhu_ce(user);
return rows > 0;
}
结尾
1.注意:因为前面创建的角色的角色编号是102,所以这里也是102L,大家根据自己实际情况进行改动
2.这个方法也是突然想出来的,有很多地方都可以改进一下,代码优化空间很大,所以希望各位口下留情,也可以在评论区一起探讨更好的优化方法。