本人用Redux框架写的其中的一个action用户管理,实现添加,删除,修改,以及引入antd的包,欢迎相同技术的伙伴一起交流学习
/**
*
* 人员
*/
import * as types from '../constants/ActionTypes';
import {MAINTAIN_URL} from '../constants/Network';
import { request,requestAPI } from '../utils/RequestUtils';
import { message } from 'antd';
/**
* 调用loopback接口方法,获取维护人员数据
* @param token 加载进度条
* @returns {Function}
*/
export function fetchMaintain(token) {
var filter={"where":{"role":{"neq":""}}};
var urlstr = encodeURIComponent(JSON.stringify(filter), 'UTF-8');
return dispatch => {
dispatch(fetchMaintainResult());//正在获取数据,进度条提示
let body = JSON.stringify({
token: token
});
return requestAPI({
path: 'Accounts?filter=' + urlstr,
method: 'GET'
}).then((responseData) => {
console.log(responseData);
dispatch(receiveMaintainResult(responseData));
})
}
}
function fetchMaintainResult() {
return {
type: types.FETCH_MAINTAIN_RESULT
}
}
function receiveMaintainResult(responseData) {
return {
type: types.RECEIVE_MAINTAIN_RESULT,
rawData: responseData
}
}
function receivePsersonInfo(responseData) {
return {
type: types.RECEIVE_PERSON_INFO,
accountInfo: responseData
}
}
/**
* 删除人员
* @param token
* @param deleteManagerId 删除指定人员
* @returns {Function}
* @constructor
*/
export function DeleteMaintainPerson(token,deleteManagerId){
var userRole=localStorage.getItem("role");
if(userRole == "A" || userRole == "B"){
return dispatch => {
dispatch(fetchMaintainResult());//正在获取数据,进度条提示
let body = JSON.stringify({
token: token
});
return requestAPI({
path:'Accounts/'+deleteManagerId,
method: 'DELETE'
}).then((responseData) => {
if(responseData.count>0){
message.success('删除成功');
dispatch(fetchMaintain());
}else{
message.success('删除失败');
}
});
}
}else{
alert("对不起,您没有此权限,请示管理员操作此功能");
}
}
/**
* 调用loopback接口方法,添加维护人员数据
* @param token 加载进度条
* @param managerJson 添加人员json数据
* @returns {Function}
*/
export function fetchAddMaintain(token,managerJson) {
var userRole=localStorage.getItem("role");
if(userRole == "A" || userRole == "B"){
return dispatch => {
dispatch(fetchMaintainResult());//正在获取数据,进度条提示
let body = JSON.stringify({
token: token
});
return requestAPI({
path: 'Accounts',
method: 'POST',
params:managerJson
}).then((responseData) => {
console.log(responseData);
if(responseData.error&&responseData.error.statusCode == 422){
if(responseData.error.details.messages){
if(responseData.error.details.messages.email&&
responseData.error.details.messages.username){
message.success('邮箱和账号已注册过,请重新更换邮箱和账号');
}else if(responseData.error.details.messages.email){
message.success('邮箱已注册过,请重新更换邮箱');
}else if(responseData.error.details.messages.username){
message.success('账号已注册过,请重新更换账号');
}
}
}else if(responseData.error&&responseData.error.statusCode==401){
message.success('需要授权');
}else if(responseData.error&&responseData.error.name=="Error"){
message.success('更新失败');
}else if(responseData.id != null || responseData.id != ""){
message.success('添加成功');
}
})
}
}else{
alert("对不起,您没有此权限,请示管理员操作此功能");
}
}
/**
* 获取人员信息
* @param token
* @param accountId
* @returns {Function}
*/
export function fetchPersonInfo(token,accountId) {
return dispatch => {
dispatch(fetchMaintainResult());//正在获取数据,进度条提示
let body = JSON.stringify({
token: token
});
return requestAPI({
path: 'Accounts/' + accountId,
method: 'GET'
}).then((responseData) => {
console.log(responseData);
dispatch(receivePsersonInfo(responseData));
})
}
}
export function fetchEditInformation(account) {
return {
type: types.RECEIVE_EDIT_INFORMATION,
account: account
}
}
export function fetchModifyPassword(account) {
return {
type: types.RECEIVE_MODIFY_PASSWORD,
account: account
}
}
/**
* 修改个人信息
* @param id
* @param params
* @returns {Function}
* @constructor
*/
export function UpdateRoleInfo(id,params){
var accountId={ "id":id };
return dispatch => {
return requestAPI({
path:'Accounts/update?where=' + encodeURIComponent(JSON.stringify(accountId), "UTF-8"),
method:'POST',
params:params
}).then((responseData) => {
console.log(responseData);
if(responseData.error&&responseData.error.statusCode == 422){
message.success('邮箱已注册过,请重新更换邮箱');
}else if(responseData.error&&responseData.error.statusCode==401){
message.success('需要授权');
}else if(responseData.error&&responseData.error.name=="Error"){
message.success('更新失败');
}else{
message.success('更新成功');
}
})
}
}
/**
* 修改密码
* @param id
* @param params
* @returns {Function}
* @constructor
*/
export function UpdateRolePassword(params){
var userRole=localStorage.getItem("role");
if(userRole == "A" || userRole == "B"){
return dispatch => {
return requestAPI({
path:'Accounts/reset',
method:'POST',
params:params
}).then((responseData) => {
console.log("修改密码");
console.log(responseData);
if(responseData.result.ret == 1){
message.success('重置密码成功');
alert("请及时修改修改重置后生成的随机密码:" + params.password + "谢谢您的使用!");
}else{
message.success('重置密码失败');
}
})
}
}else{
alert("对不起,您没有此权限,请示管理员操作此功能");
}
}