autoHotKey 一些脚本积累
新建test.ahk,然后运行即可。
#InstallKeybdHook
#Persistent
Hotstring("EndChars", "`n") ; 设置为回车键作为终止符(`t为回车键) ; 当前版本号
V = 0.0.4 ; 版本获取
try {
_V := ajax("https://raw.githubusercontent.com/dragon8github/ahk/master/version", true, "")
} catch e { } ; 版本不一致,提示是否要下载最新的
if (V != _V) {
MsgBox, 4, 温馨提示, 检测到你本地的DRY并非最新的,是否要前往下载?
IfMsgBox Yes
Run, https://raw.githubusercontent.com/dragon8github/ahk/master/DRY.exe
} ; ____________________ 全局变量 ___________________________
Menu, MyMenu, add ; ALT + R 重启脚本
!r::
Send, ^s
reload
Return ; 我阿里云的ip,方便我记忆
>^i::
SendRaw, 119.23.22.136
return >^p::
Var =
(
pxToRem
)
code(Var)
return >^v::
run, http://vuejs.org/
run, http://vuex.vuejs.org
run, http://router.vuejs.org
run, https://github.com/opendigg/awesome-github-vue
return >^r::
SendRaw, npm run dev
return >^l::
SendRaw, http://localhost:8080
return ::baidu::
SendRaw, http://www.baidu.com
return >^e::
run, http://element-cn.eleme.io/#/zh-CN/component/radio
run, https://github.com/ElemeFE/element/blob/dev/packages/
run, https://github.com/ElemeFE/mint-ui
run, http://elemefe.github.io/mint-ui/#/
return >^f::
run, http://fontawesome.dashgame.com/
return ; 获取当前ip,分为1234四个网卡
::ip1::
SendInput, % A_IPAddress1
return ::ip2::
SendInput, % A_IPAddress2
return ::ip3::
SendInput, % A_IPAddress3
return ::ip4::
SendInput, % A_IPAddress4
return +!c::
SendInput, ^c ;^a
Sleep, 150
Menu, MyMenu, DeleteAll
MyVar := clipboard
clipboard := ""
RegExMatch(MyVar, "i)(\b\w+\b)(?CCallout)")
Callout(m) {
if (StrLen(m) >= 3 and StrLen(m) < 20) {
clipboard .= m . ","
}
return 1
}
MyVar := clipboard
Sort MyVar, U D,
; D默认使用逗号作为分隔符,U移除重复项
Sort MyVar, U D,
ColorArray := StrSplit(MyVar, ",")
Loop % ColorArray.MaxIndex() {
this_color := ColorArray[a_index]
Menu, MyMenu, Add, %this_color%, MenuHandler
}
TrayTip, 生成成功, (づ ̄3 ̄)づ╭❤~ 按下 Ctrl + x 可以启动, 20, 17
MenuHandler:
SendRaw, %A_ThisMenuItem%
Return
return !x::
Menu, MyMenu, Show
Return ::git::
SendInput, rm -rf *.bak && git add . && git commit -m '' && git push -u origin master{LEFT 30}
Return ::auth::
SendInput, Authorization
return ; 关闭输入法
; 使用示例:SwitchIME(0x08040804)
; 使用示例:SwitchIME(0x04090409)
SwitchIME(dwLayout){
HKL:=DllCall("LoadKeyboardLayout", Str, dwLayout, UInt, 1)
ControlGetFocus,ctl,A
SendMessage,0x50,0,HKL,%ctl%,A
} !a::
MouseGetPos, MouseX, MouseY
PixelGetColor, color, %MouseX%, %MouseY%, RGB
Clipboard := "#" . SubStr(color, 3)
TrayTip, my title, current color is `n %Clipboard%, 20, 17
return >^b::
RUN, https://www.baidu.com/
RUN, http://www.cnblogs.com/cylee
Return ^g::
RUN, https://www.github.com/
RUN, https://legacy.gitbook.com/
Return ^+d::
InputBox, OutputVar, title, enter your download url?
if (OutputVar != "") {
text := ajax(OutputVar)
RUN, notepad
WinWaitActive, 无标题 - 记事本, , 2
if ErrorLevel {
MsgBox, WinWait timed out.
}
else {
; 这里需要聚焦一下
Winactivate
code(text)
}
}
return ; 快速搜索音乐
>^m::
InputBox, OutputVar, title, enter a music name?
if (OutputVar != "")
{
RUN, http://music.163.com/#/search/m/?s=%OutputVar%
RUN, https://y.qq.com/portal/search.html#w=%OutputVar%
RUN, https://www.xiami.com/search?key=%OutputVar%
RUN, http://www.kugou.com/yy/html/search.html#searchType=song&searchKeyWord=%OutputVar%
}
return !s::
Clipboard =
Send, ^c
ClipWait, 2
RUN, https://www.zhihu.com/search?type=content&q=%Clipboard%
RUN, https://segmentfault.com/search?q=%Clipboard%
RUN, https://www.google.com/search?q=%Clipboard%
RUN, https://stackoverflow.com/search?q=%Clipboard%
RUN, https://www.baidu.com/s?wd=%Clipboard%
return !q::
; 第一步,将当前剪切板的内容保存起来,然后清空
tmp := Clipboard
Clipboard =
; 第二步,复制当前选中内容
SendInput, ^c
ClipWait, 2
if (StrLen(Clipboard) >= 10) {
MsgBox, 请不要把此功能当做翻译机
return
}
; 有道翻译API(暂废弃)
; Var := ajax("http://119.23.22.136:6634/index.php?text=" . Clipboard . "&type=_")
; 百度翻译API
Var := ajax("http://119.23.22.136:6634/baidu_transapi.php?text=" . Clipboard . "&type=_")
; 切换到英文(关闭中文输入法)
SwitchIME(0x08040804)
; 黏贴结果
SendInput, % Var
; 这里考虑剪切板要tmp的数据,还是翻译的数据。暂时保存翻译结果吧
Clipboard := Var
Return ^!q::
; 第一步,将当前剪切板的内容保存起来,然后清空
tmp := Clipboard
Clipboard =
; 第二步,复制当前选中内容
SendInput, ^c
ClipWait, 2
if (StrLen(Clipboard) >= 10) {
MsgBox, 请不要把此功能当做翻译机
return
}
; 百度翻译API
Var := ajax("http://119.23.22.136:6634/baidu_transapi.php?text=" . Clipboard . "&type=tuofeng")
; 切换到英文
SwitchIME(0x08040804)
; 黏贴结果
SendInput, % Var
; 这里考虑剪切板要tmp的数据,还是翻译的数据。暂时保存翻译结果吧
Clipboard := Var
Return +!q::
; 第一步,将当前剪切板的内容保存起来,然后清空
tmp := Clipboard
Clipboard =
; 第二步,复制当前选中内容
SendInput, ^c
ClipWait, 2
; 百度翻译API
Var := ajax("http://119.23.22.136:6634/baidu_transapi.php?text=" . Clipboard . "&type=_", true)
TrayTip, 翻译成功, 翻译结果为: %Var%, 20, 17
; 这里考虑剪切板要tmp的数据,还是翻译的数据。暂时保存翻译结果吧
Clipboard := Var
Return !space::
InputBox, OutputVar, title, what's your Q?
if (ErrorLevel == 0)
{
RUN, https://www.zhihu.com/search?type=content&q=%OutputVar%
RUN, https://segmentfault.com/search?q=%OutputVar%
RUN, https://www.google.com/search?q=%OutputVar%
RUN, https://stackoverflow.com/search?q=%OutputVar%
RUN, https://www.baidu.com/s?wd=%OutputVar%
}
Return >^j::
RUN, http://youmightnotneedjquery.com/
RUN, https://wyagd001.github.io/zh-cn/docs/Tutorial.htm
Return ; 复制黏贴大段文本
code(code)
{
; MsgBox, %code%
tmp := Clipboard
Clipboard := code
SendInput, ^V
; 这里至少需要等待50m
sleep, 50
Clipboard := tmp
} ; 下载内容
ajax(url, q:=false, text:="正在为你下载代码,请保持网络顺畅")
{
whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
whr.Open("GET", url, true)
whr.Send()
if (text != "") {
TrayTip, 请稍后, % text, 20, 17
}
whr.WaitForResponse() if (q==false) {
if (whr.ResponseText) {
TrayTip, 下载成功, (づ ̄3 ̄)づ╭❤~ , 20, 17
} else {
TrayTip, 无内容返回, ( ̄ε(# ̄)☆╰╮o( ̄皿 ̄///) , 20, 17
}
} return whr.ResponseText
} ; https://tool.lu/imageholder/ 其实完全可以自己实现。算了,网上有的是这种服务
::img::
SendInput, <img src="https://iph.href.lu/400x400" alt="..." />{left 14}{ShiftDown}{left 7}{ShiftUp}
Return ; ______________________ css ______________________ ::bg-cover::
SendRaw, background: url(img/tiger.jpg) 0 / cover;
return ::@bg::
SendInput,
(
width: 100px`;
height: 100px`;
background: url('https://iph.href.lu/100x100') center / 100`% 100`% no-repeat`;
display: inline-block`;
)
return ::size::
SendInput,
(
width: px`;
height: px`;
)
return ::fs::
SendInput, font-size: 14px`;{left 3}+{left 2}
Return ::bg::
SendInput,background: url('https://iph.href.lu/100x100') center center / 130px 130px no-repeat content-box`;
Return ::bgc::
SendInput, background-color: {#}ffffff`;{left}+{left 6}
Return ::bgi::
SendInput, background: url('') no-repeat`;{left 13}
Return ::margin::
SendRaw, margin: 0 auto;
return ::arrow::
Var =
(
.triangle {
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 50px solid orange;
width: 0;
height: 0;
}
)
code(Var)
return ::arrow-top::
Var =
(
.triangle {
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 50px solid orange;
width: 0;
height: 0;
}
)
code(Var)
return ::arrow-right::
Var =
(
.triangle {
border-top: 50px solid transparent;
border-bottom: 50px solid transparent;
border-left: 50px solid orange;
width: 0;
height: 0;
}
)
code(Var)
return ::arrow-bottom::
Var =
(
.triangle {
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-top: 50px solid orange;
width: 0;
height: 0;
}
)
code(Var)
return ::arrow-left::
Var =
(
.triangle {
border-top: 50px solid transparent;
border-bottom: 50px solid transparent;
border-right: 50px solid orange;
width: 0;
height: 0;
}
)
code(Var)
return ::wh::
SendInput,
(
width: px`;
height: px`;^!{up}^{left}
)
Return ::w::
SendInput, width: px;{left 3}
Return ::h::
SendInput, height: px;{left 3}
Return ::ell::
SendInput,
(
overflow: hidden`;
text-overflow: ellipsis`;
white-space: nowrap`;
)
Return ::lh::
SendInput,
(
height: px;
line-height: px;^!{up}^{left}
)
Return ::text-a::
SendInput, text-align: center`;
Return ::ta::
SendInput, text-align: center`;
Return ::tc::
SendInput, text-align: center`;
Return ::tl::
SendInput, text-align: left`;
Return ::tr::
SendInput, text-align: right`;
Return ::t-a::
SendInput, text-align: center`;
Return ::t-c::
SendInput, text-align: center`;
Return ::t-r::
SendInput, text-align: right`;
Return ::t-l::
SendInput, text-align: left`
Return ::fl::
SendInput, float: left`;
Return ::fr::
SendInput, float: right`;
Return ::border-t::
SendInput, border-top: 1px solid {#}ccc`;
Return ::border-r::
SendInput, border-right: 1px solid {#}ccc`;
Return ::border-b::
SendInput, border-bottom: 1px solid {#}ccc`;
Return ::border-l::
SendInput, border-left: 1px solid {#}ccc`;
Return ::bt::
SendInput, border-top: 1px solid {#}ccc`;
Return ::br::
SendInput, border-right: 1px solid {#}ccc`;
Return ::bb::
SendInput, border-bottom: 1px solid {#}ccc`;
Return ::bl::
SendInput, border-left: 1px solid {#}ccc`;
Return ::mb::
SendInput, margin-bottom: px`;{left 3}
Return ::mt::
SendInput, margin-top: px`;{left 3}
Return ::ml::
SendInput, margin-left: px`;{left 3}
Return ::mr::
SendInput, margin-right: px`;{left 3}
Return ::pb::
SendInput, padding-bottom: px`;{left 3}
Return ::pt::
SendInput, padding-top: px`;{left 3}
Return ::pl::
SendInput, padding-left: px`;{left 3}
Return ::pr::
SendInput, padding-right: px`;{left 3}
Return ::posa::
SendRaw, position: absolute;
Return ::posr::
SendRaw, position: relative;
Return ::posf::
SendInput,
(
position: fixed`;
left: 0`;
right: 0`;
top: 0`;
z-index: 199307100337`;
)
Return ::box::
SendInput,box-sizing: border-box`;
Return ::flexw::
Var =
(
display: flex;
flex-wrap: wrap;
)
code(Var)
return ::flexc::
SendInput,
(
display: flex`;
justify-content: center`;
)
Return ::flexa::
SendInput,
(
display: flex`;
justify-content: space-around`;
)
Return ::flexs::
SendInput,
(
display: flex`;
justify-content: flex-start`;
)
Return ::flexe::
SendInput,
(
display: flex`;
justify-content: flex-end`;
)
Return ::flexcc::
SendInput,
(
display: flex`;
justify-content: center`;
align-items: center`;
)
Return ::flexac::
SendInput,
(
display: flex`;
justify-content: space-around`;
align-items: center`;
)
Return ::flexb::
Var =
(
display: flex;
justify-content: space-between;
align-items: center;
)
code(Var)
return ::flexbs::
Var =
(
display: flex;
justify-content: space-between;
align-items: flex-start;
)
code(Var)
return ::flexbc::
Var =
(
display: flex;
justify-content: space-between;
align-items: center;
)
code(Var)
return ::flexbe::
Var =
(
display: flex;
justify-content: space-between;
align-items: flex-end;
)
code(Var)
return ::flexss::
SendInput,
(
display: flex`;
justify-content: flex-start`;
align-items: flex-start`;
)
Return ::flexsc::
SendInput,
(
display: flex`;
justify-content: flex-start`;
align-items: center`;
)
Return ::flexee::
SendInput,
(
display: flex`;
justify-content: flex-end`;
align-items: flex-end`;
)
Return ::flexec::
SendInput,
(
display: flex`;
justify-content: flex-end`;
align-items: center`;
)
Return ::`:before::
SendInput,
(
::before {{}{}}{left}
content: " "`;
position:absolute`; )
Return ::`:after::
SendInput,
(
::after {{}{}}{left}
content: " "`;
position:absolute`; )
Return ::center::
SendInput,
(
position: absolute`;
left: 50`%`;
top: 50`%`;
transform: translate(-50`%, -50`%)`;
)
Return ::xcenter::
SendInput,
(
position: absolute`;
left: 50`%`;
transform: translateX(-50`%)`;
)
Return ::ycenter::
SendInput,
(
position: absolute`;
top: 50`%`;
transform: translateY(-50`%)`;
)
Return ::@media::
Var =
(
/* 移动设备断点,视图宽度 <= 768px */
@media (max-width: 768px) { } /* 移动设备断点,视图宽度 >= 769px */
@media (min-width: 769px and max-width: 1024) { } /* 移动设备断点,视图宽度 >= 1024px */
@media (min-width: 1024px and max-width: 1216px) { } /* 移动设备断点,视图宽度 >= 1216 */
@media (min-width: 1216px) { }
)
code(Var)
Return ::style::
Var =
(
<style lang="scss" scoped> </style>
)
code(Var)
return ::`!imp::
SendRaw, !important
return ::tran::
SendRaw, transparent
return ::trans::
SendInput, transition
return ::transf::
SendInput, transform
return ::link-media::
SendInput, <link rel="stylesheet" media="(max-width: 640px)" href="app640.css">
Return ::border-1px::
Var =
(
/* 1 物理像素线(也就是普通屏幕下 1px ,高清屏幕下 0.5px 的情况)采用 transform 属性 scale 实现 */
.mod_grid {
position: relative;
&::after {
/* 实现1物理像素的下边框线 */
content: '';
position: absolute;
z-index: 1;
pointer-events: none;
background-color: #ddd;
height: 1px;
left: 0;
right: 0;
top: 0;
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
-webkit-transform: scaleY(0.5);
-webkit-transform-origin: 50`% 0`%;
}
}
}
)
code(Var)
Return ::box-shadow::
SendRaw, box-shadow: 0 2px 12px 0 rgba(212, 212, 212, 0.1);
return ::box-shadow2::
Var =
(
box-shadow: 0 0 0 1px hsla(0, 0`%, 100`%, .3) inset,
0 .5em 1em rgba(0, 0, 0, 0.6);
)
code(Var)
return ::chrome-yellow::
Var =
(
input:-webkit-autofill {
-webkit-box-shadow: 0 0 0px 1000px white inset !important;
}
)
code(Var)
return ::forof::
Var =
(
for (const a of gen) {
console.log(a);
}
)
code(Var)
return ; ______________________ JavaScript ______________________ ::node-http::
Var =
(
var http = require('http'); var server = http.createServer(function (req, rep) {
rep.writeHead(200, {"Content-Type": "text/plain"});
rep.end("Hello World!!");
}) server.listen(3000, function (err) {
console.log('start');
});
)
code(Var)
Return >^d::
SendInput, debugger{;}
Return >^c::
SendInput, console.log(arguments)`;{left 2}
Return ::con::
SendInput, console.log()`;{left 2}
Return ::log::
SendInput, console.log()`;{left 2}
Return ::console::
SendInput, console.log(arguments)`;{left 2}
Return ::ret::
SendInput, return
Return ::pro::
SendInput, prototype
return ::args::
SendInput, arguments
Return ::json.p::
SendInput, JSON.parse(){left}
Return ::json.s::
SendInput, JSON.stringify(){left}
Return ::/json::
SendRaw, application/json;charset=utf-8
Return ::json/::
SendRaw, application/json;charset=utf-8
Return ::/form::
SendRaw, application/x-www-form-urlencoded;charset=utf-8
Return ::_::
Var =
(
_ => {}
)
code(Var)
SendInput, {left}{enter}
Return ::=>::
Var =
(
=> {}
)
code(Var)
SendInput, {left}{enter}
Return ::func::
Var =
(
function () {}
)
code(Var)
SendInput, {left}{enter}
Return ::f::
Var =
(
function () {}
)
code(Var)
SendInput, {left}{enter}
Return ::()()::
Var =
(
(function(){ }());
)
code(Var)
SendInput, {up}{tab}
Return ::$click::
Var =
(
$(".object").click(function () { });
)
code(Var)
SendInput, {up}{tab}
Return ::$change::
Var =
(
$(".object").change(function () { });
)
code(Var)
SendInput, {up}{tab}
Return ::`:?::
SendInput, foo === bar ? true `: false`;
Return ::sett::
Var =
(
setTimeout(function () { }, 1000);
)
code(Var)
SendInput, {up}{tab}
Return ::setti::
Var =
(
setInterval(function () { }, 1000);
)
code(Var)
SendInput, {up}{tab}
Return ::ctimer::
Var =
(
var timer = setTimeout(function () {
clearTimeout(timer);
}, 1000);
)
code(Var)
Return ::ctimeri::
Var =
(
var timer = setInterval(function () {
clearInterval(timer);
}, 1000);
)
code(Var)
Return ::$each::
Var =
(
$.each($('.object'), function (i, e) {
console.log(i, e);
});
)
code(Var)
Return ::.each::
Var =
(
.each(function (i, e) {
console.log(i, e);
});
)
code(Var)
Return ::foreach::
Var =
(
[1,2,3,4].forEach(function (e, i) {
console.log(i, e);
});
)
code(Var)
Return ::dg::
SendInput, document.getElementById('')`;{left 3}
Return ::ds::
SendInput, document.querySelectorAll('')`;{left 3}
Return ::.then::
SendInput, .then(_ => {{}{}}).catch(err => {{}{}})`;{left 3}{enter 2}{UP 2}{Home}{right 12}{enter 2}{up}{tab}
Return ::throw::
SendInput, throw new Error(e.message){left}^+{left}^+{left}
Return >!f::
Var =
(
for (var i = Things.length - 1; i >= 0; i--) {
Things[i]
}
)
code(Var)
Return !f::
Var =
(
for (var i = 0; i < Things.length; i) {
Things[i]
}
)
code(Var)
Return ::forin::
SendInput, for (var property in source) {{}{}}{left}{enter}console.log(source[property]);
Return ::switch::
SendInput,
(
switch (data) {{}{}}{left}{enter 2}{up}{tab}case 0`:
break`;
case 1`:
break`;
default`: )
return ::date::
Var =
(
var date = new date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getate();
var hour = date.getHours();
var minutes = date.getMinutes();
var seconds= date.getSeconds();
console.log(year + "/" + month + "/" + day + "/ " + hour + ":" + minutes + ":" + seconds);
console.log(year + "年" + month + "月" + day + "日 " + hour + "时" + minutes + "分" + seconds + "秒");
)
code(Var)
return ::cdate::
SendInput, var mydate = new Date(time.replace(/\-/g, "/"))`;
Return ::date.y::
SendInput, new Date().getFullYear()`;
Return ::datey::
SendInput, new Date().getFullYear()`;
Return ::date.year::
SendInput, new Date().getFullYear()`;
Return ::date.m::
SendInput, new Date().getMonth() {+} 1`;
Return ::date.month::
SendInput, new Date().getMonth() {+} 1`;
Return ::datem::
SendInput, new Date().getMonth() {+} 1`;
Return ::date.d::
SendInput, new Date().getDate()`;
Return ::dated::
SendInput, new Date().getDate()`;
Return ::date.day::
SendInput, new Date().getDate()`;
Return ::date.h::
SendInput, new Date().getHours()`;
Return ::dateh::
SendInput, new Date().getHours()`;
Return ::date.hour::
SendInput, new Date().getHours()`;
Return ::date.mm::
SendInput, new Date().getMinutes()`;
Return ::datemm::
SendInput, new Date().getMinutes()`;
Return ::date.s::
SendInput, new Date().getSeconds()`;
Return ::date.ss::
SendInput, new Date().getSeconds()`;
Return ::$create::
SendInput,
(
var wrap = document.createElement("div");
var first = document.body.firstChild;
var wraphtml = document.body.insertBefore(wrap,first);
)
Return
::random::
SendInput, parseInt(Math.random() * 10 {+} 1); // 获取 1 - 10 到随机数
Return ::rand::
SendInput, parseInt(Math.random() * 10 {+} 1); // 获取 1 - 10 到随机数
Return ::repeat::
SendRaw, Array.prototype.join.call({length: i + 1}, '你确定?')
Return !/::
Var =
(
/**
* say something ...
*/
)
code(Var)
Return +!/::
Var =
(
/**
* say something ...
* @param {*} 参数 说明
*/
)
code(Var)
return ::getuuid::
Var =
(
function getUUID () {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
return (c === 'x' ? (Math.random() * 16 | 0) : ('r&0x3' | '0x8')).toString(16)
})
}
)
code(Var)
return ; ____________ CDN _______________
::cdn-font::
SendRaw, <link href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
return ::cdn-axios::
SendRaw, <script src="https://cdn.bootcss.com/axios/0.18.0/axios.min.js"></script>
Return ::cdn-swiper::
Var =
(
<link href="https://cdn.bootcss.com/Swiper/4.2.2/css/swiper.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/Swiper/4.2.2/js/swiper.min.js"></script>
)
code(Var)
Return ::cdn-jquery3::
Var =
(
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
)
code(Var)
Return ::cdn-jquery1.9::
Var =
(
<script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
)
code(Var)
Return ::cdn-jquery::
Var =
(
<script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
)
code(Var)
Return ::cdn-jq::
Var =
(
<script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
)
code(Var)
Return ::cdn-vue::
Var =
(
<script src="https://cdn.bootcss.com/vue/2.5.16/vue.min.js"></script>
)
code(Var)
Return ::cdn-bs::
Var =
(
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://cdn.bootcss.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
)
code(Var)
Return ::cdn-bootstrap::
Var =
(
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://cdn.bootcss.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
)
code(Var)
Return ::cdn-reset::
Var =
(
<link href="https://cdn.bootcss.com/normalize/8.0.0/normalize.min.css" rel="stylesheet">
)
code(Var)
return ::cdn-normalize::
Var =
(
<link href="https://cdn.bootcss.com/normalize/8.0.0/normalize.min.css" rel="stylesheet">
)
code(Var)
return ;_______________ Vue ______________________ ::mapgetters::
Var =
(
// https://vuex.vuejs.org/en/getters.html
import { mapGetters } from 'vuex'
computed: {
...mapGetters([
'menuList'
]),
...mapGetters({
menuList: 'menuList'
})
},
)
return ::mapmutations::
Var =
(
// https://vuex.vuejs.org/en/getters.html
import { mapMutations } from 'vuex'
methods: {
...mapMutations([
'SET_MENU',
'SET_USERINFO'
]),
...mapMutations({
SET_MENU: 'SET_MENU',
SET_USERINFO: 'SET_USERINFO'
}),
},
)
return ::dispatch::
SendInput, this.$store.dispatch('').then(_ => {{} {}}){left 2}{enter 2}{up}{tab} // ...
Return ::v-for::
SendInput, v-for='(item, index) in items' :key='index'
Return ; ______________________ HTML _____________________ ::div::
Var =
(
<div></div>
)
code(Var)
Send, {left 6}
return ::html`:5::
Var =
(
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Document</title>
</head>
<style>
</style>
<body> </body>
<script>
</script>
</html>
)
code(Var)
Return ::meta::
SendInput, <meta name="viewport" content="width=device-width, initial-scale=1">
Return ::nocache::
(
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<!-- HTTP 1.1 -->
<meta http-equiv="pragma" content="no-cache">
<!-- HTTP 1.0 -->
<meta http-equiv="cache-control" content="no-cache">
<!-- Prevent caching at the proxy server -->
<meta http-equiv="expires" content="0">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
)
Return ::art::
SendRaw, <article></article>
return ::table-cell::
Var =
(
/**
* 父元素,table-cell兼容到IE8
*
* 缺点1:margin属性会失效(但子元素不影响),因为margin不适用于表格布局。
* 解决1:再外层多套一个div容器,然后对这个容器display:block;margin: 0 auto;即可
*
* 缺点2:使用display: table-cell;的元素设置宽高百分比的时候将不起作用,譬如想设置为外层的100`%宽度
* 解决2:如果只是想随着外层的100`%,还是有方法的,那就是设置一个很大的值,如3000px
*
* 缺点3:当元素设置为position: absolute;的时候会失效。
* 解决3:参考解决1,在外层套一个容器,将absolute作用于该容器即可。
* 但这样一来,又会导致缺点2的问题,也就是宽高百分比失效。所以要看场景使用。
* 实在不行可以使用:
position: relative;
top: 50`%;
transform: translateY(-50`%);
加上-webkit-前缀后,兼容性可以达到IE9。
也可以采用margin-top: 负元素的高度。但需要知道高度,无法根据内容长度自适应。
*/
.my-container {
display: table-cell;
vertical-align: middle;
}
)
code(Var)
return ::middle::
SendRaw, vertical-align: middle;
return ::fig::
Var =
(
<figure>
<img src="https://iph.href.lu/100x100" alt="..." />
<figcaption>explanatory caption</figcaption>
</figure>
)
code(Var)
return ::fig-span::
Var =
(
<style>
.my-container {
display: table-cell;
vertical-align: middle;
background-color: red;
height:500px;
}
img, span {
/**
* 以前我以为只有display:table-cell;可以使用。
* 现在才发现原来只要是行内元素都可以,更意外的是,img居然也是一个行内元素。
*/
vertical-align: middle;
}
</style>
<body>
<figure class="my-container">
<img src="https://iph.href.lu/100x100" alt="..." />
<span>explanatory caption</span>
</figure>
</div>
)
code(Var)
return ; _____________________ php _______________________ ::header::
Var =
(
header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Headers:Content-Type,Content-Length, Authorization,Origin,Accept,X-Requested-With');
header('Access-Control-Allow-Methods:GET,POST);
header('Access-Control-Allow-Credentials:true');
header("Content-type: text/html; charset=utf-8");
)
code(Var)
Return ::header-utf8::
SendRaw, header("Content-type: text/html; charset=utf-8");
Return ; _____________________ regExp _______________________ ::is-cn::
Var =
(
if (!/^[\u4e00-\u9fa5]+$/.test('李钊鸿')) {
throw new Error('请输入中文汉字')
}
)
code(Var)
return ::is-phone::
Var =
(
/^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
)
code(Var)
return ::is-pwd::
SendRaw, /[A-Za-z].*[0-9]|[0-9].*[A-Za-z]/.test('123456a@') ; /* 必须同时包含数字和字母,支持非法符号 */
Return ::is-user::
SendRaw, /^[a-zA-Z0-9-_]*$/.test(''); /* 由6-16位数字、 字母、 '_'、 '-'组成,不含特殊字符*/
Return ::is-id::
Var =
(
if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test('445222199307100337')){
throw new Error('非法身份证')
}
)
code(Var)
return ::is-email::
SendRaw, /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
Return ; _______________ snippets ______________ >^a::
Var =
(
$.ajax({
url: "http://localhost:3000",
type: "post",
data: JSON.stringify({
test: 123
}),
headers: {
token: '123'
},
dataType: 'json',
contentType: 'application/json;charset=utf-8',
success: function (data) {
console.log(data);
}
})
)
code(Var)
Return ::ajax::
Var =
(
$.ajax({
url: "http://localhost:8089/index.php",
type: "post",
data: {},
headers: {
token: '123'
},
dataType: 'json',
contentType: 'application/json;charset=utf-8',
success: function (data) {
console.log(data);
},
error: function(e, m){
console.log('数据接口请求异常', e, m);
}
})
)
code(Var)
Return ::walert::
SendRaw, window.alert('123');
return ; _______________________________ 本地代码库 _______________________________
>!v::
Var =
(
<template>
<div class="test">
test
</div>
</template> <script>
export default {
name: 'test',
data () {
return {
myData: []
}
},
methods: {
go () {
console.log('go');
}
},
components: { },
beforeMount () {
console.log('test');
}
}
</script> <style lang="scss" scoped>
.test { }
</style>r
)
code(Var)
return ::extend::
Var =
(
// 拷贝集成
var extend = function (destination, source) {
for (var property in source)
destination[prototype] = source[prototype]
return destination
}
)
code(Var)
Return ::gettop::
Var =
(
// 获取距离顶部的相对距离
function getElementTop(element){
try {
var actualTop = element.offsetTop;
var current = element.offsetParent;
while (current !== null){
actualTop += current.offsetTop;
current = current.offsetParent;
}
return actualTop;
} catch (e) {}
}
)
code(Var)
Return ::pad::
Var =
(
// 补全
function pad (target, n) {
var zero = new Array(n).join('0');
var str = zero + target;
var result = str.substr(-n);
return result;
}
)
code(Var)
Return ::goTop::
Var =
(
var timer = null;
var goTop = function() {
cancelAnimationFrame(timer);
timer = requestAnimationFrame(function fn() {
var oTop = document.body.scrollTop || document.documentElement.scrollTop;
if (oTop > 0) {
document.body.scrollTop = document.documentElement.scrollTop = oTop - 500;
timer = requestAnimationFrame(fn);
} else {
cancelAnimationFrame(timer);
}
});
}
)
code(Var)
Return ::uniqueArray::
Var =
(
/**
* 只用 Array
* 如果是 es6 推荐: return Array.from(new Set(arr));
*/
function uniqueArray(arr) {
var retArray = [];
for (var i = 0; i < arr.length; i) {
retArray.push(arr[i]);
}
Return retArray;
}
)
code(Var) ::env::
SendRaw, process.env.NODE_ENV === 'production|development'
return ; _______________________________ 云代码库 _______________________________ ::vue_template::
code(ajax("https://raw.githubusercontent.com/dragon8github/ahk/master/snippets/vue_template.vue"))
Return ::aop::
code(ajax("https://raw.githubusercontent.com/dragon8github/ahk/master/snippets/AOP.js"))
Return ::__EVENT__::
code(ajax("https://raw.githubusercontent.com/dragon8github/ahk/master/snippets/__EVENT__.js"))
Return ::normalize::
code(ajax("https://raw.githubusercontent.com/necolas/normalize.css/master/normalize.css"))
Return ::fuck-rem::
code(ajax("https://raw.githubusercontent.com/dragon8github/ahk/master/snippets/rem.scss"))
Return ::hover-nav::
code(ajax("https://raw.githubusercontent.com/dragon8github/ahk/master/snippets/hover-nav.html"))
Return ::myhtml::
code(ajax("https://raw.githubusercontent.com/dragon8github/ahk/master/snippets/myhtml.html"))
return ::myexpress::
code(ajax("https://raw.githubusercontent.com/dragon8github/ahk/master/snippets/myexpress1.js"))
return ::myexpress2::
code(ajax("https://raw.githubusercontent.com/dragon8github/ahk/master/snippets/myexpress1.js"))
return ::express-proxy::
code(ajax("https://raw.githubusercontent.com/dragon8github/ahk/master/snippets/express-proxy.js"))
return ::proxy::
code(ajax("https://raw.githubusercontent.com/dragon8github/ahk/master/snippets/express-proxy.js"))
return ::node-nginx::
code(ajax("https://raw.githubusercontent.com/dragon8github/ahk/master/snippets/express-proxy.js"))
return ::node-nginx2::
code(ajax("https://raw.githubusercontent.com/dragon8github/ahk/master/snippets/node-nginx.js"))
return ::glass::
code(ajax("https://raw.githubusercontent.com/dragon8github/ahk/master/snippets/glass.html"))
return ; ___________________ hongte _______________________ ::ht.loading::
Var =
(
<!-- http://element-cn.eleme.io/#/zh-CN/component/loading -->
const loading = this.$loading({lock: true, text: 'Loading', spinner: 'el-icon-loading', background: 'rgba(0, 0, 0, 0.7)'});
setTimeout(() => {
loading.close();
}, 2000);
)
code(Var)
return ::ht.post::
Var =
(
this.$http.post('/uaa/auth/login', {
"userName": "admin-salary",
"password": "123456"
}).then(result => {
console.log(result);
}).catch(err => {
this.$message.error('接口异常:' + err.message);
})
)
code(Var)
return ::ht.get::
Var =
(
this.$http.get('/uc/auth/loadMenu').then(result => {
console.log(result);
}).catch(err => {
this.$message.error('接口异常:' + err.message);
})
)
code(Var)
return ::ht.card::
Var =
(
<!-- http://element-cn.eleme.io/#/zh-CN/component/card -->
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>卡片名称</span>
<el-button style="float: right; padding: 3px 0" type="text">操作按钮</el-button>
</div>
<div v-for="o in 4" :key="o" class="text item">
{{'列表内容 ' + o }}
</div>
</el-card>
)
code(Var)
return ::ht.input::
Var =
(
<!-- http://element-cn.eleme.io/#/zh-CN/component/input -->
姓名: <el-input placeholder="请输入你的姓名" suffix-icon="el-icon-date" v-model="input"> </el-input>
)
code(Var)
return ::ht.form::
Var =
(
<!-- http://element-cn.eleme.io/#/zh-CN/component/form -->
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="活动名称">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="活动区域">
<el-select v-model="form.region" placeholder="请选择活动区域">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="活动时间">
<el-col :span="11">
<el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100`%;"></el-date-picker>
</el-col>
<el-col class="line" :span="2">-</el-col>
<el-col :span="11">
<el-time-picker type="fixed-time" placeholder="选择时间" v-model="form.date2" style="width: 100`%;"></el-time-picker>
</el-col>
</el-form-item>
<el-form-item label="即时配送">
<el-switch v-model="form.delivery"></el-switch>
</el-form-item>
<el-form-item label="活动性质">
<el-checkbox-group v-model="form.type">
<el-checkbox label="美食/餐厅线上活动" name="type"></el-checkbox>
<el-checkbox label="地推活动" name="type"></el-checkbox>
<el-checkbox label="线下主题活动" name="type"></el-checkbox>
<el-checkbox label="单纯品牌曝光" name="type"></el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="特殊资源">
<el-radio-group v-model="form.resource">
<el-radio label="线上品牌商赞助"></el-radio>
<el-radio label="线下场地免费"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="活动形式">
<el-input type="textarea" v-model="form.desc"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">立即创建</el-button>
<el-button>取消</el-button>
</el-form-item>
</el-form>
form: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
}
)
code(Var)
return ::ht.msg::
SendRaw, this.$message.error('接口异常:' + err.message);
return ; _______________________________ second_keyboard _______________________________
~^F12::
; 获取指定位置的数值
FileRead, key, C:\Users\lizhaohong\Desktop\keypressed.txt ; b 百度
if (key == 66) {
RUN, http://www.cnblogs.com/cylee
} ; 1 代表输入贷后系统的账号密码
if (key == 97) {
; 关闭输入法
SwitchIME(0x08040804)
; 输入账号
SendInput, admin-alms
; 切换到密码框
SendInput, {tab}
Sleep 200
; 输入密码
SendRaw, hongte123
Sleep 200
SendInput, {enter}
} ; 1 代表输入信贷系统的账号密码
if (key == 98) {
; 关闭输入法
SwitchIME(0x08040804)
; 输入账号
SendInput, admin
; 切换到密码框
SendInput, {tab}
Sleep 200
; 输入密码
SendRaw, hongte@2018
Sleep 200
SendInput, {enter}
} ; 1 代表输入薪资系统的账号密码
if (key == 99) {
; 关闭输入法
SwitchIME(0x08040804)
; 输入账号
SendInput, HX-04397
; 切换到密码框
SendInput, {tab}
Sleep 200
; 输入密码
SendRaw, 123456
Sleep 200
SendInput, {enter}
} ; 【d】跳转到贷后系统
if (key == 68) {
RUN, http://172.16.200.112:30601/index
} ; 【p】发送post代码
if (key == 80) {
Var =
(
this.$http.post('/uaa/auth/login', {
"userName": "admin-salary",
"password": "123456"
}).then(result => {
console.log(result);
}).catch(err => {
this.$message.error('接口异常:' + err.message);
})
)
code(Var)
} ; 【p】发送post代码
if (key == 71) {
Var =
(
this.$http.get('/uc/auth/loadMenu').then(result => {
console.log(result);
}).catch(err => {
this.$message.error('接口异常:' + err.message);
})
)
code(Var)
} if (key == 76) {
run, http://localhost:8080
} if (key == 86) {
run, http://vuejs.org/
run, http://vuex.vuejs.org
run, http://router.vuejs.org
run, https://github.com/opendigg/awesome-github-vue
} if (key == 69) {
run, http://element-cn.eleme.io/#/zh-CN/component/radio
run, https://github.com/ElemeFE/element/blob/dev/packages/
run, https://github.com/ElemeFE/mint-ui
run, http://elemefe.github.io/mint-ui/#/
} if (key == 88) {
run, http://172.16.200.106:8083/
} if (key == 83) {
run, http://172.16.200.121:31501/index
}
autoHotKey 一些脚本积累的更多相关文章
- AutoHotkey 自动化脚本工具实例
AHK 自动按键工具 https://www.autohotkey.com/ 可实现功能 快捷键 启动 浏览器.CMD命令.弹出框 可定时执行任务 可改键 将A与B互换 可快捷替换字符串 测试如下: ...
- AutoHotKey 常用脚本
; IMPORTANT INFO ABOUT GETTING STARTED: Lines that start with a ; semicolon, such as this one, are c ...
- shell脚本积累
统计当前目录下文件夹的大小 for d in $(ls) do du -sh ./$d done 获取之前日期date +"%Y%m%d" -d "-n days&q ...
- Win下最爱效率利器:AutoHotKey
AutoHotkey是一个windows下的开源.免费.自动化软件工具.它由最初旨在提供键盘快捷键的脚本语言驱动(称为:热键),随着时间的推移演变成一个完整的脚本语言.但你不需要把它想得太深,你只需要 ...
- autohotkey在运维中的应用
AutoHotkey是一个自由.开源的宏生成器和自动化软件工具,它让用户能够自动执行重复性任务.AutoHotkey可以修改任何应用程序的用户界面(例如,把默认的Windows按键控制命令替 ...
- 用Autohotkey让powerpoint幻灯片一直播放
有台电脑专门接了个大电视循环播放一个幻灯片,但是有时候会弹出一些对话框,比如windows要更新之类的,这样的话powerpoint就不是active的进城了,这样幻灯片就会停下来,还需要人去手动点一 ...
- AutoHotKey 用打码的快捷键
本文告诉大家如何使用 AutoHotKey 将 - 键默认输入的时候是下划线,因为使用下划线在写代码的时候是用在私有字段,而 - 很少使用 我打码经常需要使用下划线_而下划线需要按shift+- 两个 ...
- 20150916_001 vba 基础
一.什么是“宏”.“宏”有什么用 关于“宏”的详细定义,可以参考百度百科的解释(点击查看).我给它一个简单的或许不太严谨的定义: 宏的通俗定义:宏是被某些软件所能识别.理解并执行的特定代码/脚本. 宏 ...
- AutoIT 测试GUI工具
今天听到同事提到AutoIT,可以用来测试GUI窗口.了解一下这个工具. 以下内容引自: http://www.jb51.net/article/14870.htm (此url非原出处,该博主未注明原 ...
随机推荐
- 借助JRebel使Tomcat支持热部署
JRebel是一个J2EE热部署的工具.使用它可以减少浪费8-18%的开发时间在项目的构建和部署上.虽然Java也提供了HotSpot的JVM,但是如果你修改的类中有方法名称变动的话,HotSpot就 ...
- 利用AWR 查看SQL 执行计划
在AWR中定位到问题SQL语句后想要了解该SQL statement的具体执行计划,于是就用AWR报告中得到的SQL ID去V$SQL等几个动态性能视图中查询,但发现V$SQL或V$SQL_PLAN视 ...
- 为什么少有人在Windows电脑上安OS X?
问:为什么许多人在Mac上安装Windows,却很少有人在PC上安装OS X呢?(注:通常,我们定义运行Windows的电脑为PC,而Mac的操作系统则为OS X) 答:iPhone的真正流行让更多的 ...
- ClientDataSet的版本兼容性
ClientDataSet的版本兼容性 在Delphi的早期版本中,Data这个Variant类型的值内部使用的是AnsiString来存贮的字节流,但我并不确定Delphi从什么时候开始,将其改为了 ...
- 【微信小程序】view顶部固定或底部固定 + scroll-view中的元素view也可以使用position:fixed;固定选中元素位置
1.顶端固定核心代码如下: <view class="page__hd" style="position:fixed; top:0;width: 750rpx;&q ...
- js 的push方法
JavaScript push() 方法 定义和用法 push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度. 语法 arrayObject.push(newelement1,newele ...
- Qt 事件处理机制 (下篇)
继续我们上一篇文章继续介绍,Qt 事件处理机制 (上篇) 介绍了Qt框架的事件处理机制:事件的产生.分发.接受和处理,并以视窗系统鼠标点击QWidget为例,对代码进行了剖析,向大家分析了Qt框架如何 ...
- SMTP用户枚举原理简介及相关工具
前言 SMTP是安全测试中比较常见的服务类型,其不安全的配置(未禁用某些命令)会导致用户枚举的问题,这主要是通过SMTP命令进行的.本文将介绍SMTP用户枚举原理以及相关工具. SMTP SMTP命令 ...
- DataBindings的用法
在C#操作数据库过程中,针对一般的文本控件,比如TextBox,Label等,我们赋值直接使用类似TextBox.Text=****的方式来进行,这种方式从某种意义上来说的确是最简便的方式,但是对于复 ...
- Android -- 再来一发Intent
之前写过一篇Intent的博客,主要说了一下隐式意图. 传送门:<Android -- Intent> Intent对象构成 Component name.Action.Data.Cate ...