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 相关文章推荐
Js 本页面传值实现代码
May 17 Javascript
javascript学习(一)构建自己的JS库
Jan 02 Javascript
jQuery实现多按钮单击变色
Nov 27 Javascript
js实现简易垂直滚动条
Feb 22 Javascript
基于JavaScript实现前端数据多条件筛选功能
Aug 19 Javascript
Vue 指令实现按钮级别权限管理功能
Apr 23 Javascript
使用vue自定义指令开发表单验证插件validate.js
May 23 Javascript
js 将线性数据转为树形的示例代码
May 28 Javascript
浅析Vue 防抖与节流的使用
Nov 14 Javascript
JS实现TITLE悬停长久显示效果完整示例
Feb 11 Javascript
Array.filter中如何正确使用Async
Nov 04 Javascript
解决vue项目中出现Invalid Host header的问题
Nov 17 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遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
php实现插入排序
2015/03/29 PHP
php获取当前月与上个月月初及月末时间戳的方法
2016/12/05 PHP
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
js简单正则验证汉字英文及下划线的方法
2016/11/28 Javascript
Angular.js中定时器循环的3种方法总结
2017/04/27 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
2017/09/14 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
JS函数内部属性之arguments和this实例解析
2018/10/07 Javascript
[01:05:40]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第三场
2014/05/24 DOTA
bpython 功能强大的Python shell
2016/02/16 Python
Python使用gensim计算文档相似性
2016/04/10 Python
Python 类的继承实例详解
2017/03/25 Python
pandas按若干个列的组合条件筛选数据的方法
2018/04/11 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
详解python websocket获取实时数据的几种常见链接方式
2019/07/01 Python
python实现微信自动回复及批量添加好友功能
2019/07/03 Python
详解python中index()、find()方法
2019/08/29 Python
torch 中各种图像格式转换的实现方法
2019/12/26 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
社区精神文明建设汇报材料
2014/08/17 职场文书
2015年资料员工作总结
2015/04/25 职场文书
2016年万圣节活动总结
2016/04/05 职场文书
python3 字符串str和bytes相互转换
2022/03/23 Python
详解如何使用Nginx解决跨域问题
2022/05/06 Servers