<!DOCTYPE html>
<html lang="zh-CN">
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width,target-densitydpi=high-dpi,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
		<meta name="apple-mobile-web-app-capable" content="yes">
		<meta name="apple-mobile-web-app-status-bar-style" content="black">
		<meta name="format-detection" content="telephone=no">
		<title>适用于Java开发人员的SOLID规划原则简介-思洋互动</title>
		<meta name="keywords" content="适用于Java开发人员的SOLID规划原则简介">
	    <meta name="description" content="看看这篇针对Java开发人员的SOLID规划准则简介。
当你刚触摸软件工程时，这些原理和规划形式不容易了解或习气。咱们都遇到了问题，很难了解SOLID+DP的思维，乃至很难正确施行它们。...">
		<meta name="renderer" content="webkit" />
		<link href="/css/main.css?v=39" rel="stylesheet">
		<link href="/css/base.css?v=39" rel="stylesheet">
        <link href="/css/swiper-3.4.2.min.css" rel="stylesheet">
		<script type="text/javascript" src="/js/jquery.min.js"></script>
        <script type="text/javascript" src="/js/swiper-3.4.2.min.js"></script>
		<!--[if lt IE 9]>
            <script src="/js/html5shiv.min.js"></script>
            <script src="/js/respond.min.js"></script>
            <link href="/css/ie.css" rel="stylesheet">
        <![endif]-->
		<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?8914d517c927d8e794148d05e387fb17";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>
<link rel="canonical" href="https://www.ciya.cn/article/3703.html">
		</head>
	<body class="no-banner">
		<div class="container">
			<div class="header">
	<div class="header-top">
		<div class="w1700">
			<a href="https://www.ciya.cn/"><img src="/images/logo.png?v=2"></a>
		</div>
	</div>
	<div class="header_b">
		<header class="slide">
			<div id="navToggle" class="menu-handler">
				<span class="burger burger-1 trans"></span>
				<span class="burger burger-2 trans-fast"></span>
				<span class="burger burger-3 trans"></span>
			</div>
		</header>
	</div>
	<nav class="slide">
		<div class="w1700">
			<a class="index" href="/"></a>
			<ul>
								<li><a href="https://www.ciya.cn/case/12.html">项目案例</a></li>
								<li><a href="https://www.ciya.cn/website/9.html">网站建设</a></li>
								<li><a href="https://www.ciya.cn/marketing/10.html">网络营销</a></li>
								<li><a href="https://www.ciya.cn/media/11.html">新媒体</a></li>
								<li class="active"><a href="https://www.ciya.cn/news/16.html">动态</a></li>
								<li><a href="https://www.ciya.cn/about/8.html">关于</a></li>
								<li><a href="https://www.ciya.cn/contact/13.html">联系</a></li>
							</ul>
		</div>
	</nav>
</div>            <div class="content slide">
                <div class="position bgf1">
                    <div class="w1700">
                        <a href="https://www.ciya.cn/">首页 ></a>
                        <a href="https://www.ciya.cn/news/16.html">动态 ></a>
                        <a href="https://www.ciya.cn/news/35.html">网站知识</a>
                    </div>
                </div>
                <div class="case-type">
                    <div class="w1700">
                                                <a href="https://www.ciya.cn/news/32.html" >品牌合作</a>
                                                <a href="https://www.ciya.cn/news/31.html" >新闻动态</a>
                                                <a href="https://www.ciya.cn/news/38.html" >网站建设</a>
                                                <a href="https://www.ciya.cn/news/41.html" >网站制作</a>
                                                <a href="https://www.ciya.cn/news/40.html" >网站设计</a>
                                                <a href="https://www.ciya.cn/news/42.html" >运营推广</a>
                                                <a href="https://www.ciya.cn/news/35.html"  class="active">网站知识</a>
                                            </div>
                </div>
                <div class="padding-tb80">
                    <div class="w1700 clear">
                        <div class="fl xwxq-l">
                            <div class="noselettext">
                                <div class="xwxq-title mg-bt60 wow slideUp">
                                    <h1 class="mg-bt35">适用于Java开发人员的SOLID规划原则简介</h1>
                                    <span>时间：2023-05-16</span>
                                </div>
                                <div class="edit2 mg-bt60 wow slideUp">
                                                                        <p>看看这篇针对Java开发人员的SOLID规划准则简介。<br />
