前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DEMO | 课程表也可以这么好玩

DEMO | 课程表也可以这么好玩

作者头像
极乐君
发布2021-05-20 10:21:43
9480
发布2021-05-20 10:21:43
举报
文章被收录于专栏:极乐技术社区

DEMO

界面预览

清晰漂亮的界面,很直观醒目哦~

目录结构

平台音乐和视频直播流数据来源于第三方网站,仅供学习交流使用,请勿用于商业用途。

.

├── App.vue

├── LICENSE

├── README.md

├── components

│ └── timetable

│ ├── icon.css

│ └── timetableBody.vue

├── main.js

├── manifest.json

├── pages

│ └── index

│ └── index.vue

├── pages.json

├── static│

├── guest.js

│ └── logo.png

├── store

│ ├── index.js

│ └── modules

│ └── timetable.js

└── uni.scss

课程表数据说明

[

// 第一周课表

[

// 周一课表

[

// 节次 1-2 课表

[

// 课程 1

{课程1},

// 冲突课程 2

{课程2}

],

// 节次 3-4 课表

[

{课程1}

],

// 节次 5-6 课表

[],

...

],

// 周二课表

[],

// 周三课表

[],

... ],

// 第二周课表

[],

// 第三周课表

[],

...

]

使用方法

static 目录下 guest.js为测试课表文件

  • 将 components 目录下 timetable文件夹拷贝至你所在的项目中
  • 将 store 目录下 modules 文件夹拷贝至相应文件夹中
  • 修改 store.js 文件添加以下代码

import Vue from 'vue'

import Vuex from 'vuex'

import timetable from '@/store/modules/timetable'

Vue.use(Vuex)

const store = new Vuex.Store({

modules: {

timetable

}

})

export default store

  • 修改 main.js 文件添加以下代码

import Vue from 'vue'

import App from './App'

import store from './store'

...

Vue.prototype.$store = store

...

const app = new Vue({

store,

...App,

})

app.$mount()

  • 引入组件,相关代码如下:

<template>

<view>

<!-- 课表主体 -->

<timetable-body></timetable-body>

...

</view>

</template>

<script>

import {

mapState,

mapGetters

} from 'vuex'

import {

timetableData

} from '../../static/guest.js'

// 课表主体

import timetableBody from '../../components/timetable/timetableBody.vue'

export default {

data() {

return {}

},

components: {

timetableBody

},

onLoad() {

// 设置开学时间

this.$store.commit('timetable/setStartDay', '2021/03/01 00:00:00')

// 初始化课表数据

this.$store.commit('timetable/setTimetableList', timetableData)

},

computed: {

...mapState('timetable', [

'showTimetableWeek',

'bgImage'

]),

...mapGetters('timetable', [

'originalWeekIndex',

'currentWeekIndex',

'weekWeekIndex'

])

},

watch: {

currentWeekIndex(newVal, oldVal) {

uni.setNavigationBarTitle({

title: `第${newVal + 1}周课表`

})

}

}

}

</script>

开源许可

本项目使用开源许可证 License GPLv3 ,代码开源仅供学习交流,禁止私用、商用,违者必究。

更新日志

Version 1.1.0

  1. F 使用 vuex
  2. U 课表色卡
  3. U 冲突课程显示方式
  4. A 课程详情卡片
  5. A 删除课程、课程置顶

Version 1.0.1

  1. A 周课表背景
  2. U 更换周课表切换配色
  3. U 优化体验

Version 1.0.0

  1. A 课程切换
  2. A 冲突课程折角
  3. A 周课表色卡切换
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 极乐技术社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档