markpdfdown 0.2.2 → 0.3.1

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.
@@ -37,7 +37,7 @@ electron.contextBridge.exposeInMainWorld("api", {
37
37
  },
38
38
  // ==================== File APIs ====================
39
39
  file: {
40
- selectDialog: () => electron.ipcRenderer.invoke("file:selectDialog"),
40
+ selectDialog: (allowOffice) => electron.ipcRenderer.invoke("file:selectDialog", allowOffice),
41
41
  upload: (taskId, filePath) => electron.ipcRenderer.invoke("file:upload", taskId, filePath),
42
42
  uploadFileContent: (taskId, fileName, fileBuffer) => electron.ipcRenderer.invoke("file:uploadFileContent", taskId, fileName, fileBuffer),
43
43
  getImagePath: (taskId, page) => electron.ipcRenderer.invoke("file:getImagePath", taskId, page),
@@ -48,6 +48,32 @@ electron.contextBridge.exposeInMainWorld("api", {
48
48
  markImagedown: (providerId, modelId, url) => electron.ipcRenderer.invoke("completion:markImagedown", providerId, modelId, url),
49
49
  testConnection: (providerId, modelId) => electron.ipcRenderer.invoke("completion:testConnection", providerId, modelId)
50
50
  },
51
+ // ==================== Auth APIs ====================
52
+ auth: {
53
+ login: () => electron.ipcRenderer.invoke("auth:login"),
54
+ cancelLogin: () => electron.ipcRenderer.invoke("auth:cancelLogin"),
55
+ logout: () => electron.ipcRenderer.invoke("auth:logout"),
56
+ getAuthState: () => electron.ipcRenderer.invoke("auth:getAuthState")
57
+ },
58
+ // ==================== Cloud APIs ====================
59
+ cloud: {
60
+ convert: (fileData) => electron.ipcRenderer.invoke("cloud:convert", fileData),
61
+ getTasks: (params) => electron.ipcRenderer.invoke("cloud:getTasks", params),
62
+ getTaskById: (id) => electron.ipcRenderer.invoke("cloud:getTaskById", id),
63
+ getTaskPages: (params) => electron.ipcRenderer.invoke("cloud:getTaskPages", params),
64
+ cancelTask: (id) => electron.ipcRenderer.invoke("cloud:cancelTask", id),
65
+ retryTask: (id) => electron.ipcRenderer.invoke("cloud:retryTask", id),
66
+ deleteTask: (id) => electron.ipcRenderer.invoke("cloud:deleteTask", id),
67
+ retryPage: (params) => electron.ipcRenderer.invoke("cloud:retryPage", params),
68
+ getTaskResult: (id) => electron.ipcRenderer.invoke("cloud:getTaskResult", id),
69
+ downloadPdf: (id) => electron.ipcRenderer.invoke("cloud:downloadPdf", id),
70
+ getPageImage: (params) => electron.ipcRenderer.invoke("cloud:getPageImage", params),
71
+ getCredits: () => electron.ipcRenderer.invoke("cloud:getCredits"),
72
+ getCreditHistory: (params) => electron.ipcRenderer.invoke("cloud:getCreditHistory", params),
73
+ sseConnect: () => electron.ipcRenderer.invoke("cloud:sseConnect"),
74
+ sseDisconnect: () => electron.ipcRenderer.invoke("cloud:sseDisconnect"),
75
+ sseResetAndDisconnect: () => electron.ipcRenderer.invoke("cloud:sseResetAndDisconnect")
76
+ },
51
77
  // ==================== Shell APIs ====================
52
78
  shell: {
53
79
  openExternal: (url) => electron.ipcRenderer.send("open-external-link", url)
@@ -89,6 +115,18 @@ electron.contextBridge.exposeInMainWorld("api", {
89
115
  electron.ipcRenderer.removeListener("taskDetail:event", handler);
90
116
  };
91
117
  },
118
+ /**
119
+ * 监听认证状态变化事件
120
+ * @param callback 事件回调函数,接收认证状态
121
+ * @returns 清理函数
122
+ */
123
+ onAuthStateChanged: (callback) => {
124
+ const handler = (_event, state) => callback(state);
125
+ electron.ipcRenderer.on("auth:stateChanged", handler);
126
+ return () => {
127
+ electron.ipcRenderer.removeListener("auth:stateChanged", handler);
128
+ };
129
+ },
92
130
  /**
93
131
  * 监听更新状态事件
94
132
  * @param callback 事件回调函数
@@ -100,6 +138,18 @@ electron.contextBridge.exposeInMainWorld("api", {
100
138
  return () => {
101
139
  electron.ipcRenderer.removeListener("updater:status", handler);
102
140
  };
141
+ },
142
+ /**
143
+ * 监听云端任务 SSE 事件
144
+ * @param callback 事件回调函数
145
+ * @returns 清理函数
146
+ */
147
+ onCloudTaskEvent: (callback) => {
148
+ const handler = (_event, data) => callback(data);
149
+ electron.ipcRenderer.on("cloud:taskEvent", handler);
150
+ return () => {
151
+ electron.ipcRenderer.removeListener("cloud:taskEvent", handler);
152
+ };
103
153
  }
104
154
  },
105
155
  // ==================== Platform APIs ====================
@@ -149,6 +149,31 @@ body {
149
149
  }
150
150
  }
151
151
 
152
+ /* Settings Tabs - tab栏固定,内容区域滚动 */
153
+ .settings-tabs .ant-tabs-content-holder {
154
+ flex: 1 1 auto;
155
+ overflow-y: auto;
156
+ min-height: 0;
157
+ }
158
+
159
+ .settings-tabs .ant-tabs-content-holder::-webkit-scrollbar {
160
+ width: 6px;
161
+ }
162
+
163
+ .settings-tabs .ant-tabs-content-holder::-webkit-scrollbar-thumb {
164
+ background-color: transparent;
165
+ border-radius: 3px;
166
+ }
167
+
168
+ .settings-tabs .ant-tabs-content-holder:hover::-webkit-scrollbar-thumb,
169
+ .settings-tabs .ant-tabs-content-holder:active::-webkit-scrollbar-thumb {
170
+ background-color: rgba(0, 0, 0, 0.2);
171
+ }
172
+
173
+ .settings-tabs .ant-tabs-content-holder::-webkit-scrollbar-track {
174
+ background: transparent;
175
+ }
176
+
152
177
  /* Markdown 预览面板滚动 */
153
178
  .ant-splitter-panel:last-child {
154
179
  overflow: auto !important;