在需要调用JS接口的页面引入JS文件 zfjs-sdk.js
支持使用 AMD/CMD 标准模块加载方法加载
所有接口通过zfApi对象来调用,参数是一个对象,除了每个接口本身需要传的参数之外,还有以下通用参数:
success:接口调用成功时执行的回调函数。
fail:接口调用失败时执行的回调函数。
complete:接口调用完成时执行的回调函数,无论成功或失败都会执行。
cancel:用户点击取消时的回调函数,仅部分有用户取消操作的api才会用到。
以上几个函数都带有一个参数,类型为对象,其中除了每个接口本身返回的数据之外,还有一些通用属性,如:{ errCode: 0, errMsg: "" }
其中errCode为必有的integer字段,含义参照错误码,errMsg为调用失败的具体描述
let match =
navigator.userAgent.match(/zfjs\/(\d+\.\d+\.\d+)/)
||
navigator.userAgent.match(/zfjs\/(\d+\.\d+)/)
let vCode = match && match[1]
window.zfApi.onContainerResume(ret => {
console.log(`onContainerResume ${JSON.stringify(ret)}`);
});
window.zfApi.onContainerPause(ret => {
console.log(`onContainerPause ${JSON.stringify(ret)}`);
});
zfApi.setTitle({
title: "test title" //标题
});
zfApi.backCloseWindow({});
zfApi.closeWindow({});
TODO 安全
zfApi.putLocalStorageKV({
key:"" //键
value:"" //值
});
TODO 安全
zfApi.getLocalStorageKV({
key:"", //键
success(ret){
let ret.value //取到的值
}
});
zfApi.choosePhotos({
enableCount: 3, //可选择数量,0<enableCount<=9
success(ret) {
let result = ret.result; //[{nativeResourceUrl:"",name:"",size:0}]
result.forEach(element => {
let nativeResourceUrl = element.nativeResourceUrl; //图片本地地址,可以直接指定为image标签src
let name = element.name; //名称
let size = element.size; //文件大小
});
}
});
zfApi.uploadPhotos({
nativeResourceUrls: [""], //choosePhotos获取到的
success(ret) {
let result = ret.result; //[{nativeResourceUrl:"",serverResourceUrl:""}]
result.forEach(element => {
let nativeResourceUrl = element.nativeResourceUrl; //图片本地地址
let serverResourceUrl = element.serverResourceUrl; //服务器地址
});
}
});
zfApi.previewPhotos({
urls: ["", ""], //可以为nativeResourceUrl
index: 0, //打开时展示的图片位置
success() {}
});
zfApi.chooseVideos({
enableCount: 3, //可选择数量,0<enableCount<=3
success(ret) {
let result = ret.result; //[{nativeResourceUrl:"",name:"",size:0}]
result.forEach(element => {
let nativeResourceUrl = element.nativeResourceUrl; //本地地址
let name = element.name; //名称
let size = element.size; //文件大小
let videoTime = element.videoTime; //视频时长,毫秒
});
}
});
zfApi.uploadVideos({
nativeResourceUrls: [""], //chooseVideos获取到的
success(ret) {
let result = ret.result; //[{nativeResourceUrl:"",serverResourceUrl:""}]
result.forEach(element => {
let nativeResourceUrl = element.nativeResourceUrl; //本地地址
let serverResourceUrl = element.serverResourceUrl; //服务器地址
});
}
});
zfApi.previewVideo({
url: "", //可以为nativeResourceUrl
success() {}
});
zfApi.chooseFile({
enableCount: 3, //可选择数量,0<enableCount<=9,在多选时才处理-iOS不支持多选
maxSize: 3, //单个文件限制大小:0:无限制; >0 限制最大值,单位为MB
isMultiSelect: true, //(true,为多选 false,单选-iOS不支持多选)
success(ret) {
let result = ret.result; //[{nativeResourceUrl:"",name:"",size:0}]
result.forEach(element => {
let nativeResourceUrl = element.nativeResourceUrl; //本地地址
let name = element.name; //名称
let size = element.size; //文件大小
});
}
});
zfApi.uploadFile({
nativeResourceUrls: [""], //chooseVideos获取到的
success(ret) {
let result = ret.result; //[{nativeResourceUrl:"",serverResourceUrl:""}]
result.forEach(element => {
let nativeResourceUrl = element.nativeResourceUrl; //本地地址
let serverResourceUrl = element.serverResourceUrl; //服务器地址
});
}
});
zfApi.previewFile({
url: "", //可以为nativeResourceUrl
success() {}
});
zfApi.chooseLocation({
success(ret) {
let address = ret.address; // 详细地址
let latitude = ret.latitude; // 纬度,浮点数,范围为90 ~ -90
let longitude = ret.longitude; // 经度,浮点数,范围为180 ~ -180。
}
});
zfApi.getLocation({
success(ret) {
let address = ret.address; // 详细地址
let latitude = ret.latitude; // 纬度,浮点数,范围为90 ~ -90
let longitude = ret.longitude; // 经度,浮点数,范围为180 ~ -180。
}
});
TODO
zfApi.getLocation({
success(ret) {}
});