// // RechargeStorage.m // xplan-ios // // Created by 冯硕 on 2021/9/26. // #import "RechargeStorage.h" #import #define kappStoreKey @"kappStoreKey" @implementation RechargeStorage /// 根据商品id保存凭证 + (BOOL)saveTranscationId:(NSString *)transcationId recipt:(NSString *)recipt uid:(NSString *)uid { NSString * key = [NSString stringWithFormat:@"%@_%@", kappStoreKey, uid]; return [SSKeychain setPassword:recipt forService:key account:transcationId error:nil]; } /// 获取所有凭证 + (NSArray *)getAllReciptsWithUid:(NSString *)uid { NSArray *transcationIds = [SSKeychain allAccounts]; NSMutableArray *temArr = [NSMutableArray array]; [transcationIds enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { if ([obj[@"svce"] isKindOfClass:[NSString class]]) { NSString * key = [NSString stringWithFormat:@"%@_%@", kappStoreKey, uid]; if ([obj[@"svce"] isEqualToString:key]) { NSString *recipt = [SSKeychain passwordForService:key account:obj[@"acct"] error:nil]; NSData *data = [recipt dataUsingEncoding:NSUTF8StringEncoding]; NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; [temArr addObject:json]; } } }]; return temArr; } /// 根据订单删除凭证 + (BOOL)delegateTranscationId:(NSString *)transcationId uid:(NSString *)uid { NSString * key = [NSString stringWithFormat:@"%@_%@", kappStoreKey, uid]; return [SSKeychain deletePasswordForService:key account:transcationId error:nil]; } /// 删除所有凭证 + (void)delegateAllTranscationIdsWithUid:(NSString *)uid { NSArray *transcationIds = [SSKeychain allAccounts]; [transcationIds enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { if ([obj[@"svce"] isKindOfClass:[NSString class]]) { NSString * key = [NSString stringWithFormat:@"%@_%@", kappStoreKey, uid]; if ([obj[@"svce"] isEqualToString:key]) { [SSKeychain deletePasswordForService:key account:obj[@"acct"]]; } } }]; } @end