技术栈:Vue3、Express、Pinia、Element-Plus
项目简介:智慧学友是一个学生在线学习社区,为学生提供互相学习和交流的平台,学生可以互动、交流。
负责模块:
聊天模块:创建了一个 Socket.io服务器,在用户发送消息时,将消息存储到数据库中,并使用 Socket.io 对消息进行实时广播。在接收到消息时,也会实时发送给接收方。
学习助手:接入chatGPT,调用openAi提供的API接口,提前在服务端使用文本来训练chatGPT模型,修正回
的内容,来帮助用户解决学习问题。
注册:使用 Nodemailer 配置相关的 SMTP 服务器信息,创建邮件传输器实例。通过封装自定义邮件模板,发送包含随机验证码的邮件,并使用 Promise 封装发送邮件函数。发送后将验证码等信息保存至缓存,以便在服务端进行有效期和正确性验证。
登录持久化:用户登录时,封装了Express中间件生成token。前端将 token 存储 localStorage中 ,并使用 Pinia存储用户信息和 token。在路由守卫中,获取 localStorage 中的 token 封装到请求