jdreact转换为H5注意事项
1:先执行npm install 然后执行 npm run web-init 配置完后 在执行 npm run web-start(注意的是不要根据文档执行
yarn add -D @jdreact/jdreact-core-web
)
2:本地获取用户信息:在 index.tpl.vm文件中修改
window.GLOBAL_CONFIG 的pin:

注意的是,最后要改回来!!
(function() {
window.GLOBAL_CONFIG = {
pin : "$!pin",
sid: "$!sid",
};
}())
3:调用后端接口,需在 http://color.jd.com,根据右上角 文档 ,按照步骤一步步来:

然后审批之后,申请后端授权,
4:访问数据链接:
http://beta-api.m.jd.com/client.action?appid=youka_H5&functionId=getAllBrandOilCardList&body=%7B%22source%22%3A2%2C%22userPin%22%3A%22jd035a84%22%2C%22callId%22%3A%22a6fd7c4e-36a7-f746-6e9d-58a3c9f93d91%22%7D&client=youka_H5&clientVersion=1.0.0&jsonp=jsonp_1519723730909_85518
注意先登录,且登录人和所传的user_pin一致
5:输入框 让其主动获取焦点的时候,需要注意的是防止按钮的冒泡事件,导致光标闪烁一下然后离开输入框,因为JDReact中的onPress事件不是click事件;
_clearContact(event){
event.preventDefault();
document.querySelector('input').focus();
/*setTimeout(function(){
document.querySelector('input').focus();
},0);*/
},
这两种方法均可!
6:web与手机端的获取refs不同:
Platform.OS == 'web' ? this.refs.telInput.refs.input.blur() : this.refs.telInput.blur();
7:转成H5之后 带有间隔的电话输入框出现问题,(用单独的页面复现一下这个问题)
setTimeout(()=>{
Platform.OS == 'web' ? this.refs.telInput.refs.input.blur() : this.refs.telInput.blur();
},100);
8:改变title
componentDidMount(){
if(Platform.OS == 'web'){
setTimeout(function(){
console.log(document.querySelector('.jd-header-new-title'));
document.querySelector('.jd-header-new-title').innerHTML='加油卡充值';
},100);
}
},
9:路由分平台书写
if(Platform.OS == 'web'){
this.context.router.push('index',{'tels': JSON.stringify(encodeURIComponent(telNUm))});
}else{
this.context.router.push(
{ routeName: 'index',props:{tels:telNUm}}//下一个页面的
)
}
其中web端:对象数据传递时,需要JSON.stringify(), 接收数据时,需要JSON.parse(decodeURIComponent(this.props.datas)),

optWrapper: {
justifyContent: 'center',
alignItems: 'center',
flex:1,
height: JDDevice.getRpx(118),
borderRightWidth: JDDevice.getDpx(1),
borderBottomWidth: JDDevice.getDpx(1),
borderColor: '#ececec',
},
应该给border设置宽度为0:
optWrapper: {
justifyContent: 'center',
alignItems: 'center',
flex:1,
height: JDDevice.getRpx(118),
borderRightWidth: JDDevice.getDpx(1),
borderBottomWidth: JDDevice.getDpx(1),
borderTopWidth: JDDevice.getDpx(0),
borderLeftWidth: JDDevice.getDpx(0),
borderColor: '#ececec',
},
样式为:

