artalk 2.6.3 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Artalk.css +1 -1
- package/dist/Artalk.es.js +7673 -7330
- package/dist/Artalk.iife.js +1 -1
- package/dist/Artalk.js +1 -1
- package/dist/ArtalkLite.css +1 -1
- package/dist/ArtalkLite.es.js +5304 -4961
- package/dist/ArtalkLite.iife.js +1 -1
- package/dist/ArtalkLite.js +1 -1
- package/dist/src/api/{api-base.d.ts → _base.d.ts} +3 -7
- package/dist/src/api/_options.d.ts +19 -0
- package/dist/src/api/{request.d.ts → _request.d.ts} +3 -3
- package/dist/src/api/admin.d.ts +1 -1
- package/dist/src/api/captcha.d.ts +1 -1
- package/dist/src/api/comment.d.ts +2 -2
- package/dist/src/api/index.d.ts +2 -4
- package/dist/src/api/page.d.ts +3 -3
- package/dist/src/api/site.d.ts +2 -2
- package/dist/src/api/system.d.ts +13 -3
- package/dist/src/api/upload.d.ts +1 -1
- package/dist/src/api/user.d.ts +2 -2
- package/dist/src/artalk.d.ts +14 -37
- package/dist/src/comment/actions.d.ts +1 -1
- package/dist/src/comment/comment.d.ts +3 -4
- package/dist/src/comment/render.d.ts +21 -3
- package/dist/src/comment/renders/actions.d.ts +2 -2
- package/dist/src/comment/renders/avatar.d.ts +2 -2
- package/dist/src/comment/renders/content.d.ts +2 -2
- package/dist/src/comment/renders/header.d.ts +2 -2
- package/dist/src/comment/renders/index.d.ts +2 -2
- package/dist/src/comment/renders/pending.d.ts +2 -2
- package/dist/src/comment/renders/reply-at.d.ts +2 -2
- package/dist/src/comment/renders/reply-to.d.ts +2 -2
- package/dist/src/components/action-btn.d.ts +3 -5
- package/dist/src/{lib → components}/checker/admin.d.ts +1 -1
- package/dist/src/{lib → components}/checker/captcha-renders.d.ts +1 -1
- package/dist/src/{lib → components}/checker/captcha.d.ts +1 -1
- package/dist/src/{lib → components}/checker/index.d.ts +10 -7
- package/dist/src/components/dark-mode.d.ts +2 -0
- package/dist/src/components/dialog.d.ts +1 -3
- package/dist/src/components/error-dialog.d.ts +8 -0
- package/dist/src/components/pagination.d.ts +4 -3
- package/dist/src/components/read-more-btn.d.ts +3 -3
- package/dist/src/config.d.ts +24 -8
- package/dist/src/context.d.ts +16 -35
- package/dist/src/data.d.ts +27 -0
- package/dist/src/defaults.d.ts +1 -1
- package/dist/src/editor/editor.d.ts +14 -59
- package/dist/src/editor/state.d.ts +20 -0
- package/dist/src/i18n/zh-CN.d.ts +1 -1
- package/dist/src/layer/index.d.ts +4 -3
- package/dist/src/layer/layer-manager.d.ts +9 -0
- package/dist/src/layer/layer.d.ts +8 -28
- package/dist/src/layer/scrollbar-helper.d.ts +5 -0
- package/dist/src/layer/sidebar-layer.d.ts +6 -6
- package/dist/src/layer/wrap.d.ts +13 -0
- package/dist/src/lib/component.d.ts +3 -8
- package/dist/src/lib/event-manager.d.ts +28 -0
- package/dist/src/lib/highlight.d.ts +1 -0
- package/dist/src/lib/marked-renderer.d.ts +4 -0
- package/dist/src/lib/marked.d.ts +4 -2
- package/dist/src/lib/sanitizer.d.ts +1 -0
- package/dist/src/lib/ui.d.ts +3 -2
- package/dist/src/lib/user.d.ts +8 -5
- package/dist/src/lib/utils.d.ts +11 -5
- package/dist/src/list/comment.d.ts +3 -0
- package/dist/src/list/layout.d.ts +23 -0
- package/dist/src/list/list.d.ts +13 -25
- package/dist/src/list/{list-nest.d.ts → nest.d.ts} +1 -1
- package/dist/src/list/page.d.ts +2 -0
- package/dist/src/list/paginator/index.d.ts +22 -7
- package/dist/src/list/paginator/read-more.d.ts +18 -0
- package/dist/src/list/paginator/up-down.d.ts +14 -0
- package/dist/src/main.d.ts +2 -0
- package/dist/src/plugins/admin-only-elem.d.ts +2 -0
- package/dist/src/plugins/conf-remoter.d.ts +2 -0
- package/dist/src/plugins/dark-mode.d.ts +2 -0
- package/dist/src/plugins/editor/_kit.d.ts +27 -0
- package/dist/src/plugins/editor/_plug.d.ts +29 -0
- package/dist/src/plugins/editor/_sample.d.ts +5 -0
- package/dist/src/plugins/editor/closable.d.ts +7 -0
- package/dist/src/{editor/plugs/emoticons-plug.d.ts → plugins/editor/emoticons.d.ts} +10 -16
- package/dist/src/plugins/editor/header-event.d.ts +6 -0
- package/dist/src/plugins/editor/header-link.d.ts +6 -0
- package/dist/src/plugins/editor/header-user.d.ts +16 -0
- package/dist/src/plugins/editor/index.d.ts +6 -0
- package/dist/src/plugins/editor/local-storage.d.ts +6 -0
- package/dist/src/plugins/editor/mover.d.ts +6 -0
- package/dist/src/plugins/editor/preview.d.ts +7 -0
- package/dist/src/plugins/editor/state-edit.d.ts +11 -0
- package/dist/src/plugins/editor/state-reply.d.ts +8 -0
- package/dist/src/plugins/editor/submit-add.d.ts +18 -0
- package/dist/src/plugins/editor/submit-btn.d.ts +5 -0
- package/dist/src/plugins/editor/submit.d.ts +17 -0
- package/dist/src/plugins/editor/textarea.d.ts +8 -0
- package/dist/src/plugins/editor/upload.d.ts +9 -0
- package/dist/src/plugins/editor-kit.d.ts +42 -0
- package/dist/src/plugins/index.d.ts +2 -0
- package/dist/src/plugins/list/copyright.d.ts +2 -0
- package/dist/src/plugins/list/count.d.ts +2 -0
- package/dist/src/plugins/list/dropdown.d.ts +2 -0
- package/dist/src/plugins/list/error-dialog.d.ts +2 -0
- package/dist/src/plugins/list/fetch.d.ts +2 -0
- package/dist/src/plugins/list/goto-first.d.ts +3 -0
- package/dist/src/plugins/list/goto.d.ts +2 -0
- package/dist/src/plugins/list/index.d.ts +3 -0
- package/dist/src/plugins/list/loading.d.ts +2 -0
- package/dist/src/plugins/list/no-comment.d.ts +2 -0
- package/dist/src/plugins/list/reach-bottom.d.ts +2 -0
- package/dist/src/plugins/list/sidebar-btn.d.ts +2 -0
- package/dist/src/plugins/list/time-ticking.d.ts +3 -0
- package/dist/src/plugins/list/unread-badge.d.ts +2 -0
- package/dist/src/plugins/list/unread.d.ts +2 -0
- package/dist/src/plugins/list/with-editor.d.ts +2 -0
- package/dist/src/plugins/markdown.d.ts +2 -0
- package/dist/src/plugins/stat.d.ts +13 -0
- package/dist/src/plugins/version-check.d.ts +2 -0
- package/dist/src/service.d.ts +19 -23
- package/dist/tests/e2e/comment-add.spec.d.ts +1 -0
- package/dist/types/config.d.ts +110 -0
- package/dist/types/context.d.ts +56 -136
- package/dist/types/data.d.ts +194 -0
- package/dist/types/editor.d.ts +76 -0
- package/dist/types/event.d.ts +36 -25
- package/dist/types/index.d.ts +7 -0
- package/dist/types/plugin.d.ts +2 -0
- package/dist/types/sidebar.d.ts +3 -0
- package/package.json +5 -2
- package/src/api/_base.ts +18 -0
- package/src/api/_options.ts +25 -0
- package/src/api/{request.ts → _request.ts} +19 -18
- package/src/api/admin.ts +1 -1
- package/src/api/captcha.ts +1 -1
- package/src/api/comment.ts +4 -4
- package/src/api/index.ts +3 -12
- package/src/api/page.ts +5 -5
- package/src/api/site.ts +2 -2
- package/src/api/system.ts +19 -7
- package/src/api/upload.ts +3 -3
- package/src/api/user.ts +3 -3
- package/src/artalk.ts +49 -97
- package/src/comment/actions.ts +1 -4
- package/src/comment/comment.ts +9 -6
- package/src/comment/render.ts +27 -5
- package/src/comment/renders/actions.ts +45 -45
- package/src/comment/renders/avatar.ts +7 -7
- package/src/comment/renders/content.ts +18 -18
- package/src/comment/renders/header.ts +13 -13
- package/src/comment/renders/index.ts +3 -3
- package/src/comment/renders/pending.ts +5 -5
- package/src/comment/renders/reply-at.ts +8 -8
- package/src/comment/renders/reply-to.ts +13 -13
- package/src/components/action-btn.ts +11 -13
- package/src/{lib → components}/checker/admin.ts +6 -6
- package/src/{lib → components}/checker/captcha-renders.ts +7 -6
- package/src/{lib → components}/checker/captcha.ts +1 -1
- package/src/{lib → components}/checker/index.ts +21 -26
- package/src/components/dark-mode.ts +30 -0
- package/src/components/dialog.ts +4 -9
- package/src/components/error-dialog.ts +35 -0
- package/src/components/pagination.ts +10 -6
- package/src/components/read-more-btn.ts +7 -7
- package/src/config.ts +60 -6
- package/src/context.ts +39 -144
- package/src/data.ts +110 -0
- package/src/defaults.ts +1 -1
- package/src/editor/editor.ts +41 -146
- package/src/editor/state.ts +52 -0
- package/src/i18n/zh-CN.ts +1 -1
- package/src/layer/index.ts +4 -4
- package/src/layer/layer-manager.ts +32 -0
- package/src/layer/layer.ts +20 -144
- package/src/layer/scrollbar-helper.ts +24 -0
- package/src/layer/sidebar-layer.ts +74 -64
- package/src/layer/wrap.ts +77 -0
- package/src/lib/component.ts +4 -11
- package/src/lib/detect.ts +1 -1
- package/src/lib/event-manager.ts +47 -0
- package/src/lib/highlight.ts +5 -0
- package/src/lib/marked-renderer.ts +32 -0
- package/src/lib/marked.ts +43 -104
- package/src/lib/sanitizer.ts +57 -0
- package/src/lib/ui.ts +22 -15
- package/src/lib/user.ts +21 -16
- package/src/lib/utils.ts +29 -18
- package/src/list/comment.ts +20 -0
- package/src/list/layout.ts +120 -0
- package/src/list/list.html +3 -1
- package/src/list/list.ts +56 -200
- package/src/list/{list-nest.ts → nest.ts} +1 -1
- package/src/list/page.ts +97 -0
- package/src/list/paginator/index.ts +20 -8
- package/src/list/paginator/read-more.ts +67 -0
- package/src/list/paginator/up-down.ts +51 -0
- package/src/main.ts +2 -0
- package/src/plugins/admin-only-elem.ts +40 -0
- package/src/plugins/conf-remoter.ts +54 -0
- package/src/plugins/dark-mode.ts +12 -0
- package/src/plugins/editor/_kit.ts +57 -0
- package/src/plugins/editor/_plug.ts +60 -0
- package/src/plugins/editor/_sample.ts +8 -0
- package/src/plugins/editor/closable.ts +44 -0
- package/src/{editor/plugs/emoticons-plug.ts → plugins/editor/emoticons.ts} +51 -52
- package/src/plugins/editor/header-event.ts +35 -0
- package/src/plugins/editor/header-link.ts +31 -0
- package/src/plugins/editor/header-user.ts +98 -0
- package/src/plugins/editor/index.ts +40 -0
- package/src/plugins/editor/local-storage.ts +36 -0
- package/src/plugins/editor/mover.ts +29 -0
- package/src/plugins/editor/preview.ts +41 -0
- package/src/plugins/editor/state-edit.ts +116 -0
- package/src/plugins/editor/state-reply.ts +91 -0
- package/src/plugins/editor/submit-add.ts +33 -0
- package/src/plugins/editor/submit-btn.ts +25 -0
- package/src/plugins/editor/submit.ts +73 -0
- package/src/plugins/editor/textarea.ts +55 -0
- package/src/plugins/editor/upload.ts +145 -0
- package/src/plugins/editor-kit.ts +161 -0
- package/src/plugins/index.ts +16 -0
- package/src/plugins/list/copyright.ts +16 -0
- package/src/plugins/list/count.ts +31 -0
- package/src/plugins/list/dropdown.ts +95 -0
- package/src/plugins/list/error-dialog.ts +22 -0
- package/src/plugins/list/fetch.ts +64 -0
- package/src/plugins/list/goto-first.ts +23 -0
- package/src/plugins/list/goto.ts +72 -0
- package/src/plugins/list/index.ts +25 -0
- package/src/plugins/list/loading.ts +17 -0
- package/src/plugins/list/no-comment.ts +25 -0
- package/src/plugins/list/reach-bottom.ts +46 -0
- package/src/plugins/list/sidebar-btn.ts +39 -0
- package/src/plugins/list/time-ticking.ts +22 -0
- package/src/plugins/list/unread-badge.ts +26 -0
- package/src/plugins/list/unread.ts +38 -0
- package/src/plugins/list/with-editor.ts +59 -0
- package/src/plugins/markdown.ts +10 -0
- package/src/plugins/stat.ts +79 -0
- package/src/plugins/version-check.ts +37 -0
- package/src/service.ts +34 -61
- package/src/style/comment.scss +5 -7
- package/src/style/editor.scss +5 -0
- package/src/style/list.scss +2 -7
- package/types/{artalk-config.d.ts → config.ts} +16 -2
- package/types/context.ts +84 -0
- package/{dist/types/artalk-data.d.ts → types/data.ts} +41 -0
- package/types/editor.ts +95 -0
- package/types/event.ts +40 -0
- package/types/index.ts +7 -0
- package/types/plugin.ts +3 -0
- package/types/sidebar.ts +3 -0
- package/dist/src/comment/render-ctx.d.ts +0 -23
- package/dist/src/editor/edit-mode.d.ts +0 -9
- package/dist/src/editor/funcs.d.ts +0 -2
- package/dist/src/editor/index.d.ts +0 -2
- package/dist/src/editor/mover.d.ts +0 -8
- package/dist/src/editor/plug-manager.d.ts +0 -17
- package/dist/src/editor/plugs/editor-plug.d.ts +0 -38
- package/dist/src/editor/plugs/header-input-plug.d.ts +0 -13
- package/dist/src/editor/plugs/preview-plug.d.ts +0 -10
- package/dist/src/editor/plugs/upload-plug.d.ts +0 -10
- package/dist/src/editor/reply.d.ts +0 -9
- package/dist/src/editor/submit.d.ts +0 -16
- package/dist/src/lib/dark-mode.d.ts +0 -4
- package/dist/src/lib/stat.d.ts +0 -15
- package/dist/src/list/index.d.ts +0 -2
- package/dist/src/list/list-lite.d.ts +0 -77
- package/dist/src/list/list-ui.d.ts +0 -16
- package/dist/src/list/paginator/adaptors/index.d.ts +0 -12
- package/dist/src/list/paginator/adaptors/pagination.d.ts +0 -9
- package/dist/src/list/paginator/adaptors/read-more.d.ts +0 -10
- package/dist/src/list/paginator/holder.d.ts +0 -16
- package/dist/types/artalk-config.d.ts +0 -139
- package/dist/types/plug.d.ts +0 -4
- package/src/api/api-base.ts +0 -27
- package/src/comment/render-ctx.ts +0 -30
- package/src/editor/edit-mode.ts +0 -103
- package/src/editor/funcs.ts +0 -97
- package/src/editor/index.ts +0 -3
- package/src/editor/mover.ts +0 -43
- package/src/editor/plug-manager.ts +0 -172
- package/src/editor/plugs/editor-plug.ts +0 -69
- package/src/editor/plugs/header-input-plug.ts +0 -79
- package/src/editor/plugs/preview-plug.ts +0 -44
- package/src/editor/plugs/upload-plug.ts +0 -122
- package/src/editor/reply.ts +0 -62
- package/src/editor/submit.ts +0 -99
- package/src/lib/dark-mode.ts +0 -48
- package/src/lib/stat.ts +0 -71
- package/src/list/index.ts +0 -3
- package/src/list/list-lite.ts +0 -424
- package/src/list/list-ui.ts +0 -137
- package/src/list/paginator/adaptors/index.ts +0 -21
- package/src/list/paginator/adaptors/pagination.ts +0 -42
- package/src/list/paginator/adaptors/read-more.ts +0 -56
- package/src/list/paginator/holder.ts +0 -56
- package/types/artalk-data.d.ts +0 -230
- package/types/context.d.ts +0 -142
- package/types/event.d.ts +0 -28
- package/types/plug.d.ts +0 -4
- /package/src/{editor/plugs/emoticons-plug.scss → plugins/editor/emoticons.scss} +0 -0
- /package/src/{editor/plugs/preview-plug.scss → plugins/editor/preview.scss} +0 -0
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import ReadMoreBtn from '@/components/read-more-btn'
|
|
2
|
-
import $t from '@/i18n'
|
|
3
|
-
import * as Ui from '@/lib/ui'
|
|
4
|
-
import { IPgAdaptor } from '.'
|
|
5
|
-
|
|
6
|
-
interface IReadMoreAdaptor extends IPgAdaptor<ReadMoreBtn> {
|
|
7
|
-
autoLoadScrollEvent?: () => void
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* 阅读更多形式的分页
|
|
12
|
-
*/
|
|
13
|
-
export default <IReadMoreAdaptor>{
|
|
14
|
-
createInstance(conf) {
|
|
15
|
-
const readMoreBtn = new ReadMoreBtn({
|
|
16
|
-
pageSize: conf.pageSize,
|
|
17
|
-
onClick: async (o) => {
|
|
18
|
-
await conf.list.fetchComments(o)
|
|
19
|
-
},
|
|
20
|
-
text: $t('loadMore'),
|
|
21
|
-
})
|
|
22
|
-
|
|
23
|
-
// 滚动到底部自动加载
|
|
24
|
-
if (conf.list.conf.pagination.autoLoad) {
|
|
25
|
-
// 添加滚动事件监听
|
|
26
|
-
const at = conf.list.scrollListenerAt || document
|
|
27
|
-
if (this.autoLoadScrollEvent) at.removeEventListener('scroll', this.autoLoadScrollEvent) // 解除原有
|
|
28
|
-
this.autoLoadScrollEvent = () => {
|
|
29
|
-
if (conf.mode !== 'read-more'
|
|
30
|
-
|| !readMoreBtn?.hasMore
|
|
31
|
-
|| conf.list.getLoading()
|
|
32
|
-
) return
|
|
33
|
-
|
|
34
|
-
const $target = conf.list.$el.querySelector<HTMLElement>('.atk-list-comments-wrap > .atk-comment-wrap:nth-last-child(3)') // 获取倒数第3个评论元素
|
|
35
|
-
if ($target && Ui.isVisible($target, conf.list.scrollListenerAt)) {
|
|
36
|
-
readMoreBtn.click() // 自动点击加载更多按钮
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
at.addEventListener('scroll', this.autoLoadScrollEvent)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return [readMoreBtn, readMoreBtn.$el]
|
|
43
|
-
},
|
|
44
|
-
setLoading(val) {
|
|
45
|
-
this.instance.setLoading(val)
|
|
46
|
-
},
|
|
47
|
-
update(offset, total) {
|
|
48
|
-
this.instance.update(offset, total)
|
|
49
|
-
},
|
|
50
|
-
showErr(msg) {
|
|
51
|
-
this.instance.showErr(msg)
|
|
52
|
-
},
|
|
53
|
-
next() {
|
|
54
|
-
this.instance.click()
|
|
55
|
-
}
|
|
56
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { IPgHolderConf, TPgMode } from '.'
|
|
2
|
-
import Adaptors from './adaptors'
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* 分页方式持有者(调度器)
|
|
6
|
-
*/
|
|
7
|
-
export default class PgHolder {
|
|
8
|
-
private conf: IPgHolderConf
|
|
9
|
-
|
|
10
|
-
constructor(conf: IPgHolderConf) {
|
|
11
|
-
this.conf = conf
|
|
12
|
-
this.init()
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
public getAdaptor() {
|
|
16
|
-
return Adaptors[this.conf.mode]
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
public init() {
|
|
20
|
-
const adaptor = this.getAdaptor()
|
|
21
|
-
const [instance, el] = adaptor.createInstance(this.conf)
|
|
22
|
-
adaptor.instance = instance
|
|
23
|
-
adaptor.el = el
|
|
24
|
-
this.conf.list.$el.append(adaptor.el)
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
public setLoading(val: boolean) {
|
|
28
|
-
this.getAdaptor().setLoading(val)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
public update(offset: number, total: number) {
|
|
32
|
-
this.getAdaptor().update(offset, total)
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
public getEl() {
|
|
36
|
-
return this.getAdaptor().el
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
public showErr(msg: string) {
|
|
40
|
-
const that = this.getAdaptor()
|
|
41
|
-
const func = that.showErr
|
|
42
|
-
if (func) func.bind(that)(msg)
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
public setMode(val: TPgMode) {
|
|
46
|
-
if (val !== this.conf.mode) {
|
|
47
|
-
this.getEl().remove()
|
|
48
|
-
this.conf.mode = val
|
|
49
|
-
this.init()
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
public next() {
|
|
54
|
-
this.getAdaptor().next()
|
|
55
|
-
}
|
|
56
|
-
}
|
package/types/artalk-data.d.ts
DELETED
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
export interface CommentData {
|
|
2
|
-
/** 评论 ID */
|
|
3
|
-
id: number
|
|
4
|
-
|
|
5
|
-
/** 评论正文 */
|
|
6
|
-
content: string
|
|
7
|
-
|
|
8
|
-
/** 用户昵称 */
|
|
9
|
-
nick: string
|
|
10
|
-
|
|
11
|
-
/** 用户邮箱 (该字段仅管理员可见) */
|
|
12
|
-
email?: string
|
|
13
|
-
|
|
14
|
-
/** 用户邮箱(已加密) */
|
|
15
|
-
email_encrypted: string
|
|
16
|
-
|
|
17
|
-
/** 用户链接 */
|
|
18
|
-
link: string
|
|
19
|
-
|
|
20
|
-
/** 回复目标评论 ID */
|
|
21
|
-
rid: number
|
|
22
|
-
|
|
23
|
-
/** User Agent */
|
|
24
|
-
ua: string
|
|
25
|
-
|
|
26
|
-
/** 评论日期 */
|
|
27
|
-
date: string
|
|
28
|
-
|
|
29
|
-
/** 是否折叠 */
|
|
30
|
-
is_collapsed?: boolean
|
|
31
|
-
|
|
32
|
-
/** 是否待审 */
|
|
33
|
-
is_pending?: boolean
|
|
34
|
-
|
|
35
|
-
/** 是否置顶 */
|
|
36
|
-
is_pinned?: boolean
|
|
37
|
-
|
|
38
|
-
/** 是否为管理员 */
|
|
39
|
-
is_admin?: boolean
|
|
40
|
-
|
|
41
|
-
/** 徽章文字 */
|
|
42
|
-
badge_name?: string
|
|
43
|
-
|
|
44
|
-
/** 徽章颜色 */
|
|
45
|
-
badge_color?: string
|
|
46
|
-
|
|
47
|
-
/** IP 归属地 */
|
|
48
|
-
ip_region?: string
|
|
49
|
-
|
|
50
|
-
/** 是否允许回复 */
|
|
51
|
-
is_allow_reply?: boolean
|
|
52
|
-
|
|
53
|
-
/** 评论页面 key */
|
|
54
|
-
page_key: string
|
|
55
|
-
|
|
56
|
-
/** 评论页面 url */
|
|
57
|
-
page_url?: string
|
|
58
|
-
|
|
59
|
-
/** 是否可见 */
|
|
60
|
-
visible: boolean
|
|
61
|
-
|
|
62
|
-
/** 站点名(用于隔离) */
|
|
63
|
-
site_name: string
|
|
64
|
-
|
|
65
|
-
/** 赞同数 */
|
|
66
|
-
vote_up: number
|
|
67
|
-
|
|
68
|
-
/** 反对数 */
|
|
69
|
-
vote_down: number
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
export interface ListData {
|
|
73
|
-
/** 评论数据 */
|
|
74
|
-
comments: CommentData[]
|
|
75
|
-
|
|
76
|
-
/** 根评论总数 */
|
|
77
|
-
total_roots: number
|
|
78
|
-
|
|
79
|
-
/** 评论总数(包括所有子评论) */
|
|
80
|
-
total: number
|
|
81
|
-
|
|
82
|
-
/** 页面信息 */
|
|
83
|
-
page: PageData
|
|
84
|
-
|
|
85
|
-
/** 站点信息 */
|
|
86
|
-
site: SiteData
|
|
87
|
-
|
|
88
|
-
/** 未读的 Notifies */
|
|
89
|
-
unread: NotifyData[]
|
|
90
|
-
|
|
91
|
-
/** 未读计数 */
|
|
92
|
-
unread_count: number
|
|
93
|
-
|
|
94
|
-
/** API 版本 */
|
|
95
|
-
api_version: ApiVersionData
|
|
96
|
-
|
|
97
|
-
/** 后端配置 */
|
|
98
|
-
conf: any // TODO
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export interface PageData {
|
|
102
|
-
/** 页面 ID */
|
|
103
|
-
id: number
|
|
104
|
-
|
|
105
|
-
/** 页面唯一标识符 */
|
|
106
|
-
key: string
|
|
107
|
-
|
|
108
|
-
/** 页面标题 */
|
|
109
|
-
title: string
|
|
110
|
-
|
|
111
|
-
/** 页面 url */
|
|
112
|
-
url: string
|
|
113
|
-
|
|
114
|
-
/** 仅管理员可评 */
|
|
115
|
-
admin_only: boolean
|
|
116
|
-
|
|
117
|
-
/** 站点名(用于隔离) */
|
|
118
|
-
site_name: string
|
|
119
|
-
|
|
120
|
-
/** 赞同数 */
|
|
121
|
-
vote_up: number
|
|
122
|
-
|
|
123
|
-
/** 反对数 */
|
|
124
|
-
vote_down: number
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
export interface SiteData {
|
|
128
|
-
/** 站点 ID */
|
|
129
|
-
id: number
|
|
130
|
-
|
|
131
|
-
/** 站点名 */
|
|
132
|
-
name: string
|
|
133
|
-
|
|
134
|
-
/** 站点 URLs */
|
|
135
|
-
urls: string[]
|
|
136
|
-
|
|
137
|
-
/** 站点 URLs(原始字符串) */
|
|
138
|
-
urls_raw: string
|
|
139
|
-
|
|
140
|
-
/** 站点主 URL */
|
|
141
|
-
first_url: string
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
export interface UserData {
|
|
145
|
-
/** 用户 ID */
|
|
146
|
-
id: number
|
|
147
|
-
|
|
148
|
-
/** 用户名 */
|
|
149
|
-
name: string
|
|
150
|
-
|
|
151
|
-
/** 邮箱 */
|
|
152
|
-
email: string
|
|
153
|
-
|
|
154
|
-
/** 链接 */
|
|
155
|
-
link: string
|
|
156
|
-
|
|
157
|
-
/** 徽章名称 */
|
|
158
|
-
badge_name: string
|
|
159
|
-
|
|
160
|
-
/** 徽章颜色 */
|
|
161
|
-
badge_color: string
|
|
162
|
-
|
|
163
|
-
/** 是否属于管理员 */
|
|
164
|
-
is_admin: boolean
|
|
165
|
-
|
|
166
|
-
/** 所属站点名 */
|
|
167
|
-
site_names: string[]
|
|
168
|
-
|
|
169
|
-
/** 所属站点名 (字符串) */
|
|
170
|
-
site_names_raw: string,
|
|
171
|
-
|
|
172
|
-
/** 是否允许接收邮件通知 */
|
|
173
|
-
receive_email: boolean
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
export interface UserDataForAdmin extends UserData {
|
|
177
|
-
/** 最后一次操作 IP */
|
|
178
|
-
last_ip: string
|
|
179
|
-
|
|
180
|
-
/** 最后一次操作 UA */
|
|
181
|
-
last_ua: string
|
|
182
|
-
|
|
183
|
-
/** 是否存在于配置文件中 */
|
|
184
|
-
is_in_conf: boolean
|
|
185
|
-
|
|
186
|
-
/** 评论数 */
|
|
187
|
-
comment_count: number
|
|
188
|
-
|
|
189
|
-
/** 密码 */
|
|
190
|
-
password: string
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
export interface NotifyData {
|
|
194
|
-
/** 通知 ID */
|
|
195
|
-
id: number
|
|
196
|
-
|
|
197
|
-
/** 用户 ID */
|
|
198
|
-
user_id: number
|
|
199
|
-
|
|
200
|
-
/** 评论 ID */
|
|
201
|
-
comment_id: number
|
|
202
|
-
|
|
203
|
-
/** 是否已读 */
|
|
204
|
-
is_read: boolean
|
|
205
|
-
|
|
206
|
-
/** 是否已发送邮件通知 */
|
|
207
|
-
is_emailed: boolean
|
|
208
|
-
|
|
209
|
-
/** 标为已读地址 */
|
|
210
|
-
read_link: string
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
export type EmoticonGrpData = {
|
|
214
|
-
name: string,
|
|
215
|
-
type: 'emoticon'|'image'|'emoji'
|
|
216
|
-
items: {key: string, val: string}[]
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
export type EmoticonListData = EmoticonGrpData[]
|
|
220
|
-
|
|
221
|
-
export interface ApiVersionData {
|
|
222
|
-
/** API 程序名 */
|
|
223
|
-
app: string
|
|
224
|
-
|
|
225
|
-
/** API 程序版本号 */
|
|
226
|
-
version: string
|
|
227
|
-
|
|
228
|
-
/** API 程序 CommitHash */
|
|
229
|
-
commit_hash: string
|
|
230
|
-
}
|
package/types/context.d.ts
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import ArtalkConfig from './artalk-config'
|
|
2
|
-
import { CommentData, NotifyData } from './artalk-data'
|
|
3
|
-
import { EventPayloadMap, Event, EventScopeType, Handler } from './event'
|
|
4
|
-
import { internal as internalLocales, I18n } from '../src/i18n'
|
|
5
|
-
import Api from '../src/api'
|
|
6
|
-
import User from '../src/lib/user'
|
|
7
|
-
import Comment from '../src/comment'
|
|
8
|
-
import { SidebarShowPayload } from '../src/layer/sidebar-layer'
|
|
9
|
-
import { CheckerCaptchaPayload, CheckerPayload } from '../src/lib/checker'
|
|
10
|
-
import type { TMarked } from '../src/lib/marked'
|
|
11
|
-
import type { TInjectedServices } from '../src/service'
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Context 接口
|
|
15
|
-
*
|
|
16
|
-
* (面向接口的编程)
|
|
17
|
-
*/
|
|
18
|
-
export default interface ContextApi {
|
|
19
|
-
/** Artalk 根元素对象 */
|
|
20
|
-
$root: HTMLElement
|
|
21
|
-
|
|
22
|
-
/** 依赖注入函数 */
|
|
23
|
-
inject<K extends keyof TInjectedServices>(depName: K, obj: TInjectedServices[K]): void
|
|
24
|
-
|
|
25
|
-
/** 获取依赖对象 */
|
|
26
|
-
get<K extends keyof TInjectedServices>(depName: K): TInjectedServices[K]
|
|
27
|
-
|
|
28
|
-
/** 配置对象 */
|
|
29
|
-
// TODO 修改为 getConf() 和 setConf()
|
|
30
|
-
conf: ArtalkConfig
|
|
31
|
-
|
|
32
|
-
/** marked 依赖对象 */
|
|
33
|
-
getMarkedInstance(): TMarked | undefined
|
|
34
|
-
|
|
35
|
-
/** marked 内容替换器 */
|
|
36
|
-
markedReplacers: ((raw: string) => string)[]
|
|
37
|
-
|
|
38
|
-
/** 获取 API 以供 HTTP 请求 */
|
|
39
|
-
getApi(): Api
|
|
40
|
-
|
|
41
|
-
/** 获取评论实例对象列表 */
|
|
42
|
-
getCommentList(): Comment[]
|
|
43
|
-
|
|
44
|
-
/** 获取评论数据列表 */
|
|
45
|
-
getCommentDataList(): CommentData[]
|
|
46
|
-
|
|
47
|
-
/** 查找评论 */
|
|
48
|
-
findComment(id: number): Comment|undefined
|
|
49
|
-
|
|
50
|
-
/** 删除评论 */
|
|
51
|
-
deleteComment(comment: number|Comment): void
|
|
52
|
-
|
|
53
|
-
/** 清空评论 */
|
|
54
|
-
clearAllComments(): void
|
|
55
|
-
|
|
56
|
-
/** 插入评论 */
|
|
57
|
-
insertComment(commentData: CommentData): void
|
|
58
|
-
|
|
59
|
-
/** 更新评论 */
|
|
60
|
-
updateComment(commentData: CommentData): void
|
|
61
|
-
|
|
62
|
-
/** 评论回复 */
|
|
63
|
-
replyComment(commentData: CommentData, $comment: HTMLElement, scroll?: boolean): void
|
|
64
|
-
|
|
65
|
-
/** 取消回复评论 */
|
|
66
|
-
cancelReplyComment(): void
|
|
67
|
-
|
|
68
|
-
/** 编辑评论 */
|
|
69
|
-
editComment(commentData: CommentData, $comment: HTMLElement): void
|
|
70
|
-
|
|
71
|
-
/** 取消编辑评论 */
|
|
72
|
-
cancelEditComment(): void
|
|
73
|
-
|
|
74
|
-
/** 更新通知数据 */
|
|
75
|
-
updateNotifies(notifies: NotifyData[]): void
|
|
76
|
-
|
|
77
|
-
/** 列表 - 重新加载数据 */
|
|
78
|
-
listReload(): void
|
|
79
|
-
|
|
80
|
-
/** 列表 - 重新加载数据 (别名) */
|
|
81
|
-
reload(): void
|
|
82
|
-
|
|
83
|
-
/** 列表 - UI 更新 */
|
|
84
|
-
listRefreshUI(): void
|
|
85
|
-
|
|
86
|
-
/** 列表 - HashGoto 功能检测 */
|
|
87
|
-
listHashGotoCheck(): void
|
|
88
|
-
|
|
89
|
-
/** 显示侧边栏 */
|
|
90
|
-
showSidebar(payload?: SidebarShowPayload): void
|
|
91
|
-
|
|
92
|
-
/** 隐藏侧边栏 */
|
|
93
|
-
hideSidebar(): void
|
|
94
|
-
|
|
95
|
-
/** 编辑器 - 关闭评论 */
|
|
96
|
-
editorClose(): void
|
|
97
|
-
|
|
98
|
-
/** 编辑器 - 打开评论 */
|
|
99
|
-
editorOpen(): void
|
|
100
|
-
|
|
101
|
-
/** 编辑器 - 显示加载 */
|
|
102
|
-
editorShowLoading(): void
|
|
103
|
-
|
|
104
|
-
/** 编辑器 - 隐藏加载 */
|
|
105
|
-
editorHideLoading(): void
|
|
106
|
-
|
|
107
|
-
/** 编辑器 - 显示提示消息 */
|
|
108
|
-
editorShowNotify(msg: string, type: "i" | "s" | "w" | "e"): void
|
|
109
|
-
|
|
110
|
-
/** 评论框 - 位置移动 */
|
|
111
|
-
editorTravel($el: HTMLElement): void
|
|
112
|
-
|
|
113
|
-
/** 评论框 - 位置回归 */
|
|
114
|
-
editorTravelBack(): void
|
|
115
|
-
|
|
116
|
-
/** 验证码检测 */
|
|
117
|
-
checkCaptcha(payload: CheckerCaptchaPayload): void
|
|
118
|
-
|
|
119
|
-
/** 管理员检测 */
|
|
120
|
-
checkAdmin(payload: CheckerPayload): void
|
|
121
|
-
|
|
122
|
-
/** 管理员显示元素可见性更新 */
|
|
123
|
-
checkAdminShowEl(): void
|
|
124
|
-
|
|
125
|
-
/** 订阅注册 */
|
|
126
|
-
on<K extends keyof EventPayloadMap>(name: K, handler: Handler<EventPayloadMap[K]>, scope?: EventScopeType): void
|
|
127
|
-
|
|
128
|
-
/** 订阅取消 */
|
|
129
|
-
off<K extends keyof EventPayloadMap>(name: K, handler?: Handler<EventPayloadMap[K]>, scope?: EventScopeType): void
|
|
130
|
-
|
|
131
|
-
/** 订阅发布 */
|
|
132
|
-
trigger<K extends keyof EventPayloadMap>(name: K, payload?: EventPayloadMap[K], scope?: EventScopeType): void
|
|
133
|
-
|
|
134
|
-
/** i18n 翻译 */
|
|
135
|
-
$t(key: keyof I18n, args?: {[key: string]: string}): string
|
|
136
|
-
|
|
137
|
-
/** 设置夜间模式 */
|
|
138
|
-
setDarkMode(darkMode: boolean): void
|
|
139
|
-
|
|
140
|
-
/** 更新配置 */
|
|
141
|
-
updateConf(conf: Partial<ArtalkConfig>): void
|
|
142
|
-
}
|
package/types/event.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { CommentData } from './artalk-data'
|
|
2
|
-
import { LocalUser } from './artalk-config'
|
|
3
|
-
|
|
4
|
-
/** EventName to EventPayload Type */
|
|
5
|
-
export interface EventPayloadMap {
|
|
6
|
-
'list-load': undefined // 评论加载时
|
|
7
|
-
'list-loaded': undefined // 评论装载后
|
|
8
|
-
'list-inserted': CommentData // 评论插入后
|
|
9
|
-
'editor-submit': undefined // 编辑器提交时
|
|
10
|
-
'editor-submitted': undefined // 编辑器提交后
|
|
11
|
-
'user-changed': LocalUser // 本地用户数据变更时
|
|
12
|
-
'conf-loaded': undefined // Artalk 配置变更时
|
|
13
|
-
'sidebar-show': undefined // 侧边栏显示
|
|
14
|
-
'sidebar-hide': undefined // 侧边栏隐藏
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// ============================================
|
|
18
|
-
export interface Handler<P> {
|
|
19
|
-
(payload: P): void
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export type EventScopeType = 'internal'|'external'
|
|
23
|
-
|
|
24
|
-
export interface Event<K extends keyof EventPayloadMap = keyof EventPayloadMap> {
|
|
25
|
-
name: keyof EventPayloadMap
|
|
26
|
-
handler: Handler<EventPayloadMap[K]>
|
|
27
|
-
scope: EventScopeType
|
|
28
|
-
}
|
package/types/plug.d.ts
DELETED
|
File without changes
|
|
File without changes
|