需求分析
项目名称---人工智能对话智能体
实现步骤
1.1 需求
需要智能体能够进行对话 如何实现?----需要一个模型支持 --> 工作流(深入)
如何使用?----- 登录后使用 --> 需要写一个登录功能:1. 常见的用户名,密码 2. 短信登录 3. 人脸登录 同样的,也需要注册功能 --> 对应注册功能的实现 随时查看问答记录 --> 历史记录功能
1.2 画原型图
工具:Axure(墨刀(综合程序设计使用该网站构建了前端页面原型图),蓝湖) 一般网页只需要1440即可适配
1.3 数据表
phpstudy有Apach、MySQL等内置组件
如何确定是否启动了MySQL?
windows端:打开cmd控制命令行,输入端口监听命令:netstat -ano | findStr 3306,若返回结果,则说明MySQL成功运行(一般MySQL默认端口为3306) Linux端:netstat -ano | grep 3306
无法获取短信验证码,因为非公司单位无法获得,故改为邮箱验证
数据库也能存储图片,存储其唯一标识符image-token,采用blob形式存储
分析:user表中有哪些字段? id 主键 自增; username (用户名) password email image-tokne 还应添加的字段: flag(逻辑删除) 仅用0和1表示,0表示已被删除,1表示仍然存在 createdate (创建时间) updatedate(修改时间)
在数据库中创建查询,在查询中实现create语句后,会同时生成对应的表
CREATE TABLE USER (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(30) NOT NULL UNIQUE,
PASSWORD VARCHAR(10) NOT NULL,
email VARCHAR(30) NOT NULL,
imagetoken VARCHAR(255) NOT NULL,
flag TINYINT(1) NOT NULL,
createdate DATE NOT NULL,
updatedate DATE NOT NULL
)ENGINE = INNODB;
DESC USER;
1.4 缓存数据库
验证码需要设置有效时间,所以不适合存储在MySQL数据库中,此时就需要使用到redis缓存数据库
- 安装redis
- 若未设置环境变量,则需在redis文件夹下打开cmd,并输入命令行redis-server.exe启动redis,启动后不要关闭该命令框
- 随后继续打开新的一个cmd命令框,输入命令redis-cli.exe进入redis,随后可使用set [key] [value] 来设置关键字与键值,使用get可查询对应关键字的键值(同一时刻只能是一个)
1.5 整合redis到springboot中
- 引入依赖
<!-- 集成redis依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.11.1</version> <!-- 建议使用最新稳定版本 -->
</dependency>
若引入依赖/拉取依赖失败,可进入setting,搜索maven的本地仓库repository,删除对应依赖重新拉取即可
- 打开redis.conf,找到requirepass xxxxxx,这就是redis的启动密码
- 若使用
redis-server.exe redis.config
启动redis,则后续使用redis-cli.exe来使用redis时就需要输入密码,命令为:auth xxxxx
1.6 前端调用获取摄像头
html5提供了开启摄像头的api navigator.mediaDevices.getUserMedia
const context = canvas.getContext('2d');
context.drawImage(video, 0, 0, canvas.width, canvas.height); // 这个是拍照,把图片拍出来
1.7 侧边栏功能实现
html5的sesionstorage存储登录信息---设置失效时间 localstorage存储历史记录,其中的key和value值可以用redis使用set、list+string数据类型来实现 再实现一个修改个人信息的模态框