@@ -1,27 +1,29 @@ | |||
{ | |||
"pages":[ | |||
"pages": [ | |||
"pages/index/index", | |||
"pages/logs/logs", | |||
"pages/releaseModule/index", | |||
"pages/myModule/index", | |||
"pages/msgModule/index" | |||
"pages/msgModule/index", | |||
"pages/index/components/listDetails/Details" | |||
], | |||
"usingComponents": { | |||
"tabBar": "/components/tabbar/tabbar", | |||
"listItem":"/components/listItem/listItem", | |||
"van-loading": "/miniprogram_npm/@vant/weapp/loading", | |||
"van-icon": "/miniprogram_npm/@vant/weapp/icon", | |||
"van-row": "/miniprogram_npm/@vant/weapp/row", | |||
"van-col": "/miniprogram_npm/@vant/weapp/col" | |||
}, | |||
"window":{ | |||
"backgroundTextStyle":"light", | |||
"window": { | |||
"backgroundTextStyle": "light", | |||
"navigationBarBackgroundColor": "#fff", | |||
"navigationBarTitleText": "业务交流通", | |||
"navigationBarTextStyle":"black" | |||
"navigationBarTextStyle": "black" | |||
}, | |||
"sitemapLocation": "sitemap.json", | |||
"useExtendedLib": { | |||
"kbone": true, | |||
"weui": true | |||
} | |||
} | |||
} |
@@ -30,4 +30,53 @@ | |||
} | |||
.not-data .not-info{ | |||
color: #b3bfcb; | |||
} | |||
/* 通用page容器 */ | |||
.page-container{ | |||
background: #f5f9ff; | |||
padding: 20rpx; | |||
min-height: calc(100vh - 130rpx); | |||
padding-bottom: 120rpx; | |||
font-size: 26rpx; | |||
} | |||
/* 通用渐变感兴趣的 */ | |||
.view-interested{ | |||
background: #c9d6ff; /* fallback for old browsers */ | |||
background: -webkit-linear-gradient(to right, #c9d6ff, #f4f9ff); /* Chrome 10-25, Safari 5.1-6 */ | |||
background: linear-gradient(to right, #c9d6ff, #f4f9ff); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ | |||
font-size: 24rpx; | |||
height: 52rpx; | |||
line-height: 52rpx; | |||
color: #5e73e5; | |||
box-sizing: border-box; | |||
padding-left: 28rpx; | |||
border-radius: 15rpx 0 0 0; | |||
} | |||
/* 通用list */ | |||
/* list块 */ | |||
.list-view { | |||
background: #fff; | |||
/* height: 315rpx; */ | |||
border-radius: 20rpx; | |||
margin-bottom: 20rpx; | |||
padding: 28rpx 18rpx; | |||
position: relative; | |||
} | |||
.list-loading { | |||
margin-top: 15vh; | |||
} | |||
.list-finished{ | |||
color: #8c97c0; | |||
} | |||
.list-finished .finished-img{ | |||
width: 25rpx; | |||
height: 25rpx; | |||
margin-right: 10rpx; | |||
position: relative; | |||
top: 1rpx; | |||
} |
@@ -0,0 +1,35 @@ | |||
// components/listItem/listItem.js | |||
Component({ | |||
/** | |||
* 组件的属性列表 | |||
*/ | |||
properties: { | |||
item: { | |||
type: Object, | |||
}, | |||
// index => 首页 detatil => 详情 home => 个人主页 | |||
pageStatus: { | |||
type: String, | |||
default: 'index', | |||
}, | |||
}, | |||
/** | |||
* 组件的初始数据 | |||
*/ | |||
data: { | |||
// 是否收藏 | |||
isCollect:false, | |||
}, | |||
/** | |||
* 组件的方法列表 | |||
*/ | |||
methods: { | |||
// 进入详情 | |||
goDetails(e) { | |||
let dataset = e.currentTarget.dataset; | |||
this.triggerEvent('getItem', dataset.item); | |||
}, | |||
} | |||
}) |
@@ -0,0 +1,4 @@ | |||
{ | |||
"component": true, | |||
"usingComponents": {} | |||
} |
@@ -0,0 +1,52 @@ | |||
<!-- components/listItem/listItem.wxml --> | |||
<!-- 平台认证 --> | |||
<view class="list-certification" wx:if="{{ item.isPartner }}"> | |||
<image class="certification-img" src="/images/home/certification-icon.png" /> | |||
平台认证 | |||
</view> | |||
<!-- 头部 --> | |||
<view class="list-avatar"> | |||
<view class="list-chatHeads fl"> | |||
<image class="chatHeads-img" src="{{ item.chatHeads }}" /> | |||
</view> | |||
<view class="list-nick-name fl">{{ item.nickName }}</view> | |||
<view class="list-home fl"> | |||
<image class="home-img" src="{{ item.isPartner ? '/images/home/company-icon.png' : '/images/home/personal-icon.png' }}" /> | |||
主页 | |||
</view> | |||
</view> | |||
<!-- 内容 --> | |||
<view class="list-content"> | |||
<view bindtap="goDetails" data-item="{{ item }}"> | |||
<!-- 详情 --> | |||
<view> | |||
<text space class="list-details-text need">{{ item.info }}</text> | |||
</view> | |||
<!-- 标签 --> | |||
<view class="list-tag-view"> | |||
<view class="list-tag" wx:for="{{ item.type }}" wx:for-item="tag" wx:key="*this"> | |||
{{ tag }} | |||
</view> | |||
</view> | |||
</view> | |||
<!-- 底部 --> | |||
<view class="list-foot {{ pageStatus == 'detatil' ? 'is-details-page' : '' }}"> | |||
<view class="fl list-foot-text-lf"> | |||
<image class="time-img" src="/images/home/time-icon.png" /> | |||
{{ item.createdOn }} | |||
</view> | |||
<view class="fl list-foot-text-lf"> | |||
<image class="browse-img" src="/images/home/browse-icon.png" /> | |||
{{ item.pageView }}浏览量 | |||
</view> | |||
<view class="fl list-collect-view" wx:if="{{ pageStatus == 'detatil' }}"> | |||
<image class="collect-img" src="/images/home/is-collect.png" wx:if="{{ isCollect }}"/> | |||
<image class="collect-img" src="/images/home/not-collect.png" wx:else/> | |||
收藏 | |||
</view> | |||
<view class="fr list-foot-text-chat"> | |||
<image class="chat-img" src="/images/home/chat-icon.png" /> | |||
聊一聊 | |||
</view> | |||
</view> | |||
</view> |
@@ -0,0 +1,172 @@ | |||
/* components/listItem/listItem.wxss */ | |||
.fl { | |||
float: left; | |||
} | |||
.fr { | |||
float: right; | |||
} | |||
/* list块-头部 */ | |||
.list-avatar { | |||
height: 60rpx; | |||
line-height: 60rpx; | |||
} | |||
.list-chatHeads{ | |||
width: 60rpx; | |||
height: 60rpx; | |||
border-radius: 50%; | |||
background: #999; | |||
} | |||
.list-chatHeads .chatHeads-img{ | |||
width: 100%; | |||
height: 100%; | |||
border-radius: 50%; | |||
} | |||
/* 平台认证 */ | |||
.list-certification { | |||
position: absolute; | |||
right: 0; | |||
top: 22rpx; | |||
width: 130rpx; | |||
height: 40rpx; | |||
line-height: 40rpx; | |||
background-color: #fff0be; | |||
border-radius: 18rpx 0 0 18rpx; | |||
text-align: center; | |||
color: #ef6f10; | |||
font-size: 20rpx; | |||
} | |||
.list-certification .certification-img{ | |||
width: 26rpx; | |||
height: 27rpx; | |||
position: relative; | |||
top: 6rpx; | |||
} | |||
/* 名称 */ | |||
.list-nick-name { | |||
margin-left: 15rpx; | |||
max-width: 300rpx; | |||
white-space:nowrap; | |||
overflow:hidden; | |||
text-overflow:ellipsis; | |||
font-weight: bold; | |||
} | |||
/* 主页 */ | |||
.list-home { | |||
color: #827de5; | |||
border-radius: 16px; | |||
border: solid 1px #827de5; | |||
width: 96rpx; | |||
height: 32rpx; | |||
line-height: 32rpx; | |||
font-size: 20rpx; | |||
text-align: center; | |||
margin-top: 15rpx; | |||
margin-left: 15rpx; | |||
} | |||
.list-home .home-img{ | |||
width: 22rpx; | |||
height: 23rpx; | |||
position: relative; | |||
top: 2rpx; | |||
} | |||
/* 内容容器 */ | |||
.list-content { | |||
padding-left: 75rpx; | |||
padding-right: 15rpx; | |||
} | |||
/* 详情 */ | |||
.list-details-text{ | |||
margin: 15rpx 0; | |||
word-break: break-all; | |||
text-overflow: ellipsis; | |||
overflow: hidden; | |||
display: -webkit-box; | |||
} | |||
.list-details-text.need { | |||
-webkit-line-clamp: 3; | |||
-webkit-box-orient: vertical; | |||
} | |||
/* 标签 */ | |||
.list-tag-view { | |||
margin-bottom: 20rpx; | |||
} | |||
.list-tag-view .list-tag{ | |||
display: inline-block; | |||
width: 120rpx; | |||
height: 36rpx; | |||
border-radius: 18rpx; | |||
text-align: center; | |||
line-height: 36rpx; | |||
font-size: 20rpx; | |||
margin-right: 15rpx; | |||
} | |||
.list-tag-view .list-tag:nth-child(1){ | |||
background-color: #e4f1f7; | |||
color: #3d97e6; | |||
} | |||
.list-tag-view .list-tag:nth-child(2){ | |||
background-color: #f7eee4; | |||
color: #f29f61; | |||
} | |||
.list-tag-view .list-tag:nth-child(3){ | |||
background-color: #eafee3; | |||
color: #80c269; | |||
} | |||
/* 底部 */ | |||
.list-foot { | |||
height: 62rpx; | |||
line-height: 62rpx; | |||
} | |||
.list-foot-text-lf{ | |||
color: #999; | |||
font-size: 22rpx; | |||
margin-right: 40rpx; | |||
} | |||
.list-foot-text-lf .browse-img{ | |||
width: 24rpx; | |||
height: 18rpx; | |||
} | |||
.list-foot-text-lf .time-img{ | |||
width: 24rpx; | |||
height: 24rpx; | |||
position: relative; | |||
top: 1rpx; | |||
} | |||
.list-foot-text-chat { | |||
height: 62rpx; | |||
width: 180rpx; | |||
background-color: #5e73e5; | |||
box-shadow: -1px 3px 12px 4px | |||
rgba(62, 95, 179, 0.14); | |||
border-radius: 31rpx; | |||
text-align: center; | |||
color: #fff; | |||
font-size: 24rpx; | |||
} | |||
.list-foot-text-chat .chat-img{ | |||
width: 28rpx; | |||
height: 28rpx; | |||
position: relative; | |||
top: 4rpx; | |||
left: -10rpx; | |||
} | |||
.list-collect-view .collect-img { | |||
width: 22rpx; | |||
height: 19rpx; | |||
} | |||
.list-collect-view { | |||
color: #e16531; | |||
font-size: 22rpx; | |||
position: relative; | |||
top: 1rpx; | |||
} | |||
.is-details-page .list-foot-text-lf{ | |||
margin-right: 20rpx; | |||
} |
@@ -0,0 +1,123 @@ | |||
// pages/index/components/listDetails/Details.js | |||
const app = getApp() | |||
const $request = require('../../../../utils/request.js'); | |||
const $util = require('../../../../utils/util.js'); | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
// 页面Loading | |||
pageLoading: false, | |||
// 路由接受的参数 | |||
currentData: {}, | |||
// 感兴趣的需求---- | |||
// item行加载 | |||
itemLoading: false, | |||
// 数据是否加载完成 | |||
isFinished: false, | |||
listData: [], | |||
page: 1, | |||
size: 10, | |||
total: 0, | |||
// 是否加载数据,true加载,false不加载 | |||
onRefresh: true, | |||
currentIndex: 0, | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad(option) { | |||
const eventChannel = this.getOpenerEventChannel() | |||
// 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 | |||
eventChannel.on('acceptDataFromOpenerPage', data => { | |||
this.setData({ | |||
currentData: data.listDetail, | |||
type: data.listDetail.type.join(), | |||
pageLoading: true, | |||
}) | |||
this.getListData(); | |||
}) | |||
}, | |||
// 热门详情点击 | |||
goDetails(e){ | |||
this.setData({ | |||
currentData: e.detail, | |||
type: e.detail.type.join(), | |||
pageLoading: true, | |||
listData:[], | |||
page:1, | |||
onRefresh:true, | |||
}) | |||
this.getListData(); | |||
}, | |||
// 获取list数据 | |||
getListData() { | |||
let { page, size, type } = this.data; | |||
$request.get('/businessCommunicationDemand/getDemandByKeywordOrType.action', | |||
{ page, size, type, isInterest: 1 } | |||
).then(res => { | |||
this.setData({ | |||
pageLoading: false, | |||
}) | |||
let tempListData = this.data.listData; | |||
if (res.status == 0) { | |||
let datas = res.data; | |||
// 先push数据 | |||
tempListData.push(...datas.demandList); | |||
tempListData.forEach(el => { | |||
el.createdOn = $util.formatTime(new Date(el.createdOn), true); | |||
if (typeof el.type == 'string') { | |||
el.type = el.type.split(','); | |||
} | |||
}) | |||
// 设置总数 | |||
this.setData({ | |||
listData: tempListData, | |||
total: res.data.total, | |||
}) | |||
// 如果数据大于了返回的总数 | |||
if (tempListData.length >= this.data.total) { | |||
// 停止累加数据 | |||
this.setData({ | |||
onRefresh: false, | |||
itemLoading: false, | |||
isFinished: true, | |||
}) | |||
} else { | |||
this.setData({ | |||
onRefresh: true, | |||
itemLoading: false, | |||
isFinished: false, | |||
page: page + 1 | |||
}) | |||
} | |||
console.log('-------------详情页 beg-------------------') | |||
console.log(this.data.listData); | |||
console.log('-------------详情页 end-------------------') | |||
} | |||
}).catch(error => { | |||
console.log(error, 'error appletLogin') | |||
}) | |||
}, | |||
/* | |||
* 页面上拉触底事件的处理函数 | |||
*/ | |||
onReachBottom() { | |||
if (this.data.onRefresh) { | |||
this.setData({ | |||
itemLoading: true | |||
}) | |||
this.getListData(); | |||
} | |||
}, | |||
/** | |||
* 用户点击右上角分享 | |||
*/ | |||
onShareAppMessage: function () { | |||
} | |||
}) |
@@ -0,0 +1,3 @@ | |||
{ | |||
"usingComponents": {} | |||
} |
@@ -0,0 +1,24 @@ | |||
<!-- pages/index/components/listDetails/Details.wxml --> | |||
<view class="details-page page-container"> | |||
<view class="list-loading text-center" wx:if="{{ pageLoading }}"> | |||
<van-loading size="24px">加载中...</van-loading> | |||
</view> | |||
<view wx:else> | |||
<view class="list-view"> | |||
<listItem item="{{ currentData }}" pageStatus="detatil"/> | |||
</view> | |||
<view class="view-interested">你可能感兴趣的需求</view> | |||
<view class="list-view" wx:for="{{ listData }}" wx:key="*this"> | |||
<listItem item="{{ item }}" bind:getItem="goDetails"/> | |||
</view> | |||
<view class="text-center" wx:if="{{ itemLoading }}"> | |||
<van-loading size="24px">加载中...</van-loading> | |||
</view> | |||
<view class="list-finished text-center" wx:if="{{ isFinished }}"> | |||
<image class="finished-img" src="/images/home/finished-icon.png" /> | |||
没有更多啦~ | |||
</view> | |||
</view> | |||
<tabBar currentIndex="{{currentIndex}}"></tabBar> | |||
</view> |
@@ -0,0 +1 @@ | |||
/* pages/index/components/listDetails/Details.wxss */ |
@@ -2,6 +2,7 @@ | |||
// 获取应用实例 | |||
const app = getApp() | |||
const $request = require('../../utils/request.js'); | |||
const $util = require('../../utils/util.js'); | |||
Page({ | |||
data: { | |||
currentIndex: 0, | |||
@@ -109,10 +110,19 @@ Page({ | |||
}) | |||
this.toSearch(); | |||
}, | |||
// 进入详情 | |||
goDetails(e) { | |||
wx.navigateTo({ | |||
url: '/pages/index/components/listDetails/Details', | |||
success: function (res) { | |||
// 通过eventChannel向被打开页面传送数据 | |||
res.eventChannel.emit('acceptDataFromOpenerPage', { listDetail: e.detail }) | |||
} | |||
}) | |||
}, | |||
// 获取tab数据 | |||
getAllType() { | |||
$request.get('/businessCommunicationType/getAllType.action').then(res => { | |||
console.log(res); | |||
if (res.status == 0) { | |||
let { tabData, moreTabOption } = this.data; | |||
let datas = res.data; | |||
@@ -151,7 +161,7 @@ Page({ | |||
type = ""; | |||
} | |||
$request.get('/businessCommunicationDemand/getDemandByKeywordOrType.action', | |||
{ page, size, keyword, type } | |||
{ page, size, keyword, type,isInterest:0 } | |||
).then(res => { | |||
// console.log(res); | |||
this.setData({ | |||
@@ -163,6 +173,7 @@ Page({ | |||
// 先push数据 | |||
tempListData.push(...datas.demandList); | |||
tempListData.forEach(el => { | |||
el.createdOn = $util.formatTime(new Date(el.createdOn),true); | |||
if (typeof el.type == 'string') { | |||
el.type = el.type.split(','); | |||
} | |||
@@ -188,7 +199,9 @@ Page({ | |||
page: page + 1 | |||
}) | |||
} | |||
console.log('-------------首页 beg-------------------') | |||
console.log(this.data.listData); | |||
console.log('-------------首页 end-------------------') | |||
} | |||
}).catch(error => { | |||
console.log(error, 'error appletLogin') | |||
@@ -211,15 +224,15 @@ Page({ | |||
*/ | |||
getPhoneNumber(e) { | |||
if (!!e.detail.iv && !!e.detail.encryptedData) { | |||
const iv = e.detail.iv | |||
const encryptedData = e.detail.encryptedData | |||
this.appletLogin(iv, encryptedData) | |||
const iv = e.detail.iv | |||
const encryptedData = e.detail.encryptedData | |||
this.appletLogin(iv, encryptedData) | |||
} else { | |||
wx.showToast({ | |||
title: '请允许授权,获得更好的服务哦', | |||
icon: "none", | |||
duration: 3000 | |||
}) | |||
wx.showToast({ | |||
title: '请允许授权,获得更好的服务哦', | |||
icon: "none", | |||
duration: 3000 | |||
}) | |||
} | |||
}, | |||
/** |
@@ -1,5 +1,5 @@ | |||
<!-- index.wxml --> | |||
<view class="home-page"> | |||
<view class="home-page page-container"> | |||
<!-- 搜索块 --> | |||
<view class="search-view"> | |||
<view class="serach-input-view"> | |||
@@ -45,7 +45,7 @@ | |||
<view wx:else> | |||
<view class="not-data" wx:if="{{ listData.length < 1 }}"> | |||
<image class="not-data-img" src="/images/home/not-data.png" /> | |||
<view class="not-info" wx:if="{{ currentTab == 'all' }}"> | |||
<view class="not-info" wx:if="{{ currentTab == 'all ' }}"> | |||
抱歉,暂无任何需求 | |||
</view> | |||
<view class="not-info" wx:else> | |||
@@ -54,50 +54,7 @@ | |||
</view> | |||
<view wx:else> | |||
<view class="list-view" wx:for="{{ listData }}" wx:key="*this"> | |||
<!-- 平台认证 --> | |||
<view class="list-certification" wx:if="{{ item.isPartner }}"> | |||
<image class="certification-img" src="/images/home/certification-icon.png" /> | |||
平台认证 | |||
</view> | |||
<!-- 头部 --> | |||
<view class="list-avatar"> | |||
<view class="list-chatHeads fl"> | |||
<image class="chatHeads-img" src="{{ item.chatHeads }}" /> | |||
</view> | |||
<view class="list-nick-name fl">{{ item.nickName }}</view> | |||
<view class="list-home fl"> | |||
<image class="home-img" src="{{ item.isPartner ? '/images/home/company-icon.png' : '/images/home/personal-icon.png' }}" /> | |||
主页 | |||
</view> | |||
</view> | |||
<!-- 内容 --> | |||
<view class="list-content"> | |||
<!-- 详情 --> | |||
<view> | |||
<text space class="list-details-text">{{ item.info }}</text> | |||
</view> | |||
<!-- 标签 --> | |||
<view class="list-tag-view"> | |||
<view class="list-tag" wx:for="{{ item.type }}" wx:for-item="tag" wx:key="*this"> | |||
{{ tag }} | |||
</view> | |||
</view> | |||
<!-- 底部 --> | |||
<view class="list-foot"> | |||
<view class="fl list-foot-text-lf"> | |||
<image class="time-img" src="/images/home/time-icon.png" /> | |||
2021-07-23 | |||
</view> | |||
<view class="fl list-foot-text-lf"> | |||
<image class="browse-img" src="/images/home/browse-icon.png" /> | |||
897浏览量 | |||
</view> | |||
<view class="fr list-foot-text-chat"> | |||
<image class="chat-img" src="/images/home/chat-icon.png" /> | |||
聊一聊 | |||
</view> | |||
</view> | |||
</view> | |||
<listItem item="{{ item }}" bind:getItem="goDetails"/> | |||
</view> | |||
<view class="text-center" wx:if="{{ itemLoading }}"> | |||
<van-loading size="24px">加载中...</van-loading> |
@@ -1,11 +1,4 @@ | |||
/**index.wxss**/ | |||
.home-page { | |||
background: #f5f9ff; | |||
padding: 20rpx; | |||
min-height: 100%; | |||
padding-bottom: 120rpx; | |||
font-size: 26rpx; | |||
} | |||
/* 搜索块 */ | |||
.search-view { | |||
@@ -153,170 +146,4 @@ | |||
.tab-view .tab-menu .van-ellipsis{ | |||
display: none; | |||
} | |||
/* list块 */ | |||
.list-view { | |||
background: #fff; | |||
/* height: 315rpx; */ | |||
border-radius: 20rpx; | |||
margin-bottom: 20rpx; | |||
padding: 28rpx 18rpx; | |||
position: relative; | |||
} | |||
.list-loading { | |||
margin-top: 15vh; | |||
} | |||
.list-finished{ | |||
color: #8c97c0; | |||
} | |||
.list-finished .finished-img{ | |||
width: 25rpx; | |||
height: 25rpx; | |||
margin-right: 10rpx; | |||
position: relative; | |||
top: 1rpx; | |||
} | |||
/* list块-头部 */ | |||
.list-avatar { | |||
height: 60rpx; | |||
line-height: 60rpx; | |||
} | |||
.list-chatHeads{ | |||
width: 60rpx; | |||
height: 60rpx; | |||
border-radius: 50%; | |||
background: #999; | |||
} | |||
.list-chatHeads .chatHeads-img{ | |||
width: 100%; | |||
height: 100%; | |||
border-radius: 50%; | |||
} | |||
/* 平台认证 */ | |||
.list-certification { | |||
position: absolute; | |||
right: 0; | |||
top: 22rpx; | |||
width: 130rpx; | |||
height: 40rpx; | |||
line-height: 40rpx; | |||
background-color: #fff0be; | |||
border-radius: 18rpx 0 0 18rpx; | |||
text-align: center; | |||
color: #ef6f10; | |||
font-size: 20rpx; | |||
} | |||
.list-certification .certification-img{ | |||
width: 26rpx; | |||
height: 27rpx; | |||
position: relative; | |||
top: 6rpx; | |||
} | |||
/* 名称 */ | |||
.list-nick-name { | |||
margin-left: 15rpx; | |||
max-width: 300rpx; | |||
white-space:nowrap; | |||
overflow:hidden; | |||
text-overflow:ellipsis; | |||
font-weight: bold; | |||
} | |||
/* 主页 */ | |||
.list-home { | |||
color: #827de5; | |||
border-radius: 16px; | |||
border: solid 1px #827de5; | |||
width: 96rpx; | |||
height: 32rpx; | |||
line-height: 32rpx; | |||
font-size: 20rpx; | |||
text-align: center; | |||
margin-top: 15rpx; | |||
margin-left: 15rpx; | |||
} | |||
.list-home .home-img{ | |||
width: 22rpx; | |||
height: 23rpx; | |||
position: relative; | |||
top: 2rpx; | |||
} | |||
/* 内容容器 */ | |||
.list-content { | |||
padding-left: 75rpx; | |||
padding-right: 15rpx; | |||
} | |||
/* 详情 */ | |||
.list-details-text{ | |||
margin: 15rpx 0; | |||
word-break: break-all; | |||
text-overflow: ellipsis; | |||
overflow: hidden; | |||
display: -webkit-box; | |||
-webkit-line-clamp: 3; | |||
-webkit-box-orient: vertical; | |||
} | |||
/* 标签 */ | |||
.list-tag-view { | |||
margin-bottom: 20rpx; | |||
} | |||
.list-tag-view .list-tag{ | |||
display: inline-block; | |||
width: 120rpx; | |||
height: 36rpx; | |||
border-radius: 18rpx; | |||
text-align: center; | |||
line-height: 36rpx; | |||
font-size: 20rpx; | |||
margin-right: 15rpx; | |||
} | |||
.list-tag-view .list-tag:nth-child(1){ | |||
background-color: #e4f1f7; | |||
color: #3d97e6; | |||
} | |||
.list-tag-view .list-tag:nth-child(2){ | |||
background-color: #f7eee4; | |||
color: #f29f61; | |||
} | |||
.list-tag-view .list-tag:nth-child(3){ | |||
background-color: #eafee3; | |||
color: #80c269; | |||
} | |||
/* 底部 */ | |||
.list-foot { | |||
height: 62rpx; | |||
line-height: 62rpx; | |||
} | |||
.list-foot-text-lf{ | |||
color: #999; | |||
font-size: 24rpx; | |||
margin-right: 40rpx; | |||
} | |||
.list-foot-text-lf .browse-img{ | |||
width: 24rpx; | |||
height: 18rpx; | |||
} | |||
.list-foot-text-lf .time-img{ | |||
width: 24rpx; | |||
height: 24rpx; | |||
position: relative; | |||
top: 1rpx; | |||
} | |||
.list-foot-text-chat { | |||
height: 62rpx; | |||
width: 180rpx; | |||
background-color: #5e73e5; | |||
box-shadow: -1px 3px 12px 4px | |||
rgba(62, 95, 179, 0.14); | |||
border-radius: 31rpx; | |||
text-align: center; | |||
color: #fff; | |||
font-size: 24rpx; | |||
} | |||
.list-foot-text-chat .chat-img{ | |||
width: 28rpx; | |||
height: 28rpx; | |||
position: relative; | |||
top: 4rpx; | |||
left: -10rpx; | |||
} |
@@ -1,9 +1,30 @@ | |||
// pages/release/release.js | |||
// 获取应用实例 | |||
// pages/index/components/listDetails/Details.js | |||
const app = getApp() | |||
const $request = require('../../utils/request.js'); | |||
Page({ | |||
data: { | |||
currentIndex: 1 | |||
}, | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
currentIndex: 1, | |||
pageLoading:false, | |||
tags:[], | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad() { | |||
this.getTags(); | |||
}, | |||
getTags(){ | |||
}, | |||
/** | |||
* 用户点击右上角分享 | |||
*/ | |||
onShareAppMessage: function () { | |||
} | |||
}) |
@@ -35,10 +35,10 @@ | |||
"userConfirmedBundleSwitch": false, | |||
"packNpmManually": true, | |||
"packNpmRelationList": [ | |||
{ | |||
{ | |||
"packageJsonPath": "./package.json", | |||
"miniprogramNpmDistDir": "./miniprogram_npm/" | |||
} | |||
} | |||
], | |||
"minifyWXSS": true, | |||
"showES6CompileOption": false |
@@ -1,12 +1,15 @@ | |||
const formatTime = date => { | |||
const formatTime = (date,notHour) => { | |||
const year = date.getFullYear() | |||
const month = date.getMonth() + 1 | |||
const day = date.getDate() | |||
const hour = date.getHours() | |||
const minute = date.getMinutes() | |||
const second = date.getSeconds() | |||
return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}` | |||
if(notHour){ | |||
return `${[year, month, day].map(formatNumber).join('/')}` | |||
}else{ | |||
return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}` | |||
} | |||
} | |||
const formatNumber = n => { |