您的浏览器不支持JavaScript,请开启后继续
从零开始学Node.js

从零开始学Node.js

  • 作者
  • 明日科技 编著

本书从零基础读者的角度出发,通过通俗易懂的语言、丰富多彩的实例,循序渐进地让读者在实践中学习Node.js编程知识,并提升自己的实际开发能力。 全书共分为5篇20章,内容包括初识Node.js、JavaScript基础、npm包管理器、Node.js基础、http模块、fs文件及文件夹操作模块、path路径操作模块、os系统模块、Node.js中的流、socket.io模块、异步编程与回调...


  • ¥99.00

ISBN: 978-7-122-41326-0

版次: 1

出版时间: 2022-09-01

图书介绍

ISBN:978-7-122-41326-0

语种:汉文

开本:16

出版时间:2022-09-01

装帧:平

页数:364

编辑推荐

本书具有如下特色:  由浅入深,循序渐进。本书以入门读者为对象,先从语言基础学起,再学习语言的核心技术,然后学习高 级应用,*后学习开发一个完整项目。讲解过程中步骤详尽,版式新颖,使读者在阅读时一目了然,从而快速掌握书中内容。  语音视频,讲解详尽。书中每一章节均提供声图并茂的教学视频,读者可以扫描书中对应的二维码随时随地学习。这些视频能够引导初学者快速入门,感受编程的快乐和成就感,增强进一步学习的信心,从而快速成为编程高手。  实例典型,轻松易学。通过例子学习是好的学习方式,本书通过“一个知识点、一个例子、一个结果、一段评析、一个综合应用”的模式,透彻详尽地讲述了实际开发中所需的各类知识。另外,为了便于读者阅读程序代码,快速学习编程技能,书中几乎每行代码都提供了注释。  精彩栏目,贴心提醒。本书根据需要在各章安排了很多“注意”“说明”“技巧”等小栏目,让读者可以在学习过程中更轻松地理解相关知识点及概念,更快地掌握个别技术的应用技巧。  附赠资源,优质服务。除配套视频和源程序外,本书还赠送相关资源库、题库,同时为读者提供社区技术支持、QQ在线答疑等学习服务,收获更好的学习体验。

图书前言

Node.js是一个让 JavaScript 运行在服务器端的开发平台,它让JavaScript 成为与PHP、Python、Perl、Ruby等服务器端语言平起平坐的脚本语言。Node.js的出现,让不懂服务器开发语言的程序员也可以非常容易地创建自己的服务。
本书内容
本书包含了学习Node.js编程开发的各类必备知识,全书共分为5篇20章内容,结构如下。
第1篇:Node.js基础篇。本篇主要对Node.js编程的基础知识进行详解,包括初识Node.js、JavaScript基础、npm包管理器、Node.js基础等内容。
第2篇:Node.js核心模块篇。本篇主要讲解Node.js编程的核心模块及其应用,包括http模块、fs文件及文件夹操作模块、path路径操作模块、os系统模块、Node.js中的流、socket.io模块等内容。
第3篇:异步编程与事件篇。本篇通过异步编程与回调、事件的监听与触发、程序调试与异常处理等3章内容,对Node.js中异步编程思想、回调及事件等高级内容进行讲解,并且介绍如何调试与处理Node.js程序中可能出现的异常。
第4篇:框架及数据应用篇。框架是提高项目开发效率的最有效手段之一,而数据是项目开发的核心内
容,本篇通过express模块基础、express高级应用之express-generator、Web开发中的模板引擎、Node.js与MySQL数据库、Node.js与MongoDB数据库等内容,详细讲解Node.js项目开发中最常用的框
架、Web模板引擎,以及如何在Node.js项目中使用流行的MySQL数据库或MongoDB数据库存取数据。
第5篇:项目开发篇。学习编程的最终目的是进行开发,解决实际问题,本篇通过网络版五子棋游戏、全栈博客网这两个不同类型的项目,讲解如何使用所学的Node.js知识开发项目。
本书特点
知识讲解详尽细致。本书以零基础入门学员为对象,力求将知识点划分得更加细致,讲解更加详细,使读者能够学必会,会必用。
案例侧重实用有趣。通过实例学习是最好的编程学习方式。本书在讲解知识时,通过有趣、实用的案例对所讲解的知识点进行解析,让读者不只学会知识,还能够知道所学知识的真实使用场景。
思维导图总结知识。每章最后都使用思维导图总结本章重点知识,使读者能一目了然地回顾本章知识点以及需要重点掌握的知识。
配套高清视频讲解。本书资源包中提供了同步高清教学视频,读者可以通过这些视频更快速地学习,感受编程的快乐和成就感,增强进一步学习的信心,从而快速成为编程高手。
读者对象
初学编程的自学者				编程爱好者
大中专院校的老师和学生			相关培训机构的老师和学员
初、中、高级程序开发人员			Web前端开发人员
参加实习的“菜鸟”程序员
读者服务
为了方便解决本书疑难问题,我们提供了多种服务方式,并由作者团队提供在线技术指导和社区服务,服务方式如下:
√ 企业QQ:4006751066
√ QQ群:515740997
√ 服务电话:400-675-1066、0431-84978981
本书约定
开发环境及工具如下:
√ 操作系统:Windows 7、Windows 10等。
√ 开发工具:WebStorm 2021.1.2(向下兼容)。
√ Node.js版本:Node.js 16.3.0。
√ 数据库:MySQL 8.0、MongoDB 4.4.6。
致读者
本书由明日科技Web前端程序开发团队组织编写,主要人员有王小科、何平、张鑫、申小琦、赵宁、李菁菁、周佳星、王国辉、李磊、赛奎春、杨丽、高春艳、张宝华、庞凤、宋万勇、葛忠月等。在本书编写过程中,我们以科学、严谨的态度,力求精益求精,但不足之处仍在所难免,敬请广大读者批评指正。
感谢您阅读本书,零基础编程,一切皆有可能,希望本书能成为您编程路上的敲门砖。
祝读书快乐!

