菜单
import { Layout, getConventionalMenus, useComponentContext } from '@rc-lib/pc';
import { useEffect, useState } from 'react';
import { t } from '@/locale';
import ajax from '@/commons/ajax';
import Logo from '../logo';
import Header from './Header';
import pageConfig, { conventionalRoutes } from '@/pages/page-configs';
const loop = (nodes) =>
nodes.map((node) => {
const {
name,
path,
meta: { title, icon },
children,
} = node;
return {
path,
key: name || Math.ceil(Math.random() * 1000000000000),
title,
icon,
label: title,
children: children ? loop(children) : undefined,
};
});
export default (props) => {
const { children, ...others } = props;
const [menus, setMenus] = useState([]);
const { loginUser } = useComponentContext();
console.log('layout loginUser', loginUser);
useEffect(() => {
if (loginUser) {
(async () => {
try {
if (window.location.pathname !== '/login') {
const resp = await ajax.get('/login/getRouters?menuType=1');
const msd = loop(resp.data[0].children);
console.log('getRouters', msd);
setMenus(msd);
}
} finally {
// setLoading(false);
}
})();
} else {
const TITLE_MAP = {
system: t('系统管理'),
example: t('示例'),
business: t('发现商机'),
activity: t('销售活动'),
customer: t('客户管理'),
transaction: t('交易查询'),
shopManage: t('店铺管理'),
};
const mss = getConventionalMenus(pageConfig, conventionalRoutes, TITLE_MAP);
setMenus(mss);
}
}, [loginUser]);
return (
<Layout
logo={(c) => <Logo collapsed={c} />}
header={<Header />}
menus={menus}
{...others}
>
{children}
</Layout>
);
};
关键性问题
- 微信支付分;
https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_14.shtml
- 支付宝芝麻信用;
- 地图实现差异;
微信公众号

