首页功能对接接口

This commit is contained in:
itgaojian 2023-02-24 18:15:58 +08:00
parent 7bbad266ba
commit ff9c36ae56
13 changed files with 1077 additions and 956 deletions

7
app.js
View File

@ -6,16 +6,19 @@ App({
loginUrl: restAjax.baseUrl, loginUrl: restAjax.baseUrl,
usercenterUrl: restAjax.baseUrl, usercenterUrl: restAjax.baseUrl,
newsUrl: restAjax.baseUrl, newsUrl: restAjax.baseUrl,
newsContentUrl: restAjax.baseUrl, newsContentUrl: restAjax.url,
libraryUrl: restAjax.baseUrl, libraryUrl: restAjax.baseUrl,
venueUrl: restAjax.baseUrl, venueUrl: restAjax.baseUrl,
activityUrl: restAjax.baseUrl, activityUrl: restAjax.baseUrl,
volunteerUrl: restAjax.baseUrl, volunteerUrl: restAjax.baseUrl,
activityUrl: restAjax.baseUrl, activityUrl: restAjax.baseUrl,
volunteerUrl: restAjax.baseUrl, volunteerUrl: restAjax.baseUrl,
liveUrl: restAjax.baseUrl, liveUrl: restAjax.ulr+'live/',
liveRecordUrl: restAjax.baseUrl, liveRecordUrl: restAjax.baseUrl,
socialUrl: restAjax.baseUrl, socialUrl: restAjax.baseUrl,
areaCode: '540200000000',
areaName: '日喀则市',
areaId: '640675',
shopUrl: restAjax.url + "xzshop", shopUrl: restAjax.url + "xzshop",
restAjax: restAjax, restAjax: restAjax,
shopImgUrl: restAjax.url + "xzshop/route/file/download/true/", shopImgUrl: restAjax.url + "xzshop/route/file/download/true/",

View File

@ -40,20 +40,23 @@
"pages/serviceActivityDetail/serviceActivityDetail", "pages/serviceActivityDetail/serviceActivityDetail",
"pages/shop/shopcategory" "pages/shop/shopcategory"
], ],
"subPackages": [{ "subPackages": [
"root": "subpages/", {
"pages": [ "root": "subpages/",
"goodslist/goodslist", "pages": [
"goodsdetail/goodsdetail", "goodslist/goodslist",
"goodscar/goodscar", "goodsdetail/goodsdetail",
"goodsaddress/goodsaddress", "goodscar/goodscar",
"goodsorder/goodsorder", "goodsaddress/goodsaddress",
"addshopaddress/addshopaddress", "goodsorder/goodsorder",
"editshopaddress/editshopaddress", "addshopaddress/addshopaddress",
"orderconfirm/orderconfirm", "editshopaddress/editshopaddress",
"addresschoose/addresschoose" "orderconfirm/orderconfirm",
] "addresschoose/addresschoose",
}], "webcontentview/webcontent"
]
}
],
"window": { "window": {
"backgroundTextStyle": "light", "backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#9F1512", "navigationBarBackgroundColor": "#9F1512",
@ -64,7 +67,8 @@
"color": "#BBBBBB", "color": "#BBBBBB",
"borderStyle": "black", "borderStyle": "black",
"selectedColor": "#000000", "selectedColor": "#000000",
"list": [{ "list": [
{
"pagePath": "pages/index/index", "pagePath": "pages/index/index",
"iconPath": "images/index.png", "iconPath": "images/index.png",
"text": "首页", "text": "首页",

View File

@ -30,7 +30,9 @@ Page({
liveList: [] liveList: []
}, },
usercenterUrl: app.usercenterUrl, usercenterUrl: app.usercenterUrl,
isConfirm: false isConfirm: false,
mainFuncList: [],
mainNewTab: [],
}, },
doLogin: function () { doLogin: function () {
var self = this; var self = this;
@ -60,6 +62,63 @@ Page({
} }
}) })
}, },
//获取首页功能
getMainFunc() {
var _self = this;
app.restAjax.get(app.restAjax.path('{newsUrl}/app/newsdirectories/list/areamenu/release/{areaCode}', [_self.data.news.newsUrl, app.areaCode]),
null,
null,
function (code, data) {
console.log(data)
_self.setData({
mainFuncList: data
})
},
function (code, data) {
app.dialog.msg(data.msg);
});
},
//获取首页新闻动态
getMainNewsTab() {
var _self = this;
app.restAjax.get(app.restAjax.path('{newsUrl}/app/newsdirectories/list/areaplate/release/{areaCode}', [_self.data.news.newsUrl, app.areaCode]),
null,
null,
function (code, data) {
if (data && data.length > 0) {
_self.setData({
mainNewTab: data
})
data.forEach(el => {
_self.doGetNewsList(el.newsDirectoriesId);
});
}
},
function (code, data) {
app.dialog.msg(data.msg);
});
},
//获取新闻
doGetNewsList(id) {
var _self = this;
app.restAjax.get(app.restAjax.path('{newsUrl}/app/newscontent/listpagenewscontentrelease/{areaCode}', [_self.data.news.newsUrl, app.areaCode]), {
newsDirectoriesId: id,
page: 1,
rows: 5
}, null, function (code, data) {
_self.data.mainNewTab.forEach(el => {
if (el.newsDirectoriesId == id) {
el.newsList = data.rows
}
});
_self.setData({
mainNewTab: _self.data.mainNewTab
})
}, function (code, data) {
console.log(data)
app.dialog.msg(data.msg);
});
},
doGetBanner: function () { doGetBanner: function () {
var self = this; var self = this;
app.restAjax.get(app.restAjax.path('{newsUrl}/app/newscontent/listpagenewscontentrelease', [self.data.news.newsUrl]), { app.restAjax.get(app.restAjax.path('{newsUrl}/app/newscontent/listpagenewscontentrelease', [self.data.news.newsUrl]), {
@ -110,20 +169,20 @@ Page({
app.dialog.msg(data.msg); app.dialog.msg(data.msg);
}); });
}, },
doGetNewsList: function () { // doGetNewsList: function () {
var self = this; // var self = this;
app.restAjax.get(app.restAjax.path('{newsUrl}/app/newscontent/listpagenewscontentrelease', [self.data.news.newsUrl]), { // app.restAjax.get(app.restAjax.path('{newsUrl}/app/newscontent/listpagenewscontentrelease', [self.data.news.newsUrl]), {
newsDirectoriesParentId: 'f497904b-7727-4832-891c-604c36ae4167', // newsDirectoriesParentId: 'f497904b-7727-4832-891c-604c36ae4167',
page: 1, // page: 1,
rows: 5 // rows: 5
}, null, function (code, data) { // }, null, function (code, data) {
self.setData({ // self.setData({
'news.newsList': data.rows // 'news.newsList': data.rows
}) // })
}, function (code, data) { // }, function (code, data) {
app.dialog.msg(data.msg); // app.dialog.msg(data.msg);
}); // });
}, // },
doGetLiveList: function () { doGetLiveList: function () {
var self = this; var self = this;
app.restAjax.get(app.restAjax.path('{liveUrl}/app/liveplan/listpageliveplanrelease', [self.data.live.liveUrl]), { app.restAjax.get(app.restAjax.path('{liveUrl}/app/liveplan/listpageliveplanrelease', [self.data.live.liveUrl]), {
@ -137,11 +196,33 @@ Page({
app.dialog.msg(data.msg); app.dialog.msg(data.msg);
}); });
}, },
goNewsDetail: function (event) { goNewsDetail: function (event) {
wx.navigateTo({ wx.navigateTo({
url: '../newsDetail/newsDetail?templateRecordUrl=' + event.currentTarget.dataset.templateRecordUrl, url: '../newsDetail/newsDetail?templateRecordUrl=' + event.currentTarget.dataset.templateRecordUrl,
}) })
}, },
openNewsDetail(e) {
console.log(e.currentTarget.dataset.item)
//判断是跳转到列表 详情 webview
var item = e.currentTarget.dataset.item;
if (item.directoriesView == '0') {
//跳转webview
wx.navigateTo({
url: '/subpages/webcontentview/webcontent?url=' + item.directoriesTarget2,
})
} else if (item.directoriesView == '1') {
//跳转列表
wx.navigateTo({
url: '/pages/newsList/newsList?id=' + item.newsDirectoriesId,
})
} else {
//跳转无二级页面
wx.navigateTo({
url: '/pages/newsList/newsList?id=' + item.newsDirectoriesId,
})
}
},
goNewsList: function (event) { goNewsList: function (event) {
wx.navigateTo({ wx.navigateTo({
url: '../newsList/newsList?type=' + event.currentTarget.dataset.type, url: '../newsList/newsList?type=' + event.currentTarget.dataset.type,
@ -240,58 +321,11 @@ Page({
}) })
self.doLogin(); self.doLogin();
self.doGetBanner(); self.doGetBanner();
self.doGetNewsList();
self.doGetLiveList(); self.doGetLiveList();
self.doGetVenueList(); self.doGetVenueList();
self.doGetActivityList(); self.doGetActivityList();
self.getMainFunc();
self.getMainNewsTab();
}, },
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
}) })

View File

@ -1,167 +1,157 @@
<view class="swiper-box"> <view class="swiper-box">
<swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" > <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}">
<swiper-item class="swiper-item" wx:for="{{news.bannerList}}" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:for-index="idx" wx:for-item="item" wx:key="bannerList"> <swiper-item class="swiper-item" wx:for="{{news.bannerList}}" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:for-index="idx" wx:for-item="item" wx:key="bannerList">
<image src="{{news.newsUrl}}/route/file/download/true/{{coverItem.contentCoverId}}" wx:for="{{item.newsContentCoverList}}" wx:for-item="coverItem" class="swiper-img" wx:key="swiperImg"></image> <image src="{{news.newsUrl}}/route/file/download/true/{{coverItem.contentCoverId}}" wx:for="{{item.newsContentCoverList}}" wx:for-item="coverItem" class="swiper-img" wx:key="swiperImg"></image>
</swiper-item> </swiper-item>
</swiper> </swiper>
</view> </view>
<view class="tab"> <view class="tab">
<view class="tab-box" bindtap="goNewsList" data-type="2"> <block wx:for="{{mainFuncList}}" wx:key="index">
<image src="../../images/tab6.png"></image> <view class="tab-box" bindtap="openNewsDetail" data-item="{{item}}">
<view class="tab-title">展览展示</view> <image src="{{item.directoriesPhoto==''? '../../images/tab6.png':news.newsUrl+'/route/file/download/true/'+item.directoriesPhoto}}"></image>
</view> <view class="tab-title">{{item.directoriesName}}</view>
<view class="tab-box" bindtap="goNewsList" data-type="1"> </view>
<image src="../../images/tab7.png"></image> </block>
<view class="tab-title">文化动态</view> <view class="tab-box" bindtap="goVolunteer">
</view> <image src="../../images/tab1.png"></image>
<view class="tab-box" bindtap="goVolunteer"> <view class="tab-title">志愿者服务</view>
<image src="../../images/tab1.png"></image> </view>
<view class="tab-title">志愿者服务</view> <view class="tab-box" bindtap="goActivity">
</view> <image src="../../images/tab2.png"></image>
<view class="tab-box" bindtap="goActivity"> <view class="tab-title">精彩活动</view>
<image src="../../images/tab2.png"></image> </view>
<view class="tab-title">精彩活动</view> <view class="tab-box" bindtap="goVenue">
</view> <image src="../../images/tab3.png"></image>
<view class="tab-box" bindtap="goVenue"> <view class="tab-title">场馆导航</view>
<image src="../../images/tab3.png"></image> </view>
<view class="tab-title">场馆导航</view> <view class="tab-box" bindtap="goHeritage">
</view> <image src="../../images/tab4.png"></image>
<view class="tab-box" bindtap="goHeritage"> <view class="tab-title">非遗文化</view>
<image src="../../images/tab4.png"></image> </view>
<view class="tab-title">非遗文化</view> <view class="tab-box" bindtap="goBroadcast">
</view> <image src="../../images/tab5.png"></image>
<view class="tab-box" bindtap="goBroadcast"> <view class="tab-title">直播点播</view>
<image src="../../images/tab5.png"></image> </view>
<view class="tab-title">直播点播</view>
</view>
<view class="tab-box" bindtap="goTrain">
<image src="../../images/tab5.png"></image>
<view class="tab-title">在线培训</view>
</view>
<view class="tab-box" bindtap="goTravel">
<image src="../../images/tab6.png"></image>
<view class="tab-title">文化旅游</view>
</view>
<view class="tab-box" bindtap="goResource">
<image src="../../images/tab4.png"></image>
<view class="tab-title">数图资源</view>
</view>
</view> </view>
<view class="recommend"> <view class="recommend">
<view class="public-title"> <view class="public-title">
<view class="title-text"> <view class="title-text">
<image src="../../images/selected-l.png" class="selected-l"></image> <image src="../../images/selected-l.png" class="selected-l"></image>
精彩推荐 精彩推荐
<image src="../../images/selected-r.png" class="selected-r"></image> <image src="../../images/selected-r.png" class="selected-r"></image>
</view>
</view> </view>
</view> <view class="recommend-container">
<view class="recommend-container"> <view class="recommend-box" wx:for="{{venue.venueList}}" bindtap="goVenueDetail" data-venues-info-Id="{{item.venuesInfoId}}" wx:for-index="index" wx:for-item="item" wx:key="venueList">
<view class="recommend-box" wx:for="{{venue.venueList}}" bindtap="goVenueDetail" data-venues-info-Id="{{item.venuesInfoId}}" wx:for-index="index" wx:for-item="item" wx:key="venueList"> <image src="{{venue.venueUrl}}/route/file/download/true/{{item.venuePanoramaArray[0]}}"></image>
<image src="{{venue.venueUrl}}/route/file/download/true/{{item.venuePanoramaArray[0]}}"></image> </view>
<view class="recommend-box" wx:for="{{activity.activityList}}" bindtap="goActivityDetail" data-activity-library-id="{{item.activityLibraryId}}" wx:for-index="index" wx:for-item="item" wx:key="activityList">
<image src="{{activity.activityUrl}}/route/file/download/true/{{item.activityImageArray[0]}}"></image>
</view>
</view> </view>
<view class="recommend-box" wx:for="{{activity.activityList}}" bindtap="goActivityDetail" data-activity-library-id="{{item.activityLibraryId}}" wx:for-index="index" wx:for-item="item" wx:key="activityList">
<image src="{{activity.activityUrl}}/route/file/download/true/{{item.activityImageArray[0]}}"></image>
</view>
</view>
</view> </view>
<view class="news"> <view class="news" wx:if="{{mainNewTab.length>0}}">
<view class="public-title"> <block wx:for="{{mainNewTab}}" wx:key="i" wx:for-item="it" wx:for-index="i">
<view class="title-text"> <view class="public-title">
<image src="../../images/selected-l.png" class="selected-l"></image> <view class="title-text">
文化动态 <image src="../../images/selected-l.png" class="selected-l"></image>
<image src="../../images/selected-r.png" class="selected-r"></image> {{it.directoriesName}}
</view> <image src="../../images/selected-r.png" class="selected-r"></image>
</view> </view>
<view wx:for="{{news.newsList}}" wx:for-index="idx" wx:for-item="item" wx:key="newsList">
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_1'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-small-pic">
<image src="{{news.newsUrl}}/route/file/download/true/{{coverItem.contentCoverId}}" wx:for="{{item.newsContentCoverList}}" wx:for-item="coverItem" wx:key="coverItem"></image>
</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-box transverse-news" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_2'}}">
<view class="news-row-img">
<image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}"></image>
</view>
<view class="news-row-info">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view> </view>
</view> <block wx:if="{{it.newsList}}">
</view> <view wx:for="{{it.newsList}}" wx:for-index="idx" wx:for-item="item" wx:key="idx">
<view class="news-box transverse-news" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_3'}}"> <view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_1'}}">
<view class="news-row-info"> <view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-title">{{item.newsContentTitle}}</view> <view class="news-small-pic">
<view class="news-info"> <image src="{{news.newsUrl}}/route/file/download/true/{{coverItem.contentCoverId}}" wx:for="{{item.newsContentCoverList}}" wx:for-item="coverItem" wx:key="coverItem"></image>
<text>来源:{{item.newsContentResource}}</text> </view>
<text>{{item.newsContentPublishTime}}</text> <view class="news-info">
</view> <text>来源:{{item.newsContentResource}}</text>
</view> <text>{{item.newsContentPublishTime}}</text>
<view class="news-row-img"> </view>
<image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}" ></image> </view>
</view> <view class="news-box transverse-news" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_2'}}">
</view> <view class="news-row-img">
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_4'}}"> <image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}"></image>
<view class="news-title">{{item.newsContentTitle}}</view> </view>
<view class="news-big-pic"> <view class="news-row-info">
<image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}" ></image> <view class="news-title">{{item.newsContentTitle}}</view>
</view> <view class="news-info">
<view class="news-info"> <text>来源:{{item.newsContentResource}}</text>
<text>来源:{{item.newsContentResource}}</text> <text>{{item.newsContentPublishTime}}</text>
<text>{{item.newsContentPublishTime}}</text> </view>
</view> </view>
</view> </view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_5'}}"> <view class="news-box transverse-news" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_3'}}">
<view class="news-title">{{item.newsContentTitle}}</view> <view class="news-row-info">
<view class="news-info"> <view class="news-title">{{item.newsContentTitle}}</view>
<text>来源:{{item.newsContentResource}}</text> <view class="news-info">
<text>{{item.newsContentPublishTime}}</text> <text>来源:{{item.newsContentResource}}</text>
</view> <text>{{item.newsContentPublishTime}}</text>
</view> </view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_6'}}"> </view>
<view class="news-title">{{item.newsContentTitle}}</view> <view class="news-row-img">
<view class="news-big-pic"> <image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}"></image>
<image src="{{news.newsUrl}}/route/file/download/true/{{coverItem.contentCoverId}}" wx:for="{{item.newsContentCoverList}}" wx:for-item="coverItem" wx:key="coverItem"></image> </view>
<image src="../../images/play.png" class="play-btn"></image> </view>
</view> <view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_4'}}">
<view class="news-info"> <view class="news-title">{{item.newsContentTitle}}</view>
<text>来源:{{item.newsContentResource}}</text> <view class="news-big-pic">
<text>{{item.newsContentPublishTime}}</text> <image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}"></image>
</view> </view>
</view> <view class="news-info">
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_7'}}"> <text>来源:{{item.newsContentResource}}</text>
<view class="news-title">{{item.newsContentTitle}}</view> <text>{{item.newsContentPublishTime}}</text>
<view class="news-info voice-box"> </view>
<text>来源:{{item.newsContentResource}}</text> </view>
<text>{{item.newsContentPublishTime}}</text> <view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_5'}}">
<image src="../../images/play.png"></image> <view class="news-title">{{item.newsContentTitle}}</view>
</view> <view class="news-info">
</view> <text>来源:{{item.newsContentResource}}</text>
</view> <text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_6'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-big-pic">
<image src="{{news.newsUrl}}/route/file/download/true/{{coverItem.contentCoverId}}" wx:for="{{item.newsContentCoverList}}" wx:for-item="coverItem" wx:key="coverItem"></image>
<image src="../../images/play.png" class="play-btn"></image>
</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_7'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-info voice-box">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
<image src="../../images/play.png"></image>
</view>
</view>
</view>
</block>
</block>
</view> </view>
<view class="broadcast"> <view class="broadcast">
<view class="public-title"> <view class="public-title">
<view class="title-text"> <view class="title-text">
<image src="../../images/selected-l.png" class="selected-l"></image> <image src="../../images/selected-l.png" class="selected-l"></image>
直播专区 直播专区
<image src="../../images/selected-r.png" class="selected-r"></image> <image src="../../images/selected-r.png" class="selected-r"></image>
</view>
</view> </view>
</view> <view class="broadcast-container">
<view class="broadcast-container"> <view class="broadcast-box" bindtap="goBroadcastDetail" data-live-plan-id="{{item.livePlanId}}" wx:for="{{live.liveList}}" wx:for-index="index" wx:for-item="item" wx:key="liveList">
<view class="broadcast-box" bindtap="goBroadcastDetail" data-live-plan-id="{{item.livePlanId}}" wx:for="{{live.liveList}}" wx:for-index="index" wx:for-item="item" wx:key="liveList"> <image src="{{live.liveUrl}}/route/file/download/true/{{item.livePlanPhoto}}"></image>
<image src="{{live.liveUrl}}/route/file/download/true/{{item.livePlanPhoto}}"></image> <view class="broadcast-text">{{item.livePlanName}}</view>
<view class="broadcast-text">{{item.livePlanName}}</view> <view class="broadcast-status">直播中</view>
<view class="broadcast-status">直播中</view> <view class="broadcast-status" wx:if="{{item.liveStatus == 0}}">已结束</view>
<view class="broadcast-status" wx:if="{{item.liveStatus == 0}}">已结束</view> <view class="broadcast-status" wx:elif="{{item.liveStatus == 1}}">未开始</view>
<view class="broadcast-status" wx:elif="{{item.liveStatus == 1}}">未开始</view> <view class="broadcast-status" wx:elif="{{item.liveStatus == 2}}">直播中</view>
<view class="broadcast-status" wx:elif="{{item.liveStatus == 2}}">直播中</view> <view class="broadcast-status" wx:else>错误</view>
<view class="broadcast-status" wx:else>错误</view> </view>
</view> </view>
</view>
</view> </view>

View File

@ -1,264 +1,315 @@
.swiper-box, .swiper-img, swiper{ .swiper-box,
width: 100%; .swiper-img,
height: 330rpx; swiper {
width: 100%;
height: 330rpx;
} }
.tab{
padding: 30rpx; .tab {
display: flex; padding: 30rpx;
border-bottom: 5px solid #FBFBFB; display: flex;
flex-wrap: nowrap; border-bottom: 5px solid #FBFBFB;
overflow-x: scroll; flex-wrap: nowrap;
overflow-x: scroll;
} }
.tab-box{
flex-shrink: 0; .tab-box {
text-align: center; flex-shrink: 0;
width: 25%; text-align: center;
width: 25%;
} }
.tab-box image{
width: 65rpx; .tab-box image {
height: 65rpx; width: 65rpx;
height: 65rpx;
} }
.tab-title{
font-size: 28rpx; .tab-title {
font-size: 28rpx;
} }
.recommend{
padding: 30rpx; .recommend {
border-bottom: 5px solid #FBFBFB; padding: 30rpx;
border-bottom: 5px solid #FBFBFB;
} }
.recommend-container{
width: 100%; .recommend-container {
display: flex; width: 100%;
overflow-x: auto; display: flex;
overflow-x: auto;
} }
.recommend-box{
flex-shrink: 0; .recommend-box {
width: 220rpx; flex-shrink: 0;
height: 130rpx; width: 220rpx;
border-radius: 10rpx; height: 130rpx;
overflow: hidden; border-radius: 10rpx;
position: relative; overflow: hidden;
margin-right: 30rpx; position: relative;
margin-right: 30rpx;
} }
.recommend-box image{
width: 100%; .recommend-box image {
height: 100%; width: 100%;
height: 100%;
} }
.public-title{
text-align: center; .public-title {
text-align: center;
padding: 10rpx 0rpx;
} }
.title-text{
display: inline-block; .title-text {
font-size: 32rpx; display: inline-block;
color: #9F1512; font-size: 32rpx;
padding: 0 20rpx 0; color: #9F1512;
position: relative; padding: 0 20rpx 0;
margin-bottom: 15rpx; position: relative;
margin-bottom: 15rpx;
} }
.title-text image{
position: absolute; .title-text image {
top: 0; position: absolute;
width: 15rpx; top: 0;
height: 100%; width: 15rpx;
height: 100%;
} }
.selected-l{
left: 0; .selected-l {
left: 0;
} }
.selected-r{
right: 0; .selected-r {
right: 0;
} }
.news{
padding: 30rpx; .news {
border-bottom: 5px solid #FBFBFB; padding: 30rpx;
border-bottom: 5px solid #FBFBFB;
} }
.news-box{
padding: 30rpx 0; .news-box {
border-bottom: 1px solid #EBEBEB; padding: 30rpx 0;
display: flex; border-bottom: 1px solid #EBEBEB;
flex-direction: column; display: flex;
flex-direction: column;
} }
.news-title{
color: #242424; .news-title {
font-size: 30rpx; color: #242424;
font-weight: bold; font-size: 30rpx;
font-weight: bold;
} }
.news-info{
color: #949494; .news-info {
margin-top: 15rpx; color: #949494;
font-size: 24rpx; margin-top: 15rpx;
font-size: 24rpx;
} }
.news-info text{
margin-right: 20rpx; .news-info text {
margin-right: 20rpx;
} }
.news-big-pic, .news-small-pic{
margin-top: 10rpx; .news-big-pic,
.news-small-pic {
margin-top: 10rpx;
} }
.news-big-pic image{
width: 100%; .news-big-pic image {
height: 380rpx; width: 100%;
height: 380rpx;
} }
.news-small-pic image{
width: 30%; .news-small-pic image {
height: 150rpx; width: 30%;
margin-right: 20rpx; height: 150rpx;
margin-right: 20rpx;
} }
.transverse-news{
flex-direction: row; .transverse-news {
justify-content: space-between; flex-direction: row;
justify-content: space-between;
} }
.news-row-img{
width: 30%; .news-row-img {
height: 150rpx; width: 30%;
height: 150rpx;
} }
.news-row-img image{
width: 100%; .news-row-img image {
height: 100%; width: 100%;
height: 100%;
} }
.news-row-info{
width: 68%; .news-row-info {
width: 68%;
} }
.broadcast{
margin-top: 15rpx; .broadcast {
padding: 0 30rpx; margin-top: 15rpx;
padding: 0 30rpx;
} }
.broadcast-container{
display: flex; .broadcast-container {
justify-content: space-between; display: flex;
flex-wrap: wrap; justify-content: space-between;
flex-wrap: wrap;
} }
.broadcast-box{
flex-shrink: 0; .broadcast-box {
width: 49%; flex-shrink: 0;
border-radius: 10rpx; width: 49%;
overflow: hidden; border-radius: 10rpx;
height: 185rpx; overflow: hidden;
margin-bottom: 15rpx; height: 185rpx;
position: relative; margin-bottom: 15rpx;
position: relative;
} }
.broadcast-box image{
width: 100%; .broadcast-box image {
height: 100%; width: 100%;
height: 100%;
} }
.broadcast-text{
position: absolute; .broadcast-text {
left: 0; position: absolute;
right: 0; left: 0;
bottom: 0; right: 0;
padding: 5rpx 10rpx; bottom: 0;
font-size: 26rpx; padding: 5rpx 10rpx;
background: rgba(0,0,0,0.6); font-size: 26rpx;
color: #fff; background: rgba(0, 0, 0, 0.6);
white-space: nowrap; color: #fff;
overflow: hidden; white-space: nowrap;
text-overflow: ellipsis; overflow: hidden;
text-overflow: ellipsis;
} }
.broadcast-status{
position: absolute; .broadcast-status {
top: 10rpx; position: absolute;
right: 10rpx; top: 10rpx;
padding: 5rpx; right: 10rpx;
background: #9F1512; padding: 5rpx;
color: #fff; background: #9F1512;
font-size: 26rpx; color: #fff;
border-radius: 10rpx; font-size: 26rpx;
border-radius: 10rpx;
} }
.set-phone{
position: fixed; .set-phone {
top: 0; position: fixed;
left: 0; top: 0;
right: 0; left: 0;
bottom: 0; right: 0;
background: rgba(0, 0, 0, .6); bottom: 0;
z-index: 100; background: rgba(0, 0, 0, .6);
z-index: 100;
} }
.set-phone-box{
width: 96%; .set-phone-box {
position: absolute; width: 96%;
top: 50%; position: absolute;
left: 50%; top: 50%;
transform: translate(-50%, -50%); left: 50%;
background: #fff; transform: translate(-50%, -50%);
border-radius: 10rpx; background: #fff;
padding: 30rpx; border-radius: 10rpx;
box-sizing: border-box; padding: 30rpx;
box-sizing: border-box;
} }
.tips{
font-size: 28rpx; .tips {
color: #000; font-size: 28rpx;
color: #000;
} }
.phone-input{
margin: 25rpx 0; .phone-input {
margin: 25rpx 0;
} }
.code-input{
display: flex; .code-input {
justify-content: space-between; display: flex;
margin-bottom: 25rpx; justify-content: space-between;
margin-bottom: 25rpx;
} }
.code-input input{
width: 70%; .code-input input {
height: 55rpx; width: 70%;
border: 1px solid #dedede; height: 55rpx;
border-radius: 10rpx; border: 1px solid #dedede;
padding: 0 10rpx; border-radius: 10rpx;
box-sizing: border-box; padding: 0 10rpx;
font-size: 28rpx; box-sizing: border-box;
font-size: 28rpx;
} }
.phone-input input{
width: 100%; .phone-input input {
height: 55rpx; width: 100%;
border: 1px solid #dedede; height: 55rpx;
border-radius: 10rpx; border: 1px solid #dedede;
padding: 0 10rpx; border-radius: 10rpx;
box-sizing: border-box; padding: 0 10rpx;
font-size: 28rpx; box-sizing: border-box;
font-size: 28rpx;
} }
.get-code, .got-code{
font-size: 28rpx; .get-code,
background: rgba(159,21,18,.1); .got-code {
color: #9F1512; font-size: 28rpx;
width: 28%; background: rgba(159, 21, 18, .1);
line-height: 55rpx; color: #9F1512;
text-align: center; width: 28%;
border-radius: 10rpx; line-height: 55rpx;
text-align: center;
border-radius: 10rpx;
} }
.got-code{
background: #fff; .got-code {
color: #4a4d52; background: #fff;
border: 1px solid #eaeaea; color: #4a4d52;
border: 1px solid #eaeaea;
} }
.set-phone-btn-box{
display: flex; .set-phone-btn-box {
justify-content: space-between; display: flex;
justify-content: space-between;
} }
.set-phone-btn{
width: 100%; .set-phone-btn {
height: 65rpx; width: 100%;
display: flex; height: 65rpx;
align-items: center; display: flex;
justify-content: center; align-items: center;
font-size: 28rpx; justify-content: center;
color: #fff; font-size: 28rpx;
background: #9F1512; color: #fff;
border-radius: 10rpx; background: #9F1512;
border-radius: 10rpx;
} }
.voice-box{
padding-right: 30px; .voice-box {
position: relative; padding-right: 30px;
position: relative;
} }
.voice-box iamge{
position: absolute; .voice-box iamge {
top: 0; position: absolute;
right: 0; top: 0;
width:25rpx; right: 0;
height: 25rpx; width: 25rpx;
height: 25rpx;
} }
.news-big-pic{
position: relative; .news-big-pic {
position: relative;
} }
.news-big-pic image.play-btn{
position: absolute; .news-big-pic image.play-btn {
top: 50%; position: absolute;
left: 50%; top: 50%;
transform: translate(-50%, -50%); left: 50%;
width: 80rpx; transform: translate(-50%, -50%);
height: 80rpx; width: 80rpx;
height: 80rpx;
} }

