WebView优化协议

使用框架

使用大鬼头的JsBridge框架
使用之前需要仔细阅读框架的规则

使用的data参数规则如下

action  不可为空  方法名  调用原生函数  与  原生函数命名统一
needCallBack  不可为空  默认为0    是否需要原生回调
message  不可为空,  使用场景为显示页面错误等供原生使用
parameter  可为空  附加参数,用于复杂业务时,向原生传递参数 json结构

例如

{ 
  "action":"jsNGetToken",
  "needCallBack":"1",
  "message":"获取Token",
  "parameter":{
    "state":1
  }
}

返回结果

参数名称 必选 类型 参数描述
code true int 返回结果状态(0成功-1失败)
msg true string 返回结果信息
data true json 返回结果体

例如

{ 
  "code":0,
  "msg":"成功",
  "data":{ 
    "img":"youlife"
  }
}

JS调取原生

原生端handerName为nativeListener并提供action如下


  • jsNGetPhoto(获取图片)
    调取此方法原生端显示选择图片的弹窗
    js端调取原生的选择图片时使用
    后期需要添加参数再协商
    data结构如下
{ 
  "action":"jsNGetPhoto",
  "needCallBack":"1",
  "message":"获取照片",
  "parameter":{ }
}

返回结果

参数名称 必选 类型 参数描述
code true int 返回结果状态
msg true string 返回结果信息
data true json 返回结果体
img true string 返回图片的base64

例如

{ 
  "code":0,
  "msg":"成功",
  "data":{ 
    "img":"youlife"
  }
}

  • jsNGetToken(获取token)
    调取此方法原生端会返回当前用户token
    js端需要原生端的授权(token)时调用
参数名称 必选 参数描述
business true 需要授权的业务

data结构如下

{ 
  "action":"jsNGetToken",
  "needCallBack":"1",
  "message":"获取token",
  "parameter":{ 
    "business":"xxx业务"
  }
}

返回结果

参数名称 必选 类型 参数描述
code true int 返回结果状态
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端需要分享时调用
参数名称 必选 参数描述
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(加载失败)
    调取此方法原生端会显示加载失败(调此方法必须调用jsNShowContent)
    js端需要显示加载失败时调用
  • jsNShowNoNetwork(显示无网络)
    调取此方法原生端会显示无网络(调此方法必须调用jsNShowContent)
    js端需要显示加载失败时调用
  • jsNShowContent(显示内容页)
    调取此方法原生端会显示正常页面
    js端调取加载失败jsNShowLoadFailed或者无网络jsNShowNoNetwork后调用

你可能感兴趣的:(WebView优化协议)