mui(目录管理,压缩,发送)

 

<header class="mui-bar mui-bar-nav">
			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
			<h1 class="mui-title">文件发送</h1>
		</header>
		<div class="mui-content" style="background: #fff;">
			<ul class="mui-table-view mui-grid-view" id="ullist">
			</ul>
			<div id="nodata">
				未找到任何数据...
			</div>
		</div>
		<div style="height: 65px;"></div>
		<nav class="mui-bar mui-bar-tab">
			<a class="mui-tab-item" id="btn_create">
				<span class="mui-tab-label" style="color: #007AFF;">创建目录</span>
			</a>
		</nav>

		<div id="sheet1" class="mui-popover mui-popover-bottom mui-popover-action ">
			<!-- 可选择菜单 -->
			<ul class="mui-table-view">
				<li class="mui-table-view-cell" id="btn_delete">
					<a href="#">删除</a>
				</li>
				<li class="mui-table-view-cell" id="btn_send">
					<a href="#">压缩并发送</a>
				</li>
			</ul>
		</div>

 

mui.init({
				gestureConfig: {
					longtap: true
				}
			});
			mui.plusReady(function() {

				var _dirCount = 0;

				var _dirName = null;

				function bind(_dirlist) {

					document.getElementById('ullist').innerHTML = '';

					if (_dirlist.length == 0) {
						document.getElementById('nodata').style.display = 'block';

						return;
					} else {
						document.getElementById('nodata').style.display = 'none';
					}

					for (var i = 0; i < _dirlist.length; i++) {
						var _name = _dirlist[i].name;

						var li = document.createElement('li');

						li.className = 'mui-table-view-cell mui-media mui-col-xs-3';

						li.name = _name;

						li.innerHTML = '<a href="#">';
						if (_dirlist[i].isFile) {
							li.innerHTML += '<img class="mui-media-object" src="ysb.png" style="padding: 15px;">';
						} else {
							li.innerHTML += '<img class="mui-media-object" src="wjj.png" style="padding: 15px;">';
						}

						li.innerHTML += '<div class="mui-media-body">' + _name + '</div>';
						li.innerHTML += '</a>';

						document.getElementById('ullist').appendChild(li);
					}
				}

				function _loadRoot() {

					plus.nativeUI.showWaiting('加载中...');

					plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, function(fs) {
						fs.root.getDirectory('zip_root', {
							create: true,
							exclusive: false
						}, function(dir) {
							var dirReader = dir.createReader();

							dirReader.readEntries(function(entries) {

								_dirCount = entries.length;

								bind(entries);

								plus.nativeUI.closeWaiting();

							}, function(err) {
								plus.nativeUI.closeWaiting();
								alert(err.message);
							})

						}, function(err) {
							plus.nativeUI.closeWaiting();
							alert(err.message);
						})
					}, function(err) {
						plus.nativeUI.closeWaiting();
						alert(err.message);
					})
				}

				function _createDir(_name) {
					plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, function(fs) {
						fs.root.getDirectory('zip_root', {
							create: true,
							exclusive: false
						}, function(dir) {
							dir.getDirectory(_name, {
								create: true,
								exclusive: false
							}, function(dir) {
								mui.alert('创建成功!', '', '', function(e) {
									_loadRoot();
								}, 'div')
							}, function(err) {
								alert(err.message);
							})
						}, function(err) {
							alert(err.message);
						})
					}, function(err) {
						alert(err.message);
					})
				}

				function _deleteDir() {

					if (_dirName != null) {
						plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, function(fs) {
							fs.root.getDirectory('zip_root', {
								create: false,
								exclusive: false
							}, function(dir) {
								dir.getDirectory(_dirName, {
									create: false,
									exclusive: false
								}, function(dir1) {
									dir1.removeRecursively();
									dir1.remove(function() {
										_loadRoot();
									}, function() {
										_loadRoot();
									});
								}, function(err) {
									alert(err.message);
								})
							}, function(err) {
								alert(err.message);
							})
						}, function(err) {
							alert(err.message);
						})
					}
				}

				function _send(_filepath) {
					var main = plus.android.runtimeMainActivity();
					var Intent = plus.android.importClass("android.content.Intent");
					var Uri = plus.android.importClass("android.net.Uri");
					var File = plus.android.importClass("java.io.File");
					var shareIntent = new Intent(Intent.ACTION_SEND);

					var filePath = plus.io.convertLocalFileSystemURL(_filepath); //把应用内的文件路径转化为手机绝对路径  

					shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(filePath)));
					shareIntent.setType("*/*"); //此处可发送多种文件  
					//shareIntent.setType("application/pdf");//只发送pdf文件  
					main.startActivity(Intent.createChooser(shareIntent, "分享文件"));
				}

				function _zipForSend() {

					plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, function(fs) {
						fs.root.getDirectory('zip_root', {
							create: false,
							exclusive: false
						}, function(dir) {
							dir.getDirectory(_dirName, {
								create: false,
								exclusive: false
							}, function(dir1) {

								dir1.getMetadata(function(mdata) {

									alert(JSON.stringify(mdata));

									if (mdata.fileCount != 0) {
										var _zipFile = dir.fullPath + dir1.name + '.zip';

										plus.zip.compress(dir1.fullPath, _zipFile, function() {

											_send(_zipFile);

										}, function(err) {})
									}
								}, function(err) {
									alert(err.message);
								}, false)


							}, function(err) {
								alert(err.message);
							})
						}, function(err) {
							alert(err.message);
						})
					}, function(err) {
						alert(err.message);
					})


				}

				_loadRoot();

				document.getElementById('btn_create').addEventListener('tap', function() {

					var _name = (_dirCount + 1) + '_号文件夹';

					_createDir(_name)
				})

				mui('#ullist').on('longtap', 'li', function() {
					_dirName = this.name;

					mui('#sheet1').popover('toggle');
				})

				document.getElementById('btn_delete').addEventListener('tap', function() {

					_deleteDir(_dirName);

					mui('#sheet1').popover('toggle');
				})
				document.getElementById('btn_send').addEventListener('tap', function() {
					_zipForSend();

					mui('#sheet1').popover('toggle');
				})
			})

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值