ソースを参照

feat: 站点设置

chenlei 1 年間 前
コミット
b2856591ed

+ 2 - 1
.vscode/settings.json

@@ -1,3 +1,4 @@
 {
-  "typescript.tsdk": "node_modules\\typescript\\lib"
+  "typescript.tsdk": "node_modules\\typescript\\lib",
+  "editor.defaultFormatter": "esbenp.prettier-vscode"
 }

+ 4 - 3
package.json

@@ -6,7 +6,8 @@
   "dependencies": {
     "@ant-design/icons": "^5.1.4",
     "@babel/core": "^7.16.0",
-    "@dage/web-components": "^1.0.4",
+    "@dage/pc-components": "^1.2.3",
+    "@dage/service": "^1.0.1",
     "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
     "@svgr/webpack": "^5.5.0",
     "@testing-library/jest-dom": "^5.16.5",
@@ -76,8 +77,8 @@
     "workbox-webpack-plugin": "^6.4.1"
   },
   "scripts": {
-    "start": "cross-env REACT_APP_BACKEND_URL=https://sit-shgybwg.4dage.com node scripts/start.js",
-    "build": "cross-env PUBLIC_URL=./ REACT_APP_BACKEND_URL=https://sit-shgybwg.4dage.com node scripts/build.js",
+    "start": "cross-env REACT_APP_API_URL=https://sit-shgybwg.4dage.com node scripts/start.js",
+    "build": "cross-env PUBLIC_URL=./ REACT_APP_API_URL=https://sit-shgybwg.4dage.com node scripts/build.js",
     "test": "node scripts/test.js"
   },
   "eslintConfig": {

+ 6 - 6
src/api/history.ts

@@ -5,26 +5,26 @@ import {
   GetHistoryListResponse,
   HistoryDictItem,
 } from "@/types";
-import { service } from "@dage/web-components";
+import { requestByGet, requestByPost } from "@dage/service";
 
 export const historyApi = {
   getHistoryDictList: () => {
-    return service.get<HistoryDictItem[]>("/api/cms/history/getDict");
+    return requestByGet<HistoryDictItem[]>("/api/cms/history/getDict");
   },
   getList(data: GetHistoryListParams) {
-    return service.post<GetHistoryListResponse>(
+    return requestByPost<GetHistoryListResponse>(
       "/api/cms/history/pageList",
       data
     );
   },
   add: (data: AddHistoryParams) => {
-    return service.post("/api/cms/history/save", data);
+    return requestByPost("/api/cms/history/save", data);
   },
   del: (id: number) => {
-    return service.get(`/api/cms/history/remove/${id}`);
+    return requestByGet(`/api/cms/history/remove/${id}`);
   },
   getDetail: (id: string) => {
-    return service.get<GetHistoryDetailResponse>(
+    return requestByGet<GetHistoryDetailResponse>(
       `/api/cms/history/detail/${id}`
     );
   },

+ 5 - 4
src/api/index.ts

@@ -1,16 +1,16 @@
 import { LoginRequest, LoginResponse, UpdatePwdRequest } from "@/types";
-import { service } from "@dage/web-components";
+import { requestByPost, requestByGet } from "@dage/service";
 
 export const login = (data: LoginRequest) => {
-  return service.post<LoginResponse>("/api/admin/login", data);
+  return requestByPost<LoginResponse>("/api/admin/login", data);
 };
 
 export const logoutApi = () => {
-  return service.get("/api/admin/logout");
+  return requestByGet("/api/admin/logout");
 };
 
 export const updatePwd = (data: UpdatePwdRequest) => {
-  return service.post("/api/sys/user/updatePwd", data);
+  return requestByPost("/api/sys/user/updatePwd", data);
 };
 
 export * from "./overview";
@@ -19,3 +19,4 @@ export * from "./log";
 export * from "./user";
 export * from "./industrial-meta";
 export * from "./weapon";
+export * from "./site";

+ 4 - 4
src/api/industrial-meta.ts

@@ -1,14 +1,14 @@
 import { GetIndustrialMetaListParams, IndustrialMetaItemType } from "@/types";
-import { service } from "@dage/web-components";
+import { requestByGet, requestByPost } from "@dage/service";
 
 export const industrialMetaApi = {
   getList(params: GetIndustrialMetaListParams) {
-    return service.post("/api/cms/meta/pageList", params);
+    return requestByPost("/api/cms/meta/pageList", params);
   },
   getDetail(id: string) {
-    return service.get<IndustrialMetaItemType>(`/api/cms/meta/detail/${id}`);
+    return requestByGet<IndustrialMetaItemType>(`/api/cms/meta/detail/${id}`);
   },
   edit(params: IndustrialMetaItemType) {
-    return service.post("/api/cms/meta/save", params);
+    return requestByPost("/api/cms/meta/save", params);
   },
 };

+ 2 - 2
src/api/log.ts

@@ -1,8 +1,8 @@
 import { GetLogListParams } from "@/types";
-import { service } from "@dage/web-components";
+import { requestByPost } from "@dage/service";
 
 export const logApi = {
   getList(params: GetLogListParams) {
-    return service.post("/api/sys/log/list", params);
+    return requestByPost("/api/sys/log/list", params);
   },
 };

+ 5 - 5
src/api/overview.ts

@@ -4,24 +4,24 @@ import {
   GetOverviewListResponse,
   OverviewParams,
 } from "@/types";
-import { service } from "@dage/web-components";
+import { requestByGet, requestByPost } from "@dage/service";
 
 export const overviewApi = {
   getList(data: GetOverviewListParams) {
-    return service.post<GetOverviewListResponse>(
+    return requestByPost<GetOverviewListResponse>(
       "/api/cms/company/pageList",
       data
     );
   },
   getDetail: (id: string) => {
-    return service.get<GetOverviewDetailResponse>(
+    return requestByGet<GetOverviewDetailResponse>(
       `/api/cms/company/detail/${id}`
     );
   },
   save(params: OverviewParams) {
-    return service.post("/api/cms/company/save", params);
+    return requestByPost("/api/cms/company/save", params);
   },
   del: (id: number) => {
-    return service.get(`/api/cms/company/remove/${id}`);
+    return requestByGet(`/api/cms/company/remove/${id}`);
   },
 };

+ 10 - 0
src/api/site.ts

@@ -0,0 +1,10 @@
+import { requestByGet, requestByPost } from "@dage/service";
+
+export const siteApi = {
+  get: () => {
+    return requestByGet("/api/cms/site/getInfo");
+  },
+  save: (data: any) => {
+    return requestByPost("/api/cms/site/save", data);
+  },
+};

+ 7 - 7
src/api/user.ts

@@ -1,23 +1,23 @@
 import { GetUserListParams, SaveUserType } from "@/types";
-import { service } from "@dage/web-components";
+import { requestByGet, requestByPost } from "@dage/service";
 
 export const userApi = {
   getList(params: GetUserListParams) {
-    return service.post("/api/sys/user/list", params);
+    return requestByPost("/api/sys/user/list", params);
   },
   handleType(id: number, isEnabled: number) {
-    return service.get(`/api/sys/user/editStatus/${id}/${isEnabled}`);
+    return requestByGet(`/api/sys/user/editStatus/${id}/${isEnabled}`);
   },
   del(ids: number) {
-    return service.get(`/api/sys/user/removes/${ids}`);
+    return requestByGet(`/api/sys/user/removes/${ids}`);
   },
   resetPwd(id: number) {
-    return service.get(`/api/sys/user/resetPass/${id}`);
+    return requestByGet(`/api/sys/user/resetPass/${id}`);
   },
   getDetail(id: number) {
-    return service.get(`/api/sys/user/detail/${id}`);
+    return requestByGet(`/api/sys/user/detail/${id}`);
   },
   edit(params: SaveUserType) {
-    return service.post("/api/sys/user/save", params);
+    return requestByPost("/api/sys/user/save", params);
   },
 };

+ 6 - 6
src/api/weapon.ts

@@ -1,20 +1,20 @@
 import { AddWeaponParams, HistoryDictItem } from "@/types";
-import { service } from "@dage/web-components";
+import { requestByGet, requestByPost } from "@dage/service";
 
 export const weaponApi = {
   getDictList() {
-    return service.get<HistoryDictItem[]>("/api/cms/goods/getDict");
+    return requestByGet<HistoryDictItem[]>("/api/cms/goods/getDict");
   },
   getList(data: any) {
-    return service.post<any>("/api/cms/goods/pageList", data);
+    return requestByPost<any>("/api/cms/goods/pageList", data);
   },
   add: (data: AddWeaponParams) => {
-    return service.post("/api/cms/goods/save", data);
+    return requestByPost("/api/cms/goods/save", data);
   },
   del: (id: number) => {
-    return service.get(`/api/cms/goods/remove/${id}`);
+    return requestByGet(`/api/cms/goods/remove/${id}`);
   },
   getDetail: (id: string) => {
-    return service.get<any>(`/api/cms/goods/detail/${id}`);
+    return requestByGet<any>(`/api/cms/goods/detail/${id}`);
   },
 };

+ 4 - 2
src/components/SpinLoding/index.module.scss

@@ -1,8 +1,10 @@
 .SpinLoding {
   position: absolute;
   z-index: 9999;
-  width: 100%;
-  height: 100%;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
   background-color: #fff;
   display: flex;
   justify-content: center;

+ 49 - 0
src/configure.ts

@@ -0,0 +1,49 @@
+import { compose, initial } from "@dage/service";
+import { getTokenInfo, removeTokenInfo } from "@dage/pc-components";
+import { message } from "antd";
+import { NoticeType } from "antd/es/message/interface";
+
+export enum ResponseStatusCode {
+  SUCCESS = 0,
+  TOKEN_INVALID = 5001,
+  TOKEN_INVALID2 = 5002,
+}
+
+const showMessage = (msg: string, type: NoticeType = "error") => {
+  message.open({
+    type,
+    content: msg,
+    duration: 4,
+  });
+};
+
+initial({
+  fetch: window.fetch.bind(window),
+  baseURL: process.env.REACT_APP_API_URL as string,
+  interceptor: compose(
+    (request, next) => {
+      const { token } = getTokenInfo();
+      if (token) {
+        request.headers["token"] = token;
+      }
+      return next();
+    },
+    // 登陆失效
+    async (request, next) => {
+      const response = await next();
+
+      if (
+        [
+          ResponseStatusCode.TOKEN_INVALID,
+          ResponseStatusCode.TOKEN_INVALID2,
+        ].includes(response.code)
+      ) {
+        showMessage("登录失效!");
+        removeTokenInfo();
+        globalThis.location.href = "#/login";
+      }
+
+      return response;
+    }
+  ),
+});

+ 1 - 5
src/index.tsx

@@ -2,13 +2,9 @@ import React from "react";
 import ReactDOM from "react-dom/client";
 import { HashRouter } from "react-router-dom";
 import { Provider } from "react-redux";
-import { eventBus } from '@dage/web-components';
 import store from "./store/index";
 import App from "./App";
-
-eventBus.on('Event.login.invalid', () => {
-  globalThis.location.href = '#/login';
-});
+import "./configure";
 
 const root = ReactDOM.createRoot(
   document.getElementById("root") as HTMLElement

+ 5 - 8
src/pages/History/create-or-edit/index.tsx

@@ -3,7 +3,7 @@ import {
   DageUpload,
   DageUploadConsumer,
   DageUploadProvider,
-} from "@dage/web-components";
+} from "@dage/pc-components";
 import { MemoSpinLoding, FormPageFooter } from "@/components";
 import { HistoryDictItem } from "@/types";
 import { Form, FormInstance, Input, Select } from "antd";
@@ -22,14 +22,12 @@ export default function HistoryCreateOrEdit() {
   const getDetail = useCallback(async () => {
     setLoading(true);
     try {
-      const {
-        data: { entity, file },
-      } = await historyApi.getDetail(params.id as string);
+      const { entity, file } = await historyApi.getDetail(params.id as string);
       formRef.current?.setFieldsValue({
         ...entity,
         fileIds: file.map((i) => ({
           uid: i.id + "",
-          url: `${process.env.REACT_APP_BACKEND_URL}${i.filePath}`,
+          url: `${process.env.REACT_APP_API_URL}${i.filePath}`,
           name: i.fileName,
         })),
       });
@@ -39,7 +37,7 @@ export default function HistoryCreateOrEdit() {
   }, [params.id]);
 
   const getHistoryDictList = useCallback(async () => {
-    const { data } = await historyApi.getHistoryDictList();
+    const data = await historyApi.getHistoryDictList();
     setDictList(data);
   }, []);
 
@@ -144,8 +142,7 @@ export default function HistoryCreateOrEdit() {
                     disabled={readonly.current}
                     tips="支持png、jpg和jpeg格式;最多9张,最大5M"
                     action={
-                      process.env.REACT_APP_BACKEND_URL +
-                      "/api/cms/history/upload"
+                      process.env.REACT_APP_API_URL + "/api/cms/history/upload"
                     }
                   />
                 </Form.Item>

+ 2 - 2
src/pages/History/index.tsx

@@ -30,7 +30,7 @@ export default function History() {
   });
 
   const getHistoryDictList = async () => {
-    const { data } = await historyApi.getHistoryDictList();
+    const data = await historyApi.getHistoryDictList();
     setDictList(data);
   };
 
@@ -41,7 +41,7 @@ export default function History() {
   const getList = useCallback(async () => {
     setLoading(true);
     try {
-      const { data } = await historyApi.getList(params);
+      const data = await historyApi.getList(params);
       setList(data.records);
       setTotal(data.total);
     } finally {

+ 1 - 1
src/pages/IndustrialMeta/create-or-edit/index.tsx

@@ -15,7 +15,7 @@ export default function HistoryCreateOrEdit() {
   const getDetail = useCallback(async () => {
     setLoading(true);
     try {
-      const { data } = await industrialMetaApi.getDetail(params.id as string);
+      const data = await industrialMetaApi.getDetail(params.id as string);
       formRef.current?.setFieldsValue(data);
     } finally {
       setLoading(false);

+ 1 - 1
src/pages/IndustrialMeta/index.tsx

@@ -23,7 +23,7 @@ export default function IndustrialMeta() {
   const getList = useCallback(async () => {
     setLoading(true);
     try {
-      const { data } = await industrialMetaApi.getList(params);
+      const data = await industrialMetaApi.getList(params);
       setList(data.records);
       setTotal(data.total);
     } finally {

+ 7 - 0
src/pages/Layout/constants.tsx

@@ -5,6 +5,7 @@ import {
   ShareAltOutlined,
   GlobalOutlined,
   DeploymentUnitOutlined,
+  RocketOutlined,
 } from "@ant-design/icons";
 import React from "react";
 import { RouteType } from "./types";
@@ -102,6 +103,12 @@ export const DEFAULT_MENU: RouteType[] = [
       },
     ],
   },
+  {
+    key: "/site",
+    label: "站点设置",
+    icon: <RocketOutlined />,
+    component: React.lazy(() => import("../Site")),
+  },
 ];
 
 export const DEFAULT_ADMIN_MENU: RouteType[] = [

+ 1 - 1
src/pages/Layout/index.tsx

@@ -15,7 +15,7 @@ import {
   Navigate,
 } from "react-router-dom";
 import { Content } from "antd/es/layout/layout";
-import { hasToken, getTokenInfo } from "@dage/web-components";
+import { hasToken, getTokenInfo } from "@dage/pc-components";
 import store from "@/store";
 import { LayoutSider, LayoutHeader } from "./components";
 import { RootState } from "@/store";

+ 1 - 1
src/pages/Log/index.tsx

@@ -26,7 +26,7 @@ export default function IndustrialMeta() {
   const getList = useCallback(async () => {
     setLoading(true);
     try {
-      const { data } = await logApi.getList(params);
+      const data = await logApi.getList(params);
       setList(data.records);
       setTotal(data.total);
     } finally {

+ 2 - 2
src/pages/Login/index.tsx

@@ -5,7 +5,7 @@ import { useNavigate } from "react-router-dom";
 import encodeStr from "@/utils/pass";
 import { LoginRequest } from "@/types";
 import { login } from "@/api";
-import { setTokenInfo } from "@dage/web-components";
+import { setTokenInfo } from "@dage/pc-components";
 import IconAccount from "./images/icon_account.png";
 import IconPassword from "./images/icon_password.png";
 import LogoImage from "../../assets/images/logo.png";
@@ -24,7 +24,7 @@ export default function Login() {
     };
 
     try {
-      const { data } = await login(obj);
+      const data = await login(obj);
 
       // 用户信息存到本地
       setTokenInfo(data);

+ 5 - 7
src/pages/Overview/create-or-edit/index.tsx

@@ -8,7 +8,7 @@ import {
   DageMapMethods,
   DageUploadProvider,
   DageUploadConsumer,
-} from "@dage/web-components";
+} from "@dage/pc-components";
 import { MemoSpinLoding, FormPageFooter } from "@/components";
 import { useCallback, useEffect, useRef, useState } from "react";
 import { useLocation, useNavigate, useParams } from "react-router-dom";
@@ -35,18 +35,16 @@ export default function OverviewCreateOrEdit() {
     setLoading(true);
     try {
       const {
-        data: {
-          entity: { createDay, longitude, latitude, address, ...rest },
-          file,
-        },
+        entity: { createDay, longitude, latitude, address, ...rest },
+        file,
       } = await overviewApi.getDetail(params.id as string);
       formRef.current?.setFieldsValue({
         ...rest,
         address,
         createDay: dayjs(createDay),
-        fileIds: file.map((i) => ({
+        fileIds: file.map((i: any) => ({
           uid: i.id + "",
-          url: `${process.env.REACT_APP_BACKEND_URL}${i.filePath}`,
+          url: `${process.env.REACT_APP_API_URL}${i.filePath}`,
           name: i.fileName,
         })),
       });

+ 1 - 1
src/pages/Overview/index.tsx

@@ -33,7 +33,7 @@ export default function Overview() {
   });
 
   const getOverviewList = useCallback(async () => {
-    const { data } = await overviewApi.getList(params);
+    const data = await overviewApi.getList(params);
     setList(data.records);
     setTotal(data.total);
   }, [params]);

+ 141 - 0
src/pages/Site/index.tsx

@@ -0,0 +1,141 @@
+import { siteApi } from "@/api";
+import { MemoSpinLoding } from "@/components";
+import {
+  DageUpload,
+  DageUploadConsumer,
+  DageUploadProvider,
+  DageUploadType,
+} from "@dage/pc-components";
+import { App, Button, Form, FormInstance, Input } from "antd";
+import { cloneDeep } from "lodash";
+import { useEffect, useRef, useState } from "react";
+
+export default function SitePage() {
+  const initialData = useRef<any>(null);
+  const { message } = App.useApp();
+  const formRef = useRef<FormInstance>(null);
+  const [loading, setLoading] = useState(false);
+  const [readOnly, setReadOnly] = useState(true);
+
+  useEffect(() => {
+    getDetail();
+  }, []);
+
+  const getDetail = async () => {
+    setLoading(true);
+    try {
+      const str = await siteApi.get();
+      const { fileName, filePath, ...rest } = JSON.parse(str);
+      if (fileName) {
+        rest.audio = [
+          {
+            uid: fileName,
+            url: `${process.env.REACT_APP_API_URL}${filePath}`,
+            name: fileName,
+            status: "done",
+          },
+        ];
+      }
+      formRef.current?.setFieldsValue(rest);
+      initialData.current = cloneDeep(rest);
+    } finally {
+      setLoading(false);
+    }
+  };
+
+  const save = async () => {
+    if (!formRef.current || !(await formRef.current.validateFields())) return;
+
+    try {
+      setLoading(true);
+
+      const { audio, ...rest } = formRef.current.getFieldsValue();
+
+      if (Array.isArray(audio) && audio.length) {
+        Object.assign(rest, {
+          filePath: audio[0].response.filePath,
+          fileName: audio[0].response.fileName,
+        });
+      }
+
+      await siteApi.save(rest);
+
+      message.success("保存成功");
+
+      initialData.current = cloneDeep(formRef.current.getFieldsValue());
+      setReadOnly(true);
+    } finally {
+      setLoading(false);
+    }
+  };
+
+  const cancel = () => {
+    formRef.current?.setFieldsValue({
+      ...initialData.current,
+    });
+    setReadOnly(true);
+  };
+
+  return (
+    <DageUploadProvider>
+      <DageUploadConsumer>
+        {(data) => (
+          <Form
+            ref={formRef}
+            labelCol={{ flex: "80px" }}
+            labelAlign="left"
+            colon={false}
+          >
+            {loading && <MemoSpinLoding />}
+            <Form.Item label="背景音乐:" name="audio">
+              <DageUpload
+                maxCount={1}
+                disabled={readOnly}
+                action="/api/cms/site/upload"
+                dType={DageUploadType.AUDIO}
+                maxSize={10}
+                tips="仅支持MP3格式的音频文件,大小不得超过10MB"
+              />
+            </Form.Item>
+            <Form.Item label="联系方式:" name="phone">
+              <Input
+                readOnly={readOnly}
+                className="w220"
+                placeholder="请输入内容"
+              />
+            </Form.Item>
+            <Form.Item
+              label="电子邮箱:"
+              name="email"
+              rules={[{ type: "email" }]}
+            >
+              <Input
+                readOnly={readOnly}
+                className="w220"
+                placeholder="请输入内容"
+              />
+            </Form.Item>
+            <Form.Item label=" ">
+              {readOnly ? (
+                <Button onClick={() => setReadOnly(false)}>编辑</Button>
+              ) : (
+                <>
+                  <Button style={{ marginRight: "15px" }} onClick={cancel}>
+                    取消
+                  </Button>
+                  <Button
+                    disabled={data?.uploading}
+                    type="primary"
+                    onClick={save}
+                  >
+                    保存
+                  </Button>
+                </>
+              )}
+            </Form.Item>
+          </Form>
+        )}
+      </DageUploadConsumer>
+    </DageUploadProvider>
+  );
+}

+ 6 - 8
src/pages/User/components/UserAdd/index.tsx

@@ -25,7 +25,7 @@ function UserAdd({ id, closePage, upTableList, addTableList }: Props) {
 
   const getInfoInAPIFu = useCallback(async (id: number) => {
     const res = await userApi.getDetail(id);
-    FormBoxRef.current?.setFieldsValue(res.data);
+    FormBoxRef.current?.setFieldsValue(res);
     console.log("是编辑,在这里发请求拿数据", res);
   }, []);
 
@@ -49,15 +49,13 @@ function UserAdd({ id, closePage, upTableList, addTableList }: Props) {
         id: id ? id : null,
       };
 
-      const res: any = await userApi.edit(obj);
+      await userApi.edit(obj);
 
-      if (res.code === 0) {
-        message.success(id ? "编辑成功!" : "新增成功!");
-        if (id) upTableList();
-        else addTableList();
+      message.success(id ? "编辑成功!" : "新增成功!");
+      if (id) upTableList();
+      else addTableList();
 
-        closePage();
-      }
+      closePage();
       console.log("通过校验,点击确定");
     },
     [addTableList, closePage, id, upTableList]

+ 1 - 1
src/pages/User/index.tsx

@@ -35,7 +35,7 @@ export default function IndustrialMeta() {
   const getList = useCallback(async () => {
     setLoading(true);
     try {
-      const { data } = await userApi.getList(params);
+      const data = await userApi.getList(params);
       setList(data.records);
       setTotal(data.total);
     } finally {

+ 11 - 11
src/pages/Weapon/create-or-edit/index.tsx

@@ -7,7 +7,7 @@ import {
   DageUpload,
   DageUploadConsumer,
   DageUploadProvider,
-} from "@dage/web-components";
+} from "@dage/pc-components";
 import { HistoryDictItem } from "@/types";
 import { Form, FormInstance, Input, Select } from "antd";
 import { useCallback, useEffect, useRef, useState } from "react";
@@ -28,17 +28,15 @@ export default function HistoryCreateOrEdit() {
     setLoading(true);
     try {
       const {
-        data: {
-          entity: { thumb, ...rest },
-          file,
-        },
+        entity: { thumb, ...rest },
+        file,
       } = await weaponApi.getDetail(params.id as string);
 
       if (thumb) {
         rest.thumb = [
           {
             uid: thumb,
-            url: `${process.env.REACT_APP_BACKEND_URL}${thumb}`,
+            url: `${process.env.REACT_APP_API_URL}${thumb}`,
             name: thumb,
             status: "done",
           },
@@ -50,8 +48,8 @@ export default function HistoryCreateOrEdit() {
       dageFileCheckboxRef.current?.setFileList(
         file.map((i: any) => ({
           uid: i.id + "",
-          url: `${process.env.REACT_APP_BACKEND_URL}${i.filePath}`,
-          thumbUrl: `${process.env.REACT_APP_BACKEND_URL}${i.filePath}`,
+          url: `${process.env.REACT_APP_API_URL}${i.filePath}`,
+          thumbUrl: `${process.env.REACT_APP_API_URL}${i.filePath}`,
           name: i.fileName,
           dType: i.type,
           status: "done",
@@ -63,7 +61,7 @@ export default function HistoryCreateOrEdit() {
   }, [params.id]);
 
   const getDictList = useCallback(async () => {
-    const { data } = await weaponApi.getDictList();
+    const data = await weaponApi.getDictList();
     setDictList(data);
   }, []);
 
@@ -81,7 +79,9 @@ export default function HistoryCreateOrEdit() {
     }
 
     if (thumb[0] && thumb[0].imgAttrs) {
-      rest.thumbInfo = (thumb[0].imgAttrs.width / thumb[0].imgAttrs.height).toFixed(2)
+      rest.thumbInfo = (
+        thumb[0].imgAttrs.width / thumb[0].imgAttrs.height
+      ).toFixed(2);
     }
 
     await weaponApi.add({
@@ -213,7 +213,7 @@ export default function HistoryCreateOrEdit() {
                   <Input.TextArea
                     className="w450"
                     placeholder="请输入内容"
-                    maxLength={200}
+                    maxLength={2000}
                     rows={4}
                     showCount
                     readOnly={readonly.current}

+ 2 - 2
src/pages/Weapon/index.tsx

@@ -30,7 +30,7 @@ export default function History() {
   });
 
   const getDictList = async () => {
-    const { data } = await weaponApi.getDictList();
+    const data = await weaponApi.getDictList();
     setDictList(data);
   };
 
@@ -41,7 +41,7 @@ export default function History() {
   const getList = useCallback(async () => {
     setLoading(true);
     try {
-      const { data } = await weaponApi.getList(params);
+      const data = await weaponApi.getList(params);
       setList(data.records);
       setTotal(data.total);
     } finally {

+ 1 - 1
src/utils/index.ts

@@ -1,4 +1,4 @@
-import { removeTokenInfo } from "@dage/web-components";
+import { removeTokenInfo } from "@dage/pc-components";
 import { logoutApi } from "@/api";
 
 export const logout = async () => {

ファイルの差分が大きいため隠しています
+ 547 - 441
yarn.lock