init项目

This commit is contained in:
2024-08-07 21:49:03 +08:00
parent ee58452db1
commit f0cc1b54c2
41 changed files with 415 additions and 0 deletions

61
README.md Normal file
View File

@@ -0,0 +1,61 @@
#### 项目简介
#### 常用命令
```shell
# 运行项目
npm run dev
# 仅运行前端
npm run dev-frontend
# 仅运行后端
npm run dev-electron
# 预发布模式环境变量为prod请先移动资源
npm run start
# 移动前端静态资源
npm run rd
# 移动资源,可配置
npm run move
# 代码加密
npm run encrypt
# 清除加密的代码
npm run clean
# 生成logo
npm run icon
# 打包 windows版
npm run build-w (调整为64位)
npm run build-w-32 (32位)
npm run build-w-64 (64位)
npm run build-w-arm64 (arm64)
# 打包 windows 免安装版)
# ee > v2.2.1
npm run build-wz (调整为64位)
npm run build-wz-32 (32位)
npm run build-wz-64 (64位)
npm run build-wz-arm64 (arm64)
# 打包 mac版
npm run build-m
npm run build-m-arm64 (m1芯片架构)
# 打包 linux版
# ee > v2.2.1
npm run build-l (默认64位 deb包)
npm run build-l-32 (32位 deb包)
npm run build-l-64 (64位 deb包)
npm run build-l-arm64 (64位 deb包 arm64)
npm run build-l-armv7l (64位 deb包 armv7l)
npm run build-lr-64 (64位 rpm包)
npm run build-lp-64 (64位 pacman包)
```

View File

@@ -0,0 +1 @@
chrome应用商店ctx文件解压后放置在此目录中打包时会将资源加入安装包内。

Binary file not shown.

View File

@@ -0,0 +1 @@
建议第三方软件放置在此目录中,打包时会将资源加入安装包内。

BIN
build/icons/icon.icns Normal file

Binary file not shown.

BIN
build/icons/icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
build/icons/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

View File

2
main.js Normal file
View File

@@ -0,0 +1,2 @@
const { ElectronEgg } = require('ee-core');
new ElectronEgg();

63
package.json Normal file
View File

@@ -0,0 +1,63 @@
{
"name": "ee",
"version": "3.12.0",
"description": "A fast, desktop software development framework",
"main": "main.js",
"scripts": {
"dev": "ee-bin dev",
"dev-frontend": "ee-bin dev --serve=frontend",
"dev-electron": "ee-bin dev --serve=electron",
"build-frontend": "ee-bin build --cmds=frontend && ee-bin move --flag=frontend_dist",
"start": "ee-bin start",
"rd": "ee-bin move --flag=frontend_dist",
"encrypt": "ee-bin encrypt",
"clean": "ee-bin clean",
"icon": "ee-bin icon",
"reload": "nodemon --config ./electron/config/nodemon.json",
"rebuild": "electron-rebuild",
"re-sqlite": "electron-rebuild -f -w better-sqlite3",
"build-w": "electron-builder --config=./electron/config/builder.json -w=nsis --x64",
"build-w-32": "electron-builder --config=./electron/config/builder.json -w=nsis --ia32",
"build-w-64": "electron-builder --config=./electron/config/builder.json -w=nsis --x64",
"build-w-arm64": "electron-builder --config=./electron/config/builder.json -w=nsis --arm64",
"build-we": "electron-builder --config=./electron/config/builder.json -w=portable --x64",
"build-wz": "electron-builder --config=./electron/config/builder.json -w=7z --x64",
"build-wz-32": "electron-builder --config=./electron/config/builder.json -w=7z --ia32",
"build-wz-64": "electron-builder --config=./electron/config/builder.json -w=7z --x64",
"build-wz-arm64": "electron-builder --config=./electron/config/builder.json -w=7z --arm64",
"build-m": "electron-builder --config=./electron/config/builder.json -m",
"build-m-arm64": "electron-builder --config=./electron/config/builder.json -m --arm64",
"build-l": "electron-builder --config=./electron/config/builder.json -l=deb --x64",
"build-l-32": "electron-builder --config=./electron/config/builder.json -l=deb --ia32",
"build-l-64": "electron-builder --config=./electron/config/builder.json -l=deb --x64",
"build-l-arm64": "electron-builder --config=./electron/config/builder.json -l=deb --arm64",
"build-l-armv7l": "electron-builder --config=./electron/config/builder.json -l=deb --armv7l",
"build-lr-64": "electron-builder --config=./electron/config/builder.json -l=rpm --x64",
"build-lp-64": "electron-builder --config=./electron/config/builder.json -l=pacman --x64",
"test": "set DEBUG=* && electron . --env=local"
},
"repository": "https://github.com/dromara/electron-egg.git",
"keywords": [
"Electron",
"electron-egg",
"ElectronEgg"
],
"author": "哆啦好梦, Inc <530353222@qq.com>",
"license": "Apache",
"devDependencies": {
"@electron/rebuild": "^3.2.13",
"debug": "^4.3.3",
"ee-bin": "1.6.0",
"electron": "^21.4.4",
"electron-builder": "^23.6.0",
"eslint": "^5.13.0",
"eslint-plugin-prettier": "^3.0.1",
"nodemon": "^2.0.16"
},
"dependencies": {
"dayjs": "^1.10.7",
"ee-core": "2.10.0",
"electron-updater": "^5.3.0",
"lodash": "^4.17.21"
}
}

