更新记录

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-鸿蒙:插件目录内已提供实现,但本项目未做真机验证。

前置条件

  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):

  • manifest.json:
    • Android:app-plus -> distribute -> android -> schemes
    • iOS:app-plus -> distribute -> ios -> urltypes
  • 插件目录下的 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 三处值是否完全相同。


总结

  1. App 端使用前必须打自定义基座包;
  2. 核心是保证回调 Scheme 配置一致,否则授权结果无法返回;
  3. 前端仅需获取 auth_code

隐私、权限声明

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

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

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

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

许可协议

MIT协议

暂无用户评论。