From aabb493f4a8227fd9de41d3f856b00776286a76c Mon Sep 17 00:00:00 2001 From: bitepeng Date: Thu, 14 Dec 2023 15:56:13 +0800 Subject: [PATCH] 2.0.5 --- apps/pass/main.go | 20 ++ apps/pass/ui/dist/assets/css/main.css | 6 +- apps/pass/ui/dist/assets/js/index.js | 4 +- .../ui/dist/assets/js/{qrcode.js => link.js} | 6 +- apps/pass/ui/dist/assets/js/page.js | 53 +++ apps/pass/ui/dist/assets/js/text.js | 129 ++++++++ .../pass/ui/dist/dll}/zlib1.dll | Bin apps/pass/ui/dist/help.html | 28 +- apps/pass/ui/dist/index.html | 13 +- apps/pass/ui/dist/{qrcode.html => link.html} | 14 +- apps/pass/ui/dist/test/demo.html | 301 ------------------ apps/pass/ui/dist/test/demo.json | 217 ------------- apps/pass/ui/dist/test/upload.html | 196 ------------ apps/pass/ui/dist/test/video.html | 40 --- apps/pass/ui/dist/text.html | 151 +-------- core/engine/engine.go | 10 +- zdoc/b0pass-win-desk/b0pass-desk.exe | Bin 0 -> 10290688 bytes zdoc/b0pass-win-desk/config.ini | 7 + zdoc/b0pass-win-desk/zlib1.dll | Bin 0 -> 120302 bytes 19 files changed, 262 insertions(+), 933 deletions(-) rename apps/pass/ui/dist/assets/js/{qrcode.js => link.js} (92%) create mode 100644 apps/pass/ui/dist/assets/js/page.js create mode 100644 apps/pass/ui/dist/assets/js/text.js rename {zdoc/_images => apps/pass/ui/dist/dll}/zlib1.dll (100%) rename apps/pass/ui/dist/{qrcode.html => link.html} (95%) delete mode 100644 apps/pass/ui/dist/test/demo.html delete mode 100644 apps/pass/ui/dist/test/demo.json delete mode 100644 apps/pass/ui/dist/test/upload.html delete mode 100644 apps/pass/ui/dist/test/video.html create mode 100644 zdoc/b0pass-win-desk/b0pass-desk.exe create mode 100644 zdoc/b0pass-win-desk/config.ini create mode 100644 zdoc/b0pass-win-desk/zlib1.dll diff --git a/apps/pass/main.go b/apps/pass/main.go index 479ee0f..f0e7e95 100644 --- a/apps/pass/main.go +++ b/apps/pass/main.go @@ -5,8 +5,11 @@ import ( "b0go/core/engine" "embed" "io/fs" + "log" "net/http" + "os" "path/filepath" + "runtime" "github.com/gin-gonic/gin" "github.com/logrusorgru/aurora" @@ -50,6 +53,7 @@ func run() { routeStatic(config.Live) routeApi() routeWs() + putDll() } // 注册静态路由 @@ -112,6 +116,7 @@ func POSTX(url, param, title string, handle gin.HandlerFunc) { engine.Router(appId, "POST", url, param, "(Auth)"+title, engine.JWTMiddleware(), handle) } +// 注册ws路由 func routeWs() { hub := chat.NewHub() go hub.Run() @@ -119,3 +124,18 @@ func routeWs() { chat.ServeWs(hub, c) }) } + +// 释放dll文件 +func putDll() { + if runtime.GOOS == "windows" && !config.Live { + _, errNow := os.ReadFile("zlib1.dll") + if errNow != nil { + dll, err := uiFS.ReadFile("ui/dist/dll/zlib1.dll") + if err != nil { + log.Println("zlib1.dll err:", err) + } else { + os.WriteFile("zlib1.dll", dll, 0777) + } + } + } +} diff --git a/apps/pass/ui/dist/assets/css/main.css b/apps/pass/ui/dist/assets/css/main.css index 31476a4..df50ce9 100644 --- a/apps/pass/ui/dist/assets/css/main.css +++ b/apps/pass/ui/dist/assets/css/main.css @@ -95,8 +95,12 @@ body{ .layui-table img{ max-width: 100%; } +.layui-card-header-min{ + padding: 3px 15px 0 15px; + border-bottom:none; +} .layui-card-header{ - padding: 10px 15px 2px 15px; + padding: 10px 15px 0 15px; border-bottom:none; } .layui-card-body{ diff --git a/apps/pass/ui/dist/assets/js/index.js b/apps/pass/ui/dist/assets/js/index.js index 82a18dc..56f5eb2 100644 --- a/apps/pass/ui/dist/assets/js/index.js +++ b/apps/pass/ui/dist/assets/js/index.js @@ -145,7 +145,7 @@ layui.use(['tree', 'table','form','dropdown','util'], function(){ title: "文件扫码", type: 2, area: areaSmall, - content: 'qrcode.html?f='+servIP+servPort+"/files/"+encodeURIComponent(obj.data.path) + content: 'link.html?f='+servIP+servPort+"/files/"+encodeURIComponent(obj.data.path) }); } // 下载操作 @@ -399,7 +399,7 @@ layui.use(['tree', 'table','form','dropdown','util'], function(){ title: "主电脑参数", type: 2, area: areaSmall, - content: 'qrcode.html?f='+servIP+servPort + content: 'link.html?f='+servIP+servPort }); }) diff --git a/apps/pass/ui/dist/assets/js/qrcode.js b/apps/pass/ui/dist/assets/js/link.js similarity index 92% rename from apps/pass/ui/dist/assets/js/qrcode.js rename to apps/pass/ui/dist/assets/js/link.js index a6ed2cb..70a1adb 100644 --- a/apps/pass/ui/dist/assets/js/qrcode.js +++ b/apps/pass/ui/dist/assets/js/link.js @@ -10,7 +10,7 @@ layui.use(['layer'], function(){ console.log("::Config::",res.data); //linux操作系统禁用一些功能 if(res.data.Password!="windows"){ - domid("btn_left_key").style.display="none"; + domid("btn_send_key").style.display="none"; } ips=(res.data.ListenAddr).split(":"); servPort=":"+(res.data.ListenAddr).split(":")[1]; @@ -46,6 +46,8 @@ layui.use(['layer'], function(){ document.getElementById('selects').style.display="none"; var ip=args('f'); if(ip){ + document.getElementById('menu').style.display="none"; + document.getElementById('btn_send_key').style.display="none"; document.getElementById('text').value="http://"+ip; makeCode(); }else{ @@ -60,7 +62,7 @@ layui.use(['layer'], function(){ } //键盘 - $("#btn_left_key").on("click",function(){ + $("#btn_send_key").on("click",function(){ layer.open({ title: "遥控主电脑键盘", area: ['100%','100%'], diff --git a/apps/pass/ui/dist/assets/js/page.js b/apps/pass/ui/dist/assets/js/page.js new file mode 100644 index 0000000..558b9a8 --- /dev/null +++ b/apps/pass/ui/dist/assets/js/page.js @@ -0,0 +1,53 @@ +/** + * 全局函数 $+layer + */ +var $,layer; +layui.use(['layer'], function(){ + $ = layui.jquery,layer = layui.layer; + $(".ver").html('v2.0.5'); +}); + + +/** + * 页面header(因为闪动,暂未启动) + */ +var page_header = function(active_title){ + let menu = [ + ['link.html','layui-icon-cols','连接','扫码连接'], + ['index.html','layui-icon-release','文件','支持超大文件秒传'], + ['text.html','layui-icon-list','文本','多端文本传输'], + ['help.html','layui-icon-rate','帮助','获取帮助'], + ]; + let ver = "2.0.5";li_big="",li_small=""; + for(let i=menu.length;i>0;i--){ + let key=i-1; + let val=menu[key]; + let active=(active_title==menu[key])?"layui-this":""; + li_big+=` +
  • + ${val[2]}
  • + `; + } + for(let i=0;i + ${val[2]} + `; + } + return `
    + +
    +
    +
      + ${li_small} +
    +
    `; +} \ No newline at end of file diff --git a/apps/pass/ui/dist/assets/js/text.js b/apps/pass/ui/dist/assets/js/text.js new file mode 100644 index 0000000..b953c41 --- /dev/null +++ b/apps/pass/ui/dist/assets/js/text.js @@ -0,0 +1,129 @@ +window.onload = function () { + var conn; + var msg = document.getElementById("msg"); + var log = document.getElementById("log"); + var data = JSON.parse(localStorage.getItem("txtdata")) || []; + + /** Editor **/ + var editor_set = ice.editor('editor',function(){ + this.maxWindow = false; + this.height = '200px'; + this.menu=[ + 'fontSize','foreColor','bold','line', + 'insertOrderedList', 'insertUnorderedList','line',//'removeFormat', + 'paste','code' + ]; + if(!data.length){ + this.setValue('

    欢迎使用百灵快传(B0Pass)文本传输功能。
    注意:文本存在浏览器缓存,请自行保存。

    '); + }else{ + this.setValue(''); + } + this.create(); + }); + + /** 载入缓存 **/ + if(data.length>0){ + //alert(JSON.stringify(data)); + for (let i = 0; i < data.length; i++) { + echomsg(data[i]['key'],data[i]['val']); + } + } + + /** SendMsg **/ + document.getElementById("send").onclick = function () { + let send_msg=editor_set.getHTML(); + if (!conn) {return false;} + if (!send_msg) {return false;} + conn.send(send_msg); + editor_set.setValue(''); + return false; + }; + document.getElementById("clear").onclick = function () { + let msg = "将删除所有本地缓存文本,请确认!"; + if (confirm(msg)==true){ + localStorage.setItem("txtdata","[]"); + log.innerHTML=""; + //editor_set.setValue(''); + } + }; + + /** WebSocket **/ + if (window["WebSocket"]) { + conn = new WebSocket("ws://" + document.location.host + "/ws"); + conn.onclose = function (evt) { + var item = document.createElement("div"); + item.innerHTML = "Connection closed."; + appendLog(item); + }; + conn.onmessage = function (evt) { + var messages = evt.data.split("\n"); + for (var i = 0; i < messages.length; i++) { + var ntime = new Date( +new Date() + 8 * 3600 * 1000 ).toJSON().substr(0,19).replace("T"," "); + var nblockid = Date.now(); + echomsg(nblockid,messages[i]); + data.push({"key":nblockid,"val":messages[i]}); + localStorage.setItem("txtdata",JSON.stringify(data)); + } + }; + } else { + var item = document.createElement("div"); + item.innerHTML = "Your browser does not support WebSockets."; + appendLog(item); + } + + /** 文本显示 **/ + function echomsg(id,msg){ + var item = document.createElement("div"); + var nblockid = "block_"+id; + var barhtml = "
    MSG_"+id+" " + barhtml = barhtml + "   "; + barhtml = barhtml + "【复制文字】"; + barhtml = barhtml + "【复制HTML】
    "; + item.innerHTML = barhtml + "
    "+msg+"

    " + appendLog(item); + } + function appendLog(item) { + var doScroll = log.scrollTop > log.scrollHeight - log.clientHeight - 1; + log.appendChild(item); + if (doScroll) { + log.scrollTop = log.scrollHeight - log.clientHeight; + } + } +}; + +/** 文本删除 **/ +function delb(e){ + let _data = JSON.parse(localStorage.getItem("txtdata")) || []; + for (let i = 0; i < _data.length; i++) { + let key =e.replace("block_",""); + if(_data[i]['key']==key){ + _data = JSON.parse(localStorage.getItem("txtdata")) || []; + _data.splice(i, 1); + console.log(e,i,_data); + localStorage.setItem("txtdata",JSON.stringify(_data)); + document.querySelector("#"+e).parentNode.style.display="none"; + } + } + layer.msg("删除成功"); +} + +/** 文本复制 **/ +function copyb(e,t){ + var copyText; + if(t==1){ + copyText = document.querySelector("#"+e).innerHTML; + }else{ + copyText = document.querySelector("#"+e).textContent; + } + console.log(copyText); + copyToClipBoard(copyText); + layer.msg("复制成功"); +} +function copyToClipBoard(str){ + const el = document.createElement('textarea'); + el.value = str; + document.body.appendChild(el); + el.select(); + document.execCommand('copy'); + document.body.removeChild(el); +}; \ No newline at end of file diff --git a/zdoc/_images/zlib1.dll b/apps/pass/ui/dist/dll/zlib1.dll similarity index 100% rename from zdoc/_images/zlib1.dll rename to apps/pass/ui/dist/dll/zlib1.dll diff --git a/apps/pass/ui/dist/help.html b/apps/pass/ui/dist/help.html index c533e7d..8eeac50 100644 --- a/apps/pass/ui/dist/help.html +++ b/apps/pass/ui/dist/help.html @@ -14,18 +14,19 @@