zhaogongxue 1 yıl önce
ebeveyn
işleme
9a5c2f546a

+ 0 - 1
dist/assets/Routers.vue_vue_type_style_index_0_scoped_true_lang.423b0a1a.css

@@ -1 +0,0 @@
-.bottom[data-v-054837b7]{font-family:PingFangSC,PingFang SC;font-weight:400;font-size:10px;color:#ff6700;line-height:14px;text-align:left;font-style:normal}.title[data-v-054837b7]{font-family:PingFangSC,PingFang SC;font-weight:500;font-size:12px;color:#222;line-height:17px;text-align:left;font-style:normal}.success[data-v-054837b7]{width:56px;height:24px;background:#d7d7d7;border-radius:14px;font-family:PingFangSC,PingFang SC;font-weight:400;font-size:11px;color:#fff;line-height:24px;text-align:center;font-style:normal}.experience-card-container[data-v-054837b7]{padding:20px 18px;background-color:#fff;border-radius:10px}.experience-card-container .tips[data-v-054837b7]{font-size:10px;font-weight:400;color:#999}.experience-card-container .btns[data-v-054837b7]{font-size:10px;font-weight:400;color:#00b0b0}.uc__grade[data-v-054837b7]{padding:10px 0}.uc__grade__show-bar[data-v-054837b7]{position:relative;z-index:1;height:3px;width:100%;background-color:#ccc}.uc__grade__show-bar[data-v-054837b7]:after,.uc__grade__show-bar[data-v-054837b7]:before{position:absolute;z-index:2;top:50%;transform:translate(-50%,-50%);content:"";width:8px;height:8px;border-radius:8px;background:#efefef}.uc__grade__show-bar[data-v-054837b7]:before{left:0;background-color:#00b0b0}.uc__grade__show-bar[data-v-054837b7]:after{right:-8px}.uc__grade__show-bar .sb-inside[data-v-054837b7]{width:50%;height:3px;background-color:#00b0b0}.uc__grade_txt[data-v-054837b7]{padding:6px 0}.active[data-v-61b5bb54]{background:rgba(0,176,176,.1);border-radius:4px}.router-container[data-v-61b5bb54]{padding:20px;background-color:#fff}.router-container ul[data-v-61b5bb54]{margin:0;padding:0}.router-container li[data-v-61b5bb54]{display:flex;flex-direction:row;align-items:center;padding:10px;cursor:pointer}.router-container li img[data-v-61b5bb54]{width:20px;height:20px;margin-right:10px}.router-container li span[data-v-61b5bb54]{font-size:16px;font-family:PingFangSC,PingFang SC;font-weight:400;color:#444}

+ 0 - 1
dist/assets/conversion.f26031ea.css

@@ -1 +0,0 @@
-.ke[data-v-9899efc8]{width:94px;height:36px;background:#00b0b0;border-radius:4px;line-height:36px;text-align:center;margin-top:22px;font-family:PingFangSC,PingFang SC;font-weight:400;font-size:14px;color:#fff;font-style:normal}.money[data-v-9899efc8]{font-family:JDZhengHT,JDZhengHT;font-weight:400;font-size:22px;color:#ff3535;line-height:27px;text-align:left;font-style:normal}.info[data-v-9899efc8]{font-family:PingFangSC,PingFang SC;font-weight:400;font-size:12px;color:#131415;line-height:17px;text-align:left;font-style:normal}.date[data-v-9899efc8]{font-family:SFPro,SFPro;font-weight:400;font-size:12px;color:#969696;line-height:14px;text-align:left;font-style:normal}.order[data-v-9899efc8]{font-family:SFPro,SFPro;font-weight:400;font-size:12px;color:#444;line-height:14px;text-align:left;font-style:normal;margin-left:20px}.title[data-v-9899efc8]{font-family:PingFangSC,PingFang SC;font-weight:500;font-size:14px;color:#444;line-height:20px;text-align:left;font-style:normal;font-weight:700}.back[data-v-9899efc8]{height:63px;background:#ffffff;padding:25px 24px 0;box-sizing:border-box}.back_backa[data-v-9899efc8]{width:36px;height:2px;background:#00b0b0;margin-top:18px}.content[data-v-9899efc8]{height:178px;background:#ffffff;padding:18px 16px 21px;margin-top:16px}.content_top[data-v-9899efc8]{border-bottom:1px solid #f0f0f0}

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/assets/details.2f4eecf5.css


+ 0 - 1
dist/assets/index.12559df0.css

@@ -1 +0,0 @@
-.articles-container .index-title-container[data-v-8e6d8de2]{margin-bottom:20px}.articles-container .content-list[data-v-8e6d8de2]{margin-bottom:30px;column-gap:20px;flex-wrap:wrap;height:255px;overflow:hidden}.articles-container .article-main[data-v-8e6d8de2]{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;row-gap:30px}

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/assets/index.4f44215e.css


+ 0 - 1
dist/assets/index.5e0e3ee3.css

@@ -1 +0,0 @@
-.articles-container .index-title-container[data-v-f80c2ca8]{margin-bottom:20px}.articles-container .content-list[data-v-f80c2ca8]{margin-bottom:30px;column-gap:20px;flex-wrap:wrap;height:255px;overflow:hidden}.articles-container .article-main[data-v-f80c2ca8]{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;row-gap:30px;margin-bottom:30px}

+ 0 - 1
dist/assets/index.7819833b.css

@@ -1 +0,0 @@
-.articles-container .index-title-container[data-v-426144c2]{margin-bottom:20px}.articles-container .content-list[data-v-426144c2]{margin-bottom:30px;column-gap:20px;flex-wrap:wrap;height:255px;overflow:hidden}.articles-container .article-main[data-v-426144c2]{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;row-gap:30px;min-height:525px}

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/assets/index.8952648e.css


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/assets/index.8ac48475.css


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/assets/index.d245aec5.css


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/assets/index.vue_vue_type_style_index_1_scoped_true_lang.1720f917.css


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/assets/make.a6a64743.css


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/assets/placeOrder.1e4d939e.css


+ 2 - 2
dist/index.html

@@ -6,8 +6,8 @@
   <link rel="icon" href="./favicon.ico" />
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Vite App</title>
-  <script type="module" crossorigin src="./assets/index.c21938aa.js"></script>
-  <link rel="stylesheet" href="./assets/index.d245aec5.css">
+  <script type="module" crossorigin src="./assets/index.dd054a39.js"></script>
+  <link rel="stylesheet" href="./assets/index.5817c0dd.css">
 </head>
 
 <body>

+ 12 - 12
src/api/address.js

@@ -4,34 +4,34 @@
 
 import request from '~/utils/request'
 //地区列表
-export const arealist = data => request({
-    data,
+export const arealist = params => request({
+    params,
     method: 'GET',
     url: 'area'
 })
 //列表
-export const list = data => request({
-    data,
+export const list = params => request({
+    params,
     method: 'GET',
     url: 'address'
 })
 //详情
-export const info = data => request({
-    data,
+export const info = params => request({
+    params,
     method: 'GET',
-    url: `address/${data.id}`
+    url: `address/${params.id}`
 })
 //新增
-export const multipart = params => request({
-    params,
+export const multipart = data => request({
+    data,
     method: 'POST',
     url: "address"
 })
 //更新
-export const put = data => request({
-    data,
+export const put = params => request({
+    params,
     method: 'PUT',
-    url: `address/${data.id}`
+    url: `address/${params.id}`
 })
 //删除
 export const del = data => request({

+ 7 - 0
src/api/common.js

@@ -64,3 +64,10 @@ export const question = () => request({
   url: 'question'
 })
 
+//获取用户配置
+export const getConfiguser = params => request({
+  method: 'GET',
+  url: 'config',
+  params
+})
+

+ 5 - 5
src/api/video.js

@@ -4,8 +4,8 @@
 
 import request from '~/utils/request'
 
-export const list = data => request({
-  data,
+export const list = params => request({
+  params,
   method: 'GET',
   url: 'video'
 })
@@ -16,10 +16,10 @@ export const post = data => request({
   url: 'video'
 })
 
-export const put = data => request({
-  data,
+export const put = params => request({
+  params,
   method: 'PUT',
-  url: `video/${data.id}`
+  url: `video/${params.id}`
 })
 
 export const info = params => request({

+ 3 - 3
src/components/MomentLayout/index.vue

@@ -86,12 +86,12 @@ const others = (id) => {
         @click="others(Author.user_id)"
       >
         <!-- https://dummyimage.com/40x40/e3e3e3/fff -->
-        <img :src="Author.avatar" :alt="Author?.username" />
+        <img :src="Author.avatar" alt="" />
       </div>
       <div class="header__main">
         <div class="header__main__top flex-row flex-aic">
-          <div class="nickname">{{ Author?.username }}--{{ getSvgCol(1) }}</div>
-          TODO: 勋章等级
+          <!-- <div class="nickname">{{ Author?.username }}--{{ getSvgCol(1) }}</div> -->
+          <div class="nickname">{{ Author?.username }}</div>
           <div class="essence-top c1">
             <img :src="PicUrl" alt="" />
             <span>优质作者 Ⅰ</span>

+ 1 - 1
src/components/layouts/Aside.vue

@@ -63,7 +63,7 @@ let routers = [
   [
     {
       title: "预约拍摄",
-      link: "/personal",
+      link: "/make",
       defaultIcon: getImg("nav-08.png"),
       selectedIcon: getImg("nav-08-s.png"),
     },

+ 8 - 5
src/useHook/usePersonalIndex.js

@@ -4,14 +4,16 @@
 
 import { reactive, ref, watchEffect } from "vue"
 import { summary } from '~/api/gather'
-
+import { useUser } from "~/store/user.js";
+const User = useUser();
 export const usePersonalIndexList = (params) => {
   const tableData = ref([])
   const pagination = reactive({
     page: 0,
     last_page: 0,
     limit: 0,
-    total: 0
+    total: 0,
+    author_id: 0
   })
 
   const __query_list__ = async params => {
@@ -19,12 +21,13 @@ export const usePersonalIndexList = (params) => {
       const { data } = await summary(params)
       if (data) {
         console.log('%c printlog >>>', 'background: blue; color: #fff', data);
-        const { last_page, limit, list, page, total } = data
+        const { last_page, limit, list, page, total, id } = data
         Object.assign(pagination, {
           page,
           last_page,
           limit,
-          total
+          total,
+          author_id: id
         })
         // TODO: 需要做上滑加载更多
         tableData.value = [...list]
@@ -37,7 +40,7 @@ export const usePersonalIndexList = (params) => {
     tableData.value = []
     __query_list__(params)
   })
-  
+
   const refrenshTableData = () => {
     __query_list__(params)
   }

+ 11 - 2
src/views/articles/index.vue

@@ -70,7 +70,7 @@ const todetails = (id) => {
   <div class="articles-container">
     <Banner type="article" />
     <IndexTitle title="精选文章" @seeMore="pickmore" />
-    <div class="article-main">
+    <div class="content-list content-list--c2 flex-row">
       <template v-for="(item, idx) in articleList" :key="idx">
         <IndexSection
           @update="todetails(item.id)"
@@ -112,7 +112,13 @@ const todetails = (id) => {
     </div>
 
     <div class="pagination-container">
-      <el-pagination background layout="prev, pager, next" :total="total" :page-size="12" @current-change="handleCurrentChange"/>
+      <el-pagination
+        background
+        layout="prev, pager, next"
+        :total="total"
+        :page-size="12"
+        @current-change="handleCurrentChange"
+      />
     </div>
     <YXFooter />
   </div>
@@ -132,6 +138,9 @@ const todetails = (id) => {
     flex-wrap: wrap;
     height: 255px;
     overflow: hidden;
+    &--c2 {
+      height: 337px;
+    }
   }
 
   .article-main {

+ 64 - 4
src/views/market/conversion.vue

@@ -33,7 +33,13 @@
         style="display: flex; justify-content: space-between; margin-top: 15px"
       >
         <div style="display: flex">
-          <div><img src="" alt="" style="width: 92px; height: 92px" /></div>
+          <div>
+            <img
+              :src="item.goods.image"
+              alt=""
+              style="width: 92px; height: 92px"
+            />
+          </div>
           <div
             style="
               margin-left: 12px;
@@ -44,32 +50,86 @@
             "
           >
             <div class="title">{{ item.goods.name }}</div>
-            <div class="info">{{ item.foods.detail }}</div>
+            <!-- <div class="info">{{ item.goods.detail }}</div> -->
           </div>
         </div>
         <div class="button">
           <div class="money">{{ item.goods.price }}积分</div>
-          <div class="ke">联系客服</div>
+          <div
+            class="ke"
+            style="cursor: pointer"
+            @click="visibilityDialog2 = true"
+          >
+            联系客服
+          </div>
         </div>
       </div>
     </div>
   </div>
+  <!-- 添加客服 -->
+  <el-dialog v-model="visibilityDialog2" align="center" width="400">
+    <el-icon :size="60" color="rgba(0, 155, 115, 1)">
+      <SuccessFilled />
+    </el-icon>
+    <h4>提交成功</h4>
+    <p class="dialog-desc">请前往添加客服微信</p>
+    <template #footer>
+      <div class="dialog-footer">
+        <el-button size="large" @click="visibilityDialog2 = false"
+          >&nbsp;稍后添加&nbsp;</el-button
+        >
+        <el-button @click="getConfiguser" size="large" type="primary"
+          >&nbsp;添加客服&nbsp;</el-button
+        >
+      </div>
+    </template>
+  </el-dialog>
+  <!-- 二维码展示 -->
+  <el-dialog title="添加客服" v-model="imageshow" align="center" width="400">
+    <img
+      :src="customer_service_qrcode"
+      style="width: 350px; height: 350px"
+      alt=""
+    />
+  </el-dialog>
 </template>
 
 <script setup>
 import { useRouter } from "vue-router";
 import { onMounted, ref } from "vue";
 import * as jifenApi from "~/api/jifen";
+import * as commonApi from "~/api/common";
+import {
+  ArrowLeft,
+  LocationFilled,
+  WarningFilled,
+  SuccessFilled,
+} from "@element-plus/icons-vue";
 const orderList = ref([]);
 const __order__ = async () => {
   try {
     const { data } = await jifenApi.orderList({
       is_page: 0,
     });
-    orderList.value = data.list;
+    orderList.value = data;
   } catch (error) {}
 };
 onMounted(__order__);
+
+//图片显示
+const visibilityDialog2 = ref(false);
+const imageshow = ref(false);
+//添加客服接口
+const customer_service_qrcode = ref();
+const getConfiguser = async () => {
+  try {
+    const { data } = await commonApi.getConfiguser({
+      module: "basic",
+    });
+    customer_service_qrcode.value = data.customer_service_qrcode;
+  } catch (error) {}
+  imageshow.value = true;
+};
 </script>
 
 <style lang="scss" scoped>

+ 9 - 4
src/views/market/index.vue

@@ -16,7 +16,6 @@ const __news__ = async () => {
     });
     jiList.value = data.list;
     total.value = data.total;
-    console.log("total", data.total);
   } catch (error) {}
 };
 
@@ -107,10 +106,16 @@ const conversion = () => {
   }
 
   &-main {
-    display: grid;
-    grid-template-columns: repeat(4, auto);
-    gap: 20px;
+    display: flex;
+    // grid-template-columns: repeat(4, auto);
+    // gap: 20px;
+    flex-wrap: wrap;
     padding: 30px 0;
+    margin-bottom: 30px;
+    column-gap: 16px;
+    flex-wrap: wrap;
+    // height: 255px;
+    overflow: hidden;
   }
 
   &-itembox {

+ 27 - 3
src/views/market/placeOrder.vue

@@ -12,6 +12,20 @@ import Servicer from "~/components/Servicer/index.vue";
 import * as addApi from "~/api/address";
 import * as jifenApi from "~/api/jifen";
 import * as userApi from "~/api/user";
+
+import * as commonApi from "~/api/common";
+//添加客服接口
+const imageshow = ref(false);
+const customer_service_qrcode = ref();
+const getConfiguser = async () => {
+  try {
+    const { data } = await commonApi.getConfiguser({
+      module: "basic",
+    });
+    customer_service_qrcode.value = data.customer_service_qrcode;
+  } catch (error) {}
+  imageshow.value = true;
+};
 const router = useRouter();
 const route = useRoute();
 const count = ref();
@@ -381,7 +395,7 @@ const dialogVisible = ref(false);
             <el-option
               v-for="(item, idx) in coupon"
               :key="idx"
-              :label="item.coupon.description"
+              :label="item.coupon.name"
               :value="idx"
             />
           </el-select>
@@ -461,8 +475,10 @@ const dialogVisible = ref(false);
       <p class="dialog-desc">请前往添加客服微信</p>
       <template #footer>
         <div class="dialog-footer">
-          <el-button size="large">&nbsp;稍后添加&nbsp;</el-button>
-          <el-button size="large" type="primary"
+          <el-button size="large" @click="visibilityDialog2 = false"
+            >&nbsp;稍后添加&nbsp;</el-button
+          >
+          <el-button size="large" type="primary" @click="getConfiguser"
             >&nbsp;添加客服&nbsp;</el-button
           >
         </div>
@@ -599,6 +615,14 @@ const dialogVisible = ref(false);
     </el-form>
     <div style="" class="saveadd" @click="saveadd">保存收货地址</div>
   </el-dialog>
+  <!-- 二维码展示 -->
+  <el-dialog title="添加客服" v-model="imageshow" align="center" width="400">
+    <img
+      :src="customer_service_qrcode"
+      style="width: 350px; height: 350px"
+      alt=""
+    />
+  </el-dialog>
 </template>
 
 <style lang="scss" scoped>

+ 137 - 26
src/views/personal/components/qiandao.vue

@@ -39,10 +39,12 @@
           class="usea"
           style="background: #ff6700"
           v-if="item.prize_type != 'integral' && item.is_receive == 1"
+          @click="visibilityDialog2 = true"
         >
           添加客服
         </div>
         <div
+          @click="get(item.id, item.prize_type)"
           class="usea"
           style="background: #00b0b0"
           v-if="item.is_receive == 0 && item.can_receive == 1"
@@ -76,27 +78,39 @@
       </div>
       <div>
         <div class="usea" v-if="item.level == 0">会员专属</div>
-        <div class="usea" v-else-if="item.is_receive == 1">已领取</div>
-        <!-- <div
+        <div
+          class="usea"
+          v-if="item.is_received == 1 && item.prize_type == 'coupon'"
+        >
+          已领取
+        </div>
+        <div
           class="usea"
           style="background: #ff6700"
-          v-if="item.prize_type != 'integral' && item.is_qualified == 1">
+          v-if="
+            item.prize_type != 'coupon' &&
+            item.is_qualified == 1 &&
+            item.is_received == 1
+          "
+          @click="visibilityDialog2 = true"
+        >
           添加客服
-        </div> -->
+        </div>
         <div
           class="usea"
           style="background: #00b0b0"
-          v-else-if="item.is_receive == 0 && item.is_qualified == 1"
-          @click="get()"
+          v-if="item.is_received == 0 && item.is_qualified == 1"
+          @click="get1(item.id, item.prize_type)"
         >
           领取
         </div>
-        <!-- <div
-        v-else-if="item.is_qualified == 0"
+        <div
+          v-if="item.is_qualified == 0"
           class="usea"
-          style="background: #f7f7f7; color: #555555">
+          style="background: #f7f7f7; color: #555555"
+        >
           未达标
-        </div> -->
+        </div>
       </div>
     </div>
   </div>
@@ -230,6 +244,32 @@
     </el-form>
     <div style="" class="saveadd" @click="saveadd">保存收货地址</div>
   </el-dialog>
+  <!-- 添加客服 -->
+  <el-dialog v-model="visibilityDialog2" align="center" width="400">
+    <el-icon :size="60" color="rgba(0, 155, 115, 1)">
+      <SuccessFilled />
+    </el-icon>
+    <h4>提交成功</h4>
+    <p class="dialog-desc">请前往添加客服微信</p>
+    <template #footer>
+      <div class="dialog-footer">
+        <el-button size="large" @click="visibilityDialog2 = false"
+          >&nbsp;稍后添加&nbsp;</el-button
+        >
+        <el-button @click="getConfiguser" size="large" type="primary"
+          >&nbsp;添加客服&nbsp;</el-button
+        >
+      </div>
+    </template>
+  </el-dialog>
+  <!-- 二维码展示 -->
+  <el-dialog title="添加客服" v-model="imageshow" align="center" width="400">
+    <img
+      :src="customer_service_qrcode"
+      style="width: 350px; height: 350px"
+      alt=""
+    />
+  </el-dialog>
 </template>
     
 <script setup>
@@ -237,8 +277,16 @@ import { onMounted, ref, reactive } from "vue";
 import { QD_LIST } from "~/utils/constance";
 import debounce from "loadsh/debounce";
 import * as qdApi from "~/api/qiandao";
-import * as addressApi from "~/api/address";
 import * as addApi from "~/api/address";
+import {
+  ArrowLeft,
+  LocationFilled,
+  WarningFilled,
+  SuccessFilled,
+} from "@element-plus/icons-vue";
+import * as commonApi from "~/api/common";
+
+const visibilityDialog2 = ref(false);
 
 //地址列表
 // const addList = ref([]);
@@ -252,6 +300,7 @@ import * as addApi from "~/api/address";
 // };
 // onMounted(__add__);
 //获取地址列表
+const imageshow = ref(false);
 const arrlist = ref([]);
 //默认地址
 const defaultid = ref();
@@ -300,24 +349,61 @@ const infoa = async () => {
     defaultadd.value[0] = data;
     dialogVisible.value = false;
   } catch (error) {}
+  if (subNavCurrent == "sign") {
+    receive();
+  } else {
+    levelPrize();
+  }
+};
+//会员奖励领取
+const goodsida = ref(0);
+const get1 = (id, type) => {
+  goodsida.value = id;
+  if (type == "goods") {
+    dialogVisible.value = true;
+  } else {
+    levelPrize();
+  }
 };
-
-const dialogVisible = ref(true);
-// const get = () => {
-//   dialogVisible.value = true;
-// };
-const get = () => {};
 //领取商品
-// const get = async () => {
-//   console.log(1111);
-//   dialogVisible.value = true;
+const levelPrize = async () => {
+  try {
+    const { data } = await qdApi.levelPrize({
+      address_id: defaultid.value,
+      id: goodsida.value,
+    });
+    ElMessage.success({
+      message: "领取成功",
+      type: "success",
+    });
+    __level__();
+  } catch (error) {}
+};
 
-//   try {
-//     const { data } = await qdApi.receive({
-//       address_id: "",
-//     });
-//   } catch (error) {}
-// };
+const dialogVisible = ref(false);
+const goodsid = ref(0);
+const get = (id, type) => {
+  goodsid.value = id;
+  if (type != "integral") {
+    dialogVisible.value = true;
+  } else {
+    receive();
+  }
+};
+//领取商品
+const receive = async () => {
+  try {
+    const { data } = await qdApi.receive({
+      address_id: defaultid.value,
+      id: goodsid.value,
+    });
+    ElMessage.success({
+      message: "领取成功",
+      type: "success",
+    });
+    __topic__();
+  } catch (error) {}
+};
 //弹出框
 const dialogFormVisible = ref(false);
 const form = reactive({
@@ -397,6 +483,17 @@ const __multipart__ = async () => {
     });
   } catch (error) {}
 };
+//添加客服接口
+const customer_service_qrcode = ref();
+const getConfiguser = async () => {
+  try {
+    const { data } = await commonApi.getConfiguser({
+      module: "basic",
+    });
+    customer_service_qrcode.value = data.customer_service_qrcode;
+  } catch (error) {}
+  imageshow.value = true;
+};
 //更新
 const __put__ = async () => {
   try {
@@ -493,6 +590,20 @@ const handleSwitchSubNav = debounce((type) => {
     
 <style lang="scss" scoped>
 @import "~/styles/variable.scss";
+.saveadd {
+  width: 122px;
+  height: 40px;
+  background: #00b0b0;
+  border-radius: 4px;
+  font-family: PingFangSC, PingFang SC;
+  font-weight: 400;
+  font-size: 15px;
+  color: #ffffff;
+  line-height: 40px;
+  text-align: center;
+  font-style: normal;
+  cursor: pointer;
+}
 .btn {
   width: 84px;
   height: 38px;

+ 2 - 2
src/views/personal/components/wallet.vue

@@ -198,7 +198,7 @@ const __task__ = async () => {
   try {
     const { data } = await taskApi.list({
       is_page: 0,
-      type: "once_repeat",
+      type: "",
     });
     taskList.value = data.reverse();
   } catch (error) {}
@@ -336,7 +336,7 @@ const handleSwitchSubNav = debounce((type) => {
 }
 .box {
   width: 346px;
-  height: 82px;
+  height: 100px;
   background: #f7f7f7;
   border-radius: 6px;
   padding: 21px 24px;

+ 9 - 3
src/views/personal/index.vue

@@ -19,7 +19,7 @@ import * as follow from "~/api/user";
 //弹出层
 const dialogVisible = ref(false);
 const User = useUser();
-console.log(User);
+console.log("User", User.id);
 
 const backgroud_image = ref();
 backgroud_image.value = User.backgroud_image;
@@ -120,6 +120,7 @@ const params = reactive({
   source_type: "",
   type: "single",
   title: "",
+  author_id: "",
   topic_id: "",
   is_boutique: 0, // 是否精品: 0.否, 1.是
   order: "", // 排序字段: id. ID, published_at.发布时间, 默认发布时间
@@ -134,6 +135,7 @@ const __reset_params__ = () =>
     source_type: "",
     type: "single",
     title: "",
+    author_id: User.id,
     topic_id: "",
     is_boutique: 0, // 是否精品: 0.否, 1.是
     order: "id", // 排序字段: id. ID, published_at.发布时间, 默认发布时间
@@ -220,7 +222,7 @@ const handleRefreshListData = () => {
             :on-success="handleRemove"
             :show-file-list="false"
           >
-            <span class="change-bgc">更换背景图</span>
+            <!-- <span class="change-bgc">更换背景图</span> -->
           </el-upload>
         </div>
       </div>
@@ -332,7 +334,7 @@ const handleRefreshListData = () => {
         <div class="boxa" v-for="(item, idx) in fllowlist" :key="idx">
           <div style="display: flex">
             <img
-              :src="item.acatar"
+              :src="item.avatar"
               style="width: 46px; height: 46px; border-radius: 50%"
               alt=""
             />
@@ -441,6 +443,10 @@ const handleRefreshListData = () => {
   text-align: justify;
   font-style: normal;
   margin-top: 4px;
+  width: 558px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
 }
 .boxa {
   display: flex;

+ 40 - 21
src/views/video/index.vue

@@ -5,23 +5,13 @@ import IndexTitle from "~/components/IndexTitle/index.vue";
 // import IndexNews from "~/components/IndexNews/index.vue";
 import IndexSection from "~/components/IndexSection/index.vue";
 import YXFooter from "~/components/layouts/Footer.vue";
-import {useRouter} from 'vue-router'
-const router = useRouter()
+import { useRouter } from "vue-router";
+const router = useRouter();
 import * as videoApi from "~/api/video";
 
-// 精选视频
-let videoList = ref([]);
-const __articles__ = async () => {
-  try {
-    const { data } = await videoApi.list({
-      is_page: 0,
-      is_boutique: 1,
-    });
-    videoList.value = data;
-  } catch (error) {}
-};
-onMounted(__articles__);
 //最近视频
+const total = ref(0);
+let page = ref(1);
 let newList = ref([]);
 const __article__ = async () => {
   try {
@@ -29,18 +19,38 @@ const __article__ = async () => {
       is_page: 1,
       limit: 12,
       status: "normal",
-      page: 1,
+      page: page.value,
     });
     newList.value = data.list;
+    total.value = data.total;
   } catch (error) {}
 };
 onMounted(__article__);
-const todetails = (id,type) => {
-  router.push({   
+//第几页
+const handleCurrentChange = (val) => {
+  page.value = val;
+  __article__()
+};
+
+// 精选视频
+let videoList = ref([]);
+const __articles__ = async () => {
+  try {
+    const { data } = await videoApi.list({
+      is_page: 0,
+      is_boutique: 1,
+    });
+    videoList.value = data;
+  } catch (error) {}
+};
+onMounted(__articles__);
+
+const todetails = (id, type) => {
+  router.push({
     name: "videos",
     query: {
       id: id,
-      type:type
+      type: type,
     },
   });
 };
@@ -58,8 +68,8 @@ const pickmore = (val) => {
 <template>
   <div class="articles-container">
     <Banner type="video" />
-    <IndexTitle title="精选视频" @seeMore="pickmore"/>
-    <div class="article-main">
+    <IndexTitle title="精选视频" @seeMore="pickmore" />
+    <div class="content-list content-list--c2 flex-row">
       <template v-for="(item, idx) in videoList" :key="idx">
         <IndexSection
           @update="todetails(item.id)"
@@ -101,7 +111,13 @@ const pickmore = (val) => {
     </div>
 
     <div class="pagination-container">
-      <el-pagination background layout="prev, pager, next" :total="1000" />
+      <el-pagination
+        :page-size="12"
+        background
+        layout="prev, pager, next"
+        :total="total"
+        @current-change="handleCurrentChange"
+      />
     </div>
     <YXFooter />
   </div>
@@ -121,6 +137,9 @@ const pickmore = (val) => {
     flex-wrap: wrap;
     height: 255px;
     overflow: hidden;
+    &--c2 {
+      height: 337px;
+    }
   }
 
   .article-main {

+ 1 - 1
src/views/zixun/index.vue

@@ -65,7 +65,7 @@ const zixunMore = (val) => {
   <div class="articles-container">
     <Banner type="info" />
     <IndexTitle title="精选资讯" @seeMore="zixunMore" />
-    <div class="content-list flex-row flex-jc-sb">
+    <div class="content-list flex-row ">
       <template v-for="(item, idx) in newsList" :key="idx">
         <IndexNews
           @update="todetails(item.id)"

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor