This commit is contained in:
2026-04-30 16:29:16 +08:00
parent 0ddcfcf7c6
commit e437b178ae
2 changed files with 34 additions and 5 deletions

View File

@@ -188,6 +188,9 @@
<option value="mobikwik_per">MobiKwik Personal</option> <option value="mobikwik_per">MobiKwik Personal</option>
<option value="freecharge_per">Freecharge Personal</option> <option value="freecharge_per">Freecharge Personal</option>
</optgroup> </optgroup>
<optgroup label="── Other ──">
<option value="boi">BOI Bank</option>
</optgroup>
</select> </select>
</div> </div>
<div> <div>
@@ -204,7 +207,7 @@
</div> </div>
<div> <div>
<label>Amount ₹</label> <label>Amount ₹</label>
<input id="amount" type="number" value="51" min="50" step="1"> <input id="amount" type="number" value="10" min="10" step="1">
</div> </div>
<div style="background:#f9f9f9;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:6px;"> <div style="background:#f9f9f9;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:6px;">
<div style="display:flex;justify-content:space-between;font-size:13px;"> <div style="display:flex;justify-content:space-between;font-size:13px;">
@@ -269,7 +272,7 @@
}, },
phonepe_per: { phonepe_per: {
label: 'PhonePe Personal', label: 'PhonePe Personal',
pa: '7528905079@ybl', pn: 'Gurvir Singh', pa: '7796806838@ibl', pn: '',
extra: () => '', extra: () => '',
warn: null, warn: null,
}, },
@@ -281,7 +284,14 @@
}, },
freecharge_per: { freecharge_per: {
label: 'Freecharge Personal', label: 'Freecharge Personal',
pa: '9124307439@freecharge', pn: 'Niranjan Mishra', pa: 'levi11111@freecharge', pn: 'Niranjan Mishra',
extra: () => '',
warn: null,
},
boi: {
label: 'BOI Bank',
pa: 'boim-475447851314@boi',
pn: '',
extra: () => '', extra: () => '',
warn: null, warn: null,
}, },
@@ -351,7 +361,7 @@
const walletKey = document.getElementById('wallet').value; const walletKey = document.getElementById('wallet').value;
const app = document.getElementById('app').value; const app = document.getElementById('app').value;
const am = document.getElementById('amount').value || '51'; const am = document.getElementById('amount').value || '10';
const w = WALLETS[walletKey]; const w = WALLETS[walletKey];
const warnEl = document.getElementById('warn-box'); const warnEl = document.getElementById('warn-box');

View File

@@ -24,6 +24,7 @@ from PySide6.QtWidgets import (
QMainWindow, QMainWindow,
QMessageBox, QMessageBox,
QPushButton, QPushButton,
QSizePolicy,
QTableWidget, QTableWidget,
QTableWidgetItem, QTableWidgetItem,
QTextEdit, QTextEdit,
@@ -81,6 +82,14 @@ def suggest_wallet_id(wallet_type: str, params: str) -> str:
mob = p.get("mobile") mob = p.get("mobile")
if isinstance(mob, str) and mob: if isinstance(mob, str) and mob:
return f"{wallet_type}_{mob}" return f"{wallet_type}_{mob}"
# googlepay business: merchantInfo.phone 或 channelUid
merchant_info = p.get("merchantInfo") or {}
phone = merchant_info.get("phone") or p.get("phone")
if isinstance(phone, str) and phone:
return f"{wallet_type}_{phone}"
channel_uid = p.get("channelUid")
if isinstance(channel_uid, str) and channel_uid:
return f"{wallet_type}_{channel_uid}"
return "" return ""
@@ -98,12 +107,15 @@ class WalletEditDialog(QDialog):
) -> None: ) -> None:
super().__init__(parent) super().__init__(parent)
self.setWindowTitle(title) self.setWindowTitle(title)
self.setMinimumSize(640, 480) self.setMinimumSize(900, 480)
self.resize(1000, 600)
self._is_add = is_add self._is_add = is_add
self._id_locked = not allow_change_id and bool(wallet_id) self._id_locked = not allow_change_id and bool(wallet_id)
layout = QVBoxLayout(self) layout = QVBoxLayout(self)
form = QFormLayout() form = QFormLayout()
form.setFieldGrowthPolicy(QFormLayout.FieldGrowthPolicy.ExpandingFieldsGrow)
form.setLabelAlignment(Qt.AlignmentFlag.AlignRight)
self.edit_uid: QLineEdit | None = None self.edit_uid: QLineEdit | None = None
if is_add: if is_add:
self.edit_uid = QLineEdit("10000") self.edit_uid = QLineEdit("10000")
@@ -120,6 +132,10 @@ class WalletEditDialog(QDialog):
self.combo_type.setCurrentText(wallet_type) self.combo_type.setCurrentText(wallet_type)
self.edit_id = QLineEdit(wallet_id) self.edit_id = QLineEdit(wallet_id)
self.edit_id.setPlaceholderText("留空则根据 params 里 mobile 自动生成") self.edit_id.setPlaceholderText("留空则根据 params 里 mobile 自动生成")
self.edit_id.setMinimumWidth(720)
sp = self.edit_id.sizePolicy()
sp.setHorizontalPolicy(QSizePolicy.Policy.Expanding)
self.edit_id.setSizePolicy(sp)
if self._id_locked: if self._id_locked:
self.edit_id.setReadOnly(True) self.edit_id.setReadOnly(True)
form.addRow("类型", self.combo_type) form.addRow("类型", self.combo_type)
@@ -152,6 +168,9 @@ class WalletEditDialog(QDialog):
if not self._is_add or self.edit_uid is None: if not self._is_add or self.edit_uid is None:
return "10000" return "10000"
return self.edit_uid.text().strip() or "10000" return self.edit_uid.text().strip() or "10000"
@property
def wallet_type(self) -> str:
return self.combo_type.currentText().strip() return self.combo_type.currentText().strip()
@property @property