Compare commits
2 Commits
c664c2d9e3
...
39071c1550
Author | SHA1 | Date |
---|---|---|
giaogiao | 39071c1550 | |
giaogiao | fc78b25f38 |
101
app/index.html
101
app/index.html
|
@ -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">
|
||||
© 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>
|
||||
|
|
32
app/index.js
32
app/index.js
|
@ -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);
|
|
@ -0,0 +1,3 @@
|
|||
# https://www.robotstxt.org/robotstxt.html
|
||||
User-agent: *
|
||||
Disallow:
|
|
@ -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"
|
||||
]
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 3.8 KiB |
|
@ -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 |
Binary file not shown.
After Width: | Height: | Size: 5.2 KiB |
Binary file not shown.
After Width: | Height: | Size: 9.4 KiB |
File diff suppressed because one or more lines are too long
|
@ -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
|
@ -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
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
1
main.go
1
main.go
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue