<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');
})
})