编者

精彩书摘

本书从零基础读者的角度出发,通过通俗易懂的语言、丰富多彩的实例,循序渐进地让读者在实践中学习Node.js编程知识,并提升自己的实际开发能力。
全书共分为5篇20章,内容包括初识Node.js、JavaScript基础、npm包管理器、Node.js基础、http模块、fs文件及文件夹操作模块、path路径操作模块、os系统模块、Node.js中的流、socket.io模块、异步编程与回调、事件的监听与触发、程序调试与异常处理、express模块基础、express高级应用之express-penerator、Web开发中的模板引擎、Node.js与MySQL数据库、Node.js与MongoDB数据库、网络版五子棋游戏、全栈博客网等。书中知识点讲解细致,侧重介绍每个知识点的使用场景,涉及的代码给出了详细的注释,可以使读者轻松领会Node.js程序开发的精髓,快速提高开发技能。同时,本书配套了大量教学视频,扫码即可观看,还提供所有程序源文件,方便读者实践。
本书适合Node.js初学者、软件开发入门者自学使用,也可用作高等院校相关专业的教材及参考书。

目录

第1篇 Node.js基础篇
第1章 初识Node.js  2	视频讲解:5节,40分钟
1.1 Node.js简介  3
1.1.1 Web和互联网  3
1.1.2 V8引擎和Node.js  4
1.1.3 Node.js的优缺点  5
1.2 Node.js的下载与安装  5
1.2.1 下载并安装Node.js  5
1.2.2 测试Node.js是否安装成功  10
1.3 WebStorm开发环境的下载与安装  10
1.3.1 WebStorm的下载  10
1.3.2 WebStorm的安装  11
1.4 第一个Node.js服务器程序  14
1.4.1 WebStorm首次加载配置  14
1.4.2 使用WebStorm创建第一个Node.js程序  16
1.4.3 在WebStorm中运行Node.js程序  19
1.4.4 使用cmd命令运行Node.js程序  20
1.5 熟悉WebStorm开发环境  21
1.5.1 WebStorm功能区预览  21
1.5.2 WebStorm中英文对照菜单  21
1.5.3 常用工具栏  23
1.5.4 常用快捷键  23
1.5.5 WebStorm常用技巧  24
本章知识思维导图  25

