MenuBean.java 16.9 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813

package com.wd.foundation.bean.custom;




import com.wd.foundation.bean.convenience.MoreItemBean;
import com.wd.foundation.bean.custom.comp.CompDataSourceBean;
import com.wd.foundation.bean.custom.comp.PageBean;
import com.wd.foundation.bean.custom.item.ItemBean;
import com.wd.foundation.bean.response.ChannelBean;
import com.wd.foundation.bean.response.MasterObjectData;
import com.wd.foundation.wdkitcore.tools.JsonUtils;
import com.wd.foundation.wdkitcore.tools.StringUtils;

import java.util.List;

/**
 * 首页<BR>
 *
 * @author liyubing
 * @version [V1.0.0, 2022/7/17]
 * @since V1.0.0
 */
public class MenuBean extends ItemBean {

    private static final String HAVE_SEARCH_KEY = "haveSearch";

    private static final String HAVE_NAV_BAR_KEY = "haveTopNav";

    private String id;

    /**
     * 栏目名称
     */
    private String name;

    /**
     * 摘要
     */
    private String summary;

    /**
     * 未选中图标
     */
    private String icon;

    /**
     * 选中图标
     */
    private String iconC;
    /**
     * 底部导航类型,1普通 2我的;【rmrb需要扩展】
     */
    private String type;

    /**
     * 文字颜色
     */
    private String nameColor;

    /**
     * 名字选中颜色
     */
    private String nameCColor;


    /**
     * 页面类型 0专题页 1频道页 2榜单页 3关注频道页 4搜索
     */
    private String pageType;

    /**
     * 栏目关联页面Id
     */
    private String pageId;

    /**
     * 图标颜色-未选中(沉浸式频道)
     */
    private String immersiveIconUrl;
    /**
     * 选中(沉浸式频道)
     */
    private String immersiveIconCUrl;

    /**
     * 文字颜色 未选中(沉浸式频道)
     */
    private String immersiveNameColor;
    /**
     * 文字颜色-选中(沉浸式频道)
     */
    private String immersiveNameCColor;
    /**
     * 图标颜色-未选中(夜间模式)
     */
    private String nightIconUrl;
    /**
     * 图标颜色-选中(夜间模式)
     */
    private String nightIconCUrl;

    /**
     * 文字颜色-未选中(夜间模式)
     */
    private String nightNameColor;
    /**
     * 文字颜色-选中(夜间模式)
     */
    private String nightNameCColor;
    /**
     * 底部导航背景色(夜间模式)
     */
    private String nightBackgroundColor;

    /**
     *  顶部样式:1-NEWS;2-VIDEO;3-BRNN;4-SECTION
     *  顶部样式:中文的(11-新闻;12-人民号;13-视频;14-服务)
     *
     *  搜索页tab:topstylesearchtab
     */
    private String topStyle;

    /**
     * 下拉加载动画颜色,1白色,2灰色。未配置值是null
     */
    private int dropDownAnimationColor = 0;

    /**
     * 状态栏图标颜色,0:白色,1:黑色
     */
    private Integer statusBarColor;

    /**
     * 页面背景图
     */
    private String backgroundUrl;

    /**
     * logo图片
     */
    private String logoUrl;

    /**
     * 搜索背景框
     */
    private String searchUrl;

    /**
     * 早晚报背景框
     */
    private String morningAndEveningUrl;

    /**
     * 两侧文字图标颜色,搜索图标颜色
     */
    private String searchBothColor;

    /**
     * 频道选中颜色
     */
    private String channelChooseColor;

    /**
     * 频道未选中颜色
     */
    private String channelChooseCColor;

    /**
     * 频道选中下划线动画
     */
    private String channelChooseActionUrl;

    /**
     * 主页图标/文字颜色
     */
    private String homePageColor;

    /**
     * 消息通知提醒颜色
     */
    private String noticeColor;

    /**
     * 更多频道颜色
     */
    private String channelMoreColor;

    /**
     * 频道列表,底部tab 对应的频道信息
     */
    private List<ChannelBean> topNavChannelList;

    private MasterObjectData extraDataMap;


    private boolean showSearch;

    private boolean hasNavBar;

    private int programType;

    private String rightIconUrl;
    // true:可删除稿件和组件
    private boolean delLayoutManager = false;

