apicloud拉起小程序并传递参数的方法示例


Posted in Javascript onNovember 21, 2018

最近工作中遇到一个需求:App拉起微信小程序。App是用APICloud开发的。查阅APICloud文档发现 端API->开放SDK->wx模块下有launchMiniProgram方法可以实现官方文档

于是在项目中添加wx模块。

官方示例代码:

var wx = api.require('wx');
wx.launchMiniProgram({
  apiKey: '', // 字符串,微信开放平台获取的appid, 不传则从当前widget的config.xml中读取
  miniProgramType: 'test', // 字符串,['test', 'preview', 'release'](开发版,体验版,正式版)默认test
  userName: '', // 字符串,小程序的原始ID
  path: '', // 字符串,拉起小程序页面的可带参数路径,不填默认拉起小程序首页
}, function(ret, err) {
  if (ret.status) {
    alert('成功');
  } else {
    alert(err.code);
  }
});

按照官方文档配置发现只能跳转到微信,不能拉起小程序。

apicloud App端代码:

config.xml文件小程序有关配置如下:

<feature name="wx">
  <param name="urlScheme" value="wx1007b2********68"/>
  <param name="apiKey" value="wx1007b2********68"/>
  <param name="apiSecret" value="3******67176****39244b********25"/>
 </feature>

拉起小程序相关代码:

function launchMini () {
  var wx = api.require('wx')
  wx.launchMiniProgram({
    // apiKey: '', // 不知道是因为配置文件中已经配置过了还是什么原因,带上该项参数仅能打开微信,无法拉起小程序,注释后成功拉起小程序
    miniProgramType: 'preview',
    userName: 'gh_******',
    path: 'pages/index/index?from=app666' // 传递参数from 值为 app666
  }, function(ret, err) {
    if (ret.status) {
      alert('成功')
    } else {
      alert(err.code)
    }
  }
}

小程序端代码:

index.js

onLoad: function (options) {
  console.log(options)
  console.log(options.from) // 'app666'
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
20分钟打造属于你的Bootstrap站点
Jul 27 Javascript
canvas实现图像放大镜
Feb 06 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
Feb 22 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
Sep 19 jQuery
Angular4学习教程之DOM属性绑定详解
Jan 04 Javascript
详解Koa中更方便简单发送响应的方式
Jul 20 Javascript
详解关于vue2.0工程发布上线操作步骤
Sep 27 Javascript
原生js实现Flappy Bird小游戏
Dec 24 Javascript
vue轻量级框架无法获取到vue对象解决方法
May 12 Javascript
微信小程序渲染性能调优小结
Jul 30 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
May 14 Javascript
JavaScript函数柯里化
Nov 07 Javascript
vue中组件的过渡动画及实现代码
Nov 21 #Javascript
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
Nov 21 #Javascript
Nuxt.js之自动路由原理的实现方法
Nov 21 #Javascript
nuxt.js中间件实现拦截权限判断的方法
Nov 21 #Javascript
Nuxt.js SSR与权限验证的实现
Nov 21 #Javascript
详解nuxt路由鉴权(express模板)
Nov 21 #Javascript
使用vue-cli webpack 快速搭建项目的代码
Nov 21 #Javascript
You might like
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
php生成唯一的订单函数分享
2015/02/02 PHP
CI框架的安全性分析
2016/05/18 PHP
使用laravel和ECharts实现折线图效果的例子
2019/10/09 PHP
利用404错误页面实现UrlRewrite的实现代码
2008/08/20 Javascript
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
IE6下JS动态设置图片src地址问题
2010/01/08 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
2016/05/21 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
JS检索下拉列表框中被选项目的索引号(selectedIndex)
2019/12/17 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
vue使用element-ui实现表单验证
2020/12/13 Vue.js
在nodejs中创建child process的方法
2021/01/26 NodeJs
[57:59]EG vs Secret 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Python os模块介绍
2014/11/30 Python
Python中exit、return、sys.exit()等使用实例和区别
2015/05/28 Python
python读写ini配置文件方法实例分析
2015/06/30 Python
python查看zip包中文件及大小的方法
2015/07/09 Python
Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
2017/09/26 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
Django基础知识 URL路由系统详解
2019/07/18 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
激光脱毛、蓝光和护肤:Tria Beauty
2019/03/28 全球购物
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
自动化专业个人求职信范文
2013/11/29 职场文书
2015年除四害工作总结
2015/07/23 职场文书
三好学生评选事迹材料(2016精选版)
2016/02/25 职场文书