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…

168   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  

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  

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

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

1,510   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,592   2020-05-08  

ThinkPHP 6 阿里云日志服务日志驱动

think-aliyunsls ThinkPHP 6 阿里云日志服务日志驱动 安装 composer require tlingc/think-aliyunsls 配置 config/log.php // 默认日志记录通道 'default' => 'aliyunsls', // 日志通道列表 'channels' => [ 'aliyunsls' => [ // 日志记录方式 'type' => 'Aliyunsls', // 阿里云 endpoint 'endpoint' => 'http://cn-beijing.sls.aliyuncs.com/', // 阿里云 AccessKey ID 'access_key_id' …

1,974   2020-03-16  

腾讯云 ThinkPHP Serverless Component

由 官方维护的ThinkPHP Component 已发布,可使用官方版。 由于官方对静态资源处理采用扩展名枚举实现,暂无法满足我的业务需求,故本仓库还会维护一段时间。如果官方版已经能够满足你的需求,建议使用官方版。 简介 腾讯云 ThinkPHP Serverless Component。 本项目基于 tencent-laravel 修改,以支持运行 ThinkPHP,同时优化了对静态资源的兼容性。 目录 准备 安装 配置 部署 移除 0. 准备 初始化 ThinkPHP 项目 在使用此组件之前,你需要先自己初始化一个 thinkphp …

1,017   2020-03-08  

Docker 19.03 设置Docker Hub镜像地址

在 Docker 19.03 中,通过修改/etc/default/docker文件: DOCKER_OPTS="--registry-mirror=https://docker.mirrors.ustc.edu.cn" 的方法已经不再可用,修改后仍然会使用 Docker Hub 自己的地址,并没有使用自己设置的镜像地址。 在本版本中可以通过/etc/docker/daemon.json实现镜像地址的修改,如果没有此文件,可以新建一个,文件内容为: { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] } 然后重启 Docker 服务: service docker restart 最后运行dock…

1,565   2020-03-07  

使用Jenkins持续集成部署QQ小程序

QQ小程序提供了Docker镜像来对小程序项目进行CI构建(文档)。文档中提供的Github Actions及Drone CI两种CI工具都对Docker的相关操作进行了深度集成,以至于不需要调用docker自身的命令。 而改写成Jenkinsfile也很简单,在检出代码后,只需要先拉取镜像然后运行即可。 操作步骤 在QQ小程序后台获取AppToken,然后赋值到环境变量PLUGIN_APPTOKEN。 在检出代码后,新建一个拉取镜像的stage,拉取镜像。 stage('拉取镜像') { steps { sh 'docker pull qqminiapp/build:la…

1,276   2020-02-08  
加载更多