diff --git a/src/EngineEntrance.js b/src/EngineEntrance.js
index deb512c..0b17a12 100644
--- a/src/EngineEntrance.js
+++ b/src/EngineEntrance.js
@@ -62,7 +62,7 @@ export default class MessageEntrance extends Emiter {
   constructor() {
     super();
     //sdk 信息
-    GlobalConfig.sdkVersion = "v2.7.0.20170916";
+    GlobalConfig.sdkVersion = "v2.8.0.20170916";
     loger.warn("sdkVersion:" + GlobalConfig.sdkVersion);
 
     //设置
@@ -257,6 +257,7 @@ export default class MessageEntrance extends Emiter {
     //获取文档图片的完整路径
     this.getDocPDFFullPath = this._getDocPDFFullPath.bind(this); //获取文档的完整路径
     this.getDocFullAddress = this._getDocFullAddress.bind(this); //获取文档资源地址
+    this.hideCurrentDocument=this._hideCurrentDocument.bind(this);//隐藏当前显示的文档
 
     //媒体共享模块
     this.mediaSharedUpload = this._sendMediaSharedUpload.bind(this); //上传
@@ -2295,6 +2296,12 @@ export default class MessageEntrance extends Emiter {
     }
   }
 
+  //隐藏当前显示的文档
+  _hideCurrentDocument(_params){
+    if (_doc_ape) {
+      _doc_ape.hideCurrentDocument(_params);
+    }
+  }
   //文档加入频道成功,同步到MCU服务器上的数据
   docJoinChannelSuccess() {
     loger.log("文档加入频道成功->isHost=", GlobalConfig.isHost, "当前总人数:", GlobalConfig.rosterNumber, "sassDoclength=", GlobalConfig.docListPrepare.length);
diff --git a/src/GlobalConfig.js b/src/GlobalConfig.js
index e4180e3..e59e7ff 100644
--- a/src/GlobalConfig.js
+++ b/src/GlobalConfig.js
@@ -180,7 +180,7 @@ class GlobalConfig {
     let openCounter=0;
     for (let i in this.rosters){
       let item=this.rosters[i];
-      if(item&&(item.openCamera>0||item.openMicrophones>0)){
+      if(item&&item.userRole!=ApeConsts.invisible&&(item.openCamera>0||item.openMicrophones>0)){
         openCounter++;
         //统计当前已经开启摄像头和麦克风的人数,如果当前开启的人数大于等于最大允许的数量就不允许其他人再打开
         if(openCounter>=GlobalConfig.maxMediaChannels){
diff --git a/src/apes/DocApe.js b/src/apes/DocApe.js
index 8c38bce..d8cd1c3 100644
--- a/src/apes/DocApe.js
+++ b/src/apes/DocApe.js
@@ -344,6 +344,22 @@ class DocApe extends Ape {
     GlobalConfig.activeDocCurPage = 1;
 
   }
+  //隐藏文档模块的显示
+  hideCurrentDocument(paramInfo) {
+    loger.log('隐藏文档模块的显示->', paramInfo);
+    if (GlobalConfig.isRecordPlayBack) {
+      return;
+    }
+    //更新切换之前的文档的数据,要显示当前切换的文档,上一个文档需要隐藏
+    let docModel= this.docList[GlobalConfig.activeDocId];
+    if (docModel) {
+        docModel.action = ApeConsts.DOC_ACTION_NORMAL;
+        docModel.visible = false;//设置为不可见
+        docModel.animationStep = 1;//切换文档之后动画步数还原
+       this.updaterDoc(docModel, docModel.itemIdx);
+    }
+  }
+
 
   //切换文档
   documentSwitchDoc(paramInfo) {