Redux框架中action控制用户管理

本人用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("对不起,您没有此权限,请示管理员操作此功能");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值