Redux框架中action控制用户管理
来源:互联网 发布:成都java培训学校 编辑:程序博客网 时间:2024/06/11 18:27
本人用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
- Redux框架中action控制用户管理
- 【redux】Action Reducer Store
- Redux总结2:action
- 风险管理控制框架
- 在struts框架中使用Action作为资源的访问控制设计考虑
- Linux 权限管理控制 + 用户管理
- 【j2ee spring】20、S2SH框架中,把struts2的action交给Spring管理有什么好处?
- Redux状态管理1
- Redux 状态管理2
- Redux框架简介
- 浅谈Redux框架
- Redux状态管理6Redux调试工具
- Redux状态管理5 使用react-redux
- Oracle中管理用户
- Linux中用户管理
- linux中用户管理
- 应用数据流状态管理框架Redux简介、设计思想、核心概念及工作流
- 移动应用用户使用成本控制管理
- c++程序辨别系统是32位or64位
- zipline的包结构
- Caused by: java.lang.ClassFormatError: Extra bytes at the end of class file
- 9.环境搭建-MySQL及客户端安装
- RTMP学习(十二)rtmpdump源码阅读(6)数据接收
- Redux框架中action控制用户管理
- 一个想法:成立草根技术联盟对开发人员进行技术定级解决企业员工招聘难问题!
- js刷新页面方法
- Android 全局异常捕获之CrashHandler
- 虚幻4 命令列表
- POJ 1651 (最优矩阵链乘)
- 登录后保存用户信息到Session
- 高亮标注LaTex文档中的修订
- 01_python_练习题_使用python直接打开网页