更新记录
1.0.1(2026-01-13) 下载此版本
1.安卓版本测试是可以正常使用的,ios/鸿蒙因为没有手机所以没办法测试不确定能不能用
平台兼容性
uni-app(4.87)
| Vue2 | Vue2插件版本 | Vue3 | Vue2插件版本 | Chrome | Safari | app-vue | app-vue插件版本 | app-nvue | Android | Android插件版本 | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | 1.0.0 | √ | 1.0.0 | × | × | √ | 1.0.0 | - | 5.0 | 1.0.0 | - | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × |
wen-alipay-login 使用文档
基于 UTS 的支付宝开放授权(OAuth2.0)极简版插件,在 App-Android 端拉起支付宝客户端完成授权,获取 auth_code。
一、快速使用示例
运行需要打包自定义基座。
适用于 uni-app 工程,导入或试用插件后,直接复制即可接入支付宝授权功能:
<template>
<view class="content">
<!-- 支付宝授权按钮 -->
<button @click="alylogin()">支付宝授权</button>
</view>
</template>
<script>
// 导入支付宝授权模块的开放授权方案函数
import { openAuthScheme } from '../../uni_modules/wen-alipay-login'
export default {
// 组件数据定义
data() {
return {
// 数据属性可在此处定义
}
},
// 页面生命周期 - 页面加载时触发
onLoad() {
// 页面加载时可执行的初始化操作
},
// 组件方法定义
methods: {
/**
* 支付宝授权登录方法
* 调用支付宝SDK进行用户授权,获取用户基本信息
*
* 授权流程说明:
* 1. 构建授权参数
* 2. 调用openAuthScheme函数发起授权
* 3. 在complete回调中处理授权结果
*
* 注意事项:
* - scheme_name需要在AndroidManifest.xml中配置
* - state参数用于防止CSRF攻击,应保证不可预测且唯一
*/
alylogin() {
// 支付宝授权请求参数配置
const params = {
"scheme_name": "__alipaysdkdemo__",
"app_id": "2016051801417322",
"auth_type": "PURE_OAUTH_SDK",
"scope": "auth_user",
"state": "XXXX",
};
openAuthScheme({
param: params,
complete: (res) => {
// 输出授权结果到控制台,便于调试
console.log('支付宝授权结果:', res)
}
});
}
}
}
</script>
二、基础信息
支持平台
仅支持 App-Android 端(iOS/小程序等平台未实现)。
前置条件
- 项目需打自定义基座包后才能正常使用;
- 已在支付宝开放平台创建应用,获取有效 app_id;
- 用户手机已安装支付宝客户端;
- 知晓 OAuth 流程:前端仅获取 auth_code,需由服务端用 auth_code 换取用户信息/令牌(禁止前端直接换取)。
安装方式
- 在 HBuilderX 插件市场导入 uni_modules/wen-alipay-login 模块;
- 或直接将 uni_modules/wen-alipay-login 目录拷贝到项目的 uni_modules 下。
三、Android 必做配置
1. 回调 Scheme 配置
插件内置的回调 Scheme 固定为 alipaysdkdemo,需保证两处配置一致:
- 插件目录下的 AndroidManifest.xml:
<data android:scheme="__alipaysdkdemo__"/>; - 插件源码 index.uts:
const scheme : String = "__alipaysdkdemo__";。
自定义 Scheme(建议):如需修改,需同时修改上述两处的 Scheme 值。
2. 依赖说明
插件已通过 UTS 自动引入支付宝 SDK,无需手动添加依赖(依赖仓库已配置)。
四、返回结果与错误码
1. 成功返回示例
当授权成功时(状态码 9000),success 回调会拿到包装后的结构,complete 回调会拿到 result 对象。
complete 回调示例(result):
{
"result_code": "9000",
"app_id": "2016051801417322",
"scope": "auth_user",
"state": "custom_state_123",
"auth_code": "201610BB1234567890ABCDEFGHIJKL"
}
2. 失败错误码
| 错误码 | 含义 |
|---|---|
| 4001 | 支付宝未安装 |
| 4000 | 跳转支付宝失败 |
| 5000 | 3 秒内重复调用授权 |
| 5001 | 缺少 AppId 参数 |
| 5002 | 缺少第三方包名(bundleName)、或者缺失 scheme。 |
| 9000 | 业务调用成功 |
五、常见问题
1. 点击授权无反应/直接失败
- 确认仅在 App-Android 端测试(其他平台不支持);
- 确认手机已安装支付宝、网络正常;
- 确认已打自定义基座包。
2. 回调无结果/返回为空
核心原因是 Scheme 不一致,需检查 AndroidManifest.xml 和 index.uts 中的 Scheme 值是否完全相同。
3. scheme_name 参数不生效
当前插件源码中 Scheme 为写死值,未读取 param.scheme_name,如需动态配置,需修改 index.uts 源码,改为读取参数中的 scheme_name。
总结
- 插件仅支持 App-Android 端,使用前必须打自定义基座包;
- 核心是保证回调 Scheme 配置一致,否则授权结果无法返回;
- 前端仅需获取 auth_code,用户信息需由服务端换取,禁止前端直接处理。

收藏人数:
下载插件并导入HBuilderX
下载示例项目ZIP
赞赏(0)
下载 32
赞赏 1
下载 13247774
赞赏 1844
赞赏
京公网安备:11010802035340号