Skip to content

使用 express 和 vue3 搭建的 GPT-3 模型演示网页

License

Notifications You must be signed in to change notification settings

rocket2023/chatgpt-web

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChatGPT Web

cover cover2 cover3 cover4 cover5 cover6

安装部署

为了简便 后端开发人员 的了解负担,所以并没有采用前端 workspace 模式,而是分文件夹存放。如果只需要前端页面做二次开发,删除 service 文件夹即可。

前端

根目录下运行以下命令

pnpm install

// 开发环境调试
pnpm dev

// 生产环境打包
pnpm build

后端

进入文件夹 /service 运行以下命令

pnpm install
pnpm start

API接口

1、/sendEmail

请求方式:post

请求参数:

{"email":"[email protected]", "token":"xxxx"}

响应参数:

{"status":"Success", "message":"发送成功,请到邮箱里查看", "data":""}

邮件验证码发送成功后,将邮箱作为键,验证码最为值存到缓存里,伪代码如下

Cache::set("[email protected]", "123456", 10*60)

2、/login

请求方式:post

请求参数:

{"email":"[email protected]", "code":"123456"}

响应参数:

{"status":"Success", "message":"登录成功", "data": {"token": "xxxxx"}}

登录时通过传递过来的 email 作为键,从缓存里获取 code ,与前端传递过来的 code 对比,如果一致则验证成功。验证成功后通过 email 到用户表查询用户,如果查到就是登录,没有查到就是注册,将用户信息存到数据库。

3、/user

请求方式:get

请求参数:无

响应参数:

{"status":"Success", "message":"登录成功", "data": {"name": "xxxxx", "email": "xxxxx", "avatar": "xxxxx", "status": 1}}

通过 header 里携带的 AuthorizationBearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiIwIiwic3ViIjoidXNlciIsImV4cCI6MTY3ODU5MjQyMiwiaWF0IjoxNjc4NTg4ODIyfQ.W77JOgruwJc4E3VvZpnZ6MYCFRJmP7e3u3kFMTO9msc 获取当前登录用户信息

赞助

如果你觉得这个项目对你有帮助,并且情况允许的话,可以给我一点点支持,总之非常感谢支持~

微信

WeChat Pay

支付宝

Alipay

License

MIT © gouguoyin

About

使用 express 和 vue3 搭建的 GPT-3 模型演示网页

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 58.9%
  • TypeScript 23.3%
  • Less 15.6%
  • HTML 0.9%
  • Shell 0.6%
  • Dockerfile 0.4%
  • Other 0.3%