Commit b4b90ea3 by tanghuan

去掉前期测试微信登录的内容

1 parent fac3e49d
...@@ -107,12 +107,10 @@ class LoginMainCubit extends Cubit<LoginMainState> { ...@@ -107,12 +107,10 @@ class LoginMainCubit extends Cubit<LoginMainState> {
sharedPreferences.setString('auth_classCode', classCode); sharedPreferences.setString('auth_classCode', classCode);
sharedPreferences.setInt('auth_userType', userType); sharedPreferences.setInt('auth_userType', userType);
sharedPreferences.setString('auth_stuId', stuId ?? ''); sharedPreferences.setString('auth_stuId', stuId ?? '');
sharedPreferences.setString('auth_ip', Constant.h5Server);
router.go( router.go(
'/web', '/web',
extra: { extra: {
'ip': Constant.h5Server,
'sessionCode': sessionCode, 'sessionCode': sessionCode,
'userCode': userCode, 'userCode': userCode,
'classCode': classCode, 'classCode': classCode,
......
...@@ -37,7 +37,6 @@ class WebState extends Equatable { ...@@ -37,7 +37,6 @@ class WebState extends Equatable {
final String opIcon; final String opIcon;
final bool showBottomNavBar; final bool showBottomNavBar;
final String? ip;
final String? sessionCode; final String? sessionCode;
final String? userCode; final String? userCode;
final String? classCode; final String? classCode;
...@@ -70,7 +69,6 @@ class WebState extends Equatable { ...@@ -70,7 +69,6 @@ class WebState extends Equatable {
this.bgColor = 0xFF7691FA, this.bgColor = 0xFF7691FA,
this.opIcon = 'none', this.opIcon = 'none',
this.showBottomNavBar = false, this.showBottomNavBar = false,
this.ip,
this.sessionCode, this.sessionCode,
this.userCode, this.userCode,
this.classCode, this.classCode,
...@@ -97,7 +95,6 @@ class WebState extends Equatable { ...@@ -97,7 +95,6 @@ class WebState extends Equatable {
String? opIcon, String? opIcon,
bool? showNavBar, bool? showNavBar,
bool? showBottomNavBar, bool? showBottomNavBar,
String? ip,
String? sessionCode, String? sessionCode,
String? userCode, String? userCode,
String? classCode, String? classCode,
...@@ -122,7 +119,6 @@ class WebState extends Equatable { ...@@ -122,7 +119,6 @@ class WebState extends Equatable {
bgColor: bgColor ?? this.bgColor, bgColor: bgColor ?? this.bgColor,
opIcon: opIcon ?? this.opIcon, opIcon: opIcon ?? this.opIcon,
showBottomNavBar: showBottomNavBar ?? this.showBottomNavBar, showBottomNavBar: showBottomNavBar ?? this.showBottomNavBar,
ip: ip ?? this.ip,
sessionCode: sessionCode ?? this.sessionCode, sessionCode: sessionCode ?? this.sessionCode,
userCode: userCode ?? this.userCode, userCode: userCode ?? this.userCode,
classCode: classCode ?? this.classCode, classCode: classCode ?? this.classCode,
...@@ -150,7 +146,6 @@ class WebState extends Equatable { ...@@ -150,7 +146,6 @@ class WebState extends Equatable {
bgColor, bgColor,
opIcon, opIcon,
showBottomNavBar, showBottomNavBar,
ip,
sessionCode, sessionCode,
userCode, userCode,
classCode, classCode,
...@@ -389,11 +384,6 @@ class WebCubit extends Cubit<WebState> { ...@@ -389,11 +384,6 @@ class WebCubit extends Cubit<WebState> {
emit(state.copyWith(loaded: true)); emit(state.copyWith(loaded: true));
} }
//测试
void goWechatAuth() {
router.go('/wechatAuth');
}
void goLogin() { void goLogin() {
router.go('/loginMain'); router.go('/loginMain');
} }
...@@ -404,9 +394,7 @@ class WebCubit extends Cubit<WebState> { ...@@ -404,9 +394,7 @@ class WebCubit extends Cubit<WebState> {
//测试 //测试
void goAuth() { void goAuth() {
// String serverUrl = 'http://${state.ip}:${_server.port}/index.html';
String serverUrl = '${Constant.localServerUrl}/index.html'; String serverUrl = '${Constant.localServerUrl}/index.html';
// String serverUrl = 'http://localdev.banxiaoer.net';
_controller.loadRequest(Uri.parse(serverUrl)); _controller.loadRequest(Uri.parse(serverUrl));
} }
......
import 'package:appframe/config/constant.dart';
import 'package:appframe/config/locator.dart';
import 'package:appframe/config/routes.dart';
import 'package:appframe/data/repositories/wechat_auth_repository.dart';
import 'package:equatable/equatable.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:fluwx/fluwx.dart';
import 'package:shared_preferences/shared_preferences.dart';
class WechatAuthState extends Equatable {
final String ip;
final String? result;
final String? sessionCode;
final String? userCode;
final String? classCode;
final int? userType;
final String? stuId;
const WechatAuthState({
this.ip = Constant.localServerHost,
this.result,
this.sessionCode,
this.userCode,
this.classCode,
this.userType,
this.stuId,
});
WechatAuthState copyWith({
String? ip,
String? result,
String? sessionCode,
String? userCode,
String? classCode,
int? userType,
String? stuId,
}) {
return WechatAuthState(
ip: ip ?? this.ip,
result: result ?? this.result,
sessionCode: sessionCode ?? this.sessionCode,
userCode: userCode ?? this.userCode,
classCode: classCode ?? this.classCode,
userType: userType ?? this.userType,
stuId: stuId ?? this.stuId,
);
}
@override
List<Object?> get props => [ip, result, sessionCode, userCode, classCode, userType, stuId];
}
class WechatAuthCubit extends Cubit<WechatAuthState> {
late final WechatAuthRepository _wechatAuthRepository;
late final Fluwx _fluwx;
late final TextEditingController _textEditingController;
TextEditingController get textEditingController => _textEditingController;
WechatAuthCubit(super.initialState) {
_fluwx = getIt.get<Fluwx>();
_fluwx.addSubscriber(_responseListener);
_textEditingController = TextEditingController()..text = Constant.h5Server;
_wechatAuthRepository = getIt<WechatAuthRepository>();
}
void _responseListener(response) async {
if (response is WeChatAuthResponse) {
dynamic resultData = await _wechatAuthRepository.codeToSk(response.code!);
var data = resultData['data'];
var role = data['roles'][0];
final sessionCode = data['sessionCode'];
final userCode = data['userCode'];
final classCode = role['classCode'];
final userType = role['userType'];
final stuId = role['stuId'];
var sharedPreferences = getIt.get<SharedPreferences>();
sharedPreferences.setString('auth_sessionCode', sessionCode);
sharedPreferences.setString('auth_userCode', userCode);
sharedPreferences.setString('auth_classCode', classCode);
sharedPreferences.setInt('auth_userType', userType);
sharedPreferences.setString('auth_stuId', stuId ?? '');
sharedPreferences.setString('auth_ip', Constant.h5Server);
router.go(
'/web',
extra: {
'ip': state.ip,
'sessionCode': sessionCode,
'userCode': userCode,
'classCode': classCode,
'userType': userType,
'stuId': stuId,
},
);
}
}
void auth() async {
emit(state.copyWith(ip: _textEditingController.text));
var result = await _fluwx.authBy(
which: NormalAuth(scope: 'snsapi_userinfo', state: 'wechat_sdk_test'),
);
if (!result) {
throw Exception('微信授权处理失败');
}
}
void goIndex() {
router.go('/web');
}
@override
Future<void> close() async {
_fluwx.removeSubscriber(_responseListener);
return super.close();
}
}
...@@ -30,11 +30,6 @@ class Constant { ...@@ -30,11 +30,6 @@ class Constant {
static const int imSdkAppId = 1400310691; static const int imSdkAppId = 1400310691;
static const String imClientSecure = 'kM4yqbehB3io9UiLvH6eHvM7xAhfYxoyyaO1tLoHgKltcaI7MZXkUbpFaWdeQIqe'; static const String imClientSecure = 'kM4yqbehB3io9UiLvH6eHvM7xAhfYxoyyaO1tLoHgKltcaI7MZXkUbpFaWdeQIqe';
/// 测试阶段使用的 h5 服务地址
// static const String h5Server = 'appdev-th.banxiaoer.net';
// static const String h5Server = '192.168.1.136';
static const String h5Server = 'appdev-xj.banxiaoer.net';
/// 测试阶段使用 /// 测试阶段使用
static const bool needIM = true; static const bool needIM = true;
} }
...@@ -5,7 +5,6 @@ import 'package:appframe/ui/pages/login_main_page.dart'; ...@@ -5,7 +5,6 @@ import 'package:appframe/ui/pages/login_main_page.dart';
import 'package:appframe/ui/pages/login_phone_page.dart'; import 'package:appframe/ui/pages/login_phone_page.dart';
import 'package:appframe/ui/pages/scan_code_page.dart'; import 'package:appframe/ui/pages/scan_code_page.dart';
import 'package:appframe/ui/pages/web_page.dart'; import 'package:appframe/ui/pages/web_page.dart';
import 'package:appframe/ui/pages/wechat_auth_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
...@@ -19,12 +18,6 @@ final GoRouter router = GoRouter( ...@@ -19,12 +18,6 @@ final GoRouter router = GoRouter(
}, },
), ),
GoRoute( GoRoute(
path: '/wechatAuth',
builder: (BuildContext context, GoRouterState state) {
return const WechatAuthPage();
},
),
GoRoute(
path: '/scanCode', path: '/scanCode',
builder: (BuildContext context, GoRouterState state) { builder: (BuildContext context, GoRouterState state) {
return const ScanCodePage(); return const ScanCodePage();
......
...@@ -14,7 +14,6 @@ class WebPage extends StatelessWidget { ...@@ -14,7 +14,6 @@ class WebPage extends StatelessWidget {
Widget build(BuildContext buildContext) { Widget build(BuildContext buildContext) {
final Map<String, dynamic>? extraData = GoRouterState.of(buildContext).extra as Map<String, dynamic>?; final Map<String, dynamic>? extraData = GoRouterState.of(buildContext).extra as Map<String, dynamic>?;
var ip = extraData?['ip'] ?? Constant.localServerHost;
var sessionCode = extraData?['sessionCode']; var sessionCode = extraData?['sessionCode'];
var userCode = extraData?['userCode']; var userCode = extraData?['userCode'];
var classCode = extraData?['classCode']; var classCode = extraData?['classCode'];
...@@ -28,13 +27,11 @@ class WebPage extends StatelessWidget { ...@@ -28,13 +27,11 @@ class WebPage extends StatelessWidget {
classCode = sharedPreferences.getString('auth_classCode'); classCode = sharedPreferences.getString('auth_classCode');
userType = sharedPreferences.getInt('auth_userType'); userType = sharedPreferences.getInt('auth_userType');
stuId = sharedPreferences.getString('auth_stuId'); stuId = sharedPreferences.getString('auth_stuId');
ip = sharedPreferences.getString('auth_ip');
} }
return BlocProvider( return BlocProvider(
create: (context) => WebCubit( create: (context) => WebCubit(
WebState( WebState(
ip: ip,
sessionCode: sessionCode, sessionCode: sessionCode,
userCode: userCode, userCode: userCode,
classCode: classCode, classCode: classCode,
...@@ -94,22 +91,6 @@ class WebPage extends StatelessWidget { ...@@ -94,22 +91,6 @@ class WebPage extends StatelessWidget {
}, },
), ),
ListTile( ListTile(
leading: const Icon(Icons.login),
title: const Text('登录界面'),
onTap: () {
Navigator.pop(ctx);
ctx.read<WebCubit>().goLogin();
},
),
ListTile(
leading: const Icon(Icons.chat_outlined),
title: const Text('微信授权'),
onTap: () {
Navigator.pop(ctx);
ctx.read<WebCubit>().goWechatAuth();
},
),
ListTile(
leading: const Icon(Icons.accessibility_new), leading: const Icon(Icons.accessibility_new),
title: const Text('身份认证'), title: const Text('身份认证'),
onTap: () { onTap: () {
......
import 'package:appframe/bloc/wechat_auth_cubit.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class WechatAuthPage extends StatelessWidget {
const WechatAuthPage({super.key});
@override
Widget build(BuildContext context) {
return BlocProvider(
create: (context) => WechatAuthCubit(WechatAuthState()),
child: BlocConsumer<WechatAuthCubit, WechatAuthState>(
builder: (context, state) {
return PopScope(
canPop: false,
onPopInvokedWithResult: (didPop, result) {
context.read<WechatAuthCubit>().goIndex();
},
child: Scaffold(
appBar: AppBar(title: Text('微信授权')),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SizedBox(
width: 200,
child: TextField(
controller: context.read<WechatAuthCubit>().textEditingController,
decoration: InputDecoration(hintText: '请输入UI端IP', border: OutlineInputBorder()),
),
),
SizedBox(height: 20),
Text(state.result ?? '点击拉取微信授权'),
SizedBox(height: 20),
ElevatedButton(
onPressed: () {
context.read<WechatAuthCubit>().auth();
},
child: const Text('微信授权'),
),
],
),
),
),
);
},
listener: (context, state) {},
),
);
}
}
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!