112 lines
2.6 KiB
Lua
112 lines
2.6 KiB
Lua
---@class _DBUser
|
|
---@field loginNo
|
|
---@field loginName
|
|
---@field groupId
|
|
---@field imageUrl string 头像
|
|
|
|
DBUser = {}
|
|
local db = {}
|
|
local icons = {}
|
|
local poplist = {}
|
|
local rolePermission = {}
|
|
|
|
DBUser.FilterGroup = {
|
|
user = "user",
|
|
group = "group"
|
|
}
|
|
|
|
function DBUser.onGetUsers(list, groupList, permissions)
|
|
local options = ArrayList()
|
|
local values = ArrayList()
|
|
db.filters = {}
|
|
local name
|
|
db.filters[DBUser.FilterGroup.user] = {}
|
|
for i, v in ipairs(list) do
|
|
if v.loginName == "系统生成" then
|
|
name = joinStr(v.loginNo, "_", v.loginName)
|
|
else
|
|
name = joinStr(v.loginName)
|
|
end
|
|
|
|
table.insert(db.filters[DBUser.FilterGroup.user], {name = name, value = v.loginNo})
|
|
db[v.loginNo] = v
|
|
options:Add(name)
|
|
values:Add(v.loginNo)
|
|
end
|
|
poplist[DBUser.FilterGroup.user] = {
|
|
options = options,
|
|
values = values
|
|
}
|
|
--------------------------------------------
|
|
local options = ArrayList()
|
|
local values = ArrayList()
|
|
db.filters[DBUser.FilterGroup.group] = {}
|
|
for i, v in ipairs(groupList or {}) do
|
|
table.insert(db.filters[DBUser.FilterGroup.group], {name = v.name, value = v.id})
|
|
options:Add(v.name)
|
|
values:Add(v.id)
|
|
end
|
|
poplist[DBUser.FilterGroup.group] = {
|
|
options = options,
|
|
values = values
|
|
}
|
|
--------------------------------------------
|
|
rolePermission = {}
|
|
for i, v in ipairs(permissions) do
|
|
rolePermission[v] = true
|
|
end
|
|
end
|
|
|
|
function DBUser.getFilters(group)
|
|
return db.filters[group]
|
|
end
|
|
|
|
function DBUser.getPopList(group)
|
|
return poplist[group]
|
|
end
|
|
|
|
---@return _DBUser
|
|
function DBUser.getUserById(loginNo)
|
|
local user = db[loginNo]
|
|
if user == nil then
|
|
printe("get user is nil=", loginNo)
|
|
end
|
|
return user
|
|
end
|
|
|
|
function DBUser.getIcon(loginNo, callback)
|
|
---@type _DBUser
|
|
local user = DBUser.getUserById(loginNo)
|
|
if user == nil or isNilOrEmpty(user.imageUrl) then
|
|
Utl.doCallback(callback, nil)
|
|
return
|
|
end
|
|
if icons[user.imageUrl] then
|
|
Utl.doCallback(callback, icons[user.imageUrl])
|
|
return
|
|
end
|
|
WWWEx.get(
|
|
user.imageUrl,
|
|
nil,
|
|
CLAssetType.texture,
|
|
function(content, orgs)
|
|
content.name = user.imageUrl
|
|
icons[user.imageUrl] = content
|
|
Utl.doCallback(callback, content)
|
|
end,
|
|
function()
|
|
printe("取得头像失败")
|
|
end,
|
|
nil,
|
|
true,
|
|
2
|
|
)
|
|
end
|
|
|
|
---public 是否有权限
|
|
function DBUser.hadPermission(key)
|
|
return rolePermission[key] or false
|
|
end
|
|
|
|
return DBUser
|