diff --git a/default.aproj b/default.aproj index 03563a4..c181bc1 100644 --- a/default.aproj +++ b/default.aproj @@ -1,5 +1,5 @@  - + @@ -52,6 +52,7 @@ + diff --git a/dlg/apps_setting.aardio b/dlg/apps_setting.aardio index d471e9b..8e55dbd 100644 --- a/dlg/apps_setting.aardio +++ b/dlg/apps_setting.aardio @@ -1,24 +1,23 @@ import win.ui; /*DSG{{*/ -var winform = win.form(text="应用设置";right=447;bottom=207;clipch=1) +var winform = win.form(text="应用设置";right=447;bottom=207;clipch=1;) winform.add( -btnRestore={cls="button";text="恢复默认链接";left=80;top=152;right=176;bottom=176;dl=1;dt=1;flat=1;z=8}; -localPort={cls="edit";text="9090";left=104;top=128;right=176;bottom=152;dl=1;dt=1;edge=1;z=10}; -static={cls="static";text="更新地址:";left=8;top=152;right=80;bottom=176;center=1;dl=1;dt=1;transparent=1;z=7}; -static2={cls="static";text="本地服务端口:";left=8;top=128;right=104;bottom=152;center=1;dl=1;dt=1;transparent=1;z=9}; -urlSetting={cls="edit";text="https://raw.githubusercontent.com/YrracOwl/ChiikawaBest/master/release/ChiikawaBest.exe";left=8;top=176;right=440;bottom=200;dl=1;dt=1;edge=1;z=6}; -关闭时清空记录={cls="checkbox";text="关闭时清空记录 (即时生效)";left=8;top=8;right=440;bottom=32;dl=1;dt=1;z=1}; -启动到托盘={cls="checkbox";text="启动时最小化到托盘";left=8;top=32;right=440;bottom=56;dl=1;dt=1;z=2}; -启动时检测更新={cls="checkbox";text="启动时检测更新";left=8;top=56;right=440;bottom=80;dl=1;dt=1;z=3}; -启动时监控应用={cls="checkbox";text="启动时监控应用";left=8;top=80;right=440;bottom=104;dl=1;dt=1;z=4}; -模拟移动端渲染={cls="checkbox";text="模拟移动端渲染";left=8;top=104;right=440;bottom=128;checked=1;dl=1;dt=1;z=5} +btnRestore={cls="button";text="恢复默认链接";left=80;top=128;right=176;bottom=152;dl=1;dt=1;flat=1;z=7;}; +localPort={cls="edit";text="9090";left=104;top=104;right=176;bottom=128;dl=1;dt=1;edge=1;z=9;}; +static={cls="static";text="更新地址:";left=8;top=128;right=80;bottom=152;center=1;dl=1;dt=1;transparent=1;z=6;}; +static2={cls="static";text="本地服务端口:";left=8;top=104;right=104;bottom=128;center=1;dl=1;dt=1;transparent=1;z=8;}; +urlSetting={cls="edit";text="https://raw.githubusercontent.com/YrracOwl/ChiikawaBest/master/release/ChiikawaBest.exe";left=8;top=152;right=440;bottom=176;dl=1;dt=1;edge=1;z=5;}; +关闭时清空记录={cls="checkbox";text="关闭时清空记录 (即时生效)";left=8;top=8;right=440;bottom=32;dl=1;dt=1;z=1;}; +启动到托盘={cls="checkbox";text="启动时最小化到托盘";left=8;top=32;right=440;bottom=56;dl=1;dt=1;z=2;}; +启动时监控应用={cls="checkbox";text="启动时监控应用";left=8;top=56;right=440;bottom=80;dl=1;dt=1;z=3;}; +模拟移动端渲染={cls="checkbox";text="模拟移动端渲染";left=8;top=80;right=440;bottom=104;checked=1;dl=1;dt=1;z=4;}; + ) /*}}*/ winform.bindConfig( ..cfg.apps_setting,{ checkbox = { ["启动到托盘"] = "checked"; - ["启动时检测更新"] = "checked"; ["启动时监控应用"] = "checked"; ["模拟移动端渲染"] = "checked"; }; diff --git a/dlg/watchWin.aardio b/dlg/watchWin.aardio index ece9c59..b65c7a5 100644 --- a/dlg/watchWin.aardio +++ b/dlg/watchWin.aardio @@ -1,12 +1,14 @@ +import fonts.fontAwesome; import win.ui; /*DSG{{*/ -var winform = win.form(text="截图";right=199;bottom=99;border="none") +var winform = win.form(text="截图";right=199;bottom=99;border="none";) winform.add( -plusPreview={cls="plus";left=2;top=32;right=198;bottom=98;clipBk=false;db=1;dl=1;dr=1;dt=1;foreRepeat="scale";notify=1;repeat="scale";z=1}; -保存={cls="plus";text="保存";left=175;top=5;right=225;bottom=27;bgcolor=-5197169;dl=1;dt=1;font=LOGFONT(h=-16);notify=1;z=5}; -反色={cls="plus";text="反色";left=63;top=5;right=113;bottom=27;bgcolor=-5197169;dl=1;dt=1;font=LOGFONT(h=-16);notify=1;z=3}; -复制={cls="plus";text="复制";left=119;top=5;right=169;bottom=27;bgcolor=-5197169;dl=1;dt=1;font=LOGFONT(h=-16);notify=1;z=4}; -截图={cls="plus";text="截图";left=7;top=5;right=57;bottom=27;bgcolor=-5197169;dl=1;dt=1;font=LOGFONT(h=-16);notify=1;z=2} +plusPreview={cls="plus";left=2;top=32;right=198;bottom=98;clipBk=false;db=1;dl=1;dr=1;dt=1;foreRepeat="scale";notify=1;repeat="scale";z=1;}; +保存={cls="plus";text="保存";left=175;top=5;right=225;bottom=27;bgcolor=-5197169;dl=1;dt=1;font=LOGFONT(h=-16);notify=1;z=5;}; +反色={cls="plus";text="反色";left=64;top=5;right=113;bottom=27;bgcolor=-5197169;dl=1;dt=1;font=LOGFONT(h=-16);notify=1;z=3;}; +复制={cls="plus";text="复制";left=119;top=5;right=169;bottom=27;bgcolor=-5197169;dl=1;dt=1;font=LOGFONT(h=-16);notify=1;z=4;}; +截图={cls="plus";text="截图";left=7;top=5;right=57;bottom=27;bgcolor=-5197169;dl=1;dt=1;font=LOGFONT(h=-16);notify=1;z=2;}; + ) /*}}*/ @@ -176,12 +178,16 @@ winform.onClose = function(hwnd,message,wParam,lParam){ winform.width = 400; winform.height = 400; -win.setTopmost(winform.hwnd,true) +//win.setTopmost(winform.hwnd,true) winform.show(); winform.doTop = function(){ win.setTopmost(winform.hwnd,true); } +winform.undoTop = function(){ + win.setTopmost(winform.hwnd,false); +} + win.loopMessage(); return winform; \ No newline at end of file diff --git a/dlg/watchWinStandalone.aardio b/dlg/watchWinStandalone.aardio new file mode 100644 index 0000000..0676933 --- /dev/null +++ b/dlg/watchWinStandalone.aardio @@ -0,0 +1,195 @@ +import fonts.fontAwesome; +import win.ui; +/*DSG{{*/ +var winform = win.form(text="截图";right=199;bottom=99;border="none";) +winform.add( +plusPreview={cls="plus";left=2;top=32;right=198;bottom=98;clipBk=false;db=1;dl=1;dr=1;dt=1;foreRepeat="scale";notify=1;repeat="scale";z=1;}; +保存={cls="plus";text="保存";left=175;top=5;right=225;bottom=27;bgcolor=-5197169;dl=1;dt=1;font=LOGFONT(h=-16);notify=1;z=5;}; +反色={cls="plus";text="反色";left=64;top=5;right=113;bottom=27;bgcolor=-5197169;dl=1;dt=1;font=LOGFONT(h=-16);notify=1;z=3;}; +复制={cls="plus";text="复制";left=119;top=5;right=169;bottom=27;bgcolor=-5197169;dl=1;dt=1;font=LOGFONT(h=-16);notify=1;z=4;}; +截图={cls="plus";text="截图";left=7;top=5;right=57;bottom=27;bgcolor=-5197169;dl=1;dt=1;font=LOGFONT(h=-16);notify=1;z=2;}; + +) +/*}}*/ + +import fsys.dlg; +import soImage; + +winform.截图.skin({ + background={ + default=0x668FB2B0; + disabled=0xFFCCCCCC; + hover=0xFF928BB3 + }; + color={ + default=0xFF000000; + disabled=0xFF6D6D6D + } +}) + +winform.反色.skin({ + background={ + default=0x668FB2B0; + disabled=0xFFCCCCCC; + hover=0xFF928BB3 + }; + color={ + default=0xFF000000; + disabled=0xFF6D6D6D + } +}) + +winform.复制.skin({ + background={ + default=0x668FB2B0; + disabled=0xFFCCCCCC; + hover=0xFF928BB3 + }; + color={ + default=0xFF000000; + disabled=0xFF6D6D6D + } +}) + +winform.保存.skin({ + background={ + default=0x668FB2B0; + disabled=0xFFCCCCCC; + hover=0xFF928BB3 + }; + color={ + default=0xFF000000; + disabled=0xFF6D6D6D + } +}) + +winform.caller = null; + +import win.region.hole; +var watchWin = win.region.hole(winform.plusPreview); + +var imgCaptured = soImage(); + +import win.ui.simpleWindow3; +win.ui.simpleWindow(winform,,,,).skin( + background = { + hover = 0xff99ffcc; + active = 0xffff6666; + default = 0x00000000; + } + color = { + hover = 0xff666666; + active = 0xffffffff; + default = 0xFF7BA5BF; + } +) + +winform.uiShow = function(){ + winform.disableDragFullWindow = true; + winform.截图.text = "重截"; + winform.反色.show(true); + winform.复制.show(true); + winform.保存.show(true); + watchWin.enable(false); + if(winform.width<400){ + winform.width = 400; + } +} +winform.uiHide = function(){ + winform.disableDragFullWindow = false; + winform.截图.text = "截图"; + winform.反色.show(false); + winform.复制.show(false); + winform.保存.show(false); + watchWin.enable(true); + var old = winform.plusPreview.setForeground(null); + if(old){ old.dispose(); } +} + +winform.uiHide(); + +winform.watchWinEn = true; +winform.截图.oncommand = function(id,event){ + if(winform.watchWinEn){ + winform.getHoleBmp(); + winform.uiShow(); + } + else { + winform.uiHide(); + } + winform.watchWinEn = !winform.watchWinEn; +} + +winform.getHoleBmp = function(){ + var x,y,cx,cy = win.getPos(winform.plusPreview.hwnd,true); + imgCaptured.capture(,x,y,cx,cy,pointerSize); + winform.plusPreview.foreground = imgCaptured.getBytes("*.bmp"); +} + +winform.复制.oncommand = function(id,event){ + imgCaptured.toClipBD(); + if(winform.caller){ + win.setForeground(winform.caller.hwnd); + winform.caller.图片预览.foreground = imgCaptured.getBytes("*.bmp"); + winform.caller.show(); + winform.close(); + } +} + +winform.保存.oncommand = function(id,event){ + var savePath = fsys.dlg.saveOp("图像文件|*.bmp;*.png;*.jpg","保存图像",,,"temp.png"); + if(savePath){ + imgCaptured.save(savePath); + } +} + +winform.反色.oncommand = function(id,event){ + imgCaptured.negative(); + winform.plusPreview.foreground = imgCaptured.getBytes("*.bmp"); +} + +winform.wndproc = function(hwnd,message,wParam,lParam){ + select( message ) { + case 5/*_WM_SIZE*/{ + winform.redrawBackground(); + } + else{ + } + } + //无返回值则继续调用默认回调函数 +} + +winform.plusPreview.wndproc = function(hwnd,message,wParam,lParam){ + select( message ) { + case 0x201/*_WM_LBUTTONDOWN*/ { + winform.hitCaption(); + } + else{ + } + } + //无返回值则继续调用默认回调函数 +} + +winform.onClose = function(hwnd,message,wParam,lParam){ + if(winform.caller){ + win.setForeground(winform.caller.hwnd); + winform.caller.图片预览.foreground = imgCaptured.getBytes("*.bmp"); + winform.caller.show(); + }; + imgCaptured.delete(); +} + +winform.width = 400; +winform.height = 400; +win.setTopmost(winform.hwnd,true) +winform.show(); + +winform.doTop = function(){ + win.setTopmost(winform.hwnd,true); +} + +winform.undoTop = function(){ + win.setTopmost(winform.hwnd,false); +} + +win.loopMessage(); \ No newline at end of file diff --git a/html_crawler/www.ruanyifeng.com.html b/html_crawler/www.ruanyifeng.com.html index a3d9bd2..f06bd9c 100644 --- a/html_crawler/www.ruanyifeng.com.html +++ b/html_crawler/www.ruanyifeng.com.html @@ -13,324 +13,335 @@

抓取的数据如下:


2024年

+
  • 科技爱好者周刊(第 308 期):工作找不到,博士能读吗?[email protected]
  • +
  • 科技爱好者周刊(第 307 期):不要看重 Product Hunt[email protected]
  • +
  • 科技爱好者周刊(第 306 期):信息就像糖一样上瘾[email protected]
  • +
  • 科技爱好者周刊(第 305 期):随机数,这是一个问题[email protected]
  • +
  • 科技爱好者周刊(第 304 期):最受欢迎的颜色[email protected]
  • +
  • 科技爱好者周刊(第 303 期):技术封建主义[email protected]
  • +
  • 科技爱好者周刊(第 302 期):创业虽然好,不敢推荐了[email protected]
  • +
  • 科技爱好者周刊(第 301 期):OpenAI 的图书馆工位[email protected]
  • +
  • 科技爱好者周刊(第 300 期):三十年,解决人生三大问题[email protected]
  • +
  • 科技爱好者周刊(第 299 期):AI 的关键是语料[email protected]
  • +
  • 科技爱好者周刊(第 298 期):轮到硬件工程师吃香了[email protected]
  • +
  • 科技爱好者周刊(第 297 期):饮水鸟玩具[email protected]
  • +
  • 科技爱好者周刊(第 296 期):xz 后门的作者 Jia Tan 是谁?[email protected]
  • +
  • 科技爱好者周刊(第 295 期):巧妙的灯泡钟[email protected]
  • +
  • 科技爱好者周刊(第 294 期):崖门海战的感想[email protected]
  • +
  • 科技爱好者周刊(第 293 期):一周是一年的2%[email protected]
  • +
  • 科技爱好者周刊(第 292 期):所有代码都是技术债[email protected]
  • +
  • 科技爱好者周刊(第 291 期):AI 没有护城河[email protected]
  • +
  • 科技爱好者周刊(第 290 期):苹果头盔的最大问题[email protected]
  • +
  • 科技爱好者周刊(第 289 期):宽容从何而来[email protected]
  • +
  • 科技爱好者周刊(第 288 期):技术写作的首要诀窍[email protected]
  • +
  • 科技爱好者周刊(第 287 期):禄丰恐龙谷记行[email protected]
  • +
  • 科技爱好者周刊(第 286 期):蓝色指示灯的解决方案[email protected]
  • +
  • 科技爱好者周刊(第 285 期):为什么 PPT 不如备忘录[email protected]
  • 2023年

    +
  • 科技爱好者周刊(第 284 期):YouTube 有多少个视频?[email protected]
  • +
  • 科技爱好者周刊(第 283 期):[年终感想] 没有目的地,向前走[email protected]
  • +
  • 科技爱好者周刊(第 282 期):电动皮卡 Cybertruck 的 48V 供电[email protected]
  • +
  • 科技爱好者周刊(第 281 期):新基建的政策选择[email protected]
  • +
  • 科技爱好者周刊(第 280 期):机器点餐与宅文化[email protected]
  • +
  • 科技爱好者周刊(第 279 期):网络社区的悲剧[email protected]
  • +
  • 科技爱好者周刊(第 278 期):棘手的 AI 版权[email protected]
  • +
  • 科技爱好者周刊(第 277 期):工作台副屏的最佳选择[email protected]
  • +
  • 科技爱好者周刊(第 276 期):内容行业的衰落[email protected]
  • +
  • 科技爱好者周刊(第 275 期):彼得·蒂尔的实验[email protected]
  • +
  • 科技爱好者周刊(第 274 期):加密通信的最后一块拼图[email protected]
  • +
  • 科技爱好者周刊(第 273 期):任正非的三篇最新谈话[email protected]
  • +
  • 科技爱好者周刊(第 272 期):Unity 的安装费,游戏业的缩影[email protected]
  • +
  • 科技爱好者周刊(第 271 期):非线性的世界,线性的你[email protected]
  • +
  • 科技爱好者周刊(第 270 期):"精益开发"的精益是什么?[email protected]
  • +
  • 科技爱好者周刊(第 269 期):为什么英雄不使用炸药[email protected]
  • +
  • 科技爱好者周刊(第 268 期):生产力是形容机器,不是形容人[email protected]
  • +
  • 科技爱好者周刊(第 267 期):5G 的春天要来了[email protected]
  • +
  • 科技爱好者周刊(第 266 期):自己做双语 EPUB 电子书[email protected]
  • +
  • 科技爱好者周刊(第 265 期):WiFi 的后面是 LiFi[email protected]
  • +
  • 科技爱好者周刊(第 264 期):Elasticsearch 的启示[email protected]
  • +
  • 科技爱好者周刊(第 263 期):开源软件如何赚钱?[email protected]
  • +
  • 科技爱好者周刊(第 262 期):告别密码[email protected]
  • +
  • 科技爱好者周刊(第 261 期):黑客马拉松的正确方式[email protected]
  • +
  • 科技爱好者周刊(第 260 期):你的旅程不会停在 Day 1[email protected]
  • +
  • 科技爱好者周刊(第 259 期):如何免费使用 ChatGPT[email protected]
  • +
  • 科技爱好者周刊(第 258 期):卡马克的猫[email protected]
  • +
  • 科技爱好者周刊(第 257 期):黄仁勋的 Nvidia 故事[email protected]
  • +
  • 科技爱好者周刊(第 256 期):最酷的乐高作品[email protected]
  • +
  • 科技爱好者周刊(第 255 期):对待 AI 的正确态度[email protected]
  • +
  • 科技爱好者周刊(第 254 期):人生是一个长板问题[email protected]
  • +
  • 科技爱好者周刊(第 253 期):训练材料用完之日[email protected]
  • +
  • 科技爱好者周刊(第 252 期):互联网创业变难了[email protected]
  • +
  • 科技爱好者周刊(第 251 期):国产单板机值得推荐[email protected]
  • +
  • 科技爱好者周刊(第 250 期):新技术的最大风险[email protected]
  • +
  • 科技爱好者周刊(第 249 期):最成功的软件企业家[email protected]
  • +
  • 科技爱好者周刊(第 248 期):不要夸大 ChatGPT[email protected]
  • +
  • 科技爱好者周刊(第 247 期):扎克伯格的裁员信[email protected]
  • +
  • 科技爱好者周刊(第 246 期):永不丢失的网络身份[email protected]
  • +
  • 科技爱好者周刊(第 245 期):摩天大楼是反人类的[email protected]
  • +
  • 科技爱好者周刊(第 244 期):大数据已死[email protected]
  • +
  • 科技爱好者周刊(第 243 期):与孔子 AI 聊天[email protected]
  • +
  • 科技爱好者周刊(第 242 期):一次尴尬的服务器被黑[email protected]
  • +
  • 科技爱好者周刊(第 241 期):中国的增长动力在内陆[email protected]
  • +
  • 科技爱好者周刊(第 240 期):教育年限可以缩短吗?[email protected]
  • +
  • 科技爱好者周刊(第 239 期):未来两种人会增加[email protected]
  • +
  • 科技爱好者周刊(第 238 期):停止寻找的最佳时间[email protected]
  • 2022年

    +
  • 科技爱好者周刊(第 237 期):真实方位是如何暴露的?[email protected]
  • +
  • 科技爱好者周刊(第 236 期):中国的阳光地带[email protected]
  • +
  • 科技爱好者周刊(第 235 期):青年失业率与选择创业[email protected]
  • +
  • 科技爱好者周刊(第 234 期):AI 聊天有多强?[email protected]
  • +
  • 科技爱好者周刊(第 233 期):生活就像一个鱼缸[email protected]
  • +
  • 科技爱好者周刊(第 232 期):好用的平面设计软件[email protected]
  • +
  • 科技爱好者周刊(第 231 期):互联网公司需要多少员工?[email protected]
  • +
  • 科技爱好者周刊(第 230 期):电子产品的用电量[email protected]
  • +
  • 科技爱好者周刊(第 229 期):手机充电问题的解决[email protected]
  • +
  • 科技爱好者周刊(第 228 期):人类和人生的意义[email protected]
  • +
  • 科技爱好者周刊(第 227 期):脸书的公司入职教育[email protected]
  • +
  • 科技爱好者周刊(第 226 期):谷歌出了什么问题?[email protected]
  • +
  • 科技爱好者周刊(第 225 期):NPC 演员也是一种职业[email protected]
  • +
  • 科技爱好者周刊(第 224 期):Figma 为什么赢了 Sketch[email protected]
  • +
  • 科技爱好者周刊(第 223 期):程序员需要担心裁员吗?[email protected]
  • +
  • 科技爱好者周刊(第 222 期):四十年编程感想[email protected]
  • +
  • 科技爱好者周刊(第 221 期):全世界最繁荣的行业[email protected]
  • +
  • 科技爱好者周刊(第 220 期):人工智能的机会在哪里[email protected]
  • +
  • 科技爱好者周刊(第 219 期):如何防止帐号被黑[email protected]
  • +
  • 科技爱好者周刊(第 218 期):葡萄酒,樱花,全球变暖[email protected]
  • +
  • 科技爱好者周刊(第 217 期):沙特的新未来城[email protected]
  • +
  • 科技爱好者周刊(第 216 期):极简主义的胜利[email protected]
  • +
  • 科技爱好者周刊(第 215 期):互联网最喜欢的行为模式[email protected]
  • +
  • 科技爱好者周刊(第 214 期):你的地图是错的[email protected]
  • +
  • 科技爱好者周刊(第 213 期):知识孤岛,知识软件[email protected]
  • +
  • 科技爱好者周刊(第 212 期):人生不短[email protected]
  • +
  • 科技爱好者周刊(第 211 期):虚拟商品可以拉动 GDP[email protected]
  • +
  • 科技爱好者周刊(第 210 期):为什么软件变得复杂[email protected]
  • +
  • 科技爱好者周刊(第 209 期):程序员是怎样的人[email protected]
  • +
  • 科技爱好者周刊(第 208 期):晋升制度的问题[email protected]
  • +
  • 科技爱好者周刊(第 207 期):汽车行业的顶峰可能过去了[email protected]
  • +
  • 科技爱好者周刊(第 206 期):如何走出失望和怀疑[email protected]
  • +
  • 科技爱好者周刊(第 205 期):互联网风口过去了吗?[email protected]
  • +
  • 科技爱好者周刊(第 204 期):如何度过疫情、裁员、还有战争[email protected]
  • +
  • 科技爱好者周刊(第 203 期):英国的名校签证,伯克利的计算机教育[email protected]
  • +
  • 科技爱好者周刊(第 202 期):三个有启发的学习方法[email protected]
  • +
  • 科技爱好者周刊(第 201 期):中国需要成立半导体部[email protected]
  • +
  • 科技爱好者周刊(第 200 期):低期望,多尝试[email protected]
  • +
  • 科技爱好者周刊(第 199 期):俄罗斯的 HTTPS 证书问题[email protected]
  • +
  • 科技爱好者周刊(第 198 期):美国制造是否可能[email protected]
  • +
  • 科技爱好者周刊(第 197 期):如果这个世界有快乐机[email protected]
  • +
  • 科技爱好者周刊(第 196 期):掌机的未来[email protected]
  • +
  • 科技爱好者周刊(第 195 期):你做过不在乎结果的项目吗?[email protected]
  • +
  • 科技爱好者周刊(第 194 期):悲观者正确,乐观者成功[email protected]
  • +
  • 科技爱好者周刊(第 193 期):前端与后端,谁更难?[email protected]
  • +
  • 科技爱好者周刊(第 192 期):最大的机会来自新技术[email protected]
  • +
  • 科技爱好者周刊(第 191 期):一个程序员的财务独立之路[email protected]
  • 2021年

    +
  • 科技爱好者周刊(第 190 期):产品化思维[email protected]
  • +
  • 科技爱好者周刊(第 189 期):下一个内卷的行业[email protected]
  • +
  • 科技爱好者周刊(第 188 期):音乐是反社交[email protected]
  • +
  • 科技爱好者周刊(第 187 期):元宇宙会成功吗[email protected]
  • +
  • 科技爱好者周刊(第 186 期):低纬度,高海拔,气候优势[email protected]
  • +
  • 科技爱好者周刊(第 185 期):美国宪法拍卖,一个区块链案例[email protected]
  • +
  • 科技爱好者周刊(第 184 期):政府的存储需求有多大?[email protected]
  • +
  • 科技爱好者周刊(第 183 期):腾讯的员工退休福利[email protected]
  • +
  • 科技爱好者周刊(第 182 期):新人优惠的风险[email protected]
  • +
  • 科技爱好者周刊(第 181 期):移动支付应该怎么设计?[email protected]
  • +
  • 科技爱好者周刊(第 180 期):你想住在中国哪里?[email protected]
  • +
  • 科技爱好者周刊(第 179 期):AR 技术的打开方式[email protected]
  • +
  • 科技爱好者周刊(第 178 期):家庭太阳能发电的春天[email protected]
  • +
  • 科技爱好者周刊(第 177 期):iPad 的真正用途[email protected]
  • +
  • 科技爱好者周刊(第 176 期):中国法院承认 GPL 吗?[email protected]
  • +
  • 科技爱好者周刊(第 175 期):知识广度 vs 知识深度[email protected]
  • +
  • 科技爱好者周刊(第 174 期):全能程序员 vs 特长程序员[email protected]
  • +
  • 科技爱好者周刊(第 173 期):网络收音机的设计[email protected]
  • +
  • 科技爱好者周刊(第 172 期):我们会死于气候灾难吗?[email protected]
  • +
  • 科技爱好者周刊(第 171 期):云服务流量有多贵?[email protected]
  • +
  • 科技爱好者周刊(第 170 期):软件订阅制的胜利[email protected]
  • +
  • 科技爱好者周刊(第 169 期):五菱汽车的产品设计[email protected]
  • +
  • 科技爱好者周刊(第 168 期):游戏《底特律:变人》[email protected]
  • +
  • 科技爱好者周刊(第 167 期):广告拦截器太过分了[email protected]
  • +
  • 科技爱好者周刊(第 166 期):视频学习胜过读书吗?[email protected]
  • +
  • 科技爱好者周刊(第 165 期):全端 App 的时代[email protected]
  • +
  • 科技爱好者周刊(第 164 期):培训班 vs 大学,求职成功率比较[email protected]
  • +
  • 科技爱好者周刊(第 163 期):你的城市有多少张病床?[email protected]
  • +
  • 科技爱好者周刊(第 162 期):生活就像《吃豆人》游戏[email protected]
  • +
  • 科技爱好者周刊(第 161 期):再见了,学术硕士[email protected]
  • +
  • 科技爱好者周刊(第 160 期):中年码农的困境[email protected]
  • +
  • 科技爱好者周刊(第 159 期):游戏开发者的年薪[email protected]
  • +
  • 科技爱好者周刊(第 158 期):内容渠道的贬值[email protected]
  • +
  • 科技爱好者周刊(第 157 期):KK 给年轻人的建议[email protected]
  • +
  • 科技爱好者周刊(第 156 期):显卡缺货与异业竞争[email protected]
  • +
  • 科技爱好者周刊(第 155 期):数字货币是打破美元霸权的武器吗?[email protected]
  • +
  • 科技爱好者周刊(第 154 期):1982年的信息社会预言[email protected]
  • +
  • 科技爱好者周刊(第 153 期):机器翻译是对译者的侮辱吗?[email protected]
  • +
  • 科技爱好者周刊(第 152 期):从北大到技校[email protected]
  • +
  • 科技爱好者周刊(第 151 期):NFT 是什么,听说能赚钱[email protected]
  • +
  • 科技爱好者周刊(第 150 期):当音乐还是稀缺的时候[email protected]
  • +
  • 科技爱好者周刊(第 149 期):新能源汽车,谁会是赢家?[email protected]
  • +
  • 科技爱好者周刊(第 148 期):微增长时代[email protected]
  • +
  • 科技爱好者周刊(第 147 期):寻找你愿意忍受的痛苦[email protected]
  • +
  • 科技爱好者周刊(第 146 期):网课应该怎么上?[email protected]
  • +
  • 科技爱好者周刊(第 145 期):大家不出门,经济怎么办?[email protected]
  • +
  • 科技爱好者周刊(第 144 期):提高收入的根本途径[email protected]
  • +
  • 科技爱好者周刊(第 143 期):世界尽头与冷酷仙境[email protected]
  • +
  • 科技爱好者周刊(第 142 期):2020年才是21世纪元年[email protected]
  • +
  • 科技爱好者周刊(第 141 期):封闭系统的胜利[email protected]
  • 2020年

    +
  • 科技爱好者周刊(第 140 期):印度人的工资是多少?[email protected]
  • +
  • 科技爱好者周刊(第 139 期):生物学的可怕进展[email protected]
  • +
  • 科技爱好者周刊(第 138 期):失业难以避免,重构人生规划[email protected]
  • +
  • 科技爱好者周刊(第 137 期):Slack 被收购,以及企业的技术选型[email protected]
  • +
  • 科技爱好者周刊(第 136 期):利特伍德奇迹定律[email protected]
  • +
  • 科技爱好者周刊(第 135 期):什么行业适合创业?[email protected]
  • +
  • 科技爱好者周刊(第 134 期):未来的游戏业比现在大100倍[email protected]
  • +
  • 科技爱好者周刊(第 133 期):贵州变瑞士,有没有可能?[email protected]
  • +
  • 科技爱好者周刊(第 132 期):快能力和慢能力[email protected]
  • +
  • 科技爱好者周刊(第 131 期):你的头脑是二值逻辑,还是三值逻辑?[email protected]
  • +
  • 科技爱好者周刊(第 130 期):低龄化的互联网[email protected]
  • +
  • 科技爱好者周刊(第 129 期):创业的凸函数和凹函数[email protected]
  • +
  • 科技爱好者周刊(第 128 期):这个社会是否正在变成"赛博朋克"?[email protected]
  • +
  • 科技爱好者周刊(第 127 期):未来人人开发软件,几乎没人编码[email protected]
  • +
  • 科技爱好者周刊(第 126 期):内卷化是什么?[email protected]
  • +
  • 科技爱好者周刊(第 125 期):数字人民币要取代谁[email protected]
  • +
  • 科技爱好者周刊(第 124 期):华为如何考核员工[email protected]
  • +
  • 科技爱好者周刊(第 123 期):互联网公司与湘军的军制[email protected]
  • +
  • 科技爱好者周刊(第 122 期):谈谈互联网公司的高估值[email protected]
  • +
  • 科技爱好者周刊(第 121 期):为什么人类没有越来越闲?[email protected]
  • +
  • 科技爱好者周刊(第 120 期):只有开放才能打败封锁[email protected]
  • +
  • 科技爱好者周刊(第 119 期):降雨量和保险博弈 [email protected]
  • +
  • 科技爱好者周刊(第 118 期):高考志愿怎么填[email protected]
  • +
  • 科技爱好者周刊(第 117 期):我不想让你记住我的脸[email protected]
  • +
  • 科技爱好者周刊(第 116 期):世界的未来是一个火药桶[email protected]
  • +
  • 科技爱好者周刊(第 115 期):保护你的 DNA,不要泄漏[email protected]
  • +
  • 科技爱好者周刊(第 114 期):U 盘化生存和 Uber-job[email protected]
  • +
  • 科技爱好者周刊(第 113 期):暴力犯罪为什么越来越少?[email protected]
  • +
  • 科技爱好者周刊(第 112 期):如何培养领导力[email protected]
  • +
  • 科技爱好者周刊(第 111 期):智能电视的误区[email protected]
  • +
  • 科技爱好者周刊(第 110 期):如果不能去美国上市[email protected]
  • +
  • 科技爱好者周刊(第 109 期):播客的价值[email protected]
  • +
  • 科技爱好者周刊(第 108 期):阵地战与奇袭战[email protected]
  • +
  • 科技爱好者周刊(第 107 期):致富与杠杆[email protected]
  • +
  • 科技爱好者周刊(第 106 期):数字游民[email protected]
  • +
  • 科技爱好者周刊:第 105 期[email protected]
  • +
  • 科技爱好者周刊:第 104 期[email protected]
  • +
  • 科技爱好者周刊:第 103 期[email protected]
  • +
  • 科技爱好者周刊:第 102 期[email protected]
  • +
  • 科技爱好者周刊:第 101 期[email protected]
  • +
  • 科技爱好者周刊:第 100 期[email protected]
  • +
  • 科技爱好者周刊:第 99 期[email protected]
  • +
  • 科技爱好者周刊:第 98 期[email protected]
  • +
  • 科技爱好者周刊:第 97 期[email protected]
  • +
  • 科技爱好者周刊:第 96 期[email protected]
  • +
  • 科技爱好者周刊:第 95 期[email protected]
  • +
  • 科技爱好者周刊:第 94 期[email protected]
  • +
  • 科技爱好者周刊:第 93 期[email protected]
  • +
  • 科技爱好者周刊:第 92 期[email protected]
  • +
  • 科技爱好者周刊:第 91 期[email protected]
  • +
  • 科技爱好者周刊:第 90 期[email protected]
  • +
  • 科技爱好者周刊:第 89 期[email protected]
  • 2019年

    +
  • 科技爱好者周刊:第 88 期[email protected]
  • +
  • 科技爱好者周刊:第 87 期[email protected]
  • +
  • 科技爱好者周刊:第 86 期[email protected]
  • +
  • 科技爱好者周刊:第 85 期[email protected]
  • +
  • 科技爱好者周刊:第 84 期[email protected]
  • +
  • 科技爱好者周刊:第 83 期[email protected]
  • +
  • 科技爱好者周刊:第 82 期[email protected]
  • +
  • 科技爱好者周刊:第 81 期[email protected]
  • +
  • 科技爱好者周刊:第 80 期[email protected]
  • +
  • 科技爱好者周刊:第 79 期[email protected]
  • +
  • 科技爱好者周刊:第 78 期[email protected]
  • +
  • 科技爱好者周刊:第 77 期[email protected]
  • +
  • 科技爱好者周刊:第 76 期[email protected]
  • +
  • 科技爱好者周刊:第 75 期[email protected]
  • +
  • 科技爱好者周刊:第 74 期[email protected]
  • +
  • 科技爱好者周刊:第 73 期[email protected]
  • +
  • 科技爱好者周刊:第 72 期[email protected]
  • +
  • 科技爱好者周刊:第 71 期[email protected]
  • +
  • 科技爱好者周刊:第 70 期[email protected]
  • +
  • 科技爱好者周刊:第 69 期[email protected]
  • +
  • 科技爱好者周刊:第 68 期[email protected]
  • +
  • 科技爱好者周刊:第 67 期[email protected]
  • +
  • 科技爱好者周刊:第 66 期[email protected]
  • +
  • 科技爱好者周刊(第 65 期):周刊开设"谁在招人"的招聘服务[email protected]
  • +
  • 科技爱好者周刊:第 64 期[email protected]
  • +
  • 科技爱好者周刊:第 63 期[email protected]
  • +
  • 科技爱好者周刊:第 62 期[email protected]
  • +
  • 科技爱好者周刊:第 61 期[email protected]
  • +
  • 每周分享第 60 期[email protected]
  • +
  • 每周分享第 59 期[email protected]
  • +
  • 每周分享第 58 期[email protected]
  • +
  • 每周分享第 57 期[email protected]
  • +
  • 每周分享第 56 期[email protected]
  • +
  • 每周分享第 55 期[email protected]
  • +
  • 每周分享第 54 期[email protected]
  • +
  • 每周分享第 53 期[email protected]
  • +
  • 每周分享第 52 期[email protected]
  • +
  • 每周分享第 51 期[email protected]
  • +
  • 每周分享第 50 期[email protected]
  • +
  • 每周分享第 49 期[email protected]
  • +
  • 每周分享第 48 期[email protected]
  • +
  • 每周分享第 47 期[email protected]
  • +
  • 每周分享第 46 期[email protected]
  • +
  • 每周分享第 45 期[email protected]
  • +
  • 每周分享第 44 期[email protected]
  • +
  • 每周分享第 43 期[email protected]
  • +
  • 每周分享第 42 期[email protected]
  • +
  • 每周分享第 41 期[email protected]
  • +
  • 每周分享第 40 期[email protected]
  • +
  • 每周分享第 39 期[email protected]
  • +
  • 每周分享第 38 期[email protected]
  • 2018年

    +
  • 每周分享第 37 期[email protected]
  • +
  • 每周分享第 36 期[email protected]
  • +
  • 每周分享第 35 期[email protected]
  • +
  • 每周分享第 34 期[email protected]
  • +
  • 每周分享第 33 期[email protected]
  • +
  • 每周分享第 32 期[email protected]
  • +
  • 每周分享第 31 期[email protected]
  • +
  • 每周分享第 30 期[email protected]
  • +
  • 每周分享第 29 期[email protected]
  • +
  • 每周分享第 28 期[email protected]
  • +
  • 每周分享第 27 期[email protected]
  • +
  • 每周分享第 26 期[email protected]
  • +
  • 每周分享第 25 期[email protected]
  • +
  • 每周分享第 24 期[email protected]
  • +
  • 每周分享第 23 期[email protected]
  • +
  • 每周分享第 22 期[email protected]
  • +
  • 每周分享第 21 期[email protected]
  • +
  • 每周分享第 20 期[email protected]
  • +
  • 每周分享第 19 期[email protected]
  • +
  • 每周分享第 18 期[email protected]
  • +
  • 每周分享第 17 期[email protected]
  • +
  • 每周分享第 16 期[email protected]
  • +
  • 每周分享第 15 期[email protected]
  • +
  • 每周分享第 14 期[email protected]
  • +
  • 每周分享第 13 期:周刊为什么只谈技术?[email protected]
  • +
  • 每周分享第 12 期[email protected]
  • +
  • 每周分享第 11 期[email protected]
  • +
  • 每周分享第 10 期[email protected]
  • +
  • 每周分享第 9 期[email protected]
  • +
  • 每周分享第 8 期[email protected]
  • +
  • 每周分享第 7 期[email protected]
  • +
  • 每周分享第 6 期[email protected]
  • +
  • 每周分享第 5 期[email protected]
  • +
  • 每周分享第 4 期[email protected]
  • +
  • 每周分享第 3 期[email protected]
  • +
  • 每周分享第 2 期[email protected]
  • +
  • 每周分享第 1 期[email protected]
    • 散文(159)
    • 观点与感想(195)
    • 算法与数学(32)
    • -
    • 开发者手册(216)
    • +
    • 开发者手册(218)
    • 理解计算机(63)
    • JavaScript(99)
    • 计算机行业历史(39)
    • -
    • 周刊(297)
    • +
    • 周刊(308)
    • 创业(58)
    • 译文集(46)
    • 科技爱好者(149)
    • diff --git a/main.aardio b/main.aardio index 1283d22..95562f7 100644 --- a/main.aardio +++ b/main.aardio @@ -1,9 +1,10 @@ import win.ui; import win.ui.atom; /*DSG{{*/ -mainForm = win.form(text="ChiikawaBest";right=220;bottom=118;border="none";max=false;min=false) +mainForm = win.form(text="ChiikawaBest";right=220;bottom=118;border="none";max=false;min=false;) mainForm.add( -bk={cls="bk";left=0;top=0;right=224;bottom=120;ah=1;aw=1;background="\res\keai.jpg";z=1} +bk={cls="bk";left=0;top=0;right=224;bottom=120;ah=1;aw=1;background="\res\keai.jpg";z=1;}; + ) /*}}*/ @@ -76,7 +77,7 @@ import gdi; import sqlite; //web.view库导入 -import web.view; +import web.view.7; //web.rest.github导入 import web.rest.github; @@ -413,7 +414,7 @@ mainForm.trayCreate = function(){ var frmChild = mainForm.loadForm("\dlg\productDescription.aardio"); frmChild.show(); }) - mainForm.popmenu.add("关于软件",function(){ + mainForm.popmenu.add("关于软件/手动更新",function(){ process("explorer.exe","https://github.com/YrracOwl/ChiikawaBest") }) if(mainForm.updateStatus){//检查更新 @@ -842,6 +843,7 @@ mainForm.loadWatchWin = function(){ return; } var watchWinHK = win.loadForm("\dlg\watchWin.aardio",,win.getDesktop()); + watchWinHK.undoTop(); watchWinHK.doTop(); } @@ -928,9 +930,16 @@ mainForm.superHotkey.loadTable({ }); */ -hkid1 = mainForm.reghotkey(function(id,mod,vk){ - mainForm.loadWatchWin(); -},1,0x51);//ALT+Q +if(io.exist("\ChiikawaBest_WatchWin.exe")){ + hkid1 = mainForm.reghotkey(function(id,mod,vk){ + var prc = process.shell("ChiikawaBest_WatchWin.exe"); + },1,0x51);//ALT+Q +} +else { + hkid1 = mainForm.reghotkey(function(id,mod,vk){ + mainForm.loadWatchWin(); + },1,0x51);//ALT+Q +} hkid2 = mainForm.reghotkey(function(id,mod,vk){ mainForm.showTimeline(); @@ -991,6 +1000,8 @@ logWarn("服务器ID:",serverMain.serverId); mainForm.tray = win.util.tray(mainForm) //创建托盘图标 mainForm.tray.tip = "右键打开菜单" //设置鼠标提示 +cfg.apps_setting.启动时检测更新 = null; + if(cfg.apps_setting.启动时检测更新){ mainForm.tray.pop("正在检测更新...","ChiikawaBest",,1200); mainForm.initialCheckUpdate(); diff --git a/release/1.2.3.0 b/release/1.2.3.0 deleted file mode 100644 index 0de1841..0000000 --- a/release/1.2.3.0 +++ /dev/null @@ -1 +0,0 @@ -1.2.3.0 \ No newline at end of file diff --git a/release/1.2.3.2 b/release/1.2.3.2 new file mode 100644 index 0000000..e0abbe5 --- /dev/null +++ b/release/1.2.3.2 @@ -0,0 +1 @@ +1.2.3.2 \ No newline at end of file diff --git a/release/ChiikawaBest.exe b/release/ChiikawaBest.exe index e3649b6..f3444af 100644 Binary files a/release/ChiikawaBest.exe and b/release/ChiikawaBest.exe differ