feat(runtime): 即梦本机运行时 - 接入安全生成闭环与桌面本机渠道

Refs #225

Co-authored-by: zkhyww <127009345+zkhyww@users.noreply.github.com>
This commit is contained in:
ddCatandzkhyww committed 2026-08-15 12:45:29 +08:00
1 parent 8f2232feee
commit 57e1820f41
179 files changed
+49746 -1897

No files matched your search

@@ -27,9 +27,10 @@ type FeatureAvailability struct {
type PublicFeatureAvailability struct {
FeatureAvailability
Configured bool `json:"configured"`
UpdatedBy string `json:"updatedBy,omitempty"`
UpdatedAt time.Time `json:"updatedAt,omitempty"`
DesktopLocalChannelsEnabled bool `json:"desktopLocalChannelsEnabled"`
Configured bool `json:"configured"`
UpdatedBy string `json:"updatedBy,omitempty"`
UpdatedAt time.Time `json:"updatedAt,omitempty"`
}
func defaultFeatureAvailability() FeatureAvailability {
@@ -42,7 +43,7 @@ func (s *Service) FeatureAvailability() (*PublicFeatureAvailability, error) {
if err != nil {
return nil, err
}
return publicFeatureAvailability(setting, value), nil
return s.withRuntimeCapabilities(publicFeatureAvailability(setting, value)), nil
}
func (s *Service) AdminFeatureAvailability(actor *model.User) (*PublicFeatureAvailability, error) {
@@ -74,7 +75,7 @@ func (s *Service) UpdateFeatureAvailability(actor *model.User, value FeatureAvai
if err := s.appendAdminAudit(actor, "feature_availability.update", "system_setting", featureAvailabilitySettingKey, "更新功能开放配置", map[string]any{"before": before, "after": value}); err != nil {
return nil, err
}
return publicFeatureAvailability(&setting, value), nil
return s.withRuntimeCapabilities(publicFeatureAvailability(&setting, value)), nil
}
func (s *Service) FeatureEnabled(feature string) (bool, error) {
@@ -129,6 +130,13 @@ func (s *Service) readFeatureAvailability() (*model.SystemSetting, FeatureAvaila
return setting, value, nil
}
func (s *Service) withRuntimeCapabilities(result *PublicFeatureAvailability) *PublicFeatureAvailability {
if result != nil {
result.DesktopLocalChannelsEnabled = s.DesktopLocalChannelsEnabled()
}
return result
}
func publicFeatureAvailability(setting *model.SystemSetting, value FeatureAvailability) *PublicFeatureAvailability {
result := &PublicFeatureAvailability{FeatureAvailability: value, Configured: setting != nil}
if setting != nil {