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]}}
+
+
+
+
+
+ 旗县区:
+
+
+
+ {{teamCountyArray[teamCountyIndex]}}
+
+
+
+
+
+ 乡镇村:
+
+
+
+ {{teamAreaArray[teamAreaIndex]}}
+
+
+
+
+
+ 团队介绍:
+
+
+
+
+
+
+
+
+
+
+
+
+ 立即注册
+
+
\ 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
+
+
+
+ 大量的小号被封杀,基于小号和社群建立起来的粉丝用户体系,一朝回到解放前。
+ 微信这番操作,也是告诉大家,没有私域流量,只能按照我的路子来。要么公众号,要么企业微信。
+ 今天早上和业务团队聊了一下,感觉企业微信还是任重而道远,由于企业微信的能力开放有限,想大规模的玩起来,还需要一点时间积累。
+ 现在,在企业微信能力开放之前,最好的粉丝载体,还是要回到微信公众号。
+ 但微信公众号的限制,也是非常严格的,完全无法通过阅读情况,判断用户的喜好和特定,那产品经理该如何提供策略工具,为搭建公众号下的用户分层体系呢?
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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]}}
+
+
+
+
+
+
+ 旗县区:
+
+
+
+
+ {{teamCountyArray[teamCountyIndex]}}
+
+
+
+
+
+
+ 乡镇村:
+
+
+
+
+ {{teamAreaArray[teamAreaIndex]}}
+
+
+
+
+
+
+ 服务类别:
+
+
+
+
+ {{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
+}