commit 36b3061f86843a96135fb848dcba298535410df6 Author: wenc000 <450292408@qq.com> Date: Tue Jun 23 19:14:44 2020 +0800 提交 diff --git a/app.js b/app.js new file mode 100644 index 0000000..b545190 --- /dev/null +++ b/app.js @@ -0,0 +1,39 @@ +//app.js +App({ + onLaunch: function () { + // 展示本地存储能力 + var logs = wx.getStorageSync('logs') || [] + logs.unshift(Date.now()) + wx.setStorageSync('logs', logs) + + // 登录 + wx.login({ + success: res => { + // 发送 res.code 到后台换取 openId, sessionKey, unionId + } + }) + // 获取用户信息 + wx.getSetting({ + success: res => { + if (res.authSetting['scope.userInfo']) { + // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框 + wx.getUserInfo({ + success: res => { + // 可以将 res 发送给后台解码出 unionId + this.globalData.userInfo = res.userInfo + + // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + if (this.userInfoReadyCallback) { + this.userInfoReadyCallback(res) + } + } + }) + } + } + }) + }, + globalData: { + userInfo: null + } +}) \ No newline at end of file diff --git a/app.json b/app.json new file mode 100644 index 0000000..f3ba107 --- /dev/null +++ b/app.json @@ -0,0 +1,68 @@ +{ + "pages":[ + "pages/index/index", + "pages/volunteerRegister/volunteerRegister", + "pages/volunteer/volunteer", + "pages/heritage/heritage", + "pages/broadcastDetail/broadcastDetail", + "pages/venueDetail/venueDetail", + "pages/register/register", + "pages/login/login", + "pages/broadcast/broadcast", + "pages/newVolunteerActivity/newVolunteerActivity", + "pages/newTeam/newTeam", + "pages/volunteerTeam/volunteerTeam", + "pages/venue/venue", + "pages/center/center", + "pages/cultureDetail/cultureDetail", + "pages/activitySign/activitySign", + "pages/activityDetail/activityDetail", + "pages/activity/activity", + "pages/newsDetail/newsDetail" + ], + "window":{ + "backgroundTextStyle":"light", + "navigationBarBackgroundColor": "#9F1512", + "navigationBarTitleText": "日喀则数字文化馆", + "navigationBarTextStyle":"white" + }, + "tabBar": { + "color": "#BBBBBB", + "borderStyle": "black", + "selectedColor": "#000000", + "list": [ + { + "pagePath": "pages/index/index", + "iconPath": "images/index.png", + "text": "首页", + "selectedIconPath": "images/index-on.png" + }, + { + "pagePath": "pages/activity/activity", + "iconPath": "images/activity.png", + "text": "活动", + "selectedIconPath": "images/activity-on.png" + }, + { + "pagePath": "pages/venue/venue", + "iconPath": "images/venue.png", + "text": "场馆", + "selectedIconPath": "images/venue-on.png" + }, + { + "pagePath": "pages/heritage/heritage", + "iconPath": "images/culture.png", + "text": "文化", + "selectedIconPath": "images/culture-on.png" + }, + { + "pagePath": "pages/center/center", + "iconPath": "images/center.png", + "text": "我的", + "selectedIconPath": "images/center-on.png" + } + ] + }, + "style": "v2", + "sitemapLocation": "sitemap.json" +} diff --git a/app.wxss b/app.wxss new file mode 100644 index 0000000..06c6fc9 --- /dev/null +++ b/app.wxss @@ -0,0 +1,10 @@ +/**app.wxss**/ +.container { + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + padding: 200rpx 0; + box-sizing: border-box; +} diff --git a/images/activity-on.png b/images/activity-on.png new file mode 100644 index 0000000..1921173 Binary files /dev/null and b/images/activity-on.png differ diff --git a/images/activity.png b/images/activity.png new file mode 100644 index 0000000..3890866 Binary files /dev/null and b/images/activity.png differ diff --git a/images/address.png b/images/address.png new file mode 100644 index 0000000..c9efebc Binary files /dev/null and b/images/address.png differ diff --git a/images/avatar.png b/images/avatar.png new file mode 100644 index 0000000..0747ce1 Binary files /dev/null and b/images/avatar.png differ diff --git a/images/big-news.png b/images/big-news.png new file mode 100644 index 0000000..ac67a11 Binary files /dev/null and b/images/big-news.png differ diff --git a/images/center-bg.png b/images/center-bg.png new file mode 100644 index 0000000..81171ec Binary files /dev/null and b/images/center-bg.png differ diff --git a/images/center-on.png b/images/center-on.png new file mode 100644 index 0000000..c6113bb Binary files /dev/null and b/images/center-on.png differ diff --git a/images/center.png b/images/center.png new file mode 100644 index 0000000..a2171f0 Binary files /dev/null and b/images/center.png differ diff --git a/images/collect.png b/images/collect.png new file mode 100644 index 0000000..358f00c Binary files /dev/null and b/images/collect.png differ diff --git a/images/collected.png b/images/collected.png new file mode 100644 index 0000000..0956cff Binary files /dev/null and b/images/collected.png differ diff --git a/images/culture-on.png b/images/culture-on.png new file mode 100644 index 0000000..bed0091 Binary files /dev/null and b/images/culture-on.png differ diff --git a/images/culture-slide.png b/images/culture-slide.png new file mode 100644 index 0000000..44e6963 Binary files /dev/null and b/images/culture-slide.png differ diff --git a/images/culture.png b/images/culture.png new file mode 100644 index 0000000..5154da1 Binary files /dev/null and b/images/culture.png differ diff --git a/images/good.png b/images/good.png new file mode 100644 index 0000000..833f428 Binary files /dev/null and b/images/good.png differ diff --git a/images/index-on.png b/images/index-on.png new file mode 100644 index 0000000..11bb6f1 Binary files /dev/null and b/images/index-on.png differ diff --git a/images/index.png b/images/index.png new file mode 100644 index 0000000..6c08973 Binary files /dev/null and b/images/index.png differ diff --git a/images/login-bg.png b/images/login-bg.png new file mode 100644 index 0000000..cc87a61 Binary files /dev/null and b/images/login-bg.png differ diff --git a/images/logo.png b/images/logo.png new file mode 100644 index 0000000..97ec11b Binary files /dev/null and b/images/logo.png differ diff --git a/images/my-collect.png b/images/my-collect.png new file mode 100644 index 0000000..4f3f1cd Binary files /dev/null and b/images/my-collect.png differ diff --git a/images/my-comment.png b/images/my-comment.png new file mode 100644 index 0000000..448b590 Binary files /dev/null and b/images/my-comment.png differ diff --git a/images/my-sign.png b/images/my-sign.png new file mode 100644 index 0000000..09c9354 Binary files /dev/null and b/images/my-sign.png differ diff --git a/images/next.png b/images/next.png new file mode 100644 index 0000000..99dc194 Binary files /dev/null and b/images/next.png differ diff --git a/images/people.png b/images/people.png new file mode 100644 index 0000000..0c4cdd1 Binary files /dev/null and b/images/people.png differ diff --git a/images/person.png b/images/person.png new file mode 100644 index 0000000..8b4bea7 Binary files /dev/null and b/images/person.png differ diff --git a/images/prev.png b/images/prev.png new file mode 100644 index 0000000..190e558 Binary files /dev/null and b/images/prev.png differ diff --git a/images/select-tab.png b/images/select-tab.png new file mode 100644 index 0000000..6389bdb Binary files /dev/null and b/images/select-tab.png differ diff --git a/images/selected-l.png b/images/selected-l.png new file mode 100644 index 0000000..e2dccf4 Binary files /dev/null and b/images/selected-l.png differ diff --git a/images/selected-r.png b/images/selected-r.png new file mode 100644 index 0000000..13d9275 Binary files /dev/null and b/images/selected-r.png differ diff --git a/images/setting.png b/images/setting.png new file mode 100644 index 0000000..930c382 Binary files /dev/null and b/images/setting.png differ diff --git a/images/share.png b/images/share.png new file mode 100644 index 0000000..bd36ea8 Binary files /dev/null and b/images/share.png differ diff --git a/images/tab1.png b/images/tab1.png new file mode 100644 index 0000000..ca72309 Binary files /dev/null and b/images/tab1.png differ diff --git a/images/tab2.png b/images/tab2.png new file mode 100644 index 0000000..4a1a40d Binary files /dev/null and b/images/tab2.png differ diff --git a/images/tab3.png b/images/tab3.png new file mode 100644 index 0000000..38ea9ba Binary files /dev/null and b/images/tab3.png differ diff --git a/images/tab4.png b/images/tab4.png new file mode 100644 index 0000000..cd01619 Binary files /dev/null and b/images/tab4.png differ diff --git a/images/tab5.png b/images/tab5.png new file mode 100644 index 0000000..3d8f906 Binary files /dev/null and b/images/tab5.png differ diff --git a/images/team.png b/images/team.png new file mode 100644 index 0000000..9ae4c7f Binary files /dev/null and b/images/team.png differ diff --git a/images/time.png b/images/time.png new file mode 100644 index 0000000..e56443a Binary files /dev/null and b/images/time.png differ diff --git a/images/user-avatar.png b/images/user-avatar.png new file mode 100644 index 0000000..f8e61a9 Binary files /dev/null and b/images/user-avatar.png differ diff --git a/images/venue-on.png b/images/venue-on.png new file mode 100644 index 0000000..b03315d Binary files /dev/null and b/images/venue-on.png differ diff --git a/images/venue.png b/images/venue.png new file mode 100644 index 0000000..125f968 Binary files /dev/null and b/images/venue.png differ diff --git a/images/venue1.png b/images/venue1.png new file mode 100644 index 0000000..f989b9a Binary files /dev/null and b/images/venue1.png differ diff --git a/images/venue2.png b/images/venue2.png new file mode 100644 index 0000000..1456e5a Binary files /dev/null and b/images/venue2.png differ diff --git a/images/venue3.png b/images/venue3.png new file mode 100644 index 0000000..3a3d9b8 Binary files /dev/null and b/images/venue3.png differ diff --git a/images/view.png b/images/view.png new file mode 100644 index 0000000..8584a8f Binary files /dev/null and b/images/view.png differ diff --git a/pages/activity/activity.js b/pages/activity/activity.js new file mode 100644 index 0000000..201b727 --- /dev/null +++ b/pages/activity/activity.js @@ -0,0 +1,88 @@ +// pages/activity/activity.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + url: 'http://192.168.0.111:8080/culturalactivity/', + imgUrl: 'http://192.168.0.111:8080/culturalactivity/route/file/downloadfile/true/', + dataList: [] + }, + goDetail: function (e) { + var id = e.currentTarget.dataset.id; + wx.navigateTo({ + url: '../activityDetail/activityDetail?id=' + id + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var self = this; + wx.request({ + url: self.data.url + 'wxminiapp/activitylibrary/listpageactivitylibraryfornetrelease', + success: function(res) { + if('200' == res.statusCode) { + for(var item of res.data.rows) { + if('' != item.activityImage) { + item.activityImage = self.data.imgUrl + item.activityImage; + } + } + self.setData({ + dataList: res.data.rows, + }) + } + } + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/activity/activity.json b/pages/activity/activity.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/activity/activity.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/activity/activity.wxml b/pages/activity/activity.wxml new file mode 100644 index 0000000..a415140 --- /dev/null +++ b/pages/activity/activity.wxml @@ -0,0 +1,19 @@ + + + + + + + + {{item.activityTitle}} + 报名中 + 报名人数已满 + 停止报名 + 进行中 + 直接进入 + 已结束 + + {{item.activityStartTime}}至{{item.activityEndTime}} + + + \ No newline at end of file diff --git a/pages/activity/activity.wxss b/pages/activity/activity.wxss new file mode 100644 index 0000000..65152d2 --- /dev/null +++ b/pages/activity/activity.wxss @@ -0,0 +1,68 @@ +.activity{ + padding: 20rpx 30rpx 0; +} +.activity-box{ + margin-bottom: 20rpx; + box-shadow:0px 0px 17rpx 0px rgba(0,0,0,0.1); + border-radius: 10rpx; + overflow: hidden; +} +.activity-img{ + height: 320rpx; + position: relative; +} +.activity-img image{ + width: 100%; + height: 100%; +} +.corner{ + position: absolute; + top: 20rpx; + right: 20rpx; + display: flex; + color: #fff; +} +.corner view{ + padding: 0 10rpx; + background: rgba(0,0,0,0.6); + line-height: 40rpx; + vertical-align: middle; + display: flex; + align-items: center; + border-radius: 5rpx; +} +.view-count{ + margin-right: 20rpx; +} +.view-count image{ + width: 40rpx; + height: 40rpx; +} +.activity-info{ + padding: 15rpx 20rpx; +} +.title{ + display: flex; + justify-content: space-between; +} +.activity-title{ + width: 70%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + font-size: 30rpx; + color: #242424; + line-height: 40rpx; +} +.sign{ + background: rgba(159,21,18,.1); + color: #9F1512; + border-radius: 10rpx; + padding: 0 20rpx; + line-height: 40rpx; +} +.date{ + margin-top: 10rpx; + font-size: 22rpx; + color: #242424; +} \ No newline at end of file diff --git a/pages/activityDetail/activityDetail.js b/pages/activityDetail/activityDetail.js new file mode 100644 index 0000000..f7e8732 --- /dev/null +++ b/pages/activityDetail/activityDetail.js @@ -0,0 +1,84 @@ +// pages/activityDetail/activityDetail.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + url: 'http://192.168.0.111:8080/culturalactivity/', + imgUrl: 'http://192.168.0.111:8080/culturalactivity/route/file/downloadfile/true/', + dataMap: {} + }, + goSign: function () { + wx.navigateTo({ + url: '../activitySign/activitySign' + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var self = this; + var id = options.id; + wx.request({ + url: self.data.url + 'wxminiapp/activitylibrary/getactivitylibrarybyidrelease/' + id, + success: function(res) { + if('200' == res.statusCode) { + res.data.activityImage = self.data.imgUrl + res.data.activityImage; + self.setData({ + dataMap: res.data + }) + } + } + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/activityDetail/activityDetail.json b/pages/activityDetail/activityDetail.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/activityDetail/activityDetail.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/activityDetail/activityDetail.wxml b/pages/activityDetail/activityDetail.wxml new file mode 100644 index 0000000..35dfeb2 --- /dev/null +++ b/pages/activityDetail/activityDetail.wxml @@ -0,0 +1,46 @@ + + + + + {{dataMap.activityTitle}} + + + + 活动人数: + {{dataMap.activityUserNum }} + + + + 活动时间: + {{dataMap.activityStartTime}}至{{dataMap.activityEndTime}} + + + + 活动地址: + {{dataMap.activityAddress }} + + + + + 活动详情 + + + + 活动单位 + + + 主办单位:{{dataMap.activitySponsor}} + + + 承办单位:{{dataMap.activityOrganizer}} + + + 协办单位:{{dataMap.activityCoOrganizer}} + + + + + + + 报名 + diff --git a/pages/activityDetail/activityDetail.wxss b/pages/activityDetail/activityDetail.wxss new file mode 100644 index 0000000..40e403d --- /dev/null +++ b/pages/activityDetail/activityDetail.wxss @@ -0,0 +1,88 @@ +.activity-img, .activity-img image{ + width: 100%; + height: 480rpx; +} +.activity-detail{ + position: absolute; + left: 0; + right: 0; + top: 430rpx; + background: #fff; + border-radius:30rpx 30rpx 0px 0px; + overflow: hidden; + padding-bottom: 120rpx; +} +.activity-title, .activity-info{ + padding: 30rpx; + font-size: 32rpx; + color: #242424; + border-bottom: 5px solid #FBFBFB; +} +.activity-text{ + line-height: 35rpx; + font-size: 28rpx; + margin-bottom: 15rpx; +} +.activity-text:last-child{ + margin-bottom: 0; +} +.activity-info image{ + width: 35rpx; + height: 35rpx; + margin-right: 10rpx; + vertical-align: middle; + margin-top: -5rpx; +} +.activity-text text{ + color: #BBBBBB; +} +.activity-container{ + padding: 30rpx; +} +.part{ + margin-bottom: 30rpx; +} +.part:last-child{ + margin-bottom: 0; +} +.part-title{ + border-left: 3px solid #9F1512; + color: #242424; + padding-left: 10rpx; + font-size: 30rpx; + margin-bottom: 10rpx; +} +.part-content{ + font-size: 28rpx; + line-height: 40rpx; +} +.part-info{ + line-height: 50rpx; + color: #242424; + font-size: 28rpx; +} +.part-info text{ + color: #BBBBBB; +} +.sign-box{ + position: fixed; + bottom: 0; + left: 0; + right: 0; + box-shadow:0px 0px 17px 0px rgba(0,0,0,0.1); + height: 120rpx; + padding: 20rpx 30rpx; + box-sizing: border-box; + background: #fff; +} +.sign-btn{ + width: 100%; + height: 100%; + background: #9F1512; + border-radius: 10rpx; + display: flex; + justify-content: center; + align-items: center; + font-size: 30rpx; + color: #fff; +} \ No newline at end of file diff --git a/pages/activitySign/activitySign.js b/pages/activitySign/activitySign.js new file mode 100644 index 0000000..13e6be0 --- /dev/null +++ b/pages/activitySign/activitySign.js @@ -0,0 +1,66 @@ +// pages/activitySign/activitySign.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/activitySign/activitySign.json b/pages/activitySign/activitySign.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/activitySign/activitySign.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/activitySign/activitySign.wxml b/pages/activitySign/activitySign.wxml new file mode 100644 index 0000000..f4bcc14 --- /dev/null +++ b/pages/activitySign/activitySign.wxml @@ -0,0 +1,54 @@ + + + + + + 银保监会印发《关于加快推进意外金融风险… + + + + 活动人数: + + 100人 + + + + + 活动时间: + + 2020-02-03至2020-02-04 + + + + + 活动地址: + + 活动地址 + + + + + 填写信息 + + + 手机号: + + + + 验证码: + + 获取验证码 + + + 姓 名: + + + + 身份证: + + + + + + 立即报名 + \ No newline at end of file diff --git a/pages/activitySign/activitySign.wxss b/pages/activitySign/activitySign.wxss new file mode 100644 index 0000000..6282488 --- /dev/null +++ b/pages/activitySign/activitySign.wxss @@ -0,0 +1,97 @@ +.activity{ + padding: 30rpx; + border-bottom: 5px solid #EFEFEF; + display: flex; +} +.activity-img, .activity-img image{ + width: 290rpx; + height: 200rpx; + border-radius: 10rpx; +} +.activity-info{ + width: 370rpx; + margin-left: 20rpx; +} +.activity-title{ + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + font-size: 30rpx; + color: #242424; +} +.activity-text{ + display: flex; + font-size: 26rpx; +} +.activity-text view{ + flex-shrink: 0; + width: 50%; + word-break: break-all; +} +.activity-text image{ + width: 35rpx; + height: 35rpx; + margin-right: 10rpx; + vertical-align: middle; + margin-top: -5rpx; +} +.activity-text text{ + color: #BBB; +} +.personal{ + padding: 30rpx 30rpx 0; + margin-bottom: 120rpx; +} +.title{ + padding-left: 10rpx; + border-left: 3px solid #9F1512; + font-size: 32rpx; + color: #242424; +} +.info-box{ + padding: 20rpx 0; + border-bottom: 1px solid #EBEBEB; + font-size: 28rpx; + color: #242424; + line-height: 40rpx; + position: relative; +} +.info-box input{ + display: inline-block; + vertical-align: middle; + width: 300rpx; + height: 40rpx; + margin-top: -5rpx; +} +.get-code{ + position: absolute; + top: 15rpx; + right: 0; + height: 40rpx; + background: rgba(159,21,18,.1); + padding: 5rpx 10rpx; + color: #9F1512; + font-size: 26rpx; +} +.sign-box{ + position: fixed; + bottom: 0; + left: 0; + right: 0; + box-shadow:0px 0px 17px 0px rgba(0,0,0,0.1); + height: 120rpx; + padding: 20rpx 30rpx; + box-sizing: border-box; + background: #fff; +} +.sign-btn{ + width: 100%; + height: 100%; + background: #9F1512; + border-radius: 10rpx; + display: flex; + justify-content: center; + align-items: center; + font-size: 30rpx; + color: #fff; +} \ No newline at end of file diff --git a/pages/broadcast/broadcast.js b/pages/broadcast/broadcast.js new file mode 100644 index 0000000..8c585dc --- /dev/null +++ b/pages/broadcast/broadcast.js @@ -0,0 +1,70 @@ +// pages/broadcast/broadcast.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + goDetail: function () { + wx.navigateTo({ + url: '../broadcastDetail/broadcastDetail', + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/broadcast/broadcast.json b/pages/broadcast/broadcast.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/broadcast/broadcast.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/broadcast/broadcast.wxml b/pages/broadcast/broadcast.wxml new file mode 100644 index 0000000..01c2d47 --- /dev/null +++ b/pages/broadcast/broadcast.wxml @@ -0,0 +1,20 @@ + + + + + + + 银保监会印发《关于加快推进意外险改直播标题 + 2020-02-02 14:00:00至2020-02-03 14:00:00 + + + + + + + + 银保监会印发《关于加快推进意外险改直播标题 + 2020-02-02 14:00:00至2020-02-03 14:00:00 + + + \ No newline at end of file diff --git a/pages/broadcast/broadcast.wxss b/pages/broadcast/broadcast.wxss new file mode 100644 index 0000000..73a739e --- /dev/null +++ b/pages/broadcast/broadcast.wxss @@ -0,0 +1,28 @@ +.broadcast{ + padding: 30rpx; +} +.broadcast-box{ + box-shadow:0 0 17rpx 0 rgba(0,0,0,0.1); + border-radius:10rpx; + overflow: hidden; + margin-bottom: 20rpx; +} +.broadcast-img, .broadcast-img image{ + width: 100%; + height: 310rpx; +} +.broadcast-info{ + padding: 20rpx; +} +.name{ + font-size: 32rpx; + color: #242424; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.time{ + color: #242424; + font-size: 26rpx; + margin-top: 10rpx; +} \ No newline at end of file diff --git a/pages/broadcastDetail/broadcastDetail.js b/pages/broadcastDetail/broadcastDetail.js new file mode 100644 index 0000000..0b51a9e --- /dev/null +++ b/pages/broadcastDetail/broadcastDetail.js @@ -0,0 +1,75 @@ +function getRandomColor() { + const rgb = [] + for (let i = 0; i < 3; ++i) { + let color = Math.floor(Math.random() * 256).toString(16) + color = color.length === 1 ? '0' + color : color + rgb.push(color) + } + return '#' + rgb.join('') +} + +Page({ + data: { + src: '', + }, + + onShareAppMessage() { + return { + title: 'video', + path: 'page/component/pages/video/video' + } + }, + + onReady() { + this.videoContext = wx.createVideoContext('myVideo') + }, + + onHide() { + + }, + + inputValue: '', + + + bindInputBlur(e) { + this.inputValue = e.detail.value + }, + + bindButtonTap() { + const that = this + wx.chooseVideo({ + sourceType: ['album', 'camera'], + maxDuration: 60, + camera: ['front', 'back'], + success(res) { + that.setData({ + src: res.tempFilePath + }) + } + }) + }, + + bindVideoEnterPictureInPicture() { + console.log('进入小窗模式') + }, + + bindVideoLeavePictureInPicture() { + console.log('退出小窗模式') + }, + + bindPlayVideo() { + console.log('1') + this.videoContext.play() + }, + bindSendDanmu() { + this.videoContext.sendDanmu({ + text: this.inputValue, + color: getRandomColor() + }) + }, + + videoErrorCallback(e) { + console.log('视频错误信息:') + console.log(e.detail.errMsg) + } +}) \ No newline at end of file diff --git a/pages/broadcastDetail/broadcastDetail.json b/pages/broadcastDetail/broadcastDetail.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/broadcastDetail/broadcastDetail.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/broadcastDetail/broadcastDetail.wxml b/pages/broadcastDetail/broadcastDetail.wxml new file mode 100644 index 0000000..8cb725c --- /dev/null +++ b/pages/broadcastDetail/broadcastDetail.wxml @@ -0,0 +1,35 @@ + + + + + +银保监会印发《关于加快推进意外直播标题 + + + + 开始时间: + 2020-02-03 14:00:00 + + + + 结束时间: + 2020-02-03 14:00:00 + + + + 直播介绍 + 光拉便半运县写员二到院细天县见运命运感知争公着解全得律号深共权发市以家情军少先意单理样好族权达保很具你住红许气已第白知题候其然知王公众我头务族观经市指或七比生。适基历然题和低是局着先重信知议过说心龙素标安放大支入完二种设力果每角解收美约声里历美节办约管运但然新分活们心毛手过共点家或。革解快和特技县应精术被心走小器风育明油备己世国生往支因叫正心在备什新候流广这地。离克的却五北林越用变义按地界你值名证所局的况果被半去量片来参例形极别色部米老近和住例外七强可学变山意断群济。到报还省边速低起分力少族。 + \ No newline at end of file diff --git a/pages/broadcastDetail/broadcastDetail.wxss b/pages/broadcastDetail/broadcastDetail.wxss new file mode 100644 index 0000000..f58e660 --- /dev/null +++ b/pages/broadcastDetail/broadcastDetail.wxss @@ -0,0 +1,44 @@ +.broadcast{ + width: 100%; + height: 400rpx; + background: #D8D8D8; +} +video{ + width: 100%; + height: 400rpx; +} +.broadcast-title{ + padding: 30rpx; + font-size: 34rpx; + color: #242424; + border-bottom: 5px solid #FBFBFB; +} +.time{ + margin-bottom: 10rpx; +} +.broadcast-time{ + padding: 30rpx 30rpx 20rpx; + border-bottom: 5px solid #FBFBFB; + font-size: 30rpx; + color: #242424; +} +.broadcast-time image{ + width: 40rpx; + height: 40rpx; + vertical-align: middle; +} +.broadcast-intro{ + padding: 30rpx; +} +.broadcast-intro-title{ + padding-left: 15rpx; + border-left: 5px solid #9F1512; + font-size: 32rpx; + color: #242424; +} +.intro-text{ + font-size: 28rpx; + color: #5F5F5F; + line-height: 40rpx; + margin-top: 15rpx; +} \ No newline at end of file diff --git a/pages/center/center.js b/pages/center/center.js new file mode 100644 index 0000000..98689e9 --- /dev/null +++ b/pages/center/center.js @@ -0,0 +1,66 @@ +// pages/center/center.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/center/center.json b/pages/center/center.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/center/center.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/center/center.wxml b/pages/center/center.wxml new file mode 100644 index 0000000..f2d30b9 --- /dev/null +++ b/pages/center/center.wxml @@ -0,0 +1,32 @@ + + + + + + + + + 杜若无心 + + + 常用功能 + + + + 我的报名 + + + + 我的评论 + + + + 我的收藏 + + + + 设置 + + + + \ No newline at end of file diff --git a/pages/center/center.wxss b/pages/center/center.wxss new file mode 100644 index 0000000..6307e32 --- /dev/null +++ b/pages/center/center.wxss @@ -0,0 +1,66 @@ +.top-img, .top-img image{ + width: 100%; + height: 450rpx +} +.page-container{ + position: absolute; + top: 420rpx; + left: 0; + right: 0; + border-radius:31rpx 31rpx 0px 0px; + background: #fff; +} +.person{ + padding: 50rpx 30rpx 30rpx; + position: relative; + border-bottom: 3px solid #FBFBFB; +} +.user-avatar{ + width: 180rpx; + height: 180rpx; + border-radius: 50%; + overflow: hidden; + border: 2px solid #fff; + position: absolute; + left: 50%; + margin-left: -90rpx; + top: -150rpx; +} +.user-avatar image{ + width: 100%; + height: 100%; +} +.user-name{ + font-size: 32rpx; + text-align: center; + color: #242424; +} +.main{ + padding: 30rpx; +} +.main-title{ + border-left: 3px solid #9F1512; + padding-left: 10rpx; + font-size: 30rpx; + color: #242424; + margin-bottom: 20rpx; +} +.main-container{ + display: flex; + flex-wrap: wrap; +} +.main-box{ + width: 25%; + flex-shrink: 0; + text-align: center; + padding: 0 15rpx; + box-sizing: border-box; +} +.main-box image{ + width: 65rpx; + height: 65rpx; +} +.title{ + font-size: 28rpx; + color: #242424; +} \ No newline at end of file diff --git a/pages/cultureDetail/cultureDetail.js b/pages/cultureDetail/cultureDetail.js new file mode 100644 index 0000000..c9444ea --- /dev/null +++ b/pages/cultureDetail/cultureDetail.js @@ -0,0 +1,91 @@ +// pages/cultureDetail/cultureDetail.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + swiper: { + imgUrl: [ + '../../images/culture-slide.png', + '../../images/culture-slide.png', + '../../images/culture-slide.png' + ], + indicatorDots: false, + autoplay: true, + current: 0 + } + }, + prevImg: function () { + var swiper = this.data.swiper; + var current = swiper.current; + swiper.current = current > 0 ? current - 1 : swiper.imgUrl.length - 1; + this.setData({ + swiper: swiper, + }) + }, + nextImg: function() { + console.log(2); + var swiper = this.data.swiper; + var current = swiper.current; + swiper.current = current < (swiper.imgUrl.length - 1) ? current + 1 : 0; + this.setData({ + swiper: swiper, + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/cultureDetail/cultureDetail.json b/pages/cultureDetail/cultureDetail.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/cultureDetail/cultureDetail.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/cultureDetail/cultureDetail.wxml b/pages/cultureDetail/cultureDetail.wxml new file mode 100644 index 0000000..ceab619 --- /dev/null +++ b/pages/cultureDetail/cultureDetail.wxml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + 民间舞蹈 + + + + 项目编号: + EKLAJNKAS09 + + + 数据来源: + EKLAJNKAS09 + + + + + 公布时间: + 2020-02-03 + + + 非遗级别: + 三级 + + + + + 所属地区: + 西藏林芝市 + + + 类  型: + 新增项目 + + + + + 申报地区或单位: + 测试 + + + + + 保护单位: + 测试 + + + + + 相关描述 + + 光拉便半运县写员二到院细天县见运命运感知争公着解全得律号深共权发市以家情军少先意单理样好族权达保很具你住红许气已第白知题候其然知王公众我头务族观经市指或七比生。适基历然题和低是局着先重信知议过说心龙素标安放大支入完二种设力果每角解收美约声里历美节办约管运但然新分活们心毛手过共点家或。革解快和特技县应精术被心走小器风育相条际北些有品同自群素革拉林积张严求选马打书。力问业光者最论快决装争每保时造何历入越日劳经干好东此金区法思设断这层压很决给地确思引光各年与队太习面方加族社种斗表越划快。 + + + + 相关传承人 + + + 编  号: + EKLAJNKAS09 + + + 姓  名: + Ruby Pope + + + + + 性  别: + 男 + + + 出生日期: + 1989年5月23日 + + + + + 民  族: + 藏族 + + + + + + 报名 + diff --git a/pages/cultureDetail/cultureDetail.wxss b/pages/cultureDetail/cultureDetail.wxss new file mode 100644 index 0000000..20f017b --- /dev/null +++ b/pages/cultureDetail/cultureDetail.wxss @@ -0,0 +1,111 @@ +.culture-swiper, swiper, .swiper-img{ + width: 100%; + height: 850rpx; +} +.culture-swiper{ + position: relative; +} +.prev{ + width: 60rpx; + height: 100rpx; + position: absolute; + top: 50%; + left: 0rpx; + transform: translate(0, -50%); + background-color: rgba(0, 0, 0, 0.5); + border-top-right-radius: 100rpx; + border-bottom-right-radius: 100rpx; + display: flex; + justify-content: center; + align-items: center; +} +.next image, .prev image{ + width: 30rpx; + height: 30rpx; +} +.next{ + width: 60rpx; + height: 100rpx; + position: absolute; + top: 50%; + right: 0rpx; + transform: translate(0, -50%); + background-color: rgba(0, 0, 0, 0.5); + border-top-left-radius: 100rpx; + border-bottom-left-radius: 100rpx; + display: flex; + justify-content: center; + align-items: center; +} +.culture{ + position: absolute; + top: 800rpx; + left: 0; + right: 0; + border-radius:31rpx 31rpx 0px 0px; + background: #fff; + margin-bottom: 120rpx; +} +.culture-title{ + padding: 30rpx; + border-bottom: 3px solid #FBFBFB; + font-size: 34rpx; + color: #242424; +} +.culture-info{ + padding: 20rpx 30rpx; + border-bottom: 3px solid #FBFBFB; +} +.row{ + display: flex; +} +.info{ + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + font-size: 26rpx; + color: #242424; + padding-right: 10rpx; + line-height: 50rpx; +} +.info text{ + color: #BBBBBB; +} +.part{ + padding: 30rpx; + border-bottom: 3px solid #FBFBFB; +} +.part-title{ + font-size: 32rpx; + border-left: 3px solid #9F1512; + padding-left: 10rpx; + margin-bottom: 20rpx; +} +.part-content{ + font-size: 26rpx; + line-height: 40rpx; + color: #5F5F5F; +} +.sign-box{ + position: fixed; + bottom: 0; + left: 0; + right: 0; + box-shadow:0px 0px 17px 0px rgba(0,0,0,0.1); + height: 120rpx; + padding: 20rpx 30rpx; + box-sizing: border-box; + background: #fff; +} +.sign-btn{ + width: 100%; + height: 100%; + background: #9F1512; + border-radius: 10rpx; + display: flex; + justify-content: center; + align-items: center; + font-size: 30rpx; + color: #fff; +} \ No newline at end of file diff --git a/pages/heritage/heritage.js b/pages/heritage/heritage.js new file mode 100644 index 0000000..281ba87 --- /dev/null +++ b/pages/heritage/heritage.js @@ -0,0 +1,70 @@ +// pages/heritage/heritage.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + goDetail: function () { + wx.navigateTo({ + url: '../cultureDetail/cultureDetail', + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/heritage/heritage.json b/pages/heritage/heritage.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/heritage/heritage.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/heritage/heritage.wxml b/pages/heritage/heritage.wxml new file mode 100644 index 0000000..3321cbd --- /dev/null +++ b/pages/heritage/heritage.wxml @@ -0,0 +1,49 @@ + + + + 非遗数据库 + + + + 非遗数据库 + + + + 非遗数据库 + + + + + + + + + + 银保监会印发《关于加快推进意外险改… + + 2020-02-02 14:00:00至2020-02-03 14:00:00 + + + + + + + + + 银保监会印发《关于加快推进意外险改… + + 2020-02-02 14:00:00至2020-02-03 14:00:00 + + + + + + + + + 银保监会印发《关于加快推进意外险改… + + 2020-02-02 14:00:00至2020-02-03 14:00:00 + + + \ No newline at end of file diff --git a/pages/heritage/heritage.wxss b/pages/heritage/heritage.wxss new file mode 100644 index 0000000..8e5be0c --- /dev/null +++ b/pages/heritage/heritage.wxss @@ -0,0 +1,87 @@ +.top-select{ + position: fixed; + top: 0; + left: 0; + right: 0; + display: flex; + padding: 30rpx 30rpx 10rpx; + flex-wrap: nowrap; + overflow-x: auto; + background: #fff; + z-index: 100; +} +.select-box{ + flex-shrink: 0; + width: 25%; + padding: 0 10rpx; + box-sizing: border-box; + text-align: center; +} +.select-box image{ + width: 100rpx; + height: 100rpx; +} +.select-title{ + color: #242424; + font-size: 30rpx; + overflow: hidden; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} +.select-box.active .select-title{ + color: #9F1512; +} +.activity{ + padding: 20rpx 30rpx 0; + margin-top: 200rpx; +} +.activity-box{ + margin-bottom: 20rpx; + box-shadow:0px 0px 17rpx 0px rgba(0,0,0,0.1); + border-radius: 10rpx; + overflow: hidden; +} +.activity-img{ + height: 320rpx; + position: relative; +} +.activity-img image{ + width: 100%; + height: 100%; +} +.corner{ + position: absolute; + top: 20rpx; + right: 20rpx; + display: flex; + color: #fff; +} +.activity-info{ + padding: 10rpx; +} +.title{ + display: flex; + justify-content: space-between; +} +.activity-title{ + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + font-size: 30rpx; + color: #242424; + line-height: 40rpx; +} +.sign{ + background: rgba(159,21,18,.1); + color: #9F1512; + border-radius: 10rpx; + padding: 0 20rpx; + line-height: 40rpx; +} +.date{ + margin-top: 10rpx; + font-size: 22rpx; + color: #242424; +} \ No newline at end of file diff --git a/pages/index/index.js b/pages/index/index.js new file mode 100644 index 0000000..949f80c --- /dev/null +++ b/pages/index/index.js @@ -0,0 +1,131 @@ +Page({ + + /** + * 页面的初始数据 + */ + data: { + indicatorDots: true, + autoplay: true, + baseUrl: 'http://192.168.0.111:8888/volunteer/', + token: '', + key: '' + }, + doLogin: function() { + var self = this; + wx.login({ + success(res) { + console.log(res) + if(res.code) { + var WechatMiniAppLoginVO = {jsCode: res.code}; + wx.request({ + url: self.data.baseUrl + 'wxminiapp/auth/login', + method: 'post', + data: WechatMiniAppLoginVO, + success: function(res) { + self.setData({ + token: res.data.data + }) + wx.setStorage({ + data: res.data.data, + key: 'token' + }) + } + }) + }else { + console.log('登陆失败!' + res.errMsg); + } + } + }) + }, + goNewsDetail: function () { + wx.navigateTo({ + url: '../newsDetail/newsDetail', + }) + }, + goVolunteer: function () { + wx.navigateTo({ + url: '../volunteer/volunteer', + }) + }, + goBroadcast: function () { + wx.navigateTo({ + url: '../broadcast/broadcast', + }) + }, + goVenue: function () { + wx.switchTab({ + url: '../venue/venue', + }) + }, + goBroadcastDetail: function () { + wx.navigateTo({ + url: '../broadcastDetail/broadcastDetail', + }) + }, + goActivity: function () { + wx.switchTab({ + url: '../activity/activity', + }) + }, + goHeritage: function () { + wx.switchTab({ + url: '../heritage/heritage', + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var self = this; + self.doLogin(); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/index/index.json b/pages/index/index.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/index/index.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/index/index.wxml b/pages/index/index.wxml new file mode 100644 index 0000000..ab76d25 --- /dev/null +++ b/pages/index/index.wxml @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + 志愿者服务 + + + + 精品活动 + + + + 场馆导航 + + + + 非遗文化 + + + + 直播点播 + + + + + + + 精彩推荐 + + + + + + + + + + + + + + + + + + + + + + + + + + 新闻资讯 + + + + + 银保监会印发《关于加快推进意外险改革的意见》 + + 来源:百度 + 10评论 + 2020-03-02 + + + + 银保监会印发《关于加快推进意外险改革的意见》 + + + + + 来源:百度 + 10评论 + 2020-03-02 + + + + 银保监会印发《关于加快推进意外险改革的意见》 + + + + + + + 来源:百度 + 10评论 + 2020-03-02 + + + + + + + + 银保监会印发《关于加快推进意外险改革的意见》 + + 来源:百度 + 10评论 + 2020-03-02 + + + + + + + + + 直播专区 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pages/index/index.wxss b/pages/index/index.wxss new file mode 100644 index 0000000..0260508 --- /dev/null +++ b/pages/index/index.wxss @@ -0,0 +1,135 @@ +.swiper-box, .swiper-img, swiper{ + width: 100%; + height: 330rpx; +} +.tab{ + padding: 30rpx; + display: flex; + border-bottom: 5px solid #FBFBFB; +} +.tab-box{ + flex: 1; + text-align: center; +} +.tab-box image{ + width: 65rpx; + height: 65rpx; +} +.tab-title{ + font-size: 26rpx; +} +.recommend{ + padding: 30rpx; + border-bottom: 5px solid #FBFBFB; +} +.recommend-container{ + width: 100%; + display: flex; + overflow-x: auto; +} +.recommend-box{ + flex-shrink: 0; + width: 220rpx; + height: 130rpx; + border-radius: 10rpx; + overflow: hidden; + position: relative; + margin-right: 30rpx; +} +.recommend-box image{ + width: 100%; + height: 100%; +} +.public-title{ + text-align: center; +} +.title-text{ + display: inline-block; + font-size: 28rpx; + color: #9F1512; + padding: 0 15rpx 0; + position: relative; + margin-bottom: 15rpx; +} +.title-text image{ + position: absolute; + top: 0; + width: 10rpx; + height: 100%; +} +.selected-l{ + left: 0; +} +.selected-r{ + right: 0; +} +.news{ + padding: 30rpx; + border-bottom: 5px solid #FBFBFB; +} +.news-box{ + padding: 30rpx 0; + border-bottom: 1px solid #EBEBEB; + display: flex; + flex-direction: column; +} +.news-title{ + color: #242424; + font-size: 30rpx; + font-weight: bold; +} +.news-info{ + color: #949494; + margin-top: 15rpx; + font-size: 24rpx; +} +.news-info text{ + margin-right: 20rpx; +} +.news-big-pic, .news-small-pic{ + margin-top: 10rpx; +} +.news-big-pic image{ + width: 100%; +} +.news-small-pic image{ + width: 30%; + height: 150rpx; + margin-right: 20rpx; +} +.transverse-news{ + flex-direction: row; + justify-content: space-between; +} +.news-row-img{ + width: 30%; + height: 150rpx; +} +.news-row-img image{ + width: 100%; + height: 100%; +} +.news-row-info{ + width: 68%; +} +.broadcast{ + margin-top: 15rpx; + padding: 0 30rpx; +} +.broadcast-container{ + display: flex; + justify-content: space-between; + flex-wrap: wrap; +} +.broadcast-box{ + flex-shrink: 0; + width: 49%; + border-radius: 10rpx; + overflow: hidden; + height: 185rpx; + margin-bottom: 15rpx; +} +.broadcast-box image{ + width: 100%; + height: 100%; +} \ No newline at end of file diff --git a/pages/login/login.js b/pages/login/login.js new file mode 100644 index 0000000..6d0e5fe --- /dev/null +++ b/pages/login/login.js @@ -0,0 +1,66 @@ +// pages/login/login.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/login/login.json b/pages/login/login.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/login/login.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/login/login.wxml b/pages/login/login.wxml new file mode 100644 index 0000000..37ce7e4 --- /dev/null +++ b/pages/login/login.wxml @@ -0,0 +1,25 @@ + + + + + + + + 登录账号: + + + + + + 登录密码: + + + + + + + + 前往注册 + + +版权所有 \ No newline at end of file diff --git a/pages/login/login.wxss b/pages/login/login.wxss new file mode 100644 index 0000000..2ed4a3e --- /dev/null +++ b/pages/login/login.wxss @@ -0,0 +1,84 @@ +.login-top{ + width: 100%; + height: 610rpx; + position: relative; + text-align: center; +} +.login-bg{ + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: -1; +} +.logo{ + width: 295rpx; + height: 265rpx; + margin-top: 75rpx; +} +.login{ + position: absolute; + top: 410rpx; + left: 0; + right: 0; + padding: 0 30rpx; +} +.login-info{ + padding: 45rpx 30rpx; + background: #fff; + box-shadow:0 0 17rpx 0 rgba(0,0,0,0.1); + border-radius:10rpx; +} +.row{ + display: flex; + justify-content: space-between; + border-radius:6rpx; + border:2rpx solid rgba(237,237,237,1); + align-items: center; + height: 100rpx; +} +.row-title{ + width: 30%; + text-align: center; + color: #9F1512; + font-size: 28rpx; +} +.row-text{ + width: 69%; +} +.row-text input{ + width: 100%; + height: 100%; +} +.password{ + margin-top: 25rpx; +} +.login-btn-box{ + margin-top: 45rpx; +} +.login-btn, .register-btn{ + display: flex; + justify-content: center; + align-items: center; + height: 90rpx; + background:#9F1512; + border-radius: 10rpx; + font-size: 32rpx; + color: #fff; +} +.register-btn{ + margin-top: 20rpx; + background: #fff; + color: #9F1512; +} +.copyright{ + position: fixed; + bottom: 0; + left: 0; + right: 0; + padding: 20rpx 0; + font-size: 28rpx; + color: #949494; + text-align: center; +} \ No newline at end of file diff --git a/pages/newTeam/newTeam.js b/pages/newTeam/newTeam.js new file mode 100644 index 0000000..fb48765 --- /dev/null +++ b/pages/newTeam/newTeam.js @@ -0,0 +1,316 @@ +// pages/newTeam/newTeam.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + baseUrl: 'http://192.168.0.111:8888/volunteer/', + isAgree: false, // 是否同意志愿者注册协议 + index: 0, + array: ['区域1','区域2','区域3','区域4'], + photo: '', + teamName: '', + count:'', + teamWatchword: '', + content: '', + + tempObj: {}, // 用于临时存储字典表返回的数据 + tempArray: [], // 用于临时存储字典表返回的数据 + + teamCityIndex: 0, + teamCityResult: '请选择服务区域', + teamCity: {}, // 服务区域-市 + teamCityArray: [], // 服务区域-市 + + teamCountyIndex: 0, + teamCountyResult: '请选择旗县区', + teamCounty: {}, // 服务区域-旗县区 + teamCountyArray: [], // 服务区域-旗县区 + + teamAreaIndex: 0, + teamAreaResult: '请选择乡镇村', + teamArea: {}, // 服务区域-乡镇村 + teamAreaArray: [], // 服务区域-乡镇村 + + countyShowStatus: true, + areaShowStatus: true + }, + getToken: function() { + var self = this; + return new Promise(resolve =>{ + wx.getStorage({ + key: 'token', + success(res) { + self.setData({ + token: res.data + }) + return resolve(); + } + }) + }) + }, + bindPickerChange: function (e) { + this.setData({ + index: e.detail.value + }) + }, + /** + * 上传活动照片 + */ + uploadPhoto: function () { + var self = this + wx.chooseImage({ + success (res) { + const tempFilePaths = res.tempFilePaths + wx.uploadFile({ + url: self.data.baseUrl + 'app/file/uploadimage', + filePath: tempFilePaths[0], + name: 'image', + header: { + 'token': self.data.token + }, + formData: { + 'image': tempFilePaths[0] + }, + success (res){ + var data = res.data.substr(9, res.data.length); + data = data.substr(0, data.length - 2); + self.setData({ + photo: data + }) + }, + fail: function(res) { + console.log(res) + } + }) + } + }) + }, + cityChange: function(e) { + var self = this; + self.setData({ + teamCityIndex: e.detail.value, + areaShowStatus: true, + teamArea: {}, + teamAreaArray: [] + }) + + this.getDataFromDict(self.data.teamCity[self.data.teamCityIndex].dictionaryId, 2).then(result => { + if(self.data.tempObj.length > 0) { + self.setData({ + teamCounty: self.data.tempObj, + teamCountyArray: self.data.tempArray, + countyShowStatus: false, + tempObj: {}, + tempArray: [] + }) + }else { + self.setData({ + teamCounty: {}, + teamCountyArray: [], + countyShowStatus: true, + tempObj: {}, + tempArray: [] + }) + } + }); + }, + countyChange: function(e) { + var self = this; + self.setData({ + teamCountyIndex: e.detail.value + }) + + this.getDataFromDict(self.data.teamCounty[self.data.teamCountyIndex].dictionaryId, 2).then(result => { + if(self.data.tempObj.length > 0) { + self.setData({ + teamArea: self.data.tempObj, + teamAreaArray: self.data.tempArray, + areaShowStatus: false, + tempObj: {}, + tempArray: [] + }) + }else { + self.setData({ + teamArea: {}, + teamAreaArray: [], + areaShowStatus: true, + tempObj: {}, + tempArray: [] + }) + } + }) + }, + changeAgree: function (e) { + if(e.detail.value == ''){ + this.setData({ + isAgree: false + }) + }else{ + this.setData({ + isAgree: true + }) + } + }, + submitRegister: function () { + var self = this; + if(!self.data.isAgree) { + wx.showToast({ + title: '请阅读并同意《团队注册服务协议》', + icon: 'none', + duration: 1500 + }) + return false; + } + var teamVO = { + photo: self.data.photo, + teamName: self.data.teamName, + count:self.data.count, + teamWatchword: self.data.teamWatchword, + content: self.data.content, + agree: self.data.isAgree, + teamCity: self.data.teamCity[self.data.teamCityIndex] != '' + && self.data.teamCity[self.data.teamCityIndex] != null + && self.data.teamCity[self.data.teamCityIndex] != 'undefined' ? + self.data.teamCity[self.data.teamCityIndex].dictionaryId : + '', + teamCounty: self.data.teamCounty[self.data.teamCountyIndex] != '' + && self.data.teamCounty[self.data.teamCountyIndex] != null + && self.data.teamCounty[self.data.teamCountyIndex] != 'undefined' ? + self.data.teamCounty[self.data.teamCountyIndex].dictionaryId : + '', + teamArea: self.data.teamArea[self.data.teamAreaIndex] != '' + && self.data.teamArea[self.data.teamAreaIndex] != null + && self.data.teamArea[self.data.teamAreaIndex] != 'undefined' ? + self.data.teamArea[self.data.teamAreaIndex].dictionaryId : + '', + }; + wx.request({ + url: self.data.baseUrl + 'wxminiapp/team/saveteam', + method: 'POST', + header: { + 'token': self.data.token + }, + data: teamVO, + success(res) { + if(res.statusCode == 200) { + wx.showToast({ + title: '注册成功!', + icon: 'none', + duration: 1500 + }) + wx.navigateTo({ + url: '../volunteer/volunteer', + }) + }else { + console.log('登陆失败!' + res.errMsg); + } + } + }) + }, + /** + *从字典表拉取数据 + */ + getDataFromDict: function(dictId, type) { + var self = this; + return new Promise(resolve => { + wx.request({ + url: self.data.baseUrl + 'app/datadictionary/listdictionarybyparentid/' + dictId, + header: { + 'token': self.data.token + }, + success: function(res) { + if('200' == res.statusCode) { + if(res.data || type === 2) { + var array = []; + for(var item of res.data) { + delete item.dictionaryParentId; + delete item.dictionaryParentName; + delete item.dictionarySummary; + delete item.dictionaryCode; + delete item.dictionarySort; + delete item.subDictionary; + delete item.parent; + + array.push(item.dictionaryName); + } + self.setData({ + tempArray: array + }) + } + self.setData({ + tempObj: res.data + }) + } + return resolve(); + } + }) + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var self = this; + this.getToken().then(result => { + this.getDataFromDict('4a03e904-81e2-48e9-9006-e15ea4a6bc69', 2).then(result => { + self.setData({ + teamCity: self.data.tempObj, + teamCityArray: self.data.tempArray, + tempObj: {}, + tempArray: [] + }) + }) + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/newTeam/newTeam.json b/pages/newTeam/newTeam.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/newTeam/newTeam.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/newTeam/newTeam.wxml b/pages/newTeam/newTeam.wxml new file mode 100644 index 0000000..55fe14c --- /dev/null +++ b/pages/newTeam/newTeam.wxml @@ -0,0 +1,75 @@ + + + 团队头像: + + + + + + + 团队名称: + + + + + + 人数限制: + + + + + + 团队口号: + + + + + + 市: + + + + {{teamCityArray[teamCityIndex]}} + + + + + + + + 团队介绍: + + + + + + + + + + + + + 立即注册 + + \ No newline at end of file diff --git a/pages/newTeam/newTeam.wxss b/pages/newTeam/newTeam.wxss new file mode 100644 index 0000000..0b4573b --- /dev/null +++ b/pages/newTeam/newTeam.wxss @@ -0,0 +1,76 @@ +.new-team{ + padding: 0 30rpx; +} +.row{ + display: flex; + justify-content: space-between; + height: 90rpx; +} +.row-title{ + line-height: 90rpx; + color: #242424; + font-size: 32rpx; + width: 24%; +} +.row-text{ + width: 75%; + display: flex; + align-items: center; + border-bottom: 1px solid #EBEBEB; +} +.row-text input{ + width: 100%; + height: 100%; +} +picker{ + width: 100%; + height: 100%; + line-height: 90rpx; +} +laebl{ + margin-right: 30rpx; +} +.intro, .intro textarea{ + height: 230rpx; +} +.intro textarea{ + padding: 26rpx 0; + box-sizing: border-box; + font-size: 32rpx; +} +.create{ + position: fixed; + bottom: 0; + left: 0; + right: 0; + padding: 0 30rpx 30rpx; + background: #fff; +} +.agree{ + display: flex; + align-items: center; + font-size: 30rpx; + padding-top: 5rpx; +} +.agree-checkbox{ + transform: scale(0.8,0.8); +} +.create-btn{ + background: #9F1512; + height: 80rpx; + border-radius: 10rpx; + color: #fff; + font-size: 32rpx; + display: flex; + justify-content: center; + align-items: center; + margin-top: 15rpx; +} +label{ + margin-right: 30rpx; +} +.info-text{ + width: 77%; + font-size: 26rpx; + height: 55rpx; +} \ No newline at end of file diff --git a/pages/newVolunteerActivity/newVolunteerActivity.js b/pages/newVolunteerActivity/newVolunteerActivity.js new file mode 100644 index 0000000..f4ae9b9 --- /dev/null +++ b/pages/newVolunteerActivity/newVolunteerActivity.js @@ -0,0 +1,246 @@ +// pages/newVolunteerActivity/newVolunteerActivity.js +var util = require('../../utils/util.js'); +Page({ + + /** + * 页面的初始数据 + */ + data: { + baseUrl: 'http://192.168.0.111:8888/volunteer/', + token: '', + startDate: '', + endDate: '', + serviceName: '', // 名称 + serviceContent: '', // 活动内容 + address: '', // 活动地址 + serviceReward: '', // 服务奖补 + linkMan: '', // 联系人 + linkTel: '', // 联系人联系方式 + count: '', // 志愿者数量 + introduce: '', // 活动介绍 + voluntaryType: 1, // 类型 + tempFilePaths: '', // 宣传图片 + photo: '', // 宣传图片 + serviceRequirement: '', // 服务要求 + }, + getToken: function() { + var self = this; + return new Promise(resolve =>{ + wx.getStorage({ + key: 'token', + success(res) { + self.setData({ + token: res.data + }) + return resolve(); + } + }) + }) + }, + bindDateChange: function(e) { + console.log('picker发送选择改变,携带值为', e.detail.value) + this.setData({ + date: e.detail.value + }) + }, + dateDafault: function() { + // 设置日期选择框为当前日期 + var self = this; + var TIME = util.formatDate(new Date()); + self.setData({ + startDate: TIME, + endDate: TIME + }) + }, + /** + * 选择志愿者或者团队类型 + */ + changeType: function(e) { + if(e.detail.value == 1){ + this.setData({ + voluntaryType : 1 + }) + }else{ + this.setData({ + voluntaryType : 2 + }) + } + }, + /** + * 上传活动照片 + */ + uploadPhoto: function () { + var self = this + wx.chooseImage({ + success (res) { + const tempFilePaths = res.tempFilePaths + wx.uploadFile({ + url: self.data.baseUrl + 'app/file/uploadimage', + filePath: tempFilePaths[0], + name: 'image', + header: { + 'token': self.data.token + }, + formData: { + 'image': tempFilePaths[0] + }, + success (res){ + var data = res.data.substr(9, res.data.length); + data = data.substr(0, data.length - 2); + self.setData({ + photo: data + }) + }, + fail: function(res) { + console.log(res) + } + }) + } + }) + }, + submitRegister: function () { + var self = this; + if(!self.data.serviceName) { + wx.showToast({ + title: '活动名称不能为空', + icon: 'none', + duration: 1500 + }) + return false; + } + if(!self.data.serviceContent) { + wx.showToast({ + title: '活动内容不能为空', + icon: 'none', + duration: 1500 + }) + return false; + } + if(!self.data.address) { + wx.showToast({ + title: '活动地址不能为空', + icon: 'none', + duration: 1500 + }) + return false; + } + if(!self.data.linkMan) { + wx.showToast({ + title: '活动联系人不能为空', + icon: 'none', + duration: 1500 + }) + return false; + } + if(!self.data.address) { + wx.showToast({ + title: '联系方式不能为空', + icon: 'none', + duration: 1500 + }) + return false; + } + if(!self.data.count) { + wx.showToast({ + title: '数量不能为空', + icon: 'none', + duration: 1500 + }) + return false; + } + console.log(self.data.startDate) + var volunteerServiceVO = { + serviceName: self.data.serviceName, + serviceContent: self.data.serviceContent, + address: self.data.address, + serviceReward: self.data.serviceReward, + linkMan: self.data.linkMan, + linkTel: self.data.linkTel, + voluntaryType: self.data.voluntaryType, + count: self.data.count, + introduce: self.data.introduce, + startTime: self.data.startDate, + endTime: self.data.endDate, + photo: self.data.photo, + serviceRequirement: self.data.serviceRequirement + }; + wx.request({ + url: self.data.baseUrl + 'wxminiapp/volunteerservice/savevolunteerservice', + method: 'POST', + header: { + 'token': self.data.token + }, + data: volunteerServiceVO, + success(res) { + if(res.statusCode == 200) { + wx.showToast({ + title: '活动发布成功!', + icon: 'none', + duration: 1500 + }) + wx.navigateTo({ + url: '../volunteer/volunteer', + }) + }else { + console.log('登陆失败!' + res.errMsg); + } + } + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + this.dateDafault(); + this.getToken(); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/newVolunteerActivity/newVolunteerActivity.json b/pages/newVolunteerActivity/newVolunteerActivity.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/newVolunteerActivity/newVolunteerActivity.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/newVolunteerActivity/newVolunteerActivity.wxml b/pages/newVolunteerActivity/newVolunteerActivity.wxml new file mode 100644 index 0000000..4dde695 --- /dev/null +++ b/pages/newVolunteerActivity/newVolunteerActivity.wxml @@ -0,0 +1,98 @@ + + + 活动名称: + + + + + + 活动内容: + + + + + + 活动地址: + + + + + + 服务奖补: + + + + + + 服务要求: + + + + + + 联系人: + + + + + + 联系方式: + + + + + + 类型: + + + + + + + + 数量: + + + + + + 活动简介: + + + + + + 开始时间: + + + + {{startDate}} + + + + + + 结束时间: + + + + {{endDate}} + + + + + + 宣传图片: + + + + + + + + 立即发起 + + \ No newline at end of file diff --git a/pages/newVolunteerActivity/newVolunteerActivity.wxss b/pages/newVolunteerActivity/newVolunteerActivity.wxss new file mode 100644 index 0000000..33eab65 --- /dev/null +++ b/pages/newVolunteerActivity/newVolunteerActivity.wxss @@ -0,0 +1,75 @@ +.new-team{ + padding: 0 30rpx; + margin-bottom: 140rpx; +} +.row{ + display: flex; + justify-content: space-between; + height: 90rpx; +} +.row-title{ + line-height: 90rpx; + color: #242424; + font-size: 32rpx; + width: 24%; +} +.row-text{ + width: 75%; + display: flex; + align-items: center; + border-bottom: 1px solid #EBEBEB; +} +.row-text input{ + width: 100%; + height: 100%; +} +picker{ + width: 100%; + height: 100%; + line-height: 90rpx; +} +.intro, .intro textarea{ + height: 230rpx; +} +.intro textarea{ + padding: 26rpx 0; + box-sizing: border-box; + font-size: 32rpx; +} +.create{ + position: fixed; + bottom: 0; + left: 0; + right: 0; + padding: 15rpx 30rpx; + background: #fff; + box-shadow:0 0 17rpx 0 rgba(0,0,0,0.1); +} +.create-btn{ + background: #9F1512; + height: 80rpx; + border-radius: 10rpx; + color: #fff; + font-size: 32rpx; + display: flex; + justify-content: center; + align-items: center; +} +.img-row{ + height: auto; +} +.img-row .row-text{ + padding-top: 20rpx; + display: flex; + flex-wrap: wrap; + justify-content: space-between; +} +.row-img{ + width: 240rpx; + height: 130rpx; + margin-right: 20rpx; + margin-bottom: 20rpx; +} +.row-img:nth-child(even){ + margin-right: 0; +} \ No newline at end of file diff --git a/pages/newsDetail/newsDetail.js b/pages/newsDetail/newsDetail.js new file mode 100644 index 0000000..b08b40a --- /dev/null +++ b/pages/newsDetail/newsDetail.js @@ -0,0 +1,66 @@ +// pages/newsDetail/newsDetail.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/newsDetail/newsDetail.json b/pages/newsDetail/newsDetail.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/newsDetail/newsDetail.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/newsDetail/newsDetail.wxml b/pages/newsDetail/newsDetail.wxml new file mode 100644 index 0000000..9146010 --- /dev/null +++ b/pages/newsDetail/newsDetail.wxml @@ -0,0 +1,93 @@ + + 银保监会印发《关于加快推进意外险改革的意见》 + + 来源 + 2020-02-02 + + + + 大量的小号被封杀,基于小号和社群建立起来的粉丝用户体系,一朝回到解放前。 + 微信这番操作,也是告诉大家,没有私域流量,只能按照我的路子来。要么公众号,要么企业微信。 + 今天早上和业务团队聊了一下,感觉企业微信还是任重而道远,由于企业微信的能力开放有限,想大规模的玩起来,还需要一点时间积累。 + 现在,在企业微信能力开放之前,最好的粉丝载体,还是要回到微信公众号。 + 但微信公众号的限制,也是非常严格的,完全无法通过阅读情况,判断用户的喜好和特定,那产品经理该如何提供策略工具,为搭建公众号下的用户分层体系呢? + + + + + + + + + 王耿 + 200 + + + 评论内容评论内容评论内容评论内容评论内容评论内容评论内容 + + + 1天前 + 回复 + + + + + + + + + + 王耿 + 200 + + + 评论内容评论内容评论内容评论内容评论内容评论内容评论内容 + + + 1天前 + 回复 + + + + 王耿: + 回复内容回复内容回复内容回复内容回复内容回复内容回复内容回复内容 + + + + + + + + + + + 王耿 + 200 + + + 评论内容评论内容评论内容评论内容评论内容评论内容评论内容 + + + + + + + 1天前 + 回复 + + + + + + + 请填写你的评论 + + + + + + + + \ No newline at end of file diff --git a/pages/newsDetail/newsDetail.wxss b/pages/newsDetail/newsDetail.wxss new file mode 100644 index 0000000..d7adf34 --- /dev/null +++ b/pages/newsDetail/newsDetail.wxss @@ -0,0 +1,127 @@ +/* page{ + background: #d2e0f6; +} */ +.news-title{ + padding: 20rpx 30rpx; +} +.title{ + font-size: 34rpx; + font-weight: bold; + color: #242424; + text-align: center; +} +.news-info{ + font-size: 28rpx; + color: #949494; +} +.news-info text{ + margin-right: 30rpx; +} +.news-content{ + padding: 0 30rpx 10rpx; + font-size: 32rpx; + color: #242424; + line-height: 50rpx; + border-bottom: 5px solid #d2e0f6; +} +.comment{ + padding: 30rpx; + margin-bottom: 95rpx; +} +.commnet-box{ + display: flex; + justify-content: space-between; + margin-bottom: 10rpx; +} +.commnet-box view{ + flex-shrink: 0; +} +.commnet-avatar, .commnet-avatar image{ + width: 50rpx; + height: 50rpx; +} +.comment-right{ + width: 620rpx; + padding-bottom: 20rpx; + border-bottom: 1px solid #EBEBEB; +} +.comment-people{ + display: flex; + font-size: 22rpx; + color: #B1B1B1; + justify-content: space-between; + vertical-align: middle; + line-height: 40rpx; +} +.comment-people image{ + width: 40rpx; + height: 40rpx; + vertical-align: top; +} +.comment-content{ + font-size: 30rpx; + color: #242424; + line-height: 40rpx; + margin: 10rpx 0; +} +.date-reply{ + font-size: 24rpx; +} +.date{ + color: #949494; + margin-right: 20rpx; +} +.reply{ + color: #242424; +} +.reply-box{ + padding: 20rpx; + background: #EDEDED; + font-size: 24rpx; + margin-top: 10rpx; + line-height: 40rpx; +} +.reply-people{ + color: #242424; +} +.comment-img{ + margin: 10rpx 0; +} +.comment-img image{ + width: 30%; + height: 150rpx; + margin-right: 15rpx; +} +.page-bottom{ + position: fixed; + left: 0; + right: 0; + bottom: 0; + padding: 10rpx 30rpx; + height: 90rpx; + box-sizing: border-box; + background: #fff; + box-shadow:0px 0px 17px 0px rgba(0,0,0,0.1); + display: flex; + justify-content: space-between; +} +.do-comment{ + width: 500rpx; + padding: 0 20rpx; + height: 100%; + background: #EDEDED; + flex-shrink: 0; + display: flex; + align-items: center; + color: #B1B1B1; + font-size: 26rpx; +} +.btn-box{ + width: 150rpx; + display: flex; + justify-content: space-between; +} +.collect, .share, .collect image, .share image{ + width: 70rpx; + height: 100%; +} \ No newline at end of file diff --git a/pages/register/register.js b/pages/register/register.js new file mode 100644 index 0000000..1513315 --- /dev/null +++ b/pages/register/register.js @@ -0,0 +1,66 @@ +// pages/register/register.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/register/register.json b/pages/register/register.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/register/register.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/register/register.wxml b/pages/register/register.wxml new file mode 100644 index 0000000..b8a1e9b --- /dev/null +++ b/pages/register/register.wxml @@ -0,0 +1,56 @@ + + + 登录账号: + + + + + + 是否公开: + + + + + + + + + 手机号: + + + + + + 验证码: + + + 获取验证码 + + + + 姓 名: + + + + + + 身份证: + + + + + + + + + + + 立即注册 + + \ No newline at end of file diff --git a/pages/register/register.wxss b/pages/register/register.wxss new file mode 100644 index 0000000..eb0d118 --- /dev/null +++ b/pages/register/register.wxss @@ -0,0 +1,83 @@ +.new-team{ + padding: 0 30rpx; +} +.row{ + display: flex; + justify-content: space-between; + height: 90rpx; +} +.row-title{ + line-height: 90rpx; + color: #242424; + font-size: 32rpx; + width: 24%; +} +.row-text{ + width: 75%; + display: flex; + align-items: center; + border-bottom: 1px solid #EBEBEB; +} +label{ + margin-right: 30rpx; +} +.row-text input{ + width: 100%; + height: 100%; +} +.row-text input.yzm{ + width: 70%; + padding-right: 10rpx; + box-sizing: border-box; +} +.get-yzm{ + display: inline-block; + width: 30%; + height: 40rpx; + background: rgba(159,21,18,.1); + color: #9F1512; + font-size: 26rpx; + text-align: center; + line-height: 40rpx; +} +picker{ + width: 100%; + height: 100%; + line-height: 90rpx; +} +.intro, .intro textarea{ + height: 230rpx; +} +.intro textarea{ + padding: 26rpx 0; + box-sizing: border-box; + font-size: 32rpx; +} +.create{ + position: fixed; + bottom: 0; + left: 0; + right: 0; + padding: 0 30rpx 30rpx; + background: #fff; +} +.agree{ + display: flex; + align-items: center; + font-size: 30rpx; + padding-top: 5rpx; +} +.agree-checkbox{ + transform: scale(0.8,0.8); +} +.create-btn{ + background: #9F1512; + height: 80rpx; + border-radius: 10rpx; + color: #fff; + font-size: 32rpx; + display: flex; + justify-content: center; + align-items: center; + margin-top: 15rpx; +} \ No newline at end of file diff --git a/pages/serviceActivityDetail/serviceActivityDetail.js b/pages/serviceActivityDetail/serviceActivityDetail.js new file mode 100644 index 0000000..0344101 --- /dev/null +++ b/pages/serviceActivityDetail/serviceActivityDetail.js @@ -0,0 +1,107 @@ +// pages/activityDetail/activityDetail.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + url: 'http://192.168.0.111:8888/volunteer/', + imgUrl: 'http://192.168.0.111:8888/volunteer/route/file/downloadfile/true/', + dataMap: {}, + token: '' + }, + getToken: function() { + var self = this; + return new Promise(resolve =>{ + wx.getStorage({ + key: 'token', + success(res) { + self.setData({ + token: res.data + }) + return resolve(); + } + }) + }) + }, + goSign: function () { + wx.navigateTo({ + url: '../activitySign/activitySign' + }) + }, + getDetail: function(id) { + var self = this; + wx.request({ + url: self.data.url + 'wxminiapp/volunteerservice/getvolunteerservicebyid/' + id, + header: { + 'token': self.data.token + }, + success: function(res) { + if('200' == res.statusCode) { + res.data.photo = self.data.imgUrl + res.data.photo; + self.setData({ + dataMap: res.data + }) + } + } + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var id = options.id; + this.getToken().then(result => { + this.getDetail(id); + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/serviceActivityDetail/serviceActivityDetail.json b/pages/serviceActivityDetail/serviceActivityDetail.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/serviceActivityDetail/serviceActivityDetail.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/serviceActivityDetail/serviceActivityDetail.wxml b/pages/serviceActivityDetail/serviceActivityDetail.wxml new file mode 100644 index 0000000..dc7286b --- /dev/null +++ b/pages/serviceActivityDetail/serviceActivityDetail.wxml @@ -0,0 +1,32 @@ + + + + + {{dataMap.serviceName}} + + + + 活动人数: + {{dataMap.count }} + + + + 活动时间: + {{dataMap.startTime}}至{{dataMap.endTime}} + + + + 活动地址: + {{dataMap.address }} + + + + + 活动详情 + + + + + + 报名 + diff --git a/pages/serviceActivityDetail/serviceActivityDetail.wxss b/pages/serviceActivityDetail/serviceActivityDetail.wxss new file mode 100644 index 0000000..40e403d --- /dev/null +++ b/pages/serviceActivityDetail/serviceActivityDetail.wxss @@ -0,0 +1,88 @@ +.activity-img, .activity-img image{ + width: 100%; + height: 480rpx; +} +.activity-detail{ + position: absolute; + left: 0; + right: 0; + top: 430rpx; + background: #fff; + border-radius:30rpx 30rpx 0px 0px; + overflow: hidden; + padding-bottom: 120rpx; +} +.activity-title, .activity-info{ + padding: 30rpx; + font-size: 32rpx; + color: #242424; + border-bottom: 5px solid #FBFBFB; +} +.activity-text{ + line-height: 35rpx; + font-size: 28rpx; + margin-bottom: 15rpx; +} +.activity-text:last-child{ + margin-bottom: 0; +} +.activity-info image{ + width: 35rpx; + height: 35rpx; + margin-right: 10rpx; + vertical-align: middle; + margin-top: -5rpx; +} +.activity-text text{ + color: #BBBBBB; +} +.activity-container{ + padding: 30rpx; +} +.part{ + margin-bottom: 30rpx; +} +.part:last-child{ + margin-bottom: 0; +} +.part-title{ + border-left: 3px solid #9F1512; + color: #242424; + padding-left: 10rpx; + font-size: 30rpx; + margin-bottom: 10rpx; +} +.part-content{ + font-size: 28rpx; + line-height: 40rpx; +} +.part-info{ + line-height: 50rpx; + color: #242424; + font-size: 28rpx; +} +.part-info text{ + color: #BBBBBB; +} +.sign-box{ + position: fixed; + bottom: 0; + left: 0; + right: 0; + box-shadow:0px 0px 17px 0px rgba(0,0,0,0.1); + height: 120rpx; + padding: 20rpx 30rpx; + box-sizing: border-box; + background: #fff; +} +.sign-btn{ + width: 100%; + height: 100%; + background: #9F1512; + border-radius: 10rpx; + display: flex; + justify-content: center; + align-items: center; + font-size: 30rpx; + color: #fff; +} \ No newline at end of file diff --git a/pages/venue/venue.js b/pages/venue/venue.js new file mode 100644 index 0000000..20fdd62 --- /dev/null +++ b/pages/venue/venue.js @@ -0,0 +1,180 @@ +// pages/venue/venue.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + baseUrl : 'http://192.168.0.109:8082/venuebooking/', + imgRoute : 'route/file/downloadfile/true/', + venueTypeParentId : 'df8b758c-f6d8-465a-9aa8-c451fde47076', + page : '1', + rows : '10', + venueTypeList: [], + venuesList: [], + orderKey : '', + venueType : '', + latitude: '', + longitude: '' + }, + + //获取定位 + getLocation: function () { + var self = this; + wx.getLocation({ + type: 'gcj02', + success: function (res) { + self.setData({ + latitude: res.latitude, + longitude: res.longitude + }) + }, + complete: function(){ + self.listPageVenuesInfo(); + } + }) + }, + + //获取场馆分类 + listVenueType : function(){ + var self = this; + wx.request({ + url: self.data.baseUrl + 'app/venuedictionary/listvenuedictionarybyparentidrelease/' + self.data.venueTypeParentId, + success : function(res){ + var data = res.data; + self.setData({ + venueTypeList : data.data + }) + } + }) + }, + + //获取场馆列表 + listPageVenuesInfo : function(){ + var self = this; + wx.request({ + url: self.data.baseUrl + 'app/venuesinfo/listpagevenuesinforelease', + data : { + page : self.data.page, + rows : self.data.rows, + orderKey : self.data.orderKey, + venueType : self.data.venueType, + latitude: self.data.latitude, + longitude: self.data.longitude, + selfLocation: 'TX', + }, + success : function(res){ + var data = res.data; + data.rows.forEach(element => { + element.venuePanorama = element.venuePanorama.split(',')[0]; + if(element.apart >= 1000){ + element.apart = (element.apart / 1000).toFixed(2) + 'km'; + } else { + element.apart += 'm'; + } + }); + self.setData({ + venuesList : data.rows, + page : data.page + }) + + } + }) + }, + + //切换场馆类型 + changeVenueType: function(options){ + var id = options.currentTarget.dataset.id; + if(id == this.data.venueType){ + id = '' + } + this.setData({ + venueType : id + }) + this.listPageVenuesInfo(); + }, + + //切换场馆排序 + changeVenuesOrderBy: function(options){ + var beCheck = options.currentTarget.dataset.becheck; + console.log(options); + this.setData({ + orderKey : beCheck + }) + this.listPageVenuesInfo(); + }, + + //去详情页 + goDetail: function (options) { + var venuesInfoId = options.currentTarget.dataset.id; + wx.navigateTo({ + url: '../venueDetail/venueDetail?venuesInfoId=' + venuesInfoId, + }) + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + this.listVenueType(); + this.getLocation(); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + wx.showNavigationBarLoading(); + this.setData({ + venueType: '', + orderKey: '', + }) + this.onLoad(); + setTimeout(() => { + wx.hideNavigationBarLoading() + wx.stopPullDownRefresh() + }, 500); + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/venue/venue.json b/pages/venue/venue.json new file mode 100644 index 0000000..09e623a --- /dev/null +++ b/pages/venue/venue.json @@ -0,0 +1,5 @@ +{ + "usingComponents": {}, + "enablePullDownRefresh": true, + "backgroundTextStyle": "dark" +} \ No newline at end of file diff --git a/pages/venue/venue.wxml b/pages/venue/venue.wxml new file mode 100644 index 0000000..2a510c2 --- /dev/null +++ b/pages/venue/venue.wxml @@ -0,0 +1,33 @@ + + + + + {{item.dictionaryName}} + + + + + 默认排序 + + + 离我最近 + + + 最新发布 + + + + + + + + + + + {{item.venueName}} + 距离:{{item.apart == '0' ? '未知' : item.apart}} + + 营业时间:{{item.businessHours}} + + + diff --git a/pages/venue/venue.wxss b/pages/venue/venue.wxss new file mode 100644 index 0000000..d692850 --- /dev/null +++ b/pages/venue/venue.wxss @@ -0,0 +1,86 @@ +.fixed-top{ + position: fixed; + top: 0; + left: 0; + right: 0; + padding: 0 30rpx; +} +.fixed-tab{ + padding: 30rpx 0; + display: flex; + overflow-x: auto; +} +.tab-box{ + flex-shrink: 0; + width: 120rpx; + text-align: center; + margin-right: 40rpx; +} +.tab-box image{ + width: 80rpx; + height: 80rpx; +} +.tab-title{ + font-size: 28rpx; + color: #242424; +} +.tab-box.active .tab-title{ + color: #9F1512; +} +.select-tab{ + display: flex; +} +.select-box{ + flex: 1; + text-align: center; + font-size: 28rpx; + color: #242424; +} +.select-box.active{ + color: #9F1512; + font-weight: bold; +} +.venue{ + height: 400rpx; + margin-top: 240rpx; + padding: 0 30rpx; + +} +.venue-box{ + box-shadow:0 0 17rpx 0 rgba(0,0,0,0.1); + border-radius:10rpx; + overflow: hidden; + margin-bottom: 15rpx; +} +.venue-img, .venue-img image{ + width: 100%; + height: 315rpx; +} +.venue-info{ + padding: 15rpx 20rpx; +} +.name-distance{ + display: flex; + justify-content: space-between; + height: 35rpx; + line-height: 35rpx; +} +.name{ + font-size: 30rpx; + width: 70%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.distance{ + padding: 0 10rpx; + background: rgba(159,21,18,.1); + color: #9F1512; + border-radius: 10rpx; + font-size: 28rpx; +} +.time{ + font-size: 24rpx; + color: #242424; + margin-top: 10rpx; +} \ No newline at end of file diff --git a/pages/venueDetail/venueDetail.js b/pages/venueDetail/venueDetail.js new file mode 100644 index 0000000..5db2e05 --- /dev/null +++ b/pages/venueDetail/venueDetail.js @@ -0,0 +1,164 @@ +// pages/venueDetail/venueDetail.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + baseUrl: 'http://192.168.0.109:8082/venuebooking/', + imgRoute : 'route/file/downloadfile/true/', + indicatorDots: true, + autoplay: true, + + venuesInfoId: '', + venuesDetail:{}, + venuesProjectList: [], + swiperImg:[], + venueCharge: '', + selectVenuesProject: '', + selectVenuesProjectDetail: {} + }, + + //场馆详情接口 + getVenuesDetail: function(){ + var self = this; + wx.request({ + url: self.data.baseUrl + 'app/venuesinfo/getvenuesinfobyidrelease/' + self.data.venuesInfoId, + data: { + resultLocation: 'TX' + }, + success:(res) => { + var swiperImg = res.data.venuePanorama.split(','); + if(swiperImg.length <= 1){ + self.setData({ + indicatorDots: false, + autoplay: false + }) + } + self.setData({ + venuesDetail: res.data, + swiperImg: swiperImg, + venueCharge: res.data.venueCharge + }); + console.log(self.data.venuesDetail); + } + }) + }, + + //获取项目列表 + listVenuesProject: function(){ + var self = this; + wx.request({ + url: self.data.baseUrl + 'app/venuesproject/listprojectinforelease/' + self.data.venuesInfoId, + success: (res) => { + self.setData({ + venuesProjectList: res.data + }); + if(self.data.venuesProjectList.length > 0){ + self.setData({ + selectVenuesProject: self.data.venuesProjectList[0].venuesProjectId + }); + self.getVenuesProjectDetail(); + }; + } + }) + }, + + //切换当前选择项目 + changeVenuesProject: function(options){ + var venuesProjectId = options.currentTarget.dataset.id; + if(this.data.selectVenuesProject == venuesProjectId){ + return false; + }; + this.setData({ + selectVenuesProject: venuesProjectId + }); + this.getVenuesProjectDetail(); + }, + + //获取项目详情信息 + getVenuesProjectDetail: function(){ + var self = this; + wx.request({ + url: self.data.baseUrl + 'app/venuesproject/getvenuesprojectdetailrelease/' + self.data.selectVenuesProject, + success: function(res){ + self.setData({ + selectVenuesProjectDetail: res.data.data + }); + } + }); + }, + + //场馆地图导航 + showMap: function(options){ + console.log(options); + var dataObj = options.currentTarget.dataset + console.log(dataObj.latitude + 0) + wx.openLocation({//​使用微信内置地图查看位置。 + latitude: Number(dataObj.latitude),//要去的纬度-地址 + longitude: Number(dataObj.longitude),//要去的经度-地址 + name: dataObj.venuename, + address: dataObj.venueposition + }); + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + this.setData({ + venuesInfoId: options.venuesInfoId + }); + this.getVenuesDetail(); + this.listVenuesProject(); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/venueDetail/venueDetail.json b/pages/venueDetail/venueDetail.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/venueDetail/venueDetail.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/venueDetail/venueDetail.wxml b/pages/venueDetail/venueDetail.wxml new file mode 100644 index 0000000..b9a2b07 --- /dev/null +++ b/pages/venueDetail/venueDetail.wxml @@ -0,0 +1,53 @@ + + + + + + + + + {{venuesDetail.venueName}} + + 地址:{{venuesDetail.venuePosition}} + + + 联系方式:{{venuesDetail.venueTelephone}} + + + 交通方式:{{venuesDetail.venueRoute}} + + + 营业时间:{{venuesDetail.businessHours}} + + + 温馨提示:{{venuesDetail.bookingTips}} + + + + + + {{item.projectName}} + + + + 项目介绍: + {{selectVenuesProjectDetail.projectDescription}} + + + + + + + 场馆服务: + {{venuesDetail.venueService}} + + {{venuesDetail.venueOtherService}} + + + + 场馆简介: + + + \ No newline at end of file diff --git a/pages/venueDetail/venueDetail.wxss b/pages/venueDetail/venueDetail.wxss new file mode 100644 index 0000000..ca0d6f6 --- /dev/null +++ b/pages/venueDetail/venueDetail.wxss @@ -0,0 +1,98 @@ +.swiper-box, swiper, .swiper-item image{ + width: 100%; + height: 350rpx; +} +.venue{ + margin-top: 10rpx; + padding: 0 20rpx; +} +.venue-name{ + font-size: 34rpx; + color: #000; + margin-bottom: 10rpx; + font-weight: bold; +} +.venue-info{ + font-size: 28rpx; + color: #242424; + border-bottom: 1px solid #ddd; + padding: 15rpx 0; +} +.venue-info image{ + width: 28rpx; + height: 28rpx; + vertical-align: middle; +} +.selecet-tab{ + display: flex; + overflow-x: auto; + flex-wrap: nowrap; + padding: 0 20rpx; +} +.tab-btn{ + flex-shrink: 0; + display: inline-flex; + justify-content: center; + align-items: center; + height: 60rpx; + color: #BBBBBB; + font-size: 30rpx; + margin-left: 60rpx; +} +.tab-btn.active{ + color: #9F1512; + border-bottom: 1px solid #9F1512; +} +.tab-btn:first-child{ + margin-left: 20rpx; +} +.tab-info{ + padding: 0 20rpx; + margin-top: 10rpx; +} +.tab-content{ + border-bottom: 1px solid #ddd; + padding-bottom: 10rpx; +} +.info-title{ + font-size: 30rpx; + color: #000; + font-weight: bold; +} +.info-content{ + font-size: 28rpx; + color: #BBBBBB; + padding-left: 20rpx; + margin: 10rpx 0; +} +.venue-other{ + margin: 10rpx 0 20rpx; + padding: 0 20rpx; +} +.other-title{ + font-size: 30rpx; + color: #000; + font-weight: bold; +} +.other-content{ + font-size: 28rpx; + color: #BBBBBB; + padding-left: 20rpx; + margin: 10rpx 0; +} +.other-container{ + padding-bottom: 10rpx; + border-bottom: 1px solid #ddd; +} +.venue-intro{ + padding: 0 20rpx 20rpx; +} +.intro-title{ + font-size: 30rpx; + color: #000; + font-weight: bold; +} +.intro-content{ + font-size: 28rpx; + color: #000; +} \ No newline at end of file diff --git a/pages/volunteer/volunteer.js b/pages/volunteer/volunteer.js new file mode 100644 index 0000000..e0f9843 --- /dev/null +++ b/pages/volunteer/volunteer.js @@ -0,0 +1,113 @@ +// pages/volunteer/volunteer.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + indicatorDots: true, + autoplay: true, + baseUrl: 'http://192.168.0.111:8888/volunteer/', + imgUrl: 'http://192.168.0.111:8888/volunteer/route/file/downloadfile/true/', + serviceMap: [] + }, + goDetail: function (e) { + var id = e.currentTarget.dataset.id; + wx.navigateTo({ + url: '../serviceActivityDetail/serviceActivityDetail?id=' + id + }) + }, + goTeam: function () { + wx.navigateTo({ + url: '../volunteerTeam/volunteerTeam', + }) + }, + goRegister: function () { + wx.navigateTo({ + url: '../volunteerRegister/volunteerRegister', + }) + }, + newActivity: function () { + wx.navigateTo({ + url: '../newVolunteerActivity/newVolunteerActivity', + }) + }, + /** + * 获取志愿者活动列表 + */ + activityList: function() { + var self = this; + wx.request({ + url: self.data.baseUrl + 'wxminiapp/volunteerservice/listpagevolunteerservicerelease', + success: function(res) { + if('200' == res.statusCode) { + // 将活动照片,拼接为可访问地址 + for(var item of res.data.rows) { + if('' != item.photo) { + var photoArr = item.photo.split(","); + item.photo = self.data.imgUrl + photoArr[0]; + } + } + self.setData({ + serviceMap: res.data.rows + }) + } + } + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + this.activityList(); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/volunteer/volunteer.json b/pages/volunteer/volunteer.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/volunteer/volunteer.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/volunteer/volunteer.wxml b/pages/volunteer/volunteer.wxml new file mode 100644 index 0000000..6b2fe44 --- /dev/null +++ b/pages/volunteer/volunteer.wxml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + 志愿者注册 + 实名注册 + + + + + + + + 志愿者服务组织 + 志愿者团队 + + + + + + + + + + + 志愿活动 + + + + + + + + 报名中 + 已报名 + 停止报名 + 进行中 + 已结束 + + + + {{item.serviceName}} + + {{item.startTime}}至{{item.endTime}} + + + + + + 发起新活动 + \ No newline at end of file diff --git a/pages/volunteer/volunteer.wxss b/pages/volunteer/volunteer.wxss new file mode 100644 index 0000000..3bcd5b6 --- /dev/null +++ b/pages/volunteer/volunteer.wxss @@ -0,0 +1,136 @@ +.swiper-box, .swiper-img, swiper{ + width: 100%; + height: 330rpx; +} +.link{ + padding: 15rpx 30rpx; + display: flex; + justify-content: space-between; +} +.link-box{ + width: 49%; + background:linear-gradient(315deg,rgba(205,47,41,1) 0%,rgba(159,21,18,1) 100%); + border-radius: 10rpx; + height: 145rpx; + padding: 30rpx 15rpx 0 30rpx; + box-sizing: border-box; + color: #fff; + justify-content: space-between; + display: flex; +} +.big{ + font-size: 28rpx; +} +.small{ + font-size: 24rpx; +} +.img image{ + width: 60rpx; + height: 60rpx; +} +.public-title{ + text-align: center; +} +.title-text{ + display: inline-block; + font-size: 28rpx; + color: #9F1512; + padding: 0 15rpx 0; + position: relative; + margin-bottom: 15rpx; +} +.title-text image{ + position: absolute; + top: 0; + width: 10rpx; + height: 100%; +} +.selected-l{ + left: 0; +} +.selected-r{ + right: 0; +} +.activity{ + padding: 20rpx 30rpx 0; +} +.activity-box{ + margin-bottom: 20rpx; + box-shadow:0px 0px 17rpx 0px rgba(0,0,0,0.1); + border-radius: 10rpx; + overflow: hidden; +} +.activity-img{ + height: 320rpx; + position: relative; +} +.activity-img image{ + width: 100%; + height: 100%; +} +.corner{ + position: absolute; + top: 20rpx; + right: 20rpx; + display: flex; + color: #fff; + width: 115rpx; + height: 45rpx; + display: flex; + justify-content: center; + align-items: center; + background:rgba(159,21,18,.6); + border-radius: 10rpx; + font-size: 26rpx; +} +.activity-info{ + padding: 15rpx 20rpx; +} +.title{ + display: flex; + justify-content: space-between; +} +.activity-title{ + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + font-size: 30rpx; + color: #242424; + line-height: 40rpx; +} +.sign{ + background: rgba(159,21,18,.1); + color: #9F1512; + border-radius: 10rpx; + padding: 0 20rpx; + line-height: 40rpx; +} +.date{ + margin-top: 10rpx; + font-size: 22rpx; + color: #242424; +} +.new-activity{ + position: fixed; + bottom: 0; + left: 0; + right: 0; + padding: 15rpx 30rpx; + background: #fff; + box-shadow:0 0 17rpx 0 rgba(0,0,0,0.1); +} +.new-activity-btn{ + background: #9F1512; + display: flex; + width: 100%; + height: 70rpx; + justify-content: center; + align-items: center; + border-radius: 10rpx; + font-size: 28rpx; + color: #fff; +} +.volunteer-activity{ + margin-bottom: 105rpx; +} \ No newline at end of file diff --git a/pages/volunteerRegister/volunteerRegister.js b/pages/volunteerRegister/volunteerRegister.js new file mode 100644 index 0000000..d2d7878 --- /dev/null +++ b/pages/volunteerRegister/volunteerRegister.js @@ -0,0 +1,341 @@ +// pages/volunteerRegister/volunteerRegister.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + baseUrl: 'http://192.168.0.111:8888/volunteer/', + token: '', + isAgree: false, // 是否同意志愿者注册协议 + openExperience: 0, + tempObj: {}, // 用于临时存储字典表返回的数据 + tempArray: [], // 用于临时存储字典表返回的数据 + serviceType: {}, // 服务类别 + serviceTypeValue: '', // 用户选择的服务类别ID + serviceIndustry: {}, // 服务领域或行业 + serviceIndustryValue: '', // 用户选择的服务领域或行业ID + + teamCityIndex: 0, + teamCityResult: '请选择服务区域', + teamCity: {}, // 服务区域-市 + teamCityArray: [], // 服务区域-市 + + teamCountyIndex: 0, + teamCountyResult: '请选择旗县区', + teamCounty: {}, // 服务区域-旗县区 + teamCountyArray: [], // 服务区域-旗县区 + + teamAreaIndex: 0, + teamAreaResult: '请选择乡镇村', + teamArea: {}, // 服务区域-乡镇村 + teamAreaArray: [], // 服务区域-乡镇村 + + countyShowStatus: true, + areaShowStatus: true + }, + getToken: function() { + var self = this; + return new Promise(resolve =>{ + wx.getStorage({ + key: 'token', + success(res) { + self.setData({ + token: res.data + }) + return resolve(); + } + }) + }) + }, + cityChange: function(e) { + var self = this; + self.setData({ + teamCityIndex: e.detail.value, + areaShowStatus: true, + teamArea: {}, + teamAreaArray: [] + }) + + this.getDataFromDict(self.data.teamCity[self.data.teamCityIndex].dictionaryId, 2).then(result => { + if(self.data.tempObj.length > 0) { + self.setData({ + teamCounty: self.data.tempObj, + teamCountyArray: self.data.tempArray, + countyShowStatus: false, + tempObj: {}, + tempArray: [] + }) + }else { + self.setData({ + teamCounty: {}, + teamCountyArray: [], + countyShowStatus: true, + tempObj: {}, + tempArray: [] + }) + } + }); + }, + countyChange: function(e) { + var self = this; + self.setData({ + teamCountyIndex: e.detail.value + }) + + this.getDataFromDict(self.data.teamCounty[self.data.teamCountyIndex].dictionaryId, 2).then(result => { + if(self.data.tempObj.length > 0) { + self.setData({ + teamArea: self.data.tempObj, + teamAreaArray: self.data.tempArray, + areaShowStatus: false, + tempObj: {}, + tempArray: [] + }) + }else { + self.setData({ + teamArea: {}, + teamAreaArray: [], + areaShowStatus: true, + tempObj: {}, + tempArray: [] + }) + } + }) + }, + changeOpen: function(e) { + if(e.detail.value == ''){ + this.setData({ + openExperience: 0 + }) + }else{ + this.setData({ + openExperience: 1 + }) + } + }, + changeAgree: function (e) { + if(e.detail.value == ''){ + this.setData({ + isAgree: false + }) + }else{ + this.setData({ + isAgree: true + }) + } + }, + /** + * 服务类别选择 + * @param {}} e + */ + serviceTypeChange: function(e) { + console.log(e) + var self = this; + var selData = e.detail.value; + if(selData) { + var dataValueStr = ''; + for(var item of selData) { + dataValueStr +=item + ","; + } + if (dataValueStr.length > 0) { + dataValueStr = dataValueStr.substr(0,dataValueStr.length - 1); + } + self.setData({ + serviceTypeValue: dataValueStr + }) + } + }, + /** + * 服务领域或行业选择 + * @param {}} e + */ + serviceIndustryChange: function(e) { + var self = this; + var selData = e.detail.value; + if(selData) { + var dataValueStr = ''; + for(var item of selData) { + dataValueStr +=item + ","; + } + if (dataValueStr.length > 0) { + dataValueStr = dataValueStr.substr(0,dataValueStr.length - 1); + } + self.setData({ + serviceIndustryValue: dataValueStr + }) + } + }, + submitRegister: function () { + var self = this; + if(!self.data.isAgree) { + wx.showToast({ + title: '请阅读并同意《志愿者注册服务协议》', + icon: 'none', + duration: 1500 + }) + return false; + } + var volunteerVO = { + serviceCity: self.data.teamCity[self.data.teamCityIndex] != '' + && self.data.teamCity[self.data.teamCityIndex] != null + && self.data.teamCity[self.data.teamCityIndex] != 'undefined' ? + self.data.teamCity[self.data.teamCityIndex].dictionaryId : + '', + serviceCounty: self.data.teamCounty[self.data.teamCountyIndex] != '' + && self.data.teamCounty[self.data.teamCountyIndex] != null + && self.data.teamCounty[self.data.teamCountyIndex] != 'undefined' ? + self.data.teamCounty[self.data.teamCountyIndex].dictionaryId : + '', + serviceArea: self.data.teamArea[self.data.teamAreaIndex] != '' + && self.data.teamArea[self.data.teamAreaIndex] != null + && self.data.teamArea[self.data.teamAreaIndex] != 'undefined' ? + self.data.teamArea[self.data.teamAreaIndex].dictionaryId : + '', + serviceType: self.data.serviceTypeValue, + serviceIndustry: self.data.serviceIndustryValue, + agree: self.data.isAgree, + openExperience : self.data.openExperience + }; + wx.request({ + url: self.data.baseUrl + 'wxminiapp/volunteer/savevolunteer', + method: 'POST', + header: { + 'token': self.data.token + }, + data: volunteerVO, + success(res) { + if(res.statusCode == 200) { + wx.showToast({ + title: '注册成功!', + icon: 'none', + duration: 1500 + }) + wx.navigateTo({ + url: '../volunteer/volunteer', + }) + }else { + console.log('登陆失败!' + res.errMsg); + } + } + }) + }, + /** + *从字典表拉取数据 + */ + getDataFromDict: function(dictId, type) { + var self = this; + return new Promise(resolve => { + wx.request({ + url: self.data.baseUrl + 'app/datadictionary/listdictionarybyparentid/' + dictId, + header: { + 'token': self.data.token + }, + success: function(res) { + if('200' == res.statusCode) { + if(res.data || type === 2) { + var array = []; + for(var item of res.data) { + delete item.dictionaryParentId; + delete item.dictionaryParentName; + delete item.dictionarySummary; + delete item.dictionaryCode; + delete item.dictionarySort; + delete item.subDictionary; + delete item.parent; + + array.push(item.dictionaryName); + } + self.setData({ + tempArray: array + }) + } + self.setData({ + tempObj: res.data + }) + } + return resolve(); + } + }) + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var self = this; + this.getToken().then(result => { + this.getDataFromDict('a223b308-014a-4e89-93fa-035a564e7fda', 1).then(result => { + self.setData({ + serviceType: self.data.tempObj, + tempObj: {} + }) + }).then(result => { + this.getDataFromDict('7b213c37-8575-4db3-bda1-86c4e38589f7', 1).then(result => { + self.setData({ + serviceIndustry: self.data.tempObj, + tempObj: {} + }) + }) + }).then(result => { + this.getDataFromDict('4a03e904-81e2-48e9-9006-e15ea4a6bc69', 2).then(result => { + self.setData({ + teamCity: self.data.tempObj, + teamCityArray: self.data.tempArray, + tempObj: {}, + tempArray: [] + }) + }) + }) + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/volunteerRegister/volunteerRegister.json b/pages/volunteerRegister/volunteerRegister.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/volunteerRegister/volunteerRegister.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/volunteerRegister/volunteerRegister.wxml b/pages/volunteerRegister/volunteerRegister.wxml new file mode 100644 index 0000000..7871737 --- /dev/null +++ b/pages/volunteerRegister/volunteerRegister.wxml @@ -0,0 +1,85 @@ + + + 公开经历: + + + + + + + + + + 市: + + + + + {{teamCityArray[teamCityIndex]}} + + + + + + + + + 服务类别: + + + + + {{item.dictionaryName}} + + + + + + + 服务领域或行业: + + + + + {{item.dictionaryName}} + + + + + + + + + + + + + 立即注册 + \ No newline at end of file diff --git a/pages/volunteerRegister/volunteerRegister.wxss b/pages/volunteerRegister/volunteerRegister.wxss new file mode 100644 index 0000000..4e47500 --- /dev/null +++ b/pages/volunteerRegister/volunteerRegister.wxss @@ -0,0 +1,62 @@ +.register{ + padding: 30rpx; + margin-bottom: 150rpx; +} +.row{ + display: flex; + justify-content: space-between; + margin-bottom: 15rpx; + height: 55rpx; +} +.info-name{ + width: 21%; + font-size: 26rpx; + color: #000; + line-height: 55rpx; +} +.info-text{ + width: 77%; + font-size: 26rpx; + height: 55rpx; +} +.info-text input{ + width: 100%; + height: 55rpx; + border: 1px solid #ddd; + padding: 0 10rpx; + box-sizing: border-box; +} +picker, .picker{ + height: 55rpx; + line-height: 55rpx; +} +text{ + color: red; +} +.section{ + border: 1px solid #ddd; + padding: 0 10rpx; + height: 55rpx; +} +.submit{ + width: 100%; + margin: 20rpx auto 0; + display: flex; + justify-content: center; + align-items: center; + height: 80rpx; + color: #fff; + border-radius: 10rpx; + background: #9F1512; +} +checkbox{ + transform: scale(0.8); +} +.bottom{ + position: fixed; + bottom: 0; + left: 0; + right: 0; + padding: 0 30rpx 20rpx; + background: #fff; +} \ No newline at end of file diff --git a/pages/volunteerTeam/volunteerTeam.js b/pages/volunteerTeam/volunteerTeam.js new file mode 100644 index 0000000..288547b --- /dev/null +++ b/pages/volunteerTeam/volunteerTeam.js @@ -0,0 +1,119 @@ +// pages/volunteer/volunteer.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + baseUrl: 'http://192.168.0.111:8888/volunteer/', + token: '', + otherTeamMap: {}, + type: '1' + }, + getToken: function() { + var self = this; + return new Promise(resolve =>{ + wx.getStorage({ + key: 'token', + success(res) { + self.setData({ + token: res.data + }) + return resolve(); + } + }) + }) + }, + newTeam: function () { + wx.navigateTo({ + url: '../newTeam/newTeam', + }) + }, + changeTab: function(e) { + var self = this; + self.setData({ + type: e.currentTarget.dataset.type + }) + if(self.data.type === '1') { + console.log('otherteam') + self.otherTeam(self.data.baseUrl + 'wxminiapp/team/otherteamm?otherTeam=true'); + }else { + console.log('myteams') + self.otherTeam(self.data.baseUrl + 'wxminiapp/team/listpageteam'); + } + }, + otherTeam: function(url) { + var self = this; + wx.request({ + url: url, + header: { + token: self.data.token + }, + success(res) { + console.log(res.data); + self.setData({ + otherTeamMap: res.data.rows + }) + console.log(res.data.rows) + } + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var self = this; + this.getToken().then(result => { + this.otherTeam(self.data.baseUrl + 'wxminiapp/team/otherteamm?otherTeam=true'); + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/volunteerTeam/volunteerTeam.json b/pages/volunteerTeam/volunteerTeam.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/volunteerTeam/volunteerTeam.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/volunteerTeam/volunteerTeam.wxml b/pages/volunteerTeam/volunteerTeam.wxml new file mode 100644 index 0000000..95859b0 --- /dev/null +++ b/pages/volunteerTeam/volunteerTeam.wxml @@ -0,0 +1,24 @@ + + + + 团队 + + + + + 我的团队 + + + + + + + {{item.teamName}} + + 团队口号:{{item.teamWatchword}} + 所属区域:{{item.teamCityDictionaryName}} {{item.teamCountyDictionaryName}} {{item.teamAreaDictionaryName}} + + + + 创建新团队 + \ No newline at end of file diff --git a/pages/volunteerTeam/volunteerTeam.wxss b/pages/volunteerTeam/volunteerTeam.wxss new file mode 100644 index 0000000..97bc150 --- /dev/null +++ b/pages/volunteerTeam/volunteerTeam.wxss @@ -0,0 +1,94 @@ +.top-tab{ + position: fixed; + top: 0; + left: 0; + right: 0; + display: flex; + box-shadow:0 0 17rpx 0 rgba(0,0,0,0.1); + border-radius:0 0 31rpx 31rpx; + background: #fff; +} +.tab-box{ + display: flex; + justify-content: center; + align-items: center; + flex: 1; + position: relative; + height: 90rpx; + font-size: 30rpx; + color: #242424; +} +.tab-box.active{ + color: #9F1512; +} +.tab-box image{ + position: absolute; + width: 15rpx; + height: 40rpx; + top: 50%; + margin-top: -20rpx; + display: none; +} +.tab-box.active image{ + display: block; +} +.tab-box image.selected-l{ + left: 100rpx; +} +.tab-box image.selected-r{ + right: 100rpx; +} +.team{ + margin-top: 90rpx; + padding: 0 30rpx; + margin-bottom: 110rpx; +} +.team-box{ + padding: 20rpx 0; + border-bottom: 1px solid #EBEBEB; +} +.name-join{ + display: flex; + justify-content: space-between; + height: 40rpx; + line-height: 40rpx; + font-size: 32rpx; + color: #242424; +} +.name{ + width: 70%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.join{ + padding: 0 10rpx; + background: rgba(159,21,18,.1); + color: #9F1512; + font-size: 28rpx; + border-radius: 10rpx; +} +.slogan, .area{ + color: #949494; + font-size: 26rpx; + margin-top: 10rpx; +} +.new-team{ + position: fixed; + background: #fff; + bottom: 0; + left: 0; + right: 0; + padding: 15rpx 30rpx; + border-top: 1px solid #EBEBEB; +} +.new-team-btn{ + height: 80rpx; + display: flex; + justify-content: center; + align-items: center; + font-size: 30rpx; + color: #fff; + background: #9F1512; + border-radius: 10rpx; +} \ No newline at end of file diff --git a/project.config.json b/project.config.json new file mode 100644 index 0000000..43b81a9 --- /dev/null +++ b/project.config.json @@ -0,0 +1,61 @@ +{ + "description": "项目配置文件", + "packOptions": { + "ignore": [] + }, + "setting": { + "urlCheck": false, + "scopeDataCheck": false, + "coverView": true, + "es6": true, + "postcss": true, + "compileHotReLoad": false, + "preloadBackgroundData": false, + "minified": true, + "autoAudits": false, + "newFeature": true, + "uglifyFileName": false, + "uploadWithSourceMap": true, + "useIsolateContext": true, + "nodeModules": false, + "enhance": false, + "useCompilerModule": true, + "userConfirmedUseCompilerModuleSwitch": false, + "showShadowRootInWxmlPanel": true, + "checkInvalidKey": true, + "checkSiteMap": true, + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + } + }, + "compileType": "miniprogram", + "libVersion": "2.11.1", + "appid": "wxe7f135356342a070", + "projectname": "miniprogram-2", + "debugOptions": { + "hidedInDevtools": [] + }, + "isGameTourist": false, + "simulatorType": "wechat", + "simulatorPluginLibVersion": {}, + "condition": { + "search": { + "current": -1, + "list": [] + }, + "conversation": { + "current": -1, + "list": [] + }, + "game": { + "currentL": -1, + "list": [] + }, + "miniprogram": { + "current": -1, + "list": [] + } + } +} \ No newline at end of file diff --git a/sitemap.json b/sitemap.json new file mode 100644 index 0000000..ca02add --- /dev/null +++ b/sitemap.json @@ -0,0 +1,7 @@ +{ + "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", + "rules": [{ + "action": "allow", + "page": "*" + }] +} \ No newline at end of file diff --git a/utils/util.js b/utils/util.js new file mode 100644 index 0000000..9e2b322 --- /dev/null +++ b/utils/util.js @@ -0,0 +1,32 @@ +const formatTime = date => { + const year = date.getFullYear() + const month = date.getMonth() + 1 + const day = date.getDate() + const hour = date.getHours() + const minute = date.getMinutes() + const second = date.getSeconds() + + return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':') +} + +/** + * + * @param {*} date + */ +const formatDate = date => { + const year = date.getFullYear() + const month = date.getMonth() + 1 + const day = date.getDate() + + return [year, month, day].map(formatNumber).join('-') +} + +const formatNumber = n => { + n = n.toString() + return n[1] ? n : '0' + n +} + +module.exports = { + formatTime: formatTime, + formatDate: formatDate +}