自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 小程序进阶-inline、block和inline-block的区别与联系

每个html标签元素都有默认的元素类型,主要包括两大类:inline内联元素和block块元素。其他则称为可变元素,会根据上下文语境决定该元素为inline元素或者block元素。在css里,有一个display的属性,它规定元素应该生的框的类型,可能的值很多,除inline、block,常用的有table-cell、inline-block等,其中inline-block是css2.1里新增的值。line和block类似于1+1=2的基础概念。

2023-09-05 16:45:51 502

原创 小程序进阶-env(safe-area-inset-bottom)的使用

env(safe-area-inset-bottom)和env(safe-area-inset-top)是CSS中的变量,用于获取设备底部和顶部安全区域的大小。所谓的安全区域就是指在iPhone X及以上的设备中,为避免被屏幕的“刘海”和“Home Indicator”所遮挡或者覆盖的有效区域区域,以确保内容在安全区域内显示。

2023-09-04 10:52:24 3198

原创 小程序进阶-长(多行)文本内容展开与收起、单行文本溢出隐藏

多行文本和单行文本内容溢出隐藏,多行文本展开与收起。

2022-07-01 17:23:25 3377 3

原创 小程序进阶-图表库uchart

小程序使用uchart绘制图表

2022-06-08 16:39:14 3220 3

原创 小程序进阶-用户消息通知

简介在使用或开发小程序过程中,我们会发现消息通知是非常重要的一个环节。我把小程序消息通知分为“小程序内通知”和“微信内通知”两种。小程序内通知包含各种步骤提示、错误提示以及各种实时消息通知,这些通知只有在用户进入小程序才会看到。微信内通知则是跳出小程序的框架在微信消息列表完成消息提示。例如,我么使用某一个商品小程序下单的时候,当物流到了会通过“服务通知”提示我们“请尽快提取获取~”。下面我主要来介绍一下小程序“微信内通知”如何实现?实现步骤(一)接入微信小程序消息推送服务微信官方文档为我们介绍了三种

2022-03-14 15:00:34 9755 2

原创 小程序进阶-如何使用var变量动态设置css样式

