From 3c5b82158437aa1059533fb8795ad7a8132d7b82 Mon Sep 17 00:00:00 2001 From: fengsilin Date: Wed, 20 May 2026 15:22:13 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0=E7=99=BB=E5=BD=95=20?= =?UTF-8?q?Widget=20=E5=AE=9E=E6=96=BD=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 6 个 Task:项目骨架 → 样式 → LoginForm → 入口 → 构建集成 → E2E 验证 --- .../plans/2026-05-20-login-widget.md | 596 ++++++++++++++++++ 1 file changed, 596 insertions(+) create mode 100644 docs/superpowers/plans/2026-05-20-login-widget.md 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) |
+| `