diff --git a/docs/superpowers/plans/2026-05-20-login-widget.md b/docs/superpowers/plans/2026-05-20-login-widget.md new file mode 100644 index 0000000..d2aa3cf --- /dev/null +++ b/docs/superpowers/plans/2026-05-20-login-widget.md @@ -0,0 +1,596 @@ +# 登录 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) |
+| `