PKUCR,又称为PKU(Calendar|Resources)*,这是一个正则表达式,最后的 * 算符表示闭包运算,意味着用户可以多次在日程功能(Calendar)和资源功能(Resources)两者之间多次使用,来回切换。这个项目包括两个部分,分别是日程功能和资源功能。用户使用日程功能时,可以在一段时间内设置自己的日程。用户登录账号后,可以导入自己的课程表,也可以自己设置自己的日程,也可以同时使用。系统中内置节假日、调休等信息,弥补了当前一些软件无法识别调休等的缺憾。用户使用资源功能时,可以选择某一门课程,查看这门课程历年的信息,今年的开课情况,以及查阅所有其他用户发布的关于这门课的资料。用户也可以上传自己的资料,并且发布所上传的资料,当经过管理员审核后,资料便会出现在课程的信息中。除此之外,系统还可以根据所有发布的资料生成知识库,当用户只是想要查阅某个知识点时,便可以在此搜索。
PKUCR
├── src
│ ├── components
│ │ ├── icons
│ │ │ ├── IconCommunity.vue
│ │ │ ├── IconDocumentation.vue
│ │ │ ├── IconEcosystem.vue
│ │ │ ├── IconSupport.vue
│ │ │ └── IconTooling.vue
│ │ ├── __tests__
│ │ │ └── HelloWorld.spec.js
│ │ ├── SideBar.vue
│ │ ├── PageHeader.vue
│ │ └── MainContainer.vue
│ ├── views
│ │ ├── index.js
│ │ ├── home.vue
│ │ ├── taskTable.vue
│ │ ├── calendar.vue
│ │ ├── setting.vue
│ │ ├── login.vue
│ │ ├── register.vue
│ │ └── resource.vue
│ ├── assets
│ │ ├── base.css
│ │ ├── logo.svg
│ │ ├── main.css
│ │ └── PKUCR-logo.svg
│ ├── store
│ │ ├── storage.ts
│ │ ├── theme.ts
│ │ └── auth.ts
│ ├── axios.ts
│ ├── main.js
│ └── App.vue
├── public
│ └── favicon.ico
├── index.html
├── jsconfig.json
├── vite.config.js
├── vitest.config.js
├── package.json
└── package-lock.json
重要文件介绍:
src/components/MainContainer.vue为项目界面的主体结构,分为sidebar,header以及main三个部分,其中main负责主体功能界面的呈现,sidebar负责main的路由,header负责账号相关功能以及资源搜索src/components/SideBar.vue为项目sidebar的实现src/components/PageHeader.vue为项目header的实现src/views/*.vue为项目main各功能页面的实现src/views/index.js创建并记录了项目的路由数组src/store/auth.ts实现了注册登陆以及token的存储src/store/storage.ts实现了部分数据结构的统一定义和对存储的同一管理src/store/theme.ts实现了web界面暗黑模式的管理src/axios.ts实现了附带token的axios封装src/App.vue为项目软件及根路由src/main.js为项目软件的初始化src/assets/PKUCR-logo.svg为项目logoindex.html项目web文件
项目使用Vue3框架,Vue3脚手架以及ElementPlus配套工具,使用npm进行环境管理。 本地安装有npm的情况下,在项目根目录下运行如下命令即可配置完环境:
npm install项目环境配置完后,在项目根目录下运行如下命令:
npm run dev运行成功后命令行会出现类似如下文字:
VITE v5.4.8 ready in 203 ms
➜ Local: http://localhost:5173/
➜ Network: use --host to expose
➜ press h + enter to show help
根据输入的不同命令可以执行不同操作:
- 输入
h + enter显示帮助 - 输入
o + enter在浏览器打开项目web界面 - 输入
q + enter停止项目运行