64 lines
1.2 KiB
Go
64 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
|
|
"github.com/line/line-bot-sdk-go/v7/linebot"
|
|
)
|
|
|
|
func ApiSelectSales(event *linebot.Event) {
|
|
args := strings.Split(event.Postback.Data, "&")
|
|
data := strings.TrimPrefix(args[0], "sales=")
|
|
pname := strings.TrimPrefix(args[1], "purchase=")
|
|
|
|
sales := &Sales{}
|
|
DB.First(sales, "name = ?", data)
|
|
|
|
tmp, _ := linebot.UnmarshalFlexMessageJSON([]byte(
|
|
fmt.Sprintf(greet, sales.Img, sales.Name, "很高興為您服務!"),
|
|
))
|
|
msg := linebot.NewFlexMessage("很高興為您服務!", tmp)
|
|
sticker := linebot.NewStickerMessage("1070", "17852")
|
|
SendMessage(event.ReplyToken, event.Source.UserID, msg, sticker)
|
|
|
|
prod := &Product{}
|
|
DB.First(prod, "name = ?", pname)
|
|
go func() {
|
|
// sales called and start proccess
|
|
SendMessage("", event.Source.UserID)
|
|
|
|
// proccessing
|
|
|
|
//proccess complete
|
|
}()
|
|
|
|
}
|
|
|
|
var greet string = `
|
|
{
|
|
"type": "bubble",
|
|
"hero": {
|
|
"type": "image",
|
|
"url": "%v",
|
|
"size": "full"
|
|
},
|
|
"body": {
|
|
"type": "box",
|
|
"layout": "vertical",
|
|
"contents": [
|
|
{
|
|
"type": "text",
|
|
"text": "你好! 我是%v",
|
|
"weight": "bold",
|
|
"size": "xl"
|
|
},
|
|
{
|
|
"type": "text",
|
|
"text": "%v"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
`
|