React Native入门与实战

React Native入门与实战 pdf epub mobi txt 电子书 下载 2025

王利华,魏晓军,冯诚祺 著
图书标签:
  • React Native
  • 移动开发
  • 前端开发
  • JavaScript
  • 原生应用
  • UI开发
  • 跨平台
  • 入门教程
  • 实战项目
  • 技术栈
想要找书就要到 静思书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 人民邮电出版社
ISBN:9787115411914
版次:1
商品编码:11844102
包装:平装
开本:16开
出版时间:2016-01-01
用纸:胶版纸
页数:388
字数:454

具体描述

编辑推荐

国内React Native原创图书,携程框架团队倾力打造 详尽基础 + 大量案例,帮助零基础读者实现跨终端App开发 移动解决方案,前端开发利器,一本书玩转React Native

内容简介

  本书共4部分,首先简要介绍了React Native的开发基础知识,然后介绍了React Native的API、组件以及Native扩展和组件的封装,接着介绍了App的动态更新和上架过程,最后通过3个案例介绍了如何使用React Native开发原生App。

作者简介

  王利华,vczero,携程无线框架高级工程师,HTML5培训讲师,主要负责框架组件性能优化、新一代框架研发。2013~2015年在高德地图负责Node.js服务和JavaScript API相关的研发。


  魏晓军,携程框架研发部研发经理,负责携程无线前端框架团队。2011年加入携程,先后从事携程PC端前端框架、数据可视化框架、无线端前端框架等开发工作。现负责携程无线前端框架的开发和性能优化等工作。


  冯诚祺,携程框架研发部高级iOS研发工程师,负责移动端用户行为以及性能数据的统计SDK、数据分析支持。正在修行,朝着全栈的方向努力着。

精彩书评

React Native的诞生很好地诠释了“鉴往知来”。Facebook采用全新的设计理念,为App开发开辟了React Native这一新途径。现在,作者们将这门新技术带给了中国的开发人员。

——Eric Ye,携程旅行网CTO


如果说现在是互联网的天下,我猜将来还会是互联网的天下。Native App、HTML5、Hybrid等移动技术都将成为过往云烟,有互联网思维的移动技术(如React Native)将会大展身手。

——吴其敏,携程旅行网框架部负责人,高级研发总监


React Native是一项非常棒的技术,它独特的思路帮助我们找到了一个性能和可维护性的平衡点。Facebook投入了大量资源在React Native的发展上,我们已经看到很多知名App中都使用了这项技术。它同时拥有Native App的性能和Hybrid App的可维护性,受到开发人员热捧。本书作者花费大量时间研究React Native对于企业App的价值,书中的内容对于有一些前端基础的同学应该很容易理解。希望这本书能帮助降低App开发的门槛,我们也希望能和大家多多交流经验。

——储诚栋,携程旅行网前端框架研发总监

移动技术发展飞速,Native与HTML5的竞争也由来已久。从PhoneGap开始,大家一直在寻找Hybrid的方式来实现App快速开发,同时设法保持良好的用户体验。2015年Facebook推出的React Native是革命性的技术框架,突破了Native与HTML5的界限,将近乎Native的流畅体验和JavaScript的开发效率完美结合。携程框架团队抢先采用这项技术并应用到线上App开发中,其中的实践经验无疑值得国内移动开发者借鉴,推荐大家阅读这本书,一起追求新技术的价值。

——陈浩然,携程旅行网无线研发总监

React Native是React.js的胜利,也是JavaScript以及杰出Web开发体验的胜利,更是技术大融合的胜利。我相信作者在React Native方面的经验和心得都浓缩在这本书里,而且能够及时看到一本React Native中文书,感觉如此亲切。推荐大家细细阅读,认真实践。

——赵锦江(勾股),阿里技术专家

React Native的设计目标是既具有Web的开发体验和发布能力,又具备Native的人机交互体验,它在行业里掀起了一股Native和Web融合探索的热潮。本书涉及话题较全面,既介绍了作为基础的React、组件、API,又涉及更深入的组件扩展和封装,后三章的真实案例定能让读者受益匪浅。

——徐凯(鬼道),阿里技术专家


目录

目录

序 8

前言 9

本书目的 9

内容和组织结构 9