1
public/dist/assets/Index-630507e4.js vendored Normal file
View File

@@ -0,0 +1 @@
import{_ as a,o as t,c as s,a as e}from"./index-94991f0a.js";const o={data:()=>({})},c={id:"hero"},n=[e('<h1 class="tagline" data-v-505540b8><span class="accent" data-v-505540b8>Electron-Egg</span></h1><p class="description" data-v-505540b8> A fast, desktop software development framework </p><p class="actions" data-v-505540b8><a class="setup" href="https://www.kaka996.com/" target="_blank" data-v-505540b8>Get Started</a></p>',3)];const d=a(o,[["render",function(a,e,o,d,r,p){return t(),s("section",c,n)}],["__scopeId","data-v-505540b8"]]);export{d as default};

1
public/dist/assets/Index-812274cb.css vendored Normal file
View File

@@ -0,0 +1 @@
section[data-v-505540b8]{padding:42px 32px}#hero[data-v-505540b8]{padding:150px 32px;text-align:center;height:100%}.tagline[data-v-505540b8]{font-size:52px;line-height:1.25;font-weight:700;letter-spacing:-1.5px;max-width:960px;margin:0 auto}html:not(.dark) .accent[data-v-505540b8],.dark .tagline[data-v-505540b8]{background:-webkit-linear-gradient(315deg,#42d392 25%,#647eff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.description[data-v-505540b8]{max-width:960px;line-height:1.5;color:var(--vt-c-text-2);transition:color .5s;font-size:22px;margin:24px auto 40px}.actions a[data-v-505540b8]{font-size:16px;display:inline-block;background-color:var(--vt-c-bg-mute);padding:8px 18px;font-weight:500;border-radius:8px;transition:background-color .5s,color .5s;text-decoration:none}.actions .setup[data-v-505540b8]{color:var(--vt-c-text-code);background:-webkit-linear-gradient(315deg,#42d392 25%,#647eff)}.actions .setup[data-v-505540b8]:hover{background-color:var(--vt-c-gray-light-4);transition-duration:.2s}

7
public/dist/assets/index-94991f0a.js vendored Normal file

File diff suppressed because one or more lines are too long

1
public/dist/assets/index-b7b2ffb7.css vendored Normal file
View File

@@ -0,0 +1 @@
#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;height:100%}

107
public/dist/index.html vendored Normal file
View File

