微信小程序 微信小程序框架API

article/2025/9/10 15:35:08

完整微信小程序(Java后端) 技术贴目录清单页面(必看)

微信小程序框架所提供的API接口也是相当完备的,如果说小程序组件是用来构建小程序的视图层,那么小程序API则在小程序逻辑层担当重任。随着小程序版本的更新迭代,目前小程序框架 API分类已经达到了19个大类,如下图所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-klfpNfJn-1625118356074)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210630090839902.png)]

当然这么多API并不需要读者一个个去详细研究,而是建议大家重点掌握其中常用的API如何查阅和使用,然后即可触类旁通使用其他的API。其实查阅API有点类似于查词典,我们只需要知道如何去查阅的方法即可,而没必要将整部词典学会,故而掌握查阅API定义以及如何使用才是至关重要的。
接下来,就开始重点讲解小程序框架中一些常用的API,通过这些API的学习和理解,希望读者能够对小程序API如何查阅和使用形成一定的思维认知。

6.1 基础

微信小程序基础API包含一些环境变量,转码,系统信息,更新,小程序生命周期,应用及事件,调试,性能,加密等功能;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oh99diA6-1625118356075)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210630094305905.png)]

wx.getSystemInfo 获取系统信息实例

wx.getSystemInfo(Object object)

以 Promise 风格 调用:支持

小程序插件:支持,需要小程序基础库版本不低于 1.9.6

微信 Windows 版:支持

微信 Mac 版:支持

获取系统信息。由于历史原因,wx.getSystemInfo 是异步的调用格式,但是是同步返回,需要异步获取系统信息请使用 wx.getSystemInfoAsync。

参数

Object object

属性类型默认值必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数

Object res

属性类型说明最低版本
brandstring设备品牌1.5.0
modelstring设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。
pixelRationumber设备像素比
screenWidthnumber屏幕宽度,单位px1.1.0
screenHeightnumber屏幕高度,单位px1.1.0
windowWidthnumber可使用窗口宽度,单位px
windowHeightnumber可使用窗口高度,单位px
statusBarHeightnumber状态栏的高度,单位px1.9.0
languagestring微信设置的语言
versionstring微信版本号
systemstring操作系统及版本
platformstring客户端平台
fontSizeSettingnumber用户字体大小(单位px)。以微信客户端「我-设置-通用-字体大小」中的设置为准1.5.0
SDKVersionstring客户端基础库版本1.1.0
benchmarkLevelnumber设备性能等级(仅 Android)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50)1.8.0
albumAuthorizedboolean允许微信使用相册的开关(仅 iOS 有效)2.6.0
cameraAuthorizedboolean允许微信使用摄像头的开关2.6.0
locationAuthorizedboolean允许微信使用定位的开关2.6.0
microphoneAuthorizedboolean允许微信使用麦克风的开关2.6.0
notificationAuthorizedboolean允许微信通知的开关2.6.0
notificationAlertAuthorizedboolean允许微信通知带有提醒的开关(仅 iOS 有效)2.6.0
notificationBadgeAuthorizedboolean允许微信通知带有标记的开关(仅 iOS 有效)2.6.0
notificationSoundAuthorizedboolean允许微信通知带有声音的开关(仅 iOS 有效)2.6.0
bluetoothEnabledboolean蓝牙的系统开关2.6.0
locationEnabledboolean地理位置的系统开关2.6.0
wifiEnabledbooleanWi-Fi 的系统开关2.6.0
safeAreaObject在竖屏正方向下的安全区域2.7.0
locationReducedAccuracybooleantrue 表示模糊定位,false 表示精确定位,仅 iOS 支持
themestring系统当前主题,取值为lightdark,全局配置"darkmode":true时才能获取,否则为 undefined (不支持小游戏)2.11.0
hostObject当前小程序运行的宿主环境2.12.3
enableDebugboolean是否已打开调试。可通过右上角菜单或 wx.setEnableDebug 打开调试。2.15.0
deviceOrientationstring设备方向

safeArea 的结构

属性类型说明
leftnumber安全区域左上角横坐标
rightnumber安全区域右下角横坐标
topnumber安全区域左上角纵坐标
bottomnumber安全区域右下角纵坐标
widthnumber安全区域的宽度,单位逻辑像素
heightnumber安全区域的高度,单位逻辑像素

theme 的合法值

说明最低版本
dark深色主题
light浅色主题

host 的结构

属性类型说明
appIdstring宿主 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
}

运行效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZSC5KOoh-1625118356076)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210630095221782.png)]

6.2 路由

路由API主要提供一些页面跳转,关闭页面以及页面之间的通信接口;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N9XIQz8x-1625118356077)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210630161012749.png)]

6.3 跳转

跳转API主要提供打开另外一个小程序,退出小程序和关闭小程序操作接口;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U2RLPZZq-1625118356078)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210630161658339.png)]

