闲来无事,上一下手:
考题
实现页面
一、首页:
二、活动列表页面(附加页面):
开发说明
1、 开发时间为3个小时;
2、 以首页为主要开发功能页面,附加页面在首页开发完成的基础上可开始进行;
3、 不限制使用的技术栈,可利用现有的框架以及组件库进行开发;
功能注意点:
一、 首页
(1)布局(50分)
1.完成页面布局结构,能适应不同大小屏幕尺寸,不会造成布局错乱。
(2)菜单模块(20分)
1.顶部为系统一级菜单,鼠标滑过出现高亮状态,效果如同选中状态一致;点击对应菜单,菜单高亮, 并切换到对应页面,未开发的页面,切换时无变化;
2. 切换到左侧有二级菜单的页面,自动高亮到二级菜单的第一个菜单上;
(3)我的待办模块(10分)
1. 我的待办实现自动向上滚动播放效果;
(4)公共/动态模块(10分)
1. 公共/动态模块实现可切换功能,内容也需要相应做切换;
(5)用户头像模块(10分)
1.用户头像及昵称处,实现鼠标滑上去显示退出登录的功能;
二、 活动管理页面(附加分:20分)
1. 点击“活动管理”切换到活动管理模块中的活动列表模块
2. 业务场景、活动状态选项均可点击切换高亮;
3. 页码点击可切换;
4.点击重置,时间默认为当天,活动名称清空,业务场景、活动状态均默认为选中第一个;
5.活动列表根据选项实现模糊搜索功能;
答题开始
限时3小时
主要使用的技术如下:
vue
antDesign - vue(www.antdv.com/docs/vue/in…)
echarts
以下开始上手,上手前,你需要安装git、node(自带npm包管理用于依赖安装)、vue、webpack等,嗐,真废话,不懂就百度吧。请注意,限时3小时,你需要做的就是,尽量快准狠,不要给我搞那么多自定义框架安装(除非你很熟练),费时,如果你熟悉yarn,最好使用yarn安装和启动 教程第一节是安装框架,第二节才开始上手
注意点,vue-cli升级后,脚手架包名改了
1. vue-cli脚手架安装集合vue、webpack的框架
新建文件夹,命名vue-ant-echart。
进入文件夹右键git base here
命令行:
vue init webpack jyz-demo其中jyz-demo是项目名称
请有点“版权”意识哈,加上自己的名字
等待一分钟之后,一路回车
然后
ctrl + c终止运行,为了节省时间,我们进入到项目文件夹中指定安装源
由于默认的npm源安装非常慢!!!!
进入到项目文件夹中,右键
git base here,输入命令行npm install --registry=https://registry.npm.taobao.org
如果你已经全局配置npm下载源为淘宝或其他国内镜像,那你当我是个傻子吧
这通常在2分钟内安装完,不要说你没有网,那考官还让你装个锤子嘛!!,他就是不让你机试成功,这应该是想让你做不完然后压低你工资吧,嗐,这种场面我见多了,希望你能让他失望,哈哈哈
运行项目: npm run dev
直到出现提示,运行到窗口
我们来看看吧:http://localhost:8080
恭喜你领先一步!! 没成功的同学,你们99%可能输在了网络上,安装不成功会造成依赖无法安装或安装失败,请和面试官打好交道,嗐,你瞧瞧,我这些下来就只花了3分钟就搭好vue和webpack框架了
为啥我还要用webpack,你晓得不??嗐,百度去呀
2.安装ant-design-vue
ant-design-vue官网: www.antdv.com/docs/vue/in…
进入到项目文件夹中,右键
git base here,输入命令行npm install ant-design-vue --save --registry=https://registry.npm.taobao.org
出租房8M的宽带网络,最终耗时将近1分钟,嗐,是不是很酷!!
在main.js入口文件中引入ant-design-vue
import ant from 'ant-design-vue'
import 'ant-design-vue/dist/antd.css'
Vue.use(ant)
测试ant-design-vue是否成功引入,在组件HelloWorld.vue中加入
<a-button>Default</a-button>留下如图内容保存后,看8080端口是否有按钮出现
恭喜你!!!又消灭了一个敌人
3.引入百度echart
进入到项目文件夹中,右键
git base here,输入命令行npm install echarts -save --registry=https://registry.npm.taobao.org
用时1分钟以内
在main.js入口文件中全局引入echart
暂时全局引入echart,后面优化我会教你封装echart和按需引入,暂时为了争取时间,暂时全局引入
import echarts from 'echarts'
Vue.prototype.$echarts = echarts
测试echart是否引入成功 请复制以下内容覆盖到原来的helloWorld.vue保存后查看8080端口
<template>
<div class="hello">
<a-button>Default</a-button>
<div id="chartEle1" style="height: 400px;margin: 0 auto;width: 50%"></div>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {
msg: 'Welcome to Your Vue.js App'
}
},
mounted () {
// 基于准备好的dom,初始化echarts实例
this.Chart1 = this.$echarts.init(document.getElementById('chartEle1')) // 重点
this.setChartOption()
},
methods: {
setChartOption () {
let option = {
title: {
text: 'echarts使用测试',
subtext: '纯属虚构'
// x:'center'
},
color: ['#3398DB'],
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: [
{
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
axisTick: {
alignWithLabel: true
}
}
],
yAxis: [
{
type: 'value'
}
],
series: [
{
name: '直接访问',
type: 'bar',
barWidth: '60%',
data: [10, 52, 200, 334, 390, 330, 220]
}
]
}
this.Chart1.setOption(option, true)
// setOption:设置图表实例的配置项以及数据,万能接口,所有参数和数据的修改都可以通过它完成,ECharts会合并新的参数和数据,然后刷新图表。
}
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h1, h2 {
font-weight: normal;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>
安装sass和node-sass
!!!记住,如果你的网络很好,你可以下载,但是我项目的使用这个
node-sass安装
npm install --save node-sass --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/dist --sass-binary-site=http://npm.taobao.org/mirrors/node-sass
耗时25秒左右
sass-loader安装
npm install sass-loader --save-dev --registry=https://registry.npm.taobao.org
耗时218秒左右
vscode中ctrl+p搜索文件webpack.base.conf.js打开后配置如下
{
test: /\.scss$/,
loader: ['style', 'sass', 'css']
},
测试
恭喜你!!你已经掌握了全部内容而且不用10分钟就搭建完基础框架,本教程到此结束!!!感谢围观!! 嗐,开玩笑,可你为啥不给我点赞,老子不想写了
以上框架全部搭建完毕,下一篇见~
体外话,请按照eslint语法校验工具,不懂的话,请看文章配置 juejin.cn/post/684490…