关于 line-liff
line-liff 是用于在 LINE 中构建、审查和调试 LIFF Web 应用的开发技能。它要求按需查阅参考资料,以 API 规范和环境限制为依据处理实现与排错。
主要功能
- 01LIFF 开发与代码审查
- 02按主题查阅 API 参考
- 03检查认证与 URL 约束
- 04LIFF Server API 与 CLI 指引
- 05提供架构设计参考
适用场景
- 01搭建新的 LIFF Web 应用
- 02核对 LIFF 初始化和登录流程
- 03排查 API 可用性或 URL 问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ abgne/ line-dev --skill line-liff安装后在 Claude Code 中输入/line-liff确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/api.mdcli.mdexperts.mdguidelines.mdnavigation.mdplugins.mdserver-api.mdserver-auth.md详细介绍
LINE LIFF(前端框架)
不要凭记忆回答 LIFF 相关问题——LINE 会频繁更新 API,训练数据并不可靠。请务必查阅以下参考资料。
用于在 LINE 内构建、审查和调试 LIFF Web 应用的参考资料。
工作流
构建
- 阅读 references/guidelines.md(注册、端点 URL 规则、环境兼容性)
- 加载正在实现的功能对应的参考资料
- 对于架构或设计选择,请查阅 references/experts.md 获取方向性指导
- 按照参考资料中的规范和限制编写代码
审查 / 调试
- 阅读 references/guidelines.md(URL 限制、身份验证流程、API 可用性)
- 加载与待审查代码相关的参考资料
- 根据规范交叉检查代码(端点 URL 规则、scope 要求、环境限制、初始化顺序)
- 对于设计模式相关问题,请查阅 references/experts.md
- 报告违反之处,并注明具体限制的参考资料
环境变量
LIFF_ID=LIFF app ID (from LINE Developers Console)
LINE_LOGIN_CHANNEL_ID=LINE Login Channel ID (for server-side JWT verification)
LINE_LOGIN_CHANNEL_SECRET=Channel secret (server-side only)
CHANNEL_ACCESS_TOKEN=Channel access token (for LIFF Server API — manage LIFF apps programmatically)
SDK
通过 CDN 或 npm 安装。若要进行 tree-shaking(减少约 34% 的包体积),请使用可插拔 SDK。
SDK 安装、CDN/npm 配置、可插拔 SDK → references/api.md § Pluggable SDK
初始化
liff.init({ liffId: 'YOUR_LIFF_ID', withLoginOnExternalBrowser: true })
.then(() => { /* use LIFF APIs */ })
.catch(err => console.error(err.code, err.message));
- 必须在所有 LIFF API 之前调用(预初始化方法除外)
withLoginOnExternalBrowser: true— 在外部浏览器中自动触发登录liff.ready— 在初始化完成时解析的 Promise
入门
- 在 LINE Developers Console 中创建 LINE Login channel
- 添加 LIFF app 并设置 Endpoint URL(必须使用 HTTPS)
- 集成 SDK,并调用
liff.init() - 或使用
npx @line/create-liff-app搭建项目(React/Vue/Svelte/Next.js/Nuxt/vanilla)
API 参考
完整的 API 参考(方法、参数、scope、可用性矩阵)→ references/api.md
视图尺寸
| 类型 | 覆盖范围 |
|---|---|
| Full | 屏幕的 100% |
| Tall | 约 75% |
| Compact | 约 50% |
主要限制
- Endpoint URL:
liff.init()仅在注册的 Endpoint URL 或其下级路径中有效 - URL 处理:仅在
liff.init()解析后修改 URL - 通用链接:使用
https://liff.line.me/{liffId}作为主要入口点 - 令牌安全:将原始 ID Token 发送到服务器进行验证,切勿暴露已解码的令牌 → 参见 server-auth.md
- 登录行为有所不同:在 LIFF 浏览器中自动登录,在外部浏览器中手动登录
- 已弃用的 API:
liff.scanCode()→ 使用scanCodeV2();liff.getLanguage()→ 使用getAppLanguage();liff.permanentLink.createUrl()→ 使用createUrlBy()(可能会在 v3 中移除)
参考资料索引
| 文件 | 主题 |
|---|---|
| references/api.md | LIFF v2 API 完整参考、可插拔 SDK 模块、错误代码 |
| references/guidelines.md | 注册、端点 URL 规则、身份验证流程、UI/UX、环境兼容性 |
| references/navigation.md | LIFF URL、liff.state、永久链接、LIFF 到 LIFF 的跳转、浏览器最小化 |
| references/plugins.md | LIFF 插件开发、钩子系统、官方插件(Inspector、Mock) |
| references/server-api.md | LIFF Server API(v1)— 以编程方式管理 LIFF app 的增删改查(创建、更新、列出、删除) |
| references/server-auth.md | 服务端 ID Token(JWT)验证 |
| references/cli.md | LIFF CLI — 本地 HTTPS 开发服务器、app 增删改查、Inspector 调试、ngrok |
| references/experts.md | 提供架构指导的 LIFF 领域专家 |
SDK 与工具
- npm:@line/liff
- 可插拔 SDK:
@line/liff/core+ 各个模块 - 官方插件:@line/liff-inspector | @line/liff-mock
- LIFF CLI:CLI 工具(创建、运行、部署、HTTPS 开发服务器)
- 创建 LIFF 应用:
npx @line/create-liff-app— 脚手架(React/Vue/Svelte/Next.js/Nuxt/vanilla,JS/TS) - LIFF Playground:liff-playground.netlify.app — 在线 API 测试
- 入门应用:line/line-liff-v2-starter(vanilla/Next.js/Nuxt)
评论
支持 Markdown