• 微信开发-二维码-生成二维码容易忽略的错误


     

    个人博客迁移至独立博客:https://blog.plcent.com/,欢迎大家访问

    微信中支持生成临时二维码和永久二维码,这两者之间也有略微的区别,至于如何生成,怎么写,这个不在今天的讨论范围内,因为官方文档说的很明白。
    今天要说的,是在生成带参数的二维码时,临时二维码和永久二维码之间场景值ID的差别

    临时二维码:

    post方式提交的json数据中包含scene参数,示例:

    {"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}}

    在临时二维码中只支持scene_id参数,scene_id参数支持传送一个整型的数字,比如:123123123123,最大长度为32位的非零整数

    为什么是非零呢?

    当临时生成零时二维码时,如果场景值ID是整数,可以正常获取,哪怕你用字符串形式传递例如:

    // 以下的方式都可以
    // scene_id是数字
    {"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}}
    // scene_id是字符串
    {"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": "123"}}}

    但是:如果你传递的是字符串(无法转换成数字的字符串),场景值将会被替换成0,所有这就是为什么要场景值是非零的原因:

    {"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": "我是会被转换成0的场景值ID"}}}

    永久二维码:

    永久二维码不存在这个问题,因为支持字符串

  • 相关阅读:
    Atcoder Tenka1 Programmer Contest 2019 D Three Colors
    Codeforces 1146E Hot is Cold
    ZOJ 3820 Building Fire Stations
    ZOJ 3822 Domination
    ZOJ 3949 Edge to the Root
    Codeforces 1144G Two Merged Sequences
    PTA 团体程序设计天梯赛 L3-020 至多删三个字符
    BZOJ 5102: [POI2018]Prawnicy
    BZOJ 1045: [HAOI2008] 糖果传递
    2017-2018 ACM-ICPC, Asia Tsukuba Regional Contest
  • 原文地址:https://www.cnblogs.com/caoruiy/p/5145615.html
Copyright © 2020-2023  润新知