View File

@ -1,183 +1,134 @@
// pages/newsList/newsList.js // pages/newsList/newsList.js
var app = getApp(); var app = getApp();
Page({ Page({
/** /**
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
news: { news: {
newsUrl: app.newsUrl, newsUrl: app.newsUrl,
newsDictionaries: [], newsDictionaries: [],
newsList: [], newsList: [],
},
dirId: '', //tab Id
currentNewsDictionariesId: '',
currentPage: 1,
rows: 10,
areaId: app.areaCode,
defaultAreaId: app.areaCode
}, },
directoriesParentId: 'f497904b-7727-4832-891c-604c36ae4167', doGetNewsDictionariesList: function () {
currentNewsDictionariesId: '', var self = this;
currentPage: 1, app.dialog.loading('正在加载');
rows: 10, app.restAjax.get(app.restAjax.path('{newsUrl}/app/newsdirectories/listsub/areaauth/release/{newsDirectoriesId}/{areaCode}', [self.data.news.newsUrl, self.data.dirId, app.areaCode]),
areaId: '' null,
}, null,
doGetNewsDictionariesList: function() { function (code, data) {
var self = this; self.setData({
app.dialog.loading('正在加载'); 'news.newsDictionaries': data,
app.restAjax.get(app.restAjax.path('{newsUrl}/app/newsdirectories/listnewsdirectoriesrelease', [self.data.news.newsUrl]), { currentNewsDictionariesId: self.data.dirId
directoriesParentId: self.data.directoriesParentId, })
}, null, function(code, data) { self.doGetNewsList(1);
self.setData({ },
'news.newsDictionaries': data function (code, data) {
}) app.dialog.msg(data.msg);
self.doGetNewsList(1); },
}, function(code, data) { function () {});
app.dialog.msg(data.msg); },
}, function() {}); doClickDictionaries: function (event) {
}, var self = this;
doClickDictionaries: function(event) { console.log(event.currentTarget.dataset.newsDirectoriesId)
var self = this; self.setData({
console.log(event.currentTarget.dataset.newsDirectoriesId) currentNewsDictionariesId: event.currentTarget.dataset.newsDirectoriesId
self.setData({ });
currentNewsDictionariesId: event.currentTarget.dataset.newsDirectoriesId self.doGetNewsList(1);
}); },
self.doGetNewsList(1); //全部类型
}, doClearCurrentNewsDictionariesId: function () {
doClearCurrentNewsDictionariesId: function() { var self = this;
var self = this; self.setData({
self.setData({ currentNewsDictionariesId: self.data.dirId
currentNewsDictionariesId: '' });
}); self.doGetNewsList(1);
self.doGetNewsList(1); },
}, doGetNewsList: function (page, lv) {
doGetNewsList: function(page, lv) { var self = this;
var self = this; app.dialog.loading('正在加载');
app.dialog.loading('正在加载'); var info = {
console.log(self.data.currentNewsDictionariesId) newsDirectoriesId: self.data.currentNewsDictionariesId,
var info = { page: page,
newsDirectoriesParentId: self.data.directoriesParentId, rows: self.data.rows
newsDirectoriesId: self.data.currentNewsDictionariesId ? self.data.currentNewsDictionariesId : '',
page: page,
rows: self.data.rows
}
if (lv) {
lv = 'area' + lv
info[lv] = self.data.areaId
}
app.restAjax.get(app.restAjax.path('{newsUrl}/app/newscontent/listpagenewscontentrelease', [self.data.news.newsUrl]), info, null, function(code, data) {
var newsArray;
if(page <= 1) {
newsArray = data.rows;
} else {
newsArray = self.data.news.newsList;
newsArray = newsArray.concat(data.rows);
}
self.setData({
currentPage: page,
'news.newsList': newsArray
})
console.log(self.data.news.newsList)
if(data.rows.length == 0) {
app.dialog.msg('暂无数据');
return;
}
}, function(code, data) {
app.dialog.msg(data.msg);
}, function() {
wx.stopPullDownRefresh();
wx.hideLoading();
});
},
goNewsDetail: function (event) {
wx.navigateTo({
url: '../newsDetail/newsDetail?templateRecordUrl='+ event.currentTarget.dataset.templateRecordUrl,
})
},
getAreaList: function () {
var self = this;
app.restAjax.get(app.restAjax.path(app.usercenterUrl + '/app/area/listallbyparentidrelease/640675', []),
self.data.pages, null, function (code, data) {
if (code == '200') {
self.setData({
areaList: data
})
} }
} var tempAreaCode = app.areaCode;
) if (lv) {
}, tempAreaCode = self.data.areaId;
changeArea: function (e) { }
app.dialog.loading('正在加载'); app.restAjax.get(app.restAjax.path('{newsUrl}/app/newscontent/listpagenewscontentrelease/{areaCode}', [self.data.news.newsUrl, tempAreaCode]), info, null, function (code, data) {
var lv = parseInt(e.currentTarget.dataset.level) + 1 var newsArray;
this.setData({ if (page <= 1) {
areaId: e.currentTarget.dataset.area newsArray = data.rows;
}) } else {
this.doGetNewsList(1, lv) newsArray = self.data.news.newsList;
}, newsArray = newsArray.concat(data.rows);
loadAll: function () { }
this.setData({ self.setData({
areaId: '' currentPage: page,
}) 'news.newsList': newsArray
this.doGetNewsList(1) })
}, console.log(self.data.news.newsList)
/** if (data.rows.length == 0) {
* 生命周期函数--监听页面加载 app.dialog.msg('暂无数据');
*/ return;
onLoad: function (options) { }
var self = this; }, function (code, data) {
if(options.type == 1) { app.dialog.msg(data.msg);
self.setData({ }, function () {
directoriesParentId: 'f497904b-7727-4832-891c-604c36ae4167' wx.stopPullDownRefresh();
}); wx.hideLoading();
} else { });
self.setData({ },
directoriesParentId: 'f1d5d313-f728-4dda-9843-1116d97e17b0' goNewsDetail: function (event) {
}); wx.navigateTo({
} url: '../newsDetail/newsDetail?templateRecordUrl=' + event.currentTarget.dataset.templateRecordUrl,
self.doGetNewsDictionariesList(); })
self.getAreaList(); },
}, getAreaList: function () {
var self = this;
app.restAjax.get(app.restAjax.path(app.usercenterUrl + '/app/area/listallbyparentidrelease/640675', []),
self.data.pages, null,
function (code, data) {
if (code == '200') {
self.setData({
areaList: data
})
}
}
)
},
changeArea: function (e) {
app.dialog.loading('正在加载');
var lv = parseInt(e.currentTarget.dataset.level) + 1
this.setData({
areaId: e.currentTarget.dataset.area
})
this.doGetNewsList(1, lv)
},
loadAll: function () {
this.setData({
areaId: app.areaCode
})
this.doGetNewsList(1)
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var self = this;
self.setData({
dirId: options.id
})
self.doGetNewsDictionariesList();
self.getAreaList();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
this.doGetNewsList(1);
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
this.doGetNewsList(this.data.currentPage + 1);
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
}) })