第2章 JavaScript基础  26	视频讲解:9节,169分钟
2.1 JavaScript概述  27
2.1.1 Node.js与JavaScript  27
2.1.2 什么是JavaScript语言  27
2.1.3 为什么学习JavaScript语言  27
2.1.4 JavaScript的应用  28
2.2 JavaScript在HTML中的使用  29
2.2.1 在页面中直接嵌入JavaScript代码  30
【实例2.1】 编写第一个JavaScript程序  31
2.2.2 链接外部JavaScript文件  32
【实例2.2】 调用外部JavaScript文件  33
2.2.3 作为标签的属性值使用  34
2.3 JavaScript基本语法规则  34
2.4 JavaScript数据类型  36
2.4.1 数值型  36
2.4.2 字符串型  38
【实例2.3】 输出前NBA球星奥尼尔的中文名、英文名和别名  40
2.4.3 布尔值和特殊数据类型  41
2.5 JavaScript流程控制  41
2.5.1 条件判断语句  41
【实例2.4】 判断2021年的2月份有多少天  44
【实例2.5】 判断学生的成绩等级  45
2.5.2 循环控制语句  45
2.6 JavaScript函数  47
2.6.1 函数的定义  48
2.6.2 函数的调用  48
【实例2.6】 为商城中“加入购物车”按钮添加单击事件  50
2.7 DOM文档对象模型  51
2.7.1 DOM概述  51
2.7.2 DOM对象节点属性  53
2.7.3 DOM对象的应用  53
【实例2.7】 实现电影图片的轮换效果  54
2.8 Document文档对象  54
2.8.1 Document文档对象介绍  54
2.8.2 Document文档对象的常用属性  55
2.8.3 Document文档对象的常用方法  55
2.8.4 设置文档前景色和背景色  56
【实例2.8】 动态改变文档的前景色和背景色  56
2.8.5 设置动态标题栏  57
【实例2.9】 实现动态标题栏  57
2.8.6 在文档中输出数据  58
【实例2.10】 对比write()方法和writeln()方法  58
2.8.7 获取文本框并修改其内容  59
【实例2.11】 获取文本框并修改其内容  59
2.9 Window对象  59
2.9.1 Window对象的属性  60
2.9.2 Window对象的方法  60
2.9.3 Window对象的使用  61
本章知识思维导图  62

第3章 npm包管理器  63	视频讲解:1节,9分钟
3.1 npm包管理器简介  64
3.1.1 npm简介  64
3.1.2 npm的版本  64
3.1.3 npm常见软件包  65
3.2 package.json基础  67
3.2.1 认识package.json  67
3.2.2 npm中的package-lock.json文件  69
3.3 使用npm包管理器安装包  71
3.3.1 安装单个软件包  71
3.3.2 安装npm包的指定版本  72
3.3.3 安装所有软件包  73
3.3.4 更新软件包  74
3.3.5 指定npm软件包的安装位置  75
3.3.6 卸载npm软件包  76
3.4 使用npm安装的软件包  76
【实例3.1】 使用npm安装的软件包  76
本章知识思维导图  77

第4章 Node.js基础  78	视频讲解:4节,46分钟
4.1 Node.js全局对象  79
4.1.1 全局变量  79
4.1.2 全局对象  79
【实例4.1】 argv属性和exit()方法的初级使用  82
4.1.3 全局函数  84
4.2 模块化编程  85
4.2.1 exports 对象  86
【实例4.2】 计算绝对值与圆的周长  86
4.2.2 module 对象  86
【实例4.3】 使用module模块实现向2021年问好  87
4.3 node.js常用工具——util模块  87
4.3.1 转换异步函数的风格  88
4.3.2 实现对象间的原型继承  88
4.3.3 将对象转换为字符串  89
4.3.4 格式化输出字符串  90
4.3.5 将异步回调方法变成返回Promise实例的方法  91
4.3.6 判断是否为指定类型的内置对象  91
4.4 常用内置模块  94
4.4.1 url模块  95
4.4.2 Query String模块  95
4.4.3 crypto模块  96
【实例4.4】 使用crypto模块生成Hash密码  96
本章知识思维导图  97

第2篇 Node.js核心模块篇
第5章 http模块  100	视频讲解:4节,41分钟
5.1 Web应用服务  101
5.1.1 请求与响应  101
5.1.2 客户端与服务器端  102
5.2 server对象  103
5.2.1 server对象中的方法  103
5.2.2 server对象中的事件  104
5.3 response对象  105
5.3.1 响应HTML文件  106
【实例5.1】 使用fs模块将HTML文件返回给客户端  106
5.3.2 响应多媒体  108
【实例5.2】 实现将图片和视频返回客户端  108
5.3.3 网页自动跳转  109
【实例5.3】 实现网页自动跳转  109
5.4 request对象  110
5.4.1 GET请求  111
5.4.2 POST请求  112
【实例5.4】 使用POST请求获取用户名与密码  112
本章知识思维导图  114

