| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package setting
- import (
- "encoding/json"
- "sync"
- "github.com/QuantumNous/new-api/common"
- )
- var userUsableGroups = map[string]string{
- "default": "默认分组",
- "vip": "vip分组",
- }
- var userUsableGroupsMutex sync.RWMutex
- func GetUserUsableGroupsCopy() map[string]string {
- userUsableGroupsMutex.RLock()
- defer userUsableGroupsMutex.RUnlock()
- copyUserUsableGroups := make(map[string]string)
- for k, v := range userUsableGroups {
- copyUserUsableGroups[k] = v
- }
- return copyUserUsableGroups
- }
- func UserUsableGroups2JSONString() string {
- userUsableGroupsMutex.RLock()
- defer userUsableGroupsMutex.RUnlock()
- jsonBytes, err := json.Marshal(userUsableGroups)
- if err != nil {
- common.SysLog("error marshalling user groups: " + err.Error())
- }
- return string(jsonBytes)
- }
- func UpdateUserUsableGroupsByJSONString(jsonStr string) error {
- userUsableGroupsMutex.Lock()
- defer userUsableGroupsMutex.Unlock()
- userUsableGroups = make(map[string]string)
- return json.Unmarshal([]byte(jsonStr), &userUsableGroups)
- }
- func GetUsableGroupDescription(groupName string) string {
- userUsableGroupsMutex.RLock()
- defer userUsableGroupsMutex.RUnlock()
- if desc, ok := userUsableGroups[groupName]; ok {
- return desc
- }
- return groupName
- }
|