Procházet zdrojové kódy

对应 tnb 项目引入的 AlbumController

reghao před 1 rokem
rodič
revize
0a16d213e5
3 změnil soubory, kde provedl 44 přidání a 24 odebrání
  1. 17 10
      src/api/image.js
  2. 2 2
      src/views/home/ImagePage.vue
  3. 25 12
      src/views/post/ImagePost.vue

+ 17 - 10
src/api/image.js

@@ -7,10 +7,10 @@ const imageApi = {
   updateAlbumScopeApi: '/api/content/post/image/album/update/scope',
   updateAlbumCoverApi: '/api/content/post/image/album/update/cover',
   albumImageApi: '/api/content/post/image/album',
-
   albumApi: '/api/content/image/album',
   userAlbumApi: '/api/content/image/album/user',
-  imageApi: '/api/content/image'
+  imageApi: '/api/content/image',
+  postAlbumApi: '/api/content/album'
 }
 
 export function submitAlbum(jsonData) {
@@ -37,14 +37,6 @@ export function deleteAlbum(albumId) {
   return delete0(imageApi.imageAlbumApi + '/' + albumId)
 }
 
-export function getUserAlbums(page) {
-  return get(imageApi.imageAlbumApi + '?page=' + page)
-}
-
-export function getUserAlbums1(page, userId) {
-  return get(imageApi.userAlbumApi + '?page=' + page + '&userId=' + userId)
-}
-
 // 获取相册
 export function getAlbumImage(albumId) {
   return get(imageApi.albumImageApi + '/' + albumId)
@@ -58,3 +50,18 @@ export function getAlbum(albumId) {
 export function getImages(page) {
   return get(imageApi.imageApi + '?page=' + page)
 }
+
+// 创建稿件合集
+export function createAlbum(jsonData) {
+  return post(imageApi.postAlbumApi + '/create', jsonData)
+}
+
+// 获取用户合集
+export function getUserAlbums(page) {
+  return get(imageApi.postAlbumApi + '/user?pn=' + page)
+}
+
+// 获取合集内容
+export function getAlbumItems(page, albumId) {
+  return get(imageApi.postAlbumApi + '/item?pn=' + page + '&albumId=' + albumId)
+}

+ 2 - 2
src/views/home/ImagePage.vue

@@ -75,7 +75,7 @@
 <script>
 import PermissionDeniedCard from '@/components/card/PermissionDeniedCard'
 import { followUser, getUserInfo, unfollowUser } from '@/api/user'
-import { getAlbum } from '@/api/image'
+import { getAlbum, getAlbumItems } from '@/api/image'
 import { collectItem } from '@/api/collect'
 
 export default {
@@ -102,7 +102,7 @@ export default {
   },
   created() {
     const albumId = this.$route.params.albumId
-    getAlbum(albumId).then(resp => {
+    getAlbumItems(1, albumId).then(resp => {
       if (resp.code === 0) {
         const respData = resp.data
         document.title = '相册 - ' + respData.albumName

+ 25 - 12
src/views/post/ImagePost.vue

@@ -2,7 +2,7 @@
   <el-container>
     <el-header height="220">
       <el-row style="margin-top: 10px">
-        <el-button type="plain" icon="el-icon-plus" @click="createAlbumDiaglog = true">创建相册</el-button>
+        <el-button type="plain" icon="el-icon-plus" @click="createAlbumDiaglog = true">创建合集</el-button>
       </el-row>
     </el-header>
     <el-main>
@@ -19,12 +19,17 @@
           width="90"
         >
           <template slot-scope="scope">
-            <el-image
-              lazy
-              fit="cover"
-              class="coverImg"
-              :src="scope.row.coverUrl"
-            />
+            <div v-if="scope.row.coverUrl">
+              <el-image
+                lazy
+                fit="cover"
+                class="coverImg"
+                :src="scope.row.coverUrl"
+              />
+            </div>
+            <div v-else>
+              <span class="el-icon-plus"></span>
+            </div>
           </template>
         </el-table-column>
         <el-table-column
@@ -43,8 +48,8 @@
           </template>
         </el-table-column>
         <el-table-column
-          prop="total"
-          label="图片数量"
+          prop="postType"
+          label="合集类型"
         />
         <el-table-column
           prop="scope"
@@ -122,6 +127,12 @@
             <el-form-item label="相册名">
               <el-input v-model="form.albumName" style="width: 70%; padding-right: 2px" placeholder="相册名不能超过 50 个字符" />
             </el-form-item>
+            <el-form-item label="稿件类型">
+              <el-select v-model="form.postType" placeholder="选择稿件类型">
+                <el-option label="图片" value="1" />
+                <el-option label="视频" value="2" />
+              </el-select>
+            </el-form-item>
             <el-form-item label="可见范围">
               <el-select v-model="form.scope" placeholder="选择可见范围">
                 <el-option label="本人可见" value="1" />
@@ -161,7 +172,7 @@
 </template>
 
 <script>
-import { updateAlbumScope, deleteAlbum, getUserAlbums, submitAlbum } from '@/api/image'
+import { updateAlbumScope, deleteAlbum, getUserAlbums, submitAlbum, createAlbum, getUserImageAlbums } from '@/api/image'
 
 export default {
   name: 'ImagePost',
@@ -177,6 +188,7 @@ export default {
       showEditScopeDialog: false,
       form: {
         albumId: null,
+        postType: '1',
         scope: '1'
       },
       createAlbumDiaglog: false
@@ -243,9 +255,10 @@ export default {
     },
     onCreateAlbum() {
       this.createAlbumDiaglog = false
-      submitAlbum(this.form).then(res => {
+      createAlbum(this.form).then(res => {
         if (res.code === 0) {
-          this.$message.info('相册已创建')
+          this.$message.info('合集已创建')
+          this.$router.go(0)
         } else {
           this.$notify({
             title: '提示',