File tree Expand file tree Collapse file tree 8 files changed +150
-3
lines changed Expand file tree Collapse file tree 8 files changed +150
-3
lines changed Original file line number Diff line number Diff line change @@ -10,7 +10,12 @@ module.exports = {
10
10
// Paths
11
11
assetsSubDirectory : 'static' ,
12
12
assetsPublicPath : '/' ,
13
- proxyTable : { } ,
13
+ proxyTable : {
14
+ '/service/*' : {
15
+ target : 'http://192.168.12.249:8081' ,
16
+ changeOrigin : true
17
+ }
18
+ } ,
14
19
15
20
// Various Dev Server settings
16
21
host : 'localhost' , // can be overwritten by process.env.HOST
Original file line number Diff line number Diff line change 11
11
},
12
12
"dependencies" : {
13
13
"anim-event" : " ^1.0.16" ,
14
+ "axios" : " ^0.20.0" ,
14
15
"cssprefix" : " ^2.0.16" ,
15
16
"element-ui" : " ^2.13.0" ,
16
17
"less" : " ^3.11.1" ,
Original file line number Diff line number Diff line change @@ -15,6 +15,34 @@ function downloadFlie() {
15
15
document . body . removeChild ( elementA ) ;
16
16
}
17
17
18
+ let deepCopy = ( obj ) => {
19
+ if ( typeof obj !== 'object' ) {
20
+ return obj ;
21
+ }
22
+
23
+ let type = Object . prototype . toString . apply ( obj ) ;
24
+ let ret = type === '[object Array]' ? [ ] : { } ;
25
+
26
+ if ( type === '[object Array]' ) {
27
+ ret = [ ] ;
28
+ let i = 0 ;
29
+ while ( i < obj . length ) {
30
+ ret [ i ] = deepCopy ( obj [ i ] ) ;
31
+ i ++ ;
32
+ }
33
+ } else {
34
+ ret = { } ;
35
+ for ( let k in obj ) {
36
+ if ( obj . hasOwnProperty ( k ) ) {
37
+ ret [ k ] = deepCopy ( obj [ k ] ) ;
38
+ }
39
+ }
40
+ }
41
+
42
+ return ret ;
43
+ }
44
+
18
45
export default {
19
- downloadFlie : downloadFlie
46
+ downloadFlie : downloadFlie ,
47
+ deepCopy : deepCopy
20
48
}
Original file line number Diff line number Diff line change 12
12
<template slot="title">工程管理</template >
13
13
<el-menu-item index =" 9-1" >新建</el-menu-item >
14
14
<el-menu-item index =" 9-2" >打开</el-menu-item >
15
- <el-menu-item index =" 9-3" >保存</el-menu-item >
15
+ <el-menu-item index =" 9-3" @click = " saveProject " >保存</el-menu-item >
16
16
</el-submenu >
17
17
<el-submenu index =" 2" >
18
18
<template slot="title">系统配置</template >
25
25
<el-menu-item index =" 4" >
26
26
<div @click =" showCode" >查看代码</div >
27
27
</el-menu-item >
28
+ <el-menu-item index =" 5" >
29
+ <div @click =" run" >运行</div >
30
+ </el-menu-item >
28
31
</el-menu >
29
32
<img :src =" logoPath" />
30
33
31
34
</div >
32
35
</template >
33
36
34
37
<script >
38
+ import Tools from " @/Tools.js" ;
35
39
export default {
36
40
name: " Header" ,
37
41
data () {
@@ -48,6 +52,42 @@ export default {
48
52
49
53
showCode (){
50
54
debugger ;
55
+ },
56
+
57
+ run (){
58
+ this .axios ({
59
+ url: ' /service/run' ,
60
+ method: ' post' ,
61
+ data: {
62
+ path: ' '
63
+ }
64
+ })
65
+ },
66
+
67
+ saveProject (){
68
+ // save stateData
69
+ let stateData = Tools .deepCopy (statePageVue .threadAry );
70
+
71
+ // save blockly xml
72
+ let blocklyWindow = document .getElementsByTagName (' iframe' )[0 ].contentWindow ;
73
+ let blocklyData = blocklyWindow .Blockly .Xml .workspaceToDom (blocklyWindow .Code .workspace );
74
+
75
+ // save qrl
76
+ let code = blocklyWindow .Blockly .Lua .workspaceToCode (blocklyWindow .Code .workspace );
77
+ this .axios ({
78
+ url: ' /service/saveProject' ,
79
+ method: ' post' ,
80
+ data: {
81
+ stateData: stateData,
82
+ blocklyData: stateDataXml, // blocklyData,
83
+ code: code
84
+ }
85
+ }).then ((res )=> {
86
+ // debugger;
87
+ })
88
+
89
+
90
+
51
91
}
52
92
}
53
93
};
Original file line number Diff line number Diff line change
1
+ <template >
2
+ <div id =" IOPage" >
3
+ <span >IO 20103状态:</span >
4
+ <el-switch v-model =" status" active-color =" #13ce66" inactive-color =" #DCDFE6" ></el-switch >
5
+
6
+ <el-button type =" primary" @click =" refresh" style =" display : block ; margin-left : 100px ;margin-top :50px ;" >刷新</el-button >
7
+ </div >
8
+ </template >
9
+
10
+ <script >
11
+ export default {
12
+ name: " IOPage" ,
13
+
14
+ data () {
15
+ return {
16
+ status: false ,
17
+ };
18
+ },
19
+
20
+ methods: {
21
+ getStatus () {
22
+ this .axios ({
23
+ url: " /service/getStatus" ,
24
+ method: " post" ,
25
+ data: {
26
+ port: " 20103" ,
27
+ },
28
+ }).then ((res ) => {
29
+ this .status = !! res .data .data ;
30
+ });
31
+ },
32
+ refresh (){
33
+ this .getStatus ();
34
+ }
35
+ },
36
+ created (){
37
+ // this.getStatus();
38
+ }
39
+ };
40
+ </script >
41
+
42
+ <style scoped>
43
+ #IOPage {
44
+ margin-top : 100px ;
45
+ }
46
+ span {
47
+ margin-left : 100px ;
48
+ position : relative ;
49
+ top : 1px ;
50
+ }
51
+ </style >
Original file line number Diff line number Diff line change @@ -5,9 +5,11 @@ import App from './App'
5
5
import router from './router'
6
6
import Element from 'element-ui' ;
7
7
import 'element-ui/lib/theme-chalk/index.css' ;
8
+ import axios from 'axios' ;
8
9
9
10
10
11
Vue . use ( Element , { size : 'small' , zIndex : 3000 } ) ;
12
+ Vue . prototype . axios = axios ;
11
13
12
14
Vue . config . productionTip = false
13
15
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ import Demo from '@/components/Demo'
10
10
import DemoIndex from '@/components/demos/DemoIndex'
11
11
import PathAnimation from '@/components/demos/PathAnimation'
12
12
import StatePage from '@/components/demos/StatePage'
13
+ import IOPage from '@/components/IOPage'
13
14
14
15
Vue . use ( Router )
15
16
@@ -67,6 +68,10 @@ export default new Router({
67
68
{
68
69
path : 'state' ,
69
70
component : StatePage
71
+ } ,
72
+ {
73
+ path : 'io' ,
74
+ component : IOPage
70
75
}
71
76
]
72
77
}
You can’t perform that action at this time.
0 commit comments