package services import ( "runtime" ) type SystemInfo struct{} func NewSystemInfo() *SystemInfo { return &SystemInfo{} } func (s *SystemInfo) GetOS() string { return runtime.GOOS // 返回 "darwin" / "windows" / "linux" } func defaultHotkeysSQL() string { var sqlhotkeys = ` INSERT INTO hotkeys (keycode, modifiers, description, target) SELECT 80, 1, '剪贴板窗口快捷键', '1' WHERE NOT EXISTS (SELECT 1 FROM hotkeys WHERE target = '1'); INSERT INTO hotkeys (keycode, modifiers, description, target) SELECT 77, 1, '偏好设置快捷键 ', '2' WHERE NOT EXISTS (SELECT 1 FROM hotkeys WHERE target = '2'); ` if runtime.GOOS == "darwin" { sqlhotkeys = ` INSERT INTO hotkeys (keycode, modifiers, description, target) SELECT 34, 768, '剪贴板窗口快捷键', '1' WHERE NOT EXISTS (SELECT 1 FROM hotkeys WHERE target = '1'); INSERT INTO hotkeys (keycode, modifiers, description, target) SELECT 46, 768, '偏好设置快捷键 ', '2' WHERE NOT EXISTS (SELECT 1 FROM hotkeys WHERE target = '2'); ` } return sqlhotkeys } func defaultAppConfigSQL() string { return ` INSERT OR IGNORE INTO appconfig (key, type, value, description) VALUES ('language', 'system', 'zh', '应用语言,支持 zh/en'); INSERT OR IGNORE INTO appconfig (key, type, value, description) VALUES ('auth.provider', 'system', 'local', '登录 provider,支持 local/remote'); INSERT OR IGNORE INTO appconfig (key, type, value, description) VALUES ('auth.local.username', 'system', 'admin', '本地演示账号用户名'); INSERT OR IGNORE INTO appconfig (key, type, value, description) VALUES ('auth.local.password_salt', 'system', 'cmbone-local-auth-v1', '本地演示账号密码盐'); INSERT OR IGNORE INTO appconfig (key, type, value, description) VALUES ('auth.local.password_hash', 'system', '3e0bfcda604b19fef1f596bcade7469ff1ab8b427fdc998e9a8216101b002f4a', '本地演示账号密码哈希');` }