2022-12-13 04:19:27 +00:00
window . onload = function ( _0xe315c8 ) {
liff
. init ( {
liffId : '1657715144-m4W6lyjL' , // Use own liffId
} )
. then ( ( ) => {
if ( ! liff . isLoggedIn ( ) ) {
liff . login ( ) ;
} else {
getP ( ) ;
}
} ) ;
} ;
function getP ( ) {
var type = getParameterByName ( "type" ) ;
if ( ! type ) {
document . getElementById ( "textx" ) . addEventListener ( "click" , function ( ) {
const data = [ {
type : "text" ,
"text" : atob ( "bGluZTovL2FwcC8xNTk5NzA2MzkxLVh3a0JMNzg5P3R5cGU9dGV4dCZ0ZXh0PVlvdXIlMjBUZXh0DQoNCnR5cGUgPT4gdGV4dA0KdGV4dCA9PiB5b3VyIHRleHQ=" )
} ] ;
sendMessages ( data ) ;
} ) ;
document . getElementById ( "imagex" ) . addEventListener ( "click" , function ( ) {
const data = [ {
"type" : "text" ,
2022-12-13 04:24:21 +00:00
"text" : ( "https://liff.line.me/1657715144-m4W6lyjL?type=image&img=https://wallpaperstudio10.com/static/wpdb/wallpapers/1000x563/168891.jpg\n\ntype => image\nimg => Link (must be HTTPS)" )
2022-12-13 04:19:27 +00:00
} ] ;
sendMessages ( data ) ;
} ) ;
document . getElementById ( "videox" ) . addEventListener ( "click" , function ( ) {
const data = [ {
"type" : "text" ,
2022-12-13 04:24:21 +00:00
"text" : ( "https://liff.line.me/1657715144-m4W6lyjL?type=video&ocu=https://tinyurl.com/y8og3or5&piu=https://images6.alphacoders.com/710/thumb-350-710132.png\n\ntype => video\nocu => video url\npiu => preview image" )
2022-12-13 04:19:27 +00:00
} ] ;
sendMessages ( data ) ;
} ) ;
document . getElementById ( "audiox" ) . addEventListener ( "click" , function ( ) {
const data = [ {
"type" : "text" ,
2022-12-13 04:24:21 +00:00
"text" : ( "https://liff.line.me/1657715144-m4W6lyjL?type=audio&link=https://platelets.fun/public/sounds/music.mp3" )
2022-12-13 04:19:27 +00:00
} ] ;
sendMessages ( data ) ;
} ) ;
document . getElementById ( "stickerx" ) . addEventListener ( "click" , function ( ) {
const data = [ {
"type" : "text" ,
2022-12-13 04:24:21 +00:00
"text" : ( "With Animation:\nhttps://liff.line.me/1657715144-m4W6lyjL?type=sticker&stk=anim&sid=32128231&pkg=3099312\n\nNo Animation:\nhttps://liff.line.me/1657715144-m4W6lyjL?type=sticker&stk=noanim&sid=32128231&pkg=3099312\n\ntype => sticker\nstk => anim / noanim\nsid => sticker id\npkg => packages id" )
2022-12-13 04:19:27 +00:00
} ] ;
sendMessages ( data ) ;
} ) ;
} else {
makeText ( ) ;
makeImage ( ) ;
makeVideo ( ) ;
makeAudio ( ) ;
makeSticker ( ) ;
meProfile ( ) ;
}
}
function getParameterByName ( stringParam , window _href ) {
const URLscheme = { } ;
let urlsearch = window . location . search ;
if ( urlsearch . indexOf ( "?" ) !== - 1 ) {
let str = urlsearch . substring ( 1 ) ;
let strs = str . split ( "&" ) ;
for ( let i = 0 ; i < strs . length ; i ++ ) {
URLscheme [ strs [ i ] . split ( "=" ) [ 0 ] ] = decodeURIComponent ( strs [ i ] . split ( "=" ) [ 1 ] ) ;
}
}
return URLscheme [ stringParam ] ;
}
function getProfile ( ) {
liff . getProfile ( ) . then ( function ( data ) {
document . getElementById ( "userid" ) . textContent = "Hai " + data . displayName ;
document . getElementById ( "main" ) . src = data . pictureUrl ;
document . getElementById ( "close" ) . addEventListener ( "click" , function ( ) {
liff . closeWindow ( ) ;
} ) ;
} ) ;
}
function makeText ( ) {
var type = getParameterByName ( "type" ) ;
if ( type === "text" ) {
const data = [ {
"type" : "text" ,
"text" : getParameterByName ( "text" )
} ] ;
sendMessages ( data ) ;
}
}
function makeImage ( ) {
var type = getParameterByName ( "type" ) ;
if ( type === "image" ) {
const data = [ {
"type" : "image" ,
"originalContentUrl" : getParameterByName ( "img" ) ,
"previewImageUrl" : getParameterByName ( "img" )
} ] ;
sendMessages ( data ) ;
}
}
function makeVideo ( ) {
var type = getParameterByName ( "type" ) ;
if ( type === "video" ) {
const data = [ {
"type" : "video" ,
"originalContentUrl" : getParameterByName ( "ocu" ) ,
"previewImageUrl" : getParameterByName ( "piu" )
} ] ;
sendMessages ( data ) ;
}
}
function makeAudio ( ) {
var type = getParameterByName ( "type" ) ;
if ( type === "audio" ) {
const data = [ {
"type" : "audio" ,
"originalContentUrl" : getParameterByName ( "link" ) ,
"duration" : 60000
} ] ;
sendMessages ( data ) ;
}
}
function makeSticker ( ) {
var type = getParameterByName ( "type" ) ;
if ( type === "sticker" ) {
var stk = getParameterByName ( "stk" ) ;
var sid = getParameterByName ( "sid" ) ;
var pkg = getParameterByName ( "pkg" ) ;
var pngtype = "" ;
if ( stk === "anim" ) {
pngtype = "/IOS/sticker_animation@2x.png" ;
} else {
pngtype = "/IOS/sticker@2x.png" ;
}
const data = [ {
"type" : "template" ,
"altText" : "Sticker" ,
"template" : {
"type" : "image_carousel" ,
"columns" : [ {
"imageUrl" : "https://stickershop.line-scdn.net/stickershop/v1/sticker/" + sid + pngtype ,
"action" : {
"type" : "uri" ,
"uri" : "line://shop/sticker/detail/" + pkg
}
} ]
}
} ] ;
sendMessages ( data ) ;
}
}
function meProfile ( ) {
var type = getParameterByName ( "type" ) ;
liff . getProfile ( ) . then ( function ( data ) {
var statusMessage = data . statusMessage ;
if ( statusMessage == null ) {
var statusMessage = "" ;
}
if ( statusMessage . length > 60 ) {
var statusMessage = "Status Message is to long! Max 60 words" ;
}
if ( type === "profile" ) {
const data = [ {
"type" : "template" ,
"altText" : "Profile " + data . displayName ,
"template" : {
"type" : "buttons" ,
"thumbnailImageUrl" : data . pictureUrl ,
"imageAspectRatio" : "square" ,
"imageSize" : "cover" ,
"title" : data . displayName ,
"text" : statusMessage ,
"actions" : [ {
"type" : "uri" ,
"label" : "Me" ,
2022-12-13 04:24:21 +00:00
"uri" : "https://liff.line.me/1657715144-m4W6lyjL?type=profile"
2022-12-13 04:19:27 +00:00
} ]
}
} ] ;
sendMessages ( data ) ;
}
} ) ;
}
function sendMessages ( data ) {
if ( liff . isInClient ( ) ) {
liff . sendMessages ( data ) . then ( function ( ) {
liff . closeWindow ( ) ;
} ) . catch ( function ( error ) {
console . error ( ` [Line] textx: ${ error } ` ) ;
document . getElementById ( "error" ) . innerHTML = ` [Line] textx: ${ error } ` ;
} ) ;
} else {
if ( liff . isApiAvailable ( "shareTargetPicker" ) ) {
liff . shareTargetPicker ( data ) . then ( function ( res ) {
liff . closeWindow ( ) ;
} ) . catch ( function ( error ) {
console . error ( ` [Line] textx: ${ error } ` ) ;
document . getElementById ( "error" ) . innerHTML = ` [Line] textx: ${ error } ` ;
} ) ;
} else {
document . getElementById ( "error" ) . innerHTML = ` 你的 LINE App 暫時不支援 Share Target Picker ` ;
}
}
}