各种前端代码生成/可视化设计工具

magicalcoder:http://bbs.magicalcoder.com/Bootstrap可视化布局:https://www.bootcss.com/p/layoutit/vue schema生成:https://form.lljj.me/schema-generator.html

IDEA设置自动清理无效包引用

手动清理一般用快捷键:Ctrl+Alt+O或者在菜单Code里找到这个选项:但是是否嫌麻烦,每次都要点,可以试试设置自动清除自动清理Setting里搜索Auto Import,勾选Optimize imports on the fly即可

IDEA设置自动清理无效包引用

JavaFX在IDEA配置Scene Builder与简单入门

1、在Oracle官网下载JavaFX Scene Builder:https://www.oracle.com/java/technologies/javase/javafxscenebuilder-info.html2、安装好后在idea设置中搜索javafx,在Path to SceneBuilder中填写软件程序路径3、idea创建JavaFx项目4、可以鼠标右键创建新布局fxml5、鼠标右键可以以Scene Builder打开布局文件,这里打开示例sample.fxml6、打开后可以拖动控件进行设计布局7、这里我们加了个布局跟控件模拟登录,Hierarchy中会显示当前所有布局情况,右侧code面板中id可以给控件命名方便代码调用,例如下图给用户名id命名为usernameField,登录id设置为loginButton,其他控件类似,并且登录按钮绑定事件方法login。8、点击左侧Controller选择Controller类给fxml绑定你要写代码的Controller8、点击View->Show sample Controller Skeleton可以生成示例代码9、将生成的代码复制到Cotroller.java中,这里简单在事件中写了获取用户名密码以及重置输入框操作package sample;/** * Sample Skeleton for 'sample.fxml' Controller Class */import javafx.event.ActionEvent;import javafx.fxml.FXML;import javafx.scene.control.Button;import javafx.scene.control.PasswordField;import javafx.scene.control.TextField;public class Controller { @FXML // fx:id="usernameField" private TextField usernameField; // Value injected by FXMLLoader @FXML // fx:id="clearButton" private Button clearButton; // Value injected by FXMLLoader @FXML // fx:id="loginButton" private Button loginButton; // Value injected by FXMLLoader @FXML // fx:id="passwordField" private PasswordField passwordField; // Value injected by FXMLLoader @FXML void login(ActionEvent event) { System.out.println("账号"+usernameField.getText()); System.out.println("密码"+passwordField.getText()); } @FXML void clear(ActionEvent event) { usernameField.clear(); passwordField.setText(""); System.out.println("账号"+usernameField.getText()); System.out.println("密码"+passwordField.getText()); }}10、启动Main方法后发现怎么窗口这么小?原来是要设置窗口大小的,当然标题也可以设置,设置合适宽高

JavaFX在IDEA配置Scene Builder与简单入门

爬虫工具箱:InfoSpider

InfoSpider 一个集众多数据源于一身的爬虫工具箱,提供数据分析功能,基于用户数据生成图表文件,使得用户更直观、深入了解自己的信息。目前支持的数据源有:GitHub、QQ 邮箱、网易邮箱、阿里邮箱、新浪邮箱、Hotmail 邮箱、Outlook 邮箱、京东、淘宝、支付宝、中国移动、中国联通、中国电信、知乎、哔哩哔哩、网易云音乐、QQ 好友、QQ 群、生成朋友圈相册、浏览器浏览历史、12306、博客园、CSDN 博客、开源中国博客、简书。GitHub 地址→https://github.com/kangvcar/InfoSpider

VB使用记录知识点小结

