From 6538247d166b7e8482717c7b9cb230e9437f4f7e Mon Sep 17 00:00:00 2001 From: xingbofeng <503908971@qq.com> Date: Fri, 12 May 2017 20:07:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=94=B5=E5=BD=B1?= =?UTF-8?q?=E5=BD=B1=E8=AF=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Common/ReviewItem.vue | 70 ++++++++++++++ src/components/Template.vue | 5 - src/containers/Comments.vue | 14 +++ src/containers/MovieDetail.vue | 29 +++++- src/containers/Review.vue | 14 +++ src/containers/Reviews.vue | 14 +++ src/router/index.js | 6 ++ src/router/routes/comments.js | 13 +++ src/router/routes/review.js | 13 +++ src/router/routes/reviews.js | 13 +++ yarn.lock | 133 +++++++++++++++------------ 11 files changed, 259 insertions(+), 65 deletions(-) create mode 100644 src/components/Common/ReviewItem.vue create mode 100644 src/containers/Comments.vue create mode 100644 src/containers/Review.vue create mode 100644 src/containers/Reviews.vue create mode 100644 src/router/routes/comments.js create mode 100644 src/router/routes/review.js create mode 100644 src/router/routes/reviews.js diff --git a/src/components/Common/ReviewItem.vue b/src/components/Common/ReviewItem.vue new file mode 100644 index 0000000..7a3b40b --- /dev/null +++ b/src/components/Common/ReviewItem.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/src/components/Template.vue b/src/components/Template.vue index 45f28a4..e805f2e 100644 --- a/src/components/Template.vue +++ b/src/components/Template.vue @@ -6,11 +6,6 @@ diff --git a/src/containers/Comments.vue b/src/containers/Comments.vue new file mode 100644 index 0000000..0487d2d --- /dev/null +++ b/src/containers/Comments.vue @@ -0,0 +1,14 @@ + + + + + diff --git a/src/containers/MovieDetail.vue b/src/containers/MovieDetail.vue index ff54ee6..5c15a4e 100644 --- a/src/containers/MovieDetail.vue +++ b/src/containers/MovieDetail.vue @@ -12,6 +12,22 @@ :comment="item" :key="item.id" /> + 查看全部短评 + +
+

{{ `${currentMovie.title}的影评(${currentMovie.reviews_count})` }}

