# LOLAPP

# 说明

  1. 使用掌盟新版的 jsapi,功能更齐全,原先的zm模块已废弃
  2. 由于新旧掌盟 jsapi 存在冲突,请务必注意,不要在页面中使用旧的分享方式

# 更新

2021.06.11

  1. 判断是否安装了掌盟
  2. 拉起掌盟
  3. 花式分享

# 使用

首先引入掌盟模块

const { LOLAPP, Common } = LOLM
// 判断当前环境,如果要判断掌盟,务必传入'lolapp'
const plat = Common.checkPlat('lolapp')
/**
 * 所有掌盟操作必须先进行初始化,会加载必要的依赖js
 * */
LOLAPP.initAPP()
  .then(() => {
    // 检查是否安装
    checkInstalled()
    // 拉起掌盟延迟操作
    launchDelay()
    // 原生...进行分享
    // 注意不要让qtconfig被覆盖
    sharePrimary()
  })
  .catch((e) => {
    console.log(e)
  })
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 判断是否安装了掌盟

(只能在 qq/wx/掌盟中检测)

const checkInstalled = () => {
  LOLAPP.checkAPPInstalled()
    .then((r) => {
      if (r) {
        console.log('已安装掌盟')
      } else {
        console.log('未安装掌盟')
      }
    })
    .catch((e) => {
      console.log(e)
    })
}
1
2
3
4
5
6
7
8
9
10
11
12
13

# 拉起掌盟

由于初始化掌盟是异步的,为保证用户体验,demo 中使用了以下方式,可酌情参考:

  1. 当用户点击拉起掌盟时,掌盟还未完成初始化,需要暂存跳转链接,带初始化完成后延迟执行
  2. 如拉起掌盟时已完成初始化,则立马跳转
/**
 * 拉起掌盟:要么立即执行,要么延迟到初始化后执行
 * */
const launchLOLAPP = (url) => {
  if (window.QTLTools) {
    QTLTools.JumpTo(url)
  } else {
    delayUrlQueue.push(url)
  }
}
const launchBtnBind = () => {
  document.querySelector('#btn4').onclick = function () {
    launchLOLAPP(location.href)
  }
}
// 绑定操作是立即执行的
launchBtnBind()
/**
 * 拉起掌盟延迟执行,先存储跳转链接
 * */
const launchDelay = () => {
  let len = delayUrlQueue.length
  if (len) {
    let lastUrl = delayUrlQueue[len - 1]
    QTLTools.JumpTo(lastUrl)
    delayUrlQueue = []
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

# 通过原生的...分享

/**
 * 原生分享&设置标题
 * */
const sharePrimary = () => {
  QTLTools.SetTitle('掌盟DEMO')
  QTLTools.SetShare({
    url: location.href,
    doc_id: '51040655555555',
    title: '原生分享',
    content: '原生分享内容',
    thumb_url:
      'https://game.gtimg.cn/images/lol/m/act/a20150319lolapp/logo.png',
    callback: function (channel) {
      console.log('点击了原生分享:', channel)
    },
  })
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 拉起面板分享

具体使用方法见 demo

# 游戏下载

在完成掌盟初始化后执行

  LOLAPP.downloadGame({
    // 下载按钮选择器,需要为可改变内部文字的按钮
    downloadBtn: '.qd-btn',
    // 四合一链接
    synthesisLink: 'https://jcc.qq.com/zlkdatasys/mct/proj_7/download.shtml?media=10040715&back=https://jcc.qq.com/act/a20210715pass/index.html',
    // ios下载链接
    iOSLink: 'qtpage://openApp?scheme=tencent1109811436%3A%2F%2F&download=https%3A%2F%2Fapps.apple.com%2Fcn%2Fapp%2Fid1478101301',
    // 安卓链接
    androidLink: 'https://dlied4.myapp.com/myapp/6337/cos.release-76468/10053169_com.tencent.jkchess_a1624244_1.1.1_wrtt9n.apk',
    gamePackageName: 'com.tencent.jkchess',
    gameOpenScheme: 'tencent1109811436://',
    installConfirmImg: 'https://game.gtimg.cn/images/jk/act/a20210623ydzy/dia-img.png',
    appID: '1478101301',
    gameAppid: '1109811436',
    reserveId: 'jgame',
    gameName: '金铲铲之战',
    gameIcon: 'https://game.gtimg.cn/images/jk/act/a20210623ydzy/logo.png'
  });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 掌盟 DEMO

https://lol.qq.com/jssdk/example/lolapp.html

Last Updated: 12/14/2021, 5:05:41 PM