## s-message
### s-message 是什么?
s-message (簡稱 sm )是一個 [消息/提醒] 的前端組件。
設計稿:https://lanhuapp.com/url/JtnKv (縮放800%時最清晰)
----
### 理念
s-message 只專注消息/通知組件本身,遵循 “少即是多,靈活即自由”的開發理念。輕量,來自于努力克制,不去做 websocket、IM 或 其它帶有業務屬性的功能,而是希望通過與其它組件進行 組合 的方式來完成需求 ;強大,來自于自由與靈活,支持在任何地方被靈活自由的使用,配置、參數靈活,能夠滿足任何普適或定制化的需求。?
----
### s-message 與 layer 的區別?
s-message 專注完整的消息提醒方案,layer.js 是功能強大的 彈窗/加載層/頁面層(也可以當做 message 提示用)方案,如果你需要的是交互類的彈窗可以使用 layer ,如果你需要完整的消息提醒方案可以使用 s-message。
----
### 概念說明:
#### 1. 屏幕區域
A: 瀏覽器可視區域,非 document頁面 高度和寬度
#### 2. 消息區塊
A: 每個提醒都有一個所屬的區塊,區塊就是 [屏幕區域] 的某一區域。
#### 3. 消息通道
A: 可以將消息以 [子消息] 發往某一 [消息通道] ,每個 [消息通道] 只有一個 [消息主體] 。通常類型比較固定單一的消息可以使用消息通道來進行 歸集/聚合。消息通道是全局唯一的。
#### 3. 消息主體
A: 一條 [普通消息提醒] 就是一個消息主體。
#### 4. 消息模板
A: 消息/提醒 由 模板和數據組成,通過自定義模板可以靈活的滿足多種多樣的業務需求,而不是局限于常規的消息提示。
#### 5. 消息類別
A: 根據業務可以將消息分類,如:通知類的,@類的,失敗通知,成功通知,警告等。默認 icon 參數即為消息類型。
#### 6. 消息ID
A: 消息可具有唯一性,用戶可以定義發生重復消息時的行為(如不重復彈出,而是高亮已有消息,并延長其時限)。
----
### 配置優先級
慣例配置 < 全局配置 < 實例配置 < 運行配置
全局配置會覆蓋慣例配置,全局有效,實例配置和運行配置不會影響全局配置,只對實體有效。
----
### 特性
* 擴展功能/能力
* favicon.ico? 紅點/數量控制
* 標題欄消息提示
* 瀏覽器原生通知
* 可定義有新消息時播放消息音樂
* 消息事件監聽(監聽全局消息/類型/通道/區塊 等各種消息)
* 交互:拖動,滑動,點擊等事件
* 理念
* 少即是多,靈活即自由
* 輕量,源自于克制
* 強大,得益于自由與靈活
* 組合,創造無限可能
----
last update: 2019-12-28