第6章 fs文件及文件夹操作模块  115	视频讲解:3节,48分钟
6.1 文件基本操作  116
6.1.1 检查文件是否存在  116
6.1.2 文件读取  117
【实例6.1】 实现cmd控制台的歌词滚动播放器  118
6.1.3 文件写入  119
【实例6.2】 创建文件并且向文件中写入内容  120
【实例6.3】 为古诗增加古诗赏析  121
6.1.4 异常处理  121
6.2 文件其他操作  122
6.2.1 截断文件  122
【实例6.4】 修改文本文件的大小  123
6.2.2 删除文件  123
【实例6.5】 删除文件  124
6.2.3 复制文件  124
【实例6.6】 复制文件  124
6.2.4 重命名文件  126
【实例6.7】 批量为文件重命名  126
6.3 目录常用操作  127
6.3.1 创建目录  127
【实例6.8】 批量创建文件并放到指定的文件夹中  127
6.3.2 读取目录  129
6.3.3 删除空目录  129
6.3.4 查看目录信息  130
6.3.5 获取目录的绝对路径  132

本章知识思维导图  133
第7章 path路径操作模块  134
7.1 绝对路径和相对路径  135
【实例7.1】 实现cmd控制台读取文件  135
7.2 通过路径获取文件详细信息  136
7.2.1 获取文件所在目录  136
7.2.2 获取文件名  136
7.2.3 获取扩展名  137
【实例7.2】 通过扩展名判断文件夹中的图片文件  137
7.2.4 解析路径的组成  138
7.2.5 从对象返回路径字符串  138
【实例7.3】 通过路径的信息将其转换为路径字符串  139
7.2.6 判断路径是否为绝对路径  140
【实例7.4】 判断并显示所有的绝对路径  140
7.3 实现对路径的解析  141
7.3.1 将路径解析为绝对路径  141
【实例7.5】 resolve()方法的使用  142
7.3.2 实现将路径转换为相对路径  142
【实例7.6】 将列表中的绝对路径转换为相对路径  142
7.3.3 多路径的拼接  143
7.3.4 规范化路径  144
7.4 path模块的相关属性  144
本章知识思维导图  145

第8章 os操作系统模块  146
8.1 获取内存相关信息  147
8.1.1 获取系统剩余内存  147
8.1.2 获取系统总内存  147
【实例8.1】 显示系统的内存使用情况  147
8.2 获取网络相关信息  148
8.3 获取系统相关的目录  148
8.3.1 获取用户主目录  148
8.3.2 获取临时文件夹目录  149
8.4 通过os模块获取系统相关信息  149
【实例8.2】 获取计算机操作系统的相关信息  151
【实例8.3】 查看计算机的运行时间  152
8.5 os模块常用属性  154
本章知识思维导图  155

第9章 Node.js中的流  156
9.1 流简介  157
9.1.1 流的基本概念  157
9.1.2 了解Buffe/ 157
9.2 创建可读流  158
9.2.1 流的读取模式与状态  158
9.2.2 可读流的相关事件  158
9.2.3 读取数据  159
9.2.4 设置编码格式  159
9.2.5 暂停流  160
9.2.6 获取流的运行状态  160
9.2.7 销毁数据  161
9.2.8 绑定可写流至可读流  161
9.2.9 解绑可写流  162
9.2.10 可读流的相关属性  163
9.3 创建可写流  163
9.3.1 可写流的相关事件  163
9.3.2 创建可写流  163
9.3.3 设置流的编码方式  164
9.3.4 关闭流  164
9.3.5 销毁流  165
9.3.6 将数据缓冲到内存  166
9.3.7 输出缓冲后的数据  166
9.3.8 可写流的相关属性  167
9.4 双工流与转换流  168
9.4.1 双工流的使用  168
9.4.2 转换流的使用  168
9.5 使用流操作文件  169
9.5.1 创建文件可读流  169
【实例9.1】 读取文件的指定内容  169
9.5.2 创建文件可写流  170
【实例9.2】 使用可写流为文件追加内容  170
本章知识思维导图  171