以下教程适合VB6。Visual Basic 6.0是微软公司开发的编程设计软件,基于Windows操作系统可视化编程环境。Visual Basic 6.0还提供了窗口编辑,可直接对窗口进行编辑和预览。换行续写代码换行符:vbCrLf续写符:& _,若仅为语句结尾用下划线用就行续写符前面不能用+号拼接字符串若批量替换字符串换行符为vb支持方式,可使用支持正则替换文本编辑器执行替换:\r\n为" + vbCrLf & _\r\n+"代码格式化可使用在线工具:http://tools.jb51.net/code/vbscodeformat/执行shellshell直接执行Shell "ipconfig"WScript执行shellExec用Exec执行可读取执行结果 Dim result As String Dim WshShell Dim oExec Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.Exec("ipconfig") result = oExec.StdOut.ReadAllRun以上执行命令都会打开黑窗口,可用Run隐藏,但其不能返回执行结果,只会返回成功失败Public Sub xshell(ByVal Ch As String) Dim WshShell Dim oExec Set WshShell = CreateObject("WScript.Shell") oExec = WshShell.Run(path + Ch, 0)End Sub具体使用详解:https://www.cnblogs.com/chulia20002001/p/6931903.html窗口跟随根据句柄获得某窗口左上坐标跟高宽,对跟随的form设置合适坐标即可,当然为实现实时跟随,定时器不能少。如下示例是使安卓三大按键贴在安卓模拟器窗口下面并跟随Option Explicit'根据句柄获取窗口Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _ ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long '获取窗口范围 Private Declare Function GetWindowRect Lib "user32" _ (ByVal hwnd As Long, lpRect As RECT) As Long Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Dim NotepadHwnd As Long, NotepadRect As RECT Private Sub Form_Load() Me.Height = 450 Timer1.Interval = 100 Timer1.Enabled = True End Sub Private Sub Timer1_Timer() Dim oneWidth As Integer NotepadHwnd = FindWindow("SDL_app", vbNullString) '获取窗口句柄 If NotepadHwnd Then '如果成功 GetWindowRect NotepadHwnd, NotepadRect '获取窗口范围 Me.Left = (NotepadRect.Left + 7) * Screen.TwipsPerPixelX Me.Top = (NotepadRect.Bottom - 7) * Screen.TwipsPerPixelY '- Me.Height Me.Width = (NotepadRect.Right - NotepadRect.Left - 14) * Screen.TwipsPerPixelX oneWidth = Me.Width / 3 menu.Width = oneWidth menu.Height = Me.Height home.Left = oneWidth home.Width = oneWidth home.Height = Me.Height back.Left = Me.Width - oneWidth back.Width = oneWidth back.Height = Me.Height Else Form1.kqdhj.Value = 0 End If End Sub获取用户与程序目录当前Windows用户目录路径,例如下面就是Windows图片目录:Environ("userprofile") + "\Pictures\"当前程序所在目录:App.path文本框只允许输入数字以下是名为fps文本框只允许输入整数例子: Private Sub fps_KeyPress(KeyAscii As Integer) '只允许数字键,退格键,小数点进行输入的处理 Debug.Print KeyAscii Select Case KeyAscii Case vbKey0 To vbKey9, vbKeyBack '0 - 9,BACKSPACE处理 Case vbKeyDelete, vbKeyDecimal '小数点处理 If InStr(1, Text1.Text, ".") <> 0 Then KeyAscii = 0 Case Else KeyAscii = 0 End Select End Sub寻找字符串返回索引使用InStr,第一个参数从哪开始找,第二个源参数,第三个要寻找字符InStr(1, Text1.Text, ".")睡眠Sleep实现类似Java中的sleep函数Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)'调用sleep 1000多选框选中事件value值1为选中 Private Sub istop_Click() If (istop.Value = 1) Then zd = " --always-on-top " Else zd = "" End If End Sub显示Winsock控件打开菜单:工程>部件或直接Ctrl+T呼出部件,勾选winsock即可获取本地IP地址使用Winsock控件获取Dim aa As StringDim strLocalIP As StringDim winIP As Objectaa = aa & "本机电脑名称:" & Environ("computername") & vbCrLfaa = aa & "本机用户名称:" & Environ("username") & vbCrLfSet winIP = CreateObject("MSWinsock.Winsock")strLocalIP = winIP.localipMsgBox aa & "本机IP:" & strLocalIP当然,当存在多个虚拟网卡时可能不精准,以下用命令行获取本地IP If (Mid(strLocalIP, 1, 3) <> "192") Then Dim result As String Dim WshShell Dim oExec Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.Exec("ipconfig") result = oExec.StdOut.ReadAll Dim ex As Integer ex = InStr(1, result, "IPv4") If (ex > 0) Then Dim lines() As String Dim ipv4 As String lines() = Split(result, vbCrLf) '遍历数组 Dim i As Integer Dim s As String For i = 0 To UBound(lines) - 1 ex = InStr(1, lines(i), "IPv4") If (ex > 0) Then ex = InStr(1, lines(i), ":") ipv4 = Trim(Right(lines(i), Len(lines(i)) - ex)) If (Left(ipv4, 3) = "192") Then strLocalIP = ipv4 Label2.Caption = Label2.Caption + vbCrLf + ipv4 End If End If Next i End If End Ifqrmaker生成二维码使用第三方控件生成二维码,部件下载:http://www.opdown.com/soft/85169.html#download安装部件下载解压完成后将其中的Qrmaker.lic 、Qrmaker.tlb、Qrmaker.ocx 、Qrmaker.oca 和Regsvr32.exe文件拷贝到你新建的工程下,然后注册.ocx文件:打开“运行”,输入注册命令对于64位的系统。在“运行”中直接输入“regsvr32 文件路径\ Qrmaker.ocx”。例如“regsvr32 / qrmaker.ocx”出现“DllRegisterServer成功”消息确定,重启计算机即可。注册成功后再“工程”的“部件”控件中选择QRmaker.ocx控件即可。建议将使用非常简单,拖出一个部件代码修改InputData属性再刷新即可: QRmaker1.InputData = "我爱你" QRmaker1.Refresh

