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

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

官方示例代码:

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

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

apicloud App端代码:

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

 <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

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

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

收藏 打印