    /**
     * 本地预置字段
     */
    private int localIcon;

    private int localIconC;

    private int localImmerseIconC;

    private int localImmerseIcon;

    private String localPag;

    private String localImmPage;

    private int topMargin;

    // 主页沉浸式颜色
    public  int parentImmerseColor;

    // 一级频道跳转
    public String jumpChannelId;
    // 展开页面评论
    public boolean pageOpenComment= false;

    //
    public String dataSourceType;


    private ChannelBean menuData;

    //区分时间轴、财经图标
    private String topicTemplate;


    // 拓展字段
    private String extra;

    //
    public int errorCode;

    private PageBean pageInfor;


    // 领导id
    public String fid;
    // 省份code
    public String proCode = "";
    // 城市code
    public String cityCode = "";
    // 地区code
    public String districtCode = "";
    // 更多筛选项
    public List<MoreItemBean> moreSelectList;

    /**
     * 留言级别 0地方 1部委;默认0,前端若不传则默认是地方留言查询
     */
    private int position;
    /**
     * 新闻tab所在的index
     */
    private int pageIndex;

    public String getTopicTemplate() {
        return topicTemplate;
    }

    public void setTopicTemplate(String topicTemplate) {
        this.topicTemplate = topicTemplate;
    }


    public ChannelBean getMenuData() {
        return menuData;
    }

    public void setMenuData(ChannelBean menuData) {
        this.menuData = menuData;
    }

    public String getNameColor() {
        return nameColor;
    }

    public void setNameColor(String nameColor) {
        this.nameColor = nameColor;
    }

    public String getNameCColor() {
        return nameCColor;
    }

    public void setNameCColor(String nameCColor) {
        this.nameCColor = nameCColor;
    }

    public int getLocalIcon() {
        return localIcon;
    }

    public void setLocalIcon(int localIcon) {
        this.localIcon = localIcon;
    }

    public int getLocalIconC() {
        return localIconC;
    }

    public void setLocalIconC(int localIconC) {
        this.localIconC = localIconC;
    }

    public String getLocalPag() {
        return localPag;
    }


    public void setLocalPag(String localPag) {
        this.localPag = localPag;
    }

    public String getPageId() {
        return pageId;
    }

    public void setPageId(String pageId) {
        this.pageId = pageId;
    }

    public String getTitle() {
        return name;
    }

    public void setTitle(String title) {
        this.name = title;
    }

    public String getExtra() {
        return extra;
    }

    public void setExtra(String extra) {
        this.extra = extra;
    }

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public String getNormalIcon() {
        return icon;
    }

    public void setNormalIcon(String normalIcon) {
        this.icon = normalIcon;
    }

    public String getSelIcon() {
        return iconC;
    }

    public void setSelIcon(String selIcon) {
        this.iconC = selIcon;
    }

    public int getTopMargin() {
        return topMargin;
    }

    public void setTopMargin(int topMargin) {
        this.topMargin = topMargin;
    }

    public int getLocalImmerseIconC() {
        return localImmerseIconC;
    }

    public void setLocalImmerseIconC(int localImmerseIconC) {
        this.localImmerseIconC = localImmerseIconC;
    }

    public String getNightIconUrl() {
        return nightIconUrl;
    }

    public void setNightIconUrl(String nightIconUrl) {
        this.nightIconUrl = nightIconUrl;
    }

    public String getNightIconCUrl() {
        return nightIconCUrl;
    }

    public void setNightIconCUrl(String nightIconCUrl) {
        this.nightIconCUrl = nightIconCUrl;
    }

    public String getNightNameColor() {
        return nightNameColor;
    }

    public void setNightNameColor(String nightNameColor) {
        this.nightNameColor = nightNameColor;
    }

    public String getNightNameCColor() {
        return nightNameCColor;
    }

    public void setNightNameCColor(String nightNameCColor) {
        this.nightNameCColor = nightNameCColor;
    }

    public PageBean getPageInfor() {
        return pageInfor;
    }

    public void setPageInfor(PageBean pageInfor) {
        this.pageInfor = pageInfor;
    }

    public String getNightBackgroundColor() {
        return nightBackgroundColor;
    }