@@ -0,0 +1,107 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, maximum-scale=1.0, minimum-scale=1.0" />
<title></title>
<!-- 优化vue渲染未完成之前先加一个css动画 -->
<style>
#loadingPage {
background-color: #dedede;
font-size: 12px;
}
.base {
height: 9em;
left: 50%;
margin: -7.5em;
padding: 3em;
position: absolute;
top: 50%;
width: 9em;
transform: rotateX(45deg) rotateZ(45deg);
transform-style: preserve-3d;
}
.cube,
.cube:after,
.cube:before {
content: '';
float: left;
height: 3em;
position: absolute;
width: 3em;
}
/* Top */
.cube {
background-color: #06cf68;
position: relative;
transform: translateZ(3em);
transform-style: preserve-3d;
transition: .25s;
box-shadow: 13em 13em 1.5em rgba(0, 0, 0, 0.1);
animation: anim 1s infinite;
}
.cube:after {
background-color: #05a151;
transform: rotateX(-90deg) translateY(3em);
transform-origin: 100% 100%;
}
.cube:before {
background-color: #026934;
transform: rotateY(90deg) translateX(3em);
transform-origin: 100% 0;
}
.cube:nth-child(1) {
animation-delay: 0.05s;
}
.cube:nth-child(2) {
animation-delay: 0.1s;
}
.cube:nth-child(3) {
animation-delay: 0.15s;
}
.cube:nth-child(4) {
animation-delay: 0.2s;
}
.cube:nth-child(5) {
animation-delay: 0.25s;
}
.cube:nth-child(6) {
animation-delay: 0.3s;
}
.cube:nth-child(7) {
animation-delay: 0.35s;
}
.cube:nth-child(8) {
animation-delay: 0.4s;
}
.cube:nth-child(9) {
animation-delay: 0.45s;
}
@keyframes anim {
50% {
transform: translateZ(0.5em);
}
}
</style>
<script type="module" crossorigin src="./assets/index-94991f0a.js"></script>
<link rel="stylesheet" href="./assets/index-b7b2ffb7.css">
</head>
<body>
<div id="loadingPage">
<div class='base'>
<div class='cube'></div>
<div class='cube'></div>
<div class='cube'></div>
<div class='cube'></div>
<div class='cube'></div>
<div class='cube'></div>
<div class='cube'></div>
<div class='cube'></div>
<div class='cube'></div>
</div>
</div>
<div id="app"></div>
</body>
</html>

94
public/html/loading.html Normal file
View File

@@ -0,0 +1,94 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, maximum-scale=1.0, minimum-scale=1.0" />
<style>
#loadingPage {
background-color: #dedede;
font-size: 12px;
}
.base {
left: 50%;
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
}
.desc {
margin: 0, 0, 20px, 0;
}
.loading,
.loading > div {
position: relative;
box-sizing: border-box;
}
.loading {
display: block;
font-size: 0;
color: #06b359;
}
.loading.la-dark {
color: #07C160;
}
.loading > div {
display: inline-block;
float: none;
background-color: currentColor;
border: 0 solid currentColor;
}
.loading {
width: 92px;
height: 92px;
}
.loading > div {
position: absolute;
top: 50%;
left: 50%;
background: transparent;
border-style: solid;
border-width: 2px;
border-radius: 100%;
animation: ball-clip-rotate-multiple-rotate 1s ease-in-out infinite;
}
.loading > div:first-child {
position: absolute;
width: 92px;
height: 92px;
border-right-color: transparent;
border-left-color: transparent;
}
.loading > div:last-child {
width: 16px;
height: 16px;
border-top-color: transparent;
border-bottom-color: transparent;
animation-duration: 0.5s;
animation-direction: reverse;
}
@keyframes ball-clip-rotate-multiple-rotate {
0% {
transform: translate(-50%, -50%) rotate(0deg);
}
50% {
transform: translate(-50%, -50%) rotate(180deg);
}
100% {
transform: translate(-50%, -50%) rotate(360deg);
}
}
</style>
</head>
<body>
<div id="boot">
<div class='base'>
<div class="loading">
<div></div>
<div></div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,22 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body{
margin:0px auto;
}
#content {
position: absolute;
left: 50%;
top: 35%;
transform: translate(-50%, -50%);
}
</style>
<title></title>
</head>
<body>
<div id="content">
这是一个html页面
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

