本文重点在于小程序API提供的微信功能支持及获取用户信息的解读,具体的用法和调用不在本文讨论范围之内,文章基于20161222版文档解读

API官方文档原文链接


小程序API官方定义:

框架提供丰富的微信原生API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等。

微信小程序提供的API分类与提供能力

  • 网络

    每个微信小程序需要事先设置一个通讯域名,小程序可以跟指定的域名与进行网络通信。包括普通 HTTPS 请求(wx.request)、 WebSocket 通信(wx.connectSocket)、上传文件(wx.uploadFile)和下载文件(wx.downloadFile)。

  • 媒体

    该类接口提供图片音频上传下载,以及视频播放控制的能力

  • 文件

    该类接口主要提供本地文件保存读取与媒体类接口配合使用,支持打开本体文档,支持格式:doc, xls, ppt, pdf, docx, xlsx, pptx

  • 数据缓存

    每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以对本地缓存进行设置、获取和清理。本地缓存最大为10MB。


以上三个接口是配合使用的,但是由于类型不同被文档分开描述.

  • 位置

    该类接口主要提供获取当前的地理位置(GPS经纬度或基于网络模拟的经纬度)、速度,使用微信内置地图选择和查看位置,或者通过地图组件交互的能力

  • 设备

    该类接口主要提供获得用户设备的系统信息、网络状态、重力感应、罗盘、拨打电话和扫码的能力

    1. 系统信息

      该接口可以获取:

      | 手机型号 | 设备像素比 | 窗口宽高 | 微信设置语言 | 微信版本号 | 操作系统版本 | 客户端平台 |
    2. 网络状态

      2g、3g、4g、WiFi
    3. 重力感应

      通过xyz三轴的方式监听重力感应数据,频率:5次/秒,通过微信APP拿到系统陀螺仪给出的数据
    4. 罗盘

      通过面对方向度数的方式监听罗盘数据,频率:5次/秒
    5. 拨打电话
    6. 扫码

      调起客户端扫码界面,扫码成功后返回对应的结果
  • 界面

    该类接口主要提供页面直接交互能力

    1. 交互反馈

      微信在这一版的调整里,将toast和confirm两类弹窗划入了接口,可以直接调用微信APP原生的弹窗
    2. 设置导航条

      设置导航菜单
    3. 导航

      提供基于地图和gps的导航,还是腾讯地图的api
    4. 动画

      启用动画加载的效果
    5. 绘图

      提供canvas绘图的能力,这次更新微信完善了wx框架下canvas各个接口的能力
    6. 下拉刷新

      调起下拉刷新的能力,也是贴近原生APP的一种能力
  • 开放接口

    该类接口主要提供微信APP自身开放的能力

    1. 微信登录
    2. 获取用户信息

      以上两个接口与微信公众平台的接口类似,几乎一样
    3. 微信支付

      支付相关的能力,与微信公众平台的接口类似
    4. 模板消息

      提供发送服务通知模板消息,要求是用户提交表单或支付动作触发,可获得一次推送次数,7天内可以发送模板消息
    5. 客服功能

      提供接入微信客户功能和基于微信客服接口消息能力自助开发或接入第三方的客服系统
    6. 分享

      点右上角三个点出现菜单中出现分享,截图当前用户页面80%作为缩略图,可发送给朋友和群
    7. 获取二维码

      通过后台接口可以获取小程序任意页面的二维码,扫描该二维码可以直接进入小程序对应的页面,也可以获取渠道二维码,需要服务器保存

