Skip to main content
Glama

Open MCP

by metacode0602
SUBMIT_FORM_AUTH_FEATURES.md2.92 kB
# 提交表单认证功能实现 ## 功能概述 为应用提交页面实现了完整的用户认证和表单数据保存功能,确保用户在未登录状态下上传logo时能够获得良好的用户体验。 ## 主要功能 ### 1. 登录验证 - 用户选择logo文件时自动检查登录状态 - 未登录用户会被重定向到登录页面 - 登录成功后自动返回提交页面 ### 2. 表单数据自动保存 - 实时保存用户输入的表单数据到localStorage - 数据包含24小时过期时间,确保数据安全 - 支持所有表单字段的自动保存和恢复 ### 3. 智能数据恢复 - 页面加载时自动检测并恢复之前保存的表单数据 - 登录成功后自动恢复表单状态 - 显示友好的提示信息告知用户数据已恢复 ### 4. 自动logo上传 - 登录成功后自动处理待上传的logo文件 - 无需用户重新选择文件 - 显示上传进度和结果提示 ### 5. 用户体验优化 - 清晰的登录提示和引导 - 友好的成功/错误消息 - 自动清理过期和成功提交的数据 - 支持取消操作时清理数据 ## 技术实现 ### 工具函数 (utils.ts) ```typescript // 保存表单数据 saveFormData(formData: Record<string, any>, key?: string) // 获取保存的表单数据 getFormData(key?: string): Record<string, any> | null // 清除保存的表单数据 clearFormData(key?: string) ``` ### 主要组件修改 1. **提交页面** (`apps/web/src/app/(web)/submit/page.tsx`) - 添加登录状态检查 - 实现表单数据自动保存和恢复 - 添加登录后自动上传功能 2. **认证视图** (`apps/web/src/app/auth/[pathname]/view.tsx`) - 支持重定向参数 - 使用自定义登录表单处理重定向 3. **工具函数** (`apps/web/src/lib/utils.ts`) - 添加表单数据管理函数 ## 用户体验流程 ### 未登录用户上传logo 1. 用户填写表单并选择logo文件 2. 系统检测到用户未登录 3. 显示登录提示并保存表单数据 4. 跳转到登录页面,设置重定向回提交页面 5. 用户完成登录后自动返回 6. 自动恢复表单数据并继续上传logo ### 已登录用户 1. 用户填写表单并选择logo文件 2. 直接上传logo文件 3. 显示上传进度和结果 ### 数据恢复 1. 用户重新访问提交页面 2. 系统检测到保存的表单数据 3. 自动恢复所有表单字段 4. 显示友好的恢复提示 ## 安全考虑 - 表单数据24小时后自动过期 - 提交成功后自动清除保存的数据 - 使用localStorage确保数据仅在用户浏览器中存储 - 不保存敏感信息,仅保存表单字段数据 ## 错误处理 - 文件类型和大小验证 - 上传失败时的友好错误提示 - 网络错误时的重试机制 - 登录失败时的引导提示 ## 兼容性 - 支持所有现代浏览器 - 优雅降级处理localStorage不可用的情况 - 响应式设计适配各种设备

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/metacode0602/open-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server