LINE LIFF(Front-end Framework)是在 LINE 内构建网页应用的前端框架。本资料为 LIFF SDK 的综合参考,用于在 LINE 内构建、审查和调试 LIFF 网页应用。资料明确指出:不要凭记忆回答 LIFF 问题,因为 LINE 会频繁更新 API,训练数据不可靠,应始终查阅所附参考文档。
用途
本资料面向 LIFF 网页应用的构建与审查/调试两类工作。构建时:阅读 references/guidelines.md(注册、Endpoint URL 规则、环境兼容性),加载正在实现功能的相关参考,对于架构或设计选择查阅 references/experts.md 获取方向性指导,最后按参考中的规格与约束编写代码。审查/调试时:阅读 references/guidelines.md(URL 约束、认证流程、API 可用性),加载被审查代码的相关参考,将代码与规格交叉核对(Endpoint URL 规则、scope 要求、环境限制、初始化顺序),设计模式问题查阅 references/experts.md,并以具体约束为依据报告违规。
环境变量
LIFF_ID:LIFF 应用 ID(来自 LINE Developers Console)。LINE_LOGIN_CHANNEL_ID:LINE Login Channel ID(用于服务端 JWT 验证)。LINE_LOGIN_CHANNEL_SECRET:Channel secret(仅服务端)。CHANNEL_ACCESS_TOKEN:Channel access token(用于 LIFF Server API,以编程方式管理 LIFF 应用)。
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 之前调用(pre-init 方法除外)。withLoginOnExternalBrowser: true 表示在外部浏览器中自动触发登录。liff.ready 是初始化完成时解析的 Promise。
快速开始
在 LINE Developers Console 创建 LINE Login channel;添加 LIFF 应用并设置 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。Universal Links:使用 https://liff.line.me/{liffId} 作为主要入口。令牌安全:将原始 ID Token 发送到服务端验证,绝不暴露解码后的 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:注册、Endpoint URL 规则、认证流程、UI/UX、环境兼容性。references/navigation.md:LIFF URL、liff.state、永久链接、LIFF 到 LIFF 的跳转、浏览器最小化。references/plugins.md:LIFF 插件开发、hooks 系统、官方插件(Inspector、Mock)。references/server-api.md:LIFF Server API(v1),以编程方式对 LIFF 应用进行 CRUD(创建、更新、列出、删除)。references/server-auth.md:服务端 ID Token(JWT)验证。references/cli.md:LIFF CLI,本地 HTTPS 开发服务器、应用 CRUD、Inspector 调试、ngrok。references/experts.md:LIFF 领域专家,用于架构指导。
SDK 与工具
npm:@line/liff。可插拔 SDK:@line/liff/core 加各个模块。官方插件:@line/liff-inspector、@line/liff-mock。LIFF CLI:命令行工具(创建、serve、部署、HTTPS 开发服务器)。Create LIFF App:npx @line/create-liff-app,脚手架(React/Vue/Svelte/Next.js/Nuxt/vanilla,JS/TS)。LIFF Playground:liff-playground.netlify.app,在线 API 测试。Starter app:line/line-liff-v2-starter(vanilla/Next.js/Nuxt)。
限制
资料未提供具体收费、价格、平台支持细节及性能效果数据,相关事实暂未提供。