第六章(API应用总结)

学习目标:

1、掌握网络API         2、掌握多媒体API

3、掌握文件API         4、掌握本地数据及缓存API

5、掌握位置信息API  6、掌握设备相关API

6.1  网络API

微信原生API接口或第三方API提供了各类接口实现前后端交互。

网络API可以帮助开发者实现网络URL访问调用、文件的上传和下载、网络套接字的使用等功能处理。微信开发团队提供了10个网络API接口。

wx. request(Object)接口用于发起 HTTPS请求。

wx.uploadFile(Object)接口用于将本地资源上传到后台服务器。

wx. downloadFile( Object)接口用于下载文件资源到本地。

wx. connectSocket( Object)接口用于创建一个WebSocket连接。

wx. sendSocketMessage(Object)接口用于实现通过WebSocket连接发送数据。

wx. closeSocket( Object)接口用于关闭WebSocket连接。

wx.onSocketOpen(CallBack)接口用于监听WebSocket连接打开事件。

wx.onSocketError(CallBack)接口用于监听WebSocket错误。

wx. onSocketMessage(CallBack)接口用于实现监听WebSocket接收到服务器的消息事件。

wx.onSocketClose(CallBack)接口  用于实现监听WedSocket关闭。

6.1.1 发起网络请求

一个微信小程序只有5个网络请求连接,并且是HTTPS请求。

实现向服务器发送请求,获取数据等网络交互操作,相关参数如表:

代码实现:

page({
    data:{
        html:""
    },
    getbaidutap:function(){
        var that=this;
        wx.request({
          url: 'https://www.baidu.com',//百度网址
          data:{},//发送数据为空
          header:{'Content-Type':'application/json'},
          success:function(res){
              console.log(res);
              this.setData({
                  html:res.data
              })
          }
        })
    }
    
})
<button type="primary" bind:tap="getbaidutap">获取HTML数据</button>
<textarea value="{{html}}" auto-heightmaxlength="0"></textarea>

6.1.2 上传文件

 wx.uploadFile(Object)接口用于将本地资源上传到开发者服务器,并在客户端发起一个HTTPS POST请求。

相关参数表如下: 

可以将图片上传到服务器并显示,示例代码如下:

page({
    data:{
        img:null,
    },
    uploadimage:function(){
        var thar=this;
        //选择图片
        wx.chooseImage({
            success:function(res){
                var tempFilePaths=res.tempFilePaths
                upload(that.tempFilePaths);
            }
        })
        function upload(page,path){
            //显示toast提示消息
            wx.showTast({
                icon:"loading",
                title:"正在上传"
            }),
            wx.uploadFile({
              filePath: Path[0],
              name: 'file',
              url: 'http://localhost',
              success:function(res){
                  console.log(res);
                  if(res.statusCode!=200){
                      wx.showModal({
                        title: '提示',
                        content: '上传失败',
                        showCancel:false
                      })
                      return;
                  }
                  var data=res.data
                  page.setData({
                      img:path[0] //上传成功修改显示头像
                  })
              },
              fail:function(e){
                  console.log(e);
                  wx.showModal({
                    title: '提示',
                    content: '上传失败',
                    showCancel:false
                  })
              },
              complete:function(){
                  //隐藏Toast
                  wx.hideToast();
              }
            })
        }
    }
})

6.2 多媒体 API

多媒体API主要包括图片API、录音API、音频播放控制API、音乐播放控制 API等,其目的是丰富小程序的页面功能。

6.2.1 图片API

图片API实现对相机拍照图片或本地相册图片进行处理,主要包括以下4个API接口:

wx.chooseImage(Object)接口用于从本地相册选择图片或使用相机拍照。

wx. previewImage(Object)接口用于预览图片。

wx. getImageInfo( Object)接口用于获取图片信息。

wx. saveImageToPhotosAlbum(Object)接口用于保存图片到系统相册。

1.选择图片或者拍照

wx.chooseImage(Object)接口用于从本地相册选择图片或使用相机拍照。

wx.chooseImage(Object)接口参数表如下:

2.预览图片 

wx. previewImage(Object)接口用于预览图片。相关参数表如下:

示例代码: 

 wx.previewImage({
//定义显示第二张
current:"http://图片路径2",
urls:["http://图片路径1","http://图片路径2","http://图片路径3",]
})

