 02 HTML 杨亮 《PHP语⾔程序设计》(IIS) 后端脚本 (PHP) (JSP) (ASP) 数据库 (MySQL) (Oracle) (Access) HTTP 请求 对应⽂文件 获取数据 返回数据 返回⻚页⾯面 返回⻚页⾯面 请求⻚页⾯面 服务器端 客户端 html css javascript html css javascript Web开发⼈人员需要关注 后端脚本 (PHP) (JSP) (ASP) (MySQL) (Oracle) (Access) html css javascript 前端⼯工程师 后端⼯工程师 接受请求 获取数据 处理数据 拼接⻚页⾯面 组织数据 PC Mobile ⻚页⾯面内容 ⻚页⾯面外观 ⻚页⾯面⾏行为 html CSS JavaScript 管理数据 如果让你来设计⼀一种语⾔言 HTML HyperText Markup Language 将HTML变成⺴⽹网⻚页的浏览器 检索⺴⽹网⻚页内容的搜索引擎 接⼿手后续⼯工作的开发⼈人员 HTML代码要做到 • 只是代表内容和结构,和表现⽆无关 • 清晰的结构性 • 充分的语义性 • 程序猿能看懂 • 搜索引擎能明⽩白 • 代码的兼容性 html中的注释与众不同 HTML代码的基本结构 ⺴⽹网⻚页的头部 1、你要告诉浏览器此⺴⽹网⻚页的基本信息0 码力 | 20 页 | 2.44 MB | 1 年前3 02 HTML 杨亮 《PHP语⾔程序设计》(IIS) 后端脚本 (PHP) (JSP) (ASP) 数据库 (MySQL) (Oracle) (Access) HTTP 请求 对应⽂文件 获取数据 返回数据 返回⻚页⾯面 返回⻚页⾯面 请求⻚页⾯面 服务器端 客户端 html css javascript html css javascript Web开发⼈人员需要关注 后端脚本 (PHP) (JSP) (ASP) (MySQL) (Oracle) (Access) html css javascript 前端⼯工程师 后端⼯工程师 接受请求 获取数据 处理数据 拼接⻚页⾯面 组织数据 PC Mobile ⻚页⾯面内容 ⻚页⾯面外观 ⻚页⾯面⾏行为 html CSS JavaScript 管理数据 如果让你来设计⼀一种语⾔言 HTML HyperText Markup Language 将HTML变成⺴⽹网⻚页的浏览器 检索⺴⽹网⻚页内容的搜索引擎 接⼿手后续⼯工作的开发⼈人员 HTML代码要做到 • 只是代表内容和结构,和表现⽆无关 • 清晰的结构性 • 充分的语义性 • 程序猿能看懂 • 搜索引擎能明⽩白 • 代码的兼容性 html中的注释与众不同 HTML代码的基本结构 ⺴⽹网⻚页的头部 1、你要告诉浏览器此⺴⽹网⻚页的基本信息0 码力 | 20 页 | 2.44 MB | 1 年前3
 07 PHP的输⼊、表单与⽂件上传 杨亮 《PHP语⾔程序设计》(IIS) 后端脚本 (PHP) (JSP) (ASP) 数据库 (MySQL) (Oracle) (Access) HTTP 请求 对应⽂文件 获取数据 返回数据 返回⻚页⾯面 返回⻚页⾯面 请求⻚页⾯面 服务器端 客户端 html css javascript html css javascript PHP基本⾓角⾊色 后端脚本 (PHP) (JSP) (ASP) (MySQL) (Oracle) (Access) html css javascript 前端⼯工程师 后端⼯工程师 接受请求 获取数据 处理数据 拼接⻚页⾯面 组织数据 PC Mobile ⻚页⾯面内容 ⻚页⾯面外观 ⻚页⾯面⾏行为 html CSS JavaScript 管理数据 如果我要做⼀一个学院课程的相关⺴⽹网站 www course 2014 2015 2014年Linux系统与应⽤用 / / / / / / / / 添加⼀一⻔门课程需要做的⼯工作: Ctrl-C +Ctrl-V 当我有了100⻔门课程后,学院要求在所有⺴⽹网⻚页上都加上学校logo ⼯工作量貌似有点⼤大 DRY: Don’t Repeat Yourself! URL (Uniform Resource Locator) 统⼀一资源定位符 protocol0 码力 | 12 页 | 1.12 MB | 1 年前3 07 PHP的输⼊、表单与⽂件上传 杨亮 《PHP语⾔程序设计》(IIS) 后端脚本 (PHP) (JSP) (ASP) 数据库 (MySQL) (Oracle) (Access) HTTP 请求 对应⽂文件 获取数据 返回数据 返回⻚页⾯面 返回⻚页⾯面 请求⻚页⾯面 服务器端 客户端 html css javascript html css javascript PHP基本⾓角⾊色 后端脚本 (PHP) (JSP) (ASP) (MySQL) (Oracle) (Access) html css javascript 前端⼯工程师 后端⼯工程师 接受请求 获取数据 处理数据 拼接⻚页⾯面 组织数据 PC Mobile ⻚页⾯面内容 ⻚页⾯面外观 ⻚页⾯面⾏行为 html CSS JavaScript 管理数据 如果我要做⼀一个学院课程的相关⺴⽹网站 www course 2014 2015 2014年Linux系统与应⽤用 / / / / / / / / 添加⼀一⻔门课程需要做的⼯工作: Ctrl-C +Ctrl-V 当我有了100⻔门课程后,学院要求在所有⺴⽹网⻚页上都加上学校logo ⼯工作量貌似有点⼤大 DRY: Don’t Repeat Yourself! URL (Uniform Resource Locator) 统⼀一资源定位符 protocol0 码力 | 12 页 | 1.12 MB | 1 年前3
 08 Cookie, Session与HTTP请求 杨亮 《PHP语⾔程序设计》(IIS) 后端脚本 (PHP) (JSP) (ASP) 数据库 (MySQL) (Oracle) (Access) HTTP 请求 对应⽂文件 获取数据 返回数据 返回⻚页⾯面 返回⻚页⾯面 请求⻚页⾯面 服务器端 客户端 html css javascript html css javascript PHP基本⾓角⾊色 后端脚本 (PHP) (JSP) (ASP) (MySQL) (Oracle) (Access) html css javascript 前端⼯工程师 后端⼯工程师 接受请求 获取数据 处理数据 拼接⻚页⾯面 组织数据 PC Mobile ⻚页⾯面内容 ⻚页⾯面外观 ⻚页⾯面⾏行为 html CSS JavaScript 管理数据 公交卡 银⾏行卡 如果⼀一家咖啡店,买五杯送⼀一杯 信息存在哪⾥里? 超⽂文本传输协议 删除对应⽂文件 session_start()之前不能有任何输出 由于Session和Cookie都使⽤用Cookie 因此都要操作HTTP头信息 因此相关语句前不能有html⻚页⾯面内容输出 使⽤用⻚页⾯面缓存技术 ob_start(); ob_end_flush(); 缓存html不输出 输出html 作业⼀一 学习Session与Cookie的其他细节 PMWD Chapter0 码力 | 12 页 | 1.30 MB | 1 年前3 08 Cookie, Session与HTTP请求 杨亮 《PHP语⾔程序设计》(IIS) 后端脚本 (PHP) (JSP) (ASP) 数据库 (MySQL) (Oracle) (Access) HTTP 请求 对应⽂文件 获取数据 返回数据 返回⻚页⾯面 返回⻚页⾯面 请求⻚页⾯面 服务器端 客户端 html css javascript html css javascript PHP基本⾓角⾊色 后端脚本 (PHP) (JSP) (ASP) (MySQL) (Oracle) (Access) html css javascript 前端⼯工程师 后端⼯工程师 接受请求 获取数据 处理数据 拼接⻚页⾯面 组织数据 PC Mobile ⻚页⾯面内容 ⻚页⾯面外观 ⻚页⾯面⾏行为 html CSS JavaScript 管理数据 公交卡 银⾏行卡 如果⼀一家咖啡店,买五杯送⼀一杯 信息存在哪⾥里? 超⽂文本传输协议 删除对应⽂文件 session_start()之前不能有任何输出 由于Session和Cookie都使⽤用Cookie 因此都要操作HTTP头信息 因此相关语句前不能有html⻚页⾯面内容输出 使⽤用⻚页⾯面缓存技术 ob_start(); ob_end_flush(); 缓存html不输出 输出html 作业⼀一 学习Session与Cookie的其他细节 PMWD Chapter0 码力 | 12 页 | 1.30 MB | 1 年前3
 01 Web 开发与PHP 杨亮 《PHP语⾔程序设计》(IIS) 后端脚本 (PHP) (JSP) (ASP) 数据库 (MySQL) (Oracle) (Access) HTTP 请求 对应⽂文件 获取数据 返回数据 返回⻚页⾯面 返回⻚页⾯面 请求⻚页⾯面 服务器端 客户端 html css javascript html css javascript Web开发⼈人员需要关注 后端脚本 (PHP) (JSP) (ASP) (MySQL) (Oracle) (Access) html css javascript 前端⼯工程师 后端⼯工程师 接受请求 获取数据 处理数据 拼接⻚页⾯面 组织数据 PC Mobile ⻚页⾯面内容 ⻚页⾯面外观 ⻚页⾯面⾏行为 html CSS JavaScript 管理数据 如果让你来设计⼀一种语⾔言 什么是HTML HyperText Markup Language 什么是JavaScript JavaScript vs. Java Script HTML只是为了说明内容和结构,与外表⽆无关 CSS负责将HTML元素的外观 JavaScript负责所有⻚页⾯面的交互及动作 三驾⻢马⻋车 http://www.cnbeta.com/articles/182533.htm 什么是 PHP Personal Home Page 脚本语⾔言:编写+运⾏行0 码力 | 18 页 | 5.96 MB | 1 年前3 01 Web 开发与PHP 杨亮 《PHP语⾔程序设计》(IIS) 后端脚本 (PHP) (JSP) (ASP) 数据库 (MySQL) (Oracle) (Access) HTTP 请求 对应⽂文件 获取数据 返回数据 返回⻚页⾯面 返回⻚页⾯面 请求⻚页⾯面 服务器端 客户端 html css javascript html css javascript Web开发⼈人员需要关注 后端脚本 (PHP) (JSP) (ASP) (MySQL) (Oracle) (Access) html css javascript 前端⼯工程师 后端⼯工程师 接受请求 获取数据 处理数据 拼接⻚页⾯面 组织数据 PC Mobile ⻚页⾯面内容 ⻚页⾯面外观 ⻚页⾯面⾏行为 html CSS JavaScript 管理数据 如果让你来设计⼀一种语⾔言 什么是HTML HyperText Markup Language 什么是JavaScript JavaScript vs. Java Script HTML只是为了说明内容和结构,与外表⽆无关 CSS负责将HTML元素的外观 JavaScript负责所有⻚页⾯面的交互及动作 三驾⻢马⻋车 http://www.cnbeta.com/articles/182533.htm 什么是 PHP Personal Home Page 脚本语⾔言:编写+运⾏行0 码力 | 18 页 | 5.96 MB | 1 年前3
 Yii 2.0 权威指南能 一个安装完的基本应用包含四页: • 主页,当你访问 h t t p s : / / h o s t n a m e / i n d e x . p h p 时显示輬 • 輐 轁 轢 软 轵 轴 輑 页, • 輐 轃 软 轮 轴 轡 轣 轴 輑 页, 显示一个联系表单,允许终端用户通过 轅 轭 轡 轩 转 联系 你, • 輐 轌 软 轧 轩 轮 輑 页, 显示一个登录表单,用来验证终端用户。试着用輐 _ s c r i p t i n g 輲 輮 輴 輮 说声 轈 轅 轌 轌 轏 輲 輵 这个 轕 轒 轌 将会输出包含 輐 轈 轥 转 转 软 轗 软 轲 转 轤 輑 的页面,页面和应用里的其它页 面使用同样的头部和尾部。 如果你省略 轕 轒 轌 中的 m e s s a g e 参数,将会看到页面只显示 輐 轈 轥 转 转 软 輑 。 这 是因为 m e s s a g e 被作为一个参数传给 桥梁。 在下一章节中,你将学习如何创建一个模型,以及添加一个包含 轈 轔 轍 轌 表单的页面。 2 . 5 使 使 使用 用 用表 表 表单 单 单 本章节介绍如何创建一个让用户提交数据的表单页。 该页将显示一个包含 轮 轡 轭 轥 输入框和 轥 轭 轡 轩 转 输入框的表单。 当提交这两部分信息后,页面将会显 示用户所输入的信息。 为了实现这个目标,除了创建一个操作和两个视图外, 还需要创建一0 码力 | 537 页 | 4.66 MB | 1 年前3 Yii 2.0 权威指南能 一个安装完的基本应用包含四页: • 主页,当你访问 h t t p s : / / h o s t n a m e / i n d e x . p h p 时显示輬 • 輐 轁 轢 软 轵 轴 輑 页, • 輐 轃 软 轮 轴 轡 轣 轴 輑 页, 显示一个联系表单,允许终端用户通过 轅 轭 轡 轩 转 联系 你, • 輐 轌 软 轧 轩 轮 輑 页, 显示一个登录表单,用来验证终端用户。试着用輐 _ s c r i p t i n g 輲 輮 輴 輮 说声 轈 轅 轌 轌 轏 輲 輵 这个 轕 轒 轌 将会输出包含 輐 轈 轥 转 转 软 轗 软 轲 转 轤 輑 的页面,页面和应用里的其它页 面使用同样的头部和尾部。 如果你省略 轕 轒 轌 中的 m e s s a g e 参数,将会看到页面只显示 輐 轈 轥 转 转 软 輑 。 这 是因为 m e s s a g e 被作为一个参数传给 桥梁。 在下一章节中,你将学习如何创建一个模型,以及添加一个包含 轈 轔 轍 轌 表单的页面。 2 . 5 使 使 使用 用 用表 表 表单 单 单 本章节介绍如何创建一个让用户提交数据的表单页。 该页将显示一个包含 轮 轡 轭 轥 输入框和 轥 轭 轡 轩 转 输入框的表单。 当提交这两部分信息后,页面将会显 示用户所输入的信息。 为了实现这个目标,除了创建一个操作和两个视图外, 还需要创建一0 码力 | 537 页 | 4.66 MB | 1 年前3
 Laravel 6.0 中文文档本文档由学院君提供 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun.com 3 Laravel 6.0 支持 Ignition,这个一个开源的错误和异常详情页项目, 由 Freek Van der Herten 和 Marcel Pociot 创建并维护。相对于之 前版本的错误显示,Ignition 提供了诸多便捷之处,比如优化了 Blade 错误文 e', 'email'); $request->flashExcept('password'); 将输入存储到 Session 然后重定向 如果你经常需要一次性存储输入请求输入并返回到表单填写页,可以 在 redirect 之后调用 withInput 方法实现这样的功能: return redirect('form')->withInput(); return redirect('f ]); } report 辅助函数 有时候你可能需要报告一个异常并继续处理当前请求。辅助函 数 report 允许你使用异常处理器的 report 方法快速报告一个异常 而不会渲染错误页: public function isValid($value) { try { 本文档由学院君提供 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun0 码力 | 1442 页 | 14.66 MB | 1 年前3 Laravel 6.0 中文文档本文档由学院君提供 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun.com 3 Laravel 6.0 支持 Ignition,这个一个开源的错误和异常详情页项目, 由 Freek Van der Herten 和 Marcel Pociot 创建并维护。相对于之 前版本的错误显示,Ignition 提供了诸多便捷之处,比如优化了 Blade 错误文 e', 'email'); $request->flashExcept('password'); 将输入存储到 Session 然后重定向 如果你经常需要一次性存储输入请求输入并返回到表单填写页,可以 在 redirect 之后调用 withInput 方法实现这样的功能: return redirect('form')->withInput(); return redirect('f ]); } report 辅助函数 有时候你可能需要报告一个异常并继续处理当前请求。辅助函 数 report 允许你使用异常处理器的 report 方法快速报告一个异常 而不会渲染错误页: public function isValid($value) { try { 本文档由学院君提供 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun0 码力 | 1442 页 | 14.66 MB | 1 年前3
 CmlPHP v2.x 开发手册
'/Tpl/cmlException.tpl', // 默认成功跳转对应的模板 文件 '404_page' => CML_CORE_PATH.'/Tpl/404.tpl', // 404跳转页 'debug_page' => CML_CORE_PATH.'/Tpl/debug.tpl', // debug调试信息模板 /* URL设置 */ 'url_model' Cml\Http\Response 用来处理 页面跳转 、 响应404 、及 发送http状态码 等; 重定向 \Cml\Http\Response::redirect($url, $time = 0) 显示404页面 \Cml\Http\Response::show404Page($tpl = null) 发送http状态码相对应的信息 \Cml\Http\Response::sendHttpStatus($code) 其它api在IDE中 $this->db()-> 即会自动提示或者 查看api手册 分页查询 通常情况。我们在分页显示数据的时候。会传个分页参数。比如在url后带个page?=2。 这边的2表示是第二页。 对应的php代码通常是这样: //controller 中接收当前页数 $page = Input::getInt('page', 1); $page < 1 && $page = 1;0 码力 | 251 页 | 973.37 KB | 1 年前3 CmlPHP v2.x 开发手册
'/Tpl/cmlException.tpl', // 默认成功跳转对应的模板 文件 '404_page' => CML_CORE_PATH.'/Tpl/404.tpl', // 404跳转页 'debug_page' => CML_CORE_PATH.'/Tpl/debug.tpl', // debug调试信息模板 /* URL设置 */ 'url_model' Cml\Http\Response 用来处理 页面跳转 、 响应404 、及 发送http状态码 等; 重定向 \Cml\Http\Response::redirect($url, $time = 0) 显示404页面 \Cml\Http\Response::show404Page($tpl = null) 发送http状态码相对应的信息 \Cml\Http\Response::sendHttpStatus($code) 其它api在IDE中 $this->db()-> 即会自动提示或者 查看api手册 分页查询 通常情况。我们在分页显示数据的时候。会传个分页参数。比如在url后带个page?=2。 这边的2表示是第二页。 对应的php代码通常是这样: //controller 中接收当前页数 $page = Input::getInt('page', 1); $page < 1 && $page = 1;0 码力 | 251 页 | 973.37 KB | 1 年前3
 CmlPHP v2.x 开发手册
'/Tpl/cmlException.tpl', // 默认成功跳转 对应的模板文件 '404_page' => CML_CORE_PATH.'/Tpl/404.tpl', // 404跳转页 'debug_page' => CML_CORE_PATH.'/Tpl/debug.tpl', // debug调试信息模板 /* URL设置 */ 'url_model' Cml\Http\Response 用来处理 页面跳转 、 响应404 、及 发送 http状态码 等; 重定向 \Cml\Http\Response::redirect($url, $time = 0) 显示404页面 \Cml\Http\Response::show404Page($tpl = null) 发送http状态码相对应的信息 \Cml\Http\Response::sendHttpStatus($code) 其它api在IDE中 $this->db()- > 即会自动提示或者查看api手册 分页查询 通常情况。我们在分页显示数据的时候。会传个分页参数。比如在url 后带个page?=2。这边的2表示是第二页。 对应的php代码通常是这样: //controller 中接收当前页数 $page = Input::getInt('page', 1); $page < 1 && $page = 1;0 码力 | 245 页 | 720.67 KB | 1 年前3 CmlPHP v2.x 开发手册
'/Tpl/cmlException.tpl', // 默认成功跳转 对应的模板文件 '404_page' => CML_CORE_PATH.'/Tpl/404.tpl', // 404跳转页 'debug_page' => CML_CORE_PATH.'/Tpl/debug.tpl', // debug调试信息模板 /* URL设置 */ 'url_model' Cml\Http\Response 用来处理 页面跳转 、 响应404 、及 发送 http状态码 等; 重定向 \Cml\Http\Response::redirect($url, $time = 0) 显示404页面 \Cml\Http\Response::show404Page($tpl = null) 发送http状态码相对应的信息 \Cml\Http\Response::sendHttpStatus($code) 其它api在IDE中 $this->db()- > 即会自动提示或者查看api手册 分页查询 通常情况。我们在分页显示数据的时候。会传个分页参数。比如在url 后带个page?=2。这边的2表示是第二页。 对应的php代码通常是这样: //controller 中接收当前页数 $page = Input::getInt('page', 1); $page < 1 && $page = 1;0 码力 | 245 页 | 720.67 KB | 1 年前3
 CmlPHP v2.x 开发手册
'/Tpl/cmlException.tpl', // 默认成功跳转对应的模板 文件 '404_page' => CML_CORE_PATH.'/Tpl/404.tpl', // 404跳转页 'debug_page' => CML_CORE_PATH.'/Tpl/debug.tpl', // debug调试信息模板 /* URL设置 */ 'url_model' Cml\Http\Response 用来处理 页面跳转 、 响应404 、及 发送http状态码 等; 重定向 \Cml\Http\Response::redirect($url, $time = 0) 显示404页面 \Cml\Http\Response::show404Page($tpl = null) 发送http状态码相对应的信息 \Cml\Http\Response::sendHttpStatus($code) 其它api在IDE中 $this->db()-> 即会自动提示或者查看api 手册 53 分页查询 通常情况。我们在分页显示数据的时候。会传个分页参数。比如在url后带个page?=2。这边的2表示是 第二页。 对应的php代码通常是这样: //controller 中接收当前页数 $page = Input::getInt('page', 1); $page < 1 && $page = 1;0 码力 | 143 页 | 1.54 MB | 1 年前3 CmlPHP v2.x 开发手册
'/Tpl/cmlException.tpl', // 默认成功跳转对应的模板 文件 '404_page' => CML_CORE_PATH.'/Tpl/404.tpl', // 404跳转页 'debug_page' => CML_CORE_PATH.'/Tpl/debug.tpl', // debug调试信息模板 /* URL设置 */ 'url_model' Cml\Http\Response 用来处理 页面跳转 、 响应404 、及 发送http状态码 等; 重定向 \Cml\Http\Response::redirect($url, $time = 0) 显示404页面 \Cml\Http\Response::show404Page($tpl = null) 发送http状态码相对应的信息 \Cml\Http\Response::sendHttpStatus($code) 其它api在IDE中 $this->db()-> 即会自动提示或者查看api 手册 53 分页查询 通常情况。我们在分页显示数据的时候。会传个分页参数。比如在url后带个page?=2。这边的2表示是 第二页。 对应的php代码通常是这样: //controller 中接收当前页数 $page = Input::getInt('page', 1); $page < 1 && $page = 1;0 码力 | 143 页 | 1.54 MB | 1 年前3
 Laravel 5.2 中文文档这个命令会在 app/Http/Middleware 目录下创建一个新的中间件类 OldMiddleware,在这 个中间件中,我们只允许提供的 age 大于 200 的访问路由,否则,我们将用户重定向到主 页: flashExcept('password'); 将输入存储到一次性 Session 然后重定向 如果你经常需要一次性存储输入并重定向到前一页,可以简单使用 withInput 方法来将输 入数据链接到 redirect 后面: return redirect('form')->withInput(); return redirec 则使其变得轻而易举。Laravel 能够基于 当前页智能生成一定范围的链接,且生成的 HTML 兼容 Bootstrap CSS 框架。 2、基本使用 2.1 基于查询构建器分页 有多种方式实现分页,最简单的方式就是使用查询构建器或 Eloquent 模型的 paginate 方 法。该方法基于当前用户查看页自动设置合适的偏移(offset)和限制(limit)。默认情况 下,当前页通过 HTTP 请求查询字符串参数0 码力 | 377 页 | 4.56 MB | 1 年前3 Laravel 5.2 中文文档这个命令会在 app/Http/Middleware 目录下创建一个新的中间件类 OldMiddleware,在这 个中间件中,我们只允许提供的 age 大于 200 的访问路由,否则,我们将用户重定向到主 页: flashExcept('password'); 将输入存储到一次性 Session 然后重定向 如果你经常需要一次性存储输入并重定向到前一页,可以简单使用 withInput 方法来将输 入数据链接到 redirect 后面: return redirect('form')->withInput(); return redirec 则使其变得轻而易举。Laravel 能够基于 当前页智能生成一定范围的链接,且生成的 HTML 兼容 Bootstrap CSS 框架。 2、基本使用 2.1 基于查询构建器分页 有多种方式实现分页,最简单的方式就是使用查询构建器或 Eloquent 模型的 paginate 方 法。该方法基于当前用户查看页自动设置合适的偏移(offset)和限制(limit)。默认情况 下,当前页通过 HTTP 请求查询字符串参数0 码力 | 377 页 | 4.56 MB | 1 年前3
共 15 条
- 1
- 2