    public void setNightBackgroundColor(String nightBackgroundColor) {
        this.nightBackgroundColor = nightBackgroundColor;
    }

    public String getRightIconUrl() {
        return rightIconUrl;
    }

    public void setRightIconUrl(String rightIconUrl) {
        this.rightIconUrl = rightIconUrl;
    }

    public boolean isDelLayoutManager() {
        return delLayoutManager;
    }

    public void setDelLayoutManager(boolean delLayoutManager) {
        this.delLayoutManager = delLayoutManager;
    }

    public boolean isShowSearch() {
        // 获取时,才会去解析extra数据
        parseExtraDataMap();
        return showSearch;
    }

    public boolean hasNavBar() {
        // 获取时,才会去解析extra数据
        parseExtraDataMap();
        return hasNavBar;
    }

    public void setHasNavBar(boolean hasNavBar) {
        this.hasNavBar = hasNavBar;
    }

    public String getNavId() {
        return id;
    }

    public void setNavId(String navId) {
        this.id = navId;
    }

    public String getPageType() {
        return pageType;
    }

    public void setPageType(String pageType) {
        this.pageType = pageType;
    }


    public String getImmersiveIconUrl() {
        return immersiveIconUrl;
    }

    public void setImmersiveIconUrl(String immersiveIconUrl) {
        this.immersiveIconUrl = immersiveIconUrl;
    }

    public String getImmersiveIconCUrl() {
        return immersiveIconCUrl;
    }

    public void setImmersiveIconCUrl(String immersiveIconCUrl) {
        this.immersiveIconCUrl = immersiveIconCUrl;
    }

    public String getImmersiveNameColor() {
        return immersiveNameColor;
    }

    public void setImmersiveNameColor(String immersiveNameColor) {
        this.immersiveNameColor = immersiveNameColor;
    }

    public String getImmersiveNameCColor() {
        return immersiveNameCColor;
    }

    public void setImmersiveNameCColor(String immersiveNameCColor) {
        this.immersiveNameCColor = immersiveNameCColor;
    }

    public int getLocalImmerseIcon() {
        return localImmerseIcon;
    }

