生成小程序二维码传参scene的问题

                                               生成小程序二维码传参scene的问题

 

一、报错提示
    '{"errcode":40169,"errmsg":"invalid length for scene, or the data is not json string hint: [MHecNHnre-dcD9Wa]"}'
    原因:参数 scene 超过了32位

二、官方文档,如图


三、解决方法(有些方法不治本)
(1)、请求接口方式
    把scene数据md5加密;
    后端  redis:key-value(md5加密后的scene:scene原文) 或 数据表 存scene的数据;
    小程序获取到scene之后,请求后端接口根据md5后的值获取加密前的数据。

(2)、缩短参数名
    比如:

$param['user_id'] = 999;
$param['shopper'] = 3;
$data['scene'] = http_build_query($param);

    缩短为:

$param['u'] = 999;
$param['s'] = 3;
$data['scene'] = http_build_query($param);

(3)、英文字符隔开参数,和前端约定每个位置的值代表的含义(推荐这个)
    比如:

$param['user_id'] = 999;
$param['shopper'] = 3;
$data['scene'] = http_build_query($param);

    可以用英文字符 ,;_等隔开,如下

$userId = 999;
$shopper = 3;
$data['scene'] =  $userId . ';' . $shopper;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值