1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- import 'package:get/get.dart';
- import 'package:flutter/material.dart';
- import 'package:vitalapp/components/button.dart';
- import 'package:vitalapp/pages/home/personal_center/controller.dart';
- class SignaturePage extends GetView<PersonalCenterController> {
- const SignaturePage({super.key});
- @override
- Widget build(BuildContext context) {
- return Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- _buildPreview(),
- const SizedBox(height: 20),
- _buildOperateRow(),
- ],
- );
- }
- Widget _buildOperateRow() {
- return Row(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- VButton(
- label: "签 名",
- onTap: controller.rewrite,
- ),
- SizedBox(width: 20),
- // SizedBox(
- // width: 120,
- // child: VButton(
- // label: "导 入",
- // onTap: controller.chooseImage,
- // ),
- // ),
- // SizedBox(width: 20),
- VButton(
- label: "清 空",
- onTap: controller.clear,
- ),
- ],
- );
- }
- Widget _buildPreview() {
- return Obx(() {
- final imageWidget = controller.state.signaturUrl != null
- ? _buildNetworkImagePreview()
- : _buildEmptyPreview();
- return Container(
- decoration: BoxDecoration(
- color: Colors.white,
- border: Border.all(color: Colors.grey),
- ),
- width: 420,
- height: 270,
- child: imageWidget,
- );
- });
- }
- Widget _buildNetworkImagePreview() {
- final url = controller.state.signaturUrl!;
- return Image.network(
- url,
- fit: BoxFit.contain,
- errorBuilder: (context, error, stackTrace) => _buildEmptyPreview(),
- );
- }
- Widget _buildEmptyPreview() {
- return Column(
- mainAxisAlignment: MainAxisAlignment.center,
- mainAxisSize: MainAxisSize.min,
- children: const [
- Icon(
- Icons.person_4_outlined,
- size: 56,
- ),
- SizedBox(height: 12),
- Text(
- "未设置",
- style: TextStyle(fontSize: 32),
- ),
- ],
- );
- }
- }
|