feat: 应用规范补充模块完整导入清单(build.sh 一键部署 8 步)
git pull + pip install + wwwroot 软链 + i18n 合并 + json2ddl 建表 + xls2ui CRUD + init_data 初始化数据 + load_module 挂载
This commit is contained in:
parent
bde08ea889
commit
f28e39e0b3
@ -89,7 +89,18 @@ if __name__ == '__main__':
|
||||
webapp(init)
|
||||
```
|
||||
|
||||
> **业务模块如何导入到应用(关键)**:一个应用 = 一个入口(`app/${appname}.py`)= 一个端口。业务模块(organization/payroll/recruitment/...)是 Python 包,通过各自的 `load_{module}()` 在 `init()` 里逐个加载,**挂在应用这个唯一入口下**。不要给每个模块单独建 `app.py`、单独占端口、单独起服务——模块不是独立部署单元,应用才是。
|
||||
> **应用对模块的完整导入(关键,build.sh 一键部署必须覆盖)**:一个应用 = 一个入口(`app/${appname}.py`)= 一个端口。业务模块(organization/payroll/recruitment/...)是 Python 包,不是独立服务。应用通过 build.sh 把各模块完整集成进来,步骤如下:
|
||||
>
|
||||
> 1. **代码导入(git pull)**:模块从 git clone 到 `pkgs/{模块名}/`(基础包 apppublic/sqlor/ahserver/rbac/xls2ddl/appbase/bricks 同)。禁止手动复制源码。
|
||||
> 2. **依赖安装(pip install)**:`pip install -e pkgs/{模块名}`(或 `pip install`)安装所有模块;无 pyproject.toml 的用 PYTHONPATH。
|
||||
> 3. **前端链接(wwwroot 软链)**:`ln -sf ../pkgs/{模块名}/wwwroot wwwroot/{模块名}`(软链接非 cp,保持同步)。
|
||||
> 4. **i18n 导入**:merge_i18n.py 合并各模块 `i18n/{zh,en}/msg.txt` → `wwwroot/i18n/{lang}/i18n.json`(i18n_getmsgs.dspy 供 bricks.js 读取)。
|
||||
> 5. **建表(DDL)**:json2ddl 从模块 `models/*.json` 生成 `mysql.ddl.sql`,执行建表。
|
||||
> 6. **CRUD 生成**:xls2ui 从模块 `json/*.json` 生成 CRUD(.dspy + .ui)。
|
||||
> 7. **初始化数据**:`python scripts/init_data.py` 导入模块 `init/data.json`(appcodes 等种子数据)。
|
||||
> 8. **运行挂载(load_{module}())**:应用 `app/{appname}.py` 的 `init()` 里逐个 `load_{module}()`(见上)。
|
||||
>
|
||||
> 不要给每个模块单独建 `app.py`、单独占端口、单独起服务——模块不是独立部署单元,应用才是。以上 8 步是应用一键部署正确执行的完整清单,缺一不可。
|
||||
|
||||
### conf/config.json (Configuration)
|
||||
Must include the following sections:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user