DAY13 样板完成_程序码

from linebot.models.responses import Content
import requests
from abc import ABC, abstractmethod
from linebot.models import TemplateSendMessage, ButtonsTemplate, PostbackAction, MessageAction, URIAction, CarouselColumn, CarouselTemplate, PostbackTemplateAction, FlexSendMessage
from bs4 import BeautifulSoup

class Message(ABC):
    def __init__(self):
        pass

    @abstractmethod
    def content(self):
        pass

# 「功能列表」按钮样板讯息
class Featuresmodel():
    def content(self):
        flex_message = FlexSendMessage(
            alt_text='hello',
            contents={
                "type": "bubble",
                "header": {
                    "type": "box",
                    "layout": "vertical",
                    "contents": [
                        {
                            "type": "text",
                            "text": "功能列表",
                            "size": "lg",
                            "color": "#ffffff"
                        }
                    ],
                    "backgroundColor": "#0066ff"
                },
                "body": {
                    "type": "box",
                    "layout": "vertical",
                    "contents": [
                        {
                            "type": "button",
                            "action": {
                                "type": "postback",
                                "label": "注册",
                                "data": "注册",
                            },
                            "margin": "sm",
                            "color": "#0066ff",
                            "style": "primary"
                        },
                        {
                            "type": "button",
                            "action": {
                                "type": "postback",
                                "label": "签到",
                                "data": "签到",
                            },
                            "color": "#0066ff",
                            "style": "primary",
                            "margin": "sm"
                        },
                        {
                            "type": "button",
                            "action": {
                                "type": "postback",
                                "label": "专案进度",
                                "data": "专案进度",
                            },
                            "color": "#0066ff",
                            "margin": "sm",
                            "style": "primary"
                        },
                        {
                            "type": "button",
                            "action": {
                                "type": "postback",
                                "label": "本日尚未签到",
                                "data": "本日尚未签到"
                            },
                            "color": "#0066ff",
                            "style": "primary",
                            "margin": "sm"
                        },
                        {
                            "type": "button",
                            "action": {
                                "type": "postback",
                                "label": "时刻表",
                                "data": "时刻表"
                            },
                            "color": "#0066ff",
                            "style": "primary",
                            "margin": "sm"
                        }
                    ]
                }
            }

        )

        return flex_message

第一个参数"type": "bubble"可以想像成我们在创造一个 FlexMessage 的框架,接下来所有的基本架构都会放在这个框架里。当然,也不是说这四样基本架构通通都要放进去。如果你的 FlexMessage 需要一个"header",那就放进去"header"。如果你的 FlexMessage 不需要"footer",那就不用放进去。
  有了这四个基本架构之後,就可以根据你的设计,继续在"header"、"hero"、"body"、"footer"中放入相对应的元素。这些元素也通通都是由字典物件所组成,常用的如'box'、'image'、'text'、'separator'、'button'等等

Buttons template

  • type: 定义此 message 的属性
  • altText: 使用者收到通知出现的字样
  • thumbnailImageUrl: 图片网址
  • imageAspectRatio: 图片比例有两种,预设为 rectangle
    • rectangle: 1.51:1
    • square: 1:1
  • imageSize: 图片大小有两种,预设为 cover
    • cover:图像填充整个图像区域。
    • contain:整个图像显示在图像区域中。
  • imageBackgroundColor: 图像的背景颜色配合 imageSize 的 contain
  • title: 标题显示的文字
  • text: 标题内容的文字
  • defaultAction: 预设功能,简单来说就是点击其他不是 button 区域的时候会做什麽
  • actions: 决定下面 button 几个以及分别的功能

今天的歌曲是 周杰伦-星晴 Starry Mood
https://www.youtube.com/watch?v=sTNJsIcPSvE&list=PLFl6Na2uUoOZBEhBtQ_jeGA4P1V20JvpW&index=12&ab_channel=%E5%91%A8%E6%9D%B0%E5%80%ABJayChou


<<:  架站:部属网站环境

>>:  Day22 影像辨识实作

[面试][资料库]设计资料库时会考量哪些点?

好的设计让你上天堂,烂的设计让你下地狱。 如果公司有专门的 DBA,後端工程师就可以把心力放在资料...

Day13罐头变身日本料理-鳗鱼盖饭

有小夥伴提到自己住,家里没有微波炉跟烤箱,也只有小冰箱,平常无法放太多东西,但又想做出有点仪式感的菜...

DAY5 - Side Project 主题:90天原子习惯挑战

荀子劝学篇中有一段是这样的: 「积土成山,风雨兴焉;积水成渊,蛟龙生焉;.....。故不积蹞步,无以...

iOS APP 开发 OC 第六天, 练习实作一个类

tags: OC 30 day 题目 请依照题目实作一个类: 类名:手机(Phone) 属性:颜色(...

DAY25-问答页面设计

前言: 几个基本的页面都设计得差不多啦~这次的挑战也快接近尾声了!今天就让阿森来介绍一个有点小特效...