自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

樊小书生

多看代码,多看书,付出总会有收获的

  • 博客(222)
  • 资源 (18)
  • 收藏
  • 关注

原创 泛积木-低代码 使用攻略

泛积木-低代码通过以上的一些创新思路提供更加高效、便捷的开发,助力您更好、更快的实现功能上线。上面是对 泛积木-低代码 总纲介绍使用,详情可以查看使用指引来更全面的了解。

2023-10-28 22:21:42 751

原创 泛积木-低代码

泛积木-低代码 最大的特色 就是 **零前端** ,包含可视化页面编辑器,页面的开发不再局限于前端工程师,后端工程师、甚至不懂代码的也可以通过页面拖拽、配置生成页面。如果您是后端开发,接收外包项目,处于无前端的尴尬,泛积木-低代码 可以帮您解决,并让您把控整个项目;如果您们团队的主力研发都是后端,可以使用 泛积木-低代码 正常开发项目功能,并节省人力及时间成本。

2023-07-01 18:22:39 1090

原创 type-challenges(ts类型体操): 20 - Promise.all

20 - Promise.all:给函数`PromiseAll`指定类型,它接受元素为 Promise 或者类似 Promise 的对象的数组,返回值应为`Promise`,其中`T`是这些 Promise 的结果组成的数组。

2026-02-03 22:05:44 764

原创 type-challenges(ts类型体操): 16 - 排除最后一项

16 - 排除最后一项:实现一个泛型`Pop`,它接受一个数组`T`,并返回一个由数组`T`的前 N-1 项(N 为数组`T`的长度)以相同的顺序组成的数组。

2026-02-02 22:26:46 607

原创 type-challenges(ts类型体操): 15 - 最后一个元素

15 - 最后一个元素:实现一个`Last`泛型,它接受一个数组`T`并返回其最后一个元素的类型。

2026-01-31 13:49:58 447

原创 type-challenges(ts类型体操): 14 - 第一个元素

14 - 第一个元素: 实现一个`First`泛型,它接受一个数组`T`并返回它的第一个元素的类型。

2026-01-31 13:44:20 637

原创 type-challenges(ts类型体操): 12 - 可串联构造器

12 - 可串联构造器:在这个挑战中,你可以使用任意你喜欢的方式实现这个类型 - Interface, Type 或 Class 都行。你需要提供两个函数 `option(key, value)` 和 `get()`。在 `option` 中你需要使用提供的 key 和 value 扩展当前的对象类型,通过 `get` 获取最终结果。

2026-01-31 13:38:31 838

原创 type-challenges(ts类型体操): 11 - 元组转换为对象

11 - 元组转换为对象:将一个元组类型转换为对象类型,这个对象类型的 键/值 和元组中的元素对应。

2026-01-30 23:20:11 855

原创 type-challenges(ts类型体操): 10 - 元组转合集

10 - 元组转合集:实现泛型`TupleToUnion<T>`,它返回元组所有值的合集。

2026-01-30 23:14:05 581

原创 type-challenges(ts类型体操): 9 - 对象属性只读(递归)

9 - 对象属性只读(递归):实现一个泛型 `DeepReadonly<T>`,它将对象的每个参数及其子对象递归地设为只读。

2026-01-29 23:18:08 1142

原创 type-challenges(ts类型体操): 8 - 对象部分属性只读

8 - 对象部分属性只读:实现一个泛型`MyReadonly2`,它带有两种类型的参数`T`和`K`。类型 `K` 指定 `T` 中要被设置为只读 (readonly) 的属性。如果未提供`K`,则应使所有属性都变为只读,就像普通的`Readonly`一样。

2026-01-29 23:11:29 938

原创 type-challenges(ts类型体操): 7 - 对象属性只读

7 - 对象属性只读:不要使用内置的`Readonly<T>`,自己实现一个。

2026-01-28 22:43:47 492

原创 type-challenges(ts类型体操): 4 - 实现 Pick

4 - 实现 Pick:不使用 Pick<T, K> ,实现 TS 内置的 Pick<T, K> 的功能。

2026-01-28 08:28:23 275

