自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 收藏
  • 关注

原创 autojump 命令行工具 - 快速跳转目录

autojump 是一个命令行工具,可以快速跳转到想跳转的目录它的用途就是可以让你更快地切换目录,而不用再像以前那样频繁的使用 cd 命令进入指定目录它会把在命令行中进入过的目录记录下来,然后根据访问频次添加不同的权重,访问越频繁,权重越高,排名就越靠前,跳转的命令就越简洁。

2023-12-28 09:35:01 680

原创 mac 和 windows 相互传输文件【共享文件夹】

温馨提示:mac 电脑和 windows 电脑必须处于同一局域网下本文根据创建共享文件夹的方式实现文件互相传输,所以两台电脑必须处于同一网络windows 创建共享文件夹,mac 电脑通过 windows 的局域网 IP 进行连接并访问该共享文件夹。

2023-11-21 17:45:12 1882

原创 .nvmrc 文件使用详解

当开发多个项目时,每个项目运行环境要求的 node 版本不一样,那么我们就需要给每个项目指定 node 版本,也就是通过终端执行 nvm install 和 nvm use 命令去安装并切换版本。但是每次都要在终端手动执行命令就很麻烦,特别是项目越来越多的时候,容易忘记切换版本或切换错版本,会导致项目启动不了或运行中有一些错误。这就需要一个管理 node 版本的方法,自动切换 node 版本,这时 .nvmrc 就该上场了。

2023-11-21 17:43:54 1753

原创 git commit 命令详解

git commit 命令用于将工作区内容或暂存区内容提交到版本库本文记录 git commit 的常见用法,日常开发中,这几个参数足够使用了# 将暂存区内容提交到版本库, 进入 vi 命令界面输入提交信息git commit# 将某些已被跟踪的文件提交到版本库(包含工作区和版本库)# 将暂存区内容提交到版本库, 无需进入 vi 命令界面输入提交信息# 跳过 git add, 将所有已被跟踪的文件更改提交到版本库# 使用一次新的commit, 替代上一次提交。

2023-01-15 14:30:54 67679 1

原创 PHP生成二维码【endroid/qr-code 4.x】

使用该扩展前,先确认其 PHP 版本要求,需要 PHP 版本 7.4+Packagist 传送地址:使用前需要检查下是否启用了 gd2 扩展,对于 endroid/qr-code 版本选择,参考扩展包文档对 PHP 版本的要求。

2023-01-02 09:10:26 2199

原创 uniapp 工具类方法封装 v1.0.0

使用工具类文件导出的 alias 为挂载到 uni 上的属性名,当没有 alias 时,默认使用工具类文件的名称作为属性名。工具类的封装重要性就不多说,本文提供一个在 uniapp 项目中封装方法的一种思路,最终代码结构在文章的最后。无论是前端开发者还是后端开发者,都会在项目中封装一些经常使用的功能方法,可以大大提高我们的开发效率。下面是工具类封装的最终代码目录结构,是我目前使用的封装方式,后续如果有更好的方式会更新。工具类入口文件,在该文件中将工具类文件挂载到 uni 上。中,将封装的方法挂载到。

2022-10-22 11:22:10 1220

原创 PHP 经纬度坐标相关计算方法

项目中经常有距离显示数据的场景,根据距离排序,越近越靠前显示;比如: 店铺地址、房源信息等。查询 3 公里内的数据。首先,根据当前位置获取 3 公里内的经纬度范围,然后带上查询条件查询数据库即可。功能函数 (前四个函数为两组经纬度坐标),手机上的高德地图导航至。,计算结果还是很准确的。

2022-09-13 17:21:24 660

原创 CSS 选择器详细分类

本文详细记录 CSS 各种选择器,对选择器进行了分类整理,若有遗漏的选择器后续会更新上本文仅是对 CSS 所有选择器做一个概括,详细用法不做过多描述,比较重要的类型选择器会另外写文章做详细总结。......

2022-08-12 00:11:04 1274

原创 CSS 中的变量

在 CSS 中,有很多需要反复使用的属性值,如果每个使用的地方都直接写死这个值,而没有使用变量去定义这个值的话,后期修改起来会很麻烦。有很多人忽略了在 CSS 中也可以定义变量这个事情,相信你会爱上它!CSS 使用变量有很多好处: 可以减少样式代码的重复性,增加样式代码的扩展性和灵活性。...

2022-08-09 10:38:33 790

原创 git commit 代码提交规范

