接入聊天主页面
一、如何安全接入这个聊天主页面
- 通过登录api
user/login
获得id和token - 返回json到前端,
- 前端拼接url
- /chat/index.shtml?id=1&token=123
- 通过location.href 跳转
service登录函数实现思路
service登录函数实现代码
// 登录函数
func (s *UserService) Login(mobile, plainpwd string) (user model.User, err error) {
//首先通过手机号查询用户
tmp := model.User{}
DbEngin.Where("mobile=?", mobile).Get(&tmp)
//如果用户没有找到
if tmp.Id == 0 {
return tmp, errors.New("该用户不存在")
}
//查询到了比对密码
if !util.ValidatePasswd(plainpwd, tmp.Salt, tmp.Passwd) {
return tmp, errors.New("密码不正确")
}
//比对密码是否正确
//刷新token,安全
str := fmt.Sprintf("%d", time.Now().Unix())
token := util.MD5Encode(str)
tmp.Token = token
//修改token,指定修改的字段
DbEngin.ID(tmp.Id).Cols("token").Update(&tmp)
//返回数据
return tmp, nil
}
控制器里实现对service层代码的调用及逻辑处理
前端对返回的结果集进行拼接
运行完对结果进行测试,登录成功进行弹框url地址
查看接口相应的返回数据
修改成功之后进行跳转页面,直接进行跳转
用户名密码输入正确,跳转效果图
如上图,就已经完成了跳转,而且传递了参数,完成了接入