前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记录一款笑话小程序的创作完整历程(二)

记录一款笑话小程序的创作完整历程(二)

原创
作者头像
leo689
修改2021-10-03 13:11:35
2740
修改2021-10-03 13:11:35
举报
文章被收录于专栏:mini小程序

记录一款笑话小程序的创作完整历程(二)

笑话小程序真容-先睹为快

欢迎扫码围观,欢迎光临芝麻笑话小程序!谢谢!

在这里插入图片描述
在这里插入图片描述

首页

首页包含的功能:

  • 展示内容列表
  • 点击查看详情
  • 点赞
  • 点击右上角分享整个小程序
  • 分享单个内容

展示内容列表

技术点

  • v-for循环指令
  • uni-card卡片组件

技术实现

引入uni-card卡片组件

代码语言:txt
复制
<view class="example-body">
	<uni-card :isShadow="true" :title=item.title mode="title" thumbnail="/static/zhimaxiaohua.png" note="true"
		@click="">
		<view>
			<view class="content-box">
				<text class="content-box-text">卡片内容</text>
			</view>
		</view>
		<template v-slot:footer>
			<view class="footer-box">
				<view class="applause" @click="footerClick('喜欢')">
					<text>喜欢</text>
				</view>
			</view>
		</template>
	</uni-card>
</view>

引入v-for循环指令

代码语言:txt
复制
<view v-for="(item,index) in dataList">
	
</view>

数据展示样例

代码语言:txt
复制
<template>
	<view>
		<view v-for="(item,index) in dataList">
			<view class="example-body">
				<uni-card :isShadow="true" :title=item.title mode="title" thumbnail="/static/zhimaxiaohua.png"
					note="true" @click="">
					<view>
						<view class="content-box">
							<text class="content-box-text">{{item.content}}</text>
						</view>
					</view>
					<template v-slot:footer>
						<view class="footer-box">
							<view class="applause" @click="footerClick('喜欢')">
								<text>喜欢</text>
							</view>
						</view>
					</template>
				</uni-card>
			</view>
		</view>
	</view>
</template>
<script>
	import indexJokeJsonData from "@/mockdata/index-jokes.json"
	export default {
		data() {
			return {
				dataList: indexJokeJsonData
			}
		}
	}
</script>

Mock的json数据

index-jokes.json

代码语言:txt
复制
	[
		{
			"id": 1,
			"title": "芝麻笑话",
			"content": "这是内容"
		},
		{
			"id": 2,
			"title": "芝麻笑话",
			"content": "这是内容"
		},
		{
			"id": 3,
			"title": "芝麻笑话",
			"content": "这是内容"
		}

	]

点击查看详情

点击查看详情后,会跳转到详情页,跳转会携带相关的参数,比如id。

点击事件的函数:@click="viewDetail(index)"

代码语言:txt
复制
methods: {
			viewDetail: function(index) {
				uni.navigateTo({
					url: '/pages/joke-detail/joke-detail?index=' + index + '&dataSource=indexJokes'
				})
			}
}

详情页接收函数,需创建一个joke-detai.vue文件

代码语言:txt
复制
<template>
	<view>
		<view class="content-box">
			<view class="head">
				<text>{{list[index].title}}</text>
			</view>
			<text class="content-box-text">
				{{list[index].content}}
			</text>
		</view>
	</view>
</template>
<script>
import indexJokeJsonData from "@/mockdata/index-jokes.json"
	
	export default {
		data() {
			return {
				list: indexJokeJsonData,
				index: 0
			}
		},
		
		onLoad: function(option) {
			this.index = option.index;
			var dataSourceParam = option.dataSource;
			
			if(dataSourceParam==='indexJokes') {
				this.list=indexJokeJsonData
			}
			
		}
	}
</script>

点赞

代码语言:txt
复制
footerClick(types) {
				uni.showToast({
					title: types,
					icon: 'none'
				})
			}

点击右上角分享整个小程序

分享单个内容

这两部分内容会放到一个关于微信小程序分享功能的专题记述

样式汇总

index.vue首页样式

代码语言:txt
复制
<style lang="scss">

	.example-body {
		/* #ifndef APP-NVUE */
		display: block;
		/* #endif */
		padding: 1px 0;
	}

	.example-box {
		margin: 12px 0;
	}

	.image-box {
		/* #ifndef APP-NVUE */
		display: flex;
		flex-direction: column;
		/* #endif */
		height: 350rpx;
		overflow: hidden;
	}

	.image {
		/* #ifndef APP-NVUE */
		width: 100%;
		height: 100%;
		/* #endif */
		flex: 1;
	}

	.content-box {
		padding-top: 20rpx;
	}

	.content-box-text {
		font-size: 14px;
		line-height: 22px;
	}

	.footer-box {
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		justify-content: space-between;
		flex-direction: row;
	}

	.footer-box__item {
		align-items: center;
		padding: 1px 0;
		font-size: 12px;
		color: #666;
	}

	.applause image {
		width: 60rpx;
		height: 60rpx;
	}

	button::after {
		border: none;
	}

	.applause button {
		background-color: #FFFFFF;
	}
</style>

记录一款笑话小程序的创作完整历程(一)

在这里插入图片描述
在这里插入图片描述

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 记录一款笑话小程序的创作完整历程(二)
    • 笑话小程序真容-先睹为快
      • 首页
        • 展示内容列表
        • 点击查看详情
        • 点赞
        • 点击右上角分享整个小程序
        • 分享单个内容
        • 样式汇总
      • 记录一款笑话小程序的创作完整历程(一)
      相关产品与服务
      云开发 CloudBase
      云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档