当你刚触摸软件工程时，这些原理和规划形式不容易了解或习气。咱们都遇到了问题，很难了解SOLID+DP的思维，乃至很难正确施行它们。确实，“为什么要SOLID？”的整个概念，以及怎么施行规划形式，这需求时刻和许多实践。<br />
我可以说实话，关于SOLID规划形式以及TDD等其他领域，从本质上讲，它们很难教。很难以正确的办法将所有这些知识和信息传授给年轻人。<br />
让SOLID变得容易<br />
在本文中，我将以尽可能简略的术语，经过简略易懂的示例来教授SOLID的每个字母。<br />
SOLID的“S”<br />
S代表SRP（单一责任准则）。基本思维是应用关注点分离，这意味着你应测验将关注点分离到不同的类中。一堂课应该专注于单个问题，逻辑或单个领域。当域，标准或逻辑发生变化时，它只影响一个类。<img class="aligncenter size-full wp-image-4805" src="https://zzzjtd.com/wp-content/uploads/2019/07/208.jpg" alt="java手写多级缓存" width="480" height="384" /><br />
施行SRP之前<br />
下面，咱们违背了SRP。VehicleServiceResource类完成了两种不同的办法，并以两种人物结束。如咱们所见，该类具有两个标记其用法的注释。<br />
一种是向客户端揭露和供给HTTP终结点服务的人物。<br />
第二个是车辆服务的人物，该服务从存储getVehicles()中获取车辆并核算总值calculateTotalValue()：<br />
1@EndPoint(&#8220;vehicles&#8221;)2@Service3publicclassVehicleServiceResource{4…5@GET6publicListgetVehicles(){7}8publicdoublecalculateTotalValue(){}9…10}<br />
完成SRP的简略目标是将VehicleServiceResource分为两个不同的类：一个用于端点，另一个用于服务。<br />
SRP施行后<br />
咱们要做的是获取VehicleServiceResource类，并将其分为两个不同的类。<br />
VehicleResource类仅具有一项和一项工作。为了向客户端揭露HTTP资源工具并向其供给服务，所有与业务逻辑相关的办法均导致VehicleService类。<br />
1@EndPoint(&#8220;vehicles&#8221;)2publicclassVehicleResource{3@Service4privateVehicleServiceservice;5@GET6publicListgetVehicles(){7returnthis.service.getVehicles();8}9&#8230;10}<br />
咱们创建了一个名为VehicleService的新类。此类完成所有与车辆有关的逻辑。<br />
1@Service2publicclassVehicleService{3&#8230;4publicListgetVehciles(){}5publicdoublecalculateTotalValue(){}6&#8230;7}<br />
SOLID的“O”<br />
O代表OCP（开闭原理）。开闭准则指出：<br />
&#8220;&#8230;软件实体（例如模块，类，功用等）应打开以进行扩展，但应封闭以进行修正。&#8221;<br />
术语“敞开扩展”是指咱们可以在代码中扩展并包含额外的案例/功用，而不会更改或影响咱们现有的完成。<br />
术语“封闭以进行修正”表示在增加了附加功用之后，咱们不该修正现有的完成。<br />
一个简略的违背OCP的行为：<br />
1publicclassVehicleValueCalculator{2//letsassumeasimplemethodtocalculatethetotalvalueofavehicle3//withextracostdependingthetype.4publicdoublecalculateVehicle(Vehiclev){5doublevalue=0;6if(vinstanceofCar){7value=v.getValue()+2.0;8}elseif(vinstanceofMotorBike){9value=v.getValue()+0.4;10}11returnvalue;12}13}<br />
当咱们要包含一种新式车辆“货车”时，就会违背OCP。需求对calculateVehicle办法进行重构和代码修正。<br />
解决<br />
1publicinterfaceIVehicle{2doublecalculateVehicle();3}4publicclassCarimplementsIVehicle{5@Override6publicdoublecalculateVehicle(){7returnthis.getValue()+2.0;8}9}10publicclassMotorBikeimplementsIVehicle{11@Override12publicdoublecalculateVehicle(){13returnthis.getValue()+0.4;14}15}<br />
咱们的新货车<br />
1publicclassTruckimplementsIVehicle{2@Override3publicdoublecalculateVehicle(){4returnthis.getValue()+3.4;5}6}<br />
这样，经过运用一种承受IVehicle的办法，今后在每次增加新式车辆时都无需进行重构/代码修正。<br />
典范程式码<br />
1publicclassMain{2publicstaticvoidmain(String[]args){3IVehiclecar=newCar();4IVhecilemotorBike=newMotorBike();5//newaddition6IVheciletruck=newTruck();7doublecarValue=getVehicleValue(car);8doublemotorBikeValue=getVehicleValue(motorBike);9doubletruckValue=getVehicleValue(truck);10}11publicdoublegetVehicleValue(IVehiclev){12returnv.calculateVehicle();13}14}<br />
SOLID的“L”<br />
L代表LSP（Liskov替代原理）：<br />
为了使这篇文章成为SOLID的介绍，而不会引起混淆，我将测验使LSP尽可能简略，并扫除许多详细的细节，由于LSP又是另一天的评论和争辩。<br />
LSP指出，当咱们用任何子类型替换父类型时，该软件不该改动期望的成果。<br />
LSP不仅仅是一个规划形式，更是一个问题界说，而咱们可以做的是避免不良影响。<br />
为了更清楚地说明这一点，咱们将检查以下简略示例：<br />
1/**2*TheBaseRectangleclass3*Thisclassdefinesthestructureandpropertiesofalltypesofrectangles4*/5publicclassRectangle{6privateintwidth;7privateintheight;8publicRectangle(){}9publicRectangle(intw,inth){10this.width=w;11this.height=h;12}13publicintgetWidth(){14returnwidth;15}16publicvoidsetWidth(intwidth){17this.width=width;18}19publicintgetHeight(){20returnheight;21}22publicvoidsetHeight(intheight){23this.height=height;24}25publicintgetArea(){26returnthis.height*this.width;27}28/**29*LSPviolationiscaseofaSquarereference.30*/31publicfinalstaticvoidsetDimensions(Rectangler,intw,inth){32r.setWidth(w);33r.setHeight(h);34//assertr.getArea()==w*h35}36}<br />
1/**2*ASpecialkindofRectangle3*/4publicclassSquareextendsRectangle{5@Override6publicvoidsetHeight(inth){7super.setHeight(h);8super.setWidth(h);9}10@Override11publicvoidsetWidth(intw){12super.setWidth(w);13super.setHeight(w);14}15}<br />
在议论LSP时，咱们在Rectangle类中有setDimensions办法，该办法承受Rectangle目标的类型并设置宽度和高度。这是违规的，由于行为发生了变化，并且在传递方形引证时咱们的数据不一致。<br />
有许多解决方案。其中一些将应用“敞开式封闭准则”和经过“合同”形式进行规划。<br />
还有许多其他解决LSP违规问题的办法，但是在此不做解说，由于它不在本文评论范围之内。<br />
SOLID的“I”<br />
I代表ISP（接口阻隔原理）。接口阻隔准则是由RobertC.Martin在为Xerox咨询时界说的。他将其界说为：<br />
“不该强迫客户依靠他们不运用的接口。”<br />
ISP指出，咱们应该将接口拆分为更小，更详细的接口。<br />
以下是代表两个不同人物的界面示例。一个人物是处理打开和封闭之类的衔接，另一个人物是发送和接收数据。<br />
1publicinterfaceConnection{2voidopen();3voidclose();4byte[]receive();5voidsend(byte[]data);6}<br />
在应用ISP之后，咱们得到了两个不同的接口，每个接口代表一个切当的人物。<br />
1publicinterfaceChannel{2byte[]receive();3voidsend(byte[]data);4}5publicinterfaceConnection{6voidopen();7voidclose();8}<br />
SOLID的“D”<br />
D代表DIP（依靠性反转原理）。DIP声明咱们应该依靠抽象（接口和抽象类），而不是详细的完成（类）。<br />
接下来是违背DIP。咱们有一个Emailer类，详细取决于直接的SpellChecker类：<br />
1publicclassEmailer{2privateSpellCheckerspellChecker;3publicEmailer(SpellCheckersc){4this.spellChecker=sc;5}6publicvoidcheckEmail(){7this.spellChecker.check();8}9}<br />
Spellchecker类:<br />
1publicclassSpellChecker{2publicvoidcheck()throwsSpellFormatException{3}4}<br />
现在可能可以运用，但是过了一瞬间，咱们要包含两种不同的SpellChecker完成。咱们有默认的SpellChecker和新greekspellchecker。<br />
在当前的完成中，需求重构，由于Emailer类仅运用SpellChecker类。<br />
一个简略的解决方案是为不同的SpellChecker创建要完成的接口。<br />
1//Theinterfacetobeimplementedbyanynewspellchecker.2publicinterfaceISpellChecker{3voidcheck()throwsSpellFormatException;4}<br />
现在，Emailer类在结构函数上仅承受ISpellChecker引证。下面，咱们将Emailer类更改为不关心/不依靠于完成（详细的类），而是依靠于接口（ISpellChecker）<br />
1publicclassEmailer{2privateISpellCheckerspellChecker;3publicEmailer(ISpellCheckersc){4this.spellChecker=sc;5}6publicvoidcheckEmail(){7this.spellChecker.check();8}9}<br />
咱们为ISpellChecker供给了许多完成：<br />
1publicclassSpellCheckerimplementsISpellChecker{2@Override3publicvoidcheck()throwsSpellFormatException{4}5}6publicclassGreekSpellCheckerimplementsISpellChecker{7@Override8publicvoidcheck()throwsSpellFormatException{9}10}<br />
这是另一个代码示例。不管完成是什么，咱们都将ISpellChecker类型传递给Emailer结构函数。<br />
1publicstaticclassMain{2publicstaticvoidmain(String[]a){3ISpellCheckerdefaultChecker=newSpellChecker();4ISpellCheckergreekChecker=newGreekSpellChecker();5newEmailer(defaultChecker).checkEmail();6newEmailer(greekChecker).checkEmail();7}8}</p>


		
										                                </div>
                            </div>
                                                        <div class="wzbq wow slideUp mg-bt30">
                                <span>文章标签：</span>
                                <div class="bqnr">
                                                                                                             <a href="https://www.ciya.cn/tags/website-building/">网站建设</a>
                                                                                                                                                                                                                                                                                                                                                                    </div>
                            </div>
                                                        <div class="xwxq-bot bgf1 wow slideUp">
                                <div class="xwxq-fy clear">
                                    <a class="fl" href="/article/3704.html"><i></i>Java实现抢红包功用</a>
                                    <a class="fr" href="/article/3702.html"><i></i>操作系统知识点梳理</a>
                                </div>
                                <a class="fhlb" href="#"></a>
                            </div>
                        </div>
                        <div class="fr xwxq-r">
                            <div class="xwxq-tj-page bgf1 mg-bt40 wow slideUp">
                                <div class="xwxq-tj-warp bgfff">
                                    <div class="tjxw-title mg-bt30">
                                        <h3>最新案例</h3><span>LATEST CASES</span>
                                    </div>
                                    <div class="zxal">
                                        <div class="swiper-container">
                                            <div class="swiper-wrapper">
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/409.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214103120.jpg" alt="广州呼吸研究院"/></div>
                                                            <p>广州呼吸研究院</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/433.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214102846.jpg" alt="融创集团"/></div>
                                                            <p>融创集团</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/268.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214102923.jpg" alt="粤海集团"/></div>
                                                            <p>粤海集团</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/414.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211216/20211216115258.jpg" alt="恒大足球学校"/></div>
                                                            <p>恒大足球学校</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/477.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214102958.jpg" alt="侨鑫集团"/></div>
                                                            <p>侨鑫集团</p>
                                                        </a>
                                                    </div>
                                                                                                </div>
                                        </div>
                                        <div class="zxalDot text-center swiperDot"></div>
                                    </div>
                                </div>
                            </div>
                            <div class="xwxq-tj-page bgf1 mg-bt40 wow slideUp">
                                <div class="xwxq-tj-warp bgfff">
                                    <div class="tjxw-title tjxw-title-line mg-bt20">
                                        <h3>热点新闻</h3><span>TOP NEWS</span>
                                    </div>
                                    <ul class="rdxw">
                                                                                <li><a href="https://www.ciya.cn/article/3559.html">1  java heap space(解决方法)</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/1222.html">2  如何在网站后台上传附件</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/1643.html">3  如何在网站后台上传PDF文件</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/1142.html">4  什么是流？</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/3543.html">5  java swing还有人用吗(swing为什么会被淘汰)</a></li>
                                                                            </ul>
                                </div>
                            </div>
                            <div class="xwxq-tj-page bgf1 wow slideUp">
                                <div class="xwxq-tj-warp bgfff">
                                    <div class="tjxw-title tjxw-title-line mg-bt20">
                                        <h3>最新动态</h3><span>NEWS</span>
                                    </div>
                                    <ul class="rdxw">
                                                                                <li><a href="https://www.ciya.cn/article/7318.html">1  商务网站的维护与更新：持续优化，保持竞争力</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7317.html">2  商务网站的社交媒体营销：扩大品牌影响力，吸引更多潜在客户</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7316.html">3  商务网站的广告投放：增加收益，提高知名度</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7315.html">4  商务网站的在线客户服务：提供优质客服，提升用户满意度</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7314.html">5  商务网站的支付系统集成：安全、便捷的交易方式</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7313.html">6  商务网站搜索引擎优化（SEO）：提升排名，增加流量</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7312.html">7  商务网站响应式设计：实现多设备兼容，提升用户体验</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7311.html">8  商务网站开发：选择合适的编程语言和技术栈</a></li>
                                                                            </ul>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="footerbox">
	<div class="footer">
		<div class="w1700">
			<ul>
				<li>
					<span class="fttitle">思洋 · 广州总部</span>
					<div>
						<p>广州天河区珠江新城富力盈力大厦北塔2706</p>
						<p>020-38013166（网站咨询专线）</p>
					</div>
					<p>400-001-5281 （售后服务热线）</p>
				</li>
				<li>
					<span class="fttitle">思洋 · 深圳</span>
					<div>
						<p>深圳市坂田十二橡树庄园F1-7栋</p>
						<p>Site/ http://www.szciya.com </p>
						<p>E-mail/ itciya@vip.163.com</p>
					</div>
					<p>品牌服务专线：400-001-5281 </p>
				</li>
				<li>
					<span class="fttitle">思洋 · 湖南</span>
					<div>
						<p>长沙市天心区芙蓉中路三段398号新时空大厦5楼</p>
						<p>联系电话/ (+86 0731)88282200</p>
					</div>
					<p>品牌服务专线/ 400-966-8830</p>
				</li>
				<li class="lastli">
					<p class="mt10">旗下运营网站：</p>
					<div class="mt10">
						<img src="/images/ftlogo2.png">
						<img src="/images/gogo.png">
						<img src="/images/ftlogo3.png">
						<img src="/images/ftlogo4.png">
						<img src="/images/ftlogo11.png">
					</div>
				</li>
			</ul>
		</div>
	</div>
	<div class="ft_bottom">
		<div class="w1700">
			<p class="cop">Copyright © 2016 广州思洋文化传播有限公司，保留所有权利。 <a href="https://beian.miit.gov.cn/" target="_blank">粤ICP备09033321号</a>
			</p>
		</div>
	</div>
</div>
<div class="le-box active">
	<div class="t show780">
		<a href="tel:13570966600">
			<img src="/images/ml9-1.png?v=1" alt="" class="sow i">
			<img src="/images/ml9-1.png?v=1" alt="" class="iove i">
		</a>
	</div>
	<div class="t">
		<img src="/images/ml1-1.png?v=1" alt="" class="sow i">
		<img src="/images/ml1-1.png?v=1" alt="" class="iove i">
		<div class="iov">
			<div class="img">
				<img src="/images/qr.jpg" alt="与项目经理交流">
			</div>
			<div class="h">扫描二维码<br>与项目经理交流</div>
		</div>
	</div>
	<div class="t">
		<img src="/images/ml2-1.png?v=1" alt="" class="sow i">
		<img src="/images/ml2-1.png?v=1" alt="" class="iove i">
		<div class="iov">
			<div class="img">
				<img src="/images/qq001.jpg" alt="">
			</div>
			<div class="h">扫描二维码<br>与项目经理交流</div>
		</div>
	</div>
	<!--<div class="t">-->
		<!--<a href="http://wpa.qq.com/msgrd?v=3&amp;uin=1607245872&amp;site=ciya.cn&amp;menu=yes" target="_blank">-->
			<!--<img src="/images/ml2-1.png?v=1" alt="" class="sow i">-->
			<!--<img src="/images/ml2-1.png?v=1" alt="" class="iove i">-->
		<!--</a>-->
	<!--</div>-->
	<div class="t hide780">
		<a href="https://affim.baidu.com/unique_510425/chat?siteId=19536215&userId=510425&siteToken=8914d517c927d8e794148d05e387fb17" target="_blank">
			<img src="/images/ml3-1.png?v=1" alt="" class="sow i">
			<img src="/images/ml3-1.png?v=1" alt="" class="iove i">
		</a>
	</div>
</div>
<script>
	$(window).scroll(function(){
//		if($(window).scrollTop()>200){
//			$(".le-box").addClass("active");
//		}else{
//			$(".le-box").removeClass("active");
//		}
	})
</script>
<div class="wap_fx">
	<a href="tel:13570966600" class="phone"></a>
	<a href="mqqwpa://im/chat?chat_type=wpa&uin=1607245872&version=1&src_type=web&web_src=ciya.cn" target="_blank" class="qq"></a>
	<a href="javascript:;" class="wx2"></a>
	<a class="kef986" style="background:rgba(0,0,0,.6) url(/images/ml3-1.png?v=1) no-repeat center;background-size: cover;border-radius: 4px;" href="https://p.qiao.baidu.com/cps/chat?siteId=18513940&userId=510425&siteToken=e5e1bde478969b43bf99b7703a694c0b" target="_blank"></a>
</div>
<div class="wap-wxcode">
	<div class="middle-box">
		<div class="middle-inner">
			<div class="wap-wxcode-con">
				<img src="/images/ff_ewm.jpg" alt=""/>
				<div class="wap-wxcode-bot"><span class="wxname">ciya68</span><button class="copy-btn" data-clipboard-text="ciya68">点击复制</button></div>
				<div class="gb1002"></div>
			</div>
		</div>
	</div>
</div>
<input id="hide" type="hidden">
<script src="/js/clipboard.min.js"></script>
<script>
	$(function(){
		$(".wx2").click(function(){
			$(".wap-wxcode").show();
		});
		$(".gb1002").click(function(){
			$(".wap-wxcode").hide();
		});
		var copyBtn=new ClipboardJS('.copy-btn');
		copyBtn.on("success",function(e){
			// 复制成功
			// alert(e.text);
			showMessage('已成功复制微信号','success',2000)
			e.clearSelection();
		});
		copyBtn.on("error",function(e){
			//复制失败；
			showMessage('复制微信号失败','error',2000)
			console.log( e.action )
		});
		function showMessage(message,type,time) {
			let str = ''
			switch (type) {
				case 'success':
					str = '<div class="success-message" style="width: 100%;height: 50px;background-color: #030026;font-size:17px;text-align: center;color:#fff;position: fixed;left: 0%;bottom: 0%;line-height: 50px;z-index: 9999">\n' +
							'    <span class="mes-text">'+message+'</span></div>'
					break;
				case 'error':
					str = '<div class="error-message" style="width: 100%;height: 50px;background-color: #030026;font-size:17px;text-align: center;color: #fff;position: fixed;left: 0%;bottom: 0%;line-height: 50px;z-index: 9999">\n' +
							'    <span class="mes-text">'+message+'</span></div>'
			}
			$('body').append(str)
			setTimeout(function () {
				$('.'+type+'-message').remove()
			},time)
		}


		var ua = navigator.userAgent.toLowerCase();
		var isWeixin = ua.indexOf('micromessenger')!= -1;
		if(isWeixin){
			$(".kef986").hide();
		}

	})
</script>
            </div>
        </div>
		<script type="text/javascript" src="/js/trunk.js?v=2"></script>
        <script>
            var zxal=null;
            var len=$(".zxal .swiper-slide").length;
            if(len>1){
                zxal = new Swiper('.zxal .swiper-container',{
                    speed:600,
                    loop:true,
                    autoplay : 5000,
                    autoplayDisableOnInteraction : false,
                    pagination : '.zxalDot',
                    paginationClickable :true,
                })
            }else{
                $(".zxalDot").hide();
            }
        </script>
	</body>
</html>

