123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- //
- // RQPlaceBuyCell.m
- // JiaPei
- //
- // Created by 张嵘 on 2023/4/19.
- //
- #import "RQPlaceBuyCell.h"
- @interface RQPlaceBuyCell ()
- @property (nonatomic, readwrite, strong) RQPlaceBuyItemViewModel *viewModel;
- @property (weak, nonatomic) IBOutlet QMUIButton *buyBtn;
- @property (weak, nonatomic) IBOutlet QMUIButton *userAgreeBtn;
- @property (weak, nonatomic) IBOutlet QMUIButton *userAgreementBtn;
- @property (weak, nonatomic) IBOutlet UIView *coverView;
- @end
- @implementation RQPlaceBuyCell
- #pragma mark - PublicMethods
- + (instancetype)cellWithTableView:(UITableView *)tableView {
- static NSString *ID = @"RQPlaceBuyCell";
- RQPlaceBuyCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
- if (!cell) {
- cell = [self rq_viewFromXib];
- cell.selectionStyle = UITableViewCellSelectionStyleNone;
- }
- return cell;
- }
- - (void)bindViewModel:(RQPlaceBuyItemViewModel *)viewModel {
- @weakify(self)
- _viewModel = viewModel;
- if (!RQObjectIsNil(viewModel.placeListModel)) {
- if (viewModel.placeListModel.price > 0) {
- [self.buyBtn setTitleNormal:[NSString stringWithFormat:@"立即支付 ¥%.2f",viewModel.placeListModel.price / 100.f]];
- } else {
- [self.buyBtn setTitleNormal:@"立即支付"];
- }
- RAC(self.buyBtn, selected) = [[[RACObserve(viewModel, isBuy) deliverOnMainThread] takeUntil:self.rac_prepareForReuseSignal] map:^id _Nullable(id _Nullable value) {
- @strongify(self)
- self.coverView.hidden = !viewModel.isBuy;
- return @(viewModel.isBuy);
- }];
- }
- RAC(viewModel, isAgree) = [[RACObserve(self.userAgreeBtn, selected) deliverOnMainThread] takeUntil:self.rac_prepareForReuseSignal];
- RAC(self.userAgreeBtn, selected) = [[RACObserve(self.viewModel, chooseAgree) deliverOnMainThread] takeUntil:self.rac_prepareForReuseSignal];
- }
- - (IBAction)userAgreeBtnAction:(id)sender {
- _userAgreeBtn.selected = !_userAgreeBtn.selected;
- }
- - (IBAction)userAgreementBtnAction:(id)sender {
- self.userAgreeBtn.selected = YES;
- NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://ys.zzxcx.net/jsjp-sf.html"]];
- RQWebViewModel *viewModel = [[RQWebViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{RQViewModelRequestKey : request,RQViewModelWebViewTypeKey:@(RQWebViewType_VIP)}];
- RQWebViewViewController *viewController = [[RQWebViewViewController alloc] initWithViewModel:viewModel];
- RQBaseNavigationController *nav = [[RQBaseNavigationController alloc] initWithRootViewController:viewController];
- [RQControllerHelper.currentViewController presentViewController:nav animated:YES completion:^{
-
- }];
- }
- #pragma mark - SystemMethods
- - (void)awakeFromNib {
- [super awakeFromNib];
- }
- - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
- [super setSelected:selected animated:animated];
- // Configure the view for the selected state
- }
- @end
|