// 用户和角色相关接口
import request from '@/common/request.js'
import {Message} from 'element-ui'

export default {
	
	/**
	 * @todo: 登录
	 * @param: username
	 * @param: password
	 */
	login: (username, password) => {
		return request({
			url: 'user/login',
			method: 'post',
			data: {username,password},
			noToken: true,
			// 自定义拦截器，获取token
			responseInterceptor: response => {
				localStorage.setItem('electric_user_token', response.headers.authorization || '');
				const res = response.data
				// 后台返回的数据如果不是200,也抛出reject
				if (res.code !== 200) {
					Message({message: res.msg || 'Error', type: 'error',})
					return Promise.reject(new Error(res.msg || 'Error'))
				} else {
					return res.data
				}
			}
		})
	},
  
  /**
   * @todo: 获取电厂的用户列表
   * @param {Number} pageNo 页码
   * @param {Number} pageSize 每页记录数
   */
  getUserList: (params) => {
  	return request({
  		url: 'userInfo/page',
  		method: 'get',
      params
  	})
  },
  
  /**
   * @todo: 新增用户
   * @param: {String} username 用户名
   * @param: {String} password 密码
   */
  addUser: (data) => {
  	return request({
  		url: 'userInfo/new',
  		method: 'post',
  		data
  	})
  },
  
  /**
   * @todo: 修改用户
   * @param: {Number} id 用户id
   * @param: {String} username 用户名
   * @param: {String} password 密码
   */
  editUser: (data) => {
  	return request({
  		url: 'userInfo/edit',
  		method: 'post',
  		data
  	})
  },
  
  /**
   * @todo: 删除用户
   * @param: {Number} id 用户id
   */
  delUser: (id) => {
  	return request({
  		url: `userInfo/del?id=${id}`,
  		method: 'post',
  	})
  },
  
  /**
   * @todo: 获取电厂的角色列表
   */
  getRoleList: () => {
  	return request({
  		url: `role/list`,
  		method: 'post',
  	})
  },
  	
  /**
   * @todo: 新增/修改角色
   * @param: {Object} param 角色信息参数，其中id为角色id（有就是更新，没有则为新增）
   */
  newOrUpdateRole: (param) => {
  	return request({
  		url: `role/newOrUpdate`,
  		method: 'post',
  		data: param
  	})
  },
	
}