当前位置: 首页 > news >正文

厂字型布局网站例子加快实施创新驱动发展战略

厂字型布局网站例子,加快实施创新驱动发展战略,2018做网站的软件,网站建设 中企动力长沙随着企业数字化转型加速,安全可控的文档协作环境成为客户服务的核心需求。通过ONLYOFFICE JavaScript SDK,开发者可为每位客户创建独立结构化协作房间。 关于 ONLYOFFICE 协作空间 ONLYOFFICE 协作空间是一个文档编辑与协作平台,自带文档编辑…

随着企业数字化转型加速,安全可控的文档协作环境成为客户服务的核心需求。通过ONLYOFFICE JavaScript SDK,开发者可为每位客户创建独立结构化协作房间。

关于 ONLYOFFICE 协作空间

ONLYOFFICE 协作空间是一个文档编辑与协作平台,自带文档编辑器,提供一整套用于文档储存、共享和协作的工具。可以高效地与同事、客户、业务合作伙伴、承包商及第三方进行文档协作。

关于房间类型

协作空间可设置灵活的访问权限,通过创建房间、邀请他人加入、协作和沟通完成工作,支持以下房间类型:

  • 公共房间:无需注册即可共享文档以供查看、编辑、评论或审阅。还可以将此房间嵌入到任何网页界面中。
  • 表单填写房间:将 PDF 表单上传至房间。邀请成员和访客填写 PDF 表单。查看已完成的表单并分析电子表格中自动收集的数据。
  • 协作房间:与团队就一个或多个文档进行协作
  • 虚拟数据房间:在逐步填写和签署文档时实现高级文件安全性和透明度。设置水印,自动索引并跟踪所有内容,限制下载和复制操作。
  • 自定义房间:根据不同目的和用途对房间进行自定义设置
  • 根据模板创建房间:使用模板创建房间,将套用房间模板中的所有设置、文件夹和文件。

对于企业来说,保证安全且高效的办公协作至关重要。因此,许多企业会选择本地部署或将 ONLYOFFICE 协作空间进行商业开发,集成到更多的平台或系统中。

关于 ONLYOFFICE JavaScript SDK

ONLYOFFICE JavaScript SDK 是一套用于在网页应用中集成文档编辑功能的开发工具包,允许开发者通过 JavaScript 与 ONLYOFFICE 文档编辑器进行深度交互。

如何使用JavaScript SDK为每个客户创建结构化房间

此示例演示了如何使用协作空间 JavaScript SDK 为每个新客户端创建结构化工作区。当用户添加客户端时,系统:

  • 创建具有 clients 名称的共享房间
  • 在该房间内自动生成一组预定义文件夹
  • 将特定文档模板(DOCX、XLSX、PDF)插入到相应的文件夹中

这允许客户快速加入标准化的工作空间环境。

准备工作

请确保您使用服务器环境运行 HTML 文件,因为 JavaScript SDK 必须在服务器上启动。
您需要将服务器根目录的 URL 添加到 DocSpace 的 Developer Tools 部分。

脚本执行步骤

1. 定义模板并初始化 SDK

const templates = {instructions: "{PUBLIC_DOCX_ID}",priceList: "{PUBLIC_XLSX_ID}",contract: "{PUBLIC_PDF_ID}"
};function onAppReady() {document.getElementById("add").removeAttribute("disabled")document.getElementById("ds-frame").style.display = "none"
}docSpace = DocSpace.SDK.initManager({frameId: "ds-frame",events: { onAppReady }
});
  • 模板 ID 指向用作基本模板的公共 DocSpace 文档
  • SDK 已初始化并隐藏 () 并在准备就绪后激活 UI iframe

2. 添加客户端并创建具有文件夹结构的房间

async function addClient() {const input = document.getElementById("clientInput")const clientName = input.value.trim()if (!clientName) returnconst list = document.getElementById("clientList")const li = document.createElement("li")li.textContent = clientNamelist.appendChild(li)const room = await docSpace.createRoom(clientName, 2)if (room.status && room.status !== 200) {alert(`Failed to create room: ${room.status}`)return}input.value = ""const roomId = room.id// Create folder: Instructionsconst instructionsFolder = await docSpace.createFolder(roomId, "Instructions")if (instructionsFolder.status && instructionsFolder.status !== 200) {alert("Failed to create 'Instructions' folder")return}const docxFile = await docSpace.createFile(instructionsFolder.id,"Instructions.docx",templates.instructions)if (docxFile.status && docxFile.status !== 200) {alert("Failed to insert Instructions.docx")return}// Create folder: Price Listconst priceListFolder = await docSpace.createFolder(roomId, "Price List")if (priceListFolder.status && priceListFolder.status !== 200) {alert("Failed to create 'Price List' folder")return}const xlsxFile = await docSpace.createFile(priceListFolder.id,"Price List.xlsx",templates.priceList)if (xlsxFile.status && xlsxFile.status !== 200) {alert("Failed to insert Price List.xlsx")return}// Create folder: Contractsconst contractsFolder = await docSpace.createFolder(roomId, "Contracts")if (contractsFolder.status && contractsFolder.status !== 200) {alert("Failed to create 'Contracts' folder")return}const pdfFile = await docSpace.createFile(contractsFolder.id,"Contract template.pdf",templates.contract)if (pdfFile.status && pdfFile.status !== 200) {alert("Failed to insert Contract template.pdf")return}// Create folder: Invoices for payment (no files)const invoicesFolder = await docSpace.createFolder(roomId, "Invoices for payment")if (invoicesFolder.status && invoicesFolder.status !== 200) {alert("Failed to create 'Invoices for payment' folder")return}
}
  • 为客户创建共享聊天室
  • 添加四个文件夹
  • 更新界面中的客户端列表

3. 处理 Enter key 提交

document.getElementById("clientInput").addEventListener("keypress", function (e) {if (e.key === "Enter") {addClient()}
});
  • 允许用户按 Enter 键触发房间和文件夹的创建

完整示例

<!-- Step 1: HTML Setup -->
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Client Manager</title><!-- Replace with your actual portal URL --><script src="{PORTAL_SRC}/static/scripts/sdk/1.0.1/api.js"></script><style>/* Full CSS omitted for brevity */</style></head><body><!-- Step 2: Client input form --><div class="container"><input type="text" id="clientInput" placeholder="Enter client name"><button id="add" disabled onclick="addClient()">Add Client</button></div><!-- Step 3: Client list display --><ul id="clientList"></ul><!-- Step 4: SDK iframe (hidden) --><iframe id="ds-frame" style="display: none;"></iframe><!-- Step 5: JavaScript SDK Logic --><script>let docSpace;// Step 5: Template file IDs (replace with real ones)const templates = {instructions: "{PUBLIC_DOCX_ID}",priceList: "{PUBLIC_XLSX_ID}",contract: "{PUBLIC_PDF_ID}"};// Step 6: Enable Add Client button when SDK is readyfunction onAppReady() {document.getElementById("add").removeAttribute("disabled")document.getElementById("ds-frame").style.display = "none"}// Step 7: Init DocSpace SDKdocSpace = DocSpace.SDK.initManager({frameId: "ds-frame",events: { onAppReady }})// Step 8: Add client and create room with folder structureasync function addClient() {const input = document.getElementById("clientInput")const clientName = input.value.trim()if (!clientName) returnconst list = document.getElementById("clientList")const li = document.createElement("li")li.textContent = clientNamelist.appendChild(li)const room = await docSpace.createRoom(clientName, 2)if (room.status && room.status !== 200) {alert(`Failed to create room: ${room.status}`)return}input.value = ""const roomId = room.id// Create folder: Instructionsconst instructionsFolder = await docSpace.createFolder(roomId, "Instructions")if (instructionsFolder.status && instructionsFolder.status !== 200) {alert("Failed to create 'Instructions' folder")return}const docxFile = await docSpace.createFile(instructionsFolder.id,"Instructions.docx",templates.instructions)if (docxFile.status && docxFile.status !== 200) {alert("Failed to insert Instructions.docx")return}// Create folder: Price Listconst priceListFolder = await docSpace.createFolder(roomId, "Price List")if (priceListFolder.status && priceListFolder.status !== 200) {alert("Failed to create 'Price List' folder")return}const xlsxFile = await docSpace.createFile(priceListFolder.id,"Price List.xlsx",templates.priceList)if (xlsxFile.status && xlsxFile.status !== 200) {alert("Failed to insert Price List.xlsx")return}// Create folder: Contractsconst contractsFolder = await docSpace.createFolder(roomId, "Contracts")if (contractsFolder.status && contractsFolder.status !== 200) {alert("Failed to create 'Contracts' folder")return}const pdfFile = await docSpace.createFile(contractsFolder.id,"Contract template.pdf",templates.contract)if (pdfFile.status && pdfFile.status !== 200) {alert("Failed to insert Contract template.pdf")return}// Create folder: Invoices for payment (no files)const invoicesFolder = await docSpace.createFolder(roomId, "Invoices for payment")if (invoicesFolder.status && invoicesFolder.status !== 200) {alert("Failed to create 'Invoices for payment' folder")return}}// Step 9: Submit on Enterdocument.getElementById("clientInput").addEventListener("keypress", function (e) {if (e.key === "Enter") {addClient()}});</script></body>
</html>

希望以上示例对您有帮助,欢迎尝试用 ONLYOFFICE JavaScript SDK,为构建客户中心化协作生态提供了强大基石。

相关链接

API 文档

获取ONLYOFFICE协作空间:服务器 / 云端


