TLingC's Zone
TLingC's Zone

TLingC's Zone

ThinkPHP 6 模型搜索扩展包

think-searchable ThinkPHP 6.0 模型搜索扩展包 安装 composer require tlingc/think-searchable 使用 模型配置 在需要搜索功能的模型中引入SearchableTrait: <?php namespace app\model; use think\Model; use tlingc\think\searchable\SearchableTrait; class UserModel extends Model { use SearchableTrait; // 可搜索字段(定义搜索器后必须在此添加) protected $searchable = [ 'name', 'role_id' ]; // 使用thinkph…

167   2021-10-04  

easywechat小程序支付

$this->pay = Factory::payment(Config::get('pay')); $pay_params = [ 'out_trade_no' => $order->out_trade_no, 'total_fee' => $order->pay_amount*100, 'body' => $order->name, 'trade_type' => 'JSAPI', 'openid' => $user->openid ]; $res = $this->pay->order->unify($pay_params); if ($res['return_code'] != 'SUCCESS') { throw new DisplayException("[{$res['return_code']}] {$res['return_msg']}"…

160   2021-08-02  

php实现aes-128-ecb SHA1PRNG 加解密

在PHP中实现Java下使用SecureRandom SHA1PRNG算法进行AES-128-ECB(AES/ECB/PKCS5Padding)加解密的效果: function encrypt($data, $password) { $key = substr(openssl_digest(openssl_digest($password, 'sha1', true), 'sha1', true), 0, 16); $result = openssl_encrypt($data, 'AES-128-ECB', $key); return $result; } function decrypt($data, $password) { $key = substr(openssl_digest(openssl_digest($password, 'sha1', true), 'sha1', true), 0, 16)…

237   2021-06-18  

解决cmd下无法直接运行.py文件的问题

在windows cmd下,出现无法通过输入xxx.py执行python脚本,而通过python xxx.py则可以运行的问题。可以通过以下方法解决: assoc .py=Python ftype Python="C:\PATH_TO_PYTHON\python.exe" "%L" %* 将PATH_TO_PYTHON修改为你的python所在目录即可。修改后,可以直接在cmd下输入xxx.py直接运行python脚本,而无需在前面添加python。

265   2021-04-02  

fastadmin根据筛选条件导出数据

使用fastadmin做后台管理系统,自带的前端导出有时候不能满足需求,需要后端生成导出文件,需要获取到用户前台的筛选条件。将以下代码放在对应js文件的控制器事件函数中: $('#btn-export').click(function() { var options = table.bootstrapTable('getOptions'); var search = options.queryParams({}); var filter = search.filter; var op = search.op; window.open('?export=1&filter=' + filter + '&op=' + op); }) 示例: index: function ()…

654   2021-03-22  

Laravel分页输出增加末尾斜杠

近期在做一个多语言网站,使用二级目录的形式来表示不同的语言,链接示例如下: https://test.com/zh-hans/ https://test.com/zh-hant/ 页面中需要使用分页,同时也需要传递查询参数。然而在页面中使用分页方法后,输出的页码对应链接变成了: https://test.com/zh-hans?page=2 这样一来所有未带斜杠的请求都要经过一次301跳转,变成了两次请求,影响加载速度。通过查看源码,发现Laravel会对path进行处理,去除前后的斜杠,因此需要在分页输出的代码中增加: ->se…

453   2021-01-12  

解决mongodb no globalScriptEngine in $where parsing错误

使用mongodb聚合查询,在$where条件中使用了javascript表达式,执行报错误: no globalScriptEngine in $where parsing 可通过修改mongodb配置文件中的javascriptEnabled为true解决: security: javascriptEnabled: true

779   2021-01-06  

解决getUserMedia is not implemented in this browser报错

使用新版chrome/edge浏览器,在确定浏览器支持的情况下,调用navigator.mediaDevices.getUserMedia仍然提示浏览器不支持: getUserMedia is not implemented in this browser navigator.mediaDevices.getUserMedia({ video: true, video: { facingMode: "environment"} }).then(function(stream) { console.log(stream); }).catch(function(err) { console.log(err); }); 解决:检查网站是否已使用https,http协议下无法使用。

2,062   2020-12-16  

windows创建软连接实现文件夹同步

mklink /J [新地址] [原地址]

365   2020-12-16  

ubuntu调整swap交换空间使用优先级

在ubuntu中,使用vm.swappiness来控制swap空间的使用优先级,取值为0-100,值越大,则表示为更加积极地使用swap分区。 查看当前值: cat /proc/sys/vm/swappiness 临时修改(重启后失效): sysctl vm.swappiness=100 永久修改: vi /etc/sysctl.conf 在文件末尾添加 vm.swappiness=100

453   2020-11-30  

微信小程序视频无法播放的分析和解决

近期在做小程序视频项目,发现同一视频在ios中一直处于黑屏转圈圈的加载状态,但在安卓和浏览器下播放却正常。 经过排查后,发现是在拼接视频链接时多添加了/导致的,其它端可以自动处理多加的/,但ios无法正常解析地址。 https://test.com//1.mp4 修改为 https://test.com/1.mp4 即可。

1,509   2020-11-30  

ubuntu snapd进程持续写入硬盘的处理

近期在新装ubuntu server 20.04后,发现一开机就会一直写入数据到硬盘,写入量不大但一直持续,硬盘平均响应时间也达到了1000多毫秒,造成了系统有一定程度上的卡顿。 在ubuntu下运行iotop命令,发现是snapd进程在持续写入,由于我不需要使用Snap,因此尝试直接卸载。 apt purge snapd 卸载完成后,写入恢复正常。 类似问题:https://forum.ubuntu.org.cn/viewtopic.php?t=491212

755   2020-11-30  

使用Coding持续集成部署微信小程序

微信发布了独立的 miniprogram-ci 小程序编译模块,可以通过node脚本或者命令行直接操作代码上传及预览,而不再需要使用完整的微信开发者工具。 这篇文章讲述如何使用 Coding 的持续集成上传小程序代码,同时也兼容Jenkins或者基于Jenkins的持续集成系统。 首先到小程序后台,开发→开发设置→小程序代码上传获取密钥,由于 Coding 的构建节点出口IP一般不固定,因此需要关闭“IP白名单”。 获取到密钥后,到 Coding 的项目设置→开发者选项→凭据管理,凭据类型选择SSH私钥,然后填入…

1,591   2020-05-08  

iptables显示规则命中速率

之前一直使用watch 'iptables -vxL'来查看iptables规则实时状况,虽然通过这样查看累计数能够大概了解到规则命中的情况,但只能通过估算来得知命中速度,在有时候不太方便。 在优化iptables规则时,偶然阅读 Cloudflare 的 How to drop 10 million packets per second 这篇文章,发现其使用了mmwatch的工具,可以把iptables的规则从累计命中数转为每秒速度。 $ mmwatch 'iptables -L -v -n -x | head' Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes ta…

981   2020-03-27  
https://tlingc.com/wp-content/uploads/2020/01/TIM截图20200109163548.jpg

防御Source Engine Query泛洪攻击(二)

上一篇文章《防御Source Engine Query泛洪攻击(一)》提到使用限速模块对单IP进行请求限速,但若攻击者使用伪造的IP发送数据包,那么限速模块就不能很好地起到作用了。 在没有很好的方法防御的情况下,可以使用主动丢弃被攻击的端口的查询包(即类似于封禁端口)的方法来防止查询包到达游戏服务器,防止产生反射流量影响…

1,200   2020-03-23  
加载更多