更新记录
1.0.1(2026-01-15) 下载此版本
1.发布到应用市场
平台兼容性
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 端拉起支付宝客户端完成授权,获取 auth_code(Android 已在本项目中跑通示例)。
一、快速使用示例
运行需要打包自定义基座。
适用于 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 appId = "2016051801417322"
const scope = "auth_user"
const state = "xxx"
const url = `https://authweb.alipay.com/auth?auth_type=PURE_OAUTH_SDK&app_id=${appId}&scope=${scope}&state=${state}`
const params = {
scheme_name: "__alipaysdkdemo__",
bundleName: "com.dingyutx.wenapp888",
url
}
openAuthScheme({
param: params,
complete: (res) => {
// 输出授权结果到控制台,便于调试
console.log('支付宝授权结果:', res)
}
});
}
}
}
</script>
二、基础信息
支持平台
App-Android(本项目已跑通示例)
App-iOS / App-鸿蒙:插件目录内已提供实现,但本项目未做真机验证。
前置条件
- 项目需打自定义基座包后才能正常使用;
- 已在支付宝开放平台创建应用,获取有效 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):
- manifest.json:
- Android:
app-plus -> distribute -> android -> schemes - iOS:
app-plus -> distribute -> ios -> urltypes
- Android:
- 插件目录下的 AndroidManifest.xml:
<data android:scheme="..."/> - 调用参数:
param.scheme_name
自定义 Scheme:如需修改,需同时修改以上三处值,否则会出现回调无结果。
2. 依赖说明
插件已通过 UTS 自动引入支付宝 SDK,无需手动添加依赖(依赖仓库已配置)。
四、返回结果与错误码
1. 成功返回示例
当授权成功时(通常 responseCode 为 9000,且 result.auth_code 存在),回调会拿到包装后的结构。
complete 回调示例(Android):
{
"responseCode": 9000,
"session": "xxx",
"result": {
"result_code": "9000",
"app_id": "2016051801417322",
"scope": "auth_user",
"state": "custom_state_123",
"auth_code": "201610BB1234567890ABCDEFGHIJKL"
}
}
2. 失败错误码
- responseCode 为支付宝 SDK 返回码;以 9000 作为成功的常见判断值。
- 插件捕获到异常时会返回 responseCode = -1。
五、常见问题
1. 点击授权无反应/直接失败
- 确认在 App 端真机测试(需要自定义基座);
- 确认手机已安装支付宝、网络正常;
- 确认已打自定义基座包。
2. 回调无结果/返回为空
核心原因是 Scheme 不一致,需检查 manifest.json、插件 AndroidManifest.xml、以及调用参数 param.scheme_name 三处值是否完全相同。
总结
- App 端使用前必须打自定义基座包;
- 核心是保证回调 Scheme 配置一致,否则授权结果无法返回;
- 前端仅需获取 auth_code

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