## 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