更新记录

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 配置

  1. 在 LINE Login Channel 后台配置 Android 的包名。
  2. 在后台添加应用签名证书的 SHA-1 指纹。调试基座和正式包的签名不同,需要分别配置。
  3. 本插件的 Android 最低版本为 API 24。

3. iOS 配置

  1. 在 LINE Login Channel 后台配置 iOS Bundle ID。
  2. 插件会自动合并 URL Scheme:line3rdp.$(PRODUCT_BUNDLE_IDENTIFIER),其实际值应为 line3rdp.<你的 Bundle ID>
  3. 如已在 LINE 后台配置 Universal Link,可在登录时传入 universalLinkURL
  4. 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']。常用值:profileopenidemail。使用 email 前需在 LINE 后台开通 Email permission。
nonce string OpenID Connect nonce。
onlyWebLogin boolean 是否只使用网页登录。
botPrompt string 机器人加好友提示参数。
uiLocale string 登录页语言标识,例如 zh-Hansen
promptBotID string 指定需要提示加好友的 Bot ID。
initialWebAuthenticationMethod string 初始网页登录认证方式。
universalLinkURL string iOS Universal Link 回调地址。

登录成功后可从结果中读取 userIddisplayNamepictureUrlaccessToken 等字段。需要 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

texturl 可以分别为空,但不能同时为空;两者同时为空时会被拦截并返回失败结果。文本分享使用 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.chooseImageuni.chooseVideo 返回的临时路径。
text string 随媒体附带的文本。
useLineAppOnly boolean 是否只允许分享到 LINE。

LINE 没有用于图片、视频的专用 URL Scheme,因此媒体分享会调用系统分享能力:Android 在 useLineAppOnlytrue 时会定向到 LINE;iOS 在该参数为 true 时先检查 LINE 是否安装,再拉起系统分享面板供用户选择 LINE。回调成功仅表示已成功拉起分享界面,不代表用户已完成发送。

返回结果

所有异步方法均通过回调返回结果。code === 200 表示成功,其他值表示失败;失败时优先查看 msgerrCodenativeErrorCodehttpResponseCode

{
  code: 200,
  msg: 'success',
  errCode: 0
}

登录结果额外可能包含 responseCodeuserIddisplayNamepictureUrlaccessTokenscopeCodes 及 ID Token 相关字段。生产环境请勿输出或持久化记录 accessToken

常见问题

  • 登录被取消:检查 LINE App 或网页登录页的操作结果,responseCode 通常会返回 CANCEL
  • Android 登录失败:确认 LINE 后台的包名和 SHA-1 与当前调试基座或正式包一致。
  • iOS 提示插件不存在或找不到原生类:确认手机运行的是包含 gt-line 的自定义基座,不是标准基座;重新安装自定义基座后再运行。
  • iOS CocoaPods 找不到 LineSDKSwift:使用可访问 CocoaPods CDN 的网络环境重新提交云端打包。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

android.permission.INTERNET

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件通过 LINE 官方 SDK 发起授权登录,并在用户授权后获取登录结果、用户资料和访问令牌。插件不会将这些数据上传至开发者服务器;LINE SDK 的数据处理规则请参阅:https://developers.line.biz/en/docs/line-login/

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。