forked from gzzfw/frontEnd/gzDyh

zhangyongtian
2024-09-13 dfbe28b1ebcb18d4cc427e432b78cda0464883c0
feat: 单点对接
4 files modified
92 ■■■■ changed files
gz-customerSystem/src/api/apiHandler.js 5 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/api/appUrl.js 4 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/components/Layout/index.jsx 78 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/closingReview/index.jsx 5 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/api/apiHandler.js
@@ -52,10 +52,11 @@
export const ax = axios;
export function request(value = {}) {
  console.log(value);
  let token = getSessionStorage("customerSystemToken");
  // 无token时
  if (!token && value.url !== "ctAccount/login") {
  // 无token、非登录、非网格单点跳转时
  if (!value.isGrid && !token && value.url !== "ctAccount/login") {
    catchApiError({
      content: "抱歉!登录状态已失效请重新登录",
      loginStatus: "lose",
gz-customerSystem/src/api/appUrl.js
@@ -10,11 +10,11 @@
export const debug = {
  // web服务
  // baseUrl: 'http://gz.hugeinfo.com.cn',
  baseUrl: "http://933ymn.natappfree.cc",
  baseUrl: "http://6vynrg.natappfree.cc",
  // baseUrl: 'http://mdqgnh.natappfree.cc',
  // 附件服务
  fileUrl: "http://933ymn.natappfree.cc",
  fileUrl: "http://6vynrg.natappfree.cc",
  // fileUrl: 'http://gz.hugeinfo.com.cn',
  // 文件查看url 后面接附件编号
gz-customerSystem/src/components/Layout/index.jsx
@@ -20,6 +20,17 @@
    return $$.ax.request({ url: `ctRole/getById?id=${roleId}`, type: 'get', service: 'cust' });
}
//对接单点登录,获取token
function gridLogin(data) {
    return $$.ax.request({ url: `ctAccount/gridLogin`, type: 'post', service: 'cust', isGrid: true, data });
}
// 角色选择
function switchRoleApi(data) {
    return $$.ax.request({ url: 'ctAccount/switchRole', type: 'get', data, service: 'cust' });
}
const Layout = ({ isNotNav, headerUserChange }) => {
    const location = useLocation() || {};
@@ -40,6 +51,9 @@
    // 当前选中的角色 及其 权限
    const [roleActive, setRoleActive] = useState({ id: null, powerMap: {} });
    //网格跳转请求状态
    const [gridStatus, setGridStatus] = useState(false)
    // 切换头部menu
    function handleClickHeaderMenu(values) {
@@ -97,17 +111,48 @@
        }
    }
    //请求网格token
    const getGridToken = async (token) => {
        const res = await gridLogin({
            token
        })
        if (res.type) {
            setGridStatus(true)
            $$.setSessionStorage('gridToken', '')
            $$.setSessionStorage('customerSystemToken', res.data?.token);
            $$.setLocal('customerSystemUser', res.data || {});
            let ctUseroleList = res.data?.ctUseroleList || [];
            const roleId = ctUseroleList[0]?.roleId
            const roleName = ctUseroleList[0]?.roleName
            const roleCode = ctUseroleList[0]?.roleCode
            $$.setSessionStorage('role', { roleId: roleId, roleName: roleName });
            setRoleActive({ id: roleId, roleName: roleName, powerMap: {} });
            const res = await switchRoleApi({ roleCode: roleCode });
            if (res.type) {
                $$.setSessionStorage('customerSystemToken', res.data);
                navigate('/mediate/visit/visitWorkBench');
            }
        }
    }
    // 初始化 格式化数据适应菜单栏
    useEffect(() => {
        let role = $$.getSessionStorage('role');
        if (role) {
            setRoleActive({ id: role.roleId, roleName: role.roleName, powerMap: {} });
            return;
        }
        let customerSystemUser = $$.getLocal('customerSystemUser');
        let ctUseroleList = customerSystemUser?.ctUseroleList || [];
        if (ctUseroleList[0]?.roleId) {
            setRoleActive({ id: ctUseroleList[0]?.roleId, roleName: ctUseroleList[0]?.roleName, powerMap: {} });
        //单点登录,网格传一个token在session,如果有就请求接口
        const gridToken = $$.getSessionStorage('gridToken');
        if (gridToken) {
            getGridToken(gridToken)
        } else {
            setGridStatus(true)
            let role = $$.getSessionStorage('role');
            if (role) {
                setRoleActive({ id: role.roleId, roleName: role.roleName, powerMap: {} });
                return;
            }
            let customerSystemUser = $$.getLocal('customerSystemUser');
            let ctUseroleList = customerSystemUser?.ctUseroleList || [];
            if (ctUseroleList[0]?.roleId) {
                setRoleActive({ id: ctUseroleList[0]?.roleId, roleName: ctUseroleList[0]?.roleName, powerMap: {} });
            }
        }
    }, []);
@@ -117,7 +162,7 @@
        async function getRolePower(roleId, roleName) {
            global.setSpinning(true);
            const res = await getRolePowerApi(roleId);
            console.log(res,'res1111')
            console.log(res, 'res1111')
            global.setSpinning(false);
            if (res.type) {
                let resData = res.data?.roleTreeBOS || [];
@@ -132,14 +177,14 @@
                    }
                });
                let powerMap = setPowerDataMap(power_data);
                function loop(data, arr) {
                    data.forEach((x) => {
                        if (x.powerUrl && powerMap[x.powerUrl]?.show) {
                            arr.push(x.powerUrl);
                        }
                        if ( x.powerUrl && powerMap[x.powerUrl]?.update) {
                        if (x.powerUrl && powerMap[x.powerUrl]?.update) {
                            arr.push(x.powerUrl);
                            console.log(powerMap[x.powerUrl]?.update, 'res111111111');
                        }
@@ -173,11 +218,11 @@
                headerUserChange={headerUserChange}
                handleChangeRole={handleChangeRole}
            />
            {isNotNav ? (
            {gridStatus && isNotNav ? (
                <main className="layout-main" id="layoutMain">
                    <Outlet />
                </main>
            ) : (
            ) : gridStatus ? (
                <main className="layout-main" id="layoutMain" ref={layoutRef}>
                    <Navigation powerMap={roleActive.powerMap} roleActive={roleActive} sideMenu={sideMenu} />
                    <main id="layoutChild" className="layout-child">
@@ -185,7 +230,8 @@
                    </main>
                    <SOP />
                </main>
            )}
            ) : <></>
            }
        </>
    );
};
gz-customerSystem/src/views/register/closingReview/index.jsx
@@ -18,6 +18,11 @@
const myTab = [
    {
        img: Matter,
        label: '详情',
        key: 'dslxq',
    },
    {
        img: Matter,
        label: '事项详情',
        key: 'sxxq',
    },