New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using HDL_ON.Common; |
| | | using HDL_ON.DAL.Server; |
| | | using HDL_ON.Entity; |
| | | using HDL_ON.UI.CSS; |
| | | using Shared; |
| | | |
| | | namespace HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock |
| | | { |
| | | public class VideoDoorlockUserListPage : FrameLayout |
| | | { |
| | | FrameLayout bodyView; |
| | | VerticalScrolViewLayout contentView; |
| | | |
| | | Function device; |
| | | |
| | | List<VideoDoorlockUser> userList; |
| | | |
| | | public VideoDoorlockUserListPage(Function function) |
| | | { |
| | | bodyView = this; |
| | | device = function; |
| | | userList = new List<VideoDoorlockUser>(); |
| | | } |
| | | |
| | | public void LoadPage() |
| | | { |
| | | new TopViewDiv(bodyView, Language.StringByID(StringId.UserManagement)).LoadTopView(); |
| | | bodyView.BackgroundColor = CSS_Color.BackgroundColor; |
| | | |
| | | |
| | | contentView = new VerticalScrolViewLayout() |
| | | { |
| | | Y = Application.GetRealHeight(64), |
| | | Height = Application.GetRealHeight(667 - 70), |
| | | }; |
| | | bodyView.AddChidren(contentView); |
| | | |
| | | var waitPage = new Loading(); |
| | | bodyView.AddChidren(waitPage); |
| | | waitPage.Start(""); |
| | | |
| | | new System.Threading.Thread(() => { |
| | | try |
| | | { |
| | | var pack = ApiUtlis.Ins.HttpRequest.GetDoorlockUserList(device.deviceId); |
| | | if (pack != null) |
| | | { |
| | | if (pack.Code == StateCode.SUCCESS) |
| | | { |
| | | userList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<VideoDoorlockUser>>(pack.Data.ToString()); |
| | | if (userList != null) |
| | | { |
| | | Application.RunOnMainThread(() => { |
| | | initView(); |
| | | }); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | IMessageCommon.Current.ShowErrorInfoAlter(pack.Code); |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"获取门锁用户异常:{ex.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | waitPage.Hide(); |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | void initView() |
| | | { |
| | | contentView.RemoveAll(); |
| | | |
| | | foreach (var user in userList) |
| | | { |
| | | contentView.AddChidren(new Button() { Height = Application.GetRealHeight(12) }); |
| | | |
| | | var row = new FrameLayout() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Height = Application.GetRealHeight(50), |
| | | Radius = (uint)Application.GetRealWidth(12), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Width = Application.GetRealWidth(343), |
| | | }; |
| | | contentView.AddChidren(row); |
| | | |
| | | var btnRight = new Button() |
| | | { |
| | | X = Application.GetRealWidth(307), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetMinRealAverage(16), |
| | | Height = Application.GetMinRealAverage(16), |
| | | UnSelectedImagePath = "Public/Right.png", |
| | | }; |
| | | row.AddChidren(btnRight); |
| | | |
| | | var btnName = new Button() |
| | | { |
| | | X = Application.GetRealWidth(12), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | Text = user.lockUserName |
| | | }; |
| | | row.AddChidren(btnName); |
| | | |
| | | btnName.MouseUpEventHandler = (sender, e) => { |
| | | var page = new VideoDoorlockUserManagerPage(device, user); |
| | | page.delCallBackAction = () => { |
| | | userList.Remove(user); |
| | | initView(); |
| | | }; |
| | | MainPage.BasePageView.AddChidren(page); |
| | | page.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | public class VideoDoorlockUser |
| | | { |
| | | /// <summary> |
| | | /// 开始时间 integer(int32) |
| | | /// </summary> |
| | | public string beginTime; |
| | | /// <summary> |
| | | /// 感应卡密码数量 integer(int32) |
| | | /// </summary> |
| | | public int cardCount; |
| | | /// <summary> |
| | | /// 结束时间 integer(int32) |
| | | /// </summary> |
| | | public int endTime; |
| | | /// <summary> |
| | | /// 是否过期 integer(int32) |
| | | /// </summary> |
| | | public string expiredEnable; |
| | | /// <summary> |
| | | /// 门锁用户id string |
| | | /// </summary> |
| | | public string extUserId; |
| | | /// <summary> |
| | | /// string |
| | | /// </summary> |
| | | public string extUserName; |
| | | /// <summary> |
| | | /// 人脸密码数量 integer(int32) |
| | | /// </summary> |
| | | public int faceCount; |
| | | /// <summary> |
| | | /// 指纹密码数量 integer(int32) |
| | | /// </summary> |
| | | public int fingerCount; |
| | | /// <summary> |
| | | /// 用户备注名 string |
| | | /// </summary> |
| | | public string lockRemarkName; |
| | | /// <summary> |
| | | /// 锁用户类型// 0-主用户,1-普通用户 integer(int32) |
| | | /// </summary> |
| | | public int lockType; |
| | | /// <summary> |
| | | /// 门锁用户id string |
| | | /// </summary> |
| | | public string lockUserIndex; |
| | | /// <summary> |
| | | /// 用户名 string |
| | | /// </summary> |
| | | public string lockUserName; |
| | | /// <summary> |
| | | /// 数字密码数量 integer(int32) |
| | | /// </summary> |
| | | public int pwdCount; |
| | | } |
| | | } |