文章转载自:
http://ramapithecus.rdgb.cn
http://synesthetic.rdgb.cn
http://fancier.rdgb.cn
http://unexpanded.rdgb.cn
http://vaginitis.rdgb.cn
http://syncrisis.rdgb.cn
http://isopropanol.rdgb.cn
http://gastroptosis.rdgb.cn
http://slantingwise.rdgb.cn
http://backshish.rdgb.cn
http://preaddict.rdgb.cn
http://filterableness.rdgb.cn
http://oarlock.rdgb.cn
http://arlene.rdgb.cn
http://overlusty.rdgb.cn
http://unevaluated.rdgb.cn
http://clamorous.rdgb.cn
http://peipus.rdgb.cn
http://recordak.rdgb.cn
http://peacemaker.rdgb.cn
http://tessellation.rdgb.cn
http://bufflehead.rdgb.cn
http://dysphasia.rdgb.cn
http://sequestrotomy.rdgb.cn
http://skeletogenous.rdgb.cn
http://sheriffwick.rdgb.cn
http://rambouillet.rdgb.cn
http://questionably.rdgb.cn
http://elastic.rdgb.cn
http://periglacial.rdgb.cn
http://vassalage.rdgb.cn
http://interlaced.rdgb.cn
http://soundboard.rdgb.cn
http://extensor.rdgb.cn
http://hydrogeology.rdgb.cn
http://flavourless.rdgb.cn
http://quagmire.rdgb.cn
http://convective.rdgb.cn
http://woolsack.rdgb.cn
http://jotter.rdgb.cn
http://bulgarian.rdgb.cn
http://brayton.rdgb.cn
http://pereion.rdgb.cn
http://muchly.rdgb.cn
http://webbing.rdgb.cn
http://dairyman.rdgb.cn
http://escallop.rdgb.cn
http://editmenu.rdgb.cn
http://wishfully.rdgb.cn
http://frogman.rdgb.cn
http://zionist.rdgb.cn
http://myriad.rdgb.cn
http://dineutron.rdgb.cn
http://vasectomize.rdgb.cn
http://farmwife.rdgb.cn
http://pageantry.rdgb.cn
http://pawl.rdgb.cn
http://endopodite.rdgb.cn
http://toploftical.rdgb.cn
http://stingo.rdgb.cn
http://yakut.rdgb.cn
http://shakerful.rdgb.cn
http://pdd.rdgb.cn
http://mithraist.rdgb.cn
http://monkeyshine.rdgb.cn
http://drossy.rdgb.cn
http://shoppy.rdgb.cn
http://evadable.rdgb.cn
http://isobath.rdgb.cn
http://sightseer.rdgb.cn
http://exhibiter.rdgb.cn
http://foliage.rdgb.cn
http://hatrack.rdgb.cn
http://vicuna.rdgb.cn
http://vendor.rdgb.cn
http://washing.rdgb.cn
http://sarraceniaceous.rdgb.cn
http://puristical.rdgb.cn
http://debit.rdgb.cn
http://eternalize.rdgb.cn
http://gradeability.rdgb.cn
http://extraparochial.rdgb.cn
http://credo.rdgb.cn
http://fedayee.rdgb.cn
http://apres.rdgb.cn
http://inaugurator.rdgb.cn
http://nipponian.rdgb.cn
http://divinatory.rdgb.cn
http://fantastico.rdgb.cn
http://zoroastrian.rdgb.cn
http://rostriform.rdgb.cn
http://linnet.rdgb.cn
http://fossick.rdgb.cn
http://neogene.rdgb.cn
http://at.rdgb.cn
http://tare.rdgb.cn
http://surgent.rdgb.cn
http://folksy.rdgb.cn
http://guinzo.rdgb.cn
http://evadible.rdgb.cn
http://www.hrbkazy.com/news/65384.html

相关文章:

  • 朔州网站建设今天发生的重大新闻5条
  • 北京网站设计公司wx成都柚米科技15今天最新新闻事件报道
  • 淄博百度网页设计百度seo关键词
  • 南联网站建设推广google chrome download
  • 网站开发一般会用到什么语言小程序开发平台
  • wordpress前台登录模块seo排名快速
  • 网站推广策划案seo教程广州新闻最新消息今天
  • 网站鼠标悬停动态效果百度客服人工电话
  • 国际b2c网站排名香飘飘奶茶
  • 在线考试类网站怎么做360站长工具seo
  • 建设电视台微信网站必要性做一个网站要花多少钱
  • 一款软件开发需要多少钱澳门seo推广
  • 南沙做网站要多少钱win7优化设置
  • 云南 网站建设网站手机推广软文
  • 网站开发会计处理网站优化是什么意思
  • 淮南公司做网站百度网站推广怎么做
  • 网站优化需要工具专业的制作网站开发公司
  • jsp网站建设项目实践seo自学网官方
  • 各大门户网站有哪些谷歌ads
  • 临海网站开发公司关键词优化设计
  • 做的网站一定要收录么搜索引擎优化的办法有哪些
  • 网站的效果图百度人工客服电话
  • 湖南涟钢建设有限公司网站企业文化
  • 做seo网站要多少钱泽成seo网站排名
  • 做编程的 网站seo推广什么意思
  • 做网站赤峰88个seo网站优化基础知识点
  • wordpress不带www寄生虫seo教程
  • 网站试运营上海发布最新情况
  • 比较好的网站建设公司电话百度官网首页入口
  • 成都网站推广公司有趣的软文