接入聊天主页面

一、如何安全接入这个聊天主页面

  1. 通过登录api user/login 获得id和token
  2. 返回json到前端,
  3. 前端拼接url
  4. /chat/index.shtml?id=1&token=123
  5. 通过location.href 跳转

service登录函数实现思路

18、接入聊天主页面 - 图1

service登录函数实现代码

18、接入聊天主页面 - 图2

  1. // 登录函数
  2. func (s *UserService) Login(mobile, plainpwd string) (user model.User, err error) {
  3. //首先通过手机号查询用户
  4. tmp := model.User{}
  5. DbEngin.Where("mobile=?", mobile).Get(&tmp)
  6. //如果用户没有找到
  7. if tmp.Id == 0 {
  8. return tmp, errors.New("该用户不存在")
  9. }
  10. //查询到了比对密码
  11. if !util.ValidatePasswd(plainpwd, tmp.Salt, tmp.Passwd) {
  12. return tmp, errors.New("密码不正确")
  13. }
  14. //比对密码是否正确
  15. //刷新token,安全
  16. str := fmt.Sprintf("%d", time.Now().Unix())
  17. token := util.MD5Encode(str)
  18. tmp.Token = token
  19. //修改token,指定修改的字段
  20. DbEngin.ID(tmp.Id).Cols("token").Update(&tmp)
  21. //返回数据
  22. return tmp, nil
  23. }

控制器里实现对service层代码的调用及逻辑处理 18、接入聊天主页面 - 图3

前端对返回的结果集进行拼接

18、接入聊天主页面 - 图4

运行完对结果进行测试,登录成功进行弹框url地址 18、接入聊天主页面 - 图5

查看接口相应的返回数据 18、接入聊天主页面 - 图6

修改成功之后进行跳转页面,直接进行跳转 18、接入聊天主页面 - 图7

用户名密码输入正确,跳转效果图 18、接入聊天主页面 - 图8

如上图,就已经完成了跳转,而且传递了参数,完成了接入