This commit is contained in:
张成
2026-04-29 13:34:39 +08:00
commit dee3a336ce
89 changed files with 33683 additions and 0 deletions

40
api/model/sys_tenant.js Normal file
View File

@@ -0,0 +1,40 @@
const Sequelize = require("sequelize");
/** 租户表:用户、角色按 tenant_id 隔离is_platform=1 的租户可管理本表 */
module.exports = (db) => {
return db.define("sys_tenant", {
name: {
type: Sequelize.STRING(100),
allowNull: false,
defaultValue: "",
comment: "租户名称",
},
code: {
type: Sequelize.STRING(64),
allowNull: false,
defaultValue: "",
unique: true,
comment: "租户编码(登录时与账号一起使用)",
},
remark: {
type: Sequelize.STRING(255),
allowNull: false,
defaultValue: "",
comment: "备注",
},
/** 1 启用 0 停用 */
status: {
type: Sequelize.INTEGER(1),
allowNull: false,
defaultValue: 1,
comment: "状态",
},
/** 1 平台租户:可维护租户表、可代建任意租户用户 */
is_platform: {
type: Sequelize.INTEGER(1),
allowNull: false,
defaultValue: 0,
comment: "是否平台租户",
},
});
};

60
api/model/tpl_demo.js Normal file
View File

@@ -0,0 +1,60 @@
const Sequelize = require("sequelize");
/** 模板示例:与库表字段 create_time / last_modify_time / is_delete 一致(无 createdAt/updatedAt */
module.exports = (db) => {
return db.define(
"tpl_demo",
{
title: {
type: Sequelize.STRING(200),
allowNull: false,
comment: "标题",
},
remark: {
type: Sequelize.STRING(500),
allowNull: true,
comment: "备注",
},
create_time: {
type: Sequelize.DATE,
allowNull: false,
comment: "创建时间",
},
last_modify_time: {
type: Sequelize.DATE,
allowNull: false,
comment: "最后修改时间",
},
is_delete: {
type: Sequelize.INTEGER(1),
allowNull: false,
defaultValue: 0,
comment: "0 正常 1 已删除",
},
},
{
comment: "前后端模板演示表",
timestamps: false,
defaultScope: {
where: { is_delete: 0 },
},
hooks: {
beforeCreate(instance) {
const now = new Date();
if (!instance.get("create_time")) {
instance.set("create_time", now);
}
if (!instance.get("last_modify_time")) {
instance.set("last_modify_time", now);
}
if (instance.get("is_delete") == null) {
instance.set("is_delete", 0);
}
},
beforeUpdate(instance) {
instance.set("last_modify_time", new Date());
},
},
}
);
};