更新记录

2.0.0(2026-05-07) 下载此版本

2.0.0(首次发布)

支持 App 端(Android)栖岛账号授权登录 支持栖岛小程序端授权登录 App 端与小程序端统一调用接口,无需区分环境


平台兼容性

uni-app(4.64)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× × - 7.0 - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

栖岛登录 - UniApp 示例

UniApp 集成栖岛登录的示例项目,支持 App 端(iOS / Android)和栖岛小程序端。


目录结构

Qidoa_Uniapp_小程序-APP-调用栖岛进行授权-带前后端/
├── App.vue                          # 应用入口,处理 App 端授权回调
├── main.js                          # 应用启动入口
├── manifest.json                    # UniApp 配置(scheme、原生插件等)
├── pages.json                       # 页面路由配置
├── pages/
│   └── Miniapp小程序回调示例.vue     # 登录页面
├── utils/
│   └── api.js                       # 配置文件(clientId、后端地址等)
├── nativeplugins/
│   └── QidaoLogin/                  # 栖岛原生登录插件
│       ├── android/libs/
│       │   └── qidao-login-sdk-2.0.0.jar   # Android SDK
│       ├── qidao-login.js           # 插件 JS 接口
│       └── package.json             # 插件配置
├── static/                          # 静态资源
├── Qidao_Server_ApiDemo/
│   ├── index.php                    # 后端示例(部署到服务器)
│   └── README.md                    # 后端说明
└── README.md                        # 本文档

接入步骤

第一步:配置 utils/api.js

export const QIDAO_CONFIG = {
  clientId:    'your_client_id',
  redirectUri: 'yourapp://callback',   // 与 manifest.json 中的 scheme 一致
  scope:       'screen_name avatar',
  userInfoUrl: 'https://your-server.com/index.php'  // 你部署的后端地址
}

第二步:部署后端

Qidao_Server_ApiDemo/index.php 部署到服务器,修改顶部配置:

$client_id     = 'your_client_id';
$client_secret = 'your_client_secret';  // 只能放在后端
$redirect_uri  = 'https://your-server.com/index.php';

第三步:配置 manifest.json

在 HBuilderX 的 manifest.json → App 常用其他设置 → Android 设置中,添加自定义 scheme,与 redirectUri 保持一致。

第四步:集成原生插件

nativeplugins/QidaoLogin/ 放入项目,在 manifest.json → App 原生插件配置中选择本地插件 QidaoLogin,云打包即可。


调用代码

import QidaoLogin from '@/nativeplugins/QidaoLogin/qidao-login.js'
import { QIDAO_CONFIG, fetchUserInfo } from '@/utils/api.js'

// App 端初始化(小程序端自动忽略)
QidaoLogin.init({
  clientId:    QIDAO_CONFIG.clientId,
  redirectUri: QIDAO_CONFIG.redirectUri,
  scope:       QIDAO_CONFIG.scope
})

// 发起登录
QidaoLogin.login({ clientId: QIDAO_CONFIG.clientId }).then(code => {
  fetchUserInfo(code).then(data => {
    console.log('用户信息:', data.user)
  })
})

注意事项

  • 原生插件仅在打包后生效,调试需使用自定义基座
  • client_secret 只能放在后端,不能出现在客户端代码中

隐私、权限声明

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

android.permission.INTERNET

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

插件本身不采集任何用户数据。插件会将用户的授权码(code)发送至栖岛认证服务器用于完成登录授权,不存储任何用户个人信息。

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

许可协议

MIT协议

暂无用户评论。