特性
- License Key Validation:根据 Dodo Payments API 验证许可证密钥。
- License Key Activation:为具有激活次数限制的许可证密钥设置实例名称并激活密钥。
- Environment Support:可配置为测试模式和正式模式。
- TypeScript Support:提供完整的类型定义和错误处理。
开始使用
开始之前,你需要 Figma 桌面应用和一个可签发许可证密钥的 Dodo Payments 产品。1
Create Base Plugin
使用 Figma 插件快速入门指南创建你自己的 Figma 插件项目。Figma 会生成一个脚手架,其中包含一个
manifest.json 文件。2
Clone the Example Implementation
3
Install Dependencies
在项目根目录中运行:
4
Configure Environment
在
src/ui/api.ts 中设置 API_MODE:API_MODE 选择 API 主机:对于 test_mode,使用 https://test.dodopayments.com;对于 live_mode,使用 https://live.dodopayments.com。5
Customize Components
在
src/ui/components/ 中自定义插件组件,以满足你的需求:- 更新
Authenticated.tsx,为拥有有效许可证密钥的用户提供功能。 - 自定义
LicenseKeyInput.tsx,以匹配你的设计。
Authenticated.tsx 用于添加插件的高级功能。只有在许可证密钥验证或激活后,插件才会显示这些功能。配置
1
Configure Network Access
该示例会通过位于 在
https://dodo-payments-proxy.aagarwal9782.workers.dev 的 CORS 代理发送每个许可证密钥请求,其 manifest.json 仅允许访问该代理。该代理不可用,因此请直接调用 Dodo Payments API。该 API 接受来自任何来源的跨源请求,包括插件 UI 的 null 来源。在你的 manifest.json 中,将代理域名替换为 Dodo Payments API 主机:src/ui/api.ts 中,将 fetch(proxyReq) 替换为 fetch(req),位置在 validateLicenseKey 和 activateLicenseKey 中,以便每个请求都直接发送到 API。这样,插件就可以通过 Dodo Payments API 验证和激活许可证密钥。2
Configure API Mode
在
src/ui/api.ts 中配置 API 模式:开发
1
Import Plugin
将插件导入 Figma 桌面应用:
- 打开一个设计文件。
- 打开 Figma 菜单并选择 Plugins。
- 在 Development 下,选择 Import new plugin from manifest…,然后在项目根目录中选择
manifest.json文件。
dist/ 中的构建文件加载插件,因此请在运行插件前启动开发服务器或运行 npm run build。你需要使用 Figma 桌面应用在本地开发和测试插件,因为 Figma 会从本地文件读取插件代码。
2
Start Development Server
修改源代码后,插件会自动重新构建。
构建命令
项目包含以下 npm 脚本:许可证密钥集成
示例实现会在解锁插件前检查许可证密钥。你可以自定义每个步骤:- 用户输入:用户在插件 UI 中输入许可证密钥。
- 验证:默认情况下,插件使用 Validate License(
POST /licenses/validate)验证密钥。 - 激活:如果你的许可证密钥具有激活次数限制,请在
src/ui/components/Unauthenticated.tsx中将needsActivation设置为true。然后,插件会使用 Activate License(POST /licenses/activate)激活密钥,而不是验证密钥,并将实例命名为Figma Plugin。 - 访问控制:对于有效密钥,插件会使用
figma.clientStorage保存密钥,并显示Authenticated.tsx。下次打开插件时,它会再次验证已保存的密钥。
发布
插件准备就绪后:- 为生产环境构建:
npm run build - 在测试模式和正式模式下进行充分测试。
- 遵循 Figma 的插件发布指南。
- 通过 Figma Community 提交插件以供审核。