原创 type-challenges(ts类型体操): 3 - 实现 Omit

3 - 实现 Omit:不使用 `Omit` 实现 TypeScript 的 `Omit<T, K>` 泛型。

2026-01-27 23:12:39 547

原创 type-challenges(ts类型体操): 2 - 获取函数返回类型

2 - 获取函数返回类型:不使用 `ReturnType` 实现 TypeScript 的 `ReturnType<T>` 泛型。

2026-01-27 23:02:59 726

原创 slidev-addon-infographic 年终总结程序员必备的PPT精美图表

slidev-addon-infographic 是为了在 Slidev 中快速添加 @antv/infographic 图表而设计的插件。 Slidev 是为开发者打造的演示文稿工具。

2026-01-27 08:43:48 507

原创 为了实现接口缓存,专门写了个缓存库 f-cache-memory

后面突然想到我可以在请求之前做检测,当对应接口已经在缓存中时,就直接返回当前缓存中的值,缓存不存在再发起,这个时候肯定会想那第一个已经发起的还未返回的,后续相同接口从缓存中拿到的值如何出发后续逻辑呢?起因是某次发版之后,服务器接口压力过大,当场宕机,排查之后发现有个接口在首页被调十来次(六七年的老项目了,都是泪呀),后端反馈这个接口的sql很复杂,很耗性能,临时把这个接口放到登录后只执行一次,数据缓存在。搞了搞又发现个问题,当某个请求已发起,但是还没返回,这个时候这个请求又发起了,这不没解决问题。

2024-07-20 23:59:33 1215

原创 人人都可配置的大屏可视化

大屏主要是为了展示数据和酷炫的效果,布局大部分是9宫格,或者在9宫格上做的延伸,现在介绍下 泛积木-低代码 提供的大屏可视化配置。首先查看效果展示。创建页面之后,点击进入编辑页面,在可视化编辑器左侧组件往下翻,找到自定义组件中的,将 大屏布局组件 拖入页面,可以看到下面的成果:拖入的 大屏布局组件 将使用基础配置,并且已经自带了缩放容器组件。

2024-01-30 21:32:19 2040

原创 泛积木-低代码 搭建 增删改查

文章首发于。这里我们以增删改查作为示例,演示下从页面创建到各个功能齐全。

2023-07-15 17:31:45 591

原创 CXXABI_1.3.8 not found

文章首发于。当在 CentOS 7 安装时会遇到。

2023-07-15 17:21:52 3033

原创 minimal-mock 极简 mock 服务

