vue-admin-template第三方接入配合动态路由
vue-admin-template接入公司内部认证系统总结
主要逻辑
检测用户有没有登录
没有则跳转至http://xxx.com?url=<return_url>
授权后跳回return_url从url中获取token
解析token,保存用户数据
登录后的逻辑
跳转部分修改login页面里面我们只需要在框架中添加跳转页面以及跳转后处理页面即可,其他的框架已经使用路由帮我们处理
因为判断到没有登录会重定向到/login,所以我们可以修改/login对应的页面,让其直接跳转到认证页面
12345678// src/views/login/index.vue<script> export default { created() { window.location.href = 'http://passport.oa.com/modules/passport/signin.ashx?url=http://127.0.0.1:9527/#/ioa' } }</script ...
配置无显示器Linux环境远程使用
使用Windows内网远程Linux用于开发,让Linux专注于开发
安装Linux以及配置本次安装的是Arch,具体教程略过,可参考
Arch安装配置笔记 - GreenHatHGのBlog
安装xorg以及配置
安装xorg
1pacman -S xorg-server xorg-xinit
无显示器配置还需要安装
1pacman -S xf86-video-dummy
正常来说,新版xorg能够自动配置,但是对于无显示器方案,我们需要自己添加配置文件
12345678910111213141516171819202122/etc/X11/xorg.conf.d/10-headless.confSection "Monitor" Identifier "dummy_monitor" HorizSync 28.0-80.0 VertRefresh 48.0-75.0 Modeline "1920x1080" 172.80 1920 2040 2248 2576 1 ...
二进制常见操作总结
常见二进制奇技淫巧
判断奇偶数123if(0 == (a & 1)) { //偶数}
判断二进制某个位是否为1把1左移N-1位,再进行and操作,如果大于0则代表该二进制位就为1
1x&(1<<5)
减去低位的最后一个1|将最右边的1变成01x = x&(x-1)
O(1) 时间检测整数 n 是否是 2 的幂次1x&(x-1) == 0 //是
高低位交换给定一个 16 位的无符号整数,将其高 8 位与低 8 位进行交换,求出交换后的值
1a = (a >> 8) | (a << 8);
将最右边的0变成11x|(x+1)
在最后一位加一个11a << 1+1
最后一位取反1x ^ 1
把右数第k位变成11x | (1 << (k-1))
把右数第k位变成01x & ~ (1 << (k-1))
右数第k位取反1x ^ (1 << (k-1))
取末k位1x & (1 << k-1)
取右数第k位1x >> ( ...
git提交前校验方案
拦截commit事件,进行前置处理,校验通过则允许commit否则拒绝
介绍Git有一种在发生某些重要操作时触发自定义脚本的方法,称为Git Hooks。 这些hooks有两种:客户端和服务器端。 客户端hooks由诸如提交和合并之类的操作触发,而服务器hooks由网络操作(如接收推送的提交)运行
https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks
本次是客户端方案
方案介绍
目的:在git commit之前,对变更的文件进行检查,如果通过,则允许提交,否则拒绝提交
流程:
git diff获取变更文件
执行检查脚本,将未通过文件列表保存到文本
从文本中获取所有出错文件
与变更文件列表比较
如果存在出错文件则拒绝commit,否则commit
遇到的问题git diff获取变更文件时,如果git中对应的编码没有设置对,获取的文件名可能是一串数字
这里有两个解决方案:
手动设置git编码正确,Windows和*nix两个系统操作方式不一样
添加编码设置到~/.gitconfig
这里采用第二种方案
...
Caddy2使用在vue-history模式
Caddy2在vue-history模式下的配置
Caddy是什么Caddy是一个像Apache,Nginx的web服务器
在使用了web服务器的网站中,有30%+使用了Nginx,是市面上使用最广泛的web服务器之一
对于个人开发者来说,Caddy可能是你的较好选择,在市面上Caddy占有额会非常的微小,但是它方便的配置就足够了
Caddy2Caddy的最新版本是2.x, 功能强大了很多,但是资料/dome 都比较少,这里记录一下使用过程,下面是一些Caddy2的参考资料:
https://caddyserver.com/v2
https://caddyserver.com/docs/caddyfile/directives
https://github.com/caddyserver/caddy/wiki
https://caddy.community/
配置机器
安装Caddy2下载地址:https://github.com/caddyserver/caddy/releases
这里下的是https://github.com/caddyserver/caddy/releases ...
ElasticSearch分词入门
ES分词知识小整理
ElasticSearch入门
整理下知乎某篇文章
搬运整理至
终于有人把Elasticsearch原理讲透了! - 知乎
_1.JPG)
_2.JPG)
_3.JPG)
_4.JPG)
_5.JPG)
_6.JPG)
_7.JPG)
_8.JPG)
_9.JPG)
_10.JPG)
_11.JPG)
_12.JPG)
_13.JPG)
_14.JPG)
_15.JPG)
pandas库总结
常见用法总结,方便查找
读取1234567891011import pandas as pddef read_csv(): csv_path = sys.argv[1] is_file_empty = False if os.path.isfile(csv_path) and os.path.getsize(csv_path) > 0 else True if is_file_empty: raise SystemExit('File Empty') # 数据大时可能有内存溢出危险 df = pd.read_excel(csv_path) # pd.read_excel('a.xlsx', sheet_name='sheet_name', encoding='utf-8-sig') return df
遍历按行遍历iterrows123for index, row in df.iterrows(): print(index) # 输出每行的索引 ...
vue-admin-template动态路由
vue-admin-template动态路由填坑
需求背景不涉及权限简单要求动态侧边栏动态加载菜单(路由信息请求后台),然后根据不同的路由显示不同的表格数据
vue-admin-template刷新逻辑
在src\layout\components\Sidebar\index.vue文件中,每个item是根据路由的元信息(一个数组)去渲染的
在src\router\index.js配置了项目的基本路由表,因为这个模板是简单模板,所以并没有带权限路由表
项目启动后,这里会创建路由表,然后由上面sidebar渲染,注意这里是异步创建路由表
根据上面所知,如果我们想要修改显示的侧边栏,是不是直接修改constantRoutes变量就行了?
这个是可以的,在渲染前将想要加载的侧边栏添加到变量里面,然后渲染时就可以加载了,但是有个问题
虽然可以显示了,但是点击动态显示的侧边栏后再刷新会显示404
vue-router刷新后404点击显示出来的sub-menu可以跳转进对应的表格,但是在当前表格页面刷新就会跳转到404,因为刷新页面vuex和router实例会重新初始化到初始状态,所以新增的 ...
Java执行Shell命令笔记
ProcessBuilder类浅析以及Linux Shell执行逻辑
从Java代码运行Shell命令有两种方式
使用Runtime类的exec方法
第二种是使用ProcessBuilder类
使用第二种方法能够定制更多的内容,本文主要介绍的是第二种,第一种介绍下用法
环境约定:
Arch Linux x86_64 Linux 5.4.44-1-lts
java version "1.8.0_251" Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
Runtime123456789101112public void runTime() throws IOException, InterruptedException { //在单独的进程中执行指定的字符串命令(产生一个新的子进程) Process process = Runtime.getRuntime().exec("ls -al"); //将InputStream中的内容转成 ...