diff --git a/huakai-app/pageSubPack/api/appLaunch.js b/huakai-app/pageSubPack/api/appLaunch.js
index f2afa11..25bfa07 100644
--- a/huakai-app/pageSubPack/api/appLaunch.js
+++ b/huakai-app/pageSubPack/api/appLaunch.js
@@ -11,7 +11,12 @@ const STORAGE_KEY = 'app_launch_payment_data'
const APP_QUERY_KEY = 'app_query_params'
/**
- * 解析查询字符串为对象
+ * 需要转为数组的参数字段(逗号分隔字符串 → 数组)
+ */
+const ARRAY_PARAMS = ['billIds']
+
+/**
+ * 解析查询字符串为对象,数组字段自动拆分
*/
function parseQueryString(str) {
if (!str || typeof str !== 'string') return null
@@ -21,11 +26,47 @@ function parseQueryString(str) {
if (idx === -1) return
const key = item.substring(0, idx)
const val = item.substring(idx + 1)
- params[key] = decodeURIComponent(val || '')
+ const decoded = decodeURIComponent(val || '')
+ // 同名参数合并为数组;已知数组字段按逗号拆分
+ if (key in params) {
+ if (Array.isArray(params[key])) {
+ params[key].push(decoded)
+ } else {
+ params[key] = [params[key], decoded]
+ }
+ } else {
+ params[key] = ARRAY_PARAMS.includes(key) && decoded.includes(',')
+ ? decoded.split(',').map(v => v.trim()).filter(Boolean)
+ : decoded
+ }
})
return params
}
+/**
+ * 归一化 billId/billIds:单个 id 用 billId,多个用 billIds,统一转为 billIds 数组
+ */
+function normalizeBillParams(obj) {
+ if (!obj) return
+ // 先解码再拆分为数组
+ if (typeof obj.billIds === 'string') {
+ const decoded = decodeURIComponent(obj.billIds)
+ obj.billIds = decoded.includes(',')
+ ? decoded.split(',').map(v => v.trim()).filter(Boolean)
+ : [decoded]
+ }
+ // billId 存在且 billIds 不存在时,包装为数组
+ if (obj.billId && !obj.billIds) {
+ const decoded = decodeURIComponent(
+ typeof obj.billId === 'string' ? obj.billId : String(obj.billId)
+ )
+ obj.billIds = decoded.includes(',')
+ ? decoded.split(',').map(v => v.trim()).filter(Boolean)
+ : [decoded]
+ delete obj.billId
+ }
+}
+
/**
* 从启动参数中获取 App 传入的全部数据(支付参数 + token + userId)
*/
@@ -71,7 +112,10 @@ export function captureAppLaunchData(onShowOptions) {
data = tryGetData(onShowOptions, '热启动')
}
- if (data && (data.payAmount || data.acct || data.custId || data.billId)) {
+ if (data && (data.payAmount || data.acct || data.custId || data.billId || data.billIds)) {
+ // 归一化 billId/billIds:单个 id 用 billId,多个用 billIds,统一转为 billIds 数组
+ normalizeBillParams(data)
+
// 恢复登录态
if (data.token) {
uni.setStorageSync('token', data.token)
@@ -86,6 +130,9 @@ export function captureAppLaunchData(onShowOptions) {
console.log('已存储 App 支付数据:', JSON.stringify(data))
}
+ // 归一化 queryData 中的 billId/billIds
+ normalizeBillParams(queryData)
+
// 单独保存参数供接口使用(优先 queryData,fallback 到 data,即 extraData 来源)
const queryParams = queryData || data
if (queryParams) {
diff --git a/huakai-app/pageSubPack/loginSub/login.vue b/huakai-app/pageSubPack/loginSub/login.vue
index fcc2c69..e6c143a 100644
--- a/huakai-app/pageSubPack/loginSub/login.vue
+++ b/huakai-app/pageSubPack/loginSub/login.vue
@@ -115,7 +115,7 @@ const handleCancel = () => {
if (pages.length > 1) {
uni.navigateBack();
} else {
- uni.redirectTo({ url: '/pages/arrearsPayment/arrearsPayment' });
+ uni.redirectTo({ url: '/pages/index/index' });
}
};
@@ -204,7 +204,7 @@ const handleLogin = () => {
// 登录成功后返回来源页
uni.navigateBack({
fail: () => {
- uni.redirectTo({ url: '/pages/arrearsPayment/arrearsPayment' });
+ uni.redirectTo({ url: '/pages/index/index' });
}
});
},1500)
diff --git a/huakai-app/pageSubPack/loginSub/pwd-login.vue b/huakai-app/pageSubPack/loginSub/pwd-login.vue
index 08a351a..18dd2d3 100644
--- a/huakai-app/pageSubPack/loginSub/pwd-login.vue
+++ b/huakai-app/pageSubPack/loginSub/pwd-login.vue
@@ -117,7 +117,7 @@ const handleCancel = () => {
if (pages.length > 1) {
uni.navigateBack();
} else {
- uni.redirectTo({ url: '/pages/arrearsPayment/arrearsPayment' });
+ uni.redirectTo({ url: '/pages/index/index' });
}
};
@@ -166,7 +166,7 @@ const handleLogin = () => {
// 登录成功后返回来源页
uni.navigateBack({
fail: () => {
- uni.redirectTo({ url: '/pages/arrearsPayment/arrearsPayment' });
+ uni.redirectTo({ url: '/pages/index/index' });
}
});
},1000)
diff --git a/huakai-app/pages.json b/huakai-app/pages.json
index 1c1575b..a000c5f 100644
--- a/huakai-app/pages.json
+++ b/huakai-app/pages.json
@@ -1,5 +1,11 @@
{
"pages": [
+ {
+ "path": "pages/index/index",
+ "style": {
+ "navigationBarTitleText": "花开物业"
+ }
+ },
{
"path": "pages/arrearsPayment/arrearsPayment",
"style": {
@@ -53,53 +59,6 @@
}
}
]
- },
- {
- "root": "pageSubPack/payment-list",
- "pages": [
- {
- "path": "addPayment",
- "style": {
- "navigationBarTitleText": "",
- "navigationStyle": "custom"
- }
- },
- {
- "path": "addPaymentSuccess",
- "style": {
- "navigationBarTitleText": "",
- "navigationStyle": "custom"
- }
- },
- {
- "path": "noArrearsPayment",
- "style": {
- "navigationBarTitleText": "",
- "navigationStyle": "custom"
- }
- },
- {
- "path": "paymentRecord",
- "style": {
- "navigationBarTitleText": "",
- "navigationStyle": "custom"
- }
- },
- {
- "path": "selectPaymentEntity",
- "style": {
- "navigationBarTitleText": "",
- "navigationStyle": "custom"
- }
- },
- {
- "path": "addHydropower",
- "style": {
- "navigationBarTitleText": "",
- "navigationStyle": "custom"
- }
- }
- ]
}
],
"easycom": {
diff --git a/huakai-app/pages/arrearsPayment/arrearsPayment.vue b/huakai-app/pages/arrearsPayment/arrearsPayment.vue
index 3095cb4..8727981 100644
--- a/huakai-app/pages/arrearsPayment/arrearsPayment.vue
+++ b/huakai-app/pages/arrearsPayment/arrearsPayment.vue
@@ -48,7 +48,7 @@ onShow(() => {
const loadPaymentItem = () => {
const appData = getAppPaymentData()
if (appData) {
- console.log('检测到 App 跳转参数:', appData)
+ console.log('-----检测到 App 跳转参数:', appData)
clearAppPaymentData()
const item = buildPaymentItemFromApp(appData)
uni.setStorageSync('arrearsPayment', item)
@@ -65,7 +65,8 @@ const handlePay = async () => {
return
}
delete apiParams.token
-
+ delete apiParams.billId // billId 已归一化为 billIds 数组,删除冗余字段
+ console.log('-----传递小程序参数2222------:', apiParams)
uni.showLoading({ title: '加载中...', mask: true })
try {
const res = await getBankMiniProgramParams(apiParams)
diff --git a/huakai-app/pages/index/index.vue b/huakai-app/pages/index/index.vue
new file mode 100644
index 0000000..3cc406a
--- /dev/null
+++ b/huakai-app/pages/index/index.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+
+ 欢迎使用花开物业
+ 登录后可查询缴费记录、在线缴纳
+
+
+
+
+
+
+
+ 缴费记录
+ 共 {{ records.length }} 条
+
+
+ 加载中...
+ 暂无缴费记录
+
+
+
+ {{ r.type }}
+ {{ r.time }}
+
+
+ {{ r.amount }}
+ {{ r.status }}
+
+
+
+
+
+
+
+
+
+
+
+