From 96d822cb3fd8affdc6764aa272bae0c8839694bf Mon Sep 17 00:00:00 2001 From: Jason Date: Tue, 1 Nov 2022 13:09:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E4=BA=AB=E9=82=80=E8=AF=B7=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/providers/auth_provider.dart | 3 ++- lib/providers/user_provider.dart | 9 +++++++++ lib/services/auth_service.dart | 2 +- lib/views/user/share/index_page.dart | 21 ++++++++++++++++++++- 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/lib/providers/auth_provider.dart b/lib/providers/auth_provider.dart index 07f03b9..b8f6bcb 100644 --- a/lib/providers/auth_provider.dart +++ b/lib/providers/auth_provider.dart @@ -3,12 +3,13 @@ import 'package:chat/utils/network/http.dart'; import 'package:chat/utils/ui_tools.dart'; class AuthProvider { - static Future login(String address) async { + static Future login(String address, String mnemonic) async { try { final result = await Http.post( 'auth/login', data: { 'address': address, + 'mnemonic': mnemonic, }, ); diff --git a/lib/providers/user_provider.dart b/lib/providers/user_provider.dart index 375be4a..024cbf2 100644 --- a/lib/providers/user_provider.dart +++ b/lib/providers/user_provider.dart @@ -63,4 +63,13 @@ class UserProvider { } return null; } + + static Future downloadUrl() async { + try { + return await Http.get('user/download'); + } catch (e) { + UiTools.toast(e.toString()); + } + return null; + } } diff --git a/lib/services/auth_service.dart b/lib/services/auth_service.dart index 8bdde05..826fbd1 100644 --- a/lib/services/auth_service.dart +++ b/lib/services/auth_service.dart @@ -60,7 +60,7 @@ class AuthService extends GetxService { return false; } - var result = await AuthProvider.login(address); + var result = await AuthProvider.login(address, mnemonic); if (result != null) { _box.write('mnemonic', mnemonic); diff --git a/lib/views/user/share/index_page.dart b/lib/views/user/share/index_page.dart index 31038ae..1f64c04 100644 --- a/lib/views/user/share/index_page.dart +++ b/lib/views/user/share/index_page.dart @@ -1,4 +1,7 @@ +import 'package:chat/providers/user_provider.dart'; import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:qr_flutter/qr_flutter.dart'; class UserSharePage extends StatefulWidget { const UserSharePage({Key? key}) : super(key: key); @@ -14,7 +17,23 @@ class _UserSharePageState extends State { appBar: AppBar( title: const Text('分享邀请'), ), - body: Container(), + body: FutureBuilder( + future: UserProvider.downloadUrl(), + builder: (context, AsyncSnapshot data) { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + QrImage( + data: '${data.data}', + size: Get.width * 0.8, + ), + const Text('扫一扫上面的二维码,下载ZH-CHAT'), + ], + ), + ); + }, + ), ); } }