3.获取图片信息 

wx. getImageInfo( Object)接口用于获取图片信息。相关参数表如下:

示例代码: 

wx.chooseImage({
success:function(res){
wx.getImgageInfo({
src:res.tempFilepaths[0],
success:function(e){
console.log(e.width)
console.log(e.height)
}
})
},
})

 4.保存图片到相册

wx. saveImageToPhotosAlbum(Object)接口用于保存图片到系统相册。相关参数表:

示例代码: 

 wx.chooseImage({
                success:function(res){
                    wx.saveImageToPhotosAlbum({
                      filePath: res.tempFilePaths[0],
                      success:function(e){
                          console.log(e)
                      }
                    })
                }
            })

 6.2.2  录音API

录音API提供了语音录制的功能,主要包括以下两个API接口:

wx.startRecord (Object) 接口 用于实现开始录音。

wx.stopRecord (Object) 接口 用于实现主动调用停止录音。

1. 开始录音

wx.startRecord (Object) 接口 用于实现录音。

当主动调用wx.stopRecord(Object)接口或者录音超过1分钟时,系统自动结束录音,并返回录音文件的临时文件路径。若要持久保存,则需要调用wx.saveFile()接口。其相关参数如表6-8所示。

2.停止录音 

wx.stopRecord (Object) 接口 用于实现主动调用停止录音。


        wx.startRecord({
            success:function(res){
                var tempFilePath=res.tempFilePath
            },
            fail:function(res){
                //录音失败
            }
        })
        setTimeout(function() {
            //结束录音
            wx.stopRecord()
        },10000)

6.2.3音频播放控制API

音频播放控制主要包括对语音媒体文件的控制,包括播放、暂停、停止及 audio组件的控制

包括以下三个API接口:

1、wx.playVoice (Object) 接口 :用于实现开始播放语音。

2、wx.pauseVoice(Object) 接口 :用于实现暂停正在播放的语音。

3、wx.stopVoice(Object) 接口 :用于实现结束播放语音。

(1)播放语音

 wx.playVoice (Object) 接口 :用于实现开始播放语音,同时只允许一个语音文件播放

wx.playVoice (Object) 接口 参数表如下:

 

示例代码: 

  //音频播放
    wx.startRecord({
        success:function (res) {
            var tempFliePath =res.tempFliePath
            wx.playVoice({
              filePath: 'tempFilePath',
              complete:function name(params) {
                  
              }
            })
        }
    })

 (2.)暂停播放

wx.pauseVoice(Object) 用于实现暂停正在播放的语音。再次调用wx.playVoice (Object) 播放同一个文件,会从暂停处播放。

示例代码:

wx.startRecord({
        success:function (res) {
            var tempFliePath =res.tempFliePath
            wx.playVoice({    //录音完后立即播放
              filePath: 'tempFilePath',
              complete:function name(params) {
               }
            })
            setTimeout(function () {
                //暂停播放
                wx.pauseVoice()
            },5000)
        }
    })

(3)结束播放

wx.stopVoice(Object) 接口 :用于实现结束播放语音

 wx.chooseImage({
                success:function(res){
                    wx.saveImageToPhotosAlbum({
                      filePath: res.tempFilePaths[0],
                      success:function(e){
                          console.log(e)
                      }
                    })
                }
            })
              //音频播放
    wx.startRecord({
        success:function (res) {
            var tempFliePath =res.tempFliePath
            wx.playVoice({    //录音完后立即播放
              filePath: 'tempFilePath',
              complete:function name(params) {
                  //接口调用结束的回调函数
               }
            })
            setTimeout(function () {
                //暂停播放
                wx.pauseVoice()
            },5000)
            
            setTimeout(function () {
                //结束播放
                wx.stopVoice()
            },5000)
        }
    })

6.2.4 音乐播放控制API

音乐控制API主要实现对背景音乐的控制,音乐文件只能是网络媒体流不能是本地音乐文件。

包括一下8个API:

