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 相关文章推荐
jquery.AutoComplete.js中文修正版(支持firefox)
Apr 09 Javascript
Dom操作之兼容技巧分享
Sep 20 Javascript
防止xss和sql注入:JS特殊字符过滤正则
Apr 18 Javascript
javascript中RegExp保留小数点后几位数的方法分享
Aug 13 Javascript
Javascript中的数据类型之旅
Oct 18 Javascript
webpack教程之webpack.config.js配置文件
Jul 05 Javascript
对于js垃圾回收机制的理解
Sep 14 Javascript
详解node nvm进行node多版本管理
Oct 21 Javascript
vue实现的上拉加载更多数据/分页功能示例
May 25 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
Nov 20 Javascript
小程序使用分包的示例代码
Mar 23 Javascript
关于vue中如何监听数组变化
Apr 28 Vue.js
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 替换模板变量实现步骤
2009/08/24 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
Laravel中的Auth模块详解
2017/08/17 PHP
页面装载js及性能分析方法介绍
2014/03/21 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
使用jsonp完美解决跨域问题
2014/11/27 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
2015/08/04 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
2017/05/18 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
NodeJS和浏览器中this关键字的不同之处
2021/03/03 NodeJs
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
[00:02]DOTA2新版本使用PA至宝后暴击展示
2014/11/19 DOTA
用Python登录好友QQ空间点赞的示例代码
2017/11/04 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
2020/02/03 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
智乐游戏测试笔试题
2014/05/21 面试题
经典的毕业生自荐信范文
2014/04/14 职场文书
捐助贫困学生倡议书
2014/05/16 职场文书
2014超市收银员工作总结
2014/11/13 职场文书
初二学生评语大全
2014/12/26 职场文书
校友回访母校寄语
2015/02/26 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书
《围炉夜话》110句人生箴言,精辟有内涵,引人深思
2019/10/23 职场文书
详解Java实践之适配器模式
2021/06/18 Java/Android