自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于VueCli项目中如何加载调试Worker和SharedWorker

关于VueCli项目中如何加载调试Worker和SharedWorker

2024-04-03 17:56:22 527

原创 关于在手机端各类机型,浏览器图片上传兼容问题

关于在手机端各类机型,浏览器图片上传兼容问题

2023-12-06 12:58:54 161

原创 配置Coding私有制品库Yarn和NPM

【代码】配置Coding私有制品库Yarn和NPM。

2023-12-05 15:21:46 98

原创 Vue单页应用路由返回参数记忆处理方式(推荐)

实现原理,通过注入 Mixin 的方式,通过判断路由是否子页面返回,如果是则调用返回进入方法,否则调用其他方法,通过监听路由离开,记录需要记录的参数,通过SessionStorage记录避免被别的应用混淆,然后在返回进入页面的情况下传入方法。Vue页面中调用方法。

2023-01-03 13:52:17 416 1

原创 Js使用水桶简单方便实现同步加载

场景需要所有接口加载完毕后再进行处理事情需要优化多个 http/IO 接口嵌套导致性能变慢需要多个任务完成后再进行处理回调看代码/* * 无数据水桶(仅用于同步加载回调) */function pail(len) { return { len: len, num: 0, t_fun: null, c_fun: null, // 设置正确回调 then: function (fun) {

2020-12-02 11:29:21 293 1

原创 史上最叼PHP实现布隆过滤器

简介先放代码了/** * BitSet 模拟BitSet 在PHP中可以使用PHP代替 */class BitSet { protected $bit = []; public function add($index) { $this->bit[$index] = 1; } public function has($index) { if(isset($this->bit[$index])) {

2020-12-01 13:33:19 1362

原创 史上最屌JS的原型和原型链

构造函数创建对象:function Person() {}var person = new Person();person.name = 'Kevin';console.log(person.name) // KevinPerson 就是一个构造函数,我们使用 new 创建了一个实例对象 personprototype每个函数都有一个 prototype 属性每一个JavaS...

2020-08-20 15:31:51 101

原创 PHP金额转换成分互转

/** * @param int|string $var * @return string */function intToFloat($var) { $var = floatval($var); $var = $var / 100.00; return round($var, 2);}/*** @param float|string $var* @return float|int*/function floatToInt($var) { $var = floatval($v

2020-06-01 16:27:46 712

原创 PHP完美合并多维数组

/** * 是否索引数组 * @param array $arr * @return bool */function is_assoc(&$arr) { return (bool) count(array_filter(array_keys($arr), 'is_string'));}/** * 合并两个多维数组 * @param array $a1 * @param array $a2 * @return array */function array_merge

2020-05-30 13:28:14 2185

原创 PHP实现版本号整数和字符串互转

版本号格式000.000.000请查看代码/** * 版本号转整数 例如 1.0.0=001.000.000=001000000=1000000 * @param string $ver * @return int */function versionToInteger($ver) { $ver = explode(".", $ver); $v1 = sprintf('%03s', (int) $ver[0] ?? 0); $v2 = sprintf('%03s',

2020-05-26 15:48:23 684 1

原创 JQ 序列化后数组表单后 的字符串转换为数组 Json

#需求背景1.如果表单 <input /> 的 name 等于数组类型的时候 例如<input type="checkbox" name="plugins[0][multi_merchant]" title="多商户" checked><input type="checkbox" name="plugins[1][multi_merchant]" title="...

2020-04-30 14:46:47 485

原创 关于微信公众号短链接数量和时效说明

关于微信公众号短链接数量和时效说明经过测试 微信公众号.短链接 的时效是 经过三天后仍然可以访问 判定是永久类型,根据短链接实现原理判定经过测试 微信公众号.短链接 在 微信公众平台.接口权限 上面显示的数字 0/100000 代表的是 每天调用次数 而不是总数...

2019-12-13 10:43:59 2526

原创 短网址应用实现方式

短网址应用实现方式众所周知,短网址是通过将用户的链接 通过算法进行缩短网址 并且返回 跳转地址那么怎么去缩短这么长的一个英文+数字和符号的网址呢?,用 进制算法 明显还是太长了所以,聪明的程序员 通过将用户的网址 存放到数据库中 那么当 只缩短数字ID 明显就很简单的了例如,32位字母转换成5位字符的组合,通过 组合算法 我们就可以计算出 5位字符能容纳的地址长度但是 地址这个数量是无...

2019-12-11 14:45:04 224

原创 EasyWechat 公众号 AccessToken 共享方案

EasyWechat 公众号 AccessToken 共享方案配置 EasyWechat 缓存方式采用 Redis例如 公众号 缓存 Cache Key 的生成方式如下$cacheKey = "easywechat.kernel.access_token." . md5(json_encode([ 'grant_type' => 'client_credential', ...

2019-12-10 21:34:52 3393

原创 第四方授权实现方式

准备工作应用域名 http://dome.com + /page_10086第四方授权域名 http://auth.com + /auth/get如果只有一个公众号和一个授权域名的话,请通过 Nginx 转发 ~/three_auth/ 到第四方授权应用微信授权域名 http://wx.com + /auth最终效果例如应用的页面 http://dome.com/page...

2019-12-06 12:33:47 243

原创 PHP颜色十六进制转化为RGB

PHP颜色十六进制转化为RGBfunction hColor2RGB($hexColor){ $color = str_replace('#', '', $hexColor); if (strlen($color) > 3) { $rgb = array( 'r' => hexdec(substr($color, 0, 2)), 'g' => hexdec...

2019-11-17 14:13:25 304

原创 PHP根据IP获取城市名称

PHP根据IP获取城市名称/** * 根据 ip 获取 当前城市 */function get_city_by_ip(){ if (!empty($_SERVER["HTTP_CLIENT_IP"])) { $cip = $_SERVER["HTTP_CLIENT_IP"]; } elseif (!empty($_SERVER["HTTP_X_FORWARDED_FOR"])) ...

2019-11-17 14:11:52 639

原创 CentOS Yum命令详解

CentOS Yum命令详解yum check-update 检查可更新的所有软件包yum update 下载更新系统已安装的所有软件包yum upgrade 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级yum install 安装新软件包yum update 更新指定的软件包yum remove 卸载指定的软件包yum groupinstall 安装指定软...

2019-11-15 11:41:48 161

原创 生成数组唯一标识,数组任意更改顺序和字段,适合表单版本标识生成

生成数组唯一标识,数组任意更改顺序和字段,适合表单版本标识生成该数组唯一标识生成算法,仅适合数组元素值唯一最近为了搞一个自定义表单,并且为该自定义表单设置一个唯一的版本标识例如:有那么一个需求,例如我每次提交 字段所在的顺序是不一样的// 例如:有 字段A:1, 字段B:2, 字段C:3 并且每次提交顺序let arrA = [1,2,3];let arrB = [2,1,3];...

2019-11-14 11:47:24 807

原创 头条.字节跳动、算法题目完成

头条.字节跳动、算法题目完成闲着无聊就看到一个 CSDN 博主发的 字节跳动面试题其中有一道最为好玩 掉头发的题目所以我闲着无聊、掉几根头发试试,哈哈!!!let sj = [0,1,0,2,1,0,1,3,2,1,2,1];let jiSum = 0;let startIndex = 0;let endIndex = 0;do { // 找到结束点索引 l...

2019-11-14 02:58:51 288 1

原创 浏览器Js复制,兼容iOS、Android、微信、所有浏览器

浏览器Js复制,兼容iOS、Android、微信、所有浏览器代码是阅读强大的浏览器复制插件 clipboard.js 提取出来的精华部分目前在 微信浏览器 谷歌浏览器 iOS浏览器 Vivo浏览器 Uc浏览器 进行测试过关于复制 移动端 需要注意的点微信浏览器对于 执行浏览器 Copy 命令做了一定的限制只有在 <Document>.onClick() 的事件中才能进行...

2019-11-14 00:57:10 1100

原创 PHP、Go如何高性能的生成4-5位不重复的抽奖码

如何高性能的生成4-5位不重复的抽奖码首先我们明确一点 我们需要 单个抽奖 里面的 每条参与记录的抽奖码 都是唯一的并且还需要明确一点 抽奖码 必须要 短 而且还不能 重复那么怎么办呢?用 雪花算法 明显不太可能,而且生成的数字 还长 是 长整形所以我们得用 进制算法 通过增加 进制位字符 进行缩短 十进制的字符那么我们如何得到 单个活动 唯一的参与抽奖码 呢?我们可以通过这样...

2019-11-09 14:21:10 831

原创 PHP打乱字符串,生成随机字符串

$bas = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";$bas = str_split($bas, 1); // 按照字符长度分割; 长度 1shuffle($bas); // 随机打乱数组排序$bas = implode("", $bas); // 将数组合并为字符串echo($bas);...

2019-10-31 13:15:43 456

原创 PHP进制算法、十六进制、N进制、算法原理

原理字符:"0123456789ABCDEF除16取余数得最低1位,然后把商继续除得第2位,直到商等于065036 除 16,余数 12©,商40644064 除 16,余数 0(0),商254254 除 16,余数 14(E),商1515除16,余数 15(F),商0,结束得16进制为 FE0C代码<?phpfunction L($str) { echo ...

2019-10-30 23:48:00 320

原创 Html、Js 如何计算字体大小(实际宽度+实际高度)

原理: html 中的 span 标签 会对字体进行自适应宽度高度的处理通过添加一个 span 到 body 容器中得到字体的实际宽度和高度后然后删除 span 标签/** * 计算字体大小 */function computeFontSize(str, size, family) { let spanDom = document.createElement("span")...

2019-10-30 22:07:34 6445

原创 关于排行榜的实现思路

需求需要知道当前用户的排名需要知道前100名的用户说明一般排行榜都不会做全局排名查询,因为要统计全部数据实在是太消耗性能了,一般都会做前100名,前N名假设数据ranks { {user:'张一', score:'100'}, {user:'张二', score:'90'}, {user:'张三', score:'80'}, {user:'张四', score:'70'...

2019-10-18 11:14:36 3896

原创 抽奖高并发实现流程逻辑

抽奖高并发实现流程逻辑抽奖高并发实现流程逻辑业务说明队列说明提供接口说明发布抽奖-流程参与抽奖-流程结算抽奖-流程是否中奖-流程抽奖高并发实现流程逻辑首先我们会采用 Laravel (服务端处理程序) + Redis(高速缓存) + Mysql\MongoDB(持久存储) 的形式本文章只会展示实现逻辑以及流程图,并不会直接展示代码,里面涉及到一些知识如果有不明白欢迎提问业务说明我们...

2019-10-04 17:09:23 1468

原创 推荐几款活体验证插件

行为验证 首推 geetesthttp://www.geetest.com/Sensebot自己写验证码 不推荐,然后后面没用过先不推出来了

2019-07-20 07:25:56 1437

原创 推荐几款好用的Web编辑器,以及常用的Web编辑插件

代码编辑器 首推 monaco-editorhttps://microsoft.github.io/monaco-editor/Markdown语法编辑器 首推 Editor.mdhttps://pandao.github.io/editor.md/examples/富文本编辑器 首推 UEditorhttps://ueditor.baidu.com/website/onlined...

2019-07-20 07:16:17 8945

原创 浏览器无刷新下载

浏览器无刷新下载原理通过Js创建一个a标签,然后模拟点击实现下载的方式。// 无刷新下载数据let downloadData = function(data, name){ if(!data){ return } // let url = window.URL.createObjectURL(new Blob([data])); let l...

2019-07-19 09:56:37 138

原创 Android 反编译解决方案

Android 反编译解决方案使用工具工具介绍反编译流程一、apk反编译得到程序的源码、图片、XML配置、语言资源等文件二、Apk反编译得到Java源码三、图形化反编译apk(本人未使用过)后记、Android如何防止apk程序被反编译知识来源使用工具apktool 谷歌下载地址:https://code.google.com/p/android-apktool/downloads/list...

2019-05-12 11:14:25 110

空空如也

空空如也

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

TA关注的人

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