使用框架
使用大鬼頭的JsBridge框架
使用之前需要仔細(xì)閱讀框架的規(guī)則
使用的data參數(shù)規(guī)則如下
action 不可為空 方法名 調(diào)用原生函數(shù) 與 原生函數(shù)命名統(tǒng)一
needCallBack 不可為空 默認(rèn)為0 是否需要原生回調(diào)
message 不可為空, 使用場(chǎng)景為顯示頁(yè)面錯(cuò)誤等供原生使用
parameter 可為空 附加參數(shù),用于復(fù)雜業(yè)務(wù)時(shí),向原生傳遞參數(shù) json結(jié)構(gòu)
例如
{
"action":"jsNGetToken",
"needCallBack":"1",
"message":"獲取Token",
"parameter":{
"state":1
}
}
返回結(jié)果
參數(shù)名稱 | 必選 | 類型 | 參數(shù)描述 |
---|---|---|---|
code | true | int | 返回結(jié)果狀態(tài)(0成功-1失斝┚佟) |
msg | true | string | 返回結(jié)果信息 |
data | true | json | 返回結(jié)果體 |
例如
{
"code":0,
"msg":"成功",
"data":{
"img":"youlife"
}
}
JS調(diào)取原生
原生端handerName為nativeListener并提供action如下
- jsNGetPhoto(獲取圖片)
調(diào)取此方法原生端顯示選擇圖片的彈窗
js端調(diào)取原生的選擇圖片時(shí)使用
后期需要添加參數(shù)再協(xié)商
data結(jié)構(gòu)如下
{
"action":"jsNGetPhoto",
"needCallBack":"1",
"message":"獲取照片",
"parameter":{ }
}
返回結(jié)果
參數(shù)名稱 | 必選 | 類型 | 參數(shù)描述 |
---|---|---|---|
code | true | int | 返回結(jié)果狀態(tài) |
msg | true | string | 返回結(jié)果信息 |
data | true | json | 返回結(jié)果體 |
img | true | string | 返回圖片的base64 |
例如
{
"code":0,
"msg":"成功",
"data":{
"img":"youlife"
}
}
- jsNGetToken(獲取token)
調(diào)取此方法原生端會(huì)返回當(dāng)前用戶token
js端需要原生端的授權(quán)(token)時(shí)調(diào)用
參數(shù)名稱 | 必選 | 參數(shù)描述 |
---|---|---|
business | true | 需要授權(quán)的業(yè)務(wù) |
data結(jié)構(gòu)如下
{
"action":"jsNGetToken",
"needCallBack":"1",
"message":"獲取token",
"parameter":{
"business":"xxx業(yè)務(wù)"
}
}
返回結(jié)果
參數(shù)名稱 | 必選 | 類型 | 參數(shù)描述 |
---|---|---|---|
code | true | int | 返回結(jié)果狀態(tài) |
msg | true | string | 返回結(jié)果信息 |
data | true | json | 返回結(jié)果體 |
token | true | string | 返回token |
例如
{
"code":0,
"msg":"成功",
"data":{
"token":"klsdjflksdjkfldsklkfj"
}
}
- jsNInvalidLogin(登錄失效)
調(diào)取此方法原生端會(huì)調(diào)取登錄界面
js端調(diào)取后臺(tái)接口token失效時(shí)調(diào)用
data結(jié)構(gòu)如下
{
"action":"jsNInvalidLogin",
"needCallBack":"1",
"message":"登錄失效",
"parameter":{ }
}
- jsNShareWeb(調(diào)用分享)
調(diào)取此方法原生端會(huì)顯示分享彈窗
js端需要分享時(shí)調(diào)用
參數(shù)名稱 | 必選 | 參數(shù)描述 |
---|---|---|
shareUrl | true | 需要分享的鏈接 |
shareTitle | true | 需要分享的標(biāo)題 |
shareContext | true | 需要分享的內(nèi)容 |
imgUrl | false | 需要分享的圖片 |
data結(jié)構(gòu)如下
{
"action":"jsNShareWeb",
"needCallBack":"1",
"message":"調(diào)用分享",
"parameter":{
"shareUrl":"http://www.baidu.com",
"shareContext":"shareContext",
"shareTitle":"shareTitle",
"imgUrl":"",
}
}
- jsNShowLoading(顯示加載框)
調(diào)取此方法原生端會(huì)顯示加載框(調(diào)此方法必須調(diào)用jsNDismissLoading)
js端需要顯示加載框時(shí)調(diào)用 - jsNDismissLoading(隱藏加載框)
調(diào)取此方法原生端會(huì)隱藏加載彈框
js端需要隱藏加載彈框時(shí)調(diào)用 - jsNShowLoadFailed(加載失斕赘埂)
調(diào)取此方法原生端會(huì)顯示加載失數缳鳌(調(diào)此方法必須調(diào)用jsNShowContent)
js端需要顯示加載失敗時(shí)調(diào)用 - jsNShowNoNetwork(顯示無(wú)網(wǎng)絡(luò))
調(diào)取此方法原生端會(huì)顯示無(wú)網(wǎng)絡(luò)(調(diào)此方法必須調(diào)用jsNShowContent)
js端需要顯示加載失敗時(shí)調(diào)用 - jsNShowContent(顯示內(nèi)容頁(yè))
調(diào)取此方法原生端會(huì)顯示正常頁(yè)面
js端調(diào)取加載失敗jsNShowLoadFailed或者無(wú)網(wǎng)絡(luò)jsNShowNoNetwork后調(diào)用