文档中心登录前进行品牌展示,为满足企业或组织的的个性化需求

如何为文档中心定制欢迎页?

该组件仅适用于私有化WPS365版本

1. 方案概述

欢迎页是由客户自己设计和定义的独立页面,可以在文档中心登录前进行品牌展示。

总的来说,欢迎页的内容客户可以根据自己的需求自行设计,通常比较高频的使用方式有:

  1. 视觉品牌植入: 展示企业LOGO、标语等元素,强化员工和客户对公司品牌的日常感知。
  2. 文化仪式感营造: 根据节日/企业纪念日更新主题(如周年庆动态海报、春节祝福),增强员工情感联结。

如果没有定制欢迎页,客户在登录文档中心时,会直接进入文档中心登录页,输入账号和密码进行登录。

客户定制了文档中心欢迎页之后,遇到需要登录的场景,会先跳转进入企业欢迎页,在欢迎页进行相关操作(例如:点击【去使用】按钮)之后再进入登录页。

欢迎页
欢迎页页面示例,企业可自定义欢迎语等页面设计
实现效果客户在进行登录操作前,被拦截跳转到欢迎页:GOVDL5Q6AAQAG
支持端文档中心PC端、文档中心H5端
版本限制2024-0613(含)以上
操作系统限制支持X86、XC

2. 使用指南

👉独立页面插件

  • 欢迎页: /c/cid/index.html#/welcome

👉能力

sdk.login.pageInit

👉方法

onIntercept

登陆页面-页面初始化拦截

信息内容
支持版本2024-0613
是否支持多插件true
是否支持异步false
兼容性说明

其他说明:无

参数

参数名称必选类型描述
listener(params: {}) => boolean

示例

sdk.login.pageInit.onIntercept((data)=>{
  console.log(data, 'onIntercept')
  return true
})

👉代码示例

目录结构

ecis-frontend-plugin-custom-frame/
├── src/
│   ├── components/
│   │   ├── welcome/
│   │   │   ├── index.tsx            //欢迎页
│   │   │   ├── index.module.less
│   ├── libs/
│   │   ├── i18n/
│   │   │   ├── locales/
│   │   │   │   ├── zh-CN.json  // 包含中文语言的翻译键值对
│   │   │   │   ├── zh-HK.json  // 包含繁体语言的翻译键值对
│   │   │   │   ├── en-US.json  // 包含英文语言的翻译键值对
│   ├── web/
│   │   ├── bootstrap.tsx   // 页面开发根节点组件路径
│   ├── plugin/
│   │   ├── index.tsx   // 插件功能具体实现

路由划分

src/web/bootstrap.tsx

import React from 'react';
import ReactDOM from 'react-dom';
import { HashRouter as Router, Route, Switch } from 'react-router-dom';

import Welcome from '../componetns/welcome/index';
import '../libs/i18n';
import './index.css';

// eslint-disable-next-line react/no-deprecated
ReactDOM.render(
  <Router>
    <Switch>
      <Route path={'/welcome'} exact={true} component={Welcome} />
    </Switch>
  </Router>,
  document.querySelector('#app')
);

欢迎页定制

src/components/welcome/index.tsx

📌 注意

  1. /c/cid/index.html/#/welcome 地址为插件独立页面地址
  2. 在欢迎页中通过cb获取登录地址,进行等待或其他逻辑后跳转回登录页
import React from 'react';
import { Button } from 'antd';
import sdk from '@libs/sdk';

import styles from './index.module.less';

const Welcome = () => {
  /**
   * 可在此基于客户提供诉求,进行定制实现
   * ......
   * 诉求完成后,跳转回登录页
   */

  const setStoreItem = () => {
    // 此处为示例,可依需求自行实现
    localStorage.setItem('LOGIN_WELCOME_INFO', JSON.stringify({ isJump: true }));
  };

  const redirectDamian = () => {
    const webpath = sdk.utils.env.webpath;
    window.location.replace(webpath);
  };

  const login = () => {
    try {
      const cb = new URL(window.location.href).searchParams.get('cb');
      if (cb) {
        // 跳转前,记录已经跳转过
        setStoreItem();
        return window.location.replace(cb);
      }
    } catch (error) {
      console.error('welcome page jump to login page error', error);
    }
    setStoreItem();
    return redirectDamian();
  };

  return (
    <div className={styles.welcome}>
      <h1>欢迎使用xxx(自定义欢迎语)</h1>
      <div>具体描述xxx</div>
      <div>
        <Button type="primary" onClick={() => login()}>
          去使用
        </Button>
      </div>
    </div>
  );
};

export default Welcome;

拦截登录页跳转到欢迎页

src/plugin/index.tsx

import sdk from '@libs/sdk';
import '../libs/i18n';

// 必须使用pnpm安装依赖
console.log('--- plugin start ---');

