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 相关文章推荐
javascript 遍历验证所有文本框的值
Aug 27 Javascript
js 实现无干扰阴影效果 简单好用(附文件下载)
Dec 27 Javascript
无阻塞加载脚本分析[全]
Jan 20 Javascript
jquery 插件学习(三)
Aug 06 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
Apr 26 Javascript
jquery可定制的在线UEditor编辑器
Nov 17 Javascript
jQuery Mobile框架中的表单组件基础使用教程
May 17 Javascript
第九篇Bootstrap导航菜单创建步骤详解
Jun 21 Javascript
js定时器实例分享
Dec 20 Javascript
vue.js 子组件无法获取父组件store值的解决方式
Nov 08 Javascript
基于Web Audio API实现音频可视化效果
Jun 12 Javascript
vue - props 声明数组和对象操作
Jul 30 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中使用url传递数组的方法
2015/02/11 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
有关js的变量作用域和this指针的讨论
2010/12/16 Javascript
js 利用className得到对象的实现代码
2011/11/15 Javascript
ExtJs中gridpanel分组后组名排序实例代码
2013/12/02 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
BooStrap对导航条的改造实践小结
2016/09/21 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
es6中的解构赋值、扩展运算符和rest参数使用详解
2017/09/28 Javascript
基于wordpress的ajax写法详解
2018/01/02 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
2018/03/13 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
小程序如何定位所在城市及发起周边搜索
2020/02/11 Javascript
详解JavaScript作用域 闭包
2020/07/29 Javascript
vue设置默认首页的操作
2020/08/12 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
[55:25]VGJ.T vs Optic Supermajor小组赛D组 BO3 第三场 6.3
2018/06/04 DOTA
[56:57]LGD vs VP 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第一场 8.20.mp4
2019/08/22 DOTA
解决python使用open打开文件中文乱码的问题
2017/12/29 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
3种python调用其他脚本的方法
2020/01/06 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
Python 在局部变量域中执行代码
2020/08/07 Python
CSS3关于z-index不生效问题的解决
2020/02/19 HTML / CSS
任命书怎么写
2014/06/04 职场文书
小学师德师风整改措施
2014/10/27 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
《自己去吧》教学反思
2016/02/16 职场文书
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android