§ Fox2.0前端框架-插件-Device接口
§ 1.外设接口
fox.device 提供外设访问能力,如相机、麦克风等
API:
- call 外设调用
参数:
- type:外设类型
- action:动作 params:参数
- callback:回调函数 callbck(code,message,data),回调参数code:0-成功,1-取消,2-错误,message:错误信息,data:回调结果
§ 1.1 相机
type:camera
API: fox.device.callCamera(cameraType,callback,params) 参数:
- cameraType: front-前置摄像头,back-后置摄像头
- callback:回调函数 callbck(code,message,data),回调参数code:0-成功,1-取消,2-错误,message:错误信息,data:回调结果
- params:参数
§ 前置拍照
//参数
let params = {
maxWidth:1000, //图片最大宽度
maxHeight:1000,//图片最小宽度
quality: 70, //图片质量 30~100
//location: true, //是开启定位,true为开启,false为关闭
};
//调用前置相机
fox.device.callCamera("front",(code,message,data)=>{
if (code == 0) {
data = JSON.parse(data);
if (data.base64Data) {
var imgData = "data:image/png;base64," + data.base64Data;
//设置图片
this.m_img=imgData;
} else {
//设置图片
this.m_img=data.path;
}
} else {
fox.layer.open("拍照失败,message:" + message);
}
},params);
§ 后置拍照
//参数
let params = {
maxWidth:1000, //图片最大宽度
maxHeight:1000,//图片最小宽度
quality: 70, //图片质量 30~100
//location: true, //是开启定位,true为开启,false为关闭
};
//调用后置相机
fox.device.callCamera("back", (code,message,data)=>{
if (code == 0) {
data = JSON.parse(data);
if (data.base64Data) {
let imgData = "data:image/png;base64," + data.base64Data;
//设置图片
this.m_img=imgData;
} else {
//设置图片
this.m_img=data.path;
}
} else {
fox.layer.open("拍照失败,message:" + message);
}
},params);
§ 返回Base64数据
//参数
let params = {
maxWidth:1000, //图片最大宽度
maxHeight:1000,//图片最小宽度
quality: 70, //图片质量 30~100
base64: true //base64格式
};
//调用后置相机
fox.device.callCamera("back",(code,message,data)=>{
if (code == 0) {
data = JSON.parse(data);
if (data.base64Data) {
let imgData = "data:image/png;base64," + data.base64Data;
//设置图片
this.m_img = imgData;
} else {
//设置图片
this.m_img = data.path;
}
} else {
fox.layer.open("拍照失败,message:" + message);
}
},params);
§ 1.2 录音
type:audio
API: fox.device.callAudio(action,callback,params) 参数:
- action: startRecorder-开始录音,stopRecorder-停止录音,reRecorder-重新录音
- callback: 回调函数 callbck(code,message,data),回调参数code:0-成功,1-取消,2-错误,message:错误信息,data:回调结果
- params:参数
§ 开始录音
this.recorderDisabled=true;
//参数列表
let params = {
maxDuration: 60000
};
//开始录音
fox.device.callAudio("startRecorder",(code, message, data)=>{
if (code == 0) {
data = JSON.parse(data);
//保存路径
this.path = data.path;
fox.logger.info("录音成功,path:"+vm.path);
fox.layer.open("录音成功");
}else{
fox.layer.open("录音失败");
}
this.recorderDisabled=false;
},params);
§ 停止录音
fox.device.callAudio("stopRecorder");
§ 重新录音
//重新录音
fox.device.callAudio("reRecorder");
§ 1.3 录像
type:video
API: fox.device.callVideo(action,callback,params) 参数:
- action: startRecorder-开始录像
- callback: 回调函数 callbck(code,message,data),回调参数code:0-成功,1-取消,2-错误,message:错误信息,data:回调结果
- params:参数
§ 开始录像
//参数列表
let params = {
quality: 0, //录像 0:低质量 1:高质量
maxDuration: -1
};
//开始录音
fox.device.callVideo("startRecorder",(code, message, data)=>{
if (code == 0) {
data = JSON.parse(data);
//保存路径
vm.path = data.path;
fox.logger.info("录像成功,path:"+vm.path);
fox.layer.open("录像成功");
}else{
fox.layer.open("录像失败");
}
},params);
§ 1.4 签名
type:sign
API: fox.device.callSign(callback,params) 参数:
- callback: 回调函数 callbck(code,message,data),回调参数code:0-成功,1-取消,2-错误,message:错误信息,data:回调结果
- params:参数
§ 调用签名
//签名测试
fox.device.callSign((code, message, data)=> {
if(code==0){
fox.layer.open("调用签名成功");
}else if(code==1){
fox.layer.open("调用签名取消");
}else{
fox.layer.open("调用签名错误");
}
})
§ 1.5 指纹仪
type:fp
API: fox.device.callFp(callback,params) 参数:
- callback: 回调函数 callbck(code,message,data),回调参数code:0-成功,1-取消,2-错误,message:错误信息,data:回调结果
- params:参数
§ 调用指纹仪
//指纹仪
fox.device.callFp("collect",function (code, message, data) {
if (code == 0) {
fox.layer.open("指纹仪调用成功:" + data);
} else {
fox.layer.open("指纹仪调用失败:" + message);
}
})
§ 1.6 OCR
type:ocr
API: fox.device.callOcr(action, callback, params) 参数:
- action 动作
- callback: 回调函数 callbck(code,message,data),回调参数code:0-成功,1-取消,2-错误,message:错误信息,data:回调结果
- params:参数
§ 调用OCR
//OCR
fox.device.callOcr("back",function (code, message, data) {
if (code == 0) {
fox.layer.open("ocr调用成功:" + JSON.stringify(data));
} else {
fox.layer.open("ocr调用失败:" + message);
}
},{cover:false})
},
§ 1.7 人脸识别
type:face
API: fox.device.callFace(action, callback, params) 参数:
- action 动作
- callback: 回调函数 callbck(code,message,data),回调参数code:0-成功,1-取消,2-错误,message:错误信息,data:回调结果
- params:参数
§ 调用人脸识别
//人脸识别
fox.device.callFace("read",function (code, message, data) {
if (code == 0) {
fox.layer.open("人脸识别调用成功:" + JSON.stringify(data));
} else {
fox.layer.open("人脸识别调用失败:" + message);
}
},{cover:false})
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9