@neyric_w/wechat-sdk
Version:
微信服务号 OAuth SDK - 提供完整的网页授权功能
82 lines (62 loc) • 2.32 kB
Markdown
[](https://www.npmjs.com/package/@neyric_w/wechat-sdk)
[](https://github.com/neyric/wechat-sdk/blob/main/LICENSE)
一个简单易用的微信服务号 OAuth SDK,提供完整的网页授权功能,使用 TypeScript 编写,支持 ESM 和 CommonJS。
- 🚀 **简单易用** - 清晰的 API 设计,开箱即用
- 📦 **双格式支持** - 同时支持 ESM 和 CommonJS
- 🔒 **类型安全** - 完整的 TypeScript 类型定义
- ⚡ **轻量级** - 无外部依赖,体积小巧
- 🛠️ **模块化** - 按功能模块组织,按需使用
- ✅ **测试覆盖** - 完整的单元测试
```bash
npm install @neyric_w/wechat-sdk
yarn add @neyric_w/wechat-sdk
pnpm add @neyric_w/wechat-sdk
bun add @neyric_w/wechat-sdk
```
```typescript
import { WechatSDK, WeChatScope } from '@neyric_w/wechat-sdk';
// 初始化 SDK
const wxsdk = new WechatSDK('your_app_id', 'your_app_secret');
// 生成授权链接
const authUrl = wxsdk.auth.getAuthURL({
redirectUri: 'https://your-domain.com/callback',
scope: WeChatScope.USERINFO,
state: 'custom_state'
});
// 处理回调
const params = wxsdk.utils.parseCallback(callbackUrl);
if (params.code) {
// 获取 access_token
const tokenData = await wxsdk.auth.code2Session(params.code);
// 获取用户信息
const userInfo = await wxsdk.user.getUserInfo(
tokenData.access_token,
tokenData.openid
);
}
```
- `getAuthURL(params)` - 生成授权链接
- `code2Session(code)` - code 换取 access_token
- `refreshToken(refreshToken)` - 刷新访问令牌
- `validateToken(token, openid)` - 验证令牌有效性
- `getUserInfo(token, openid)` - 获取用户信息
- `parseCallback(url)` - 解析回调参数
- `isWeChatBrowser()` - 检测微信浏览器
- `generateRandomString(length)` - 生成随机字符串
- `isValidOpenId(openid)` - 验证 OpenID 格式
- `formatAvatarUrl(url, size)` - 格式化头像 URL
查看 [GitHub 仓库](https://github.com/neyric/wechat-sdk) 获取更多示例和详细文档。
MIT