greenPro/unpackage/dist/dev/mp-weixin/platforms/app-plus/feedback/feedback.js

199 lines
5.6 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use strict";
const common_vendor = require("../../../common/vendor.js");
const _sfc_main = {
data() {
return {
msgContents: ["界面显示错乱", "启动缓慢,卡出翔了", "UI无法直视丑哭了", "偶发性崩溃"],
stars: [1, 2, 3, 4, 5],
imageList: [],
sendDate: {
score: 0,
content: "",
contact: ""
}
};
},
onLoad() {
this.deviceInfo = {
// appid: plus.runtime.appid,
appid: "__UNI__5D0B0CA",
imei: plus.device.imei,
//设备标识
p: plus.os.name === "Android" ? "a" : "i",
//平台类型i表示iOS平台a表示Android平台。
md: plus.device.model,
//设备型号
app_version: plus.runtime.version,
plus_version: plus.runtime.innerVersion,
//基座版本号
os: plus.os.version,
net: "" + plus.networkinfo.getCurrentType()
};
this.sendDate = Object.assign(this.deviceInfo, this.sendDate);
},
methods: {
/**
* 关闭图片
* @param {Object} e
*/
close(e) {
this.imageList.splice(e, 1);
},
/**
* 快速输入
*/
chooseMsg() {
common_vendor.index.showActionSheet({
itemList: this.msgContents,
success: (res) => {
this.sendDate.content = this.msgContents[res.tapIndex];
}
});
},
/**
* 选择图片
*/
chooseImg() {
common_vendor.index.chooseImage({
sourceType: ["camera", "album"],
sizeType: "compressed",
count: 5 - this.imageList.length,
success: (res) => {
this.imageList = this.imageList.concat(res.tempFilePaths);
}
});
},
/**
* 评分
* @param {Object} e
*/
chooseStar(e) {
this.sendDate.score = e;
},
/**
* 预览图片
* @param {Object} index
*/
previewImage(index) {
common_vendor.index.previewImage({
urls: this.imageList,
current: this.imageList[index]
});
},
/**
* 提交
*/
send() {
if (this.sendDate.content.length === 0) {
common_vendor.index.showModal({
content: "请输入问题和意见",
showCancel: false
});
return;
}
common_vendor.index.showLoading({
title: "上传中..."
});
let imgs = this.imageList.map((value, index) => {
return {
name: "images" + index,
uri: value
};
});
this.request(this.sendDate, imgs).then((res) => {
if (typeof res.data === "string") {
res.data = JSON.parse(res.data);
}
if (res.statusCode === 200 && res.data && res.data.ret === 0) {
common_vendor.index.showModal({
content: "反馈成功",
showCancel: false
});
this.imageList = [];
this.sendDate = Object.assign(this.deviceInfo, {
score: 0,
content: "",
contact: ""
});
} else if (res.statusCode !== 200) {
common_vendor.index.showModal({
content: "反馈失败,错误码为:" + res.statusCode,
showCancel: false
});
} else {
common_vendor.index.showModal({
content: "反馈失败",
showCancel: false
});
}
}).catch((err) => {
console.log(err);
});
},
/**
* 发送请求到后台
*/
request(sendDate, imgs) {
return new Promise((resolve, reject) => {
let fromData = {
url: "https://service.dcloud.net.cn/feedback",
success: (res) => {
resolve(res);
},
fail: (res) => {
reject(res);
},
complete() {
common_vendor.index.hideLoading();
}
};
if (imgs.length > 0) {
fromData.files = imgs;
fromData.formData = sendDate;
common_vendor.index.uploadFile(fromData);
} else {
fromData.data = sendDate;
fromData.method = "POST";
common_vendor.index.request(fromData);
}
});
}
}
};
if (!Array) {
const _easycom_uni_rate2 = common_vendor.resolveComponent("uni-rate");
_easycom_uni_rate2();
}
const _easycom_uni_rate = () => "../../../uni_modules/uni-rate/components/uni-rate/uni-rate.js";
if (!Math) {
_easycom_uni_rate();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.o((...args) => $options.chooseMsg && $options.chooseMsg(...args)),
b: $data.sendDate.content,
c: common_vendor.o(($event) => $data.sendDate.content = $event.detail.value),
d: common_vendor.t($data.imageList.length),
e: common_vendor.f($data.imageList, (image, index, i0) => {
return {
a: image,
b: common_vendor.o(($event) => $options.previewImage(index), index),
c: common_vendor.o(($event) => $options.close(index), index),
d: index
};
}),
f: common_vendor.o((...args) => $options.chooseImg && $options.chooseImg(...args)),
g: $data.imageList.length < 5,
h: $data.sendDate.contact,
i: common_vendor.o(($event) => $data.sendDate.contact = $event.detail.value),
j: common_vendor.o(($event) => $data.sendDate.score = $event),
k: common_vendor.p({
color: "#bbb",
modelValue: $data.sendDate.score
}),
l: common_vendor.o((...args) => $options.send && $options.send(...args))
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "E:/xianyu/app/greenPro/platforms/app-plus/feedback/feedback.vue"]]);
wx.createPage(MiniProgramPage);