BIN
public/images/logo-32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
public/images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
public/images/tray.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 786 B

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDpWYqPkljVtDNp
JVwlcOxNVihQPf4T3Q/tuIt5znV5ImBmlWg+OyuG47Y5e+qPMjFCSX4ebTAtBMbY
m6AJihkKy0iKj1mVS9TPCzqcHFnUliCIqJMKFsJTWygNGgogjXhlxFaJgCZO6Gw6
ocWp6nw1gMhrMIxqT2MQIQX16SD1IH/F4JMoaYuifnR+OOgbS3yUKHDTFApkZAWn
dS4GpbT39rW9cmbJrGHCvl8bsm8MXMdXars10A++wjjmHbtZu8beFv+zKbDw4iAu
ls8p/lAoIvQy8MkLLM5b392CLMaK0517+qM3VdEZ0ph+32m9IEoj5QV8xgaPdnyP
8/8a2bU/AgMBAAECggEBAIzFZ8GVF+JUA2+7CgvMQ8Gj6E4AF/cDtUhDvGCPHG8n
PeCk4W4pY+jMFnI3PxmDvhOvIlZYqGeAKjUiLTmUBedtGyX7tJ9MT+VXcNQchlSo
/Jd0mr/LWw/OPispOlLJBYjfGRV6KaIQtLnqPcRzoNrmBgIkF5FKswhX47CmIyu8
eEXmDsqXzWmYwdOHLNDshLOrCgFgRnqK7HjxvNqb9k4qv3V9WxlJYITK7L4eJNcZ
XYvGl+QV1+n153phyYnHcbohzvE44Hv8e4hiY9uYNdWckNBNFLpk9vEmUjewCRT1
kL30woifUhZCalXBIfKEHNZg23teOMHNZTqcS+ER64ECgYEA7BAWVWS/8b9h1AmP
SYhJgudb+ck1ItuvEDjonKuUCTBYm0iQI7cgAimasIBybRO8zwKstvWGDnUJJEkB
Oh7AXF6CbKuP7navTBAaF3AXsNfDgQuEwtEg78iqiQzTyp6FOvvOT2aOtzi86Ju1
zwKu+DLV3ETeokHWrQmV1uZnbZMCgYEA/Q7LdEEvZxz8OqOjtj8iKLWAv0WvnHTO
Zjqn/BbXi2PyI8d5ntIUPEgm/MRpvXTa465Uu8Orujfq51Z/oFbyvhhEOWT/sVn/
fzzbH4xXb3bLJ3D+LILQzsm4d8yrV66Re1ehFVxRPIy5RTpssED7bOns9ds4lsHT
W9p7ibYRBSUCgYAMpJftnuXA1tUwfAqWj5wQTL/aUvJrmYR4w/OBYJcfHt3AA1Tk
9MvcEcpdJaP7P5FfLO9/JQs2/wGsVdSg/kCjMdSeaVneFbExy7L6CmDacdPgt3M2
0+iFryOjD3LQaUkNbasRCZcfLQTBGIXWPniMhnx5vZ6G5ivPPLIvvktPzQKBgQCd
s/yi5ISwE+Y0fQpnZwzYpdQoXztDm5+NIfzSI0IMgirClWt7yJwHvUdeuuDSyuIm
hdwUb6qzkGl55fP/bnA0e1b5FbIrSlTpbHl6PbG3qyaL2+TqxFNwq1Gkhw44xHex
kDi44SFXRLOpKvHVHYoSo+2igg3QFdasJYpblfUhaQKBgF0l9PpMbDLdPlI33IQz
bEzw0ig8R8nHocJzOkK/BdLI8WiItYGgq4mcZGDWsztNg17QQGTEFrH7H9B8DKAJ
p75jz5O83arjMECqAiXlSGOWtq6NhbgyJcQJxvvvN8wObVFoVkLoEbqE1TkDqZfI
CqiusA5zgG89vzP9xFhW2ia2
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,26 @@
-----BEGIN CERTIFICATE-----
MIIEXzCCAsegAwIBAgIRAOLUY4uS9d2yXx0vd6qql30wDQYJKoZIhvcNAQELBQAw
gZExHjAcBgNVBAoTFW1rY2VydCBkZXZlbG9wbWVudCBDQTEzMDEGA1UECwwqQklM
SUJJTElcZ2Fvc2h1YWl4aW5nQENOMjEwMTAyMjc0ICjljaHor7opMTowOAYDVQQD
DDFta2NlcnQgQklMSUJJTElcZ2Fvc2h1YWl4aW5nQENOMjEwMTAyMjc0ICjljaHo
r7opMB4XDTIyMDcyNzA4NDcyOFoXDTI0MTAyNzA4NDcyOFowXjEnMCUGA1UEChMe
bWtjZXJ0IGRldmVsb3BtZW50IGNlcnRpZmljYXRlMTMwMQYDVQQLDCpCSUxJQklM
SVxnYW9zaHVhaXhpbmdAQ04yMTAxMDIyNzQgKOWNoeivuikwggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQDpWYqPkljVtDNpJVwlcOxNVihQPf4T3Q/tuIt5
znV5ImBmlWg+OyuG47Y5e+qPMjFCSX4ebTAtBMbYm6AJihkKy0iKj1mVS9TPCzqc
HFnUliCIqJMKFsJTWygNGgogjXhlxFaJgCZO6Gw6ocWp6nw1gMhrMIxqT2MQIQX1
6SD1IH/F4JMoaYuifnR+OOgbS3yUKHDTFApkZAWndS4GpbT39rW9cmbJrGHCvl8b
sm8MXMdXars10A++wjjmHbtZu8beFv+zKbDw4iAuls8p/lAoIvQy8MkLLM5b392C
LMaK0517+qM3VdEZ0ph+32m9IEoj5QV8xgaPdnyP8/8a2bU/AgMBAAGjZDBiMA4G
A1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAfBgNVHSMEGDAWgBQn
B1E5Js/cFhxBwpZL59aoK/skLjAaBgNVHREEEzARgglsb2NhbGhvc3SHBH8AAAEw
DQYJKoZIhvcNAQELBQADggGBAIaUncQj2XN2rNn6sE0MuaWboFqwpkydyei6FvtN
c/TY9RWW3QRYICcO721l/2jBiWplQt/ZYaJ+IWN+C+3JSAz9IYsM/nMgxHL2azLQ
zHKnASEjxptW9+mlsgVk2LTrBfbc197ikLu80M/0jQYaIBeoEOaMlhBjno139nTO
evNheyFKvAhggOseD00I9VBZkKDBxvqr6PHnGjyAU43C1/HkNjglIbQjAZdBmXlX
HuelQ97glfhzyApvmczPrc8IAqPhtYn2nJ5P6Ea35LEc3D7uVExywcjDFcSwMJCb
TXqouzM/U8pO+DGeuvgwkYrBGlA7iEE+ZQgxCBatOXwG95THtFlfW+H0ILHB2tcX
P+Kztwd+4ipPciJz+1NK7z7erwfxHO5hmXJskH9YWi6YJsIw5g1iYs0pJJ/4p7Bd
8qSGEhri/+iijcC76q+1N0xhJxQrDDlC0pKp6oAYFDGKirzwmlAf/eJBy0ORWjCj
yk+d9T622yzcXa5fw3HBZh1o6A==
-----END CERTIFICATE-----