您的位置:首页 > 新闻 > 热点要闻 > 代理网页打不开_网上代理商_做app找什么公司_网络营销的宏观环境

代理网页打不开_网上代理商_做app找什么公司_网络营销的宏观环境

2024/12/27 2:03:48 来源:https://blog.csdn.net/Cxiaomu/article/details/144168283  浏览:    关键词:代理网页打不开_网上代理商_做app找什么公司_网络营销的宏观环境
代理网页打不开_网上代理商_做app找什么公司_网络营销的宏观环境

技术栈:Uniapp + Vue3

简介

实际业务中有时候会需要在本微信小程序内打开web页面,这时候可以封装一个路由页面专门用于此场景。
在路由跳转的时候携带路由参数,拼接上web url,接收页面进行参数接收即可。

实现

webview页面

新建一个路由页面,处理接收到的web url,并使用web-view渲染。

<template><view class="container"><web-view :src="externalUrl"></web-view></view>
</template><script setup>
import { ref } from "vue";
import { onLoad } from "@dcloudio/uni-app";const externalUrl = ref("");
onLoad((options) => {externalUrl.value = options.url;
});
</script><style scoped>
.container {width: 100vw;height: 100vh;
}
</style>

跳转

在需要触发的页面,路由时带上web url。

/**
* 格式化路由携带的参数
**/
const createQuery = (obj, parentKey = '', keyValueSeparator = '=', pairSeparator = '&') => {let queryString = [];const that = this;Object.keys(obj).forEach(key => {const fullKey = parentKey ? `${parentKey}[${key}]` : key;if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key])) {queryString.push(this.createQuery(obj[key], fullKey));} else {queryString.push(`${fullKey}${keyValueSeparator}${obj[key]}`);}});return queryString.join(pairSeparator);}/**
* 点击跳转web页面
**/
const onClick = () => {const params = {url: 'https://mp.weixin.qq.com/s/Dq4xx5FUFRB-oJKrwzjewg'}const url = '/pages/webview/index'const query = this.createQuery(params);uni.navigateTo({url: `${url}?${query}`,});
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com