123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- function arrayBufferToString(buffer) {
- return new Uint8Array(buffer).toString()
- }
- function stringToArrayBuffer(str) {
- return new Uint8Array(str.split(',')).buffer
- }
- // file 切片
- function localFileSlice(file = null, callback) {
- let blobSlice = File.prototype.slice || File.prototype.mozSlice ||
- File.prototype.webkitSlice,
- chunkSize = 1024 * 1024, // Read in chunks of 1MB
- chunks = Math.ceil(file.size / chunkSize),
- currentChunk = 0,
- fileReader = new FileReader(),
- result = []
- fileReader.onload = function (e) {
- result.push(e.target.result);
- currentChunk++;
- if (currentChunk < chunks) {
- loadNext();
- } else {
- callback && callback(result);
- }
- };
- fileReader.onerror = function () {
- console.error('文件读取失败');
- callback && callback('');
- };
- function loadNext() {
- let start = currentChunk * chunkSize,
- end = ((start + chunkSize) >= file.size) ? file.size : start + chunkSize;
- fileReader.readAsArrayBuffer(blobSlice.call(file, start, end));
- }
- loadNext();
- }
- // file md5
- function localFileToMD5(file = null, callback) {
- let blobSlice = File.prototype.slice || File.prototype.mozSlice ||
- File.prototype.webkitSlice,
- chunkSize = 1024 * 1024 * 2, // Read in chunks of 2MB
- chunks = Math.ceil(file.size / chunkSize),
- currentChunk = 0,
- fileReader = new FileReader(),
- spark = new SparkMD5.ArrayBuffer()
- fileReader.onload = function (e) {
- spark.append(e.target.result);
- currentChunk++;
- if (currentChunk < chunks) {
- loadNext();
- } else {
- //获取md5
- let md5 = spark.end();
- callback && callback(md5);
- }
- };
- fileReader.onerror = function () {
- console.error('文件读取失败');
- callback && callback('');
- };
- function loadNext() {
- let start = currentChunk * chunkSize,
- end = ((start + chunkSize) >= file.size) ? file.size : start + chunkSize;
- fileReader.readAsArrayBuffer(blobSlice.call(file, start, end));
- }
- loadNext();
- }
- function formateTime(time) {
- const h = parseInt(time / 3600)
- const minute = parseInt(time / 60 % 60)
- const second = Math.ceil(time % 60)
- const hours = h < 10 ? '0' + h : h
- const formatSecond = second > 59 ? 59 : second
- return `${hours > 0 ? `${hours}:` : ''}${minute < 10 ? '0' + minute : minute}:${formatSecond < 10 ? '0' + formatSecond : formatSecond}`
- }
- function updateConfig(){
- axios({
- method: 'get',
- url: 'http://art-weapp.oss-cn-hangzhou.aliyuncs.com/chromeExtension/config.json',
- })
- .then(function (response) {
- let result = response.data
- chrome.storage.sync.get({ config: '' }, (item) => {
- if (!item.config) {
- chrome.storage.sync.set({ config: JSON.stringify(res) });
- return
- }
- let config = JSON.parse(item.config)
- if (config.version != result.version) {
- chrome.storage.sync.set({ config: JSON.stringify(result) });
- }
- });
- });
- }
|