Canvas Server — HTML/SVG 截图服务

PUT  /{name}                           存储内容(body=HTML/SVG)
GET  /{name}                           返回原始内容
GET  /{name}/{w}-{h}/{fmt}            渲染图片(fmt: png|jpg|webp,默认 png)
GET  /{name}?selector={sel}[/{fmt}]   元素精确裁剪(CDP 自动定位)
GET  /health                           健康检查

元素裁剪:裸词自动尝试 #id → tag → .class。
    ?selector=card      找 id="card" 或 <card> 或 class="card"
    ?selector=card/png  裁剪 card,格式 PNG
    ?selector=card/jpg  裁剪 card,格式 JPG

鉴权:OAUTH_ENABLED=true 时,需在 Authorization 头传 Bearer token。
    curl -H "Authorization: Bearer <token>" http://...

环境变量:
  CANVAS_LISTEN     监听地址(默认 :9400)
  CANVAS_TMP_DIR    临时目录(默认 /tmp/canvas-server)
  CHROMIUM_BIN      Chromium 路径(默认 /opt/chrome-headless-shell/...)
  OAUTH_ENABLED     是否开启 OAuth 鉴权(true/false)
  OAUTH_VERIFY_URL  OAuth 验签接口地址

认证实现:internal/handler/handler.go → verifyToken() 调用 OAuth /api/verify