微信分享链接参数丢失该怎么办?

作者:微微号 点击:7 发布时间:2021-09-15

  最近有人发现,微信分享链接参数丢失了,这是为什么呢?有说法是官方为了显示美观,做了自动缩减与重新编码。那么怎样才能找回微信分享链接参数?当项目慢慢做大,内容和业务越来越多的时候,我们都会涉及到多界面之间的参数传递。要如何才能做好这样的参数呢?今天小编就带大家来学习一下。

  简要的说明一下几种比较常用的分享链接参数传递方式。

  1、通过route传递

  这种方法是在新建tabs类型的ionic项目中就使用到的。

  在route中定义了,进入页面的路由接收参数

  

  在界面中传递参数

  

  或者在controller中使用代码传递参数

  $state.go('game-detail',{gameId:gameId})

  都可是实现从A界面向B界面传递一个字符串类型的数据,同样的方法:/xxxx:/xxxx:/xxx就可以实现向B界面传递多个字符串参数。

  优点是代码简单,传递数据通过分享链接返回,数据不会丢失。

  缺点是将数据放到url地址中,使得访问地址过长。若传递多个参数。在微信分享地址放回是可能导致重定向地址错误。

  切忌使用这个方法传递对象,虽然可以实现,但是会有一个非常长的url地址。

  2、通过$rootScope传递参数

  这个更简单点,在A、B界面中注入$rootScope,在A界面使用$rootScope.data={xxx:xxx}||"xxxx".在B界面直接使用$rootScope.data

  优点是使用便捷,高效快速,不止能传递字符串还能传递对象。在需要传递较大数据量时,挺好用的。

  缺点是代码随意,不规范,到处都是全局变量不好维护,数据常驻内存占用空间。数据保存在本地通过分享链接返回数据丢失。

  这个方法不止可以用来传递参数,活用于公共业务和公共模块的处理,也非常好用。

  但是切忌过于依赖,这个技巧,不然把大量的代码写在run中,会影响项目的启动。

  比如通用的loading,可以写在这里,只要项目启动了这两个模块就加载了。

  

  然后再需要的地方$rootScope.$broadcast('loading:show');就可以了。同样的在这里定义$rootScope.fun = func(),也可在全局调用$rootScope.fun()

  注意切忌把太多的业务放在这里,后期代码调整和业务修改,真的很悲催。

  3、通过service传递和方法2差不多,就是需要多谢一下代码,优缺点也类似。但是比方法2更加的规范,符合angularjs的设计规范,

  不在controller中处理业务,而是交由服务处理。就是A界面引用C服务的setData,B界面引用C服务的getData。

  最好的方法,忘记说了,通过route传递一个key,然后需要服务端配合。通过这个key去获取整个对象数据,这样子,不管是分享回来没数据还是url过长,都可以决解

  这些方法是否对你有帮助?遇到微信分享链接参数丢失再也不要着急了,更多微信分享链接参数设置请关注微微号,为你带来各种微信公众号功能技巧。

  相关阅读:

  微信小程序分享参数的三种模式

  微信如何生成带参数的二维码?

  小程序url参数获得方法是什么?

我们是一家专业提供公众号交易、公众号迁移、公众号增粉、公众号买卖交易的平台,如果您有这方面的需求,。有任何疑问,可以 【立即咨询】 我们平台的客服或者添加微信号 【19180581726】 。此文章来源于网络,如有侵权,请联系删除

标签:

资金保障

提供买卖双方资金担保交易
更放心

法律保障

交易签订具有法律效益合同
提供法律支持

急速退款

专属资金通道,快速拿到
钱款

全资公司

全资控股公司,大平台交易
有保障

服务优质

3500+专业团队,为您提供24
小时一对一贴心服务