skume
码龄13年
  • 81,323
    被访问
  • 35
    原创
  • 37,171
    排名
  • 11
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2009-03-18
博客简介:

sku

博客描述:
狂奔的蜗牛
查看详细资料
  • 3
    领奖
    总分 200 当月 12
个人成就
  • 获得30次点赞
  • 内容获得7次评论
  • 获得91次收藏
创作历程
  • 2篇
    2022年
  • 2篇
    2021年
  • 16篇
    2020年
  • 17篇
    2019年
成就勋章
TA的专栏
  • 前端
    14篇
  • Java
    2篇
  • 运维
    1篇
  • Framework
    1篇
  • Ubuntu
    1篇
  • Android
    4篇
  • Windows
    3篇
  • 安装部署
    4篇
  • Visual Studio
  • PHP
    5篇
  • Centos
    1篇
  • C
    3篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

ThinkPHP6 访问频率限制,接口限制

TP在国内应该是使用比较广泛的PHP框架之一,尤其是在对外提供接口的业务上。为了节省服务器资源,防止非法采集,提供更好的用户体验,因此很多开发者都需要考虑接口访问频率的问题。下面介绍一下如何在TP6上实现这一功能。首先我们安装一下第三方的模块:composer require topthink/think-throttle提示:composer 类似 Node Vue React 使用的 npm,也就是包管理工具,采用 composer 进行安装可以方便管理各种依赖。进入到 TP 项
原创
发布博客 2022.03.18 ·
652 阅读 ·
0 点赞 ·
0 评论

Javascript 添加前导零,给数字补位0

比如我们常见的时间格式时分秒 00:00:00,如果用12小时制表示通常是 12:06:01,如果不补零看起来就比较难看,不规整。那用 Js 怎么处理,很多人常用的方法就是判断是否小于10,如果小于就补0,大于等于就不补。var hours = 8;var minutes = 10;var time;time = hours < 10 ? '0' + hours : hours;time += ':';time += minutes < 10 ? '0' + minutes
原创
发布博客 2022.03.10 ·
362 阅读 ·
1 点赞 ·
1 评论

Vue 监听对象属性值

在项目引用了 Vant UI 的 Popover组件,该组件规定弹出菜单的名称为 text,但我在后台得到的数据是 name,如果是一次性的话可以在获取数据后直接赋值,但是后期需要根据输入框的变化动态调整 Popover 组件菜单项的名字,所以才想到去绑定对象的属性值,一开始想到的是如何去监听 watch,其实计算属性完全可以实现。<van-form @submit="onSubmit"> <van-field v-model="menuName"
原创
发布博客 2021.12.29 ·
318 阅读 ·
0 点赞 ·
0 评论

网页不能自动播放视频、音频的解决方案

至于原因,就是谷歌以及基于 Chromium 开发的浏览器自身限制,出发点是影响用户体验,想想也是,万一,一不小心点开哪个网页,突然播放一些乱七八糟的声音,而且特别大声,估计谁也受不了。考虑到目前地球上绝大多数浏览器都是基于开源的Chromium 开发,而且浏览器厂商也统一静止了自动播放,我们就不得不想办法着手解决这个问题。先看看大厂们是怎么解决的,比如优酷、B站是可以自动播放视频的,那它们是怎么做的?研究了一下,它们是以静音的方式开启自动播放,然后提示用户手动打开音量。<vid.
原创
发布博客 2021.10.13 ·
662 阅读 ·
0 点赞 ·
0 评论

HtmlTextView 处理图片点击事件

HtmlTextView 是一个开源的 Android HTML 展示库,支持常用的HTML的标签,以及图片展示,其中 <a>标签支持设置监听,而 <img /> 标签未实现,本文介绍如何快速设置图片点击监听。开源库地址:https://github.com/SufficientlySecure/html-textview一、在项目的模块中引入implementation 'org.sufficientlysecure:html-textview:4.0'二、在布.
原创
发布博客 2020.12.30 ·
246 阅读 ·
0 点赞 ·
2 评论

js 将数字转成 k w 方式显示

有时候数字很长,为了美化显示效果,通常会将数字转换成多少k多少w显示,就像现在喜欢说你工作多少k。function formatNumber(num) { return num > 1e3 ? (num / 1e3).toFixed(1) + 'k' : num > 1e4 ? (num / 1e4).toFixed(1) + 'w' : num}...
原创
发布博客 2020.10.01 ·
2394 阅读 ·
3 点赞 ·
0 评论

Vue 使用 moment.js 时间类库

第一种:原型链上挂载import Vue from 'vue';import Moment from 'moment'; // 引入, NPM使用 npm install moment --save 安装Vue.prototype.$moment = Moment; // 挂载new Vue({ ... ...})脚本中使用 this.$momentexport default { data: function() { return
原创
发布博客 2020.10.01 ·
320 阅读 ·
0 点赞 ·
0 评论

js获取数组第一个和最后一个元素

Array.pop()该方法会返回数组的最后一个元素,但同时也会从数组中删除该元素,所以使用需谨慎。解决办法,拷贝数组再进行操作,代码如下var arr = [1, 2]var el = arr.pop()console.log(el)console.log(arr)// el 结果 2// arr 结果 [1]// 替换方法[...arr].pop()Array.length通过获取数组的长度再减去一就可以得到数组最后一个元素的下标,这个方法比较常用。
原创
发布博客 2020.09.28 ·
18868 阅读 ·
1 点赞 ·
0 评论

ArrayList 复制

