自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (1)
  • 收藏
  • 关注

原创 Vue3+Axios网络请求封装

Axios是基于Node.js的HTTP客户端,也是一款广泛使用的网络请求库。它具有使用简单、可扩展性高、易用性好等特点,因此成为大多数前端开发者的首选,从而衍生了很多基于axios封装的网络请求库。今天我们要介绍的网络请求库是基于axios封装的,命名为Axios,它实现了自动携带token、拦截请求和响应等操作,能够处理请求重复、超时和错误状态码等异常情况。

2023-05-30 00:51:52 2725 1

原创 java树结构Tree生成

该方法的实现非常简单,其主要思想是将节点集合转换为节点映射表,然后遍历节点映射表,如果找到了父节点,则将该节点添加到父节点的子节点列表中。如果没有找到父节点,则说明该节点为根节点(或者是孤立的节点),将其添加到结果集中。总的来说,这篇文章对Java树结构的解析进行了详尽的介绍,给读者提供了一个很好的参考。特别是对于那些需要使用树形结构的开发者来说,这篇文章提供了一个通用的实现方法,可以最大程度地减少代码的重复率和出错率。来为不同类型的节点提供统一的抽象接口,这很好地体现了Java语言的面向对象特性。

2023-05-25 12:15:00 695

原创 函数节流与防抖

本文介绍了节流和防抖这两种函数优化执行频率的方法。节流是控制事件触发频率的方法,可以节省资源,控制事件频率。防抖也是限制事件触发频率的方法,若在规定时间内再次触发,则重新计算时间,最后只有最后一次事件会被处理。这两种方法都可以用于优化程序执行效率。

2023-05-25 12:02:24 180

原创 java中使用sql树型结构一对多映射,做动态路由,表内有id跟pid,pid是父级节点的id,子节点用children存放

这里的实现比较简单,首先遍历所有节点,将每个节点的id作为key、节点对象作为value,存放到一个Map中。然后,再次遍历所有节点,如果当前节点的pid为0,则将其作为根节点;否则,从Map中获取其父节点,并将当前节点添加到父节点的children中。最后,返回根节点即可。这里提供一个基于MyBatis的Java示例代码,实现了SQL树型结构一对多映射,并将结果封装成一个树形结构的Java对象(Node)。这样,我们就实现了SQL树型结构一对多映射,并将结果封装成一个树形结构的Java对象。

2023-05-02 00:10:18 256

原创 java中使用sql树型结构一对多映射

上述代码中,我们使用了MyBatis的结果集映射功能,将查询结果转换为Java对象,并且使用了递归方式来查询所有子节点,最终得到了一个完整的树形结构。在实际应用中,我们可以将树形结构存储在缓存中,以提高查询效率。假设我们有一个数据库表,其中存储了节点的id、名称、父节点id等信息,我们可以使用MyBatis框架来实现Java和SQL之间的映射。

2023-05-02 00:02:29 271

原创 js将数组混合在一起后打乱排序

在上面的示例中,sort()方法的参数是一个函数,该函数比较两个元素并返回排序的结果。在这里,我们使用了Math.random()函数生成0到1之间的随机浮点数,然后用该随机数来比较两个元素。如果返回正数,则第二个元素更小,将其放在前面。可以使用sort()方法来打乱已经混合在一起的数组的排序。sort()方法可以根据指定的函数来排序数组的元素。为了打乱数组的顺序,我们可以使用Math.random()生成随机数,然后通过比较来打乱元素的顺序。通过这种方式,我们可以用随机顺序打乱一个数组的排序。

2023-04-05 11:18:03 151

原创 uni-app网络请求封装(优化完整版)

很久之前写的一个请求封装,现在看来还是代码量太大了,现在做一个优化,简单一点的。

2023-03-05 21:43:17 2662 3

原创 uniapp九宫格布局图片集NineGridLayout

uniapp九格布局图片集,根据图片1-9张分别不同展示视图

2023-02-09 20:17:13 1784

原创 Android中RecyclerView滑动时Glide图片加载的优化

RecyclerView 滑动时的优化处理,在滑动时停止加载图片,在滑动停止时开始加载图片,这里用了Glide.pause 和Glide.resume

2022-10-31 00:22:55 1460

原创 Android分享到支付宝APP(完整版-包括网页分享,文本信息分享,图片分享)

Android分享到支付宝APP(完整版),带skd安装教程

2022-10-18 01:05:13 1458

原创 Node服务端框架Express-Sequelize-Mysql模型架构设计

Sequelize 是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, MariaDB, SQLite 以及 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 预读和延迟加载,读取复制等功能。

2022-07-02 11:07:07 970

原创 @click点击事件冲突解决(uniapp阻止事件冒泡)

@click点击事件冲突解决

2022-06-20 18:34:51 3169

原创 Android隐藏标题栏/隐藏状态栏

Android隐藏导航栏,隐藏状态栏

2022-06-18 18:26:50 2418

原创 Flutter灰色页面/灰色图片(滤镜)

图片变为灰色图片组件设置image里的color和colorBlendMode属性:Image.asset( 'assets/images/index001.png', fit: BoxFit.cover, color: Colors.grey, colorBlendMode: BlendMode.color,)背景图片Container( width: 200, height: 200, decoration: BoxDecoration( image: Decoratio

2022-05-26 21:03:15 1863

原创 Another exception was thrown: The PrimaryScrollController is currently attached to more than one Scr

Another exception was thrown: The PrimaryScrollController is currently attached to more than one ScrollPosition.

2022-05-09 14:31:24 970

原创 uniapp数据更新视图不更新的问题

强制更新如果你发现你自己需要在 Vue 中做一次强制更新,99.9% 的情况,是你在某个地方做错了事。你可能还没有留意到数组或对象的变更检测注意事项,或者你可能依赖了一个未被 Vue 的响应式系统追踪的状态。然而,如果你已经做到了上述的事项仍然发现在极少数的情况下需要手动强制更新,那么你可以通过 $forceUpdate 来做这件事。this.$forceUpdate()更新某一个元素视图Vue.set( target, propertyName/index, value )向响应式

2022-02-22 14:04:35 19365 3

原创 node上传图片到阿里云oss/指定目录/按照日期生成文件夹

获取配置参数// 初始化Clientlet co = require('co');let OSS = require('ali-oss');let client = new OSS({ region: 'oss-cn-beijing', // 公共云下OSS Region accessKeyId: '**********************', // AccessKey ID accessKeySecret: '**********************' // AccessKey Se

2021-11-27 14:54:59 2117 1

原创 uni-app网络请求封装(完整版)

目录结构(根目录开始)├── api # 所有请求│ └── user.js # 用户请求api├── store # 全局store管理│ └── modules # api模块│ │ └── user.js # 用户请求模块│ └── index.js # 状态管理初始化├── uti

2021-09-29 20:09:17 16040 24

原创 SQL使用笔记(不定时更新)

查询表(全部)SELECT * FROM admin_userinfo// trifle_list是数据表分页查询(带总数)SELECT *, (SELECT COUNT(1) FROM trifle_list) FROM trifle_list limit 20 OFFSET 1// (SELECT COUNT(1) FROM trifle_list) ----- 查询trifle_list表总长度// limit ----- 分页数量// OFFSET ------ 从第几列开始查询

2021-07-05 08:41:41 86

原创 HTML5 Canvas图片模糊问题

关于canvas图片模糊问题最好的办法就使用Window.devicePixelRatioWindow 接口的devicePixelRatio返回当前显示设备的物理像素分辨率与CSS像素分辨率之比。此值也可以解释为像素大小的比率:一个CSS像素的大小与一个物理像素的大小。简单来说,它告诉浏览器应使用多少屏幕实际像素来绘制单个CSS像素。当处理标准显示器与HiDPI或Retina显示器之间的差异时,这很有用,后者使用更多的屏幕像素绘制相同的对象,从而获得更清晰的图像。语法:value = wi

2021-05-29 07:41:28 1131 1

原创 HTML5 Canvas背景图自适应铺满屏幕宽高 - 已解决图片模糊问题

这里提供的是vue版本的Canvas实例,如需要其它版本可自行更改template<canvas id="myCanvas" :width="rowWidth" :height="rowHeight"></canvas><!-- width跟height是必填,不然后面计算很难排错 -->datadata() { return { rowHeight: '', rowWidth: '' }},mountedmounted() { this

2021-05-29 06:19:29 3404 1

原创 js基于当前值计算百分比

GetPercent(total, num) { // total总数基数(相当于100%) // num当前数值 num = parseFloat(num); total = parseFloat(total); if (isNaN(num) || isNaN(total)) { return "-"; } return total <= 0 ? "0%" : (Math.round(num / total * 10000) / 100.00) + "%";}...

2021-05-25 14:13:00 1602

原创 js获取当前时间以及时间戳

当前时间var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份(4位,1970-????)myDate.getMonth(); //获取当前月份(0-11,0代表1月)myDate.getDate(); //获取当前日(1-31)myDate.getDay(); //获取当前星期X(0-6,0代表星期天)myDate.getTime(); //获取当前时间(从1970

2021-05-12 23:00:35 898

原创 vue强制更新$forceUpdate()(强制刷同步页面数据)

vue强制更新$forceUpdate()添加this.$forceUpdate();进行强制渲染,效果实现。搜索资料得出结果:因为数据层次太多,render函数没有自动更新,需手动强制刷新。调用强制更新方法this.$forceUpdate()会更新视图和数据,触发updated生命周期。我是在使用多层for循环嵌套时出现的页面没有及时刷新改变后的值的问题( 使用this.$forceUpdate() )使用方法:在方法执行完毕后添加this.$forceUpdate()...

2021-05-05 18:29:20 1299

原创 js使用for循环给每个数组添加元素

var arr = [];for (var i = 0; i < arr.length; i++) { arr[i].nickName = "我是小明"; arr[i].age = 18}console.log(arr)// 结果 // arr = [nickName:'我是小明'age:18]

2021-05-03 20:45:15 6696 5

原创 云开发 CloudBase的云函数安全规则配置

编写安全规则顶级 key 表征函数名,特殊的 * 表征所有的函数名通配,匹配时优先匹配函数名,当未匹配时将使用 * 的配置。value 为每个函数单独的调用规则子配置。每个子配置中,key 表示操作名(当前只支持 invoke),value 为 boolean 值或安全规则表达式字符串例如:// client-items为云函数名// 当client-items云函数的invoke为// true(不需要登陆即可访问)的时候// 需要前往环境-登陆授权-打开未登录这个选项才能生效// 否则

2021-04-28 23:40:27 489

原创 微信小程序同时查询一个合集里的多个数据(Command.in)

一开始这个问题也是困扰了我许久,后来还是偶然的情况下才发现这个问题在官网早就友解决方案Command.in查询筛选操作符,表示要求值在给定的数组内示例代码// 同时找出state字段中“完成”跟“进行中”的集合db.collection("essay").where({ state: _.in(['完成','进行中'])}).get({ success: console.log, fail: console.error})到这里我相信大家知道怎么去使用了再贴一个,如果要查询的字段是

2021-04-28 04:20:39 1388

原创 vant-Image图片组件本地图片无法显示

刚开始遇到这个问题的时候百思不得其解,什么方法都用过了,网络图片路径可以正常显示,唯独本地图片不能显示,开始以为只是路径错了。文档也没有写怎么加载本地图片,到处挖坑。解决办法!!src属性绑定requeir()方法 :src="require('../../../static/img/user-unlogin.png')"解决!也可以绑定data动态修改:// html<VanImage class="headImg" round fit="cover" :src="headImg"

2021-04-25 14:11:56 1694 1

原创 vue动态改变网页标题title

1.了解路由元在路由配置文件里 配置meta标签 是一个对象 里面书写title(每个路由页面对应的标题)router/index.js{ path: '/', name: 'index', component: () => import('@/views/index.vue'), meta: { title: '首页' }}2.全局钩子函数 router.beforeEach(to,form ,next)router.beforeEach是 vue全局的的一个路由的钩子函

2021-04-20 16:00:40 522

原创 前端post请求中body和query传参

前端发送请求最常用的是get请求还有post请求get请求只能传query参数,query参数都是拼在请求地址上的post可以传body和query两种形式的参数/* 登陆请求 */export function login(data) { return request({ url: '/api/user/login', method: 'post', data // data就是body参数 })}/* 获取用户信息 */export function ge

2021-04-10 16:34:09 11475 2

原创 微信小程序storage标准封装

/** * Storage标准封装 */const myStorage = { // 存储 set(key, value) { try { wx.setStorageSync(key, JSON.stringify(value)) } catch (err) { return null } }, // 取出数据 get(key) { try { const value = JSON.parse(wx.getStorageSync(key)); if (

2021-03-26 15:06:00 502

原创 localStorage封装

localStorage标准封装const myStorage = { //存储 set(key, value) { localStorage.setItem(key, JSON.stringify(value)); }, //取出数据 get(key) { try { const value = localStorage.getItem(key); if (value === null || value === undefined || value === "") {

2021-03-16 16:51:52 1337

原创 CSS中的伪元素

:nth-child()是一个CSS3伪元素,它会根据指定的选择器选定页面或父元素的第n个元素示例:/* 在下面的例子中,我们选中页面中的第二段 */p:nth-child(2){ background:#ba3537; margin-top:30px;} /* 也可以选定div中的第二段或者列表中的第二项 */div p:nth-child(2){ background:#e7f0ce; padding:10px;} ul li:nth-child(2){ background

2021-01-25 16:45:05 350

原创 小程序页面之间跳转的时候传递参数

A页面跳转wx.navigateTo({ url: '../popularId/popularId?title=我是传递的参数'})B页面接收用option参数接收 onLoad: function (option) { console.log(option.title)}

2021-01-24 13:43:18 179

原创 微信小程序怎么获取到data数据?

var text=this.data.name ,这样就获取到初始化的值page({ data:{ name:"我叫小明" }, showData:function(){ var text = this.data.name }})

2021-01-24 13:39:49 10905 7

原创 vue使用filter过滤器实现简单的搜索功能

// filter来筛选新数组,至于具体怎么去使用就看你要实现什么功能data() { return { list: [ {id: '1', name: 'AAA'}, {id: '2', name: 'BBB'}, {id: '3', name: 'CCC'}, {id: '4', name: 'AAA'}, {id: '5', name: 'BBB'} ], isSearch: 'BBB' // 这里是你要筛选的条件(可以绑定在

2020-12-18 14:42:29 2355

原创 uni-app在各平台的条件编译

条件编译是用特殊的注释作为标记,在编译时根据这些特殊的注释,将注释里面的代码编译到不同平台。写法:以 #ifdef 或 #ifndef 加 %PLATFORM% 开头,以 #endif 结尾。#ifdef:if defined 仅在某平台存在#ifndef:if not defined 除了某平台均存在%PLATFORM%:平台名称条件编译写法说明#ifdef APP-PLUS 需条件编译的代码 #endif仅出现在 App 平台下的代码#ifndef H5 需条件

2020-12-16 16:45:43 608

原创 js计算过去和未来的时间距离现在多少天?

/** * 计算过去和未来的时间距离现在多少天? * 格式 getBeforeDate('2015,5,20') */function getBeforeDate(n){ let now = new Date(); let aftertime = new Date(n); let year = now.getFullYear(); let mon= now.getMonth()+1; let day= now.getDate(); let year_after = aft

2020-12-15 14:18:31 828

原创 js获取屏幕可视宽高

/** * 屏幕可视宽度检测 */function bodyWidth(){ let width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; return width;}/** * 屏幕可视高度检测 */function bodyHeight(){ let height = window.innerHeight || document.do

2020-12-15 14:16:16 500

原创 js时间戳转时分秒,星期等格式(例如:1分钟前,1小时前)

/** * 时间戳转时分秒,星期等格式(例如:1分钟前,1小时前) 、、可自行修改 */function timeFormat(shape) { // 记录时间 let date = new Date(shape * 1000); //我这里传入的是10位的时间戳 let yearDate = date.getFullYear(); //得到年份 let monthDate = date.getMonth(); //得到月份 let dateDate = date.ge

2020-12-15 14:14:07 1118

Node服务端框架Express-Sequelize-Mysql模型架构设计封装

Node服务端框架Express-Sequelize-Mysql模型架构设计封装开箱即用。 Sequelize 是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, MariaDB, SQLite 以及 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 预读和延迟加载,读取复制等功能,完美代替了手写SQL的困扰。 Express基于 Node.js 平台,快速、开放、极简的 Web 开发框架。 MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 能学到什么:接口请求、跨域处理、利用Sequelize请求Mysql数据库等,Sequelize封装,处理并发请求。 阅读建议:此资源以开发简化版node学习其原理和内核,不仅是代码编写实现也更注重内容上的需求分析和方案设计,所以在学习的过程要结合这些内容一起来实践,并调试对应的代码。 通过带着读者手写简化版 Expres 框架,了解 Expres 核心原理,简化代码实现过程。

2022-06-27

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

TA关注的人

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