View File

@ -1,100 +1,101 @@
<view class="top-tab"> <view class="top-tab">
<view class="type"> <view class="type">
<view class="tab-box {{!currentNewsDictionariesId ? 'active' : ''}}" bindtap="doClearCurrentNewsDictionariesId"> <view class="tab-box {{currentNewsDictionariesId==dirId ? 'active' : ''}}" bindtap="doClearCurrentNewsDictionariesId">
<image src="../../images/selected-l.png" class="selected-l"></image> <image src="../../images/selected-l.png" mode="scaleToFill" wx:if="{{dirId==currentNewsDictionariesId}}"></image>
全部 <view class="txt">全部</view>
<image src="../../images/selected-r.png" class="selected-r"></image> <image src="../../images/selected-r.png" mode="scaleToFill" wx:if="{{dirId==currentNewsDictionariesId}}"></image>
</view>
<view class="tab-box {{ item.newsDirectoriesId == currentNewsDictionariesId ? 'active' : ''}}" wx:for="{{news.newsDictionaries}}" wx:for-index="index" wx:for-item="item" wx:key="newsDictionaries" bindtap="doClickDictionaries" data-news-directories-id="{{item.newsDirectoriesId}}">
<image src="../../images/selected-l.png" mode="scaleToFill" wx:if="{{item.newsDirectoriesId==currentNewsDictionariesId}}"></image>
<view class="txt">{{item.directoriesName}}</view>
<image src="../../images/selected-r.png" mode="scaleToFill" wx:if="{{item.newsDirectoriesId==currentNewsDictionariesId}}"></image>
</view>
</view> </view>
<view class="tab-box {{ item.newsDirectoriesId == currentNewsDictionariesId ? 'active' : ''}}" wx:for="{{news.newsDictionaries}}" wx:for-index="index" wx:for-item="item" wx:key="newsDictionaries" bindtap="doClickDictionaries" data-news-directories-id="{{item.newsDirectoriesId}}"> <view class="type">
<image src="../../images/selected-l.png" class="selected-l"></image> <view class="tab-box {{defaultAreaId == areaId?'active': ''}}" bindtap="loadAll">
{{item.directoriesName}} <image src="../../images/selected-l.png" mode="scaleToFill" wx:if="{{areaId==defaultAreaId}}"></image>
<image src="../../images/selected-r.png" class="selected-r"></image> <view class="txt">全部</view>
<image src="../../images/selected-r.png" mode="scaleToFill" wx:if="{{areaId==defaultAreaId}}"></image>
</view>
<view class="tab-box {{item.areaCode == areaId?'active': ''}}" wx:for="{{areaList}}" wx:key="index" data-area="{{item.areaCode}}" data-level="{{item.areaLevel}}" bindtap="changeArea">
<image src="../../images/selected-l.png" mode="scaleToFill" wx:if="{{areaId==item.areaCode}}"></image>
<view class="txt">{{item.areaName}}</view>
<image src="../../images/selected-r.png" mode="scaleToFill" wx:if="{{areaId==item.areaCode}}"></image>
</view>
</view> </view>
</view>
</view> </view>
<view class="area">
<view class="area-box {{'' == areaId?'active': ''}}" bindtap="loadAll">
<image src="../../images/selected-l.png" class="selected-l"></image>
全部
<image src="../../images/selected-r.png" class="selected-r"></image>
</view>
<view class="area-box {{item.areaId == areaId?'active': ''}}" wx:for="{{areaList}}" wx:key="index" data-area="{{item.areaId}}" data-level="{{item.areaLevel}}" bindtap="changeArea">
<image src="../../images/selected-l.png" class="selected-l"></image>
{{item.areaName}}
<image src="../../images/selected-r.png" class="selected-r"></image>
</view>
</view>
<view class="news"> <view class="news">
<view wx:for="{{news.newsList}}" wx:for-index="idx" wx:for-item="item" wx:key="idx"> <view wx:for="{{news.newsList}}" wx:for-index="idx" wx:for-item="item" wx:key="idx">
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_1'}}"> <view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_1'}}">
<view class="news-title">{{item.newsContentTitle}}</view> <view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-small-pic"> <view class="news-small-pic">
<image src="{{news.newsUrl}}/route/file/download/true/{{coverItem.contentCoverId}}" wx:for="{{item.newsContentCoverList}}" wx:for-item="coverItem" wx:key="coverItem"></image> <image src="{{news.newsUrl}}/route/file/download/true/{{coverItem.contentCoverId}}" wx:for="{{item.newsContentCoverList}}" wx:for-item="coverItem" wx:key="coverItem"></image>
</view> </view>
<view class="news-info"> <view class="news-info">
<text>来源:{{item.newsContentResource}}</text> <text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text> <text>{{item.newsContentPublishTime}}</text>
</view> </view>
</view>
<view class="news-box transverse-news" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_2'}}">
<view class="news-row-img">
<image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}"></image>
</view>
<view class="news-row-info">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view> </view>
</view> <view class="news-box transverse-news" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_2'}}">
</view> <view class="news-row-img">
<view class="news-box transverse-news" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_3'}}"> <image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}"></image>
<view class="news-row-info"> </view>
<view class="news-title">{{item.newsContentTitle}}</view> <view class="news-row-info">
<view class="news-info"> <view class="news-title">{{item.newsContentTitle}}</view>
<text>来源:{{item.newsContentResource}}</text> <view class="news-info">
<text>{{item.newsContentPublishTime}}</text> <text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
</view>
<view class="news-box transverse-news" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_3'}}">
<view class="news-row-info">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-row-img">
<image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}"></image>
</view>
</view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_4'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-big-pic">
<image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}"></image>
</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_5'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_6'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-big-pic">
<image src="{{news.newsUrl}}/route/file/download/true/{{coverItem.contentCoverId}}" wx:for="{{item.newsContentCoverList}}" wx:for-item="coverItem" wx:key="coverItem"></image>
<image src="../../images/play.png" class="play-btn"></image>
</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_7'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-info voice-box">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
<image src="../../images/play.png"></image>
</view>
</view> </view>
</view>
<view class="news-row-img">
<image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}"></image>
</view>
</view> </view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_4'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-big-pic">
<image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}"></image>
</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_5'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_6'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-big-pic">
<image src="{{news.newsUrl}}/route/file/download/true/{{coverItem.contentCoverId}}" wx:for="{{item.newsContentCoverList}}" wx:for-item="coverItem" wx:key="coverItem"></image>
<image src="../../images/play.png" class="play-btn"></image>
</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_7'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-info voice-box">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
<image src="../../images/play.png"></image>
</view>
</view>
</view>
</view> </view>

