August-Blockly
This commit is contained in:
@@ -138,6 +138,23 @@ Blockly.Blocks['publish_message'] = {
|
||||
}
|
||||
};
|
||||
|
||||
Blockly.Blocks['publish_project_message'] = {
|
||||
init: function() {
|
||||
this.setColour(message_HUE);
|
||||
this.appendDummyInput().appendField(Blockly.Msg.TEXT_APPEND_TO);
|
||||
this.appendValueInput("project").setCheck("String");
|
||||
this.appendDummyInput().appendField(Blockly.Msg.VARIABLES_DEFAULT_NAME);
|
||||
this.appendValueInput("topic").setCheck("String");
|
||||
this.appendDummyInput().appendField(Blockly.PUBLISH_MESSAGE);
|
||||
this.appendValueInput("message").setCheck("String");
|
||||
this.appendDummyInput().appendField(Blockly.MESSAGE);
|
||||
this.setInputsInline(true);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip("");
|
||||
}
|
||||
};
|
||||
|
||||
button_HUE = "#CFA45A";
|
||||
|
||||
Blockly.Blocks['button_down'] = {
|
||||
@@ -1720,4 +1737,58 @@ Blockly.Blocks['text2json'] = {
|
||||
this.setOutput(true, null);
|
||||
this.setTooltip("");
|
||||
}
|
||||
};
|
||||
|
||||
Blockly.Blocks['get_accessToken'] = {
|
||||
init: function() {
|
||||
this.setColour("#1cc88a");
|
||||
this.appendDummyInput().appendField(Blockly.USEAPIKEY);
|
||||
this.appendValueInput("name").setCheck("String");
|
||||
this.appendDummyInput().appendField(Blockly.USESECRETKEY);
|
||||
this.appendValueInput("name2").setCheck("String");
|
||||
this.appendDummyInput().appendField(Blockly.GETTOKEN);
|
||||
this.setOutput(true, null);
|
||||
this.setTooltip("");
|
||||
}
|
||||
};
|
||||
|
||||
Blockly.Blocks['translate'] = {
|
||||
init: function() {
|
||||
this.setColour("#1cc88a");
|
||||
this.appendDummyInput().appendField(Blockly.TRANSORIGIN);
|
||||
this.appendValueInput("name").setCheck("String");
|
||||
this.appendDummyInput().appendField(Blockly.USETEXT);
|
||||
this.appendValueInput("name2").setCheck("String");
|
||||
this.appendDummyInput().appendField(Blockly.TOLANG);
|
||||
this.appendValueInput("name3").setCheck("String");
|
||||
this.appendDummyInput().appendField(Blockly.PARA1);
|
||||
this.setInputsInline(true);
|
||||
this.appendStatementInput('DO0').appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip('');
|
||||
},
|
||||
getVars:function(){
|
||||
return ["result"];
|
||||
}
|
||||
};
|
||||
|
||||
Blockly.Blocks['chat'] = {
|
||||
init: function() {
|
||||
this.setColour("#1cc88a");
|
||||
this.appendDummyInput().appendField(Blockly.TRANSORIGIN);
|
||||
this.appendValueInput("name").setCheck("String");
|
||||
this.appendDummyInput().appendField(Blockly.USETEXT2);
|
||||
this.appendValueInput("name2").setCheck("String");
|
||||
this.appendDummyInput().appendField(Blockly.BOT);
|
||||
this.appendDummyInput().appendField(Blockly.PARA1);
|
||||
this.setInputsInline(true);
|
||||
this.appendStatementInput('DO0').appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO);
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setTooltip('');
|
||||
},
|
||||
getVars:function(){
|
||||
return ["result"];
|
||||
}
|
||||
};
|
||||
@@ -89,6 +89,14 @@ Blockly.JavaScript.publish_message=function(block) {
|
||||
return code;
|
||||
};
|
||||
|
||||
Blockly.JavaScript.publish_project_message=function(block) {
|
||||
var project = Blockly.JavaScript.valueToCode(this, 'project', Blockly.JavaScript.ORDER_ATOMIC);
|
||||
var topic = Blockly.JavaScript.valueToCode(this, 'topic', Blockly.JavaScript.ORDER_ATOMIC);
|
||||
var message = Blockly.JavaScript.valueToCode(this, 'message', Blockly.JavaScript.ORDER_ATOMIC);
|
||||
var code="propublish("+project+","+topic+","+message+")\n"
|
||||
return code;
|
||||
};
|
||||
|
||||
Blockly.JavaScript.button_down=function(block) {
|
||||
var name = Blockly.JavaScript.valueToCode(this, 'name', Blockly.JavaScript.ORDER_ATOMIC);
|
||||
var code="MixIO.getInstance("+name+",MixIO.typeTags.BUTTON)\n"+".bind(MixIO.eventTags.BUTTON_PRESSED, function(){\n"
|
||||
@@ -672,4 +680,99 @@ Blockly.JavaScript.text2json=function(block) {
|
||||
var name = Blockly.JavaScript.valueToCode(this, 'name', Blockly.JavaScript.ORDER_ATOMIC);
|
||||
var code="JSON.parse("+name+")";
|
||||
return [code, Blockly.JavaScript.ORDER_ATOMIC];
|
||||
};
|
||||
|
||||
Blockly.JavaScript.get_accessToken = function(block) {
|
||||
MixIO.get_accessToken = function(client_id,client_secret){
|
||||
var accessToken = undefined;
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'proxy',
|
||||
async: false,
|
||||
data: {
|
||||
'url': 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='+client_id+'&client_secret='+client_secret+'',
|
||||
'data':{
|
||||
}
|
||||
},
|
||||
success: function(data) {
|
||||
accessToken = data.access_token;
|
||||
},
|
||||
error: function(xhr, type) {
|
||||
MixIO.log(xhr);
|
||||
}
|
||||
});
|
||||
return accessToken;
|
||||
}
|
||||
|
||||
var name = Blockly.JavaScript.valueToCode(this, 'name', Blockly.JavaScript.ORDER_ATOMIC);
|
||||
var name2 = Blockly.JavaScript.valueToCode(this, 'name2', Blockly.JavaScript.ORDER_ATOMIC);
|
||||
var code="MixIO.get_accessToken("+name+","+name2+")";
|
||||
return [code, Blockly.JavaScript.ORDER_ATOMIC];
|
||||
};
|
||||
|
||||
Blockly.JavaScript.translate = function(block) {
|
||||
MixIO.translate = function(access_token, query, to, func){
|
||||
var result = undefined;
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'proxy',
|
||||
data: {
|
||||
'url': 'https://aip.baidubce.com/rpc/2.0/mt/texttrans/v1?access_token='+access_token+'',
|
||||
'data':{
|
||||
"from":"auto",
|
||||
"to":to,
|
||||
"q":query
|
||||
}
|
||||
},
|
||||
success: function(data) {
|
||||
func(data)
|
||||
},
|
||||
error: function(xhr, type) {
|
||||
MixIO.log(xhr);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var name = Blockly.JavaScript.valueToCode(this, 'name', Blockly.JavaScript.ORDER_ATOMIC);
|
||||
var name2 = Blockly.JavaScript.valueToCode(this, 'name2', Blockly.JavaScript.ORDER_ATOMIC);
|
||||
var name3 = Blockly.JavaScript.valueToCode(this, 'name3', Blockly.JavaScript.ORDER_ATOMIC);
|
||||
var code="MixIO.translate("+name+","+name2+","+name3+")";
|
||||
var code="MixIO.translate("+name+","+name2+","+name3+",function(result){\n"
|
||||
+Blockly.JavaScript.statementToCode(block, "DO0" )+"\n"+"})\n"
|
||||
return code;
|
||||
};
|
||||
|
||||
Blockly.JavaScript.chat = function(block) {
|
||||
MixIO.chat = function(access_token, message, history, func){
|
||||
var result = undefined;
|
||||
var allMessages = history;
|
||||
allMessages.push({
|
||||
"role": "user",
|
||||
"content": message
|
||||
})
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'proxy',
|
||||
data: {
|
||||
'url': 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token='+access_token+'',
|
||||
'data':{
|
||||
"messages":allMessages
|
||||
}
|
||||
},
|
||||
success: function(data) {
|
||||
func(data)
|
||||
},
|
||||
error: function(xhr, type) {
|
||||
MixIO.log(xhr);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var name = Blockly.JavaScript.valueToCode(this, 'name', Blockly.JavaScript.ORDER_ATOMIC);
|
||||
var name2 = Blockly.JavaScript.valueToCode(this, 'name2', Blockly.JavaScript.ORDER_ATOMIC);
|
||||
var name3 = "[]";
|
||||
var code="MixIO.chat("+name+","+name2+","+name3+")";
|
||||
var code="MixIO.chat("+name+","+name2+","+name3+",function(result){\n"
|
||||
+Blockly.JavaScript.statementToCode(block, "DO0" )+"\n"+"})\n"
|
||||
return code;
|
||||
};
|
||||
@@ -311,6 +311,7 @@ Blockly.Msg["RENAME_VARIABLE"] = "重命名变量...";
|
||||
Blockly.Msg["RENAME_VARIABLE_TITLE"] = "将所有“%1”变量重命名为:";
|
||||
Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
|
||||
Blockly.Msg["TEXT_APPEND_TITLE"] = "在%1之后加上文本%2";
|
||||
Blockly.Msg["TEXT_APPEND_TO"] = "向";
|
||||
Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "将一些文本追加到变量“%1”里。";
|
||||
Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case"; // untranslated
|
||||
Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "转为小写";
|
||||
@@ -553,4 +554,15 @@ Blockly.GET_LATI = "获取当前纬度";
|
||||
Blockly.GET_KEYBOARD_INPUT="文本输入的文本";
|
||||
|
||||
Blockly.JSON2TEXT = "字典转文本";
|
||||
Blockly.TEXT2JSON = "文本转字典";
|
||||
Blockly.TEXT2JSON = "文本转字典";
|
||||
|
||||
Blockly.USEAPIKEY = "使用百度API Key";
|
||||
Blockly.USESECRETKEY = "和Secret Key";
|
||||
Blockly.GETTOKEN = "获取的Access Token";
|
||||
|
||||
Blockly.TRANSORIGIN = "使用Access Token";
|
||||
Blockly.USETEXT = "将文本";
|
||||
Blockly.USETEXT2 = "使用文本";
|
||||
Blockly.BOT = "与文心一言对话";
|
||||
Blockly.TOLANG = "翻译为";
|
||||
Blockly.PARA1 = ",参数: result";
|
||||
Reference in New Issue
Block a user