分享好友 资讯首页 资讯分类 切换频道
fastapp-微信开发GPT项目第一课
2024-12-24 01:49  浏览:68

在学习开发本项目之前,必须保证有以下知识储备和环境工具。

技术栈说明python>=3.9、pydantic>=2.7.1python基础,http协议fastapi>=0.111.0web协程异步框架,有web开发基础,异步编程,类型标注[python3.6提供的typing模块]mysql>=8.0、Tortoise-ORM>=0.20.1mysql数据库相关redis>= 6.xredis数据库相关微信开发者工具、uni-app、HbuilderX编辑器开发小程序项目的UI框架,有小程序开发基础vue>=3.x、vite前端web开发框架git代码版本管理工具docker、docker-compose镜像与容器基本操作

手动创建工程目录,路径不要使用中文或者特殊符号。

 

创建虚拟环境,终端下执行命令如下

 

安装完成以后,需要激活当前虚拟环境[切换python解释器],终端执行如下命令

 

1.1.1 依赖安装

 

1.1.2 项目目录

工程目录尽量和虚拟环境的名称保持一致,pycharm一般都可以自动识别。如果pycharm不能自动识别,则点击编辑器右下角选择自定义解释器即可。

 

,代码

 

,代码

 

通过启动api服务端项目,访问地址:http://127.0.0.1:8000/api,效果如下

1.1.3 项目配置

在原目录结构基础上增加与、,效果如下

 

,代码

 

,代码

 

,代码

 

,代码

 

重启项目,如果项目运行正常,并刷新浏览器后效果如下,则表示配置正确

1.1.3.1 数据库配置

在终端下创建数据库,执行命令如下

 

执行效果如下

,环境配置中新增配置项,代码如下

 

手动创建配置文件,编写tortoise-orm的配置信息,代码

 

注册Tortoise-ORM到FastAPI应用对象中。,代码

 

完成上面的配置以后,因为默认并没有连接数据库,因此我们需要编写一个数据表模型进行数据库连接操作以测试连接配置是否正确,不过这块我们先放一放,因为项目开发过程中有可能数据库需要保存很多数据,自然也就需要创建对应很多的数据表模型,而不同的数据对应的功能业务是不同的,因此我们需要分开写在不同的文件或者目录下,所以我们得先配置应用分组,不同的功能分属于不同的应用下,每一个应用都属于自己的数据表模型、api视图接口、路由数据等。

1.1.3.2 应用分组

首先创建分组应用存储目录,并在目录下先创建2个应用分组目录,分别是公共数据应用分组与用户数据应用分组,目录结构如下

 

接下来,我们可以把最初编写在入口程序的测试api视图接口,转移到common应用分组目录下的接口视图文件中,代码

 

入口程序文件中不再编写api视图接口,代码

 

因为应用分组是我们自定义的目录,所以FastAPI默认是不识别的,所以需要手动把应用分组下的路由注册到App应用对象中,代码

 

再次重启api服务端项目,访问http://127.0.0.1:8000/api,输出内容依旧则表示配置成功。

接下来,我们就可以在分组应用中创建属于用户相关的数据表模型了,代码

 

完成模型创建以后,接下来只需要在中把当前新增模型的路径添加到配置项中,代码

 

注册模型到中以后,在初始化文件中,把的值改为,让自动根据模型建表。,代码如下

 

OK,重启项目,查看终端如果正常启动,则表示上面的所有操作正确。继续登陆MySQL数据库,查看是否建表成功,效果如下

建表成功表示配置正确,接下来,我们可以考虑使用数据迁移来管理数据表模型与MySQL数据表的修改记录对应关系。所以先鼠标右键删除数据库中新建的数据表,并在初始化文件中,把的值改为,操作与代码如下

1.1.3.3 数据迁移

对Tortoise-ORM使用数据迁移根据模型创建数据表会更加友好更加方便,安装数据迁移工具,执行命令如下

 

把aerich注册到Tortoise-ORM中,代码

 

使用aerich进行迁移初始化,打开终端,执行命令如下

 

生成数据迁移文件,终端命令执行如下

 

操作效果如下

1.1.3.4 日志配置

,代码

 

,代码

 

注册中间件到App应用对象,代码

 
1.1.3.5 异常处理
 
 

启动hbuilderX编辑器,点击文件→新建(N)→1.项目

