CINXE.COM
追逐时光者的博客_云社区-华为云
<!DOCTYPE html> <html lang="zh-CN" site="china"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="applicable-device" content="pc,mobile"> <title>追逐时光者的博客_云社区-华为云</title> <meta name="keywords" content="追逐时光者的粉丝主页,云社区,开发者社区,华为云"> <meta name="description" content="追逐时光者在华为云社区的个人主页"> <meta name="google-site-verification" content=""/> <link rel="icon" href="/favicon.ico" /> <link rel="stylesheet" type="text/css" href="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/libs/ydcomm/global.css"/> <link rel="stylesheet" type="text/css" href="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/libs/ydcomm/newhead.css"/> <link rel="stylesheet" type="text/css" href="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/libs/ydcomm/index.css"/> <link rel="stylesheet" type="text/css" href="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/libs/ydcomm/page.css"/> <link rel="stylesheet" type="text/css" media="screen and (max-width:768px)" href="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/libs/ydcomm/user-center.css"/> <!--官网css引入--> <link rel="stylesheet" type="text/css" href="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-site/archive/china/static/v2_resources/css/global.css"> <link rel="stylesheet" type="text/css" href="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-site/archive/china/commons/header/header2021/header-china.css" /> <link rel="stylesheet" type="text/css" href="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-site/archive/commons/3rdlib/jquery-ui/jquery-ui.min.css"/> <link rel="stylesheet" type="text/css" href="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-develop/archive/china/zh-cn/developer/developer-page/css/datepicker/jquery.monthpicker.css"/> <link rel="stylesheet" type="text/css" href="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-develop/archive/china/zh-cn/developer/developer-page/css/developer-common.css" /> <link rel="stylesheet" type="text/css" media="screen and (max-width:768px)" href="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/libs/ydcomm/mobile.css"/> <link rel="stylesheet" type="text/css" href="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/libs/ydcomm/common.css"/> <link rel="stylesheet" type="text/css" href="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/libs/ydcomm/hiscenter.css" /> <script src="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-site/archive/commons/3rdlib/jquery/jquery-1.12.4.min.js" ></script> <script src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/js/m-rem.js" ></script> <script src="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-site/archive/commons/3rdlib/jquery/jquery.dotdotdot.js"></script> <script src="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-site/archive/commons/3rdlib/jquery-ui/jquery-ui.min.js"></script> <script src="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-develop/archive/china/zh-cn/developer/developer-page/js/datapicker/jquery.monthpicker.js"></script> <link rel="canonical" href="https://bbs.huaweicloud.com/community/usersnew/id_1700830147186519"/> <style> .activity-float{display: none;} </style> </head> <body ontouchstart style="background-color:#fff" id="other_personal_home_page"> <link rel="stylesheet" type="text/css" href="https://portal.hc-cdn.com/cnpm-baseui/2.8.11/index.css" /> <div id="header" hidden> </div> <script> var fuxiStatic = 'https://res.hc-cdn.com/ecology'; var staticVersion = '9.3.167'; </script> <script src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/js/content-header-dialogs.js"></script> <link rel="stylesheet" type="text/css" href="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/libs/ydcomm/common.css" /> <!-- 判断url里的用户id 是否存在 --> <script> function openWindow(msg, url) { var widthWindow = $(window).width(); var t = 3; $('.require-text').text(msg + ' ,' + '3秒后跳转到社区首页'); var time = setInterval(function () { t--; $('.require-text').text(msg + ',' + t + '秒后跳转到社区首页'); if (t == 0) { $('#other-dialog1').removeClass('show'); if(url != '' && typeof(url) != "undefined"){ window.location.href = url; } clearInterval(time); } }, 1000); $('#other-dialog1').addClass('show'); } var isExist = ""; if( isExist === "userNotExist" ){ openWindow('该用户的信息不存在','/'); } </script> <div id="otherblogs-body"> <div class='otherblogs-page'> <div class='userPage-content-full'> <div class="userPage-userinfo-side"> <div class="userPage-userinfo"> <div class='mobliepage'> <div class='userPage-isMobile'> <div class='userPage-mobile-name-side'> <div class='userPage-memberPhoto'> <img src="https://bbs-img.huaweicloud.com/user/img/head/images_170083045593872.jpeg" class="userPage-userImage" alt="作者小头像"> <span class="hisInfo-avator-level por-text-body-t2">Lv.5 </span> </div> <div class="userPage-userinfo-content"> <span class="hisInfo-name por-tips" title="追逐时光者"><label>追逐时光者</label></span> <div class="myinfo-identity"> <a href="https://developer.huaweicloud.com/expert" target="_blank" rel="noopener noreferrer"> <i class="icon-v icon-v-normal"></i></a> </div> <div class='userPage-find-info'><a>更多个人资料</a> <span class='por-icon por-icon-right'></span></div> </div> </div> </div> <div class="userPage-part1-split"> <div class='userPage-gradeNum'> <span class="userPage-info-number">1263</span> <span class="userPage-info-type">成长值</span> </div> <div class='userPage-concernNum'> <span class="userPage-info-number"><a id="portal_usercenter_2_guanzhu2" class="concern-num" href="https://bbs.huaweicloud.com/community/hisfollow/id_1700830147186519">2</a></span> <span class="userPage-info-type"><a href="https://bbs.huaweicloud.com/community/hisfollow/id_1700830147186519">关注</a></span> </div> <div class='userPage-FansNum'> <span class="userPage-info-number"><a id="portal_usercenter_2_fensi" class="fans-num" href="https://bbs.huaweicloud.com/community/hisfans/id_1700830147186519">1</a></span> <span class="userPage-info-type"><a href="https://bbs.huaweicloud.com/community/hisfans/id_1700830147186519">粉丝</a></span> </div> </div> <div class='userPage-part1-end' style='margin-left:50px'> <a id="portal_usercenter_2_guanzhu2" class="top-userinfo-follow-btn1 btn-follow por-btn por-btn-primary left-concern" data-type="1" data-id="1700830147186519">+ 关注</a> <a href="https://developer.huaweicloud.com/usercenter/mycommunity/privatemessage/ec0961855cd24f47bb7978168526a30e/1" target="_blank" rel="noopener noreferrer" class="por-btn por-btn-secondary ">私信</a> </div> </div> </div> <div class='part2'> <div class='userPage-introduction' style='display: '> <p class="userPage-title">个人介绍</p> <p class="userPage-intro-content" style="word-break: break-all"> <span>公众号:「追逐时光者」,微软MVP、华为云开发者专家计划、华为云云享专家、51CTO专家博主、阿里云专家博主、博客园推荐博客、CSDN博客专家、CSDN .NET领域优质创作者、腾讯云创作之星,擅长.NET、.NET Core、Golang、Vue、Angular等相关技术开发。</span> </p> </div> <div class="userPage-interest"> <p class="userPage-title">感兴趣或擅长的领域</p> <div class="userPage-interest-field" style="max-height: 180px;"> <span>开发语言、微服务架构、软件开发、人工智能、数据库</span> </div> </div> </div> <div class='part3-nodate'> <div class='userPage-medal'> <span class="userPage-title">个人勋章</span> </div> <div class="no-data-have">TA还没获得勋章~</div> </div> <div class='userPage-radar'> <span class="userPage-title">成长雷达</span> <div class="radar-wrapper"> <div class="radar"> <div class='radarRightSide contributuion-growth'> <span class="radar-tip por-text-caption-t1"> 1240 </span> </div> <div class='radarRightSide active-growth'> <span class="radar-tip por-text-caption-t1"> 3 </span> </div> <div class='radarRightSide technology-growth'> <span class="radar-tip por-text-caption-t1"> 0 </span> </div> <div class='radarLeftSide study-growth'> <span class="radar-tip por-text-caption-t1 effect-value"> 0 </span> </div> <div class='radarLeftSide effect-growth'> <span class="radar-tip por-text-caption-t1 effect-value"> 20 </span> </div> </div> </div> </div> </div> <div class="myinfo-mock-mb"> <div class="pop-myinfo-wrapper"> <i class="por-icon por-icon-close myinfo-close-btn"></i> <div class="pop-myinfo-box"> <p class="pop-otherinfo-title por-text-title-t5"> 个人资料</p> <p class="pop-myinfo-description-title por-text-title-t6">个人介绍</p> <p class="pop-myinfo-description por-text-body-t2">公众号:「追逐时光者」,微软MVP、华为云开发者专家计划、华为云云享专家、51CTO专家博主、阿里云专家博主、博客园推荐博客、CSDN博客专家、CSDN .NET领域优质创作者、腾讯云创作之星,擅长.NET、.NET Core、Golang、Vue、Angular等相关技术开发。</p> <p class="pop-myinfo-interest-title por-text-title-t6">感兴趣或擅长的领域</p> <p class="pop-myinfo-interest por-text-body-t2"> 开发语言、微服务架构、软件开发、人工智能、数据库 </p> </div> </div> </div> <div class="other-blog-modelInfo"> <div class="pop-myinfo-wrapper"> <i class="por-icon por-icon-close medalInfo-close-btn"></i> <div class="pop-myinfo-box"> <img class='other-blog-modelInfo-img' src="" alt="" style='margin:0 auto;margin-bottom:16px;height:80px;width:80px;display:block'> <p class="pop-myinfo-title por-text-title-t5"></p> <p class="pop-myinfo-level por-text-body-t2"></p> <p class="pop-medal-time por-text-body-t2"></p> <div class="con"> <i></i> <p class="por-text-body-t2">达成规则</p> </div> <ul class="pop-medal-rule-list por-text-body-t2"> </ul> <p class="pop-medal-rule-footer por-text-body-t2">以上满足<span class="totalNum" style="color:#526ECC"></span>项可达成此勋章</p> </div> </div> </div> <div class="userPage-right-side" > <div class="personal-center-content-nav personalNav hisBlog"> <ul> <li class="list-actived personalBlog"> <a id="portal_usercenter_tadeboke" href="/community/usersnew/id_1700830147186519">博客</a> </li> <li class="leader-follow"> <a id="portal_usercenter_tadeguanzhu" href="/community/hisfollow/id_1700830147186519">关注</a> </li> <li class="leader-fans"> <a id="portal_usercenter_tadefensi" href="/community/hisfans/id_1700830147186519">粉丝</a> </li> <li> <a id="portal_usercenter_tadeluntan" href="/community/hisforum/id_1700830147186519">论坛</a> </li> </ul> </div> <div class="container-blog-list-hisbox"> <div class="his-blog-search"> <span class="icon-search"></span> <input type="text" autocomplete="off" maxlength="64" placeholder="请输入关键字搜索" class="his-blog-search-input"> </div> <div class="mySelect"> <div class="mySelect-main" id="his-blog-time"> <span id="mySelected">全部时间</span> <span class="mySelect-size-icon"></span> </div> <div class="mySelect-option-list" style="z-index: 3000"> <div class="mySelect-option" data-value="0">全部时间</div> <div class="mySelect-option" data-value="1">最近三天</div> <div class="mySelect-option" data-value="2">最近一周</div> <div class="mySelect-option" data-value="3">最近一月</div> </div> </div> </div> <div class="container-blog-list container-blog-list-software-dev-cloud"> <div class="column-wrap"> <ul class="columns-list"> <li class="columns-all active">全部</li> <li class="" data-id="a984c014205a4ce2b1dca738605d318d">面试指南</li> <li class="" data-id="9333e595834b4b5db0a61a4db4182c3d">C#/.NET/.NET Core技术前沿周刊</li> <li class="" data-id="ff9a0bc71a1c4ee199391023786e34dd">实用工具</li> <li class="" data-id="dd40c99a9bed473ab41d50d112098b94">开源项目</li> <li class="" data-id="d544e0632d12471d97d8df3e051977ed">.NET编程指南</li> </ul> <div class="right-icon" data-type="0"></div> </div> <div class="blog-menu "><div class="blog-menu-header blog_no_attachment"> <a id="portal_usercenter_2_usernew_blog_title_cus_i_0" href="/blogs/449655" class="common-blog-title" title="浅谈 C# 13 中的 params 集合" target="_blank" rel="noopener noreferrer" style="margin-left:0px">浅谈 C# 13 中的 params 集合 </span></a></div> <div class="blog-menu-content cf"> <a id="portal_usercenter_2_usernew_litimg_type_cus_i_0" href="/blogs/883df24f83324ff2994209a97d4901d8" class="blog-menu-content-left" target="_blank" rel="noopener noreferrer"><img style="width:240px;height:135px;" path="https://fileserver.developer.huaweicloud.com/FileServer/getFile/community/147/186/519/0001700830147186519.20250323102535.21430025356647615429041502672964:20250330042231:2415:8F7A396A9E225704B7C5CF8D9F74F1F53A96CD5A8C10D0CCEF4521BE480E3E13.png" src="https://fileserver.developer.huaweicloud.com/FileServer/getFile/community/147/186/519/0001700830147186519.20250323102535.21430025356647615429041502672964:20250330042231:2415:8F7A396A9E225704B7C5CF8D9F74F1F53A96CD5A8C10D0CCEF4521BE480E3E13.png"></a> <div class="blog-menu-content-right cf" style= "min-height: 84px"> <a id="portal_usercenter_2_usernew_litimg_type2_cus_i_0" class="common-blog-text" style="-webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; word-wrap: break-word; word-break:break-all;width:100%;">前言在 C# 13 中,params 的改进使其从可变数量的数组参数升级为可变数量的集合类型参数。这一改进通过支持高性能集合类型(如Span<T>,ReadOnlySpan<T>)和简化调用语法,显著提升了代码的灵活性和效率。params的适用场景params适用于参数个数动态变化的场景,例如日志、数学计算或格式化输出等,减少冗余代码,增强方法通用性。C# 13 的改进与旧版本对比在 C# ...</a> <div class="other-blog-tags"> <span data-href="https://developer.huaweicloud.com/tags/200627/blog_1" title="C#">C#</span> </div> <div class="common-blog-icons pc_current"> <a id="portal_usercenter_2_usernew_author_type2_cus_i_0" href="/community/usersnew/id_1700830147186519" class="author-min-head" target="_blank" rel="noopener noreferrer"> <img src='https://bbs-img.huaweicloud.com/user/img/head/images_170083045593872.jpeg' alt="作者小头像" style="border-radius: 12px;"/> </a> <span> <a id="portal_usercenter_2_usernew_author2_type2_cus_i_0" href="/community/usersnew/id_1700830147186519" class="sub-content-username" target="_blank" rel="noopener noreferrer" title="追逐时光者">追逐时光者</a> </span> <span class="common-blog-time">2025-03-23 18:25:47</span> <div class="common-blog-eye bbs-icon"></div> <span class='blog-number'>43</span> <div class="common-blog-bubbling bbs-icon"></div> <span class='blog-number'>0</span> <div class="common-blog-praise bbs-icon"></div> <span class='blog-number'>0</span> </div> <div class="m-current"> <div class="update-times-how">2025-03-23 18:25:47</div> <div class="common-blog-icons"> <div class="common-blog-eye"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/examine.png" alt=""></div> <span>43</span> <div class="common-blog-bubbling"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/comment.png" alt=""></div> <span>0</span> <div class="common-blog-praise"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/praise.png" alt=""></div> <span>0</span> </div> </div> </div> </div> <div class="blog-menu-footer"></div></div> <div class="blog-menu "><div class="blog-menu-header blog_no_attachment"> <a id="portal_usercenter_2_usernew_blog_title_cus_i_1" href="/blogs/449654" class="common-blog-title" title="一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!" target="_blank" rel="noopener noreferrer" style="margin-left:0px">一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议! </span></a></div> <div class="blog-menu-content cf"> <a id="portal_usercenter_2_usernew_litimg_type_cus_i_1" href="/blogs/52bb25e1e24b4d91b4b0687a87e228ac" class="blog-menu-content-left" target="_blank" rel="noopener noreferrer"><img style="width:240px;height:135px;" path="https://fileserver.developer.huaweicloud.com/FileServer/getFile/community/147/186/519/0001700830147186519.20250323102207.80959939342542601444308642878610:20250330042231:2415:DF22F6BDDAF1247AF6AF06EE1B5E22C7F0E3BA16F895613233DD335EB4819C28.png" src="https://fileserver.developer.huaweicloud.com/FileServer/getFile/community/147/186/519/0001700830147186519.20250323102207.80959939342542601444308642878610:20250330042231:2415:DF22F6BDDAF1247AF6AF06EE1B5E22C7F0E3BA16F895613233DD335EB4819C28.png"></a> <div class="blog-menu-content-right cf" style= "min-height: 84px"> <a id="portal_usercenter_2_usernew_litimg_type2_cus_i_1" class="common-blog-text" style="-webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; word-wrap: break-word; word-break:break-all;width:100%;">前言今天大姚给大家分享一款基于 .NET 开源(GPL-2.0 license)、免费、功能强大的 Windows 远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议:mRemoteNG。项目介绍mRemoteNG是一款基于 .NET 开源(GPL-2.0 license)、免费、功能强大的 Windows 远程连接管理工具,支持多种语言、支持 RDP、VNC、SSH 等多种主流...</a> <div class="other-blog-tags"> <span data-href="https://developer.huaweicloud.com/tags/200423/blog_1" title=".NET">.NET</span> <span data-href="https://developer.huaweicloud.com/tags/200493/blog_1" title="ssh">ssh</span> <span data-href="https://developer.huaweicloud.com/tags/200314/blog_1" title="TCP/IP">TCP/IP</span> </div> <div class="common-blog-icons pc_current"> <a id="portal_usercenter_2_usernew_author_type2_cus_i_2" href="/community/usersnew/id_1700830147186519" class="author-min-head" target="_blank" rel="noopener noreferrer"> <img src='https://bbs-img.huaweicloud.com/user/img/head/images_170083045593872.jpeg' alt="作者小头像" style="border-radius: 12px;"/> </a> <span> <a id="portal_usercenter_2_usernew_author2_type2_cus_i_2" href="/community/usersnew/id_1700830147186519" class="sub-content-username" target="_blank" rel="noopener noreferrer" title="追逐时光者">追逐时光者</a> </span> <span class="common-blog-time">2025-03-23 18:23:17</span> <div class="common-blog-eye bbs-icon"></div> <span class='blog-number'>40</span> <div class="common-blog-bubbling bbs-icon"></div> <span class='blog-number'>0</span> <div class="common-blog-praise bbs-icon"></div> <span class='blog-number'>0</span> </div> <div class="m-current"> <div class="update-times-how">2025-03-23 18:23:17</div> <div class="common-blog-icons"> <div class="common-blog-eye"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/examine.png" alt=""></div> <span>40</span> <div class="common-blog-bubbling"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/comment.png" alt=""></div> <span>0</span> <div class="common-blog-praise"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/praise.png" alt=""></div> <span>0</span> </div> </div> </div> </div> <div class="blog-menu-footer"></div></div> <div class="blog-menu "><div class="blog-menu-header blog_no_attachment"> <a id="portal_usercenter_2_usernew_blog_title_cus_i_2" href="/blogs/417808" class="common-blog-title" title="企业应用开发中.NET EF常用哪种模式?" target="_blank" rel="noopener noreferrer" style="margin-left:0px">企业应用开发中.NET EF常用哪种模式? </span></a></div> <div class="blog-menu-content cf"> <a id="portal_usercenter_2_usernew_litimg_type_cus_i_2" href="/blogs/22194fda0c0e4aa2950bffbe2285d443" class="blog-menu-content-left" target="_blank" rel="noopener noreferrer"><img style="width:240px;height:135px;" path="https://bbs-img.huaweicloud.com/blogs/img/20231214/1702486384048539998.jpg" src="https://bbs-img.huaweicloud.com/blogs/img/20231214/1702486384048539998.jpg"></a> <div class="blog-menu-content-right cf" style= "min-height: 84px"> <a id="portal_usercenter_2_usernew_litimg_type2_cus_i_2" class="common-blog-text" style="-webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; word-wrap: break-word; word-break:break-all;width:100%;">前言本篇文章来源于微信技术群小伙伴的提问,在企业应用开发中.NET ORM EF常用哪种模式进行开发?今天我们一起来了解一下EF开发的三种模式。EF/EF Core介绍Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术,EF Core 是适用于 .NET 的现代对象数据库映射器。它支持 LINQ 查询、...</a> <div class="other-blog-tags"> <span data-href="https://developer.huaweicloud.com/tags/200423/blog_1" title=".NET">.NET</span> <span data-href="https://developer.huaweicloud.com/tags/200742/blog_1" title="数据库">数据库</span> </div> <div class="common-blog-icons pc_current"> <a id="portal_usercenter_2_usernew_author_type2_cus_i_1" href="/community/usersnew/id_1700830147186519" class="author-min-head" target="_blank" rel="noopener noreferrer"> <img src='https://bbs-img.huaweicloud.com/user/img/head/images_170083045593872.jpeg' alt="作者小头像" style="border-radius: 12px;"/> </a> <span> <a id="portal_usercenter_2_usernew_author2_type2_cus_i_1" href="/community/usersnew/id_1700830147186519" class="sub-content-username" target="_blank" rel="noopener noreferrer" title="追逐时光者">追逐时光者</a> </span> <span class="common-blog-time">2025-03-12 02:37:50</span> <div class="common-blog-eye bbs-icon"></div> <span class='blog-number'>5034</span> <div class="common-blog-bubbling bbs-icon"></div> <span class='blog-number'>0</span> <div class="common-blog-praise bbs-icon"></div> <span class='blog-number'>0</span> </div> <div class="m-current"> <div class="update-times-how">2025-03-12 02:37:50</div> <div class="common-blog-icons"> <div class="common-blog-eye"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/examine.png" alt=""></div> <span>999+</span> <div class="common-blog-bubbling"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/comment.png" alt=""></div> <span>0</span> <div class="common-blog-praise"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/praise.png" alt=""></div> <span>0</span> </div> </div> </div> </div> <div class="blog-menu-footer"></div></div> <div class="blog-menu "><div class="blog-menu-header blog_no_attachment"> <a id="portal_usercenter_2_usernew_blog_title_cus_i_3" href="/blogs/448529" class="common-blog-title" title="互联网寒冬下,如何写好一份.NET求职简历?附带简洁免费的简历模板!!!" target="_blank" rel="noopener noreferrer" style="margin-left:0px">互联网寒冬下,如何写好一份.NET求职简历?附带简洁免费的简历模板!!! </span></a></div> <div class="blog-menu-content cf"> <a id="portal_usercenter_2_usernew_litimg_type_cus_i_3" href="/blogs/3ff63e2ce0e84dfb954497b36dcb3909" class="blog-menu-content-left" target="_blank" rel="noopener noreferrer"><img style="width:240px;height:135px;" path="https://bbs-img.huaweicloud.com/blogs/img/20250306/1741264285754778598.png" src="https://bbs-img.huaweicloud.com/blogs/img/20250306/1741264285754778598.png"></a> <div class="blog-menu-content-right cf" style= "min-height: 84px"> <a id="portal_usercenter_2_usernew_litimg_type2_cus_i_3" class="common-blog-text" style="-webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; word-wrap: break-word; word-break:break-all;width:100%;">前言在当今互联网行业的寒冬时期,每一位求职者都面临着更为激烈的竞争环境,如何在众多.NET候选人中脱颖而出,成为企业心仪的对象,用心准备一份简历显得尤为重要。简历不仅是个人职业经历的简要概述,更是向潜在雇主、HR展示你专业技能、项目经验、个人特质以及求职诚意的关键名片。大姚作为一名多年的.NET开发者和面试官(距今已面试过超 130+ .NET开发者),对此个人有些小感悟和心得想要和大家分享...</a> <div class="other-blog-tags"> <span data-href="https://developer.huaweicloud.com/tags/200423/blog_1" title=".NET">.NET</span> </div> <div class="common-blog-icons pc_current"> <a id="portal_usercenter_2_usernew_author_type2_cus_i_0" href="/community/usersnew/id_1700830147186519" class="author-min-head" target="_blank" rel="noopener noreferrer"> <img src='https://bbs-img.huaweicloud.com/user/img/head/images_170083045593872.jpeg' alt="作者小头像" style="border-radius: 12px;"/> </a> <span> <a id="portal_usercenter_2_usernew_author2_type2_cus_i_0" href="/community/usersnew/id_1700830147186519" class="sub-content-username" target="_blank" rel="noopener noreferrer" title="追逐时光者">追逐时光者</a> </span> <span class="common-blog-time">2025-03-06 20:32:29</span> <div class="common-blog-eye bbs-icon"></div> <span class='blog-number'>233</span> <div class="common-blog-bubbling bbs-icon"></div> <span class='blog-number'>0</span> <div class="common-blog-praise bbs-icon"></div> <span class='blog-number'>0</span> </div> <div class="m-current"> <div class="update-times-how">2025-03-06 20:32:29</div> <div class="common-blog-icons"> <div class="common-blog-eye"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/examine.png" alt=""></div> <span>233</span> <div class="common-blog-bubbling"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/comment.png" alt=""></div> <span>0</span> <div class="common-blog-praise"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/praise.png" alt=""></div> <span>0</span> </div> </div> </div> </div> <div class="blog-menu-footer"></div></div> <div class="blog-menu "><div class="blog-menu-header blog_no_attachment"> <a id="portal_usercenter_2_usernew_blog_title_cus_i_4" href="/blogs/448468" class="common-blog-title" title=".NET 10首个预览版发布:重大改进与新特性概览!" target="_blank" rel="noopener noreferrer" style="margin-left:0px">.NET 10首个预览版发布:重大改进与新特性概览! </span></a></div> <div class="blog-menu-content cf"> <a id="portal_usercenter_2_usernew_litimg_type_cus_i_4" href="/blogs/87ff68927d9f4d939d71b58cfcadcccf" class="blog-menu-content-left" target="_blank" rel="noopener noreferrer"><img style="width:240px;height:135px;" path="https://bbs-img.huaweicloud.com/blogs/img/20250305/1741176939812168571.png" src="https://bbs-img.huaweicloud.com/blogs/img/20250305/1741176939812168571.png"></a> <div class="blog-menu-content-right cf" style= "min-height: 84px"> <a id="portal_usercenter_2_usernew_litimg_type2_cus_i_4" class="common-blog-text" style="-webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; word-wrap: break-word; word-break:break-all;width:100%;">前言.NET 团队于2025年2月25日发布博文,宣布推出 .NET 10 首个预览版更新,重点改进.NET Runtime、SDK、Libraries 、C#、ASP.NET Core、Blazor 和.NET MAUI 等。.NET 10介绍.NET 10 是 .NET 9 的后继版本,将作为长期支持维护 (LTS) 版本提供 3 年的支持。下载 .NET 10https://dotne...</a> <div class="other-blog-tags"> <span data-href="https://developer.huaweicloud.com/tags/200423/blog_1" title=".NET">.NET</span> </div> <div class="common-blog-icons pc_current"> <a id="portal_usercenter_2_usernew_author_type2_cus_i_0" href="/community/usersnew/id_1700830147186519" class="author-min-head" target="_blank" rel="noopener noreferrer"> <img src='https://bbs-img.huaweicloud.com/user/img/head/images_170083045593872.jpeg' alt="作者小头像" style="border-radius: 12px;"/> </a> <span> <a id="portal_usercenter_2_usernew_author2_type2_cus_i_0" href="/community/usersnew/id_1700830147186519" class="sub-content-username" target="_blank" rel="noopener noreferrer" title="追逐时光者">追逐时光者</a> </span> <span class="common-blog-time">2025-03-05 20:16:14</span> <div class="common-blog-eye bbs-icon"></div> <span class='blog-number'>195</span> <div class="common-blog-bubbling bbs-icon"></div> <span class='blog-number'>0</span> <div class="common-blog-praise bbs-icon"></div> <span class='blog-number'>0</span> </div> <div class="m-current"> <div class="update-times-how">2025-03-05 20:16:14</div> <div class="common-blog-icons"> <div class="common-blog-eye"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/examine.png" alt=""></div> <span>195</span> <div class="common-blog-bubbling"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/comment.png" alt=""></div> <span>0</span> <div class="common-blog-praise"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/praise.png" alt=""></div> <span>0</span> </div> </div> </div> </div> <div class="blog-menu-footer"></div></div> <div class="blog-menu "><div class="blog-menu-header blog_no_attachment"> <a id="portal_usercenter_2_usernew_blog_title_cus_i_5" href="/blogs/448465" class="common-blog-title" title="C#之 Dictionary 详解" target="_blank" rel="noopener noreferrer" style="margin-left:0px">C#之 Dictionary 详解 </span></a></div> <div class="blog-menu-content cf"> <a id="portal_usercenter_2_usernew_litimg_type_cus_i_5" href="/blogs/6cc867c6d87c40ec8a00bf0d2413143b" class="blog-menu-content-left" target="_blank" rel="noopener noreferrer"><img style="width:240px;height:135px;" path="https://bbs-img.huaweicloud.com/blogs/img/20250305/1741176647706491111.jpg" src="https://bbs-img.huaweicloud.com/blogs/img/20250305/1741176647706491111.jpg"></a> <div class="blog-menu-content-right cf" style= "min-height: 84px"> <a id="portal_usercenter_2_usernew_litimg_type2_cus_i_5" class="common-blog-text" style="-webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; word-wrap: break-word; word-break:break-all;width:100%;">基本概念Dictionary<TKey, TValue>是C#中用于存储键值对集合的泛型类,属于System.Collections.Generic命名空间。它允许使用键(Key)来访问与其关联的值(Value)。其中,TKey表示字典中键的类型,TValue表示字典中值的类型。Dictionary的基本结构键(Key):唯一标识集合中的一个元素。键是唯一的,不能有重复。值(Value):与...</a> <div class="other-blog-tags"> <span data-href="https://developer.huaweicloud.com/tags/200627/blog_1" title="C#">C#</span> </div> <div class="common-blog-icons pc_current"> <a id="portal_usercenter_2_usernew_author_type2_cus_i_0" href="/community/usersnew/id_1700830147186519" class="author-min-head" target="_blank" rel="noopener noreferrer"> <img src='https://bbs-img.huaweicloud.com/user/img/head/images_170083045593872.jpeg' alt="作者小头像" style="border-radius: 12px;"/> </a> <span> <a id="portal_usercenter_2_usernew_author2_type2_cus_i_0" href="/community/usersnew/id_1700830147186519" class="sub-content-username" target="_blank" rel="noopener noreferrer" title="追逐时光者">追逐时光者</a> </span> <span class="common-blog-time">2025-03-05 20:10:55</span> <div class="common-blog-eye bbs-icon"></div> <span class='blog-number'>173</span> <div class="common-blog-bubbling bbs-icon"></div> <span class='blog-number'>0</span> <div class="common-blog-praise bbs-icon"></div> <span class='blog-number'>0</span> </div> <div class="m-current"> <div class="update-times-how">2025-03-05 20:10:55</div> <div class="common-blog-icons"> <div class="common-blog-eye"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/examine.png" alt=""></div> <span>173</span> <div class="common-blog-bubbling"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/comment.png" alt=""></div> <span>0</span> <div class="common-blog-praise"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/praise.png" alt=""></div> <span>0</span> </div> </div> </div> </div> <div class="blog-menu-footer"></div></div> <div class="blog-menu "><div class="blog-menu-header blog_no_attachment"> <a id="portal_usercenter_2_usernew_blog_title_cus_i_6" href="/blogs/446884" class="common-blog-title" title="C#字符串拼接的6种方式及其性能分析对比" target="_blank" rel="noopener noreferrer" style="margin-left:0px">C#字符串拼接的6种方式及其性能分析对比 </span></a></div> <div class="blog-menu-content cf"> <a id="portal_usercenter_2_usernew_litimg_type_cus_i_6" href="/blogs/58a40babb7314308a1423202fa3a603a" class="blog-menu-content-left" target="_blank" rel="noopener noreferrer"><img style="width:240px;height:135px;" path="https://bbs-img.huaweicloud.com/blogs/img/20250213/1739451577818947413.png" src="https://bbs-img.huaweicloud.com/blogs/img/20250213/1739451577818947413.png"></a> <div class="blog-menu-content-right cf" style= "min-height: 84px"> <a id="portal_usercenter_2_usernew_litimg_type2_cus_i_6" class="common-blog-text" style="-webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; word-wrap: break-word; word-break:break-all;width:100%;">前言在C#编程中字符串拼接是一种常见且基础的操作,广泛应用于各种场景,如动态生成SQL查询、构建日志信息、格式化用户显示内容等。然而,不同的字符串拼接方式在性能和内存使用上可能存在显著差异。今天咱们一起来看看在C#中字符串拼接的常见6种方式及其使用BenchmarkDotNet进行性能分析对比。BenchmarkDotNetBenchmarkDotNet是一个基于.NET开源、功能全面、易于...</a> <div class="other-blog-tags"> <span data-href="https://developer.huaweicloud.com/tags/200627/blog_1" title="C#">C#</span> <span data-href="https://developer.huaweicloud.com/tags/200608/blog_1" title="面向对象编程">面向对象编程</span> </div> <div class="common-blog-icons pc_current"> <a id="portal_usercenter_2_usernew_author_type2_cus_i_1" href="/community/usersnew/id_1700830147186519" class="author-min-head" target="_blank" rel="noopener noreferrer"> <img src='https://bbs-img.huaweicloud.com/user/img/head/images_170083045593872.jpeg' alt="作者小头像" style="border-radius: 12px;"/> </a> <span> <a id="portal_usercenter_2_usernew_author2_type2_cus_i_1" href="/community/usersnew/id_1700830147186519" class="sub-content-username" target="_blank" rel="noopener noreferrer" title="追逐时光者">追逐时光者</a> </span> <span class="common-blog-time">2025-02-13 20:59:59</span> <div class="common-blog-eye bbs-icon"></div> <span class='blog-number'>251</span> <div class="common-blog-bubbling bbs-icon"></div> <span class='blog-number'>0</span> <div class="common-blog-praise bbs-icon"></div> <span class='blog-number'>0</span> </div> <div class="m-current"> <div class="update-times-how">2025-02-13 20:59:59</div> <div class="common-blog-icons"> <div class="common-blog-eye"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/examine.png" alt=""></div> <span>251</span> <div class="common-blog-bubbling"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/comment.png" alt=""></div> <span>0</span> <div class="common-blog-praise"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/praise.png" alt=""></div> <span>0</span> </div> </div> </div> </div> <div class="blog-menu-footer"></div></div> <div class="blog-menu "><div class="blog-menu-header blog_no_attachment"> <a id="portal_usercenter_2_usernew_blog_title_cus_i_7" href="/blogs/446453" class="common-blog-title" title="一个基于 C# 开源的第三方 OAuth2 授权登录整合库" target="_blank" rel="noopener noreferrer" style="margin-left:0px">一个基于 C# 开源的第三方 OAuth2 授权登录整合库 </span></a></div> <div class="blog-menu-content cf"> <a id="portal_usercenter_2_usernew_litimg_type_cus_i_7" href="/blogs/81f1e046a40a4867b185cc00fe07b179" class="blog-menu-content-left" target="_blank" rel="noopener noreferrer"><img style="width:240px;height:135px;" path="https://bbs-img.huaweicloud.com/blogs/img/20250206/1738845401855115069.png" src="https://bbs-img.huaweicloud.com/blogs/img/20250206/1738845401855115069.png"></a> <div class="blog-menu-content-right cf" style= "min-height: 84px"> <a id="portal_usercenter_2_usernew_litimg_type2_cus_i_7" class="common-blog-text" style="-webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; word-wrap: break-word; word-break:break-all;width:100%;">前言在我们的开发工作中有可能会对接过各种各样的第三方平台的登录授权,来获取用户的相关账号信息(如:微信登录、支付宝登录、飞书登录、钉钉登录、GitHub登录等等)。今天大姚给大家推荐一个基于 C# 开源的第三方 OAuth2 授权登录整合库:Netnr.Login。项目介绍Netnr.Login是一个基于 C# 开源(MIT License)的第三方 OAuth2 授权登录整合库,集成了QQ...</a> <div class="other-blog-tags"> <span data-href="https://developer.huaweicloud.com/tags/200627/blog_1" title="C#">C#</span> </div> <div class="common-blog-icons pc_current"> <a id="portal_usercenter_2_usernew_author_type2_cus_i_0" href="/community/usersnew/id_1700830147186519" class="author-min-head" target="_blank" rel="noopener noreferrer"> <img src='https://bbs-img.huaweicloud.com/user/img/head/images_170083045593872.jpeg' alt="作者小头像" style="border-radius: 12px;"/> </a> <span> <a id="portal_usercenter_2_usernew_author2_type2_cus_i_0" href="/community/usersnew/id_1700830147186519" class="sub-content-username" target="_blank" rel="noopener noreferrer" title="追逐时光者">追逐时光者</a> </span> <span class="common-blog-time">2025-02-06 20:37:21</span> <div class="common-blog-eye bbs-icon"></div> <span class='blog-number'>265</span> <div class="common-blog-bubbling bbs-icon"></div> <span class='blog-number'>0</span> <div class="common-blog-praise bbs-icon"></div> <span class='blog-number'>0</span> </div> <div class="m-current"> <div class="update-times-how">2025-02-06 20:37:21</div> <div class="common-blog-icons"> <div class="common-blog-eye"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/examine.png" alt=""></div> <span>265</span> <div class="common-blog-bubbling"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/comment.png" alt=""></div> <span>0</span> <div class="common-blog-praise"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/praise.png" alt=""></div> <span>0</span> </div> </div> </div> </div> <div class="blog-menu-footer"></div></div> <div class="blog-menu "><div class="blog-menu-header blog_no_attachment"> <a id="portal_usercenter_2_usernew_blog_title_cus_i_8" href="/blogs/446411" class="common-blog-title" title="C#使用yield关键字提升迭代性能与效率" target="_blank" rel="noopener noreferrer" style="margin-left:0px">C#使用yield关键字提升迭代性能与效率 </span></a></div> <div class="blog-menu-content cf"> <a id="portal_usercenter_2_usernew_litimg_type_cus_i_8" href="/blogs/f335de844ff64f1682d551093fe106bb" class="blog-menu-content-left" target="_blank" rel="noopener noreferrer"><img style="width:240px;height:135px;" path="https://bbs-img.huaweicloud.com/blogs/img/20250205/1738756374505497304.png" src="https://bbs-img.huaweicloud.com/blogs/img/20250205/1738756374505497304.png"></a> <div class="blog-menu-content-right cf" style= "min-height: 84px"> <a id="portal_usercenter_2_usernew_litimg_type2_cus_i_8" class="common-blog-text" style="-webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; word-wrap: break-word; word-break:break-all;width:100%;">前言yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,减少了内存占用,并允许在迭代时执行复杂逻辑。传统迭代和yield迭代方式对比咱们来看看传统迭代方式和yield关键字迭代方式对比,是否如传说中的代码实现起来更简洁和高效: /// <summary> /// 传统迭代方式和yield关键字迭代方式对比 /// </...</a> <div class="other-blog-tags"> <span data-href="https://developer.huaweicloud.com/tags/200627/blog_1" title="C#">C#</span> <span data-href="https://developer.huaweicloud.com/tags/201906/blog_1" title="yield">yield</span> </div> <div class="common-blog-icons pc_current"> <a id="portal_usercenter_2_usernew_author_type2_cus_i_1" href="/community/usersnew/id_1700830147186519" class="author-min-head" target="_blank" rel="noopener noreferrer"> <img src='https://bbs-img.huaweicloud.com/user/img/head/images_170083045593872.jpeg' alt="作者小头像" style="border-radius: 12px;"/> </a> <span> <a id="portal_usercenter_2_usernew_author2_type2_cus_i_1" href="/community/usersnew/id_1700830147186519" class="sub-content-username" target="_blank" rel="noopener noreferrer" title="追逐时光者">追逐时光者</a> </span> <span class="common-blog-time">2025-02-05 19:53:37</span> <div class="common-blog-eye bbs-icon"></div> <span class='blog-number'>325</span> <div class="common-blog-bubbling bbs-icon"></div> <span class='blog-number'>0</span> <div class="common-blog-praise bbs-icon"></div> <span class='blog-number'>0</span> </div> <div class="m-current"> <div class="update-times-how">2025-02-05 19:53:37</div> <div class="common-blog-icons"> <div class="common-blog-eye"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/examine.png" alt=""></div> <span>325</span> <div class="common-blog-bubbling"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/comment.png" alt=""></div> <span>0</span> <div class="common-blog-praise"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/praise.png" alt=""></div> <span>0</span> </div> </div> </div> </div> <div class="blog-menu-footer"></div></div> <div class="blog-menu "><div class="blog-menu-header blog_no_attachment"> <a id="portal_usercenter_2_usernew_blog_title_cus_i_9" href="/blogs/446410" class="common-blog-title" title="一组开源、免费、Metro风格的 WPF UI 控件库 - MahApps.Metro" target="_blank" rel="noopener noreferrer" style="margin-left:0px">一组开源、免费、Metro风格的 WPF UI 控件库 - MahApps.Metro </span></a></div> <div class="blog-menu-content cf"> <a id="portal_usercenter_2_usernew_litimg_type_cus_i_9" href="/blogs/ff33c6dc5f614ccb900482bb13bf66e6" class="blog-menu-content-left" target="_blank" rel="noopener noreferrer"><img style="width:240px;height:135px;" path="https://bbs-img.huaweicloud.com/blogs/img/20250205/1738756265044385780.png" src="https://bbs-img.huaweicloud.com/blogs/img/20250205/1738756265044385780.png"></a> <div class="blog-menu-content-right cf" style= "min-height: 84px"> <a id="portal_usercenter_2_usernew_litimg_type2_cus_i_9" class="common-blog-text" style="-webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; word-wrap: break-word; word-break:break-all;width:100%;">前言今天大姚给大家分享一个开源、免费、Metro风格的 WPF UI 控件库:MahApps.Metro。项目介绍MahApps.Metro 是一个开源、免费、Metro风格的 WPF UI 控件库,提供了现代化、平滑和美观的控件和样式,帮助开发人员轻松创建具有现代感的 Windows 桌面应用程序。支持版本支持 .NET Framework 4.6.2 及更高版本、.NET Core 3....</a> <div class="other-blog-tags"> <span data-href="https://developer.huaweicloud.com/tags/200683/blog_1" title="GitHub">GitHub</span> <span data-href="https://developer.huaweicloud.com/tags/200150/blog_1" title="WPF">WPF</span> </div> <div class="common-blog-icons pc_current"> <a id="portal_usercenter_2_usernew_author_type2_cus_i_1" href="/community/usersnew/id_1700830147186519" class="author-min-head" target="_blank" rel="noopener noreferrer"> <img src='https://bbs-img.huaweicloud.com/user/img/head/images_170083045593872.jpeg' alt="作者小头像" style="border-radius: 12px;"/> </a> <span> <a id="portal_usercenter_2_usernew_author2_type2_cus_i_1" href="/community/usersnew/id_1700830147186519" class="sub-content-username" target="_blank" rel="noopener noreferrer" title="追逐时光者">追逐时光者</a> </span> <span class="common-blog-time">2025-02-05 19:52:16</span> <div class="common-blog-eye bbs-icon"></div> <span class='blog-number'>308</span> <div class="common-blog-bubbling bbs-icon"></div> <span class='blog-number'>0</span> <div class="common-blog-praise bbs-icon"></div> <span class='blog-number'>0</span> </div> <div class="m-current"> <div class="update-times-how">2025-02-05 19:52:16</div> <div class="common-blog-icons"> <div class="common-blog-eye"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/examine.png" alt=""></div> <span>308</span> <div class="common-blog-bubbling"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/comment.png" alt=""></div> <span>0</span> <div class="common-blog-praise"><img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/praise.png" alt=""></div> <span>0</span> </div> </div> </div> </div> <div class="blog-menu-footer"></div></div> <div class="page-customize"> <div class="pager ucd-pager"> <span class="ucd-pager-count" data-count="296">总条数:296</span> <div> <div class="ucd-pager-size"> <div class="pager-size" id="pageSize"> <span id="pageSize" data-value="10">10</span> <span class="pager-size-icon"></span> </div> <div class="pager-select"> <div class="pager-select-option" data-value="10">10</div> <div class="pager-select-option" data-value="20">20</div> <div class="pager-select-option" data-value="50">50</div> <div class="pager-select-option" data-value="100">100</div> </div> </div> <ul class="ucd-pager-pages"> <li id="prev_" class="ucd-pager-btn ucd-pager-prev disabled"><span></span></li> <li class="ucd-pager-page active"><a data-page="1">1</a></li> <li class="ucd-pager-page"><a data-page="2">2</a></li> <li class="ucd-pager-page"><a data-page="3">3</a></li> <li class="ucd-pager-page"><a data-page="4">4</a></li> <li class="ucd-pager-page"><a data-page="5">5</a></li> <li class="ucd-pager-page"><a data-page="6">6</a></li> <li class="ucd-pager-ellipsis"><span>...</span></li> <li class="ucd-pager-page"><a data-page="30">30</a></li> <li class="ucd-pager-btn ucd-pager-next"> <a data-page="2" > <span class="ucd-icon ucd-icon-next"></span> </a> </li> </ul> </div> </div> </div> </div> <input type="hidden" id="mobilePageNo" value="1" maxPage="30" /> <p id="UpData" data-num="1">上滑加载中</p> <div class="blog-menu-model" style="display:none;"> <div class="blog-menu-header"> <a class="common-blog-title" target="_blank" rel="noopener noreferrer" style="margin-left:0px"></a> </div> <div class="blog-menu-content cf"> <div class="blog-menu-content-right cf" style="width: 880px;margin-top: 20px;"> <a class="common-blog-text" style="float: left; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; word-wrap: break-word; word-break:break-all;width: 100%;">https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=0&rsv_idx=1&tn=baidu&wd=sed%20%E6%9B%BF%E6%8D%A2%E5%AD%97%E7%AC%A6%E4%B8%B2&rsv_pq=c7db61a600035dc5&rsv_t=5e19yEsbV9N5fIvdlGRU</a> <div class="common-blog-icons pc_current"> <a class="author-min-head" target="_blank" rel="noopener noreferrer"><img alt="作者小头像" style="border-radius: 12px;"></a> <span><a class="sub-content-username" target="_blank" rel="noopener noreferrer"></a></span> <div class="common-blog-eye bbs-icon"> </div> <span></span> <div class="common-blog-bubbling bbs-icon"> </div> <span></span> <div class="common-blog-praise bbs-icon"> </div> <span></span> </div> <div class="m-current"> <div class="update-times-how"></div> <div class="common-blog-icons"> <a class="author-min-head" target="_blank" rel="noopener noreferrer"><img alt="作者小头像" style="border-radius: 12px;"></a> <span><a class="sub-content-username" target="_blank" rel="noopener noreferrer"></a></span> <div class="common-blog-eye"> <img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/examine.png" alt=""> </div> <span></span> <div class="common-blog-bubbling"> <img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/comment.png" alt=""> </div> <span></span> <div class="common-blog-praise"> <img src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/images/praise.png" alt=""> </div> <span></span> </div> </div> <div> </div> <div class="main-content"> </div> </div> </div> <div class="blog-menu-footer"> <a class="common-blog-menu-btn title_banner_7" target="_blank" rel="noopener noreferrer" title="快速交付" mate_data_ts="portal_v4_community.click.toptag_快速交付_PersonalCenter">快速交付</a><a id="portal_usercenter_6_iblognew_article_7_tag_3" class="common-blog-menu-btn title_banner_7" target="_blank" rel="noopener noreferrer"></a> </div> </div> </div> <div class='bottomDiv'> <a id="portal_usercenter_2_guanzhu2" class="btn-follow por-btn por-btn-primary top-userinfo-follow-btn1 bottom-concern" data-type="1" data-id="1700830147186519" >+ 关注</a> </div> </div> <div id="footer" hidden> </div> </body> </html> <!--<div id="footer">--> <script> var pep2JsCssUrl = 'https://res-static.hc-cdn.cn/aem'; var headerLocation = 'https://www.huaweicloud.com'; var domainSsoDomain = 'https://auth.huaweicloud.com'; var domainBbsDomain = 'https://bbs.huaweicloud.com'; var domainPortal = 'https://portal.huaweicloud.com'; var cbcBbsImg = 'https://bbs-img.huaweicloud.com'; var fuxiStatic = 'https://res.hc-cdn.com/ecology'; var staticVersion = '9.3.167'; var domainReg = 'https://reg.huaweicloud.com'; var networkBbsDomain = 'https://bbs.huaweicloud.com'; var networkDeveloper = 'https://developer.huaweicloud.com'; var networkEdu = 'https://edu.huaweicloud.com'; var blogId = ''; var devdataDomain = 'https://devdata.huaweicloud.com'; var pep2HtmlUrl = 'https://developer.huaweicloud.com'; var fsDomain = 'https://fileserver.developer.huaweicloud.com/FileServer/uploadFile'; function appendNoDataDom(_parentsNode) { var noDataDom = ''; noDataDom += ' <div class="no-data-box" style="margin-bottom: 200px;"> '; noDataDom += ' <div class="icon-nodata"></div> '; noDataDom += ' <div class="no-data-info">数据开小差,请稍后再试</div> '; noDataDom += ' </div> '; _parentsNode.empty().append(noDataDom); } </script> <script src="https://portal.hc-cdn.com/cnpm-baseui/2.8.11/Baseui.index.umd.js"></script> <script src="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-develop/archive/china/zh-cn/developer/developer-page/js/header-message.js"></script> <script src="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-site/archive/commons/apm/wise_trace.min.js"></script> <script src="https://res.hc-cdn.com/ecology/9.3.167/js/v1/jquery.base64.js"></script> <script src="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-develop/archive/china/zh-cn/developer/developer-page/js/developer-crosssite.js"></script> <script src="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-site/archive/commons/3rdlib/polyfill/polyfill.min.js"></script> <script src="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-site/archive/commons/web_resoure/cms/static/js/v2/appCustom.js"></script> <script src="https://portal.hc-cdn.com/cnpm-link-to/3.1.9/LinkTo.umd.js"></script> <script src="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-develop/archive/china/zh-cn/developer/developer-page/js/developer-modal.js"></script> <script src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/js/content-footer-setLocation.js"></script> <script src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/js/ydcommbi.js"></script> <script src="https://portal.hc-cdn.com/bi/uba.js"></script> <script src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/js/content-footer-login.js"></script> <script src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/js/content-footer-catchException.js"></script> <script src="https://res.hc-cdn.com/ecology/9.3.167/libs/jquery/jquery.form.js"></script> <script src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/wechat/js/wxshare.min.js"></script> <script src="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-develop/archive/china/zh-cn/developer/developer-page/js/weixinshare.js"></script> <script src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/js/content-footer-setName.js"></script> <script src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/js/content-footer-common.js"></script> <!--</div>--> <!--js--> <script src="https://res.hc-cdn.com/ecology/9.3.167/v2_resources/ydcomm/js/radar.js"></script> <script src="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-develop/archive/china/zh-cn/developer/developer-page/js/developer-modal.js"></script> <script type="text/javascript"> var detailModal = new DeveloperModal({ modalId: "detailModal" }); var win_width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; if (win_width <= 768) { // 移动端关注和粉丝不可点击 $('#portal_usercenter_2_guanzhu2').attr('href','javascript:void(0);'); $('#portal_usercenter_2_fensi').attr('href','javascript:void(0);'); $('.userPage-info-type a').attr('href','javascript:void(0);'); if ($('.leader-fans').hasClass('list-actived')) { $('.leader-follow').removeClass('list-actived') } } if (win_width > 768) { $('.userPage-concernNum').hover(function(){ $('.userPage-concernNum span').css('color','#c7000b') },function(){ $('.userPage-info-type').css('color','#8a8e99') $('.userPage-info-number').css('color','black') }) $('.userPage-FansNum').hover(function(){ $('.userPage-FansNum span').css('color','#c7000b') },function(){ $('.userPage-info-type').css('color','#8a8e99') $('.userPage-info-number').css('color','black') }) } function otherBlogsSubmitFocus($elem) { var _this = $elem; var type = parseInt($elem.attr('data-type')); var id = $elem.attr('data-id'); var s = { "memberId": id, "type": type, }; $.ajax({ type: "post", url: 'https://devdata.huaweicloud.com/rest/developer/fwdu/rest/developer/user/hdcommunityservice/v1/member/change-relation', data: JSON.stringify(s), xhrFields: { withCredentials: true }, contentType: "application/json;charset=utf-8", dataType: "json", headers:{"csrf":getCsrfa()}, success: function (data) { if (data.code === "HD.10240049") { //去登录,跳转到登录页 window.location.href = "https://auth.huaweicloud.com/authui/login?service="+window.location.href+"&locale=zh-cn"; } if (type == 1) { //添加关注 _this.attr('data-type', 2); _this.text("取消关注"); _this.removeClass('active-follow'); _this.removeClass('por-btn-primary'); _this.addClass('cancel-follow'); if(_this.hasClass('people_info')) { var fansNum = _this.parents(".personal-center-following-my-following").find(".fans_num label").text() - 0; fansNum = fansNum + 1; if (fansNum < 0) fansNum = 0; _this.parents(".personal-center-following-my-following").find(".follow-fans-num label").text(fansNum); } else { var fansNum = $("#portal_usercenter_2_fensi").text() - 0; fansNum = fansNum + 1; if (fansNum < 0) fansNum = 0; $("#portal_usercenter_2_fensi").text(fansNum); } // 埋点 sendBiReport('bbs_v2_personalCenter', domain_pre, window.jsonParamEvent, 'success'); } else if (type == 2) { //取消关注 _this.attr('data-type', 1); _this.addClass('active-follow'); if(_this.hasClass('left-concern') || _this.hasClass('bottom-concern')) { _this.addClass('por-btn-primary'); } _this.removeClass('cancel-follow'); _this.text("+ 关注"); if(_this.hasClass('people_info') || _this.hasClass('cancel-follow')) { var fansNum = _this.parents(".personal-center-following-my-following").find(".fans_num label").text() - 0; fansNum = fansNum - 1; if (fansNum < 0) fansNum = 0; _this.parents(".personal-center-following-my-following").find(".follow-fans-num label").text(fansNum); } else { var fansNum = $("#portal_usercenter_2_fensi").text() - 0; fansNum = fansNum - 1; if (fansNum < 0) fansNum = 0; $("#portal_usercenter_2_fensi").text(fansNum); } // 埋点 sendBiReport('bbs_v2_personalCenter', domain_pre, window.jsonParamEvent, 'success'); } }, error: function(x, t, m){ var data = x.responseJSON; if (typeof formatDataCodeFn === 'function') { formatDataCodeFn(data); } if (data && data.code && developerErrMsg[data.code]) { detailModal.setMsg(developerErrMsg[data.code]); detailModal.show(); } else { detailModal.setMsg(developerErrMsg['sysError']); detailModal.show(); } // 埋点 sendBiReport('bbs_v2_personalCenter', domain_pre, window.jsonParamEvent, 'failure_'+data.code); } }); } //关注或取消,data-type=1,未关注,点击加关注;data-type=2,已关注,点击取消关注; $(document).on('click', ".btn-follow",function () { var checkIfLogin = checkIsLogin(); if (!checkIfLogin) { window.location.href = "https://auth.huaweicloud.com/authui/login?service=" + encodeURIComponent("https://devdata.huaweicloud.com/index/login?forwardUrl=" + window.location.href) + "&locale=zh-cn"; } else { checkDevProSign(otherBlogsSubmitFocus, true, $(this)); } }); // 勋章弹框 $('body').on('click', '.medal-list>ul>li', function () { $('.pop-medal-rule-list').empty(); $('.other-blog-modelInfo-img').attr('src', $(this).attr('data-img')); $('.pop-myinfo-title').text($(this).attr('data-name')); $('.pop-myinfo-level').text($(this).attr('data-level')); $('.pop-medal-time').text($(this).attr('data-time')); var arr = $(this).attr('data-behavior').toString().split(','); var num = $(this).attr('data-finishNum').toString().split(','); for (var i = 0; i < arr.length; i++) { $('.pop-medal-rule-list').append("<li>" + arr[i] + " " +num[i] + "次</li>"); } $('.totalNum').text($(this).attr('data-total')); $(".other-blog-modelInfo").css("display", "block"); }); $(".medalInfo-close-btn").on("click", function () { $(".other-blog-modelInfo").css("display", "none"); $("body,html").css({ "overflow": "" }); }); $('body').on('click', '.userPage-find-info', function () { $(".myinfo-mock-mb").css("display", "block") $("body,html").css({ "overflow": "hidden" }); }) $(".myinfo-close-btn").on("click", function () { $(".myinfo-mock-mb").css("display", "none"); $("body,html").css({ overflow: "" }); }); function changeFollowState(userId, page_, client) { if (userId == "") { return; } if ($(".top-userinfo-follow-btn1").length > 0 && $(".top-userinfo-follow-btn1").attr("data-id") == userId) { var hisFollowCount = "2"; var hisFansCount = "1"; var hisBlogCount = "295"; $(".userPage-part1-end").remove(); $(".bottomDiv").remove(); $("#UpData").css("margin-bottom", "0"); if(document.getElementsByClassName("container-blog-list") && hisFollowCount <= 10 && window.location.href.indexOf('follow') != -1) { $(".container-blog-list").css("margin-bottom", "0"); return; } if(document.getElementsByClassName("container-blog-list") && hisFansCount <= 10 && window.location.href.indexOf('fans') != -1) { $(".container-blog-list").css("margin-bottom", "0"); return; } if(document.getElementsByClassName("container-blog-list") && hisBlogCount <= 10 && window.location.href.indexOf('usersnew') != -1) { $(".container-blog-list").css("margin-bottom", "0"); return; } return; } var domDataType, domId, domBtnText; $.ajax({ type: "get", url: 'https://devdata.huaweicloud.com/rest/developer/fwdu/rest/developer/user/hdcommunityservice/v1/member/check-relation', data: { "memberID": $(".top-userinfo-follow-btn1").attr("data-id"), }, xhrFields: { withCredentials: true }, crossDomain: true, contentType: "application/json", dataType: "json", success: function (data) { if (data.relationType === 2) { domId = 1; domDataType = 2; domBtnText = "取消关注"; $('.left-concern').removeClass('por-btn-primary'); $('.bottom-concern').removeClass('por-btn-primary'); $('.left-concern').addClass('cancel-follow'); $('.bottom-concern').addClass('cancel-follow'); } if ( data.relationType === 1 || (data.code && data.code === "HD.10240004")) { domId = 2; domDataType = 1; domBtnText = "+ 关注"; $(this).addClass('active-follow'); } $(".top-userinfo-follow-btn1").attr("id","portal_usercenter" + page_ + "_hisfollow_guanzhu" + domId); $(".top-userinfo-follow-btn1").attr("data-type", domDataType); $(".top-userinfo-follow-btn1").html(domBtnText); }, error: function (x, t, m) { var data = x.responseJSON; if (typeof formatDataCodeFn === "function") { formatDataCodeFn(data); } if (data && data.code && developerErrMsg[data.code]) { detailModal.setMsg(developerErrMsg[data.code]); detailModal.show(); } }, }); } function afterLoginFn(author) { loginUserId = author.id; changeFollowState(loginUserId, '_2', (windowWidth > 768) ? 0 : 1); } window.afterLoginFn = afterLoginFn; function unescapeHTML(string) { return string.replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&").replace(/"/g, '"').replace(/'/g, "'"); } // 勋章收缩展开 $(function () { if (win_width > 768) { var htmlEscape = function(str) { if(str){ return str.replace(/[<>"&]/g, function(match, pos, originalText) { switch(match) { case "<": return "<"; case ">": return ">"; case "&": return "&"; case "\"":return """; } }); } else { return "" } } var introductionDescription = "公众号:「追逐时光者」,微软MVP、华为云开发者专家计划、华为云云享专家、51CTO专家博主、阿里云专家博主、博客园推荐博客、CSDN博客专家、CSDN .NET领域优质创作者、腾讯云创作之星,擅长.NET、.NET Core、Golang、Vue、Angular等相关技术开发。" introductionDescription = unescapeHTML(introductionDescription) if (introductionDescription != "这个人很懒,什么都没留下~") { var options2 = { content: htmlEscape(introductionDescription), position: "top-left", triggerEvent: "mouseenter", }; window.BaseUI.Tips($(".userPage-intro-content"), options2); } } //设置一个开关,记录展开和收缩 var count = "0"; var isExpand = false; if (win_width <= 768) { if (count <= 4) { $(".por-icon-down").css("display", "none"); $(".medal-list").css("margin-top", "18px"); } } else { if (count <= 5) { $(".por-icon-down").css("display", "none"); } } // 隐藏我的勋章 function expandMedals(type) { //点击按钮的时候改变开关的值 isExpand = !isExpand; if (isExpand === true) { $(".click-more-medal i").removeClass("por-icon-down").addClass("por-icon-up"); if (type === "pc") { $(".medal-list ul").children("li:gt(4)").show(); } else { $(".medal-list ul").children("li:gt(3)").show(); } } else { $(".click-more-medal i").removeClass("por-icon-up").addClass("por-icon-down"); if (type === "pc") { $(".medal-list ul").children("li:gt(4)").hide(); } else { $(".medal-list ul").children("li:gt(3)").hide(); } } } if (win_width <= 768) { $(".medal-list ul").children("li:gt(3)").hide(); } else { $(".medal-list ul").children("li:gt(4)").hide(); } // 展开收起 $(".click-more-medal").on("click", function () { if (win_width <= 768) { expandMedals("mobile"); } else { expandMedals("pc"); } }); // 雷达图 var description = '贡献,活跃,技术能力,学习,影响力'; var value = '1240,3,0,0,20'; var effectArr = '12,37,126,228,411,1142,2399,4112,6282,12565'; var contributionArr = '21,62,213,388,698,1940,4073,6983,10668,21336'; var studyArr = '4,10,36,65,117,323,679,1164,1778,3556'; var technologyArr = '12,34,118,216,388,1078,2263,3879,5927,11853'; var activeArr = '6,17,57,103,186,517,1086,1862,2845,5690'; var count = '0'; if(activeArr.length > 0 && contributionArr.length > 0 ) { effectArr = effectArr.split(','); contributionArr = contributionArr.split(','); studyArr = studyArr.split(','); value = value.split(','); technologyArr = technologyArr.split(','); activeArr = activeArr.split(','); var trueValue = []; function revert(arr, value) { if (Number(value) >= Number(arr[arr.length - 1])) { return 1; } var index = 0; var chazhi = 0; var sum = 0; for (var i = 0; i < arr.length; i++) { if (Number(value) < Number(arr[i]) && i >= 1) { index = i; chazhi = Number(value) - Number(arr[index - 1]); sum = Number(arr[index]) - Number(arr[index - 1]); break; } else if (Number(value) === Number(arr[i])) { index = i + 1; var res = index * 0.1; return res; } else if (Number(value) < Number(arr[i]) && i === 0) { return (Number(value) / arr[0]) * 0.1; } } var res = (index + (chazhi / sum)) * 0.1; return res; } var descriptionArr = description.split(',') if (win_width > 768) { var evenFillStyle = "#f5f5f6", oddFillStyle = "#f5f5f6", evenStrokeStyle = "#ADB0B8", oddStrokeStyle = "#ADB0B8"; scale = 0.54; } else if (win_width <= 768) { var evenFillStyle = "#fff", oddFillStyle = "#fff", evenStrokeStyle = "#ADB0B8", oddStrokeStyle = "#ADB0B8"; scale = 0.7; } if(value.length === 5) { trueValue.push(revert(contributionArr, value[0])); trueValue.push(revert(activeArr, value[1])); trueValue.push(revert(technologyArr, value[2])); trueValue.push(revert(studyArr, value[3])); trueValue.push(revert(effectArr, value[4])); radarChart.init(document.querySelector(".radar"), { data: { maxValue: [1, 1, 1, 1, 1], value: trueValue, description: descriptionArr }, config: { scale: scale, dataFill: { fillStyle: "rgba(199, 0, 11, .5)" }, bg: { layer: 5, evenFillStyle: evenFillStyle, oddFillStyle: oddFillStyle, evenStrokeStyle: evenStrokeStyle, oddStrokeStyle: oddStrokeStyle }, dataCircle: { r: 0.1, strokeStyle: "#C7000B", fillStyle: "rgba(199, 0, 11, .5)", lineWidth: 0.1 }, dataLine: { strokeStyle: "#C7000B", lineWidth: 1 }, font: { fontColor: "#575D6c" } } }); } } }); </script> <script src="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-develop/archive/china/zh-cn/developer/developer-page/js/pep-personal-left.js"></script> <script src="https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-develop/archive/china/zh-cn/developer/developer-page/js/developer-modal.js"></script> <script> var detailModal = new DeveloperModal({ modalId: "detailModal" }); //登录用户id var loginUserId; //pc端鼠标移到列表区域,博客标题变色 var windowWidth = $(window).width(); if(windowWidth > 768) { $(".common-blog-title").each(function(){ var _this= $(this); _this.parents(".blog-menu").on('mouseout',function(){ _this.css("color","#333"); }); _this.parents(".blog-menu").on('mouseover',function(){ _this.css("color","#1B79C8"); }); }); } function closeInfoDialog() { $("#infoDialog").removeClass("show"); } var windowWidth = $(window).width(); var winHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; if(windowWidth < 768 ){ var str= $(".user-profile-info").children("span").text(); var strlen if (str == "" || str == undefined){ strlen = 0 }else{ strlen = getByteLen(str) } if(strlen <80){ strs = str; $(".userPage-userinfo-content p span").text(str); }else{ strs=getBytesOfNum($(".user-profile-info").children("span").text(),78) + "..."; $(".userPage-userinfo-content p span").text(strs); $(".userPage-userinfo-content p b").text("查看全部"); $(".userPage-userinfo-content p b").show(); } $(".userPage-userinfo-content p b").click(function(){ if($(".userPage-userinfo-content p b").text()=="收起内容"){ $(".userPage-userinfo-content p span").text(strs); $(this).text("查看全部"); }else{ $(".userPage-userinfo-content p span").text(str); $(this).text("收起内容"); } }); var NickStr= $(".userPage-userinfo-content h1").children("span").text(); if(getByteLen(NickStr)>16){ NickStr = getBytesOfNum(NickStr,16) + "..."; $(".userPage-userinfo-content h1").children("span").text(NickStr); } if($(".userPage-userinfo-content p span").height()<30){ $(".userPage-userinfo-content p").css('text-align','center'); $(".userPage-userinfo-content p").css('text-indent',0); } $(".userPage-userinfo-content h1").css("color","#fff"); }else{ $(".userPage-userinfo-content p b").hide(); } //计算简介/昵称长度 function getByteLen(val) { var len = 0; for (var i = 0; i < val.length; i++) { var a = val.charAt(i); if (a.match(/[^\x00-\xff]/ig) != null) { len += 2; } else { len += 1; } } return len; } //导航按钮触发 $(".m-community-header .headmenu").click(function () { $(this).toggleClass("headmenu-active"); $(".headmenu-slide-down").slideToggle(); $("html").toggleClass("html_hidden"); }); $('.m-community-arrow').click(function(){ history.back(); }); if(windowWidth <= 768 ){ window.onload=function(){ $('html,body').animate({ scrollTop: 0 }, 10); }; //var toTopHeight = $(".personal-center-content-nav").offset().top; var toTopHeight = $(".personalNav").offset().top; setTimeout(function(){ $(window).scroll(function(){ //页面滚动到底部 加载更多文章 //滚动条到顶部的距离 var scrollTop = $(document).scrollTop(); //页面总高度 var allHeight = $("#UpData").offset() ? $("#UpData").offset().top : $(document).height(); //可视高度 var windowHeight = $(window).height(); //判断页面滚动超过导航时执行的代码 if ($(document).scrollTop() >= toTopHeight) { //检测是否为IE6。jQuery1.9中去掉了msie的方法,所以只好这样写 if ('undefined' == typeof(document.body.style.maxHeight)) { //页面滚动的距离 var scrollTop = $(document).scrollTop(); //IE6下,用absolute定位,并设置Top值为距离页面顶部的距离 $("#nav").css({ 'position': 'absolute', 'top': scrollTop + 'px' }); } else { //IE6以上浏览器采用fixed定位 //$(".personal-center-content-nav").addClass("nav_fixed"); var tempTop = $(".personalNav").height() + "px"; $(".personalNav").addClass("nav_fixed"); $(".userPage-right-side .container-blog-list").css('padding-top', tempTop); } } else { //判断页面滚动没有超过导航时执行的代码 if ('undefined' == typeof(document.body.style.maxHeight)) { //设置Top值为导航距页面顶部的初始值。(IE6为了防止浏览器一下滚动过多,所以不能采用直接去掉定位的方法) //$(".personal-center-content-nav").css({ $(".personalNav").css({ 'position': 'absolute', 'top': toTopHeight + 'px' }); } else { //IE6以上浏览器移除fixed定位,采用默认流布局 //$(".personal-center-content-nav").removeClass("nav_fixed"); $(".personalNav").removeClass("nav_fixed"); $(".userPage-right-side .container-blog-list").css('padding-top', 0); } } if($("#UpData").attr('data-num')==="1"){ return false; } }); }, 1000); if($('.relation').height() > 30 && $('.top-userinfo-follow-btn').length > 0){ $('.top-userinfo-follow-btn').css('top',($('.top-userinfo-follow-btn').position().top + 21) +"px"); } $('.top-userinfo-following span a').attr('href','javascript:;'); $('.userPage-userinfo-content p').css('position','inherit'); $('.userPage-userinfo-content p').css('margin-top','20px'); $('.common-blog-text').css('-webkit-box-orient','inherit'); } //上拉加载数据 if(windowWidth <= 768){ var maxPage = parseInt($("#mobilePageNo").attr("maxPage")); var pageSize = 10; var pageNo = parseInt($("#mobilePageNo").attr("value")); var mobileFlag = true; if(is_mobile && maxPage>1) { //监听页面滚动 window.addEventListener('scroll', function () { //页面滚动到底部 加载更多文章 //滚动条到顶部的距离 var scrollTop = $(document).scrollTop(); //页面总高度 var allHeight = $("#UpData").offset().top? $("#UpData").offset().top : $(document).height(); //可视高度 var windowHeight = $(window).height(); if(scrollTop + windowHeight >= allHeight - 10 && mobileFlag){ pageNo++ mobileFlag=false; //当未到达分页的最后一页,都需要加载内容 if(pageNo <= maxPage){ getContent(pageNo,pageSize); setTimeout(function(){ mobileFlag=true; },500) }; } }); } function afterScriptFn(){ $("body,html").scrollTop(0); $(".content-lists-cover .lists-item-link").attr("target","_self"); } } //关注或取消,data-type=1,未关注,点击加关注;data-type=2,已关注,点击取消关注; function Appendzero(obj) { if (obj < 10) return "0" + obj; else return obj; } var pageNo = 1, pageSize = 10; var column_id = ""; let search_time = ""; var columnModal = new DeveloperModal({modalId: "columnModal"}); if($('.columns-list').height() > 48){ $('.right-icon').show(); } //页面替换url function changeUrl(hrefUrl){ history.pushState("", "", hrefUrl); } // 日期查询 function closeSelect(){ $('.mySelect-option-list').hide(); $('.mySelect-main').removeClass('active'); } // 获取往前推day天的时间戳 function getTimeStamp(day){ var today = new Date(); var targetday = parseInt(today.getTime()/1000) + 60 * 60 * 24 * day; return targetday } $("body").on("click", ".mySelect-main", function (event) { event.stopPropagation(); $(this).toggleClass("active") $('.mySelect-option-list').toggle() }); $("body").on("click", ".mySelect-option-list .mySelect-option", function (event) { event.stopPropagation(); var val = parseInt($(this).attr("data-value")); var text = $(this).text(); $("#mySelected").text(text); if (val === 0) { search_time = ''; } else if (val === 1) { search_time = getTimeStamp(-3); } else if (val === 2) { search_time = getTimeStamp(-7); } else if (val === 3) { search_time = getTimeStamp(-30); } pageNo = 1; getContent(pageNo,pageSize); closeSelect(); }); // 监听关闭下拉框 $("body").click(function(){ closeSelect(); }); $("body").on("keyup",".his-blog-search-input", function(event){ event.stopPropagation(); if(event.keyCode === 13){ pageNo = 1; getContent(pageNo,pageSize); } }); $("body").on("click",".his-blog-search .icon-search", function(event){ event.stopPropagation(); pageNo = 1; getContent(pageNo,pageSize); }); // 分页 $("body").on("click", ".ucd-pager-pages li a", function (event) { event.stopPropagation(); pageNo = parseInt($(this).attr("data-page")); pageSize = parseInt($('#pageSize').val()) > 0 ? parseInt($('#pageSize').val()) : pageSize; getContent(pageNo,pageSize); var top = $("#content").offset().top; $(window).scrollTop(top - 100); }); // 页码 $("body").on("click", ".ucd-pager-size", function (event) { event.stopPropagation(); $(this).find('.pager-select').toggle(); $(this).toggleClass('active'); }); $("body").on("click", ".pager-select div", function (event) { event.stopPropagation(); pageNo = 1; pageSize = parseInt($(this).attr("data-value")); $("#pageSize").text(pageSize); $('.pager-select').hide(); $('.mySelect-main').removeClass('active'); getContent(pageNo,pageSize); var top = $("#content").offset().top; $(window).scrollTop(top - 100); }); // 下拉展示所有专栏信息 $("body").on("click", ".right-icon", function (event) { var type = parseInt($(this).attr("data-type")); if(type === 0){ $(this).parent().addClass("active"); $(this).attr("data-type",1); } else { $(this).parent().removeClass("active"); $(this).attr("data-type",0); } }); $("body").on("mouseleave", ".column-wrap.active", function (event) { $(this).removeClass("active"); $(this).children('.right-icon').attr("data-type",0); }); $("body").on("click", ".column-wrap .columns-list li", function (event) { event.stopPropagation(); var className = $(this).attr("class"); if(className.indexOf('no-column') > -1){ return; } column_id = $(this).attr("data-id"); $(this).parent().find("li").each(function () { $(this).removeClass("active"); }); pageNo = 1; getContent(pageNo,pageSize); $('.column-wrap').removeClass("active"); $(this).addClass("active"); }); //请求后台数据 function getContent(pageNo,pageSize){ var contentData = {}; var reg = /^\d{16}$/; if(window.location.pathname.indexOf("/page_") > -1){ var userId = window.location.pathname.split('/')[window.location.pathname.split('/').length-2].replace('id_',''); }else{ var userId = window.location.pathname.split('/').pop().replace('id_',''); } if( reg.test(userId) ){ userId = userId; }else{ userId = ''; } contentData.id = userId; contentData.pageNo = pageNo; contentData.pageSize = pageSize; contentData.column_id = column_id || ''; contentData.keywords = $('.his-blog-search-input').val() || ''; contentData.search_time = search_time; $.ajax({ type: 'post', url: '/api/rest/front/community/get_his_blog_list', data: contentData, timeout:10000, dataType: 'html', success: function(data) { if( data.indexOf('unlisted') > -1 ){ var cururl = window.location.href; window.location.href = "https://auth.huaweicloud.com/authui/login?service="+encodeURIComponent("https://devdata.huaweicloud.com/index/login?forwardUrl="+cururl)+"&locale=zh-cn"; }else{ if (windowWidth > 768){ if(data.indexOf("数据开小差")>-1){ appendNoDataDom($(".userPage-right-side .container-blog-list-software-dev-cloud")); $('html,body').animate({ scrollTop: 0 }, 10); }else if(data.indexOf("专栏不存在,请刷新页面")>-1){ columnModal.setMsg({errorType:"warning", errorMsgTitle:"温馨提示", errorMsgMsg:'该专栏不存在,请刷新页面'}); columnModal.show(); columnModal.setConfirmFn(function(){ window.location.reload(); }); columnModal.setCancelFn(function(){ window.location.reload(); }); }else{ $('.userPage-right-side .container-blog-list-software-dev-cloud').empty().append(data); if(contentData.column_id || contentData.keywords || contentData.search_time){ $('#his-blog-no-data').text('暂无数据') }else{ $('#his-blog-no-data').text('他还没有发表过博客') } refreshPageVal(); $('html,body').animate({ scrollTop: 0 }, 10); } }else{ if(data.indexOf("数据开小差")>-1 ){ $("#UpData").text("加载完成"); setTimeout(function () { $("#UpData").remove(); }, 3000) }else if(data.indexOf("专栏不存在,请刷新页面")>-1){ columnModal.setMsg({errorType:"warning", errorMsgTitle:"温馨提示", errorMsgMsg:'该专栏不存在,请刷新页面'}); columnModal.show(); columnModal.setConfirmFn(function(){ window.location.reload(); }); columnModal.setCancelFn(function(){ window.location.reload(); }); }else{ $('.userPage-right-side .container-blog-list-software-dev-cloud').append(data); if(contentData.column_id || contentData.keywords || contentData.search_time){ $('#his-blog-no-data').text('暂无数据') }else{ $('#his-blog-no-data').text('他还没有发表过博客') } var maxPageNum = parseInt($("#mobilePageNo").attr("maxPage")); if(maxPageNum == undefined||maxPageNum == 1 || contentData.pageNo == maxPageNum){ $("#UpData").text("加载完成"); setTimeout(function(){ $('#UpData').css('cssText', 'display:none!important'); },3000); }else{ $("#UpData").text("上滑加载中"); } } } } }, error: function(x, t, m){ var data = x.responseJSON; if(data && (data.code === 'HD.92320045' || data.code === "HD.92320104" || data.code === "HD.92320105")){ columnModal.setMsg({errorType:"warning", errorMsgTitle:"温馨提示", errorMsgMsg:'该专栏不存在,请刷新页面'}); columnModal.show(); }else{ if (windowWidth > 768) { appendNoDataDom($(".userPage-right-side .container-blog-list-software-dev-cloud")); $('html,body').animate({ scrollTop: 0 }, 10); } else { $("#UpData").text("加载完成"); setTimeout(function () { $("#UpData").remove(); }, 3000) } } } }); } //设置分页数据 function refreshPageVal(){ maxNum = parseInt($('#samplecode_go').attr('maxpage')); if( parseInt(pageNo) > maxNum ){ $('#samplecode_page').val(maxNum); }else{ $('#samplecode_page').val(pageNo); } $('#samplecode_page').attr('pagesize',pageSize); if(typeof DynamicPage == "function"){ DynamicPage(); } if(typeof Tline == "function"){ Tline(); } if(typeof extraFN == "function"){ extraFN(); } $('.ucd-pager-pages li a[data-page="'+ pageNo +'"]').addClass('active').siblings().removeClass('active'); } refreshPageVal(); $("body").on('click', '.personal-ask-answer', function(event){ event.preventDefault(); event.stopPropagation(); var win=window.open($(this).children(".question-answer-content").children("div").children("a").attr("href"),"_blank"); win.opener=null; }); //获取当前页码的页面链接 function getHrefUrl(){ return $('.ucd-pager-pages li a[class="active"]').attr("href") }; //分页按钮点击 $('body').on('click', '.ucd-pager-pages li a', function(event) { event.preventDefault(); event.stopPropagation(); pageNo = parseInt($(this).attr('data-page')); getContent(pageNo,pageSize); var hrefUrl = event.currentTarget.href; changeUrl(hrefUrl); }); //页码跳转 $('body').on('click', '#samplecode_go', function(event) { event.preventDefault(); event.stopPropagation(); var _pageNum = parseInt($('#samplecode_page').val()); //当前页数 var _maxNum = parseInt($(this).attr('maxPage')); //最大页数 var check = /^[0-9]*[1-9][0-9]*$/; //正整数 pageNo = check.test(_pageNum) ? (_pageNum > _maxNum ? _maxNum : _pageNum) : 1; getContent(pageNo,pageSize); }); /** * 关闭弹窗 */ $("#other-dialog1 .js-close").on("click",function(event){ $('#other-dialog1').removeClass('show'); }); window.onload=function(){ $('html,body').animate({ scrollTop: 0 }, 10); } $("body").on('click', '.common-blog-menu-btn,.target_blank,.sub-content-username,.author-min-head', function(event){ event.preventDefault(); event.stopPropagation(); if($(this).hasClass("keep-page")){ return; } var win=window.open($(this).attr("href"),"_blank"); win.opener=null; }) $("body").on('click', '.blog-menu', function(event){ event.preventDefault(); event.stopPropagation(); var win=window.open($(this).children(".blog-menu-header").children("a").attr("href"),"_blank"); win.opener=null; }) $("body").on('click', '.other-blog-tags>span', function(event){ event.preventDefault(); event.stopPropagation(); var win=window.open($(this).data('href'),"_blank"); win.opener=null; }) function getBytesOfNum(str,num){ var bytesCount=0; var value=''; for (var i = 0; i < str.length; i++){ var c = str.charAt(i); value +=c; if (/^[\u0000-\u00ff]$/.test(c)){ bytesCount += 1; }else{ bytesCount += 2; } if(bytesCount>=num){ return value; } } return str; } Tline(); function Tline(){ $(".title_banner_7").each(function(){ $(this).text(getBytesOfNum($(this).text(),14)); }); //只有在PC端博客内容才是显示三行... var windowWidth = $(window).width(); if(windowWidth > 768) { $(".common-blog-title .blog-title-wrap").each(function () { $(this).dotdotdot({ wrap: 'letter', after:'span.common-blog-attachment' }); }); $(".common-blog-text").each(function () { $(this).dotdotdot({ wrap: 'letter' }); }); } }; /** * 字数限制 显示... */ function getBytes(str,num){ var bytesCount=0; var value=''; for (var i = 0; i < str.length; i++){ var c = str.charAt(i); value +=c; if (/^[\u0000-\u00ff]$/.test(c)){ bytesCount += 1; }else{ bytesCount += 2; } if(bytesCount>=num){ return value+"..."; } } return str; } /** * 字数限制 不显示... */ function getBytesTwo(str,num){ var bytesCount=0; var value=''; for (var i = 0; i < str.length; i++){ var c = str.charAt(i); value +=c; if (/^[\u0000-\u00ff]$/.test(c)){ bytesCount += 1; }else{ bytesCount += 2; } if(bytesCount>=num){ return value; } } return str; } //作者名 $(".sub-content-username").each(function(){ var text = $(this).text(); $(this).text(getBytesTwo(text,20)); }); //评论区昵称 $(".laster-comment-list-right h1 a").each(function(){ var text = $(this).text(); $(this).text(getBytesTwo(text,20)); }); //标签 $(".blog-menu-footer .common-blog-menu-btn").each(function(){ var text = $(this).text(); $(this).text(getBytesTwo(text,14)); }); $('.news-tab-software-dev-cloud .tab-lists').on("mouseenter", function () { var i = $(this).index();//下标第一种写法 $(this).addClass('selected').siblings().removeClass('selected'); $('.news-wrap-software-dev-cloud .news-content').eq(i).show().siblings().hide(); }); </script>