    public void setLocalImmerseIcon(int localImmerseIcon) {
        this.localImmerseIcon = localImmerseIcon;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public int getProgramType() {
        return programType;
    }

    public void setProgramType(int programType) {
        this.programType = programType;
    }

    public List<ChannelBean> getTopNavChannelList() {
        return topNavChannelList;
    }

    public void setTopNavChannelList(List<ChannelBean> topNavChannelList) {
        this.topNavChannelList = topNavChannelList;
    }

    private void parseExtraDataMap() {
        if (extraDataMap != null) {
            return;
        }
        if (getExtraData() == null) {
            return;
        }
        // 替换\
        String json = getExtraData().replace("\\", "");
        extraDataMap = JsonUtils.convertJsonToObject(json, MasterObjectData.class);
        if (extraDataMap == null) {
            return;
        }
        showSearch = StringUtils.isEqual(extraDataMap.getString(HAVE_SEARCH_KEY), "1");
        hasNavBar = StringUtils.isEqual(extraDataMap.getString(HAVE_NAV_BAR_KEY), "1");
    }

    /**
     * 获取是否我的页面
     *
     * @return 是否我的页面
     */
    public boolean isMine() {
        return StringUtils.isEqual(type, "2");
    }

    /**
     * 是否普通页面
     *
     * @return
     */
    public boolean isCommonPage() {

        return StringUtils.isEqual(type, "1");
    }

    /**
     * 首页新闻
     *
     * @return
     */
    public boolean isTabNew() {
        return "11".equals(topStyle);
    }

    /**
     * 人民号
     *
     * @return
     */
    public boolean isTabRMH() {
        return "12".equals(topStyle);
    }

    /**
     * 视频
     *
     * @return
     */
    public boolean isTabVideo() {
        return "13".equals(topStyle);
    }
    /**
     * 搜索
     *
     * @return
     */
    public boolean isSearchTab() {
        return  CompDataSourceBean.LOCAL_SEARCHRESULTTAB.equals(dataSourceType);
    }

    /**
     * 搜索推荐
     * @return
     */
    public boolean isFromSearchRecommend(){
        return  CompDataSourceBean.RECOMMEND_LIST_SEARCH.equals(dataSourceType);
    }

    /**
     * 服务
     *
     * @return
     */
    public boolean isTabService() {
        return "14".equals(topStyle);
    }
    /**
     * 模板页标识
     * 我的问政-我的留言/关注留言
     * 搜索结果tab页
     * @return
     */
    public boolean isTemplate() {
        return CompDataSourceBean.LOCAL_POLITICS_LEAVEWORD.equals(dataSourceType) ||
                CompDataSourceBean.LOCAL_SEARCHRESULTTAB.equals(dataSourceType);
    }

    /**
     * 模板页标识
     * 我的问政-我的留言/关注留言
     * 搜索结果tab页
     * @return
     */
    public boolean isLeaveWord() {
        return CompDataSourceBean.LOCAL_POLITICS_LEAVEWORD.equals(dataSourceType);
    }

    public String getTopStyle() {
        return topStyle;
    }

    public void setTopStyle(String topStyle) {
        this.topStyle = topStyle;
    }

    /**
     * 强制重建tab
     * */
    public boolean forceRecreateTab(){
        return isFromSearchRecommend() || isSearchTab();
    }

    public Integer getStatusBarColor() {
        return statusBarColor;
    }

    public void setStatusBarColor(Integer statusBarColor) {
        this.statusBarColor = statusBarColor;
    }

    public String getBackgroundUrl() {
        return backgroundUrl;
    }

    public void setBackgroundUrl(String backgroundUrl) {
        this.backgroundUrl = backgroundUrl;
    }

    public String getLogoUrl() {
        return logoUrl;
    }

    public void setLogoUrl(String logoUrl) {
        this.logoUrl = logoUrl;
    }

    public String getSearchUrl() {
        return searchUrl;
    }

    public void setSearchUrl(String searchUrl) {
        this.searchUrl = searchUrl;
    }

    public String getMorningAndEveningUrl() {
        return morningAndEveningUrl;
    }

    public void setMorningAndEveningUrl(String morningAndEveningUrl) {
        this.morningAndEveningUrl = morningAndEveningUrl;
    }

    public String getSearchBothColor() {
        return searchBothColor;
    }

    public void setSearchBothColor(String searchBothColor) {
        this.searchBothColor = searchBothColor;
    }

    public String getChannelChooseColor() {
        return channelChooseColor;
    }

    public void setChannelChooseColor(String channelChooseColor) {
        this.channelChooseColor = channelChooseColor;
    }

    public String getChannelChooseCColor() {
        return channelChooseCColor;
    }

    public void setChannelChooseCColor(String channelChooseCColor) {
        this.channelChooseCColor = channelChooseCColor;
    }

    public String getChannelChooseActionUrl() {
        return channelChooseActionUrl;
    }

    public void setChannelChooseActionUrl(String channelChooseActionUrl) {
        this.channelChooseActionUrl = channelChooseActionUrl;
    }

    public String getHomePageColor() {
        return homePageColor;
    }

    public void setHomePageColor(String homePageColor) {
        this.homePageColor = homePageColor;
    }

    public String getNoticeColor() {
        return noticeColor;
    }

    public void setNoticeColor(String noticeColor) {
        this.noticeColor = noticeColor;
    }

    public String getChannelMoreColor() {
        return channelMoreColor;
    }

    public void setChannelMoreColor(String channelMoreColor) {
        this.channelMoreColor = channelMoreColor;
    }

    public void setLocalImmPage(String localImmPage) {
        this.localImmPage = localImmPage;
    }

    public String getLocalImmPage() {
        return localImmPage;
    }

    public int getDropDownAnimationColor() {
        return dropDownAnimationColor;
    }

    public void setDropDownAnimationColor(int dropDownAnimationColor) {
        this.dropDownAnimationColor = dropDownAnimationColor;
    }

    public int getPosition() {
        return position;
    }

    public void setPosition(int position) {
        this.position = position;
    }

    public int getPageIndex() {
        return pageIndex;
    }

    public void setPageIndex(int pageIndex) {
        this.pageIndex = pageIndex;
    }

    public void clearData(){

        searchBothColor = null;
        channelChooseColor = null;
        channelChooseCColor = null;
        channelMoreColor = null;
    }
}