polysoft

picc专用原生调用统一接口

Usage no npm install needed!

<script type="module">
  import polysoft from 'https://cdn.skypack.dev/polysoft';
</script>

README

polysoft接口 1.0.8

yarn add polysoft 
npm i polysoft --save

更新

yarn upgrade polysoft
npm update polysoft --save

安装方式

引入index.js到html页面

使用示例

  //广告消息接收,消息事件,locateInfo 为原生响应事件名称
  $api.on("locateInfo",(da)=>{
  })
  //js调用原生
  $api.getLocateInfo();

前端调用原生

  • $api.getLocateInfo();

按说明文档传入参数


前端事件绑定

  • $api.on("test",()=>{})

监听原生EventMessage广播

|参数|类型|说明| |-|-|-| |argument0|string|事件名称| |argument1|Functon|广播消息后回调事件|

原生广播消息(两种方式都支持)

建议原生以后接口需要回掉的都通过EventMessage的方式进行通知,参数参考说明

  • window.EventMessage("xxx")
  • $api.EventMessage("xxx")

原生通知消息,调用$api.storeGet(xxx)时全局广播

|参数|类型|说明| |-|-|-| |params|string|{"name":"test","data":{"appId":"111111"}}| |name|string|$api.on("test",(data)=>{}),前端绑定事件监听的事件名称| |data|string|返回数据|


登录消息通知

  • $api.SendMessage({"name":"Login","data":"true"})
  • $api.on("Login",()=>"收到登录通知")

从登录页面通知所有打开webview登录成功

|参数|说明| |-|-| |name|自定义消息名称,原生调用EventMessage通知所有webview接收,自己根据业务需求来接收自己的自定name,需要和其他发通知的webview对接好名称| |data|发送消息内容|

消息说明

js调用与原生响应

|原生响应消息名称|js调用原生消息名称| 说明| |-|-|-| |"locateInfo" | "getLocateInfo" | 获取当前位置信息| |"phoneInfo" | "getPhoneInfo" | 获取手机信息| |"sendNetType" | "getNetType" | 获取网络状态| |"openUrlCallback" | "openURL" | 打开外部链接| |"changeAvatarSuccess" | "chagegeAvatar" | 修改用户头像| |"changeAvatarError" | "chagegeAvatar" | 修改用户头像| |"openPhotoCallback" | "openPhoto" | 选择打开照相机| |"openGalleryCallback" | "openGallery" | 选择打开相册| |"pushNotice" | "queryNotice" | 当app通知权限未打开| |"shareSuccess" | "umShare" | 分享成功| |"shareError" | "umShare" | 分享失败| |"openFaceCallback" | "openFace" | 打开人脸识别页面| |"OCRBankSuccess" | "openBankOCR" | 打开银行卡识别| |"OCRBankFail" | "openBankOCR" | 打开银行卡识别失败| |"OCRIDSuccess" | "openIDCardOCR" | 打开身份证识别| |"OCRIDFail" | "openIDCardOCR" | 打开身份证识别| |"setStatusBarHeight" | "getStatusBarHeight" | 调用原生获取态栏高度| |"requestSuccessCallback" | ["postRequest","getRequest"] | 调用原生post网络请求| |"requestFailedCallback" | ["postRequest","getRequest"]|用原生post网络请求|

js调用原生

