Lingara Lingara 文档 学习指南 API 库 应用 构建 网页版
语言: 中文简体

构建 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.6

Rust

cargo add lingara-apps@0.1.0-alpha.6 --features axum
cargo add axum@0.8
cargo add tokio --features macros,net,rt-multi-thread

Go

go get github.com/Spinning-Cat-Studios/lingara_app_framework_sdk/go@v0.1.0-alpha.6

Java

<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.6

PHP

composer require spinningcatstudios/lingara-apps:0.1.0-alpha.6 spinningcatstudios/lingara:@alpha

构建应用

  • 快速入门

    从一个新的 OAuth 客户端,到你的应用卡片出现在你自己的账户上。

  • 卡片

    组成卡片的八种元素、Lingara 施加的限制,以及卡片失败时学习者看到的内容。

  • 上下文与同意

    你的应用可以逐个字段了解学习者的哪些信息,以及学习者如何同意。

  • 导师备注

    你的应用可以向 Lingara 导师提供的一行内容,以及它要经过的规则。