增加ai办公,考勤管理
This commit is contained in:
1 parent
eb9b7beff5
commit
31ae07175d
46 files changed
+9250
-296
No files matched your search
@@ -141,6 +141,85 @@ func (c *BackendSiteSettingsController) GetNormalInfos() {
|
||||
_ = c.ServeJSON()
|
||||
}
|
||||
|
||||
// backendBrandOutput 后台顶栏品牌(Logo 优先用平台配置)
|
||||
type backendBrandOutput struct {
|
||||
Sitename string `json:"sitename"` // 主标题
|
||||
Subtitle string `json:"subtitle"` // 副标题
|
||||
Intro string `json:"intro"`
|
||||
Ico string `json:"ico"` // 浏览器标签页图标(favicon)
|
||||
LogoSquare string `json:"logoSquare"` // 正方形 Logo(浅色主题 / 顶栏小图标)
|
||||
LogoRect string `json:"logoRect"` // 长方形 Logo(浅色主题 / 横向品牌图)
|
||||
Logo string `json:"logo"` // 官网深色 Logo(浅色背景)
|
||||
Logow string `json:"logow"` // 官网浅色 Logo(深色背景)
|
||||
|
||||
// 深色主题专用 Logo:留空时前端回退到上面的浅色主题版本
|
||||
LogoSquareDark string `json:"logoSquareDark"`
|
||||
LogoRectDark string `json:"logoRectDark"`
|
||||
}
|
||||
|
||||
// GetBrand GET /backend/brand 后台顶栏品牌信息(顶栏左上角 Logo / 站点名 / 简介)
|
||||
// 取值优先级:
|
||||
// 1. 平台「系统设置 - 平台设置 - 平台信息」(logo_square / logo_rect / sitename / platform_intro)
|
||||
// 2. 平台「官网管理 - 站点设置」(yz_platform_site_setting:logo 深色 / logow 浅色)
|
||||
// 3. 平台「平台设置 - 登录页设置」的 login_logo(仅在以上都没配 logo 时兜底)
|
||||
// 4. 当前租户自己的站点设置(yz_tenant_site_setting,租户在 backend「站点设置」上传的图片)
|
||||
//
|
||||
// 都没有配置时返回空串,前端保留内置的品牌占位标记。
|
||||
func (c *BackendSiteSettingsController) GetBrand() {
|
||||
claims, err := c.claimsByPath()
|
||||
if err != nil {
|
||||
code := identity.Status(err)
|
||||
c.jsonErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
tags := models.GetPlatformSiteTagMap()
|
||||
out := backendBrandOutput{
|
||||
Sitename: strings.TrimSpace(tags["sitename"]),
|
||||
Subtitle: strings.TrimSpace(tags["subtitle"]),
|
||||
Intro: strings.TrimSpace(tags["platform_intro"]),
|
||||
Ico: strings.TrimSpace(tags["ico"]),
|
||||
LogoSquare: strings.TrimSpace(tags["logo_square"]),
|
||||
LogoRect: strings.TrimSpace(tags["logo_rect"]),
|
||||
LogoSquareDark: strings.TrimSpace(tags["logo_square_dark"]),
|
||||
LogoRectDark: strings.TrimSpace(tags["logo_rect_dark"]),
|
||||
Logo: strings.TrimSpace(tags["logo"]),
|
||||
Logow: strings.TrimSpace(tags["logow"]),
|
||||
}
|
||||
if out.Logo == "" {
|
||||
out.Logo = strings.TrimSpace(tags["login_logo"])
|
||||
}
|
||||
if out.Logo == "" {
|
||||
out.Logo = out.LogoRect
|
||||
}
|
||||
|
||||
// 平台未配置的项回落到租户站点设置,避免顶栏退化成占位标记
|
||||
if out.Logo == "" || out.Logow == "" || out.Sitename == "" {
|
||||
if tid := c.resolveBackendTenantID(claims, nil); tid > 0 {
|
||||
var rows []models.TenantSiteSetting
|
||||
if _, qerr := models.Orm.QueryTable(new(models.TenantSiteSetting)).
|
||||
Filter("tid", tid).
|
||||
Filter("delete_time__isnull", true).
|
||||
Limit(1).
|
||||
All(&rows); qerr == nil && len(rows) > 0 {
|
||||
r := rows[0]
|
||||
if out.Logo == "" {
|
||||
out.Logo = strings.TrimSpace(r.Logo)
|
||||
}
|
||||
if out.Logow == "" {
|
||||
out.Logow = strings.TrimSpace(r.Logow)
|
||||
}
|
||||
if out.Sitename == "" {
|
||||
out.Sitename = strings.TrimSpace(r.Sitename)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
c.Data["json"] = map[string]interface{}{"code": 200, "msg": "success", "data": out}
|
||||
_ = c.ServeJSON()
|
||||
}
|
||||
|
||||
type backendNormalInfosPayload struct {
|
||||
// 前端会传 tid(但我们仍优先使用 token 的 tenant_id)
|
||||
Tid interface{} `json:"tid"`
|
||||
|
||||
Reference in new issue
Block a user