6.4 转发

转发API,主要提供转发属性设置,打开分享弹窗,转发视频或者文件,以及显示和隐藏转发按钮,验证私密消息等接口;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l264loqM-1625118356078)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210630164211362.png)]

6.5 界面

界面API主要提供交互,导航栏,背景,Tab Bar,字体,下拉刷新,滚动,动画,置顶,自定义组件,菜单,窗口等接口!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2EjcoR9u-1625118356079)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701083339058.png)]

6.6 网络

网络API主要提供发起请求,下载,上传,WebSocket,mDNS,TCP通信,UDP通信接口;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zU4Zmqet-1625118356079)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701083719492.png)]

6.7 支付

支付API主要提供发起微信支付和创建自定义版交易组件订单等接口;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OxSY0Bl6-1625118356080)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701084401904.png)]

6.8 数据缓存

数据缓存API主要提供本地缓存的添加,获取,销毁以及内存中数据的操作和周期性更新接口;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FQyrOlds-1625118356080)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701091601860.png)]

6.9 数据分析

数据分析接口主要提供自定义分析数据上报,事件上报,监控等接口;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IJw6QoqO-1625118356080)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701092042043.png)]

6.10 画布

画布API主要提供画布相关接口。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X3Z4OprP-1625118356081)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701093336783.png)]

6.11 媒体

媒体API主要提供地图,图片,视频,音频,背景音频,实时音视频,录音,相机,富文本,音视频合成,实时语音,画面录制器,视频解码器等接口;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-73nt5v6O-1625118356081)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701092734217.png)]

6.12 位置

位置API主要提供位置相关接口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2A65ZAya-1625118356082)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701093226095.png)]

6.13 文件

文件API主要提供文件操作相关接口。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rgJ3hMjX-1625118356082)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701093507977.png)]

6.14 开放接口

开放接口API主要提供登录,账号信息,用户信息,授权,设置,收货地址,卡券,发票,生物认证,微信运动,订阅信息,微信红包,收藏,微信群等接口。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-goOjONK3-1625118356082)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701093914829.png)]

6.15 设备

设备API主要提供外围设备,iBeacon,NFC,Wi-Fi,日历,联系人,无障碍,低功耗蓝牙,电量,剪贴板,网络,加密,屏幕,键盘,电话,加速计,罗盘,设备方向,陀螺仪,内存,扫码,震动等接口。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2swSPFEM-1625118356083)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701094048285.png)]

6.16 Worker

Worker API主要提供Worker线程操作接口;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8qPCE3p2-1625118356083)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701094537199.png)]

6.17 WXML

WXML API提供主要提供WXML节点相关操作接口;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zRLekByb-1625118356084)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701094639584.png)]

6.18 第三方平台

第三方平台API主要提供第三方平台相关调用接口。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-17phBXTe-1625118356084)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701095614353.png)]

6.19 广告

广告API主要提供广告操作相关API接口。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PCcFByNn-1625118356084)(C:\Users\java1234\AppData\Roaming\Typora\typora-user-images\image-20210701095900944.png)]

微信搜一搜【java1234】关注这个放荡不羁的程序员,关注后回复【资料】有我准备的一线大厂笔试面试资料以及简历模板。


http://chatgpt.dhexx.cn/article/XGRHJb02.shtml

相关文章

微信小程序框架(一)-全面详解(学习总结---从入门到深化)

目录 小程序与普通网页开发的区别 体验小程序 微信小程序账号申请 微信小程序开发者工具 下载安装 创建项目 开发者工具说明 小程序目录结构 描述整体的 app 描述各自页面的 page 全局配置_Pages Pages配置 entryPagePath 快捷生成页面方案 全局配置_window 常用属性…

微信小程序学习笔记(二)-- 开发之框架

一、小程序框架介绍(了解) 小程序框架包含小程序的配置、框架接口、场景值、WXML 和 WXS 等 二、小程序的配置(精通) 小程序的配置分为全局配置、页面配置以及sitemap 配置 1、全局配置 小程序根目录下的 app.json 文件用来对…

微信小程序框架

框架 小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务。 整个小程序框架系统分为两部分:逻辑层(App Service)和 视图层(View)。小程序提供了自己的视图层描述语言…

【微信小程序】小程序框架分析

1.MVC MVC是Model-View- Controller的简写,即模型-视图-控制器,简单来说就是通过controller的控制去操作model层的数据,并且返回给view层展示。 当用户出发事件的时候,view层会发送指令到controller层,接着controller去通知mode…

微信小程序常见的UI框架/组件库总结

图片 想要开发出一套高质量的小程序,运用框架,组件库是省时省力省心必不可少一部分,随着小程序日渐火爆,各种不同类型的小程序也渐渐更新,其中不乏一些优秀好用的框架/组件库。 1:WeUI 小程序–使用教程 ht…