第10章 socket.io模块  172
10.1 socket.io模块基本操作  173
10.1.1 创建WebSocket服务器  173
10.1.2 创建WebSocket客户端  174
10.1.3 创建WebSocket事件  175
【实例10.1】 实现服务器端与客户端之间的通信  175
10.2 socket通信的类型  177
10.2.1 public通信类型  177
【实例10.2】 使用socket发布一则通知  178
10.2.2 broadcast通信类型  180
【实例10.3】 实现群发消息功能  180
10.2.3 private通信类型  182
【实例10.4】 实现与好友聊天功能  182
10.3 将客户端分组  185
【实例10.5】 实现进群通知和退群通知  186
10.4 项目实战——聊天室  188
【实例10.6】 制作简单聊天室  188
10.4.1 服务器端代码实现  189
10.4.2 客户端代码实现  190
10.4.3 执行项目  191
本章知识思维导图  192

第3篇 异步编程与事件篇
第11章 异步编程与回调  194
11.1 同步和异步  195
11.2 回调函数  196
【实例11.1】 回调函数的简单应用  197
【实例11.2】 异步调用回调函数  197
11.3 使用async/await的异步回调  198
11.3.1 Promise基础  199
11.3.2 为什么使用async/await  199
11.3.3 async/await的使用  200
【实例11.3】 使用async/await执行异步回调  200
11.3.4 使用async/await异步回调的优点  201
本章知识思维导图  202

第12章 事件的监听与触发  203
12.1 EventEmitter对象  204
【实例12.1】 使用EventEmitter创建简单事件  204
【实例12.2】 演示项目中监听事件的添加与触发  205
12.2 添加和触发监听事件  205
12.2.1 添加监听事件  206
12.2.2 添加单次监听事件  207
【实例12.3】 使用emit方法触发事件  208
12.2.3 触发监听事件  208
【实例12.4】 使用emit方法触发事件  208
【实例12.5】 触发带参数的监听事件  209
12.3 删除监听事件  209
【实例12.6】 删除指定的监听事件  210
本章知识思维导图  211

第13章 程序调试与异常处理  212
13.1 使用console.log()调试程序  213
13.2 使用WebStorm调试程序  213
13.2.1 插入断点  214
13.2.2 删除断点  214
13.2.3 禁用断点  214
13.2.4 断点调试  215
13.3 Node.js程序异常处理  216
13.3.1 使用throw关键字抛出异常  216
13.3.2 Error错误对象  217
13.3.3 使用try…catch捕获异常  218
13.4 异步程序中的异常处理  219
本章知识思维导图  221

第4篇 框架及数据应用篇
第14章 express模块基础  224
14.1 认识 express模块  225
14.1.1 创建Web服务器  225
14.1.2 express模块中的响应对象  225
【实例14.1】 实现向客户端响应数组信息  226
14.1.3 express模块中的请求对象  227
【实例14.2】 判断当前请求用户使用浏览器的类型  227
14.2 express模块中的中间件  228
14.2.1 什么是中间件  228
14.2.2 router中间件  230
14.2.3 static中间件  231
【实例14.3】 实现向客户端返回图片  232
14.2.4 cookie parser中间件  232
14.2.5 body parser中间件  233
【实例14.4】 使用中间件实现登录验证功能  233
14.3 实现RESTful Web服务  235
【实例14.5】 实现用户信息的RESTful服务  236
14.3.1 创建数据库  236
14.3.2 实现GET请求  238
14.3.3 实现POST请求  238
【实例14.6】 实现JSON文件的RESTful Web 服务  240
本章知识思维导图  241

第15章 express高级应用之express-generato/ 242
15.1 认识 express-generator框架  243
15.1.1 创建项目  243
15.1.2 设置项目参数  245
15.2 express-generator的初体验  246
【实例15.1】 实现登录和退出功能  246
15.3 项目实战——选座购票  250
【实例15.2】 实现选座购票的功能  250
15.3.1 服务器端代码实现  251
15.3.2 客户端代码实现  252
15.3.3 执行项目  253
本章知识思维导图  254

