# 登录 Widget 实施计划 > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. **Goal:** 将现有前端登录表单封装为独立的 JS Widget,嵌入方通过 `



```

- [ ] **Step 3: 浏览器打开测试页面,验证**

- 页面加载后应看到带用户名/密码输入框的登录表单
- 输入错误密码应显示错误信息
- 输入正确密码应触发 `onSuccess` 回调,显示用户数据
- Shadow DOM 内样式应正常,不影响页面其他元素

- [ ] **Step 4: 清理测试文件**

```bash
rm test-widget.html
```

- [ ] **Step 5: 最终提交**

```bash
git add web/widget/ web/dist/static/login-widget.js
git commit -m "feat(widget): 完成登录 Widget v1(密码登录,Shadow DOM 隔离)"
```

---

## Self-Review 检查

### 1. Spec 覆盖
| Spec 要求 | 对应 Task |
|-----------|----------|
| UMD 打包,全局暴露 `NewApiLoginWidget` | Task 1 (vite.config.js), Task 4 (index.jsx) |
| `