WebView優(yōu)化協(xié)議

使用框架

使用大鬼頭的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后調用
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容