[模板开发]用户登录/注册模板开发

这一套模板对应三个页面:

  • 登录页
  • 注册页
  • 找回密码页

模板目录固定放在:

view/index/login/模板名/

最少保留 login.htmlregister.htmlforgot.html。建议也放一个 template.json,方便后台列表展示。

1. 三个页面共用的变量

变量说明
site网站基础配置
user_login_enabled是否允许登录
user_register_enabled是否允许注册
forgot_password_enabled是否允许找回密码
user_captcha_enabled是否启用验证码
security_provider验证码方式,internal 或 geetest
security_captcha_type内置验证码类型,mathnumberalnum
register_need_email注册是否需要邮箱
register_username_visible注册页是否显示用户名输入框
register_email_code_enabled注册时是否启用邮箱验证码

2. 三个页面分别要哪些字段

登录页建议保留:

  • username
  • password
  • captcha
  • security_token

注册页建议保留:

  • username
  • email
  • email_code
  • password
  • password_confirm
  • captcha
  • security_token

找回密码页建议保留:

  • email
  • email_code
  • password
  • password_confirm
  • captcha
  • security_token

如果验证码类型是极验,就按极验组件的那套字段提交即可;如果是内置验证码,就保留 captcha 和 security_token

3. 验证码怎么接

内置验证码会走 /user/captcha。它的返回会根据后台配置变化:

{
  "code": 200,
  "msg": "ok",
  "data": {
    "provider": "internal",
    "type": "math",
    "token": "9f2a0f9c6c1b4c7c9d3a8f1d4f2a6b6c",
    "question": "3 + 5 = ?",
    "placeholder": "请输入答案"
  }
}

如果是图片型验证码,接口会返回:

{
  "code": 200,
  "msg": "ok",
  "data": {
    "provider": "internal",
    "type": "number",
    "image_url": "/user/captchaImage",
    "placeholder": "请输入验证码"
  }
}

/user/captchaImage 不返回 JSON,它直接返回图片流,页面里当成图片地址使用就行。

如果验证码方式是极验,/user/captcha 返回的就是极验初始化数据。页面只要把这份数据交给极验组件渲染即可。

4. 后端接口返回示例

接口返回示例
POST /user/doLogin{"code":200,"msg":"登录成功","user":{...}}
POST /user/doRegister{"code":200,"msg":"注册成功","user":{...}}
POST /user/resetPassword{"code":200,"msg":"密码重置成功,请重新登录"}
POST /user/sendEmailCode{"code":200,"msg":"验证码已发送","data":{"interval":180}}
GET /user/captcha{"code":200,"msg":"ok","data":{...}}
GET /user/captchaImage图片流,Content-Type: image/png 或 image/jpeg

常见失败返回也很固定:

{ "code": 201, "msg": "参数错误" }
{ "code": 429, "msg": "操作太频繁,请稍后再试" }
{ "code": 405, "msg": "Method not allowed" }
© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容