思路:多功能云函数,让后台走到前端,激活更多灵活性

简道云应用场景探索者

近期在使用云函数时一直有一个想法,难道每次增加一个功能都需要跑到后台折腾一通吗?有没有与Excel中的EVALUATE()似的函数?



一、基本思路:



在简道云中用文本描述命令,通过前端事件以参数的形式传给云函数,云函数计算出结果后回传给简道云。这样理论上在云函数上搭建一次,就可以满足简道云中的多数基本性需求。比如子表单自动编号、随机抽题等,以及很多其它待验证的场景。


二、实现方法:



利用python的eval()函数
eval() 函数用来执行一个字符串表达式,并返回表达式的值。


相关学习资料 :



1、Python eval() 函数基础教程

2、Python之eval()函数危险性浅析

 

多功能函数代码(参考):

 

# -*- coding: utf8 -*-
import json
import random
import numpy
import urllib.parse
import requests
def main_handler(event, context):
    string=urllib.parse.unquote(event['queryString']['string'])
    if( "requests" in string):
        eval(string)
        s={}
        s["string"]="已发送"
        return {
        "isBase64Encoded": False,
        "statusCode": 200,
        "headers": {"Content-Type": "application/json"},
        "body": json.dumps(s)
        }
    else:
        r={}
        r["release"]=eval(string)
        r["string"]=str(r["release"])
        return {
        "isBase64Encoded": False,
        "statusCode": 200,
        "headers": {"Content-Type": "application/json"},
        "body": json.dumps(r)
        }



三、已测案例:



例1:获取正序序列
命令 延展 可用于子表单自动编号

062501.jpg

例2:获取随机序列
命令 random.sample(range(1,5),4)
sum([10,9,8,7,6,45,77,9,22,33])
命令 requests.post(webhook,headers,json)
延展 基础性群通知
注:目前测试结果为不能直接发文字

062504_副本.jpg


四、更多内容

 

导航:云函数&前端事件 内容集 

 更多沟通交流可添加微信(zmlnow)

添加时请备注:简道云

 

 

 

都看到这里了

如果您觉得有用

赞一个呗

赏一个呗

偶会更有动力哈

参与人数 +1 F币 +10 理由
云团 + 10 太棒了,给你32个赞,么么哒

查看全部评分

发表于 2021-6-25 13:50:47
发表于 2021-6-25 15:26:02 发布于APP客户端
张总,你这个很好啊,多多探讨下结合云函数啊
发表于 2021-6-25 17:05:53
企业微信群消息,已测试可发,目前测试结果为不能直接发汉字,应该是需要转码。
发表于 2021-6-27 23:58:47
等着你的研究成果!
愿意付费喔!
发表于 2021-6-28 15:28:04
期待更多应用场景, 谢谢
发表于 2021-7-13 11:42:44
这个想法很好,我是小白,是不是只要把云端的功能直接放到简道云的表单公式里直接用,就免去了控件里写很多代码?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

12回帖数 7关注人数 6638浏览人数
最后回复于:2022-2-23 09:24

返回顶部 返回列表