微信小程序实现tabBar标签栏
概述如果小程序是一个多tab应用(客户端窗口的底部或顶部有tab栏可以切换页面),可以通过tabBar配置项指定tab栏的表现,以及tab切换时显示的对应页面,tab栏至少2个最多5个
实现过程本博客设计的标签栏有4个标签:首页、分类、购物车、我的,对应代码为:
中文
代码
首页
shouye
分类
type
购物车
cart
我的
my
找图片推荐网址:iconfont-阿里巴巴矢量图标库
每个标签页都需要找两张图片,分别在标签被选中时和标签没有被选中时使用,图片示例如下图所示(图片名称带_符号的是未选中的,否则是选中的)
复制图片到项目中,直接新建一个文件夹(我命名为images),然后将找好的图片粘贴进去
新建页面新建4个页面,添加以下代码:(看后面4个,添加代码后保存会自动生成文件)
12345678910111213{ "entryPagePath": "pages/shouye/shouye", "pages": [ "pages/dem ...
加快访问GitHub的速度
概述为了加快访问GitHub的速度,目前找到两个比较方便的方法:
使用Edge插件GitHub加速
使用软件FastGithub,这种方式比较稳定
实现过程使用Edge插件GitHub加速插件地址:GitHub加速 - Microsoft Edge Addons,安装后就可以访问GitHub了
使用软件FastGithubGitHub地址:Releases · dotnetcore/FastGithub,根据自己的电脑选择对应的版本
如果无法访问GitHub直接去百度搜索,我这里提供一下Windows 64位的版本
百度网盘链接:https://pan.baidu.com/s/13MmCQgj1pDSEp9FsRUBv0g?pwd=rp1y
提取码:rp1y
下载后解压,打开fastgithub.exe,不是FastGithub.UI.exe(这是监控流量的,可以不用打开),运行后是控制台窗口,只需保持运行即可
微信小程序应用和页面的生命周期
应用生命周期概述注册小程序,接受一个Object参数,其指定小程序的生命周期回调等
App()必须在 app.js 中调用,必须调用且只能调用一次,不然会出现无法预期的后果
参数
属性
类型
说明
最低版本
onLaunch
function
生命周期回调——监听小程序初始化
onShow
function
生命周期回调——监听小程序启动或切前台
onHide
function
生命周期回调——监听小程序切后台
onError
function
错误监听函数
onPageNotFound
function
页面不存在监听函数
1.9.90
onUnhandledRejection
function
未处理的 Promise 拒绝事件监听函数
2.10.0
onThemeChange
function
监听系统主题变化
2.11.0
其他
any
开发者可以添加任意的函数或数据变量到 Object 参数中,用 this 可以访问
示例代码123456789101112131415App({ onLaunch (options ...
微信小程序使用官方swiper组件实现轮播图
概述最近在使用Vant Weapp组件库,但是没有轮播图这个组件,经过一番对比发现:使用微信官方的swiper组件最方便,和Vant Weapp搭配看着也不错
实现过程wxml代码1234567<view class="banner"> <swiper indicator-dots indicator-active-color="#ef5243" circular autoplay interval="3000"> <swiper-item wx:for="{{carouselImageList}}"> <image src="{{item}}"></image> </swiper-item> </swiper></view>
wxss代码123456 ...
微信小程序引入Vant Weapp组件库
概述引入Vant Weapp组件库有两个方法:
直接到GitHub下载源码,然后复制到项目中
通过npm安装,这种方法比较方便(建议使用,复制官方的引用代码不需要修改)
直接下载下载代码GitHub地址:youzan/vant-weapp: 轻量、可靠的小程序 UI 组件库 (github.com)
下载地址:https://github.com/youzan/vant-weapp/archive/refs/heads/dev.zip
解压后里面有一个名为dist的文件夹,这个文件夹包含了我们要使用的Vant Weapp组件
实现过程复制dist文件夹将上面解压后得到的dist文件夹到项目文件夹中,和pages文件夹同级,如果不能直接在微信开发工具中粘贴就用电脑的资源管理器
修改app.json将app.json中的 "style": "v2" 删除,小程序的新版基础组件强行加上了许多样式,难以覆盖,不关闭将造成部分组件样式混乱
使用
在json文件中配置,要在哪个页面使用组件,就在其对应的json文件中配置
12345{ ...
创建String字符串的两种方式
概述Java创建String字符串有两种方式:
直接创建,存储在公共池,创建前会先检查公共池中是否已经存在相等的字符串,已存在就不会创建了直接引用已经存在的
通过new来创建,存储在堆上,无论是否已经存在相等的字符串,都会创建一个新的字符串
代码实现直接创建12String str1 = "a";String str2 = "a";
通过new来创建12String str4 = new String("a");String str5 = new String("a");
对比测试代码123456789101112131415161718192021/** * @author LeDao * @company * @create 2022-03-09 23:57 */public class Main { public static void main(String[] args) { String str1 = "a"; S ...
使用Markdown语法写邮件
安装插件插件名称为:Markdown Here,安装链接如下:(不会科学上网的使用第二个链接)
出处
链接
谷歌插件商店(可以科学上网的使用,最方便)
查看
扩展迷(国内使用)
查看
使用插件安装后要启用插件,只可以在正文部分使用,使用Markdown语法后写完邮件后,在正文区域右键点击,点击Markdown转换然后发送即可,如果要继续编辑再次点击Markdown转换
去除来必力评论框下面的广告
概述关掉了浏览器的屏蔽广告插件后,突然发现来必力的评论框下面居然有广告,这肯定不能忍,找到了下面两个方法(通过添加CSS或JavaScript代码去除),这两个方法单独使用或者一起使用都可以把来必力的评论框下面的广告给去除
解决办法添加CSS代码在主题的文件夹中找到normalize.min.css,具体路径看下图
打开文件后直接在最下面加入下面代码
123.trc_rbox_container { display: none !important;}
添加JavaScript代码在主题的文件夹中找到livere.pug,具体路径看下图
打开文件后直接在最下面加入下面代码
1234567891011121314script. var intervalFunctionID = setInterval(function(){ myTimer() }, 1000); function myTimer() { if (document.getElementById("taboola-livere") ! ...
jsdelivr被污染导致本站不翻墙无法正常访问
概述本站使用的博客框架是Hexo,使用的主题是Butterfly,该主题使用的大多数都是cdn.jsdelivr.net上的静态资源,由于被污染后导致不翻墙无法访问,进而使本站无法正常访问
解决办法替换方案把cdn.jsdelivr.net替换成下面四个网址之一即可(不保证一定可用,可以先试试行不行,貌似第二个最稳),等到cdn.jsdelivr.net恢复后改回来即可
1234fastly.jsdelivr.netgcore.jsdelivr.nettestingcf.jsdelivr.nettest1.jsdelivr.net
修改主题的配置Butterfly这个主题的静态资源引用定义在/scripts/events文件夹下的config.js中,打开它把cdn.jsdelivr.net替换成上面的四个网址之一
PS.还可以把这些静态资源下载下来,放在又拍云的云存储或直接放在主题文件夹中,只不过后期升级主题会很麻烦
IntelliJ IDEA使用插件实现对Stream流操作的调试
安装插件插件名称为:Java Stream Debugger,好像在IntelliJ IDEA的插件市场没找到,但是在已安装插件列表中已经有这个插件了,应该是新版的IntelliJ IDEA已经内置了这个插件(所以要使用这个插件就将IntelliJ IDEA更新为最新的版本即可)
使用插件要调试的代码1234567891011121314151617181920212223import java.util.ArrayList;import java.util.List;import java.util.stream.Collectors;/** * @author LeDao * @company * @create 2021-06-21 12:38 */public class Test { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("blog.zoutl.cn& ...