看到很多开发者在H5免鉴权跳转小程序这处于懵逼状态!!!!
我下边解释一下什么叫免鉴权?????
下方是官方文档内对免鉴权跳转能力的解释
注意第二段话
静态网站网页在微信客户端打开时
也就相当于什么,相当于在微信中打开这个开放按钮时候才会免鉴权,此时是通过什么跳转的呢
没错是通过上边代码中
username="小程序原始账号 ID(gh_ 开头的)"
path="要跳转到的页面路径"
此时根据这两个参数跳转的,此时和云函数半毛钱关系没得!!!!
此时相当于什么 相当与小程序内的
wx.navigateToMiniProgram(Object object)
此时你想说我就想单纯实现微信内H5的跳转,且想在路径传参怎么解决???
js获取静态网站url后的参数,原生js去替换username与path的值呀
let launchBtn = document.getElementById('launch-btn')
launchBtn.setAttribute("path", "XXXXXXXXXX"); //HTML 属性
launchBtn.setAttribute("username", "XXXXXXXXXX"); //HTML 属性
在微信以外的渠道中都需要走云函数去请求拿到 openlink 或自建网站鉴权调用接口获取openlink
那些发帖想在小程序A云函数跳转B小程序的别想了不可以
在uniapp里腾讯云函数搞的也别想了,那边没有内置小程序的sdk,调用不动云函数的
乖乖去云开发里上传静态网站,并打开允许访问,云函数打开未登录允许调用
或者自建网站鉴权获取
下边发一条我自己开发的H5跳小程序链接,你们可以去测试
https://u.imvp.top/?s=jlqwyBFN ——本链接由微信小程序【链接工具】生成
看到这里有人问我,我这个链接后边的参数是干什么的?这个参数是控制跳转哪一篇文章的加密id。
在任何情况下访问网站我都会去解析真实对应的文章链接是什么?
微信内我会将真实链接拼接在wx-open-launch-weapp属性内
if(res.result.url){
launchBtn.setAttribute("path", `/pages/basics/web_view.html?url=${encodeURIComponent(res.result.url)}`); //HTML 属性
}
此时文章链接已经拼接在属性path上了。微信内点击也会跳转到指定位置,
非微信内我会拿到openlink 重定向Url唤醒微信,实现外链跳转。
云函数端代码同样采用了官方示例代码,增加了openlink 入库绑定对应文章链接与加密参数,免得多次生成浪费!