View File

@ -1,163 +1,223 @@
.top-tab{ .top-tab {
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
right: 0; right: 0;
background: #fff; background: #fff;
overflow-x: auto; overflow-x: hidden;
z-index: 100; z-index: 100;
box-shadow: 10rpx 10rpx 15rpx #f0f0f0;
} }
.type{
display: flex; .type {
display: flex;
overflow-x: auto;
/* 隐藏滚动条 */
scrollbar-width: none;
/* firefox */
-ms-overflow-style: none;
/* IE 10+ */
margin-left: 20rpx;
} }
.tab-box{
display: inline-flex; .tab-box {
justify-content: center; display: flex;
align-items: center; flex-direction: row;
width: 30%; justify-content: space-between;
position: relative; align-items: center;
height: 90rpx; width: 25%;
font-size: 30rpx; position: relative;
color: #242424; height: 90rpx;
flex-shrink: 0; font-size: 30rpx;
color: #242424;
flex-shrink: 0;
} }
.tab-box.active{
color: #9F1512; .tab-box.active {
color: #9F1512;
} }
.tab-box image{
position: absolute; .tab-box image {
width: 15rpx; width: 20rpx;
height: 40rpx; height: 40rpx;
top: 50%; /* position: absolute;
margin-top: -20rpx; width: 15rpx;
display: none; height: 40rpx;
top: 50%;
margin-top: -20rpx;
display: none; */
} }
.tab-box.active image{
display: block; .tab-box .txt {
padding: 0rpx 10rpx;
width: 100%;
text-align: center;
} }
.tab-box image.selected-l{
left: 20rpx; .tab-box.active image {
display: block;
} }
.tab-box image.selected-r{
right: 20rpx; .tab-box image.selected-l {
left: 20rpx;
} }
.area{
z-index: 100; .tab-box image.selected-r {
overflow-x: auto; right: 20rpx;
white-space: nowrap;
position: fixed;
top: 90rpx;
left: 0;
right: 0;
border-bottom: 1px solid #DDD;
background: #fff;
} }
.area-box{
display: inline-flex; .area {
width: 30%; display: flex;
height: 90rpx; /* z-index: 100;
/* line-height: 90rpx; overflow-x: auto;
white-space: nowrap;
position: fixed;
top: 90rpx;
left: 0;
right: 0;
border-bottom: 1px solid #DDD;
background: #fff; */
}
.area-box {
/* display: flex;
width: fit-content;
flex-direction: row;
height: 90rpx; */
/* line-height: 90rpx;
text-align: center; */ text-align: center; */
align-items: center; /* align-items: center;
justify-content: center; justify-content: center;
padding: 0 20px; padding: 0 20px;
box-sizing: border-box; box-sizing: border-box;
position: relative; position: relative;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
font-size: 30rpx; font-size: 30rpx; */
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
width: 30%;
position: relative;
height: 90rpx;
font-size: 30rpx;
color: #242424;
flex-shrink: 0;
} }
.area-box.active{
color: #9F1512; .area-box.active {
color: #9F1512;
} }
.area-box image{
position: absolute; .area-box image {
width: 15rpx; position: absolute;
height: 40rpx; width: 15rpx;
top: 50%; height: 40rpx;
margin-top: -20rpx; top: 50%;
display: none; margin-top: -20rpx;
display: none;
} }
.area-box.active image{
display: block; .area-box.active image {
display: block;
} }
.area-box image.selected-l{
left: 20rpx; .area-box image.selected-l {
left: 20rpx;
} }
.area-box image.selected-r{
right: 20rpx; .area-box image.selected-r {
right: 20rpx;
} }
.news{
padding: 30rpx; .news {
border-bottom: 5px solid #FBFBFB; padding: 30rpx;
margin-top: 180rpx; border-bottom: 5px solid #FBFBFB;
margin-top: 180rpx;
} }
.news-box{
padding: 30rpx 0; .news-box {
border-bottom: 1px solid #EBEBEB; padding: 30rpx 0;
display: flex; border-bottom: 1px solid #EBEBEB;
flex-direction: column; display: flex;
flex-direction: column;
} }
.news-title{
color: #242424; .news-title {
font-size: 30rpx; color: #242424;
font-weight: bold; font-size: 30rpx;
font-weight: bold;
} }
.news-info{
color: #949494; .news-info {
margin-top: 15rpx; color: #949494;
font-size: 24rpx; margin-top: 15rpx;
font-size: 24rpx;
} }
.news-info text{
margin-right: 20rpx; .news-info text {
margin-right: 20rpx;
} }
.voice-box{
padding-right: 30px; .voice-box {
position: relative; padding-right: 30px;
position: relative;
} }
.voice-box iamge{
position: absolute; .voice-box iamge {
top: 0; position: absolute;
right: 0; top: 0;
width:25rpx; right: 0;
height: 25rpx; width: 25rpx;
height: 25rpx;
} }
.news-big-pic, .news-small-pic{
margin-top: 10rpx; .news-big-pic,
.news-small-pic {
margin-top: 10rpx;
} }
.news-big-pic{
position: relative; .news-big-pic {
position: relative;
} }
.news-big-pic image{
width: 100%; .news-big-pic image {
height: 380rpx; width: 100%;
height: 380rpx;
} }
.news-big-pic image.play-btn{
position: absolute; .news-big-pic image.play-btn {
top: 50%; position: absolute;
left: 50%; top: 50%;
transform: translate(-50%, -50%); left: 50%;
width: 80rpx; transform: translate(-50%, -50%);
height: 80rpx; width: 80rpx;
height: 80rpx;
} }
.news-small-pic image{
width: 30%; .news-small-pic image {
height: 150rpx; width: 30%;
margin-right: 20rpx; height: 150rpx;
margin-right: 20rpx;
} }
.transverse-news{
flex-direction: row; .transverse-news {
justify-content: space-between; flex-direction: row;
justify-content: space-between;
} }
.news-row-img{
width: 30%; .news-row-img {
height: 150rpx; width: 30%;
height: 150rpx;
} }
.news-row-img image{
width: 100%; .news-row-img image {
height: 100%; width: 100%;
height: 100%;
} }
.news-row-info{
width: 68%; .news-row-info {
width: 68%;
} }