选择类型,输入项目名称,选择模板,点击创建(N,即可成功创建uni-app项目。这里我的项目名称:uniapp。

1.2.1 运行项目

使用快捷键打开设置窗口→运行设置→小程序运行设置,填写微信开发者工具路径。

注意:如果没有安装,点击蓝色链接去下载安装,并在安装完成以后启动微信开发者工具,进入设置窗口→安全,把服务端端口和自动化接口…信任项目等配置项打开如下

小程序配置中,可以直接使用测试AppID也可以使用真实账户的AppID,设置→基本设置→账号信息

进入uniapp项目,点击工具栏的运行 -> 运行到小程序模拟器 -> 微信开发者工具

1.2.2 目录结构

 

,配置页面路径和基本样式效果

 

1.2.3 界面效果

1.2.3.1 登陆页面

,代码

 

展示效果如下

1.2.3.2 聊天页面

,代码

 

访问效果如下

fastapp-微信开发GPT项目第一课

客户端用户点击获取用户登录需要的code,并把code和用户信息发送给服务端,服务端请求微信服务器,实现登陆流程如下

2.1.1 服务端提供登陆接口

passlib 用于处理哈希密码的包,支持许多安全哈希算法以及配合算法使用的实用程序,推荐的算法是 Bcrypt,所以终端下执行命令如下

 

,代码

 

,代码

 

视图文件中编写api接口,代码

 

2.1.2 客户端发送登陆请求

代码

 
 

2.2.1 服务端提供注册接口

基于pydantic提供的BaseModel定义接口的输入和输出的数据结构,代码

 

创建API接口的视图文件,代码

 

把中的路由对象,注册到项目中,代码

 

2.2.2 客户端实现注册功能

,代码

 
 
 
 

3.1 服务端调用langchain对接ChatGPT

提供接口,代码

 

3.2 客户端请求服务端接口

    以上就是本篇文章【fastapp-微信开发GPT项目第一课】的全部内容了,欢迎阅览 ! 文章地址:http://w.yusign.com/news/2021.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 述古往 http://w.yusign.com/mobile/ , 查看更多   
最新新闻
淘宝买东西什么时候最便宜(分享淘宝活动优惠力度最大是什么时候)
淘宝每年都会举办大大小小的活动,有些活动你不关注甚至都不知道它的存在,但是这么多活动大家不可能都去参与,没那么时间也没那
wordpress加速插件有六个插件推荐您使用
网站做得再好看,但是如果有一件事情没有处理好,那么就全功尽弃了,这个问题是什么呢?速度。加载速度对您网站的成功至关重要。
抖音代运营推广公司能信吗?作者:小果 时间:2024-12-18 阅读:3582
抖音代运营推广公司解析一、抖音代运营推广公司可以相信吗?抖音代运营推广公司的可信度主要取决于其公司背景、团队实力、成功案
喵趣漫画正版2024软件亮点
喵趣漫画正版2024下载是一款专为漫画爱好者打造的追漫神器,汇聚海量高清漫画资源,涵盖热门连载、完结经典、独家原创等多种类型
神马搜索开户营销工具“一镜到底”如何让新品获得更多流量?
有数据显示,到2024年,中国个人奢侈品市场的复合年增长率达到6%,中国消费者将贡献全球奢侈品市场40%的销售,千禧一代成为奢侈
省电模式不光能省电 还能给你“省”10%性能
近十年,发展最迅速的或许就是智能手机,它从一个通讯设备发展到现在集社交、通讯、娱乐、支付、工作、出行于一身的多媒体设备。
OneSight景亚男:“出海加速,如何挖掘数据价值,突破企业增长瓶颈”
  本次大会主题为“点亮·全球”。2024年,中国企业出海呈现出更加汹涌的浪潮,中国出海企业的足迹踏遍全球市场,与此同时中国
在你脑海里,还有哪些关于手机的“常识”是错的
  跑分高,确实能代表着手机的硬件性能好。但仅以SoC为例,强劲的性能的确能得到超高跑分,但是,功耗问题却不可避免。在电池
智能制造的核心:APS与MES的深度集成与数据共享
APS系统在企业内进行实施落地时,APS与MES的集成和数据交换成为了提升生产效率、优化资源配置的关键所在。两者之间的紧密合作,
华为最好的手机是哪一款2016年【推荐】
  华为是目前国产手机中比较知名的品牌,手机的销量也很高,在生活中很多人购买。华为面对着诸多的竞争对手,如 小米 、酷派、