Compare commits
No commits in common. "39071c1550779e7102fe7e58e7f89a2cde35eff9" and "c664c2d9e313122d22f909e8551bf630110ab6df" have entirely different histories.
39071c1550
...
c664c2d9e3
101
app/index.html
101
app/index.html
|
@ -1,22 +1,91 @@
|
||||||
|
<!--
|
||||||
|
* @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>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<link rel="icon" href="static/static/favicon.ico" />
|
<title>透你猴子</title>
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
<script type="text/javascript" src="static/index.js"></script>
|
||||||
<meta name="theme-color" content="#000000" />
|
<script type="text/javascript" src="static/tailwindcss3.3.3.js"></script>
|
||||||
<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>
|
</head>
|
||||||
<body>
|
<body class="bg-gray-100">
|
||||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
<!-- <div class="rounded-lg bg-white p-10 shadow-lg">
|
||||||
<div id="root"></div>
|
<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">
|
||||||
|
© 2023 WCS LAT
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p id="output"></p>
|
||||||
</body>
|
</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>
|
</html>
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
/*
|
||||||
|
* @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);
|
|
@ -1,3 +0,0 @@
|
||||||
# https://www.robotstxt.org/robotstxt.html
|
|
||||||
User-agent: *
|
|
||||||
Disallow:
|
|
|
@ -1,13 +0,0 @@
|
||||||
{
|
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
|
Binary file not shown.
Before Width: | Height: | Size: 3.8 KiB |
|
@ -1 +0,0 @@
|
||||||
<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>
|
|
Before Width: | Height: | Size: 2.6 KiB |
Binary file not shown.
Before Width: | Height: | Size: 5.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 9.4 KiB |
File diff suppressed because one or more lines are too long
|
@ -1,47 +0,0 @@
|
||||||
/*!
|
|
||||||
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
|
@ -1,25 +0,0 @@
|
||||||
{
|
|
||||||
"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
|
@ -3,7 +3,6 @@ package controller
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"goweb/database"
|
|
||||||
"goweb/res"
|
"goweb/res"
|
||||||
"goweb/wol"
|
"goweb/wol"
|
||||||
"net"
|
"net"
|
||||||
|
@ -37,16 +36,21 @@ func Send_start(mac string, ws **websocket.Conn) {
|
||||||
|
|
||||||
}
|
}
|
||||||
func Getall(ws **websocket.Conn) {
|
func Getall(ws **websocket.Conn) {
|
||||||
wolarray := make([]database.Wol, 0)
|
type wol struct {
|
||||||
// wol_item := new(wol)
|
ID int
|
||||||
// wol_item.ID = 1
|
Name string
|
||||||
// wol_item.Name = "电脑"
|
Address string
|
||||||
// wol_item.Address = "10:7B:44:80:F4:6A"
|
}
|
||||||
// wol_item2 := new(wol)
|
var wolarray []wol
|
||||||
// wol_item2.ID = 2
|
wol_item := new(wol)
|
||||||
// wol_item2.Name = "aa"
|
wol_item.ID = 1
|
||||||
// wol_item2.Address = "10:7B:44:80:F4:6A"
|
wol_item.Name = "电脑"
|
||||||
// wolarray = append(wolarray, *wol_item, *wol_item2)
|
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)
|
v, err := json.Marshal(wolarray)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("marshal failed!", err)
|
fmt.Println("marshal failed!", err)
|
||||||
|
|
|
@ -1,18 +1,12 @@
|
||||||
package database
|
package database
|
||||||
|
|
||||||
import (
|
import (
|
||||||
_ "github.com/mattn/go-sqlite3"
|
_ "modernc.org/sqlite"
|
||||||
"xorm.io/xorm"
|
"xorm.io/xorm"
|
||||||
)
|
)
|
||||||
|
|
||||||
var engine *xorm.Engine
|
var engine *xorm.Engine
|
||||||
|
|
||||||
type Wol struct {
|
|
||||||
ID int
|
|
||||||
Name string `xorm:"varchar(64)"`
|
|
||||||
Mac string `xorm:"varchar(64)"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
var err error
|
var err error
|
||||||
file := "./wol.db"
|
file := "./wol.db"
|
||||||
|
@ -21,19 +15,4 @@ func init() {
|
||||||
panic(err)
|
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)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
1
main.go
1
main.go
|
@ -82,6 +82,7 @@ func hello(c echo.Context) error {
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// c.Logger().Error(err)
|
// c.Logger().Error(err)
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// Read
|
// Read
|
||||||
msg := ""
|
msg := ""
|
||||||
err := websocket.Message.Receive(ws, &msg)
|
err := websocket.Message.Receive(ws, &msg)
|
||||||
|
|
13
main_test.go
13
main_test.go
|
@ -1,13 +0,0 @@
|
||||||
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)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue