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