ebStorm建立在开源IntelliJ平台之上,JetBrains已经开发和完善了超过15年。其提供了统一的UI,可与许多流行的版本控制系统配合使用,确保在git,GitHub,SVN,Mercurial和Perforce之间提供一致的用户体验。WebStorm提供可定制功能,调整它以完全适合您的编码风格,从快捷方式,字体和视觉主题到工具窗口和编辑器布局。
智能编码辅助
WebStorm可以帮助您编写出色的代码。其智能编辑器具有代码完成,动态代码分析,代码格式化和重构,可提高您的工作效率,并将您的开发体验提升到一个全新的水平。
支持的语言和框架
WebStorm提供JavaScript,ECMAScript 6,TypeScript,CoffeeScript,Dart和Flow 的一流编码帮助。
WebStorm可以帮助您编写HTML,CSS,Less,Sass和Stylus代码。
最重要的是,您可以受益于对Node.js和流行框架的高级支持,例如React,Angular,Vue.js,Meteor等。
代码智能辅助功能
WebStorm分析您的项目,为应用程序中定义的所有方法,函数,模块,变量和类提供最佳代码完成结果。Сoding协助是上下文感知的,也可以是特定于框架的。
在WebStorm中使用CSS时,享受属性及其值的代码完成。在Less和Sass中,获得mixins的帮助。当然,在HTML中,您可以获得所有标签和属性的代码完成。
代码质量分析与检测
WebStorm有数百种内置检查功能,涵盖所有支持的语言。除此之外,您还可以使用ESLint,TSLint,Stylelint,JSCS,JSHint和JSLint。
在您键入时,WebStorm编辑器会直接报告所有错误和警告,并提供许多快速修复选项。
WebStorm具有可能问题的任何代码行都标记在右侧编辑器装订线中,因此您可以轻松地在长文件中发现错误和警告。
您还可以使用WebStorm为整个项目运行代码质量分析,并自动应用选定的快速修复程序。
webstorm使用技巧
webstorm使用心得
WebStorm集成git使用
webstorm中只集成了git的常用操作,并不能完全替代命令行工具。在界面的右下角可以查看处于哪个git分支。也可以在上面点击切换或者新建分支。
webstorm快捷键说明
WebStorm的Editing编辑相关快捷键
WebStorm的Search/replace搜索/替代相关快捷键
WebStorm的Usage Search搜索相关快捷键
WebStorm的Running运行
WebStorm的Debugging Debugging相关快捷键
WebStorm的Navigation 定位相关快捷键
WebStorm的Refactoring 重构相关快捷键
在WebStorm中VCS/Local History 版本控制系统/ 本地历史相关的快捷键
使用WebStorm时General 常用的相关快捷键
在学习使用HTML之前,大家经常会问,什么是HTML?HTML是用来描述页面的一种语言,它是一种超文本标记语言,也就是说,HTML不是一种编程语言,仅是一种标记语言。 HTML由一套标记标签组成,在制作网页时,HTML使用标记标签来描述网页。
HTML5自正式推出以来,就以一种惊人的速度被迅速推广着,各主流浏览器对于HTML5表现出来的热烈欢迎、积极支持。
1、世界知名浏览器厂商对HTML5的支持
通过对Internet、Explorer、Google、Firefox、Safari、Opera等主要的web浏览器发展策略调查,发现它们都在支持HTML5上采取了措施
- 微软:2010年3月16日,微软与拉斯维加斯市举行的MIX10技术大会上宣布已推出InternetExplorer(IE)9浏览器开发者预览版。
- Google:2010年2月19日,GoogleGears项目经理伊安~费特通过博客宣布,谷歌将放弃对Gears浏览器插件项目支持、重点开发HTML5项目
- 苹果:2010年6月7日,苹果开发者大会的会后发布了Safari5。这款浏览器支持10个以上HTML5的新技术,包括全屏播放、HTML5地理位置、HTML5的形式验证等功能
- Opera:2010年5月5日,Opera软件公司首席技术官Hakon Wium Lie先生在访华之际,接受了中国软件资讯网等少数几家媒体采访,他认为HTML5和CSS3将是全球互联网发展的未来趋势
- Mozilla:2010年7月,Mozilla基金会发布了Firefox4浏览器的第一个测试版,从官方文档看,它对HTML5是完全级别的支持
2、市场的需求
现在的市场已经迫不及待地要求有一个统一的互联网通用标准。HTML5之前的情况是,由于各浏览器之间不统一,仅修改web浏览器之间的由于兼容性而引起的bug就浪费了大量的时间。而HTML5的目标就是将web带入一个成熟的应用平台,在HTML5平台上,视频,音频,图像,动画及同计算器的交互都被标准化。
3、跨平台
HTML5可以做到跨平台开发,用户只用打开浏览器即可访问应用,PC网站、各种移动设备,插件等核心代码就可以不需要重复编写,极大地减少了开发人员的工作量。
发明HTML的初衷是实现信息资料的网络传播和共享,希望HTML文档具有平台无关性,即同一个HTML文件,在不同的浏览器上看到同样的页面内容和效果。但是遗憾的是,随着浏览器市场的激烈竞争,各大浏览器厂商为了吸引用户,都在早期HTML版本的基础上扩展各类标签,各浏览器之间互不兼容,导致HTML编码规则混乱,违背了HTML发明的初衷,因此需要一个组织来指定和维护统一的国际化web开发标准,确保多个浏览器都兼容,HTML内容结构都是语义化的。
W3C标准不是某一个标准,而是一系列的标准集合,一个网页主要有三部分组成,即结构、表现、行为。
对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3CDOM)、ECMAScript等。这些标准大部分由W3C起草和发布,也有一些是其他标准组织制订的标准,比如ECMA(European Computer Manufacturers Association)的ECMAScript标准。
1、开发工具:
2、使用WebStorm编辑HTML文档如下:
<html>
<head>
<title>我的第一个网页</title>
</head>
<body>
我的第一个网页
</body>
</html>
标签都是成对出现的。 有一个开头标记就应该有一个对应的结束标记记,“<>”开始,以“</>”结束,要求成对出现,标签之间有缩进,提现层次感,方便阅读。
HTML5的基本结构分为两部分。整个HTML包括头部{head}和主体{body}两部分,头部包括网页标题{title}等基本信息,主体包括页面的内容信息,如图片、文字等。
1、DOCTYPE 声明在这个HTML5文件最上面有一行关于DOCTYPE文档类型的声明,约束HTML文档结构。检查是否符合相关WEB标准,同时告诉浏览器使用那中规范来解释这个文档中的代码。DOCTYPE声明必须位于HTML文档的第一行。
HTML5:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
</html>
HTML4:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://wwww.w3.org/TR/xhtml1-transitional.dtd">
2、<title>标签 使用<title>标签描述页面的标签,类似一个文档的标题,为一个简介的主题,并能使读者有兴趣。
<title>搜狐-中国最大的门户网站</title>
3、<meta>标签 使用<meta>标签描述网页的摘要信息,包括文档内容类型、字符编码信息,搜索关键字、网站提供的功能和服务的详细描述等。<meta>标签的内容并不显示,其目的是方便浏览器解析或利于搜索引擎搜索,它采用“名称/值”对的方式描述摘要信息。
meta标签可分为两大部分:http-equiv和name变量。
http-equiv相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助浏览器正确地显示网页内容。
name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。
1.文档内容类型,字符编码信息书写如下:
HTML5:
<meta charset="UTF-8">
HTML4:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
属性:charset表示字符集编码,常用的编码有以下几种。
1.gb2312:简体中文,一般用于包含中文和英文的页面;
2.ISO-885901:纯英文,一般用于只包含英文的页面;
3.big5:繁体,用于带有繁体字的页面;
4.UTF-8:国际性通用的编码,同样适用于中文和英文的页面。和gb2312编码相比,国际通用性更好。
2.搜索关键字和内容描述信息书写如下:
<meta name="keywords" content="云图智联">
<meta name="description"content="云图智联是国内的IT教育集团,致力于为中国培养优秀的IT技术人才">
网站示例:
<!--京东-->
<meta name="description"
content="京东JD.COM-专业的综合网上购物商城,销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品.便捷、诚信的服务,为您提供愉悦的网上购物体验!"/>
<meta name="Keywords" content="网上购物,网上商城,手机,笔记本,电脑,MP3,CD,VCD,DV,相机,数码,配件,手表,存储卡,京东"/>
<!--淘宝-->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="renderer" content="webkit" />
<title>淘宝网 - 淘!我喜欢</title>
<meta name="spm-id" content="a21bo" />
<meta name="description" content="淘宝网 - 亚洲较大的网上交易平台,提供各类服饰、美容、家居、数码、话费/点卡充值… 数亿优质商品,同时提供担保交易(先收货后付款)等安全交易保障服务,并由商家提供退货承诺、破损补寄等消费者保障服务,让你安心享受网上购物乐趣!" />
<meta name="aplus-xplug" content="NONE">
<meta name="keyword" content="淘宝,掏宝,网上购物,C2C,在线交易,交易市场,网上交易,交易市场,网上买,网上卖,购物网站,团购,网上贸易,安全购物,电子商务,放心买,供应,买卖信息,网店,一口价,拍卖,网上开店,网络购物,打折,免费开店,网购,频道,店铺" />
1、标题标签
<h1>…</h1>
<h2>…</h2>
<h3>…</h3>
<h4>…</h4>
<h5>…</h5>
<h6>…</h6>
标题标签表示一段文字和标题或主题,并且支持多层的内容结构。例如,一级标题采用h1,二级标题采用h2,其他级别标题以此类推。HTML共提供了六级标题h1~h6,并赋予了标题一定的外观,所有标题字体加粗,h1字号最大,h6字号最小。
2、段落标签、换行标签和水平线标签
<p>段落标签</p>
<br/><!--换行标签-->
<hr><!--水平线标签-->
3、字体样式标签
<!--加粗-->
<strong></strong>
<b></b>
<!--倾斜-->
<em></em>
<i></i>
<!--字体缩小-->
<small></small>
<!--删除线-->
<s></s>
<!--下划线-->
<u></u>
4、图像标签
(1)常见的图像格式
1.JPG格式
JPG格式图像是在Internet上被广泛支持的图像格式,它是联合图像专家组格式的英文缩写。JPG格式采用的是有损压缩,会造成图像画面的失真,不过压缩之后的体积很小,而且比较清晰,所以比较适合在网页中应用此格式最适合用于排和或连续取色调图像的高级格式,这事因为JPG文件可以包含数百万种颜色。随着JPG格式文件品格式质的提高,文件的大小和下载时间也会随着增加。通常可以通过压缩JPG格式文件在图像品质和文件大小之间达到良好的平衡。
2.GIF格式
GIF格式图像是网页中使用最广泛,最普通的一种图像格式,它是图像交换格式的英文缩写。GIF格式文件支持透明色,使得GIF格式在网页的背景和一些多层特效的显示上 用得非常多;还支持动画,这是它最突出的一个特点,因此GIF格式图像在网页中应用非常广泛。
3.BMP格式
BMP格式图像在Windows操作系统中使用得比较多,它是位图的英文缩写。BMP格式图像格式与其他Microsoft Windows程序兼容。它不支持文件压缩,也不是用于Web页。
4.PNG格式
PNG格式是20世纪90年代中期开始开发的图像文件储存格式,它兼有GIF和JPG格式的优势,同时具备GIF格式不具备的特性。
(2)图像标签
<img src="path" alt="text" title="text" width="x" height="y" />
src属性表示图片路径,alt属性指定图像的代替文本,表示图像无法显示时(如图片路径错误或网速太慢等)替代先是文本,这样,即使当图像无法显示时,用户还可以看到网页丢失的信息内容。
title属性可以提供额外的提示或帮助信息,当鼠标移至图片上时显示提示信息,方便用户使用。
width和height两个属性分别表示图片的宽度和高度,如果不设置,那么图片默认显示原始大小。
5、超链接标签
(1)超链接包含两部分内容,一是链接地址,即链接的目标,可以是某个网站或文件路径,对应a标签的href属性;二是链接文本或图像,点击该文本或图像,将跳转到href属性指定的链接地址。
<a href="path" target="目标窗口位置">链接文本或图像</a>
href:链接地址的路径;
target:指定链接在哪个窗口打开,常用的取值有_self(自身窗口)、_blank(新建窗口)。 超链接即可以是文本超链接,也可以使图片超链接
(2)常用的超链接
1>页面间链接
从一个页面链接到另一个页面
2>锚链接
锚链接也称锚点链接,命名锚点链接(也叫书签链接)常常用于那些内容庞大繁琐的网页,通过点击命名锚点,自动跳转到我们设置锚点的位置,类似于我们阅读书籍时的目录页码或章回提示。
锚点链接可以跳转到页面的任何位置。一般用于在页面下面的时候,点击回到最上面。锚点链接的名称可以随意取,只起到标记作用。
1.从A页面的甲位置跳转到本页中的乙位置
示例:
<a href="#a1">a1</a>
<a href="#a2">a2</a>
<a href="#a3">a3</a>
<a href="#a4">a4</a>
<div id="a1">a1</div>
<div id="a2">a2</div>
<div id="a3">a3</div>
<div id="a4">a4</div>
2.从A页面的甲位置跳转到B页面中的乙位置
示例:
<!--A页面-->
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>锚链接</title>
</head>
<body>
<p>
[<a href="help.html#register">A位置</a>]
[<a href="help.html#login">B位置</a>]
</p>
</body>
</html>
<!--B页面-->
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>锚链接</title>
<style>
div{
width: 100%;
height: 500px;
border: 1px solid red;
}
</style>
</head>
<body>
<h4><a name="register">A位置</a></h4>
<div>
<h2>A位置</h2>
</div>
<h4><a name="login">B位置</a></h4>
<div>
<h2>B位置</h2>
</div>
</body>
</html>
3>功能性链接
<!--下载图片-->
<a href="img/qq.jpg">点击下载图片</a>
<!--发送邮件-->
<a href="mailto:Webmaster@ytzl.cn">联系我们</a>
<!--引用脚本语言-->
<a href="javascript:alert('哈哈哈哈')"></a>
6、注释和特殊符号
<!--注释符号-->
当页面的HTML结构复杂或内容较多时,需要添加必要的注释方便代码阅读和维护。同时,有时为了调试,需要暂时注释掉一些不必要的HTML代码。特殊符号一般以"&"符号开头,";"结尾。
需求:
1、标题使用标题标签,文字使用p标签标题与正文之间的分隔线使用水平线标签;歌词词结束后使用换行标签换行
2、人名加粗显示,时间斜体显示
3、制作页面版权部分
<html>
<head>
<title>我的第一个网页</title>
</head>
<body>
我的第一个网页
</body>
</html>
使用学过的图像标签、标题标签、水平线标签、斜体标签、加粗标签、段落标签等制作京东读书新闻资讯页面,主标题使用一级标题标签,副标题使用二级标题标签,二级标题与图片之间使用水平线分隔。
<h1>HTML5+CSS3从入门到精通(标准版)</h1>
<h2>作者:未来科技</h2>
<hr/>
<p><img src="images/book.jpg" alt="图书" width="200"/></p>
<p><em>HTML 5 CSS 3 JavaScript从入门到精通(标准版)</em></p>
<p><em> 以基础知识、示例、实战案例相结合的方式详尽讲述了HTML CSS JavaScript及目前*的前端技术html5移动开发 html5实战 html5 canvas html5 app html5入门 html5 动画 html5揭秘 html 游戏 html5权威指南 的基本知识都有涉及。</em></p>
<p><strong>全书分两大部分,共12章</strong></p>
<p>介绍了HTML5入门和CSS3实战入门内容:使用HTML标签标识网页内容,使用CSS设计网页基本样式,如使用并美化文本、图像、超链接、列表、表单和表格等</p>
<p>第二部分为CSS3布局部分,主要讲解使用CSS3设计完整网页的方法和技巧,以及CSS3中的各种新技术应用;</p>
<p>? 2015-2025 云图智联</p>
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
a{
display: block;
width: 30px;
height: 30px;
line-height: 30px;
font-size: 18px;
}
div{
width: 400px;
height: 400px;
margin-top: 20px;
border: 1px solid red;
}
</style>
</head>
<body>
<a href="#a1">a1</a><a href="#a2">a2</a><a href="#a3">a3</a><a href="#a4">a4</a>
<div id="a1">a1</div>
<div id="a2">a2</div>
<div id="a3">a3</div>
<div id="a4">a4</div>
</body>
</html>
免费学习视频欢迎关注云图智联:https://e.yuntuzhilian.com/
中级
一小时
有一定编程经验。
Typescript
接着上一章,我们先来看AppComponent组件类中的内容:
之前说过,@Component 装饰器中的 templateUrl 属性指定了组件模版文件地址;同时也可以用template属性来指定内联模版。下面就依次讲解这两种方式。
在讲解之前,看看官方是如何看待“内联 (inline) 模板还是模板文件?”这个问题的:
你可以在两种地方存放组件模板。 你可以使用 template 属性把它定义为内联的,或者把模板定义在一个独立的 HTML 文件中, 再通过 @Component 装饰器中的 templateUrl 属性, 在组件元数据中把它链接到组件。
到底选择内联 HTML 还是独立 HTML 取决于个人喜好、具体状况和组织级策略。 上面的应用选择内联 HTML ,是因为模板很小,而且没有额外的 HTML 文件显得这个演示简单些。
无论用哪种风格,模板数据绑定在访问组件属性方面都是完全一样的。
这里呢,个人给出一个答案:实际开发中使用模版文件。
模版就是HTML,所以模版文件那就是HTML文件啦。我们一起来找到这个模版文件,然后书写自己的内容。
下面看看组件元数据中的templateUrl属性:
templateUrl属性的值为“./app.component.html”,其中“.”表示当前目录,于是整体表示的是当前目录下的“app.component.html”文件,看文件类型就知道是HTML文件。那么当前目录是哪个目录呢?这个当前目录表示“app.component.ts”所在的目录,也就是app目录:
既然AppComponent组件的模版文件是“app.component.html”,那么打开“app.component.html”来看看:
我们上一章中牛刀小试的部分也保留了下来,现在来更改其中的内容,删除第一个<div>标签中的<img>标签:
删除第一个<div>标签后面的所有内容:
启动Angular应用:
看看你的界面是否和我的一样。
模版文件就是HTML文件,它里面的内容就是HTML。所以,大家只要会写HTML,那么就会写组件模版。组件模版也是组件的样子,组件模版长什么样,组件就长什么样。
接着来看看templateUrl属性官方说明:
属性名称:templateUrl
属性详情:组件模板文件的 URL。如果提供了它,就不要再用 template 来提供内联模板了。
属性类型:templateUrl: string
来一个非常简单的示例,将“I like Angular”字体颜色变为红色。
参考示例:
“app.component.html”:
结果页面:
示例虽然很简单,但是就想告诉大家,书写模版文件没有那么难,就是普通的HTML。大家也可以试试其他你会的HTML元素。
内联就是写在和组件类同一个文件里面;模版和上面说过的一样,就是HTML;内联模版综合就是写在组件类文件中的HTML。
注意,我说的是组件类文件中,还没有说具体写在哪。
具体写在组件类上@Component 装饰器中的 template 属性中。
下面一步一步来书写一个内联模版。
打开“app.component.ts”组件类文件:
将@Component 装饰器中的 templateUrl 改为 template:
然后将template属性值“./app.component.html”删掉,写上两个“``”(反引号,反引号在键盘的ESC键下面,TAB键的上面,数字1键的左边。别忘了在英文输入法状态下进行输入):
再看看浏览器中应用界面:
空的,什么都没有。因为我们没有在内联模版中写东西。
内联模版中写的也是HTML代码?
是的,和在模版文件中写的一样。
现在,在template属性值写上“<h1>Welcome</h1>”:
再看浏览器中界面的变化:
那么问题来了,内联模版中也能想模版文件中那样使用插值表达式吗?
答案是可以的。我们来试试,将template属性值更改为“<h1>Welcome to {{ title }}!</h1>”:
浏览器中的界面:
正确的将“Welcome to hello”显示出来了,这也说明在内联模版中使用插值表达式是完全没有问题的。
有人估计想问了,template属性值为什么要写在反引号中?引号不可以吗?
首先,反引号是字符串模版,写在“``” 反引号中的字符串内容将原生输出,不会对其中对内容进行转义。而引号则会对其中对内容进行转义,那样就达不到书写HTML代码的目的。
既然如此,我们将template属性值更改为和“app.component.html”模版文件一样的内容。
删除原有的template属性值内容,并在反引号中间回车,也就是换行:
然后,将“app.component.html”里面的内容复制粘贴到反引号中,当然了,你也可以照着写一遍:
再去看看浏览器中Angular应用界面:
和模版文件呈现出的内容一摸一样。
这就是内联模版,它将HTML书写在了组件类的元数据上。在实际开发中,我们通常不会采用内联模版的方式,因为它书写起来极不方便,也不美观,更没有阅读性,所以我们采用模版文件的方式,将组件类和组件模版关联起来。
接下来看看template属性官方说明:
属性名称:template
属性详情:组件的内联模板。如果提供了它,就不要再用 templateUrl 提供模板了。
属性类型:template: string
官方是如何描述模版与视图的呢?
你要通过组件的配套模板来定义其视图。模板就是一种 HTML,它会告诉 Angular 如何渲染该组件。
视图通常会分层次进行组织,让你能以 UI 分区或页面为单位进行修改、显示或隐藏。 与组件直接关联的模板会定义该组件的宿主视图。该组件还可以定义一个带层次结构的视图,它包含一些内嵌的视图作为其它组件的宿主。
带层次结构的视图可以包含同一模块(NgModule)中组件的视图,也可以(而且经常会)包含其它模块中定义的组件的视图。
以上就是官方对模版与视图的描述,上面最后的一张图我们可以简单说一下,从图中可以看到,顶层的是RootComponent和RootTemplate,也就是根组件和根组件的模版。
我们当前的根组件就是AppComponent。接着,在根组件的下面有Child A Component 和Child A Template,还有Child B Component 和Child B Template,虽然它只是列了两个子组件A和子组件B,其实还可以有无限的子组件。
从图中还可以看出,子组件A还有一个GrandChild Component 和GrandChild Template,也就是孙子组件和孙子组件的模版。
这张图它想表达的意思是什么?
它想表达的意思是,一个页面(即视图)可以是由很多个子视图组成的。
大家如果还是有点搞不懂,我们来看一个实际页面来说明,以百度举例说明。
上图是百度的官网,假设这是我们编写的AppComponent,其中哪些部分可以由多个子组件组合而成的呢?我标注出来给大家看:
其中,将网页分为三部分:页面顶部、页面内容区、页面底部。页面顶部放置网站导航,页面内容放置LOGO和搜索框,页面底部放置网站版权信息。
AppComponent对应的是整体页面,由导航组件、内容组件和底部组件组成。
页面顶部可以是NavComponent,导航组件。
页面内容可以是ContentComponent,内容组件。
页面底部可以是FooterComponent,底部组件。
这样是不是一下子把整体页面单独区分开来?一目了然有没有。
当你要编辑网页顶部导航时,只需去编辑NavComponent组件即可,其他的组件完全不用动,这几个组件之间完全互不干扰,独立存在。
为什么要分的这么细?
因为不想在后续的开发过程因一个小小的改动牵一发而动全身,那是灾难。另外一个原因就是组件复用,相同组件只需写一次,要用到的地方写上selector即可。
至此,组件的模版讲解就先告一段落啦,后续还有根组件模版息息相关的内容,敬请关注!
如果大家有问题或想了解更多前沿技术,请在下方留言或评论,我会为大家解答。
Angular第二十一章:组件
Angular第二十三章:组件的CSS样式
加入同步学习小组,共同交流与进步。
如果你也热爱前沿技术,欢迎关注我们。
原创不易,未经允许不得转载!
*请认真填写需求信息,我们会在24小时内与您取得联系。