本书特色介绍 10

源代码 10

致谢 10

第1章 React Native简介 12

1.1 环境搭建 12

1.1.1 安装Node.js 12

1.1.2 安装React Native 17

1.1.3 使用NVM管理Node.js版本 18

1.1.4 创建项目 20

1.2 从React 到 React Native 25

1.2.1 React简介 26

1.2.2 React Native简介 31

1.3 为什么要使用React Native 36

1.4 如何学习React Native 36

1.5 说明 37

第2章 React Native开发基础 37

2.1 flexbox布局 37

2.1.1 介绍 37

2.1.2 布局模型 38

2.1.3 伸缩容器属性 38

2.1.4 伸缩项目属性 60

2.1.5 在React Native中使用flexbox 72

2.1.6 实例 74

2.2 React中的JSX 82

2.2.1 JSX入门 83

2.2.2 JSX实战之ReactJS 91

2.2.3 JSX实战之React Native 116

2.3 React Native开发向导 120

2.3.1 配置文件 120

2.3.2 运行 125

2.3.3 调试 127

2.3.4 内部发布 134

2.4 参考资料 135

第3章 常用组件介绍及实践 136

3.1 View组件 136

3.1.1 View介绍 136

3.1.2 案例:九宫格实现 136

3.2 Text组件 146

3.2.1 Text组件介绍 147

3.2.2 案例:网易新闻列表展示 147

3.3 NavigatorIOS组件 157

3.3.1 NavigatorIOS组件介绍 158

3.3.2 案例:列表页跳转详情页 159

3.4 TextInput组件 163

3.4.1 TextInput组件介绍 163

3.4.2 案例:搜索自动提示 164

3.5 Touchable类组件 174

3.5.1 TouchableHighlight组件 175

3.5.2 TouchableOpacity组件 177

3.5.3 TouchableWithoutFeedback组件 179

3.6 Image组件 179

3.6.1 Image组件介绍 179

3.6.2 加载网络图片 180

3.6.3 加载本地图片 185

3.7 TabBarIOS组件 186

3.7.1 TabBarIOS组件介绍 186

3.7.2 案例:类QQ Tab切换 187

3.8 WebView组件 192

3.8.1 WebView组件介绍 192

3.8.2 案例:使用WebView组件加载微博页面 193

3.8.3 案例:新浪微博OAuth认证 196

第4章 常用API介绍及其实践 199

4.1 AppRegistry 200

4.1.1 AppRegistry介绍 200

4.1.2 AppRegistry示例 200

4.2 AsyncStorage 202

4.2.1 AsyncStorage介绍 202

4.2.2 案例:购物车 203

4.3 AlertIOS 217

4.3.1 AlertIOS 217

4.3.2 AlertIOS组件的应用 217

4.4 ActionSheetIOS 221

4.4.1 ActionSheetIOS介绍 221

4.4.2 ActionSheetIOS应用 221

4.5 PixelRatio 225

4.5.1 PixelRatio介绍 225

4.5.2 PixelRatio应用 226

4.6 AppStateIOS 227

4.6.1 AppStateIOS介绍 227

4.6.2 AppStateIOS实例 228

4.7 StatusBarIOS 228

4.7.1 StatusBarIOS介绍 228

4.7.2 StatusBarIOS应用 229

4.8 NetInfo 231

4.8.1 NetInfo介绍 231

4.8.2 NetInfo示例 231

4.9 CameraRoll 232

4.9.1 CameraRoll介绍 232

4.9.2 CameraRoll应用 233

4.9.3 react-native-camera 243

4.10 VibrationIOS 247

4.10.1 VibrationIOS 247

4.11 Geolocation 248

4.11.1 Geolocation介绍 249

4.11.2 Geolocation应用 249

4.12 数据请求 252

4.12.1 XMLHttpRequest 252

4.12.2 Fetch 253

4.13 定时器 254

4.13.1 setTimeout 254

4.13.2 setInterval 255

4.13.3 setImmediate 255

4.13.4 使用requestAnimationFrame开发进度条 256

4.13.6 完整代码 258

第5章 Native扩展 258

5.1 通信机制 258

5.1.1 模块配置映射 258

5.1.2 通信流程 261

5.2 自定义Native API组件 264

