lsc 4 年之前
父節點
當前提交
a2b91d071f
共有 1 個文件被更改,包括 34 次插入6 次删除
  1. 34 6
      src/components/blockly.vue

+ 34 - 6
src/components/blockly.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="ablockly">
     <el-button type="primary" @click="go" class="btnPosition">下一步</el-button>
-    <div id="blocklyDiv" style="height:905px"></div>
+    <div id="blocklyDiv" style="height: 905px"></div>
     <xml id="toolbox" style="display: none">
       <category name="逻辑" colour="%{BKY_LOGIC_HUE}">
         <block type="controls_if"></block>
@@ -18,6 +18,10 @@
       <category id="cat" name="人脸识别" colour="#ee783a">
         <block type="iot_lcd_faceinit"></block>
       </category>
+      <sep></sep>
+      <category id="police" name="电子警察组件" colour="#1b5873">
+        <block type="iot_lcd_policeinit"></block>
+      </category>
     </xml>
   </div>
 </template>
@@ -30,8 +34,8 @@
   height: 100%;
 }
 
-.blocklySvg{
-  height:905px !important;
+.blocklySvg {
+  height: 905px !important;
 }
 
 .btnPosition {
@@ -69,7 +73,7 @@ export default {
   data() {
     return {
       that: this,
-      workspace:null,
+      workspace: null,
     };
   },
 
@@ -77,7 +81,7 @@ export default {
     // 代码生成器
     myUpdateFunction(event) {
       var code = Blockly.JavaScript.workspaceToCode(this.workspace);
-      return code
+      return code;
     },
     // 获取blockly工作区中的code和xml结构
     getBlockData() {
@@ -98,7 +102,7 @@ export default {
     //下一步
     go() {
       //update修改   function state里的参数
-      var a = this.myUpdateFunction()
+      var a = this.myUpdateFunction();
       this.$store.commit("update", ["function", a]);
       this.$router.push("./function");
     },
@@ -165,6 +169,30 @@ export default {
       var _code = "face=1;";
       return _code;
     };
+
+    Blockly.Blocks["iot_lcd_policeinit"] = {
+      init: function () {
+        this.appendDummyInput().appendField(
+          new Blockly.FieldImage(
+            require("../assets/img/screen_init_header.png"),
+            45,
+            45
+          )
+        );
+        this.appendDummyInput().appendField("电子警察组件");
+        this.setInputsInline(false);
+        this.setPreviousStatement(true);
+        this.setNextStatement(true);
+        this.setColour("#1b5873");
+        this.setTooltip("");
+        this.setHelpUrl("");
+      },
+    };
+
+    Blockly.JavaScript.iot_lcd_policeinit = function (block) {
+      var _code = "police=1;";
+      return _code;
+    };
   },
 };
 </script>