当前位置:首页 » 《关于电脑》 » 正文

uniapp小程序使用webview 嵌套 vue 项目

25 人参与  2024年09月14日 18:41  分类 : 《关于电脑》  评论

点击全文阅读


uniapp小程序使用webview 嵌套 vue 项目

小程序中发送

<web-view :src="urlSrc" @message="handleMessage"></web-view>export default {data() {return {urlSrc: "",};},onLoad(options) {// 我需要的参数比较多 所以比较臃肿// 获取用户信息 根据自己需要let userInfor = uni.getStorageSync("userInfor") || ''// web-view urlthis.urlSrc = "https://xxxxxxxx.com/#/viewsEdit?key=" + options.id + "&srcurl=viewsEdit" +"&token=" + uni.getStorageSync('token') + "&wxopenid=" + uni.getStorageSync('wxopenid') + '&phone=' + userInfor.mobilePhone + "&name=" + userInfor.nickName + "&surveyId=" + options.ids}}

vue中接收参数

// index.html 中引入    <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
 // App.vue中<template>  <div id="app">    <RouterView v-if="isRouterAlive" />  </div></template><script>export default {  mounted() {  // 主要代码 开始    let that = this    console.log(window.location, 'this.$router.query')     // 获取url 中的参数        let datas = that.getUrlParams(window.location.href)      if (datas.token) {      // 保存token        that.$store          .dispatch('user/login', {            token: 'bearer' + datas.token,            ...datas          })          .then(() => {            // 登录成功后路由跳回            that.$router.replace({              path: '/viewsEdit',              query: {                key: datas.key,                wxopenid:datas.wxopenid,                phone:datas.phone,                name:datas.name,                surveyId:datas.surveyId,              }            })          })  },  methods: {    getUrlParams(url) {      const params = {}      const reg = /([^?&=]+)=([^&]*)/g      url.replace(reg, (match, key, value) => {        params[decodeURIComponent(key)] = decodeURIComponent(value)      })      return params    },  }}</script>
// 使用uni提供的webview.js插件跳转小程序的页面npm i uni-webview-lib 

vue发送消息给uniapp

//   viewsEdit.vue<template>  <div @click="submitForm">去小程序</div></template><script>import {  createFormResultRequest,} from '@/api/project/data'import uni from 'uni-webview-lib'export default {  methods: {    submitForm() {      createFormResultRequest().then((res) => {        const message = '参数'        uni.reLaunch({          // 带上需要传递的参数          url: `/subFishingBay/pages/palaceDraw/luckdraw?message=${message}&id=${res.data.id}`        })        this.msgSuccess('添加成功')      })    }  }}</script>

小程序中接收数据

 // 在上面跳转的页面  /subFishingBay/pages/palaceDraw/luckdraw // luckdraw.vueonLoad(options) { console.log(options,'这里是传过来的参数')},

搞定!


点击全文阅读


本文链接:http://zhangshiyu.com/post/160006.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1