5.2.1 模块和方法定义 264

5.2.2 回调函数 267

5.2.3 线程 269

5.2.4 常量导出 270

5.2.5 事件 272

5.2.6 实战 273

5.3 构建Native UI组件 280

5.3.1 概述 281

5.3.2 UI组件的定义 281

5.3.3 UI组件属性 282

5.3.4 组件方法 284

5.3.5 事件 285

5.3.6 实例 288

第6章 组件封装 298

6.1 二级菜单组件 299

6.1.1 静态组件的实现 299

6.1.2 实现组件的复用和封装 305

6.1.3 应用二级菜单组件 320

6.2 日历组件 322

6.2.1 开发日历组件 323

6.2.2 应用日历组件 337

6.3 开源组件 340

6.3.1 react-native-swiper 340

6.3.2 react-native-modal 346

第7章 热更新和上架 353

7.1 动态更新 353

7.1.1 初始化设置 353

7.1.2 更新逻辑 355

7.1.3 回滚策略 358

7.2 App上架 359

7.2.1 证书生成 359

7.2.2 注册应用 367

7.2.4 上传应用 370

第8章 企业内部通讯录应用开发 373

8.1 需求提出 373

8.2 技术架构 375

8.3 服务器端设计和开发 376

8.3.1 服务器端整体设计 376

8.3.2 用户数据模型设计 377

8.3.2 公告数据模型设计 379

8.3.3 服务路由设计 380

8.3.4 创建项目 380

8.3.5 app.js入口文件 382

8.3.6 加载服务模块到内存 385

8.3.7 工具类开发 386

8.3.8 用户信息接口 387

8.3.9 公告消息接口 394

8.4 客户端设计和开发 397

8.4.1 客户端设计 397

8.4.2 工具组件和服务 400

8.4.3 添加依赖库 402

8.4.4 程序入口和登录 404

8.4.5 联系人列表 416

8.4.6 公告功能 428

8.4.7 管理功能 437

8.4.8 关于 464

8.4.9 建议 467

第9章 基于LBS的应用开发 468

9.1 功能设计 468

9.1.1 需求确定 468

9.1.2 开发目录结构 469

9.2 程序入口和工具模块 470

9.2.1 注册应用程序 470

9.2.2 工具模块 471

9.2.3 Nearby组件入口 473

9.3 列表组件开发 478

9.3.1 通用列表组件开发 478

9.3.2 完成列表页 489

9.4 详情页组件开发 496

9.5 WebView地图模块开发 500

9.7 综合效果 505

第10章 豆搜App 506

10.1 豆瓣API 506

10.1.1 熟悉豆瓣API 507

10.1.2 图书、电影、音乐API 508

10.2 应用设计 510

10.2.1 功能设计 510

10.2.2 模块划分 511

10.3 公共模块开发 512

10.3.1 工具类开发 512

10.3.2 服务列表 514

10.3.3 Navigator封装 515

10.3.4 公共头封装 516

10.3.5 WebView封装 519

10.3.6 搜索框封装 521

10.4 功能开发 523

10.4.1 入口组件 523

10.4.2 图书列表页开发 525

10.4.3 图书详情页开发 534

10.4.4 电影模块开发 538

10.4.5 音乐模块开发 546

10.5 完成豆搜App 553


前言/序言


