切换导航条
切换导航条
当前项目
正在载入...
登录
术习电报
/
electron-vue-template
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
构建
提交
问题看板
文件
提交
网络
比较
分支
标签
作者
umbrella22
2019-03-15 16:46:32 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
提交
2390bcacbbae51c2dfcc6c13aaba15b6b9ba7f05
2390bcac
1 个父辈
a0c26a3e
添加nedb数据库操作,去除eslint
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
177 行增加
和
103 行删除
.electron-vue/webpack.main.config.js
.electron-vue/webpack.renderer.config.js
.electron-vue/webpack.web.config.js
package.json
src/main/menu.js
src/renderer/api/operationalData.js
src/renderer/components/LandingPage.vue
src/renderer/main.js
.electron-vue/webpack.main.config.js
查看文件 @
2390bca
...
...
@@ -17,17 +17,17 @@ let mainConfig = {
],
module
:
{
rules
:
[
{
test
:
/
\.(
js
)
$/
,
enforce
:
'pre'
,
exclude
:
/node_modules/
,
use
:
{
loader
:
'eslint-loader'
,
options
:
{
formatter
:
require
(
'eslint-friendly-formatter'
)
}
}
},
//
{
//
test: /\.(js)$/,
//
enforce: 'pre',
//
exclude: /node_modules/,
//
use: {
//
loader: 'eslint-loader',
//
options: {
//
formatter: require('eslint-friendly-formatter')
//
}
//
}
//
},
{
test
:
/
\.
js$/
,
use
:
'babel-loader'
,
...
...
.electron-vue/webpack.renderer.config.js
查看文件 @
2390bca
...
...
@@ -31,17 +31,17 @@ let rendererConfig = {
],
module
:
{
rules
:
[
{
test
:
/
\.(
js|vue
)
$/
,
enforce
:
'pre'
,
exclude
:
/node_modules/
,
use
:
{
loader
:
'eslint-loader'
,
options
:
{
formatter
:
require
(
'eslint-friendly-formatter'
)
}
}
},
//
{
//
test: /\.(js|vue)$/,
//
enforce: 'pre',
//
exclude: /node_modules/,
//
use: {
//
loader: 'eslint-loader',
//
options: {
//
formatter: require('eslint-friendly-formatter')
//
}
//
}
//
},
{
test
:
/
\.
scss$/
,
use
:
[
'vue-style-loader'
,
'css-loader'
,
'sass-loader'
]
...
...
.electron-vue/webpack.web.config.js
查看文件 @
2390bca
...
...
@@ -18,17 +18,17 @@ let webConfig = {
},
module
:
{
rules
:
[
{
test
:
/
\.(
js|vue
)
$/
,
enforce
:
'pre'
,
exclude
:
/node_modules/
,
use
:
{
loader
:
'eslint-loader'
,
options
:
{
formatter
:
require
(
'eslint-friendly-formatter'
)
}
}
},
//
{
//
test: /\.(js|vue)$/,
//
enforce: 'pre',
//
exclude: /node_modules/,
//
use: {
//
loader: 'eslint-loader',
//
options: {
//
formatter: require('eslint-friendly-formatter')
//
}
//
}
//
},
{
test
:
/
\.
scss$/
,
use
:
[
'vue-style-loader'
,
'css-loader'
,
'sass-loader'
]
...
...
package.json
查看文件 @
2390bca
...
...
@@ -12,14 +12,11 @@
"build:web"
:
"cross-env BUILD_TARGET=web node .electron-vue/build.js"
,
"dev"
:
"node .electron-vue/dev-runner.js"
,
"e2e"
:
"npm run pack && mocha test/e2e"
,
"lint"
:
"eslint --ext .js,.vue -f ./node_modules/eslint-friendly-formatter src test"
,
"lint:fix"
:
"eslint --ext .js,.vue -f ./node_modules/eslint-friendly-formatter --fix src test"
,
"pack"
:
"npm run pack:main && npm run pack:renderer"
,
"pack:main"
:
"cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.main.config.js"
,
"pack:renderer"
:
"cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.renderer.config.js"
,
"test"
:
"npm run unit && npm run e2e"
,
"unit"
:
"karma start test/unit/karma.conf.js"
,
"postinstall"
:
"npm run lint:fix"
"unit"
:
"karma start test/unit/karma.conf.js"
},
"build"
:
{
"productName"
:
"my-project"
,
...
...
src/main/menu.js
查看文件 @
2390bca
// 这里是定义菜单的地方,详情请查看 https://electronjs.org/docs/api/menu
const
{
dialog
}
=
require
(
'electron'
)
const
menu
=
[{
label
:
'文档操作'
,
submenu
:
[{
...
...
@@ -22,5 +23,22 @@ const menu = [{
accelerator
:
'CmdOrCtrl+F4'
,
role
:
'close'
}]
},
{
label
:
'帮助'
,
submenu
:
[{
label
:
'切换到开发者模式'
,
accelerator
:
'CmdOrCtrl+I'
,
role
:
'toggledevtools'
},
{
label
:
'关于'
,
role
:
'about'
,
click
:
function
()
{
dialog
.
showMessageBox
({
title
:
'关于'
,
type
:
'info'
,
message
:
'程序使用electron搭建,程序制作Sky'
})
}
}]
}]
export
default
menu
...
...
src/renderer/api/operationalData.js
0 → 100644
查看文件 @
2390bca
import
db
from
'../utils/db'
export
default
{
adddata
(
data
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
db
.
insert
(
data
,
(
err
,
newdoc
)
=>
{
if
(
err
)
{
reject
(
err
)
return
false
}
resolve
(
newdoc
)
})
})
},
finddata
(
query
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
db
.
find
(
query
,
(
err
,
res
)
=>
{
if
(
err
)
{
reject
(
err
)
return
false
}
resolve
(
res
)
})
})
},
findone
(
query
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
db
.
findOne
(
query
,
(
err
,
res
)
=>
{
if
(
err
)
{
reject
(
err
)
return
false
}
resolve
(
res
)
})
})
}
}
src/renderer/components/LandingPage.vue
查看文件 @
2390bca
...
...
@@ -3,17 +3,17 @@
<img id="logo" src="~@/assets/logo.png" alt="electron-vue">
<main>
<div class="left-side">
<span class="title">
Welcome to your new project!
</span>
<span class="title">Welcome to your new project!</span>
<system-information></system-information>
<span>{{text}}</span>
</div>
<div class="right-side">
<div class="doc">
<div class="title alt">Other Documentation</div>
<el-button type="primary" round @click="open()">控制台打印</el-button>
<el-button type="primary" round>element按钮示例</el-button>
<el-button type="primary" round @click="setdata">写入数据</el-button>
<el-button type="primary" round @click="getdata">读取数据</el-button>
</div>
</div>
</main>
...
...
@@ -21,79 +21,100 @@
</template>
<script>
import SystemInformation from './LandingPage/SystemInformation'
import SystemInformation from "./LandingPage/SystemInformation";
export default {
name: 'landing-page',
components: { SystemInformation },
methods: {
open (link) {
console.log(this.$electron)
}
export default {
name: "landing-page",
components: { SystemInformation },
data: () => ({
text: "等待数据读取",
newdata: {
name: "yyy",
age: "12"
}
}),
methods: {
open(link) {
console.log(this.$electron);
},
setdata() {
this.$db
.adddata(this.newdata)
.then(res => console.log(res))
.catch(err => console.log(err));
},
getdata() {
this.$db
.finddata()
.then(res => console.log(res))
.catch(err => console.log(err));
}
}
};
</script>
<style>
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: "Source Sans Pro", sans-serif;
}
body { font-family: 'Source Sans Pro', sans-serif; }
#wrapper {
background: radial-gradient(
ellipse at top left,
rgba(255, 255, 255, 1) 40%,
rgba(229, 229, 229, 0.9) 100%
);
height: 100vh;
padding: 60px 80px;
width: 100vw;
}
#wrapper {
background:
radial-gradient(
ellipse at top left,
rgba(255, 255, 255, 1) 40%,
rgba(229, 229, 229, .9) 100%
);
height: 100vh;
padding: 60px 80px;
width: 100vw;
}
#logo {
height: auto;
margin-bottom: 20px;
width: 420px;
}
#logo {
height: auto;
margin-bottom: 20px;
width: 420px;
}
main {
display: flex;
justify-content: space-between;
}
main {
display: flex;
justify-content: space-between;
}
main > div {
flex-basis: 50%;
}
main > div { flex-basis: 50%; }
.left-side {
display: flex;
flex-direction: column;
}
.left-side {
display: flex;
flex-direction: column;
}
.welcome {
color: #555;
font-size: 23px;
margin-bottom: 10px;
}
.welcome {
color: #555;
font-size: 23px;
margin-bottom: 10px;
}
.title {
color: #2c3e50;
font-size: 20px;
font-weight: bold;
margin-bottom: 6px;
}
.title {
color: #2c3e50;
font-size: 20px;
font-weight: bold;
margin-bottom: 6px;
}
.title.alt {
font-size: 18px;
margin-bottom: 10px;
}
.title.alt {
font-size: 18px;
margin-bottom: 10px;
}
.doc p {
color: black;
margin-bottom: 10px;
}
.doc p {
color: black;
margin-bottom: 10px;
}
</style>
\ No newline at end of file
...
...
src/renderer/main.js
查看文件 @
2390bca
...
...
@@ -3,8 +3,8 @@ import Vue from 'vue'
import
App
from
'./App'
import
router
from
'./router'
import
store
from
'./store'
//
引用nedb做本地存储
import
db
from
'./
utils/db
'
//
导入数据操作库
import
db
from
'./
api/operationalData
'
// 引用element
import
ElementUI
from
'element-ui'
import
'element-ui/lib/theme-chalk/index.css'
...
...
@@ -13,8 +13,9 @@ if (!process.env.IS_WEB) Vue.use(require('vue-electron'))
Vue
.
use
(
ElementUI
)
Vue
.
config
.
productionTip
=
false
Vue
.
prototype
.
$db
=
db
Vue
.
config
.
productionTip
=
false
/* eslint-disable no-new */
new
Vue
({
components
:
{
...
...
请
注册
或
登录
后发表评论