当前位置: 首页 > news >正文

AngualrJs 微信支付url未注册大坑解决方法

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

最近公司要做个微信web新项目,正好在看angular,就愉快的玩耍上了,用ui-router做路由控制,一开始偷懒没有去掉url内的#,不幸的碰到了两个微信js的坑。

1、微信支付授权的url在SPA内不会正确改变。

简单的说就是有页面A、B、C,C为支付页面,当从A进入SPA时,以A>B>C的顺序在页面C调用微信js接口支付,提示地址未授权而且url竟然是A的;以B>C的顺序,在页面C取到的url是B的,最恶心的是该情况只会出现在ios系统的微信内,安卓的SPA拿到的url是正确的。当时想到的解决方案就是在angular入口的地址后紧跟?,然后调用微信js支付时微信会认为?后均为页面参数,不会对授权的url有影响。

2、微信初始化时请求了两次地址,导致微信跳转到缺省的angular路由。

具体表现为我的angular入口为index,然后有路由index#/detail/1,在访问时由于地址为index#/detail/1,浏览器会直接访问index然后由angular来处理#/detail/1,然后index需要微信授权,就导致了授权后跳转到index然后angular跳转到了缺省的路由。解决方法很简单。。。去掉url内的#即可,去掉后的实现相当于将index/路径下的所有请求都使用sendfile的方法将angular的index内的内容当作模板进行应答,然后由angular根据index内的base href来获取原应在#后的内容进行路由处理,其实实现的方式是一样的,只不过一个是由服务器将所有angular处理的请求都返回了index,另一个是由浏览器将所有angular的请求都定向到index。

#去掉后问题1也不用加?即可解决了,打开angular相关实现的代码看了看,还是很巧妙的。

转载于:https://my.oschina.net/nishichen/blog/752739

相关文章:

  • mac终端下svn常用命令
  • http协议进阶(四)报文首部
  • QName
  • 浅议tomcat与classloader
  • Java中的匿名内部类
  • 移动端点击作弊与激活作弊的现象与预警
  • IT人员的职业生涯规划
  • 电话号码校验
  • /var/spool/postfix/maildrop 下有大量文件
  • kubernetes test-infra
  • 关于Mysql查看某个ip连接数及删除掉这个ip连接的方法(也可以进行mysql锁表解锁)...
  • Impala数据处理(加载和存储)
  • iOS滤镜实现之LOMO(美图秀秀经典LOMO)
  • Storm概念学习系列之storm简介
  • em和px比较
  • 分享一款快速APP功能测试工具
  • Bootstrap JS插件Alert源码分析
  • extjs4学习之配置
  • GraphQL学习过程应该是这样的
  • Linux链接文件
  • Lsb图片隐写
  • react 代码优化(一) ——事件处理
  • Redis学习笔记 - pipline(流水线、管道)
  • springboot_database项目介绍
  • Transformer-XL: Unleashing the Potential of Attention Models
  • Vue全家桶实现一个Web App
  • Vultr 教程目录
  • Web Storage相关
  • win10下安装mysql5.7
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 我们雇佣了一只大猴子...
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • #include<初见C语言之指针(5)>
  • #pragma once
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (Git) gitignore基础使用
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (转)原始图像数据和PDF中的图像数据
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .Net 8.0 新的变化
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • .pyc文件是什么?
  • @Transactional类内部访问失效原因详解
  • [ C++ ] STL---string类的使用指南
  • [1525]字符统计2 (哈希)SDUT
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [android] 天气app布局练习
  • [Android]使用Retrofit进行网络请求
  • [C/C++]_[初级]_[关于编译时出现有符号-无符号不匹配的警告-sizeof使用注意事项]