前端优化: 跳转网址可以直接打开
简单分析可以进行测试为,分享出去的卡片,均可以通过直接打开(请务必测试结果是否登录,神坑)。
这里牵扯到两个问题。
页面渲染逻辑
query 所携带的参数
组件内 URL 问题
第一个问题会牵扯到后端接口下发的内容,比如这样的场景:
后端发布一个数据列表,不管出于什么原因,列表包含了单击列表的所有细节,然后共享这些细节。这种情况基本上就是一个分享炸弹,微信小程序天然的页面爬虫也是一个 gg。在这种情况下,你需要优化前端和后端,分离 xdetail 接口,通过 id 获取细节等等,并确保共享页面接口设置好了,这样你就不用登录了。
然后就是这个 id 之类的东西如何带进去,这就是第二个问题。
有时候我们可能会出现因为对于一些具有特殊原因在 localStorage 或干脆没有直接挂在 getApp() 实例内存上,临时储存上个页面的 key,然后下个页面设计出来后在 onLoad 中拿这个 key 去使用。如果你有这个系统操作能力或者社会历史文化遗留环境问题,务必将其发展放在下个页面的 path 上,挂载在 query 后面。原因之一就是网络爬虫技术不会从上页面给你带内存管理数据,更不会为了验证本地缓存内容是否合理有效。
第三个问题也很常见,因为一个小程序 seo 可以使用 navigator 是用来导航的,而且很有可能 nav 的功能封装在一个组件中,比如卡片类组件,它本身就是一个视图(记住要更改为 navigator)和其他元素。后面可能跟着一个路径,这个路径是在 bindtap 之后从组件所携带的项计算出来的,而 item 是父页面所携带的接口列表元素。如果发生这种情况,首先用导航器替换组件的根视图,删除 bindtap 和相应的事件,并编写 itemnavigator 的 url 属性。Url (或类似的内容) ,然后再执行一个步骤,其中父页面获取列表,将列表传递给 map,或者使用 url 传递给 list 元素,在这里 url 将直接计算。