第16章 Web开发中的模板引擎  255
16.1 ejs模块  256
16.1.1 ejs模块的渲染方法  256
【实例16.1】 ejs初体验:使用ejs模板进行渲染  257
【实例16.2】 给客户端返回轨道交通信息  258
16.1.2 ejs模块的数据传递  260
【实例16.3】 返回美团外卖单据  260
16.2 pug模块  262
16.2.1 pug模块的渲染方法  262
【实例16.4】 模拟获取消费券页面  264
16.2.2 pug模块的数据传递  265
【实例16.5】 月度消费账单提醒  265
本章知识思维导图  267

第17章 Node.js与MySQL数据库  268
17.1 MySQL 数据库的下载、安装及配置使用  269
17.1.1 数据库简介  269
17.1.2 下载MySQL  269
17.1.3 安装MySQL  270
17.1.4 配置MySQL环境变量  276
17.1.5 启动MySQL  278
17.1.6 使用Navicat foMySQL管理软件  278
17.2 MySQL数据库操作基础  279
17.2.1 认识SQL语言  279
17.2.2 数据库操作  280
17.2.3 数据表操作  282
17.2.4 数据操作  285
17.3 在Node.js中操作MySQL数据库  289
17.3.1 mysql模块的基本操作  289
【实例17.1】 连接数据库并查询数据  290
17.3.2 Node.js中对MySQL数据库实现增删改查操作  293
【实例17.2】 小型图书管理系统  293
本章知识思维导图  300

第18章 Node.js与MongoDB数据库  301
18.1 认识MongoDB数据库  302
18.1.1 关系型数据库与非关系型数据库  302
18.1.2 下载MongoDB数据库  303
18.1.3 安装MongoDB数据库  304
18.1.4 配置并测试MongoDB数据库  307
18.2 MongoDB数据库基础  309
18.2.1 使用JavaScript语言  309
18.2.2 数据库、集合与文档  310
18.2.3 添加数据  311
18.2.4 查询数据  311
18.2.5 修改数据  313
18.2.6 删除数据  313
18.3 项目实战——心情日记  313
【实例18.1】 制作网站心情日记  313
18.3.1 初始化数据  314
18.3.2 主页的实现  315
18.3.3 添加日记  316
18.3.4 修改日记  317
18.3.5 删除日记  319
18.3.6 用户登录与登出  319
本章知识思维导图  321

第5篇 项目开发篇
第19章 网络版五子棋游戏  324	视频讲解:6节,33分钟
19.1 需求分析  325
19.2 游戏设计  325
19.2.1 游戏功能结构  325
19.2.2 游戏业务流程  326
19.2.3 游戏预览  326
19.3 游戏开发准备  327
19.3.1 游戏开发环境  327
19.3.2 游戏项目构成  328
19.4 登录游戏房间设计  328
19.4.1 登录游戏房间概述  328
19.4.2 登录游戏房间的实现  329
19.5 游戏玩家列表设计  330
19.5.1 游戏玩家列表概述  330
19.5.2 游戏玩家列表的实现  330
19.6 游戏对战设计  332
19.6.1 游戏对战概述  332
19.6.2 游戏对战页面初始化  332
19.6.3 绘制棋盘  334
19.6.4 游戏算法及胜负判定  336
19.6.5 重新开始游戏  337
19.6.6 更改棋盘颜色  338
本章知识思维导图  339

第20章 全栈博客网  340	视频讲解:7节,67分钟
20.1 需求分析  341
20.2 项目设计  341
20.2.1 功能结构  341
20.2.2 业务流程  341
20.2.3 项目预览  342
20.3 项目开发准备  343
20.3.1 项目开发环境  343
20.3.2 文件夹组织结构  344
20.4 注册页面设计  345
20.4.1 注册页面概述  345
20.4.2 顶部区和底部区功能的实现  345
20.4.3 注册功能的实现  348
20.5 登录页面设计  350
20.5.1 登录页面概述  350
20.5.2 登录功能的实现  351
20.6 文章功能模块设计  353
20.6.1 文章功能模块概述  353
20.6.2 发表文章功能的实现  354
20.6.3 个人主页的实现  356
20.6.4 修改文章功能的实现  358
20.6.5 删除文章功能的实现  360
20.7 留言功能设计  361
20.7.1 留言功能概述  361
20.7.2 留言功能的实现  361
本章知识思维导图  364

发送电子邮件联系我们