强烈推荐:小程序常用的6款框架总结

随着前端的知识不断更新,小程序也成为了我们开发中的日常。微信小程序、百度小程序、支付宝小程序、头条小程序等等不断涌入我们的生活,随着小程序的火爆,各种小程序框架不断出现,也在不断更新。路漫漫,学不完呀&#…

微信小程序框架介绍以及项目目录结构

完整微信小程序(Java后端) 技术贴目录清单页面(必看) 微信小程序框架介绍 微信团队为小程序提供的框架命名为MINA。MINA框架通过封装微信客户端提供的文件系统、网络通信、任务管理、数据安全等基础功能,对上层提供一整套JavaScript API&am…

爬虫入门

爬虫入门 1. 概述 本文首先介绍Requests库如何自动爬取HTML页面以及如何自动网络请求提交,随后将会讲解如何阅读网络爬虫排除标准。获取了网页之后用BeautifulSoup库解析HTML页面,然后讲解正则表达式,以及如何用正则表达式提取网页关键信…

一个简单爬虫的入门教程

前言 我毕业论文要写文本大数据情绪分析,没有现成的数据。淘宝要价600块我又舍不得,只能自学爬虫。我一点计算机网络的基础都没有,光是入门就花了一周(不知道从何下手),所幸爬虫不难,只要见过就…

python爬虫入门教程:开始一个简单的爬虫

本文下面所有的Python基础都有详细的配套教程以及源码,都已经打包好上传到百度云了,链接在文章结尾处! 扫码此处领取大家自行获取即可~~~ 1.爬虫的过程分析 当人类去访问一个网页时,是如何进行的?   ①打开浏览器&…

从原理到实战,一份详实的 Scrapy 爬虫教程

之前分享了很多 requests 、selenium 的 Python 爬虫文章,本文将从原理到实战带领大家入门另一个强大的框架 Scrapy。如果对Scrapy感兴趣的话,不妨跟随本文动手做一遍! 一、Scrapy框架简介 Scrapy是:由Python语言开发的一个快速、高层次的屏幕…

超级简单的Python爬虫教程,python爬虫菜鸟教程官网

毫无基础的人如何入门 Python ? Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等。 那Python是一种…

爬虫教程(1)基础入门

爬虫介绍 网络爬虫,英译为 web crawler ,是一种自动化程序,现在我们很幸运,生处互联网时代,有大量的信息在网络上都可以查得到,但是有时我们需要网络上的数据,活着文章,图片等等&…

爬虫的简单入门

本文旨在教会读者能够简单使用两种爬虫,完成一些基础的爬虫操作,会给出一些优化思路,并不会深入的讲解优化方法。 目录 前言 一、爬虫部分——网页源码获取 1、Requests 2、Selenium 二、数据处理——解析网页 BeautifulSoup 三、成功入门之后…

网页爬虫教程

转自https://morvanzhou.github.io/tutorials/data-manipulation/scraping/ 了解网页结构 学习爬虫, 首先要懂的是网页. 支撑起各种光鲜亮丽的网页的不是别的, 全都是一些代码. 这种代码我们称之为 HTML, HTML 是一种浏览器(Chrome, Safari, IE, Firefox等)看得懂的语言, 浏览…

一个简单的爬虫入门教程!

前言 我毕业论文要写文本大数据情绪分析,没有现成的数据。淘宝要价600块我又舍不得,只能自学爬虫。我一点计算机网络的基础都没有,光是入门就花了一周(不知道从何下手),所幸爬虫不难,只要见过就…

【爬虫教程】吐血整理,最详细的爬虫入门教程~

初识爬虫 学习爬虫之前,我们首先得了解什么是爬虫。 来自于百度百科的解释: 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则&a…

爬虫教程( 1 ) --- 初级、基础、实践

爬虫教程:https://piaosanlang.gitbooks.io/spiders/content/ 1. 爬虫入门 初级篇 IDE 选择: PyCharm (推荐) 、SublimeText3、Visual Studio Python 版本:Python3。( 最简单的是直接安装 Anaconda,使用 Anaconda 管理…

python 爬虫 简单爬虫教程(requests + selenium )

最近改了实验室之前的爬虫,感觉有些生疏了,故此记录一下, 我将会通过抓取网站 https://nonfungible.com/ 来进行讲解。 目录 requests Chrome 浏览器使用Chrome 对目标网站信息进行解析requests get 请求requests 添加头requests ip代理 使用…

如何自学Python爬虫?详细的从入门到精通Python爬虫技能教程来了

如何自学Python爬虫?在大家自学爬虫之前要解决两个常见的问题,一是爬虫到底是什么?二是问什么要用Python来做爬虫?爬虫其实就是自动抓取页面信息的网络机器人,至于用Python做爬虫的原因,当然还是为了方便。…