本文重点在于小程序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. Go Revel - Parameters(参数绑定)

    Go Revel - Parameters(参数绑定) 参数绑定 Revel框架会尽可能的将提交参数转换为期望的Go类型.这个从一个字符串提交参数转换为另一个类型被称为数据绑定 . 参数 所有的请求参 ...

  2. 里氏替换原则LSP(继承规范)

    继承的优点: 1.代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性. 2.提高代码的重用性. 3.子类可以形似父类,但又异于父类. 4.提高代码的可扩展性,实现父类的方法就可以“为所欲为” ...

  3. CSS:用Less实现栅格系统

    CSS:用Less实现栅格系统 背景 公司一直没有专职的前端和美工,Javascript相对来说我熟悉一点,CSS+HTML有四五年没有搞过了,最近要学一下,招聘或和美工配合的时候会有用处. 收集的资 ...

  4. 一种利用异常机制基于MVC过滤器的防止重复提交的机制分享

    防止重复提交验证机制 某些时候因为系统反应稍慢,急性子用户可能不耐烦会进行重复的提交,这个操作不仅可能造成系统负担,也可能产生垃圾数据. 出现这两种状况都是我们不希望的. 为此,在公司项目系统设计了以 ...

  5. JAX-WS创建和处理SOAP消息

    JAX-WS规范是一组XML web services的JAVA API,在 JAX-WS中,一个远程调用可以转换为一个基于XML的协议例如SOAP,在使用JAX-WS过程中,开发者不需要编写任何生成 ...

  6. 命令版本git 分支篇-----不断更新中

    最近应用开发的过程中出现了一个小问题,顺便记录一下原因和方法--命令版本 开发中想看看过去某个版本的代码,我们先查看log git log commit f224a720b8192165a4e70f2 ...

  7. [开发者账号] ios7苹果开发者账号申请

    1.登陆  https://developer.apple.com/ 2.点击网站最底部的 3.点击 4.然后根据提示继续点击 注意:1.点击的过程中注意个人和企业账号  开发者类型等 2.付款账号的 ...

  8. Android自定义控件系列(一)—Button七十二变

    转载请注明出处:http://www.cnblogs.com/landptf/p/6290791.html 忙了一段时间,终于有时间整理整理之前所用到的一些知识,分享给大家,希望给同学们有些帮助,同时 ...

  9. Python高手之路【十二】面向对象设计模式

    单例模式 单例,顾名思义单个实例. class Person: __instance = None def __init__(self): pass @staticmethod def getInst ...

  10. 图像预处理(Evision)

    Convolution //采用线性过滤Linear combination of neighboring pixels using a convolution kernel−Pre-defined ...