JSPatch下发笔记10

OC代码:

-(void)showAlertView{
    CLNNNativeAlertView *alertView=[[CLNNNativeAlertView alloc] initWithTitle:@"请接受相关协议" message:@"我同意《租赁协议》、《芝麻信用免押金额度协议》、《内啥服务条款》及东家指定的退订规则" cancelButtonTitle:@"取消" confirmTitle:@"我同意"];
    NSDictionary *linkDic1 = @{NSForegroundColorAttributeName:MAIN_COLOR,NSFontAttributeName:[UIFont systemFontOfSize:15]};
    NSDictionary *linkDic2 = @{NSForegroundColorAttributeName:YELLOW_COLOR,NSFontAttributeName:[UIFont systemFontOfSize:15]};
    NSLog(@"%@%@",linkDic1,linkDic2);
    __weak typeof(self) weakSelf=self;
    CJLabelConfigure *configure = [CJLabel configureAttributes:linkDic1 isLink:YES activeLinkAttributes:linkDic2 parameter:WEB_rent clickLinkBlock:^(CJLabelLinkModel *linkModel) {
        BrowserViewController *vc=[[BrowserViewController alloc] init];
        vc.loadMethod=linkModel.parameter;[weakSelf.navigationController pushViewController:vc animated:YES];
    } longPressBlock:nil];
    [configure setActiveLinkAttributes:linkDic1];
    alertView.messageLabel.text = [CJLabel configureAttrString:alertView.messageLabel.attributedText withString:@"《租赁协议》" sameStringEnable:YES configure:configure];
    CJLabelConfigure *configure1 = [CJLabel configureAttributes:linkDic1 isLink:YES activeLinkAttributes:linkDic2 parameter:WEB_zhima clickLinkBlock:^(CJLabelLinkModel *linkModel) {
        BrowserViewController *vc=[[BrowserViewController alloc] init];
        vc.loadMethod=linkModel.parameter;
        
        [weakSelf.navigationController pushViewController:vc animated:YES];
    } longPressBlock:nil];
    alertView.messageLabel.text = [CJLabel configureAttrString:alertView.messageLabel.attributedText withString:@"《芝麻信用免押金额度协议》" sameStringEnable:YES configure:configure1];
    CJLabelConfigure *configure2 = [CJLabel configureAttributes:linkDic1 isLink:YES activeLinkAttributes:linkDic2 parameter:WEB_terms clickLinkBlock:^(CJLabelLinkModel *linkModel) {
        BrowserViewController *vc=[[BrowserViewController alloc] init];
        vc.loadMethod=linkModel.parameter;
        [weakSelf.navigationController pushViewController:vc animated:YES];
    } longPressBlock:nil];
    alertView.messageLabel.text = [CJLabel configureAttrString:alertView.messageLabel.attributedText withString:@"《内啥服务条款》" sameStringEnable:YES configure:configure2];
    
    alertView.confirmButtonAction=^(){
        [weakSelf continuePay];
    };
    alertView.cancelButtonAction=^(){
    };
    [alertView showAlert];
}

JS代码:

require('CLNNNativeAlertView, UIColor, UIFont, BrowserViewController, CJLabel');
defineClass('NewPayController', {
            showAlertView: function() {
            var alertView=CLNNNativeAlertView.alloc().initWithTitle_message_cancelButtonTitle_confirmTitle("请接受相关协议", "我同意《租赁协议》、《芝麻信用免押金额度协议》、《内啥服务条款》及东家指定的退订规则", "取消", "我同意") ;
            var linkDic1 = {
            "NSColor":UIColor.colorWithHexString("0097F9"),
            "NSFont":UIFont.systemFontOfSize(15)
            
            };
            var linkDic2 = {
            "NSColor":UIColor.colorWithHexString("ffbb07"),
            "NSFont":UIFont.systemFontOfSize(15)
            
            };
            var weakSelf = self;
            var configure = CJLabel.configureAttributes_isLink_activeLinkAttributes_parameter_clickLinkBlock_longPressBlock(linkDic1, 1, linkDic2, "API", block("void, CJLabelLinkModel*", function(linkModel) {                                                                                                                                            var vc=BrowserViewController.alloc().init() ;
                vc.setLoadMethod(linkModel.parameter());
            weakSelf.navigationController().pushViewController_animated(vc, 1) ;
                }), null) ;
            alertView.messageLabel().setText(CJLabel.configureAttrString_withString_sameStringEnable_configure(alertView.messageLabel().attributedText(), "《租赁协议》", 1, configure));
            var configure1 = CJLabel.configureAttributes_isLink_activeLinkAttributes_parameter_clickLinkBlock_longPressBlock(linkDic1, 1, linkDic2, "API", block("void, CJLabelLinkModel*", function(linkModel) {                                                                                                                               var vc=BrowserViewController.alloc().init() ;
                vc.setLoadMethod(linkModel.parameter());
            weakSelf.navigationController().pushViewController_animated(vc, 1) ;
                }), null) ;
            alertView.messageLabel().setText(CJLabel.configureAttrString_withString_sameStringEnable_configure(alertView.messageLabel().attributedText(), "《芝麻信用免押金额度协议》", 1, configure1) );
            var configure2 = CJLabel.configureAttributes_isLink_activeLinkAttributes_parameter_clickLinkBlock_longPressBlock(linkDic1, 1, linkDic2, "API", block("void, CJLabelLinkModel*", function(linkModel) {
                                                                                                                                                                        var vc=BrowserViewController.alloc().init() ;
                                                                                                                                                                                            vc.setLoadMethod(linkModel.parameter());
                                                                                                                                                                                            weakSelf.navigationController().pushViewController_animated(vc, 1) ;
                                                                                                                                                                                            }), null) ;
            alertView.messageLabel().setText(CJLabel.configureAttrString_withString_sameStringEnable_configure(alertView.messageLabel().attributedText(), "《内啥服务条款》", 1, configure2) );

            alertView.setConfirmButtonAction(block("void, ", function() {
                                                   weakSelf.continuePay() ;
                                                   }));
            alertView.setCancelButtonAction(block("void, ", function() {
                                                  }));
            alertView.showAlert() ;
            }}, {});

总结:NSForegroundColorAttributeName 在js中要写成"NSColor"。
获取方法为用NSLog打印,如NSFontAttribute打印出来是NSFont,则在js中写成"NSFont",注意要加双引号。

你可能感兴趣的:(JSPatch下发笔记10)