Apm29's Studio.

Apm29's Studio.

it's better to burn out than to fade away

Vue项目动态路由实践(实现动态权限)
Vue项目动态路由实践(实现动态权限)问题来源管理端项目经常有需要根据账号角色、权限动态地修改菜单显示的需求,首先是登录时从服务端获取账号对应的角色、权限、菜单等信息,还有一个是在切换账号、切换角色的时候动态改变菜单权限 其他参考Vue项目大多集成了vue-router,用于管理路由信息,用一个VueRouter对象来描述项目的所有路由关系,通过标签来形成多层次的路由关系(单页面应用),但是VueRouter描述的routes是固定的,改变路由的API只有addRoutes,只能新增不能移除,会导致菜单权限多的账号切换到菜单权限少的账号时还是可以通过地址访问无权限的地址,只能通过前端页面...
Flutter国际化flutter_intl
缘起之前项目一直在用的国际化库flutter_i18n作者跑路不维护了,idea插件也只支持到192.x,只好自己再找个类似的库,然后就发现了Flutter Intl插件 使用默认情况下,Flutter仅提供美国英语本地化。要添加对其他语言的支持,应用程序必须指定其他MaterialApp属性,并包含一个名为的单独包-“flutter_localizations”。 在pubspec.yaml中添加flutter_localizations依赖并执行packages get 123# 国际化flutter_localizations: sdk: flutter 然后在Androi...
用分治思想非递归获取N个数组元素的组合
问题来源在计算一些商品规格的时候经常遇到这样的问题:比如一个商品有7个规格键值对 比如 【尺寸:S】 【尺寸 M】【尺寸 L】 【颜色 :白】【颜色 黑】【套餐:A】【套餐 B】,我们需要计算出所有可能的规格组合,其中规格名称相同的分为一组,可以得到三个数组,用于表示各个规格代表的值: 12345let array = [ ['S', 'M', 'L'], ['白', '黑'], ['A', 'B'],] 分治思想: 分治,字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,...
TravisCi/Gradle部署SpringBoot项目到aliyun ECS
项目新建新建一个Springboot项目,IDEA/SpringInitializer或者其他方法建立一个项目,将项目上传到Github,因为TravisCI和Github配合食用风味更佳😁 登录到TravisCI官网,可以直接用Github登录,然后给该项目配置TravisCI,网上教程一大把我这就不赘述了,我们主要看下.travis.yml文件内容,以及ssh登录到我们的阿里云ECS的实现步骤(主要是为了scp我们的build生成的jar包) Worker环境先确定travis的worker配置,java语言,jkd8,其他也就不用配置了,默认是ubuntu xenial,没什么特...
Linux/OSX 命令
查看进程占用 lsof -i tcp:8080 该命令会显示占用8080端口的进程,有其 pid ,可以通过pid关掉该进程 杀死进程 kill pid docker copy docker cp 位置1 位置2位置可以为docker形式的:docker名称:路径,比如 docker cp /home/nginx/conf/nginx.conf nginx-web:/etc/nginx/nginx.conf 进入dockerdocker exec -it docker名称 命令行工具例如 docker exec -it nginx-web bash var git...
用Flutter重构应用
前言开发环境 macOS Catalina10.15.2 AndroidStudio 3.5.3 Xcode 11.3 看看doctor$ flutter doctor -v1234567891011121314151617181920212223242526272829303132333435363738394041424344[✓] Flutter (Channel master, v1.13.6-pre.16, on Mac OS X 10.15.2 19C57, locale zh-Hans-CN) • Flutter version 1.13.6-pre.16 at &#...
Docker笔记
1. Docker Install参考Docker网站Ubuntu安装Docker的教程安装 2.切换Aws-Ubuntu到Root1sudo -s 3.Docker 启动 显示基本信息 123$ docker version #或者$ docker info Docker 需要用户具有 sudo 权限,为了避免每次命令都输入sudo,可以把用户加入 Docker 用户组(官方文档)。 1$ sudo usermod -aG docker $USER 手动启动安装之后, 你需要启动Docker Daemon. 大多数Linux发行版使用 systemctl 来启动服务. 如果不行可...
Hexo
Hexo,Github/TravisCi and AWS目的使用TravisCI把Hexo博客项目自动提交到github pages 和 AWS EC2服务器 1.建立Hexo项目具体参考Hexo文档建立一个自己的博客项目,提交到Github 2.配置TravisCI首先用Github账户登陆TravisCI官网 然后将项目打开集成开关,在settings中设置具体参数 在Github中DeveloperSettings/PersonalAccessToken生成一个新的token(注意给到Token必要的权限),设置为GH_TOKEN,再新加入两个环境变量,一个是项目的Git地址,一个...
Android Text measure/draw
字符串绘制的字符高度以及行高 字符高度 我们在绘制文字的时候,需要确定绘制的字符高度以免发生重叠等问题,最简单的方式是通过Paint的fontMetrics来确定,如上图所示,一个文字有五个属性 top 文字绘制行顶部相对baseLine的y值 ascent 单个文字顶部相对baseLine的y值 baseLine 文字绘制的y轴基点,用canvas.drawText(String text, float x, float y, Paint paint)方法绘制的时候,参数y就是绘制文字的baseLine bottom 文字绘制行底部相对baseLine的y值 descent 单个...
Flutter WebView 键盘问题
Flutter_Webview 键盘弹出问题 webview_flutter ^0.3.7+1 pub链接 webview_flutter在Android上没有办法弹出键盘,github上的issue已经提了很久,但是官方的milestone还要到19年的十月 issue #19718,(截止发稿时已经有一个PR到master分支了,但是stable分支的同学可能就还要等一哈了),但是PR的解决方案在AndroidN之前并没有用…comment 1.来自其他同学的启发 隐藏TextField方案,这个方案的简单思路就是在onPageFinish时给Webview注入一段js代码,监...
avatar
Apm29
It's better to burn out than to fade away
FRIENDS
juejin