微信小程序文档解读(一)--api提供支持有哪些的更多相关文章

  1. 微信小程序的Web API接口设计及常见接口实现

    微信小程序给我们提供了一个很好的开发平台,可以用于展现各种数据和实现丰富的功能,通过小程序的请求Web API 平台获取JSON数据后,可以在小程序界面上进行数据的动态展示.在数据的关键 一环中,我们 ...

  2. 第三篇、微信小程序-网络请求API

    wx.request(OBJECT)发起的是https请求.一个微信小程序,同时只能有5个网络请求连接. OBJECT参数说明: 效果图: net.js Page({ data:{ result:{} ...

  3. 整合微信小程序的Web API接口层的架构设计

    在我前面有很多篇随笔介绍了Web API 接口层的架构设计,以及对微信公众号.企业号.小程序等模块的分类划分.例如在<C#开发微信门户及应用(43)--微信各个项目模块的定义和相互关系>介 ...

  4. 微信小程序如何调用API实现数据请求-wx.request()

    前言 微信小程序不存在ajax,那么它是如何实现数据请求功能的呢?在微信中提供了API的调用wx.request(OBJECT),这个是很不错的.下面就讲一下如何请求数据,简单到不行. wx.requ ...

  5. 微信小程序媒体音乐API更新小记,以及音乐外链制作方法

    假期开发微信小程序玩的时候发现音乐播放功能,但是教程中的旧版API已经不能成成功打开 官方文档写的很清楚,旧版接口不再维护,使用新版接口,换API后,又出现了新的问题,虽然没有报错信息,但是播放器闪退 ...

  6. 微信小程序动画实现(API,css)

    微信小程序动画API实现 index.js clicktap:function(){ var Animation=wx.createAnimation({ duration: 2000, }) Ani ...

  7. 微信小程序文档里看不到的小Tips

    前几天折腾了下.然后列出一些实验结果,供大家参考. 0. 使用开发工具模拟的和真机差异还是比较大的.也建议大家还是真机调试比较靠谱. 1. WXML(HTML) 1.1 小程序的WXML没有HTML的 ...

  8. sublime福音:微信小程序组件及API补全插件

    微信自带的编辑器操作起来各种不顺手,调试的时候需要用到,但是编辑的时候还是用自己熟悉的编辑器好一点. 将文件目录导入到sublime,在sublime编辑保存后,回到小程序开发工具刷新页面即可. 下面 ...

  9. 微信小程序访问豆瓣api报403错误解决方法

    通过豆瓣API可以获取很多电影.书籍的数据信息,今天在调用豆瓣正在上映电影接口的时候报403错误,原因是豆瓣设置了小程序的访问权限.如下: 解决方法是使用代理,将豆瓣API地址换成 https://d ...

随机推荐

  1. DotNetBar v11.4.0.6 Fully Cracked

    更新信息: http://www.devcomponents.com/customeronly/releasenotes.asp?p=dnbwf&v=11.4.0.6 如果遇到破解问题可以与我 ...

  2. Python 3语法小记(五)字符串

    Python 3 的源码的默认编码方式为 UTF-8 在Python 3,所有的字符串都是使用Unicode编码的字符序列. utf-8 是一种将字符编码成字节序列的方式.字节即字节,并非字符.字符在 ...

  3. 安卓开发16:Spinner 下拉列表控件

    Spinner 下拉列表控件 创建一个activity_main.xml文件: <RelativeLayout xmlns:android="http://schemas.androi ...

  4. react+redux渲染性能优化原理

    大家都知道,react的一个痛点就是非父子关系的组件之间的通信,其官方文档对此也并不避讳: For communication between two components that don't ha ...

  5. java字节码指令集

    字节码指令集 Java虚拟机的指令由一个字节长度的.代表着某种特定操作含义的操作码(Opcode)以及跟随其后的零至多个代表此操作所需参数的操作数(Operands)所构成. 对于大部分为与数据类型相 ...

  6. 结构-行为-样式-Js排序算法之 快速排序

    快速排序算法,是我的算法系列博客中的第二个Js实现的算法,主要思路:    在一个数组中随机取一个数(一般都取第一个或者最后一个),使这个数与数组中其他数进行比较,如果比它大就放到它的右边,比它小就放 ...

  7. [ios2]iOS 图片与内存 【转】

    第一种解决方法:选择适当的加载方式 在程序的开发过程中,经常会用到很多的图片,适当的选择加载图片的方式就显得格外的重要,如果选择不得当,很容易造成内存吃紧而引起程序的崩溃. 这里介绍一下几种常见的加载 ...

  8. Semaphore初探

    示例一: package com.smbea.demo.semaphore; import java.util.concurrent.ExecutorService; import java.util ...

  9. 将前台input中的数据异步传到后台并存入数据库

    将前台input中的数据异步传到后台并存入数据库 先看图: 利用ajax异步交互数据,并不是以json数组的形式将数据传到后台,而是利用字符数组的形式将其传到后台.动态新增每一行数据,将每一列对应的数 ...

  10. selenium自动化过程中遇到的小问题(未完待续)

    1.chrome浏览器调用不起来 代码没出错的情况下,检查下chrome浏览器的版本与chromedriver.exe的版本是否匹配;下面的表格是根据网上及官网整理的chromedriver与chro ...