公司公众号产品需要支持微信签约,通过后端接口跳转微信的签约页面,然后再mounted方法中获取签约完成后返返回的标识,来执行之后相应的页面步骤。

微信开发文档:微信支付签约

测试过程中很顺利,从出单到核保到签约。。。然这时候测试的小姐姐说签约成功后会跳403?

嗨害,最主要的是这玩意儿还分机型和版本型号,用iphone13测就跳转403其他就没问题。。。

检查了Nginx的配置,前端代码,都没发现有问题

之后去找微信开发文档  , 期望有类似于微信支付成功后的回调地址参数  例如require_web,然并没有

产品就这样在我们瑟瑟发抖的心情中一期上线了

抓包发现,微信的回调页面地址没有获取完整,比如我们发起签约的页面是www.baidu.com/#/a/b,签约成功后应该还在是回调这个b.vue,结果微信的回调地址直接是www.baidu.com,导致了nginx没有配置这个域名。嗨害~~

发现解决这个问题的途径是偶然在刷思否网站时候,有一篇博客提到了类似的问题 ,抱着试一试的想法,结果真成功了。附上小哥的链接:微信签约在部分安卓手机返回404

答案就是使用meta标签referrer属性

<meta name="referrer" content="always" />

这个属性的含义是在某些情况下,网站想要控制页面给服务(server)发送referrer信息。

referrer用来指定当前页面是从哪个页面跳转过来的,即http请求报文头中的referrer包含了跳转至当前页面的上一个页面的url地址

referrer的content值有never、always、origin

  • 如果content的值为never:删除请求头中的referer信息;
  • 如果content的值origin:只发送origin部分;
  • 如果content的值为always:不改变请求头中的referer的值;
  • 如果content的值same-origin:同源的链接和引用,会发送referrer,其他的不会;
  • origin-when-cross-origin:同源的链接和引用,会发送完全的 referrer 信息;但非同源链接和引用时,只发送源信息

1、跳转微信签约页面