简介想必大家在学习小程序之后都知道,wxml页面可以通过”{{变量名}}“直接访问js文件定义的变量,从而达到动态设置页面显示或页面样式的目的。但是,大家是否知道wxss文件css样式也可以通过js文件进行动态设置?由于在小程序中不支持动态css语法,所以,我们可以使用css变量var来达到同样的目的。示例代码index.jsPage({ data: { style: ` //样式一 --bg-color:red; --border-radius:20%;

2022-03-04 14:34:45 3762

原创 小程序进阶-常见对象与函数

new Date()Date 对象用于处理日期和时间。创建 Date 对象的语法:var myDate=new Date(),Date 对象会自动把当前日期和时间保存为其初始值。//month:用英文表示月份名称,从January到December//mth:用整数表示月份,从(1月)到11(12月)//dd:表示一个月中的第几天,从1到31//yyyy:四位数表示的年份//hh:小时数,从0(午夜)到23(晚11点)//mm:分钟数,从0到59的整数//ss:秒数,从0到59的整数//

2022-02-22 14:18:32 197

原创 小程序进阶-日历面板

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-02-22 11:18:02 1054

原创 小程序进阶-内容安全接口

一、应用场景检查文本是否含有违法违规内容。校验图片是否含有违法违规内容。二、安全接口access_token请求地址GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET(1)图片检测security.imgSecCheck调用方式:1.HTTPS 调用检测请求地址: POST https://api.weixin.qq

2021-04-05 11:29:19 1302 3

原创 小程序进阶-emoji表情

一、简介小程序如何发送表情,微信小程序官方文档“扩展能力”为我们提供了emoji组件,即仿微信表情组件。二、开发流程(1)npm方式构建//初始化项目,在node开发中使用npm init会生成一个pakeage.json文件,//这个文件主要是用来记录这个项目的详细信息的,它会将我们在项目开发中所要用到的包,//以及项目的详细信息等记录在这个项目中。 - npm init 或 npm init -y//安装生产环境 - npm install --production//安装vant

2021-04-02 17:12:50 2762 4

原创 小程序进阶-底部弹框动画效果

需求:点击按钮,信息展示或者信息输入。如何在当前页面弹出新的面板?(1)方式一:直接弹出一个面板。(2)方式二:添加动画效果,从界面的一侧如底部弹出。如何实现(1)弹出内容面板样式:如何显示与关闭,有两种方式wx:if和hidden(2)遮罩层,区分弹出内容与原有内容:z-index控制遮罩层、弹出层和原来信息层。(3)动画特效,例如底部弹出:动画特效原理本质上是动态修改transform属性值达到动态效果。底部平移采用translateY,即transform:tran..

2021-03-31 17:33:11 1256

原创 小程序进阶-用户转发

1.简介新建一个Page页,JS文件为我们自动生成了一个 onShareAppMessage函数,点击右上角三个点可以将当前页面分享给好友。官方的解释参数返回格式2. 非tab页分享非tab页一般需要接收参数刷新当前页面,所以实现非tab页面转发,我们使用button实现。那么我们如何区分默认转发和我们自定义的转发呢?我们可以检查onShareAppMessage的form参数区分。onShareAppMessage: function (res) { if (res.f

2021-03-31 15:31:11 81

转载 Windows命令与批处理

第一部分:批处理的专用命令  批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。REM是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。ECHO是一个回显命令主要参数有OFF和 ON,一般用ECHOmessage来显示一个特定的消息,如果没有任何参数显示当前的echo的设置 。用法:ECHO [ON | OFF] :如果是OFF仅显示批处理的运行结果,如果是ON

2021-03-01 16:52:47 230

原创 小程序进阶-如何去除或隐藏页面滚动条

前言  当小程序页面展示内容超过屏幕高度或宽度,我们想要看到全部内容,这时候就必须用到页面滚动。可是,我们发现滚动页面的滚动条特别的突兀和丑陋,而且参考大部分的小程序都是将滚动条去掉了。那么,我们该怎么去掉滚动条呢?方案一  我们知道,当展示内容超过页面高度,会触发page默认的滚动条。如下:在小程序社区,我找到了一个方案:看代码:index.wxss.intro{ width: 100vw; height: 100vh; overflow: hidden; margin:

2021-01-09 11:16:11 9473

原创 php笔记本-看笔记难道不香吗

<?php // 假定数据库用户名:root,密码:123456,数据库:RUNOOB $con=mysqli_connect("localhost","root","123456","RUNOOB"); if (mysqli_connect_errno($con)) { echo "连接 MySQL 失败: " . mysqli_connect_error(); } $sql="SELECT id,name,pwd FROM user ORDER BY id";if ($res

2020-12-17 11:29:38 143

原创 小程序 - ECharts,画出好看的图表

简介为了兼容小程序 Canvas,ECharts官方提供了一个小程序的组件,用这种方式可以方便地使用 ECharts。该项目是ECharts微信小程序版本,包含小程序组件和使用的示例。开发者可以通过熟悉的 ECharts 配置方式,快速开发图表,满足各种可视化需求。ec-canvas 是ECharts提供的组件,其他文件是如何使用该组件的示例。ec-canvas 目录下有一个 echarts.js,可以自行从 ECharts 项目中下载最新发布版。默认的echarts.js文件较大,可以从官网自定义

2020-12-12 14:34:37 1066 2

原创 Mysql如何设置id自增

Mysql如何设置id自增(1)设置自增方案一:CREATE TABLE IF NOT EXISTS `user`( `id` INT UNSIGNED AUTO_INCREMENT, `name` VARCHAR(100) NOT NULL, `sex` VARCHAR(40) NOT NULL, `age` INT(11), PRIMARY KEY ( `id` ))ENGINE=InnoDB DEFAULT CHARSET=utf8;方案二:alte

2020-11-06 17:17:44 38731

原创 小程序进阶-水平居中和垂直居中对齐

简介学习小程序,掌握一些前端常用的方法和逻辑很重要,平常注意总结,在需要的时候才能信手拈来。居中对齐,在页面布局中太过常见,所以能够有效的实现水平居中和垂直居中的效果尤为重要,能够实现不是目的,我们追求的是效率,一旦遇到类似的问题,能够立马找到对应的解决办法。下面我将会总结我们常用的几种居中对齐方法,与大家一起讨论。水平居中若该元素是行内元素,给其父元素设置 text-align:center,即可实现行内元素水平居中。若是块级元素, 给该元素设置 margin:0 auto即可。若子元素包含

2020-11-05 16:18:17 2342

原创 小程序进阶-下拉刷新和上拉加载

简介在小程序中,我们经常使用到下拉刷新和上拉加载来提升用户的体验,例如首页列表展示初始化、加载更多等。目前,有两个比较实用的方法,第一种是使用 scroll-view 组件,第二种是使用 onPullDownRefresh 和 onReachBottom整个页面的刷新。scroll-view可滚动视图区域。使用竖向滚动时,需要给scroll-view一个固定高度,通过 WXSS 设置height。组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px)。WXS(WeiXin Scri

2020-10-31 18:28:06 544 2

原创 小程序进阶-常见问题

小程序首次加载很慢?答:小程序首次加载慢,但是再次打开会快很多,是因为小程序做了缓存,再次打开相同页面或者发送相同请求时使用的缓存的数据。小程序发送第三方服务请求(相同于后台)所用的时间,明显比浏览器花费的时间更多。综合微信社区给出的解释,可以猜测是“SSL证书”的原因,我们一般喜欢使用Let’s Encrypt的免费证书,ios版本对LE的证书处理是有问题的,建议开发者更改为阿里云的免费或付费证书,实践证明是有用的。...

2020-10-31 15:54:06 1233 2

原创 小程序进阶-获取用户手机号和基本信息

简介目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体)。获取微信用户绑定的手机号,需先调用wx.login接口。因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 button 组件的点击来触发。需要将 button 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到微信服务器返回的加密数据, 然后在第三方服务端结合 session_key 以及 a

2020-10-26 16:46:51 2600 3

原创 小程序进阶-基础入门

一、简介小程序提供了一个简单、高效的应用开发框架和丰富的组件及API,帮助开发者在微信中开发具有原生 APP 体验的服务。文档小程序开发指南小程序设计指南小程序官方文档与普通网页区别小程序的主要开发语言是 JavaScript,但与普通的网页开发有所区别。网页开发渲染线程和脚本线程是互斥的,而小程序分别运行在不同的程序。前端一些常见的库以及Nodejs的npm包无法在小程序运行。小程序运行环境特色应用触手可及快速的加载和渲染能力,配套云能力、运维能力和数据汇总能力。使得微信

2020-10-20 16:44:54 445

原创 华为2016校园招聘上机笔试题

1. 最高分是多少?(1)题目描述老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.输入描述:输入包括多组测试数据。每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩接下来又M行,每一行有一个字符C(只取‘Q’或‘U’),和两个正

2020-07-28 15:21:02 260

原创 牛客笔试题没有头绪?你需要的是扎实的基础

计算机存储单元计算机最小i信息单元:位(bit),又称为“比特位”,通常用小写字母“b”表示。计算机最小存储单元:字节(byte),通常用大写字母“B”表示。1B(字节)= 8bit1KB = 1024B1MB = 1024KB1GB = 1024MB1TB = 1024GBJava数据类型有哪些?Java语言是强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型分配不同的存储空间,相应的数据大小也不一样。Java数据类型分为8种基本数据类型和3种引用数据类型,基本数据类

2020-07-28 14:54:28 146

原创 面试2-1

前言其实大多数人,刚开始面试的遭受的基本上是打击。面试官问的问题,你一问三不知。又或者面试不按套路出牌。这些都让你措手不及。但是,一旦你在面试的时候表现得卑微无知,你也就输了。场景还原面试来源:boss直聘面试公司:XXX软件科技有限公司面试形式: 笔试->面试当前进度:完结面试难度:三颗星面试体验:颇有收获笔试内容:你是一名体育老师,在某次课距离下课还有五分钟时,你决定搞一个游戏。此时有N名学生在上课。游戏的规则是:你首先说出三个不同的特殊数,要求必须是个位数,比如3、5、7

2020-07-27 12:23:41 151

原创 java如何计算一段代码的执行时间

通过获取代码前后系统时间,计算时间差获取执行时间。long start = System.currentTimeMillis();long sum = 0;for (int i = 0; i <= 100000; i++) { sum += i;}System.out.println("sum = " + sum);long end = System.currentTimeMillis(); System.out.println(end - start + "ms");...

2020-07-23 17:26:36 1084

原创 java序列化

笔记序列化是为了解决对对象流进行操作所引发的问题。序列化是一种用来处理对象流的机制,对象流就是将对象的内容进行流化。可以对流化后的数据进行读写操作,并且将流化后的数据传输于网络之间。当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。只能将支持 java.io.Serializable 接口的对象写入流中。每个 serializab

2020-07-16 18:18:51 93

原创 B/S与C/S的联系与区别

简介C/S即Client/Service(客户机与服务器)结构。CS在技术上很成熟,它的特点是交互性强,具有安全的存储模式,网络通信量低,适用于处理大量数据。B/S即Browser/Service(浏览器与服务器)结构。只安装维护一个Service服务器,客户端采用浏览器运行软件。相对与传统C/S结构是一大进步。B/S结构的特点是分布性强,维护方便,开发简单且共享性强,总体拥有成本低。区别开发成本:cs结构开发成本比bs高。因为cs结构,不同的客户端需要开发不同的程序。软件安装调试与升级需要在

2020-07-16 17:13:39 922 1

原创 java常用类,包和接口

类java.lang.Object:java超类java.lang.String:字符串封装对象java.lang.System:代表java程序的运行平台java.io.File:文件操作类java.io.FileInputStream:用于读取本地文件中的字节数据java.lang.Thread:线程类包java.lang:java编程基础类java.net:提供实现网络应用和开发的类java.io:系统输入输出java.util:该包提供了包含集合框架、遗留的集合类、事件模

2020-07-16 16:51:54 1219

原创 java集合

List简介继承自Collection接口,存放有序可可重复的对象,拥有一系列和索引相关的方法。查询速度快。List集合删除和修改数据时,伴随着后面数据的移动,所以插入和删除数据速度比较慢。实现类ArrayList:适用于快速随机访问元素。LinkedList:底层基于链表实现,链表内存是散乱的,每个元素存储本身内存地址的同时,还存储下一个元素的地址,链表增删快,查找慢。插入和删除数据,不涉及重排数据。Vector:同步线程安全的。适用于设计堆栈、队列等操作。Set继承自Collecti

2020-07-16 15:56:57 89

原创 索引失效,怎么回事!

索引失效,可以从一下几种原因中分析:在where条件的等号左侧中使用函数where date(create_at) = '2019-01-01'带有列的函数计算值,导致索引无法使用。表关联字符集格式以及排序方式不一致关注CHARSET和COLLATIONSQL写法错误导致的索引失效比较常见的例子是,我们存储手机号的字段格式为varchar,但是SQL却写的where phone=123;统计信息不准确在查询中使用 !=、not in、not existsSELECT * F

2020-07-02 17:29:40 652

原创 面试1-1

前言2020年夏天,经历了上半年的疫情和经过无数次的纠结,我终于决定离职。自2019年毕业以来,对于第一个入职的公司,感情是十分复杂的。原本我想着,在第一个公司大干一场,至少也得干个两三年。但现实总是残酷的,计划总会被现实所改变。当你觉得当下的环境无法满足自己的期望,或者对自己的状态有所怀疑的时候,也许就是寻求新出路的最好时机。场景还原面试来源:boss直聘面试公司:XX电子科技有限公司面试形式:电话面试->笔试->公司面试当前进度:电话面试面试内容:面试难度:一颗星面试体验:

2020-06-29 09:35:17 133

原创 MinIO笔记

MinIO官方中文文档Docker教程YAML入门教程Dockerfile教程 GOdocker-compose.yamldocker中可运行MinIO单点模式若要运行MinIO分布式模式,可使用Docker compose或Swarm mode进行部署docker compose属于单主机,多容器部署...

2020-06-05 12:07:22 332

原创 windows安装DockerToolbox,常见问题

双击桌面的Docker Quickstart Terminal快捷方式,提示“windows 正在查找bash.exe。如果想亲自查找文件,请点击“浏览”。”。解决方案请参考:GONo default Boot2Docker ISO found locally, downloading the latest release…解决方案请参考:Go...

2020-06-04 15:50:23 233

原创 项目运行一段时间,上传文件突然有问题?原来是这样!

问题描述项目运行了一段时间,上传文件,突然报错误,一时间慌了神,立马问百度,恍然大悟。The temporary upload location [C:\Users\test\AppData\Local\Temp\tomcat.8083403186712289847.8080\work\Tomcat\localhost\ROOT] is not valid 原因:springboot项目自动删除了临时文件,而且部署在linux上的项目,linux系统会定时清理/tmp目录下的内容,一般为10天。

2020-06-04 11:31:20 2494

原创 java过滤器和拦截器

拦截器简介用于在某个方法被访问之前进行拦截,然后在方法执行之前或之后加入某些操作,其实就是AOP的一种实现策略。它通过动态拦截Action调用的对象,允许开发者定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时它也提供了一种可以提取action中可重用的部分的方式。每个Interceptor的调用会依据它在xml文件中声明顺序依次执行。SpringMVC中的Interceptor是链式调用的,每个Interceptor的调用都根据它的声明顺序依次执行,且

2020-06-02 17:31:16 649

原创 如何获取客户端真实IP

简介获取客户端的IP地址常用的方法是:request.getRemoteAddr()。但是如果通过了Apache,Nagix等反向代理软件则获取不到客户端的真实IP。经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息。用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。例如:使用反向代理,将http://192.168.10.1:8

2020-05-26 16:04:04 2551

原创 如何使用token验证代替session

简介token:指访问资源的凭据,用于检验请求的合法性。适用于项目级的前后端分离。可以用数据库存储token,也可以选择放在内存当中。比如 redis 很适合对 token 查询的需求。token 可以避免 CSRF 攻击(因为不需要 cookie 了)。完美契合移动端的需求。session:session记录服务器和客户端会话状态的机制。session在服务端生成和保存,并转化为一个临时的Cookie(sessionId)发送给客户端,当客户端第一次请求服务器时,会检查是否携带了这个Sess

2020-05-25 17:55:32 2754

原创 Session分布式共享

session

2020-05-21 17:41:58 162

原创 缓存方案二:redis

简介Redis作为当下最流行的缓存框架,适用于处理大数据量分布式场景的缓存。特点持久化将内存的数据保存到磁盘中,重启的时候可以再次加载使用。支持RDB和AOF两种持久化方式。RDB:在redis.conf配置文件里配置持久化触发器。AOF:redis每增加一条记录都会保存到持久化文件中。丰富的数据类型支持key-value,list,set,zset,hash等多种数据结构的存储。数据备份提供主从复制方案,即master-slave模式的数据备份。优势性能极高。毫秒级的读写数

2020-05-21 11:02:05 106

空空如也

空空如也

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

TA关注的人

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