VB使用记录知识点小结

Python最简单HTTP服务器与MVC

socket模拟HTTP服务基于socket开发,监听127.0.0.1任一端口,如:8888,接收监听到的数据,并通过conn以HTTP响应的格式返回数据import socketsock = socket.socket()sock.bind(("localhost", 8888)) # 绑定监听的IP地址与端口8800sock.listen(5) # 设置最大监听数while True: conn, addr = sock.accept() data = conn.recv(1024) print(data) # 打印查看请求头与请求体 # 必须以HTTP响应头的格式返回数据,否则浏览器无法正常解析 # 同时注意send的数据不能是str字符串,必须是bytes,否则会报错。 conn.send(b'HTTP/1.1 200 OK\r\n\r\n <h1>Hello world!</h1>') conn.close()浏览器访问localhost:8800,即可看到网页结果,http response中响应体前必须有两空行’ \r\n\r\n’ 否则会被认为是响应头的内容https://blog.csdn.net/qq_29941979/article/details/107871763˂a name=利用Tornado库 href="#"˃利用Tornado库my.pyimport tornado.ioloopimport tornado.web#访问地址 http://127.0.0.1:9870/main?ywdm=06&num1=10&num2=200class TestClassA: def sub(self,a,b): return a-b def add(self,a,b): return a+b def chen(self,a,b): return a*bclass TestClassB: def sub(self,a,b): return a-b def add(self,a,b): return a+b def chen(self,a,b): return a*bsys_config={}sys_config["01"]=['mymvc','TestClassA','add']sys_config["02"]=['mymvc','TestClassA','sub']sys_config["03"]=['mymvc','TestClassA','chen']sys_config["04"]=['mymvc','TestClassB','add']sys_config["05"]=['mymvc','TestClassB','sub']sys_config["06"]=['mymvc','TestClassB','chen']class MainHandler(tornado.web.RequestHandler): def get(self): ywdm=self.get_argument('ywdm') num1=int(self.get_argument('num1').encode('utf-8')) num2=int(self.get_argument('num2').encode('utf-8')) message="hello !" print type(num2) if ywdm in sys_config: my_module_name=sys_config[ywdm][0] my_class_name=sys_config[ywdm][1] my_method_name=sys_config[ywdm][2] my_module = __import__(my_module_name) my_class = getattr(my_module,my_class_name) my_obj = my_class() my_method = getattr(my_obj,my_method_name) ret=my_method(num1,num2) print "ret:",ret #message = "ret data:::"+ret message="ywdm:"+ywdm+"-data:"+str(ret) items = ["Item 1", "Item 2", "Item 3"] self.render("test.html", title="My title", items=items,config_items=sys_config) #self.write(message) #self.finish()application = tornado.web.Application([(r"/main", MainHandler),])if __name__ == "__main__": application.listen(9870) tornado.ioloop.IOLoop.instance().start()test.html<html> <head> <title>{{ title }}</title> </head> <body> <ul> {% for item in items %} <li>{{ escape(item) }}</li> {% end %} </ul> <ul> {% for item in config_items %} <li>{{ escape(config_items[item][0]) }} -{{ escape(config_items[item][1]) }} -{{ escape(config_items[item][2]) }} </li> {% end %} </ul> </body> </html>https://blog.csdn.net/5iasp/article/details/23267609其中py中application中为数组形式,可以加多条映射,返回结果可以返回渲染后模板也可以返回字符串,例如:import tornado.ioloopimport tornado.webimport ctypesclass MainHandler(tornado.web.RequestHandler): def get(self): ip = self.get_argument('ip') print(ip) self.write("成功") self.finish()class IndexHandler(tornado.web.RequestHandler): def get(self): items = [] self.render("ip.html", title="My title", items=items)application = tornado.web.Application([(r"/index/get", MainHandler),(r"/index", IndexHandler) ])if __name__ == "__main__": # 最小化程序 ctypes.windll.user32.ShowWindow(ctypes.windll.kernel32.GetConsoleWindow(), 6) application.listen(9870) tornado.ioloop.IOLoop.instance().start()

