使用
wx.launchMiniProgram({
appId:"wxc708236add8cf9bb",
userName:"gh_e57764e1e6ba",
path:"",
miniprogramType:0
});
wx.js
function launchMiniProgram(obj){
var siteinfo = weex.requireModule('siteinfo');
//miniprogramType
//0表示正式版,1表示开发版,2表示体验版
var data = {
appId:obj.appId,
userName:obj.userName,
path:obj.path,
miniprogramType:obj.miniprogramType != undefined ? obj.miniprogramType : 0
}
var result = siteinfo.launchMiniProgram(data);
if(result == "ok"){
if(obj.success){
obj.success();
}
}else{
if(obj.fail){
obj.fail(result);
}
}
}
android
升级微信SDK包
nexus/nexus/build.gradle
compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
// compile files('libs/libammsdk.jar')
com/zhy1127/app/wxapi/WXEntryActivity.java
//加入到public void onResp(BaseResp baseResp)
if (baseResp.getType() == 19) {
WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) baseResp;
String extraData =launchMiniProResp.extMsg; //对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性
}
com/benmu/pluginsimple/ErosPluginSimple.java
@JSMethod(uiThread = true)
public String launchMiniProgram(String params){
try {
JSONObject obj = new JSONObject(params);
String appId = obj.getString("appId");
String userName = obj.getString("userName");
String path = obj.getString("path");
int miniprogramType = obj.getInt("miniprogramType");
// String appId = "wxc708236add8cf9bb"; // 填应用AppId
IWXAPI api = WXAPIFactory.createWXAPI(mWXSDKInstance.getContext(), appId);
WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = userName; // 填小程序原始id
req.path =path; ////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
switch (miniprogramType){
case 0:{
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;//正式版
break;
}
case 1:{
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_TEST;// 开发版
break;
}
case 2:{
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW;// 体验版
break;
}
}
api.sendReq(req);
return "ok";
} catch (Throwable t) {
return "请求参数出错";
}
}