uniapp写的安卓版本的App跳转到小程序,在小程序内执行一定操作后再次返回到App内

it2023-02-08  75

最近开发一款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); // // onLoad中执行的函数 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中接收传递的参数 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目前我们还没有打包测试,可能会有一些兼容性的问

最新回复(0)