Skip to content

Commit 641f2e2

Browse files
committed
chore: 一些优化
1 parent 4a16902 commit 641f2e2

8 files changed

Lines changed: 26 additions & 21 deletions

File tree

dist/index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/preview.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@slimkit/plus-editor",
3-
"version": "1.2.3",
3+
"version": "1.2.4",
44
"description": "rich-text editor for plus",
55
"main": "dist/main.bundle.js",
66
"repository": "git@github.com:mutoe/plus-editor.git",

src/blots/image.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,14 @@ export class ImageBlot extends BlockEmbed {
4747
} else {
4848
ImageBlot.uploadStatus[id] = {}
4949
}
50+
} else {
51+
setTimeout(() => {
52+
if (!this.prev) return
53+
const pNode = this.prev.domNode
54+
if (pNode.tagName === 'P' && !pNode.innerText.trim()) {
55+
this.prev.remove() // 移除图片前面的空行
56+
}
57+
}, 0)
5058
}
5159

5260
if (img && src) {
@@ -319,4 +327,4 @@ export class ImageBlot extends BlockEmbed {
319327
}
320328
}
321329

322-
Quill.register(ImageBlot)
330+
Quill.register(ImageBlot, true)

src/blots/video.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,4 +297,4 @@ export class VideoBlot extends BlockEmbed {
297297
}
298298
}
299299

300-
Quill.register(VideoBlot)
300+
Quill.register(VideoBlot, true)

