diff --git a/backend/services/planting-service/src/domain/aggregates/contract-template.aggregate.ts b/backend/services/planting-service/src/domain/aggregates/contract-template.aggregate.ts index 7a82f3ef..7cd53957 100644 --- a/backend/services/planting-service/src/domain/aggregates/contract-template.aggregate.ts +++ b/backend/services/planting-service/src/domain/aggregates/contract-template.aggregate.ts @@ -158,15 +158,10 @@ export class ContractTemplate { const now = new Date(); const dateStr = `${now.getFullYear()}年${now.getMonth() + 1}月${now.getDate()}日`; - // 身份证号脱敏: 只显示前6位和后4位 - const maskedIdCard = params.userIdCardNumber - ? `${params.userIdCardNumber.slice(0, 6)}********${params.userIdCardNumber.slice(-4)}` - : ''; - let content = this._content; content = content.replace(/\{\{USER_PHONE\}\}/g, params.userPhoneNumber || '未认证'); content = content.replace(/\{\{USER_REAL_NAME\}\}/g, params.userRealName || '未认证'); - content = content.replace(/\{\{USER_ID_CARD\}\}/g, maskedIdCard || '未认证'); + content = content.replace(/\{\{USER_ID_CARD\}\}/g, params.userIdCardNumber || '未认证'); content = content.replace(/\{\{TREE_COUNT\}\}/g, params.treeCount.toString()); content = content.replace(/\{\{TOTAL_AMOUNT\}\}/g, params.totalAmount.toFixed(2)); content = content.replace(/\{\{PROVINCE_NAME\}\}/g, params.provinceName); diff --git a/frontend/mobile-app/lib/features/contract_signing/presentation/pages/contract_signing_page.dart b/frontend/mobile-app/lib/features/contract_signing/presentation/pages/contract_signing_page.dart index 92cbaf11..6e4d8b89 100644 --- a/frontend/mobile-app/lib/features/contract_signing/presentation/pages/contract_signing_page.dart +++ b/frontend/mobile-app/lib/features/contract_signing/presentation/pages/contract_signing_page.dart @@ -836,12 +836,12 @@ class _ContractSigningPageState extends ConsumerState { width: 24, height: 24, decoration: BoxDecoration( - color: _hasScrolledToBottom ? const Color(0xFFD4AF37) : const Color(0xFFE0E0E0), + color: const Color(0xFFE0E0E0), borderRadius: BorderRadius.circular(4), + border: _hasScrolledToBottom + ? Border.all(color: const Color(0xFFD4AF37), width: 2) + : null, ), - child: _hasScrolledToBottom - ? const Icon(Icons.check, color: Colors.white, size: 16) - : null, ), const SizedBox(width: 12), Expanded( @@ -853,6 +853,14 @@ class _ContractSigningPageState extends ConsumerState { ), ), ), + if (!_hasScrolledToBottom) + const Text( + '(请先阅读完合同)', + style: TextStyle( + fontSize: 12, + color: Color(0xFF999999), + ), + ), ], ), ),