Gpt微信小程序搭建的前后端流程 - 前端小程序部分-2.确定交互所需的后端API(二)
参考微信小程序-小柠AI智能聊天,可自行先体验。
根据上一节的小程序静态页面设计,需要从后端获取数据的主要4个点:
- 登录流程;
- 获取今日已提问次数;
- 获取聊天记录;
- 发起聊天和响应。
这样就是确定至少需要4个后端API,通过返回的数据做渲染显示。
登录流程
其中登录流程就是参考小程序官方图。
- 小程序先通过wx.login()获取code
- 请求后端登录API
- 后端通过appid, appsecret, code请求 https://api.weixin.qq.com/sns/jscode2session 获取用户唯一id的openid
- 通过openid封装token返回前端-》前端保存token,之后请求API带上,校验用。
登录这里会有个坑,就是在wx.login中使用异步请求后端API时候,如果这个登录逻辑放在app.js的小程序初始化加载onLaunch中,我们在index.js加载页面时候需要依赖使用登录token做一些处理,这个时候可能异步请求登录还没返回,就会导致获取到的token为空。
这里就需要使用new Promise监听异步操作成功后再处理index.js中相关依赖于token的逻辑。具体处理后续 登录实现章节 贴。
获取今日已提问次数和聊天记录
这两个则直接通过wx.request请求即可,具体实现也在后续章节。
发起gpt聊天和响应
这个就是整个小程序的核心内容了,这里会拆分两个API
第一个API: 请求验证是否可发起(次数够…),成功则追加当前发起内容到页面显示,失败则弹框提示;
第二个API: 验证通过后发起websocket连接,通过流模式响应后端返回,并将接受到的流内容做追加到页面显示。
总结,我们总共需要5个后端API,都会在之后单独的章节,实现具体的逻辑和流程
- 登录API
- 获取次数API
- 获取聊天记录API
- 请求发起聊天API
- 请求后端流模式响应API