Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

JserShadow/news-front

Repository files navigation

校内资讯 - 前端部分

简介

校内资讯是基于东农教务处及官网资讯的移动端展示平台

项目预览地址:point_right: 点我预览 (请在移动端查看)

  • 前端页面

预览图片

  • 和一些简单的小动画:blush:

animation

目录结构

src
├── assets # 项目中的图标目录
├── components # 组件目录
| ├── detail.vue # 资讯详情页
│ ├── pagination.vue # 主页
│ └── search.vue # 搜索结果页
├── css
| └── main.css # 组件的主要样式表
├── router
| └── index.js # vue-router配置文件
├── main.js
└── App.vue

本地开发

git clone https://github.com/JserShadow/news-front.git
cd news-front
npm i
npm run dev
# 浏览器访问 http://localhost:8080 即可

生产环境

npm run build

项目实现思路

  • 该项目分为三个部分
    • 前端部分: 负责请求并展示已有数据
    • 后端部分: 负责向前端提供数据和定时爬取最新数据
    • 爬虫部分: 负责生产环境搭建时爬取到历史所有数据(一次性程序)

数据呈现方式

由于官网部分的数据动辄几千条,让它进入页面时一次加载完是不现实的,因此我们选择分批加载数据的方式,就有了以下两种解决方案:

  1. 无限滚动
  2. 分页

在校园资讯早期版本我们采用了无限滚动,但是由于用户体验不好,更改为分页式数据呈现。

处理跨域问题

由于vue-cli监听8080端口,Egg.js监听7001端口,根据同源策略,向后端发送请求成为跨域行为。我们使用Vue中的proxyTable处理跨域问题。

// /config/index.js
proxyTable: {
 '/jwc/*': { // key为需要处理的请求的路由(/*表示它父路由的所有子路由)
 target: 'http://localhost:7001',
 changeOrigin: true
 },
}

处理静态资源

  • 在生产环境中,由于服务器带宽限制,静态资源加载极慢
  • 使用CDN加速技术可以解决此问题
    • 使用又拍云的CDN加速服务
    • 使用FileZilla搭建FTP服务器
    • 上传静态资源到该服务器
    • 修改静态资源路径

About

校内资讯前端升级:page_with_curl:

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /