uniapp App跳转微信小程序并互相传递参数、接收微信小程序传递的参数

1、App端跳转微信小程序(注意id一定是小程序的原始ID,在小程序后台设置-基本设置里可以看到)

注意:与微信小程序跳转微信小程序不同,App端不支持 uni.navigateToMiniProgram,App平台打开微信小程序,需要使用plus.share的 launchMiniProgram

javascript 复制代码
// App端跳转微信小程序
const appJumpMiniPro = () => {
    // 获取分享服务列表
    plus.share.getServices(
        res => {
            let sweixin: any = '';
            for (var i = 0; i < res.length; i++) {
                let t: any = res[i];
                if (t.id == 'weixin') {
                    sweixin = t;
                }
            }
            if (sweixin) {
                sweixin.launchMiniProgram(
                    {
                        id: 'gh_11af7705af70',  // 要跳转小程序的原始ID
                        path: ``,  //  可带参数
                        type: 2   // 微信小程序版本类型可取值: 0-正式版; 1-测试版; 2-体验版。 默认值为0。
                    },
                    // 目标小程序点击返回App后执行的回调,在此接收微信小程序传递的参数
                    (res2: any) => {
                        console.log(typeof res2, res2)
                        // res2是微信小程序传递回来的参数 类型为string 需转化为js对象使用
                        let result = JSON.parse(res2)
                        console.log(result)
                        // 拿到参数后执行你需要的逻辑
                    },
                    (err2: any) => {
                        console.log(err2)
                    }
                );
            }
            else {
                uni.showToast({ icon: 'none', title: '当前环境不支持微信操作!' })
            }
        },
        err => {
            console.log(err)
        }
    )
}

2、微信小程序端返回App端

下面的代码基于微信小程序也是uniapp开发的,原生的写法稍微有点不一样,详情见:打开 App | 微信开放文档

javascript 复制代码
<template>
  <view class="page-container">
    <view class="">移动应用:{{appName}}</view>
    <button class="bottom" open-type="launchApp" :app-parameter="JSON.stringify(form)" @error="launchAppError">返回APP</button>
  </view>
</template>
 
<script>
export default {
  data() {
    return {
      appName: '',
      form: {
        cid: 4408111111111,
        libs: ['北京','上海']
      }
    }
  },
  onLoad(option) {
    console.log(option)
    this.appName = option.appName
  },
  methods: {
    launchAppError(e) {
      console.log(e.detail)
      uni.showToast({icon:'none', title:e.detail.errMsg})
    }
  }
}
</script>
相关推荐
2501_9335090728 分钟前
无锡制造企税惠防错指南:知了问账帮守政策红利线
大数据·人工智能·微信小程序
汤姆yu3 小时前
基于微信小程序的智慧社区娱乐服务管理平台
微信小程序·娱乐
2501_915909064 小时前
Flutter 应用怎么加固,多工具组合的工程化实战(Flutter 加固/Dart 混淆/IPA 成品加固/Ipa Guard + CI)
android·flutter·ios·ci/cd·小程序·uni-app·iphone
千寻技术帮6 小时前
50013_基于微信小程序的校园志愿者系统
mysql·微信小程序·springboot·文档·ppt
xiaaaa.z7 小时前
macos HbuildX 使用cli脚本创建uniapp 运行时报错“cli项目运行依赖本地的Nodejs环境,请先安装并配置到系统环境变量后重试。”
macos·uni-app
2501_915909067 小时前
深入理解HTTPS和HTTP的区别、工作原理及安全重要性
安全·http·ios·小程序·https·uni-app·iphone
汤姆yu8 小时前
基于微信小程序的民宿预定系统
微信小程序·小程序·民宿预定
小小王app小程序开发9 小时前
淘宝扭蛋机小程序:电商娱乐化赛道的机遇挖掘与风险防控
小程序·娱乐
说私域9 小时前
基于开源AI智能名片链动2+1模式与S2B2C商城小程序的商家活动策略研究
人工智能·小程序
低代码布道师9 小时前
医疗小程序07设置默认卡
低代码·小程序