用户管理
用户管理
新增用户
ts
type addUser = {
username: string //用户名
password: string //密码
name: string //姓名
phone: string //手机号
role: string[] //角色id
deptId: string //部门id
email?: string //邮箱
lockFlag?: string //启用/禁用,值来自字典值:lock_flag;0有效,1禁用,默认启用
}
/**创建用户 */
function addUserFunc(obj: addUser) {
return request({
url: '/admin/user',
method: 'post',
data: obj
})
}
/**
* 新增用户示例
*/
async function addNewUser() {
const [{ data: depts }, { data: roles }] = await Promise.all([
deptTree(),
getRoleList()
])
const deptId = depts?.[0].id //部门id
const roleId = roles?.[1].roleId //角色id
const res = await addUserFunc({
username: 'test',
password: '12345678@Test',
name: '测试账号123',
phone: '12201118772',
email: 'tew@ss.com',
role: [roleId],
deptId: deptId
})
console.log('res :>> ', res)
}
用户列表
获取系统用户列表
ts
/**userList */
function getUserList(params?: {
current?: number //当前页
size?: number //每页显示条数
deptId?: string //部门id
username?: string //用户名(模糊查询)
phone?: string //手机号(模糊查询)
name?: string //姓名(模糊查询)
}) {
return request({
url: '/admin/user/page',
method: 'get',
params
})
}
修改用户
修改用户信息
ts
type updateUser = {
username: string //用户名
password: string //密码
name: string //姓名
phone: string //手机号
role: string[] //角色id
deptId: string //部门id
email?: string //邮箱
lockFlag?: string //启用/禁用,值来自字典值:lock_flag;0有效,1禁用
userId: string
}
/**更新用户 */
function updateUserFunc(obj: addUser) {
return request({
url: '/admin/user',
method: 'post',
data: obj
})
}
删除用户
ts
/**删除用户,逗号分割id */
function deleteUser(userIds: string) {
return request({
url: '/admin/user',
method: 'delete',
data: ids
})
}
获取用户信息
ts
/**获取用户信息 */
function getUserInfo() {
return request({
url: '/admin/user/info',
method: 'get'
})
}
/**存储用户信息 */
async function storeUserInfo() {
const res = await getUserInfo()
const userInfo = res.data
CONSTANTS.USER_INFO = userInfo
}
角色管理
分为系统角色和项目角色
新增角色
ts
//系统角色
type systemRole = {
dsScope: ''
roleId: ''
dsType: 0
roleCode: string
roleDesc: string
roleName: string
categorize: undefined
}
//项目角色
type projectRole = {
dsScope: ''
roleId: ''
dsType: 1
roleCode: string
roleDesc: string
roleName: string
categorize: 2
}
function addRoleFunc(obj: systemRole | projectRole) {
return request({
url: '/admin/role',
method: 'post',
data: obj
})
}
角色列表
ts
/**角色列表 */
function getRoleList(params?: {
current?: number
size?: number
roleName?: string
categorize: undefined | 2 //2为项目用户角色,undefined为系统用户角色
}) {
return request({
url: '/admin/role/page',
method: 'get',
params
})
}
修改角色
ts
//系统角色
type systemRole = {
dsScope: ''
roleId: string
dsType: 0
roleCode: string
roleDesc: string
roleName: string
categorize: undefined
}
//项目角色
type projectRole = {
dsScope: ''
roleId: string
dsType: 1
roleCode: string
roleDesc: string
roleName: string
categorize: 2
}
function updateRoleFunc(obj: systemRole | projectRole) {
return request({
url: '/admin/role',
method: 'post',
data: obj
})
}
删除角色
ts
/**删除角色 */
function deleteRole(roleIds: string[]) {
return request({
url: '/admin/role',
method: 'delete',
data: roleIds
})
}
更新角色菜单
ts
/**
* 更新角色菜单,逗号分隔
* @param roleId 角色id
* @param menuIds 菜单id
*/
function updateRoleMenuFunc(obj: { roleId: string; menuIds: string }) {
return request({
url: '/admin/role/menu',
method: 'put',
data: {
roleId: roleId,
menuIds: menuIds
}
})
}
获取角色已选菜单
ts
/**
* 获取角色已选菜单
* @param roleId 角色id
*/
function getRoleMenu(roleId: string) {
return request({
url: '/admin/menu/tree/' + roleId,
method: 'get'
})
}
获取所有菜单
ts
/**
* 获取所有菜单
* @param params
* @param params.categorize 2为项目角色菜单,undefined为系统角色菜单
*/
function getAllMenu(params?: { categorize?: string }) {
return request({
url: '/admin/menu/tree',
method: 'get',
params
})
}
部门管理
获取部门树
ts
//获取部门树
function deptTree(params?: { deptName?: string }) {
return request({
url: '/admin/dept/tree',
method: 'get',
params
})
}
新增部门
ts
type addDept = {
parentId: string
deptId: ''
name: string
sortOrder: number
}
/**新增部门 */
function addDeptFunc(obj: addDept) {
return request({
url: '/admin/dept',
method: 'post',
data: obj
})
}
修改部门
ts
type updateDept = {
parentId: string
deptId: string
name: string
sortOrder: number
}
/**修改部门 */
function updateDeptFunc(obj: updateDept) {
return request({
url: '/admin/dept',
method: 'put',
data: obj
})
}