外部页面跳转微信 或者小程序 原理都是用Scheme
唤醒微信 最为简单
location.href = 'weixin://';
唤醒小程序稍微复杂点,最近有个需求 是在H5落地页 唤醒小程序镶嵌的webview 页面,搭配微信云开发使用。
唤醒小程序稍微复杂点,最近有个需求 是在H5落地页 唤醒小程序镶嵌的webview 页面,搭配微信云开发使用。
async function test() {
var containerEl = document.getElementById('public-web-container')
containerEl.classList.remove('hidden')
containerEl.classList.add('full', 'public-web-container')
var c = new cloud.Cloud({
// 必填,表示是未登录模式
identityless: true,
// 小程序 AppID
resourceAppid: '小程序 AppID', // <!-- replace -->
// 云开发环境 ID
resourceEnv: '云开发环境 ID', // <!-- replace -->
})
await c.init()
window.c = c
var buttonEl = document.getElementById('public-web-jump-button')
var buttonLoadingEl = document.getElementById('public-web-jump-button-loading')
try {
await openWeapp(() => {
buttonEl.classList.remove('weui-btn_loading')
buttonLoadingEl.classList.add('hidden')
})
} catch (e) {
buttonEl.classList.remove('weui-btn_loading')
buttonLoadingEl.classList.add('hidden')
throw e
}
})
//生成Scheme 链接
async function openWeapp(onBeforeJump) { var c = window.c const res = await c.callFunction({ name: 'public', data: { action: 'getUrlScheme', }, }) console.warn(res) if (onBeforeJump) { onBeforeJump() } location.href = res.result.openlink }
其中 getUrlScheme 这个函数就需要放在小程序云开发上。