wxPublicContract(productData,proposalNo){let params = {productCode : productData.productCode, //产品代码openid : productData.openid,//openIDcontractType : '0',name : 'xxx',proposalNo : proposalNo //投保单号}getWxPublicContract(params).then(res =>{if(res.code == 200){window.location.href = res.content; //跳转签约地址}else{this.$toast(res.message)}})
},

2、签约成功后,跳转页面

/** 签约完成 应该返回到支付页面 路由hash模式会导致微信跳转会截取#号之前的 所以会返回到投保页面 在该页面判断是否签约 跳转至支付成功页面   通过URL参数 from_wxpay=1来判断是否签约**/
var searchURL = window.location.search;
if(searchURL){searchURL = searchURL.substring(1, searchURL.length);let from_wxpay = Qs.parse(searchURL)['from_wxpay'];if(from_wxpay == '1'){this.fromWxpayVisible = truelet productData = JSON.parse( window.sessionStorage.getItem('productData') );//分支机构代码let querybusiness = ''if(productData.businessOrgCode){querybusiness = `&businessOrgCode=${productData.businessOrgCode}&salesPartnerCode=${productData.salesPartnerCode}`}//setTimeout( ()=>{window.sessionStorage.removeItem('productData')                  window.location.href = `${this.$_config.API.baseURL}${This.$_config.URL.success}/1?id=${productData.proposalNo}&code=${productData.productCode}&newFlag=1${querybusiness}`//},3000)}
}

完,感谢观看。

微信签约完成后,403错误解决相关推荐

  1. Asp.net MVC应用在IIS7上部署后403错误解决方案

    Asp.net MVC应用在IIS7上部署后403错误解决方案 参考文章: (1)Asp.net MVC应用在IIS7上部署后403错误解决方案 (2)https://www.cnblogs.com/ ...

  2. Tomcat容器部署 浏览器访问服务器页面404 403错误 解决方法

    启动一个tomcat容器,注意:新版本tomcat镜像启动时必须映射端口(8080为默认容器端口) docker run -d --name tomcat -p 8080:8080 -v /mnt/e ...

  3. nginx 403错误解决方法

    nginx 403错误解决方法 如果报了directory index of "/data/web/yafwx/public/moban/" is forbidden 看nginx ...

  4. Pycharm Error loading package list:Status: 403错误解决方法

    Pycharm Error loading package list:Status: 403错误解决方法 参考文章: (1)Pycharm Error loading package list:Sta ...

  5. 微信小程序开发时遇到403错误解决

    前端程序向后台服务器发送请求时,如果服务器不允许跨域请求,则会导致403错误发生(错误信息为:"Invalid CORS request").我们通常的解决办法是将信任的域配置到C ...

  6. win8安装wampserver报403错误解决方法

    看着别人开始体验win8了,前几天我也安装了win8系统,总体来说还不错,但是今天安装完Wampserver后,浏览器输入localhost,竟然报了403错误,我以为我安装出错了,后来研究了半天,发 ...

  7. centos7 安装 nginx(https) 及403错误解决方法

    1.检查并安装所需的依赖软件 1).gcc:nginx编译依赖gcc环境 安装命令:yum install gcc-c++ 2).pcre:(Perl Compatible Regular Expre ...

  8. ajax 调用服务器接口报403错误解决办法

    发现问题 在前端页面中远程调用服务器接口时报403错误,而直接在浏览器访问则不会报错. Ajax调用结果: 浏览器调用结果: 报403原因 经过分析发现是因为前端和服务器的域名不同而触发了防盗链机制. ...

  9. XAMPP本地配置虚拟目录 出现403错误解决办法

    1. 检查配置目录 <VirtualHost *:80>      ##网站根目录       ServerAdmin webmaster@dummy-host2.example.com ...

最新文章

  1. linux source命令
  2. 硬核推荐:博主神器OpenWrite,免费的一文多发平台,无需部署,注册即用,安全可靠!...
  3. ThinkPHP 3.2公共类库、应用类库ThinkPHP/Library讲解
  4. SAP在Kubernetes上打造的Kyma到底是个什么东东
  5. Python爬虫有什么用,网友纷纷给出自己的答案,爬虫能做的还是很多的
  6. Illustrator 描边,填充,扩展
  7. java实例变量,局部变量,类变量和final变量
  8. 【记录】锐捷Windows认证客户端常见问题及处理方法
  9. JAVA多线程模拟火车站售票大厅
  10. 说到VDI与IDV的分分合合,不会再有比这更清晰的解释了!
  11. bios禁用intel VT-x
  12. 网页的缩放,适配以及移动的适配!
  13. RN Error: 无法获取此包的编译时间戳。请更新react-native-update到最新版本后重新打包上传。
  14. 群晖NAS配置DNSPodDDNS实现外网访问(仅适用于阿里云域名)
  15. FastDfs与ElasticSearch和Mysql完成海量数据存储搜索功能
  16. [Pytorch 常用函数] 激活函数Relu, Leaky Relu
  17. 亚博智能PS2手柄学习笔记
  18. 运算符、操作符、if switch语句婚礼纪主页
  19. 多wan口路由虚拟服务器,简单的多WAN路由器带宽聚合功能测试方案
  20. 转:vue-cli的webpack模板项目配置文件分析

热门文章

  1. 华为app测试软件,测评:华为最新移动应用/APP测试工具MobileTest
  2. Docker数据持久之volume和bind mount
  3. 利用旋量理论建立运动螺旋系
  4. R语言开发工具RStudio的安装
  5. element-ui el-form-item 添加㎡单位的方法
  6. 华为DHCP中继配置
  7. 最新的ipa上传工具
  8. Windows系统通过卷影副本备份系统遇到的几个错误
  9. 使用BPE算法处理未登录词
  10. python人民邮电出版社_《人民邮电出版社PYTHON数据分析(第2版)》【价格 目录 书评 正版】_中国图书网...