每个人 git 的提交记录都有自己的风格和习惯,特别是多人协作开发的项目,如果没有一套完整的规范,则每个人的代码提交描述内容会很随意,质量参差不齐,会降低 log 的可读性和维护性。所以,需要有一套 git 提交规范,使得提交记录清晰明了,让人一看就能知道每次提交的目的。本文记录一种业界比较认可和常用的规范,来自 AngularJS 团队规范。...

2022-08-08 23:16:57 2139

原创 Laravel Valet - macOS 极简主义者的开发环境

Laravel Valet 是 macOS 极简主义者的开发环境。Laravel Valet 将您的 mac 配置为在您的机器启动时始终在后台运行 Nginx,然后使用 Dnsmasq,Valet 代理 域上的所有请求指向安装在本地计算机上的站点Valet 是一个超快的 Laravel 开发环境,不需要配置 ,它大约使用 7 MB 的 RAM。Valet 需要 macOS 和 Homebrew。在安装前应该确保没有其他程序绑定到本地计算机的 80 端口1. 将 homebrew 更新到最新版2. 安装

2022-08-08 16:56:38 465

原创 ES6 箭头函数 Arrow Function

ES6 新增了一种新的函数: 箭头函数 Arrow Function箭头函数相当于匿名函数,简化了函数定义,将原函数的 function 关键字和函数名都删掉,并使用 连接参数和函数体2. ES6 箭头函数语法当没有参数时, 可以定义为以下形式当只有一个参数时,括号可以省略当有多个参数时,括号不能省略当函数体只有一行语句时,可以省略 {}使用箭头函数的场景: 闭包函数3. ES6 箭头函数返回值当方法体只有一条语句时可以省略花括号当箭头函数需要返回一个数据时,可以使用下面写法返回值

2022-07-12 09:40:23 478

原创 异步编程解决方案 Promise

回调地狱: 在回调函数中嵌套回调函数因为 ajax 请求是异步的,所以想要使用上一次请求的结果作为请求参数,所以必须在上一次请求的回调函数中执行下次请求,这种写法非常繁琐,我们亲切的把它称之为 ES6 原生提供了 Promise 对象,Promise 解决了回调地狱的问题回调地狱代码示例:2. Promise 的使用Promise 是一个构造函数,接受一个函数作为参数,通过 new 关键字实例化查看 Promise 实例的属性得出 Promise 实例有两个属性: state(状态),result

2022-07-10 14:36:19 268

原创 GET 和 POST 请求类型的区别

GET 和 POST 请求类型的区别 ?虽然这个问题是基础知识,但这也算是面试热门问题,做下总结就当复习了吧1. 使用场景GET 请求方式一般用于获取和删除数据,POST 请求方式一般用于添加和修改数据2. 传参方式GET 请求方式传递参数会将参数拼接到 URL 地址中POST 请求方式传递参数会将参数放到请求体(Request Body)中3. 安全性GET 是显式提交,安全性较低;POST 是隐式提交,安全性较高4. 传输的数据大小GET 请求方式传输的数据大小不能大于 2KB,而 POST 请求方式传

2022-06-29 09:06:09 1592

原创 简单描述 MySQL 中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)

简单描述 MySQL 中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)这是一道非常经典的 MySQL 索引面试题,意在看面试者是否了解索引的几种类型以及索引的优点和存在的弊端索引是帮助数据库高效获取数据的一种数据结构,索引文件中记录着对数据表数据的引用指针主键是一种特殊的唯一索引,在一张表中只能有一个主键索引,主键索引用于唯一标识一条记录唯一索引用于确保某一列只包含各不相同的值,也就是说,唯一索引可以保证数据记录的唯一性联合索引是指通过多个列建立的索引,比如有: 联合主键

2022-06-28 22:32:38 1544

原创 MySQL 中 varchar 和 char 区别

varchar 和 char 是 MySQL 中的两种数据类型,都是用来存储字符串的。一、长度是否可变varchar 类型的长度是可变的,而 char 类型的长度是固定的char 类型是一个定长的字段,以 char(10) 为例,不管真实的存储内容多大或者是占了多少空间,都会消耗掉 10 个字符的空间坦通俗来讲,当定义为 char(10) 时,即使插入的内容是 3 个字符,它依然会占用 10 个字节,其中包含了 7 个空字节二、存储长度char 长度最大为 255 个字符,varchar 长度最大为 65

2022-06-18 11:42:42 11712 3

原创 MySQL 事务四大特性和事务隔离级别

