注意:此方法仅为我的总结,并不是惟一解决方案
vue路由模式 history 模式,有两点好处html
微信官方说明以下前端
全部须要使用JS-SDK的页面必须先注入配置信息,不然将没法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,目前Android微信客户端不支持pushState的H5新特性,因此使用pushState来实现web app的页面会致使签名失败,此问题会在Android6.2中修复)由此可知,对于vue等SPA应用,Android和IOS 要作不一样的处理了vue
通过反复测试实验,发现如下问题nginx
至此,解决方案已经出炉git
问题描述github
- 微信支付目录要求最多配置5个目录
- 支付目录 必须细分到二级或以上
支付目录配置规则示例web
你的支付目录以下: 例1:http://pandao.github.io/show/base - 支付配置:http://pandao.github.io/show 例2:http://pandao.github.io/pay/show?a=2&b=3 - 支付配置 http://pandao.github.io/pay/
解决方案vue-router
问题描述后端
vue history模式,须要配合后端服务器配置才能生效
相应的配置示例服务器
Apache
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] </IfModule>
Nginx
location / { try_files $uri $uri/ /index.html; }
我采用的nginx的配置
因此个人配置为
location ^~ /weixin/ { try_files $uri $uri/ /index.html; }
前言铺垫够多了,下面说说 受权回调的解决方案