|
@@ -28,6 +28,9 @@ Page({
|
|
|
_imgMD5: null,
|
|
|
_imgIndex: null,
|
|
|
_imgNext: 0,
|
|
|
+ max_scale: 2,
|
|
|
+ _hasPermission: false,
|
|
|
+ wallpaper: {},
|
|
|
},
|
|
|
cropper: null,
|
|
|
callback() {
|
|
@@ -71,13 +74,69 @@ Page({
|
|
|
that.setData({
|
|
|
src: tempFilePaths
|
|
|
});
|
|
|
+
|
|
|
+ // todo 测试用
|
|
|
// that.testUpload(tempFilePaths)
|
|
|
}, fail(res) {
|
|
|
console.log(res)
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ testUpload(url) {
|
|
|
+ let _this = this
|
|
|
+
|
|
|
+ // 读取裁剪的jpg图片
|
|
|
+ const fs = wx.getFileSystemManager();
|
|
|
+ fs.readFile({
|
|
|
+ filePath: url,
|
|
|
+ encoding: '', // 不指定编码以获取原始二进制数据
|
|
|
+ success: (obj) => {
|
|
|
+ console.log("加载文件成功:", obj.data.byteLength, obj.data.length)
|
|
|
+
|
|
|
+ fs.getFileInfo({
|
|
|
+ "filePath": url, "digestAlgorithm": "md5", success: (res) => {
|
|
|
+ console.log("md5:", res)
|
|
|
+ console.log("加载文件成功:", obj.data.byteLength, obj.data.length, obj.getFileInfo)
|
|
|
+
|
|
|
+ let binData = obj.data;
|
|
|
+ // let myMd5 = _this.getImgMd5(binData)
|
|
|
+ // let my2Md5 = _this.getImg2Md5(binData)
|
|
|
+ // let my3Md5 = _this.getImg3Md5(binData)
|
|
|
+ wx.setClipboardData({
|
|
|
+ data: myMd5,
|
|
|
+ fail: (err) => {
|
|
|
+ console.error('setClipboardData失败:', err);
|
|
|
+ },
|
|
|
+ success: (res) => {
|
|
|
+ console.log('setClipboardData成功:', res);
|
|
|
+ },
|
|
|
+ })
|
|
|
+ _this.sliceDataIntoChunks(binData, 64);
|
|
|
+
|
|
|
+ console.log("加载文件成功2:", binData.byteLength, binData.length)
|
|
|
+ _this.data._imageBufferLength = binData.byteLength ?? binData.length
|
|
|
+ wx.hideLoading();
|
|
|
+ wx.showLoading({
|
|
|
+ title: '开始传输壁纸',
|
|
|
+ })
|
|
|
+ _this.data._imgMD5 = res.digest
|
|
|
+ _this.data._imgIndex = 0
|
|
|
+ console.log("md5 2:", res.digest)
|
|
|
+ _this.startImage()
|
|
|
+ }, fail: (err) => {
|
|
|
+ console.error('getFileInfo失败:', err);
|
|
|
+ },
|
|
|
+ })
|
|
|
+
|
|
|
+ },
|
|
|
+ fail: (err) => {
|
|
|
+ console.error('读取 .bin 文件失败:', err);
|
|
|
+ },
|
|
|
+ });
|
|
|
+ // 651kb的
|
|
|
+ // _this.downloadAndSaveFile("https://music-play.oss-cn-shenzhen.aliyuncs.com/backOss/file/8770a6097d9940b59032d099b2fdde3b.bin");
|
|
|
|
|
|
+ },
|
|
|
loadimage(e) {
|
|
|
wx.hideLoading();
|
|
|
console.log('壁纸', e);
|
|
@@ -98,6 +157,9 @@ Page({
|
|
|
},
|
|
|
submit() {
|
|
|
let _this = this
|
|
|
+ if (_this.data._chunks.length > 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
// 读取裁剪的jpg图片
|
|
|
const fs = wx.getFileSystemManager();
|
|
@@ -120,11 +182,13 @@ Page({
|
|
|
console.log("加载文件成功:", obj.data.byteLength, obj.data.length, obj.getFileInfo)
|
|
|
|
|
|
let binData = obj.data;
|
|
|
- let myMd5 = _this.getImgMde5(binData)
|
|
|
+ // let myMd5 = _this.getImgMd5(binData)
|
|
|
+ // let my2Md5 = _this.getImg2Md5(binData)
|
|
|
+ // let my3Md5 = _this.getImg3Md5(binData)
|
|
|
wx.setClipboardData({
|
|
|
data: myMd5,
|
|
|
})
|
|
|
- _this.sliceDataIntoChunks(binData, 128);
|
|
|
+ _this.sliceDataIntoChunks(binData, 64);
|
|
|
|
|
|
console.log("加载文件成功2:", binData.byteLength, binData.length)
|
|
|
_this.data._imageBufferLength = binData.byteLength ?? binData.length
|
|
@@ -231,12 +295,12 @@ Page({
|
|
|
// }
|
|
|
this.data._chunks = chunks;
|
|
|
},
|
|
|
- getImgMde5(buffer) {
|
|
|
+ getImgMd5(buffer) {
|
|
|
let md5ctx = js_md5.md5_init();
|
|
|
js_md5.md5_update(md5ctx, buffer, buffer.byteLength ?? buffer.length);
|
|
|
let result = js_md5.md5_final(md5ctx);
|
|
|
let md5 = js_md5.md5_encode_hex(result, 16);
|
|
|
- console.log("result:", md5);
|
|
|
+ console.log("result:", md5, result);
|
|
|
return md5
|
|
|
},
|
|
|
sendImageMD5() {
|
|
@@ -348,17 +412,34 @@ Page({
|
|
|
showCropImg: false
|
|
|
});
|
|
|
},
|
|
|
+ hasImage(image) {
|
|
|
+ let that = this;
|
|
|
+ that.cropper.imgReset();
|
|
|
+ // 有图片的进制缩放
|
|
|
+ that.setData({
|
|
|
+ src: image.pic,
|
|
|
+ max_scale: 1,
|
|
|
+ });
|
|
|
+ },
|
|
|
/**
|
|
|
* 生命周期函数--监听页面加载
|
|
|
*/
|
|
|
onLoad(options) {
|
|
|
- this.checkAndRequestImagePermission()
|
|
|
+
|
|
|
this.cropper = this.selectComponent("#image-cropper");
|
|
|
this.cropper.imgReset();
|
|
|
+ let image = options.param ?? {}
|
|
|
+ if (image.pic) {
|
|
|
+ let json = JSON.parse(image)
|
|
|
+ this.hasImage(json)
|
|
|
+ } else {
|
|
|
+ console.log("没有图片")
|
|
|
+ this.checkAndRequestImagePermission()
|
|
|
+ this.upload(); //上传壁纸
|
|
|
+ }
|
|
|
// this.setData({
|
|
|
// scr:json,
|
|
|
// })
|
|
|
- this.upload(); //上传壁纸
|
|
|
|
|
|
let _this = this;
|
|
|
EventManager.addNotification(CmdEvent.eventName, function (event) {
|