{
+ try {
+ // 获取命令行参数中的源文件路径
+ const sourcePath = process.argv[2];
+
+ if (!sourcePath) {
+ throw new Error(ErrorMessages.NO_SOURCE);
+ }
+
+ const baseDir: string = resolve('./');
+ const destinationPath = './res/icon/android/logo.png';
+
+ // 打印初始信息
+ consola.info('开始替换Logo');
+ consola.info('当前目录: ' + baseDir);
+ consola.info('源文件: ' + sourcePath);
+
+ // 验证文件类型
+ if (!isValidImageFile(sourcePath)) {
+ throw new Error(ErrorMessages.INVALID_FILE_TYPE);
+ }
+
+ // 根据源文件类型处理(URL或本地文件)
+ if (isValidUrl(sourcePath)) {
+ consola.info('正在从URL下载文件...');
+ const tempFile = path.join(baseDir, 'temp-logo' + path.extname(sourcePath));
+
+ try {
+ // 下载并替换文件
+ await downloadFile(sourcePath, tempFile);
+ copy(tempFile, destinationPath);
+ consola.success('Logo替换成功');
+ } finally {
+ // 清理临时文件
+ if (fs.existsSync(tempFile)) {
+ fs.unlinkSync(tempFile);
+ }
+ }
+ } else {
+ // 处理本地文件
+ const localPath = path.resolve(sourcePath);
+ if (!fs.existsSync(localPath)) {
+ throw new Error(ErrorMessages.FILE_NOT_EXIST);
+ }
+
+ // 复制文件
+ copy(localPath, destinationPath);
+ consola.success('Logo替换成功');
+ }
+
+ } catch (error) {
+ consola.error('Logo替换失败:', error.message);
+ process.exit(1);
+ }
+}
+
+// 执行主函数
+main().catch(error => {
+ consola.error(ErrorMessages.UNEXPECTED_ERROR, error);
+ process.exit(1);
+});
\ No newline at end of file
diff --git a/www/index.html b/www/index.html
new file mode 100644
index 0000000..1c28e2e
--- /dev/null
+++ b/www/index.html
@@ -0,0 +1,175 @@
+
+
+
+
+
+ Hello World
+
+
+
+
+
+
+
+
+
+
+
Cordova plugins
+ 获取设备信息
+ 打开百度
+ 设备震动
+ 扫码
+ 拍照
+ 文件打印
+ 版本升级
+ 安装apk
+ 自定义插件
+
+
+
+
+
+