admin管理员组

文章数量:1558103

先来看效果

需求:在小程序或app点击跳转按钮就会打开百度网盘并且进入后自动解锁打开该页面

使用框架:uniapp

需求分解:1.在小程序中点击跳转按钮打开百度网盘

看到这个需求,第一反应肯定是打开uniapp官网,搜一搜有没有什么好用的方法可以让我嫖一嫖

嘿,没想到还真有      

这个方法可以直接跳转另一个小程序(以下是使用方法)

uni.navigateToMiniProgram(OBJECT)

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

跳转方法是解决了,可是怎么能跳到对应的小程序呢,比如说我现在要跳到百度网盘,我看了一下appId这个参数传对应的appid就行,接下来我把如何获取百度网盘的appid的教程给大家分享一下

1.首先打开百度网盘小程序

2.

3.

4.

好好好,这时候百度网盘的appid就有了

接下来就要获取页面路径了,我就不写这个过程了,过程下面文章中有(也可以直接复制我下边写好的方法)如何查看并复制小程序的页面路径? | 微信开放社区 (qq)https://developers.weixin.qq/community/develop/article/doc/000ce424104ce8a015cb6658a51413

经过对获取到的url转码得到了以下的路径url

转码:pages/netdisk_share/share?scene=1PzqiNscYrx6u8DBjmVq52s%231234%238%230

然后只需要拿链接中替换掉就可以使用

然后拿以下举例:

例:https://pan.baidu/s/1PzqiNscYrx6u8DBjmVq52s?pwd=1234

转码:pages/netdisk_share/share?scene=1PzqiNscYrx6u8DBjmVq52s%231234%238%230

然后就是做app跳转,这边是直接有app方法(我这边没有判断用户是否手机上有百度网盘小程序,使用这方法是直接用浏览器打开的网盘地址,你们也可以进行判断一下)

plus.runtime.openURL

到现在小程序跳转和app跳转方法都有了,就可以做跳转功能了

由于复制出来的百度网盘链接可能会有文字或者什么东西,需要先用正则给净化一下

getStrUrl(s) {
				var reg = /(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|&|-)+)/g;
				var reg = /(https?|http|ftp|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/g;
				s = s.match(reg);
				return (s && s.length ? s[0] : null);
			},

然后拿着净化后的链接去做跳转功能,我这边直接替换过了

openurl(url) {
				let cjurl = this.getStrUrl(url)//净化过后的url
				if (uni.getStorageSync('isWechat') == true) {
                    //小程序跳转
					let tzurl = cjurl.split('/s/')[1].split('?pwd')[0]//取出来链接
					let pwd = cjurl.split('/s/')[1].split('?pwd=')[1]//取出来提取码
					uni.navigateToMiniProgram({
						appId: 'wxdcd3d073e47d1742',
						path: `pages/netdisk_share/share?scene=${tzurl}%23${pwd}%238%230`,
						extraData: {
							foo: 'bar'
						},
						envVersion: 'release',
						success(res) {
							// 打开成功
						}
					})
				} else {
					plus.runtime.openURL(cjurl, function(res) {
						//这边是app跳转
						console.log(res);
					});
				}

			},

这样整个流程就都有了,可以直接跳转到百度网盘了,开心开心

本文标签: 跳转程序方法百度网uniapp