detail.uvue 1.9 KB
Newer Older
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
<template>
	<view>
		<view class="banner">
			<image class="banner-img" :src="cover"></image>
			<text class="banner-title">{{title}}</text>
		</view>
		<view class="article-content">
			<text>{{htmlNodes}}</text>
		</view>
	</view>
</template>

<script>

	export default {
		data() {
			return {
				htmlNodes: "",
Y
yurj26 已提交
19 20 21
				pageVisible: false,
				title: '',
				cover : "",
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
22 23 24
				post_id : "",
			}
		},
Y
yurj26 已提交
25
		onLoad(event) {
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
26
			this.pageVisible = true;
Y
yurj26 已提交
27 28 29
			this.post_id = event["post_id"] ?? "";
			this.cover = event["cover"] ?? "";
			this.title = event["title"] ?? "";
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
30
			this.getDetail();
Y
yurj26 已提交
31 32 33
		},
		onUnload() {
			this.pageVisible = false;
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
34 35 36 37 38
		},
		methods: {
			getDetail() {
				uni.request({
					url: 'https://unidemo.dcloud.net.cn/api/news/36kr/' + this.post_id,
Y
yurj26 已提交
39
					success: (data) => {
40
						if(this.pageVisible){
Y
yurj26 已提交
41 42
							if (data.statusCode == 200) {
								const result = data.data as UTSJSONObject
43
								this.htmlNodes = result["content"] as string;
Y
yurj26 已提交
44
							}
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
45 46 47 48 49 50
						}
					},
					fail: () => {
						console.log('fail');
					}
				});
Y
yurj26 已提交
51
			},
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
		}
	}
</script>

<style>
	.banner {
		height: 360rpx;
		overflow: hidden;
		position: relative;
		background-color: #ccc;
	}

	.banner-img {
		width: 100%;
	}

	.banner-title {
		max-height: 84rpx;
		overflow: hidden;
		position: absolute;
		left: 30rpx;
		bottom: 30rpx;
		width: 90%;
		font-size: 32rpx;
		font-weight: 400;
		line-height: 42rpx;
		color: white;
Y
yurj26 已提交
79
		/* z-index: 11; */
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
	}

	.article-meta {
		padding: 20rpx 40rpx;
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		color: gray;
	}

	.article-text {
		font-size: 26rpx;
		line-height: 50rpx;
		margin: 0 20rpx;
	}

	.article-author,
	.article-time {
		font-size: 30rpx;
	}

	.article-content {
		padding: 0 30rpx;
		overflow: hidden;
		font-size: 30rpx;
		margin-bottom: 30rpx;
	}
</style>