首页 > 其他分享 >Lua云函数(按键精灵、懒人精灵等任何精灵或语言均可调用)

Lua云函数(按键精灵、懒人精灵等任何精灵或语言均可调用)

时间:2024-09-15 11:51:17浏览次数:14  
标签:return -- sum 精灵 height Lua 按键精灵 local

Lua云函数安装视频教程
> 本教程不对安装进行讲解,仅教学如何创建以及对接!
> [ 哔哩哔哩 ] https://b23.tv/Wam52Ty

创建第一个Lua云函数项目

一、点击 [ 添加新的项目 ] 按钮

二、输入[ 项目名称 ] 推荐使用英文

三、进入到了[ 创建项目 ]界面,将Lua代码填入进去

该教程使用的Lua代码案例

请务必注意!代码最后以 return 该函数 作为结尾才是正确的格式

--生成一个毫秒级的时间戳
function Get_Time_MS()
	local seconds = os.time() -- 获取秒级时间戳
	local milliseconds = os.clock() * 1000 -- 获取秒转为毫秒
	return math.floor(seconds * 1000 + milliseconds) -- 返回毫秒级时间戳
end

-- 递归函数处理多维数组中的每个元素并进行求和
function sumArray(arr)
    local sum = 0  -- 初始化求和变量

    for i, v in ipairs(arr) do
        if type(v) == "table" then
            -- 如果是一个表,递归处理并加上子数组的和
            sum = sum + sumArray(v)
        else
            -- 如果是数字或字符串形式的数字,尝试转换为数字
            local numValue = tonumber(v)
            if numValue then
                sum = sum + numValue  -- 将有效的数字加到和中
            else
                print("Invalid number: " .. tostring(v))
            end
        end
    end

    return sum  -- 返回当前数组的和
end

-- 处理数组并输出结果
return sumArray()

注意:

[ 红框 ] 代表您当前代码中,出现的所有函数名称
[ 绿框 ] 代表您的API端点(也被称为路由)(建议为默认不要修改)
[ 蓝框 ] 为您最后[ return ]调用函数的参数列表,程序会自动读取参数名称,无需手动调节!
[ 白框 ] 为调试后的JSON返回值:

{
  "Code": 200,                                //响应码
  "Result": 78,                               //Lua代码运行结果(支持任意类型返回值)
  "Time": 1726294051,                         //当前服务端时间戳
  "Sign": "84f735028958a948dcfe2acf5f4926b7", //签名 : 由md5(项目ID + Code + Time)组成
  "Run": {                                    //运行数据
    "LuaTake": 0,                             //执行当前Lua代码耗时(单位毫秒)
    "Ram": 0                                  //当前Json传递的资源值
  }
}

四、点击保存设置后项目创建成功!

启用您的第一个Lua云函数项目

前景回顾:红色框框住的为我们创建的云函数项目

一、点击启动项目后,按钮后变成蓝色,则代表项目启动成功!

二、如何对接您的Lua云函数,点击管理项目按钮,进入[ 项目管理界面 ] 

请先确认Lua代码是**否可以真正的运行**,若可以,请填入参数后,点击[ 对接案例 ]

三、会自动将您的参数补充进去,开盖即可正常食用!

API对接详解

当前教程所展示的Lua代码如下

-- 计算长方体的体积和表面积
function calculateCuboid(length, width, height)
    -- 计算体积
    local volume = length * width * height
    
    -- 计算表面积
    local surfaceArea = 2 * (length * width + width * height + height * length)
    
    -- 返回体积和表面积
    return {volume = volume, surfaceArea = surfaceArea}
end

return calculateCuboid(10,10,10)

对接url地址 : http://服务器公网IP:8999/路由

对接参数格式: JSON格式(Json的键名为 调用函数的参数名称)

例如 calculateCuboid 的三个参数名为 : length, width, height

{
   "length": 10,
   "width": 10,
   "height": 10
}

返回值响应如下:

**返回值响应:
{
  "Code": 200,                                 //响应码
     "Result": {                               //Lua代码运行结果(支持任意类型返回值)
        "surfaceArea": 600,                                                 
        "volume": 1000
    },                                                                  
  "Time": 1726294051,                          //当前服务端时间戳
  "Sign": "84f735028958a948dcfe2acf5f4926b7",  //签名 : 由md5(项目ID + Code + Time)组成
  "Run": {                                     //运行数据
    "LuaTake": 0,                              //执行当前Lua代码耗时(单位毫秒)
    "Ram": 0                                   //当前Json传递的资源值
  }
}

