2026-4-24 09:28:17 [显示全部楼层]
11浏览
查看: 11|回复: 0

[求助问答] 【有偿求助】【Mind+】【用户库积木无响应】

[复制链接]
本帖最后由 曾越 于 2026-4-24 09:43 编辑

有偿100解决谢谢。

自己写的python脚本,导入到扩展用户库。积木生成出来了,但是放到积木组里无效,还阻塞了右侧代码的生成。

附上我的 /python/libraries/demo.py 与 main.ts

demo.py:
# demo.py
_data_list = []

def add_item(text: str) -> str:
    """添加条目"""
    if not text.strip():
        return "错误:输入不能为空"
    _data_list.append(text)
    return f"已添加:{text}"

def clear_items() -> str:
    """清空所有条目"""
    count = len(_data_list)
    _data_list.clear()
    return f"已清空 {count} 条记录"

def get_count() -> int:
    """获取条目数量"""
    return len(_data_list)

def get_all_items() -> list:
    """获取所有条目"""
    return _data_list.copy()



main.ts:
//% weight=100 color=#0f9c8f icon="\uf0c9" block="数据管理"
namespace DataManager {

    //% block="添加数据 [text]" blockType="command"
    //% text.shadow="string" text.defl=""
    export function addData(parameter: any, block: any) {
        let text = parameter.text.code;
        // 导入你的函数
        Generator.addPythonImport('demo', 'from demo import add_item');
        // 生成调用函数的代码
        Generator.addCode(`add_item(${text})`);
    }

    //% block="清空所有数据" blockType="command"
    export function clearData(parameter: any, block: any) {
        Generator.addPythonImport('demo', 'from demo import clear_items');
        Generator.addCode(`clear_items()`);
    }

    //% block="当前数据总数" blockType="reporter"
    export function getCount(parameter: any, block: any) {
        Generator.addPythonImport('demo', 'from demo import get_count');
        // 关键修正点:对于"报告者"类型的积木,不能使用 addCode,必须直接 return 一个字符串
        return `get_count()`;
    }
}


FriApril-202604241113..png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail