255 lines
6.6 KiB
JavaScript
255 lines
6.6 KiB
JavaScript
// pages/share/share.js
|
|
var app = getApp()
|
|
var config = {};
|
|
var font_number = 16;
|
|
var height = 0;
|
|
var screenWidth = 422;
|
|
var pic_load = false;
|
|
// var common = require('../../../common/common.js');
|
|
var screenHeight = 0;
|
|
var max_height = 0; //灰色背景应该有的最大高度
|
|
var avatar_height = 40;
|
|
var center_position = 0;
|
|
var max_pic_num = 3;
|
|
var today = new Date();
|
|
var time_now = today.getFullYear() + '.' + (today.getMonth() > 8 ? (today.getMonth() + 1) : '0' + (today.getMonth() + 1)) + '.' + (today.getDate() > 9 ? today.getDate() : '0' + today.getDate());
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
swiperHeight: 200,
|
|
info: {},
|
|
imagePath: "",
|
|
img_width: 0,
|
|
img_height: 0,
|
|
poster: [],
|
|
qrcode: 'https://api.gter.net/avatar/MyTnU9xKN9jCce4KMXDCQOyTNzEyODg4/=api',
|
|
canvas: {
|
|
height0: 0,
|
|
height1: 0,
|
|
height2: 0,
|
|
height4: 0,
|
|
height3: 0,
|
|
height5: 0,
|
|
height6: 0,
|
|
height7: 0,
|
|
height8: 0,
|
|
height9: 0,
|
|
height10: 0,
|
|
height11: 0
|
|
},
|
|
current_index: 0,
|
|
max_height: 500,
|
|
show_share_box: false,
|
|
user: {},
|
|
share_info: {},
|
|
imgs: [],
|
|
width: 0,
|
|
height: 0,
|
|
screenwidth: 0,
|
|
options: {}
|
|
},
|
|
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
wx.showLoading({
|
|
// title: 'onLoad',
|
|
})
|
|
screenWidth = wx.getSystemInfoSync().screenWidth;
|
|
// min
|
|
this.setData({
|
|
uniqid: options.uniqid || '',
|
|
token: options.token || '',
|
|
img_width: screenWidth - 104,
|
|
user: app.globalData.user,
|
|
screenwidth: wx.getSystemInfoSync().screenWidth,
|
|
options: options
|
|
})
|
|
let that = this;
|
|
wx.getStorage({
|
|
key: 'share_info',
|
|
success: function (res) {
|
|
that.data.imgs = res.data.pic.concat(res.data.text);
|
|
that.setData({
|
|
share_info: res.data,
|
|
imgs: that.data.imgs
|
|
})
|
|
for (let i = 0; i < that.data.imgs.length; i++) {
|
|
let obj = {
|
|
src: that.data.imgs[i],
|
|
height: 0,
|
|
save: false
|
|
}
|
|
that.data.poster.push(obj)
|
|
that.get_img_height(i)
|
|
}
|
|
that.setData({
|
|
poster: that.data.poster
|
|
})
|
|
|
|
},
|
|
fail: function (res) {
|
|
console.log(res)
|
|
}
|
|
})
|
|
|
|
screenHeight = wx.getSystemInfoSync().screenHeight;
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
get_img_height: function (index) {
|
|
let that = this;
|
|
wx.showLoading({})
|
|
|
|
wx.getImageInfo({
|
|
src: that.data.imgs[index],
|
|
success: function (res) {
|
|
console.log(res);
|
|
wx.hideLoading()
|
|
if (res.errMsg != 'getImageInfo:ok') return
|
|
// return
|
|
that.data.poster[index].height = res.height;
|
|
that.data.poster[index].src = res.path;
|
|
|
|
that.setData({
|
|
height: Math.max(that.data.height, res.height),
|
|
width: res.width,
|
|
poster: that.data.poster
|
|
})
|
|
}
|
|
})
|
|
return
|
|
wx.downloadFile({
|
|
url: that.data.imgs[index], //仅为示例,并非真实的资源
|
|
success: function (res) {
|
|
if (res.statusCode == 200) {
|
|
wx.hideLoading()
|
|
that.data.poster[index].src = res.tempFilePath;
|
|
that.setData({
|
|
poster: that.data.poster
|
|
})
|
|
wx.getImageInfo({
|
|
src: res.tempFilePath,
|
|
success: function (res) {
|
|
that.data.poster[index].height = res.height;
|
|
that.setData({
|
|
height: Math.max(that.data.height, res.height),
|
|
width: res.width,
|
|
poster: that.data.poster
|
|
})
|
|
}
|
|
})
|
|
}
|
|
}
|
|
})
|
|
// wx.getImageInfo({
|
|
// src: that.data.imgs[index],
|
|
// success: function (res) {
|
|
// that.data.poster[index].height = res.height;
|
|
// that.setData({
|
|
// height: Math.max(that.data.height, res.height),
|
|
// width: res.width,
|
|
// poster: that.data.poster
|
|
// })
|
|
|
|
// }
|
|
// })
|
|
},
|
|
|
|
change_page: function (e) {
|
|
this.setData({
|
|
current_index: e.detail.current
|
|
})
|
|
},
|
|
save_img: function () {
|
|
let that = this;
|
|
|
|
wx.saveFile({
|
|
tempFilePath: that.data.poster[that.data.current_index].src,
|
|
})
|
|
},
|
|
save_pic: function () {
|
|
let that = this;
|
|
let index = that.data.current_index;
|
|
let src = that.data.poster[index].src;
|
|
if (!that.data.poster[index].save) {
|
|
wx.saveImageToPhotosAlbum({
|
|
filePath: src,
|
|
success: function (res) {
|
|
that.data.poster[index].save = true;
|
|
that.setData({
|
|
poster: that.data.poster,
|
|
show_share_box: true
|
|
})
|
|
},
|
|
complete: function (res) {
|
|
if (res.errMsg == "saveImageToPhotosAlbum:fail:auth denied" || res.errMsg == "saveImageToPhotosAlbum:fail auth deny" || res.errMsg == "saveImageToPhotosAlbum:fail authorize no response") {
|
|
wx.showModal({
|
|
title: '提示',
|
|
content: '需要您授权保存相册',
|
|
showCancel: true,
|
|
success: modalSuccess => {
|
|
wx.openSetting({
|
|
success(settingdata) {
|
|
console.log(settingdata);
|
|
if (settingdata.authSetting['scope.writePhotosAlbum']) {
|
|
wx.showModal({
|
|
title: '提示',
|
|
content: '获取权限成功,再次点击图片即可保存',
|
|
showCancel: false,
|
|
})
|
|
}
|
|
},
|
|
fail(failData) {
|
|
console.log("failData", failData)
|
|
},
|
|
complete(finishData) {
|
|
console.log("finishData", finishData)
|
|
}
|
|
})
|
|
}
|
|
})
|
|
}
|
|
}
|
|
})
|
|
} else {
|
|
that.setData({
|
|
show_share_box: true
|
|
})
|
|
}
|
|
|
|
},
|
|
close_share: function () {
|
|
this.setData({
|
|
show_share_box: false
|
|
})
|
|
},
|
|
longtap: function (e) {
|
|
console.log('longtap', e)
|
|
},
|
|
click: function (e) {
|
|
console.log(e)
|
|
},
|
|
preview_img: function (e) {
|
|
let that = this;
|
|
let index = that.data.current_index;
|
|
wx.previewImage({
|
|
current: that.data.imgs[index], // 当前显示图片的http链接
|
|
urls: that.data.imgs // 需要预览的图片http链接列表
|
|
})
|
|
},
|
|
onload(e) {
|
|
let that = this;
|
|
let height = e.detail.height / e.detail.width * this.data.img_width;
|
|
this.setData({
|
|
swiperHeight: Math.max(that.data.swiperHeight, height)
|
|
})
|
|
}
|
|
}) |