wx.playBackgroundAudio(Object)接口 用于播放音乐。
wx.getBackgroundAudioPlayerState(Object)接口 用于获取音乐播放状态。
wx.seekBackgroundAudio(Object)接口 用于定位音乐播放进度。
wx.pauseBackgroundAudio()接口 用于实现暂停播放音乐。
wx.stopBackgroundAudio()接口 用于实现停止播放音乐。
wx.onBackgroundAudioPlay(CallBack)接口 用于实现监听音乐播放。
wx.onBackgroundAudioPause(CallBack)接口 用于实现监听音乐暂停。
wx.onBackgroundAudioStop(CallBack)接口 用于实现监听音乐停止。

1、播放音乐

wx.playBackgroundAudio(Object) 用于播放音乐。

参数表如下:

2. 获取音乐播放状态

wx.getBackgroundAudioPlayerState(Object)接口 用于获取音乐播放状态。

 3.控制音乐的播放进度

wx.seekBackgroundAudio(Object)接口 用于定位音乐播放进度。

4.暂停播放音乐 

wx.pauseBackgroundAudio()接口 用于实现暂停播放音乐。

5.停止播放音乐

wx.stopBackgroundAudio()接口 用于实现停止播放音乐。

6.监听音乐播放

wx.onBackgroundAudioPlay(CallBack)接口 用于实现监听音乐播放,

通常被wx.playBack-groundAudio(Object)方法触发,在CallBack中可改变播放图标。

7.监听音乐暂停

wx.onBackgroundAudioPause(CallBack)接口 用于实现监听音乐暂停。

通常被wx.playBack-groundAudio(Object)方法触发,在CallBack中可改变播放图标。

8.监听音乐停止

wx.onBackgroundAudioStop(CallBack)接口 用于实现监听音乐停止。

案例展示:

JS代码: 

Page({
    data:{
      //记录播放状态
      isPlaying:false,
      //记录covering,仅当音乐初始时和播放停止时,使用默认的图片。播放中和暂停时,都使用当前音乐的图片
       coverImg:"",
      changedImg:false,
      //音乐内容
      music:{
        "url":"http://bmob-cdn-16488.b0.upaiyun.com/2018/02/09/117e4a1b405195b18061299e2de89597.mp3",
        "title":"盛晓玫-有一天",
        "coverImg":"http://bmob-cdn-16488.b0.upaiyun.com/2018/02/09/f604297140c9681880cc3d3e581f7724.jpg"
      },
    },
    onLoad:function(){
      //页面加载时,注册监听事件
      this.onAudioState();
    },
    //点击播放或者暂停按钮时触发
    onAudioTap:function(event){
      if(this.data.isPlaying){
        //如果在正常播放状态,就暂停,并修改播放的状态
        wx.pauseBackgroundAudio();
      }else{
        //如果在暂停状态,就开始播放,并修改播放的状态
        let music=this.data.music;
        wx.playBackgroundAudio({
          dataUrl: music.url,
          title:music.title,
          coverImgUrl:music.coverImg
        })
      }
    },
    //点击即可停止播放音乐
    onStopTap:function(){
      let that=this;
      wx.playBackgroundAudio({
        success:function(){
          //改变coverImg和播放状态
          that.setData({isPlaying:false,changedImg:false});
        }
      })
    },
    //点击“快进10秒”或者“快退10秒”时,触发
    onPositionTap:function(event){
      let how =event.target.dataset.how;
      //获取音乐的播放状态
      wx.getBackgroundAudioPlayerState({
        success:function(res){
          //仅在音乐播放中,快进和快退才生效
          //音乐的播放状态,1表示播放中
          let status=res.status;
          if(status===1){
            //音乐的总时长
            let duration =res.duration;
            if(how==="0"){
              //注意:快退时,当前播放位置快退10秒小于0时,直接设置position为1,否则,直接减去10秒
              //快退达到的位置
              let position=currentPosition-10;
              if(position<0){
                position=1;
              }
              //执行快退
              wx.seekBackgroundAudio({
                position:position
              });
              //给出一个友情提示,在实际应用中,请删除!!!
              wx.showToast({title:"快退10s",duration:500 });
            }
            if(how==="1"){
              //注意:快进时,当前播放位置快进10秒后大于总时长时,直接设置position为总时长减1
              //快进达到的位置
              let position=currentPosition+10;
              if(position>duration){
                position=duration-1;
              }
              //执行快进
              wx.seekBackgroundAudio({
                position: position
              });
              //给出一个友情提示,在实际应用中,请删除!!!
              wx.showToast({ title: "快进10s",duration:500 });
            }
          }else{
            //给出一个友情提示,在实际应用中,请删除!!!
            wx.showToast({title: "音乐未播放",duration:800});
          }
        }
      })
    },
    //音乐播放状态
    onAudioState:function(){
      let that=this;
      wx.onBackgroundAudioPlay(function(){
        //当wxwx.playBackgroundAudio()执行时触发
        //改变coverImg和播放状态
        that.setData({isPlaying:true,changedImg:true});
        console.log("on play");
      });
      wx.onBackgroundAudioPause(function(){
        //当wxwx.pauseBackgroundAudio()执行时触发
        //仅改变播放状态
        that.setData({isPlaying:false});
        console.log("on pause");
      });
      wx.onBackgroundAudioStop(function() {
        //当音乐自行播放结束时触发
        //改变coverImg和播放状态
        that.setData({isPlaying:false,changedImg:false});
        console.log("on stop");
      });
    }
  })

WXML代码: 

<view class="container">
<image class="bgaudio" src="{{ changedImg? music.img:'./img/bj.jpeg' }}"></image>
<view class="control-view">
<!-- 使用data-how定义一个0表示快退十秒 -->
<image src="./img/tb.jpeg" bind:tap="onPositionTap" data-how="0"/>
<image src="./img/{{isPlaying?'pause':'play'}}.png" bindtap="onAudioTap"/>
<image src="./img/zt.jpeg" bind:tap="onStopTap"/>
<!-- 使用data-how定义一个1表示快进十秒 -->
<image src="./img/kj.jpeg" bind:tap="onPositionTap" data-how="1"/>
</view>
</view>
/**index.wxss**/
.bgaudio{
    height: 350rpx;
    width: 350rpx;
    margin-bottom: 100rpx;
}
.control-viewimage{
    height: 64rpx;
    width: 64rpx;
    margin: 30rpx;
}

 运行结果:

6.3.文件API

从网络上下载或录音的文件都是临时保存的,若要持久保存,需要用到文件API。文件API提供了打开、保存、删除等操作本地文件的能力,主要包括以下5个API接口:

wx.saveFile(Object)接口用于保存文件到本地。
wx.getSaveFileList(Object) 接口用于获取本地已保存的文件列表。
wx.getSaveFileInfo(Object) 接口用于获取本地文件的文件信息。
wx.removeSaveFile(Object) 接口用于删除本地存储的文件。
wx.openDocument(Object) 接口用于新开页面打开文档,支持格式:doc、xls、ppt、pdf、docx、xlsx、ppts。

示例代码: 

saveImg:function(){
  wx.chooseImage({
    count:1,
    sizeType:['original','compressed'],//可以指定是原图还是压缩图,默认二者都有
    sourceType:['album','camera'],//可以指定来源是相册还是相机,默认二者都有
    success:function(res){
      var tempFilePaths=res.tempFilePaths[0]
      wx.saveFile({
        tempFilePath:tempFilePaths,
        success:function(res){
          var saveFilePath=res.saveFilePath;
          console.log(saveFilePath)
        }
      })
      
    }
  })
}

1、保存文件

wx.saveFile(Object)接口用于保存文件到本地。         

示例代码:

    page({
        data:{
            img:null,
        },
        seveImg:function (params) {
            wx.chooseImage({
                count:1,//默认值为9
                sizeType:[orignal,'compressed'],//可以指定是原图还是压缩图,默认二者都有
                success:function (res) {
                    var tempFilePaths=res.tempFilePaths[0]
                    wx.saveFile({
                        tempFilePath:function (res) {
                            var seveFilpath =res.seveFilpath;
                        console.log(saveFilePath)
                            
                        }
                    })
                }
            })
        wx.getSavedFlieList({
            success:function (res) {
                that.setData({
                    fileList:res.fileList
                })
            }
        })
        },
    })

 2、获取本地文件列表

wx.getSaveFileList(Object) 接口用于获取本地已保存的文件列表。

相关参数表:

示例代码:


            wx.getSavedFlieList({
                success:function (res) {
                    that.setData({
                        fileList:res.fileList
                    })
                }
            })

3、获取本地文件的信息

