本文重点在于小程序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. python打包成window可执行程序

    python程序可以通过python hello.py执行,但是需要安装python的解释器,并配置环境变量,打包成exe程序之后可以直接执行. 使用setup工具和py2exe可以做到这一点. 最简 ...

  2. 如何对软件开发工具 WebBuilder 进行安装?

    WebBuilder是一款开源的可视化Web应用开发和运行平台.基于浏览器的集成开发环境,采用可视化的设计模式,支持控件的拖拽操作,能轻松完成前后台应用开发:高效.稳定和可扩展的特点,适合复杂企业级应 ...

  3. hadoop集群安装

    首现非常感谢 虾皮(http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html) 安装过程是参照他的<Hadoop集群(第5期 ...

  4. ASP.NET Web API的消息处理管道:"龙头"HttpServer

    ASP.NET Web API的消息处理管道:"龙头"HttpServer 一般来说,对于构成ASP.NET Web API消息处理管道的所有HttpMessageHandler来 ...

  5. 三角形(Triangle)

    三角形(Triangle) 问题 给出一个三角形,找出从顶部至底部的最小路径和.每一步你只能移动到下一行的邻接数字. 例如,给出如下三角形: [ [2], [3,4], [6,5,7], [4,1,8 ...

  6. 管道函数(pipelined function)简单使用示例

    -----------------------------Cryking原创------------------------------ -----------------------转载请注明出处, ...

  7. javascript深入之location对象和history对象

    浏览器的location 和history对象: 一.location对象: 1>location.reload() 相当于按浏览器上的“刷新”(IE)或“Reload”(Netscape)键. ...

  8. Chrome使用小技巧-多用户登录、直接打开隐身模式窗口

    在开发过程中,有时候需要打开2个chrome,各自登录一个账号来做测试,正常情况下由于同一用户下的chrome共享cookies的原因,是没办法登录2个账号的. 这种情况,可以找到chrome图标,点 ...

  9. MVC源码解析 - UrlRoutingModule / 路由注册

    从前面篇章的解析, 其实能看的出来, IHttpModule 可以注册很多个, 而且可以从web.config注册, 可以动态注册. 但是有一个关键性的Module没有讲, 这里就先来讲一下这个关键性 ...

  10. C#开发学习——存储过程

    举个例子: 带输入参数的存储过程计算班级中英语和数学不及格的人数      if(exists(select * from sys.objects where name='usp_GetFailCou ...