13:修改配置文件
publicPath: 'static.360buyimg.com/exploit/youka/build-web/',
output: {
filename: '[name].[chunkhash].js',
chunkFilename: '[id].[chunkhash].js'
},
17优惠券页 区域高度超出后会导致双滚动条的出现,
方法一:需设置overflow:hidden;
方法二:确保内部元素高度不超过外部元素
如
cardBoxRight:{
flex:1,
height:JDDevice.getRpx(199),
paddingHorizontal:JDDevice.getRpx(20),
paddingTop:JDDevice.getRpx(25),
overflow:'hidden',
},
18 设置标题:
componentDidMount(){
if(Platform.OS == 'web'){
window.onload = function(){
document.querySelector('.jd-header-new-title').innerHTML='加油卡充值';
}
}
},
19: rn调用手机通讯录,require在H5下require提升会报错,所以使用.web、.ios、.android三个文件
20:push popto等路由信息改成数据存储,重新渲染页面
jdreact转换为H5注意事项的更多相关文章
- 关于标准ui设计图转换为H5页面的终端适配
一些基本概念 在进行具体实战之前,首先得了解下面这些基本概念(术语): 视窗 viewport 简单的理解,viewport是严格等于浏览器的窗口.在桌面浏览器中,viewport就是浏览器窗口的宽度 ...
- robotframework执行自动化不能转换为h5页面的问题解决
电脑换成win10后,搭建了robotframework环境,执行自动化发现页面不支持h5页面了.请教了大佬,解决办法如下: 1.切换到DOS环境下,执行pip list命令,查看selenium2l ...
- jdreact相关操作注意事项
1:sublime 安装 babel 插件可以 识别react代码,变色,使用javascipt(babel): 2:热更新:import React, {Component } from 'reac ...
- 用Vue.js开发微信小程序:开源框架mpvue解析
前言 mpvue 是一款使用 Vue.js 开发微信小程序的前端框架.使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为 H5 和小程序提供了代码复用的能力.如果想将 H5 项目改造为小程 ...
- mpvue 解析
前言 mpvue是一款使用Vue.js开发微信小程序的前端框架. 总结 生命周期的理解 文档 一次前后端实践 使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为H5和小程序提供了代码复 ...
- MpVue解析
前言 mpvue是一款使用Vue.js开发微信小程序的前端框架.使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为H5和小程序提供了代码复用的能力.如果想将 H5 项目改造为小程序,或开发 ...
- 为什么选择MpVue进行小程序的开发
前言 mpvue是一款使用Vue.js开发微信小程序的前端框架.使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为H5和小程序提供了代码复用的能力.如果想将 H5 项目改造为小程序,或开发 ...
- pytorch加载语音类自定义数据集
pytorch对一下常用的公开数据集有很方便的API接口,但是当我们需要使用自己的数据集训练神经网络时,就需要自定义数据集,在pytorch中,提供了一些类,方便我们定义自己的数据集合 torch.u ...
- 小程序web开发框架-weweb介绍
weweb是一个兼容小程序语法的前端框架,你可以用小程序的写法,来写web单面应用.如果你已经有小程序了,通过它你可以将你的小程序运行在浏览器中.在小程序大行其道的今天,它可以让你的小程序代码得到最大 ...
随机推荐
- bzoj3277
题解: 后缀自动机 然后抄了一发题解 可以看看这个博客:http://blog.csdn.net/clover_hxy/article/details/53861268 代码: #include< ...
- python全栈开发笔记-----------概要
Python开发 开发: 开发语言: 高级语言:python.Java.php .C# .Go .ruby . C++ .... ===>字节码 低级语言:C.汇编 ...
- 数据库-->记录操作
一.概览 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现 ...
- Ubuntu server 网络配置中遇到的问题
Ubuntu server 网络配置中遇到的问题 图片中ip地址有可能和文字不符,请不要在意太多,知道原理即可 - 1.首先就是要配置ip地址 vim /etc/network/interfaces ...
- SQL-36 创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表。
题目描述 对于如下表actor,其对应的数据为: actor_id first_name last_name last_update 1 PENELOPE GUINESS ...
- linux Bash 常用
linux 帮助文档 man + [命令] eg: man ls[命令] + --help eg:ls --helphelp +[命令] eg:help ceinfo + [命令] eg:info l ...
- http响应头
If-Modified-Since标签,下图可以看出requestHeader中有If-Modified-Since
- 201621123001 《Java程序设计》第7周学习总结
1. 本周学习总结 1.1 思维导图:Java图形界面总结 1.2 可选:使用常规方法总结其他上课内容. 掌握了NetBeans基本使用方法 掌握布局管理器基本概念 尝试了自己在界面布置组件 网格组布 ...
- Java 容器
摘录来至https://www.cnblogs.com/LipeiNet/p/5888513.html https://www.cnblogs.com/acm-bingzi/p/javaMap.htm ...
- <Spark><Tuning and Debugging>
Overview 这一部分我们主要讨论如果配置一个Spark application,如何tune and debug Spark workloads 配置对Spark应用性能调优很重要.我们有必要理 ...