MySQL 事务具有四个特性:原子性、一致性、隔离性、持久性,这四个特性简称 ACID 特性一、原子性(Atomicity ):一个事务是一个不可再分割的整体,要么全部成功,要么全部失败事务在数据库中就是一个基本的工作单位,事务中包含的逻辑操作(SQL 语句),只有两种情况:成功和失败。事务的原子性其实指的就是这个逻辑操作过程具有原子性,不会出现有的逻辑操作成功,有的逻辑操作失败这种情况二、一致性(Consistency ):一个事务可以让数据从一种一致状态切换到另一种一致性状态举例说明:张三给李四转账 1

2022-06-11 00:37:12 10381 2

原创 git mv 从工作区和暂存区中重命名内容

1. 问题描述一个项目中用到了需要将用户信息导出到 Excel ,最初写完测试是正常的,如下图所示在后来的某一天,导出手机号突然出现了报错,如下图所示通过提示我们将问题定位在了 B 列 4867 行。这是因为在 excel 中,单元格中的值如果是以 “=” 开头,则说明这个单元格是根据其他单元格的值算出来的,“=” 后面必须跟着一个合法的表达式。所以,解决方案就是这个单元格的值不让它以 “=” 开头# Formula Error: An unexpected error occurred 公

2022-04-17 12:43:28 916

原创 PHP 导出 Excel 报错: Formula Error: An unexpected error occurred

1. 问题描述一个项目中用到了需要将用户手机号导出到 Excel ,最初写完测试是正常的,如下图所示在后来的某一天,导出手机号突然出现了报错,如下图所示通过提示我们将问题定位在了 B 列 4867 行。这是因为在 excel 中,单元格中的值如果是以 “=” 开头,则说明这个单元格是根据其他单元格的值算出来的,“=” 后面必须跟着一个合法的表达式。所以,解决方案就是这个单元格的值不让它以 “=” 开头# Formula Error: An unexpected error occurred

2022-04-12 11:51:40 2150

原创 git clone 拉取远程仓库

1. git clone 拉取仓库拉取远程库中的默认分支git clone <repositories>-b, --branch 拉取远程库中的指定分支git clone -b <branch> <repositories>2. 以 HTTPS 方式拉取仓库HTTPS: 需要登录代码托管平台的账号密码git clone https://gitee.com/holyking/test-2.git第一次拉取需要输入账号和密码:以 gitee 为例,

2022-04-06 23:51:42 7796

原创 git status 查看文件更改状态

文章目录1. 前言2. 新文件3. 修改文件4. 删除文件5. 文件状态总结6. git status -s 简短输出结果1. 前言status 命令用于查看工作区中文件的状态git status 命令是 git 中最常用的命令之一,当我们要执行命令操作时,一般都会先执行这个命令查看下当前工作区文件状态,因为只有当我们知道当前状态是什么,才会清楚的知道,我们接下来应该怎么进行操作使用示例git statusgit status -s2. 新文件当在工作区中创建一个新的文件 User.

2022-02-13 19:29:37 4781

原创 git add 将工作区文件添加到暂存区

1. 前言众所周知,git 中有工作区、暂存区、版本库三大组成部分工作区: 电脑中能看到的目录,也就是写代码的地方暂存区: 英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件中,暂存区有时也叫做索引版本库: 在工作区中有一个隐藏目录 .git,这个不算工作区,而是 git 的版本库2. git add 基本操作add 命令的作用就是将工作区的文件添加到暂存区使用示例// 将多个文件到暂存区git add 1.md// 将多个文件到暂存区git a

2022-02-13 19:28:01 6847

原创 git help 查看命令手册

1. 前言在使用 git 的过程中,需要使用很多命令及其参数,经常会遇到命令打错或参数用错、忘记参数的问题,那么如何向 linux 那样在命令行终端查看命令手册呢? 本文就是介绍 git 查看命令手册的几种方法2. 查看命令的全面手册语法格式:git help <verb>git <verb> --help使用示例:git help addgit add --helpmacOS 使用 help 会在命令行终端中进入一个全面的手册Windows 使用

2022-02-13 19:26:24 523

原创 git config 设置、取消别名

原文地址:在使用 git 的过程中,有些命令使用频率很高,并且命令可能还很长,敲起来不仅效率慢,还容易写错为了便捷输入,git 提供了给命令设置别名的功能,我们可以定义命令的别名,通过简单的别名快速使用复杂且长的命令本文示例中用的都是全局级别--global配置,仓库级别--local、系统级别--system亦如此一. Mac 系统mac 用户如果已经安装了 zsh,可在~/.zshrc文件中添加以下内容定义别名二. Windows 系统打开,如果文件不存在,就先创建,文件内容如下然后将别名指令放入。

2022-01-07 11:24:51 2401 2

