You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Office.js实现Word加载项关闭Word时自动登出用户

可以通过Office.js实现Word关闭时自动登出

核心实现思路

利用Office.js提供的Office.addin.onRemoved事件,在加载项被卸载(包括Word关闭、文档关闭或加载项被禁用)时触发登出逻辑,同时清理本地存储的登录状态、调用后端登出接口(如果有)。

具体步骤与代码示例

  1. 注册卸载事件
    在加载项初始化阶段,注册onRemoved事件监听器,该事件会在加载项即将被移除时触发:
Office.initialize = (reason) => {
  // 绑定加载项移除事件
  Office.addin.onRemoved(async () => {
    try {
      // 1. 调用后端登出接口(如果存在)
      await fetch('/api/logout', {
        method: 'POST',
        credentials: 'include' // 若需要携带cookie
      });
      
      // 2. 清理本地存储的登录状态(如token、用户信息)
      localStorage.removeItem('userAuthToken');
      localStorage.removeItem('currentUser');
      
      console.log('已自动完成登出');
    } catch (error) {
      // 记录错误日志,避免影响加载项卸载
      console.error('自动登出失败:', error);
    }
  });
};
  1. 注意事项
  • 事件触发场景:onRemoved会在用户正常关闭Word、关闭包含加载项的文档、手动禁用加载项时触发,但如果用户强制终止Word进程(比如任务管理器结束进程),该事件可能无法执行,这种极端情况无法完全覆盖。
  • 异步操作处理:如果登出涉及后端接口调用,建议使用async/await确保请求在加载项卸载前完成,Office.js会等待异步操作执行完毕再完成卸载。
  • 存储选择:避免将登录状态存在Office.context.document.settings中(该存储与文档绑定),应使用localStorage或sessionStorage存储用户级的登录信息,确保清理后下次打开Word时状态已重置。

内容的提问来源于stack exchange,提问作者RK-Anonymous

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 21:45:04