Flutter Andoird 返回键退出友好处理
背景Android手机会有虚拟按键, 或者实体按键。 用户点击返回按键或误触时 如果刚打开或者路由栈没有更多页面则会退出应用直接退出应用的话 用户体验就太差了, 所以大多数的做法是在一定时间内再按返回才进行退出操作
解决在Flutter中我们可以通过 WillPopScope 来实现返回按钮拦截
12345const WillPopScope({ ... required WillPopCallback onWillPop, required Widget child})
onWillPop是回调函数, 当用户点击返回按钮时调用
1234567891011121314151617181920212223242526272829303132333435363738import 'package:flutter/material.dart';import 'package:get/get.dart';class WillPopTest extends StatefulWidget { @override S ...
ESLint 如何在Vue或React中使用
vue或react都有对应的插件实现
eslint-plugin-vue
eslint-plugin-react
由于 Vue 中的单个文件组件不是普通的 JavaScript,因此无法使用默认解析器,因此引入了新的文件组件。 通过表示模板语法的特定部分以及标签内的内容生成增强的 AST 节点。
以上面Vue文件报错为例子
我们可以通过eslint-plugin-vue来实现
首先项目根目录安装
1npm install --save-dev eslint eslint-plugin-vue
然后执行 npm run eslint-fix进行校验
前面所遇到的html标记已经得到解决 eslint能正确识别vue文件。
配合IDE食用更佳在实际的开发过程中, 当然希望编辑器能即使反馈错误并提示
以VsCode为例
安装插件
预期效果
如果未生效
请确保EsLint开启
如遇报错 解决报错直至开启
ESLint 初体验
介绍ESLint是一个用来识别 ECMAScript 并且按照规则给出报告的代码检测工具,使用它可以避免低级错误和统一代码的风格。如果每次在代码提交之前都进行一次eslint代码检查,就不会因为某个字段未定义为undefined或null这样的错误而导致服务崩溃,可以有效的控制项目代码的质量
好处俗话说的好没有规矩不成方圆 代码规范是程序员的根本,入门第一步,从规范代码开始。eslint根本目的是统一项目的代码风格规范,养成规范的写代码习惯,减少不必要的错误和隐患。
安装123npm install -g eslint // 全局安装npm install --save-dev eslint // 项目安装
使用项目根目录新建.eslintrc.js文件 配置eslint。
如果全局安装eslint可以在项目运行, 初始化配置文件。
可以根据个人喜好或团队选择
123456789101112131415161718eslint --init1 How would you like to use ESLint? (Use arrow keys)To check syntax only ...
27
刚渡过了我的27岁生日
回顾这几年 似乎过的还不错
有坚持看书提升 也培养几个比较有意义的兴趣爱好
工作上 有互相帮助的同事 工作轻松 工资尚可
烟、槟榔这些不好的习惯也早戒了
遗憾的是晨跑的确是没能坚持下(尽力了… 有想互相监督的可以找我 )
身边的朋友也一直都在
有旧识 新识
无需敷衍,无需讨好
偶尔撸串 喝几杯 畅聊人生
真是再好不过了
谢谢你们
到了这个年纪 有个始终都绕不开的那便是情感这个话题
随着年龄的增长 身边结婚、有小孩的朋友是越来越多了
其实我真的是羡慕 , 羡慕他们的生活 当然身边也有婚后过的不是那么幸福的朋友啦
就如《围城》褚慎明说英国有句古话:
::: tip “ 结婚仿佛金漆的鸟笼,笼子外面的鸟想住进去,笼内的鸟想飞出来;所以结而离,离而结,没有了局。”:::
渐渐地我也接受了相亲(以前的我肯定瞧不起相亲, 最终小丑竟是我自己! )
遇见了各种各样的女生, 至于到现在都没个结果 根源肯定是我自己
经历了几次用尽全力最终却得到背叛 热情消耗殆尽且放一边 更多的是丢失了自信心
朋友也有介绍优秀的女生给我, 用他们的话说便是 她哪点不如她 人 ...
Electron 启动动画实现
背景Electron是通过Chromium和Node.js集成来达到这一开发体验的, 我们可以用React / Vue 很轻松的搭建一个桌面应用程序。应用启动时就避免不了短暂的白屏或者需要启动时加载基础数据。
那么怎样解决这一问题呢?
有APP开发经验的同学肯定立马就想到了 启动动画(开屏广告)。
思路
应用启动额外创建 Loading窗口 ,并且主窗口默认隐藏
主窗口加载完毕通过 ipcRenderer 通知主窗口显示, Loading窗口关闭
实现
准备开屏动画
配置主进程main.js文件
1234567const createWindow = async () => { mainWindow = new BrowserWindow({ minHeight: 600, minWidth: 1024, width: 1280, height: 720, titleBarStyle: 'hidden', frame: false, show: false }); ……};
创建load ...
Electron自动更新or手动触发更新
背景我们用Electron开发了桌面应用, 项目同时也在不断更新迭代。我们希望只要发布了最新的版本,用户就能够收到更新提示从而进行升级。调研了市面上的实现方式后决定采取electron-updater插件来实现更新功能。electron-updater只需要简单的文件托管,不需要专用的服务器就能实现更新。
开始我们先用脚手架新建一个空项目(vue)
1234vue create electron-vue-demo // 新建项目vue add electron-builder // 安装electron v11.0.0npm run electron:serve // 运行项目npm i electron-updater // 安装electron-updater
配置publish 发布地址
123456789101112131415"build": { "productName": "demo", "appId": "demo.fspace.com", ...
向往的生活
身边有几个走不散的知心朋友
真正关心你的家人
温暖的家
这就是我向往的生活