Compare commits

..

2 Commits

Author SHA1 Message Date
giaogiao 39071c1550 什么也没 2023-09-04 18:00:09 +08:00
giaogiao fc78b25f38 前端合起来 2023-09-02 16:32:22 +08:00
20 changed files with 160 additions and 197 deletions

View File

@ -1,91 +1,22 @@
<!--
* @Author: giaogiao giaogiao
* @Date: 2023-08-28 10:33:48
* @LastEditors: giaogiao giaogiao
* @LastEditTime: 2023-08-31 17:41:31
* @FilePath: \goweb\app\index.html
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>透你猴子</title>
<script type="text/javascript" src="static/index.js"></script>
<script type="text/javascript" src="static/tailwindcss3.3.3.js"></script>
<link rel="icon" href="static/static/favicon.ico" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="static/static/logo192.png" />
<link rel="manifest" href="static/static/manifest.json" />
<title>Material Tailwind + CRA</title>
<script defer="defer" src="static/static/main.8ad48b5a.js"></script>
<link href="static/static/main.9ff9ea17.css" rel="stylesheet" />
</head>
<body class="bg-gray-100">
<!-- <div class="rounded-lg bg-white p-10 shadow-lg">
<div class="mb-4 flex items-center">
<input
type="text"
class="w-full rounded-lg border border-gray-40 p-2"
placeholder="mac地址"
id="mac"
/>
<button id="btn"
class="ml-2 rounded-lg bg-blue-500 p-2 text-white hover:bg-blue-600"
>
发送
</button>
</div>
</div> -->
<div class="min-h-screen flex items-center justify-center">
<div class="max-w-md w-full p-6 bg-white rounded-lg shadow-lg">
<div class="flex justify-center mb-8">
<img
src="https://www.emprenderconactitud.com/img/POC%20WCS%20(1).png"
alt="Logo"
class="w-30 h-20"
/>
</div>
<h1 class="text-2xl font-semibold text-center text-gray-500 mt-8 mb-6">
发送mac地址
</h1>
<p class="text-sm text-gray-600 text-justify mt-8 mb-6">
<input
type="text"
class="w-full rounded-lg border border-gray-40 p-2"
placeholder="mac地址"
id="mac"
/>
</p>
<div class="flex justify-center space-x-4 my-4">
<button
id="btn"
class="bg-gradient-to-r from-cyan-400 to-cyan-600 text-white px-4 py-2 rounded-md w-1/3"
>
发送
</button>
</div>
<div class="text-center">
<!-- <p class="text-sm">Volver a <a href="#" class="text-cyan-600">Iniciar sesión</a></p> -->
</div>
<p class="text-xs text-gray-600 text-center mt-8">
&copy; 2023 WCS LAT
</p>
</div>
</div>
<p id="output"></p>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
<script>
function isMACAddress(strMac) {
var reg = /^([0-9a-fA-F]{2})(([/\s:][0-9a-fA-F]{2}){5})$/;
if (reg.test(strMac)) {
return true;
} else {
return false;
}
}
var btn = document.getElementById("btn");
btn.addEventListener("click", function (e) {
let mac = document.getElementById("mac").value;
if (!isMACAddress(mac)) {
console.log("mac输入错误");
return;
}
let data = { method: "start", data: { mac } };
ws.send(JSON.stringify(data));
});
</script>
</html>

View File

