sage/app/ext.py
2025-07-16 14:28:41 +08:00

78 lines
1.8 KiB
Python

import json
from traceback import print_exc
from appPublic.log import info
from appPublic.registerfunction import RegisterCoroutine
from sqlor.dbpools import DBPools
from appbase.businessdate import get_business_date
from ahserver.serverenv import ServerEnv
async def load_sysparams(*args, **kw):
info('load_sysparams() called')
db = DBPools()
async with db.sqlorContext('sage') as sor:
r = await sor.sqlExe("select * from sysparams", {})
g = ServerEnv()
x = { i.params_name:i.params_value for i in r }
g.sysparams = x
rf = RegisterCoroutine()
rf.register('ahapp_built', load_sysparams)
rf.register(f'sage:sysparams:C:after', load_sysparams)
rf.register(f'sage:sysparams:D:after', load_sysparams)
rf.register(f'sage:sysparams:U:after', load_sysparams)
def get_module_dbname(mname):
return 'sage'
def UiWindow(title, icon, content, cheight=10, cwidth=15):
return {
"widgettype":"PopupWindow",
"options":{
"author":"cc",
"cwidth":cwidth,
"cheight":cheight,
"title":title,
"content":content,
"icon":icon or entire_url('/bricks/imgs/app.png'),
"movable":True,
"auto_open":True
}
}
def UiError(title="出错", message="出错啦", timeout=5):
return {
"widgettype":"Error",
"options":{
"author":"tr",
"timeout":timeout,
"cwidth":15,
"cheight":10,
"title":title,
"message":message
}
}
def UiMessage(title="消息", message="后台消息", timeout=5):
return {
"widgettype":"Message",
"options":{
"author":"tr",
"timeout":timeout,
"cwidth":15,
"cheight":10,
"title":title,
"message":message
}
}
def get_business_date():
return curDateString()
g = ServerEnv()
g.get_module_dbname = get_module_dbname
g.UiError = UiError
g.UiMessage = UiMessage
g.UiWindow = UiWindow
g.get_business_date = get_business_date