README
注意事项
开始
静态属性方法
更新日记
注意事项
sessionStorage 请勿设置key为: app_sessionId app_userId app_token
安装
npm i app-communication --save
创建实例并初始化方法
import AppCommunication from 'app-communication';
const initApp = new AppCommunication();
// 注册通讯方法
initApp.init({
isAndroid: null, //是否安卓,非必传,有默认判断方法,若自己本身有一套判断就传
shareData:{
type: 'share',
param: {
shareMap: {// 0==>微信朋友圈,1===》微信好友,2===》新浪微博,3===》短信,4==》微信收藏,5===》qq,6===》复制到粘贴板
'0': {
title: '标题',
content: '内容',
imageUrl: '分享图片(小图片)',
shareUrl: '分享地址',
},
'1': {...},
'2': {...},
'3': {...},
'4': {...},
},
},
}, // 分享的数据
loginCallBack: function(userInfo,data), // app登录后的回调函数,userInfo带有userId, sessionId, token等,第二个参数data是app端返回没经过处理的数据,基本不用管
initCallBack:function(bridge), // 初始化后的回调函数,可不传,!!!基本不用传
bridgeInitCallBack:function(message), // bridge注册事件初始化的回调函数,可不传,!!!基本不用传
refreshCallBack:function(data), // app端认为需要刷新页面的回调函数,1代表需要,具体根据业务来
registerHandler:{ // 此处编写需要注册的方法,key值代表需要注册的方法名,callback代表app触发后的回调函数
"test":{
callback:function(data){
}
}
}
});
// 注册通讯方法2,通过回调使用 推荐上面注册方法,此方法为了兼容
const bridge = await initApp.init();
bridge.registerHandler('hello', function (
data,
responseCallback
) {
// Do something
responseCallback('javascript');// 此处是传给app的参数
});
例子:(仅单用到分享)
initApp.init({
shareData:{
type: 'share',
param: {
shareMap: {
'0': {
title: '标题',
content: '内容',
imageUrl: '分享图片(小图片)',
shareUrl: '分享地址',
},
'1': {...},
'2': {...},
'3': {...},
'4': {...},
},
}
}
})
派送事件给app 静态属性
/*
* sendData 给app的参数,一般是obj
* resData 事件结束后给app的参数,一般不用传,不写就好
*/
AppCommunication.handleSend(sendData,resData);
例子:告诉app要请求某个接口
const sendData = {
reactJS: {
handler: "hello",
interface: 'http://www.baidu.com',
param: {
test:'hello world',
}
}
};
initApp.handleSend(sendData);
// 当app接收到这个请求后,就会去请求interface 这个接口并把参数带上,请求结束后,app会主动调用注册方法里面的hello,并把数据给到回到函数里。
静态属性方法
判断是否在安卓 静态属性
AppCommunication.getIsAndroid(); //true=安卓 false=非安卓(ios)
判断是否函数 静态属性
AppCommunication.isFn(); //true=function false=function
获取登录信息 静态属性
AppCommunication.getLoginInfo();
return {
token,
userId,
sessionId,
};
设置登录信息 静态属性
AppCommunication.setLoginInfo(userId, sessionId, token);
判断是否需要登录 静态属性
AppCommunication.isNeedLogin(); // true 需要登录,false已登录
判断条件: !(token || (userId && sessionId)); 可使用getLoginInfo根据自身项目判断
获取url参数 静态属性
AppCommunication.getUrlParam(key);
初始化化后重新注册事件,一定要在init后执行 静态属性
// callback可不传
AppCommunication.handleRegister(key,callback(data,responseCallback){
// TODO
});
// 例子 分享事件重新注册事件
静态属性.handleRegister('shareActionHandler',callback(data,responseCallback){
responseCallback(shareConfig);
});
更新日记
- 2020/2/14 添加静态方法