From 298cd4775b7ec53ddf2fe055b5d987bb4a0f45b6 Mon Sep 17 00:00:00 2001
From: gyq <875626088@qq.com>
Date: Mon, 15 Dec 2025 16:56:37 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=B0=E7=89=88=E7=A7=81?=
=?UTF-8?q?=E5=9F=9F=E5=BC=95=E6=B5=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
common/config.js | 60 +--
components/attract-popup.vue | 230 ++++++++
components/drainage.vue | 145 +++---
components/order-finish-modal.vue | 64 +--
pages/index/indexs.vue | 840 +++++++++++++++---------------
utils/util.js | 20 +
6 files changed, 787 insertions(+), 572 deletions(-)
create mode 100644 components/attract-popup.vue
diff --git a/common/config.js b/common/config.js
index f070d96..3992b85 100644
--- a/common/config.js
+++ b/common/config.js
@@ -1,5 +1,5 @@
// const debug = process.env.NODE_ENV == 'development' ? true : false;
-const debug = false;
+const debug = true; // false线上 true本地
// #ifdef H5
const proxyApi = "/api";
// #endif
@@ -21,36 +21,36 @@ const baseUrlwws = debug ? proxyApiwws : "wss://czgeatws.sxczgkj.com/wss"; //
const version = "100";
const autoRemoveCache = {
- count: 100000,
- size: 100000,
+ count: 100000,
+ size: 100000,
};
- uni.conf = {
- debug,
- baseUrl,
- version,
- autoRemoveCache,
- baseUrlwws,
+uni.conf = {
+ debug,
+ baseUrl,
+ version,
+ autoRemoveCache,
+ baseUrlwws,
};
export const changeEnv = (env) => {
- if (env === "test") {
- uni.conf = {
- debug: true,
- baseUrl: "http://192.168.1.42",
- phpUrl:'http://192.168.1.42:8787/api/',
- phpChatWx:'ws://192.168.1.42:2348',
- version: 100,
- autoRemoveCache,
- baseUrlwws: "ws://192.168.1.42:2348",
- };
- }
- if (env === "prod") {
- uni.conf = {
- debug: false,
- baseUrl: "https://cashier.sxczgkj.com",
- version: 100,
- autoRemoveCache,
- baseUrlwws: "wss://czgeatws.sxczgkj.com/wss",
- };
- }
-};
+ if (env === "test") {
+ uni.conf = {
+ debug: true,
+ baseUrl: "http://192.168.1.42",
+ phpUrl: 'http://192.168.1.42:8787/api/',
+ phpChatWx: 'ws://192.168.1.42:2348',
+ version: 100,
+ autoRemoveCache,
+ baseUrlwws: "ws://192.168.1.42:2348",
+ };
+ }
+ if (env === "prod") {
+ uni.conf = {
+ debug: false,
+ baseUrl: "https://cashier.sxczgkj.com",
+ version: 100,
+ autoRemoveCache,
+ baseUrlwws: "wss://czgeatws.sxczgkj.com/wss",
+ };
+ }
+};
\ No newline at end of file
diff --git a/components/attract-popup.vue b/components/attract-popup.vue
new file mode 100644
index 0000000..5fef6ec
--- /dev/null
+++ b/components/attract-popup.vue
@@ -0,0 +1,230 @@
+
+
+
+
+
+
+ {{ form.title }}
+
+
+
+
+ {{ form.content }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/drainage.vue b/components/drainage.vue
index e0d1ceb..473365b 100644
--- a/components/drainage.vue
+++ b/components/drainage.vue
@@ -1,114 +1,93 @@
-
-
-
-
-
-
-
- {{
- drainageConfig.title
- }}
- {{
- drainageConfig.content
- }}
-
+
+
+
+
+
+
+
+ {{ drainageConfig.title }}
+ {{ drainageConfig.content }}
+
- {{
- drainageConfig.note
- }}
-
+ {{ drainageConfig.note }}
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
+
diff --git a/components/order-finish-modal.vue b/components/order-finish-modal.vue
index 8f6e73a..b2c6d25 100644
--- a/components/order-finish-modal.vue
+++ b/components/order-finish-modal.vue
@@ -1,43 +1,49 @@
-
-
- qrcodeResult(e)">
+
+
+ qrcodeResult(e)">
-
-
-
+
+
+
+
-
-
diff --git a/pages/index/indexs.vue b/pages/index/indexs.vue
index 6e790d1..131b7fb 100644
--- a/pages/index/indexs.vue
+++ b/pages/index/indexs.vue
@@ -2,31 +2,27 @@
-
+
-
+
-
-
- HI,欢迎回来
+ HI,欢迎回来
会员身份
- 优惠券:{{allConfig.couponNum}}
- 积分:{{allConfig.pointNum}}
+ 优惠券:{{ allConfig.couponNum }}
+ 积分:{{ allConfig.pointNum }}
-
@@ -52,8 +48,6 @@
-自助下单 快人一步-
-
-
@@ -90,10 +84,9 @@
股东共享
邀请好友,获得佣金
-
-
+
+
+
\ No newline at end of file
+}
+
+.groupBuying {
+ padding: 16rpx 38rpx;
+ border-top: 2rpx solid #ededed;
+ background-color: #fff;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ .img {
+ width: 40px;
+ height: 40px;
+ }
+}
+
+.title {
+ color: #333333;
+ font-size: 36rpx;
+ font-weight: 700;
+}
+
+.desc {
+ margin-top: 16rpx;
+ font-size: 28rpx;
+ color: #999;
+}
+
+.points {
+ margin-top: 34rpx;
+ background-color: #fff;
+ padding: 16rpx 68rpx;
+ border-radius: 16rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ .img {
+ width: 98px;
+ height: 98px;
+ }
+}
+
+.bottom_menus {
+ display: flex;
+ gap: 14rpx;
+ margin-top: 34rpx;
+
+ .item {
+ flex: 1;
+ display: flex;
+ padding: 20rpx;
+ flex-direction: column;
+ align-items: center;
+ border-radius: 18rpx;
+ background: #fff;
+
+ .img {
+ width: 39px;
+ height: 39px;
+ }
+
+ .title {
+ font-size: 32rpx;
+ }
+
+ .desc {
+ margin-top: 8rpx;
+ color: #999;
+ font-size: 24rpx;
+ white-space: nowrap;
+ }
+ }
+}
+
diff --git a/utils/util.js b/utils/util.js
index ac85718..d85b319 100644
--- a/utils/util.js
+++ b/utils/util.js
@@ -475,4 +475,24 @@ export function includesString(target, searchStr, options = {}) {
// 4. 执行包含判断
return processedTarget.includes(processedSearch);
+}
+
+/**
+ * 校验一维基础类型数组A的元素是否存在于数组B(支持部分/全部存在,默认全部存在)
+ * @param {Array} arrA - 待校验的一维数组
+ * @param {Array} arrB - 参考的一维数组
+ * @param {boolean} [partial=false] - 是否校验「部分存在」(true=部分存在,false=全部存在,默认false)
+ * @returns {boolean} 校验结果
+ */
+export function checkArrayElementsExist(arrA, arrB, partial = false) {
+ // 边界处理:空数组特殊逻辑
+ if (arrA.length === 0) return !partial
+
+ // 转Set优化查找性能(一维数组核心优化)
+ const bSet = new Set(arrB)
+
+ // 核心逻辑:partial=true → some(部分存在),partial=false → every(全部存在)
+ return partial ?
+ arrA.some(item => bSet.has(item)) :
+ arrA.every(item => bSet.has(item))
}
\ No newline at end of file