Browse Source

Merge remote-tracking branch 'origin/master'

刘浩男 1 year ago
parent
commit
30ddde9858

+ 15 - 0
api/help/help.js

@@ -0,0 +1,15 @@
+import request from '@/utils/request'
+
+export function list(query) {
+  return request({
+    url: '/high/server/helpList',
+    method: 'get',
+	params:query
+  })
+}
+export function getDetails(id) {
+  return request({
+    url: '/high/server/helpDetails/' + id,
+    method: 'get',
+  })
+}

+ 17 - 0
api/index/index.js

@@ -32,4 +32,21 @@ export function getList(query){
 		method: 'get',
 		data: query
 	})
+}
+
+//查询封面
+export function getCovers(){
+	return request({
+		url: '/my/img/getCover',
+		method: 'get'
+	})
+}
+
+
+//查询封面
+export function getCarousel(){
+	return request({
+		url: '/my/img/getCarousel',
+		method: 'get'
+	})
 }

+ 15 - 0
api/inquiry/inquiry.js

@@ -0,0 +1,15 @@
+import request from '@/utils/request'
+
+export function list(query) {
+  return request({
+    url: '/high/server/inquiryList',
+    method: 'get',
+	params:query
+  })
+}
+export function getDetails(id) {
+  return request({
+    url: '/high/server/inquiryDetails/' + id,
+    method: 'get',
+  })
+}

+ 15 - 0
api/psychology/psychology.js

@@ -0,0 +1,15 @@
+import request from '@/utils/request'
+
+export function list(query) {
+  return request({
+    url: '/high/server/psychologyList',
+    method: 'get',
+	params:query
+  })
+}
+export function getDetails(id) {
+  return request({
+    url: '/high/server/psychologyDetails/' + id,
+    method: 'get',
+  })
+}

+ 17 - 0
api/travelGuide/travelGuide.js

@@ -0,0 +1,17 @@
+import request from '@/utils/request'
+
+//旅游向导列表
+export function list(query) {
+  return request({
+    url: '/high/server/travelGuideList',
+    method: 'get',
+	params:query
+  })
+}
+//旅游向导详情
+export function getDetails(id) {
+  return request({
+    url: '/high/server/travelGuideDetails/' + id,
+    method: 'get',
+  })
+}

+ 72 - 0
pages.json

