更新记录

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/小程序等平台未实现)。

前置条件

  1. 项目需打自定义基座包后才能正常使用;
  2. 已在支付宝开放平台创建应用,获取有效 app_id;
  3. 用户手机已安装支付宝客户端;
  4. 知晓 OAuth 流程:前端仅获取 auth_code,需由服务端用 auth_code 换取用户信息/令牌(禁止前端直接换取)。

安装方式

  1. 在 HBuilderX 插件市场导入 uni_modules/wen-alipay-login 模块;
  2. 或直接将 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。


总结

  1. 插件仅支持 App-Android 端,使用前必须打自定义基座包;
  2. 核心是保证回调 Scheme 配置一致,否则授权结果无法返回;
  3. 前端仅需获取 auth_code,用户信息需由服务端换取,禁止前端直接处理。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件使用的支付宝SDK会采集数据 :https://opendocs.alipay.com/open/0b50rj?pathHash=d22f8fec

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。