Commit 578775ca794820b7d42a5737558a381ee0119fb1

Authored by 吴启风
1 parent ca0d27b6

feat:课程学习增加vip权限控制

lib/common/core/user_util.dart
@@ -63,8 +63,8 @@ class UserUtil { @@ -63,8 +63,8 @@ class UserUtil {
63 pushNamedAndRemoveUntil(AppRouteName.login, (route) => false, arguments: {'showPasswordPage': showPasswordLoginPage}); 63 pushNamedAndRemoveUntil(AppRouteName.login, (route) => false, arguments: {'showPasswordPage': showPasswordLoginPage});
64 } 64 }
65 65
66 - // 是否有游戏权限  
67 - static bool hasGamePermission() { 66 + // 是否有权限
  67 + static bool hasPermission() {
68 return _userEntity?.valid ?? false; 68 return _userEntity?.valid ?? false;
69 } 69 }
70 70
lib/pages/home/view.dart
1 1
2 -import 'package:flutter/foundation.dart';  
3 import 'package:flutter/material.dart'; 2 import 'package:flutter/material.dart';
4 -import 'package:flutter/services.dart';  
5 import 'package:flutter_app_update/azhon_app_update.dart'; 3 import 'package:flutter_app_update/azhon_app_update.dart';
6 import 'package:flutter_app_update/update_model.dart'; 4 import 'package:flutter_app_update/update_model.dart';
7 import 'package:flutter_bloc/flutter_bloc.dart'; 5 import 'package:flutter_bloc/flutter_bloc.dart';
@@ -69,11 +67,9 @@ class _HomePageView extends StatelessWidget { @@ -69,11 +67,9 @@ class _HomePageView extends StatelessWidget {
69 Expanded( 67 Expanded(
70 child: GestureDetector( 68 child: GestureDetector(
71 onTap: () { 69 onTap: () {
72 - if (UserUtil.isLogined()) { 70 + _checkPermission(() {
73 pushNamed(AppRouteName.courseUnit); 71 pushNamed(AppRouteName.courseUnit);
74 - } else {  
75 - pushNamed(AppRouteName.login);  
76 - } 72 + });
77 }, 73 },
78 child: Column( 74 child: Column(
79 mainAxisAlignment: MainAxisAlignment.center, 75 mainAxisAlignment: MainAxisAlignment.center,
@@ -105,30 +101,9 @@ class _HomePageView extends StatelessWidget { @@ -105,30 +101,9 @@ class _HomePageView extends StatelessWidget {
105 'WQF ModuleSelectPage BlocBuilder state: $userState'); 101 'WQF ModuleSelectPage BlocBuilder state: $userState');
106 return GestureDetector( 102 return GestureDetector(
107 onTap: () { 103 onTap: () {
108 - //如果没登录先登录  
109 - if (UserUtil.isLogined()) {  
110 - if (AppConfigHelper  
111 - .shouldHidePay()) {  
112 - pushNamed(AppRouteName.games);  
113 - } else {  
114 - if (UserUtil  
115 - .hasGamePermission()) {  
116 - pushNamed(AppRouteName.games);  
117 - } else {  
118 - showTwoActionDialog(  
119 - '提示', '忽略', '去续费',  
120 - '您的课程已到期,请快快续费继续学习吧!',  
121 - leftTap: () {  
122 - popPage();  
123 - }, rightTap: () {  
124 - popPage();  
125 - pushNamed(AppRouteName.shop);  
126 - });  
127 - }  
128 - }  
129 - } else {  
130 - pushNamed(AppRouteName.login);  
131 - } 104 + _checkPermission(() {
  105 + pushNamed(AppRouteName.games);
  106 + });
132 }, 107 },
133 child: Column( 108 child: Column(
134 mainAxisAlignment: MainAxisAlignment 109 mainAxisAlignment: MainAxisAlignment
@@ -168,6 +143,30 @@ class _HomePageView extends StatelessWidget { @@ -168,6 +143,30 @@ class _HomePageView extends StatelessWidget {
168 }); 143 });
169 144
170 145
  146 + _checkPermission(VoidCallback onAllowed) {
  147 + if (UserUtil.isLogined()) {
  148 + if (AppConfigHelper.shouldHidePay()) {
  149 + onAllowed();
  150 + } else {
  151 + if (UserUtil.hasPermission()) {
  152 + onAllowed();
  153 + } else {
  154 + showTwoActionDialog('提示', '忽略', '去续费',
  155 + '您的课程已到期,请快快续费继续学习吧!', leftTap: () {
  156 + popPage();
  157 + }, rightTap: () {
  158 + popPage();
  159 + pushNamed(AppRouteName.shop);
  160 + });
  161 + }
  162 + }
  163 + } else {
  164 + //如果没登录先登录
  165 + pushNamed(AppRouteName.login);
  166 + }
  167 + }
  168 +
  169 +
171 ///Flutter侧处理升级对话框 170 ///Flutter侧处理升级对话框
172 ///[forcedUpgrade] 是否强制升级 171 ///[forcedUpgrade] 是否强制升级
173 _showUpdateDialog(BuildContext context, bool forcedUpgrade, 172 _showUpdateDialog(BuildContext context, bool forcedUpgrade,