iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 16
0
Modern Web

用Vue實作一個LINE@聊天機器人後台系列 第 16

[Day16] LIFF - 實作一個代送訊息小工具

  • 分享至 

  • xImage
  •  

昨天有提到,LIFF的APP有具有傳送訊息的功能,
他可以接受的訊息類型有以下幾種:

  • 文字Text
  • 圖片Image
  • 影片Video
  • 聲音Audio
  • 位置Location
  • 範本Template(按鈕動作只能使用連結按鈕)
  • 彈性Flex Message
    今天我們來寫一個簡單的LIFF,可以接收Flex Message作為參數,傳送自由的訊息內容。

代送訊息小工具連結:
line://app/1564168613-b14rQjQJ

# 發送訊息的語法
# 傳送訊息物件的陣列當作參數
liff.sendMessages(messages)

設計一個表單,
含有TextArea跟Submit按鈕:
Style.css

#app{
  overflow: hidden; 
  height: 100vh;    
  background-image: linear-gradient(to bottom, #ffffff 60%, #dee2e6 80%);
}

這邊使用eval把輸入的JSON宣告為JS的變數
Index.vue

var app = new Vue({
  el: "#app",
  methods:{
    sendMsg(){
      eval( 'var msg = ' +$('#message').val()+';');   
      liff.sendMessages(msg);

    }
  }
});

Imgur
輸入訊息物件:

[{
  "type": "flex",
  "altText": "Flex Message",
  "contents": {
    "type": "bubble",
    "hero": {
      "type": "image",
      "url": "https://i.imgur.com/8p1dr8o.png",
      "size": "full",
      "aspectRatio": "4:3",
      "aspectMode": "cover",
      "backgroundColor": "#FBF3D9",
      "action": {
        "type": "uri",
        "label": "Action",
        "uri": "https://linecorp.com"
      }
    },
    "body": {
      "type": "box",
      "layout": "vertical",
      "spacing": "md",
      "action": {
        "type": "uri",
        "label": "Action",
        "uri": "https://linecorp.com"
      },
      "contents": [
        {
          "type": "text",
          "text": "❤❤祝親愛的阿君生日快樂❤❤",
          "size": "md",
          "align": "center",
          "color": "#1D1203",
          "wrap": true
        }
      ]
    },
    "styles": {
      "body": {
        "backgroundColor": "#FFFFFF"
      }
    }
  }
}]

Imgur
訊息就會傳送在你點開這個LIFF的聊天視窗中
Imgur


上一篇
[Day15] LIFF - LINE Front-end Framework介紹&實作
下一篇
[Day17] LinePay串接
系列文
用Vue實作一個LINE@聊天機器人後台30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言