当您在自建前端经营在线课程、付费专栏、音频节目或数字下载包时,最难自行维护的通常是“买家登录”“确认谁有权限看哪个单元(Entitlement)”“私有影音与 PDF 防盗链签名”以及“跨设备观看进度同步”。
Kanorio 将这些底层能力封装为两层,您可以依定制化程度自由选择:
<kanorio-*> 组件(@kanorio/elements,最快):一行标签或 React 组件,直接把 Kanorio 内置的无密码登录框、公开课纲与受保护播放器搬进您的外部网站。https://{您的网站}/api/v1/customer/*):用您自己的 UI 调用无密码认证、读取已开通的交付物树状结构、换取 600 秒短效签名网址并回报进度。完整规格参考(SSOT):
- 所有顾客端点、参数与响应结构:Customer API 参考页
- 组件属性、自定义事件与 CSS 变量:Kanorio Elements 参考页
@kanorio/elements 组件(推荐)@kanorio/elements 提供标准 Web Components(任何框架或纯 HTML 皆可用)与 React 组件,内置 58 种语系与深浅色主题变量:
| 组件名称 | 是否需买家登录 | 用途 |
|---|---|---|
<kanorio-curriculum> | 免登录(公开) | 放置于商品销售页,自动读取 GET /api/v1/products/{slug} 的交付物大纲(章节、单元类型、时长),并允许访客直接点击试看标记为“免费预览”的单元 |
<kanorio-login> | 登录入口 | 提供 Email 6 位数验证码与无密码登录链接,验证成功后自动签发买家专属的 Bearer Session 并触发 kanorio:login 事件 |
<kanorio-unit> | 需登录(试看单元除外) | 完整的受保护学习与交付界面:包含章节侧栏、视频/音频播放器、PDF 阅读器、文件下载卡、未解锁与定时解锁提示,并自动向服务器回报观看秒数与完成状态 |
<kanorio-media>/<kanorio-lightbox> | 免登录(公开) | 公开音视频播放器,以及支持缩放、键盘切换及防存图设置的图片灯箱 |
import { KanorioProvider, KanorioLogin, KanorioUnit } from "@kanorio/elements"; import "@kanorio/elements/elements.css"; export function CoursePlayerPage() { return ( <KanorioProvider siteUrl="https://s-k4m9x2p7q8w3.kanorio.com" locale="zh-Hant" theme="auto"> <KanorioLogin siteName="拾光在线学院" /> <KanorioUnit deliverable="react-masterclass" onProgress={(e) => console.log("进度更新:", e)} /> </KanorioProvider> ); }
如果您希望百分之百自行设计课程大纲与学习画面,可以直接从浏览器(需先在“网站设置 › 开发者”将外部前端域名加入“允许的来源”)或您的服务器调用 Customer API:
POST /api/v1/customer/auth/challenge 寄出 6 位数验证码与登录链接。POST /api/v1/customer/auth/verify,取得买家本人的 sessionToken(knr_cat_*,双重绑定该网站与该名联系人)。Authorization: Bearer knr_cat_...,调用 GET /api/v1/customer/deliverables 列出该买家拥有有效的所有交付物。GET /api/v1/customer/deliverables/{key} 取得完整章节树、每个单元的解锁状态与目前观看进度。POST /api/v1/customer/units/{id}/open(服务器会实时检查存取权是否有效、是否已达定时解锁日期 releaseAt/releaseAfterDays),换取 600 秒有效的私有媒体签名网址。POST /api/v1/customer/progress 回报 positionSeconds,由服务器依交付物的结业规则判定是否完成并触发 deliverables.progress.completed Webhook。在设计自建前端时,请留意 Kanorio 将三种权利严格分开:
<kanorio-unit> 检查。knr_pat_)的权限,“能观看课程”绝不等于“能修改课纲”。在外部前端的商品介绍页放上结账导购链接(指向您网站系统网址的结账页并带上 return_to 返回网址)。买家完成付款后,Kanorio 会自动依商品绑定的交付物开通 Entitlement、寄出收据与领取信,并导回您的外部前端直接开始观看。