更新记录
1.1.0(2026-07-13)
首次发布插件
平台兼容性
uni-app(4.71)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|---|
| √ | √ | × | × | √ | √ | 7.0 | 1.1.0 | 13 | 1.1.0 | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
uni-app x(4.71)
| Chrome | Safari | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|---|---|
| × | × | 7.0 | 1.1.0 | 13 | 1.1.0 | - | - |
gt-line
适用于 uni-app x 的 LINE 登录与分享插件,支持 Android 和 iOS。
功能包括:LINE 授权登录、登出、登录状态检查、LINE 是否安装检查,以及文本、图片、视频分享。
支持平台
| 平台 | 最低版本 | LINE SDK 版本 |
|---|---|---|
| Android | Android 7.0(API 24) | linesdk:5.12.0 |
| iOS | iOS 13.0 | LineSDKSwift:5.16.1 |
本插件仅支持 uni-app x 的 App-Android 和 App-iOS 平台。
使用前配置
1. 创建 LINE Login Channel
前往 LINE Developers Console 创建或选择 LINE Login Channel,取得 Channel ID。示例项目默认填写的 Channel ID 为 2010358941,仅用于演示;正式项目请替换成自己的 Channel ID。
插件不会提供默认 Channel ID。调用 login 时未传入或传入空的 channelId,会直接返回错误码 9010003。
2. Android 配置
- 在 LINE Login Channel 后台配置 Android 的包名。
- 在后台添加应用签名证书的 SHA-1 指纹。调试基座和正式包的签名不同,需要分别配置。
- 本插件的 Android 最低版本为 API 24。
3. iOS 配置
- 在 LINE Login Channel 后台配置 iOS Bundle ID。
- 插件会自动合并 URL Scheme:
line3rdp.$(PRODUCT_BUNDLE_IDENTIFIER),其实际值应为line3rdp.<你的 Bundle ID>。 - 如已在 LINE 后台配置 Universal Link,可在登录时传入
universalLinkURL。 - Windows 上无法用标准基座调试 iOS UTS 插件,需要提交云端打包自定义基座;
引入插件
import {
isLineInstalled,
isLoggedIn,
login,
logout,
shareImage,
shareText,
shareVideo
} from '@/uni_modules/gt-line'
API
login 登录
login({
channelId: '你的 LINE Channel ID',
scopes: ['profile', 'openid']
}, (res) => {
console.log('LINE 登录结果:', res)
})
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
channelId |
string |
是 | LINE Login Channel ID,空值会被拦截。 |
scopes |
string[] |
否 | 授权范围,默认 ['profile']。常用值:profile、openid、email。使用 email 前需在 LINE 后台开通 Email permission。 |
nonce |
string |
否 | OpenID Connect nonce。 |
onlyWebLogin |
boolean |
否 | 是否只使用网页登录。 |
botPrompt |
string |
否 | 机器人加好友提示参数。 |
uiLocale |
string |
否 | 登录页语言标识,例如 zh-Hans、en。 |
promptBotID |
string |
否 | 指定需要提示加好友的 Bot ID。 |
initialWebAuthenticationMethod |
string |
否 | 初始网页登录认证方式。 |
universalLinkURL |
string |
否 | iOS Universal Link 回调地址。 |
登录成功后可从结果中读取 userId、displayName、pictureUrl、accessToken 等字段。需要 ID Token 信息时,请在 scopes 中加入 openid。
logout 登出
logout((res) => {
console.log('LINE 登出结果:', res)
})
成功登录后,插件会保存 Channel ID;logout 无需再次传入登录参数。
isLoggedIn 检查登录状态
const loggedIn = isLoggedIn()
console.log('是否已登录:', loggedIn)
该方法检查本地是否存在 LINE 登录令牌,不会发起网络请求验证令牌有效性。
isLineInstalled 检查 LINE 是否安装
const installed = isLineInstalled()
console.log('是否已安装 LINE:', installed)
shareText 分享文本或链接
shareText({
text: '来自 uni-app x 的 LINE 分享',
url: 'https://example.com',
useLineAppOnly: true
}, (res) => {
console.log('文本分享结果:', res)
})
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
text |
string |
否 | 要分享的文本。 |
url |
string |
否 | 要分享的链接。 |
useLineAppOnly |
boolean |
否 | 是否仅使用 LINE App,默认 false。 |
text 与 url 可以分别为空,但不能同时为空;两者同时为空时会被拦截并返回失败结果。文本分享使用 LINE 官方分享链接。
shareImage 分享图片
uni.chooseImage({
count: 1,
success: (chooseResult) => {
shareImage({
path: chooseResult.tempFilePaths[0],
text: '图片说明,可不传',
useLineAppOnly: true
}, (res) => {
console.log('图片分享结果:', res)
})
}
})
shareVideo 分享视频
uni.chooseVideo({
sourceType: ['album', 'camera'],
success: (chooseResult) => {
shareVideo({
path: chooseResult.tempFilePath,
text: '视频说明,可不传',
useLineAppOnly: true
}, (res) => {
console.log('视频分享结果:', res)
})
}
})
图片与视频分享参数如下:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
path |
string |
是 | 本地文件路径,可直接传入 uni.chooseImage 或 uni.chooseVideo 返回的临时路径。 |
text |
string |
否 | 随媒体附带的文本。 |
useLineAppOnly |
boolean |
否 | 是否只允许分享到 LINE。 |
LINE 没有用于图片、视频的专用 URL Scheme,因此媒体分享会调用系统分享能力:Android 在 useLineAppOnly 为 true 时会定向到 LINE;iOS 在该参数为 true 时先检查 LINE 是否安装,再拉起系统分享面板供用户选择 LINE。回调成功仅表示已成功拉起分享界面,不代表用户已完成发送。
返回结果
所有异步方法均通过回调返回结果。code === 200 表示成功,其他值表示失败;失败时优先查看 msg、errCode、nativeErrorCode 和 httpResponseCode。
{
code: 200,
msg: 'success',
errCode: 0
}
登录结果额外可能包含 responseCode、userId、displayName、pictureUrl、accessToken、scopeCodes 及 ID Token 相关字段。生产环境请勿输出或持久化记录 accessToken。
常见问题
- 登录被取消:检查 LINE App 或网页登录页的操作结果,
responseCode通常会返回CANCEL。 - Android 登录失败:确认 LINE 后台的包名和 SHA-1 与当前调试基座或正式包一致。
- iOS 提示插件不存在或找不到原生类:确认手机运行的是包含
gt-line的自定义基座,不是标准基座;重新安装自定义基座后再运行。 - iOS CocoaPods 找不到
LineSDKSwift:使用可访问 CocoaPods CDN 的网络环境重新提交云端打包。

收藏人数:
购买源码授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 810
赞赏 0
下载 12424683
赞赏 1934
赞赏
京公网安备:11010802035340号