Skip to content

Commit

Permalink
feat: 1.编辑器页面列表增加加载更多。2.修改创建页面标题问题。3.访问端增加未发布提示。
Browse files Browse the repository at this point in the history
  • Loading branch information
JackySoft committed Aug 22, 2024
1 parent 8bb6980 commit d4c6015
Show file tree
Hide file tree
Showing 9 changed files with 68 additions and 41 deletions.
4 changes: 2 additions & 2 deletions packages/admin/.env.development
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 接口地址
VITE_BASE_API=http://localhost:5000/api
# VITE_BASE_API=http://mars-api.marsview.cc/api
# VITE_BASE_API=http://localhost:5000/api
VITE_BASE_API=http://mars-api.marsview.cc/api
# 后台访问地址
VITE_ADMIN_URL=http://admin.marsview.cc
22 changes: 22 additions & 0 deletions packages/admin/src/pages/500.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { Button, Result } from 'antd';
import { useNavigate } from 'react-router-dom';
function NotFound() {
const navigate = useNavigate();
const handleClick = () => {
navigate('/');
};
return (
<Result
status={500}
title="500"
subTitle={`当前页面暂未发布,请到编辑器端发布后访问。`}
extra={
<Button type="primary" onClick={handleClick}>
回首页
</Button>
}
/>
);
}

