项目介绍
想法来源: https://www.bilibili.com/video/BV19B4y1Y7m8/
正式上线地址:https://www.x-terminal.cn/
一个很特别的浏览器主页,支持使用输入命令的方式来操作,目标是帮你在一个 web 终端或多个web终端中高效完成搜索,周赛入口,听音乐,刷视频等事情!
如果你是一名程序员,相信你会爱上它~
前端技术
主要技术:
- pnpm + vite3 打包工具(快,开发体验极好)
- Vue3 使用setup语法配合组合式api,很容易将项目功能抽离
- Pinia 状态管理工具 (比vuex更轻便,且兼容vuex语法)
- Ant design vue 组件库
- Typescript 类型约束
依赖库:
- axios 网络请求
- dayjs 时间处理
- lodash 工具库(像防抖,节流这种常用函数都有)
- getopts 命令参数解析 ==> 依赖于minimist 解析库(下载量几千万次/周)
后端技术
主要技术:
- Node.js
- Express,jsonwebtoken
- MySQL
- Sequelize
依赖库:
- Axios 网络请求库
- NeteaseCloudMusicApi 网易云服务
- cherrio 有关dom解析的库,配合axios爬取某些信息
依赖服务:
- 高德地图 天气api
- 哔哩哔哩 视频api
- 搏天api (获取随机壁纸,翻译结果)
部署
后端服务: 微信云托管
前端页面: 测试站点使用的unicloud,静态网页托管服务
亮点
在原视频up主鱼皮的项目基础上进行了部分简化,并添加了一些自己想到的功能:
- 页面内部,实现tab页多开终端
- article命令,利用无限滚动虚拟列表进行长列表优化
- video 优化展示效果,并使用循环列表动态扩容算法,添加了上一条,下一条视频,视频分区的功能
- 增加acwing 网课活动入口(爬虫获取), 最新周赛入口(爬虫获取),题目搜索功能
- 增加leetcode 题目搜索功能,最新单周赛和双周赛入口功能 (计算预测)
- 删除了部分不常用的搜索引擎,添加了csdn,菜鸟教程等常用网站的搜索跳转功能
- 添加weather 天气命令 (调用高德地图 天气api,一天免费调用30w次)
- 添加 calculator 计算器的功能 (原理详情见leetcode 772 基本计算器Ⅲ)
- 添加bookmark 书签功能的 增删查,add,remove, show功能,用户登陆后,可以通过已添加的书签key,实现快速跳转的功能
- 授权方式 由session 换成了 jwt
太帅了!orz!
挺好玩的
很棒 大佬,orz
哇!好棒!!!!orz!!!