View File

@ -0,0 +1,19 @@
// subpages/webcontentview/webcontent.js
Page({
/**
* 页面的初始数据
*/
data: {
webUrl: ""
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.setData({
webUrl: options.url
})
},
})

View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@ -0,0 +1,2 @@
<!--subpages/webcontentview/webcontent.wxml-->
<web-view src="{{webUrl}}"></web-view>

View File

@ -0,0 +1 @@
/* subpages/webcontentview/webcontent.wxss */

View File

@ -1,8 +1,8 @@
var methods = { var methods = {
POST_METHOD: 'POST', POST_METHOD: 'POST',
DELETE_METHOD: 'DELETE', DELETE_METHOD: 'DELETE',
PUT_METHOD: 'PUT', PUT_METHOD: 'PUT',
GET_METHOD: 'GET' GET_METHOD: 'GET'
}; };
/** /**
@ -15,7 +15,7 @@ var methods = {
* @param completeCallback * @param completeCallback
*/ */
function postJson(url, dataObj, args, successCallback, errorCallback, completeCallback) { function postJson(url, dataObj, args, successCallback, errorCallback, completeCallback) {
doAjax(url, methods.POST_METHOD, dataObj, args, successCallback, errorCallback, completeCallback); doAjax(url, methods.POST_METHOD, dataObj, args, successCallback, errorCallback, completeCallback);
} }
/** /**
@ -28,7 +28,7 @@ function postJson(url, dataObj, args, successCallback, errorCallback, completeCa
* @param completeCallback * @param completeCallback
*/ */
function deleteForm(url, dataObj, args, successCallback, errorCallback, completeCallback) { function deleteForm(url, dataObj, args, successCallback, errorCallback, completeCallback) {
doAjax(url, methods.DELETE_METHOD, dataObj, args, successCallback, errorCallback, completeCallback); doAjax(url, methods.DELETE_METHOD, dataObj, args, successCallback, errorCallback, completeCallback);
} }
/** /**
@ -41,7 +41,7 @@ function deleteForm(url, dataObj, args, successCallback, errorCallback, complete
* @param completeCallback * @param completeCallback
*/ */
function putJson(url, dataObj, args, successCallback, errorCallback, completeCallback) { function putJson(url, dataObj, args, successCallback, errorCallback, completeCallback) {
doAjax(url, methods.PUT_METHOD, dataObj, args, successCallback, errorCallback, completeCallback); doAjax(url, methods.PUT_METHOD, dataObj, args, successCallback, errorCallback, completeCallback);
} }
/** /**
@ -54,7 +54,7 @@ function putJson(url, dataObj, args, successCallback, errorCallback, completeCal
* @param completeCallback * @param completeCallback
*/ */
function getForm(url, dataObj, args, successCallback, errorCallback, completeCallback) { function getForm(url, dataObj, args, successCallback, errorCallback, completeCallback) {
doAjax(url, methods.GET_METHOD, dataObj, args, successCallback, errorCallback, completeCallback); doAjax(url, methods.GET_METHOD, dataObj, args, successCallback, errorCallback, completeCallback);
} }
/** /**
@ -68,34 +68,34 @@ function getForm(url, dataObj, args, successCallback, errorCallback, completeCal
* @param completeCallback * @param completeCallback
*/ */
function doAjax(url, method, dataObj, args, successCallback, errorCallback, completeCallback) { function doAjax(url, method, dataObj, args, successCallback, errorCallback, completeCallback) {
var headers = {}; var headers = {};
if (args != null && typeof (args.headers) != 'undefined' && args.headers != null) { if (args != null && typeof (args.headers) != 'undefined' && args.headers != null) {
headers = args.headers; headers = args.headers;
}
wx.request({
url: url,
method: method,
data: dataObj,
header: headers,
dataType: 'json',
success: function (response) {
if (response.statusCode == 200) {
successCallback(response.statusCode, response.data, args);
} else {
if (errorCallback && typeof (errorCallback) == 'function') {
errorCallback(response.statusCode, response.data);
}
}
},
fail: function (response) {
console.log(response);
},
complete: function () {
if (completeCallback && typeof (completeCallback) == 'function') {
completeCallback();
}
} }
}) wx.request({
url: url,
method: method,
data: dataObj,
header: headers,
dataType: 'json',
success: function (response) {
if (response.statusCode == 200) {
successCallback(response.statusCode, response.data, args);
} else {
if (errorCallback && typeof (errorCallback) == 'function') {
errorCallback(response.statusCode, response.data);
}
}
},
fail: function (response) {
console.log(response);
},
complete: function () {
if (completeCallback && typeof (completeCallback) == 'function') {
completeCallback();
}
}
})
} }
/** /**
@ -104,18 +104,18 @@ function doAjax(url, method, dataObj, args, successCallback, errorCallback, comp
* @returns {boolean} * @returns {boolean}
*/ */
function pathArgsHasSameValue(pathArgArray) { function pathArgsHasSameValue(pathArgArray) {
var tempArgIndex = 0; var tempArgIndex = 0;
var tempArgs = pathArgArray[tempArgIndex]; var tempArgs = pathArgArray[tempArgIndex];
for (var i = (tempArgIndex + 1), item; item = pathArgArray[i]; i++) { for (var i = (tempArgIndex + 1), item; item = pathArgArray[i]; i++) {
if (tempArgs == item) { if (tempArgs == item) {
throw new Error('参数' + item + '有重复值!!!'); throw new Error('参数' + item + '有重复值!!!');
}
if (i == pathArgArray.length - 1) {
tempArgs = pathArgArray[++tempArgIndex];
i = tempArgIndex;
continue;
}
} }
if (i == pathArgArray.length - 1) {
tempArgs = pathArgArray[++tempArgIndex];
i = tempArgIndex;
continue;
}
}
} }
/** /**
@ -123,22 +123,22 @@ function pathArgsHasSameValue(pathArgArray) {
* @param url * @param url
*/ */
function getParamsArg(url) { function getParamsArg(url) {
var params = url.split('?')[1]; var params = url.split('?')[1];
var paramsObj = {}; var paramsObj = {};
if (typeof (params) == 'undefined' || params == null) { if (typeof (params) == 'undefined' || params == null) {
return paramsObj;
}
var paramsKVs = params.split('&');
for (var i = 0, item = null; item = paramsKVs[i++];) {
var kvs = item.split('=');
if (kvs.length == 1) {
paramsObj[kvs[0]] = null;
}
if (kvs.length == 2) {
paramsObj[kvs[0]] = decodeURI(kvs[1]);
}
}
return paramsObj; return paramsObj;
}
var paramsKVs = params.split('&');
for (var i = 0, item = null; item = paramsKVs[i++];) {
var kvs = item.split('=');
if (kvs.length == 1) {
paramsObj[kvs[0]] = null;
}
if (kvs.length == 2) {
paramsObj[kvs[0]] = decodeURI(kvs[1]);
}
}
return paramsObj;
} }
/** /**
@ -148,22 +148,22 @@ function getParamsArg(url) {
* @returns {*} * @returns {*}
*/ */
function buildPath(basePath, pathArgs) { function buildPath(basePath, pathArgs) {
var path = basePath; var path = basePath;
if (!basePath || !(typeof (basePath) == 'string')) { if (!basePath || !(typeof (basePath) == 'string')) {
throw new Error('basePath必须为字符串!!!'); throw new Error('basePath必须为字符串!!!');
} }
if (!pathArgs || !Array.isArray(pathArgs)) { if (!pathArgs || !Array.isArray(pathArgs)) {
throw new Error('pathArgs必须为数组!!!'); throw new Error('pathArgs必须为数组!!!');
} }
var pathArgArray = basePath.match(/\{\w+\}/g); var pathArgArray = basePath.match(/\{\w+\}/g);
if (!pathArgArray) { if (!pathArgArray) {
return path;
}
pathArgsHasSameValue(pathArgArray);
for (var i = 0, item; item = pathArgArray[i]; i++) {
path = path.replace(item, pathArgs[i]);
}
return path; return path;
}
pathArgsHasSameValue(pathArgArray);
for (var i = 0, item; item = pathArgArray[i]; i++) {
path = path.replace(item, pathArgs[i]);
}
return path;
} }
/** /**
@ -177,33 +177,33 @@ function buildPath(basePath, pathArgs) {
* @param completeCallback * @param completeCallback
*/ */
function postFile(url, path, name, args, successCallback, errorCallback, completeCallback) { function postFile(url, path, name, args, successCallback, errorCallback, completeCallback) {
var headers = {}; var headers = {};
if (args != null && typeof (args.headers) != 'undefined' && args.headers != null) { if (args != null && typeof (args.headers) != 'undefined' && args.headers != null) {
headers = args.headers; headers = args.headers;
}
wx.uploadFile({
filePath: path,
name: name,
url: url,
header: headers,
success: function (response) {
if (response.statusCode == 200) {
successCallback(response.statusCode, response.data, args);
} else {
if (errorCallback && typeof (errorCallback) == 'function') {
errorCallback(response.statusCode, response.data);
}
}
},
fail: function (response) {
console.log(response);
},
complete: function () {
if (completeCallback && typeof (completeCallback) == 'function') {
completeCallback();
}
} }
}) wx.uploadFile({
filePath: path,
name: name,
url: url,
header: headers,
success: function (response) {
if (response.statusCode == 200) {
successCallback(response.statusCode, response.data, args);
} else {
if (errorCallback && typeof (errorCallback) == 'function') {
errorCallback(response.statusCode, response.data);
}
}
},
fail: function (response) {
console.log(response);
},
complete: function () {
if (completeCallback && typeof (completeCallback) == 'function') {
completeCallback();
}
}
})
}; };
/** /**
@ -212,9 +212,9 @@ function postFile(url, path, name, args, successCallback, errorCallback, complet
* @returns {string} * @returns {string}
*/ */
function escape(html) { function escape(html) {
return String(html || '').replace(/&(?!#?[a-zA-Z0-9]+;)/g, '&amp;') return String(html || '').replace(/&(?!#?[a-zA-Z0-9]+;)/g, '&amp;')
.replace(/</g, '&lt;').replace(/>/g, '&gt;') .replace(/</g, '&lt;').replace(/>/g, '&gt;')
.replace(/'/g, '&#39;').replace(/"/g, '&quot;'); .replace(/'/g, '&#39;').replace(/"/g, '&quot;');
} }
module.exports.post = postJson; module.exports.post = postJson;
@ -225,5 +225,7 @@ module.exports.params = getParamsArg;
module.exports.path = buildPath; module.exports.path = buildPath;
module.exports.escape = escape; module.exports.escape = escape;
module.exports.file = postFile; module.exports.file = postFile;
module.exports.baseUrl='http://v3.xzszwhy.cn/xzszwhy'; // module.exports.baseUrl='http://v3.xzszwhy.cn/xzszwhy';
module.exports.url="http://v3.xzszwhy.cn/" // module.exports.url="http://v3.xzszwhy.cn/";
module.exports.baseUrl = 'http://192.168.0.120:8081/xzszwhy';
module.exports.url = "http://192.168.0.120:8081/";