@ -1,32 +0,0 @@
/*
* @Author: giaogiao giaogiao
* @Date: 2023-08-28 11:43:28
* @LastEditors: giaogiao giaogiao
* @LastEditTime: 2023-08-31 17:33:58
* @FilePath: \goweb\app\index.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
var loc = window.location;
var uri = 'ws:';
if (loc.protocol === 'https:') {
uri = 'wss:';
}
uri += '//' + loc.host;
uri += loc.pathname + 'ws';
ws = new WebSocket(uri)
ws.onopen = function() {
console.log('Connected')
}
ws.onmessage = function(evt) {
let date = new Date();
let out = document.getElementById('output');
out.innerHTML = evt.data + "当前时间:"+date.toISOString();
}
// setInterval(function() {
// ws.send('Hello, Server!');
// }, 1000);

3
app/robots.txt Normal file
View File

@ -0,0 +1,3 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:

View File

@ -0,0 +1,13 @@
{
"files": {
"main.css": "/static/css/main.9ff9ea17.css",
"main.js": "/static/js/main.8ad48b5a.js",
"index.html": "/index.html",
"main.9ff9ea17.css.map": "/static/css/main.9ff9ea17.css.map",
"main.8ad48b5a.js.map": "/static/js/main.8ad48b5a.js.map"
},
"entrypoints": [
"static/css/main.9ff9ea17.css",
"static/js/main.8ad48b5a.js"
]
}

BIN
app/static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

1
app/static/logo.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3"><g fill="#61DAFB"><path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/><circle cx="420.9" cy="296.5" r="45.7"/><path d="M520.5 78.1z"/></g></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
app/static/logo192.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
app/static/logo512.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,47 @@
/*!
Copyright (c) 2018 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @license React
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @license React
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @license React
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @license React
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

25
app/static/manifest.json Normal file
View File

@ -0,0 +1,25 @@
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "logo192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}

File diff suppressed because one or more lines are too long

View File

@ -3,6 +3,7 @@ package controller
import (
"encoding/json"
"fmt"
"goweb/database"
"goweb/res"
"goweb/wol"
"net"
@ -36,21 +37,16 @@ func Send_start(mac string, ws **websocket.Conn) {
}
func Getall(ws **websocket.Conn) {
type wol struct {
ID int
Name string
Address string
}
var wolarray []wol
wol_item := new(wol)
wol_item.ID = 1
wol_item.Name = "电脑"
wol_item.Address = "10:7B:44:80:F4:6A"
wol_item2 := new(wol)
wol_item2.ID = 2
wol_item2.Name = "aa"
wol_item2.Address = "10:7B:44:80:F4:6A"
wolarray = append(wolarray, *wol_item, *wol_item2)
wolarray := make([]database.Wol, 0)
// wol_item := new(wol)
// wol_item.ID = 1
// wol_item.Name = "电脑"
// wol_item.Address = "10:7B:44:80:F4:6A"
// wol_item2 := new(wol)
// wol_item2.ID = 2
// wol_item2.Name = "aa"
// wol_item2.Address = "10:7B:44:80:F4:6A"
// wolarray = append(wolarray, *wol_item, *wol_item2)
v, err := json.Marshal(wolarray)
if err != nil {
fmt.Println("marshal failed!", err)

View File

@ -1,12 +1,18 @@
package database
import (
_ "modernc.org/sqlite"
_ "github.com/mattn/go-sqlite3"
"xorm.io/xorm"
)
var engine *xorm.Engine
type Wol struct {
ID int
Name string `xorm:"varchar(64)"`
Mac string `xorm:"varchar(64)"`
}
func init() {
var err error
file := "./wol.db"
@ -15,4 +21,19 @@ func init() {
panic(err)
}
}
func CreateTable() int {
err := engine.Sync2(new(Wol))
if err != nil {
panic(err)
}
return 0
}
func Getallwol(everyone *[]Wol) {
// everyone := make([]wol, 0)
err := engine.Find(&everyone)
if err != nil {
panic(err)
}
}

View File

@ -82,7 +82,6 @@ func hello(c echo.Context) error {
// if err != nil {
// c.Logger().Error(err)
// }
// Read
msg := ""
err := websocket.Message.Receive(ws, &msg)

13
main_test.go Normal file
View File

@ -0,0 +1,13 @@
package main
import (
"goweb/database"
"testing"
)
func TestAdd(t *testing.T) {
if ans := database.CreateTable(); ans == 0 {
t.Errorf("1 + 2 expected be 3, but %d got", ans)
}
}

BIN
wol.db

Binary file not shown.