收藏
回答

ios公众号跳转小程序无反应,Android都ok

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug iOS 12.1 ihponeXs 6.7.4

- 当前 Bug 的表现(可附上截图)




- 预期表现





- 复现路径

公众号:

郑州大学第五附属医院



- 提供一个最简复现 Demo

公众号:

郑州大学第五附属医院


回答关注问题邀请回答
收藏

3 个回答

  • HS
    HS
    2018-11-27

    如果不带任何 query 是否可以成功?

    2018-11-27
    有用
    回复 1
    • 2018-11-27

      应该跟代码没关系了的,上周的时候我在自家公众号设置时是有问题的。昨天我在自己公众号看了ios和android都能打开了。现在还存在的问题是客户的公众号上面的菜单会有这个ios点击无效的问题,已经协商让客户公众号重新设置一次了看是否能解决。

      2018-11-27
      回复
  • 2018-11-23


    根据options 也就是路径后面的url来设置webview的路径

    2018-11-23
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2018-11-22

    问题解决了吗?具体要怎么复现?

    2018-11-22
    有用
    回复 11
    • 2018-11-23

      没有解决,

      代码上来讲,这是webview里嵌套的一个 h5链接,在小程序路径里后加上了webview的url路径(pages/map/mapView?url=https%3A%2F%2Fhis.ipalmap.com%2Fsend-template-v3%2Fv3.1%2Findex.html%23%2Fsearch%3Fname%3Dzhengzhoudaxuedierfushuyiyuanz)。然后把webview页面的小程序路径配置在公众号的菜单上。 操作上来讲,郑州大学第五附属医院的公众号导航里门诊导航就是这样的。

      2018-11-23
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2018-11-23回复

      其实就是webview的链接跳转问题是么?给下完整的代码片段

      2018-11-23
      回复
    • 2018-11-26回复疯狂的小辣椒

      上面楼里回复的有代码片段了。就是webview的链接跳转问题

      2018-11-26
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2018-11-26回复

      这个链接不可以哦https%3A%2F%2Fhis.ipalmap.com%2Fsend-template-v3%2Fv3.1%2Findex.html%23%2Fsearch%3Fname%3Dzhengzhoudaxuedierfushuyiyuanz

      2018-11-26
      回复
    • 2018-11-26回复疯狂的小辣椒

      /**

          * 生命周期函数--监听页面加载

          */

      onLoad: function (options) {

      let _openId, _userInfo;

      this._options = options;

      const { url, buildId } = options;

      const info = app.globalData.userInfo;

      const openId = app.globalData.openid;

      if (!info || !openId) {

      wx.navigateTo({

      url: `../getUserInfo/getUserInfo?url=${url}&buildId=${buildId}`,

      })

      } else {

      console.log(url);

      this.setUrl(url, info, openId, buildId)

      }

      },


      setUrl: function (url, _userInfo, _openId, buildId) {

      let dataUrl = decodeURIComponent(url);

      let token = buildId ? buildId.slice(0, 4) : '';

      if (dataUrl.indexOf('?') !== -1) {

      if (_userInfo) {

      dataUrl = `${dataUrl}&openId=${_openId}&token=${token}&wxHeader=${_userInfo.avatarUrl}`;

      } else {

      dataUrl = `${dataUrl}&openId=${_openId}&token=${token}`;

      }

      } else {

      if (_userInfo) {

      dataUrl = `${dataUrl}?openId=${_openId}&token=${token}&wxHeader=${_userInfo.avatarUrl}`;

      } else {

      dataUrl = `${dataUrl}?openId=${_openId}&token=${token}`;

      }

      }

      // console.log(dataUrl);

      this.setData({

      url: dataUrl,

      });

      },

      这个是设置web-view url的页面代码。 上面代码有个判断跳转授权页面,做的是授权后携带者url再转回这个页面。

      onLoad: function (options) {

      const { url, buildId } = options;

      this.url = url;

      this.buildId = buildId;

      // console.log(url);

      },


      toMapView() {

      const [url, buildId] = [this.url, this.buildId];

      if (url) {

      wx.reLaunch({

      url: `../map/mapView?url=${url}&buildId=${buildId}`,

      });

      } else {

      wx.navigateBack({

      delta: 1,

      });

      }

      },


      onGotUserInfo: function (e){

      // console.log(e.detail.errMsg)

      // console.log(e.detail.userInfo)

      // console.log(e.detail.rawData);

      if (e.detail.userInfo) {

      app.globalData.userInfo = e.detail.userInfo;

      if (!app.globalData.openid) {

      wx.login({

      success: (res) => {

      const { code } = res;

      // 获取openid

      api.queryOpenId(code).then((res) => {

      const { openid } = res.data;

      app.globalData.openid = openid;

      this.toMapView();

      }, (err) => {

      wx.showToast({

      title: '获取openId失败, 请退出后重进',

      });

      })

      }

      })

      } else {

      this.toMapView();

      }

      }

      },


      2018-11-26
      回复
    查看更多(6)
登录 后发表内容