安裝 SDK
官方 SDK 是 @vimine/sdk:TypeScript、ESM、零相依性(使用 fetch 和 WebCrypto)。瀏覽器入口壓縮後約 7 kB。
npm install @vimine/sdkpnpm add @vimine/sdkyarn add @vimine/sdk入口
章節「入口」| 匯入路徑 | 包含內容 | 執行環境 |
|---|---|---|
@vimine/sdk |
Vimine(使用 Vimine 登入 + 會員 API)、publicApi、VimineError、型別定義 |
瀏覽器;配合您自己的儲存也可用於 Node |
@vimine/sdk/react |
VimineProvider、useVimine、SignInButton |
React ≥ 18(可選的 peer dependency) |
@vimine/sdk/server |
VimineServer(機密用戶端、client_credentials、沙箱) |
Node ≥ 18——絕不能用於瀏覽器 |
import { Vimine, publicApi, VimineError } from '@vimine/sdk';import { VimineServer } from '@vimine/sdk/server';import { VimineProvider, useVimine, SignInButton } from '@vimine/sdk/react';執行要求
章節「執行要求」- 瀏覽器:
fetch、crypto.subtle(WebCrypto)以及sessionStorage/localStorage——所有現代瀏覽器都支援。頁面必須透過https提供(開發時可用http://localhost):在不安全的來源上無法使用 WebCrypto。 - Node:18 或更高版本(原生
fetch和globalThis.crypto)。 - 打包工具:任意(Vite、webpack、esbuild 等),或配合您自己的打包產物使用
<script type="module">。該套件僅提供 ESM。 - TypeScript:已內建型別定義;無需另外新增
@types/*。
第一次登入
章節「第一次登入」import { Vimine } from '@vimine/sdk';
const vimine = new Vimine({ clientId: 'vmc_…', // 來自“開發者”頁面 redirectUri: 'https://www.example.org/vimine/callback', // 已為該用戶端登記 scopes: ['profile:read', 'membership:read']});
document.querySelector('#sign-in').addEventListener('click', () => vimine.signIn());const result = await vimine.handleRedirect(); // 交換授權碼,儲存工作階段if (result) { const me = await vimine.me.get(); console.log(`您好,${me.first_name}`);}接下來請閱讀使用 Vimine 登入,瞭解完整流程、工作階段和登出。