"use strict";
|
const common_vendor = require("../../common/vendor.js");
|
const common_assets = require("../../common/assets.js");
|
const config_baseUrl = require("../../config/baseUrl.js");
|
const api_index = require("../../api/index.js");
|
const _sfc_main = {
|
__name: "index",
|
setup(__props) {
|
const topHeight = common_vendor.ref(0);
|
function getTopHeight() {
|
if (common_vendor.index.getMenuButtonBoundingClientRect) {
|
topHeight.value = common_vendor.index.getMenuButtonBoundingClientRect().top * 2;
|
}
|
}
|
const cardInfo = common_vendor.ref({
|
id: "",
|
userName: "微信用户",
|
headImg: "",
|
userPhone: "",
|
integral: "",
|
waterCardNumber: "",
|
balance: "",
|
count: "",
|
state: "",
|
//state:true:挂失,false:正常
|
cardType: "",
|
//卡类型01卡消费 02计次消费 03游客消费 04电子卡
|
userCardType: ""
|
//userCardType:true:共享卡,false:正常卡
|
});
|
const isLoss = common_vendor.ref(false);
|
const isVip = common_vendor.ref(false);
|
const isShareCard = common_vendor.ref(false);
|
async function getVipInfo() {
|
await api_index.getVipInfoApi().then((res) => {
|
if (res.code == 200 && res.data.id) {
|
console.log("获取会员卡返回响应-首页", res);
|
cardInfo.value.waterCardNumber = res.data.cardNumber;
|
cardInfo.value.cardType = res.data.cardType;
|
cardInfo.value.state = res.data.state == 2 ? true : false;
|
cardInfo.value.userCardType = res.data.userCardType == 2 ? true : false;
|
isLoss.value = cardInfo.value.state;
|
isShareCard.value = cardInfo.value.userCardType;
|
if (res.data.cardType == 1) {
|
cardInfo.value.balance = res.data.balance;
|
} else if (res.data.cardType == 2) {
|
cardInfo.value.count = res.data.count;
|
}
|
isVip.value = true;
|
console.log("cardInfo", cardInfo.value, "isShareCard.value", isShareCard.value);
|
}
|
});
|
}
|
async function getInfo() {
|
await api_index.getUserInfo().then(async (res) => {
|
if (res.code == 200) {
|
cardInfo.value.userName = res.data.userInfo.userName ? res.data.userInfo.userName : cardInfo.value.userName;
|
cardInfo.value.headImg = res.data.userInfo.headImg;
|
cardInfo.value.integral = res.data.userInfo.integral;
|
cardInfo.value.userPhone = res.data.userInfo.userPhone;
|
cardInfo.value.id = res.data.userInfo.id;
|
await getVipInfo();
|
console.log("00000", cardInfo.value);
|
common_vendor.index.setStorageSync("userInfo", JSON.stringify(cardInfo.value));
|
}
|
});
|
}
|
function toScan() {
|
common_vendor.index.scanCode({
|
scanType: ["qrCode"],
|
success: async function(res) {
|
console.log("条码内容:" + res.result);
|
common_vendor.index.navigateTo({
|
url: `/pages/scanWater/index?facilityCode=${res.result}`
|
});
|
}
|
});
|
}
|
const functionList = common_vendor.ref([
|
{ text: "余额记录", icon: "../../static/images/index/icon31.png", bgColor: "#16b387", url: "/pages/functionList/balanceRecord/index", isUrl: 1 },
|
{ text: "消费记录", icon: "../../static/images/index/icon32.png", bgColor: "#329ae8", url: "/pages/functionList/paymentRecord/index", isUrl: 1 },
|
{ text: "充值记录", icon: "../../static/images/index/icon33.png", bgColor: "#f0a50e", url: "/pages/functionList/rechargeRecord/index", isUrl: 1 },
|
{ text: "水卡共享", icon: "../../static/images/index/icon34.png", bgColor: "#55ca8c", url: "/pages/functionList/share/cardShare/index", isUrl: 1 },
|
{ text: "故障上报", icon: "../../static/images/index/icon35.png", bgColor: "#a88ff1", url: "/pages/infoBreakdown/index", isUrl: 1 },
|
{ text: "优惠卷", icon: "../../static/images/index/icon36.png", bgColor: "#18bfc4", url: "", isUrl: 4 },
|
{ text: "会员卡挂失", icon: "../../static/images/index/icon37.png", bgColor: "#4875f0", url: "", isUrl: 2 },
|
{ text: "会员卡解绑", icon: "../../static/images/index/icon38.png", bgColor: "#f45088", url: "", isUrl: 3 }
|
]);
|
function navTo(itemUrl) {
|
if (itemUrl) {
|
common_vendor.index.navigateTo({
|
url: itemUrl
|
});
|
}
|
}
|
async function setEvent(isUrl, url) {
|
if (isUrl == 1) {
|
navTo(url);
|
} else if (isUrl == 2) {
|
if (cardInfo.value.waterCardNumber) {
|
if (!isShareCard.value && !cardInfo.value.state) {
|
common_vendor.index.showModal({
|
title: "会员卡挂失",
|
content: "确认挂失会员卡?",
|
success: async function(res) {
|
if (res.confirm) {
|
await api_index.reportLossApi(cardInfo.value.waterCardNumber).then(async (res2) => {
|
if (res2.code == 200) {
|
common_vendor.index.showToast({
|
title: "已挂失",
|
duration: 2e3
|
});
|
await api_index.getVipInfoApi().then((res3) => {
|
if (res3.code == 200) {
|
if (res3.data.state == 2) {
|
isLoss.value = true;
|
}
|
}
|
});
|
}
|
});
|
}
|
}
|
});
|
} else if (isShareCard.value) {
|
common_vendor.index.showToast({
|
title: "共享卡无权限",
|
icon: "none"
|
});
|
} else if (cardInfo.value.state) {
|
common_vendor.index.showToast({
|
title: "已挂失",
|
icon: "none"
|
});
|
}
|
} else {
|
common_vendor.index.showToast({
|
title: "未绑定会员卡!",
|
icon: "none"
|
});
|
}
|
} else if (isUrl == 3) {
|
if (cardInfo.value.waterCardNumber) {
|
if (!isShareCard.value) {
|
common_vendor.index.showModal({
|
title: "会员卡注销",
|
content: "确认注销会员卡?",
|
success: async function(res) {
|
if (res.confirm) {
|
await api_index.removeCardApi(cardInfo.value.waterCardNumber).then(async (res2) => {
|
if (res2.code == 200) {
|
common_vendor.index.showToast({
|
title: "已注销",
|
duration: 2e3,
|
icon: "none"
|
});
|
await api_index.getVipInfoApi().then((res3) => {
|
if (res3.code == 200) {
|
if (!res3.data.id) {
|
isVip.value = false;
|
cardInfo.value.balance = "";
|
cardInfo.value.count = "";
|
cardInfo.value.waterCardNumber = "";
|
common_vendor.index.setStorageSync("userInfo", JSON.stringify(cardInfo.value));
|
}
|
}
|
});
|
}
|
});
|
}
|
}
|
});
|
} else {
|
common_vendor.index.showToast({
|
title: "共享卡无权限",
|
icon: "none"
|
});
|
}
|
} else {
|
common_vendor.index.showToast({
|
title: "未绑定会员卡!",
|
icon: "none"
|
});
|
}
|
} else {
|
upGrade();
|
}
|
}
|
function upGrade() {
|
common_vendor.index.showToast({
|
title: "该功能正在升级中!",
|
duration: 1e3,
|
icon: "none"
|
});
|
}
|
let userLocation = {
|
lat: "",
|
lon: ""
|
};
|
function getUserLocation() {
|
common_vendor.index.authorize({
|
scope: "scope.userLocation",
|
success() {
|
console.log("成功授权位置信息1");
|
storageLocation();
|
},
|
fail() {
|
console.log("用户拒绝授权位置信息,再次提示用户授权");
|
showToast();
|
}
|
});
|
function storageLocation() {
|
common_vendor.index.getLocation({
|
type: "gcj02",
|
isHighAccuracy: true,
|
success: (res) => {
|
userLocation.lat = res.latitude;
|
userLocation.lon = res.longitude;
|
common_vendor.index.setStorageSync("userLocation", JSON.stringify(userLocation));
|
},
|
fail: () => {
|
showToast();
|
}
|
});
|
}
|
function showToast() {
|
common_vendor.index.showModal({
|
title: "请求授权当前位置",
|
content: "请求获取您的位置,加载附近饮水设备信息!",
|
confirmText: "前往设置",
|
success: (res) => {
|
if (res.confirm) {
|
common_vendor.index.openSetting({
|
success: (res1) => {
|
if (res1.authSetting["scope.userLocation"]) {
|
console.log("用户二次授权成功");
|
setTimeout(() => {
|
storageLocation();
|
}, 1e3);
|
} else {
|
showToast();
|
console.log("用户拒绝授权");
|
}
|
}
|
});
|
} else {
|
common_vendor.index.showToast({
|
title: "请先授权!",
|
duration: 2e3,
|
icon: "none"
|
});
|
showToast();
|
}
|
}
|
});
|
}
|
}
|
common_vendor.onMounted(async () => {
|
getTopHeight();
|
await getInfo();
|
await getUserLocation();
|
console.log("进入首页了");
|
});
|
common_vendor.onShow(async () => {
|
getTopHeight();
|
await getInfo();
|
});
|
common_vendor.index.showShareMenu({
|
withShareTicket: true,
|
menus: ["shareAppMessage", "shareTimeline"],
|
success: function() {
|
console.log("分享菜单显示成功");
|
},
|
fail: function(err) {
|
console.error("分享菜单显示失败", err);
|
}
|
});
|
return (_ctx, _cache) => {
|
return common_vendor.e({
|
a: cardInfo.value.headImg
|
}, cardInfo.value.headImg ? {
|
b: common_vendor.unref(config_baseUrl.BASE_URL) + "/upload" + cardInfo.value.headImg
|
} : {
|
c: common_assets._imports_0$4
|
}, {
|
d: common_vendor.t(cardInfo.value.userName),
|
e: common_vendor.o(($event) => navTo("/pages/userInfo/index")),
|
f: common_vendor.o(($event) => navTo("/pages/userInfo/index")),
|
g: common_assets._imports_1$2,
|
h: common_assets._imports_0$3,
|
i: isShareCard.value
|
}, isShareCard.value ? {
|
j: common_vendor.t(cardInfo.value.waterCardNumber)
|
} : {}, {
|
k: !isShareCard.value
|
}, !isShareCard.value ? common_vendor.e({
|
l: isVip.value
|
}, isVip.value ? {
|
m: common_assets._imports_3$1
|
} : {}, {
|
n: isVip.value
|
}, isVip.value ? {} : {}, {
|
o: !isVip.value
|
}, !isVip.value ? {} : {}, {
|
p: isLoss.value && isVip.value
|
}, isLoss.value && isVip.value ? {} : {}, {
|
q: isVip.value
|
}, isVip.value ? {
|
r: common_vendor.t(cardInfo.value.waterCardNumber)
|
} : {}, {
|
s: isVip.value
|
}, isVip.value ? {} : {}, {
|
t: isVip.value
|
}, isVip.value ? {
|
v: common_vendor.t(cardInfo.value.balance)
|
} : {}, {
|
w: !isVip.value
|
}, !isVip.value ? {
|
x: common_assets._imports_4$1,
|
y: common_vendor.o(($event) => navTo("/pages/addCard/index"))
|
} : {}, {
|
z: isVip.value
|
}, isVip.value ? {
|
A: common_vendor.o(($event) => navTo("/pages/recharge/index"))
|
} : {}) : {}, {
|
B: topHeight.value + "rpx",
|
C: common_assets._imports_5,
|
D: common_vendor.o(($event) => navTo("/pages/preSendWater/index")),
|
E: common_assets._imports_1$1,
|
F: common_vendor.o(($event) => navTo("/pages/facilityList/index")),
|
G: common_assets._imports_7,
|
H: common_vendor.o(($event) => toScan()),
|
I: common_vendor.f(functionList.value, (item, index, i0) => {
|
return {
|
a: item.icon,
|
b: item.bgColor,
|
c: common_vendor.t(item.text),
|
d: common_vendor.o(($event) => setEvent(item.isUrl, item.url), index),
|
e: index
|
};
|
}),
|
J: common_assets._imports_8,
|
K: common_assets._imports_9,
|
L: common_assets._imports_10,
|
M: common_assets._imports_11,
|
N: common_vendor.o(($event) => navTo("/pagesPoints/pointsMall/index")),
|
O: common_assets._imports_12,
|
P: common_assets._imports_13,
|
Q: common_vendor.o(($event) => navTo("/pages/station/index")),
|
R: common_assets._imports_14,
|
S: common_assets._imports_13,
|
T: common_vendor.o(upGrade)
|
});
|
};
|
}
|
};
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-1cf27b2a"]]);
|
wx.createPage(MiniProgramPage);
|