wx-web/pages/community/release.js

140 lines
5.1 KiB
JavaScript

"use strict";
var common_vendor = require("../../common/vendor.js");
var tianjia = require("../../tianjia.js");
var config_index = require("../../config/index.js");
var api_index = require("../../api/index.js");
require("../../utils/request.js");
const _sfc_main = {
setup(__props) {
const rolesList = common_vendor.reactive([]);
const getRoleList = () => {
api_index.getAllRoles().then(({ status, data }) => {
if (Number(status) === 200 && Array.isArray(data)) {
rolesList.push(...data);
}
}).finally(getDraft);
};
const getDraft = () => {
api_index.getDraftData().then(({ status, data }) => {
if (Number(status) === 200) {
const { title: tit, content, role_ids } = (data == null ? void 0 : data.draft_info) || {};
const detail = typeof content === "string" ? JSON.parse(content) : {};
imageList.push(...detail.images);
title.value = tit;
text.value = detail.text;
const roles = rolesList.filter((role) => role_ids.includes(role.role_id));
relateRole.push(...roles);
}
});
};
common_vendor.onMounted(getRoleList);
const imageList = common_vendor.reactive([]);
const onUploadFile = () => {
common_vendor.index.chooseImage({
count: 1,
sizeType: ["original", "compressed"],
sourceType: ["album"],
success: ({ tempFilePaths, tempFiles }) => {
const [file] = tempFiles;
const size = file.size / 1024 / 1024;
if (size <= 1) {
api_index.uploadImage(file).then(({ status, data }) => {
if (Number(status) === 200 && data.file_id) {
imageList.push(data.file_id);
}
});
} else {
common_vendor.index.showToast({
title: "\u56FE\u7247\u5927\u5C0F\u4E0D\u80FD\u8D85\u8FC71MB",
icon: "none"
});
}
}
});
};
const title = common_vendor.ref("");
const text = common_vendor.ref("");
const relateRole = common_vendor.reactive([]);
const onChangeRole = (e) => {
const curIndex = e.detail.value;
const curSelectedRole = rolesList[curIndex];
const existenceRole = relateRole.find((item) => item.role_id === curSelectedRole.role_id);
if (!existenceRole) {
relateRole.push(curSelectedRole);
}
};
const onDeleteRole = (role) => {
const filterRoles = relateRole.filter((item) => item.role_id !== role.role_id);
relateRole.splice(0, relateRole.length);
relateRole.push(...filterRoles);
};
const onSubmit = async (type) => {
let errMessage = "";
if (imageList.length === 0) {
errMessage = "\u6700\u5C11\u4E0A\u4F20\u4E00\u5F20\u56FE\u7247";
} else if (title.value === "") {
errMessage = "\u8BF7\u586B\u5199\u6807\u9898";
} else if (text.value === "") {
errMessage = "\u8BF7\u586B\u5199\u5185\u5BB9";
} else if (relateRole.length === 0) {
errMessage = "\u8BF7\u9009\u62E9\u76F8\u5173\u89D2\u8272";
}
if (errMessage) {
common_vendor.index.showToast({
title: errMessage,
icon: "none"
});
} else {
const params = {
title: title.value,
role_ids: relateRole.map((role) => role.role_id),
content: JSON.stringify({
images: imageList,
text: text.value
})
};
const { status } = type === "release" ? await api_index.releaseContent(params) : await api_index.saveDraft(params);
if (Number(status) === 200) {
common_vendor.index.showToast({
title: "\u4FDD\u5B58\u6210\u529F",
icon: "none"
});
common_vendor.index.navigateBack();
}
}
};
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.f(common_vendor.unref(imageList), (item, k0, i0) => {
return {
a: `${common_vendor.unref(config_index.filePrefix)}${item}`,
b: item
};
}),
b: common_vendor.unref(imageList).length < 5
}, common_vendor.unref(imageList).length < 5 ? {
c: common_vendor.o(onUploadFile)
} : {}, {
d: title.value,
e: common_vendor.o(($event) => title.value = $event.detail.value),
f: text.value,
g: common_vendor.o(($event) => text.value = $event.detail.value),
h: common_vendor.f(common_vendor.unref(relateRole), (role, k0, i0) => {
return {
a: common_vendor.t(role.role_name),
b: common_vendor.o(($event) => onDeleteRole(role)),
c: role.role_id
};
}),
i: tianjia._imports_0,
j: common_vendor.unref(rolesList),
k: common_vendor.o(onChangeRole),
l: common_vendor.o(($event) => onSubmit("draft")),
m: common_vendor.o(($event) => onSubmit("release"))
});
};
}
};
var MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-40246838"], ["__file", "C:/Users/bzm15/Desktop/ix/mini_web-develop/pages/community/release.vue"]]);
wx.createPage(MiniProgramPage);