tencent cloud

腾讯云超级应用服务

动态与公告
【2025年1月2日】关于腾讯云小程序平台更名为腾讯云超级应用服务的公告
控制台更新动态
Android SDK 更新动态
iOS SDK 更新动态
Flutter 更新动态
IDE 更新动态
基础库更新动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
按量计费(后付费)
续费指引
停服说明
快速入门
套餐管理
概述
控制台账号管理
存储配置
加速配置
品牌化配置
平台功能
控制台登录
用户和权限体系
小程序管理
小游戏管理
应用管理
商业化
平台管理
用户管理
团队管理
运营管理
安全中心
代码接入指引
Demo 及 SDK 获取
Android
iOS
Flutter
App 服务端接入指南
GUID 生成规则
小程序开发指南
小程序介绍与开发环境
小程序代码组成
指南
框架
组件
API
服务端
JS SDK
基础库
IDE 使用指南
小游戏开发指南
指南
API
服务端
实践教程
小程序登录实践教程
小程序订阅消息实践教程
支付相关实践教程
广告接入实践教程
小游戏订阅消息实践教程
相关协议
数据处理和安全协议

开放接口

PDF
聚焦模式
字号
最后更新时间: 2026-01-29 00:08:50
小程序 SDK 提供部分开放接口,用于调用和实现登录、获取用户信息、支付等宿主应用提供的能力;当前支持的开放接口如下表格所示:
小程序方法
MiniOpenApiProxy 方法
描述
wx.login
login
登录接口
wx.getUserInfo
getUserInfo
获取用户基本信息
wx.getUserProfile
getUserProfile
获取用户属性信息
wx.getPhoneNumber
getPhoneNumber
获取电话号码
wx.requestPayment
requestPayment
发起支付
wx.checkSession
checkSession
检查登录状态是否过期
wx.requestVirtualPayment
requestVirtualPayment
发起虚拟支付
用户可以通过实现 OpenApiHandler 抽象类,将小程序和宿主应用的数据交互进行关联,如下函数定义:
abstract class OpenApiHandler {
//当小程序调用 wx.requestPayment,请求第三方支付操作时调用
Future<Map<String, dynamic>> requestPayment(
AppInfo appInfo, Map<Object?, Object?> params);

/// 当小程序调用 wx.getUserProfile 请求主机应用程序的用户信息时调用
///
Future<Map<String, dynamic>> getUserProfile(
AppInfo appInfo, Map<Object?, Object?> params);

/// 当小程序调用 wx.login 时调用,请求主机应用程序的登录证书
///
Future<Map<String, dynamic>> login(
AppInfo appInfo, Map<Object?, Object?> params);

/// 当小程序调用 wx.checkSession 时调用,请求主机应用程序的登录状态
/// 检查登录是否已过期
///
Future<Map<String, dynamic>> checkSession(
AppInfo appInfo, Map<Object?, Object?> params);

/// 当小程序调用 wx.getUserInfo 时调用,已被 wx.getUserProfile 过时
/// 兼容早期的小程序 api
///
Future<Map<String, dynamic>> getUserInfo(
AppInfo appInfo, Map<Object?, Object?> params);

/// 当小程序调用 wx.getPhoneNumber 时调用,获取当前用户的电话号码
///
Future<Map<String, dynamic>> getPhoneNumber(
AppInfo appInfo, Map<Object?, Object?> params);
/// 当小程序调用 wx.requestVirtualPayment 时调用,调起虚拟支付功能
Future<Map<String, dynamic>> requestVirtualPayment(
AppInfo appInfo, Map<Object?, Object?> params)
}
获取用户信息示例代码:
@override
Future<Map<String, dynamic>> getUserProfile(
AppInfo appInfo, Map<Object?, Object?> params) async {
print("getUserProfile:$appInfo params:$params");
Map<String, dynamic> result = {
"userInfo": {
"nickName": "xcode",
"avatarUrl":
"https://staticintl.cloudcachetci.com/cms/backend-cms/8WGP653_%E5%BC%80%E5%8F%91%E8%80%85%E5%B7%A5%E5%85%B7%E9%80%9A%E7%94%A8.png",
"gender": 1,
"country": "China",
"province": "ChongQing",
"city": "ChongQing",
}
};
return Future.value(result);
}

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