setting.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package enum
  2. type Language string
  3. const (
  4. Language_ZH_CN Language = "zh_CN" // 简体中文
  5. Language_ZH_TW Language = "zh_TW" // 繁体中文
  6. Language_ID Language = "id" // 印尼
  7. Language_TH Language = "th" // 泰国
  8. Language_EN Language = "en_US" // 英文
  9. Language_AR_SA Language = "ar_SA" // 阿拉伯语
  10. )
  11. // 字符串到枚举的映射
  12. var languageMap = map[string]Language{
  13. string(Language_ZH_CN): Language_ZH_CN,
  14. string(Language_ZH_TW): Language_ZH_TW,
  15. string(Language_ID): Language_ID,
  16. string(Language_TH): Language_TH,
  17. string(Language_EN): Language_EN,
  18. string(Language_AR_SA): Language_AR_SA,
  19. }
  20. // 通过字符串值获取枚举,带验证
  21. func ParseLanguage(s string) (Language, bool) {
  22. lang, ok := languageMap[s]
  23. if !ok {
  24. return Language_EN, false
  25. }
  26. return lang, true
  27. }
  28. type ShowDataType int32
  29. const (
  30. ShowDataType_TotalLoginDays ShowDataType = 1 // 登录天数
  31. ShowDataType_MaxPrestige ShowDataType = 2 // 最高声望
  32. ShowDataType_MaxPrestigeRank ShowDataType = 3 // 最高声望排行
  33. ShowDataType_MaxGlory ShowDataType = 4 // 最高功勋
  34. ShowDataType_MaxGloryRank ShowDataType = 5 // 最高功勋排行
  35. ShowDataType_GloryCount ShowDataType = 6 // 霸业次数
  36. ShowDataType_SupremacyCount ShowDataType = 7 // 问鼎次数
  37. )
  38. // 收集所有枚举值
  39. var AllShowDataTypes = map[int32]ShowDataType{
  40. int32(ShowDataType_TotalLoginDays): ShowDataType_TotalLoginDays,
  41. int32(ShowDataType_MaxPrestige): ShowDataType_MaxPrestige,
  42. int32(ShowDataType_MaxPrestigeRank): ShowDataType_MaxPrestigeRank,
  43. int32(ShowDataType_MaxGlory): ShowDataType_MaxGlory,
  44. int32(ShowDataType_MaxGloryRank): ShowDataType_MaxGloryRank,
  45. int32(ShowDataType_GloryCount): ShowDataType_GloryCount,
  46. int32(ShowDataType_SupremacyCount): ShowDataType_SupremacyCount,
  47. }
  48. func CheckShowDataTypeExist(showDataType int32) (ShowDataType, bool) {
  49. show, found := AllShowDataTypes[showDataType]
  50. return show, found
  51. }