找回密码
 立即注册

QQ登录

只需一步,快速开始

VVANVI 悬赏达人认证
论坛元老   /  发表于:2024-4-15 07:24  /   查看:519  /  回复:9
本帖最后由 VVANVI 于 2024-4-15 07:36 编辑

分享一个利用Python 实现前端自定义公式的案例

环境  win11   活字格7.0.104


具体实现思路
1  传入计算数据 以及公式
2 python 代码实现功能
3 封装web服务
4 活字格调用Python

附上源代码:
1 功能实现部分
  1. def rule(res):

  2.     dic = res['data']
  3.     txt = res['rule']
  4.     res = []
  5.     for i in txt:
  6.         try:
  7.             # print(dic[i])
  8.             res.append(dic[i])
  9.         except:
  10.             # print(i)
  11.             res.append(i)

  12.     # print(res)

  13.     data = ''
  14.     for i in res:
  15.         data = data +str(i)

  16.     # print(eval(data))
  17.     return str(eval(data))
复制代码


2 web封装
  1. from flask import Flask,request
  2. from yunsuan import rule

  3. # 创建 Flask 应用实例
  4. app = Flask(__name__)

  5. # 定义主页路由
  6. @app.route('/')
  7. def hello_world():
  8.     return 'Hello, World!'
  9. @app.route('/yunsuan',methods=['POST'])
  10. def yunsuan():
  11.     data = request.get_json()
  12.     res = rule(data)
  13.     return res

  14. # 启动 Flask 开发服务器(用于本地测试)
  15. if __name__ == '__main__':
  16.     app.run(debug=True)
复制代码


3活字格服务端调用
image.png979969177.png
4 页面功能实现
image.png697604064.png

附上打包好工程及 打包好的exe web服务 ,大神勿喷,仅作分享交流
活字格工程 需配合 exe 程序使用

以下是录屏动图


屏幕录制 2024-04-15 072030.gif

main.rar

9.39 MB, 下载次数: 1

售价: 30 金币  [记录]

ptython助力实现自定义公式.fgcc

254.79 KB, 下载次数: 3

售价: 30 金币  [记录]

评分

参与人数 2金币 +1000 满意度 +5 收起 理由
Simon.Sun + 1000
玉轩 + 5

查看全部评分

9 个回复

倒序浏览
逛逛逛
金牌服务用户   /  发表于:2024-4-15 08:09:39
沙发
收藏后慢慢学习
回复 使用道具 举报
lovert
银牌会员   /  发表于:2024-4-15 09:39:16
板凳
本帖最后由 lovert 于 2024-4-15 10:31 编辑

自定义公式在前端就可以实现,为啥还要借助py



自定义函数教程
https://gcdn.grapecity.com.cn/showtopic-97580-1-1.html
(出处: 葡萄城开发者社区)


回复 使用道具 举报
caozb
高级会员   /  发表于:2024-4-15 10:38:43
地板
我觉得主要是提供了一种思路和方法。如果可以发散下思维,应该能够解决很多问题。
回复 使用道具 举报
zhojinggu
初级会员   /  发表于:2024-4-19 22:14:49
5#
这个需求一直都存在,我都等了三四年了,不知道官方为什么一直不解决
回复 使用道具 举报
lovert
银牌会员   /  发表于:2024-4-20 08:07:11
6#
你这个算是命令,不能算是公式,因为公式是在页面加载之前就已经定义了,在页面设计的时候用的是=函数()定义的,页面加载后就开始计算了,你的计算需要点击才执行,属于命令
回复 使用道具 举报
妄想社成员活字格认证
高级会员   /  发表于:2024-4-20 15:26:46
7#
lovert 发表于 2024-4-20 08:07
你这个算是命令,不能算是公式,因为公式是在页面加载之前就已经定义了,在页面设计的时候用的是=函数() ...

解决的是业务中的变量自定义公式计算,跟活字格的公式并不是一个意思
回复 使用道具 举报
alexyui悬赏达人认证 活字格认证
银牌会员   /  发表于:2024-4-20 21:24:15
8#
只能说提供一种解决问题的思路,有些复杂业务确实可以交给py去处理,毕竟py有大量优秀的第三方包。如果仅仅是页面自定义公式的话,很多用js就能解决了,不用非得去费心思另外部署个webservices。
回复 使用道具 举报
VVANVI悬赏达人认证
论坛元老   /  发表于:2024-4-21 14:19:07
9#
妄想社成员 发表于 2024-4-20 15:26
解决的是业务中的变量自定义公式计算,跟活字格的公式并不是一个意思

就算是命令,不也可以用上下文,值变化触发,何必在意是命令还是公式!解决问题就行了!不必纠结,只是提供一个思路,各路大神嘴下留情
回复 使用道具 举报
妄想社成员活字格认证
高级会员   /  发表于:2024-4-21 17:04:05
10#
VVANVI 发表于 2024-4-21 14:19
就算是命令,不也可以用上下文,值变化触发,何必在意是命令还是公式!解决问题就行了!不必纠结,只是提 ...

回复错人了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部