- 博客(171)
- 收藏
- 关注
原创 git 撤销上一个 commit
-soft 和 --mixed 都可以使用。为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交。HEAD^^^ 上上上一个版本。HEAD^3 上上上一个版本。HEAD^^ 上上一个版本。HEAD~0 表示当前版本。HEAD^2 上上一个版本。HEAD~1 上一个版本。HEAD 表示当前版本。HEAD^ 上一个版本。可以使用 ~数字表示。
2023-02-23 17:59:06 4666
原创 Flutter-虚线组件
1.XFDashedLine效果展示目的:实现效果的同时,提供定制,并且可以实现水平和垂直两种虚线效果:axis:确定虚线的方向; dashedWidth:根据虚线的方向确定自己虚线的宽度; dashedHeight:根据虚线的方向确定自己虚线的高度; count:内部会根据设置的个数和宽高确定密度(虚线的空白间隔); color:虚线的颜色暂时实现上面的定制,后续有新的需求继续添加新的功能点~2. 实现思路分析实现比较简单,主要是根据用户传入的方向确定添加对应的Siz
2022-04-11 14:38:15 2906
原创 js实现选中文字
const selection = window.getSelection();selection.removeAllRanges();const range = document.createRange();const node = document.querySelector(".tablesShow");range.selectNodeContents(node); // 需要选中的dom节点selection.addRange(range);
2022-02-24 16:24:50 1593 5
原创 flutter数据存储封装shared_preferences
import 'package:shared_preferences/shared_preferences.dart';// 设置setStorage(String key, value) async { SharedPreferences prefs = await SharedPreferences.getInstance(); if (value is String) { prefs.setString(key, value); } else if (value is nu.
2022-02-04 07:52:44 2327
原创 flutter解决键盘遮挡TextField
Scaffold有一个属性resizeToAvoidBottomInset,默认为true,配合SingleChildScrollView可实现自适应键盘高度class Demo extends StatelessWidget { const Demo({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( resizeToAvoid
2022-02-03 15:38:22 2193
原创 flutter tabcontroller监听点击调用两次
原因:点击本身出发一次监听,随之产生的动画效果再次出发监听,如果是滑动,仅触发一次监听 解决:看下点击的索引和动画值对不对,过滤掉点击的listen,只显示动画的listen _tabController.addListener(() { if(_tabController.index == _tabController.animation?.value){ print("点击了"); } });...
2022-02-02 18:00:14 3166 2
原创 flutter bottomNavigationBar切换保存页面状态
将body由PageVIew改为IndexedStackbody: SafeArea( child: IndexedStack( children: _tabView, index: _currentTab,)),注意:第一次加载时便实例化所有子页面的State
2022-02-02 14:14:58 954
原创 flutter使用eventBus进行组件间通信
event_bus | Dart PackageA simple Event Bus using Dart Streams for decoupling applicationshttps://pub.dev/packages/event_bus1.创建事件总线创建EventBus实例,并将其提供给其他类。通常每个应用程序只有一个事件总线,但可以设置多个事件总线来对一组特定的事件进行分组。import 'package:event_bus/event_bus.dart';Event.
2022-02-01 22:42:28 1040
转载 Flutter中实现下拉刷新与上拉加载更多
Flutter中实现下拉刷新与上拉加载更多 - 云+社区 - 腾讯云其基本的实现方法是在该组件添加onRefresh事件,当用户下拉刷新时会触发该事件,在该事件中可以用调用一个延时任务Future.delayed( ),在延时任...https://cloud.tencent.com/developer/article/1772193...
2022-02-01 21:57:53 282
原创 Flutter ButtonStyle设置圆角
ElevatedButton( child: Text( '提交', style: TextStyle( fontWeight: FontWeight.bold, color: Colors.white[300], fontSize: 14), ), onPressed: () {print("提交");} style: ButtonStyle( //圆角 s.
2022-02-01 21:47:22 4497 1
原创 flutter rpx屏幕适配方案
rpx是小程序中的适配方案,它将750px作为设计稿,1rpx=屏幕宽度/750,其它所有的单位都使用rpx单位。不管是什么屏幕,统一分成750份 在iPhone8上: 1rpx = 375/750 = 0.5px 在iPhone12proMax 上:1rpx = 428/750 = 0.571px所以我们就可以通过上面的计算方式,算出一个rpx,再将自己的size和rpx单位相乘即可: 比如300px的宽度:3002rpx在iPhone8上计算出的结果是300px 在在iPhone12pr
2022-01-30 16:02:19 2273
原创 小程序解决image无法显示base64数据的问题
// 对拿到的数据进行处理data = data.replace(/[\r\n]/g,"")
2022-01-26 15:32:01 1188
转载 echarts折线增加阴影
原文:掘金echarts折线图阴影小技巧前言echarts作为我们前端小伙伴常用的可视化库,那我们画出有阴影的折线图,让折线图比较立体感。 可以使用折线图的lineStyle如有错误,请大佬指正不加阴影的折线图是这样的不加阴影的折线图是这样的加阴影的折线图是这样的看起来是不是比较有立体感,层次感,那这样阴影是怎样是实现的,话不多说,直接上代码js代码<script>import * as echarts from "echar...
2021-10-22 15:20:50 8669
原创 uniapp复制文字内容
if (this.platform == 'android') { // 安卓复制到剪贴板 let Context = plus.android.importClass("android.content.Context"); let main = plus.android.runtimeMainActivity(); let clip = main.getSystemService(Context.CLIPBOARD_SERVICE); ...
2021-10-09 14:37:02 614
转载 mozjpeg 安装失败/Failed at the mozjpeg
原文:https://www.bluepost.cn/jianzhan/npm-err-failed-at-the-postinstall-script.html近日在升级npm安装包imagemin-webpack-plugin和imagemin-mozjpeg时,分别报错npm ERR! Failed at the gifsicle@4.0.1 postinstall script.和npm ERR! Failed at the mozjpeg@7.0.0 postinstall script..
2021-09-04 19:55:03 8068 2
原创 js获取指定月的天数
// 获取指定月的天数function getMonthDays(year, month) { const thisDate = new Date(year, month, 0); //当天数为0 js自动处理为上一月的最后一天 return thisDate.getDate();}
2021-09-04 10:05:39 213
原创 css实现中间镂空效果
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>镂空</title> <style> .outBox{ height:300px; width:300px; background: transparent; .
2021-08-31 17:50:36 1393
原创 uniapp h5保存canvas
uni.canvasToTempFilePath({ canvasId: 'shareCanvas', success: (res) => { console.log(res); //把base64转换成Blob数据 uni.downloadFile({ url: res.tempFilePath, success: (res) => { // console.log(res); //创建一个a标签 var link = docu.
2021-08-13 20:50:39 897
原创 hash路由微信公众号支付提示当前页面URL未注册
在微信支付时,当调用微信支付的时候,微信会判断当前页面和微信公众号后台设置的支付授权目录是否一致,他会把页面最后一次刷新的url作为判断依据(如果用户刷新了任何页面,这个页面就是支付页面),这个时候,单页应用的路由中‘#’后面的内容也会被传递过去,在微信的判断流程里,这个url和设置的目录是不匹配的,因为涉及到多个页面都会发起支付请求,所有设置多个带页面参数的url是不合理的,所以这里在‘#’前面添加了‘?’,让微信忽略‘?’后面的内容。mounted() { if (window.loc.
2021-08-03 09:50:37 490
原创 css实现动画的暂停和播放
@keyframes rotateAnimate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }}.img { width: 200px; height: 200px; border-radius: 50%; animation: rotateAnimate 5s linear infinite;}.active { animation-play-st.
2021-07-22 18:04:03 472
原创 小程序直传COS存储桶
var CosAuth = require('./cos-auth'); // 这里引用了 cos-auth.js,下载地址为 https://unpkg.com/cos-js-sdk-v5/demo/common/cos-auth.min.js var Bucket = 'examplebucket-1250000000';var Region = 'ap-shanghai';var ForcePathStyle = false; // 是否使用后缀式,涉及签名计算和域名白名单配置,后缀式说明看.
2021-07-22 11:09:56 1076
转载 基于less、sass的在webpack或vite等的预设多主题的编译方案
https://zhuanlan.zhihu.com/p/375347921切换效果预览已封装的工具主要的实现就是修改了 less 和 sass 的 render 的编译逻辑,以达到所有的less、scss文件(包括支持css modules的)经过相同的编译逻辑,请使用@zougt/some-loader-utils的getLess和getSass方法,替代当前构建环境中的less和sass编译器,目前在 webpack 和 vite 中使用测试过。 如需对编译后的主题 css 抽取成..
2021-07-16 16:42:58 561
原创 微信小程序动态绑定多class
<view class="[container,{{true?'ok':'no'}},two]"></view>----------------------------------------------------<view class="container {{false?'ok':'no'}} why"></view>两种写法用[ ]包裹或者传统class写法
2021-07-14 10:26:36 2115
原创 axios及api封装
1.新建request.jsimport axios from 'axios'import { Message, MessageBox } from 'element-ui'//请根据自己的情况自信修改import store from '../store' // 创建axios实例const service = axios.create({ baseURL: process.env.BASE_API, // api 的 base_url /* baseURL: window.gl
2021-07-07 21:09:24 296
转载 Vue 封装全局提示组件
1.新建一个Toast组件<template> <transition name="fade"> <div v-show="visible">{{message}}</div> </transition></template><script>export default { data () { return { visible: false, message:
2021-07-07 20:28:18 412
原创 nvue中滚动到列表某个指定项
dom模块用于对 weex 页面里的组件节点进行一部分特定操作。scrollToElement将 list 的某个子节点滚动到当前视口 getComponentRect获取某个组件的 bounding rect 布局信息 addRule添加 font-face rule getLayoutDirection0.20.0+获取某个组件的布局方向(rtl、lrt、inherit)让页面滚动到 ref 对应的组件,这个 API 只能用于可滚动组件的子节点,例如,,等可滚动组件中。s...
2021-06-24 09:53:32 2503 1
转载 在vue-cli4中移动端的自适应:amfe-flexible和px2rem-loader
1、首先在项目中安装以下依赖npm install px2rem-loader --savenpm install amfe-flexible --savenpm install postcss-px2rem --save2、在main.js中添加:import 'amfe-flexible'3、在vue.config.js中进行配置module.exports = { css: { loaderOptions: { post
2021-04-29 16:43:04 322 1
转载 vue获取url中的参数(兼容hash模式)
getQueryString = (name, search) => { search = search || window.location.search.substr(1) || window.location.hash.split("?")[1]; let reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); let r = search.match(reg); if (r != null) return .
2021-04-29 11:21:01 2646
原创 js简单实现防抖
var timer = null;function debounce(fn, wait) { if (timer !== null) { clearTimeout(timer); } timer = setTimeout(fn, wait);}function test(){ console.log(123);}window.addEventListener("resize",debounce(test,1000));//改变窗口大小,观察浏览器控制台的变化...
2021-04-26 16:55:28 335
原创 支付宝小程序导航栏隐藏及穿透
设置小程序标题栏透明介绍//uniapp页面设置"style": { "navigationBarTitleText": "", "enablePullDownRefresh": true, "navigationBarBackgroundColor": "#FFF", "navigationStyle": "custom", //微信 "transparentTitle": "always", //支付宝 "titlePenetrate": "YES" //支付宝}...
2021-04-23 15:13:25 3301
原创 数组冒泡排序
function bubbleSort(arr) { for (var i = 0; i < arr.length - 1; i++) { for (var j = 0; j < arr.length - i - 1; j++) { //循环到第i 轮时,后面有i 个数已经排好了 if (Number(arr[j]) > Number(arr[j + 1])) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[.
2021-04-23 10:59:57 56
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人