网络乞讨之合并支付宝和微信的收款二维码

在博客的右边加了一个网络乞讨的二维码,但是支付宝和微信分别有两个二维码,要想个法子把它们合并一下。于是把支付宝和微信的收款 二维码解码了一下(可以找二维码解码工具,如果是iOS用户,直接用自带的相机扫描,就会弹出来是否打开),发现支付宝的是一个链接, 但是微信的是一个自有链接。

扫码试了一下,发现打开链接的时候,可以根据 UserAgent 来判断,支付宝会带一个 AlipayClient,而微信会带一个 MicroMessenger, 因此,根据 UserAgent 然后跳转就好了。但是有一个问题是,微信解码出来的数据,如果直接跳转的话,会是一个空白页面,所以, 解决办法就是,把微信的付款二维码的图片留下,如果是微信,那么就把微信付款二维码展示给用户看,否则就跳到支付宝的收款页面:

@app.route("/reward")
def reward():
    user_agent = request.user_agent.string
    if "MicroMessenger" in user_agent:
        return redirect(config.WECHAT_PAY_URL)
    else:
        return redirect(config.ALIPAY_URL)

然后我们再生成一个二维码,内容是 https://jiajunhuang.com/reward,这样子别人扫码就会跳转到这个URL,然后我们根据 UserAgent 进行跳转,大功告成!


更多文章
  • 选择合适的技术栈
  • Golang的template(模板引擎)简明教程
  • 毕业三年,一路走来
  • 代码的坏味道
  • 消息分帧(字符串设计或协议设计)的两种形式
  • C, Go, Python的错误处理和异常机制杂谈
  • 好的命名是最好的文档
  • 读《系统之美:决策者的系统思考》
  • Linux高分屏支持
  • GCC默认的头文件搜索路径
  • 读《远见-如何规划职业生涯3大阶段》
  • 后端工程师学前端(五): SASS
  • 后端工程师学前端(四): CSS进阶(盒子模型)
  • 读《投资中最简单的事》
  • 后端工程师学前端(三): CSS进阶(特指度、单位和字体族)