原创 如何找回宝塔面板登录地址、账号和密码

前言相信很多使用宝塔面板用户难免会遇到忘记宝塔面板的登录地址、账号或密码忘记的问题不要慌,宝塔面板的账号信息是可以通过终端找回的,以服务器 root 用户登录命令行终端使用 bt 命令进行操作1. 查看初始默认账户密码查看面板入口(也可以通过该命令判断服务器是否安装了宝塔面板)/etc/init.d/bt default特别注意: 以下仅为初始默认账户密码,若无法登录请执行 bt 命令重置账户/密码登录2. 使用 bt 命令 重置用户密码......

2021-12-10 23:09:07 36224

原创 TP6.0 前置、后置中间件区别

文章目录1. 创建中间件2. 注册中间件3. 前置、后置中间件4. 前置、后置中间件的区别5. 后置中间件登录拦截器(不推荐)6. 前置中间件登录拦截器(推荐使用)1. 创建中间件命令行创建中间件类文件示例// app\middleware\Authphp think make:middleware Auth// app\middleware\admin\Authphp think make:middleware admin/Auth// app\admin\middleware\Aut

2021-12-05 20:08:42 2036

原创 小程序中商家入驻提醒、新订单提醒

1. 应用场景ThinkPHP技术QQ群: 828567087用户在小程序商城购买下单之后,商家如何能及时收到新订单提醒,进行发货处理呢?用户在小程序中申请入驻商家后,平台管理员如何能及时收到入驻申请通知,进行及时审核处理呢?常用的通知方式: 短信提醒、邮箱通知、公众号模板消息,本文介绍如何在小程序中使用公众号的模板消息发送消息通知查看公众号模板消息文档得出: 只要拿到用户在公众号下的 openid 就可以向用户发送模板消息通知,所以我们只需要想办法获取到用户在该公众号的 openid 即可,总

2021-11-21 19:56:56 3824 3

原创 redirect_uri域名与后台配置不一致

1. 前言访问公众号网页提示: redirect_uri域名与后台配置不一致这个错误相信每个开发公众号的开发者都遇到过,本文记录详细配置步骤在工作中也有很多客户问我这个问题,也是为了避免重复沟通,到时候把这篇文章发给客户就可以了 -2. 配置网页授权域名详细步骤微信公众平台: https://mp.weixin.qq.com登录微信公众平台,在 设置与开发 -> 公众号设置 -> 功能设置 中找到 网页授权域名一个服务号最多只能配置两个网页授权域名,但是JS接口安全域名却最多

2021-10-24 15:53:23 34328 8

原创 本地库关联远程仓库,推送代码

1. 使用场景1、 当本地代码需要上传到远程仓库上时2、本地已有仓库,需要将本地仓库推送到远程仓库上时2. 使用步骤明确目的: 这是一个tp6项目, 本文介绍如何把这个项目推送到码云仓库第一步: 创建本地库并完成初始提交git initgit add .git commit -m "first commit"第二步: 本地仓库关联远程码云仓库关联远程仓库git remote add origin https://gitee.com/holyking/test-3.git

2021-10-23 13:51:09 368

原创 微信开发者工具调试公众号网页提示: 未绑定为公众号的网页开发者

前言工作中难免需要给客户处理各种问题,此时开发者需要使用微信开发者工具调试,调试前需要客户将开发者配置为公众号的网页开发者。为了避免重复沟通,特写篇文章记录配置过程1. 情景再现开发者使用微信开发者工具调试微信公众号网页时提示: 未绑定为公众号的网页开发者2. 绑定开发者微信号进入 “设置与开发 - 开发者工具”,点击 "web开发者工具"点击 “绑定开发者微信号”绑定的微信号当前必须已经关注了该公众号,否则会出现以下提示,搜索公众号名称关注下再来绑定需要绑定的微信号如果已经关

2021-10-17 21:50:08 7522 5

原创 uniapp 微信小程序 控制台警告和错误处理

文章目录1. 警告2. 错误1. 警告微信小程序默认开启了索引功能,但是因为我们没有配置索引策略,导致出现了这么一个警告解决这个警告也非常简单,因为一般情况项目不需要被微信索引,所以我们只需要关闭默认索引功能即可[sitemap 索引情况提示] 根据 sitemap 的规则[0],当前页面 [pages/hot/hot] 将被索引双击 manifest.json, 以源码视图打开, 在 mp-weixin.setting 中添加 "checkSiteMap": false"mp-weixin

2021-10-03 10:37:23 4085

原创 git branch 查看、创建、删除、重命名分支