|原生接口名称|说明| |-|-| |"getLocateInfo" | "获取当前位置信息 | |"getPhoneInfo" | 获取手机信息 | |"cleanCache" | (String type) 清除缓存 参数字符串1 清除webview缓存2 清除app所有缓存文件(包括用户名登录信息)| |"getNetType" | 获取网络状态| |"openURL" | (String json) 打开外部链接 title外链标题 content描述 url链接 directType跳转类型 directId详情id| |"setStatusBar" | (String json) 设置状态栏背景颜色 statusBarColor 背景栏颜色名称 参数为色号| |"chagegeAvatar" | (String type) 修改用户头像, 参数字符串:type 1相机 2相册| |"openPhoto" | 选择打开照相机| |"openGallery" | 选择打开相册| |"openPDF" | (String json) 打开pdf ,file pdf下载地址, title pdf文件名称| |"appUpdata" | (String names) apk升级 下载app安装包 参数字符串:names 下载地址链接| |"setWebViewUrl" | (String url) 动态修改webview的加载url 参数字符串:url 下载链接地址| |"openPushNotice" | 当app通知权限未打开,调用此方法弹窗提示用户打开通知权限| |"queryNotice" | 查询当前app是否开启了应用通知权限 参数为空| |"exitApp" | 强制退出app 参数为空| |"saveData" | (String json)调用原生进行数据本地存储操作 :name 存储数据名字,value需要存储的数据| |"getData" | (String json)调用原生进行本地数据获取操作 :name 要获取的数据名字,jsMethodName 回调的方法名称,在此方法中接受获取的数据| |"deleteData" | (String json)调用原生进行数据本地存储操作 参数json字符串:name 删除的数据名字| |"umShare" | (String json) 友盟分享方法 :link 链接type 1 链接 2 图片,title分享标题, content分享描述,image分享长图 ,qrcode二维码地址 长图用 url地址 链接用 ,detailId详情Id ,directType类型,directId详情,IdshareTitle外链标题| |"openFace" | (String params) 打开人脸识别页面 : realName 识别人姓名, idCardNo 识别人身份证号,custId 用户的唯一id(自定义)| |"openBankOCR" | (String type) 打开银行卡识别 参数字符串 type 1相机 2相册(相册暂时不支持银行卡识别)| |"openIDCardOCR" | (String type) 打开身份证识别 参数为空type 1相机 2相册| |"setStatusBarTransparent" | 设置状态栏透明,沉浸式方法| |"getStatusBarHeight" | 调用原生获取状态栏高度| |"closePage" | 调用原生方法关闭当前展示的webVIew页面。| |"openLoginPage" | 调用原生打开登录页面| |"loginSuccess" | 登录成功调用原生,通知原生登录成功关闭当前页面。| |"SendMessage" | (String params) 发送全局通知消息,通知所有webView,参数字符串。格式 {"name":"触发器名称","data":"any"}。| |"openVideoPage" | (String url) 打开视频播放页面 参数字符串 url 视频播放地址| |"postRequest" | (String json) 调用原生post网络请求 参数json字符串:url 接口地址 ,header 网络请求头 ,body 请求参数| |"getRequest" | (String json) 调用原生gett网络请求 参数json:url 接口地址,header 网络请求头, body 请求参数|

原生调用js

|原生接口名称|说明| |-|-| |"shareSuccess" | (String json) 微信分享成功方法 | |"shareError" | (String params) 微信分享失败方法 参数json字符串| |"shareMedia" | (String params) 友盟分享回调平台方法,分享到哪个平台。 参数json字符串| |"changeAvatarSuccess" | (String params) 头像图片获取成功方法 参数待定| |"changeAvatarError" | (String params) 头像图片获取失败 参数待定| |"getMessage" | (String params) 极光推送极光发送未读消息数 参数字符串count 未读消息数量| |"JGMessage" | (String params) 极光推送别名接受消息参数json字符串| |"phoneInfo" | (String params) 手机信息 参数json字符串deviceToken 设备唯一IDclientType 设备类型,1安卓,2 IOSisfirst是否第一次登陆isroot是否rootversion当前app版本号| |"pushNotice" | (String params) 设备是否打开通知 参数字符串:true 打开false 未打开| |"locateInfo" | (String params) 获取位置信息 参数json字符串province 省city 市county 县 | |"OCRBankSuccess" | (String params) ocr银行卡识别成功后回传数据 参数json字符串| |"OCRBankFail" | (String params) ocr银行卡识别失败 参数json字符串| |"OCRIDSuccess" | (String params) ocr身份证识别成功后回传数据 参数json字符串| |"OCRIDFail" | (String params) ocr身份证识别失败 参数json字符串| |"sendNavigation" | (String params) 原生table切换后通知js 参数字符串:index 当前的选中的项| |"sendNetType" | (String params) 向js发送网络状态 参数字符串:0-移动网络,1-WiFi,2-其他,-1:未连接| |"setStatusBarHeight" | (String params) 向js发送状态栏高度 参数字符串| |"getData" | (String params) 向js发送获取的本地数据 参数字符串| |"requestSuccessCallback" | (String params) 向js发送网络请求成功返回的数据 参数字符串| |"requestFailedCallback" | (String params) 向js发送网络请求失败返回的数据 参数字符串| |"openUrlCallback" | 向js发送页面跳转通知,无参数| |"loginSuccessCallback" | () 向js发送登录成功的消息,无参数| |"openGalleryCallback" | (String params) 打开相册回调方法,参数json 例 {status:0,content:""} status 状态 0为成功,其他失败content图片的base64编码| |"openPhotoCallback" | (String params)打开相机回调方法,参数json 例 {status:0,content:""} status 状态 0为成功,其他失败content图片的base64编码| |"openFaceCallback" | (String params) 向js发送人脸识别结果 参数字符串为识别的code值| |EventMessage | (String params) 发送通用事件 参数json字符串|