tpa_web_component
Version:
TPA Web Components Library
456 lines (413 loc) • 13.4 kB
JavaScript
import { removeCookie } from "./cookie";
import { ElLoading } from 'element-plus'
import { getDeviceInfoFromStorage, isUpThisVer } from './util';
export function pickFiles(callback) {
const loading = ElLoading.service({
lock: true,
text: '文件选择中',
background: 'rgba(0, 0, 0, 0.7)',
})
const data = JSON.stringify({
data: { type: 'xml' }
});
console.log("调用原生应用:pickFiles")
window.FilePickerModule?.pickFiles(data, (res) => {
console.log('调用原生的API的回调返回内容', res);
loading.close()
// if (res.code == 1) {
callback && callback(res.infos);
// }
});
}
/**
*
* 文件夹选择
*/
export function pickFolder(callback) {
const loading = ElLoading.service({
lock: true,
text: '文件选择中',
background: 'rgba(0, 0, 0, 0.7)',
})
const data = JSON.stringify({
data: { type: 'xml' }
});
console.log("调用原生应用:pickFolder")
window.FilePickerModule?.pickDirectory(data, (res) => {
console.log('调用原生的API的回调返回内容', res);
loading.close()
// if (res.code == 1) {
callback && callback(res.infos);
// }
});
}
export function sendLoginInfoToApp(loginInfo) {
const data = JSON.stringify({
data: loginInfo
});
console.log('data:', JSON.stringify(data));
window.LoginModule?.syncLoginInfo(data);
}
/**
* 更新应用中存储的staffID
* @param {*} currentStaffId
*/
export function updateCurrentStaff(currentStaffId) {
const data = JSON.stringify({
data: {
currentStaffId: currentStaffId
}
});
window.LoginModule?.updateCurrentStaff(data);
}
/**
* 从应用中获取用户数据
* @param {*} callback
*/
// TODO: fix 函数名称,只是拿企微账号相关信息
export function getLoginInfoFromApp(callback) {
window.LoginModule?.getWeworkAcccountInfo((res) => {
callback && callback(res);
});
}
/**
* 通知应用 token过期
* callback 用户已经重新登录,可以继续流程
*/
export function noticeAppTokenExpired(callback) {
removeCookie('e2mf', {
domain: '.xdf.cn'
});
removeCookie('e2e', {
domain: '.xdf.cn'
});
removeCookie('identify', {
domain: '.xdf.cn'
});
removeCookie('identify', {
domain: 'xdf.cn'
});
window.LoginModule?.tokenExpired((res) => {
console.log(142, res);
callback && callback(res);
});
}
/**
* 退出登录
*/
export function logout() {
console.log("退出登录")
window.LoginModule?.logout();
}
// 清楚缓存
export function clearWebCache() {
console.log('清除缓存')
window.LoginModule?.clearWebCache()
}
// 唤起安装程序
export function showUpdate(callback) {
console.log('唤起安装')
window.UpgradeModule?.summonInstallation((res) => {
callback && callback(res);
});
}
export function deleteFile(filePath, callback) {
console.log('删除文件')
window.FileModule?.deleteFile(filePath, (res) => {
callback && callback(res);
});
}
export function deleteFolder(folderPath, callback) {
console.log('删除文件夹')
window.FileModule?.deleteFolder(folderPath, (res) => {
callback && callback(res);
});
}
export function pickFileDirectory(callback) {
console.log('选择文件夹')
window.FileModule?.pickDirectory((res) => {
callback && callback(res);
});
}
export function getFileStatus(filePath, callback) {
console.log('查看文件状态')
window.FileModule?.getFileStatus(filePath, (res) => {
callback && callback(res);
});
}
export function getDiskSpace(folderPath, callback) {
console.log('查看磁盘空间')
window.FileModule?.getDiskSpace(folderPath, (res) => {
callback && callback(res);
});
}
export function copyLocalFile(filePath, newFilePath, callback) {
console.log('复制文件了')
window.FileModule?.copyLocalFile(filePath, newFilePath, (res) => {
callback && callback(res);
});
}
export function downloadFiles(files, callback) {
console.log('下载文件了', files)
const data = JSON.stringify({ data: { files } });
window.DownloadModule?.downloadFiles(data, (res) => {
callback && callback(res);
});
}
export function deleteCacheDirectory(callback) {
console.log('deleteCacheDirectory')
window.DownloadModule?.deleteCacheDirectory((res) => {
callback && callback(res);
});
}
export function getLinkFileList(files, callback) {
console.log('getLinkFileList')
const data = JSON.stringify({ data: { files } });
window.DownloadModule?.getLinkFileList(data, (res) => {
callback && callback(res);
});
}
export function moveFileToCacheByLink(urls, callback) {
console.log('moveFileToCacheByLink', urls)
const data = JSON.stringify({ data: { urls } });
window.DownloadModule?.moveFileToCacheByLink(data, (res) => {
callback && callback(res);
});
}
export function moveFileToCacheByFilePath(urls, callback) {
console.log('moveFileToCacheByFilePath', urls)
const data = JSON.stringify({ data: { urls } });
window.DownloadModule?.moveFileToCacheByFilePath(data, (res) => {
callback && callback(res);
});
}
// 从应用中获取设备信息
export function getDeviceInfoFromApp(callback) {
window.bonreeJsBridge && window.bonreeJsBridge?.setCustomLog("执行 getDeviceInfoFromApp window.DeviceModule" + window.DeviceModule);
console.log("getDeviceInfoFromApp的 window.DeviceModule" + window.DeviceModule)
window.bonreeJsBridge && window.bonreeJsBridge?.setCustomLog("执行 getDeviceInfoFromApp window.DeviceModule?.getDeviceInfo" + window.DeviceModule?.getDeviceInfo);
console.log("将要执行 getDeviceInfoFromApp的 window.DeviceModule.getDeviceInfo" + window.DeviceModule)
window.DeviceModule?.getDeviceInfo((res) => {
callback && callback(res);
});
}
export function getUpgradeInfoFromApp(callback) {
window.UpgradeModule?.getUpgradeInfo((res) => {
callback && callback(res);
});
}
// 获取 应用中的storage data:{markKey:kkk}
export function getMarkVersion(data, callback) {
data = JSON.stringify({ data: data });
window.StorageModule?.getMarkVersion(data, (res) => {
callback && callback(res);
});
}
// 更新 应用中的storage data:{markKey:kkk,version:vvv}
export function updateMarkVersion(data) {
data = JSON.stringify({ data: data });
window.StorageModule?.updateMarkVersion(data);
}
// 获取需要压缩的剧对目录
export function getZipFolderPath(data, callback) {
data = JSON.stringify({ data: data });
window.LogReportModule?.getZipPath(data, callback)
}
// 获取日志所在的根目录
export function getApplicationSupportDirectory(callback) {
window.LogReportModule?.getApplicationSupportDirectory(callback)
}
// 获取应用所需文件的根目录
export function getApplicationCacheDirectory(callback) {
window.LogReportModule?.getApplicationCacheDirectory(callback)
}
// 获取日志所在的所有目录,包含树状结构
export function getApplicationSupportDirectoryAllPath(callback) {
window.LogReportModule?.getApplicationSupportDirectoryAllPath(callback)
}
// 获取日志存储目录
export function getDownloadPath(callback) {
window.LogReportModule?.getDownloadPath(callback)
}
// 获取日志压缩包
export function getZipLog(data, callback) {
data = JSON.stringify({ data: data });
window.LogReportModule?.zipLog(data, callback)
}
// 获取未上传成功的内容
export function getLocalSendResult(taskId, callback) {
if (Array.isArray(taskId)) {
const data = JSON.stringify({ data: { ids: taskId } });
window.LocalResultModule?.getResult(data, callback)
} else if (typeof taskId == 'string') {
const data = JSON.stringify({ data: { ids: [taskId] } });
window.LocalResultModule?.getResult(data, callback)
} else {
throw "TaskId仅支持字符串或者字符串数组"
}
}
// 获取上传成功后删除本地存储的文件
export function removeLocalSendResult(taskId, callback) {
if (Array.isArray(taskId)) {
const data = JSON.stringify({ data: { ids: taskId } });
window.LocalResultModule?.removeResult(data, callback)
} else if (typeof taskId == 'string') {
const data = JSON.stringify({ data: { ids: [taskId] } });
window.LocalResultModule?.removeResult(data, callback)
} else {
throw "TaskId仅支持字符串或者字符串数组"
}
}
// 获取本地目前存储的所有结果文件对应id(taskId)
export function getLocalAllTaskIds(callback) {
window.LocalResultModule?.getLocalAllTaskIds(callback)
}
export function startGetMessage() {
console.log("----------------------------startGetMessage")
window.MessageNotifyModule?.startGetMessage(() => { })
}
// 注册监听消息中心的监听着
export function registerListener(callback = () => { }) {
console.log('--------------------------------registerListener')
window.MessageNotifyModule?.registerListener((res) => {
callback && callback(res)
})
}
// 将link资源添加到资源管理中
export function addLinkFileToAppResource(data, callback) {
data = JSON.stringify({ data: data })
console.log('addLinkFileToAppResource--------------------------',data)
window.TaskResourceModule?.addResources(data, (res) => {
callback && callback(res);
});
}
// 查询link资源当前状态
export function getLinkFileInfoFromResource(data, callback) {
data = JSON.stringify({ data: data })
// console.log('getLinkFileInfoFromResource--------------------------',data)
window.TaskResourceModule?.getResources(data, (res) => {
callback && callback(res);
});
}
//通知资源管理器 这些link资源已经使用完成
export function notifyResourceToRelease(data, callback) {
console.log('------------------------通知文件不用的API调用了', data)
data = JSON.stringify({ data: data })
window.TaskResourceModule?.releaseResources(data, (res) => {
callback && callback(res);
});
}
// 获取资源的存储路径
export function getDownloadLinkFilePath(callback){
window.TaskResourceModule?.getCachePath((res) => {
callback && callback(res);
});
}
// 清楚缓存
export function clearUselessFile(data={},callback){
data = JSON.stringify({ data: data })
window.TaskResourceModule?.clearTempResources(data,()=>{})
window.TaskResourceModule?.clearMagicBallLinkDict(data,()=>{})
window.TaskResourceModule?.clearDeprecatedResources(data, (res) => {
callback && callback(res);
});
}
// 修改下载的资源的目录
export function changeDownloadFilePath(data={},callback){
data = JSON.stringify({ data: data })
window.TaskResourceModule?.changeCachePath(data, (res) => {
callback && callback(res);
});
}
export function reloadLinkFile(data, callback) {
data = JSON.stringify({ data: data })
window.TaskResourceModule?.reloadResources(data, (res) => {
callback && callback(res);
});
}
// 发送检测
// 获取指定app状态
export function getAppState(data, callback) {
data = JSON.stringify({ data: data })
window.TaskPrepareModule?.getAppState(data, (res) => {
callback && callback(res);
});
}
// 获取指定app版本号
export function getAppVersion(data, callback) {
data = JSON.stringify({ data: data })
window.TaskPrepareModule?.getAppVersion(data, (res) => {
callback && callback(res);
});
}
// 获取屏幕缩放率(仅限windows)
export function getScreenScale(data, callback) {
data = JSON.stringify({ data: data })
window.TaskPrepareModule?.getScreenScale(data, (res) => {
callback && callback(res);
});
}
// 获取磁盘剩余空间
export function getDiskAvailableSpace(data, callback) {
data = JSON.stringify({ data: data })
window.TaskPrepareModule?.getDiskAvailableSpace(data, (res) => {
callback && callback(res);
});
}
// 检查依赖项丢失情况
export function checkDependencyState(data, callback) {
data = JSON.stringify({ data: data })
window.TaskPrepareModule?.checkDependencyState(data, (res) => {
callback && callback(res);
});
}
// 修复丢失依赖项
export function fixDependencyFiles(data, callback) {
data = JSON.stringify({ data: data })
window.TaskPrepareModule?.fixDependencyFiles(data, (res) => {
callback && callback(res);
});
}
// 修复丢失依赖项
export function openBrowser(data, callback) {
data = JSON.stringify({ data: data })
window.RouterModule?.openBrowser(data, (res) => {
callback && callback(res);
});
}
// 注册监听窗口操作的监听着
export function registerWindowEventListener(callback = () => { }) {
window.WindowHandelModule?.registerWindowEventListener((res) => {
callback && callback(res)
})
}
// 唤起窗口
export function showWindow(callback) {
window.WindowHandelModule?.showWindow((res) => {
callback && callback(res);
});
}
// 隐藏窗口
export function hideWindow(callback) {
window.WindowHandelModule?.hideWindow((res) => {
callback && callback(res);
});
}
// 关闭程序
export function exitApp(callback) {
window.WindowHandelModule?.exitApp((res) => {
callback && callback(res);
});
}
// 修改用户身份 staffRole
export function updateCurrentRole(currentRoleCode) {
var data = JSON.stringify({ data: {currentRoleCode} })
window.LoginModule?.updateCurrentRole(data);
}
// 修改用户角色
export function updatePageMode(currentPageMode) {
console.log('currentPageMode',currentPageMode);
var data = JSON.stringify({ data: {currentPageMode} })
console.log('data',data);
window.LoginModule?.updatePageMode(data);
}