- 博客(16)
- 收藏
- 关注
原创 智能点餐系统项目总结4(关于实时通信)
/wsRef是一个react引用(useRef),用于存储websocket实例,确保在组件重新渲染的时候不会丢失webSocket连接。event.data包含服务器发送的消息,通常是以JSON格式字符串的形式发送的。使用JSON.parse将字符串解析为JS对象,以方便访问消息中的字段。返回一个json字符串通常是在需要以结构化,容易解析且跨平台兼容的方式传递数据时。1、实现websocket实时通信,并且要求和指定的人进行实时通信。1、websocket服务器的实现。AIChart(前端实现)
2025-03-16 19:02:29
356
原创 智能点餐系统项目总结(3)
会出现一种情况:我希望在数据库中存数组(例如在订单表中,我希望存储订单的全部数据,包括订单中的全部菜品,这个时候菜品最好使用数组的形式存储在数据库中),但是数据库中没有专门存放数组的,所以一般都是采取字符串的形式。get的传参一定要使用params,并且一定要使用.then来获取到axios请求的数据。可以定义一个状态映射关系:(这里的映射关系是有点像对象数组的形式。不仅仅有将字符串转换成数组的,有的时候还需要将对象转换成字符串。1、将字符串分割成数组(这里的数组是字符串数组的形式)"已完成":[2,3]
2025-03-16 13:03:36
368
原创 智能点餐系统项目总结(2)
就是开始设置setLoading(true),然后在axios获取数据之后,再使用finally,setLoading(false)进行加载的取消,如果一直在加载,就返回提前写好的一个加载逻辑。先是HashRouter进行全包裹,然后div中是页面中显示的跳转按钮,Routes显示的跳转的逻辑。2、使用echarts时,遇到在option的时候就已经画好了图表,导致数据其实还没有加载完就画好图了。如果res.data中有多个对象的orderDate相同,后面的记录会覆盖前面的记录。关于图表的设置问题;
2025-03-15 14:28:46
586
原创 项目开始第一天——2.26
点单 (查看商品列表,查看商品评分,加入购物车,删除购物车内商品,修改购物车内商品,计算商品价格)首页 (查看个人数据分析图、查看商家列表,查看商家评价和评分)(使用懒加载模式)评价 (编写评价(商家评价,商品评价)、查看本人评价、查看该商家所有评价)编辑商品页(可以查看当前商品、修改当前商品、删除当前商品,新增当前商品)首页(查看本店的数据分析图,查看商品列表,查看本店评分和评价)订单页(查看当前订单,查看已完成订单,查看未完成订单)查看商家,查看商品,查看评价。查看商品销量,查看热门商品。
2025-02-26 13:32:53
478
原创 git和码云的仓库创建
在vscode中打开源代码管理存储库,点开拉去推送,点击推送到(根据提示写上远程的名称,自编一个,再写上远程的链接(上面复制的那个链接))如果协助者未能获取到对应仓库的git代码的话,可能是在Gitee中的邮箱管理中的邮箱没有设置为公开模式。可以进入到仓库的成员管理,通过邀请码的形式邀请成员。(最好将成员设置成管理员)在源代码管理中输入修改的代码名,点击提交和同步提交,完成提交操作。代码如果出错可以使用查询git语句的方法来判断是如何出错的。
2025-02-25 21:49:34
230
原创 react项目总结
在项目的开始,我尝试列一个基本的项目框架,可能有的页面,可能需要的存储数据,可能需要的后端逻辑。本次项目对我而言,比上一次强的点在于没 1、有大量使用useState,而是更依赖于全局状态管理,不过给自己提个醒,以后不管做啥项目,都要加一个控制是否展示的全局状态管理器(因为在antd中基本上都是使用大量的useState控制组件的展示或者不展示) 2、细节点在意的更多,比如说在提交成功后要给用户展示成功页面,在更改成功后要给用户展示更改页面。同时在项目的中期,大量的页面间的逻辑会有些让我迷茫。
2024-12-22 22:41:15
355
原创 react项目——antd的一些用法总结
其实自定义下拉菜单就是通过很多个li来完成的,这里的每一个key表示每一项,label代表每一项中的内容,其内容可以是任何值。Dropdown:下拉菜单中有items(子元素),可以在items上加任何组件构成一个完整的下拉菜单。这个组件很奇怪,它的defaultValue只能写入dayjs,所以要进行转换。dropdownRender表示自定义下拉菜单的样式。(2) DatePicker时间选择组件。
2024-12-22 22:19:32
411
原创 react——第一版本(home5)
但是同时在组件传递数据的时候出现了比较大的麻烦,并且写了很多重复无用的代码,代码的逻辑很不清晰。这一块做的比较好的是在page1中传入到组件中的inputValue使用起来了,可以直接监听这个inputValue,如果它改变,就进行搜索。缺点:写的非常复杂(不熟悉react导致的)+没有进行组件的多元化(组件定义少了)
2024-11-26 22:15:35
176
原创 react——第二版本my-app的items组件
从Data组件中传入一个props,名为render(这个render可能是排序好的data,也可能是没有排序好的data,也有可能是datafavorite也可能是排序好的datafavorite)
2024-11-26 21:56:46
285
原创 react项目——第二版本(my-app)——app.tsx部分
遇到的问题:当我给data和datafavorite都设置上useEffect监听的时候,会出现其顺序问题导致的页面渲染不正确,这里我又设置了一个Datastate来监控当前页面应该是data的数据被渲染还是datafavorite的数据被渲染。APP.tsx中只完成了项目最上方的头部的搜索栏+按钮的功能。在第一版本作业的基础上,想使用ts+zustand来进行全局状态管理,并且想在第一版本的基础上建立多个组件(锻炼自己的能力),所以进行了第二版本的升级。store.ts部分。
2024-11-25 15:27:15
524
原创 Player播放部分
功能实现和效果展示:播放音频的音频数据展示 点击播放图标,音频播放。 点击下一首,改变数据和播放音频还有播放时长。 点击播放速度图标,可以调整音频播放速度 点击播放音频声音图标,可以调整播放声音大小大体框架:实现步骤:总体是使用audio元素来进行音频播放。 第一步:给播放按钮绑定点击事件(在播放的时候,给其添加播放按钮图片,并且移出暂停图标。在暂停时候,给其添加暂停图片,移除播放按钮) 第二步:给上一首按钮绑定点击事件,如果点击后要重新渲染歌曲的信息。(这里用到了复用函数
2024-11-09 15:25:12
337
原创 猜你喜欢部分项目分析
第三步调用displayData函数来显示数据(注意这里的displayData函数是在页面上展示数据的,它需要传入两个参数,分别为当前展示的索引下标、从后端获取的数据)然后进行data.slice分割操作,将要展现在页面的数据分割出来,进行每一个数据的遍历,获取每一个对象的各个属性。这里利用了let i进行操作,来遍历展示的五条数据。包含了服务器的响应体,如果响应是 JSON 格式的数据,那么它就是一个 JSON 字符串。将服务器返回的 JSON 字符串转换为 JavaScript 对象。
2024-11-09 14:43:04
370
原创 Header部分项目分析
需要注意要将上传图标的a标签的长度设置长一些,这样在鼠标经过事件中才可以移动到.UpLoadHeader中进行点击操作。不然如果没有设置其长一些的长度,就会导致鼠标一离开a元素.UpLoadHeader就消失了,就无法进行操作。经过每一个盒子都可以在其对应的下方加上下划线。未经过任何盒子的时候固定高亮为第一个盒子。经过每一个图标的时候都可以显示高亮。在经过上传的时候,出现新盒子。
2024-11-09 14:19:30
387
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人