Files
JMApp/pages/index/index.js
XiaoMo 350bb5a86b feat(客服功能): 优化客服联系按钮显示和交互逻辑
修改客服电话模板为更明显的按钮样式
在页面列表和跳转逻辑中增加客服联系判断条件
2026-01-03 23:56:32 +08:00

237 lines
8.3 KiB
JavaScript
Raw 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.

var e = getApp(), t = require("../../utils/login.js");
Page({
data: {
showLoding: !0,
urlList: [],
wangdianList: [],
servicetel: "",
notice: "",
noticeurl: null,
banner: [],
isScan: !1,
user: {},
tmplIds: [],
joinUs: "",
tabStatus: {
coupon: !1,
shop: !1
}
},
bindViewTap: function () {
wx.navigateTo({
url: "../logs/logs"
});
},
onLoad: function () {
wx.showLoading({
title: ""
});
var a = this;
// 获取地理位置
wx.getLocation({
type: 'gcj02',
success: function (res) {
// 存储经纬度
wx.setStorageSync('latitude', res.latitude);
wx.setStorageSync('longitude', res.longitude);
e.globalData.latitude = res.latitude;
e.globalData.longitude = res.longitude;
// 获取网点列表
t.request('/miniprogram/branch/lists', {
latitude: res.latitude || '',
longitude: res.longitude || ''
}, !0).then(function (res) {
a.setData({
wangdianList: res.data || []
});
});
},
fail: function () {
// 即使获取位置失败也加载网点列表,只是不传入经纬度参数
t.request('/miniprogram/branch/lists', {}, !0).then(function (res) {
a.setData({
wangdianList: res.data || []
});
});
},
complete: function () {
t.pageStart(e).then(function (t) {
a.getData();
a.setData({
servicetel: e.globalData.servicetel,
isScan: !!e.globalData.devicecode
});
});
}
});
// 获取首页数据
t.request('/miniprogram/index/home', { method: 'GET' }, !0).then(function (e) {
a.setData({
banner: e.data.banner,
tmplIds: e.data.tmplIds,
joinUs: e.data.joinUs,
notice: e.data.notice,
noticeurl: e.data.noticeurl,
tabStatus: e.data.tabStatus,
urlList: e.data.urlList
}, function () {
wx.hideLoading(), 0 == e.data.banner.length ? a.setData({
showLoding: !1
}) : setTimeout(function () {
a.setData({
showLoding: !1
});
}, 50);
});
});
},
getData: function () {
var a = this;
// 获取首页数据
t.request('/miniprogram/index/balance', {}, !0).then(function (e) {
a.setData({
user: e.data || [],
});
});
},
load: function (e) {
console.log(e);
},
openLocation: function(e) {
var latitude = Number(e.currentTarget.dataset.latitude);
var longitude = Number(e.currentTarget.dataset.longitude);
var name = e.currentTarget.dataset.name;
var address = e.currentTarget.dataset.address;
wx.openLocation({
latitude: latitude,
longitude: longitude,
name: name,
address: address,
scale: 18
});
var t = e.currentTarget.dataset.index, a = this.data.swiperWidth * e.detail.height / e.detail.width;
this.data.banner[t].height = a, this.setData({
swiperHeight: a
});
},
onShow: function () {
this.setData({
isScan: !!e.globalData.devicecode || this.data.isScan
}), (this.getData(), this.isneedUpload = !1);
},
toPage: function (t) {
console.info(t);
// 有phone字段 但允许为空
if (t.currentTarget.dataset.phone || t.currentTarget.dataset.name=='联系客服') {
// 打开客服聊天窗口
return wx.openCustomerServiceChat();
}
var a = t.currentTarget.dataset, i = a.url, o = a.needlogin, n = a.showimg;
if (console.log("showImg", a), i) {
this.isneedUpload = !0;
if (o && !e.globalData.user.session) return this.isneedUpload = !0, wx.navigateTo({
url: "/pages/login/login"
}), e.globalData.needJumpUrl = "/pages/".concat(i), !1;
wx.navigateTo({
url: "/pages/".concat(i)
}), this.isneedUpload = !0;
} else {
if (!n) return !1;
wx.previewImage({
urls: [this.data.joinUs]
});
}
},
toScan: function () {
e.globalData.needJumpUrl = !1;
var a = this;
wx.scanCode({
success: function (i) {
console.log(i), wx.showLoading({
title: ""
}), e.globalData.qrcode = i.result, t.request("/miniprogram/identify", i, !0).then(function (t) {
console.log("data", t), wx.hideLoading(), e.globalData.devicecode = t.data.devicecode || e.globalData.devicecode,
a.setData({
isScan: !!t.data.devicecode
});
}).catch(function (e) {
wx.hideLoading();
});
}
});
},
isSubmit: !1,
isneedUpload: !1,
isshowModal: !1,
needUpload: function () {
this.isneedUpload = !0;
},
toStart: function () {
e.globalData.needJumpUrl = !1, this.isneedUpload = !0;
var t = this;
if (console.log("this.isSubmit", this.isSubmit), this.isSubmit) return !1;
if (t.data.user.money <= 0) return t.startup(), !1;
if (t.data.user.money < 10) {
if (this.isshowModal) return t.startup(), !1;
this.isshowModal = !0, wx.showModal({
title: "提示",
content: "账户余额小于10元是否立即充值",
confirmText: "去充值",
cancelText: "立即启动",
success: function (e) {
e.confirm ? (wx.navigateTo({
url: "/pages/voucher/voucher"
}), t.isneedUpload = !0) : t.startup();
},
fail: function (e) {
console.log("fail:", e);
}
});
} else t.startup();
},
startup: function () {
var a = this;
wx.showModal({
title: "提示",
content: "你当前将要使用的机器编号是:".concat(e.globalData.devicecode, ",确认开机吗?"),
success: function (i) {
i.confirm && (a.isSubmit = !0, wx.showLoading({
title: "正在启动"
}), t.request(e.globalData.config.machine.startup, {
washcode: a.data.selectID
}, !0).then(function (e) {
a.isSubmit = !1, wx.hideLoading(), 200 == e.code && (wx.showModal({
title: "",
content: e.message
}), a.data.tmplIds.length > 0 && a.requestSubscribeMessage(), wx.redirectTo({
url: "/pages/user/user"
}), a.isneedUpload = !0), 888 == e.code && (wx.navigateTo({
url: "/pages/voucher/voucher"
}), a.isneedUpload = !0);
}).catch(function (e) {
a.isSubmit = !1, wx.hideLoading();
}));
},
fail: function (e) {
console.log("fail:", e);
}
});
},
requestSubscribeMessage: function () {
wx.requestSubscribeMessage({
tmplIds: this.data.tmplIds,
success: function (e) {
console.log("requestSubscribeMessage", e), t.request("/miniprogram/index/newtmpl", e, !0).then(function (e) { }).catch(function (e) { });
},
fail: function (e) {
console.log("requestSubscribeMessagefail", e);
}
});
},
onShareAppMessage: function () { }
});