B2B网络软件
标题:
苹果脚本实例1剪贴板功能集成
[打印本页]
作者:
YYPOST群发软件
时间:
5 小时前
标题:
苹果脚本实例1剪贴板功能集成
苹果脚本实例1剪贴板功能集成
2.png
(954.94 KB, 下载次数: 0)
下载附件
5 小时前
上传
3.png
(972.19 KB, 下载次数: 0)
下载附件
5 小时前
上传
/**
* ============================================
* 🍎 剪贴板功能集成 - 与H5日志系统结合
* 版本: 2.0.0
* 平台: iOS (AIWROK)
* 功能: 剪贴板读写、H5界面日志集成
* 交流QQ群: 711841924 (群一) / 528816639 (苹果内测群)
* ============================================
*/
/**
* 剪贴板管理器 - 与现有H5日志系统集成
*/
var ClipboardManager = {
history: [],
maxHistorySize: 50,
init: function() {
this.history = [];
LogManagerH5.success('剪贴板管理器初始化完成');
return this;
},
_addToHistory: function(action, content, success) {
this.history.push({
timestamp: Date.now(),
action: action,
content: content.length > 100 ? content.substring(0, 100) + '...' : content,
success: success
});
if (this.history.length > this.maxHistorySize) {
this.history.shift();
}
},
_truncate: function(str, maxLen) {
if (str.length <= maxLen) return str;
return str.substring(0, maxLen) + '...';
},
copy: function(text) {
if (text === null || text === undefined || String(text).length === 0) {
LogManagerH5.error('复制失败: 内容为空');
return false;
}
var content = String(text);
try {
clipboard.copyToClipboard(content);
LogManagerH5.info('📋 复制成功: ' + this._truncate(content, 50));
this._addToHistory('copy', content, true);
return true;
} catch (e) {
LogManagerH5.error('复制失败: ' + e.message);
this._addToHistory('copy', content, false);
return false;
}
},
copyPIP: function(text) {
if (text === null || text === undefined || String(text).length === 0) {
LogManagerH5.error('PIP复制失败: 内容为空');
return false;
}
var content = String(text);
try {
clipboard.copyToClipboardPIP(content);
LogManagerH5.info('📋 PIP复制成功: ' + this._truncate(content, 50));
this._addToHistory('copyPIP', content, true);
return true;
} catch (e) {
LogManagerH5.error('PIP复制失败: ' + e.message);
this._addToHistory('copyPIP', content, false);
return false;
}
},
read: function() {
try {
var content = clipboard.readFromClipboard();
if (content && content.length > 0) {
LogManagerH5.info('📄 读取成功: ' + this._truncate(content, 50));
this._addToHistory('read', content, true);
} else {
LogManagerH5.warn('剪贴板为空或读取失败');
this._addToHistory('read', '', false);
}
return content || '';
} catch (e) {
LogManagerH5.error('读取失败: ' + e.message);
this._addToHistory('read', '', false);
return '';
}
},
clear: function() {
try {
clipboard.copyToClipboard('');
LogManagerH5.success('剪贴板已清空');
return true;
} catch (e) {
LogManagerH5.error('清空失败: ' + e.message);
return false;
}
},
showHistory: function() {
LogManagerH5.info('========== 操作历史 ==========');
if (this.history.length === 0) {
LogManagerH5.info('暂无操作历史');
return;
}
for (var i = 0; i < this.history.length; i++) {
var item = this.history[i];
var status = item.success ? '✓' : '✗';
LogManagerH5.info(status + ' ' + item.action + ': ' + item.content);
}
LogManagerH5.info('========== 历史结束 ==========');
}
};
/**
* 剪贴板演示函数
*/
function runClipboardDemo() {
LogManagerH5.success('🚀 开始剪贴板功能演示');
// 初始化剪贴板管理器
ClipboardManager.init();
// 演示1: 基本操作
LogManagerH5.info('【演示1】基本操作');
ClipboardManager.copy('Hello, AIWROK! 你好世界!');
_sleep(300);
ClipboardManager.read();
_sleep(300);
// 演示2: 多种数据类型
LogManagerH5.info('【演示2】多种数据类型');
var testData = [
{ label: '普通文本', value: '这是一段普通文本内容' },
{ label: '手机号', value: '13800138000' },
{ label: '邮箱', value: 'test@example.com' },
{ label: 'URL', value: 'https://www.aiwork24.com' }
];
for (var i = 0; i < testData.length; i++) {
LogManagerH5.info('复制' + testData[i].label);
ClipboardManager.copy(testData[i].value);
_sleep(200);
}
// 演示3: PIP模式
LogManagerH5.info('【演示3】PIP模式');
ClipboardManager.copyPIP('PIP模式测试数据 ' + Date.now());
_sleep(300);
ClipboardManager.read();
_sleep(300);
// 演示4: 操作历史
LogManagerH5.info('【演示4】操作历史');
ClipboardManager.showHistory();
_sleep(300);
// 演示5: 错误处理
LogManagerH5.info('【演示5】错误处理');
ClipboardManager.copy(''); // 空内容测试
_sleep(200);
ClipboardManager.copy(null); // null值测试
_sleep(200);
// 演示6: 文本框操作
LogManagerH5.info('【演示6】文本框操作');
demoTextBoxOperation();
_sleep(300);
LogManagerH5.success('🎉 剪贴板功能演示完成');
}
/**
* 演示文本框操作
* 功能: 粘贴、复制、删除
*/
function demoTextBoxOperation() {
LogManagerH5.info('========== 文本框操作演示 ==========');
// 步骤1: 先复制一些内容到剪贴板
LogManagerH5.info('【步骤1】复制内容到剪贴板');
var demoContent = '这是一段用于演示的文本内容!AIWROK苹果技术';
ClipboardManager.copy(demoContent);
_sleep(300);
// 步骤2: 读取剪贴板内容
LogManagerH5.info('【步骤2】读取剪贴板内容');
var readContent = ClipboardManager.read();
LogManagerH5.info('读取到: ' + readContent);
_sleep(300);
// 步骤3: 模拟粘贴到文本框(通过setDemoText)
LogManagerH5.info('【步骤3】模拟粘贴到文本框');
if (typeof setDemoText === 'function') {
setDemoText(readContent);
} else {
LogManagerH5.info('📝 文本框内容: ' + readContent);
}
_sleep(300);
// 步骤4: 模拟复制文本框内容
LogManagerH5.info('【步骤4】复制文本框内容到剪贴板');
if (typeof setDemoText === 'function') {
ClipboardManager.copy(readContent + ' - 已复制');
} else {
ClipboardManager.copy(readContent);
}
_sleep(300);
// 步骤5: 验证复制结果
LogManagerH5.info('【步骤5】验证复制结果');
var verifyContent = ClipboardManager.read();
if (verifyContent.indexOf(readContent) !== -1) {
LogManagerH5.success('✅ 复制验证成功');
} else {
LogManagerH5.warn('⚠️ 复制验证: 内容已更新');
}
_sleep(300);
// 步骤6: 清空操作
LogManagerH5.info('【步骤6】清空文本框');
ClipboardManager.clear();
if (typeof setDemoText === 'function') {
setDemoText('');
}
_sleep(300);
// 步骤7: 验证清空结果
var emptyContent = ClipboardManager.read();
if (!emptyContent || emptyContent.length === 0) {
LogManagerH5.success('✅ 清空验证成功');
}
LogManagerH5.info('========== 文本框操作演示结束 ==========');
}
/**
* 导出函数供其他脚本调用
*/
function getClipboardManager() {
return ClipboardManager;
}
/**
* 快速测试函数
*/
function testClipboard() {
LogManagerH5.info('🔧 开始剪贴板快速测试');
var testText = '测试文本 ' + Date.now();
LogManagerH5.info('复制: ' + testText);
var success = ClipboardManager.copy(testText);
if (success) {
_sleep(500);
var content = ClipboardManager.read();
LogManagerH5.info('读取: ' + content);
if (testText === content) {
LogManagerH5.success('✅ 复制和读取成功,内容一致');
} else {
LogManagerH5.error('❌ 复制和读取失败,内容不一致');
}
}
LogManagerH5.info('🔧 剪贴板测试完成');
}
/**
* 主函数 - 自动执行演示
*/
function main() {
// 检查是否在H5环境中
if (typeof LogManagerH5 === 'undefined') {
printl('错误: 请先加载LogBridge.js和创建WebView');
return;
}
LogManagerH5.info('📋 剪贴板功能集成已加载');
LogManagerH5.info('使用方法:');
LogManagerH5.info(' 1. runClipboardDemo() - 运行完整演示');
LogManagerH5.info(' 2. testClipboard() - 运行快速测试');
LogManagerH5.info(' 3. getClipboardManager() - 获取管理器实例');
LogManagerH5.info(' 4. startAutoDemo() - 开始自动循环演示 (H5)');
LogManagerH5.info(' 5. stopAutoDemo() - 停止自动演示 (H5)');
// 自动运行基础演示
_sleep(1000);
runClipboardDemo();
// 注意:自动循环演示需要手动点击H5界面的"开始演示"按钮启动
LogManagerH5.info('💡 提示: 点击H5界面中的"开始演示"按钮启动自动循环演示');
}
main();
复制代码
欢迎光临 B2B网络软件 (http://bbs.niubt.cn/)
Powered by Discuz! X3.2