# LOLAPP
# 说明
- 使用掌盟新版的 jsapi,功能更齐全,原先的
zm
模块已废弃 - 由于新旧掌盟 jsapi 存在冲突,请务必注意,不要在页面中使用旧的分享方式。
# 更新
2021.06.11
- 判断是否安装了掌盟
- 拉起掌盟
- 花式分享
# 使用
首先引入掌盟模块
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
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
2
3
4
5
6
7
8
9
10
11
12
13
# 拉起掌盟
由于初始化掌盟是异步的,为保证用户体验,demo 中使用了以下方式,可酌情参考:
- 当用户点击拉起掌盟时,掌盟还未完成初始化,需要暂存跳转链接,带初始化完成后延迟执行
- 如拉起掌盟时已完成初始化,则立马跳转
/**
* 拉起掌盟:要么立即执行,要么延迟到初始化后执行
* */
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
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
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
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