18、接入聊天主页面

文章描述了如何通过后端服务的login函数安全地进行用户登录,包括查询用户、验证密码、生成token并更新数据库。前端通过获取返回的id和token,拼接URL进行页面跳转,完成用户登录并展示登录成功的界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 通过登录api user/login 获得id和token

service登录函数实现思路

  1. 返回json到前端,
    • 前端拼接url
    • /chat/index.shtml?id=1&token=123
    • 通过location.href 跳转

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

service登录函数实现代码

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

// 登录函数
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层代码的调用及逻辑处理 

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

 

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

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

运行完对结果进行测试,登录成功进行弹框url地址 

 

查看接口相应的返回数据 

修改成功之后进行跳转页面,直接进行跳转 

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

用户名密码输入正确,跳转效果图 

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值