# 配置 mm Pendant 挂件

## 规则（Rules）

- pendant.json 位于 `app/{模块名}/pendant/{挂件名}/pendant.json`
- `name` 全局唯一，与目录名一致，小写蛇形
- `main` 指向挂件脚本文件（相对于 pendant.json）
- 每个挂件包含 3 个文件：`pendant.json` + `pendant.js` + `pendant.html`

## 方法（Methods）

### 步骤1：创建目录

```
app/{模块名}/pendant/{挂件名}/
├── pendant.json
├── pendant.js
└── pendant.html
```

### 步骤2：编写 pendant.json

```json
{
    "name": "article_list",
    "title": "文章列表",
    "description": "显示最新文章列表",
    "main": "./pendant.js",
    "state": 1
}
```

### 步骤3：注册挂件

在所属 App 的 `_init` 方法中注册：

```javascript
$.pendant = $.admin.pendant('app名', '挂件标题');
await $.pendant.call('update', 'app/');
```

注册后，挂件即可在模板中通过 `<!-- #挂件名 -->` 插入点引用。

### 步骤4：验证

检查日志确认挂件初始化成功，访问页面确认挂件渲染正常。

## 技巧（Tips）

- `state: 1` 启用，`state: 0` 禁用
- 挂件名用小写蛇形，与目录名一致
- 常见挂件类型：文章列表、轮播图、二维码、评论、排行榜
- 参考实现：`app/home/pendant/` 下已有挂件示例
