bianjiang 1 年之前
父節點
當前提交
ca0d43c878

+ 0 - 0
src/modules/admin/components/CategoryModal.tsx → src/modules/components/CategoryModal.tsx


+ 0 - 0
src/modules/admin/components/UploadFile.tsx → src/modules/components/UploadFile.tsx


+ 0 - 0
src/modules/admin/components/UploadImage.tsx → src/modules/components/UploadImage.tsx


+ 0 - 0
src/modules/admin/index.ts → src/modules/index.ts


+ 0 - 0
src/modules/admin/module/article/index.ts → src/modules/module/article/index.ts


+ 0 - 0
src/modules/admin/module/auth/index.ts → src/modules/module/auth/index.ts


+ 0 - 0
src/modules/admin/module/category/actions.tsx → src/modules/module/category/actions.tsx


+ 0 - 0
src/modules/admin/module/category/index.ts → src/modules/module/category/index.ts


+ 0 - 0
src/modules/admin/objects/index.ts → src/modules/objects/index.ts


+ 1 - 1
src/views/admin/App.tsx

@@ -1,5 +1,5 @@
 import { Provider } from "@/components/Provider";
-import { useArticle, useAuth, useCategory } from "@/modules/admin";
+import { useArticle, useAuth, useCategory } from "@/modules";
 import { defineComponent } from "vue";
 
 export default defineComponent(() => {

+ 1 - 1
src/views/admin/banner/ArticleList.tsx

@@ -1,4 +1,4 @@
-import { useArticle, useCategory } from "@/modules/admin";
+import { useArticle, useCategory } from "@/modules";
 import { css } from "@linaria/core";
 import { Button, Card, Table, TreeNode, TreeSelect } from "ant-design-vue";
 import { defineComponent, onMounted, reactive, ref } from "vue";

+ 5 - 5
src/views/admin/banner/EditBanner.tsx

@@ -1,6 +1,6 @@
 import Modal from "@/components/Provider/Modal";
-import { useArticle } from "@/modules/admin";
-import UploadImage from "@/modules/admin/components/UploadImage";
+import { useArticle } from "@/modules";
+import UploadImage from "@/modules/components/UploadImage";
 import { css } from "@linaria/core";
 import {
   Button,
@@ -41,6 +41,7 @@ export default defineComponent({
     const formRef = ref<FormInstance>();
     onMounted(async () => {
       if (state.formData.aid) {
+        state.type = "article";
         const res = await artStore.listController.itemDetail(
           state.formData.aid
         );
@@ -49,7 +50,6 @@ export default defineComponent({
     });
     const submit = () => {
       formRef.value?.validate().then(async () => {
-        console.log(state.formData);
         modal.submit(state.formData);
       });
     };
@@ -66,11 +66,11 @@ export default defineComponent({
       if (res) {
         state.article = res;
         state.formData.aid = res._id;
+        state.formData.name = res.title;
         if (res.cover) {
           state.formData.cover = res.cover;
         }
       }
-      console.log(res);
     };
     return () => {
       return (
@@ -89,7 +89,7 @@ export default defineComponent({
                   buttonStyle="solid"
                   onChange={(e) => {
                     state.type = e.target.value;
-                    formRef.value?.clearValidate();
+                    formRef.value?.resetFields();
                   }}
                 >
                   <RadioButton value="url">站外链接</RadioButton>

+ 22 - 6
src/views/admin/banner/index.tsx

@@ -1,5 +1,5 @@
 import Modal from "@/components/Provider/Modal";
-import { useArticle } from "@/modules/admin";
+import { useArticle } from "@/modules";
 import { css } from "@linaria/core";
 import {
   Button,
@@ -19,20 +19,28 @@ export default defineComponent({
     const columns = [
       {
         title: "名称",
-        dataIndex: "title",
+        dataIndex: "name",
       },
       {
         title: "图片",
         dataIndex: "cover",
+        width: "600px",
         customRender: ({ record }: any) => {
-          return <Image src={record.cover} />;
+          return <Image class={"cover_img"} src={record.cover} />;
         },
       },
       {
         title: "链接/文章",
         dataIndex: "content",
         customRender: ({ record }: any) => {
-          return "";
+          if (record.url) {
+            return (
+              <a href={record.url} target="_blank">
+                {record.url}
+              </a>
+            );
+          }
+          return record.name;
         },
       },
       {
@@ -69,7 +77,7 @@ export default defineComponent({
       }
       let listItem = undefined;
       if (item._id) {
-        const res = await artStore.listController.itemDetail(item._id);
+        const res = await artStore.bannerList.itemDetail(item._id);
         if (res.errorNo != 200) {
           message.warn("未查询到数据!");
           return;
@@ -81,7 +89,7 @@ export default defineComponent({
         title: item._id ? `编辑轮播` : `添加轮播`,
       });
 
-      // artStore.addOrUpdateArticle(itemData);
+      artStore.addOrUpdateBanner(itemData);
     };
     return () => (
       <Card class={Page}>
@@ -102,6 +110,7 @@ export default defineComponent({
           }}
         </PageHeader>
         <Table
+          class={"banner_table"}
           bordered
           size="small"
           pagination={{
@@ -121,4 +130,11 @@ export default defineComponent({
 });
 const Page = css`
   height: 100%;
+  .banner_table {
+    .cover_img {
+      max-width: 300px;
+      height: 100px;
+      object-fit: contain;
+    }
+  }
 `;

+ 1 - 1
src/views/admin/category/index.tsx

@@ -2,7 +2,7 @@ import { css } from "@linaria/core";
 import { Button, Card, PageHeader } from "ant-design-vue";
 import { defineComponent } from "vue";
 import CategoryTree from "./CategoryTree";
-import { useCategory } from "@/modules/admin";
+import { useCategory } from "@/modules";
 
 export default defineComponent(() => {
   const categoryStore = useCategory();

+ 1 - 1
src/views/admin/components/Editor.tsx

@@ -4,7 +4,7 @@ import { defineComponent, onMounted, ref, watch } from "vue";
 
 import Quill from "quill";
 import { any } from "vue-types";
-import { uploader } from "@/modules/admin/objects";
+import { uploader } from "@/modules/objects";
 import { message } from "ant-design-vue";
 
 export default defineComponent({

+ 1 - 1
src/views/admin/components/PageMenu.tsx

@@ -1,7 +1,7 @@
 import { css } from "@linaria/core";
 import { Menu } from "ant-design-vue";
 
-import { useCategory } from "@/modules/admin";
+import { useCategory } from "@/modules";
 import { defineComponent } from "vue";
 import { useRouter } from "vue-router";
 export default defineComponent({

+ 1 - 1
src/views/admin/detail/components/DetailEditor.tsx

@@ -3,7 +3,7 @@ import { Button, PageHeader } from "ant-design-vue";
 import { defineComponent, onMounted, reactive } from "vue";
 
 import loading from "@/components/Provider/Loading";
-import { useArticle } from "@/modules/admin";
+import { useArticle } from "@/modules";
 
 import { object } from "vue-types";
 import WangEditor from "../../components/WangEditor";

+ 1 - 1
src/views/admin/detail/components/DownloadEditor.tsx

@@ -3,7 +3,7 @@ import { defineComponent, onMounted } from "vue";
 
 import loading from "@/components/Provider/Loading";
 import Modal from "@/components/Provider/Modal";
-import { useArticle } from "@/modules/admin";
+import { useArticle } from "@/modules";
 
 import * as dayjs from "dayjs";
 import { object } from "vue-types";

+ 1 - 1
src/views/admin/detail/components/DownloadModal.tsx

@@ -1,5 +1,5 @@
 import Modal from "@/components/Provider/Modal";
-import UploadFile from "@/modules/admin/components/UploadFile";
+import UploadFile from "@/modules/components/UploadFile";
 import { css } from "@linaria/core";
 import { Button, Form, Input } from "ant-design-vue";
 import { defineComponent, reactive } from "vue";

+ 3 - 3
src/views/admin/detail/components/ListEditModal.tsx

@@ -2,13 +2,13 @@ import { Button, Form, Input } from "ant-design-vue";
 import { defineComponent, onMounted, reactive } from "vue";
 
 import Modal from "@/components/Provider/Modal";
-import UploadImage from "@/modules/admin/components/UploadImage";
+import UploadImage from "@/modules/components/UploadImage";
 
 import { css } from "@linaria/core";
 import { object } from "vue-types";
 import WangEditor from "../../components/WangEditor";
-import { useArticle } from "@/modules/admin";
-import { uploader } from "@/modules/admin/objects";
+import { useArticle } from "@/modules";
+import { uploader } from "@/modules/objects";
 
 export default defineComponent({
   props: {

+ 1 - 1
src/views/admin/detail/components/ListEditor.tsx

@@ -3,7 +3,7 @@ import { defineComponent, onMounted } from "vue";
 
 import loading from "@/components/Provider/Loading";
 import Modal from "@/components/Provider/Modal";
-import { useArticle, useCategory } from "@/modules/admin";
+import { useArticle, useCategory } from "@/modules";
 
 import * as dayjs from "dayjs";
 import { object } from "vue-types";

+ 1 - 1
src/views/admin/detail/index.tsx

@@ -1,4 +1,4 @@
-import { useCategory } from "@/modules/admin";
+import { useCategory } from "@/modules";
 import { css } from "@linaria/core";
 import { Card } from "ant-design-vue";
 import { defineComponent } from "vue";

+ 1 - 1
src/views/admin/router/index.ts

@@ -7,7 +7,7 @@ const router = createRouter({
     {
       path: "/",
       name: "home",
-      redirect: "/category",
+      redirect: "/banner",
       component: () => import("../index"),
       children: [
         {

+ 5 - 0
src/views/website/App.tsx

@@ -4,7 +4,12 @@ import { defineComponent } from "vue";
 const { Header, Content, Footer } = Layout;
 import HeaderComponent from "@/components/layout/Header";
 import FooterComponent from "@/components/layout/Footer";
+import { useArticle, useCategory } from "@/modules";
 export default defineComponent(() => {
+  const storeCategory = useCategory();
+  storeCategory.initCategories();
+  const artStore = useArticle();
+  artStore.initArticle();
   return () => (
     <Layout>
       <Header class={HeaderLayout}>

+ 2 - 1
src/views/website/main.ts

@@ -1,7 +1,8 @@
 import { createApp } from "vue";
 import App from "./App.tsx";
 import router from "./router";
+import { createPinia } from "pinia";
 import "virtual:windi.css";
 import "ant-design-vue/dist/antd.less";
 import "@/styles/main.css";
-createApp(App).use(router).mount("#app");
+createApp(App).use(router).use(createPinia()).mount("#app");