我做了一个AI情感陪伴网站,用到了这些第三方库

280 阅读3分钟

背景

如题,作为一个多年前端开发的老油子,利用每天下班的时间写写代码,终于和同学做了个AI情感陪伴网站,这是这个网站的第一版。 这个网站主要想着面向海外,以英文为主,技术选型上也是想着面向国外。

image.png

image.png 网站的地址是这里 欢迎大家提出一些改进意见和建议,不胜感激

本人在现公司基本上是管理后台开发工程师,用的一手好Element,这次面向国外,toC,从技术选型到调研开发,接触到了不少之前没有实际项目使用过的东西,所以特别在这里记录下下自己的成长。

技术栈选择

造轮子是不可能造的,广大网友都是人才,写的又好,我超喜欢的

整体框架和UI

这里技术选择上是用来Nuxt3,主要是我更熟悉这个,然后在UI上,刚开始看了B站的一些视频,看有人用Ant Design,所以我刚开始也导入了Ant Design,后面发现,打包后太大了,我用到的组件其实也就那么几个,按需导入还不如不用,于是果断舍弃了Ant Design;

Tailwind CSS去管理CSS内容,也是考虑到他的star最多,写响应式和主题切换也方便。这玩意对于以前就写管理后台的我来说,根本没有用过,这次使用以后,真的爱上了这种原子类的CSS。美中不足的为什么我的编译器不支持nuxt3项目的Tailwind提示呢,写起来要经常查,可恶。

至于UI,既然用了Tailwind,那就找一个类似的UI吧,于是冲浪一番锁定了daisyui,基于tailwindcss,用起来还蛮爽的,一些样式也好看,美中不足的是,组件有点少了。当然后来我又发现了Preline ui,他的组件多,可惜了目前还不想用,后续根据切换成本考虑下有没有必要。

用户和分析

刚开始我们自己写了登录接口,只支持邮箱链接登录,后来觉得,国外人哪有不用谷歌的,所以加入了谷歌登录,然后调研后知道了,有个玩意叫firebase,集成了我能想到了所有登录方式,一键导入谷歌、苹果、推特登录等。

为了监控网站一些流量数据等,国内用百度统计,国外就引入了谷歌分析(测试很长时间发现没生效,找了好久的原因,发现是单词写错了,气死!!),感觉谷歌分析不如百度统计维度多。

既然加入了谷歌分析,那就随手监听下网站被谷歌搜索的情况吧,方便以后优化SEO,这里就找到了google search console,配置都很简单,舒服了。

前后台数据交互

Nuxt3普通交互肯定用官方的东西,所以简单封装了useFetch

至于聊天时候数据的返回,调研了下发现 OpenAI用是SSE协议,这里我也去学习了下SSE的一些知识,之前都没听过这个东西。看的是阮老师的文章,正当我觉得,这使用起来也跟websocket一样的时候,发现毛病真多,用户信息无法带过去等,后面找到了fetch-event-source去解决这些内容,算是实习了这部分的功能。

其他库
  • 动画 Gsap
  • 轮播图 Swiper
  • 通知信息 vue-toastification
  • 状态管理 pinia

动画和轮播图完全灵感,不知道写成啥样好看,这就得好好感谢下两个网站,给我借鉴codepenuiverse

最后,这是一次编学编做的过程,对我来说受益匪浅,很有意义