58 lines
1.7 KiB
Python
58 lines
1.7 KiB
Python
"""唤景平台世界模式(scense)——应用唯一入口。
|
||
|
||
一个应用 = 一个入口 = 一个端口(9380)。
|
||
init() 里先挂 ServerEnv,再挂载基础模块 + 6 个业务模块。
|
||
"""
|
||
from ahserver.webapp import webapp
|
||
from ahserver.serverenv import ServerEnv
|
||
|
||
import bricks_for_python # registers bui processor
|
||
from bricks_for_python.init import load_pybricks # registers UiWindow etc.
|
||
from appbase.init import load_appbase
|
||
from rbac.init import load_rbac
|
||
|
||
|
||
def get_module_dbname(m):
|
||
"""返回模块 m 对应的数据库名。
|
||
|
||
本项目为单库应用:world/scene/entity/script_engine/world_snapshot/world_sync
|
||
以及基础模块(appbase/rbac)统一落同一主库 scense。
|
||
"""
|
||
return "scense"
|
||
|
||
|
||
def password_encode(s):
|
||
if s is None:
|
||
return ""
|
||
from ahserver.globalEnv import password_encode as _orig
|
||
return _orig(s)
|
||
|
||
|
||
def init():
|
||
env = ServerEnv() # MUST be before load_rbac / load_appbase
|
||
env.get_module_dbname = get_module_dbname
|
||
env.password_encode = password_encode
|
||
|
||
load_appbase()
|
||
load_rbac()
|
||
load_pybricks()
|
||
|
||
# ── 业务模块导入(一个入口一个端口,所有模块挂在这里)──
|
||
from world.init import load_world
|
||
from scene.init import load_scene
|
||
from entity.init import load_entity
|
||
from script_engine.init import load_script_engine
|
||
from world_snapshot.init import load_world_snapshot
|
||
from world_sync.init import load_world_sync
|
||
|
||
load_world()
|
||
load_scene()
|
||
load_entity()
|
||
load_script_engine()
|
||
load_world_snapshot()
|
||
load_world_sync()
|
||
|
||
|
||
if __name__ == "__main__":
|
||
webapp(init)
|