+ + 查看全部影评
@@ -23,6 +39,7 @@ import { mapState } from 'vuex'; import TopHeader from '../components/Common/TopHeader'; import Infos from '../components/MovieDetail/Infos'; import CommentItem from '../components/Common/CommentItem'; +import ReviewItem from '../components/Common/ReviewItem'; import PageEnd from '../components/Common/PageEnd'; export default { @@ -33,6 +50,7 @@ export default { Infos, PageEnd, CommentItem, + ReviewItem, }, data() { @@ -55,10 +73,19 @@ export default { padding-top: 1.34rem; } -.comments h2 { +h2 { font-size: 0.3rem; margin: 0.6rem auto 0.3rem; color: #aaa; width: 7.14rem; } + +.goCommentsOrReviews { + display: block; + text-align: center; + padding: 0.3rem 0; + font-size: 0.32rem; + color: #42bd56; + font-weight: bold; +} diff --git a/src/containers/Review.vue b/src/containers/Review.vue new file mode 100644 index 0000000..c726462 --- /dev/null +++ b/src/containers/Review.vue @@ -0,0 +1,14 @@ + + + + + diff --git a/src/containers/Reviews.vue b/src/containers/Reviews.vue new file mode 100644 index 0000000..f2fea52 --- /dev/null +++ b/src/containers/Reviews.vue @@ -0,0 +1,14 @@ + + + + + diff --git a/src/router/index.js b/src/router/index.js index 70dfe4e..4faea41 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -6,6 +6,9 @@ import more from './routes/more'; import tag from './routes/tag'; import error from './routes/error'; import search from './routes/search'; +import comments from './routes/comments'; +import review from './routes/review'; +import reviews from './routes/reviews'; import store from './../store'; import * as types from './../store/mutation-types'; @@ -19,6 +22,9 @@ const router = new Router({ more, tag, search, + comments, + review, + reviews, error, // 404页面一定要在最后面 ], }); diff --git a/src/router/routes/comments.js b/src/router/routes/comments.js new file mode 100644 index 0000000..4e9cd02 --- /dev/null +++ b/src/router/routes/comments.js @@ -0,0 +1,13 @@ +import Comments from '../../containers/Comments'; +import store from '../../store'; +import * as types from '../../store/mutation-types'; + +export default { + path: '/comments/:currentMovieId', + component: Comments, + beforeEnter: (to, before, next) => { + document.title = '短评 - 电影 - 豆瓣'; + store.commit(types.LOADING_FLAG, false); + next(); + }, +}; diff --git a/src/router/routes/review.js b/src/router/routes/review.js new file mode 100644 index 0000000..40e4955 --- /dev/null +++ b/src/router/routes/review.js @@ -0,0 +1,13 @@ +import Review from '../../containers/Review'; +import store from '../../store'; +import * as types from '../../store/mutation-types'; + +export default { + path: '/review/:currentReviewId', + component: Review, + beforeEnter: (to, before, next) => { + document.title = '影评 - 电影 - 豆瓣'; + store.commit(types.LOADING_FLAG, false); + next(); + }, +}; diff --git a/src/router/routes/reviews.js b/src/router/routes/reviews.js new file mode 100644 index 0000000..7555dfb --- /dev/null +++ b/src/router/routes/reviews.js @@ -0,0 +1,13 @@ +import Reviews from '../../containers/Reviews'; +import store from '../../store'; +import * as types from '../../store/mutation-types'; + +export default { + path: '/reviews/:currentMovieId', + component: Reviews, + beforeEnter: (to, before, next) => { + document.title = '影评 - 电影 - 豆瓣'; + store.commit(types.LOADING_FLAG, false); + next(); + }, +}; diff --git a/yarn.lock b/yarn.lock index 7d21d38..69dd240 100644 --- a/yarn.lock +++ b/yarn.lock @@ -808,8 +808,8 @@ babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24 to-fast-properties "^1.0.1" babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0, babylon@^6.17.0: - version "6.17.0" - resolved "http://r.cnpmjs.org/babylon/download/babylon-6.17.0.tgz#37da948878488b9c4e3c4038893fa3314b3fc932" + version "6.17.1" + resolved "http://r.cnpmjs.org/babylon/download/babylon-6.17.1.tgz#17f14fddf361b695981fe679385e4f1c01ebd86f" backo2@1.0.2: version "1.0.2" @@ -898,7 +898,7 @@ boom@2.x.x: dependencies: hoek "2.x.x" -brace-expansion@^1.0.0: +brace-expansion@^1.1.7: version "1.1.7" resolved "http://r.cnpmjs.org/brace-expansion/download/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" dependencies: @@ -1063,8 +1063,8 @@ caniuse-api@^1.5.2: lodash.uniq "^4.5.0" caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: - version "1.0.30000665" - resolved "http://r.cnpmjs.org/caniuse-db/download/caniuse-db-1.0.30000665.tgz#e84f4277935f295f546f8533cb0b410a8415b972" + version "1.0.30000667" + resolved "http://r.cnpmjs.org/caniuse-db/download/caniuse-db-1.0.30000667.tgz#fb6060dbf349c101df26f421442419802fc6dab1" capture-stack-trace@^1.0.0: version "1.0.0" @@ -1104,8 +1104,8 @@ chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: supports-color "^2.0.0" chokidar@^1.4.1, chokidar@^1.4.3: - version "1.6.1" - resolved "http://r.cnpmjs.org/chokidar/download/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" + version "1.7.0" + resolved "http://r.cnpmjs.org/chokidar/download/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" dependencies: anymatch "^1.3.0" async-each "^1.0.0" @@ -1118,7 +1118,7 @@ chokidar@^1.4.1, chokidar@^1.4.3: optionalDependencies: fsevents "^1.0.0" -cipher-base@^1.0.0, cipher-base@^1.0.1: +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.3" resolved "http://r.cnpmjs.org/cipher-base/download/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07" dependencies: @@ -1135,8 +1135,8 @@ clap@^1.0.9: chalk "^1.1.3" clean-css@4.0.x: - version "4.0.12" - resolved "http://r.cnpmjs.org/clean-css/download/clean-css-4.0.12.tgz#a02e61707f1840bd3338f54dbc9acbda4e772fa3" + version "4.0.13" + resolved "http://r.cnpmjs.org/clean-css/download/clean-css-4.0.13.tgz#feb2a176062d72a6c3e624d9213cac6a0c485e80" dependencies: source-map "0.5.x" @@ -1402,21 +1402,25 @@ create-error-class@^3.0.0: dependencies: capture-stack-trace "^1.0.0" -create-hash@^1.1.0, create-hash@^1.1.1: - version "1.1.2" - resolved "http://r.cnpmjs.org/create-hash/download/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad" +create-hash@^1.1.0, create-hash@^1.1.1, create-hash@^1.1.2: + version "1.1.3" + resolved "http://r.cnpmjs.org/create-hash/download/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" dependencies: cipher-base "^1.0.1" inherits "^2.0.1" - ripemd160 "^1.0.0" - sha.js "^2.3.6" + ripemd160 "^2.0.0" + sha.js "^2.4.0" -create-hmac@^1.1.0, create-hmac@^1.1.2: - version "1.1.4" - resolved "http://r.cnpmjs.org/create-hmac/download/create-hmac-1.1.4.tgz#d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170" +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.6" + resolved "http://r.cnpmjs.org/create-hmac/download/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" dependencies: + cipher-base "^1.0.3" create-hash "^1.1.0" inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" cross-env@^3.1.4: version "3.2.4" @@ -1611,7 +1615,7 @@ debug@2.6.0: dependencies: ms "0.7.2" -debug@2.6.1: +debug@2.6.1, debug@^2.1.1, debug@^2.2.0: version "2.6.1" resolved "http://r.cnpmjs.org/debug/download/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351" dependencies: @@ -1629,12 +1633,6 @@ debug@2.6.4: dependencies: ms "0.7.3" -debug@^2.1.1, debug@^2.2.0: - version "2.6.6" - resolved "http://r.cnpmjs.org/debug/download/debug-2.6.6.tgz#a9fa6fbe9ca43cf1e79f73b75c0189cbb7d6db5a" - dependencies: - ms "0.7.3" - decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" resolved "http://r.cnpmjs.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -1646,8 +1644,8 @@ deep-eql@^0.1.3: type-detect "0.1.1" deep-extend@~0.4.0: - version "0.4.1" - resolved "http://r.cnpmjs.org/deep-extend/download/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + version "0.4.2" + resolved "http://r.cnpmjs.org/deep-extend/download/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" deep-is@~0.1.3: version "0.1.3" @@ -1830,8 +1828,8 @@ ejs@^2.5.6: resolved "http://r.cnpmjs.org/ejs/download/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88" electron-to-chromium@^1.2.7: - version "1.3.9" - resolved "http://r.cnpmjs.org/electron-to-chromium/download/electron-to-chromium-1.3.9.tgz#db1cba2a26aebcca2f7f5b8b034554468609157d" + version "1.3.10" + resolved "http://r.cnpmjs.org/electron-to-chromium/download/electron-to-chromium-1.3.10.tgz#63d62b785471f0d8dda85199d64579de8a449f08" elliptic@^6.0.0: version "6.4.0" @@ -1936,8 +1934,8 @@ error-stack-parser@^2.0.0: stackframe "^1.0.3" es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.15" - resolved "http://r.cnpmjs.org/es5-ext/download/es5-ext-0.10.15.tgz#c330a5934c1ee21284a7c081a86e5fd937c91ea6" + version "0.10.16" + resolved "http://r.cnpmjs.org/es5-ext/download/es5-ext-0.10.16.tgz#1ef1b04f3d09db6a5d630226d62202f2e425e45a" dependencies: es6-iterator "2" es6-symbol "~3.1" @@ -2700,6 +2698,12 @@ has@^1.0.1: dependencies: function-bind "^1.0.2" +hash-base@^2.0.0: + version "2.0.2" + resolved "http://r.cnpmjs.org/hash-base/download/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" + dependencies: + inherits "^2.0.1" + hash-sum@^1.0.2: version "1.0.2" resolved "http://r.cnpmjs.org/hash-sum/download/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" @@ -3187,8 +3191,8 @@ istanbul@^0.4.0: wordwrap "^1.0.0" iview@^2.0.0-rc.10: - version "2.0.0-rc.12" - resolved "http://r.cnpmjs.org/iview/download/iview-2.0.0-rc.12.tgz#f82bae94c08a992221da28a4a7c3febda854d0cb" + version "2.0.0-rc.13" + resolved "http://r.cnpmjs.org/iview/download/iview-2.0.0-rc.13.tgz#7ecf1f0c24e35de704e96403803060a1ce7473f9" dependencies: async-validator "^1.6.7" core-js "^2.4.1" @@ -3206,8 +3210,8 @@ js-base64@^2.1.9: resolved "http://r.cnpmjs.org/js-base64/download/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" js-beautify@^1.6.3: - version "1.6.12" - resolved "http://r.cnpmjs.org/js-beautify/download/js-beautify-1.6.12.tgz#78b75933505d376da6e5a28e9b7887e0094db8b5" + version "1.6.14" + resolved "http://r.cnpmjs.org/js-beautify/download/js-beautify-1.6.14.tgz#d3b8f7322d02b9277d58bd238264c327e58044cd" dependencies: config-chain "~1.1.5" editorconfig "^0.13.2" @@ -3219,8 +3223,8 @@ js-tokens@^3.0.0: resolved "http://r.cnpmjs.org/js-tokens/download/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" js-yaml@3.x, js-yaml@^3.4.3, js-yaml@^3.5.1: - version "3.8.3" - resolved "http://r.cnpmjs.org/js-yaml/download/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766" + version "3.8.4" + resolved "http://r.cnpmjs.org/js-yaml/download/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" dependencies: argparse "^1.0.7" esprima "^3.1.1" @@ -3687,10 +3691,14 @@ mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7: dependencies: mime-db "~1.27.0" -mime@1.3.4, mime@1.3.x, mime@^1.3.4: +mime@1.3.4: version "1.3.4" resolved "http://r.cnpmjs.org/mime/download/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" +mime@1.3.x, mime@^1.3.4: + version "1.3.6" + resolved "http://r.cnpmjs.org/mime/download/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" + mimic-fn@^1.0.0: version "1.1.0" resolved "http://r.cnpmjs.org/mimic-fn/download/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" @@ -3704,10 +3712,10 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "http://r.cnpmjs.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" "minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3: - version "3.0.3" - resolved "http://r.cnpmjs.org/minimatch/download/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + version "3.0.4" + resolved "http://r.cnpmjs.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: - brace-expansion "^1.0.0" + brace-expansion "^1.1.7" minimist@0.0.8, minimist@~0.0.1: version "0.0.8" @@ -4141,10 +4149,14 @@ path-type@^1.0.0: pinkie-promise "^2.0.0" pbkdf2@^3.0.3: - version "3.0.9" - resolved "http://r.cnpmjs.org/pbkdf2/download/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693" + version "3.0.12" + resolved "http://r.cnpmjs.org/pbkdf2/download/pbkdf2-3.0.12.tgz#be36785c5067ea48d806ff923288c5f750b6b8a2" dependencies: - create-hmac "^1.1.2" + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" pend@~1.2.0: version "1.2.0" @@ -4895,9 +4907,12 @@ rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.0, rimraf@^2.6.1: dependencies: glob "^7.0.5" -ripemd160@^1.0.0: - version "1.0.1" - resolved "http://r.cnpmjs.org/ripemd160/download/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e" +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.1" + resolved "http://r.cnpmjs.org/ripemd160/download/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" + dependencies: + hash-base "^2.0.0" + inherits "^2.0.1" run-async@^0.1.0: version "0.1.0" @@ -4972,7 +4987,7 @@ setprototypeof@1.0.3: version "1.0.3" resolved "http://r.cnpmjs.org/setprototypeof/download/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" -sha.js@^2.3.6: +sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.8" resolved "http://r.cnpmjs.org/sha.js/download/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" dependencies: @@ -5166,8 +5181,8 @@ stream-browserify@^2.0.1: readable-stream "^2.0.2" stream-http@^2.3.1: - version "2.7.0" - resolved "http://r.cnpmjs.org/stream-http/download/stream-http-2.7.0.tgz#cec1f4e3b494bc4a81b451808970f8b20b4ed5f6" + version "2.7.1" + resolved "http://r.cnpmjs.org/stream-http/download/stream-http-2.7.1.tgz#546a51741ad5a6b07e9e31b0b10441a917df528a" dependencies: builtin-status-codes "^3.0.0" inherits "^2.0.1" @@ -5617,8 +5632,8 @@ vue-style-loader@^2.0.0: loader-utils "^1.0.2" vue-template-compiler@^2.2.4: - version "2.3.2" - resolved "http://r.cnpmjs.org/vue-template-compiler/download/vue-template-compiler-2.3.2.tgz#d48a7f53df5f497033827182ceb4f0d340803017" + version "2.3.3" + resolved "http://r.cnpmjs.org/vue-template-compiler/download/vue-template-compiler-2.3.3.tgz#b5bab9ec57309c906b82a78c81a02179dbc2f470" dependencies: de-indent "^1.0.2" he "^1.1.0" @@ -5628,8 +5643,8 @@ vue-template-es2015-compiler@^1.2.2: resolved "http://r.cnpmjs.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.5.2.tgz#a0a6c50c941d2a4abda963f2f42c337ac450ee95" vue@^2.2.2: - version "2.3.2" - resolved "http://r.cnpmjs.org/vue/download/vue-2.3.2.tgz#9e52aae3593480be235ff227557837e69f98203a" + version "2.3.3" + resolved "http://r.cnpmjs.org/vue/download/vue-2.3.3.tgz#d1eaa8fde5240735a4563e74f2c7fead9cbb064c" vuex@^2.2.1: version "2.3.1" @@ -5644,8 +5659,8 @@ watchpack@^1.3.1: graceful-fs "^4.1.2" webpack-bundle-analyzer@^2.2.1: - version "2.6.0" - resolved "http://r.cnpmjs.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-2.6.0.tgz#9b8052d6aa26004f49ab76e88c45445ecd03f15a" + version "2.7.0" + resolved "http://r.cnpmjs.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-2.7.0.tgz#9a8320a9e33917ade47aa1369013bbf4d4a9f5af" dependencies: acorn "^5.0.3" chalk "^1.1.3" @@ -5737,10 +5752,10 @@ which@^1.1.1, which@^1.2.9, which@~1.2.10: isexe "^2.0.0" wide-align@^1.1.0: - version "1.1.0" - resolved "http://r.cnpmjs.org/wide-align/download/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" + version "1.1.2" + resolved "http://r.cnpmjs.org/wide-align/download/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" dependencies: - string-width "^1.0.1" + string-width "^1.0.2" window-size@0.1.0: version "0.1.0"