ios download

This commit is contained in:
CPunisher 2020-05-22 22:17:26 +08:00
parent ec2090567b
commit e42d8945d0
2 changed files with 38 additions and 27 deletions

View File

@ -49,7 +49,7 @@ export function increaseDownloadData(value, callback) {
}) })
} }
export function recordDownloadDetail({text, value, type, params, history}) { export function recordDownloadDetail({text, value, type, params, history}, callback) {
if (!isLogin) return; if (!isLogin) return;
db.collection('QRDownloadData').add({ db.collection('QRDownloadData').add({
date: new Date().toString(), date: new Date().toString(),
@ -58,5 +58,7 @@ export function recordDownloadDetail({text, value, type, params, history}) {
type: type, type: type,
params: params, params: params,
history: history history: history
}).catch(console.error) }).then(res => {
if (callback) callback(res);
}).catch(console.error);
} }

View File

@ -5,42 +5,51 @@ import {getDownloadCount, increaseDownloadData, recordDownloadDetail} from "../.
import {getParamDetailedValue, outerHtml} from "../../utils/util"; import {getParamDetailedValue, outerHtml} from "../../utils/util";
function saveDB(state, type, updateDownloadData) { function saveDB(state, type, updateDownloadData) {
increaseDownloadData(state.value, () => { return new Promise(resolve => {
getDownloadCount((res) => { increaseDownloadData(state.value, () => {
let downloadData = []; recordDownloadDetail({
res.data.forEach((item) => { text: state.textUrl,
downloadData[item.value] = item.count; value: state.value,
type: type,
params: state.paramInfo[state.selectedIndex].map((item, index) => {
const value = getParamDetailedValue(item, state.paramValue[state.selectedIndex][index])
if (typeof value != "string" || value.length <= 128) {
return {
key: item.key,
value: value
}
}
}),
history: state.history
}, () => {
getDownloadCount((res) => {
let downloadData = [];
res.data.forEach((item) => {
downloadData[item.value] = item.count;
});
updateDownloadData(downloadData);
resolve()
});
}); });
updateDownloadData(downloadData);
}); });
}); });
recordDownloadDetail({
text: state.textUrl,
value: state.value,
type: type,
params: state.paramInfo[state.selectedIndex].map((item, index) => {
const value = getParamDetailedValue(item, state.paramValue[state.selectedIndex][index])
if (typeof value != "string" || value.length <= 128) {
return {
key: item.key,
value: value
}
}
}),
history: state.history
});
} }
const mapStateToProps = (state, ownProps) => ({ const mapStateToProps = (state, ownProps) => ({
value: state.value, value: state.value,
downloadCount: state.downloadData[state.value], downloadCount: state.downloadData[state.value],
onSvgDownload: () => { onSvgDownload: () => {
saveSvg(state.value, outerHtml(state.selectedIndex)) saveSvg(state.value, outerHtml(state.selectedIndex));
saveDB(state, 'svg', ownProps.updateDownloadData) saveDB(state, 'svg', ownProps.updateDownloadData);
}, },
onJpgDownload: () => { onJpgDownload: () => {
saveDB(state, 'jpg', ownProps.updateDownloadData) return new Promise(resolve => {
return saveImg(state.value, outerHtml(state.selectedIndex), 1500, 1500) saveImg(state.value, outerHtml(state.selectedIndex), 1500, 1500).then((res) => {
saveDB(state, 'jpg', ownProps.updateDownloadData).then(() => {
resolve(res)
});
});
});
} }
}) })