微信小程序 微信小程序框架API
完整微信小程序(Java后端) 技术贴目录清单页面(必看)
微信小程序框架所提供的API接口也是相当完备的,如果说小程序组件是用来构建小程序的视图层,那么小程序API则在小程序逻辑层担当重任。随着小程序版本的更新迭代,目前小程序框架 API分类已经达到了19个大类,如下图所示。
当然这么多API并不需要读者一个个去详细研究,而是建议大家重点掌握其中常用的API如何查阅和使用,然后即可触类旁通使用其他的API。其实查阅API有点类似于查词典,我们只需要知道如何去查阅的方法即可,而没必要将整部词典学会,故而掌握查阅API定义以及如何使用才是至关重要的。
接下来,就开始重点讲解小程序框架中一些常用的API,通过这些API的学习和理解,希望读者能够对小程序API如何查阅和使用形成一定的思维认知。
6.1 基础
微信小程序基础API包含一些环境变量,转码,系统信息,更新,小程序生命周期,应用及事件,调试,性能,加密等功能;
wx.getSystemInfo 获取系统信息实例
wx.getSystemInfo(Object object)
以 Promise 风格 调用:支持
小程序插件:支持,需要小程序基础库版本不低于 1.9.6
微信 Windows 版:支持
微信 Mac 版:支持
获取系统信息。由于历史原因,wx.getSystemInfo 是异步的调用格式,但是是同步返回,需要异步获取系统信息请使用 wx.getSystemInfoAsync。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object res
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
brand | string | 设备品牌 | 1.5.0 |
model | string | 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 | |
pixelRatio | number | 设备像素比 | |
screenWidth | number | 屏幕宽度,单位px | 1.1.0 |
screenHeight | number | 屏幕高度,单位px | 1.1.0 |
windowWidth | number | 可使用窗口宽度,单位px | |
windowHeight | number | 可使用窗口高度,单位px | |
statusBarHeight | number | 状态栏的高度,单位px | 1.9.0 |
language | string | 微信设置的语言 | |
version | string | 微信版本号 | |
system | string | 操作系统及版本 | |
platform | string | 客户端平台 | |
fontSizeSetting | number | 用户字体大小(单位px)。以微信客户端「我-设置-通用-字体大小」中的设置为准 | 1.5.0 |
SDKVersion | string | 客户端基础库版本 | 1.1.0 |
benchmarkLevel | number | 设备性能等级(仅 Android)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) | 1.8.0 |
albumAuthorized | boolean | 允许微信使用相册的开关(仅 iOS 有效) | 2.6.0 |
cameraAuthorized | boolean | 允许微信使用摄像头的开关 | 2.6.0 |
locationAuthorized | boolean | 允许微信使用定位的开关 | 2.6.0 |
microphoneAuthorized | boolean | 允许微信使用麦克风的开关 | 2.6.0 |
notificationAuthorized | boolean | 允许微信通知的开关 | 2.6.0 |
notificationAlertAuthorized | boolean | 允许微信通知带有提醒的开关(仅 iOS 有效) | 2.6.0 |
notificationBadgeAuthorized | boolean | 允许微信通知带有标记的开关(仅 iOS 有效) | 2.6.0 |
notificationSoundAuthorized | boolean | 允许微信通知带有声音的开关(仅 iOS 有效) | 2.6.0 |
bluetoothEnabled | boolean | 蓝牙的系统开关 | 2.6.0 |
locationEnabled | boolean | 地理位置的系统开关 | 2.6.0 |
wifiEnabled | boolean | Wi-Fi 的系统开关 | 2.6.0 |
safeArea | Object | 在竖屏正方向下的安全区域 | 2.7.0 |
locationReducedAccuracy | boolean |
true 表示模糊定位,false 表示精确定位,仅 iOS 支持
|
|
theme | string |
系统当前主题,取值为light 或dark ,全局配置"darkmode":true 时才能获取,否则为 undefined (不支持小游戏)
|
2.11.0 |
host | Object | 当前小程序运行的宿主环境 | 2.12.3 |
enableDebug | boolean | 是否已打开调试。可通过右上角菜单或 wx.setEnableDebug 打开调试。 | 2.15.0 |
deviceOrientation | string | 设备方向 |
safeArea 的结构
属性 | 类型 | 说明 |
---|---|---|
left | number | 安全区域左上角横坐标 |
right | number | 安全区域右下角横坐标 |
top | number | 安全区域左上角纵坐标 |
bottom | number | 安全区域右下角纵坐标 |
width | number | 安全区域的宽度,单位逻辑像素 |
height | number | 安全区域的高度,单位逻辑像素 |
theme 的合法值
值 | 说明 | 最低版本 |
---|---|---|
dark | 深色主题 | |
light | 浅色主题 |
host 的结构
属性 | 类型 | 说明 |
---|---|---|
appId | string | 宿主 app 对应的 appId |
deviceOrientation 的合法值
值 | 说明 | 最低版本 |
---|---|---|
portrait | 竖屏 | |
landscape | 横屏 |
示例代码
在开发者工具中预览效果
wx.getSystemInfo({success (res) {console.log(res.model)console.log(res.pixelRatio)console.log(res.windowWidth)console.log(res.windowHeight)console.log(res.language)console.log(res.version)console.log(res.platform)}
})
try {const res = wx.getSystemInfoSync()console.log(res.model)console.log(res.pixelRatio)console.log(res.windowWidth)console.log(res.windowHeight)console.log(res.language)console.log(res.version)console.log(res.platform)
} catch (e) {// Do something when catch error
}
运行效果:
6.2 路由
路由API主要提供一些页面跳转,关闭页面以及页面之间的通信接口;
6.3 跳转
跳转API主要提供打开另外一个小程序,退出小程序和关闭小程序操作接口;
6.4 转发
转发API,主要提供转发属性设置,打开分享弹窗,转发视频或者文件,以及显示和隐藏转发按钮,验证私密消息等接口;
6.5 界面
界面API主要提供交互,导航栏,背景,Tab Bar,字体,下拉刷新,滚动,动画,置顶,自定义组件,菜单,窗口等接口!
6.6 网络
网络API主要提供发起请求,下载,上传,WebSocket,mDNS,TCP通信,UDP通信接口;
6.7 支付
支付API主要提供发起微信支付和创建自定义版交易组件订单等接口;
6.8 数据缓存
数据缓存API主要提供本地缓存的添加,获取,销毁以及内存中数据的操作和周期性更新接口;
6.9 数据分析
数据分析接口主要提供自定义分析数据上报,事件上报,监控等接口;
6.10 画布
画布API主要提供画布相关接口。
6.11 媒体
媒体API主要提供地图,图片,视频,音频,背景音频,实时音视频,录音,相机,富文本,音视频合成,实时语音,画面录制器,视频解码器等接口;
6.12 位置
位置API主要提供位置相关接口
6.13 文件
文件API主要提供文件操作相关接口。
6.14 开放接口
开放接口API主要提供登录,账号信息,用户信息,授权,设置,收货地址,卡券,发票,生物认证,微信运动,订阅信息,微信红包,收藏,微信群等接口。
6.15 设备
设备API主要提供外围设备,iBeacon,NFC,Wi-Fi,日历,联系人,无障碍,低功耗蓝牙,电量,剪贴板,网络,加密,屏幕,键盘,电话,加速计,罗盘,设备方向,陀螺仪,内存,扫码,震动等接口。
6.16 Worker
Worker API主要提供Worker线程操作接口;
6.17 WXML
WXML API提供主要提供WXML节点相关操作接口;
6.18 第三方平台
第三方平台API主要提供第三方平台相关调用接口。
6.19 广告
广告API主要提供广告操作相关API接口。
微信搜一搜【java1234】关注这个放荡不羁的程序员,关注后回复【资料】有我准备的一线大厂笔试面试资料以及简历模板。
微信小程序 微信小程序框架API相关推荐
- api 微信内置浏览器js_多端开发框架uni-app入坑指南,一套代码适用微信、头条等小程序...
前言 hello 小伙伴们,现在我已经正式入坑 uni-app 了.uni-app 已经发布好几个月了,期间也是踩坑无数,但是官方秉承着不抛弃不放弃的精神,积极解决开发者的各种简单的.复杂的问题,在此 ...
- 微信小程序开发《6 .框架之逻辑层》
逻辑层(App Service) 小程序开发框架的逻辑层由 JavaScript 编写.逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈. 注册程序App App() App() 函数用来 ...
- 大前端(移动端/桌面应用Electron/微信小程序/小程序、快应用框架)
移动端 Web 总体认识 客户端的所有形式:Native App(IOS.Android.Mac.Windows),小程序(微信.百度.支付宝.字节跳动),桌面端网页.移动端网页(浏览器H5.webv ...
- 微信小程序学习记录——3.框架-逻辑层
文章目录 1.逻辑层简介 2.注册程序 App() onLaunch,onShow参数 getApp() 3.场景值 4.注册页面 Page() 生命周期 生命周期中的函数 初始化数据 页面相关事件处 ...
- Bwsaas框架基于Thinkphp6.x开发的微信公众号,小程序,app,H5等多端打通的框架
完善bwsaas框架并开源原生小程序商业版本前端应用 新增 1插件安装升级,安装平台系统插件(type=admin_system)时可同时添加多个角色组(平台系统功能+租户系统功能),需要在group ...
- 微信小程序城市定位(百度地图API)
概述 微信小程序提供一些API(地址)用于获取当前用户的地理位置等信息,但无论是wx.getLocation,还是wx.chooseLocation均没有单独的字段表示国家与城市信息,仅有经纬度信息. ...
- 脱离微信,在硬件设备运行小程序?小程序硬件框架大揭秘!
受访者 | 微信小程序硬件框架团队 采访者 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 在 2017 年的微信公开课 PRO 上,张小龙谈到微信小程序的设计初衷:"我认为所有的 ...
- 微信小程序使用阿里云物联网API开发物联网应用
微信小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下就可以打开的应用. 微信小程序具有方便快捷,速度快,安全及保密性高的优点,同时开发 ...
- 微信小程序入门教程之四:API 使用
目录 一.WXML 渲染语法 二.客户端数据储存 三.远程数据请求 四.组件 五.获取用户个人信息 六.多页面的跳转 七.wx.navigateTo() 本篇就介绍怎么使用 API. 所有示例的完整代 ...
- 微信小程序调用腾讯地图API进行驾车路线规划
微信小程序调用腾讯地图API进行驾车路线规划 申请key 下载sdk 实现代码 遇到的问题 申请key 微信小程序的地图api是非常有限的,所以部分功能实现需要调用地图api.使用腾讯地图api过程如 ...
最新文章
- python urllib.request 爬虫 数据处理-使用Python3.5写简单网络爬虫
- 栈和队列都是什么结构_数据结构与算法之初识栈与队列
- mysql编译方式安装_mysql编译方式安装
- 修改overflow图标 修改ActionBar的三个点的图标
- 通过Service访问应用 (2)
- ios无痕埋点_iOS无痕埋点方案分享探究
- 让VirtualBox虚拟机实现开机自动后台运行
- Mark To Market - MTM
- Java关键字:final、default、transient
- Docker的mysql镜像_详解docker下的Mysql镜像的使用方法
- 删除文件批处理delete file.bat
- jquery学习之1.19-小练习3-输入用户名密码时焦点触发和失去焦点
- mac系统csv转ansi_迅捷文字转语音 for mac
- 解读HRP建设2.0时代:管控模型从未改变
- QT样式表设置 之 QComboBox下拉框样式
- 控制天象,世间的最强者!
- 计算机小高考要点,小高考的复习计划
- linux 网站图片无法加载失败怎么办,网页无法加载图片怎么办?解决网页图片无法显示的方法...
- 自媒体推广的方法和技巧有哪些?
- 阿里云人脸人体--人像素描风格化效果体验