export default NotFound;
50 changes: 27 additions & 23 deletions packages/admin/src/pages/page/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,30 +14,34 @@ export default function () {
const navitate = useNavigate();
useEffect(() => {
if (id) {
getPageDetail(env as string, Number(id)).then((res: any) => {
if (!res.id) {
return navitate('/404');
}
let pageData: any = {};
try {
pageData = JSON.parse(res.page_data || '{}');
} catch (error) {
console.error(error);
console.info('【json数据】', res.page_data);
message.error('页面数据格式错误,请检查');
}
savePageInfo({
pageId: res.id,
pageName: res.name,
remark: res.remark,
is_public: res.is_public,
stg_publish_id: res.stg_publish_id,
pre_publish_id: res.pre_publish_id,
prd_publish_id: res.prd_publish_id,
...pageData,
getPageDetail(env as string, Number(id))
.then((res: any) => {
if (!res.id) {
return navitate('/404');
}
let pageData: any = {};
try {
pageData = JSON.parse(res.page_data || '{}');
} catch (error) {
console.error(error);
console.info('【json数据】', res.page_data);
message.error('页面数据格式错误,请检查');
}
savePageInfo({
pageId: res.id,
pageName: res.name,
remark: res.remark,
is_public: res.is_public,
stg_publish_id: res.stg_publish_id,
pre_publish_id: res.pre_publish_id,
prd_publish_id: res.prd_publish_id,
...pageData,
});
setTheme(pageData.config.props.theme || '#1677ff');
})
.catch(() => {
navitate('/500');
});
setTheme(pageData.config.props.theme || '#1677ff');
});
}
}, [id]);
return (
Expand Down
4 changes: 4 additions & 0 deletions packages/admin/src/router/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ export const router = [
path: '/403',
element: lazyLoad(React.lazy(() => import('@/pages/403'))),
},
{
path: '/500',
element: lazyLoad(React.lazy(() => import('@/pages/500'))),
},
];

export default createBrowserRouter(router);
4 changes: 0 additions & 4 deletions packages/editor/src/api/pageMember.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,4 @@ export default {
deletePageMember(params: DelParams) {
return request.post('/page/role/delete', params);
},
// 获取当前用户页面列表
getPageList() {
return request.post('/page/user/pages', {}, { showLoading: false });
},
};
3 changes: 2 additions & 1 deletion packages/editor/src/layout/components/Header/CreatePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { PageItem } from '@/api/pageMember';
*/

export interface IModalProp {
title: string;
createRef: MutableRefObject<{ open: (record: PageItem) => void } | undefined>;
update?: () => void;
}
Expand Down Expand Up @@ -66,7 +67,7 @@ const CreatePage = (props: IModalProp) => {
};
return (
<Modal
title="创建页面"
title={props.title}
open={visible}
confirmLoading={loading}
onOk={handleOk}
Expand Down
6 changes: 3 additions & 3 deletions packages/editor/src/layout/components/Menu/Pages/PageList.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import { Button, Flex, List, Spin, Tag } from 'antd';
import { PlusOutlined, SyncOutlined, DeleteOutlined, EditOutlined } from '@ant-design/icons';
import { useEffect, useRef, useState } from 'react';
import api, { PageItem } from '@/api/pageMember';
import { PageItem } from '@/api/pageMember';
import { getPageList, delPageData } from '@/api';
import { useNavigate } from 'react-router-dom';
import { Modal, message } from '@/utils/AntdGlobal';
import { usePageStore } from '@/stores/pageStore';
import CreatePage from '../../Header/CreatePage';
import { set } from 'lodash-es';
import { has } from 'lodash-es';

/**
* 编辑器中,快捷操作页面列表
* 打开、修改、删除、新增页面
Expand Down Expand Up @@ -138,6 +137,7 @@ export default () => {
</Spin>
{/* 创建和修改页面 */}
<CreatePage
title="修改页面"
createRef={createRef}
update={() => {
getMyPagesList(1);
Expand Down
14 changes: 7 additions & 7 deletions packages/editor/src/pages/admin/menu/CreateMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import { InfoCircleOutlined } from '@ant-design/icons';
import { message } from '@/utils/AntdGlobal';
import { IAction, IModalProp } from '@/pages/types';
import { Menu } from '@/api/types';
import { getMenuList, addMenu, updateMenu } from '@/api';
import api, { PageItem } from '@/api/pageMember';
import { getMenuList, addMenu, updateMenu, getPageList } from '@/api';
import { PageItem } from '@/api/pageMember';
import { arrayToTree } from '@/utils/util';
import CreatePage from '@/layout/components/Header/CreatePage';

Expand All @@ -33,7 +33,7 @@ export default function CreateMenu(props: IModalProp<Menu.EditParams>) {
setLoading(true);
// 获取菜单列表
await getMenus();
await getPageList();
await getMyPageList();
setLoading(false);
if (data && project_id) {
form.setFieldsValue({ ...data, project_id: parseInt(project_id), code: data.code?.split('_')[2] || '' });
Expand All @@ -51,8 +51,8 @@ export default function CreateMenu(props: IModalProp<Menu.EditParams>) {
};

// 获取用户页面列表
const getPageList = async () => {
const res = await api.getPageList();
const getMyPageList = async () => {
const res = await getPageList({ pageNum: 1, pageSize: 50 });
setPageList(res.list);
};

Expand Down Expand Up @@ -199,7 +199,7 @@ export default function CreateMenu(props: IModalProp<Menu.EditParams>) {
{pageList.map((item) => {
return (
<Select.Option value={item.id} key={item.id}>
{item.name + '( ' + item.remark + ' )'}
{item.name}
</Select.Option>
);
})}
Expand All @@ -223,7 +223,7 @@ export default function CreateMenu(props: IModalProp<Menu.EditParams>) {
</Spin>
</Modal>
{/* 创建和修改页面 */}
<CreatePage createRef={createRef} update={() => getPageList()} />
<CreatePage title="创建页面" createRef={createRef} update={() => getMyPageList()} />
</>
);
}
2 changes: 1 addition & 1 deletion packages/editor/src/pages/home/PageList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ export default function Index() {
)}
</div>
{/* 新建页面 */}
<CreatePage createRef={creatPageRef} update={() => getList(1, pageSize)} />
<CreatePage title="创建页面" createRef={creatPageRef} update={() => getList(1, pageSize)} />
</Layout.Content>
</>
);
Expand Down

0 comments on commit d4c6015

Please sign in to comment.