@@ -359,6 +359,78 @@
 			}
 		},
 		{
+			"path": "pages/travelGuide/travelGuide",
+			"style": {
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "旅游向导"
+			}
+		},
+		{
+			"path": "pages/travelGuideDetails/travelGuideDetails",
+			"style": {
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "旅游向导详情"
+			}
+		},
+		{
+			"path": "pages/psychology/psychology",
+			"style": {
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "心理咨询"
+			}
+		},
+		{
+			"path": "pages/psychologyDetails/psychologyDetails",
+			"style": {
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "心理咨询详情"
+			}
+		},
+		{
+			"path": "pages/inquiry/inquiry",
+			"style": {
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "线上问诊"
+			}
+		},
+		{
+			"path": "pages/inquiryDetails/inquiryDetails",
+			"style": {
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "线上问诊详情"
+			}
+		},
+		{
+			"path": "pages/help/help",
+			"style": {
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "帮扶救助"
+			}
+		},
+		{
+			"path": "pages/helpDetails/helpDetails",
+			"style": {
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "帮扶救助详情"
+			}
+		},
+		{
 			"path" : "pages/topic/topic",
 			"style": {
 				"usingComponents": {},

+ 136 - 0
pages/help/help.css

@@ -0,0 +1,136 @@
+/* pages/wenda/wenda.wxss */
+.wendaFL {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 30rpx 0 0 0;
+}
+.wendaFL li {
+    width: 48%;
+    height: 168rpx;
+    position: relative;
+}
+.lbBj {
+    position: absolute;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 100%;
+}
+.wendaFL li h2 {
+    font-size: 36rpx;
+    position: absolute;
+    left: 30rpx;
+    top: 40rpx;
+    z-index: 1;
+    font-weight: bold;
+}
+.wendaFL li span {
+    font-size: 30rpx;
+    position: absolute;
+    left: 30rpx;
+    top: 88rpx;
+    z-index: 1;
+}
+.wendaFL li.sanNong {
+    color: #0d9970;
+}
+.wendaFL li.jiuYe {
+    color: #1e8fb4;
+}
+.wendaFL li.faLv {
+    color: #1e5dab;
+}
+.wendaFL li.jiuZhen {
+    color: #4a700d;
+}
+/* 列表 */
+.rnwdList {
+    width: 100%;
+    height: 100%;
+}
+.list {
+    border-bottom: solid 2rpx #f6f6f6;
+    padding: 10rpx 0;
+    width: 100%;
+}
+.lb {
+    background: #0d9970;
+    color: #fff;
+    font-size: 24rpx;
+    width: 12%;
+    text-align: center;
+    padding: 2rpx 0;
+    line-height: 40rpx;
+    height: 40rpx;
+    border-radius: 10rpx;
+}
+.listTitle {
+    font-size: 32rpx;
+    color: #333;
+    line-height: 40rpx;
+}
+.icon-jifen {
+    font-size: 28rpx;
+    color: #07c160;
+    margin: 0 0 0 6rpx;
+}
+.icon-pinglun,
+.icon-chakan,
+.icon-shoucang {
+    font-size: 28rpx;
+    margin: 0 6rpx 0 20rpx;
+    color: #c4c4c4;
+}
+.icon-xiangyoujiantou {
+    font-size: 30rpx;
+    color: #c4c4c4;
+    line-height: 60rpx;
+}
+.onePic {
+    width: 100%;
+    height: 360rpx;
+    border-radius: 20rpx;
+    overflow: hidden;
+    margin: 20rpx 0;
+}
+.onePic image {
+    width: 100%;
+    height: 100%;
+}
+.twoPic {
+    width: 100%;
+    height: 220rpx;
+    margin: 20rpx 0;
+    display: flex;
+    justify-content: space-between;
+}
+.twoPic image {
+    width: 49%;
+    height: auto;
+    border-radius: 20rpx;
+}
+.threePic {
+    width: 100%;
+    height: 160rpx;
+    margin: 20rpx 0;
+    display: flex;
+    justify-content: space-between;
+}
+.threePic image {
+    width: 32%;
+    height: auto;
+    border-radius: 20rpx;
+}
+.jlSj {
+    height: 40rpx;
+    display: flex;
+    justify-content: space-between;
+    font-size: 24rpx;
+    margin: 20rpx 0 0 0;
+}
+.ck {
+    color: #c4c4c4;
+	margin-left:240px;
+}

+ 110 - 0
pages/help/help.vue

@@ -0,0 +1,110 @@
+<template>
+	<!-- 直播带货列表 -->
+	<view class="container">
+		<view class="rnwdList">
+			<view class="list" @tap="goDetails(item.id)" v-for="(item, index1) in dataSource" :key="index1">
+				<span class="listTitle">{{ item.titleName }}</span>
+
+				<view class="onePic" v-if="item.pictureList != null && item.pictureList.length == 1">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList" :key="index2">
+					</image>
+				</view>
+				<view class="twoPic" v-if="item.pictureList != null && item.pictureList.length == 2">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList" :key="index2">
+					</image>
+				</view>
+				<view class="threePic" v-if="item.pictureList != null && item.pictureList.length == 3">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList" :key="index2">
+					</image>
+				</view>
+				<view class="threePic" v-if="item.pictureList != null && item.pictureList.length > 3">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList"
+						v-if="index2 < 3" :key="index2"></image>
+				</view>
+
+				<view class="jlSj">
+					<view class="ck">
+						<span>
+							<em class="iconfont icon-chakan"></em>
+							{{ item.likeNum }}
+						</span>
+						<span>
+							<em class="iconfont icon-shoucang"></em>
+							{{ item.watchNum }}
+						</span>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		list
+	} from '@/api/help/help.js';
+	export default {
+		data() {
+			return {
+				dataSource: [],
+				// 数据总量
+				total: 0,
+				queryParams: {
+					// 当前页
+					pageNum: 1,
+					// 每页数据量
+					pageSize: 10,
+				},
+				loading: false,
+			}
+		},
+		/**
+		 * 生命周期函数--监听页面加载
+		 */
+		onLoad(options) {
+			this.getList(1)
+		},
+		onReachBottom(){
+			let pageNum = this.queryParams.pageNum
+			let pageSize = this.queryParams.pageSize
+			let total = this.total
+			if(pageNum * pageSize >= total){
+				uni.showToast({
+					title:'暂无更多数据'
+				})
+				return
+			} else {
+				this.queryParams.pageNum += 1;
+				this.getList()
+			}
+		},
+		methods: {
+			goDetails(id) {
+				uni.navigateTo({
+					url: '/pages/helpDetails/helpDetails?id=' + id,
+				});
+			},
+			// 分页触发
+			change(e) {
+				this.getList(e.current);
+			},
+			// 获取数据
+			getList(pageNum) {
+				let params = {
+					pageSize: this.queryParams.pageSize,
+					pageNum: pageNum,
+				}
+				list(params).then(res => {
+					if (res.code == 200) {
+						this.dataSource = [...this.dataSource,...res.rows]
+						this.total = res.total
+					}
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	@import './help.css';
+</style>

+ 160 - 0
pages/helpDetail/helpDetails.css

@@ -0,0 +1,160 @@
+/* pages/wenbaxiangqing.wxss */
+.title {
+    font-size: 44rpx;
+    text-align: center;
+    line-height: 70rpx;
+    color: #333;
+    margin: 30rpx 0;
+}
+.wenzhangLy {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    border-bottom: solid 2rpx #e8e8e8;
+    padding: 0 0 14rpx 0;
+}
+.txTime {
+    display: flex;
+    flex-direction: row;
+}
+.txTime image {
+    width: 80rpx;
+    height: 80rpx;
+}
+.time {
+    display: flex;
+    flex-direction: column;
+    padding: 10rpx 0 0 8px;
+}
+.time p {
+    font-size: 28rpx;
+    color: #9c9c9c;
+}
+.time span {
+    font-size: 24rpx;
+    color: #c4c4c4;
+}
+
+.jf {
+    color: #07c160;
+    line-height: 80rpx;
+    font-size: 24rpx;
+}
+.icon-jifen {
+    font-size: 28rpx;
+    color: #07c160;
+    margin: 0 0 0 6rpx;
+}
+.ck {
+    color: #c4c4c4;
+    font-size: 28rpx;
+}
+.icon-pinglun,
+.icon-chakan,
+.ck .icon-shoucang {
+    font-size: 28rpx;
+    margin: 0 6rpx 0 20rpx;
+    color: #c4c4c4;
+    line-height: 0;
+}
+.wenzhangCont {
+    font-size: 34rpx;
+    margin: 30rpx 0;
+}
+.wenzhangCont image {
+    width: 100%;
+    height: 320rpx;
+    margin: 20rpx auto;
+}
+.pinglunTj {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 30rpx 0;
+}
+.pinglunTitle {
+    font-size: 34rpx;
+    color: #2e2e2e;
+    font-weight: 600;
+}
+.pinglunTitle em {
+    font-size: 34rpx;
+    color: #9b9b9b;
+    font-weight: normal;
+    margin: 0 0 0 10rpx;
+}
+.pinglunList {
+    width: 100%;
+    padding: 0 0 120rpx 0;
+}
+.pinglunList li {
+    margin: 20rpx 0;
+    border-bottom: solid 2rpx #e8e8e8;
+    padding: 0 0 20rpx 0;
+    display: flex;
+    flex-direction: column;
+}
+.plListcont {
+    font-size: 30rpx;
+    color: #696868;
+    margin: 20rpx 0;
+}
+.pinglunList li button {
+    width: 80%;
+    border-radius: 10rpx;
+    background: #07c160;
+    color: #fff;
+    font-size: 28rpx;
+    font-weight: normal;
+    margin: 16rpx auto;
+}
+.fabiaoPl {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    position: fixed;
+    left: 0;
+    bottom: 0;
+    height: 112rpx;
+    background: #e8e8e8;
+    box-shadow: 0rpx 0rpx 16rpx #999;
+}
+.shuRu {
+    width: 72%;
+    display: flex;
+    flex-direction: row;
+    height: 76rpx;
+    background: #e0e0e0;
+    border-radius: 60rpx;
+    margin: 20rpx 0 0 20rpx;
+}
+.shuRu input {
+    line-height: 38px;
+    height: 76rpx;
+    font-size: 30rpx;
+    width: 83%;
+}
+.icon-bianji {
+    font-size: 38rpx;
+    line-height: 76rpx;
+    margin: 0 10rpx 0 20rpx;
+    color: #828181;
+}
+.icon-shoucang {
+    font-size: 50rpx;
+    line-height: 112rpx;
+    color: #828181;
+}
+.fasong {
+    width: 58rpx;
+    height: 58rpx;
+    border-radius: 50rpx;
+    background: #07c160;
+    margin: 26rpx 20rpx 0 10rpx;
+    text-align: center;
+    line-height: 58rpx;
+}
+.icon-fasong {
+    font-size: 40rpx;
+    color: #fff;
+}

+ 238 - 0
pages/helpDetail/helpDetails.vue

@@ -0,0 +1,238 @@
+<template>
+	<view>
+		<!-- 直播带货详情 -->
+		<view class="container">
+			<h1 class="title">{{fromData.titleName}}</h1>
+			<view class="wenzhangLy">
+				<!-- 头像昵称 -->
+				<view class="txTime">
+					<img class="uni-header-image"
+						:src="initInfo.headImg == null || initInfo.headImg == '' ? 'http://116.142.80.12:9000/10_03.png' : initInfo.headImg" />
+					<view class="time">
+						<p>{{initInfo.wechatName}}</p>
+						<span>{{fromData.createTime}}</span>
+					</view>
+				</view>
+			</view>
+			<view class="wenzhangCont article">
+				<view v-html="fromData.textDetails"></view>
+				<view v-for="(item, index) in fromData.pictureList" :key="index">
+					<image :src="loadImgSrcLocalhost(item)"></image>
+				</view>
+			</view>
+			<view class="fengexian"></view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		getDetails
+	} from '@/api/help/help.js';
+	import {
+		getUserInfo
+	} from '@/api/me/me.js'
+	export default {
+		data() {
+			return {
+				parentId: "",
+				fromData: {},
+				content: "",
+				initInfo: {
+					userId: null,
+					scoreNum: 0,
+					wechatName: "微信用户",
+					name: null,
+					headImg: null,
+				},
+			};
+		},
+		methods: {
+			// 获取数据
+			getDetails() {
+				getDetails(this.parentId).then(res => {
+					if (res.code == 200) {
+						this.fromData = res.data
+					}
+				})
+			},
+			getUserInfoByUserId(userId) {
+				getUserInfo(userId).then(res => {
+					this.initInfo = res.data;
+					console.log("this.initInfo", this.initInfo)
+				})
+			},
+		}
+		/**
+		 * 生命周期函数--监听页面加载
+		 */
+		,
+		onLoad(options) {
+			this.parentId = options.id
+			this.getDetails()
+		},
+		/**
+		 * 生命周期函数--监听页面初次渲染完成
+		 */
+		onReady() {
+			this.userId = getApp().globalData.userId
+			this.getUserInfoByUserId(this.userId)
+		},
+		/**
+		 * 生命周期函数--监听页面显示
+		 */
+		onShow() {},
+		/**
+		 * 生命周期函数--监听页面隐藏
+		 */
+		onHide() {},
+		/**
+		 * 生命周期函数--监听页面卸载
+		 */
+		onUnload() {},
+		/**
+		 * 页面相关事件处理函数--监听用户下拉动作
+		 */
+		onPullDownRefresh() {},
+		/**
+		 * 页面上拉触底事件的处理函数
+		 */
+		onReachBottom() {},
+		/**
+		 * 用户点击右上角分享
+		 */
+		onShareAppMessage() {},
+	};
+</script>
+<style lang="scss">
+	@import './helpDetails.css';
+
+	.collect {
+		.icon-shoucang:before {
+			color: red;
+		}
+	}
+
+	.not-collect {}
+
+	.effectBix {
+		width: 56px;
+		height: 56px;
+		border-radius: 50px;
+		font-family: 'Bebas Neue', cursive;
+		background: linear-gradient(45deg, transparent 5%, #FF013C 5%);
+		border: 0;
+		color: #fff;
+		text-align: center;
+		line-height: 56px;
+		outline: transparent;
+		position: absolute;
+		transform: rotate(-30deg);
+		right: 3%;
+		top: -5%;
+	}
+
+	.effectBox,
+	.effectBox::after {
+		width: 56px;
+		height: 56px;
+		border-radius: 50px;
+		font-size: 16px;
+		font-family: 'Bebas Neue', cursive;
+		background: linear-gradient(45deg, transparent 5%, #FF013C 5%);
+		border: 0;
+		color: #fff;
+		opacity: 1;
+		letter-spacing: 3px;
+		text-align: center;
+		line-height: 56px;
+		outline: transparent;
+		position: relative;
+		left: 78%;
+		top: 113%;
+		transform: rotate(-30deg);
+		z-index: 1;
+	}
+
+	.effectBox::after {
+		--slice-0: inset(50% 50% 50% 50%);
+		--slice-1: inset(80% -6px 0 0);
+		--slice-2: inset(50% -6px 30% 0);
+		--slice-3: inset(10% -6px 85% 0);
+		--slice-4: inset(40% -6px 43% 0);
+		--slice-5: inset(80% -6px 5% 0);
+
+		content: 'AVAILABLE NOW';
+		display: block;
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+		background: linear-gradient(45deg, transparent 3%, #00E6F6 3%, #00E6F6 5%, #FF013C 5%);
+		text-shadow: -3px -3px 0px #F8F005, 3px 3px 0px #00E6F6;
+		clip-path: var(--slice-0);
+	}
+
+	.effectBox:hover::after {
+		animation: 1s glitch;
+		animation-timing-function: steps(2, end);
+	}
+
+	@keyframes glitch {
+		0% {
+			clip-path: var(--slice-1);
+			transform: translate(-20px, -10px);
+		}
+
+		10% {
+			clip-path: var(--slice-3);
+			transform: translate(10px, 10px);
+		}
+
+		20% {
+			clip-path: var(--slice-1);
+			transform: translate(-10px, 10px);
+		}
+
+		30% {
+			clip-path: var(--slice-3);
+			transform: translate(0px, 5px);
+		}
+
+		40% {
+			clip-path: var(--slice-2);
+			transform: translate(-5px, 0px);
+		}
+
+		50% {
+			clip-path: var(--slice-3);
+			transform: translate(5px, 0px);
+		}
+
+		60% {
+			clip-path: var(--slice-4);
+			transform: translate(5px, 10px);
+		}
+
+		70% {
+			clip-path: var(--slice-2);
+			transform: translate(-10px, 10px);
+		}
+
+		80% {
+			clip-path: var(--slice-5);
+			transform: translate(20px, -10px);
+		}
+
+		90% {
+			clip-path: var(--slice-1);
+			transform: translate(-10px, 0px);
+		}
+
+		100% {
+			clip-path: var(--slice-1);
+			transform: translate(0);
+		}
+	}
+</style>

+ 55 - 11
pages/index/index.vue

@@ -2,7 +2,7 @@
 	<view>
 		<!-- index.wxml -->
 		<view class="topBj">
-			<image :src="'https://tse1-mm.cn.bing.net/th/id/OIP-C.JsghMT_u8V52I4PSHow2hAHaEG?w=332&h=186&c=7&r=0&o=5&pid=1.7'"></image>
+			<image :src="loadImgSrc(bigImg)"></image>
 		</view>
 		<view class="container">
 			<!-- 主导航 -->
@@ -86,7 +86,7 @@
 				:circular="circular" class="banner">
 				<block v-for="(item, index) in banners" :key="index">
 					<swiper-item>
-						<image :src="item.src" mode="aspectFill"></image>
+						<image :src="loadImgSrc(item)" mode="aspectFill"></image>
 					</swiper-item>
 				</block>
 			</swiper>
@@ -101,15 +101,15 @@
 			<view class="gpfwNav">
 				<ul>
 					<li>
-						<view class="lvxd"><em class="iconfont icon-jurassic_nav"></em></view>
+						<view class="lvxd"><em class="iconfont icon-jurassic_nav" @tap="golyxd"></em></view>
 						<span>旅游向导</span>
 					</li>
 					<li>
-						<view class="xlzx"><em class="iconfont icon-xinlizixun"></em></view>
+						<view class="xlzx"><em class="iconfont icon-xinlizixun" @tap="goxlzx"></em></view>
 						<span>心里咨询</span>
 					</li>
 					<li>
-						<view class="xswz"><em class="iconfont icon-wenzhen"></em></view>
+						<view class="xswz"><em class="iconfont icon-wenzhen" @tap="goxswz"></em></view>
 						<span>线上问诊</span>
 					</li>
 					<li>
@@ -119,7 +119,7 @@
 						<span @tap="goFinancialInfrastructure">社</span>
 					</li>
 					<li>
-						<view class="xlzx"><em class="iconfont icon-linshijiuzhu"></em></view>
+						<view class="xlzx"><em class="iconfont icon-linshijiuzhu" @tap="gobfjz"></em></view>
 						<span>帮扶救助</span>
 					</li>
 					<li>
@@ -219,7 +219,7 @@
 
 <script>
 	import {
-		getListToAnnouncement
+		getListToAnnouncement,getCovers,getCarousel
 	} from '@/api/index/index.js';
 	import {
 		governmentListData
@@ -233,11 +233,11 @@
 	export default {
 		data() {
 			return {
+				bigImg:'https://tse1-mm.cn.bing.net/th/id/OIP-C.JsghMT_u8V52I4PSHow2hAHaEG?w=332&h=186&c=7&r=0&o=5&pid=1.7',
 				// 图片轮播
-				banners: [{
-						src: 'https://tse1-mm.cn.bing.net/th/id/OIP-C.JsghMT_u8V52I4PSHow2hAHaEG?w=332&h=186&c=7&r=0&o=5&pid=1.7'
-					}
-				],
+				banners: [
+						'https://tse1-mm.cn.bing.net/th/id/OIP-C.JsghMT_u8V52I4PSHow2hAHaEG?w=332&h=186&c=7&r=0&o=5&pid=1.7'
+					],
 				announcementList: [{
 						id: '3',
 						announcementTitle: '关于高质量推进土地整治工作赋能乡村振兴的通知'
@@ -358,6 +358,7 @@
 		},
 		created() {
 			this.getList()
+			this.getCovers()
 		},
 		onReachBottom() {
 			let pageNum = this.knowledgeParams.pageNum
@@ -374,6 +375,15 @@
 			}
 		},
 		methods: {
+			//封面与轮播图
+			getCovers(){
+				getCovers().then(res=>{
+					this.bigImg = res.data
+				})
+				getCarousel().then(res=>{
+					this.banners = res.data
+				})	
+			},
 			// 热门知识获取数据
 			getList(pageNum) {
 				let params = {
@@ -393,11 +403,13 @@
 					url: '/pages/toLegal/toLegal'
 				});
 			},
+			//政策推荐
 			toGovernmentList() {
 				uni.navigateTo({
 					url: '/pages/toGovernmentList/toGovernmentList'
 				});
 			},
+			//惠民通
 			toGovernmentList1() {
 				uni.navigateTo({
 					url: '/pages/toGovernmentList/toGovernmentList?type=10'
@@ -496,6 +508,38 @@
 					url: '/pages/knowledge/knowledge'
 				});
 			},
+			/**
+			 * 跳转旅游向导页面
+			 */
+			golyxd() {
+				uni.navigateTo({
+					url: '/pages/travelGuide/travelGuide'
+				});
+			},
+			/**
+			 * 跳转心理咨询页面
+			 */
+			goxlzx() {
+				uni.navigateTo({
+					url: '/pages/psychology/psychology'
+				});
+			},
+			/**
+			 * 跳转线上问诊页面
+			 */
+			goxswz() {
+				uni.navigateTo({
+					url: '/pages/inquiry/inquiry'
+				});
+			},
+			/**
+			 * 跳转帮扶救助页面
+			 */
+			gobfjz() {
+				uni.navigateTo({
+					url: '/pages/help/help'
+				});
+			},
 			goKnowledgeDetails(item) {
 				let params = {
 					userId: getApp().globalData.userId,

+ 136 - 0
pages/inquiry/inquiry.css

@@ -0,0 +1,136 @@
+/* pages/wenda/wenda.wxss */
+.wendaFL {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 30rpx 0 0 0;
+}
+.wendaFL li {
+    width: 48%;
+    height: 168rpx;
+    position: relative;
+}
+.lbBj {
+    position: absolute;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 100%;
+}
+.wendaFL li h2 {
+    font-size: 36rpx;
+    position: absolute;
+    left: 30rpx;
+    top: 40rpx;
+    z-index: 1;
+    font-weight: bold;
+}
+.wendaFL li span {
+    font-size: 30rpx;
+    position: absolute;
+    left: 30rpx;
+    top: 88rpx;
+    z-index: 1;
+}
+.wendaFL li.sanNong {
+    color: #0d9970;
+}
+.wendaFL li.jiuYe {
+    color: #1e8fb4;
+}
+.wendaFL li.faLv {
+    color: #1e5dab;
+}
+.wendaFL li.jiuZhen {
+    color: #4a700d;
+}
+/* 列表 */
+.rnwdList {
+    width: 100%;
+    height: 100%;
+}
+.list {
+    border-bottom: solid 2rpx #f6f6f6;
+    padding: 10rpx 0;
+    width: 100%;
+}
+.lb {
+    background: #0d9970;
+    color: #fff;
+    font-size: 24rpx;
+    width: 12%;
+    text-align: center;
+    padding: 2rpx 0;
+    line-height: 40rpx;
+    height: 40rpx;
+    border-radius: 10rpx;
+}
+.listTitle {
+    font-size: 32rpx;
+    color: #333;
+    line-height: 40rpx;
+}
+.icon-jifen {
+    font-size: 28rpx;
+    color: #07c160;
+    margin: 0 0 0 6rpx;
+}
+.icon-pinglun,
+.icon-chakan,
+.icon-shoucang {
+    font-size: 28rpx;
+    margin: 0 6rpx 0 20rpx;
+    color: #c4c4c4;
+}
+.icon-xiangyoujiantou {
+    font-size: 30rpx;
+    color: #c4c4c4;
+    line-height: 60rpx;
+}
+.onePic {
+    width: 100%;
+    height: 360rpx;
+    border-radius: 20rpx;
+    overflow: hidden;
+    margin: 20rpx 0;
+}
+.onePic image {
+    width: 100%;
+    height: 100%;
+}
+.twoPic {
+    width: 100%;
+    height: 220rpx;
+    margin: 20rpx 0;
+    display: flex;
+    justify-content: space-between;
+}
+.twoPic image {
+    width: 49%;
+    height: auto;
+    border-radius: 20rpx;
+}
+.threePic {
+    width: 100%;
+    height: 160rpx;
+    margin: 20rpx 0;
+    display: flex;
+    justify-content: space-between;
+}
+.threePic image {
+    width: 32%;
+    height: auto;
+    border-radius: 20rpx;
+}
+.jlSj {
+    height: 40rpx;
+    display: flex;
+    justify-content: space-between;
+    font-size: 24rpx;
+    margin: 20rpx 0 0 0;
+}
+.ck {
+    color: #c4c4c4;
+	margin-left:240px;
+}

+ 110 - 0
pages/inquiry/inquiry.vue

@@ -0,0 +1,110 @@
+<template>
+	<!-- 直播带货列表 -->
+	<view class="container">
+		<view class="rnwdList">
+			<view class="list" @tap="goDetails(item.id)" v-for="(item, index1) in dataSource" :key="index1">
+				<span class="listTitle">{{ item.titleName }}</span>
+
+				<view class="onePic" v-if="item.pictureList != null && item.pictureList.length == 1">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList" :key="index2">
+					</image>
+				</view>
+				<view class="twoPic" v-if="item.pictureList != null && item.pictureList.length == 2">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList" :key="index2">
+					</image>
+				</view>
+				<view class="threePic" v-if="item.pictureList != null && item.pictureList.length == 3">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList" :key="index2">
+					</image>
+				</view>
+				<view class="threePic" v-if="item.pictureList != null && item.pictureList.length > 3">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList"
+						v-if="index2 < 3" :key="index2"></image>
+				</view>
+
+				<view class="jlSj">
+					<view class="ck">
+						<span>
+							<em class="iconfont icon-chakan"></em>
+							{{ item.likeNum }}
+						</span>
+						<span>
+							<em class="iconfont icon-shoucang"></em>
+							{{ item.watchNum }}
+						</span>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		list
+	} from '@/api/inquiry/inquiry.js';
+	export default {
+		data() {
+			return {
+				dataSource: [],
+				// 数据总量
+				total: 0,
+				queryParams: {
+					// 当前页
+					pageNum: 1,
+					// 每页数据量
+					pageSize: 10,
+				},
+				loading: false,
+			}
+		},
+		/**
+		 * 生命周期函数--监听页面加载
+		 */
+		onLoad(options) {
+			this.getList(1)
+		},
+		onReachBottom(){
+			let pageNum = this.queryParams.pageNum
+			let pageSize = this.queryParams.pageSize
+			let total = this.total
+			if(pageNum * pageSize >= total){
+				uni.showToast({
+					title:'暂无更多数据'
+				})
+				return
+			} else {
+				this.queryParams.pageNum += 1;
+				this.getList()
+			}
+		},
+		methods: {
+			goDetails(id) {
+				uni.navigateTo({
+					url: '/pages/inquiryDetails/inquiryDetails?id=' + id,
+				});
+			},
+			// 分页触发
+			change(e) {
+				this.getList(e.current);
+			},
+			// 获取数据
+			getList(pageNum) {
+				let params = {
+					pageSize: this.queryParams.pageSize,
+					pageNum: pageNum,
+				}
+				list(params).then(res => {
+					if (res.code == 200) {
+						this.dataSource = [...this.dataSource,...res.rows]
+						this.total = res.total
+					}
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	@import './inquiry.css';
+</style>

+ 160 - 0
pages/inquiryDetail/inquiryDetails.css

@@ -0,0 +1,160 @@
+/* pages/wenbaxiangqing.wxss */
+.title {
+    font-size: 44rpx;
+    text-align: center;
+    line-height: 70rpx;
+    color: #333;
+    margin: 30rpx 0;
+}
+.wenzhangLy {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    border-bottom: solid 2rpx #e8e8e8;
+    padding: 0 0 14rpx 0;
+}
+.txTime {
+    display: flex;
+    flex-direction: row;
+}
+.txTime image {
+    width: 80rpx;
+    height: 80rpx;
+}
+.time {
+    display: flex;
+    flex-direction: column;
+    padding: 10rpx 0 0 8px;
+}
+.time p {
+    font-size: 28rpx;
+    color: #9c9c9c;
+}
+.time span {
+    font-size: 24rpx;
+    color: #c4c4c4;
+}
+
+.jf {
+    color: #07c160;
+    line-height: 80rpx;
+    font-size: 24rpx;
+}
+.icon-jifen {
+    font-size: 28rpx;
+    color: #07c160;
+    margin: 0 0 0 6rpx;
+}
+.ck {
+    color: #c4c4c4;
+    font-size: 28rpx;
+}
+.icon-pinglun,
+.icon-chakan,
+.ck .icon-shoucang {
+    font-size: 28rpx;
+    margin: 0 6rpx 0 20rpx;
+    color: #c4c4c4;
+    line-height: 0;
+}
+.wenzhangCont {
+    font-size: 34rpx;
+    margin: 30rpx 0;
+}
+.wenzhangCont image {
+    width: 100%;
+    height: 320rpx;
+    margin: 20rpx auto;
+}
+.pinglunTj {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 30rpx 0;
+}
+.pinglunTitle {
+    font-size: 34rpx;
+    color: #2e2e2e;
+    font-weight: 600;
+}
+.pinglunTitle em {
+    font-size: 34rpx;
+    color: #9b9b9b;
+    font-weight: normal;
+    margin: 0 0 0 10rpx;
+}
+.pinglunList {
+    width: 100%;
+    padding: 0 0 120rpx 0;
+}
+.pinglunList li {
+    margin: 20rpx 0;
+    border-bottom: solid 2rpx #e8e8e8;
+    padding: 0 0 20rpx 0;
+    display: flex;
+    flex-direction: column;
+}
+.plListcont {
+    font-size: 30rpx;
+    color: #696868;
+    margin: 20rpx 0;
+}
+.pinglunList li button {
+    width: 80%;
+    border-radius: 10rpx;
+    background: #07c160;
+    color: #fff;
+    font-size: 28rpx;
+    font-weight: normal;
+    margin: 16rpx auto;
+}
+.fabiaoPl {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    position: fixed;
+    left: 0;
+    bottom: 0;
+    height: 112rpx;
+    background: #e8e8e8;
+    box-shadow: 0rpx 0rpx 16rpx #999;
+}
+.shuRu {
+    width: 72%;
+    display: flex;
+    flex-direction: row;
+    height: 76rpx;
+    background: #e0e0e0;
+    border-radius: 60rpx;
+    margin: 20rpx 0 0 20rpx;
+}
+.shuRu input {
+    line-height: 38px;
+    height: 76rpx;
+    font-size: 30rpx;
+    width: 83%;
+}
+.icon-bianji {
+    font-size: 38rpx;
+    line-height: 76rpx;
+    margin: 0 10rpx 0 20rpx;
+    color: #828181;
+}
+.icon-shoucang {
+    font-size: 50rpx;
+    line-height: 112rpx;
+    color: #828181;
+}
+.fasong {
+    width: 58rpx;
+    height: 58rpx;
+    border-radius: 50rpx;
+    background: #07c160;
+    margin: 26rpx 20rpx 0 10rpx;
+    text-align: center;
+    line-height: 58rpx;
+}
+.icon-fasong {
+    font-size: 40rpx;
+    color: #fff;
+}

+ 238 - 0
pages/inquiryDetail/inquiryDetails.vue

@@ -0,0 +1,238 @@
+<template>
+	<view>
+		<!-- 直播带货详情 -->
+		<view class="container">
+			<h1 class="title">{{fromData.titleName}}</h1>
+			<view class="wenzhangLy">
+				<!-- 头像昵称 -->
+				<view class="txTime">
+					<img class="uni-header-image"
+						:src="initInfo.headImg == null || initInfo.headImg == '' ? 'http://116.142.80.12:9000/10_03.png' : initInfo.headImg" />
+					<view class="time">
+						<p>{{initInfo.wechatName}}</p>
+						<span>{{fromData.createTime}}</span>
+					</view>
+				</view>
+			</view>
+			<view class="wenzhangCont article">
+				<view v-html="fromData.textDetails"></view>
+				<view v-for="(item, index) in fromData.pictureList" :key="index">
+					<image :src="loadImgSrcLocalhost(item)"></image>
+				</view>
+			</view>
+			<view class="fengexian"></view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		getDetails
+	} from '@/api/inquiry/inquiry.js';
+	import {
+		getUserInfo
+	} from '@/api/me/me.js'
+	export default {
+		data() {
+			return {
+				parentId: "",
+				fromData: {},
+				content: "",
+				initInfo: {
+					userId: null,
+					scoreNum: 0,
+					wechatName: "微信用户",
+					name: null,
+					headImg: null,
+				},
+			};
+		},
+		methods: {
+			// 获取数据
+			getDetails() {
+				getDetails(this.parentId).then(res => {
+					if (res.code == 200) {
+						this.fromData = res.data
+					}
+				})
+			},
+			getUserInfoByUserId(userId) {
+				getUserInfo(userId).then(res => {
+					this.initInfo = res.data;
+					console.log("this.initInfo", this.initInfo)
+				})
+			},
+		}
+		/**
+		 * 生命周期函数--监听页面加载
+		 */
+		,
+		onLoad(options) {
+			this.parentId = options.id
+			this.getDetails()
+		},
+		/**
+		 * 生命周期函数--监听页面初次渲染完成
+		 */
+		onReady() {
+			this.userId = getApp().globalData.userId
+			this.getUserInfoByUserId(this.userId)
+		},
+		/**
+		 * 生命周期函数--监听页面显示
+		 */
+		onShow() {},
+		/**
+		 * 生命周期函数--监听页面隐藏
+		 */
+		onHide() {},
+		/**
+		 * 生命周期函数--监听页面卸载
+		 */
+		onUnload() {},
+		/**
+		 * 页面相关事件处理函数--监听用户下拉动作
+		 */
+		onPullDownRefresh() {},
+		/**
+		 * 页面上拉触底事件的处理函数
+		 */
+		onReachBottom() {},
+		/**
+		 * 用户点击右上角分享
+		 */
+		onShareAppMessage() {},
+	};
+</script>
+<style lang="scss">
+	@import './inquiryDetails.css';
+
+	.collect {
+		.icon-shoucang:before {
+			color: red;
+		}
+	}
+
+	.not-collect {}
+
+	.effectBix {
+		width: 56px;
+		height: 56px;
+		border-radius: 50px;
+		font-family: 'Bebas Neue', cursive;
+		background: linear-gradient(45deg, transparent 5%, #FF013C 5%);
+		border: 0;
+		color: #fff;
+		text-align: center;
+		line-height: 56px;
+		outline: transparent;
+		position: absolute;
+		transform: rotate(-30deg);
+		right: 3%;
+		top: -5%;
+	}
+
+	.effectBox,
+	.effectBox::after {
+		width: 56px;
+		height: 56px;
+		border-radius: 50px;
+		font-size: 16px;
+		font-family: 'Bebas Neue', cursive;
+		background: linear-gradient(45deg, transparent 5%, #FF013C 5%);
+		border: 0;
+		color: #fff;
+		opacity: 1;
+		letter-spacing: 3px;
+		text-align: center;
+		line-height: 56px;
+		outline: transparent;
+		position: relative;
+		left: 78%;
+		top: 113%;
+		transform: rotate(-30deg);
+		z-index: 1;
+	}
+
+	.effectBox::after {
+		--slice-0: inset(50% 50% 50% 50%);
+		--slice-1: inset(80% -6px 0 0);
+		--slice-2: inset(50% -6px 30% 0);
+		--slice-3: inset(10% -6px 85% 0);
+		--slice-4: inset(40% -6px 43% 0);
+		--slice-5: inset(80% -6px 5% 0);
+
+		content: 'AVAILABLE NOW';
+		display: block;
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+		background: linear-gradient(45deg, transparent 3%, #00E6F6 3%, #00E6F6 5%, #FF013C 5%);
+		text-shadow: -3px -3px 0px #F8F005, 3px 3px 0px #00E6F6;
+		clip-path: var(--slice-0);
+	}
+
+	.effectBox:hover::after {
+		animation: 1s glitch;
+		animation-timing-function: steps(2, end);
+	}
+
+	@keyframes glitch {
+		0% {
+			clip-path: var(--slice-1);
+			transform: translate(-20px, -10px);
+		}
+
+		10% {
+			clip-path: var(--slice-3);
+			transform: translate(10px, 10px);
+		}
+
+		20% {
+			clip-path: var(--slice-1);
+			transform: translate(-10px, 10px);
+		}
+
+		30% {
+			clip-path: var(--slice-3);
+			transform: translate(0px, 5px);
+		}
+
+		40% {
+			clip-path: var(--slice-2);
+			transform: translate(-5px, 0px);
+		}
+
+		50% {
+			clip-path: var(--slice-3);
+			transform: translate(5px, 0px);
+		}
+
+		60% {
+			clip-path: var(--slice-4);
+			transform: translate(5px, 10px);
+		}
+
+		70% {
+			clip-path: var(--slice-2);
+			transform: translate(-10px, 10px);
+		}
+
+		80% {
+			clip-path: var(--slice-5);
+			transform: translate(20px, -10px);
+		}
+
+		90% {
+			clip-path: var(--slice-1);
+			transform: translate(-10px, 0px);
+		}
+
+		100% {
+			clip-path: var(--slice-1);
+			transform: translate(0);
+		}
+	}
+</style>

+ 136 - 0
pages/psychology/psychology.css

@@ -0,0 +1,136 @@
+/* pages/wenda/wenda.wxss */
+.wendaFL {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 30rpx 0 0 0;
+}
+.wendaFL li {
+    width: 48%;
+    height: 168rpx;
+    position: relative;
+}
+.lbBj {
+    position: absolute;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 100%;
+}
+.wendaFL li h2 {
+    font-size: 36rpx;
+    position: absolute;
+    left: 30rpx;
+    top: 40rpx;
+    z-index: 1;
+    font-weight: bold;
+}
+.wendaFL li span {
+    font-size: 30rpx;
+    position: absolute;
+    left: 30rpx;
+    top: 88rpx;
+    z-index: 1;
+}
+.wendaFL li.sanNong {
+    color: #0d9970;
+}
+.wendaFL li.jiuYe {
+    color: #1e8fb4;
+}
+.wendaFL li.faLv {
+    color: #1e5dab;
+}
+.wendaFL li.jiuZhen {
+    color: #4a700d;
+}
+/* 列表 */
+.rnwdList {
+    width: 100%;
+    height: 100%;
+}
+.list {
+    border-bottom: solid 2rpx #f6f6f6;
+    padding: 10rpx 0;
+    width: 100%;
+}
+.lb {
+    background: #0d9970;
+    color: #fff;
+    font-size: 24rpx;
+    width: 12%;
+    text-align: center;
+    padding: 2rpx 0;
+    line-height: 40rpx;
+    height: 40rpx;
+    border-radius: 10rpx;
+}
+.listTitle {
+    font-size: 32rpx;
+    color: #333;
+    line-height: 40rpx;
+}
+.icon-jifen {
+    font-size: 28rpx;
+    color: #07c160;
+    margin: 0 0 0 6rpx;
+}
+.icon-pinglun,
+.icon-chakan,
+.icon-shoucang {
+    font-size: 28rpx;
+    margin: 0 6rpx 0 20rpx;
+    color: #c4c4c4;
+}
+.icon-xiangyoujiantou {
+    font-size: 30rpx;
+    color: #c4c4c4;
+    line-height: 60rpx;
+}
+.onePic {
+    width: 100%;
+    height: 360rpx;
+    border-radius: 20rpx;
+    overflow: hidden;
+    margin: 20rpx 0;
+}
+.onePic image {
+    width: 100%;
+    height: 100%;
+}
+.twoPic {
+    width: 100%;
+    height: 220rpx;
+    margin: 20rpx 0;
+    display: flex;
+    justify-content: space-between;
+}
+.twoPic image {
+    width: 49%;
+    height: auto;
+    border-radius: 20rpx;
+}
+.threePic {
+    width: 100%;
+    height: 160rpx;
+    margin: 20rpx 0;
+    display: flex;
+    justify-content: space-between;
+}
+.threePic image {
+    width: 32%;
+    height: auto;
+    border-radius: 20rpx;
+}
+.jlSj {
+    height: 40rpx;
+    display: flex;
+    justify-content: space-between;
+    font-size: 24rpx;
+    margin: 20rpx 0 0 0;
+}
+.ck {
+    color: #c4c4c4;
+	margin-left:240px;
+}

+ 110 - 0
pages/psychology/psychology.vue

@@ -0,0 +1,110 @@
+<template>
+	<!-- 心理咨询列表 -->
+	<view class="container">
+		<view class="rnwdList">
+			<view class="list" @tap="goDetails(item.id)" v-for="(item, index1) in dataSource" :key="index1">
+				<span class="listTitle">{{ item.titleName }}</span>
+
+				<view class="onePic" v-if="item.pictureList != null && item.pictureList.length == 1">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList" :key="index2">
+					</image>
+				</view>
+				<view class="twoPic" v-if="item.pictureList != null && item.pictureList.length == 2">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList" :key="index2">
+					</image>
+				</view>
+				<view class="threePic" v-if="item.pictureList != null && item.pictureList.length == 3">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList" :key="index2">
+					</image>
+				</view>
+				<view class="threePic" v-if="item.pictureList != null && item.pictureList.length > 3">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList"
+						v-if="index2 < 3" :key="index2"></image>
+				</view>
+
+				<view class="jlSj">
+					<view class="ck">
+						<span>
+							<em class="iconfont icon-chakan"></em>
+							{{ item.likeNum }}
+						</span>
+						<span>
+							<em class="iconfont icon-shoucang"></em>
+							{{ item.watchNum }}
+						</span>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		list
+	} from '@/api/psychology/psychology.js';
+	export default {
+		data() {
+			return {
+				dataSource: [],
+				// 数据总量
+				total: 0,
+				queryParams: {
+					// 当前页
+					pageNum: 1,
+					// 每页数据量
+					pageSize: 10,
+				},
+				loading: false,
+			}
+		},
+		/**
+		 * 生命周期函数--监听页面加载
+		 */
+		onLoad(options) {
+			this.getList(1)
+		},
+		onReachBottom(){
+			let pageNum = this.queryParams.pageNum
+			let pageSize = this.queryParams.pageSize
+			let total = this.total
+			if(pageNum * pageSize >= total){
+				uni.showToast({
+					title:'暂无更多数据'
+				})
+				return
+			} else {
+				this.queryParams.pageNum += 1;
+				this.getList()
+			}
+		},
+		methods: {
+			goDetails(id) {
+				uni.navigateTo({
+					url: '/pages/psychologyDetails/psychologyDetails?id=' + id,
+				});
+			},
+			// 分页触发
+			change(e) {
+				this.getList(e.current);
+			},
+			// 获取数据
+			getList(pageNum) {
+				let params = {
+					pageSize: this.queryParams.pageSize,
+					pageNum: pageNum,
+				}
+				list(params).then(res => {
+					if (res.code == 200) {
+						this.dataSource = [...this.dataSource,...res.rows]
+						this.total = res.total
+					}
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	@import './psychology.css';
+</style>

+ 160 - 0
pages/psychologyDetail/psychologyDetails.css

@@ -0,0 +1,160 @@
+/* pages/wenbaxiangqing.wxss */
+.title {
+    font-size: 44rpx;
+    text-align: center;
+    line-height: 70rpx;
+    color: #333;
+    margin: 30rpx 0;
+}
+.wenzhangLy {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    border-bottom: solid 2rpx #e8e8e8;
+    padding: 0 0 14rpx 0;
+}
+.txTime {
+    display: flex;
+    flex-direction: row;
+}
+.txTime image {
+    width: 80rpx;
+    height: 80rpx;
+}
+.time {
+    display: flex;
+    flex-direction: column;
+    padding: 10rpx 0 0 8px;
+}
+.time p {
+    font-size: 28rpx;
+    color: #9c9c9c;
+}
+.time span {
+    font-size: 24rpx;
+    color: #c4c4c4;
+}
+
+.jf {
+    color: #07c160;
+    line-height: 80rpx;
+    font-size: 24rpx;
+}
+.icon-jifen {
+    font-size: 28rpx;
+    color: #07c160;
+    margin: 0 0 0 6rpx;
+}
+.ck {
+    color: #c4c4c4;
+    font-size: 28rpx;
+}
+.icon-pinglun,
+.icon-chakan,
+.ck .icon-shoucang {
+    font-size: 28rpx;
+    margin: 0 6rpx 0 20rpx;
+    color: #c4c4c4;
+    line-height: 0;
+}
+.wenzhangCont {
+    font-size: 34rpx;
+    margin: 30rpx 0;
+}
+.wenzhangCont image {
+    width: 100%;
+    height: 320rpx;
+    margin: 20rpx auto;
+}
+.pinglunTj {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 30rpx 0;
+}
+.pinglunTitle {
+    font-size: 34rpx;
+    color: #2e2e2e;
+    font-weight: 600;
+}
+.pinglunTitle em {
+    font-size: 34rpx;
+    color: #9b9b9b;
+    font-weight: normal;
+    margin: 0 0 0 10rpx;
+}
+.pinglunList {
+    width: 100%;
+    padding: 0 0 120rpx 0;
+}
+.pinglunList li {
+    margin: 20rpx 0;
+    border-bottom: solid 2rpx #e8e8e8;
+    padding: 0 0 20rpx 0;
+    display: flex;
+    flex-direction: column;
+}
+.plListcont {
+    font-size: 30rpx;
+    color: #696868;
+    margin: 20rpx 0;
+}
+.pinglunList li button {
+    width: 80%;
+    border-radius: 10rpx;
+    background: #07c160;
+    color: #fff;
+    font-size: 28rpx;
+    font-weight: normal;
+    margin: 16rpx auto;
+}
+.fabiaoPl {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    position: fixed;
+    left: 0;
+    bottom: 0;
+    height: 112rpx;
+    background: #e8e8e8;
+    box-shadow: 0rpx 0rpx 16rpx #999;
+}
+.shuRu {
+    width: 72%;
+    display: flex;
+    flex-direction: row;
+    height: 76rpx;
+    background: #e0e0e0;
+    border-radius: 60rpx;
+    margin: 20rpx 0 0 20rpx;
+}
+.shuRu input {
+    line-height: 38px;
+    height: 76rpx;
+    font-size: 30rpx;
+    width: 83%;
+}
+.icon-bianji {
+    font-size: 38rpx;
+    line-height: 76rpx;
+    margin: 0 10rpx 0 20rpx;
+    color: #828181;
+}
+.icon-shoucang {
+    font-size: 50rpx;
+    line-height: 112rpx;
+    color: #828181;
+}
+.fasong {
+    width: 58rpx;
+    height: 58rpx;
+    border-radius: 50rpx;
+    background: #07c160;
+    margin: 26rpx 20rpx 0 10rpx;
+    text-align: center;
+    line-height: 58rpx;
+}
+.icon-fasong {
+    font-size: 40rpx;
+    color: #fff;
+}

+ 238 - 0
pages/psychologyDetail/psychologyDetails.vue

@@ -0,0 +1,238 @@
+<template>
+	<view>
+		<!-- 心理咨询详情 -->
+		<view class="container">
+			<h1 class="title">{{fromData.titleName}}</h1>
+			<view class="wenzhangLy">
+				<!-- 头像昵称 -->
+				<view class="txTime">
+					<img class="uni-header-image"
+						:src="initInfo.headImg == null || initInfo.headImg == '' ? 'http://116.142.80.12:9000/10_03.png' : initInfo.headImg" />
+					<view class="time">
+						<p>{{initInfo.wechatName}}</p>
+						<span>{{fromData.createTime}}</span>
+					</view>
+				</view>
+			</view>
+			<view class="wenzhangCont article">
+				<view v-html="fromData.textDetails"></view>
+				<view v-for="(item, index) in fromData.pictureList" :key="index">
+					<image :src="loadImgSrcLocalhost(item)"></image>
+				</view>
+			</view>
+			<view class="fengexian"></view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		getDetails
+	} from '@/api/psychology/psychology.js';
+	import {
+		getUserInfo
+	} from '@/api/me/me.js'
+	export default {
+		data() {
+			return {
+				parentId: "",
+				fromData: {},
+				content: "",
+				initInfo: {
+					userId: null,
+					scoreNum: 0,
+					wechatName: "微信用户",
+					name: null,
+					headImg: null,
+				},
+			};
+		},
+		methods: {
+			// 获取数据
+			getDetails() {
+				getDetails(this.parentId).then(res => {
+					if (res.code == 200) {
+						this.fromData = res.data
+					}
+				})
+			},
+			getUserInfoByUserId(userId) {
+				getUserInfo(userId).then(res => {
+					this.initInfo = res.data;
+					console.log("this.initInfo", this.initInfo)
+				})
+			},
+		}
+		/**
+		 * 生命周期函数--监听页面加载
+		 */
+		,
+		onLoad(options) {
+			this.parentId = options.id
+			this.getDetails()
+		},
+		/**
+		 * 生命周期函数--监听页面初次渲染完成
+		 */
+		onReady() {
+			this.userId = getApp().globalData.userId
+			this.getUserInfoByUserId(this.userId)
+		},
+		/**
+		 * 生命周期函数--监听页面显示
+		 */
+		onShow() {},
+		/**
+		 * 生命周期函数--监听页面隐藏
+		 */
+		onHide() {},
+		/**
+		 * 生命周期函数--监听页面卸载
+		 */
+		onUnload() {},
+		/**
+		 * 页面相关事件处理函数--监听用户下拉动作
+		 */
+		onPullDownRefresh() {},
+		/**
+		 * 页面上拉触底事件的处理函数
+		 */
+		onReachBottom() {},
+		/**
+		 * 用户点击右上角分享
+		 */
+		onShareAppMessage() {},
+	};
+</script>
+<style lang="scss">
+	@import './psychologyDetails.css';
+
+	.collect {
+		.icon-shoucang:before {
+			color: red;
+		}
+	}
+
+	.not-collect {}
+
+	.effectBix {
+		width: 56px;
+		height: 56px;
+		border-radius: 50px;
+		font-family: 'Bebas Neue', cursive;
+		background: linear-gradient(45deg, transparent 5%, #FF013C 5%);
+		border: 0;
+		color: #fff;
+		text-align: center;
+		line-height: 56px;
+		outline: transparent;
+		position: absolute;
+		transform: rotate(-30deg);
+		right: 3%;
+		top: -5%;
+	}
+
+	.effectBox,
+	.effectBox::after {
+		width: 56px;
+		height: 56px;
+		border-radius: 50px;
+		font-size: 16px;
+		font-family: 'Bebas Neue', cursive;
+		background: linear-gradient(45deg, transparent 5%, #FF013C 5%);
+		border: 0;
+		color: #fff;
+		opacity: 1;
+		letter-spacing: 3px;
+		text-align: center;
+		line-height: 56px;
+		outline: transparent;
+		position: relative;
+		left: 78%;
+		top: 113%;
+		transform: rotate(-30deg);
+		z-index: 1;
+	}
+
+	.effectBox::after {
+		--slice-0: inset(50% 50% 50% 50%);
+		--slice-1: inset(80% -6px 0 0);
+		--slice-2: inset(50% -6px 30% 0);
+		--slice-3: inset(10% -6px 85% 0);
+		--slice-4: inset(40% -6px 43% 0);
+		--slice-5: inset(80% -6px 5% 0);
+
+		content: 'AVAILABLE NOW';
+		display: block;
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+		background: linear-gradient(45deg, transparent 3%, #00E6F6 3%, #00E6F6 5%, #FF013C 5%);
+		text-shadow: -3px -3px 0px #F8F005, 3px 3px 0px #00E6F6;
+		clip-path: var(--slice-0);
+	}
+
+	.effectBox:hover::after {
+		animation: 1s glitch;
+		animation-timing-function: steps(2, end);
+	}
+
+	@keyframes glitch {
+		0% {
+			clip-path: var(--slice-1);
+			transform: translate(-20px, -10px);
+		}
+
+		10% {
+			clip-path: var(--slice-3);
+			transform: translate(10px, 10px);
+		}
+
+		20% {
+			clip-path: var(--slice-1);
+			transform: translate(-10px, 10px);
+		}
+
+		30% {
+			clip-path: var(--slice-3);
+			transform: translate(0px, 5px);
+		}
+
+		40% {
+			clip-path: var(--slice-2);
+			transform: translate(-5px, 0px);
+		}
+
+		50% {
+			clip-path: var(--slice-3);
+			transform: translate(5px, 0px);
+		}
+
+		60% {
+			clip-path: var(--slice-4);
+			transform: translate(5px, 10px);
+		}
+
+		70% {
+			clip-path: var(--slice-2);
+			transform: translate(-10px, 10px);
+		}
+
+		80% {
+			clip-path: var(--slice-5);
+			transform: translate(20px, -10px);
+		}
+
+		90% {
+			clip-path: var(--slice-1);
+			transform: translate(-10px, 0px);
+		}
+
+		100% {
+			clip-path: var(--slice-1);
+			transform: translate(0);
+		}
+	}
+</style>

+ 160 - 0
pages/travelGuide/travelGuide.css

@@ -0,0 +1,160 @@
+/* pages/wenbaxiangqing.wxss */
+.title {
+    font-size: 44rpx;
+    text-align: center;
+    line-height: 70rpx;
+    color: #333;
+    margin: 30rpx 0;
+}
+.wenzhangLy {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    border-bottom: solid 2rpx #e8e8e8;
+    padding: 0 0 14rpx 0;
+}
+.txTime {
+    display: flex;
+    flex-direction: row;
+}
+.txTime image {
+    width: 80rpx;
+    height: 80rpx;
+}
+.time {
+    display: flex;
+    flex-direction: column;
+    padding: 10rpx 0 0 8px;
+}
+.time p {
+    font-size: 28rpx;
+    color: #9c9c9c;
+}
+.time span {
+    font-size: 24rpx;
+    color: #c4c4c4;
+}
+
+.jf {
+    color: #07c160;
+    line-height: 80rpx;
+    font-size: 24rpx;
+}
+.icon-jifen {
+    font-size: 28rpx;
+    color: #07c160;
+    margin: 0 0 0 6rpx;
+}
+.ck {
+    color: #c4c4c4;
+    font-size: 28rpx;
+}
+.icon-pinglun,
+.icon-chakan,
+.ck .icon-shoucang {
+    font-size: 28rpx;
+    margin: 0 6rpx 0 20rpx;
+    color: #c4c4c4;
+    line-height: 0;
+}
+.wenzhangCont {
+    font-size: 34rpx;
+    margin: 30rpx 0;
+}
+.wenzhangCont image {
+    width: 100%;
+    height: 320rpx;
+    margin: 20rpx auto;
+}
+.pinglunTj {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 30rpx 0;
+}
+.pinglunTitle {
+    font-size: 34rpx;
+    color: #2e2e2e;
+    font-weight: 600;
+}
+.pinglunTitle em {
+    font-size: 34rpx;
+    color: #9b9b9b;
+    font-weight: normal;
+    margin: 0 0 0 10rpx;
+}
+.pinglunList {
+    width: 100%;
+    padding: 0 0 120rpx 0;
+}
+.pinglunList li {
+    margin: 20rpx 0;
+    border-bottom: solid 2rpx #e8e8e8;
+    padding: 0 0 20rpx 0;
+    display: flex;
+    flex-direction: column;
+}
+.plListcont {
+    font-size: 30rpx;
+    color: #696868;
+    margin: 20rpx 0;
+}
+.pinglunList li button {
+    width: 80%;
+    border-radius: 10rpx;
+    background: #07c160;
+    color: #fff;
+    font-size: 28rpx;
+    font-weight: normal;
+    margin: 16rpx auto;
+}
+.fabiaoPl {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    position: fixed;
+    left: 0;
+    bottom: 0;
+    height: 112rpx;
+    background: #e8e8e8;
+    box-shadow: 0rpx 0rpx 16rpx #999;
+}
+.shuRu {
+    width: 72%;
+    display: flex;
+    flex-direction: row;
+    height: 76rpx;
+    background: #e0e0e0;
+    border-radius: 60rpx;
+    margin: 20rpx 0 0 20rpx;
+}
+.shuRu input {
+    line-height: 38px;
+    height: 76rpx;
+    font-size: 30rpx;
+    width: 83%;
+}
+.icon-bianji {
+    font-size: 38rpx;
+    line-height: 76rpx;
+    margin: 0 10rpx 0 20rpx;
+    color: #828181;
+}
+.icon-shoucang {
+    font-size: 50rpx;
+    line-height: 112rpx;
+    color: #828181;
+}
+.fasong {
+    width: 58rpx;
+    height: 58rpx;
+    border-radius: 50rpx;
+    background: #07c160;
+    margin: 26rpx 20rpx 0 10rpx;
+    text-align: center;
+    line-height: 58rpx;
+}
+.icon-fasong {
+    font-size: 40rpx;
+    color: #fff;
+}

+ 110 - 0
pages/travelGuide/travelGuide.vue

@@ -0,0 +1,110 @@
+<template>
+	<!-- 旅游向导列表 -->
+	<view class="container">
+		<view class="rnwdList">
+			<view class="list" @tap="goDetails(item.id)" v-for="(item, index1) in dataSource" :key="index1">
+				<span class="listTitle">{{ item.titleName }}</span>
+
+				<view class="onePic" v-if="item.pictureList != null && item.pictureList.length == 1">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList" :key="index2">
+					</image>
+				</view>
+				<view class="twoPic" v-if="item.pictureList != null && item.pictureList.length == 2">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList" :key="index2">
+					</image>
+				</view>
+				<view class="threePic" v-if="item.pictureList != null && item.pictureList.length == 3">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList" :key="index2">
+					</image>
+				</view>
+				<view class="threePic" v-if="item.pictureList != null && item.pictureList.length > 3">
+					<image :src="loadImgSrcLocalhost(item2)" v-for="(item2, index2) in item.pictureList"
+						v-if="index2 < 3" :key="index2"></image>
+				</view>
+
+				<view class="jlSj">
+					<view class="ck">
+						<span>
+							<em class="iconfont icon-chakan"></em>
+							{{ item.likeNum }}
+						</span>
+						<span>
+							<em class="iconfont icon-shoucang"></em>
+							{{ item.watchNum }}
+						</span>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		list
+	} from '@/api/liveBroadcast/liveBroadcast.js';
+	export default {
+		data() {
+			return {
+				dataSource: [],
+				// 数据总量
+				total: 0,
+				queryParams: {
+					// 当前页
+					pageNum: 1,
+					// 每页数据量
+					pageSize: 10,
+				},
+				loading: false,
+			}
+		},
+		/**
+		 * 生命周期函数--监听页面加载
+		 */
+		onLoad(options) {
+			this.getList(1)
+		},
+		onReachBottom(){
+			let pageNum = this.queryParams.pageNum
+			let pageSize = this.queryParams.pageSize
+			let total = this.total
+			if(pageNum * pageSize >= total){
+				uni.showToast({
+					title:'暂无更多数据'
+				})
+				return
+			} else {
+				this.queryParams.pageNum += 1;
+				this.getList()
+			}
+		},
+		methods: {
+			goDetails(id) {
+				uni.navigateTo({
+					url: '/pages/travelGuideDetails/travelGuideDetails?id=' + id,
+				});
+			},
+			// 分页触发
+			change(e) {
+				this.getList(e.current);
+			},
+			// 获取数据
+			getList(pageNum) {
+				let params = {
+					pageSize: this.queryParams.pageSize,
+					pageNum: pageNum,
+				}
+				list(params).then(res => {
+					if (res.code == 200) {
+						this.dataSource = [...this.dataSource,...res.rows]
+						this.total = res.total
+					}
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	@import './travelGuide.css';
+</style>

+ 160 - 0
pages/travelGuideDetails/travelGuideDetails.css

@@ -0,0 +1,160 @@
+/* pages/wenbaxiangqing.wxss */
+.title {
+    font-size: 44rpx;
+    text-align: center;
+    line-height: 70rpx;
+    color: #333;
+    margin: 30rpx 0;
+}
+.wenzhangLy {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    border-bottom: solid 2rpx #e8e8e8;
+    padding: 0 0 14rpx 0;
+}
+.txTime {
+    display: flex;
+    flex-direction: row;
+}
+.txTime image {
+    width: 80rpx;
+    height: 80rpx;
+}
+.time {
+    display: flex;
+    flex-direction: column;
+    padding: 10rpx 0 0 8px;
+}
+.time p {
+    font-size: 28rpx;
+    color: #9c9c9c;
+}
+.time span {
+    font-size: 24rpx;
+    color: #c4c4c4;
+}
+
+.jf {
+    color: #07c160;
+    line-height: 80rpx;
+    font-size: 24rpx;
+}
+.icon-jifen {
+    font-size: 28rpx;
+    color: #07c160;
+    margin: 0 0 0 6rpx;
+}
+.ck {
+    color: #c4c4c4;
+    font-size: 28rpx;
+}
+.icon-pinglun,
+.icon-chakan,
+.ck .icon-shoucang {
+    font-size: 28rpx;
+    margin: 0 6rpx 0 20rpx;
+    color: #c4c4c4;
+    line-height: 0;
+}
+.wenzhangCont {
+    font-size: 34rpx;
+    margin: 30rpx 0;
+}
+.wenzhangCont image {
+    width: 100%;
+    height: 320rpx;
+    margin: 20rpx auto;
+}
+.pinglunTj {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 30rpx 0;
+}
+.pinglunTitle {
+    font-size: 34rpx;
+    color: #2e2e2e;
+    font-weight: 600;
+}
+.pinglunTitle em {
+    font-size: 34rpx;
+    color: #9b9b9b;
+    font-weight: normal;
+    margin: 0 0 0 10rpx;
+}
+.pinglunList {
+    width: 100%;
+    padding: 0 0 120rpx 0;
+}
+.pinglunList li {
+    margin: 20rpx 0;
+    border-bottom: solid 2rpx #e8e8e8;
+    padding: 0 0 20rpx 0;
+    display: flex;
+    flex-direction: column;
+}
+.plListcont {
+    font-size: 30rpx;
+    color: #696868;
+    margin: 20rpx 0;
+}
+.pinglunList li button {
+    width: 80%;
+    border-radius: 10rpx;
+    background: #07c160;
+    color: #fff;
+    font-size: 28rpx;
+    font-weight: normal;
+    margin: 16rpx auto;
+}
+.fabiaoPl {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    position: fixed;
+    left: 0;
+    bottom: 0;
+    height: 112rpx;
+    background: #e8e8e8;
+    box-shadow: 0rpx 0rpx 16rpx #999;
+}
+.shuRu {
+    width: 72%;
+    display: flex;
+    flex-direction: row;
+    height: 76rpx;
+    background: #e0e0e0;
+    border-radius: 60rpx;
+    margin: 20rpx 0 0 20rpx;
+}
+.shuRu input {
+    line-height: 38px;
+    height: 76rpx;
+    font-size: 30rpx;
+    width: 83%;
+}
+.icon-bianji {
+    font-size: 38rpx;
+    line-height: 76rpx;
+    margin: 0 10rpx 0 20rpx;
+    color: #828181;
+}
+.icon-shoucang {
+    font-size: 50rpx;
+    line-height: 112rpx;
+    color: #828181;
+}
+.fasong {
+    width: 58rpx;
+    height: 58rpx;
+    border-radius: 50rpx;
+    background: #07c160;
+    margin: 26rpx 20rpx 0 10rpx;
+    text-align: center;
+    line-height: 58rpx;
+}
+.icon-fasong {
+    font-size: 40rpx;
+    color: #fff;
+}

+ 237 - 0
pages/travelGuideDetails/travelGuideDetails.vue

@@ -0,0 +1,237 @@
+<template>
+	<view>
+		<!-- 旅游向导详情 -->
+		<view class="container">
+			<h1 class="title">{{fromData.titleName}}</h1>
+			<view class="wenzhangLy">
+				<!-- 头像昵称 -->
+				<view class="txTime">
+					<img class="uni-header-image"
+						:src="initInfo.headImg == null || initInfo.headImg == '' ? 'http://116.142.80.12:9000/10_03.png' : initInfo.headImg" />
+					<view class="time">
+						<p>{{initInfo.wechatName}}</p>
+						<span>{{fromData.createTime}}</span>
+					</view>
+				</view>
+			</view>
+			<view class="wenzhangCont">
+				<view v-html="fromData.textDetails"></view>
+				<view v-for="(item, index) in fromData.pictureList" :key="index">
+					<image :src="loadImgSrcLocalhost(item)"></image>
+				</view>
+			</view>
+			<view class="fengexian"></view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		getDetails
+	} from '@/api/travelGuide/travelGuide.js';
+	import {
+		getUserInfo
+	} from '@/api/me/me.js'
+	export default {
+		data() {
+			return {
+				parentId: "",
+				fromData: {},
+				content: "",
+				initInfo: {
+					userId: null,
+					scoreNum: 0,
+					wechatName: "微信用户",
+					name: null,
+					headImg: null,
+				},
+			};
+		},
+		methods: {
+			// 获取数据
+			getDetails() {
+				getDetails(this.parentId).then(res => {
+					if (res.code == 200) {
+						this.fromData = res.data
+					}
+				})
+			},
+			getUserInfoByUserId(userId) {
+				getUserInfo(userId).then(res => {
+					this.initInfo = res.data;
+				})
+			},
+		}
+		/**
+		 * 生命周期函数--监听页面加载
+		 */
+		,
+		onLoad(options) {
+			this.parentId = options.id
+			this.getDetails()
+		},
+		/**
+		 * 生命周期函数--监听页面初次渲染完成
+		 */
+		onReady() {
+			this.userId = getApp().globalData.userId
+			this.getUserInfoByUserId(this.userId)
+		},
+		/**
+		 * 生命周期函数--监听页面显示
+		 */
+		onShow() {},
+		/**
+		 * 生命周期函数--监听页面隐藏
+		 */
+		onHide() {},
+		/**
+		 * 生命周期函数--监听页面卸载
+		 */
+		onUnload() {},
+		/**
+		 * 页面相关事件处理函数--监听用户下拉动作
+		 */
+		onPullDownRefresh() {},
+		/**
+		 * 页面上拉触底事件的处理函数
+		 */
+		onReachBottom() {},
+		/**
+		 * 用户点击右上角分享
+		 */
+		onShareAppMessage() {},
+	};
+</script>
+<style lang="scss">
+	@import './travelGuideDetails.css';
+
+	.collect {
+		.icon-shoucang:before {
+			color: red;
+		}
+	}
+
+	.not-collect {}
+
+	.effectBix {
+		width: 56px;
+		height: 56px;
+		border-radius: 50px;
+		font-family: 'Bebas Neue', cursive;
+		background: linear-gradient(45deg, transparent 5%, #FF013C 5%);
+		border: 0;
+		color: #fff;
+		text-align: center;
+		line-height: 56px;
+		outline: transparent;
+		position: absolute;
+		transform: rotate(-30deg);
+		right: 3%;
+		top: -5%;
+	}
+
+	.effectBox,
+	.effectBox::after {
+		width: 56px;
+		height: 56px;
+		border-radius: 50px;
+		font-size: 16px;
+		font-family: 'Bebas Neue', cursive;
+		background: linear-gradient(45deg, transparent 5%, #FF013C 5%);
+		border: 0;
+		color: #fff;
+		opacity: 1;
+		letter-spacing: 3px;
+		text-align: center;
+		line-height: 56px;
+		outline: transparent;
+		position: relative;
+		left: 78%;
+		top: 113%;
+		transform: rotate(-30deg);
+		z-index: 1;
+	}
+
+	.effectBox::after {
+		--slice-0: inset(50% 50% 50% 50%);
+		--slice-1: inset(80% -6px 0 0);
+		--slice-2: inset(50% -6px 30% 0);
+		--slice-3: inset(10% -6px 85% 0);
+		--slice-4: inset(40% -6px 43% 0);
+		--slice-5: inset(80% -6px 5% 0);
+
+		content: 'AVAILABLE NOW';
+		display: block;
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+		background: linear-gradient(45deg, transparent 3%, #00E6F6 3%, #00E6F6 5%, #FF013C 5%);
+		text-shadow: -3px -3px 0px #F8F005, 3px 3px 0px #00E6F6;
+		clip-path: var(--slice-0);
+	}
+
+	.effectBox:hover::after {
+		animation: 1s glitch;
+		animation-timing-function: steps(2, end);
+	}
+
+	@keyframes glitch {
+		0% {
+			clip-path: var(--slice-1);
+			transform: translate(-20px, -10px);
+		}
+
+		10% {
+			clip-path: var(--slice-3);
+			transform: translate(10px, 10px);
+		}
+
+		20% {
+			clip-path: var(--slice-1);
+			transform: translate(-10px, 10px);
+		}
+
+		30% {
+			clip-path: var(--slice-3);
+			transform: translate(0px, 5px);
+		}
+
+		40% {
+			clip-path: var(--slice-2);
+			transform: translate(-5px, 0px);
+		}
+
+		50% {
+			clip-path: var(--slice-3);
+			transform: translate(5px, 0px);
+		}
+
+		60% {
+			clip-path: var(--slice-4);
+			transform: translate(5px, 10px);
+		}
+
+		70% {
+			clip-path: var(--slice-2);
+			transform: translate(-10px, 10px);
+		}
+
+		80% {
+			clip-path: var(--slice-5);
+			transform: translate(20px, -10px);
+		}
+
+		90% {
+			clip-path: var(--slice-1);
+			transform: translate(-10px, 0px);
+		}
+
+		100% {
+			clip-path: var(--slice-1);
+			transform: translate(0);
+		}
+	}
+</style>