《深入理解JavaScript:从ES6到现代前端开发》 一、 内容概述 本书旨在为开发者提供一份全面、深入的JavaScript学习指南,覆盖了从ECMAScript 6(ES6)的现代化语法特性,到构建现代、高性能前端应用的实践技巧。我们相信,扎实的JavaScript基础是成为一名优秀前端工程师的基石,而ES6及其后续版本的引入,更是极大地提升了开发效率和代码质量。因此,本书将引导读者系统地掌握这些核心概念,并将其应用于实际的项目开发中,最终目标是让读者能够自信地构建复杂、可维护的前端应用。 二、 目标读者 有一定JavaScript基础,希望系统性学习ES6及后续版本新特性的开发者: 如果您熟悉JavaScript的基本语法,但对箭头函数、类、模块、Promise、Async/Await等现代特性感到困惑,本书将为您梳理清晰。 希望提升前端开发效率和代码质量的开发者: 本书不仅介绍新特性,更会结合实际应用场景,讲解如何利用这些特性编写更简洁、可读性更强的代码。 有意转向或深入前端开发的后端开发者: 许多后端开发者具备良好的编程基础,但可能需要一个系统性的途径来掌握现代JavaScript和前端开发的流程。 初学者,但对JavaScript有强烈的学习意愿,并希望从现代化的角度入手: 本书会从基础概念讲起,但更侧重于现代化的最佳实践,帮助初学者建立正确的开发观念。 三、 本书亮点与独特价值 1. 循序渐进,由浅入深: 我们不会一股脑地将所有新特性堆砌给读者。本书的章节设计遵循逻辑顺序,从最核心的ES6特性入手,逐步引入更高级的概念,确保读者能够逐步消化和理解。 2. 理论与实践深度结合: 每一项新特性在介绍其语法和原理后,都会紧随其后的实战案例。这些案例从简单到复杂,覆盖了常见的开发场景,例如数据处理、异步操作、组件化开发等。 3. 注重“为什么”: 我们不仅会告诉您“怎么做”,更会深入探讨“为什么这样做”。例如,为什么需要Promise?它解决了之前回调地狱的哪些问题?Async/Await又是如何进一步简化异步编程的?理解背后的原理,才能真正掌握并灵活运用。 4. 现代化前端开发思维: 本书将视角放在现代前端开发,强调模块化、组件化、声明式编程等核心理念。读者不仅能学到JavaScript本身,更能理解如何在实际项目中构建健壮、可维护的应用。 5. 精选的实战项目: 书中将通过多个精心设计的实战项目,带领读者一步步完成从需求分析到最终实现的过程。这些项目将贯穿全书,巩固所学知识,让读者在动手实践中获得成就感。 6. 避免“大而全”,聚焦核心: JavaScript生态庞大,前端框架和工具更是层出不穷。本书将聚焦于JavaScript语言本身及其在前端开发中的核心应用,避免因涉及过多框架细节而冲淡对JavaScript的理解。在介绍工具和实践时,也会选择最主流、最能体现JavaScript现代特性的方案。 7. 清晰的代码示例和高质量的图示: 所有代码示例都经过严格测试,力求简洁易懂。书中的图示将帮助读者更直观地理解复杂的概念,例如事件循环、原型链等。 8. 解决实际开发痛点: 本书将重点解决开发者在实际开发中经常遇到的问题,例如如何优雅地处理异步操作、如何编写可复用的代码、如何在大型项目中管理状态等。 四、 章节目录(示例,具体内容请参考书中实际章节) 第一部分:JavaScript现代化基础 第一章:ES6入门与语法糖 `let`与`const`:块级作用域的革命 箭头函数:更简洁的函数表达式与`this`指向的解耦 模板字符串:字符串插值与多行字符串的便利 解构赋值:数组与对象的优雅提取 扩展运算符(`...`)与剩余参数:灵活的数据处理 第二章:ES6核心特性深入解析 类(`class`):面向对象编程的现代语法 模块化(`import`/`export`):代码组织与复用的基石 Promise:告别回调地狱,优雅处理异步操作 生成器(`Generator`):异步编程的另一种强大工具 Symbol:ES6中的全新基本类型 第三章:ES7、ES8及后续特性概览 `async`/`await`:同步化思维编写异步代码 对象扩展:`Object.entries`、`Object.values`、`Object.keys` 字符串填充、数组的`includes`等实用方法 可选链(`?.`)与空值合并运算符(`??`):提升代码健壮性 (根据书籍出版时的最新ECMAScript标准,适当补充) 第二部分:JavaScript在现代前端开发中的应用 第四章:数据结构与算法的JavaScript实践 常见数据结构的JavaScript实现与优化(数组、对象、Set、Map) 基础算法的JavaScript实现与复杂度分析 函数式编程思维入门:高阶函数、纯函数、不可变性 第五章:异步编程的深度探索 事件循环(Event Loop)的原理剖析 Promise的进阶用法:`Promise.all`、`Promise.race`、`Promise.any`等 `async`/`await`的最佳实践与错误处理 利用生成器实现更复杂的异步流程控制 第六章:面向对象与函数式编程的融合 JavaScript中的原型链与继承机制 如何利用ES6类构建可复用的组件 函数式编程在前端开发中的应用场景(数据转换、事件处理) Lodash/Ramda等函数式工具库的介绍与使用 第七章:模块化开发与构建工具 CommonJS与ES Modules的对比与选择 Webpack/Vite等现代构建工具的核心概念与配置 代码分割、懒加载与性能优化 Tree Shaking与模块打包优化 第八章:状态管理与数据流 前端状态管理的挑战与解决方案 Context API与Hooks在React中的状态管理 Redux/Vuex等状态管理库的原理与实践(简述,不深入框架细节) 如何设计高效、可扩展的状态管理方案 第九章:JavaScript在性能优化中的角色 JavaScript执行性能分析与优化技巧 内存管理与垃圾回收机制 利用Web Workers实现多线程并发 代码打包与按需加载对性能的影响 第十章:JavaScript的测试与维护 单元测试、集成测试、端到端测试的概念 Jest/Mocha等测试框架的使用 代码规范与Linting工具(ESLint、Prettier) 如何编写可维护、易于测试的JavaScript代码 第三部分:实战项目演练 第十一章:构建一个现代化的Todo List应用 从零开始,运用ES6+特性构建基础功能 引入模块化管理代码 实现状态管理与数据持久化 第十二章:开发一个简单的API数据展示平台 掌握异步请求与Promise/Async/Await的使用 利用组件化思想组织UI 数据请求与渲染的优化 第十三章:(可选)一个更复杂的实战项目,例如一个图片分享应用或简易博客 整合全书所学知识点 深入实践前端开发流程 重点关注代码的可维护性与可扩展性 五、 总结 《深入理解JavaScript:从ES6到现代前端开发》不仅仅是一本技术手册,更是一次系统性的学习旅程。我们希望通过本书,能够帮助您构建坚实的JavaScript功底,掌握现代化前端开发的思维方式,并在未来的开发生涯中,能够自信、高效地迎接各种挑战。学习JavaScript,就是投资您在数字时代的核心竞争力。 ---

