【uniapp开发小程序】设置全屏的开屏广告、长按识别图片、点击跳转通话 拨打电话

设置全屏的开屏广告需求实现

效果图:

点击跳转其他小程序:

官方文档:uni.navigateToMiniProgram(OBJECT) | uni-app官网

// 示例代码
uni.navigateToMiniProgram({
  appId: '',
  path: 'pages/index/index?id=123',
  extraData: {
    'data1': 'test'
  },
  success(res) {
    // 打开成功
  }
})

全屏展示图片:

"navigationStyle": "custom" 

导航栏样式,仅支持 default/custom。custom即取消默认的原生导航栏

完整代码演示:

  • 创建一个新的页面,用于显示广告页面
<template>
	<div class="ad-container">
		<div class="ad-content">
			<img src="https://5b0988e595225.cdn.sohucs.com/images/20200426/fcd7643a0b2146d58934366b6ccbf680.jpeg" alt="广告图片" class="ad-image" @click="redirectToMiniProgram">
			<div class="countdown">{{ countdown }}秒</div>
		</div>
	</div>
</template>

<script>
	export default {
		data() {
			return {
				countdown: 5,
				timer: null
			};
		},
		mounted() {
			this.timer = setInterval(() => {
				this.countdown--;
				if (this.countdown === 0) {
					clearInterval(this.timer);
					uni.redirectTo({
						url: '/pages/index/index' // 要跳转的首页路径
					});
				}
			}, 1000);
		},
		beforeDestroy() {
			clearInterval(this.timer);
		},
		methods: {
			redirectToMiniProgram() {
				uni.navigateToMiniProgram({
					appId: '其他小程序的AppID', // 要跳转的小程序的AppID
					path: '/pages/index/index', // 要跳转的小程序页面路径
					extraData: {}, // 额外的数据,可选
					success(res) {
						console.log('跳转成功');
					},
					fail(err) {
						console.error('跳转失败', err);
					}
				});
			}
		}
	}
</script>

<style>
	.ad-container {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100vh;
		/* 全屏高度 */
	}

	.ad-content {
		text-align: center;
	}

	.ad-image {
		width: 100vw;
		height: 100vh;
	}

	.countdown {
		position: absolute;
		left: 238rpx;
		top: 74rpx;
		color: white;
		font-size: 24px;
	}
</style>
  • 修改 manifest.json 文件,将广告页面添加到页面配置中

长按识别图片需求实现

 效果图:

支持识别类型:

✅ 识别小程序码 - ✅ 跳转小程序

✅ 识别微信、企微群二维码 - ✅ 跳转到加群页面

✅ 识别名片二维码 - ✅ 跳转到加好友页面

完整代码:

<template>
	<!-- show-menu-by-longpress  开启长按图片显示识别小程序码菜单 -->
	<image show-menu-by-longpress="true" @click="previewImage"
		src="../../static/123.png" style="width: 100%;height: 45vh;">
	</image>
</template>
<script>
	export default {
		data() {
			return {}
		},
		methods: {
			//长按识别二维码
			previewImage(e) {
				uni.previewImage({
					// 需要预览的图片链接列表。若无需预览,可以注释urls
					urls: [e.target.src],
					// 为当前显示图片的链接/索引值
					current: e.target.src,
					// 图片指示器样式	
					indicator: 'default',
					// 是否可循环预览
					loop: false,
					success: res => {
						console.log('previewImage res', res);
					},
					fail: err => {
						console.log('previewImage err', err);
					}
				});
			}
		}
	}
</script>

点击跳转通话 拨打电话需求实现

 效果图:

代码展示:

<template>
	<view class="page-map">
		<view class="btn" @click="telFun()" style="text-align: center;">电话咨询</view>
	</view>
</template>
<script>
	export default {
		data() {
			return {}
		},
		methods: {
			//拨打电话:
			telFun() {
				uni.makePhoneCall({
					phoneNumber: '135xxxxxxxxxx', //电话号码
					success: function(e) {
						console.log(e);
					},
					fail: function(e) {
						console.log(e);
					}
				})
			},
		}
	}
</script>
<style lang="scss" scoped>

</style>

注解:

uni.makePhoneCall(OBJECT)    拨打电话

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
uni-app小程序中,可以使用不同的方法来处理背景图片。如果要让背景图片全屏,可以在<style>标签中添加以下样式: ``` page { background-image: url('/static/bg.jpg'); background-size: cover; background-repeat: no-repeat; background-position: center center; } ``` 这样就可以将背景图片设置全屏,并且保持其比例和位置。 如果想为<view>标签添加背景图片,常规做法可能会报错,因为本地资源图片无法通过WXSS获取。解决方案有以下几种: 1. 使用网络图片:可以将需要使用的图片上传到图床,然后以网络图片的形式引入到项目中。 2. 使用<image>标签:将<image>标签作为背景,并使用绝对定位来分隔图层,从而实现背景效果。 3. 将图片转为base64编码:可以使用在线转换器将图片转为base64编码,然后将编码粘贴到background的url中即可。 在处理base64编码的图片时,可以集中处理这些编码并进行引入。 总结来说,uni-app小程序可以通过以上方法来处理背景图片,具体使用哪种方法取决于你的需求和情况。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [uni-app小程序)背景图片的处理](https://blog.csdn.net/piisabutcher/article/details/103408672)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [uniapp 背景图片全屏显示在整个页面](https://blog.csdn.net/qq_36016297/article/details/129836183)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来自湖南的阿晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值