ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

ChatGPT-Shortcut 账户管理全指南:Google 一键登录、免密登录与数据备份实战

ChatGPT-Shortcut 账户管理全指南:Google 一键登录、免密登录与数据备份实战 AI 应用提示工程人工智能前端【免费下载链接】ChatGPT-ShortcutStop writing prompts from scratch — a searchable prompt library for ChatGPT, Claude, Gemini and Cursor · Русский 한국어 العربية हिन्दी ไทย 别再从头写提示词现成的拿来就用好用的收进自己的库项目地址https://gitcode.com/gh_mirrors/ch/ChatGPT-Shortcut点击查看免费下载本篇指南系统讲解 ChatGPT-ShortcutAI Short的账户体系从密码登录、免密登录到 Google 一键登录的完整流程再到注册、修改资料、密码重置、等级体系以及最实用的提示词导出/导入备份方案。读完本文你将掌握该站点登录弹窗的完整操作路径理解其背后基于 Strapi 的认证 API 调用链并能熟练用 JSON 文件备份自己的提示词与收藏数据。登录方式AiShort 不登录也能正常使用提示词库但登录后才能收藏喜欢的提示词、创建自己的提示词、分享到社区并实现跨设备同步。登录弹窗由 src/components/user/login.tsx 实现提供「密码登录」和「免密登录」两种方式外加 Google 一键登录三者通过 Segmented 控件在同一弹窗内切换。密码登录用用户名或注册邮箱 密码登录。前端表单通过login接口提交对应源码 src/api/auth.ts 中的实现export async function login(values: { username: string; password: string }) { const response await apiClient.post(/auth/local, { identifier: values.username, // 兼容用户名或邮箱 password: values.password, }); clearUserCachesOnLogin(); // 清除旧用户的 USER_PROFILE 与 MySpace 缓存 return response; }后端为 Strapi 的/api/auth/local端点identifier字段同时支持用户名与邮箱。成功返回 JWT 后前端会把 token 写入localStorage的auth_token键见 src/api/client.ts 的persistAuthToken之后所有 API 请求通过 axios 请求拦截器自动附带Authorization: Bearer token头。免密登录免密登录适合不常登录的场景不用记密码。操作步骤如下切换到「免密登录」标签输入注册邮箱也可输入用户名点击「获取登录链接」——登录链接将发送至你的邮箱打开邮件中的链接即可完成登录前端发送链接的逻辑见 src/api/auth.tsexport async function sendPasswordlessLink(target: { email?: string }) { return await apiClient.post(/passwordless/send-link, target); }前端会先判断输入是否为邮箱格式再动态决定传{ email }还是{ username }见 src/components/user/login.tsx。点击邮件中的链接后前端携带loginToken调用GET /passwordless/login换取 JWT 并持久化src/api/auth.ts。Google 登录点击登录弹窗中的 Google 按钮弹出 520x570 的授权窗口完成一键登录首次登录会自动创建账户无需单独注册。其完整调用链为前端先通过getGoogleAuthUrl()获取 Google 授权 URLsrc/api/auth.ts弹窗跳转到该 URLGoogle 授权后重定向回站点登录页通过window.postMessage监听回调消息调用googleLogin(payload)完成认证src/components/user/login.tsx需要注意的是Google OAuth 的入口地址通过 src/api/config.ts 集中配置且通过USE_LEGACY_GAUTH开关支持新旧两套流程新版走 Strapi 原生/api/connect/google旧版走独立服务/strapi-google-auth/init/user-profile端点当前配置为USE_LEGACY_GAUTH false使用新版流程。这是因为主 API 服务器无法直连 Google需要独立的GAUTH_API_BASE服务当前为https://gauth.aishort.top作为中介。注册账户注册与登录共用同一弹窗流程为在登录弹窗点击「立即注册」切换到注册界面填写邮箱、用户名和密码并勾选同意「隐私政策」和「服务条款」未勾选会校验报错见 src/components/user/login.tsx提交后自动登录注册调用POST /auth/local/registersrc/api/auth.ts提交username、email、password三个字段。前端表单对密码有强制校验规则密码长度至少为 6 个字符且两次输入的密码必须一致见 src/components/user/login.tsx 的 validation rules。注册成功后handleSuccess会将 JWT 写入localStorage并向浏览器扩展发送window.postMessage({ action: login, ... })通知src/components/user/login.tsx随后自动刷新页面进入登录态。我的账户登录后点击导航栏的用户图标 →「我的账户」进入/user页面实现见 src/pages/user/index.tsx可统一管理资料、密码、等级和数据。页面加载时会通过getUserAllInfo()GET /api/users/me拉取最新用户信息未登录访问则会在 2 秒后自动跳回首页。修改用户名点击用户名旁的编辑图标输入新用户名后点保存即可。前端调用updateUsername(newUsername)接口保存成功后重新拉取用户信息刷新展示见 src/pages/user/index.tsx。修改密码输入当前密码输入新密码并确认点击「修改密码」提交对应源码 src/api/auth.tsexport async function changePassword(values: { currentPassword: string; newPassword: string; confirmPassword: string }) { await apiClient.post(/auth/change-password, { password: values.newPassword, currentPassword: values.currentPassword, passwordConfirmation: values.confirmPassword, }); return true; }注意源码细节修改密码表单只有在userInfo.provider local即密码注册的用户时才要求输入当前密码见 src/pages/user/index.tsxGoogle 登录用户不显示该项。忘记密码时在登录弹窗点击「忘记密码」输入注册邮箱后点「发送重置邮件」邮件中的重置链接会携带code参数跳转到/reset-password页面实现见 src/pages/reset-password.tsx填写新密码后调用POST /auth/reset-password完成重置成功后自动跳回首页。两条链路对应的后端端点分别是POST /auth/forgot-password与POST /auth/reset-passwordsrc/api/auth.ts。我的等级账户页左侧展示你的等级L0–L9、等级名称与升级进度条。等级由你分享到社区的提示词数量决定分享越多档位越高10 个级别的阈值曲线定义在 src/components/LevelSystem.tsxexport const LEVEL_THRESHOLDS [0, 1, 3, 8, 18, 35, 60, 100, 160, 260];即分享 1 条达到 L1青铜、3 条 L2白银、8 条 L3黄金、18 条 L4铂金、35 条 L5钻石、60 条 L6蓝宝石、100 条 L7红宝石、160 条 L8翡翠、260 条 L9星辉。进度条按sharedCount / 下一档阈值计算百分比达到 L9 后显示 MAX REACHED 状态见 src/pages/user/index.tsx。数据管理「我的账户 → 数据管理」区块src/pages/user/index.tsx提供三项数据操作清除缓存点击「清除所有缓存」并确认后前端会依次执行clearUserProfileCache()与clearMySpaceCache()同时清除浏览器localStorage中对应的缓存条目与 ETag随后重新拉取用户数据见 src/pages/user/index.tsx。适用场景数据不同步或显示异常时使用。收藏和自定义提示词不会丢——清除的只是本地缓存快照服务端数据完好强制重新同步后即可恢复正常显示。关于缓存的底层原理src/api/client.ts 中特别强调清除用户信息缓存时必须同步清除 ETag否则下次请求携带旧 ETag 时服务端可能命中并返回旧数据。登录/登出时同样会执行clearUserCachesOnLogin()src/api/auth.ts避免旧账号的缓存残留被新账号误读造成数据泄漏。导出提示词点击「导出数据」会将你的自定义提示词、收藏、MySpace 排序和自定义标签一起打包为一个 JSON 文件下载文件名形如my-prompts-2026-09-24.json。导出逻辑src/pages/user/index.tsx会批量拉取自建提示词userprompts、精选收藏cards与社区收藏commus的详情将收藏拆分为favorites.card与favorites.community两个 ID 数组同时附上favoriteDetails便于人工查看附带myspaceOrder空间排序与customTags自定义标签定义字段供本地离线版完整恢复布局导入提示词点击「导入数据」选择导出的 JSON 文件即可恢复。导入逻辑src/pages/user/index.tsx支持多种 JSON 结构数组、{ prompts, favorites }对象、单个提示词对象均可解析并智能处理三类情况ID 属于当前用户且内容相同跳过不产生重复ID 属于当前用户但内容已修改调用updatePrompt覆盖更新无 ID 或 ID 不属于当前用户submitPrompt新建为提示词他人 ID 强制share: false私密导入收藏部分采用合并模式通过patchFavorites增量写入loves.add/commLoves.add服务端 merge 保证多设备并发下无丢更新风险。源码注释明确指出联网版导入不恢复myspaceOrder与customTags——因为排序中的提示词 ID 属于源用户导入后新建的提示词会有新 ID无法一一对应而本地离线版可安全使用这些字段。导入完成后会自动refreshUserAuth()刷新 MySpace 数据。相关文档开始上手 —— 基本使用方法我的收藏 —— 收藏管理自定义提示词 —— 创建和管理导出备份详见其中「导出备份」小节赞分享AI 应用提示工程人工智能前端【免费下载链接】ChatGPT-ShortcutStop writing prompts from scratch — a searchable prompt library for ChatGPT, Claude, Gemini and Cursor · Русский 한국어 العربية हिन्दी ไทย 别再从头写提示词现成的拿来就用好用的收进自己的库项目地址https://gitcode.com/gh_mirrors/ch/ChatGPT-Shortcut点击查看免费下载相关推荐终极免费Switch模拟器Ryujinx在PC畅玩任天堂游戏的完整配置指南终极免费Switch模拟器Ryujinx在PC畅玩任天堂游戏的完整配置指南 Ryujinx是一款用C 编写的开源Nintendo Switch模拟器为PC用AI 应用提示工程人工智能前端ChatGPT-ShortcutAiShort账户体系详解Google 登录、免密链接登录与账户数据管理的源码级实现ChatGPT ShortcutAiShort账户体系详解Google 登录、免密链接登录与账户数据管理的源码级实现 ChatGPT ShortcutAAI 应用提示工程人工智能前端Meteor 用户与账户系统完全指南密码登录、无密码登录、2FA 与 OAuth 集成实战Meteor 用户与账户系统完全指南密码登录、无密码登录、2FA 与 OAuth 集成实战 导读 本文以 Meteor 官方教程 Users and Acc后端前端开发工具移动开发上一篇小米手环SDK如何用开源代码唤醒你的智能穿戴设备下一篇Svelte unresolved_hydratable 服务器警告解析hydratable 在 SSR 中悬而未决的原因、机制与修复方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表