jiangchengfeiyi-xiaochengxu/unpackage/dist/dev/mp-weixin/pages/mine/Contact/Contact.js
2024-12-10 15:02:06 +08:00

261 lines
8.1 KiB
JavaScript

"use strict";
const common_vendor = require("../../../common/vendor.js");
const api_request = require("../../../api/request.js");
if (!Array) {
const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
_easycom_uni_popup2();
}
const _easycom_uni_popup = () => "../../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
if (!Math) {
_easycom_uni_popup();
}
const _sfc_main = {
__name: "Contact",
setup(__props) {
common_vendor.onMounted(() => {
getContacts();
});
const newContact = common_vendor.ref({
name: "",
phone: "",
isDefault: 0,
id: 0
});
const newContacts = common_vendor.ref({
name: "",
phone: "",
isDefault: 0,
id: 0
});
const editContact = async (index) => {
popup1.value.open("center");
const contact = filteredContacts.value[index];
newContact.value = {
name: contact.name,
id: contact.id,
phone: contact.phone,
isDefault: contact.isDefault
};
};
const handleIsDefaultChanges = (e) => {
let currentValue = newContact.value.isDefault;
let updatedValue = currentValue === 0 ? 1 : 0;
newContact.value.isDefault = updatedValue;
console.log(updatedValue);
};
const getContacts = async () => {
const res = await common_vendor.index.request({
url: api_request.baseUrl + "/contacts/list",
method: "POST",
header: {
cookie: common_vendor.wx$1.getStorageSync("cookie")
}
});
if (res.data.code === 1) {
const correctContacts = [];
let defaultContact = null;
res.data.data.forEach((contact) => {
if (contact.isDefault === 1) {
if (!defaultContact) {
defaultContact = contact;
} else {
contact.isDefault = 0;
}
}
correctContacts.push(contact);
});
filteredContacts.value = correctContacts;
if (defaultContact) {
const index = filteredContacts.value.findIndex(
(c) => c.id === defaultContact.id
);
if (index !== -1) {
filteredContacts.value[index].isDefault = 1;
}
}
} else {
common_vendor.index.showToast({
icon: "error",
title: "获取失败"
});
}
};
const searchText = common_vendor.ref("");
const filteredContacts = common_vendor.ref([]);
common_vendor.watch(searchText, () => {
if (searchText.value === "") {
filteredContacts.value = contacts.value;
} else {
filteredContacts.value = contacts.value.filter((contact) => {
return contact.name.includes(searchText.value) || contact.phone.includes(
searchText.value
);
});
}
});
const addContact = async () => {
popup.value.close();
if (newContacts.value.isDefault) {
for (let i = 0; i < filteredContacts.value.length; i++) {
if (filteredContacts.value[i].isDefault === 1) {
filteredContacts.value[i].isDefault = 0;
}
}
}
const res = await common_vendor.index.request({
url: api_request.baseUrl + "/contacts/add",
method: "POST",
header: {
cookie: common_vendor.wx$1.getStorageSync("cookie")
},
data: {
name: newContacts.value.name,
phone: newContacts.value.phone,
isDefault: newContacts.value.isDefault
}
});
if (res.data.code === 1) {
console.log("添加成功");
newContacts.value = {
name: "",
phone: "",
isDefault: 0,
id: 0
};
} else {
common_vendor.index.showToast({
icon: "error",
title: "添加失败"
});
}
getContacts();
};
const deleteContact = async (index) => {
const res = await common_vendor.index.request({
url: api_request.baseUrl + "/contacts/delete",
method: "POST",
header: {
cookie: common_vendor.wx$1.getStorageSync("cookie")
},
data: {
id: filteredContacts.value[index].id
}
});
console.log(res, "1111111111111");
if (res.data.code === 1) {
console.log("删除成功");
} else {
common_vendor.index.showToast({
icon: "error",
title: "删除失败"
});
}
getContacts();
};
common_vendor.ref({});
common_vendor.ref(null);
const saveModifiedContact = async () => {
popup1.value.close();
if (!newContact.value.name || !newContact.value.phone) {
common_vendor.index.showToast({
icon: "error",
title: "不能为空"
});
return;
}
if (newContact.value.isDefault) {
for (let i = 0; i < filteredContacts.value.length; i++) {
if (filteredContacts.value[i].isDefault === 1) {
filteredContacts.value[i].isDefault = 0;
}
}
}
const res = await common_vendor.index.request({
url: api_request.baseUrl + "/contacts/update",
method: "POST",
header: {
cookie: common_vendor.wx$1.getStorageSync("cookie")
},
data: {
name: newContact.value.name,
phone: newContact.value.phone,
id: newContact.value.id,
isDefault: newContact.value.isDefault
}
});
if (res.data.code === 1) {
console.log("更新成功");
console.log(newContact.value.isDefault, "000000000000000000000000 ");
} else {
common_vendor.index.showToast({
icon: "error",
title: "更新失败"
});
}
getContacts();
};
const popup = common_vendor.ref(null);
const popup1 = common_vendor.ref(null);
const open = () => {
popup.value.open("center");
};
const close = () => {
popup.value.close();
};
const close1 = () => {
popup1.value.close();
};
return (_ctx, _cache) => {
return {
a: newContacts.value.name,
b: common_vendor.o(($event) => newContacts.value.name = $event.detail.value),
c: newContacts.value.phone,
d: common_vendor.o(($event) => newContacts.value.phone = $event.detail.value),
e: common_vendor.o(($event) => handleIsDefaultChanges()),
f: newContacts.value.id,
g: common_vendor.o(addContact),
h: common_vendor.o(close),
i: common_vendor.sr(popup, "0aa6b83b-0", {
"k": "popup"
}),
j: common_vendor.p({
["mask-click"]: false,
["background-color"]: "white",
borderRadius: "10px"
}),
k: newContact.value.name,
l: common_vendor.o(($event) => newContact.value.name = $event.detail.value),
m: newContact.value.phone,
n: common_vendor.o(($event) => newContact.value.phone = $event.detail.value),
o: common_vendor.o(($event) => handleIsDefaultChanges()),
p: newContacts.value.id,
q: newContact.value.isDefault === 1,
r: common_vendor.o(saveModifiedContact),
s: common_vendor.o(close1),
t: common_vendor.sr(popup1, "0aa6b83b-1", {
"k": "popup1"
}),
v: common_vendor.p({
["mask-click"]: false,
["background-color"]: "white",
borderRadius: "10px"
}),
w: common_vendor.f(filteredContacts.value, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item.name),
b: common_vendor.t(item.phone),
c: item.isDefault === 1
}, item.isDefault === 1 ? {} : {}, {
d: common_vendor.o(($event) => editContact(index), index),
e: common_vendor.o(($event) => deleteContact(index), index),
f: index
});
}),
x: common_vendor.o(open)
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-0aa6b83b"], ["__file", "D:/jiangchengfeiyi-xiaochengxu/pages/mine/Contact/Contact.vue"]]);
wx.createPage(MiniProgramPage);