APIPOST对接案例:

标签:return,--,sum,精灵,height,Lua,按键精灵,local
From: https://blog.csdn.net/Y_ZSQ/article/details/142264600

相关文章

  • 合宙Air201资产定位模组LuatOS课程:GPS/LBS/Wi-Fi定位
    已经推出3期课程啦:helloworld、点灯、远程控制,小伙伴们是不是收获满满,期待更高阶的应用呢?本期,我们将学习合宙Air201的核心功能之一——定位功能!Air201定位示例教程  合宙Air201资产定位模组——是一个集成超低功耗4G通信、语音通话、超低功耗定位、计步、震动、Type-C、充电、放......
  • 合宙Air201模组LuatOS:点灯仪式
    上一期教程,我们学习了合宙Air201helloworld,很多小伙伴有了初步了解,接下来,推出第二篇:你将体验工程师的重要仪式——点灯!Air201点灯教程  合宙Air201资产定位模组——是一个集成超低功耗4G通信、语音通话、超低功耗定位、计步、震动、Type-C、充电、放音、录音等功能的超小PCBA。......
  • 合宙Air201模组LuatOS:远程控制
    很多小伙伴已经学习了前两期教程helloworld、点灯,对合宙Air201这款低功耗资产定位模组的LuatOS开发已有一定了解,大家的实操反馈是:真的很简单!那么,这一期我们要一起体验更有趣的——远程控制点灯!Air201远程控制点灯教程  合宙Air201资产定位模组——是一个集成超低功耗4G通信、语......
  • Lua闭包
    前提概念词法定界:当一个函数内嵌套另一个函数的时,内嵌函数可以访问外部函数的局部变量,这种特征叫做词法定界。第一类值:在Lua中,函数是一个值,它可以存在于变量中、可以作为函数参数,也可以作为返回值return。upvalue:内嵌函数可以访问外部函数已经创建的局部变量,这些局部变量......
  • 《密室精灵智能体开发教程》
    一、数据收集模块步骤设计一个友好的界面,这个界面就像是玩家与密室精灵开始互动的大门。可以使用常见的表单设计工具,让玩家在游戏开始前轻松地填写年龄、性别和游戏经验等关键信息。例如,年龄可以通过下拉菜单选择范围,游戏经验可以设置“新手”“有一定经验”“经验丰富”等选项......
  • 资产定位 | 合宙Air201模组LuatOS快速入门01-hello world
    合宙的Air201模组,功耗低,品质稳定,购买样品也方便,且资料全开放。问题是:用合宙的Air201模组,直接开发OpenCPU的应用,够方便吗?可以不用熟悉繁琐的环境搭建吗?可以不用关注繁琐的编译选项吗?可以不用关心繁琐的C语言陷阱吗?可以用寥寥几行代码,就完成模组对外设的控制,和服务器的......
  • Google Aviator Evaluator 使用入门(一)
    Aviator Evaluator 使用入门(一)https://www.yuque.com/boyan-avfmj/aviatorscript/tvahat一、什么是规则引擎定义:规则引擎是一种软件系统,用于执行基于规则的推理。它将业务规则与事实数据相结合,得出结论。组成:规则引擎通常由规则存储库、推理引擎、工作内存 3个部分......
  • nginx+lua配置
    nginx中可以配置`--lua校验配置location^~/lua/{default_type'text/html';access_by_lua_file/usr/local/nginx/conf/access.lua;}--重定向配置location^~/toRedirect/{proxy_passhttp://目标ip:目标端口/;proxy_set_headerHost$host;proxy_set_headerX-Re......
  • nginx安装Lua
    nginx安装lua支持步骤1、下载相关安装包(luajit、ngx_devel_kit、lua-nginx-module)wgethttps://github.com/LuaJIT/LuaJIT/archive/v2.0.4.tar.gzwgethttps://github.com/openresty/luajit2/archive/refs/tags/v2.1-20240626.tar.gzwgethttps://github.com/simpl/ngx_devel_......
  • 按键精灵输入通过数据录入数据代码例子
    Dima(560)a(0)="pkn2408290135-100"a(1)="pkn2408290135-101"a(2)="pkn2408290135-102"a(3)="pkn2408290135-103"a(4)="pkn2408290135-104"a(5)="pkn2408290135-105"a(6)="pkn2408290135-106"......