React Native学习(八)—— 对接七鱼客服
本文基于React Native 0.52
Demo上传到Git了,有需要可以看看,写了新内容会上传的。Git地址 https://github.com/gingerJY/React-Native-Demo
本文参考 https://github.com/qiyukf/react-native-qiyu
一、安装
npm install react-native-qiyu --save
二、配置
- 修改android/settings.gradle,手动加入以下代码
include ':react-native-qiyu'
project(':react-native-qiyu').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-qiyu/android') - 编辑android/app/build.gradle
// ... dependencies {
// ...
compile project(':react-native-qiyu')
} - 在MainApplication.java中注册模块 ,编辑android/app/src/main/java/[...]/MainApplication.java (这里注意一下,只有有备注的那里是要添加的,七鱼的appkey和名称登录七鱼后可以在APP接入那里找到)
// ... import com.qiyukf.unicorn.reactnative.QiyuSdkPackage; // <--- 导包 public class MainApplication extends Application implements ReactApplication {
// ... private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
// ... @Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new QiyuSdkPackage("七鱼管理后台的appKey", "七鱼管理后台的App名称") // <--- 添加package
);
} // ...
}; // ...
}
三、使用
import React, {Component} from 'react';
import {
StyleSheet,
View,
Text,
Image,
Dimensions,
TouchableOpacity,
} from 'react-native';
const {width,height} = Dimensions.get('window');
import QiYu from 'react-native-qiyu';
//引用外部文件
import MessageItem from './messageItem';
export default class messageCenter extends Component {
// 七鱼客服
qiyu(){
var params = {
source:{
sourceTitle:'网易七鱼ReactNative',
sourceUrl:'http://www.qiyukf.com',
sourceCustomInfo:'我是来自自定义的信息'
},
commodityInfo:{
commodityInfoTitle:'ReactNative商品',
commodityInfoDesc:'这是来自网易七鱼ReactNative的商品描述',
pictureUrl:'http://qiyukf.com/res/img/companyLogo/blmn.png',
commodityInfoUrl:'http://www.qiyukf.com',
note:'¥1000',
show:true
},
sessionTitle:'网易七鱼',
groupId:,
staffId:,
robotId:,
robotFirst:false,
faqTemplateId:,
vipLevel:,
showQuitQueue:true,
showCloseSessionEntry:true
}
QiYu.openServiceWindow(params);
}
render() {
return (
<View style={styles.container}>
<CommonHead
navBarColor='#fff'
borderBottomWidth={}
leftItem = {() => this.renderLeftItem()}
titleItem = {() => this.renderTitleItem()}
/>
<View style={styles.main}>
<View>
<MessageItem
icon={require('../../img/kf.png')}
title='在线客服'
desc='小味为你服务 工作时间 9:00-24:00 宝宝们快来撩我吧~'
onPress={() => {this.qiyu()}}
/>
</View>
</View>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: ,
alignItems: 'center',
backgroundColor:'#efefef',
},
main:{
borderTopColor: '#999',
borderTopWidth: 0.5,
},
});
四、效果图

END-------------------------------------------------------------------------------
今天本来要写一下FIS3,但是发现太久没用过,‘温故’出了好多问题,一时不知道从哪写起。
这个对接七鱼挺简单的,但是没做过还找不到资料的时候还是有点捉急的。
React Native学习(八)—— 对接七鱼客服的更多相关文章
- React Native 学习-01
React Native 学习 (学习版本 0.39) 一.环境配置 二.IDE选择 webstorm 1.webstorm配置 ①.首先是可以选择使用汉化包汉化.eu68 ②.安装插件和外部库. 由 ...
- react native 学习一(环境搭配和常见错误的解决)
react native 学习一(环境搭配) 首页,按照http://reactnative.cn/docs/0.30/getting-started.html#content上的介绍,下载安装pyt ...
- React Native 学习资料
React Native 学习资料 学习资料 网址 React Native中文网 https://reactnative.cn/
- React Native 学习(三)之 FlexBox 布局
React Native 学习(三)之 FlexBox 布局
- React Native 学习笔记--进阶(二)--动画
React Native 进阶(二)–动画 动画 流畅.有意义的动画对于移动应用用户体验来说是非常必要的.我们可以联合使用两个互补的系统:用于全局的布局动画LayoutAnimation,和用于创建更 ...
- React Native学习(七)—— FlatList实现横向滑动列表效果
本文基于React Native 0.52 Demo上传到Git了,有需要可以看看,写了新内容会上传的.Git地址 https://github.com/gingerJY/React-Native-D ...
- iOS、swift、React Native学习常用的社区、论坛
<!----iOS> <!----Swift>*IOS开发常用社区:http://code4app.com/ *IOS开发常用社区:http://www.cocoachina. ...
- iOS 写给iOS开发者的React Native学习路线(转)
我是一名iOS开发者,断断续续一年前开始接触React Native,最近由于工作需要,专职学习React Native也有一个多月了.网络上知识资源非常的多,但能让人豁然开朗.迅速学习的还是少数,我 ...
- 写给iOS开发者的React Native学习路线(转)
我是一名iOS开发者,断断续续一年前开始接触React Native,最近由于工作需要,专职学习React Native也有一个多月了.网络上知识资源非常的多,但能让人豁然开朗.迅速学习的还是少数,我 ...
随机推荐
- angular4.0配置本机IP访问项目
一.查看本机IP 命令行输入 ipconfig,在面板中选择IPv4地址 二.在项目中配置IP 打开package.json文件,修改如下 三.命令行运行 npm start 四.在手机上访问 192 ...
- 前端MVC Vue2学习总结(七)——ES6与Module模块化、Vue-cli脚手架搭建、开发、发布项目与综合示例
使用vue-cli可以规范项目,提高开发效率,但是使用vue-cli时需要一些ECMAScript6的知识,特别是ES6中的模块管理内容,本章先介绍ES6中的基础与模块化的内容再使用vue-cli开发 ...
- 教你用.Net来玩微信跳一跳
目前开发的所有代码都已经上传到了GitHub.欢迎大家来Star https://github.com/GiantLiu/AutoJump 目前程序分为“全自动版本”和“半自动版本” 全自动版本 We ...
- 2、ABPZero系列教程之拼多多卖家工具 更改数据库为Mysql
因为要部署项目到云服务器,不想在服务器上装SqlServer,所以需要把项目改为Mysql. 项目初始化 1.下载项目压缩包,前面文章已经说到,可以加群到群文件里下载.解压缩下载的项目源码,使用VS2 ...
- SLAVE为什么一直不动了
导读 遇到SLAVE延迟很大,binlog apply position一直不动的情况如何排查? 问题描述 收到SLAVE延迟时间一直很大的报警,于是检查一下SLAVE状态(无关状态我给隐去了): ...
- java 重定向和转发的区别
注:原创链接 http://www.cnblogs.com/shenliang123/archive/2011/10/27/2226892.html response.sendredirect(&q ...
- C#学习笔记-迭代器模式
什么是迭代器模式? 迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示. 何时使用迭代器模式? 当需要访问一个聚合对象,而且不管这些对象是什么都需要 ...
- XML Schema格式的"日期型数据”数据库存取
对于XML Schema格式的"日期型数据"在数据库中存于datetime字段的时候,出现错误 mysql> select @@sql_mode; +------------ ...
- weui 中的tabbar导航
最近做微信的服务号项目,用的weui作为主要的ui,但是对于用惯了ele ui的开发者来说,文档貌似有点不友好.真是很让人头疼! 所以结合着自己做的项目,随便写一点东西. 比如说,tabbar导航的切 ...
- 不常见的for循环命名以及with(document)
for循环想必大家是很常见的,但是for循环的命名可能很多人听了是一头雾水. 说起for循环的命名呢,主要用途是与for循环的终止break有关! 提到break,大家肯定都了解的.终止整个循环嘛! ...