用户评价

评分

对于我这样一名正在学习前端技术的学生来说,React Native 的出现无疑为我打开了另一扇门。我目前正在学习 React,了解到 React Native 可以用 React 的思路来开发移动应用,这让我觉得非常兴奋。这本书的“入门与实战”的组合,让我觉得它既能帮助我巩固 React 的知识,又能让我学习到如何在移动端落地。我希望这本书能详细介绍 React Native 的核心组件,比如 `View`, `Text`, `Image` 等,并讲解如何使用它们来构建复杂的 UI。导航方面,我希望它能清晰地讲解 `React Navigation` 的使用,包括栈导航、标签导航和抽屉导航等。状态管理是我一直比较头疼的问题,我希望这本书能至少介绍一种主流的状态管理方案,并给出实际的应用例子。更重要的是,我期待这本书能通过一些小而完整的项目,让我能够边学边练。比如,做一个天气 App,或者一个简单的社交媒体 Feed,让我能够体验到从零开始构建一个完整 App 的过程。我希望这本书的语言风格亲切,讲解方式循序渐进,让我能够轻松地理解并掌握 React Native 的开发技巧,为我未来的移动开发之路打下坚实的基础。

评分

终于收到了这本书,光是看封面就觉得沉甸甸的,沉甸甸的是知识,更是沉甸甸的期待。我之前接触过一些移动端开发,但一直对 React Native 这种跨平台技术感到好奇,听说能用一套代码适配 iOS 和 Android,简直是效率的神器。这本书的出现,就像是为我指明了方向。我最看重的是它的“入门与实战”这几个字,这说明它不仅仅是理论的堆砌,更是手把手的教学。我一直担心刚接触一个新框架会无从下手,到处找资料,踩坑无数,而这本书如果能提供清晰的项目流程和代码示例,那将是极大的福音。我希望它能从最基础的环境搭建讲起,一步步带领读者熟悉组件、导航、状态管理等核心概念。而且,“实战”部分尤其吸引我,能够通过实际项目学习,把学到的知识融会贯通,这比单纯背诵API要有效得多。我期待它能包含一些常见的应用场景,比如新闻资讯类、电商类或者工具类App的开发流程,这样我学完之后,就能立刻上手开发自己的想法了。这本书的篇幅看起来也不小,希望内容充实,讲解透彻,而不是浅尝辄止。我迫不及待地想翻开它,开始我的 React Native 之旅。

