|
Java电子书:Vue.js 从入门到项目实践(超值版) 格式 pdf 电子书 PDF 电子书 Java吧 java8.com' }; B' Y* t0 S7 [/ y y
$ L3 M2 Y |6 _
1 e$ B" s/ q7 B0 E& ^+ x- V
编号:mudaima-P0345【Java吧 java8.com】: w2 I! [" Q2 b3 T
: [ [5 E9 @8 }, @7 }2 |& M$ |
8 K# g# T0 G& H& } n- w" k, p/ ~- F" B9 [& k* }5 o+ H: F
Java电子书目录:第1篇 基础知识篇 ( A4 O. n0 [! R) U9 O3 s: M# _
第1章 Vue.js基本简介 $ s! F) w+ ~: ^1 a$ a
1.1 前端框架的发展历程 7 d' C$ a0 i z% D
1.1.1 前端静态页面走向动态页面的转变
" j6 Q! H% E: t8 ~" r: g; [1.1.2 程序后端走向前端的转变
8 r$ A4 k. k; s* _4 X1.2 Vue.js介绍 , q$ L N- u9 D" X, G
1.2.1 Vue.js是什么
0 ?3 ~) H+ I5 r4 m2 s/ T6 M3 {' v s4 \+ v& m1.2.2 Vue.js发展历程 # u# ~, U) U0 i* F, t9 T5 M
1.3 Vue.js中的开发模式 4 o2 B a0 C) M. ]2 B
1.3.1 MVC模式介绍
+ A, L6 m3 Z b, [1.3.2 MVP模式介绍 , q% k/ D" {6 ]2 G5 I
1.3.3 MVVM模式介绍
8 L9 k5 z( U8 H" \4 _5 M* {1.4 Vue.js与其他框架比较 ( }/ p4 g2 W7 L, K- M
1.4.1 Vue.js与Angular的比较
9 m% M9 p8 q0 b/ g1.4.2 Vue.js与React的比较 " z7 S* F. W& ?; |) ~) }4 y% w. B$ o
1.5 Vue.js的兼容性
5 c# `. ]% Y. H' K: I1.6 就业面试技巧与解析 4 N d& b( V5 B$ ]* n) D2 [
1.6.1 面试技巧与解析(一) ) k2 x+ n0 X% n
1.6.2 面试技巧与解析(二) ) h/ ~# [- B% f9 H; h6 v& }
第2章 创建Vue.js简单实例
9 J9 k0 F3 `' y% ~2.1 安装Vue Devtools
& ^! T1 w$ l4 ?! ^2.2 下载、安装编辑器HBuilder X及引入Vue.js文件 ( |5 k# C% M( g) g: d! x' _
2.2.1 安装编辑器HBuilder X
, ~ |8 m! w& R2.2.2 下载Vue.js文件
3 M! D0 {5 v7 ~! W1 V0 C2.2.3 在项目中引入Vue.js文件
7 K0 D7 r7 x# P# M$ ?2.3 创建一个Vue实例 , R/ D7 [: k2 v9 I. R
2.4 实例的生命周期 ' k7 J4 z# z3 z0 n' p V
2.5 就业面试技巧与解析
) N( `; c8 ?; N/ [% w, ^1 b2.5.1 面试技巧与解析(一) 6 t/ Q2 P7 t0 e
2.5.2 面试技巧与解析(二) ! S" K% p9 @9 o; e, F( s7 f# n
第3章 Vue.js指令 5 g$ n4 ~% h( r4 v" W* `0 w4 x4 h* R
3.1 内置指令 & ?+ h T) V/ j# [. e
3.1.1 指令 9 Y" I, ]3 a3 u) v0 I
3.1.2 条件指令 * m! D0 H* Z8 f; z5 |0 R9 w. F
3.2 自定义指令 % f8 e% g1 e- E; a/ _% R
3.2.1 指令的注册 $ ~* m$ c- |) y- T6 f
3.2.2 钩子函数 & C9 B" H6 E7 w$ e3 @& c9 S; `: y
3.2.3 钩子函数参数 : ]4 t% ^" H2 v; ^: Z0 q; c- x" Y
3.2.4 函数简写 , ]+ c$ }. x( Z+ [' J6 C/ t
3.2.5 对象字面量
8 N9 u/ Q( Q! r' ~- K3.3 指令的高级选项
; i+ w$ Y" [0 j; x' W3.3.1 deep $ ?$ i# y7 ?1 T! l# H' k& [1 p
3.3.2 params
$ R/ h& P5 E3 H) [4 g9 u3.3.3 twoWay 6 c5 R* S$ e$ V. ?( x+ l8 C7 X
3.3.4 priority : f, q' o: t. n
3.3.5 terminal & O0 K- i3 y3 a7 f+ `
3.3.6 acceptStatement
$ s% }# ]# ^# O3 m$ V/ {3.4 就业面试技巧与解析
3 l$ e4 Z9 G: U- `7 y; X' h3.4.1 面试技巧与解析(一)
: j' q: o: r7 b- h3.4.2 面试技巧与解析(二)
: s% w L* b3 L: g0 s, Z第4章 Vue.js基本特性
- d1 ?# p! \1 ^4.1 实例及选项
# g6 r/ h4 n. J4 I/ |4.1.1 数据 2 i/ h' S& {& k& S+ }; [- ?
4.1.2 方法
, R* }* ]- N; D9 z4.1.3 模板
& t, @' t- _: y* S% I' z4.1.4 watch函数 / ?5 y% w) ?9 W, T: N
4.2 模板渲染
) t* t3 h! a" ^, a4.2.1 条件渲染 6 B6 u: A; p' t% b. T0 w) ^1 U
4.2.2 列表渲染 , V) P+ o9 L8 c" h6 T4 u( G, K0 v0 F
4.2.3 前后端渲染对比
4 W, H z+ d& [! L4.3 extend的用法
( m. c% ~" s: U9 u" _ N# S5 C; G4.4 就业面试技巧与解析 ' M9 v, i+ C; ^/ A- t/ o- v
4.4.1 面试技巧与解析(一)
1 Z* g1 ?2 w& ]3 X9 \% t4.4.2 面试技巧与解析(二)
, D: Y+ F5 L, j+ h7 {第5章 Vue数据及事件绑定 ' N* F7 |) K% F8 D
5.1 数据绑定
. X$ b5 w* ]+ j! a5.1.1 数据绑定的方法 % R% w. ]4 E- G/ c* U8 o/ Y& X% k
5.1.2 计算属性
1 a! U' ?* D9 T% n6 L; E& S5.1.3 计算属性缓存
/ [5 t' _0 _- h5.1.4 表单控件绑定
# T, j* e/ @5 {! J5.1.5 值绑定 2 v* N5 D$ `$ h% l! r }% K
5.2 事件绑定与监听
8 M9 K$ Y7 c% _8 z. t5.2.1 方法及内联处理器
' L( b, G7 K* n: Q% v3 T& y5.2.2 修饰符 " V: z5 z- N' T! G6 g1 F5 H3 n
5.2.3 与传统事件绑定的区别
% V+ J) B9 O$ U' W/ M. x. I5.3 class与style的绑定
$ A9 g& C: }) [' ^1 `5.3.1 绑定<html>中class的方式
|" i! q* e& p$ z m; z# E5.3.2 绑定内联样式
$ L; d9 n: ~' a- h5.4 就业面试技巧与解析
& e- i- a8 p+ E& D4 w- c% u5.4.1 面试技巧与解析(一)
) t, ^3 @0 s' `$ U# ?5 O( a* I5.4.2 面试技巧与解析(二)
& ]3 x( U' Q7 I/ _/ }第6章 Vue.js过滤器
, U9 `% X! _. V6.1 过滤器的基本使用
4 ^2 O0 q9 m& h! h* [6.1.1 全局过滤器
: d( z8 j5 I& H B! {6.1.2 局部过滤器
# y$ q- z) u* x6 _, T \$ v6.1.3 JSON ' s+ F7 v J( y" V( d `
6.1.4 currency
3 e3 t1 G- B+ z& Y6.2 双向过滤器
' U R. d" o& R6.3 自定义过滤器
5 f( @6 T* x8 X* s c9 l! W6.4 就业面试技巧与解析 ) X$ A, ~* P% V
6.4.1 面试技巧与解析(一)
2 {- ]' H, k0 k! V4 Z# U6.4.2 面试技巧与解析(二)
( ]9 l* t! z2 f& @+ @& Q第7章 Vue.js过渡
3 [- A- W! H9 h- ~9 ^; |7.1 CSS过渡 # Z6 v& Z0 w2 p; l
7.1.1 CSS过渡的用法
9 p: N) ~' O+ S: m% W+ d' d7.1.2 CSS过渡钩子函数 2 G" T0 N9 h# d6 j! ^# s0 O
7.1.3 自定义过渡类名
: C7 D0 t3 F3 B" j: d* D7.2 JavaScript过渡 : @7 ^8 } e/ w" {
7.2.1 JavaScript钩子函数过渡
% @% `$ C7 D9 U! D, J7.2.2 JavaScript过渡的使用
$ o y m: I0 C J8 {5 r7.3 多个元素的过渡 8 w4 d. t8 R7 g p
7.4 多个组件的过渡
! f& o$ a, E8 t) I! C: {7.5 transition-group介绍
, X9 n1 q( v/ ^: X7 ^. h8 a7.6 就业面试技巧与解析
) H7 e8 L+ W, w( ?) S7.6.1 面试技巧与解析(一) % l$ l0 f* {% X2 Z0 j, t
7.6.2 面试技巧与解析(二) % `3 w! Q7 y4 Z- r
第8章 Vue.js动画 9 z0 h/ z" c5 s' Y" b D
8.1 CSS动画
* H* @* f1 d# s$ X8.1.1 CSS动画原理
& }- H: C5 r9 E* w9 @8.1.2 同时使用过渡和动画
X$ ]; k" R3 t9 K% p) S# y8.1.3 显性的过渡持续时间
! L! [& s& \/ O8.2 第三方动画库 " e7 P& E0 F: @( r3 ~: Y2 ]0 C' N
8.2.1 使用CCS 3动画库@keyframes 8 N- }9 H# s% D' L2 Z
8.2.2 使用CCS 3动画库Animate.css
$ @, c' o! Q+ g8.2.3 使用JavaScript动画库Velocity.js 0 P% p) Y0 B* D* Y
8.3 动画钩子
0 p# g9 I3 R) t" k3 G3 \5 ]8.4 动画封装
$ A$ S. v! O0 m& R( s. C8.5 就业面试技巧与解析 + ^$ j5 p. `9 z
8.5.1 面试技巧与解析(一)
) s/ q( C+ U* S/ I1 G% e& g5 j8.5.2 面试技巧与解析(二)
: p: T4 [( O& n: l- g2 R第2篇 核心应用篇 - S* }4 C4 B' f2 u* W k
第9章 Vue.js组件
/ S% v6 \7 S6 m8 r& d0 _+ F9 z. ?% s9.1 组件基本内容 5 I7 D# k& Y# P" e* b0 W( n
9.1.1 组件是什么
4 |( I( \, a: X5 M% |* j7 z, |5 o9.1.2 组件用法 0 H) R' r! R7 F- i
9.1.3 组件注册 0 Y; W5 \4 {1 s- q
9.1.4 组件嵌套 ' |% M& f4 N) n
9.1.5 组件切换 i: I9 N! j* j6 [* r8 ]% D F
9.1.6 组件中的data和methods ' A/ I; r8 @) ?8 _8 W- h$ m
9.2 组件通信
+ `* Q0 l& \ b6 q/ w! x p9.2.1 props/$emit
* B* x* o8 Y$ b( o7 V9 r9.2.2 $emit和$on ; P. h C" ]8 s2 [5 f
9.2.3 $attrs和$listeners
8 l% _0 k* S5 _+ G k# b r3 z9.2.4 provide和inject
) J( \/ D3 R1 C$ @% C m9.2.5 $parent/$children与ref
" T4 x" k. f, W- Y* p& @+ m9.3 自定义事件监听
' J/ {/ u. l" u! {% O9.4 Vuex介绍 2 d1 t9 W8 K( t/ l2 ~( Z
9.4.1 Vuex的原理
6 m+ T- ]' |; m5 j3 q9.4.2 Vuex各个模块在流程中的功能 ) {4 T* u8 u" X- ?$ ? E
9.4.3 Vuex与localStorage $ Q8 Z. y0 G9 I2 j
9.5 动态组件
4 v' `% A; A$ L6 E5 ?9 X9.5.1 基本用法
9 L- W6 s: \$ M# ^2 F8 X/ p" X, n9.5.2 切换钩子函数
# v- a' \' S$ d9.5.3 keep-alive
/ j7 R, A, }* l0 x$ N9.6 slot 5 d: Y8 U" G6 \0 t6 w, |( k
9.7 就业面试技巧与解析
) E$ D4 ~3 e: x- L9 t! B1 z9.7.1 面试技巧与解析(一) " B+ Z" U. H% d7 D Y
9.7.2 面试技巧与解析(二)
$ x' T) T! W4 K/ G, ~! z1 b第10章 Vue.js常用插件 ; ] ?7 m+ n+ p/ }/ A' E- L1 p; ~3 l
10.1 前端路由与Vue-router路由 + }6 q9 H7 J \$ C B
10.1.1 什么是前端路由
B# @" s% A8 t1 R. U! ?10.1.2 Vue-router路由的高级用法
: A" D% ?* H `/ T% m- A10.2 状态管理与Vuex 1 I- J2 t( A, l- @
10.2.1 状态管理与使用场景 7 |) f* ^" v. ]- Q
10.2.2 安装并使用Vuex 8 ?4 a. l1 |9 D
10.2.3 设置与读取数据
+ H% u' ~( [: B7 n* C4 J10.2.4 更新数据
q. P/ L+ _9 R; Z: b: F10.3 Vue-resource插件
0 w" F7 N1 D3 Y9 u( H+ P10.3.1 引用方式 7 T0 L) }8 c U" ]; t" ^& Y
10.3.2 使用方式 4 s' e- _2 E/ I* k s
10.3.3 拦截器的使用
( Y4 F$ E2 S; _- ~- I10.3.4 封装service层
& K) x6 R4 J6 e$ R* z) O. D5 Q$ R5 K10.3.5 Vue-resource优点
4 S/ j: P1 ?) H; F2 I10.4 Vue-router插件
^8 @( i0 C9 g8 m' Z0 C10.4.1 引用方式
7 N/ o1 e1 e& @! p& b3 t: r0 |10.4.2 基本用法 , K$ T& S! D% x+ ]; f D0 {# a
10.4.3 Vue-router跳转页面的方式 / ?& O7 J. [) \5 O/ z0 q$ y* f" }
10.4.4 router钩子函数 1 O8 r& u: B; S
10.5 就业面试技巧与解析 ' F8 T% h% m! ?. \, m$ L4 q
10.5.1 面试技巧与解析(一)
& r: l& [7 z$ {" b: K2 Q, `7 ^10.5.2 面试技巧与解析(二)
& X( _6 B6 M) ?5 `第11章 Vue.js实例方法 1 E7 U! W+ w7 ^% |! r! s% l
11.1 虚拟DOM简介 2 b: S0 a) h% H2 x1 ]. ~
11.1.1 虚拟DOM是什么 & u" I$ l, c) b- d
11.1.2 为什么要使用虚拟DOM
8 x9 |+ T9 D6 U( ]11.2 实例属性
; n. R9 J/ B4 F5 S7 [- I11.2.1 组件树的访问 1 `) G. ?: z; T) P; n: r
11.2.2 虚拟DOM的访问 1 g! c+ T8 {4 T
11.2.3 数据访问
3 f: } W4 W7 B& Q% m0 l$ S11.3 实例方法
/ P/ H5 a- F3 T, G! U11.3.1 实例DOM方法的使用 ! H o- _8 k# m
11.3.2 实例event方法的使用 % M; r4 I' K$ A: ^/ Z
11.3.3 vm.$watch()的使用
+ [1 l( a7 l% N11.3.4 vm.$nextTick()的使用 K/ \/ S6 M# Z- _
11.4 就业面试技巧与解析
& K1 l: Z4 m5 ^) x1 q( I11.4.1 面试技巧与解析(一) # m( n/ p3 u. X+ {- t
11.4.2 面试技巧与解析(二)
8 f- p+ @4 V1 E第12章 Render函数 7 h# s- ]- w+ S! R2 ^ W& ?$ M5 ?
12.1 Render简介 ' c" m6 F; |% y. Y
12.1.1 Render函数是什么
) v1 l7 V9 g. m12.1.2 Render函数怎么用 ! y1 s3 @; m% j! d
12.1.3 在什么情况下使用Render函数
. @1 O/ W9 I- w& h5 ]12.1.4 深入data对象
2 m D6 O y2 a8 @12.2 createElement简介 9 z% |9 \# U* O F/ a- a) I& P2 H
12.2.1 基本参数 2 r& |3 y* |& a
12.2.2 使用JavaScript代替模板功能
& W7 e O) e6 l, g+ O- O6 P: N12.2.3 约束 ) w+ [1 }7 ^8 E6 o7 V( ?( s
12.3 函数化组件
7 u+ T3 N Y9 [# j5 K" k$ E12.4 JSX
# ]! v5 [$ l: R" h8 T12.5 就业面试技巧与解析 " o# p+ c$ F. L) j0 @
12.5.1 面试技巧与解析(一) 5 F. W$ c2 m0 z+ N! C0 a! W2 [9 D" [
12.5.2 面试技巧与解析(二) * d, k' u6 y! l: Q
第13章 常见问题解析 9 S7 b% g( ^& o0 ^" B
13.1 环境及安装问题解析 - L$ m `0 t3 g9 k
13.2 运行代码出现报错解析
! m* U7 u' U9 Y* B4 I13.3 你问我答解析 7 X2 |4 _& b1 j; \0 J$ M( p
13.4 就业面试技巧与解析 % l+ Z4 K s, z. t: l$ |+ n6 j
13.4.1 面试技巧与解析(一)
& s3 M5 S4 o3 S1 l8 p0 J, F13.4.2 面试技巧与解析(二)
" B" n* v* G; q1 o, m" m* z第3篇 核心应用篇
. s* {3 I$ W, h/ \( i0 U第14章 状态管理Vuex
- c0 D8 X: E6 b! ]4 l( s14.1 概述
0 O9 @$ A+ V) v8 P$ d14.1.1 Vuex介绍
+ w1 r! `0 i4 B7 u; _5 d14.1.2 状态管理与Vuex
' W; ?, v q- r: E14.1.3 Vuex适用场景 # x& o l& T" M7 M0 I
14.1.4 Vuex的用法 ( ~- q9 d$ l: W$ I
14.2 Vuex的五大属性 5 J s9 k% d' ?' B; h0 e& a
14.2.1 state ' T, F1 l6 G4 I+ F# y* j- u
14.2.2 getters & Z) c; ]! }5 q
14.2.3 mutations
$ f3 L: Q) L, A: |14.2.4 actions
6 Q5 m/ h9 \3 k1 r$ R/ V* r! _' o14.2.5 modules # J& u/ @; a9 P( ^0 I5 P
14.3 中间件 ) W, F, Q5 t- w% h, F- v
14.3.1 state快照 1 w6 O8 C/ E$ h1 T8 g# E, ^
14.3.2 logger / y+ p- J2 V( K+ _" c
14.4 严格模式
C% ]2 p) y. P0 H+ q0 ?14.5 表单处理
! d6 A1 j1 V' r% h2 q( s4 x14.6 就业面试技巧与解析
7 n+ S z1 s8 f- K14.6.1 面试技巧与解析(一) d9 Y. f+ G! M6 e; b4 L2 `5 q9 u$ Q
14.6.2 面试技巧与解析(二) # G/ o: q" }/ M& D, ?
第15章 Vue工程实例 + H4 q- |6 m' D5 n. l1 {# O
15.1 准备工作
5 p* Z6 }+ H% T# L1 ^) I! o0 W15.1.1 webpack
8 z5 |, d# m2 E) U9 `15.1.2 vue-loader
1 y8 m) w* Y* }( `6 ~15.2 项目目录结构 3 a/ l4 [& K) T5 F
15.3 部署上线
/ L8 L* A. a% \# G# i15.3.1 生成上线文件 ' q0 W/ a, `" s) Z. a
15.3.2 nginx
; t' ^) z" {7 a4 {+ F, _( W/ @- \7 r15.3.3 jenkins
- t( o3 T7 r" V5 ^5 B7 k1 H15.3.4 gitlab 4 B) b$ K* ^$ b7 W$ `8 C' _5 ?
15.4 就业面试技巧与解析 + H- w5 m/ T' E, o
15.4.1 面试技巧与解析(一)
1 ~! }* e' x- F+ R5 T1 c0 a4 @15.4.2 面试技巧与解析(二)
1 |1 O) R7 t3 I1 f6 B0 t4 i第4篇 项目实践篇
4 q; @6 V4 H) a$ `5 Y/ a第16章 订餐管理系统
, @; M' o/ A8 q) j; o. c16.1 开发背景 & S( E( k+ ~2 N2 \
16.2 系统功能设计
6 j8 A& i1 P! F8 l1 C! ?9 M' u( V+ E16.3 系统开发必备 1 Y( y/ a) f8 c( Q: O/ C% x/ h
16.3.1 系统开发环境要求
, O' }5 q2 w6 J5 D16.3.2 软件框架 ; ^) X) e+ } f7 S3 |. |2 q
16.3.3 框架整合配置
0 E+ @3 T5 m X. s& V16.4 系统功能模块设计与实现 ! E$ q4 h& f1 Q4 U! U. v+ K
16.4.1 首页模块
$ s" C( z9 Z" e+ b3 h16.4.2 商家介绍模块 : e! \5 X* h) O* R/ }& w
16.4.3 系统商品模块 ( E7 I4 b1 H0 X/ N% Q; v- ?
16.4.4 商品分类模块 + ]3 \3 A- ?- s$ f; L" s2 U
16.4.5 商家评论模块
+ R/ M5 _5 ? v! }) @( k1 n7 c16.4.6 加入购物车模块 ) s" h( f6 o2 [' T8 Y/ F1 K
16.4.7 商家星级模块
2 G& Q: n# p: P. u( q0 \16.5 本章总结
& ? X+ s! z T4 ?" Y第17章 网上图书销售系统
$ d. z# k0 p r$ e* x17.1 开发背景 [ K4 j% O5 y$ [. T9 Q
17.2 系统功能设计
! j, R: X* U+ G; a$ {17.3 系统开发必备 " r$ S- ]1 {) Z+ C+ `6 Y
17.3.1 系统开发环境要求 ; Y9 m- u4 ]2 _! P& [
17.3.2 框架整合配置
1 V3 G& d/ }+ l17.3.3 程序运行 5 [& ~- U2 q4 L
17.4 系统功能模块设计与实现
9 k& {- w% x3 |5 P% N; L17.4.1 首页模块
3 D1 s+ c C: X! N$ n2 h' q17.4.2 首页信息介绍模块
! J8 u: W' z; g7 Q6 i" N17.4.3 用户登录模块 - w3 C' `5 {" F8 b
17.4.4 图书模块
+ L- f6 F# P* w" c% {3 U17.4.5 购买模块 6 V2 ~! i) W3 m- D3 t
17.4.6 支付模块 5 s, u% z, M* j9 r
17.5 本章总结 0 @, E* P! Q3 |+ ]
第18章 仿网易云音乐系统 1 H/ N* H* O6 E' d) V0 E
18.1 开发背景
) `9 `. C. v" u0 I! p* }18.2 产品定位
1 L* f3 }/ s6 C' B6 h& h/ _18.2.1 需求分析 # B; U- G. _5 s# W( k# G- \5 t
18.2.2 用户分析
% ]5 A1 m; S5 l- S& F: @18.3 行业分析 * K0 ~+ x" p3 r/ N
18.4 用户需求 java8.com / j+ E- b2 t( m2 Q" f
18.5 项目整体结构 8 e$ ^' `( b! ]/ F4 |! k7 R3 E
18.6 系统功能模块设计与实现 2 x1 K# f" C' {1 d4 i' f8 k' J
18.6.1 头部页面
* c1 j8 B* ?' ^9 u18.6.2 导航栏页面
( S8 F# o |* Q/ g' `4 U18.6.3 推荐页面 2 I" l; I1 G* ]2 c) b3 }3 p8 b% f
18.6.4 搜索功能
7 e$ O/ C5 Y @7 `: M! ~18.6.5 歌单页面 $ r$ t; c) E+ w! A& c
18.6.6 歌手页面 , r( T/ M4 S0 c; g* ~; |4 X
18.6.7 播放器
- `& K! b* Q* {# w, J& H* _18.7 本章总结
; \4 q5 I9 h3 F! w/ |; z5 v* Q4 ^) [$ H) \
百度云盘下载地址(完全免费-绝无套路):
: [3 I6 @$ i, c D0 e |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|