精品熟人妻一区二区三区四区不卡-精品爽黄69天堂a-精品水蜜桃久久久久久久-精品丝袜国产自在线拍-精品丝袜国产自在线拍a-精品丝袜国产自在线拍免费看

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

僅僅28行代碼,就能實(shí)現(xiàn)一個(gè)【協(xié)同文檔】

freeflydom
2025年4月14日 10:7 本文熱度 409

協(xié)同文檔

在平時(shí)的開(kāi)發(fā)中,協(xié)同文檔真的幫助到了我們很多,他可以應(yīng)用到很多場(chǎng)景,比如:

  • 需求文檔同步
  • 信息收集
  • 公司內(nèi)部文檔編寫(xiě)

所以現(xiàn)階段協(xié)同文檔也是市面上很火的一種趨勢(shì),比較火的產(chǎn)品有:

  • 企微文檔
  • 飛書(shū)文檔
  • 語(yǔ)雀
  • 等等。。。。

協(xié)同

想要實(shí)現(xiàn)協(xié)同文檔,其實(shí)有一個(gè)最大的痛點(diǎn),那就是 協(xié)同。

通俗點(diǎn)說(shuō)就是:兩個(gè)人同時(shí)編輯同一個(gè)文檔,就會(huì)有沖突,那么這個(gè)沖突應(yīng)該怎么解決?

為了解決這個(gè)問(wèn)題,市面上出現(xiàn)了兩種算法(不是本文重點(diǎn))

  • OT (Operational transformation)
  • CRDT(Conflict-free Replicated Data Type)

這不是本文重點(diǎn),如果不想看可以直接跳到下面的代碼實(shí)戰(zhàn)~

OT

實(shí)現(xiàn)協(xié)同文檔

接下來(lái)開(kāi)始實(shí)現(xiàn)一個(gè)簡(jiǎn)單的協(xié)同文檔?。。?/p>

裝庫(kù)

我們需要先安裝幾個(gè)庫(kù)

npm i yjs y-quill 
      quill quill-cursors 
      y-websocket
  • yjs: 一個(gè)集成 CRDT 算法的同步庫(kù),是此次協(xié)同文檔的核心
  • quill: 一個(gè)富文本編輯器
  • quill-cursors: 一個(gè)quill的插件,用于顯示多個(gè)光標(biāo),因?yàn)槎鄠€(gè)用戶(hù)共同編輯就會(huì)有多個(gè)光標(biāo)
  • y-quill: 可以理解為他能將yjs和quill融合起來(lái),實(shí)現(xiàn)協(xié)同
  • y-websocket: 一個(gè)yjs的庫(kù),作用是將數(shù)據(jù)同步到多個(gè)客戶(hù)端

客戶(hù)端

<div id="app"></div>
import * as Y from 'yjs';
import { QuillBinding } from 'y-quill';
import Quill from 'quill';
import QuillCursors from 'quill-cursors';
import { WebsocketProvider } from 'y-websocket';
import 'quill/dist/quill.snow.css'; // 使用了 snow 主題色
// 使用 cursors 插件
Quill.register('modules/cursors', QuillCursors);
const quill = new Quill(document.querySelector('#app'), {
  modules: {
    cursors: true,
    toolbar: [
      [{ header: [1, 2, false] }],
      ['bold', 'italic', 'underline'],
      ['image', 'code-block'],
    ],
    history: {
      userOnly: true,
    },
  },
  placeholder: '林三心不學(xué)挖掘機(jī)...',
  theme: 'snow',
});
const ydoc = new Y.Doc(); // y 文檔對(duì)象,保存需要共享的數(shù)據(jù)
const ytext = ydoc.getText('quill'); // 創(chuàng)建名為 quill 的 Text 對(duì)象
// 連接到 websocket 服務(wù)端
const provider = new WebsocketProvider('ws://localhost:1234', 'quill-demo-room', ydoc);
// 數(shù)據(jù)模型綁定,再綁上光標(biāo)對(duì)象
const binding = new QuillBinding(ytext, quill, provider.awareness);

服務(wù)端

只需要在終端里運(yùn)行

HOST=localhost PORT=1234 npx y-websocket

效果

現(xiàn)在就可以實(shí)現(xiàn)協(xié)同文檔的效果啦?。。?/p>

?轉(zhuǎn)自https://juejin.cn/post/7297522590683168783


該文章在 2025/4/14 10:19:01 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 精品国产成人国产在线观看 | 91精品日本久久久久久牛牛 | 白丝兔女郎m开腿sm调教室 | 无码av蜜臀aⅴ色欲在线观看 | 亚洲无码码视频在线观看 | 国产日韩欧美综合色视频在线 | 91麻豆精东果 | 日韩精品| 国产成人拍精品免费视频 | 国产亚洲一卡2卡3卡4卡网站 | 亚洲日韩欧美明星在线观看 | 精品国产91乱码一区二区 | 婷婷欧美成人在线 | 亚洲成色av网站 | 黑人又粗又大bbbxxx | 91在线品视觉盛宴国产 | 九一传媒公司制作网站 | 国产精品福利小视频 | 麻豆文化传媒精品1区2区3区 | 精品自拍视频在线 | 国产91色综合 | 亚洲午夜国产精品无码老牛影视 | 97无码人妻视频在线 | 99久无码中文字幕一本久道 | 少妇被躁爽到高潮无码文 | 国产高清一区二区三区人妖 | a在线亚洲男 | 波多野结衣乳巨 | 99精品久 | 99久久精品午夜一区二区 | 日韩精品无码久久久久久 | 中文字幕国产 | 国产成年 | 丝瓜视频涩涩屋色多多色版成人 | 少妇高清一| 97看片 | 亚洲精品无码一区二区三区四虎 | 国产美女白丝袜精品视频 | 日本免费三片在线播放 | 中文字幕亚洲一区 | 91亚洲国产福利在线看 |