有时候需要取出 List 中的元素然后从 List 删除该元素就需要复制一份在操作,这里列举一种最简单的方法。ArrayList<String> sourceList = new ArrayList<>();sourceList.add("Robin");sourceList.add("Rose");sourceList.add("David");// 复制ArrayList<String> targetList = new ArrayList<
原创
发布博客 2020.08.02 ·
440 阅读 ·
1 点赞 ·
0 评论

Promise 封装实现递归二次调用

最近一个小问题困扰我,就是在小程序中请求某个 API 会低概率出现 502 的现象,但重新访问又可以。由于请求是异步的,所以封装成了 Promise 方便调用,在此基础上想实现 502 重连,就是访问出错重新连接。function request(url) { return new Promise((resolve, reject) => { wx.request({ url, success: res => {
原创
发布博客 2020.06.20 ·
352 阅读 ·
0 点赞 ·
0 评论

一个微信小程序下载保存视频的模块,支持进度显示

网上有很多类似的封装模块,大部分都很拖沓的,自己也尝试写了一个支持进度显示。封装好的代码,代码量很少但调用很方便,有完整的事件监听,将它保存为 saveFileUtil.jsfunction downloadFile(url, listener) { listener.onStart && listener.onStart() const task = wx.downloadFile({ url, success: res => { ..
原创
发布博客 2020.06.03 ·
999 阅读 ·
1 点赞 ·
0 评论

JS数组中两个元素交换位置

假设将一个数组的首尾互换一下,利用数组的 splice 替换元素方法很轻松就办到。var arr = [ { id: 0, name: 'Rose' }, { id: 1, name: 'Robin' }, { id: 2, name: 'Tom' }]var sourceIndex = 0var targetIndex = arr.length - 1ar..
原创
发布博客 2020.05.24 ·
9799 阅读 ·
4 点赞 ·
1 评论

【js技巧】Javascript中 ! 与 !! 的用法

! 运算符都用过,取反的意思,比如在做逻辑判断的时候,它作用就是转换数据为布尔值然后取反。var today = new Date().getDay()if (!today) { console.log('礼拜天')}而 !! 则是双重取反,负负得正嘛,可以得到该数据的布尔类型,相当于简变了布尔值的转换,经常用于强转布尔值的简写。var a = "hello"var b = 2020var c = nullconsole.log(Boolean(a), ...
原创
发布博客 2020.05.23 ·
163 阅读 ·
0 点赞 ·
0 评论

【JS技巧】巧用 apply 给函数传递参数数组

先看例子prompt("请输入联系方式", "手机/邮箱/QQ");prompt 接受两个参数,一个是显示的提示文本,还有一个输入框的默认值。但有的时候我们的参数是一个数组形式,为了简便高效,通常会用apply 方法巧妙的给函数传递数组参数。var content = "请输入联系方式,手机/QQ/邮箱";prompt.apply(this, content.s...
原创
发布博客 2020.03.29 ·
1144 阅读 ·
0 点赞 ·
0 评论

【JS技巧】三元条件运算组合嵌套使用

三元运算是一个固定的表达式:条件 ? 结果: 结果new Date().getDay() == 0 ? '礼拜天' : '上班吧'
原创
发布博客 2020.03.25 ·
1841 阅读 ·
1 点赞 ·
0 评论

JS 模板语法 ES6

ES6中引入一种新的模板语法,使用 `` 包裹的字符可以直接输出,然后使用 ${} 去处理表达式。let title = 'ES6模板语法';let template = ` <span class="media-title">${title}</span>`;console.log(template);// 结果<span class=...
原创
发布博客 2020.03.09 ·
802 阅读 ·
0 点赞 ·
0 评论

JS 中的 && 与 || 运算

&&、|| 是逻辑运算符,一般用作条件判断,但很多情况还可以用在赋值运算,使用起来很方便。举个例子var a = a || {};var b = 0 || 2;// 结果// a => {}// b => 2再看个例子var a = 0 && 1;var b = 1 && 2 && 3...
原创
发布博客 2020.03.09 ·
99 阅读 ·
0 点赞 ·
0 评论

Windows10 子系统 Ubuntu 设置开机启动【ssh】

由于 Ubuntu 18.4 已经废弃了 initd 管理模块,改用systemd,而作为 Windows的子系统是不支持systemd,显然得另辟蹊径。为了实现 ssh 服务能开机启动,现在只能通过自定义 shell 脚本达到目的。#! /bin/sh# startup ssh service.service ssh start将文件保存在/etc/sshd...
原创
发布博客 2020.01.08 ·
2721 阅读 ·
0 点赞 ·
0 评论

创建 git 私有仓库

准备工作确保客户端和服务器都安装了 gitCentos 执行yum install gitUbuntu 执行apt install gitWindowshttps://git-scm.com/download/win查看版本git --version服务器启用证书登录为服务器远程登录创建密匙ssh-keygen -t rs...
原创
发布博客 2020.01.06 ·
408 阅读 ·
0 点赞 ·
0 评论

家里的电脑如何搭建网站【电信宽带】

如果要实现家庭宽带的外部访问,首先要申请公网IP,然后做端口映射即可,就是这么简单。如果无法获得公网IP,那只能做内网渗透,自己花钱买服务器搞,或者用一些第三方的服务,比如花生壳【不推荐】第三方的服务到处是收费陷阱,包括带宽限制(1M),不推荐,当然你不差钱无所谓。一、申请公网IP一般直接打电话或者联系宽带运营商在线客服,爽快的都会给,或者犹犹豫豫的也可以磨磨嘴皮子。(仅限电...
原创
发布博客 2020.01.03 ·
3364 阅读 ·
0 点赞 ·
0 评论
加载更多