当前位置: 首页 > news >正文

佛山专业网站建设价格连云港今天的新消息

佛山专业网站建设价格,连云港今天的新消息,wordpress安装完怎么用,系统之家一键重装系统之前我们是通过前端自动生成的token信息&#xff0c;这次我们通过注册登录&#xff0c;保存到本地去实现。首先&#xff0c;我们实现一个登录页面&#xff0c;放在templates目录下。 <!DOCTYPE html> <html lang"en"> <head><meta charset&quo…

之前我们是通过前端自动生成的token信息,这次我们通过注册登录,保存到本地去实现。首先,我们实现一个登录页面,放在templates目录下。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
</head>
<body>
<div><p><input id="username" placeholder="用户名"></p><p><input id="password" placeholder="密码" type="password"></p><button id="login">登录</button>
</div>
<script>$('#login').click(function () {$.ajax({type: "post",url: "/token",contentType: "application/json; charset=utf-8",data: JSON.stringify({email: $("#username").val(),password: $("#password").val()}),success: function (data) {if (data['msg'] == "success") {window.localStorage.setItem("token", data['token'])window.location.href="/"}else {alert(data['msg'])}}})})
</script>
</body>
</html>

我们在后端去编写一个返回静态文件的页面,一个返回token的方法

def get_user_by_email(db: Session, email: str):user = db.query(User).filter(User.email == email).first()if not user:raise HTTPException(status_code=404, detail="this email not exists")return user@app.get("/login")
async def login(request: Request):return templates.TemplateResponse("login.html",{"request": request})@app.post("/token")
def generate_token(user: UserModel,db: Session = Depends(create_db)
):db_user = get_user_by_email(db, user.email)client_hash_password = user.password + "_hashed"if client_hash_password == db_user.hashed_password:return {"token": "lc-token-value", "msg": "success"}return {"token": None, "msg": "failed"}

然后我们可以去启动下,当我们启动完成登录后发现本地存了token,那么这个时候我们需要改造下webchat.html,我们取本地的 token,同时也实现了一个退出的功能。

<!DOCTYPE html>
<html>
<head><title>Chat</title>
</head>
<body>
<h1>WebSocket 聊天</h1>
<form action="" onsubmit="sendMessage(event)"><input type="text" id="messageText" autocomplete="off"/><button>Send</button>
</form>
<button onclick="logout()">退出</button>
<ul id='messages'>
</ul>
<script>var  token=window.localStorage.getItem("token")if (token==null ){window.location.href="/login"}var ws = new WebSocket("ws://localhost:8000/items/ws?token="+token);ws.onmessage = function (event) {var messages = document.getElementById('messages')var message = document.createElement('li')var content = document.createTextNode(event.data)message.appendChild(content)messages.appendChild(message)};function sendMessage(event) {var input = document.getElementById("messageText")ws.send(input.value)input.value = ''event.preventDefault()}function logout() {window.localStorage.removeItem("token")window.location.href='/login'}
</script></body></html>

 这样我们就可以登录后,然后去获取登录产生的token,然后和后端发发送消息,这样我们完成了一个登录聊天,退出后无法聊天的功能。我们如果直接访问聊天的页面,也是可以直接去定向到我们的登录的界面呢,我们的聊天是依赖于我们的登录的。

 

成功后才可以发送聊天内容

点击退出,直接退出回到登录页

本地存储也清空了

 

http://www.yayakq.cn/news/285213/

相关文章:

  • flash制作网站教程不备案的网站需要注销吗
  • 太原百度网站排名优化微信微信
  • 推广及建设网站广西平台网站建设报价
  • 大成建设株式会社网站网站开发和上传中错误的是
  • 公司做企业网站柚段子wordpress
  • 网站设计公司网站制作郑州最新公告
  • 网站建设专业公司字体怎么网wordpress
  • 江门网站建设价格巴中网站建设天仁云
  • 哪个网站帮别人做ppt提供做pc端网站
  • 澄迈网站建设先做网站还是先做天猫
  • 涪陵网站设计网站做业务赚钱吗
  • dede后台做两个网站南京网站优化
  • 福永网站推广保定网络运营公司
  • 网站打开慢 可以只换空间不换域名吗恐怖音乐怎么做的视频网站
  • 金融保险网站模板天津市门户网站建设要求
  • 南宁网站建设 传导向google提交网站
  • 大岭山仿做网站毛概课程网站建设
  • psd模板免费下载网站在线数据分析网站
  • cadisen卡迪森手表网站做旅游的网站
  • 网站开发z亿玛酷1专注郑州网络推广厂家
  • 南宁专业做网站方案成都网站建设成都网站制作
  • 团购产品 网站建设网址ip域名
  • 江门手机网站建设做网站效果图是用ps还是ai
  • 本地生活服务网站怎么做加强三农网站建设的意义
  • 门头沟网站开发搬瓦工 建网站
  • 2017年网站设计趋势qq上网站做我女朋友
  • 建设一个棋牌网站都得准备什么wordpress 打开速度
  • 网站设计作业网站建设的现状分析
  • 做网站应该做哪方面的免费1级做爰片在线观看网站
  • 网站建设专项检查做网站要ftp信息吗