[minimal-mock](https://github.com/fxss5201/minimal-mock) 极简 mock 服务,采用 [koa](https://github.com/koajs/koa) 搭建,支持全局配置及多种数据格式。> 什么是 Mock 数据:在前后端约定好 API 接口以后,前端可以使用 Mock 数据来在本地模拟出 API 应该要返回的数据,这样一来前后端开发就可以同时进行,不会因为后端 API 还在开发而导致前端的工作被阻塞。

2023-03-04 18:10:17 763

原创 React echarts封装

做大屏的时候经常会遇到 echarts 展示,下面展示在 React (^18.2.0) 中对 echarts (^5.4.0) 的简单封装。文章首发于。

2023-02-26 12:34:51 1218

原创 Vue echarts封装

做大屏的时候经常会遇到 echarts 展示,下面展示在 Vue2.7 / Vue3 中对 echarts (^5.4.0) 的简单封装。文章首发于https://blog.fxss.work/vue/echarts封装.html,样例查看如下演示 echarts 封装使用:可以将如下代码拷贝到项目运行,更方便查看效果

2023-02-26 10:38:18 1384

原创 chrome多tab页video播放问题

最近在做大屏项目,在研发测试阶段,一切正常,在投放线上的时候,线上是在一台机器上同时打开10来个chrome tab页,这个时候测试反馈说线上查看的时候页面视频很卡,页面刷新视频就动了一下就不动了,我在自己本地页面也试了下,chrome 同时打开 10 个 tab 页播放视频,确实是视频动了一下就不播放了。视频多是采用如下方案,进入页面之后自动播放:或者按理说是没问题的,最后在网上查资料,说是可能硬件加速的一些问题,在 chrome 浏览器的搜索框中搜索 , 在页面中再搜索 :需要将上述两项搜索结果

2022-12-04 11:51:44 3699 1

原创 Vue2.7 setup 中使用vue-router、vuex

但 vue-router 3.6.5 和 vuex 3.6.2 版本并不支持组合式API的写法,这个时候需要对 vue-router 和 vuex 做兼容处理,以便使用组合式API。要在 vue devtools 查看页面中的内容信息,需要将 vue devtools 升级到 6.2.0 以上版本。经过测试,两者功能均正常,但是在组合式API中 vuex 的。也就是当前安装 Vue 2.7.14 版本,支持。辅助函数是无法使用的。

2022-11-17 12:40:14 8927 3

原创 tailwindcss 一览表

tailwindcss 包含丰富的样式定义,且支持自由配置,可在项目中统一使用,减少 css 定义,将 css 声明写入 html ,查看 html 代码即可知道 css 样式。

2022-11-14 10:35:27 3929

原创 web 签字板实现

签字板 主要适用于 电子签名,比如购买贵重物品的时候,可能就需要使用电子签名。使用效果可点击查看,可以直接在上面进行手动签名,拿到签名信息后保存到服务器端。signaturePad 组件放置于 ,在需要使用的组件中局部注册使用。通过 `ref`` 可以获取到 SignaturePad 实例并调用实例方法。......

2022-06-16 20:11:34 1445

原创 vuepress搭建带有移动端展示的文档

VuePress 是一个以 Markdown 为中心的静态网站生成器。你可以使用 Markdown 来书写内容(如文档、博客等),然后 VuePress 会帮助你生成一个静态网站来展示它们。本文是使用 vuepress 搭建类似于 vant 文档,右侧带有移动端展示。先看下成果:shop-m使用文档 ,左侧是文档,右侧带有移动端展示,且会根据不同的文档页面,移动端跳转到对应的页面展示。VuePress自定义VuePress 提供的默认主题就挺好的,我们使用 布局插槽 来完成我们的功能。默认主题的 L

2022-05-30 19:14:38 1285 2

原创 小程序横屏兼容处理

小程序竖屏采用 rpx 自适应,横屏采用 vmin 自适应,提供 rpx/px 到 vmin 的转译。

2022-04-11 21:45:53 2114

原创 cmock 可视化操作

cmock新增可视化功能,包含如下:1. 右上角搜索服务,支持搜索接口名称、接口url、接口mock文件名2. 右上角新增接口mock文件3. 左侧菜单对应配置的 mock 文件目录中的 mock 文件4. 修改接口配置mock文件5. 删除接口mock文件6. 尝试发送接口请求,及时预览接口返回结果

2022-04-04 19:38:37 1263

原创 使用 js 实现 字典

字典是一种以 键值对 形式存数数据的数据结构,javaScript 中的 Object 类就是以字典的形式设置的,所以使用 Object 类本身的特性实现字典 Dictionary 类。属性及方法列表属性或方法描述add方法add(key, value) 向字典中添加 键值对find方法find(key) 从字典中查找 key 键对应的值,找不到则返回 undefinedremove方法remove(key) 从字典中删除 key 键getKeys方

2022-02-05 14:28:02 5531

原创 使用 js 实现 链表

链表是由一组节点组成的集合。单向链表每个节点都使用一个对象的引用指向它的后驱,指向另一个节点的引用叫做链。在链表的最前面有一个特殊节点,叫做头节点。单向链表插入向链表中插入一个节点,需要修改它前面节点(前驱)的链,使其指向新加入的节点,新加入的节点的链指向原来前驱指向的节点。单向链表删除从链表中删除一个节点,将待删除节点的前驱节点的链指向待删除节点的后驱节点,同时将待删除节点的链指向 null 。单向链表属性及方法列表属性或方法描述find方法find(item)

2022-02-04 22:20:59 1225

原创 使用 js 实现 队列

队列是一种特殊的列表,队列只能在队尾插入元素,在队首删除元素。队列用于存储按顺序排列的数据,先进先出。参数接收的参数为数组类型。属性及方法栈的抽象数据类型定义列表属性或方法描述enqueue方法向队尾加入一个元素dequeue方法删除队首的元素front方法读取队首元素back方法读取队尾元素toString方法返回队列的字符串形式clear方法清空队列length方法返回队列内元素的个数empty方法

2022-02-02 22:08:29 1470

原创 使用 js 实现 栈

栈是一种特殊的列表,栈内的元素只能通过栈顶访问,栈是一种后入先出的数据结构。参数接收的参数为数组类型。属性及方法栈的抽象数据类型定义列表属性或方法描述top属性记录栈顶元素的位置,同时也为了标记哪里可以加入新元素,当向栈内压入元素时,top 增大,从栈内弹出元素时,top 减小push方法向栈内压入元素pop方法从栈内弹出元素peek方法返回栈顶元素,该元素依然存在栈内clear方法返回栈顶元素,该元素依然存在栈内length

2022-02-01 16:51:49 1148

原创 使用 js 实现 列表

列表是一组有序的数据,列表中的每个数据项称为元素。本篇文章中列表提供两种实现方式,一种是 ES5 构造函数,一种是 ES6 Class 。参数接收的参数为数组类型。属性及方法列表的抽象数据类型定义列表属性或方法描述listSize属性列表的元素个数pos属性列表的当前位置find方法在列表中查找某一元素在列表中的位置(从0开始计数),未找到则返回 -1contains方法判断给定值是否在列表中,返回 true/falselength方

2022-01-30 22:54:57 4890

原创 Vue3 + Vite + Element Plus 初体验

最近看完 Vue3 和 Vite 文档之后,就写了个小 demo ,整体感觉下来还是很丝滑的。Vue3Vite中文网Element PlusVue3 相关的script setup首先说说组合式API,将对同一块操作的变量函数等放在一起,比如说搜索功能,将和搜索相关的功能集中一块(写出了以前写jQuery的感觉)。其二在 script setup 中提供了另一种代码复用的写法,将代码逻辑封装,例如某个请求,在 script setup 中导入直接调用,返回对应的数据, script set

2022-01-26 23:42:48 1053

原创 cmock 原理解读

cmock 简介cmock 用于根据接口自动生成 mock 文件,并根据 mock 文件起 mock 服务。本篇着重讲解 cmock 原理,如果仅关注使用,可以查看 cmock 使用指导 。cmock 原理依然先看 cmock 原理图:npm install// 创建 mock 文件npm run create// 起 mock 服务npm run dev目录介绍本项目的目录如下:目录功

2022-01-25 16:44:01 1829

原创 cmock 使用指导

cmock 简介cmock 用于根据接口自动生成 mock 文件,并根据 mock 文件起 mock 服务。前言搭建 cmock 的缘由是因为项目前后端分离之后,在联调接口前,前后端协商接口数据结构,前端即可根据数据结构来进行数据 mock ,但后端接口一变更,前端又需要维护新的 mock 数据结构,无疑会增加维护成本,所以如果能根据接口自动生成 mock 文件,一是可以降低 mock 的维护成本,二是可以快速生成以前老的

2022-01-24 22:47:46 2461

原创 koa2中使用http-proxy-middleware和koa-bodyparser

前言最近在研究 node.js 代理方面的内容,希望借助代理实现 mock 文件的自动生成,这个后面会写篇文章集中介绍,本篇先汇总下在 koa2 中使用 http-proxy-middleware ,至于为什么选择 http-proxy-middleware 作代理,因为 Vue CLI 就用的 http-proxy-middleware ,这样大家理解配置就更加方便了。koa2 中使用 http-proxy-middleware 和 koa-bodyparser首先引入 koa 和 http-pro

2022-01-23 23:41:15 3781 1

原创 微信开发者工具 Source Map 的使用

在小程序后台 -》开发管理 -》运维中心 -》 错误日志 中可以看到小程序运行中的报错信息,但是代码都是压缩混淆的,那就需要如何去定位,下面说明说如使用微信开发者工具 Source Map。下载微信开发者工具微信开发者工具下载sourceMap文件在小程序后台 -》开发管理 -》运维中心 -》错误日志 可以下载线上最新版本的 Source Map 文件。下载的 sourceMap 的目录和文件说明:1. `APP` 是主包,`FULL` 是整包(仅在不支持分包的低版本微信中使用),其他

2021-12-11 15:26:12 6324

Ionrangeslider.js

Ionrangeslider.js是一个不错的,舒适,易于定制的范围滑块,支持自定义皮肤。还支持事件和公共方法,具有灵活的设置,完全可以用CSS改变。它支持触摸的设备,兼容性支持 iPhone, iPad, Google Chrome, Mozilla Firefox, Opera, Safari, IE(8.0+)。

2017-01-19

兼容IE7、IE8、IE9的input type=&quot;number&quot;插件

IE11版本好像才兼容input type="number",但是现在Win7版本操作系统下,很多人的IE版本都是IE7/8/9,所以为了体验就自己写了一个小插件,支持设置最大值、最小值、数字间隔。

2017-02-18

jquery.placeholder.min.js

jquery.placeholder.min.js

2017-08-20

phoneList通讯录

使用html5的localStorage本地存储,写的一个通讯录

2016-09-03

七夕表白神器

七夕了,为了程序员们的幸福,特此用h5和css3写了一个手机端表白神器,祝大家表白成功,哈哈

2016-08-23

jQuery.lazyload.js

Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的. 在包含很多大图片长页面中延迟加载图片可以加快页面加载速度. 浏览器将会在加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担.

2017-02-19

Gif截图工具

GifCam 是一款能够轻松录制gif的软件,它体积小、免安装。它可以给现有的gif增加帧数。编辑gif图片,如添加文字、删除某些帧、修改特定帧的延迟等。

2017-01-22

Jcrop-demo

关于Jcrop使用的一个demo,仅供参考

2016-10-18

你不知道的JavaScript(上卷)

JavaScript语言有很多复杂的概念,但却用简单的方式体现出来(比如回调函数),因此,JavaScript开发者无需理解语言内部的原理,就能编写出功能全面的程序;就像收音机一样,你无需理解里面的管子和线圈都是做什么用的,只要会操作收音机上的按键,就可以收听你喜欢的节目。然而,JavaScript的这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发者,如果没有认真学习也无法真正理解语言本身的特性。正是因为绝大多数人不求甚解,一遇到出乎意料的行为就认为是语言本身有缺陷,进而把相关的特性加入黑名单,久而久之就排除了这门语言的多样性,人为地使它变得不完整、不安全。 “你不知道的JavaScript”系列就是要让不求甚解的JavaScript开发者迎难而上,深入语言内部,弄清楚JavaScript每一个零部件的用途。本书介绍了该系列的两个主题:“作用域和闭包”以及“this和对象原型”。掌握了这些知识之后,无论什么技术、框架和流行词语,你都能轻松理解。

2016-10-27

Node.js开发指南_中文正版.pdf

本书首先简要介绍Node.js,然后通过各种示例讲解Node.js 的基本特性,再用案例式教学的方式讲述如何用Node.js 进行Web 开发,接着探讨一些Node.js 进阶话题,最后展示如何将一个Node.js 应用部署到生产环境中。本书面向对Node.js 感兴趣,但没有基础的读者,也可供已了解Node.js,并对Web 前端/ 后端开发有一定经验,同时想尝试新技术的开发者参考。

2016-12-26

省市区三级联动

基于jQuery的三级联动

2016-08-27

svg经典入门

完整的pdf版本,(非常详细),一本关于svg非常经典的书籍哦

2016-12-26

《锋利的jQuery》

《锋利的jQuery》是人民邮电出版社在2009年6年出版的一本书籍。 本书循序渐进地对jQuery的各种函数和方法调用进行了介绍,读者可以系统地掌握jQuery的DOM操作、事件监听和动画、表单操作、AJAX以及插件方面等知识点,并结合每个章节后面的案例演示进行练习,达到掌握核心知识点的目的。

2016-11-07

左滑删除.zip

仿照QQ的信息列表的左滑删除交互操作

2017-07-02

空空如也

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

TA关注的人

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