后台web端的react
在api.js里,存放着各种功能引用的方法,比如这个fakeRegister,里面传参数params,返回要要调回的地址,${HOST1}/user/register
requset会返回codemessage,如果是401或402,则是我这边的错误,可能用户名密码不正确,可能路由的路径有问题。
export async function fakeRegister(params) { return request(`${HOST1}/user/register`,{ /* return request('/api/register', { */ method: 'POST', body: params, }); }
有两个register,models里面的是方法,user里面的是页面。
user里面的register,就是react组件三步走,引入依赖,创建虚拟dom并利用render渲染,最后暴露出组件。这里面定义了userName的文本框。
models里面的register,是提交的数据值,进行验证。submit提交了两个参数,
之前关于这个username我这边读取到的总是undefined,是因为我这边忘了驼峰命名法,应该是userName! 而这个userName的定义就是在user里面定义的,因为写的是js,要用驼峰法,所以,payload.userName一定要写对才行。
*submit({ payload }, { call, put }) { var params = {"password": "qyh", "username": "qyh"} payload.password='qyh'; payload.userName='qyh'; const response = yield call(fakeRegister, payload); yield put({ type: 'registerHandle', payload: response, }); }, },
上面这个写法,吧params都给写死了。
下面这个写法,让params等于payload里传过来的值。下面这个写法才是对的。上面这个写法根本无意义啊。
*submit({ payload }, { call, put }) { let params={ "username":payload.userName, "password":payload.password } const response = yield call(fakeRegister, params); yield put({ type: 'registerHandle', payload: response, }); }, },
*login({ payload }, { call, put }) { var params = {"login_type": "usernameAndPassword", "credentials": { "username": payload.userName, "password": payload.password }} payload.login_type = 'usernameAndPassword'; payload.credentials = { "username": payload.userName, "password": payload.password };
如果返回的code是500,就是后台的问题,不是我的问题,正常返回得是200.
徐瀚师傅自己写了一个方法,叫port,用来传url前面的值。port为true的话,就是前面的url,否则就是后面的。
方法: // 分开两个端口 参数为true的话则为9099端口 export function port(isLogin) { let host; if (!isProduction()) { isLogin ? host = 'http://192.168.1.103:9099' : 'http://192.168.1.103:8099'; } return host; } // true为生产环境 false为开发环境 export function isProduction() { return process.env.NODE_ENV === 'production'; } 使用: import { port } from '../utils/utils'; export async function fakeAccountLogin(params) { return request(port(true)+'/login', { method: 'POST', body: params, }); } export async function fakeRegister(params) { return request(port(true)+'/user/register',{ method: 'POST', body: params, }); }
后台web端的react的更多相关文章
- 移动web端的react.js组件化方案
背景: 随着互联网世界的兴起,web前端开发的方式越来越多,出现了很多种场景开发的前端架构体系,也对前端的要求日益增高,早已经不是靠一个JQuery.js来做前端页面的时代了,而今移动端变化最大,近 ...
- 基于吉日嘎底层架构的通用权限管理Web端UI更新:参考DTcms后台界面
经一周的研究学习,看了国内的H+.HUI等,国外的PaperDashboardPro.Make.Metronic BootStrap等,最终选定用一个轻量的,适合中国人的,来自DTcms的后台管理UI ...
- IOS 多文件上传 Java web端(后台) 使用List<MultipartFile> 接收出现的问题
先上正确的示例: 主要是设置我们的request的content-type为multipart/form-data NSDictionary *param = @{@"assignee&qu ...
- 1、移动端 2、后台 3、 移动端,Web 端 4、 PC端
移动端: 1.公众号:停开心 住总物业 2.app: iso Android 停开心,住总停开心 后台:停开心智慧停车管理平台(所有的停车场) 移动端,Web端: 海投OA,公司OA PC端:收费软 ...
- 技术实践丨React Native 项目 Web 端同构
摘要:尽管 React Native 已经进入开源的第 6 个年头,距离发布 1.0 版本依旧是遥遥无期."Learn once, write anywhere",完全不影响 Re ...
- WEB通知和React Native之即时通讯(iOS Android)
WEB通知和React Native之即时通讯(iOS Android) 一,需求分析 1.1,允许服务器主动发送信息给客户端,客户端能监听到并且能接收. 1.2,为了方便同一个系统内的用户可以指定某 ...
- 值得收藏的8个Web端组件库
值得收藏的8个Web端组件库 Ant Design 介绍:一个服务于企业级产品的设计体系,基于『确定』和『自然』的设计价值观和模块化的解决方案,让设计者专注于更好的用户体验. 组件库地址:https: ...
- web端限时活动逻辑处理总结
由于要在web端做一个限时活动的功能,功能大致为:一个小时内可以报名参加活动,然后给予报名者奖品,先到先得.用到一些处理逻辑做下总结,以前没有做过类似的东西,都是自己先体验其他网站的报名方式,然后再摸 ...
- Web端测试和移动端测试的区别
1.记录bug 在Web端可以通过系统自带的截图和QQ截图等方式来截取bug的图片,对于错误的地方可以用工具自带的标识来重点标记. 对于移动端设备可以用手机自带的截图工具来截图然后传到电脑上,个人一般 ...
随机推荐
- js截取url参数
举例说明,比如http://localhost:2019/blog/getCommentListInfo?postId=1如何获取postId=1这个参数值呢?很简单通过下面代码即可获取,如: win ...
- C语言之建立线性表
#include<stdio.h> #include<stdlib.h> #define MaxSize 60 #define ElemType int typedef str ...
- java基础 容器 API
- 【C#复习总结】细说委托
1 前言 本系列会将[委托] [匿名方法][Lambda表达式] [泛型委托] [表达式树] [事件]等基础知识总结一下.(本人小白一枚,有错误的地方希望大佬指正) 系类1:细说委托 系类2:细说匿名 ...
- OdnShop 发布 V1.0 正式版,完整可用的开源微商城系统
OdnShop是基于ASP.NET 4.0+Mysql开发的开源微商城系统,我们的目标是构建一个核心完善而又轻量级的微商城平台. 本版本更新功能: 1,修正数据库操作的部分表名称的表前缀错误: 2,修 ...
- 算法题:合并N个长度为L的有序数组为一个有序数组(JAVA实现)
昨天面试被问到这道算法题,一时没有回答上来,今天思考了一下,参阅了网上的教程,做了一个JAVA版本的实现. 方案一: 新建一个N*L的数组,将原始数组拼接存放在这个大数组中,再调用Arrays.sor ...
- python2.x版本与python3.x版本的区别以及运算符
python2.x中: 重复代码,语言不统一,不支持中文 py2中除法获取的都是整形 py2中有long(长整形) print 可以加括号也可以不加括号 range 在py2中打印的结果是列表 py2 ...
- hibernate 的sum(filed)引发的NullPointException错误解决过程
背景: 在用hql语句进行sum查询时遭遇NPE问题: StringBuilder builder = new StringBuilder("select SUM(actualWorking ...
- [iOS]一行代码集成空白页面占位图(基于runtime+MJRefresh思想)
2018年01月03日阅读 2472 [iOS]一行代码集成空白页面占位图(基于runtime+MJRefresh思想) LYEmptyView 此框架是本人在5,6个月前,公司启动新项目的时候, ...
- pycharm异常问题之Unable to save settings: Failed to save settings. Please restart PyCharm
pycharm异常之Unable to save settings: Failed to save settings. Please restart PyCharm 今天一不小心将电脑关了,但是关机之 ...