文章目录1. 前言2. 查看分支3. 创建分支4. 删除分支5. 重命名分支1. 前言git branch 用于查看、创建、删除分支、重命名分支,通过不同的命令参数实现相应的功能2. 查看分支不带参数:列出本地分支(远程分支不会显示),并且在当前分支前面使用 * 标记git branch-r参数: 列出远程分支,本地分支不会显示git branch -r-a参数: 查看所有分支列表,包含本地分支和远程分支git branch -a查看本地分支对应的远程分支git branch

2021-09-06 11:02:11 608 1

原创 MySQL5.7 中使用 group by 报错 this is incompatible with sql_mode=only_full_group_by

文章目录1. 报错场景2. 问题分析3. 查看sql模式4. 解决方案(去除 `ONLY_FULL_GROUP_BY`)1. 报错场景在sql语句中使用 group by 报错SELECT FROM `user` GROUP BY `gender`;SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains

2021-08-28 22:52:57 1781 1

原创 微擎应用:安装、更新、卸载

文章目录1. 前言2. manifest.xml3. 安装模块执行 install.php4. 卸载模块执行 uninstall.php5. 模块升级时执行 upgrade.php1. 前言微擎开发文档:https://wiki.w7.cc/chapter/35?id=1520应用发布后,开发者如果想在用户安装、更新、卸载应用时,安装一些数据表,变更一些数据表或是执行一些脚本,可以通过在 manifest.xml 中进行设置。2. manifest.xmlmanifest.xml 文件中的 i

2021-07-24 10:54:08 1158

原创 EasyWechat 4.x 微信小程序企业付款到零钱

1. 前言单次提现金额要求在 0.3 元 - 5000 元之间企业付款到零钱需要使用商户证书, 当配置的证书错误时会抛出异常, 而不是以返回值的形式返回EasyWechat 4.x 企业付款 : https://easywechat.com/docs/4.x/payment/transfer微信支付开发文档 : https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_12. 执行提现特别注意: 证书配置错误时会抛

2021-05-27 23:33:15 1389 6

原创 TP6.0 自定义异常处理类

1. 拷贝框架自带的 应用异常处理类, 另存一份复制 app/ExceptionHandle.php, 另存为 app/ApiExceptionHandle.php在 ApiExceptionHandle.php 中的 render() 方法中 自定义异常处理机制public function render($request, Throwable $e): Response{ // 添加自定义异常处理机制 if ( $e instanceof HttpException ) {

2021-04-30 01:02:32 1115

原创 TP6.0 调试模式下关闭Trace调试

1. 在 TP6.0 当前最新版 (v6.0.7) 中默认安装的时候会自动安装 topthink/think-trace 扩展在调试模式下浏览器右下角会出现trace信息, 此时无法手动关闭 Trace 调试, 只有切换到部署模式 trace 调试才会关闭2. 如何在调试模式下关闭 trace 调试在TP6.0最新版中, 调试模式下是无法关闭 trace 调试的但是可以通过移除 topthink/think-trace 扩展来关闭 trace 信息通过查看框架根目录下的 composer.j

2021-04-21 00:39:27 2187

原创 在 github上添加 SSH 公钥

1. 使用 git clone 拉取 github 项目时报错$ git clone [email protected]:shinyboys/test.gitCloning into 'test'[email protected]: Permission denied (publickey).fatal: Could not read from remote repository.Please make sure you have the correct access rightsand the

2021-04-15 09:28:51 681 1

原创 TP6.0 自定义命令创建类文件

文章目录一、修改框架核心扩展包1. 新增指令配置项2. 创建逻辑层类文件模板3. 创建 `Logic.php` 文件4. 执行命令, 创建逻辑层类文件二、不用修改框架源码1. 创建一个自定义命令类文件 (以逻辑层类文件为例)2. 复制创建模型类的命令定义文件内容3. 拷贝命令行生成模型类的模板4. 将自定义命令添加到指令配置文件 `config\console.php`5. 执行自定义命令, 创建逻辑层类文件一、修改框架核心扩展包1. 新增指令配置项打开文件vendor\topthink\fram

2021-04-11 01:11:59 894

原创 phpoffice/phpexcel 导出Excel表格数据

1. 下载扩展包composer require phpoffice/phpexcel2. 导出数据封装在TP中使用时可以将以下类文件放入 extend 目录<?php/** * 导出数据 * PHP7.2版本以下推荐使用 phpoffice/phpexcel * PHP7.2版本以上推荐使用 phpoffice/phpspreadsheet * composer require phpoffice/phpexcel */class Excel{ /**

2021-04-04 21:31:20 674

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除