制作一个微信小程序大学课程表代码
时间: 2023-07-18 16:09:22 浏览: 174
微信小程序-课程表小程序
这里给出一个微信小程序大学课程表的简单代码示例,供参考:
1. `app.js` 文件内容:
```javascript
App({
globalData: {
userInfo: null,
semester: 1,
courses: [
{ name: '数学分析', teacher: '张三', time: '周一 1-2节', place: '教1-101' },
{ name: '线性代数', teacher: '李四', time: '周二 3-4节', place: '教1-201' },
{ name: '计算机组成原理', teacher: '王五', time: '周三 5-6节', place: '教1-301' },
{ name: '操作系统', teacher: '赵六', time: '周四 7-8节', place: '教1-401' },
{ name: '数据库原理', teacher: '钱七', time: '周五 9-10节', place: '教1-501' }
]
}
})
```
2. `index.wxml` 文件内容:
```html
<!-- 主页 -->
<view class="container">
<view class="header">
<text class="title">大学课程表</text>
<picker class="picker" mode="selector" bindchange="onSemesterChange" value="{{semester}}">
<view class="picker-text">{{semester}} 学期</view>
<view class="picker-arrow"></view>
<picker-view class="picker-view">
<picker-view-column>
<view wx:for="{{semesterList}}" wx:key="{{index}}">{{item}}</view>
</picker-view-column>
</picker-view>
</picker>
</view>
<view class="body">
<view class="weekdays">
<text class="weekday"></text>
<text class="weekday">周一</text>
<text class="weekday">周二</text>
<text class="weekday">周三</text>
<text class="weekday">周四</text>
<text class="weekday">周五</text>
<text class="weekday">周六</text>
<text class="weekday">周日</text>
</view>
<view class="timeslots">
<text class="timeslot">1</text>
<text class="timeslot">2</text>
<text class="timeslot">3</text>
<text class="timeslot">4</text>
<text class="timeslot">5</text>
<text class="timeslot">6</text>
<text class="timeslot">7</text>
<text class="timeslot">8</text>
<text class="timeslot">9</text>
<text class="timeslot">10</text>
</view>
<view class="courses">
<block wx:for="{{courses}}" wx:key="{{index}}">
<view class="course" wx:if="{{checkCourse(item)}}"
style="grid-column: {{getCol(item.time)}} / span {{getSpan(item.time)}}; grid-row: {{getRow(item.time)}} / span {{getSpan(item.time)}};">
<text class="name">{{item.name}}</text>
<text class="teacher">{{item.teacher}}</text>
<text class="place">{{item.place}}</text>
</view>
</block>
</view>
</view>
</view>
```
3. `index.js` 文件内容:
```javascript
// 获取全局应用程序实例对象
const app = getApp()
// 定义页面对象
Page({
// 页面的初始数据
data: {
semesterList: ['1', '2', '3', '4'], // 学期列表
semester: 1, // 当前学期
courses: [], // 课程表数据
},
// 生命周期函数--监听页面加载
onLoad: function () {
this.setData({
courses: app.globalData.courses
})
},
// 生命周期函数--监听页面初次渲染完成
onReady: function () {
},
// 生命周期函数--监听页面显示
onShow: function () {
},
// 生命周期函数--监听页面隐藏
onHide: function () {
},
// 生命周期函数--监听页面卸载
onUnload: function () {
},
// 页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh: function () {
},
// 页面上拉触底事件的处理函数
onReachBottom: function () {
},
// 用户点击右上角分享
onShareAppMessage: function () {
},
// 监听学期选择器变化事件
onSemesterChange: function (e) {
this.setData({
semester: e.detail.value + 1
})
},
// 检查课程是否属于当前学期
checkCourse: function (course) {
return parseInt(course.time.charAt(1)) == this.data.semester
},
// 获取课程格子所在列数
getCol: function (time) {
return parseInt(time.charAt(3)) + 1
},
// 获取课程格子所在行数
getRow: function (time) {
return parseInt(time.charAt(6)) + 1
},
// 获取课程格子所占列数
getSpan: function (time) {
return parseInt(time.charAt(9)) - parseInt(time.charAt(3)) + 1
},
})
```
这个代码示例实现了一个简单的大学课程表小程序,包括主页、学期选择器、课程表格子等功能。其中,`app.js` 文件定义了全局数据,`index.wxml` 文件定义了小程序页面结构和布局,`index.js` 文件实现了小程序的逻辑处理。
阅读全文