qq-login-qrcode
v2.0.0
Published
基于 node.js 开发的 QQ 扫码登录模块,支持 TypeScript,提供完整的类型定义和简洁的 API
Maintainers
Readme
QQ-Login-Qrcode
基于 node.js 开发的 QQ 扫码登录模块,支持 TypeScript,提供完整的类型定义和简洁的 API
特性
- ✅ 支持 TypeScript,提供完整的类型定义
- ✅ 支持 CommonJS 和 ESM 模块
- ✅ 简单易用的 API,只需两个函数即可完成登录流程
- ✅ 基于 axios 的网络请求,稳定可靠
- ✅ 详细的 JSDoc 文档,便于使用和维护
- ✅ 支持自定义 appid 和重定向 URL
安装
$ npm install qq-login-qrcode
$ pnpm add qq-login-qrcode
$ yarn add qq-login-qrcode示例
JavaScript 示例
const { generateQrCode, checkLoginStatus } = require('qq-login-qrcode');
// 获取二维码
async function login() {
try {
// 获取二维码和 qrsig
const qrResult = await generateQrCode();
console.log('qrsig:', qrResult.qrsig);
console.log('二维码图片:', qrResult.image);
// 轮询登录状态
setInterval(async () => {
const loginResult = await checkLoginStatus(qrResult.qrsig);
console.log('登录状态:', loginResult);
if (loginResult.code === 0) {
console.log('登录成功!');
console.log('Cookies:', loginResult.cookies);
console.log('UIN:', loginResult.uin);
clearInterval(this);
}
}, 2000);
} catch (error) {
console.error('登录失败:', error);
}
}
login();TypeScript 示例
import { checkLoginStatus, generateQrCode, LoginResult, QrCodeResult } from 'qq-login-qrcode';
// 获取二维码
async function login() {
try {
// 获取二维码和 qrsig
const qrResult: QrCodeResult = await generateQrCode();
console.log('qrsig:', qrResult.qrsig);
console.log('二维码图片:', qrResult.image);
// 轮询登录状态
const interval = setInterval(async () => {
const loginResult: LoginResult = await checkLoginStatus(qrResult.qrsig);
console.log('登录状态:', loginResult);
if (loginResult.code === 0) {
console.log('登录成功!');
console.log('Cookies:', loginResult.cookies);
console.log('UIN:', loginResult.uin);
clearInterval(interval);
}
}, 2000);
} catch (error) {
console.error('登录失败:', error);
}
}
login();API
generateQrCode(appid, redirectUrl)
获取登录二维码和 qrsig
参数
appid(可选): QQ 互联提供的 appid,默认为715030901(QQ 群网页管理)redirectUrl(可选): 登录成功后的回调地址,默认为https://qun.qq.com/
返回值
qrsig: 用于后续查询登录状态的标识image: 二维码图片的 base64 编码
checkLoginStatus(qrsig, appid, redirectUrl)
查询登录状态并获取 cookies
参数
qrsig: 从generateQrCode获取的 qrsigappid(可选): QQ 互联提供的 appid,默认为715030901redirectUrl(可选): 登录成功后的回调地址,默认为https://qun.qq.com/
返回值
code: 状态码msg: 状态描述uin(可选): QQ 号(登录成功时返回)cookies(可选): 登录成功时返回的 cookies
状态码说明
65: 登录二维码已失效66: 请使用手机 QQ 扫码登录67: 正在验证二维码0: 登录成功
构建和开发
构建项目
$ pnpm build开发模式
$ pnpm dev代码检查
$ pnpm lint类型检查
$ pnpm typecheck