纯HTML/CSS节日灯笼代码 给你网站加点节日气息

效果图:灯笼可自适应网页大小,并且自动贴两边代码: <style type="text/css"> .ct2 .mn {width:770px;} .ct2 .sd {width:218px;} @media screen and (max-width:768px) {.xnkl {display:none;} } .deng-box {position:fixed;top:-40px;right:150px;z-index:9999;pointer-events:none;} .deng-box1 {position:fixed;top:-30px;right:10px;z-index:9999;pointer-events:none} .deng-box2 {position:fixed;top:-40px;left:150px;z-index:9999;pointer-events:none} .deng-box3 {position:fixed;top:-30px;left:10px;z-index:9999;pointer-events:none} .deng-box1 .deng,.deng-box3 .deng {position:relative;width:120px;height:90px;margin:50px;background:#d8000f;background:rgba(216,0,15,.8);border-radius:50% 50%;-webkit-transform-origin:50% -100px;-webkit-animation:swing 5s infinite ease-in-out;box-shadow:-5px 5px 30px 4px #fc903d} .deng {position:relative;width:120px;height:90px;margin:50px;background:#d8000f;background:rgba(216,0,15,.8);border-radius:50% 50%;-webkit-transform-origin:50% -100px;-webkit-animation:swing 3s infinite ease-in-out;box-shadow:-5px 5px 50px 4px #fa6c00} .deng-a {width:100px;height:90px;background:#d8000f;background:rgba(216,0,15,.1);margin:12px 8px 8px 8px;border-radius:50% 50%;border:2px solid #dc8f03} .deng-b {width:45px;height:90px;background:#d8000f;background:rgba(216,0,15,.1);margin:-4px 8px 8px 26px;border-radius:50% 50%;border:2px solid #dc8f03} .xian {position:absolute;top:-20px;left:60px;width:2px;height:20px;background:#dc8f03} .shui-a {position:relative;width:5px;height:20px;margin:-5px 0 0 59px;-webkit-animation:swing 4s infinite ease-in-out;-webkit-transform-origin:50% -45px;background:orange;border-radius:0 0 5px 5px} .shui-b {position:absolute;top:14px;left:-2px;width:10px;height:10px;background:#dc8f03;border-radius:50%} .shui-c {position:absolute;top:18px;left:-2px;width:10px;height:35px;background:orange;border-radius:0 0 0 5px} .deng:before {position:absolute;top:-7px;left:29px;height:12px;width:60px;content:" ";display:block;z-index:999;border-radius:5px 5px 0 0;border:solid 1px #dc8f03;background:orange;background:linear-gradient(to right,#dc8f03,orange,#dc8f03,orange,#dc8f03)} .deng:after {position:absolute;bottom:-7px;left:10px;height:12px;width:60px;content:" ";display:block;margin-left:20px;border-radius:0 0 5px 5px;border:solid 1px #dc8f03;background:orange;background:linear-gradient(to right,#dc8f03,orange,#dc8f03,orange,#dc8f03)} .deng-t {font-family:黑体,Arial,Lucida Grande,Tahoma,sans-serif;font-size:3.2rem;color:#dc8f03;font-weight:700;line-height:85px;text-align:center} .night .deng-box,.night .deng-box1,.night .deng-t {background:0 0!important} @-moz-keyframes swing {0% {-moz-transform:rotate(-10deg)} 50% {-moz-transform:rotate(10deg)} 100% {-moz-transform:rotate(-10deg)} } @-webkit-keyframes swing {0% {-webkit-transform:rotate(-10deg)} 50% {-webkit-transform:rotate(10deg)} 100% {-webkit-transform:rotate(-10deg)} } </style> <div id="wp"class="wp"><div class="xnkl"><div class="deng-box2"><div class="deng"><div class="xian"></div><div class="deng-a"><div class="deng-b"><div class="deng-t">度</div></div></div><div class="shui shui-a"><div class="shui-c"></div><div class="shui-b"></div></div></div></div><div class="deng-box3"><div class="deng"><div class="xian"></div><div class="deng-a"><div class="deng-b"><div class="deng-t">欢</div></div></div><div class="shui shui-a"><div class="shui-c"></div><div class="shui-b"></div></div></div></div><div class="deng-box1"><div class="deng"><div class="xian"></div><div class="deng-a"><div class="deng-b"><div class="deng-t">春</div></div></div><div class="shui shui-a"><div class="shui-c"></div><div class="shui-b"></div></div></div></div><div class="deng-box"><div class="deng"><div class="xian"></div><div class="deng-a"><div class="deng-b"><div class="deng-t">新</div></div></div><div class="shui shui-a"><div class="shui-c"></div><div class="shui-b"></div></div></div></div></div>

纯HTML/CSS节日灯笼代码 给你网站加点节日气息

JS获取本机IP地址

JS获取本地ip地址,可能部分浏览器无法使用。<!DOCTYPE html><html><head> <title></title></head><body></body><script type="text/javascript">function getUserIP(onNewIP) { // onNewIp - your listener function for new IPs //compatibility for firefox and chrome var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; var pc = new myPeerConnection({ iceServers: [] }), noop = function() {}, localIPs = {}, ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g, key; function iterateIP(ip) { if (!localIPs[ip]) onNewIP(ip); localIPs[ip] = true; } //create a bogus data channel pc.createDataChannel(""); // create offer and set local description pc.createOffer().then(function(sdp) { sdp.sdp.split('\n').forEach(function(line) { if (line.indexOf('candidate') < 0) return; line.match(ipRegex).forEach(iterateIP); }); pc.setLocalDescription(sdp, noop, noop); }).catch(function(reason) { // An error occurred, so handle the failure to connect }); //sten for candidate events pc.onicecandidate = function(ice) { if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return; ice.candidate.candidate.match(ipRegex).forEach(iterateIP); };}// UsagegetUserIP(function(ip){ alert("Got IP! :" + ip);});</script></html>

Java仿站扒站程序

开源地址:https://gitee.com/mail_osc/templatespider顺便我将它打成jar包了:https://hik.lanzoux.com/iwq6tlfauxe进到程序目录执行命令行启动:java -jar templatespider.jar输入地址会爬取网站在jar包所在文件夹。另感觉效果不好或不想安装Java环境,可采取Teleport Ultra

PHP、HTML外链转内链go.php跳转代码

新建go.php文件,复制以下代码,上传到你的网站,使用例如:http://localhost/go.php?https://cway.top在robots.txt中添加 Disallow:/go.php?* 代码即可屏蔽跳转链接。<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>页面加载中,请稍候...</title><style>body{background:#000}.loading{-webkit-animation:fadein 2s;-moz-animation:fadein 2s;-o-animation:fadein 2s;animation:fadein 2s}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-o-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}.spinner-wrapper{position:absolute;top:0;left:0;z-index:300;height:100%;min-width:100%;min-height:100%;background:rgba(255,255,255,0.93)}.spinner-text{position:absolute;top:50%;left:50%;margin-left:-90px;margin-top: 2px;color:#BBB;letter-spacing:1px;font-weight:700;font-size:36px;font-family:Arial}.spinner{position:absolute;top:50%;left:50%;display:block;margin-left:-160px;width:1px;height:1px;border:25px solid rgba(100,100,100,0.2);-webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px;border-left-color:transparent;border-right-color:transparent;-webkit-animation:spin 1.5s infinite;-moz-animation:spin 1.5s infinite;animation:spin 1.5s infinite}@-webkit-keyframes spin{0%,100%{-webkit-transform:rotate(0deg) scale(1)}50%{-webkit-transform:rotate(720deg) scale(0.6)}}@-moz-keyframes spin{0%,100%{-moz-transform:rotate(0deg) scale(1)}50%{-moz-transform:rotate(720deg) scale(0.6)}}@-o-keyframes spin{0%,100%{-o-transform:rotate(0deg) scale(1)}50%{-o-transform:rotate(720deg) scale(0.6)}}@keyframes spin{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(720deg) scale(0.6)}}</style></head><body><div class="loading"><div class="spinner-wrapper"><span class="spinner-text">页面加载中,请稍候...</span><span class="spinner"></span></div></div></body></html><?php$URLs = $_SERVER["QUERY_STRING"];$URLs = urldecode($URLs);if ($URLs == ''){$URLs = 'https://cway.top/';}print ($URLs);//exit;header("refresh:1;url=".$URLs); // 1秒后跳转到传入地址?>当然了,改写成HTML也非常简单,使用:http://localhost/go.html?https://cway.top<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>页面加载中,请稍候...</title><style>body{background:#000}.loading{-webkit-animation:fadein 2s;-moz-animation:fadein 2s;-o-animation:fadein 2s;animation:fadein 2s}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-o-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}.spinner-wrapper{position:absolute;top:0;left:0;z-index:300;height:100%;min-width:100%;min-height:100%;background:rgba(255,255,255,0.93)}.spinner-text{position:absolute;top:50%;left:50%;margin-left:-90px;margin-top: 2px;color:#BBB;letter-spacing:1px;font-weight:700;font-size:36px;font-family:Arial}.spinner{position:absolute;top:50%;left:50%;display:block;margin-left:-160px;width:1px;height:1px;border:25px solid rgba(100,100,100,0.2);-webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px;border-left-color:transparent;border-right-color:transparent;-webkit-animation:spin 1.5s infinite;-moz-animation:spin 1.5s infinite;animation:spin 1.5s infinite}@-webkit-keyframes spin{0%,100%{-webkit-transform:rotate(0deg) scale(1)}50%{-webkit-transform:rotate(720deg) scale(0.6)}}@-moz-keyframes spin{0%,100%{-moz-transform:rotate(0deg) scale(1)}50%{-moz-transform:rotate(720deg) scale(0.6)}}@-o-keyframes spin{0%,100%{-o-transform:rotate(0deg) scale(1)}50%{-o-transform:rotate(720deg) scale(0.6)}}@keyframes spin{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(720deg) scale(0.6)}}</style></head><body><div class="loading"><div class="spinner-wrapper"><span class="spinner-text">页面加载中,请稍候...</span><span class="spinner"></span></div></div></body></html><script> let url = window.location.search.substring(1); var t = 1; setInterval("go()", 1000); function go() { if (t == 0) { if (url == '') { window.location.href = 'https://cway.top/'; } else { window.location.href = url; } } t--; }</script>