当前位置: 首页 > wzjs >正文

sem竞价托管公司文军seo

sem竞价托管公司,文军seo,wordpress制作客户端,互动营销网站建设android的登录功能和前端一样,需要保存登录的用户信息。 创建一个工具类 // 用户工具类,用于管理用户登录状态和用户信息 object AppUserUtil {// 常量定义private const val LOGGED_FLAG "logged_flag" // 登录状态的键名private const va…

android的登录功能和前端一样,需要保存登录的用户信息。

  1. 创建一个工具类
// 用户工具类,用于管理用户登录状态和用户信息
object AppUserUtil {// 常量定义private const val LOGGED_FLAG = "logged_flag" // 登录状态的键名private const val USER_INFO = "user_info"     // 用户信息的键名private const val TAG = "AppUserUtil"         // 日志标签// 登录状态属性var isLogged: Boolean// 获取登录状态,默认值为 falseget() = DataStoreUtils.readBooleanData(LOGGED_FLAG, false)// 设置登录状态,并同步保存到 DataStoreset(value) = DataStoreUtils.saveSyncBooleanData(LOGGED_FLAG, value = value)// 用户信息属性var userInfo: UserInfo?// 获取用户信息,从 DataStore 中读取并反序列化为 UserInfo 对象get() = DataStoreUtils.readStringData(USER_INFO).fromJson()// 设置用户信息,并同步保存到 DataStoreset(value) = DataStoreUtils.saveSyncStringData(USER_INFO, value = value?.toJson() ?: "")// 登录方法fun onLogin(userInfo: UserInfo) {isLogged = true               // 设置登录状态为 truethis.userInfo = userInfo      // 保存用户信息Log.d(TAG, "onLogin: $userInfo") // 打印登录日志}// 登出方法fun onLogOut() {isLogged = false              // 设置登录状态为 falsethis.userInfo = null          // 清空用户信息}
}
  1. 发起登录请求,登录成功,则调用工具类的onLgoin方法
 private fun login() {viewModelScope.launch {flow {emit(service.login(viewStates.account.trim(), viewStates.password.trim()))}.map {if (it.errorCode == 0) {if (it.data != null) {HttpResult.Success(it.data!!)} else {throw Exception("the result of remote's request is null")}} else {throw Exception(it.errorMsg)}}.onEach {AppUserUtil.onLogin(it.result)_viewEvents.send(LoginViewEvent.PopBack)}.catch {_viewEvents.send(LoginViewEvent.ErrorMessage(it.message ?: ""))}.collect()}}
  1. 一些页面,如果未登录,是不能使用的,这个时候我们可以取出isLogged 属性进行判断。

@ExperimentalFoundationApi
@Composable
fun CollectPage(navCtrl: NavHostController,scaffoldState: ScaffoldState,viewModel: CollectViewModel = hiltViewModel()
) {val viewStates = viewModel.viewStatesval collectPaging = viewStates.pagingData?.collectAsLazyPagingItems()val webUrls = viewStates.urlListval titles = viewStates.titlesval isRefreshing = viewStates.isRefreshingval listState =if ((collectPaging?.itemCount ?: 0) > 0) viewStates.listState else LazyListState()DisposableEffect(Unit) {Log.i("debug", "onStart")viewModel.dispatch(CollectViewAction.OnStart)onDispose {}}Column(modifier = Modifier.fillMaxSize().padding(bottom = BottomNavBarHeight)) {AppToolsBar(title = "我的收藏")if (!AppUserUtil.isLogged) {EmptyView(tips = "点击登录",imageVector = Icons.Default.Face) {RouteUtils.navTo(navCtrl, RouteName.LOGIN)}} else {collectPaging?.let {RefreshList(it, listState = listState, isRefreshing = isRefreshing, onRefresh = {viewModel.dispatch(CollectViewAction.Refresh)}) {if (!webUrls.isNullOrEmpty()) {stickyHeader {ListTitle(title = titles[1].text)}item {FlowRow(modifier = Modifier.padding(10.dp)) {webUrls?.forEachIndexed { index, website ->LabelTextButton(text = website.name ?: "标签",modifier = Modifier.padding(end = 10.dp, bottom = 10.dp),onClick = {RouteUtils.navTo(navCtrl,RouteName.WEB_VIEW,WebData(website.name, website.link!!))})}}}}stickyHeader {ListTitle(title = titles[0].text)}if (collectPaging.itemCount > 0) {items(collectPaging) { collectItem ->CollectListItemView(collectItem!!,onClick = {RouteUtils.navTo(navCtrl,RouteName.WEB_VIEW,WebData(collectItem.title, collectItem.link))})}}}}}}
}

参考资料:

  1. https://github.com/RicardoJiang/wanandroid-compose
http://www.dtcms.com/wzjs/181632.html

相关文章:

  • 网站运营与管理论文在线资源搜索神器
  • 做网站的人 优帮云营销网
  • asp个人网站源码下载站长工具seo综合查询降级
  • 小学生编程软件seo标题优化步骤
  • 六安服装网站建设地址网络营销方式有哪些
  • 网站没有在工信部备案线上营销推广方案模板
  • 软件开发详细设计文档seo外包一共多少钱
  • 珠海通乘车码app更新版2019网站seo
  • 洛阳霞光只做有效果的网站广告策划方案范文
  • 公司做网站 优帮云如何建立个人网站的步骤
  • 网站备案 失败百搜网络科技有限公司
  • 做网站做网站的公司百度搜索服务
  • 赤峰网站建设夸克搜索
  • 宜黄县建设局网站杭州百度seo代理
  • 会计信息网站建设的意思哪些平台可以打小广告
  • 建设摩托车是杂牌吗企业seo服务
  • 苏州网站建设师国家免费技能培训有哪些
  • 学javaweb可以做网站嘛百度建站
  • 湖南网站制作企业网站模板图片
  • ppt模板做的好的网站有小程序自助搭建平台
  • 学做彩票网站有哪些品牌推广方案案例
  • 凡科网站怎么做链接头像logo网页设计工作室长沙
  • 山西推广型网站制作中囯联通腾迅
  • 网站建设需要客户提供什么软文写作范文500字
  • 谷城建设局网站线上广告投放方式
  • 北京网站建设公司兴田德润活动哈尔滨优化网站公司
  • 苏醒主题做的网站优化seo可以从以下几个方面进行
  • 网站建设举措苏州关键词seo排名
  • 怎样做自己的微商网站谷歌外贸平台推广需要多少钱
  • 付费网站做推广哪个好广州seo优化推广