Compare commits
2 Commits
92af7405c6
...
d3b4b92a85
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d3b4b92a85 | ||
![]() |
0926eaa56f |
@ -21,8 +21,8 @@ html,
|
||||
body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: visible;
|
||||
overflow-x: hidden;
|
||||
//overflow: visible;
|
||||
//overflow-x: hidden;
|
||||
color: var(--text-color);
|
||||
|
||||
&.color-weak {
|
||||
|
@ -75,8 +75,8 @@ onMounted(async () => {
|
||||
|
||||
let ActionId = ''
|
||||
let MessageId = ''
|
||||
if (data.content)
|
||||
ActionId = data.content.ActionId
|
||||
if (data)
|
||||
ActionId = data.ActionId
|
||||
|
||||
if (data.MessageId)
|
||||
MessageId = data.MessageId
|
||||
@ -101,6 +101,18 @@ onMounted(async () => {
|
||||
case 'LocateBookmark':
|
||||
handleLocateBookmark(data)
|
||||
break
|
||||
case 'DeleteBookmark':
|
||||
handleDeleteBookmark(data)
|
||||
break
|
||||
case 'InsertRowWithJSON':
|
||||
handleInsertRowWithJSON(data)
|
||||
break
|
||||
case 'DeleteRowWithJSON':
|
||||
handleDeleteRowWithJSON(data)
|
||||
break
|
||||
case 'ModifyStatus':
|
||||
handleSendModifyStatus()
|
||||
break
|
||||
}
|
||||
// WOPI Client发送消息
|
||||
switch (MessageId) {
|
||||
@ -225,7 +237,7 @@ async function downloadAndSendCurrentEditFile() {
|
||||
* @param data
|
||||
*/
|
||||
async function handleFileBinary(data: any) {
|
||||
const { name, type, buffer } = data.content.Payload
|
||||
const { name, type, buffer } = data.Payload
|
||||
const blob = base64ToBlob(buffer, type)
|
||||
const uploadResult = await uploadOneFile({
|
||||
filename: name,
|
||||
@ -260,7 +272,7 @@ function proxyReplaceWithJSON(data: any) {
|
||||
Values: {
|
||||
params: {
|
||||
type: 'string',
|
||||
value: JSON.stringify(data.content.Payload),
|
||||
value: JSON.stringify(data.Payload),
|
||||
},
|
||||
},
|
||||
})
|
||||
@ -322,31 +334,38 @@ function sendMessageToCaller(data: any, ignore: boolean = false) {
|
||||
* @param data
|
||||
*/
|
||||
function handlePythonScriptCallBack(data: any) {
|
||||
console.warn('======handlePythonScriptCallBack')
|
||||
const Values = data.Values
|
||||
const success = Values.success as boolean
|
||||
const commandName = Values.commandName
|
||||
if (success) {
|
||||
const jsonData = JSON.parse(Values.result.value)
|
||||
sendMessageToCaller({
|
||||
ActionId: extractMethodName(commandName),
|
||||
Success: success,
|
||||
Payload: jsonData,
|
||||
Message: null,
|
||||
Timestamp: Date.now(),
|
||||
})
|
||||
}
|
||||
else {
|
||||
console.error(data)
|
||||
createMessage.error(`执行Python脚本失败: ${data.Values.result.value}`)
|
||||
try {
|
||||
const Values = data?.Values
|
||||
const success = Values?.success as boolean
|
||||
const commandName = Values?.commandName
|
||||
if (success && Values) {
|
||||
if (Values?.result?.value) {
|
||||
const jsonData = JSON.parse(Values.result.value)
|
||||
sendMessageToCaller({
|
||||
ActionId: extractMethodName(commandName),
|
||||
Success: success,
|
||||
Payload: jsonData,
|
||||
Message: null,
|
||||
Timestamp: Date.now(),
|
||||
})
|
||||
}
|
||||
}
|
||||
else {
|
||||
console.error(data)
|
||||
createMessage.error(`执行Python脚本失败: ${data.Values.result.value}`)
|
||||
|
||||
sendMessageToCaller({
|
||||
ActionId: extractMethodName(commandName),
|
||||
Success: success,
|
||||
Payload: null,
|
||||
Message: data.Values.result.value,
|
||||
Timestamp: Date.now(),
|
||||
})
|
||||
sendMessageToCaller({
|
||||
ActionId: extractMethodName(commandName),
|
||||
Success: success,
|
||||
Payload: null,
|
||||
Message: data.Values.result.value,
|
||||
Timestamp: Date.now(),
|
||||
})
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
console.error(e)
|
||||
createMessage.error(`消息发送失败,查看控制台日志!`)
|
||||
}
|
||||
}
|
||||
|
||||
@ -371,7 +390,8 @@ function handleSaveFile() {
|
||||
*/
|
||||
function handleAddBookmark(data: any) {
|
||||
try {
|
||||
const bookmarkName = data.content.Payload.bookmarkName
|
||||
const Payload = data.Payload
|
||||
const bookmarkName = Payload.bookmarkName
|
||||
if (!bookmarkName)
|
||||
return
|
||||
sendMessageToWopiClient({
|
||||
@ -399,7 +419,8 @@ function handleAddBookmark(data: any) {
|
||||
*/
|
||||
function handleLocateBookmark(data: any) {
|
||||
try {
|
||||
const bookmarkName = data.content.Payload.bookmarkName
|
||||
const Payload = data.Payload
|
||||
const bookmarkName = Payload.bookmarkName
|
||||
if (!bookmarkName)
|
||||
return
|
||||
sendMessageToWopiClient({
|
||||
@ -421,6 +442,120 @@ function handleLocateBookmark(data: any) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除指定名称的书签
|
||||
* @param data
|
||||
*/
|
||||
function handleDeleteBookmark(data: any) {
|
||||
try {
|
||||
const Payload = data.Payload
|
||||
const bookmarkName = Payload.bookmarkName
|
||||
if (!bookmarkName)
|
||||
return
|
||||
sendMessageToWopiClient({
|
||||
MessageId: 'CallPythonScript',
|
||||
SendTime: Date.now(),
|
||||
ScriptFile: 'BookmarkOP.py',
|
||||
Function: 'DeleteBookmark',
|
||||
Values: {
|
||||
params: {
|
||||
type: 'string',
|
||||
value: bookmarkName,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
catch (e) {
|
||||
console.error(e)
|
||||
createMessage.error('执行失败,请查看控制台日志!')
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用二维数组 + 任意标签名称给表格插入行
|
||||
* @param data
|
||||
*/
|
||||
function handleInsertRowWithJSON(data: any) {
|
||||
try {
|
||||
const Payload = data.Payload
|
||||
const bookmarkName = Payload.bookmarkName
|
||||
const startRowIndex = Payload.startRowIndex
|
||||
const dataArray = Payload.data
|
||||
if (!bookmarkName || !dataArray)
|
||||
return
|
||||
|
||||
sendMessageToWopiClient({
|
||||
MessageId: 'CallPythonScript',
|
||||
SendTime: Date.now(),
|
||||
ScriptFile: 'BookmarkOP.py',
|
||||
Function: 'InsertRowWithJSON',
|
||||
Values: {
|
||||
params: {
|
||||
type: 'string',
|
||||
value: JSON.stringify({
|
||||
location_bookmark_name: bookmarkName,
|
||||
data: dataArray,
|
||||
start_row_index: startRowIndex,
|
||||
}),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
catch (e) {
|
||||
console.error(e)
|
||||
createMessage.error('执行失败,请查看控制台日志!')
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除表格行
|
||||
* @param data
|
||||
*/
|
||||
function handleDeleteRowWithJSON(data: any) {
|
||||
try {
|
||||
const Payload = data.Payload
|
||||
const bookmarkName = Payload.bookmarkName
|
||||
const startRowIndex = Payload.startRowIndex
|
||||
const deleteRowCount = Payload.deleteRowCount
|
||||
if (!bookmarkName || !startRowIndex)
|
||||
return
|
||||
|
||||
sendMessageToWopiClient({
|
||||
MessageId: 'CallPythonScript',
|
||||
SendTime: Date.now(),
|
||||
ScriptFile: 'BookmarkOP.py',
|
||||
Function: 'DeleteRowWithJSON',
|
||||
Values: {
|
||||
params: {
|
||||
type: 'string',
|
||||
value: JSON.stringify({
|
||||
location_bookmark_name: bookmarkName,
|
||||
start_row_index: startRowIndex,
|
||||
delete_row_count: deleteRowCount,
|
||||
}),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
catch (e) {
|
||||
console.error(e)
|
||||
createMessage.error('执行失败,请查看控制台日志!')
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 第三方主动调用,获取文件是否被修改
|
||||
*/
|
||||
function handleSendModifyStatus() {
|
||||
sendMessageToCaller({
|
||||
ActionId: 'ModifyStatus',
|
||||
Payload: {
|
||||
modify: editStatus.value.Modified,
|
||||
},
|
||||
Timestamp: Date.now(),
|
||||
}, true)
|
||||
}
|
||||
|
||||
function logEvent(e: MessageEvent) {
|
||||
console.log('=============receive message start=======')
|
||||
console.log(typeof e.data)
|
||||
|
Loading…
Reference in New Issue
Block a user