16 changed files with 997 additions and 17 deletions
@ -0,0 +1,291 @@ |
|||
// subPackages/feiyiNew/CGCIndex/index.js
|
|||
import commonApi from "../../../utils/https/common" |
|||
import util from "../../../utils/util" |
|||
Page({ |
|||
|
|||
/** |
|||
* 页面的初始数据 |
|||
*/ |
|||
data: { |
|||
banner: [], |
|||
xiaobanner: [], |
|||
menuList: [ |
|||
{path: '/subPackages/feiyiNew/index?idIndex=0'}, |
|||
{path: '/subPackages/feiyiNew/index?idIndex=1'}, |
|||
{path: '/subPackages/feiyiNew/index?idIndex=2'}, |
|||
{path: '/subPackages/feiyiNew/index?idIndex=3'}, |
|||
{path: '/subPackages/feiyiNew/index?idIndex=4'}, |
|||
{path: '/subPackages/feiyiNew/index?idIndex=5'} |
|||
], |
|||
handwrittenList: [], |
|||
SGVideo: {}, |
|||
|
|||
hotType: [ |
|||
{title: '好物推荐',id: '41'}, |
|||
{title: '猜你喜欢',id: '41'} |
|||
], |
|||
hotIndex: -1, |
|||
hotList: [], |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面加载 |
|||
*/ |
|||
onLoad(options) { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面初次渲染完成 |
|||
*/ |
|||
onReady() { |
|||
this.getBanner() |
|||
this.getFeiYiSZ() |
|||
this.getFeiYiSG() |
|||
this.changeHotType({currentTarget:{dataset:{index:0}}}) |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面显示 |
|||
*/ |
|||
onShow() { |
|||
|
|||
}, |
|||
|
|||
getBanner: function() { |
|||
// 大banner
|
|||
commonApi._post("adv/getAdv", {position: 0,type_id: 3}).then(res => { |
|||
this.setData({banner: res.data || []}) |
|||
}) |
|||
// 分类旁的广告
|
|||
commonApi._post("adv/getAdv", { position: 1,type_id: 3}).then(res => { |
|||
this.setData({xiaobanner: res.data || [] }) |
|||
}) |
|||
}, |
|||
// 轮播图点击
|
|||
bannerClick: function (e) { |
|||
let item = e.currentTarget.dataset.item; |
|||
// this.pagePoint({event: "banner_click",type: 'banner'}, 1)
|
|||
switch (item.jump_type) { |
|||
case 0: |
|||
break; |
|||
case 1: |
|||
util.gotoDetail(item.product_model) |
|||
break; |
|||
case 2: |
|||
if (item.front_model && item.front_model.mini) { |
|||
wx.navigateTo({ |
|||
url: "/" + item.front_model.mini |
|||
}) |
|||
} |
|||
break; |
|||
case 3: |
|||
if ((item.tdata.url.indexOf('http://') != -1 || item.tdata.url.indexOf('https://') != -1) && |
|||
item.tdata.url.indexOf('m.cloud.sz-trip.com') == -1) { |
|||
// 外部h5
|
|||
console.log(111, item.tdata) |
|||
wx.navigateTo({ |
|||
url: "/pages/pbService/web/index?weburl=" + encodeURIComponent(item.tdata.url) |
|||
}) |
|||
} else { |
|||
let page = item.tdata.url.split("/"); |
|||
page = page[page.length - 1].split("?") |
|||
console.log(page[0]) |
|||
let url = this.data.urltopage[page[0]]; |
|||
if (url && url.indexOf('map') != -1) { |
|||
let types = ['', 'scenic', 'venue', 'post', 'restaurant', 'relic', 'tenscenic','cinema', 'academes'], |
|||
type = page[1] ? page[1].split("=") : []; |
|||
wx.reLaunch({ |
|||
url: url + "?type=" + (type[1] ? types.findIndex(t => t == type[1]) :null) |
|||
}) |
|||
} else if (url) { |
|||
wx.navigateTo({ |
|||
url: url, |
|||
}) |
|||
} else { |
|||
wx.navigateTo({ |
|||
url: "/pages/pbService/web/index?weburl=" + encodeURIComponent(item.tdata.url) |
|||
}) |
|||
} |
|||
} |
|||
break; |
|||
case 4: |
|||
if (item.tdata.appid == 'wxe5ca0f71e918e352' && wx.getStorageSync('jstrip_userid')) { |
|||
// 如果是苏心游的小程序 直接把authCode带过去
|
|||
userApi.user_post("user/getJumpThirdAppCode", {}).then(res => { |
|||
let weburl = item.tdata.page |
|||
if (weburl.indexOf('?') != -1) { |
|||
weburl += '&authCode=' + res.data; |
|||
} else { |
|||
weburl += '?authCode=' + res.data |
|||
} |
|||
wx.navigateToMiniProgram({ |
|||
appId: item.tdata.appid, |
|||
path: weburl |
|||
}) |
|||
}).catch(err => { |
|||
wx.navigateToMiniProgram({ |
|||
appId: item.tdata.appid, |
|||
path: item.tdata.page |
|||
}) |
|||
}) |
|||
} else { |
|||
wx.navigateToMiniProgram({ |
|||
appId: item.tdata.appid, |
|||
path: item.tdata.page |
|||
}) |
|||
} |
|||
break; |
|||
default: |
|||
break; |
|||
} |
|||
return; |
|||
}, |
|||
// 金刚区跳转
|
|||
goFeiYiList: function (e) { |
|||
let item = e.currentTarget.dataset.item; |
|||
wx.navigateTo({ |
|||
url: item.path, |
|||
}) |
|||
}, |
|||
|
|||
// 非遗手札
|
|||
getFeiYiSZ: function () { |
|||
commonApi._post("travels/getList", { |
|||
page_no: 0, |
|||
page_num: 4, |
|||
// type_key: 'feiyishouzha',
|
|||
type_key: 'someArt', |
|||
}).then(res => { |
|||
if (res) { |
|||
this.setData({handwrittenList: res.data.rows || [] }) |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
// 非议时光
|
|||
getFeiYiSG : function () { |
|||
commonApi._post("multimedia/media_list", { |
|||
limit: 1, |
|||
page: 1, |
|||
class_id: 139, |
|||
// class_id: 140,
|
|||
type: 1, |
|||
}).then(res => { |
|||
if (res) { |
|||
this.setData({SGVideo: res.data.data[0] || [] }) |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
// 视频播放
|
|||
goPlayVideo:function(e) { |
|||
let item = e.currentTarget.dataset.item; |
|||
wx.navigateTo({ |
|||
url: '/pages/pbService/appreciate/info/index?info='+encodeURIComponent(JSON.stringify(item)), |
|||
}) |
|||
}, |
|||
|
|||
|
|||
// 底部推荐
|
|||
changeHotType:function(e) { |
|||
let index = e.currentTarget.dataset.index; |
|||
if (index!=this.data.hotIndex) { |
|||
this.setData({hotIndex: index}) |
|||
let param = { |
|||
apiUrl: 'product/get_product_by_tag', |
|||
limit: 10,offset: 0,tag_id: 363, |
|||
// tag_id: 642
|
|||
} |
|||
if (index == 1) { |
|||
param = { |
|||
apiUrl: "multimedia/media_list", |
|||
limit: 100,page: 1,type: 1, |
|||
class_id: 139, |
|||
// class_id: 141,
|
|||
} |
|||
} |
|||
|
|||
commonApi._post(param.apiUrl, param).then(res => { |
|||
if (res) { |
|||
let resData = (res.data.list||res.data.data || []).map(v=>{ |
|||
return {...v, headimg: v.headimg?v.headimg:v.head_img} |
|||
}) |
|||
this.setData({hotList: resData }) |
|||
} |
|||
}) |
|||
|
|||
} |
|||
|
|||
}, |
|||
|
|||
// 去详情
|
|||
goDetail:function(e) { |
|||
let item = e.currentTarget.dataset.item; |
|||
let type = e.currentTarget.dataset.type; |
|||
console.log(item) |
|||
if (type == 'travel') { |
|||
if(item.outside_url) { |
|||
wx.navigateTo({ |
|||
url: '/pages/pbService/web/index?weburl=' + encodeURIComponent(item.outside_url), |
|||
}) |
|||
} else { |
|||
wx.navigateTo({ |
|||
url: '/pages/info/strategyInfo/index?id=' + item.id, |
|||
}) |
|||
} |
|||
return |
|||
} |
|||
if (type == 'post') { |
|||
util.gotoDetail(item); |
|||
return |
|||
} |
|||
if (type == 'video') { |
|||
this.goPlayVideo(e) |
|||
} |
|||
}, |
|||
|
|||
goMoreList:function(e) { |
|||
let url = e.currentTarget.dataset.url; |
|||
if (url) { |
|||
wx.navigateTo({ |
|||
url: url, |
|||
}) |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面隐藏 |
|||
*/ |
|||
onHide() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面卸载 |
|||
*/ |
|||
onUnload() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 页面相关事件处理函数--监听用户下拉动作 |
|||
*/ |
|||
onPullDownRefresh() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 页面上拉触底事件的处理函数 |
|||
*/ |
|||
onReachBottom() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 用户点击右上角分享 |
|||
*/ |
|||
onShareAppMessage() { |
|||
|
|||
} |
|||
}) |
|||
@ -0,0 +1,5 @@ |
|||
{ |
|||
"usingComponents": { |
|||
"title":"/pages/component/TitleHeader" |
|||
} |
|||
} |
|||
@ -0,0 +1,78 @@ |
|||
<title title="大美非遗"></title> |
|||
<view class="content"> |
|||
<view class="top-box w-full"> |
|||
<swiper class="swiper" autoplay="{{true}}" interval="{{3000}}" duration="{{300}}" > |
|||
<block wx:for="{{banner}}" wx:key="index"> |
|||
<swiper-item bindtap="bannerClick" data-item="{{item}}"> |
|||
<image src="{{item.head_img}}" mode="scaleToFill"></image> |
|||
</swiper-item> |
|||
</block> |
|||
</swiper> |
|||
</view> |
|||
|
|||
<!-- 金刚区 --> |
|||
<view class="menu-box flex-between"> |
|||
<view class="menu-left"> |
|||
<view class="menu-item" wx:for="{{menuList}}" data-item="{{item}}" bindtap="goFeiYiList" wx:key="index"> |
|||
<image src="https://static.ticket.sz-trip.com/cgc/images/index/{{index + 1}}.png" style="height: 108rpx;" mode="heightFix"></image> |
|||
<image src="https://static.ticket.sz-trip.com/cgc/images/index/{{index + 1}}s.png" style="height: 22rpx;margin-top: 8rpx;" mode="heightFix"></image> |
|||
</view> |
|||
|
|||
</view> |
|||
<view class="menu-right"> |
|||
<swiper class="swiper" autoplay="{{true}}" interval="{{3000}}" duration="{{300}}" > |
|||
<block wx:for="{{banner}}" wx:key="index"> |
|||
<swiper-item bindtap="bannerClick" data-item="{{item}}"> |
|||
<image src="{{item.head_img}}" mode="scaleToFill"></image> |
|||
</swiper-item> |
|||
</block> |
|||
</swiper> |
|||
</view> |
|||
</view> |
|||
|
|||
<!-- 非遗手札 --> |
|||
<view class="title-image-box flex-between"> |
|||
<image src="https://static.ticket.sz-trip.com/cgc/images/index/title1.png" mode="" style="width: 350rpx;height: 32rpx;"></image> |
|||
<image src="https://static.ticket.sz-trip.com/cgc/images/index/more.png" |
|||
mode="" style="width: 59rpx;height: 20rpx;" |
|||
bind:tap="goMoreList" data-url="{{'/subPackages/feiyiNew/CGCLetter/index'}}"></image> |
|||
</view> |
|||
<view class="handwritten-box flex-between"> |
|||
<image src="{{item.headimg}}" mode="aspectFill" data-item="{{item}}" |
|||
wx:for="{{handwrittenList}}" wx:key="index" |
|||
bindtap="goDetail" data-type="travel"></image> |
|||
</view> |
|||
|
|||
<!-- 非遗shi光 --> |
|||
<view class="title-image-box flex-between"> |
|||
<image src="https://static.ticket.sz-trip.com/cgc/images/index/title2.png" mode="" style="width: 350rpx;height: 32rpx;"></image> |
|||
<image src="https://static.ticket.sz-trip.com/cgc/images/index/more.png" |
|||
mode="" style="width: 59rpx;height: 20rpx;" |
|||
bind:tap="goMoreList" data-url="{{'/subPackages/feiyiNew/CGCTime/index'}}"></image> |
|||
</view> |
|||
<view class="time-box" style="background-image: url({{SGVideo.head_img}});" |
|||
bindtap="goPlayVideo" data-item="{{SGVideo}}"> |
|||
<image src="https://static.ticket.sz-trip.com/cgc/images/index/play.png" class="play"></image> |
|||
</view> |
|||
|
|||
<!-- 底部推荐 --> |
|||
<view class="hot-type"> |
|||
<view data-index="{{index}}" wx:for="{{hotType}}" wx:key="index" |
|||
class="hot-type-item {{index == hotIndex?'active':''}}" |
|||
bindtap="changeHotType"> |
|||
{{item.title}} |
|||
</view> |
|||
</view> |
|||
<view class="hot-box"> |
|||
<view class="hot-list-item" wx:for="{{2}}" wx:for-index="number" wx:key="number"> |
|||
<view wx:if="{{index%2==number}}" data-item="{{item}}" wx:for="{{hotList}}" wx:key="id" |
|||
class="hot-data" bindtap="goDetail" data-type="{{hotIndex==0?'post':'video'}}"> |
|||
<image class="hot-data-image" src="{{item.headimg}}" mode="widthFix"></image> |
|||
<view class="hot-data-title textOver">{{item.title}}</view> |
|||
</view> |
|||
</view> |
|||
|
|||
</view> |
|||
|
|||
|
|||
</view> |
|||
@ -0,0 +1,154 @@ |
|||
/* subPackages/feiyiNew/CGCIndex/index.wxss */ |
|||
page{ |
|||
min-height: 100%; |
|||
background: #F9F0EA; |
|||
} |
|||
.content{ |
|||
padding: 21rpx 30rpx 40rpx; |
|||
} |
|||
.w-full{ |
|||
width: 100%; |
|||
} |
|||
|
|||
.top-box .swiper,.top-box .swiper image { |
|||
width: 100%; |
|||
display: block; |
|||
height: 451rpx; |
|||
border-radius: 30rpx; |
|||
} |
|||
|
|||
.menu-box{ |
|||
width: 100%; |
|||
padding-top: 60rpx; |
|||
display: flex; |
|||
} |
|||
.menu-box .menu-left{ |
|||
display: flex; |
|||
flex: 1; |
|||
flex-wrap: wrap; |
|||
width: 1rpx; |
|||
justify-content: space-between; |
|||
} |
|||
.menu-box .menu-left .menu-item{ |
|||
width: 33%; |
|||
display: flex; |
|||
flex-direction: column; |
|||
align-items: center; |
|||
margin-bottom: 37rpx; |
|||
} |
|||
|
|||
.menu-box .menu-right{ |
|||
width: 254rpx; |
|||
height: 323rpx; |
|||
flex-shrink: 0; |
|||
} |
|||
|
|||
.menu-right .swiper,.menu-right .swiper image { |
|||
width: 100%; |
|||
height: 100%; |
|||
display: block; |
|||
border-radius: 20rpx; |
|||
} |
|||
|
|||
.title-image-box{ |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: flex-end; |
|||
margin-top: 60rpx; |
|||
} |
|||
|
|||
.handwritten-box{ |
|||
width: 100%; |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
justify-content: space-between; |
|||
padding-top: 20rpx; |
|||
} |
|||
.handwritten-box image{ |
|||
width: 49%; |
|||
height: 181rpx; |
|||
margin-bottom: 13rpx; |
|||
border-radius: 10rpx; |
|||
} |
|||
|
|||
.time-box { |
|||
background-size: 100% 100%; |
|||
background-repeat: no-repeat; |
|||
width: 100%; |
|||
height: 370rpx; |
|||
border-radius: 30rpx; |
|||
position: relative; |
|||
margin-top: 20rpx; |
|||
} |
|||
.time-box .play { |
|||
position: absolute; |
|||
top: 0; |
|||
bottom: 0; |
|||
left: 0; |
|||
right: 0; |
|||
margin: auto; |
|||
width: 90rpx; |
|||
height: 90rpx; |
|||
} |
|||
|
|||
.hot-type{ |
|||
height: 50rpx; |
|||
font-weight: bold; |
|||
font-size: 32rpx; |
|||
color: #B5B5B6; |
|||
display: flex; |
|||
justify-content: space-around; |
|||
margin-top: 40rpx; |
|||
} |
|||
.hot-type-item{ |
|||
position: relative; |
|||
} |
|||
.hot-type-item::after{ |
|||
content: ""; |
|||
position: absolute; |
|||
left: 0; |
|||
right: 0; |
|||
bottom: -10rpx; |
|||
background-color: #B5B5B6; |
|||
margin: 0 auto; |
|||
width: 32rpx; |
|||
height: 4rpx; |
|||
} |
|||
.hot-type-item.active{ |
|||
color: #000000; |
|||
} |
|||
.hot-type-item.active::after{ |
|||
background-color: #000000; |
|||
} |
|||
|
|||
.hot-box{ |
|||
margin-top: 36rpx; |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
} |
|||
|
|||
.hot-list-item{ |
|||
display: flex; |
|||
flex-direction: column; |
|||
width: 49%; |
|||
flex-shrink: 0; |
|||
} |
|||
.hot-data{ |
|||
width: 100%; |
|||
background: #FFFFFF; |
|||
border-radius: 20rpx; |
|||
font-weight: bold; |
|||
font-size: 0; |
|||
color: #000000; |
|||
margin-bottom: 29rpx; |
|||
} |
|||
.hot-data-image{ |
|||
width: 100%; |
|||
border-radius: 20rpx 20rpx 0rpx 0rpx; |
|||
} |
|||
.hot-data-title{ |
|||
padding: 20rpx; |
|||
font-size: 26rpx; |
|||
} |
|||
@ -0,0 +1,114 @@ |
|||
// pages/list/theatre/index.js
|
|||
import commonApi from "../../../utils/https/common" |
|||
import util from "../../../utils/util" |
|||
let app = getApp() |
|||
Page({ |
|||
|
|||
/** |
|||
* 页面的初始数据 |
|||
*/ |
|||
data: { |
|||
list:[], |
|||
page_no: 0, |
|||
haveMore: true, |
|||
}, |
|||
|
|||
|
|||
/** |
|||
* 生命周期函数--监听页面加载 |
|||
*/ |
|||
onLoad: function (options) { |
|||
wx.showShareMenu({ |
|||
withShareTicket: true, |
|||
menus: ['shareAppMessage', 'shareTimeline'] |
|||
}) |
|||
}, |
|||
|
|||
gotoDetail:function(e){ |
|||
let item = e.currentTarget.dataset.item; |
|||
if(item.outside_url) { |
|||
wx.navigateTo({ |
|||
url: '/pages/pbService/web/index?weburl=' + encodeURIComponent(item.outside_url), |
|||
}) |
|||
} else { |
|||
wx.navigateTo({ |
|||
url: '/pages/info/strategyInfo/index?id=' + item.id, |
|||
}) |
|||
} |
|||
|
|||
}, |
|||
getList:function(){ |
|||
if (!this.data.haveMore) return |
|||
let list = this.data.list |
|||
|
|||
commonApi._post("travels/getList", { |
|||
page_no: this.data.page_no, |
|||
page_num: 10, |
|||
// type_key: 'feiyishouzha',
|
|||
type_key: 'someArt', |
|||
}).then(res => { |
|||
if (res) { |
|||
this.setData({list:list.concat(res.data.rows||[])}) |
|||
if (res.data.rows.length<10) { |
|||
this.data.haveMore = false |
|||
} |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面初次渲染完成 |
|||
*/ |
|||
onReady: function () { |
|||
this.getList() |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面显示 |
|||
*/ |
|||
onShow: function () { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面隐藏 |
|||
*/ |
|||
onHide: function () { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面卸载 |
|||
*/ |
|||
onUnload: function () { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 页面相关事件处理函数--监听用户下拉动作 |
|||
*/ |
|||
onPullDownRefresh: function () { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 页面上拉触底事件的处理函数 |
|||
*/ |
|||
onReachBottom: function () { |
|||
this.getList() |
|||
}, |
|||
|
|||
/** |
|||
* 用户点击右上角分享 |
|||
*/ |
|||
onShareAppMessage: function () { |
|||
|
|||
}, |
|||
onShareTimeline: function() { |
|||
return { |
|||
title: '君到苏州-剧场演出', |
|||
query: '', |
|||
imageUrl: 'https://static.ticket.sz-trip.com/xcxImages/index/icon4New.png' |
|||
} |
|||
} |
|||
}) |
|||
@ -0,0 +1,5 @@ |
|||
{ |
|||
"usingComponents": { |
|||
"title":"/pages/component/TitleHeader" |
|||
} |
|||
} |
|||
@ -0,0 +1,34 @@ |
|||
<!--pages/list/theatre/index.wxml--> |
|||
<!-- <wxs src="../../../../utils/filter.wxs" module="tool" /> --> |
|||
<title title="非遗手札"></title> |
|||
<view class="my-header-search"> |
|||
<image class="heaimg" src="https://static.ticket.sz-trip.com/uploads/20241118/5540525af7880d15a3899f56f9000237.png" mode="widthFix"></image> |
|||
</view> |
|||
|
|||
<view class="content"> |
|||
<view bindtap="gotoDetail" data-item="{{item}}" class="item" wx:for="{{list}}"> |
|||
<image src="{{item.headimg}}" mode="aspectFill"></image> |
|||
<view class="info"> |
|||
<view class="textOver2 title">{{item.title}}</view> |
|||
<view class="textOver subtitle">{{item.subtitle}}</view> |
|||
<view class="letter-user"> |
|||
<view style="display: flex;align-items: center;"> |
|||
<image style="width: 48rpx;height: 48rpx;margin-right: 8rpx;" src="{{item.avatar}}" mode="aspectFill"></image> |
|||
<text>{{item.nickname}}</text> |
|||
</view> |
|||
<view style="display: flex;align-items: center;color: #848484;"> |
|||
<text class="iconfont icon-aixin"></text> |
|||
<text class="icon-num" style="padding: 0 36rpx 0 8rpx;">{{item.like_number}}</text> |
|||
<text class="iconfont icon-eye"></text> |
|||
<text class="icon-num" style="padding-left: 8rpx;">{{item.view_number}}</text> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view wx:if="{{list.length==0}}" class="common-empty" style="z-index:-1"> |
|||
<image mode="widthFix" src="https://static.ticket.sz-trip.com/xcxImages/other/nodata.png"></image> |
|||
<view>暂无内容</view> |
|||
</view> |
|||
|
|||
</view> |
|||
|
|||
@ -0,0 +1,67 @@ |
|||
/* pages/list/theatre/index.wxss */ |
|||
page{ |
|||
background: white; |
|||
padding-bottom: 20rpx; |
|||
} |
|||
|
|||
.my-header-search{ |
|||
width: 100%; |
|||
} |
|||
.my-header-search .heaimg{ |
|||
width: 100%; |
|||
display: block; |
|||
} |
|||
|
|||
.content{ |
|||
margin-top: -15rpx; |
|||
background: #FFFFFF; |
|||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
|||
padding: 32rpx; |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
.item { |
|||
width: 100%; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
margin-bottom: 36rpx; |
|||
} |
|||
.item image { |
|||
width: 208rpx; |
|||
height: 198rpx; |
|||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
|||
margin-right: 24rpx; |
|||
flex-shrink: 0; |
|||
} |
|||
|
|||
|
|||
.info { |
|||
flex: 1; |
|||
width: 1rpx; |
|||
height: 198rpx; |
|||
display: flex; |
|||
flex-direction: column; |
|||
justify-content: space-between; |
|||
} |
|||
.info .title { |
|||
font-weight: 500; |
|||
font-size: 31rpx; |
|||
color: #000; |
|||
margin-bottom: 9rpx; |
|||
} |
|||
.info .subtitle { |
|||
font-size: 24rpx; |
|||
color: #999999; |
|||
margin-bottom: 9rpx; |
|||
} |
|||
.letter-user{ |
|||
display: flex; |
|||
justify-content: space-between; |
|||
font-weight: 400; |
|||
font-size: 24rpx; |
|||
color: #000000; |
|||
align-items: center; |
|||
} |
|||
@ -0,0 +1,114 @@ |
|||
// pages/list/theatre/index.js
|
|||
import commonApi from "../../../utils/https/common" |
|||
import util from "../../../utils/util" |
|||
let app = getApp() |
|||
Page({ |
|||
|
|||
/** |
|||
* 页面的初始数据 |
|||
*/ |
|||
data: { |
|||
list:[], |
|||
page_no: 0, |
|||
haveMore: true, |
|||
}, |
|||
|
|||
|
|||
/** |
|||
* 生命周期函数--监听页面加载 |
|||
*/ |
|||
onLoad: function (options) { |
|||
wx.showShareMenu({ |
|||
withShareTicket: true, |
|||
menus: ['shareAppMessage', 'shareTimeline'] |
|||
}) |
|||
}, |
|||
|
|||
gotoDetail:function(e){ |
|||
let item = e.currentTarget.dataset.item; |
|||
if(item.outside_url) { |
|||
wx.navigateTo({ |
|||
url: '/pages/pbService/web/index?weburl=' + encodeURIComponent(item.outside_url), |
|||
}) |
|||
} else { |
|||
wx.navigateTo({ |
|||
url: '/pages/info/strategyInfo/index?id=' + item.id, |
|||
}) |
|||
} |
|||
|
|||
}, |
|||
getList:function(){ |
|||
if (!this.data.haveMore) return |
|||
let list = this.data.list |
|||
|
|||
commonApi._post("travels/getList", { |
|||
page_no: this.data.page_no, |
|||
page_num: 10, |
|||
// type_key: 'feiyishouzha',
|
|||
type_key: 'someArt', |
|||
}).then(res => { |
|||
if (res) { |
|||
this.setData({list:list.concat(res.data.rows||[])}) |
|||
if (res.data.rows.length<10) { |
|||
this.data.haveMore = false |
|||
} |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面初次渲染完成 |
|||
*/ |
|||
onReady: function () { |
|||
this.getList() |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面显示 |
|||
*/ |
|||
onShow: function () { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面隐藏 |
|||
*/ |
|||
onHide: function () { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面卸载 |
|||
*/ |
|||
onUnload: function () { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 页面相关事件处理函数--监听用户下拉动作 |
|||
*/ |
|||
onPullDownRefresh: function () { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 页面上拉触底事件的处理函数 |
|||
*/ |
|||
onReachBottom: function () { |
|||
this.getList() |
|||
}, |
|||
|
|||
/** |
|||
* 用户点击右上角分享 |
|||
*/ |
|||
onShareAppMessage: function () { |
|||
|
|||
}, |
|||
onShareTimeline: function() { |
|||
return { |
|||
title: '君到苏州-剧场演出', |
|||
query: '', |
|||
imageUrl: 'https://static.ticket.sz-trip.com/xcxImages/index/icon4New.png' |
|||
} |
|||
} |
|||
}) |
|||
@ -0,0 +1,5 @@ |
|||
{ |
|||
"usingComponents": { |
|||
"title":"/pages/component/TitleHeader" |
|||
} |
|||
} |
|||
@ -0,0 +1,34 @@ |
|||
<!--pages/list/theatre/index.wxml--> |
|||
<!-- <wxs src="../../../../utils/filter.wxs" module="tool" /> --> |
|||
<title title="非遗手札"></title> |
|||
<view class="my-header-search"> |
|||
<image class="heaimg" src="https://static.ticket.sz-trip.com/uploads/20241118/5540525af7880d15a3899f56f9000237.png" mode="widthFix"></image> |
|||
</view> |
|||
|
|||
<view class="content"> |
|||
<view bindtap="gotoDetail" data-item="{{item}}" class="item" wx:for="{{list}}"> |
|||
<image src="{{item.headimg}}" mode="aspectFill"></image> |
|||
<view class="info"> |
|||
<view class="textOver2 title">{{item.title}}</view> |
|||
<view class="textOver subtitle">{{item.subtitle}}</view> |
|||
<view class="letter-user"> |
|||
<view style="display: flex;align-items: center;"> |
|||
<image style="width: 48rpx;height: 48rpx;margin-right: 8rpx;" src="{{item.avatar}}" mode="aspectFill"></image> |
|||
<text>{{item.nickname}}</text> |
|||
</view> |
|||
<view style="display: flex;align-items: center;color: #848484;"> |
|||
<text class="iconfont icon-aixin"></text> |
|||
<text class="icon-num" style="padding: 0 36rpx 0 8rpx;">{{item.like_number}}</text> |
|||
<text class="iconfont icon-eye"></text> |
|||
<text class="icon-num" style="padding-left: 8rpx;">{{item.view_number}}</text> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view wx:if="{{list.length==0}}" class="common-empty" style="z-index:-1"> |
|||
<image mode="widthFix" src="https://static.ticket.sz-trip.com/xcxImages/other/nodata.png"></image> |
|||
<view>暂无内容</view> |
|||
</view> |
|||
|
|||
</view> |
|||
|
|||
@ -0,0 +1,67 @@ |
|||
/* pages/list/theatre/index.wxss */ |
|||
page{ |
|||
background: white; |
|||
padding-bottom: 20rpx; |
|||
} |
|||
|
|||
.my-header-search{ |
|||
width: 100%; |
|||
} |
|||
.my-header-search .heaimg{ |
|||
width: 100%; |
|||
display: block; |
|||
} |
|||
|
|||
.content{ |
|||
margin-top: -15rpx; |
|||
background: #FFFFFF; |
|||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
|||
padding: 32rpx; |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
.item { |
|||
width: 100%; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
margin-bottom: 36rpx; |
|||
} |
|||
.item image { |
|||
width: 208rpx; |
|||
height: 198rpx; |
|||
border-radius: 24rpx 24rpx 24rpx 24rpx; |
|||
margin-right: 24rpx; |
|||
flex-shrink: 0; |
|||
} |
|||
|
|||
|
|||
.info { |
|||
flex: 1; |
|||
width: 1rpx; |
|||
height: 198rpx; |
|||
display: flex; |
|||
flex-direction: column; |
|||
justify-content: space-between; |
|||
} |
|||
.info .title { |
|||
font-weight: 500; |
|||
font-size: 31rpx; |
|||
color: #000; |
|||
margin-bottom: 9rpx; |
|||
} |
|||
.info .subtitle { |
|||
font-size: 24rpx; |
|||
color: #999999; |
|||
margin-bottom: 9rpx; |
|||
} |
|||
.letter-user{ |
|||
display: flex; |
|||
justify-content: space-between; |
|||
font-weight: 400; |
|||
font-size: 24rpx; |
|||
color: #000000; |
|||
align-items: center; |
|||
} |
|||
Loading…
Reference in new issue