微擎模块使用VUE开发解决JSSDK回调问题

微擎模块开发过程中,为了提高用户体验,我们团队都是使用VUE进行开发,当使用JSSDK分享、扫码、支付时回调地址是最为头疼的一件事情。回调地址微信会自动清楚 /#/ 的内容,永远都是来到VUE路由的首页。这里有同学会说使用 history 路由模式,当前这是一种解决方法,不过是要建立在VUE独立部署域名的情况下,这里讨论是在微擎模块下,当然适用于各种已有路由不能使用history 路由模式的情况。

两种解决方案:

    使用NGINX正则转发:(别人买我的模块不可能去配置NGINX不科学)

    使用PHP转发 (建议使用)


模块入口路由:

https://localhost/app/index.php?i=1&c=entry&do=index&m=app

(这个路由是直接渲染VUE模板)

https://localhost/app/index.php?i=1&c=entry&do=index&m=app/#/home

(VUE实际路由)


我们只需要在https://localhost/app/index.php?i=1&c=entry&do=index&m=app (index.inc.php)中加入以下代码使用转发,在有回调的地方把回调URL写成https://localhost/app/index.php?i=1&c=entry&do=index&m=app&vue_router_callback=home,就可以解决!

~~~

/** 解决fastadmin登录回调、微信各种回调时清楚vue路由 */if($_GPC['vue_router_callback'])

{

    header('Location:https://localhost/app/index.php?i=1&c=entry&do=index&m=app/#/'.$_GPC['vue_router_callback']);

}

~~~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。