diff --git a/miniprogram/app.json b/miniprogram/app.json index 1a34cd5..2d7819e 100644 --- a/miniprogram/app.json +++ b/miniprogram/app.json @@ -1,5 +1,14 @@ { "pages": [ + "pages/home/home", + "pages/redSail/redSail", + "pages/knight/knight", + "pages/redGrider/redGrider", + "pages/Pioneer/Pioneer", + "pages/CheckIn/CheckIn", + "pages/volunteer/volunteer", + "pages/message/message", + "pages/my/my", "pages/index/index", "pages/toRegister/toRegister", "pages/heart/heart", diff --git a/miniprogram/images/main/home01.png b/miniprogram/images/main/home01.png new file mode 100644 index 0000000..2f44e79 Binary files /dev/null and b/miniprogram/images/main/home01.png differ diff --git a/miniprogram/images/main/home02.png b/miniprogram/images/main/home02.png new file mode 100644 index 0000000..755ff41 Binary files /dev/null and b/miniprogram/images/main/home02.png differ diff --git a/miniprogram/images/main/home03.png b/miniprogram/images/main/home03.png new file mode 100644 index 0000000..d4739d6 Binary files /dev/null and b/miniprogram/images/main/home03.png differ diff --git a/miniprogram/images/main/home04.png b/miniprogram/images/main/home04.png new file mode 100644 index 0000000..cc191a7 Binary files /dev/null and b/miniprogram/images/main/home04.png differ diff --git a/miniprogram/images/main/home05.png b/miniprogram/images/main/home05.png new file mode 100644 index 0000000..2162ae1 Binary files /dev/null and b/miniprogram/images/main/home05.png differ diff --git a/miniprogram/images/main/home06.png b/miniprogram/images/main/home06.png new file mode 100644 index 0000000..96b2d18 Binary files /dev/null and b/miniprogram/images/main/home06.png differ diff --git a/miniprogram/images/main/home_top.png b/miniprogram/images/main/home_top.png new file mode 100644 index 0000000..74e536e Binary files /dev/null and b/miniprogram/images/main/home_top.png differ diff --git a/miniprogram/images/main/icon01-a.png b/miniprogram/images/main/icon01-a.png new file mode 100644 index 0000000..810973c Binary files /dev/null and b/miniprogram/images/main/icon01-a.png differ diff --git a/miniprogram/images/main/icon01.png b/miniprogram/images/main/icon01.png new file mode 100644 index 0000000..76295b9 Binary files /dev/null and b/miniprogram/images/main/icon01.png differ diff --git a/miniprogram/images/main/icon02-a.png b/miniprogram/images/main/icon02-a.png new file mode 100644 index 0000000..dc55522 Binary files /dev/null and b/miniprogram/images/main/icon02-a.png differ diff --git a/miniprogram/images/main/icon02.png b/miniprogram/images/main/icon02.png new file mode 100644 index 0000000..da4096a Binary files /dev/null and b/miniprogram/images/main/icon02.png differ diff --git a/miniprogram/images/main/icon03-a.png b/miniprogram/images/main/icon03-a.png new file mode 100644 index 0000000..6516161 Binary files /dev/null and b/miniprogram/images/main/icon03-a.png differ diff --git a/miniprogram/images/main/icon03.png b/miniprogram/images/main/icon03.png new file mode 100644 index 0000000..32b39ac Binary files /dev/null and b/miniprogram/images/main/icon03.png differ diff --git a/miniprogram/pages/CheckIn/CheckIn.js b/miniprogram/pages/CheckIn/CheckIn.js new file mode 100644 index 0000000..015d125 --- /dev/null +++ b/miniprogram/pages/CheckIn/CheckIn.js @@ -0,0 +1,66 @@ +// pages/CheckIn/CheckIn.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/miniprogram/pages/CheckIn/CheckIn.json b/miniprogram/pages/CheckIn/CheckIn.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/miniprogram/pages/CheckIn/CheckIn.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/miniprogram/pages/CheckIn/CheckIn.wxml b/miniprogram/pages/CheckIn/CheckIn.wxml new file mode 100644 index 0000000..e76914d --- /dev/null +++ b/miniprogram/pages/CheckIn/CheckIn.wxml @@ -0,0 +1,2 @@ + +pages/CheckIn/CheckIn.wxml diff --git a/miniprogram/pages/CheckIn/CheckIn.wxss b/miniprogram/pages/CheckIn/CheckIn.wxss new file mode 100644 index 0000000..c53d12c --- /dev/null +++ b/miniprogram/pages/CheckIn/CheckIn.wxss @@ -0,0 +1 @@ +/* pages/CheckIn/CheckIn.wxss */ \ No newline at end of file diff --git a/miniprogram/pages/Pioneer/Pioneer.js b/miniprogram/pages/Pioneer/Pioneer.js new file mode 100644 index 0000000..667670f --- /dev/null +++ b/miniprogram/pages/Pioneer/Pioneer.js @@ -0,0 +1,66 @@ +// pages/Pioneer/Pioneer.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/miniprogram/pages/Pioneer/Pioneer.json b/miniprogram/pages/Pioneer/Pioneer.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/miniprogram/pages/Pioneer/Pioneer.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/miniprogram/pages/Pioneer/Pioneer.wxml b/miniprogram/pages/Pioneer/Pioneer.wxml new file mode 100644 index 0000000..657eed8 --- /dev/null +++ b/miniprogram/pages/Pioneer/Pioneer.wxml @@ -0,0 +1,2 @@ + +pages/Pioneer/Pioneer.wxml diff --git a/miniprogram/pages/Pioneer/Pioneer.wxss b/miniprogram/pages/Pioneer/Pioneer.wxss new file mode 100644 index 0000000..352a08a --- /dev/null +++ b/miniprogram/pages/Pioneer/Pioneer.wxss @@ -0,0 +1 @@ +/* pages/Pioneer/Pioneer.wxss */ \ No newline at end of file diff --git a/miniprogram/pages/home/components/banner/banner.js b/miniprogram/pages/home/components/banner/banner.js new file mode 100644 index 0000000..92a1d70 --- /dev/null +++ b/miniprogram/pages/home/components/banner/banner.js @@ -0,0 +1,30 @@ +Component({ + data: { + currentIndex: 0 + }, + properties: { + bannerList: { + type: Array, + value: [] + } + }, + lifetimes: { + + }, + pageLifetimes: { + + }, + methods: { + swiperChange (e) { + if (e.detail.source === 'touch') { + this.setData({ + currentIndex: e.detail.current + }) + } + }, + navigatetoBannerDetail (e) { + const { id, url, newsflag } = e.currentTarget.dataset + this.triggerEvent('navigatetoBannerDetail', {id, url, newsFlag: newsflag} ) + } + } +}) \ No newline at end of file diff --git a/miniprogram/pages/home/components/banner/banner.json b/miniprogram/pages/home/components/banner/banner.json new file mode 100644 index 0000000..32640e0 --- /dev/null +++ b/miniprogram/pages/home/components/banner/banner.json @@ -0,0 +1,3 @@ +{ + "component": true +} \ No newline at end of file diff --git a/miniprogram/pages/home/components/banner/banner.wxml b/miniprogram/pages/home/components/banner/banner.wxml new file mode 100644 index 0000000..3408225 --- /dev/null +++ b/miniprogram/pages/home/components/banner/banner.wxml @@ -0,0 +1,28 @@ + \ No newline at end of file diff --git a/miniprogram/pages/home/components/banner/banner.wxss b/miniprogram/pages/home/components/banner/banner.wxss new file mode 100644 index 0000000..333b1fb --- /dev/null +++ b/miniprogram/pages/home/components/banner/banner.wxss @@ -0,0 +1,77 @@ +.banner { + width: 100%; + height: 320rpx; +} +.banner swiper { + width: 100%; + height: 320rpx; +} +.banner-item { + width: 100%; + height: 320rpx; + position: relative; +} +.banner-item .banner-img { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.banner-item .banner-content { + position: relative; + width: 100%; + height: 100%; + top: 0; + left: 0; + z-index: 100; + display: flex; + align-items: flex-end; +} +.banner-item .banner-content .title { + width: 100%; + height: 50rpx; + background: rgba(0,0,0, 0.4); + box-sizing: border-box; + padding: 0 20rpx; + display: flex; + align-items: center; + justify-content: space-between; +} +.banner-item .banner-content .title .title-text { + width: 75%; + height: 50rpx; + color: #fff; + font-size: 26rpx; + line-height: 50rpx; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* 自定义轮播指示点样式 */ +.indication { + height: 50rpx; + display:flex; + position: absolute; + bottom: -2rpx; + right: 20rpx; + flex-direction:row; + align-items:center; + justify-content:center; +} +/* 未选中指示点样式 */ +.spot{ + width: 15rpx; + height: 15rpx; + border-radius: 50%; + margin-right: 10rpx; + background-color: #c6c6c8; +} +/*选中指示样式 */ +.spot.active{ + width: 15rpx; + height: 15rpx; + border-radius: 50%; + background-color: #fff; +} diff --git a/miniprogram/pages/home/components/newsList/newsList.js b/miniprogram/pages/home/components/newsList/newsList.js new file mode 100644 index 0000000..4c1a455 --- /dev/null +++ b/miniprogram/pages/home/components/newsList/newsList.js @@ -0,0 +1,13 @@ +Component({ + properties: { + newsList: { + type: Array, + value: [] + } + }, + methods: { + navigatetoNewsDetail (e) { + this.triggerEvent('navigatetoNewsDetail', {newsId: e.currentTarget.dataset.newsid}) + } + } +}) \ No newline at end of file diff --git a/miniprogram/pages/home/components/newsList/newsList.json b/miniprogram/pages/home/components/newsList/newsList.json new file mode 100644 index 0000000..32640e0 --- /dev/null +++ b/miniprogram/pages/home/components/newsList/newsList.json @@ -0,0 +1,3 @@ +{ + "component": true +} \ No newline at end of file diff --git a/miniprogram/pages/home/components/newsList/newsList.wxml b/miniprogram/pages/home/components/newsList/newsList.wxml new file mode 100644 index 0000000..4ee30e3 --- /dev/null +++ b/miniprogram/pages/home/components/newsList/newsList.wxml @@ -0,0 +1,24 @@ + + + + + {{item.newsTitle}} + + {{item.deptName}}-{{item.newsCategoryName}} + {{filters.formatTimestamp(item.newsStartTime)}} + + + + + + + \ No newline at end of file diff --git a/miniprogram/pages/home/components/newsList/newsList.wxss b/miniprogram/pages/home/components/newsList/newsList.wxss new file mode 100644 index 0000000..4b48380 --- /dev/null +++ b/miniprogram/pages/home/components/newsList/newsList.wxss @@ -0,0 +1,69 @@ +.news-list { + width: 100%; + background: #fff; + box-sizing: border-box; + padding: 0 35rpx; + margin-top: 10rpx; +} +.news-list .list-item { + width: 100%; + height: 205rpx; + box-sizing: border-box; + padding: 30rpx 0; + display: flex; + align-items: center; + justify-content: space-between; +} +.news-list .list-item .left { + width: calc(100% - 50rpx - 220rpx); + height: 146rpx; +} +.news-list .list-item .left .title { + color: #3f3f3f; + font-size: 30rpx; + line-height: 45rpx; + display: -webkit-box; + overflow: hidden; + text-overflow: ellipsis; + word-wrap: break-word; + white-space: normal !important; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} +.news-list .list-item .left .bottom { + display: flex; + align-items: center; + justify-content: space-between; +} +.news-list .list-item .left .bottom .category { + color: #aaa; + font-size: 22rpx; + line-height: 48rpx; + width: calc(100% - 150rpx); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.news-list .list-item .left .bottom .time { + color: #aaa; + font-size: 22rpx; + line-height: 48rpx; + width: 150rpx; + text-align: right; +} +.news-list .list-item .right { + width: 220rpx; + height: 146rpx; + border-radius: 12rpx; + overflow: hidden; +} +.news-list .list-item .right image { + width: 100%; + height:100%; +} +.news-list .list-item + .list-item { + border-top: 1rpx solid #ece9ec; +} +.news-list .hover-sudoku { + background: rgba(0,0,0,0.1); +} \ No newline at end of file diff --git a/miniprogram/pages/home/components/notice/notice.js b/miniprogram/pages/home/components/notice/notice.js new file mode 100644 index 0000000..528219f --- /dev/null +++ b/miniprogram/pages/home/components/notice/notice.js @@ -0,0 +1,17 @@ +Component({ + properties: { + infoList: { + type: Array, + value: [] + }, + unreadnum: { + type: Number, + value: 0 + } + }, + methods: { + navigateToInfoList () { + this.triggerEvent('navigateToInfoList') + } + } +}) \ No newline at end of file diff --git a/miniprogram/pages/home/components/notice/notice.json b/miniprogram/pages/home/components/notice/notice.json new file mode 100644 index 0000000..32640e0 --- /dev/null +++ b/miniprogram/pages/home/components/notice/notice.json @@ -0,0 +1,3 @@ +{ + "component": true +} \ No newline at end of file diff --git a/miniprogram/pages/home/components/notice/notice.wxml b/miniprogram/pages/home/components/notice/notice.wxml new file mode 100644 index 0000000..0870f25 --- /dev/null +++ b/miniprogram/pages/home/components/notice/notice.wxml @@ -0,0 +1,16 @@ + + + + + + + {{item.title}} + + + {{unreadnum}} + + \ No newline at end of file diff --git a/miniprogram/pages/home/components/notice/notice.wxss b/miniprogram/pages/home/components/notice/notice.wxss new file mode 100644 index 0000000..c4a12c0 --- /dev/null +++ b/miniprogram/pages/home/components/notice/notice.wxss @@ -0,0 +1,49 @@ +.notice { + width: 100%; + background: #fff; + height: 76rpx; + box-sizing: border-box; + padding: 0 40rpx; +} +.notice .border-content { + width: 100%; + background: #fff; + height: 76rpx; + display: flex; + align-items: center; + justify-content: center; + border-top: 1rpx solid #ece9ec; +} +.notice .notice-logo { + width: 32rpx; + height: 32rpx; +} +.notice .info-note { + width: 94rpx; + height: 24rpx; + margin: 0 20rpx 0 10rpx; +} +.notice swiper { + height: 76rpx; + width: calc(100% - 32rpx - 94rpx - 40rpx - 20rpx); +} +.notice swiper .content { + height: 76rpx; + line-height: 76rpx; + color: #aaa; + font-size: 24rpx; + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.notice .num { + font-size: 18rpx; + height: 28rpx; + text-align: center; + line-height: 28rpx; + color: #fff; + background: #fdb500; + border-radius: 8rpx 8rpx 8rpx 0; + width: 40rpx; +} \ No newline at end of file diff --git a/miniprogram/pages/home/components/project/project.js b/miniprogram/pages/home/components/project/project.js new file mode 100644 index 0000000..5c16055 --- /dev/null +++ b/miniprogram/pages/home/components/project/project.js @@ -0,0 +1,23 @@ +Component({ + data: { + currentIndex: 0 + }, + properties: { + projectList: { + type: Array, + value: [] + } + }, + methods: { + // 手动滑动swiper + swiperChange (e) { + this.setData({ + currentIndex: e.detail.current + }) + }, + // 跳转到项目详情 + navigatetoItemDetail (e) { + this.triggerEvent('navigatetoItemDetail', { itemId: e.currentTarget.dataset.id}) + } + } +}) \ No newline at end of file diff --git a/miniprogram/pages/home/components/project/project.json b/miniprogram/pages/home/components/project/project.json new file mode 100644 index 0000000..32640e0 --- /dev/null +++ b/miniprogram/pages/home/components/project/project.json @@ -0,0 +1,3 @@ +{ + "component": true +} \ No newline at end of file diff --git a/miniprogram/pages/home/components/project/project.wxml b/miniprogram/pages/home/components/project/project.wxml new file mode 100644 index 0000000..a1e5275 --- /dev/null +++ b/miniprogram/pages/home/components/project/project.wxml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + 最新进展:{{item.latestProgress.progressName}} + + + + + {{item.itemContent}} + + + + {{item.nickname}} + + 表达态度 {{item.statementNum}}次 + + + + + + + + + + + + + \ No newline at end of file diff --git a/miniprogram/pages/home/components/project/project.wxss b/miniprogram/pages/home/components/project/project.wxss new file mode 100644 index 0000000..79f5e72 --- /dev/null +++ b/miniprogram/pages/home/components/project/project.wxss @@ -0,0 +1,142 @@ +.project { + width: 100%; + height: 450rpx; + box-sizing: border-box; + padding-top: 20rpx; +} +.project swiper { + width: 100%; + height: 380rpx; +} +.project swiper swiper-item { + box-sizing: border-box; + padding: 0 40rpx; + width:100%; + height: 380rpx; +} +.project .content { + width: 100%; + height: 380rpx; + background: #fff; + border-radius: 0 16rpx 16rpx 16rpx; + overflow: hidden; +} +.project .content .top { + width:100%; + height: 260rpx; + position: relative; +} +.project .content .top .top-bg { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; + z-index: 10; +} +.project .content .top .top-content { + width: 100%; + height: 260rpx; + position: relative; + z-index: 100; + display: flex; + justify-content: space-between; + flex-direction: column; +} +.project .content .top .top-content .project-status { + width: 110rpx; + height: 42rpx; +} +.project .content .top .top-content .progress { + height: 36rpx; + width: 36%; + margin-left: 20rpx; + background: rgba(0,0,0, 0.4); + border-radius: 17rpx; + margin-bottom: 10rpx; + display: flex; + align-items: center; +} +.project .content .top .top-content .progress .image-logo { + width: 36rpx; + height:36rpx; +} +.project .content .top .top-content .progress .progress-logo { + width: 36rpx; + height: 36rpx; + position: relative; + top: -2rpx; +} +.project .content .top .top-content .progress .progress-content { + color: #fff; + font-size: 22rpx; + line-height: 36rpx; + margin-left: 5rpx; +} +.project .content .bottom { + width: 100%; + height: 120rpx; + box-sizing: border-box; + padding: 0 20rpx; +} +.project .content .bottom .title { + color: #333; + font-size: 30rpx; + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + line-height: 62rpx; +} +.project .content .bottom .info { + width:100%; + height: 30rpx; + display: flex; + align-items: center; + justify-content: space-between; +} +.project .content .bottom .info .left { + display: flex; + align-items: center; +} +.project .content .bottom .info .left .avatar { + width: 30rpx; + height: 30rpx; + border-radius: 50%; + margin-right: 10rpx; + position: relative; + top: 2rpx; +} +.project .content .bottom .info .left .name { + font-size: 22rpx; + color:#aaa; +} +.project .content .bottom .info .right { + color: #aaa; + font-size: 20rpx; +} + +/* 自定义轮播指示点样式 */ +.indication { + height: 45rpx; + width: 100%; + display:flex; + flex-direction: row; + align-items:center; + justify-content:center; +} +/* 未选中指示点样式 */ +.spot{ + width: 22rpx; + height: 8rpx; + border-radius: 3rpx; + margin-right: 10rpx; + background-color: #dcdbe0; +} +/*选中指示样式 */ +.spot.active{ + width: 22rpx; + height: 8rpx; + border-radius: 53rpx; + background-color: #cb090b; +} \ No newline at end of file diff --git a/miniprogram/pages/home/components/sudoku/sudoku.js b/miniprogram/pages/home/components/sudoku/sudoku.js new file mode 100644 index 0000000..9f17172 --- /dev/null +++ b/miniprogram/pages/home/components/sudoku/sudoku.js @@ -0,0 +1,280 @@ +Component({ + properties: { + sudokuState: { + type: Object, + value: { + consultAvailable: "0", + appraiseAvailable: "0", + talkAndNeedAndPartyAvaliable: "0" + }, + }, + userInfo: { + type: Object, + }, + }, + observers: { + sudokuState: function (value) { + this.updateList() + } + }, + data: { + isShowAll: false, // 是否显示全部菜单 默认最多显示8个(2行) + consultAvailableList: [ + { + title: "网格专员", + icon: "../../../../images/home/consult.png", + triggerEvent: "navigatetoConsultion", + sort: 7 + } + ], + appraiseAvailableList: [ + { + title: "清廉市北", + icon: "../../../../images/home/appramise.png", + triggerEvent: "navigatetoAppraise", + sort: 9 + } + ], + talkAndNeedAndPartyAvaliableList: [ + // { + // title: "随时讲", + // icon: "../../../../images/home/suishijiang.png", + // triggerEvent: "navigateToAnytimeSay", + // sort: 1 + // }, + { + title: "需求清单", + icon: "../../../../images/home/xuqiuqingdan.png", + triggerEvent: "navigateToDemand", + sort: 3 + }, + { + title: "党群服务中心", + icon: "../../../../images/home/party-masses.png", + triggerEvent: "navigateToPartyMasses", + sort: 8 + }, + { + title: "问卷调查", + icon: "../../../../images/home/wenjuandiaocha.png", + triggerEvent: "navigateToQuestionnaire", + sort: 6 + }, + { + title: "办事指南", + icon: "../../../../images/home/banshizhinan.png", + triggerEvent: "navigateToServiceGuide", + sort: 4 + } + ], + commonList: [ + // { + // title: "有奖举报", + // icon: "../../../../images/home/chuangC.png", + // triggerEvent: "navigateToAnytimeSay_cc", + // sort: 1 + // }, + // { + // title: "随时报", + // icon: "../../../../images/home/suishibao.png", + // triggerEvent: "navigateToAddIssue", + // sort: 2 + // }, + { + title: "通知公告", + icon: "../../../../images/home/notice.png", + triggerEvent: "navigateToNotice", + sort: 5 + }, + { + title: "人才赋能", + icon: "../../../../images/home/talents.png", + triggerEvent: "navigatetoTalents", + sort: 10 + }, + { + title: "党员风采", + icon: "../../../../images/home/partyElegant.png", + triggerEvent: "navigatetoPartyElegant", + sort: 11 + }, + { + title: "联建活动", + icon: "../../../../images/home/dyfc.png", + triggerEvent: "navigatetoUnionBuild", + sort: 11 + }, + // { **********************************暂时屏蔽这期功能不上线2022/3/31******************************************** + // title: "行程上报", + // icon: "../../../../images/home/xingchengshangbao.png", + // triggerEvent: "navigateToTripReport", + // sort: 11 + // }, + ], // 通用的菜单 + menuList: [] + }, + lifetimes:{ + attached () { + this.updateList() + } + }, + methods: { + updateList () { + let list1 = [] + let list2 = [] + let list3 = [] + if (this.data.sudokuState.consultAvailable && this.data.sudokuState.consultAvailable == "1") { + list1 = this.data.consultAvailableList + } + if (this.data.sudokuState.appraiseAvailable && this.data.sudokuState.appraiseAvailable == "1") { + list2 = this.data.appraiseAvailableList + } + if (this.data.sudokuState.talkAndNeedAndPartyAvaliable && this.data.sudokuState.talkAndNeedAndPartyAvaliable == "1") { + list3 = this.data.talkAndNeedAndPartyAvaliableList + } + const menuList = [ ...this.data.commonList, ...list1, ...list2, ...list3 ] + menuList.sort((a, b) => a.sort - b.sort) + this.setData({ + menuList + }) + // console.log(this.data.sudokuState, this.data.menuList) + }, + navigateTo (e) { + let to = e.currentTarget.dataset.to + if (to == "navigateToTripReport") { // 行程上报 + // wx.navigateTo({ + // url: "/subpages/extend/pages/tripReport/tripReport" + // }) + this.triggerEvent("navigateToTripReport") + } else if (to == "navigateToPartyMasses") { // 党群服务中心 + this.triggerEvent("navigateToPartyMasses") + // wx.navigateTo({ + // url: "/subpages/partyMassesServiceCenter/pages/partyMassesMap/partyMassesMap" + // }) + } else if (to == "navigateToQuestionnaire") { // 问卷调查 + this.triggerEvent("navigateToQuestionnaire") + // wx.navigateTo({ + // url: "/subpages/questionnaire/pages/index/index" + // }) + } else if (to == "navigateToServiceGuide") { // 办事指南 + this.triggerEvent("navigateToServiceGuide") + // wx.navigateTo({ + // url: "/subpages/workguide/pages/index/index" + // }) + } else if (to == "navigatetoPartyElegant") { // 党员风采 + this.triggerEvent("navigatetoPartyElegant") + // wx.navigateTo({ + // url: "/subpages/workguide/pages/index/index" + // }) + }else if (to == "navigatetoUnionBuild") { // 联建活动 + this.triggerEvent("navigatetoUnionBuild") + } else if (to == "navigatetoTalents") { // 人才赋能 + this.navigatetoTalents() + } else { + this.triggerEvent(to) + } + }, + changeMenu () { + this.data.isShowAll = !this.data.isShowAll + this.setData({ + isShowAll: this.data.isShowAll + }) + }, + // 跳转到需求清单 + navigateToDemand () { + this.triggerEvent("navigateToDemand") + }, + // 跳转到随时讲 + navigateToAnytimeSay() { + this.triggerEvent("navigateToAnytimeSay") + }, + // 跳转到随时讲 + navigateToAnytimeSay_cc() { + this.triggerEvent("navigateToAnytimeSay_cc") + }, + // 跳转到我要报事 + navigateToAddIssue() { + this.triggerEvent("navigateToAddIssue") + }, + // 跳转到网格专员 + navigatetoConsultion() { + this.triggerEvent("navigatetoConsultion") + }, + // 跳转到通知公告 + navigateToNotice() { + this.triggerEvent("navigateToNotice") + }, + // 跳转到请您监督 + navigatetoAppraise() { + this.triggerEvent("navigatetoAppraise") + }, + // 工商联 + navigatetoAssociatio() { + wx.navigateToMiniProgram({ + appId: "wx2e9510d76f23fff6", + path: "", + envVersion: "release", // 打开正式版ß + // envVersion: "develop",// 打开正式版ß + success() { + // 打开成功 + console.log("点击允许") + }, + fail: function (err) { + console.log(err) + }, + }) + }, + // 人才赋能 + navigatetoTalents() { + let { faceImg, mobile, nickname } = this.data.userInfo + console.log("", this.data.userInfo) + wx.navigateToMiniProgram({ + appId: "wx8f4ebf5537cf4962", + path: "", + envVersion: "release", // 打开正式版ß + // envVersion: "develop", + success() { + // 打开成功 + console.log("点击允许") + }, + extraData: { + nickname, + mobile, + faceImg, + }, + fail: function (err) { + console.log(err) + }, + }) + }, + // 党史学习 + navigateToPartyHistory() { + wx.navigateToMiniProgram({ + appId: "wx2aed548e27e28de9", + path: "/pages/detail/detail?qid=606fc907e17b4a1a960591ca", + envVersion: "release", // 打开正式版ß + success() { + // 打开成功 + console.log("点击允许") + }, + fail: function (err) { + console.log(err) + }, + }) + }, + // APP跳转 + navigatetoApp() { + // console.log("111", wx.getLaunchOptionsSync()) + wx.navigateTo({ + url: "/pages/navigatetoApp/navigatetoApp", + }) + }, + launchAppError(e) { + console.log(e.detail.errMsg) + }, + handleContact(e) { + console.log(e.detail.path) + console.log(e.detail.query) + }, + }, +}) diff --git a/miniprogram/pages/home/components/sudoku/sudoku.json b/miniprogram/pages/home/components/sudoku/sudoku.json new file mode 100644 index 0000000..32640e0 --- /dev/null +++ b/miniprogram/pages/home/components/sudoku/sudoku.json @@ -0,0 +1,3 @@ +{ + "component": true +} \ No newline at end of file diff --git a/miniprogram/pages/home/components/sudoku/sudoku.wxml b/miniprogram/pages/home/components/sudoku/sudoku.wxml new file mode 100644 index 0000000..ae23afb --- /dev/null +++ b/miniprogram/pages/home/components/sudoku/sudoku.wxml @@ -0,0 +1,24 @@ + + + + + {{item.title}} + + + + + + + + + + \ No newline at end of file diff --git a/miniprogram/pages/home/components/sudoku/sudoku.wxss b/miniprogram/pages/home/components/sudoku/sudoku.wxss new file mode 100644 index 0000000..0f88c73 --- /dev/null +++ b/miniprogram/pages/home/components/sudoku/sudoku.wxss @@ -0,0 +1,87 @@ +.sudoku { + background: #fff; + padding: 0 20rpx; + position: relative; +} + +.show-all { + height: 60rpx; + text-align: right; + padding: 0 20rpx; + display: flex; + align-items: center; + justify-content: center; +} + +.show-all image { + height: 40rpx; + width: 40rpx; +} + +.content { + width: 100%; + /* height: 215rpx; */ + display: inline-block; + box-sizing: border-box; + overflow: hidden; +} + +.item { + display: inline-flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 25%; + margin-top: 25rpx; +} + +.item image { + width: 126rpx; + height: 126rpx; +} + +.item .name { + font-size: 28rpx; + color: #3f3f3f; + font-weight: bold; +} + +.sudoku .hover-sudoku { + background: rgba(0, 0, 0, 0.1); +} + +button::after { + content: " "; + width: 200%; + height: 200%; + position: absolute; + top: 0; + left: 0; + border: none !important; + -webkit-transform: scale(.5); + transform: scale(.5); + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + box-sizing: border-box; + border-radius: 10px; +} + +button { + position: relative; + display: block; + margin-left: auto; + margin-right: auto; + padding-left: 14px; + padding-right: 14px; + box-sizing: border-box; + font-size: 28rpx; + font-weight: bold; + text-align: center; + text-decoration: none; + line-height: 40rpx !important; + border-radius: 5px; + -webkit-tap-highlight-color: transparent; + overflow: hidden; + color: #3f3f3f; + background-color: #fff; +} \ No newline at end of file diff --git a/miniprogram/pages/home/home.js b/miniprogram/pages/home/home.js new file mode 100644 index 0000000..dae0bc7 --- /dev/null +++ b/miniprogram/pages/home/home.js @@ -0,0 +1,594 @@ +const app = getApp() +const api = require("../../utils/api") +const homeApi = require("../../utils/home") +const global = require("../../utils/config") +import { getTimestamp } from "../../utils/common" +import checkoutVersion from "../../utils/checkVersion" +// import regeneratorRuntime from "../../utils/runtime.js" +Page({ + data: { + statusHeight: 0, // 自定义头部状态栏高度 + navigationHeight: 0, // 自定义头部导航栏高度 + bannerList: [], // banner列表 + newsList: [], // 新闻列表 + projectList: [], // 项目列表 + infoList: [], // 消息列表 + unReadNum: 0, // 未读数量 + loadMoreType: "none", + loadMoreVisible: false, + pageNo: 1, // 新闻列表-分页页码 + pageSize: 10, // 新闻列表-分页页长 + timestamp: "", // 时间戳 + sudokuState: { // 九宫格显隐状态 + consultAvailable: "0", // 网格专员 + appraiseAvailable: "0", // 请您监督, + talkAndNeedAndPartyAvaliable: "0" // 随时讲、需求清单、党群服务中心 + }, + completeInfoDialogVisible: false, // 完善信息弹框显隐 + gridId: "", // 网格id + departmentName: "", // 所在网格 + departmentId: "",//1191534416067149825所在网格id + street: "",//所在街道 + isCarryLoad: false, + userId: "", + userInfo: { + nickname: "", + mobile: "", + faceImg: "" + }, + visible: false, + signMsg: "", + signCode: 0, + isSignUp: 0, + communityId: "" // 社区id + }, + async onLoad(options) { + wx.showLoading({ + title: "加载中,请稍后", + mask: true + }) + if (options.shareType) { + const para = { + shareType: options.shareType, + detailId: options.detailId, + infoCompleted: options.infoCompleted ? options.infoCompleted : "", + type: options.detailType ? options.detailType : "", + showClassify: options.showClassify ? options.showClassify : "", + nowGridId: options.nowGridId ? options.nowGridId : "" + } + wx.setStorageSync("shareObj", JSON.stringify(para)) + } + if (options.scene) { + this.setData({ + statusHeight: app.globalData.deviceInfo.statusHeight, + navigationHeight: app.globalData.deviceInfo.navigationHeight, + gridId: options.scene, + }) + } else { + this.setData({ + statusHeight: app.globalData.deviceInfo.statusHeight, + navigationHeight: app.globalData.deviceInfo.navigationHeight, + }) + } + + // 切换网格的时候,更换网格id + if (options.departmentId) { + this.setData({ + departmentId: options.departmentId + }) + } + await this.getUserState() + this.data.isCarryLoad = true + + }, + onTabItemTap() { + this.getUserState() + }, + onShow() { + // 检查版本更新 + checkoutVersion() + this.getFirstInfo() + }, + onReachBottom() { + this.setData({ + loadMoreVisible: true + }) + if (this.data.loadMoreType === "loading") { + this.data.pageNo += 1 + this.getNewsList() + } + }, + // 根据微信code查询用户当前状态 + getUserState() { + let that = this + wx.login({ + success(res) { + if (res.code) { + let code = res.code + api.getToken(code).then(res => { + wx.hideLoading() + const state = res.data.userState + app.globalData.infoCompleted = state + wx.setStorageSync("topGridName", res.data.grid) + wx.setStorageSync("gridId", res.data.gridId) //当前网格id,新闻、议题、项目分享时用 + wx.setStorageSync("token", res.data.token) + that.setData({ + departmentName: res.data.grid, + departmentId: res.data.gridId, + userId: res.data.userId + }) + that.getComplete() + that.getUserLoginlog() + // 扫码进入 + if (that.data.gridId !== "") { + // 扫的是网格长码 + if (that.data.gridId == "gridLeader") { + wx.redirectTo({ + url: "/pages/gridLeaderRegister/gridLeaderRegister" + }) + // 扫的是网格码 + } else { + wx.redirectTo({ + url: `/pages/formid/formid?gid=${that.data.gridId}` + }) + } + } else { + if (state == "4") { + // 非扫码进入,通过搜索小程序直接进入的情况 + if (wx.getStorageSync("shareObj")) { + const para = JSON.parse(wx.getStorageSync("shareObj")) + wx.redirectTo({ + url: "/pages/formid/formid?gid=" + para.nowGridId + }) + } else { + wx.redirectTo({ + url: "/pages/toRegister/toRegister" + }) + } + } else { + if (wx.getStorageSync("shareObj")) { + const para = JSON.parse(wx.getStorageSync("shareObj")) + if (para.shareType === "newsDetail") { + wx.navigateTo({ + url: `/subpages/home/pages/newsDetail/newsDetail?id=${para.detailId}` + }) + } else if (para.shareType === "discussionDetail") { + wx.navigateTo({ + url: `/subpages/discussion/pages/discussionDetail/discussionDetail?detailId=${para.detailId}&type=${para.type}&showClassify=${para.showClassify}` + }) + } + wx.removeStorageSync("shareObj") + } + that.initLoad() + } + } + }) + } else { + console.log("登录失败" + res.errMsg) + } + } + }) + }, + // 获取小程序用户登录日志 + async getUserLoginlog() { + let data = { + userId: this.data.userId + } + await api.userLoginlog(data) + }, + // 获取banner列表 + getBannerList() { + api.bannerList("0").then(res => { + console.log("首页banner列表", res) + this.setData({ + bannerList: res.data + }) + }).catch(() => { + console.log("获取banner列表失败") + this.setData({ + bannerList: [] + }) + }) + }, + // 获取新闻列表 + getNewsList() { + let para = { + pageIndex: this.data.pageNo, + pageSize: this.data.pageSize, + timestamp: this.data.timestamp + } + api.newsList(para).then((res) => { + console.log("首页新闻列表", res) + this.setData({ + loadMoreType: res.data.length === this.data.pageSize ? "loading" : "none", + newsList: this.data.newsList.concat(res.data) + }) + }).catch(() => { + console.log("首页新闻列表获取失败") + this.setData({ + loadMoreType: "none", + newsList: [] + }) + }) + }, + // 获取项目列表 + getProjectList() { + const para = { + pageIndex: 1, + pageSize: 10, + timestamp: this.data.timestamp, + searchContent: "", + firstCategoryCode: "" + } + api.getProjectList(para).then(res => { + console.log("项目列表", res) + this.setData({ + projectList: res.data, + }) + }).catch((err) => { + console.log("获取项目列表失败", err) + this.setData({ + projectList: [] + }) + }) + }, + // 获取最新一条消息-主要获取消息未读数 + getUnreadNum() { + api.getFirstInfo().then(res => { + console.log("获取消息未读数", res) + this.setData({ + unReadNum: res.data.amount + }) + }).catch(() => { + console.log("获取消息未读数失败") + }) + }, + // 获取消息列表 + getInfoList() { + let para = { + pageIndex: 1, + pageSize: 10, + timestamp: this.data.timestamp + } + homeApi.getInfoList(para).then(res => { + console.log("消息列表", res) + this.setData({ + infoList: res.data + }) + }).catch(() => { + console.log("获取消息列表失败") + }) + }, + // 九宫格检查状态 + getIndexSudokuState() { + api.getIndexSudokuState().then(res => { + console.log("九宫格状态", res) + let consultAvailable = "0" + let appraiseAvailable = "0" + if (res.data.length > 0) { + res.data.forEach(item => { + if (item.name === "咨询" && item.availableFlag === "1") { + consultAvailable = "1" + } else if (item.name === "干部评价" && item.availableFlag === "1") { + appraiseAvailable = "1" + } + }) + } + this.setData({ + sudokuState: { + consultAvailable, + appraiseAvailable + } + }) + }).catch(() => { + console.log("获取九宫格状态失败") + this.setData({ + sudokuState: { + consultAvailable: "0", + appraiseAvailable: "0" + } + }) + }) + }, + // 跳转到需求清单 + navigateToDemand () { + if (app.globalData.infoCompleted == 0) { + this.setData({ + completeInfoDialogVisible: !this.data.completeInfoDialogVisible + }) + return false + } + wx.navigateTo({ + url: "/subpages/demand/pages/demandList/demandList" + }) + }, + // 行程上报 + navigateToTripReport () { + if (app.globalData.infoCompleted == 0) { + this.setData({ + completeInfoDialogVisible: !this.data.completeInfoDialogVisible + }) + return false + } + wx.navigateTo({ + url: "/subpages/extend/pages/tripReport/tripReport" + }) + }, + // 党群服务中心 + navigateToPartyMasses () { + if (app.globalData.infoCompleted == 0) { + this.setData({ + completeInfoDialogVisible: !this.data.completeInfoDialogVisible + }) + return false + } + wx.navigateTo({ + url: "/subpages/partyMassesServiceCenter/pages/partyMassesMap/partyMassesMap" + }) + }, + // 问卷调查 + navigateToQuestionnaire () { + if (app.globalData.infoCompleted == 0) { + this.setData({ + completeInfoDialogVisible: !this.data.completeInfoDialogVisible + }) + return false + } + wx.navigateTo({ + url: "/subpages/questionnaire/pages/index/index" + }) + }, + // 办事指南 + navigateToServiceGuide () { + if (app.globalData.infoCompleted == 0) { + this.setData({ + completeInfoDialogVisible: !this.data.completeInfoDialogVisible + }) + return false + } + wx.navigateTo({ + url: "/subpages/workguide/pages/index/index" + }) + }, + // 党员风采 + navigatetoPartyElegant () { + if (app.globalData.infoCompleted == 0) { + this.setData({ + completeInfoDialogVisible: !this.data.completeInfoDialogVisible + }) + return false + } + wx.navigateTo({ + url: `/subpages/partyElegant/pages/partyElegant/partyElegant?communityId=${this.data.communityId}` + }) + }, + // 联建活动 + navigatetoUnionBuild () { + if (app.globalData.infoCompleted == 0) { + this.setData({ + completeInfoDialogVisible: !this.data.completeInfoDialogVisible + }) + return false + } + wx.navigateTo({ + url: `/subpages/unionBuild/pages/list/list?communityId=${this.data.communityId}` + }) + }, + // 跳转到随时讲 + navigateToAnytimeSay() { + if (app.globalData.infoCompleted == 0) { + this.setData({ + completeInfoDialogVisible: !this.data.completeInfoDialogVisible + }) + return false + } + wx.navigateTo({ + url: "/subpages/discussion/pages/anytimeSay/anytimeSay" + }) + }, + // 跳转到有奖举报 + navigateToAnytimeSay_cc() { + if (app.globalData.infoCompleted == 0) { + this.setData({ + completeInfoDialogVisible: !this.data.completeInfoDialogVisible + }) + return false + } + wx.navigateTo({ + url: "/subpages/discussion/pages/anytimeSay/anytimeSay?isCreateCity=1" + }) + }, + // 跳转到我要报事 + navigateToAddIssue() { + if (app.globalData.infoCompleted == 0) { + this.setData({ + completeInfoDialogVisible: !this.data.completeInfoDialogVisible + }) + return false + } + wx.navigateTo({ + url: "/subpages/discussion/pages/addIssue/addIssue" + }) + }, + // 跳转到网格专员 + navigatetoConsultion() { + if (app.globalData.infoCompleted == 0) { + this.setData({ + completeInfoDialogVisible: !this.data.completeInfoDialogVisible + }) + return false + } + wx.navigateTo({ + url: "/subpages/home/pages/consultation/consultation" + }) + }, + // 跳转到通知公告 + navigateToNotice() { + wx.navigateTo({ + url: "/subpages/home/pages/notice/notice" + }) + }, + // 获取完整机构 + getComplete() { + api.getComplete(this.data.departmentId).then((res) => { + this.setData({ + street: res.data.street, + departmentId: res.data.gridId, + communityId: res.data.communityId + }) + }).catch((err) => { + console.log(err) + }) + }, + // 跳转到请您监督 + navigatetoAppraise() { + if (app.globalData.infoCompleted == 0) { + this.setData({ + completeInfoDialogVisible: !this.data.completeInfoDialogVisible + }) + return false + } + const token = wx.getStorageSync("token") + // https://lyljdgs.qingdaoshibei.cn/app/mobileapp/mszj/index.aspx?deptName=延安路街道&gridId=123467521122 + wx.navigateTo({ + url: `/subpages/home/pages/webview/webview?url=${global.WEBROOT()}&token=${token}&deptName=${this.data.street}&gridId=${this.data.departmentId}` + }) + }, + // 初始化加载 + initLoad() { + this.setData({ + pageNo: 1, + pageSize: 10, + timestamp: getTimestamp(), + newsList: [], + loadMoreType: "loading", + loadMoreVisible: false + }) + this.getBannerList() + this.getIndexSudokuState() + this.getProjectList() + this.getInfoList() + this.getUnreadNum() + this.getNewsList() + this.getUserInfo() + this.getAppMenu() + }, + // onShow() { + // this.getUnreadNum() + // }, + // 切换网格,跳转到网格列表 + changeGrid() { + wx.navigateTo({ url: "/subpages/changegrid/pages/changeGrid/changeGrid" }) + }, + // 跳转到新闻详情 + navigatetoNewsDetail(e) { + wx.navigateTo({ url: `/subpages/home/pages/newsDetail/newsDetail?id=${e.detail.newsId}` }) + }, + // 跳转到 项目详情 + navigatetoItemDetail(e) { + wx.navigateTo({ + url: `/subpages/discussion/pages/discussionDetail/discussionDetail?type=project&detailId=${e.detail.itemId}&showClassify=show` + }) + }, + // 跳转到消息列表 + navigateToInfoList() { + wx.navigateTo({ url: "/subpages/home/pages/info/info" }) + }, + // 跳转到banner详情 + navigatetoBannerDetail(e) { + const { id, url, newsFlag } = e.detail + if (newsFlag == "0") { + wx.navigateTo({ + url: `/subpages/home/pages/webview/webview?url=${url}` + }) + } else if (newsFlag == "1") { + wx.navigateTo({ + url: `/subpages/home/pages/newsDetail/newsDetail?id=${id}` + }) + } + }, + getFirstInfo() { + api.getFirstInfo().then((res) => { + console.log("infoObj", res.data) + }) + }, + //下拉刷新 + async onPullDownRefresh() { + await this.initLoad() + wx.stopPullDownRefresh(); + }, + // 获取用户信息 + getUserInfo() { + api.getUserInfo().then(res => { + console.log("用户信息", res) + const userInfo = {} + for (const key in this.data.userInfo) { + userInfo[key] = res.data[key] + } + this.setData({ + userInfo, + isSignUp: res.data.isSignUp ? res.data.isSignUp : 0 + }) + }).catch(err => { + this.setData({ + userInfo: { + faceImg: "", + nickname: "", + partyFlag: "0", + isSignUp: 0 + } + }) + console.log(err) + }) + }, + //签到 2020.07.31 + toSignIn () { + console.log(app.globalData.infoCompleted, this.data.isSignUp) + if (app.globalData.infoCompleted == 0) { + this.setData({ + completeInfoDialogVisible: !this.data.completeInfoDialogVisible + }) + return false + } + if (this.data.isSignUp == 1) { + return + } + api.userInfoSignUp().then(res => { + console.log(res.data) + if (res.code === 0) { + // 显示提醒 + this.setData({ + signCode: res.code, + signMsg: res.data, + visible: true + }); + } else { + this.setData({ + signCode: res.code, + signMsg: res.msg, + visible: true + }); + } + }) + }, + // 关闭签到提醒 + onClose() { + this.getUserInfo() + this.setData({ + visible: false + }); + }, + // 获取小程序菜单权限 + getAppMenu () { + const params = { + deptId: wx.getStorageSync("gridId") + } + api.getAppMenu(params).then(res => { + console.log("获取首页菜单权限", res) + this.setData({ + "sudokuState.talkAndNeedAndPartyAvaliable": res.data || "0" + }) + }) + } +}) + diff --git a/miniprogram/pages/home/home.json b/miniprogram/pages/home/home.json new file mode 100644 index 0000000..7aa97a6 --- /dev/null +++ b/miniprogram/pages/home/home.json @@ -0,0 +1,18 @@ +{ + "navigationBarTitleText": "党群e家", + "navigationStyle": "custom", + "navigationBarTextStyle": "white", + "usingComponents": { + "banner": "./components/banner/banner", + "sudoku": "./components/sudoku/sudoku", + "notice": "./components/notice/notice", + "project": "./components/project/project", + "news-list":"./components/newsList/newsList", + "load-more": "../../components/loadMore/loadMore", + "complete-info-dialog": "../../components/completeInfoDialog/completeInfoDialog", + "wux-popup": "../../dist/popup/index" + }, + "enablePullDownRefresh": true, + "backgroundColor": "#f8f8f8", + "backgroundTextStyle": "dark" + } \ No newline at end of file diff --git a/miniprogram/pages/home/home.wxml b/miniprogram/pages/home/home.wxml new file mode 100644 index 0000000..3ea3b39 --- /dev/null +++ b/miniprogram/pages/home/home.wxml @@ -0,0 +1,61 @@ + + + + 首页 + + + + + + + 红帆支队 + + + + 骑士驿站 + + + + 红色网格员 + + + + 西海岸先锋 + + + + + + + + + + + + + + + + + + + + + + + + 确定 + \ No newline at end of file diff --git a/miniprogram/pages/home/home.wxss b/miniprogram/pages/home/home.wxss new file mode 100644 index 0000000..be4967b --- /dev/null +++ b/miniprogram/pages/home/home.wxss @@ -0,0 +1,149 @@ +page { + width: 100%; + height: auto; + overflow-y: auto; + background: #f7f7f7; +} + +.header { + position: fixed; + width: 100%; + top: 0; + left: 0; + z-index: 1000; +} + +.header .header-bg { + width: 100%; + height: 100%; + position: absolute; + z-index: 10; + left: 0; + top: 0; +} + +.header .navigation { + width: 100%; + display: flex; + align-items: center; + justify-content: center; + color: rgba(255, 255, 255, 0.9); + font-size: 32rpx; + position: relative; + z-index: 100; +} + +.home { + width: 100%; +} + +.belong-grid { + width: 100%; + height: 100rpx; + position: relative; +} + +.belong-grid .belong-grid-bg { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 10; +} + +.belong-grid .grid { + width: 100%; + height: 100%; + position: relative; + z-index: 100; + display: flex; + align-items: center; +} + +.belong-grid .grid .party-logo { + width: 32rpx; + height: 32rpx; + margin: 0 10rpx 0 23rpx; +} + +.belong-grid .grid .grid-name { + font-size: 32rpx; + color: #fff; +} + +.belong-grid .grid .more-grid { + width: 18rpx; + height: 26rpx; + margin-left: 10rpx; +} + +.belong-grid .newbelong-grid { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + width: 100%; + height: 100rpx; +} + +.belong-grid .newbelong-grid .signin-btn { + width: 140rpx; + height: 44rpx; + position: absolute; + z-index: 99; + right: 30rpx; +} + +.belong-grid .newbelong-grid .signin-btn image { + width: 100%; + height: 100%; +} + +.belong-grid .newbelong-grid .grid { + /* width: 90%; */ + width: calc(100% - 170rpx); + height: 34rpx; + position: relative; + z-index: 100; + display: flex; + align-items: center; +} + +.belong-grid .newbelong-grid .grid .party-logo { + width: 24rpx; + height: 30rpx; + margin: 0 14rpx 0 22rpx; +} + +.belong-grid .newbelong-grid .grid .grid-name { + font-size: 32rpx; + color: #fff; +} + +.belong-grid .newbelong-grid .grid .more-grid { + width: 16rpx; + height: 22rpx; + margin-left: 10rpx; + margin-top: 5rpx; +} + +.popup__button { + width: 100%; + text-align: center; + font-size: 36rpx; + color: #04BCA0; +} + +.gridouter{ + display: flex; +} +.grid { + width: 25%; +} + +.grid image { + width: 80rpx; + height: 80rpx; + +} \ No newline at end of file diff --git a/miniprogram/pages/knight/knight.js b/miniprogram/pages/knight/knight.js new file mode 100644 index 0000000..dde83df --- /dev/null +++ b/miniprogram/pages/knight/knight.js @@ -0,0 +1,66 @@ +// pages/knight/knight.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/miniprogram/pages/knight/knight.json b/miniprogram/pages/knight/knight.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/miniprogram/pages/knight/knight.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/miniprogram/pages/knight/knight.wxml b/miniprogram/pages/knight/knight.wxml new file mode 100644 index 0000000..de87b0a --- /dev/null +++ b/miniprogram/pages/knight/knight.wxml @@ -0,0 +1,2 @@ + +pages/knight/knight.wxml diff --git a/miniprogram/pages/knight/knight.wxss b/miniprogram/pages/knight/knight.wxss new file mode 100644 index 0000000..62c0f3f --- /dev/null +++ b/miniprogram/pages/knight/knight.wxss @@ -0,0 +1 @@ +/* pages/knight/knight.wxss */ \ No newline at end of file diff --git a/miniprogram/pages/message/message.js b/miniprogram/pages/message/message.js new file mode 100644 index 0000000..f916eb2 --- /dev/null +++ b/miniprogram/pages/message/message.js @@ -0,0 +1,66 @@ +// pages/message/message.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/miniprogram/pages/message/message.json b/miniprogram/pages/message/message.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/miniprogram/pages/message/message.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/miniprogram/pages/message/message.wxml b/miniprogram/pages/message/message.wxml new file mode 100644 index 0000000..324a389 --- /dev/null +++ b/miniprogram/pages/message/message.wxml @@ -0,0 +1,2 @@ + +pages/message/message.wxml diff --git a/miniprogram/pages/message/message.wxss b/miniprogram/pages/message/message.wxss new file mode 100644 index 0000000..2251458 --- /dev/null +++ b/miniprogram/pages/message/message.wxss @@ -0,0 +1 @@ +/* pages/message/message.wxss */ \ No newline at end of file diff --git a/miniprogram/pages/my/my.js b/miniprogram/pages/my/my.js new file mode 100644 index 0000000..640e730 --- /dev/null +++ b/miniprogram/pages/my/my.js @@ -0,0 +1,66 @@ +// pages/my/my.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/miniprogram/pages/my/my.json b/miniprogram/pages/my/my.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/miniprogram/pages/my/my.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/miniprogram/pages/my/my.wxml b/miniprogram/pages/my/my.wxml new file mode 100644 index 0000000..2447d83 --- /dev/null +++ b/miniprogram/pages/my/my.wxml @@ -0,0 +1,2 @@ + +pages/my/my.wxml diff --git a/miniprogram/pages/my/my.wxss b/miniprogram/pages/my/my.wxss new file mode 100644 index 0000000..1c3fe88 --- /dev/null +++ b/miniprogram/pages/my/my.wxss @@ -0,0 +1 @@ +/* pages/my/my.wxss */ \ No newline at end of file diff --git a/miniprogram/pages/redGrider/redGrider.js b/miniprogram/pages/redGrider/redGrider.js new file mode 100644 index 0000000..673daec --- /dev/null +++ b/miniprogram/pages/redGrider/redGrider.js @@ -0,0 +1,66 @@ +// pages/redGrider/redGrider.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/miniprogram/pages/redGrider/redGrider.json b/miniprogram/pages/redGrider/redGrider.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/miniprogram/pages/redGrider/redGrider.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/miniprogram/pages/redGrider/redGrider.wxml b/miniprogram/pages/redGrider/redGrider.wxml new file mode 100644 index 0000000..ba2beb3 --- /dev/null +++ b/miniprogram/pages/redGrider/redGrider.wxml @@ -0,0 +1,2 @@ + +pages/redGrider/redGrider.wxml diff --git a/miniprogram/pages/redGrider/redGrider.wxss b/miniprogram/pages/redGrider/redGrider.wxss new file mode 100644 index 0000000..b484bae --- /dev/null +++ b/miniprogram/pages/redGrider/redGrider.wxss @@ -0,0 +1 @@ +/* pages/redGrider/redGrider.wxss */ \ No newline at end of file diff --git a/miniprogram/pages/redSail/redSail.js b/miniprogram/pages/redSail/redSail.js new file mode 100644 index 0000000..e78b51a --- /dev/null +++ b/miniprogram/pages/redSail/redSail.js @@ -0,0 +1,66 @@ +// pages/redSail/redSail.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/miniprogram/pages/redSail/redSail.json b/miniprogram/pages/redSail/redSail.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/miniprogram/pages/redSail/redSail.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/miniprogram/pages/redSail/redSail.wxml b/miniprogram/pages/redSail/redSail.wxml new file mode 100644 index 0000000..1d0f031 --- /dev/null +++ b/miniprogram/pages/redSail/redSail.wxml @@ -0,0 +1,2 @@ + +pages/redSail/redSail.wxml diff --git a/miniprogram/pages/redSail/redSail.wxss b/miniprogram/pages/redSail/redSail.wxss new file mode 100644 index 0000000..4109994 --- /dev/null +++ b/miniprogram/pages/redSail/redSail.wxss @@ -0,0 +1 @@ +/* pages/redSail/redSail.wxss */ \ No newline at end of file diff --git a/miniprogram/pages/volunteer/volunteer.js b/miniprogram/pages/volunteer/volunteer.js new file mode 100644 index 0000000..e7b4717 --- /dev/null +++ b/miniprogram/pages/volunteer/volunteer.js @@ -0,0 +1,66 @@ +// pages/volunteer/volunteer.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/miniprogram/pages/volunteer/volunteer.json b/miniprogram/pages/volunteer/volunteer.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/miniprogram/pages/volunteer/volunteer.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/miniprogram/pages/volunteer/volunteer.wxml b/miniprogram/pages/volunteer/volunteer.wxml new file mode 100644 index 0000000..e75952e --- /dev/null +++ b/miniprogram/pages/volunteer/volunteer.wxml @@ -0,0 +1,2 @@ + +pages/volunteer/volunteer.wxml diff --git a/miniprogram/pages/volunteer/volunteer.wxss b/miniprogram/pages/volunteer/volunteer.wxss new file mode 100644 index 0000000..6aa391f --- /dev/null +++ b/miniprogram/pages/volunteer/volunteer.wxss @@ -0,0 +1 @@ +/* pages/volunteer/volunteer.wxss */ \ No newline at end of file diff --git a/miniprogram/project.config.json b/miniprogram/project.config.json index b4971b5..670d9cc 100644 --- a/miniprogram/project.config.json +++ b/miniprogram/project.config.json @@ -44,7 +44,7 @@ }, "compileType": "miniprogram", "libVersion": "2.10.4", - "appid": "wxfa4afaa2b5f9c876", + "appid": "wx8d2c0ec0d6d73f6c", "projectname": "%E5%85%9A%E7%BE%A4e%E5%AE%B6-%E7%BA%BF%E4%B8%8A%E7%89%88", "simulatorType": "wechat", "simulatorPluginLibVersion": {}, diff --git a/miniprogram/project.private.config.json b/miniprogram/project.private.config.json index bf9587b..7d7e0c1 100644 --- a/miniprogram/project.private.config.json +++ b/miniprogram/project.private.config.json @@ -1,5 +1,5 @@ { - "projectname": "%252525E5%25252585%2525259A%252525E7%252525BE%252525A4e%252525E5%252525AE%252525B6-%252525E7%252525BA%252525BF%252525E4%252525B8%2525258A%252525E7%25252589%25252588", + "projectname": "miniprogram", "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", "condition": { "miniprogram": { @@ -82,5 +82,7 @@ } }, "libVersion": "2.31.1", - "setting": {} + "setting": { + "compileHotReLoad": true + } } \ No newline at end of file