§ 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
最后更新于: 4/15/2022, 2:41:22 PM