APPLocker.m 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. //
  2. // APPLocker.m
  3. // AIIM
  4. //
  5. // Created by qitewei on 2025/5/13.
  6. //
  7. #import "APPLocker.h"
  8. static NSString * _Nonnull lockStatekey = @"lockStatekey_";
  9. static NSString * _Nonnull lockpassword = @"lockpassword_";
  10. static NSString * _Nonnull savepassword = @"savepassword_";
  11. @implementation APPLocker
  12. + (instancetype)sharedLocker {
  13. static APPLocker *sharedInstance = nil;
  14. static dispatch_once_t onceToken;
  15. dispatch_once(&onceToken, ^{
  16. sharedInstance = [[self alloc] init];
  17. });
  18. return sharedInstance;
  19. }
  20. #pragma mark - 密码锁启用状态
  21. // 检查是否设置了密码
  22. - (BOOL)isPasswordSet{
  23. NSString *userId = [UDManager.shareInstance getSDManager:dkuserId];
  24. NSString *str = [NSString stringWithFormat:@"%@%@",lockpassword,userId];
  25. NSString *lockps=[UDManager.shareInstance getSDManager:str];
  26. if(lockps){
  27. if(lockps.length>0){
  28. return true;
  29. }
  30. }
  31. return false;
  32. }
  33. // 检查密码锁是否启用
  34. - (BOOL)isLockEnabled{
  35. NSString *userId = [UDManager.shareInstance getSDManager:dkuserId];
  36. NSString *str = [NSString stringWithFormat:@"%@%@",lockStatekey,userId];
  37. NSString *state=[UDManager.shareInstance getSDManager:str];
  38. if([state isEqualToString:@"true"]){
  39. return true;
  40. }
  41. return false;
  42. }
  43. // 设置新密码
  44. - (BOOL)setPassword:(NSString *)password error:(NSError **)error{
  45. NSString *userId = [UDManager.shareInstance getSDManager:dkuserId];
  46. NSString *str = [NSString stringWithFormat:@"%@%@",lockpassword,userId];
  47. [UDManager.shareInstance setSDManager:password key:str];
  48. [self enableLockWithError:nil];//新增密码锁默认启用
  49. return true;
  50. }
  51. // 验证应用锁密码
  52. - (BOOL)verifyPassword:(NSString *)password{
  53. NSString *userId = [UDManager.shareInstance getSDManager:dkuserId];
  54. NSString *str = [NSString stringWithFormat:@"%@%@",lockpassword,userId];
  55. NSString *lockps=[UDManager.shareInstance getSDManager:str];
  56. if(lockps){
  57. if([lockps isEqualToString:password]){
  58. return true;
  59. }
  60. }
  61. return false;
  62. }
  63. // 校验安卓全密码
  64. - (BOOL)verifySecurtyPassword:(NSString *)password{
  65. NSString *userId = [UDManager.shareInstance getSDManager:dkuserId];
  66. NSString *str = [NSString stringWithFormat:@"%@%@",savepassword,userId];
  67. NSString *saveps=[UDManager.shareInstance getSDManager:str];
  68. if(saveps){
  69. if([saveps isEqualToString:password]){
  70. return true;
  71. }
  72. }
  73. return false;
  74. }
  75. // 修改应用锁密码
  76. - (BOOL)changePasswordFrom:(NSString *)oldPassword toNewPassword:(NSString *)newPassword error:(NSError **)error{
  77. if(![self verifyPassword:oldPassword]){//原密码输入错误
  78. return false;
  79. }
  80. if([self verifySecurtyPassword:newPassword]){//新密码与安全密码相同
  81. return false;
  82. }
  83. NSString *userId = [UDManager.shareInstance getSDManager:dkuserId];
  84. NSString *str = [NSString stringWithFormat:@"%@%@",lockpassword,userId];
  85. [UDManager.shareInstance setSDManager:newPassword key:str];
  86. return true;
  87. }
  88. // 删除密码
  89. - (BOOL)removePasswordWithError:(NSError **)error{
  90. return false;
  91. }
  92. // 启用应用锁密码锁
  93. - (BOOL)enableLockWithError:(NSError **)error{
  94. NSString *userId = [UDManager.shareInstance getSDManager:dkuserId];
  95. NSString *str = [NSString stringWithFormat:@"%@%@",lockStatekey,userId];
  96. [UDManager.shareInstance setSDManager:@"true" key:str];
  97. return true;
  98. }
  99. // 禁用应用锁密码锁
  100. - (BOOL)disableLockWithError:(NSError **)error{
  101. NSString *userId = [UDManager.shareInstance getSDManager:dkuserId];
  102. NSString *str = [NSString stringWithFormat:@"%@%@",lockStatekey,userId];
  103. [UDManager.shareInstance setSDManager:@"false" key:str];
  104. return true;
  105. }
  106. // 设置安全密码
  107. - (BOOL)setSecurityPassword:(NSString *)password error:(NSError **)error{
  108. NSString *userId = [UDManager.shareInstance getSDManager:dkuserId];
  109. NSString *str = [NSString stringWithFormat:@"%@%@",savepassword,userId];
  110. [UDManager.shareInstance setSDManager:password key:str];
  111. return true;
  112. }
  113. @end