Parse Server 如何翻译邮件确认和密码重置相关跳转页面
Parse Server 邮件确认/密码重置跳转页面本地化方案
你可以通过以下两种官方支持的途径修改点击邮件链接后跳转的页面内容,实现翻译需求:
方案1:直接传入自定义HTML内容
在Parse Server初始化配置的customPages字段中,直接传入对应场景的中文HTML字符串即可,无需修改源码:
const parseServer = new ParseServer({ // 其他原有配置项(数据库、AppID、MasterKey等保持不变) customPages: { // 邮箱验证成功页 verifyEmailSuccess: `<!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><title>邮箱验证成功</title></head> <body> <h1>邮箱验证完成</h1> <p>您的账号已激活,可直接登录使用服务。</p> </body> </html>`, // 邮箱验证失败页(链接过期/无效场景) verifyEmailError: `<!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><title>验证失败</title></head> <body> <h1>验证失败</h1> <p>当前验证链接已过期或无效,请重新发送验证邮件后再尝试。</p> </body> </html>`, // 密码重置表单页(用户点击重置链接首先进入的页面) passwordReset: `<!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><title>重置密码</title></head> <body> <h1>设置新密码</h1> <form method="post"> <input type="password" name="password" placeholder="请输入新密码" required> <input type="password" name="passwordAgain" placeholder="请再次输入新密码" required> <button type="submit">确认重置</button> </form> </body> </html>`, // 密码重置成功页 passwordResetSuccess: `<!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><title>重置成功</title></head> <body> <h1>密码重置成功</h1> <p>您的密码已更新,可使用新密码登录。</p> </body> </html>`, // 密码重置失败页(链接过期/无效场景) passwordResetError: `<!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><title>重置失败</title></head> <body> <h1>重置失败</h1> <p>当前重置链接已过期或无效,请重新申请密码重置后再尝试。</p> </body> </html>` } })
你可以根据业务需求自由调整HTML的样式和内容,也可以对接自己的模板引擎提前渲染好对应语言的HTML字符串再传入。
方案2:配置本地页面文件夹路径
如果多语言版本较多,你可以提前将不同语言的页面文件存放到指定文件夹,在初始化时配置customPagesPath指向对应语言的文件夹即可:
const parseServer = new ParseServer({ // 其他原有配置项 customPagesPath: './public/parse-pages/zh-cn' // 替换为你的中文页面存放路径 })
你需要在指定路径下准备好以下命名的HTML文件:
verify_email_success.html:邮箱验证成功页verify_email_error.html:邮箱验证失败页password_reset.html:密码重置表单页password_reset_success.html:密码重置成功页password_reset_error.html:密码重置失败页
需要切换语言时,只需将customPagesPath指向对应语言的文件夹即可。
若需要根据用户地域动态返回不同语言的页面,可在Parse Server前增加反向代理层,拦截
/apps/[你的AppID]/verify_email、/apps/[你的AppID]/request_password_reset等路径,自行处理多语言逻辑后返回对应页面。
内容的提问来源于stack exchange,提问作者Philippe
相关产品推荐
相关产品推荐