评分

作为一名曾经参与过原生 Android 开发的开发者,我对 React Native 的跨平台能力一直抱着审慎乐观的态度。我曾经花了不少时间在适配不同机型和处理各种兼容性问题上,而 React Native 的出现,似乎提供了一种更高效的解决方案。这本书的“实战”部分,对我来说具有极大的吸引力。我希望它能深入剖析 React Native 的渲染机制,以及它与原生 UI 组件之间的桥梁是如何搭建的。我更关心的是,如何在 React Native 中实现原生 App 的性能和体验?书中是否能提供一些关于性能优化的策略,比如如何处理列表的虚拟化,如何进行异步操作,以及如何选择合适的状态管理方案来避免不必要的重渲染。此外,我希望能看到一些关于如何将现有的原生代码集成到 React Native 项目中的案例,或者如何编写自定义的 Native Modules 来扩展 React Native 的能力。这对于我这样有原生开发背景的开发者来说,能够更好地理解 React Native 的优势和局限性,并能更灵活地运用它来解决实际开发中的问题。我期待这本书能为我提供更深入的洞察和更具挑战性的实战项目。

评分

作为一名有几年前端开发经验的开发者,我对跨平台开发的需求日益增长,而 React Native 一直是我的关注焦点。我之所以选择这本书,是因为它在众多 React Native 书籍中,以“实战”为导向,这正是我所需要的。我不再是零基础的新手,更渴望的是能够快速上手,将现有的 JavaScript 基础和 React 经验迁移到移动端开发。这本书如果能深入讲解 React Native 的架构设计,组件生命周期,以及如何优化性能,那我一定会非常满意。我特别想了解它在处理复杂 UI 交互、动画效果、以及与原生模块交互方面的最佳实践。很多时候,理论知识的学习往往容易脱离实际,而这本书“实战”的定位,意味着它应该能提供很多真实项目中的解决方案和技巧。我希望它能有关于数据请求、状态管理(比如 Redux 或 Context API 的深入应用)、以及打包发布到应用商店的详细指导。如果书中能包含一些与原生 iOS/Android 开发相结合的例子,那更是锦上添花了,这能帮助我更好地理解 React Native 的工作原理,并在遇到原生层面的问题时,知道如何下手。期待这本书能成为我进入 React Native 开发领域的得力助手。

评分

对于我这个完全没有编程基础的读者来说,选择一本合适的入门书籍至关重要。我听说 React Native 能用 JavaScript 开发 App,这让我非常心动,因为我一直对手机 App 开发很感兴趣,但又觉得原生开发门槛太高。这本书的“入门”两个字,让我觉得它可能是我踏入这个领域的第一块垫脚石。我希望这本书能够非常非常详细地讲解每一个概念,从最基本的“什么是 React Native”开始,到如何安装开发环境,如何编写第一行代码。我担心复杂的术语和概念会让我想打退堂鼓,所以如果这本书能够用最通俗易懂的语言,配合大量的图示和代码示例,那将是我的救星。我尤其希望它能讲解如何构建一个简单的小应用,比如一个待办事项列表或者一个简单的计算器,让我能够通过实践来理解理论。如果书中还能包含一些关于如何调试 App 的技巧,如何解决常见的错误,那我会觉得这本书非常实用。我希望这本书的排版清晰,代码格式规范,不会让我因为阅读上的不适而影响学习的进度。能有一本让我觉得“我看得懂,我能跟着做”的书,对我来说就是最好的书。

评分

还没开始看,纸质一看就是正版,嗯,感觉应该还不错呢。

评分

这书还是比较low的。看官方文档吧。

评分

内容过时了

评分

其实还不错吧,感觉蛮好的

评分

很好

评分

快递速度很给力,第一天夜晚下的单,第二天下班就收到了。但是书籍都是盗版的。我以为这么贵,是正版的呢!

评分

为单位技术图书馆甄选的技术书籍,非常不错

评分

本来以为讲的是android,哪知道讲的是ios,只能结合大牛的博客来练习了

评分

买了翻了一下,感觉还可以!

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有