微信小程序教程04:API(完结)

栏目: IOS · Android · 发布时间: 5年前

内容简介:wx.showLoading用来显示一个loading提示框,但它不提供duration设置,需主动调用 wx.hideLoading 才能关闭提示框,可以通过title属性显示loading文字。wx.showToast方法用来显示一个提示框,title属性可指定显示内容,icon属性指定显示的图标类型,为none时即不显示图标,duration属性用来设置提示框显示的时长。wx.showActionSheet方法用来显示操作菜单,在itemList属性中指定按钮文案,最大长度为6。

wx.showLoading用来显示一个loading提示框,但它不提供duration设置,需主动调用 wx.hideLoading 才能关闭提示框,可以通过title属性显示loading文字。

wx.showLoading({
  title: 'loading'
})
setTimeout(function () {
  wx.hideLoading()
}, 2000)
复制代码

wx.showToast

wx.showToast方法用来显示一个提示框,title属性可指定显示内容,icon属性指定显示的图标类型,为none时即不显示图标,duration属性用来设置提示框显示的时长。

wx.showToast({
    title: 'toast',
    icon: 'none',
    duration: 1000
  })
复制代码

wx.showActionSheet

wx.showActionSheet方法用来显示操作菜单,在itemList属性中指定按钮文案,最大长度为6。

wx.showActionSheet方法有3种回调方式,分别为success(选中菜单时)、fail(点击取消按钮和背景色)、complete(弹窗收起时),都会传入结果参数,如{errMsg: "showActionSheet:ok", tapIndex: 0}或{errMsg: "showActionSheet:ok", tapIndex: 0}。

wx.showShareMenu

wx.showShareMenu方法用于显示当前页的转发按钮,它接受一个withShareTicket参数,为true时会生成一个分享id,可以在小程序后台追踪分享结果。

wx.showShareMenu({
    withShareTicket: true
  })
复制代码

wx.getUserInfo

wx.getUserInfo用于获取用户信息,可以在success回调中获取用户信息。

wx.getUserInfo({
  success(res) {
    console.log(res)
  }
})
复制代码

wx.login

wx.login方法与wx.getUserInfo方法不同,它的success回调数据中的code属性是用户的token,如{errMsg: "login:ok", code: "081qfzoj2LluFC0feOlj2gQboj2qfzo5"}。

token每次请求返回都不同,需要将token传到服务端,由服务端通过code2Session接口获取到用户的session_key、openid和unionid,其中是否返回unionid需要看用户的设置。

code2Session请求地址为:

GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
复制代码

其中需要的APPID和SECRET,可以在小程序的开发设置页面中找到。

微信小程序教程04:API(完结)

code2Session的返回值中,session_key主要用来验证用户身份,请求用户的信息,用户每次登录时,session_key的值都不同。

openid是仅在当前小程序中唯一的,当前用户的id,也就是说openid在其他小程序中是不同的。

unionid指的是开发者的多个公众号和小程序等应用中,对同一个用户的唯一标识。 developers.weixin.qq.com/miniprogram…

wx.scanCode

wx.scanCode方法是用来调用微信的扫码功能,可用scanType属性指定扫码类型,在success回调中接收扫码结果。

wx.scanCode({
  scanType: ['barCode', 'qrCode'],
  success(res) {
    console.log(res)  // {errMsg: "scanCode:ok", result: "google", scanType: "QR_CODE", charSet: "UTF-8"}
  }
})
复制代码

wx.setKeepScreenOn

wx.setKeepScreenOn方法用来使屏幕保持常量状态,可将keepScreenOn参数设置为true,开启保持常量。

wx.setKeepScreenOn({
  setKeepScreenOn: true
})
复制代码

wx.setScreenBrightness

wx.setScreenBrightness可以设置屏幕亮度,参数value属性由0~1表示亮度, 0最暗,1最亮。

wx.setScreenBrightness({
  value: 1
})
复制代码

wx.getBatteryInfo

wx.getBatteryInfo可用来获取手机点亮,它还有一个同步版本wx.getBatteryInfoSync,在success回调中可以获取数据。

wx.getBatteryInfo({
  success(res) {
    console.log(res)  // {isCharging: false, level: 38, errMsg: "getBatteryInfo:ok"}
  }
})
复制代码

wx.connectWifi

wx.connectWifi用来链接WIFI,需要传入WIFI的SSID和password。

wx.connectWifi({
  SSID: '',
  password: '',
  success(res) {
    console.log(res.errMsg)
  }
})
复制代码

wx.startSoterAuthentication

wx.startSoterAuthentication可用来调用微信的生物认证。可在requestAuthModes中传入认证方式,目前仅支持fingerPrint指纹识别。challenge挑战因子属性用于校验调用者身份,将作为 resultJSON 的一部分返回给调用者。

wx.startSoterAuthentication({
  requestAuthModes: ['fingerPrint'],
  challenge: '123456',
  authContent: '请用指纹解锁',
  success(res) {
    wx.showToast({
      title: JSON.stringify(res),
      icon: 'none'
    })
  },
  fail(res) {
    wx.showToast({
      title: JSON.stringify(res),
      icon: 'none',
      duration: 100000
    })
  },
})
复制代码

wx.downloadFile

wx.downloadFile将会由客户端直接发起一个 HTTPS GET 请求,可通过url属性指定一个下载地址,通过filePath指定下载后的存储路径。

wx.downloadFile({
  url: 'https://cn.bing.com/sa/simg/hpc26i_2x.png',
  filePath: 'hpc26i_2x.png',
  success(res) {
    toast(JSON.stringify(res))
  },
  fail(res) {
    toast(JSON.stringify(res))
  },
})
复制代码

wx.startBluetoothDevicesDiscovery

wx.startBluetoothDevicesDiscovery方法用来搜索附近的蓝牙设备,在services属性中可以设置要搜索的设备类型。

由于该方法比较消耗系统资源,搜索并链接成功后可以调用wx.stopBluetoothDevicesDiscovery关闭搜索。

wx.startBluetoothDevicesDiscovery({
  success(res) {
    toast(JSON.stringify(res))
    wx.stopBluetoothDevicesDiscovery()
  },
  fail(res) {
    toast(JSON.stringify(res))
  },
})
复制代码

wx.request

wx.request用于网络请求,注意需要将请求的域名设置为合法域名,否则请求会被拦截,在测试时可以在开发 工具 中选择不校验合法域名。

wx.request({
  url: 'https://cn.bing.com/search',
  data: { q: 'abc', safe: 'off' },
  method: 'get',
  dataType: 'text',
  success(res) {
    toast(JSON.stringify(res))
  },
  fail(res) {
    toast(JSON.stringify(res))
  }
})
复制代码

结束语

至此,微信小程序教程完结,在我看来,小程序更像是Vue+React+React Native的混合体,有Vue或React相关开发经验的话入门很简单。

但小程序基于微信平台,能够实现传统Web开发不具备的很多功能,而且能够在微信生态圈内发展,作为前端是不能不掌握的重要技能。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Tango with Django

Tango with Django

David Maxwell、Leif Azzopardi / Leanpub / 2016-11-12 / USD 19.00

Tango with Django is a beginner's guide to web development using the Python programming language and the popular Django web framework. The book is written in a clear and friendly style teaching you th......一起来看看 《Tango with Django》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具