个人案例
- 窗视界管理
窗视界小程序端
窗视界管理扫码体验
- 匕匕网
一个能随时帮助你做出选择的客户端!
匕匕匕匕扫码体验
- 巧书
互动阅读
巧书扫码体验
现在获取unionid好像不需要进行到解密这一步 https://api.weixin.qq.com/sns/jscode2session 这个接口就可以直接返回unionid
php版获取unionid,有时候解密失败环境:php5.5.7 问题: 有时候获取unionid失败,检查是openssl_decrypt解密后的数据为空 场景:假如我有一段时间没有操作微信开发者工具,第一次就会解密失败,后续都会成功 [代码]public[代码] [代码]function[代码] [代码]decryptUser([代码][代码]$sessionKey[代码][代码], [代码][代码]$encryptData[代码][代码], [代码][代码]$iv[代码][代码])[代码][代码]{[代码][代码] [代码][代码]$errorCode[代码] [代码]= [[代码][代码] [代码][代码]0=>[代码][代码]'ok'[代码][代码],[代码][代码] [代码][代码]41001=>[代码][代码]'encodingAesKey 非法'[代码][代码],[代码][代码] [代码][代码]41002=>[代码][代码]'IllegalIv'[代码][代码],[代码][代码] [代码][代码]41003=>[代码][代码]' aes 解密失败'[代码][代码],[代码][代码] [代码][代码]41004=>[代码][代码]'解密后得到的buffer非法'[代码][代码],[代码][代码] [代码][代码]41005=>[代码][代码]'base64解密失败'[代码][代码],[代码][代码] [代码][代码]41016=>[代码][代码]'base64解密失败'[代码][代码],[代码][代码] [代码][代码]];[代码][代码] [代码][代码]if[代码] [代码](mb_strlen([代码][代码]$sessionKey[代码][代码]) !== 24) {[代码][代码] [代码][代码]throw[代码] [代码]new[代码] [代码]\Exception([代码][代码]$errorCode[代码][代码][41001], 41001);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]if[代码] [代码](mb_strlen([代码][代码]$iv[代码][代码]) !== 24) {[代码][代码] [代码][代码]throw[代码] [代码]new[代码] [代码]\Exception([代码][代码]$errorCode[代码][代码][41002], 41002);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]$aesKey[代码] [代码]= [代码][代码]base64_decode[代码][代码]([代码][代码]$sessionKey[代码][代码]);[代码][代码] [代码][代码]$aesIv[代码] [代码]= [代码][代码]base64_decode[代码][代码]([代码][代码]$iv[代码][代码]);[代码][代码] [代码][代码]$aesCipher[代码] [代码]= [代码][代码]base64_decode[代码][代码]([代码][代码]$encryptData[代码][代码]);[代码][代码] [代码][代码]$result[代码] [代码]= openssl_decrypt([代码][代码]$aesCipher[代码][代码], [代码][代码]'AES-128-CBC'[代码][代码], [代码][代码]$aesKey[代码][代码], 1, [代码][代码]$aesIv[代码][代码]);[代码][代码] [代码][代码]var_dump([代码][代码]$result[代码][代码]);[代码][代码] [代码][代码]$decodeResult[代码] [代码]= json_decode([代码][代码]$result[代码][代码],true);[代码][代码] [代码][代码]var_dump([代码][代码]$decodeResult[代码][代码]);[代码][代码] [代码][代码]if[代码] [代码]([代码][代码]empty[代码][代码]([代码][代码]$decodeResult[代码][代码])) {[代码][代码] [代码][代码]throw[代码] [代码]new[代码] [代码]\Exception([代码][代码]$errorCode[代码][代码][41003], 41003);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]if[代码] [代码]([代码][代码]$decodeResult[代码][代码][[代码][代码]'watermark'[代码][代码]][[代码][代码]'appid'[代码][代码]] !== [代码][代码]$this[代码][代码]->appid) {[代码][代码] [代码][代码]throw[代码] [代码]new[代码] [代码]\Exception([代码][代码]$errorCode[代码][代码][41003], 41003);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]return[代码] [代码]$decodeResult[代码][代码];[代码][代码]}[代码]
2018-07-25不可能重复,腾讯作孽搞出来的坑爹机制 要想统一必须要将不同小程序、服务号绑定到同一个开放平台,这样可以获取到用户的unionid是一样的
不同小程序主体有可能获取到相同的openid吗?我们有多个主体账号(比如服务号和小程序),现在我们想要根据用户的openid做登录,但是不知道不同主体的openid有几率重复吗?还是根本不可能重复?如果不可能重复的话我们就可以直接用openid查询数据库,看当前用户是否存在就行了。
2018-07-25首先,问题解答 没问题吧?然后,问题模块里没有bug这一项,所以只好选了 其他
【BUG】小程序web-view和微信浏览器的cookie互相干扰如标题 小程序web-view和微信浏览器从业务上来说应该是完全独立不相同的,但是现在web-view和微信浏览器的cookie是共通的,这样就会互相干扰,请官方修复,谢谢
2018-07-20小程序里你还是老老实实的用微信支付吧
web-view跳转问题我公司眼神科技与工行有合作,用web-view调工商银行的H5页面绑定银行卡,配置业务域名需要上传校验文件,但是工行拒绝在他的服务器根目录放置校验文件,所以就卡在这了,有没有其他的方法可以成功跳转工行的h5?谢谢
2018-07-19或者换个需求,小程序web-view和微信自带浏览器从业务逻辑上来说是不通用的,那么session、cookie也应该是不通用的才行
建议 web-view的useragent中能加入特殊字符以区分微信自带浏览器建议 web-view的user-agent中能加入特殊字符以区分微信自带浏览器 或者开发者可以自己设定部分header信息 我的需求是在页面加载前使用服务器程序来判断是否是小程序,还没到页面加载后用js来判断这一步 在URL 里加特殊的字符串这个方法是我现在在用的方法,但是很不方便,如果遇到页面里有其他页面的链接,就很麻烦了 所以还是建议能通过user-agent中加入特殊字符的方式,方便开发 ------- 有官方用户回复建议:第一次在web-view src上带多一个参数,服务器识别到这个参数后种一个cookie呢,后续请求识别这个cookie即可。cookie的有效期可以只是当前session 我这边实际测试的结果是:设置cookie方法不行,我实际测试了,即使cookie有效期是当前session的情况下,在小程序webview中设置的cookie,在同一进程微信浏览器中打开,这个cookie仍然存在 根源还是在 小程序webview和微信本身浏览器没有做区分
2018-07-12在全息3D技术出现之前,手机屏幕本质上还是仅仅是一个平面,我们所看到的所有3D都只是3D形体在2维平面上的投影。楼主可以按照这个思路来试试
集思广益,求问小程序如何模拟3d效果小程序需要实现展现3D模型,并且可以绑定3d效果,考虑到canvas目前不支持3d,小程序也不能引用tree.js,大家有什么替代方案吗,另外:类似【心脏超声3d图谱】小程序的3d模型展示是如何实现的呢
2018-06-13