// 这里通过传参的方式把资源传进来
// 这里面直接写sdk.kdrive.aside会导致插件不可用
ecissdk.register(
  (data: any) => {
    console.log('ecis: index start');
    console.log('ecis: index end', data, sdk);
  },
  async () => {
    console.log('ecis async start');
    // 初始化登录页拦截
    sdk.login.pageInit.onIntercept((data: any) => {
      console.log(data, 'onIntercept');

      const gotoWelcomePage = () => {
        // cid根据实现前端组件id修改
        const webpath = sdk.utils.env.webpath;
        window.location.replace(webpath + 'c/cid/index.html?cb=' + encodeURIComponent(window.location.href));
      };

      const storeName = 'LOGIN_WELCOME_INFO';
      const localInfo = localStorage.getItem(storeName);
      if (!localInfo) {
        return gotoWelcomePage();
      }
      try {
        const info = JSON.parse(localInfo) as { isJump: boolean };
        if (!info?.isJump) {
          // 未跳转过,进行跳转
          return gotoWelcomePage();
        }
      } catch (error) {
        console.error('login page init jump to welcome page error', error);
      }
      // 跳转过,保证后续重新进入登录页时再次跳转,需要重置localStorage
      localStorage.removeItem(storeName);
    });
    return {
      login: await sdk.login,
    };
  }
);

console.log('--- plugin end ---');

👉效果截图

D3HQT4Y6ACQFK
欢迎页
GOVDL5Q6AAQAG
登录页拦截跳转到欢迎页

相关新闻

  • 自定义云文档操作项

    自定义云文档操作项

    响应企业安全、效率需求,屏蔽、禁用、拦截、扩展云文档的导入导出等操作。 如何屏蔽\禁用\拦截\扩展文件操作项? 本定制方案仅适用于私有化WPS365版本 1. 方案概述 文档中心里,这些“新建”“导入”“上传”“导出”“分享”等按钮,都是文件操作项,企业用户可以使用这些按钮操作文件。 有些企业可能出于安全、效率等需求,希望屏蔽\禁用、拦截、扩展部分文件操作项。 屏蔽\禁用 指的是企业担心文档泄漏,希望完全禁止企业用户下载文档,想屏蔽\禁用WPS文档中心的下载按钮。屏蔽:指“操作项完全不可见”禁用…

    最佳实践 2025年12月11日
  • 文档中心与第三方IM集成,促进高效协同办公

    文档中心与第三方IM集成,促进高效协同办公

    随着企业数字化转型的深入,企业在自研IM基础上需要补齐文档协作能力。文档中心通过集成第三方IM,为企业提供高效、安全的文档协作体验。 一、方案简介 金山办公文档中心V7集成第三方IM旨在为企业自研IM(即时通讯)系统提供文档能力的集成支持,通过文档中心V7与第三方IM的深度整合。 金山办公文档中心V7通过标准化接口与定制化开发相结合,实现IM与文档中心的无缝衔接,帮助企业构建”沟通-协作-管理”一体化平台。金山文档中心V7通过提供在线编辑、多人协同、版本管理,帮助客户减少…

    最佳实践 2025年12月11日
  • 【最佳实践】通过WPS 365快速构建企业级AI知识库

    【最佳实践】通过WPS 365快速构建企业级AI知识库

    在企业知识库中,您可以更加集中关注企业沉淀的知识文件夹,在其中可以通过快速阅读、问答等功能,快速获取知识、解答疑问,大幅提升办公效率。

    最佳实践 2026年1月1日
  • 文档中心主题皮肤定制

    文档中心主题皮肤定制

    将企业主题色融入WPS365产品界面,使之与企业风格更为统一 如何为文档中心定制主题皮肤? 本定制方案仅适用于私有化WPS365版本 1. 方案概述 主题皮肤就是文档中心提供的界面颜色,下图为文档中心标准产品的主题皮肤: 出于以下需求的考虑,客户可能会需要定制个性化的主题皮肤: 实现效果 深色模式浅色模式护眼模式跟随系统模式注:以上展示的【深色】【浅色】【护眼】模式的具体颜色效果由客户自己定义,上图仅作参考示例 依赖端 文档中心PC端 依赖版本 23.0907(含)以上 依赖操作系统 支持X86…

    最佳实践 2025年12月11日
  • 双因子认证

    双因子认证

    企业出于安全考虑,需要在修改功能或登录密级较高的页面时,对成员进行二次身份校验 企业需要双因子认证时,可以怎么操作? 该组件仅适用于私有化WPS365版本 1. 方案概述 一般来讲,用户登录的安全认证分为两种: 文档中心使用的是单因子认证的方式。 出于安全考虑,企业需要在修改定制应用功能前,比如修改消息审计、全局配置前。 或登录密级较高的页面时,对成员进行二次身份校验。 针对这种情况,我们可以使用文档中心管理后台的开放能力,定制双因子认证 实现效果 用户登录管理后台时,页面会跳出窗口,提醒用户绑…

    最佳实践 2025年12月11日
  • 自定义文件传输面板

    自定义文件传输面板

    自定义文件传输面板,解决将文件从邮件、OA等系统中拉取文件上传到云文档过程中,传输进度无法跟踪的问题 定制导致文档上传逻辑改变,传输面板无法正常唤起,怎么办? 本定制方案仅适用于私有化WPS365版本 1. 方案概述 用户上传文件时,文档中心页面会出现一个显示“文件上传进度”的面板,这就是传输面板。 上传文件时 这里会显示上传进度,这就是“传输面板” 当企业在WPS文档中心上做了某些定制能力,可能导致WPS文档中心原有的上传逻辑被改变,影响传输面板的正常唤起,使得企业用户上传文件时,无从得知“文…

    最佳实践 2025年12月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

立即咨询 企业版试用 上门服务

请您留言

感谢您的关注,你可留下联系方式,我们将第一时间与您联系。