uniapp 小程序 使用 webview 跳转外部链接 h5 decodeURIComponent 和 encodeURIComponent 加密 解密

创建一个页面    并且设置好路由

我使用了  decodeURIComponent   和   encodeURIComponent   对参数进行加密和解密

为什么要使用 加密 和解密?

我有遇到过  应该是参数里面存在2个问号  然后导致id  数据  丢失 然后打不开页面了

<template>
  <view>
    <web-view
      :src="externalURL"
      :fullscreen="false"
      :webview-styles="webviewStyles"
    ></web-view>
  </view>
</template>

<script>
export default {
  onLoad (options) {
    // console.log('options', options)
    this.externalURL = decodeURIComponent(options.externalURL)
  },

  data () {
    return {
      externalURL: '',
      webviewStyles: {
        height: '200px'
      }
    }
  }
}
</script>

<style lang="scss" scoped></style>
    {
      "path": "pages/webview",
      "style": {
        "navigationBarTitleText": "",
        "enablePullDownRefresh": false
      }
    }

页面跳转

        const res1 = await fadadaUserGetAuthUrl({
          redirectUrl: '/pages-fba/FbaOrder'
        })
        url = encodeURIComponent(res1.data)
        uni.navigateTo({
          url: `/pages/webview?externalURL=${url}`
        })

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在h5页面中,可以使用微信小程序提供的API:wx.navigateToMiniProgram,来到其他小程序页面。具体实现步骤如下: 1. 在h5页面中,引入微信小程序js-sdk: ```html <script src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script> ``` 2. 在h5页面中,调用wx.config方法,配置微信小程序口权限: ```javascript wx.config({ debug: false, appId: '小程序的AppID', timestamp: '生成签名的时间戳', nonceStr: '生成签名的随机串', signature: '签名', jsApiList: ['navigateToMiniProgram'] // 需要使用口 }); ``` 其中,appId需要替换成你的小程序的AppID,timestamp、nonceStr、signature需要根据微信小程序提供的规则生成,具体可参考微信小程序开发文档。 3. 在h5页面中,调用wx.navigateToMiniProgram方法,到其他小程序页面: ```javascript wx.navigateToMiniProgram({ appId: '目标小程序的AppID', path: '目标小程序页面的路径', extraData: {}, // 传递给目标小程序的数据 success(res) { // 成功的回调函数 }, fail(res) { // 失败的回调函数 } }); ``` 其中,appId需要替换成目标小程序的AppID,path需要替换成目标小程序页面的路径,extraData可以传递一些数据到目标小程序中,在目标小程序中可以通过wx.getLaunchOptionsSync方法获取到这些数据。 4. 在目标小程序中,收extraData传递的数据: ```javascript const app = getApp() Page({ onLoad(options) { console.log(options) console.log(app.globalData.extraData) } }) ``` 在onLoad方法中,可以通过options对象获取到extraData传递过来的数据,也可以通过getApp().globalData获取全局数据。注意,extraData只有在目标小程序中定义了相应的全局变量才能获取到。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值