markpdfdown 0.2.2 → 0.3.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/main/{AnthropicClient-CTbHYiqm.js → AnthropicClient-Dm_xth4j.js} +21 -8
- package/dist/main/{GeminiClient-CrtYbwaF.js → GeminiClient-DBJawhLe.js} +3 -1
- package/dist/main/{OllamaClient-DKJsnvIt.js → OllamaClient-CJY8PExo.js} +1 -1
- package/dist/main/{OpenAIClient-gyy2nFkw.js → OpenAIClient-DsHXIb_l.js} +3 -1
- package/dist/main/{OpenAIResponsesClient-DETYz2nL.js → OpenAIResponsesClient-DgM49Ri3.js} +3 -1
- package/dist/main/index.js +1791 -171
- package/dist/preload/index.js +51 -1
- package/dist/renderer/assets/{index-B_JfRqwM.css → index-DEm7d9O3.css} +32 -0
- package/dist/renderer/assets/{index-Xbcf0bJ0.js → index-De-mUR1O.js} +4747 -638
- package/dist/renderer/index.html +2 -2
- package/package.json +21 -2
package/dist/preload/index.js
CHANGED
|
@@ -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 ====================
|
|
@@ -86,6 +86,13 @@ body {
|
|
|
86
86
|
overflow-y: auto;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
+
/* Home upload list: keep action controls visible when many files are selected */
|
|
90
|
+
.home-upload-panel .ant-upload-list {
|
|
91
|
+
max-height: 120px;
|
|
92
|
+
overflow-y: auto;
|
|
93
|
+
scrollbar-gutter: stable;
|
|
94
|
+
}
|
|
95
|
+
|
|
89
96
|
/* Splitter Panel 溢出控制 */
|
|
90
97
|
.ant-splitter {
|
|
91
98
|
overflow: hidden !important;
|
|
@@ -149,6 +156,31 @@ body {
|
|
|
149
156
|
}
|
|
150
157
|
}
|
|
151
158
|
|
|
159
|
+
/* Settings Tabs - tab栏固定,内容区域滚动 */
|
|
160
|
+
.settings-tabs .ant-tabs-content-holder {
|
|
161
|
+
flex: 1 1 auto;
|
|
162
|
+
overflow-y: auto;
|
|
163
|
+
min-height: 0;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.settings-tabs .ant-tabs-content-holder::-webkit-scrollbar {
|
|
167
|
+
width: 6px;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.settings-tabs .ant-tabs-content-holder::-webkit-scrollbar-thumb {
|
|
171
|
+
background-color: transparent;
|
|
172
|
+
border-radius: 3px;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.settings-tabs .ant-tabs-content-holder:hover::-webkit-scrollbar-thumb,
|
|
176
|
+
.settings-tabs .ant-tabs-content-holder:active::-webkit-scrollbar-thumb {
|
|
177
|
+
background-color: rgba(0, 0, 0, 0.2);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.settings-tabs .ant-tabs-content-holder::-webkit-scrollbar-track {
|
|
181
|
+
background: transparent;
|
|
182
|
+
}
|
|
183
|
+
|
|
152
184
|
/* Markdown 预览面板滚动 */
|
|
153
185
|
.ant-splitter-panel:last-child {
|
|
154
186
|
overflow: auto !important;
|