wx.getSaveFileInfo(Object) 接口用于获取本地文件的文件信息。

 若需要获取临时文件则需要使用wx.getFileInfo(Object) 接口。

相关参数表:

示例代码:


            seveImg:function () {
                wx.chooseImage({
                    count:1,//默认值为9
                    sizeType:['orignal','compressed'],//可以指定是原图还是压缩图,默认二者都有
                    sourceType:['albim','camera'],//可以指定来源是相机还是相册
                    success:function (res) {
                        var tempFilePaths=res.tempFilePaths[0]
                        wx.saveFile({
                            tempFilePath:saveFile,
                            success:function (res) {
                                console.log(res.size)
                            }
                        })
                    }
                })

4、删除本地文件

wx.removeSaveFile(Object) 接口用于删除本地存储的文件

相关参数表:

示例代码:

 //从第一个文件列表中删除第一个文件
            wx.getSavedFlieList({
                success:function (res) {
                    if(res.fileList.length > 0){
                        wx.removeSavedFile({
                          filePath:res.fileList[0].filePath,
                          complete:function () {
                              console.log(res)
                          }
                        })
                    }
                }
            })

5、打开文档

wx.openDocument(Object) 接口用于新开页面打开文档,支持格式:doc、xls、ppt、pdf、docx、xlsx、ppts

相关参数表:

示例代码:


            //打开文档
            wx.downloadFile({
              url: 'http://localhoat/fm2.pdf', //在本地通过WXamp搭建服务器
              success:function (res) {
                  var tempFilePath=res.tempFilePath;
                  wx.openDocument({
                    filePath: 'tempFilePath',
                    success:function (res) {
                        console.log("打开成功")
                    }
                  })
              }
            })

6.4    本地数据及缓存 API    

小程序提供了以键值对的形式进行本地数据缓存功能,并且是永久存储的,但最大不超过10MB,其目的是提高加载速度。数据缓存的接口主要有4个:

wx.setStorage( Object)或wx.setStorageSync(key,data)接口用于设置缓存数据。

wx.getStorage(Object)或wx.getStorageSyne(key)接口用于获取缓存数据。

wx.removeStorage( Object)或wx.removeStorageSyne(key)接口用于删除指定缓存数据。

wx.clearStorage( )或wx.clearStorageSync()接口用于清除缓存数据。其中,带Syne后缀的为同步接口,不带Sync后缀的为异步接口。

6.4.1保存数据

1、wx.setStorage( Object) 接口将数据存储到本地缓存接口指定的Key中,接口执行会覆盖原来Key对饮的内容。

示例代码: 


            wx.setStorage({
                key:'name',
                data:'sdy',
                success:function (res) {
                    console.log(res)
                }
            })

2、wx.setStorageSync(key,data)是同步接口,参数只有keydata

示例代码: 

wx.setStorageSync('age','25')

6.4.2获取数据

1、wx.getStorage(Object)接口是本地缓存中异步获取指定key对应的内容。

示例代码


            //异步获取指定key对应的内容
            wx.getStorage({
                key:'name',
                success:function (res) {
                    console.log(res.data)
                }
            })

 2.wx.getStorageSyne(key)从本地缓存同步获取指定Key对应的内容参数只有key

示例代码:

//本地缓存同步获取指定key对应的内容
           try{
               var value=wx.getStorageSync('age')
               if(value){
                   console.log("获取成功"+value)
               }
           }catch(e){
               console.log('获取失败')
           }

6.4.3 删除数据

1、wx.removeStorage( Object)接口用于从本地缓存中异步移除指定Key.

示例代码:


          // 从本地缓存中异步移除指定Key.
           wx.removeStorage({
             key: 'name',
             success:function (res) {
                 console.log('删除成功')
             },
             fail:function (res) {
                 console.log("删除失败")
             }
           })

 2、wx.removeStorageSyne(key)接口用于从本地缓存中同步移除指定Key的内容.


           //从本地缓存中同步移除指定Key的内容.
           try{
               wx.removeStorageSync('name')
           }catch(e){
               //DO something when catch error
           }

6.4.4 清空数据

1、wx.clearStorage( )接口用于异步清理本地数据缓存,没有参数

示例代码

wx.clearStorage({
              key:'name',
              success:function (res) {
                  wx.clearStorage() //清除本地缓存
              }
          })

2、wx.clearStorageSync()接口用于同步清理本地数据缓存

示例代码:

try{
wx.clearStorageSync()
}catch(e){
}

6.5  位置信息API

小程序可以通过位置信息API来获取或显示本地位置信息,小程序支持WCS84 和CCj02标准,WGS84标准为地球坐标系,是国际上通用的坐标系;CCj02标准是中国国家测绘局制定的地理信息系统的坐标系统,是由WGS84坐标系经加密后的坐标系,又称为火星坐标系。默认为WGS84标准,若要查看位置需要使用GCj02标准。主要包括以下3个API接口:

wx. getLocation (Object)接口用于获取位置信息。

wx.chooseLocation(Object)接口用于选择位置信息。

wx.openLocation(Object)接口用于通过地图显示位置。

6.5.1 获取位置信息

wx. getLocation( Object)接口用于获取当前用户的地理位置、速度,需要用户开启定位功能,当用户离开小程序后,无法获取当前的地理位置及速度,当用户点击“显示在聊天顶部”时,可以获取到定位信息,其相关参数如表6-22所示。

成功返回相关参数:

示例代码:

 wx.getLocation({
        type:'wgs84',
        success:function (res) {
            console.log("经度:"+res.longitude);
            console.log("纬度:"+res.latitude);
            console.log("速度:"+res.speed);
            console.log("水平精确度:"+res.horizontalAccuracy);
            console.log("垂直精确度:"+res.verticalAccuracy);
        }
    })

 6.5.2 选择位置信息

wx.chooseLocation(Object)接口用于在打开的地图中选择位置信息。

调用成功后返回的参数: 

示例代码:


    wx.chooseLocation({
        success:function (res) {
            console.log("位置的名称"+res.name)
            console.log("位置的地址"+res.address)
            console.log("位置的经度"+res.longitude)
            console.log("位置的纬度"+res.latitude)
        }
    })

6.5.3 显示位置信息

 wx.openLocation(Object)接口用于在微信内置地图中显示位置信息。

示例代码:

wx.getLocation({
        type:'gcj02',//返回可以用于wxwx.openLocation 的经纬度
        success:function (res) {
            var latiude=res.latitude,
            var longitude=res.longitude,
            scale:10,
            name:'智慧国际酒店',
            address:'西安市长安区西长安区300号'
        }
      })

 6.6 设备相关 API

设备相关的接口用于获取设备相关信息,主要包括系统信息、网络状态、拨打电话及扫码等。主要包括以下5个接口API:

wx.getSystemInfo( Object)接口、wx. getSystemInfoSync()接口用于获取系统信息。

wx.getNetworkType( Object) 接口用于获取网络类型。

wx.onNetworkStatusChange(CallBack)接口用于监测网络状态改变。

wx. makePhoneCall(Object)接口用于拨打电话。

wx.scanCode(Object)接口用于扫描二维码。

6.6.1 获取系统信息

wx. getSystemInfo( Object)接口、wx.getSystemInfoSync()接口分别用于异步和同步获取系统信息。其相关参数如表6-27所示。
表6-27wx.getSystemInfo( Object)接口、wx. getSystemInfoSyne( )相关参数

回调成功后返回的相关信息 


  data: {
      success:function (res) {
          wx.getSystemInfo({
              success:function (res) {
                  console.log("手机型号:"+res.model)
                  console.log("设备像素比:"+res.pixelRatio)
                  console.log("窗口的宽度:"+res.windowWidth)
                  console.log("窗口的高度:"+res.windowHeight)
                  console.log("微信的版本号:"+res.version)
                  console.log("客户端平台:"+res.platform)
                  console.log("操作系统版本:"+res.system)
              }
      })
      }

运行结果: 

 

 6.6.2 网络状态

1.获取网络状态

wx. getNetworkType(Object)用于获取网络类型。相关参数如表所示

wx.getNetworkType({
  success:function(res){
  console.log(res.networkType)},})

2.监听网络状态变化

wx. onNetworkStatusChange(CallBack)接口用于监听网络状态变化,当网络状态变化时,返回

网络状态类型及是否有网络连接。

示例代码如下:

wx.onNetworkStatusChange(function(res){
  console.log("网络是否连接:"+res.isConnected) 
  console.log("变化后的网络类型"+res.networkType)})

 6.6.3 拨打电话

wx. makePhoneCall(Object)接口用于实现调用手机拨打电话。相关参数如下:

示例代码:

wx.makePhoneCall({
phoneNumber:'18092585093'//需要拨打的电话号码
})

6.6.4 扫描二维码

wx. scanCode(Object)接口用于调起客户端扫码界面,扫码成功后返回相应的内容。

相关参数如下:

成功返回的数据如表: 

示例代码如下:

//允许从相机和相册扫码
 wx.scanCode({
  success:(res) =>{
  console.log(res.result) 
  console.log(res.scanType) 
  console.log(res.charSet) 
  console.log(res.path)
  }
  })
  
  //只允许从相机扫码
   wx.scanCode({
  onlyFromCamera:true,
   success:(res) =>{ 
     console.log(res)
   }
  })

运行结果: 

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 第五章《微信小程序api应用案例》源码是一些具有实用性的应用实例,主要涵盖了以下几个方面: 1.音频播放:该实例通过调用微信小程序的音频播放接口,实现了在线音频播放功能。用户可以使用小程序播放在线音频,支持背景音乐播放和前后台切换。 2.天气查询:通过使用微信小程序的网络请求接口以及天气查询api,该实例实现了实时查询用户所在位置的天气预报功能。用户在小程序中输入地理位置信息,即可查询所在地的实时天气信息。 3.新闻资讯:该实例通过使用微信小程序的网络请求接口和聚合数据api,实现了获取实时新闻资讯的功能。用户可以在小程序中浏览各种新闻资讯,并可以通过关键词搜索感兴趣的内容。 4.扫码识别:该实例通过使用微信小程序的扫码接口和云智AI图像识别api,实现了扫描二维码并识别图片内容的功能。用户只需在小程序中对准二维码进行扫描,即可得到二维码所包含的图片内容。 这些应用实例不仅拥有较高的实用性,而且还同时展示了微信小程序在音频、网络请求、图像识别等方面强大的技术支持和便捷的开发体验。通过学习这些实例源码,开发者不仅能够更好地理解微信小程序平台的特点和开发规范,还可以借鉴实例中的开发思路和技术手段,以更高效、更专业的方式进行小程序开发。 ### 回答2: 微信小程序API应用案例第五章源码是一份非常有用的程序源代码库,其中收录了许多小程序API应用案例,可以让开发者快速了解和学习这些API的使用方法和应用技巧。 源码库中包括应用案例的代码、效果预览图和说明文档,开发者可以根据需要自行调用不同的API来实现自己的小程序应用。 这份源码库涵盖了小程序的各个功能模块,比如网络请求、文件操作、界面设计、音频视频处理、地理位置定位等等,其中的每个应用案例都非常实用,可以帮助开发者快速掌握和应用这些API的使用方法。 对于小程序开发者来说,这份源码库是一份非常重要的参考资料,可以让他们更快地掌握小程序的开发技能,提升自己的工作能力和竞争力。同时,这份源码库也给新手开发者提供了更加丰富和有趣的学习资源,帮助他们更快地进入小程序开发的世界。 总之,微信小程序API应用案例第五章源码是一份非常有价值的程序源代码库,可以为小程序开发者提供更多有用的工具和资源,帮助他们更好地完成自己的开发工作。 ### 回答3: 微信小程序api应用案例第五章源码提供了一个关于微信小程序开发中使用API的实际应用案例。案例以实现一个简单的天气预报小程序为例,通过调用微信小程序提供的API,获取用户的地理位置信息和天气信息,并将其展示在小程序中。 该源码包含了小程序的基本文件结构和代码逻辑,其中包括了小程序的配置文件、页面结构文件、JS代码和CSS文件。通过这些文件的配合,实现了定位获取、打印等基础功能。在实现天气预报功能方面,该源码调用了和风天气提供的API,并通过解析返回的JSON数据,获取当前天气状况和未来一周的天气预报,以及相关的空气质量等信息。同时,也提供了通过搜索城市名称获取天气预报的功能。 使用该源码,可以帮助开发者了解微信小程序API的使用方法和实际应用场景,以及如何通过API获取和处理数据,并在小程序中进行展示和操作。通过对该源码的学习和实践,可以为今后的小程序开发提供借鉴和参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值