artalk 2.8.1 → 2.8.3

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/i18n/jp.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const e="ArtalkI18n";const o=(n="jp",t={placeholder:"内容を入力してください...",noComment:"コメントなし",send:"コメントを送信",save:"コメントを保存",nick:"ニックネーム",email:"Eメール",link:"ウェブサイト",emoticon:"絵文字",preview:"プレビュー",image:"画像",uploadFail:"アップロードに失敗しました",commentFail:"コメントに失敗しました",restoredMsg:"内容が自動的に復元されました",onlyAdminCanReply:"管理者のみがコメントできます",uploadLoginMsg:"名前とメールアドレスを入力してからアップロードしてください",counter:"{count}件のコメント",sortLatest:"最新",sortOldest:"最古",sortBest:"人気",sortAuthor:"著者",openComment:"コメントを表示",closeComment:"コメントを非表示",listLoadFailMsg:"コメントリストのデータを取得できません",listRetry:"再試行するにはクリック",loadMore:"もっと読み込む",admin:"管理者",reply:"返信",voteUp:"賛成",voteDown:"反対",voteFail:"投票に失敗しました",readMore:"続きを読む",actionConfirm:"操作を確認",collapse:"折り畳む",collapsed:"折りたたまれた",collapsedMsg:"このコメントはシステムまたは管理者によって折りたたまれました",expand:"展開",approved:"承認済み",pending:"保留中",pendingMsg:"審査中、自分自身のみが表示できます。",edit:"編集",editCancel:"編集をキャンセル",delete:"削除",deleteConfirm:"削除を確認",pin:"ピン留め",unpin:"ピン留めを解除",seconds:"秒前",minutes:"分前",hours:"時間前",days:"日前",now:"たった今",adminCheck:"管理者として認証するにはパスワードを入力してください:",captchaCheck:"続行するにはキャプチャを入力してください:",confirm:"確認",cancel:"キャンセル",msgCenter:"通知センター",ctrlCenter:"コントロールセンター",frontend:"フロントエンド",backend:"バックエンド",loading:"読み込み中",loadFail:"読み込みに失敗しました",editing:"編集中",editFail:"編集に失敗しました",deleting:"削除中",deleteFail:"削除に失敗しました",reqGot:"リクエストが受信されました",reqAborted:"リクエストがタイムアウトまたは予期せず中止されました",updateMsg:"完全な体験を得るにはArtalk {name}を更新してください",currentVersion:"現在のバージョン",ignore:"無視",open:"開く",openName:"{name}を開く"},a=["jp-JP"],window[e]||(window[e]={}),window[e][n]=t,a&&a.forEach((o=>{window[e][o]=t})),t);var n,t,a;module.exports=o;
1
+ "use strict";const e="ArtalkI18n";const o=(n="jp",t={placeholder:"内容を入力してください...",noComment:"コメントなし",send:"コメントを送信",save:"コメントを保存",nick:"ニックネーム",email:"Eメール",link:"ウェブサイト",emoticon:"絵文字",preview:"プレビュー",uploadImage:"画像をアップロード",uploadFail:"アップロードに失敗しました",commentFail:"コメントに失敗しました",restoredMsg:"内容が自動的に復元されました",onlyAdminCanReply:"管理者のみがコメントできます",uploadLoginMsg:"名前とメールアドレスを入力してからアップロードしてください",counter:"{count}件のコメント",sortLatest:"最新",sortOldest:"最古",sortBest:"人気",sortAuthor:"著者",openComment:"コメントを表示",closeComment:"コメントを非表示",listLoadFailMsg:"コメントリストのデータを取得できません",listRetry:"再試行するにはクリック",loadMore:"もっと読み込む",admin:"管理者",reply:"返信",voteUp:"賛成",voteDown:"反対",voteFail:"投票に失敗しました",readMore:"続きを読む",actionConfirm:"操作を確認",collapse:"折り畳む",collapsed:"折りたたまれた",collapsedMsg:"このコメントはシステムまたは管理者によって折りたたまれました",expand:"展開",approved:"承認済み",pending:"保留中",pendingMsg:"審査中、自分自身のみが表示できます。",edit:"編集",editCancel:"編集をキャンセル",delete:"削除",deleteConfirm:"削除を確認",pin:"ピン留め",unpin:"ピン留めを解除",seconds:"秒前",minutes:"分前",hours:"時間前",days:"日前",now:"たった今",adminCheck:"管理者として認証するにはパスワードを入力してください:",captchaCheck:"続行するにはキャプチャを入力してください:",confirm:"確認",cancel:"キャンセル",msgCenter:"通知センター",ctrlCenter:"コントロールセンター",emailVerified:"メールアドレスが確認されました",frontend:"フロントエンド",backend:"バックエンド",loading:"読み込み中",loadFail:"読み込みに失敗しました",editing:"編集中",editFail:"編集に失敗しました",deleting:"削除中",deleteFail:"削除に失敗しました",reqGot:"リクエストが受信されました",reqAborted:"リクエストがタイムアウトまたは予期せず中止されました",updateMsg:"完全な体験を得るにはArtalk {name}を更新してください",currentVersion:"現在のバージョン",ignore:"無視",open:"開く",openName:"{name}を開く"},a=["jp-JP"],window[e]||(window[e]={}),window[e][n]=t,a&&a.forEach((o=>{window[e][o]=t})),t);var n,t,a;module.exports=o;
package/dist/i18n/jp.js CHANGED
@@ -1 +1 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).jp=n()}(this,(function(){"use strict";const e="ArtalkI18n";var n,o,t;return n="jp",o={placeholder:"内容を入力してください...",noComment:"コメントなし",send:"コメントを送信",save:"コメントを保存",nick:"ニックネーム",email:"Eメール",link:"ウェブサイト",emoticon:"絵文字",preview:"プレビュー",image:"画像",uploadFail:"アップロードに失敗しました",commentFail:"コメントに失敗しました",restoredMsg:"内容が自動的に復元されました",onlyAdminCanReply:"管理者のみがコメントできます",uploadLoginMsg:"名前とメールアドレスを入力してからアップロードしてください",counter:"{count}件のコメント",sortLatest:"最新",sortOldest:"最古",sortBest:"人気",sortAuthor:"著者",openComment:"コメントを表示",closeComment:"コメントを非表示",listLoadFailMsg:"コメントリストのデータを取得できません",listRetry:"再試行するにはクリック",loadMore:"もっと読み込む",admin:"管理者",reply:"返信",voteUp:"賛成",voteDown:"反対",voteFail:"投票に失敗しました",readMore:"続きを読む",actionConfirm:"操作を確認",collapse:"折り畳む",collapsed:"折りたたまれた",collapsedMsg:"このコメントはシステムまたは管理者によって折りたたまれました",expand:"展開",approved:"承認済み",pending:"保留中",pendingMsg:"審査中、自分自身のみが表示できます。",edit:"編集",editCancel:"編集をキャンセル",delete:"削除",deleteConfirm:"削除を確認",pin:"ピン留め",unpin:"ピン留めを解除",seconds:"秒前",minutes:"分前",hours:"時間前",days:"日前",now:"たった今",adminCheck:"管理者として認証するにはパスワードを入力してください:",captchaCheck:"続行するにはキャプチャを入力してください:",confirm:"確認",cancel:"キャンセル",msgCenter:"通知センター",ctrlCenter:"コントロールセンター",frontend:"フロントエンド",backend:"バックエンド",loading:"読み込み中",loadFail:"読み込みに失敗しました",editing:"編集中",editFail:"編集に失敗しました",deleting:"削除中",deleteFail:"削除に失敗しました",reqGot:"リクエストが受信されました",reqAborted:"リクエストがタイムアウトまたは予期せず中止されました",updateMsg:"完全な体験を得るにはArtalk {name}を更新してください",currentVersion:"現在のバージョン",ignore:"無視",open:"開く",openName:"{name}を開く"},t=["jp-JP"],window[e]||(window[e]={}),window[e][n]=o,t&&t.forEach((n=>{window[e][n]=o})),o}));
1
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).jp=n()}(this,(function(){"use strict";const e="ArtalkI18n";var n,o,t;return n="jp",o={placeholder:"内容を入力してください...",noComment:"コメントなし",send:"コメントを送信",save:"コメントを保存",nick:"ニックネーム",email:"Eメール",link:"ウェブサイト",emoticon:"絵文字",preview:"プレビュー",uploadImage:"画像をアップロード",uploadFail:"アップロードに失敗しました",commentFail:"コメントに失敗しました",restoredMsg:"内容が自動的に復元されました",onlyAdminCanReply:"管理者のみがコメントできます",uploadLoginMsg:"名前とメールアドレスを入力してからアップロードしてください",counter:"{count}件のコメント",sortLatest:"最新",sortOldest:"最古",sortBest:"人気",sortAuthor:"著者",openComment:"コメントを表示",closeComment:"コメントを非表示",listLoadFailMsg:"コメントリストのデータを取得できません",listRetry:"再試行するにはクリック",loadMore:"もっと読み込む",admin:"管理者",reply:"返信",voteUp:"賛成",voteDown:"反対",voteFail:"投票に失敗しました",readMore:"続きを読む",actionConfirm:"操作を確認",collapse:"折り畳む",collapsed:"折りたたまれた",collapsedMsg:"このコメントはシステムまたは管理者によって折りたたまれました",expand:"展開",approved:"承認済み",pending:"保留中",pendingMsg:"審査中、自分自身のみが表示できます。",edit:"編集",editCancel:"編集をキャンセル",delete:"削除",deleteConfirm:"削除を確認",pin:"ピン留め",unpin:"ピン留めを解除",seconds:"秒前",minutes:"分前",hours:"時間前",days:"日前",now:"たった今",adminCheck:"管理者として認証するにはパスワードを入力してください:",captchaCheck:"続行するにはキャプチャを入力してください:",confirm:"確認",cancel:"キャンセル",msgCenter:"通知センター",ctrlCenter:"コントロールセンター",emailVerified:"メールアドレスが確認されました",frontend:"フロントエンド",backend:"バックエンド",loading:"読み込み中",loadFail:"読み込みに失敗しました",editing:"編集中",editFail:"編集に失敗しました",deleting:"削除中",deleteFail:"削除に失敗しました",reqGot:"リクエストが受信されました",reqAborted:"リクエストがタイムアウトまたは予期せず中止されました",updateMsg:"完全な体験を得るにはArtalk {name}を更新してください",currentVersion:"現在のバージョン",ignore:"無視",open:"開く",openName:"{name}を開く"},t=["jp-JP"],window[e]||(window[e]={}),window[e][n]=o,t&&t.forEach((n=>{window[e][n]=o})),o}));
package/dist/i18n/jp.mjs CHANGED
@@ -20,7 +20,7 @@ const jp = defineLocaleExternal("jp", {
20
20
  link: "ウェブサイト",
21
21
  emoticon: "絵文字",
22
22
  preview: "プレビュー",
23
- image: "画像",
23
+ uploadImage: "画像をアップロード",
24
24
  uploadFail: "アップロードに失敗しました",
25
25
  commentFail: "コメントに失敗しました",
26
26
  restoredMsg: "内容が自動的に復元されました",
@@ -72,6 +72,7 @@ const jp = defineLocaleExternal("jp", {
72
72
  /* Sidebar */
73
73
  msgCenter: "通知センター",
74
74
  ctrlCenter: "コントロールセンター",
75
+ emailVerified: "メールアドレスが確認されました",
75
76
  /* General */
76
77
  frontend: "フロントエンド",
77
78
  backend: "バックエンド",
@@ -1 +1 @@
1
- "use strict";const e="ArtalkI18n";const o=(n="zh-TW",t={placeholder:"輸入內容...",noComment:"「此時無聲勝有聲」",send:"發送評論",save:"保存評論",nick:"暱稱",email:"電子郵件",link:"網址",emoticon:"表情",preview:"預覽",image:"圖片",uploadFail:"上傳失敗",commentFail:"評論失敗",restoredMsg:"內容已自動恢復",onlyAdminCanReply:"僅管理員可評論",uploadLoginMsg:"填入你的名字郵箱才能上傳哦",counter:"{count} 條評論",sortLatest:"最新",sortOldest:"最舊",sortBest:"最熱",sortAuthor:"作者",openComment:"打開評論",closeComment:"關閉評論",listLoadFailMsg:"無法獲取評論列表數據",listRetry:"點擊重新獲取",loadMore:"加載更多",admin:"管理員",reply:"回覆",voteUp:"贊同",voteDown:"反對",voteFail:"投票失敗",readMore:"閱讀更多",actionConfirm:"確認操作",collapse:"折疊",collapsed:"已折疊",collapsedMsg:"該評論已被系統或管理員折疊",expand:"展開",approved:"已審",pending:"待審",pendingMsg:"審核中,僅本人可見。",edit:"編輯",editCancel:"取消編輯",delete:"刪除",deleteConfirm:"確認刪除",pin:"置頂",unpin:"取消置頂",seconds:"秒前",minutes:"分鐘前",hours:"小時前",days:"天前",now:"剛剛",adminCheck:"輸入密碼來驗證管理員身份:",captchaCheck:"輸入驗證碼繼續:",confirm:"確認",cancel:"取消",msgCenter:"通知中心",ctrlCenter:"控制中心",frontend:"前端",backend:"後端",loading:"加載中",loadFail:"加載失敗",editing:"修改中",editFail:"修改失敗",deleting:"刪除中",deleteFail:"刪除失敗",reqGot:"請求已接收",reqAborted:"請求超時或意外終止",updateMsg:"請更新 Artalk {name} 以獲得完整體驗",currentVersion:"當前版本",ignore:"忽略",open:"打開",openName:"打開{name}"},window[e]||(window[e]={}),window[e][n]=t,a&&a.forEach((o=>{window[e][o]=t})),t);var n,t,a;module.exports=o;
1
+ "use strict";const e="ArtalkI18n";const o=(n="zh-TW",t={placeholder:"輸入內容...",noComment:"「此時無聲勝有聲」",send:"發送",save:"保存",nick:"暱稱",email:"電子郵件",link:"網址",emoticon:"表情",preview:"預覽",uploadImage:"上傳圖片",uploadFail:"上傳失敗",commentFail:"評論失敗",restoredMsg:"內容已自動恢復",onlyAdminCanReply:"僅管理員可評論",uploadLoginMsg:"填入你的名字郵箱才能上傳哦",counter:"{count} 條評論",sortLatest:"最新",sortOldest:"最舊",sortBest:"最熱",sortAuthor:"作者",openComment:"打開評論",closeComment:"關閉評論",listLoadFailMsg:"無法獲取評論列表數據",listRetry:"點擊重新獲取",loadMore:"加載更多",admin:"管理員",reply:"回覆",voteUp:"贊同",voteDown:"反對",voteFail:"投票失敗",readMore:"閱讀更多",actionConfirm:"確認操作",collapse:"折疊",collapsed:"已折疊",collapsedMsg:"該評論已被系統或管理員折疊",expand:"展開",approved:"已審",pending:"待審",pendingMsg:"審核中,僅本人可見。",edit:"編輯",editCancel:"取消編輯",delete:"刪除",deleteConfirm:"確認刪除",pin:"置頂",unpin:"取消置頂",seconds:"秒前",minutes:"分鐘前",hours:"小時前",days:"天前",now:"剛剛",adminCheck:"輸入密碼來驗證管理員身份:",captchaCheck:"輸入驗證碼繼續:",confirm:"確認",cancel:"取消",msgCenter:"通知中心",ctrlCenter:"控制中心",emailVerified:"郵箱已驗證",frontend:"前端",backend:"後端",loading:"加載中",loadFail:"加載失敗",editing:"修改中",editFail:"修改失敗",deleting:"刪除中",deleteFail:"刪除失敗",reqGot:"請求已接收",reqAborted:"請求超時或意外終止",updateMsg:"請更新 Artalk {name} 以獲得完整體驗",currentVersion:"當前版本",ignore:"忽略",open:"打開",openName:"打開{name}"},window[e]||(window[e]={}),window[e][n]=t,a&&a.forEach((o=>{window[e][o]=t})),t);var n,t,a;module.exports=o;
@@ -1 +1 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self)["zh-TW"]=n()}(this,(function(){"use strict";const e="ArtalkI18n";var n,o,t;return n="zh-TW",o={placeholder:"輸入內容...",noComment:"「此時無聲勝有聲」",send:"發送評論",save:"保存評論",nick:"暱稱",email:"電子郵件",link:"網址",emoticon:"表情",preview:"預覽",image:"圖片",uploadFail:"上傳失敗",commentFail:"評論失敗",restoredMsg:"內容已自動恢復",onlyAdminCanReply:"僅管理員可評論",uploadLoginMsg:"填入你的名字郵箱才能上傳哦",counter:"{count} 條評論",sortLatest:"最新",sortOldest:"最舊",sortBest:"最熱",sortAuthor:"作者",openComment:"打開評論",closeComment:"關閉評論",listLoadFailMsg:"無法獲取評論列表數據",listRetry:"點擊重新獲取",loadMore:"加載更多",admin:"管理員",reply:"回覆",voteUp:"贊同",voteDown:"反對",voteFail:"投票失敗",readMore:"閱讀更多",actionConfirm:"確認操作",collapse:"折疊",collapsed:"已折疊",collapsedMsg:"該評論已被系統或管理員折疊",expand:"展開",approved:"已審",pending:"待審",pendingMsg:"審核中,僅本人可見。",edit:"編輯",editCancel:"取消編輯",delete:"刪除",deleteConfirm:"確認刪除",pin:"置頂",unpin:"取消置頂",seconds:"秒前",minutes:"分鐘前",hours:"小時前",days:"天前",now:"剛剛",adminCheck:"輸入密碼來驗證管理員身份:",captchaCheck:"輸入驗證碼繼續:",confirm:"確認",cancel:"取消",msgCenter:"通知中心",ctrlCenter:"控制中心",frontend:"前端",backend:"後端",loading:"加載中",loadFail:"加載失敗",editing:"修改中",editFail:"修改失敗",deleting:"刪除中",deleteFail:"刪除失敗",reqGot:"請求已接收",reqAborted:"請求超時或意外終止",updateMsg:"請更新 Artalk {name} 以獲得完整體驗",currentVersion:"當前版本",ignore:"忽略",open:"打開",openName:"打開{name}"},window[e]||(window[e]={}),window[e][n]=o,t&&t.forEach((n=>{window[e][n]=o})),o}));
1
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self)["zh-TW"]=n()}(this,(function(){"use strict";const e="ArtalkI18n";var n,o,t;return n="zh-TW",o={placeholder:"輸入內容...",noComment:"「此時無聲勝有聲」",send:"發送",save:"保存",nick:"暱稱",email:"電子郵件",link:"網址",emoticon:"表情",preview:"預覽",uploadImage:"上傳圖片",uploadFail:"上傳失敗",commentFail:"評論失敗",restoredMsg:"內容已自動恢復",onlyAdminCanReply:"僅管理員可評論",uploadLoginMsg:"填入你的名字郵箱才能上傳哦",counter:"{count} 條評論",sortLatest:"最新",sortOldest:"最舊",sortBest:"最熱",sortAuthor:"作者",openComment:"打開評論",closeComment:"關閉評論",listLoadFailMsg:"無法獲取評論列表數據",listRetry:"點擊重新獲取",loadMore:"加載更多",admin:"管理員",reply:"回覆",voteUp:"贊同",voteDown:"反對",voteFail:"投票失敗",readMore:"閱讀更多",actionConfirm:"確認操作",collapse:"折疊",collapsed:"已折疊",collapsedMsg:"該評論已被系統或管理員折疊",expand:"展開",approved:"已審",pending:"待審",pendingMsg:"審核中,僅本人可見。",edit:"編輯",editCancel:"取消編輯",delete:"刪除",deleteConfirm:"確認刪除",pin:"置頂",unpin:"取消置頂",seconds:"秒前",minutes:"分鐘前",hours:"小時前",days:"天前",now:"剛剛",adminCheck:"輸入密碼來驗證管理員身份:",captchaCheck:"輸入驗證碼繼續:",confirm:"確認",cancel:"取消",msgCenter:"通知中心",ctrlCenter:"控制中心",emailVerified:"郵箱已驗證",frontend:"前端",backend:"後端",loading:"加載中",loadFail:"加載失敗",editing:"修改中",editFail:"修改失敗",deleting:"刪除中",deleteFail:"刪除失敗",reqGot:"請求已接收",reqAborted:"請求超時或意外終止",updateMsg:"請更新 Artalk {name} 以獲得完整體驗",currentVersion:"當前版本",ignore:"忽略",open:"打開",openName:"打開{name}"},window[e]||(window[e]={}),window[e][n]=o,t&&t.forEach((n=>{window[e][n]=o})),o}));
@@ -13,14 +13,14 @@ const zhTW = defineLocaleExternal("zh-TW", {
13
13
  /* Editor */
14
14
  placeholder: "輸入內容...",
15
15
  noComment: "「此時無聲勝有聲」",
16
- send: "發送評論",
17
- save: "保存評論",
16
+ send: "發送",
17
+ save: "保存",
18
18
  nick: "暱稱",
19
19
  email: "電子郵件",
20
20
  link: "網址",
21
21
  emoticon: "表情",
22
22
  preview: "預覽",
23
- image: "圖片",
23
+ uploadImage: "上傳圖片",
24
24
  uploadFail: "上傳失敗",
25
25
  commentFail: "評論失敗",
26
26
  restoredMsg: "內容已自動恢復",
@@ -72,6 +72,7 @@ const zhTW = defineLocaleExternal("zh-TW", {
72
72
  /* Sidebar */
73
73
  msgCenter: "通知中心",
74
74
  ctrlCenter: "控制中心",
75
+ emailVerified: "郵箱已驗證",
75
76
  /* General */
76
77
  frontend: "前端",
77
78
  backend: "後端",
package/dist/main.d.cts CHANGED
@@ -323,6 +323,19 @@ declare class Api_2<SecurityDataType extends unknown> extends HttpClient<Securit
323
323
  * @response `200` `CommonConfData` OK
324
324
  */
325
325
  conf: (params?: RequestParams) => Promise<HttpResponse<CommonConfData, any>>;
326
+ /**
327
+ * @description Get Domain Info
328
+ *
329
+ * @tags System
330
+ * @name GetDomain
331
+ * @summary Get Domain Info
332
+ * @request GET:/conf/domain
333
+ * @response `200` `HandlerResponseConfDomain` OK
334
+ */
335
+ getDomain: (query?: {
336
+ /** Domain URL */
337
+ url?: string;
338
+ }, params?: RequestParams) => Promise<HttpResponse<HandlerResponseConfDomain, any>>;
326
339
  };
327
340
  notifies: {
328
341
  /**
@@ -819,7 +832,7 @@ declare class Api_2<SecurityDataType extends unknown> extends HttpClient<Securit
819
832
  /**
820
833
  * @description Get user info to prepare for login or check current user status
821
834
  *
822
- * @tags Account
835
+ * @tags Auth
823
836
  * @name GetUser
824
837
  * @summary Get User Info
825
838
  * @request GET:/user
@@ -841,30 +854,30 @@ declare class Api_2<SecurityDataType extends unknown> extends HttpClient<Securit
841
854
  /**
842
855
  * @description Login user by name or email
843
856
  *
844
- * @tags Account
857
+ * @tags Auth
845
858
  * @name Login
846
859
  * @summary Get Access Token
847
860
  * @request POST:/user/access_token
848
861
  * @response `200` `HandlerResponseUserLogin` OK
849
862
  * @response `400` `(HandlerMap & {
850
- " data"?: {
863
+ data?: {
851
864
  need_name_select?: (string)[],
852
865
 
853
866
  },
854
867
  msg?: string,
855
868
 
856
869
  })` Multiple users with the same email address are matched
857
- * @response `403` `(HandlerMap & {
870
+ * @response `401` `(HandlerMap & {
858
871
  msg?: string,
859
872
 
860
- })` Forbidden
873
+ })` Unauthorized
861
874
  * @response `500` `(HandlerMap & {
862
875
  msg?: string,
863
876
 
864
877
  })` Internal Server Error
865
878
  */
866
879
  login: (user: HandlerParamsUserLogin, params?: RequestParams) => Promise<HttpResponse<HandlerResponseUserLogin, (HandlerMap & {
867
- ' data'?: {
880
+ data?: {
868
881
  need_name_select?: string[] | undefined;
869
882
  } | undefined;
870
883
  msg?: string | undefined;
@@ -874,7 +887,7 @@ declare class Api_2<SecurityDataType extends unknown> extends HttpClient<Securit
874
887
  /**
875
888
  * @description Get user login status by header Authorization
876
889
  *
877
- * @tags Account
890
+ * @tags Auth
878
891
  * @name GetUserStatus
879
892
  * @summary Get Login Status
880
893
  * @request GET:/user/status
@@ -1055,6 +1068,25 @@ declare interface ApiConfig<SecurityDataType = unknown> {
1055
1068
  customFetch?: typeof fetch;
1056
1069
  }
1057
1070
 
1071
+ declare interface ApiHandler<T extends PayloadKey = PayloadKey> {
1072
+ action: T;
1073
+ handler: (data: ApiHandlerPayload[T]) => Promise<void>;
1074
+ }
1075
+
1076
+ declare interface ApiHandlerPayload {
1077
+ 'need_captcha': {
1078
+ img_data?: string;
1079
+ iframe?: string;
1080
+ };
1081
+ 'need_login': {};
1082
+ 'need_auth_login': {};
1083
+ }
1084
+
1085
+ declare interface ApiHandlers {
1086
+ add: <T extends PayloadKey>(action: T, handler: (data: ApiHandlerPayload[T]) => Promise<void>) => void;
1087
+ get: () => ApiHandler[];
1088
+ }
1089
+
1058
1090
  declare interface ApiOptions {
1059
1091
  baseURL: string;
1060
1092
  siteName: string;
@@ -1066,13 +1098,7 @@ declare interface ApiOptions {
1066
1098
  name: string;
1067
1099
  email: string;
1068
1100
  };
1069
- onNeedCheckCaptcha?: (payload: {
1070
- data: {
1071
- imgData?: string;
1072
- iframe?: string;
1073
- };
1074
- }) => Promise<void>;
1075
- onNeedCheckAdmin?: (payload: {}) => Promise<void>;
1101
+ handlers?: ApiHandlers;
1076
1102
  }
1077
1103
 
1078
1104
  export declare interface ApiVersionData {
@@ -1091,8 +1117,6 @@ export declare interface ApiVersionData {
1091
1117
  */
1092
1118
  declare class Artalk {
1093
1119
  ctx: ContextApi;
1094
- /** Plugins */
1095
- protected plugins: ArtalkPlugin[];
1096
1120
  constructor(conf: Partial<ArtalkConfig>);
1097
1121
  /** Get the config of Artalk */
1098
1122
  getConf(): ArtalkConfig;
@@ -1209,6 +1233,8 @@ export declare interface ArtalkConfig {
1209
1233
  locale: I18n | string;
1210
1234
  /** 后端版本 (系统数据,用户不允许更改) */
1211
1235
  apiVersion?: string;
1236
+ /** Plugin script urls */
1237
+ pluginURLs?: string[];
1212
1238
  /** Replacer for marked */
1213
1239
  markedReplacers?: ((raw: string) => string)[];
1214
1240
  /** 列表请求参数修改器 */
@@ -1216,8 +1242,8 @@ export declare interface ArtalkConfig {
1216
1242
  remoteConfModifier?: (conf: Partial<ArtalkConfig>) => void;
1217
1243
  listUnreadHighlight?: boolean;
1218
1244
  scrollRelativeTo?: () => HTMLElement;
1219
- immediateFetch?: boolean;
1220
1245
  pvAdd?: boolean;
1246
+ beforeSubmit?: (editor: EditorApi, next: () => void) => void;
1221
1247
  }
1222
1248
 
1223
1249
  export declare type ArtalkPlugin = (ctx: ContextApi) => void;
@@ -1268,7 +1294,7 @@ declare interface Checker<T = any> {
1268
1294
  }
1269
1295
 
1270
1296
  declare interface CheckerCaptchaPayload extends CheckerPayload {
1271
- imgData?: string;
1297
+ img_data?: string;
1272
1298
  iframe?: string;
1273
1299
  }
1274
1300
 
@@ -1354,6 +1380,8 @@ export declare interface CommentData {
1354
1380
  is_pending: boolean;
1355
1381
  /** 是否置顶 */
1356
1382
  is_pinned: boolean;
1383
+ /** 是否已验证 */
1384
+ is_verified: boolean;
1357
1385
  /** 徽章文字 */
1358
1386
  badge_name?: string;
1359
1387
  /** 徽章颜色 */
@@ -1523,6 +1551,8 @@ export declare interface ContextApi extends EventManagerFuncs<EventPayloadMap> {
1523
1551
  getMarked(): TMarked | undefined;
1524
1552
  /** 获取 API 以供 HTTP 请求 */
1525
1553
  getApi(): Api;
1554
+ /** Get API handlers */
1555
+ getApiHandlers(): ApiHandlers;
1526
1556
  /** 获取数据管理器对象 */
1527
1557
  getData(): DataManagerApi;
1528
1558
  /** 评论回复 */
@@ -1756,7 +1786,7 @@ declare interface EditorUI extends Record<keyof typeof Sel, HTMLElement> {
1756
1786
  $link: HTMLInputElement;
1757
1787
  $textarea: HTMLTextAreaElement;
1758
1788
  $submitBtn: HTMLButtonElement;
1759
- $sendReply?: HTMLElement;
1789
+ $sendReplyBtn?: HTMLElement;
1760
1790
  $editCancelBtn?: HTMLElement;
1761
1791
  }
1762
1792
 
@@ -1781,7 +1811,7 @@ declare const en: {
1781
1811
  link: string;
1782
1812
  emoticon: string;
1783
1813
  preview: string;
1784
- image: string;
1814
+ uploadImage: string;
1785
1815
  uploadFail: string;
1786
1816
  commentFail: string;
1787
1817
  restoredMsg: string;
@@ -1828,6 +1858,7 @@ declare const en: {
1828
1858
  cancel: string;
1829
1859
  msgCenter: string;
1830
1860
  ctrlCenter: string;
1861
+ emailVerified: string;
1831
1862
  frontend: string;
1832
1863
  backend: string;
1833
1864
  loading: string;
@@ -1858,6 +1889,7 @@ declare interface EntityCookedComment {
1858
1889
  is_collapsed: boolean;
1859
1890
  is_pending: boolean;
1860
1891
  is_pinned: boolean;
1892
+ is_verified: boolean;
1861
1893
  link: string;
1862
1894
  nick: string;
1863
1895
  page_key: string;
@@ -1960,7 +1992,6 @@ export declare interface EventPayloadMap {
1960
1992
  'mounted': undefined;
1961
1993
  'updated': ArtalkConfig;
1962
1994
  'unmounted': undefined;
1963
- 'conf-fetch': undefined;
1964
1995
  'list-fetch': Partial<ListFetchParams>;
1965
1996
  'list-fetched': ListFetchedArgs;
1966
1997
  'list-load': CommentData[];
@@ -2059,7 +2090,7 @@ declare interface HandlerParamsCommentUpdate {
2059
2090
  /** The site name of your content scope */
2060
2091
  site_name: string;
2061
2092
  /** The comment ua */
2062
- ua: string;
2093
+ ua?: string;
2063
2094
  }
2064
2095
 
2065
2096
  declare interface HandlerParamsEmailSend {
@@ -2217,6 +2248,7 @@ declare interface HandlerResponseCommentCreate {
2217
2248
  is_collapsed: boolean;
2218
2249
  is_pending: boolean;
2219
2250
  is_pinned: boolean;
2251
+ is_verified: boolean;
2220
2252
  link: string;
2221
2253
  nick: string;
2222
2254
  page_key: string;
@@ -2257,6 +2289,7 @@ declare interface HandlerResponseCommentUpdate {
2257
2289
  is_collapsed: boolean;
2258
2290
  is_pending: boolean;
2259
2291
  is_pinned: boolean;
2292
+ is_verified: boolean;
2260
2293
  link: string;
2261
2294
  nick: string;
2262
2295
  page_key: string;
@@ -2270,6 +2303,13 @@ declare interface HandlerResponseCommentUpdate {
2270
2303
  vote_up: number;
2271
2304
  }
2272
2305
 
2306
+ declare interface HandlerResponseConfDomain {
2307
+ /** Is the domain trusted */
2308
+ is_trusted: boolean;
2309
+ /** The origin of the domain */
2310
+ origin: string;
2311
+ }
2312
+
2273
2313
  declare interface HandlerResponseNotifyList {
2274
2314
  count: number;
2275
2315
  notifies: EntityCookedNotify[];
@@ -2607,6 +2647,8 @@ export declare interface PageData {
2607
2647
  vote_down: number;
2608
2648
  }
2609
2649
 
2650
+ declare type PayloadKey = keyof ApiHandlerPayload;
2651
+
2610
2652
  /**
2611
2653
  * PlugKit provides a set of methods to help you develop editor plug
2612
2654
  */
@@ -2726,6 +2768,8 @@ declare const Sel: {
2726
2768
  $bottom: string;
2727
2769
  $submitBtn: string;
2728
2770
  $notifyWrap: string;
2771
+ $bottomLeft: string;
2772
+ $stateWrap: string;
2729
2773
  $plugBtnWrap: string;
2730
2774
  $plugPanelWrap: string;
2731
2775
  };
package/dist/main.d.ts CHANGED
@@ -323,6 +323,19 @@ declare class Api_2<SecurityDataType extends unknown> extends HttpClient<Securit
323
323
  * @response `200` `CommonConfData` OK
324
324
  */
325
325
  conf: (params?: RequestParams) => Promise<HttpResponse<CommonConfData, any>>;
326
+ /**
327
+ * @description Get Domain Info
328
+ *
329
+ * @tags System
330
+ * @name GetDomain
331
+ * @summary Get Domain Info
332
+ * @request GET:/conf/domain
333
+ * @response `200` `HandlerResponseConfDomain` OK
334
+ */
335
+ getDomain: (query?: {
336
+ /** Domain URL */
337
+ url?: string;
338
+ }, params?: RequestParams) => Promise<HttpResponse<HandlerResponseConfDomain, any>>;
326
339
  };
327
340
  notifies: {
328
341
  /**
@@ -819,7 +832,7 @@ declare class Api_2<SecurityDataType extends unknown> extends HttpClient<Securit
819
832
  /**
820
833
  * @description Get user info to prepare for login or check current user status
821
834
  *
822
- * @tags Account
835
+ * @tags Auth
823
836
  * @name GetUser
824
837
  * @summary Get User Info
825
838
  * @request GET:/user
@@ -841,30 +854,30 @@ declare class Api_2<SecurityDataType extends unknown> extends HttpClient<Securit
841
854
  /**
842
855
  * @description Login user by name or email
843
856
  *
844
- * @tags Account
857
+ * @tags Auth
845
858
  * @name Login
846
859
  * @summary Get Access Token
847
860
  * @request POST:/user/access_token
848
861
  * @response `200` `HandlerResponseUserLogin` OK
849
862
  * @response `400` `(HandlerMap & {
850
- " data"?: {
863
+ data?: {
851
864
  need_name_select?: (string)[],
852
865
 
853
866
  },
854
867
  msg?: string,
855
868
 
856
869
  })` Multiple users with the same email address are matched
857
- * @response `403` `(HandlerMap & {
870
+ * @response `401` `(HandlerMap & {
858
871
  msg?: string,
859
872
 
860
- })` Forbidden
873
+ })` Unauthorized
861
874
  * @response `500` `(HandlerMap & {
862
875
  msg?: string,
863
876
 
864
877
  })` Internal Server Error
865
878
  */
866
879
  login: (user: HandlerParamsUserLogin, params?: RequestParams) => Promise<HttpResponse<HandlerResponseUserLogin, (HandlerMap & {
867
- ' data'?: {
880
+ data?: {
868
881
  need_name_select?: string[] | undefined;
869
882
  } | undefined;
870
883
  msg?: string | undefined;
@@ -874,7 +887,7 @@ declare class Api_2<SecurityDataType extends unknown> extends HttpClient<Securit
874
887
  /**
875
888
  * @description Get user login status by header Authorization
876
889
  *
877
- * @tags Account
890
+ * @tags Auth
878
891
  * @name GetUserStatus
879
892
  * @summary Get Login Status
880
893
  * @request GET:/user/status
@@ -1055,6 +1068,25 @@ declare interface ApiConfig<SecurityDataType = unknown> {
1055
1068
  customFetch?: typeof fetch;
1056
1069
  }
1057
1070
 
1071
+ declare interface ApiHandler<T extends PayloadKey = PayloadKey> {
1072
+ action: T;
1073
+ handler: (data: ApiHandlerPayload[T]) => Promise<void>;
1074
+ }
1075
+
1076
+ declare interface ApiHandlerPayload {
1077
+ 'need_captcha': {
1078
+ img_data?: string;
1079
+ iframe?: string;
1080
+ };
1081
+ 'need_login': {};
1082
+ 'need_auth_login': {};
1083
+ }
1084
+
1085
+ declare interface ApiHandlers {
1086
+ add: <T extends PayloadKey>(action: T, handler: (data: ApiHandlerPayload[T]) => Promise<void>) => void;
1087
+ get: () => ApiHandler[];
1088
+ }
1089
+
1058
1090
  declare interface ApiOptions {
1059
1091
  baseURL: string;
1060
1092
  siteName: string;
@@ -1066,13 +1098,7 @@ declare interface ApiOptions {
1066
1098
  name: string;
1067
1099
  email: string;
1068
1100
  };
1069
- onNeedCheckCaptcha?: (payload: {
1070
- data: {
1071
- imgData?: string;
1072
- iframe?: string;
1073
- };
1074
- }) => Promise<void>;
1075
- onNeedCheckAdmin?: (payload: {}) => Promise<void>;
1101
+ handlers?: ApiHandlers;
1076
1102
  }
1077
1103
 
1078
1104
  export declare interface ApiVersionData {
@@ -1091,8 +1117,6 @@ export declare interface ApiVersionData {
1091
1117
  */
1092
1118
  declare class Artalk {
1093
1119
  ctx: ContextApi;
1094
- /** Plugins */
1095
- protected plugins: ArtalkPlugin[];
1096
1120
  constructor(conf: Partial<ArtalkConfig>);
1097
1121
  /** Get the config of Artalk */
1098
1122
  getConf(): ArtalkConfig;
@@ -1209,6 +1233,8 @@ export declare interface ArtalkConfig {
1209
1233
  locale: I18n | string;
1210
1234
  /** 后端版本 (系统数据,用户不允许更改) */
1211
1235
  apiVersion?: string;
1236
+ /** Plugin script urls */
1237
+ pluginURLs?: string[];
1212
1238
  /** Replacer for marked */
1213
1239
  markedReplacers?: ((raw: string) => string)[];
1214
1240
  /** 列表请求参数修改器 */
@@ -1216,8 +1242,8 @@ export declare interface ArtalkConfig {
1216
1242
  remoteConfModifier?: (conf: Partial<ArtalkConfig>) => void;
1217
1243
  listUnreadHighlight?: boolean;
1218
1244
  scrollRelativeTo?: () => HTMLElement;
1219
- immediateFetch?: boolean;
1220
1245
  pvAdd?: boolean;
1246
+ beforeSubmit?: (editor: EditorApi, next: () => void) => void;
1221
1247
  }
1222
1248
 
1223
1249
  export declare type ArtalkPlugin = (ctx: ContextApi) => void;
@@ -1268,7 +1294,7 @@ declare interface Checker<T = any> {
1268
1294
  }
1269
1295
 
1270
1296
  declare interface CheckerCaptchaPayload extends CheckerPayload {
1271
- imgData?: string;
1297
+ img_data?: string;
1272
1298
  iframe?: string;
1273
1299
  }
1274
1300
 
@@ -1354,6 +1380,8 @@ export declare interface CommentData {
1354
1380
  is_pending: boolean;
1355
1381
  /** 是否置顶 */
1356
1382
  is_pinned: boolean;
1383
+ /** 是否已验证 */
1384
+ is_verified: boolean;
1357
1385
  /** 徽章文字 */
1358
1386
  badge_name?: string;
1359
1387
  /** 徽章颜色 */
@@ -1523,6 +1551,8 @@ export declare interface ContextApi extends EventManagerFuncs<EventPayloadMap> {
1523
1551
  getMarked(): TMarked | undefined;
1524
1552
  /** 获取 API 以供 HTTP 请求 */
1525
1553
  getApi(): Api;
1554
+ /** Get API handlers */
1555
+ getApiHandlers(): ApiHandlers;
1526
1556
  /** 获取数据管理器对象 */
1527
1557
  getData(): DataManagerApi;
1528
1558
  /** 评论回复 */
@@ -1756,7 +1786,7 @@ declare interface EditorUI extends Record<keyof typeof Sel, HTMLElement> {
1756
1786
  $link: HTMLInputElement;
1757
1787
  $textarea: HTMLTextAreaElement;
1758
1788
  $submitBtn: HTMLButtonElement;
1759
- $sendReply?: HTMLElement;
1789
+ $sendReplyBtn?: HTMLElement;
1760
1790
  $editCancelBtn?: HTMLElement;
1761
1791
  }
1762
1792
 
@@ -1781,7 +1811,7 @@ declare const en: {
1781
1811
  link: string;
1782
1812
  emoticon: string;
1783
1813
  preview: string;
1784
- image: string;
1814
+ uploadImage: string;
1785
1815
  uploadFail: string;
1786
1816
  commentFail: string;
1787
1817
  restoredMsg: string;
@@ -1828,6 +1858,7 @@ declare const en: {
1828
1858
  cancel: string;
1829
1859
  msgCenter: string;
1830
1860
  ctrlCenter: string;
1861
+ emailVerified: string;
1831
1862
  frontend: string;
1832
1863
  backend: string;
1833
1864
  loading: string;
@@ -1858,6 +1889,7 @@ declare interface EntityCookedComment {
1858
1889
  is_collapsed: boolean;
1859
1890
  is_pending: boolean;
1860
1891
  is_pinned: boolean;
1892
+ is_verified: boolean;
1861
1893
  link: string;
1862
1894
  nick: string;
1863
1895
  page_key: string;
@@ -1960,7 +1992,6 @@ export declare interface EventPayloadMap {
1960
1992
  'mounted': undefined;
1961
1993
  'updated': ArtalkConfig;
1962
1994
  'unmounted': undefined;
1963
- 'conf-fetch': undefined;
1964
1995
  'list-fetch': Partial<ListFetchParams>;
1965
1996
  'list-fetched': ListFetchedArgs;
1966
1997
  'list-load': CommentData[];
@@ -2059,7 +2090,7 @@ declare interface HandlerParamsCommentUpdate {
2059
2090
  /** The site name of your content scope */
2060
2091
  site_name: string;
2061
2092
  /** The comment ua */
2062
- ua: string;
2093
+ ua?: string;
2063
2094
  }
2064
2095
 
2065
2096
  declare interface HandlerParamsEmailSend {
@@ -2217,6 +2248,7 @@ declare interface HandlerResponseCommentCreate {
2217
2248
  is_collapsed: boolean;
2218
2249
  is_pending: boolean;
2219
2250
  is_pinned: boolean;
2251
+ is_verified: boolean;
2220
2252
  link: string;
2221
2253
  nick: string;
2222
2254
  page_key: string;
@@ -2257,6 +2289,7 @@ declare interface HandlerResponseCommentUpdate {
2257
2289
  is_collapsed: boolean;
2258
2290
  is_pending: boolean;
2259
2291
  is_pinned: boolean;
2292
+ is_verified: boolean;
2260
2293
  link: string;
2261
2294
  nick: string;
2262
2295
  page_key: string;
@@ -2270,6 +2303,13 @@ declare interface HandlerResponseCommentUpdate {
2270
2303
  vote_up: number;
2271
2304
  }
2272
2305
 
2306
+ declare interface HandlerResponseConfDomain {
2307
+ /** Is the domain trusted */
2308
+ is_trusted: boolean;
2309
+ /** The origin of the domain */
2310
+ origin: string;
2311
+ }
2312
+
2273
2313
  declare interface HandlerResponseNotifyList {
2274
2314
  count: number;
2275
2315
  notifies: EntityCookedNotify[];
@@ -2607,6 +2647,8 @@ export declare interface PageData {
2607
2647
  vote_down: number;
2608
2648
  }
2609
2649
 
2650
+ declare type PayloadKey = keyof ApiHandlerPayload;
2651
+
2610
2652
  /**
2611
2653
  * PlugKit provides a set of methods to help you develop editor plug
2612
2654
  */
@@ -2726,6 +2768,8 @@ declare const Sel: {
2726
2768
  $bottom: string;
2727
2769
  $submitBtn: string;
2728
2770
  $notifyWrap: string;
2771
+ $bottomLeft: string;
2772
+ $stateWrap: string;
2729
2773
  $plugBtnWrap: string;
2730
2774
  $plugPanelWrap: string;
2731
2775
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "artalk",
3
- "version": "2.8.1",
3
+ "version": "2.8.3",
4
4
  "description": "A self-hosted comment system",
5
5
  "keywords": [
6
6
  "comment-system",