uniapp开发的App(安卓)端跳转uniapp微信小程序

06-01 1927阅读

本文总结两种跳转方法:!!!适合自己的才是最好的

1、根据微信开放文档提供的方法获取小程序的URL (两种)

        !  小程序的URL Scheme 

weixin://dl/business/?t= *TICKET*

        !! 小程序的URL Link 

https://wxaurl.cn/*TICKET* 或 https://wxmpurl.cn/*TICKET*

uniapp开发的App(安卓)端跳转uniapp微信小程序 

代码实现: !!!切记本案例是前端调用,应该让后端封装调用(为了安全考虑)

	跳转小程序
methods: {
	getUniappURL() {
		let params = {
			// path:要跳转到的小程序的目标页面纯路径(不要拼接参数)
			// 注意:如果该链接要打开的版本是正式版,则这个path一定要已经发布到了正式版,不然无法访问到该页面则链接无法生成成功
			path: '/pages/index/insex',
			query: 'a=1&b=2', // 短链的入参
			env_version: "release", // 正式版
			expire_type: 1,
			expire_interval: 30,
		}
		this.getAppLink(params)
	},
	getAppLink(params) {
		// AppID(小程序ID)
		const appid = 'wx******cf'
		// AppSecret(小程序密钥)
		const secret = 'afe3d06*******975dcbe4'
		let tokenURL = ''
		let urllink = ''
		// #ifdef APP
		tokenURL = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${secret}`
		// #endif
		// 先发起请求获取凭证2小时内有效
		uni.request({
			url: tokenURL,
			method: 'GET',
			success(res) {
				// #ifdef APP
				urllink = `https://api.weixin.qq.com/wxa/generate_urllink?access_token=${res.data.access_token}`//获取 URL Link
                //urllink = `https://api.weixin.qq.com/wxa/generatescheme?access_token=${res.data.access_token}`//获取 URL Scheme
				// #endif
				// 再发起请求获取url
				uni.request({
					url: urllink,
					method: 'POST',
					data: {
						...params
					},
					success(result) {
						console.log('生成网址:', result.data.url_link);
						// #ifdef APP
                        //通过uniapp内置组件web-view跳转该链接
						uni.navigateTo({
						    url: `/pages/webView/webView?url=${result.data.url_link}`,
						});
						// #endif
					},
					fail(err) {
						console.log(err);
					}
				})
			},
			fail(err) {
				console.log(err);
			}
		})
	},
}

以上可以拿到小程序的两种URL 链接

vebView页面代码:

	
		
	


	export default {
		data() {
			return {
				url: ''
			};
		},
		onLoad(options) {
			this.url = options.url;
		}
	};

2、通过App的微信分享跳转微信小程序

!!!打包App时需要在manifest.json中APP模块配置Share中微信分享保持开启

!!!打包App时需要在manifest.json中APP模块配置Share中微信分享保持开启

!!!打包App时需要在manifest.json中APP模块配置Share中微信分享保持开启

uniapp开发的App(安卓)端跳转uniapp微信小程序

代码实现:

!!! $appJumpMiniPro方法我放在了vue原型上
!!!需要小程序的原始ID:以gh_开头的id
	跳转

$appJumpMiniPro(url)方法: !!!记得在main.js上挂载 否则无效~

Vue.prototype.$appJumpMiniPro = function(url) {
	// 获取分享服务列表
	plus.share.getServices(
		res => {
			let sweixin = '';
			for (var i = 0; i  {
						console.log(typeof res2, res2)
						// res2是微信小程序传递回来的参数 类型为string 需转化为js对象使用
						let result = JSON.parse(res2)
						console.log(result)
						// 拿到参数后执行你需要的逻辑
					},
					err2 => {
						console.log(err2)
					}
				);
			} else {
                // 没有获取到微信分享服务
				uni.showToast({
					icon: 'none',
					title: '当前环境不支持微信操作!'
				})
			}
		},
		err => {
            // 获取分享服务列表失败
			console.log(err)
		}
	)
}

到此结束~以上是App跳转微信小程序的两种方法,适合自己的才是最好的

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码