TLingC's Zone
TLingC's Zone

开发
文章归档

Laravel分页输出增加末尾斜杠

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

94   2021-01-12  

解决mongodb no globalScriptEngine in $where parsing错误

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

130   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协议下无法使用。

404   2020-12-16  

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

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

203   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

331   2020-11-30  

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

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

897   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,050   2020-03-16  

腾讯云 ThinkPHP Serverless Component

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

652   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,195   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…

793   2020-02-08  

让ThinkPHP 6.0语言包支持多级分组

最近在做一个多语言网站项目,需要给一个多级导航栏编写语言包。虽然ThinkPHP 6.0多语言功能引入了语言分组,但其分组最深只能支持两层,在如我的这种情况下无法满足需要。 可通过修改框架src/think/Lang.php来实现多层级的支持。 在src/think/Lang.php中,替换对应方法: public function has(string $name, string $range = ''): bool { $range = $range ?: $this->range; if ($this->config['allow_group'] && strpos($name, '.')) { $names = e…

566   2020-02-05  

ThinkPHP 6.0 多语言优化扩展包

think-lang ThinkPHP 6.0 多语言优化扩展包 特色 支持通过如 mywebsite.com/zh-hans/ 的二级目录访问对应语言页面。 支持每种语言的语言包单独成目录,目录下可设有二级目录。 安装 composer require tlingc/think-lang 使用 基础配置 请参照 官方文档 进行相关配置。同时注意如下与官方文档的不同点。 开启和加载语言包 中间件名称为: 'tlingc\lang\middleware\LoadLangPack', 由于多语言通过二级目录访问,使用Cookie保存语言 功能无效。 语言文件定义 自…

1,180   2020-02-04  

ThinkPHP 6 多模型下事务处理

mysql下,事务不是针对某个特定的表或者特定的模型的,因此在多模型的情况下,不需要针对每个模型分别startTrans、commit和rollback。即使模型中有继承startTrans方法,可以通过Model::startTrans();启动事务,但其作用等同于Db:startTrans();。因此可以直接写为以下形式。 通过测试,在出现异常时,通过图中自增值可看出(自增值在rollback时也会增加),三个模型尝试新增数据都被rollback。同时把Table3中的name字段改为test233的操作也没有成功。 <?php namespace app\cont…

1,175   2020-01-20  

小程序云开发 - 二维码生成工具

wxcloud-qrcode-generator 小程序云开发 - 二维码生成工具 实现 根据前端传递到需要生成的内容,生成二维码后上传至云存储,返回对应文件的URL。 二维码生成使用了qrcode库,可参考:https://www.npmjs.com/package/qrcode 使用 wx.showLoading() wx.cloud.callFunction({ name: 'qrcode_generator', data: { text: '需要生成的文字内容' }, complete: res => { wx.hideLoading() wx.previewImage({ urls: [res.result], }) }, fail: err…

628   2019-12-14  
https://tlingc.com/wp-content/uploads/2019/12/TIM截图20191208174038_conew2.jpg

在Composer中使用自己修改的包

在使用composer组件时,有时候需要对包进行一些自定义修改,有一些教程中写需要修改composer.json,然后发布到Packagist,但如果只是适应自己需求所作的小修改,其实并没有必要发布到Packagist,而这样做也是Packagist不推荐的: Do not submit forks of existing packages. If you need to test changes to a package…

571   2019-12-08  
加载更多