forked from line/line-liff-starter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathliff-starter.js
73 lines (65 loc) · 2.66 KB
/
liff-starter.js
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
window.onload = function (e) {
liff.init(function (data) {
initializeApp(data);
});
};
function initializeApp(data) {
document.getElementById('languagefield').textContent = data.language;
document.getElementById('viewtypefield').textContent = data.context.viewType;
document.getElementById('useridfield').textContent = data.context.userId;
document.getElementById('utouidfield').textContent = data.context.utouId;
document.getElementById('roomidfield').textContent = data.context.roomId;
document.getElementById('groupidfield').textContent = data.context.groupId;
// openWindow call
document.getElementById('openwindowbutton').addEventListener('click', function () {
liff.openWindow({
url: 'https://line.me'
});
});
// closeWindow call
document.getElementById('closewindowbutton').addEventListener('click', function () {
liff.closeWindow();
});
// sendMessages call
document.getElementById('sendmessagebutton').addEventListener('click', function () {
liff.sendMessages([{
type: 'text',
text: "You've successfully sent a message! Hooray!"
}, {
type: 'sticker',
packageId: '2',
stickerId: '144'
}]).then(function () {
window.alert("Message sent");
}).catch(function (error) {
window.alert("Error sending message: " + error);
});
});
//get profile call
document.getElementById('getprofilebutton').addEventListener('click', function () {
liff.getProfile().then(function (profile) {
document.getElementById('useridprofilefield').textContent = profile.userId;
document.getElementById('displaynamefield').textContent = profile.displayName;
var profilePictureDiv = document.getElementById('profilepicturediv');
if (profilePictureDiv.firstElementChild) {
profilePictureDiv.removeChild(profilePictureDiv.firstElementChild);
}
var img = document.createElement('img');
img.src = profile.pictureUrl;
img.alt = "Profile Picture";
profilePictureDiv.appendChild(img);
document.getElementById('statusmessagefield').textContent = profile.statusMessage;
toggleProfileData();
}).catch(function (error) {
window.alert("Error getting profile: " + error);
});
});
}
function toggleProfileData() {
var elem = document.getElementById('profileinfo');
if (elem.offsetWidth > 0 && elem.offsetHeight > 0) {
elem.style.display = "none";
} else {
elem.style.display = "block";
}
}