Files

70 lines
2.2 KiB
JavaScript

async function createApp() {
for (let i = 0; i < 10; i++) {
try {
window.$dbSheet = {};
// set dbsheet app 属性 为 WPSOpenApi.Application;
window.$dbSheet.app = WPSOpenApi.Application;
$dbSheet.createRecords = () => {
const records = $dbSheet.app.Record.CreateRecords({
SheetId: 1,
Records: [{ fields: { "名称": "demo", "数量": 1, "日期": "2022/1/1", "状态": "未开始" } }]
});
}
$dbSheet.deleteRecords = async () => {
const records = await $dbSheet.app.Record.GetRecords({ SheetId: 1 })
const deleteRcecordId = records.records[0].id
const result = $dbSheet.app.Record.DeleteRecords({
SheetId: 1,
RecordIds: [deleteRcecordId]
})
}
console.log(i);
} catch (error) {
// sleep 1s
await new Promise(resolve => setTimeout(resolve, 1000));
console.log(i, error);
}
}
}
// 异步执行 createApp
createApp().then(() => { });
window.addEventListener('message', (event) => {
if (event.source === window && event.data.func === 'addRecord') {
// console.log('[Demo] receive', event.data);
addRecordOnMessage();
}
if (event.source === window && event.data.func === 'deleteRecord') {
// console.log('[Demo] receive', event.data);
deleteRecordOnMessage();
}
});
async function addRecordOnMessage() {
$dbSheet.createRecords();
window.postMessage({ msg: 'add record by inject script', from: 'inject-script' });
}
async function deleteRecordOnMessage() {
await $dbSheet.deleteRecords();
window.postMessage({ msg: 'delete record by inject script', from: 'inject-script' });
}
async function sendMsgToContentScript() {
console.log('[Demo] ==============================================');
console.log('[Demo] Test send message from inject script to content script');
$dbSheet.createRecords();
window.postMessage({ msg: 'ping from inject script', from: 'inject-script' });
}