uniapp写的安卓版本的App跳转到小程序,在小程序内执行一定操作后再次返回到App内
发表时间:2020-10-21
发布人:葵宇科技
浏览次数:203
最近开发一款App和小程序,先做完的小程序,然后又开发了基本上相同类型的App。 客户要求,App和小程序的数据打通,用户可以在App注册后,在小程序内可以直接登录,使用。然后在小程序内进行授权登录过的用户,在App内注册后,可以直接同步自己已经有的数据。
前提:
App移动应用和小程序是绑定在同一个移动开放平台下面的。
关于移动开放平台的这块,我就不细说了,网上也有很多关于这方面的文档。
1.在APP内跳转到小程序,找了官方文档,
https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Share_and_Favorites/Android.html
下面是官方文档给出的 分享为小程序代码
:
WXMiniProgramObject miniProgramObj = new WXMiniProgramObject();
miniProgramObj.webpageUrl = "http://www.qq.com"; // 兼容低版本的网页链接
miniProgramObj.miniprogramType = WXMiniProgramObject.MINIPTOGRAM_TYPE_RELEASE;// 正式版:0,测试版:1,体验版:2
miniProgramObj.userName = "gh_d43f693ca31f"; // 小程序原始id
miniProgramObj.path = "/pages/media"; //小程序页面路径;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"
WXMediaMessage msg = new WXMediaMessage(miniProgramObj);
msg.title = "小程序消息Title"; // 小程序消息title
msg.description = "小程序消息Desc"; // 小程序消息desc
msg.thumbData = getThumb(); // 小程序消息封面图片,小于128k
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("miniProgram");
req.message = msg;
req.scene = SendMessageToWX.Req.WXSceneSession; // 目前只支持会话
api.sendReq(req);
//
//>getPlus() {
//获取当前显示的webview
var pages = getCurrentPages()
var page = pages[pages.length - 1]
var currentWebview = page.$getAppWebview()
//调用H5+APP的扩展API
var shares = null;
let that = this
var pusher = plus.share.getServices(function(s) {
shares = {};
for (var i in s) {
var t = s[i];
shares[t.id] = t;
}
that.sweixin = shares['weixin'];
}, function(e) {
console.log("获取分享服务列表失败:" + e.message);
});
//放入当前的webview
currentWebview.append(pusher);
},
//前往小程序的函数
//前往小程序
checkWeChat() {
//调用微信小程序
let token = uni.getStorageSync('token');
this.sweixin.launchMiniProgram({
id: 'gh_b00000000', //要跳转小程序的原始ID,不是appid
path: 'pages/gereninfo_shouquan/gereninfo_shouquan?apptoken=' + token, //可以传递参数待在path后面
type: 0 //0是正式版 1是开发版,2是体验版
})
},
``
下面进入小程序之后, 怎么在小程序返回APP
。
// 在小程序跳转页面>onLoad(params) {
this.apptoken = params.apptoken
},
//返回app,是直接用button open-type="launchAPP"
<button type="" class="phonebtn" open-type="launchApp" app-parameter="wechat" @error="launchAppfail()">确定</button>
//返回的函数
//返回app
BackApp(e) {
uni.showModal({
title: '返回成功',
})
wx.navigateBackApplication({
})
}
//其实最后的这块我是看别人的来写的,可以在安卓手机里面实现返回App,但是,我总是感觉还是有问题的。希望有知道的,可以帮忙给看一下我写的对不对。 ios目前我们还没有打包测试,可能会有一些兼容性的问