Compare commits
2 Commits
92af7405c6
...
d3b4b92a85
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d3b4b92a85 | ||
![]() |
0926eaa56f |
@ -21,8 +21,8 @@ html,
|
|||||||
body {
|
body {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow: visible;
|
//overflow: visible;
|
||||||
overflow-x: hidden;
|
//overflow-x: hidden;
|
||||||
color: var(--text-color);
|
color: var(--text-color);
|
||||||
|
|
||||||
&.color-weak {
|
&.color-weak {
|
||||||
|
@ -75,8 +75,8 @@ onMounted(async () => {
|
|||||||
|
|
||||||
let ActionId = ''
|
let ActionId = ''
|
||||||
let MessageId = ''
|
let MessageId = ''
|
||||||
if (data.content)
|
if (data)
|
||||||
ActionId = data.content.ActionId
|
ActionId = data.ActionId
|
||||||
|
|
||||||
if (data.MessageId)
|
if (data.MessageId)
|
||||||
MessageId = data.MessageId
|
MessageId = data.MessageId
|
||||||
@ -101,6 +101,18 @@ onMounted(async () => {
|
|||||||
case 'LocateBookmark':
|
case 'LocateBookmark':
|
||||||
handleLocateBookmark(data)
|
handleLocateBookmark(data)
|
||||||
break
|
break
|
||||||
|
case 'DeleteBookmark':
|
||||||
|
handleDeleteBookmark(data)
|
||||||
|
break
|
||||||
|
case 'InsertRowWithJSON':
|
||||||
|
handleInsertRowWithJSON(data)
|
||||||
|
break
|
||||||
|
case 'DeleteRowWithJSON':
|
||||||
|
handleDeleteRowWithJSON(data)
|
||||||
|
break
|
||||||
|
case 'ModifyStatus':
|
||||||
|
handleSendModifyStatus()
|
||||||
|
break
|
||||||
}
|
}
|
||||||
// WOPI Client发送消息
|
// WOPI Client发送消息
|
||||||
switch (MessageId) {
|
switch (MessageId) {
|
||||||
@ -225,7 +237,7 @@ async function downloadAndSendCurrentEditFile() {
|
|||||||
* @param data
|
* @param data
|
||||||
*/
|
*/
|
||||||
async function handleFileBinary(data: any) {
|
async function handleFileBinary(data: any) {
|
||||||
const { name, type, buffer } = data.content.Payload
|
const { name, type, buffer } = data.Payload
|
||||||
const blob = base64ToBlob(buffer, type)
|
const blob = base64ToBlob(buffer, type)
|
||||||
const uploadResult = await uploadOneFile({
|
const uploadResult = await uploadOneFile({
|
||||||
filename: name,
|
filename: name,
|
||||||
@ -260,7 +272,7 @@ function proxyReplaceWithJSON(data: any) {
|
|||||||
Values: {
|
Values: {
|
||||||
params: {
|
params: {
|
||||||
type: 'string',
|
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
|
* @param data
|
||||||
*/
|
*/
|
||||||
function handlePythonScriptCallBack(data: any) {
|
function handlePythonScriptCallBack(data: any) {
|
||||||
console.warn('======handlePythonScriptCallBack')
|
try {
|
||||||
const Values = data.Values
|
const Values = data?.Values
|
||||||
const success = Values.success as boolean
|
const success = Values?.success as boolean
|
||||||
const commandName = Values.commandName
|
const commandName = Values?.commandName
|
||||||
if (success) {
|
if (success && Values) {
|
||||||
const jsonData = JSON.parse(Values.result.value)
|
if (Values?.result?.value) {
|
||||||
sendMessageToCaller({
|
const jsonData = JSON.parse(Values.result.value)
|
||||||
ActionId: extractMethodName(commandName),
|
sendMessageToCaller({
|
||||||
Success: success,
|
ActionId: extractMethodName(commandName),
|
||||||
Payload: jsonData,
|
Success: success,
|
||||||
Message: null,
|
Payload: jsonData,
|
||||||
Timestamp: Date.now(),
|
Message: null,
|
||||||
})
|
Timestamp: Date.now(),
|
||||||
}
|
})
|
||||||
else {
|
}
|
||||||
console.error(data)
|
}
|
||||||
createMessage.error(`执行Python脚本失败: ${data.Values.result.value}`)
|
else {
|
||||||
|
console.error(data)
|
||||||
|
createMessage.error(`执行Python脚本失败: ${data.Values.result.value}`)
|
||||||
|
|
||||||
sendMessageToCaller({
|
sendMessageToCaller({
|
||||||
ActionId: extractMethodName(commandName),
|
ActionId: extractMethodName(commandName),
|
||||||
Success: success,
|
Success: success,
|
||||||
Payload: null,
|
Payload: null,
|
||||||
Message: data.Values.result.value,
|
Message: data.Values.result.value,
|
||||||
Timestamp: Date.now(),
|
Timestamp: Date.now(),
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
console.error(e)
|
||||||
|
createMessage.error(`消息发送失败,查看控制台日志!`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -371,7 +390,8 @@ function handleSaveFile() {
|
|||||||
*/
|
*/
|
||||||
function handleAddBookmark(data: any) {
|
function handleAddBookmark(data: any) {
|
||||||
try {
|
try {
|
||||||
const bookmarkName = data.content.Payload.bookmarkName
|
const Payload = data.Payload
|
||||||
|
const bookmarkName = Payload.bookmarkName
|
||||||
if (!bookmarkName)
|
if (!bookmarkName)
|
||||||
return
|
return
|
||||||
sendMessageToWopiClient({
|
sendMessageToWopiClient({
|
||||||
@ -399,7 +419,8 @@ function handleAddBookmark(data: any) {
|
|||||||
*/
|
*/
|
||||||
function handleLocateBookmark(data: any) {
|
function handleLocateBookmark(data: any) {
|
||||||
try {
|
try {
|
||||||
const bookmarkName = data.content.Payload.bookmarkName
|
const Payload = data.Payload
|
||||||
|
const bookmarkName = Payload.bookmarkName
|
||||||
if (!bookmarkName)
|
if (!bookmarkName)
|
||||||
return
|
return
|
||||||
sendMessageToWopiClient({
|
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) {
|
function logEvent(e: MessageEvent) {
|
||||||
console.log('=============receive message start=======')
|
console.log('=============receive message start=======')
|
||||||
console.log(typeof e.data)
|
console.log(typeof e.data)
|
||||||
|
Loading…
Reference in New Issue
Block a user