构建 Lingara 应用
本页译自英文。如两者有出入,以英文页面为准。 阅读英文页面
Lingara 应用是一个由你运行的服务器。学习者安装你的应用后,Lingara 会向你的服务器发送一个签名请求,你的服务器以一张卡片作答,Lingara 再以自己的样式绘制这张卡片。你的代码永远不会在学习者的设备上运行,也永远看不到 Lingara 在那里存储的内容。
对 Lingara 而言,应用就是带有清单的 OAuth 客户端。客户端赋予你的应用身份。清单则说明它的卡片可以出现在哪里、它要求查看什么,以及 Lingara 把请求发送到哪里。
卡片出现在哪里
你的清单列出你的卡片可以填充的位置。共有两个:
plans.empty_detail:课程计划页面在未选中任何计划时的详情窗格。只要屏幕宽到足以显示两个窗格,它就会在网页、Android 和 iOS 上绘制。home.side:网页首页的侧栏。
在两个位置都不绘制的地方,学习者可以从“应用”中全屏打开你的应用:网页上在控制台里,Android 和 iOS 上在“设置”里。每个位置一次只显示一个应用。学习者为同一个位置安装了多个应用时,由他们选择这里显示哪一个。
谁可以安装应用
目前,应用只能由其所有者安装在自己的账户上。其他任何人的安装尚不可用。
你需要什么
- 一个 OAuth 客户端,在控制台中创建。
- 一个通过 HTTPS 响应 Lingara 请求的服务器。
- 下方的某个应用工具包。工具包会校验每个请求的签名,在你发送卡片之前让它符合 Lingara 的限制,并写出回复。
快速入门会带你走完整个流程,从一个新客户端到你自己账户上的一张卡片。
安装工具包
在下方选择你的语言。
TypeScript
npm install @lingara/apps@0.1.0-alpha.6Rust
cargo add lingara-apps@0.1.0-alpha.6 --features axum
cargo add axum@0.8
cargo add tokio --features macros,net,rt-multi-threadGo
go get github.com/Spinning-Cat-Studios/lingara_app_framework_sdk/go@v0.1.0-alpha.6Java
<dependency>
<groupId>com.getlingara</groupId>
<artifactId>lingara-apps-java</artifactId>
<version>0.1.0-alpha.6</version>
</dependency>Kotlin
implementation("com.getlingara:lingara-apps-kotlin:0.1.0-alpha.6")Ruby
gem install lingara-apps -v 0.1.0-alpha.6PHP
composer require spinningcatstudios/lingara-apps:0.1.0-alpha.6 spinningcatstudios/lingara:@alpha