MixIO 增加 服务质量下拉项,文件读写增加下拉内容

This commit is contained in:
Irene-Maxine
2025-09-07 12:02:32 +08:00
parent 8d61baa20f
commit 6f190ac78f
6 changed files with 42 additions and 2 deletions

View File

@@ -332,6 +332,13 @@ export const IOT_MIXIO_PUBLISH = {
.appendField(Blockly.Msg.MIXLY_EMQX_PUBLISH_TOPIC);
this.appendValueInput('MSG')
.appendField(Blockly.Msg.HTML_BODY);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_Service_quality_display)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_AT_MOST_ONCE,"0"],
[Blockly.Msg.MIXLY_AT_LEAST_ONCE,"1"],
[Blockly.Msg.MIXLY_ONLY_ONCE,"2"]
]),"quality")
this.setInputsInline(true);
this.setPreviousStatement(true);
this.setNextStatement(true);

View File

@@ -90,8 +90,9 @@ export const iot_mixio_connect = function (_, generator) {
export const IOT_MIXIO_PUBLISH = function (_, generator) {
var topic = generator.valueToCode(this, 'TOPIC', generator.ORDER_ATOMIC);
var msg = generator.valueToCode(this, 'MSG', generator.ORDER_ATOMIC);
var q = this.getFieldValue('quality');
generator.definitions_['import_mixiot'] = "import mixiot";
var code = 'mqtt_client.publish(MQTT_USR_PRJ + ' + topic + ', ' + msg + ')\n';
var code = 'mqtt_client.publish(MQTT_USR_PRJ + ' + topic + ', ' + msg + ', qos='+ q +')\n';
return code;
}

View File

@@ -26,7 +26,15 @@ export const storage_fileopen = {
[Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_READ, 'r'],
[Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE, 'w'],
[Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ, 'rb'],
[Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE, 'wb']
[Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE, 'wb'],
[Blockly.Msg.MIXLY_ADD, 'a'],
[Blockly.Msg.MATH_BIN + Blockly.Msg.MIXLY_ADD, 'ab'],
[Blockly.Msg.MIXLY_R_W ,'r+'],
[Blockly.Msg.MATH_BIN + Blockly.Msg.MIXLY_R_W ,'rb+'],
[Blockly.Msg.MIXLY_W_R ,'w+'],
[Blockly.Msg.MATH_BIN + Blockly.Msg.MIXLY_W_R ,'wb+'],
[Blockly.Msg.MIXLY_A_R ,'a+'],
[Blockly.Msg.MATH_BIN + Blockly.Msg.MIXLY_A_R ,'ab+']
]), 'MODE');
this.appendValueInput("FILE")
.appendField(Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_AS);