Lei Xia

Sr. Software Engineer | Solution Architect

抒写代码,尽享生活,筑就未来。

订阅 · 赞赏

avatar

微信小程序数据字段大小写问题

2019年7月16日 · 44 字 · 1 分钟

这两天在开发微信小程序登录以及加解密的时候,因为数据大小写的问题被坑了一把。 场景 小程序调用wx.login时会获得code,传输给服务端可以得到openid,unionid(绑定了开放平台),session_key 小程序调用getUserInfo会获得encrypted_data,iv,解密后得到unionId,openId unionid和openid这两个场景键名大小写是不同的 例子 服务端根据code获取session_key返回结果如下:

百度分享不支持HTTPS解决办法

2019年7月12日 · 287 字 · 2 分钟

这两天接入文章页百度分享时发现本地可以显示分享按钮,但是发布到线上之后发现分享按钮不会展示。打开浏览器调试工具发现,HTTPS下的百度分享资源未加载,起初以为是HTTPS站点下面使用的是HTTP协议的链接,但是查看源代码发现是自适应协议的, 所以问题应该是处在百度这里。 打开https://bdimg.share.baidu.com/static/api/js/share.js发现浏览器提示NET::ERR_CERT_COMMON_NAME_INVALID,也就是访问的域名和证书配置的域名不匹配,证书的域名是*.baidu.com,访问的域名是bdimg.share.baidu.com,泛域名是不可以跨级使用的。 虽然是百度的问题,但是咱也不可能要他去改这个分享,所以只能自己来处理了。 可能的处理方案 全站使用HTTP,放弃该方案(现在都9012年了,免费证书一大把,基本都是HTTPS站点了) 将百度分享的资源打包下来进行部署 部署到自己的服务器(成本低,易迁移,但是服务器带宽是个问题) 部署到CDN,本文以七牛为例 资源路径 百度分享相关JS我已经分享到github了,一键直达仓库

PHP和JS加解密

2019年7月11日 · 97 字 · 1 分钟

最近遇到的几个网站在提交密码时提交的已经是密文,也就是说在网络上传输的密码是密文,这样提升了密码在网络传输中的安全性。 后端语言加解密已经有很成熟的方案了,前端的话Google之前出过一个crypto-js,为浏览器的js提供了加解密方案。今天一起来了解一下基于AES的前后端加解密流程。 Javascript 安装npm包 npm install crypto-js

vue webpack重写cookie路径

2019年7月8日 · 66 字 · 1 分钟

webpack提供的反向代理服务器在开发阶段非常方便,几行简单的代码配置就可以使用反向代理功能,包括路径重写、cookie处理等。 项目开发阶段使用的API路径是 /admin,部署到线上是/,所以在开发过程中需要在proxyTable进行反向代理配置,将路径重写掉,路径重写代码如下(config/index.js): proxyTable: { '/admin': { target: 'http://127.

druid SQL监控不显示问题

2019年7月8日 · 80 字 · 1 分钟

新版druid数据源驱动的SQL监控如果用以前的老版本配置是无法监控到SQL的: application.yml spring: datasource: druid: filters: - stat - wall - log4j 启动应用之后访问druid监控页面,除了SQL相关的页面都正常工作,但是访问SQL监控页面时没有看到SQL记录。 查看监控页面 数据源 菜单发现 filter类名 显示的是空,估计是filter配置有问题导致。

在Swoole环境下运行注入Yii2框架的thrift应用

2019年5月19日 · 8 字 · 1 分钟

前两天发布了使用swoole来运行thrift应用,项目虽然可以运行起来,但是周边的生态(如缓存,ORM,日志等等)并没有跟上,实际上开发体验比较差。周末研究了一下,把Yii2框架集成到了thrift应用上。 项目地址:https://github.com/swoole-foundation/yii2-swoole-thrift Yii2优势: 完美的OOP设计 大量开箱即用的组件(DB/Cache/Logger/RBAC等等) 组件化开发 扩展性 这些支持是提高thrift应用开发效率的保证,毕竟没有人会直接在生产环境下手写SQL不是?

在swoole上运行Yii2应用

2019年5月19日 · 27 字 · 1 分钟

Yii2:业界著名的开发框架,完美的OOP设计以及组件化开发思想保证了框架的扩展性。 Swoole:面向生产环境的 PHP 异步网络通信引擎。使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。

使用swoole来运行thrift应用

2019年5月16日 · 24 字 · 1 分钟

Swoole扩展简介 Swoole:面向生产环境的 PHP 异步网络通信引擎 使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

在缓存中使用闭包函数

2019年5月14日 · 81 字 · 1 分钟

闭包函数 PHP官方文档对于闭包函数的定义: 匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。