src/common.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,6 @@ export function fixVideoSize() {
7171
video.removeEventListener('playing', onPalyVideo)
7272
video.addEventListener('playing', onPalyVideo)
7373

74-
console.log(video.shadowRoot)
75-
7674
const viewWidth = getViewWidth()
7775
if (!viewWidth) return
7876

src/index.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -69,22 +69,16 @@ const quill = new Quill('#editor', {
6969
[
7070
'IMG',
7171
(node: HTMLImageElement, delta: Delta): Delta => {
72-
const src = node.getAttribute('src')
73-
74-
delta.forEach((op: any) => {
75-
if (op.insert && op.insert.image === src) {
76-
op.insert = { image: ImageBlot.value(node) }
77-
}
72+
return new Delta().insert({
73+
image: ImageBlot.value(node),
7874
})
79-
80-
return delta
8175
},
8276
],
8377

8478
[
8579
'VIDEO',
8680
(node: HTMLVideoElement, delta: Delta): Delta => {
87-
return delta.delete(delta.length()).insert({
81+
return new Delta().insert({
8882
video: VideoBlot.value(node),
8983
})
9084
},
@@ -97,9 +91,7 @@ const quill = new Quill('#editor', {
9791
const ops: Delta['ops'] = []
9892
delta.ops!.forEach(op => {
9993
if (op.insert && typeof op.insert === 'string') {
100-
ops.push({
101-
insert: op.insert,
102-
})
94+
ops.push({ insert: op.insert })
10395
}
10496
})
10597
delta.ops = ops
@@ -113,11 +105,17 @@ const quill = new Quill('#editor', {
113105

114106
/** 设置编辑器内容 */
115107
window.setContentReceiver = data => {
116-
quill.clipboard.dangerouslyPasteHTML(data)
108+
quill.clipboard.dangerouslyPasteHTML(data, 'silent')
117109

118110
setTimeout(fixSize, 0)
119111
}
120112

113+
setTimeout(() => {
114+
window.setContentReceiver(
115+
'<p>截至到2017年12月,我国的网民规模已经达到了7.72亿,而手机网民规模也达7.53亿,2017年网络社交娱乐类应用用户规模均保持了高速增长,同时电子商务、网络游戏、网络广告收入水平增速均在20%以上,发展势头良好。</p><p>如此高速的发展,这意味着,移动+社交的时代已经开启。社交软件已经成为了人们生活中密不可分的必需品,社交网站平台不仅仅是沟通、互动、娱乐,甚至能帮助商务交易。</p><img data-width="550" data-height="245" src="https://thinksns.zhibocloud.cn/storage/public:MjAxOS8xMS8xNC9sOHRGYUdPOHZGYkhPc044dGt3Nld4QTNUMW5IYzFFSFVJdE1XNlVIRGpMT3h1V2VYZ0pWWHVOMFZrdWZiSlgyLmpwZWc=" data-src-node="public:2019/11/14/l8tFaGO8vFbHOsN8tkw6WxA3T1nHc1EHUItMW6UHDjLOxuWeXgJVXuN0VkufbJX2.jpeg"><p>如何快速搭建一个社交网站平台?也成为企业增加用户粘性、提高商务交易至关重要的一步。而ThinkSNS作为社交软件定制开发服务供应商先驱,将以自身携带的优势,引领这一社交时代的发展。社交系统ThinkSNS拥有动态、圈子、资讯、直播、商城、IM即时聊天、频道、音乐、活动、问答、投票、打赏等50余项功能,可根据需求组合,提供源码,能够快速定制属于自己的社交网站平台。同时社交系统ThinkSNS拥有PC端、手机H5端、Android 端、iOS端等多种平台,全新底层架构,稳定性能,保障软件快速上线和运营。</p><img data-width="1405" data-height="597" src="https://thinksns.zhibocloud.cn/storage/public:MjAxOS8xMS8xNC8zeDFLWjJBTEJaOUhaSGFDbmlwWjlTYkdBNHZzWVBKdnU0YUg1YXEyQTlYZFhUZENvYUc5YUtLenJjRldJTU5HLnBuZw==" data-src-node="public:2019/11/14/3x1KZ2ALBZ9HZHaCnipZ9SbGA4vsYPJvu4aH5aq2A9XdXTdCoaG9aKKzrcFWIMNG.png"><p>社交系统ThinkSNS可以用于哪些行业?应该用在什么场景呢?ThinkSNS并不仅仅限制于社交;众多的功能扩展让你的社交网站平台如虎添翼。接下来列举一下可以用于哪些行业,我觉得你可以根据自己的行业和面向的用户,来考虑怎么组合。</p><p>【教育行业】 教育o2o 根据知名教育机构的业务需求退推出的微教务、微班级、微网盘、微课堂、等模式,形成线下面授+线上服务的闭环。 社区化 依靠活动,问答,消息通知等社区模式更好的服务客户,成为老师家长学生的沟通纽带。 移动化 学生和家长通过手机随时收到课程,作业提醒等教育信息,还可以手机观看微博,移动时代更便捷。 云端化 支持阿里云SAE等云端部署,同时支持将站内视频,图片,附储存到云端,数据更安全,系统运行更高效。</p><p>【新媒体行业】 新闻模块 简单易用的CMS功能,支持多种格式文章编辑及文章推送 专题模块 相同优质内容聚合形成专题,持续深入聚焦专类信息投稿 用户能迅速、快捷的发表自己的观点、想法 社区 信息快速传递发酵的平台,也是用户持续跟踪新闻线索的工具</p><p>【医疗行业】 品牌服务 基于微信公众帐号开发的品牌系统,具有微活动、微学院、微客服、微会员等模块,通过线上的品牌社区提升用户对品牌的认知 患者社区 基于微信公众帐号开发的患者社区系统,具有用户交流、患者FM、专家答疑、自助查询等模块,提升了用户的黏度和归属感医生社区 基于微信公众号开发的医生社区系统,具有医学资讯、名医电台、在线学习、病历分析等模块,医生可在线上自主学习医疗会议 基于微信帐号开发的医疗会议系统,具有签到、大屏幕、问卷调查、投票等功能,通过数据可以看到参会者参与的效果</p><p>【粉丝营销社区】社交·分享 发烧用户聚集一起互动、分享,共同的兴趣形成更多的话题、圈子,增大品牌效应和附加值 互动·参与 粉丝通过线下活动、线上帖子讨论表达自己的观点,让更多的用户参与进来,打造品牌热度 荣誉·认证 品牌利用勋章、认证等机制奖励活跃用户,让用户与品牌紧密联系在一起 积分·换礼 积分、换礼等实质奖励,带动用户积极性吸引用户参与进来,最终达到品牌效应</p><p>更多行业案例,请参见:http://www.thinksns.com/case.html</p><p>目前,ThinkSNS作为华为、联想、奔驰,远景能源,中国大学生在线,蓝鲸传媒等著名企业软件技术指定合作方,深得业界口碑拥趸。</p><p>社交软件开发供应商ThinkSNS官网:http://www.thinksns.com/</p>',
116+
)
117+
}, 3000)
118+
121119
ImageBlot.quill = quill
122120

123121
ImageBlot.eventEmitter.on('remove', data => {
@@ -307,6 +305,8 @@ window.addEventListener('resize', () => {
307305
if (range && quill.hasFocus()) {
308306
quill.setSelection(range)
309307
}
308+
309+
fixSize()
310310
})
311311

312312
export default quill

src/uploader.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,6 @@ async function uploadRemoteImage(params: {
304304
const { blob, file, buff } = await new Promise((resolve, reject) => {
305305
const img = document.createElement('img')
306306
img.addEventListener('load', () => {
307-
console.log('here')
308307
const canvas = document.createElement('canvas')
309308
canvas.setAttribute('width', `${params.width}`)
310309
canvas.setAttribute('height', `${params.height}`)

0 commit comments

Comments
 (0)