import server from '@/utils/request'

//新增
interface Addobj{
    pkId:String
    name:String	                //角色名称
    rcode:String	            //角色编码
    mark:String	                //功能描述
    status:String|Number	    //状态
    type:String|Number	        //角色类型：1-开发者，2-运营方，3-客户
    readonly:String|Number	    //是否内置角色，内置角色不允许修改
}

export function addrole(data:Addobj) {
  return server.request({
    url: '/resource/role/add',
    method: 'post',
    data
  })
}

//修改
export function updaterole(data:Addobj) {
    return server.request({
      url: '/resource/role/update',
      method: 'post',
      data
    })
}

//删除
export function delrole(rid:String) {
    return server.request({
      url: '/resource/role/del',
      method: 'post',
      data:{
        rid
      }
    })
}

//查询
export function getjslist(userId:String) {
    return server.request({
      url: '/resource/role/list',
      method: 'get',
      params:{
        userId
      }
    })
}

//全量新增资源权限
interface Addquanx{
  rcode:String,	      //角色编码
  types:String	      //类型，不同类型之间用';' SYS-系统，MENU-菜单，PER-资源权限         示例 SYS;MENU;PER
  sourceIds:String	  //资源ID。同一类型之间用','隔开，不同类型之间用';'隔开，与type对应   跟types顺序保持一致   示例 123,4561;asd,sdd;ms11,4d4s
}


export function allAddpermi(data:Addquanx) {
  return server.request({
    url: '/resource/role/deladdrolesource',
    method: 'post',
    data
  })
}

//查询角色资源
interface Qsobj{
  rcode:String            //角色编码
  resourceType:String     //资源类型
}
export function getinter(data:Qsobj) {
  return server.request({
    url: '/resource/role/listrolesource',
    method: 'post',
    data
  })
}