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 相关文章推荐
学习ExtJS(一) 之基础前提
Oct 07 Javascript
jquery按回车提交数据的代码示例
Nov 05 Javascript
jQuery截取指定长度字符串的实现原理及代码
Jul 01 Javascript
JavaScript不刷新实现浏览器的前进后退功能
Nov 05 Javascript
jquery制作 随机弹跳的小球特效
Feb 01 Javascript
jquery.validate使用时遇到的问题
May 25 Javascript
简单谈谈JS数组中的indexOf方法
Oct 13 Javascript
Express + Node.js实现登录拦截器的实例代码
Jul 01 Javascript
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
详解jQuery-each()方法
Mar 13 jQuery
Vue实现PC端靠边悬浮球的代码
May 09 Javascript
Paypal支付不完全指北
Jun 04 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小技巧之JS和CSS优化工具Minify的使用方法
2014/05/19 PHP
php一维二维数组键排序方法实例总结
2014/11/13 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
flash 得到自身url参数的代码
2009/11/15 Javascript
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
2015/01/09 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
jQuery给多个不同元素添加class样式的方法
2015/03/26 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
点击页面任何位置隐藏div的实现方法
2016/09/05 Javascript
Angular2学习笔记——详解路由器模型(Router)
2016/12/02 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
Python max内置函数详细介绍
2016/11/17 Python
python批量图片处理简单示例
2019/08/06 Python
python numpy--数组的组合和分割实例
2020/02/24 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
Matplotlib中rcParams使用方法
2021/01/05 Python
老师的检讨书
2014/02/23 职场文书
我的求职择业计划书
2014/04/04 职场文书
初三学习计划书范文
2014/04/30 职场文书
2014年超市工作总结
2014/11/19 职场文书
西双版纳导游词
2015/02/03 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
SpringCloud Alibaba 基本开发框架搭建过程
2021/06/13 Java/Android