gpt4 book ai didi

ios - 根据角色显示不同的view controller-Firebase, Swift 3

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:09:16 26 4
gpt4 key购买 nike

我正在构建一个非常简单的应用程序,用于将报告从用户发送给管理员。到目前为止,我已经完成了整个前端。我有菜单工作,报告序列是无缝的。现在是我承担后端工作的时候了。我是一名新的 Swift 开发人员,完全自学(就像你应该的那样 :) ),我在一些事情上遇到了困难。我只需要一些指导,我只是通过阅读在后面使用堆栈溢出来寻求建议,但从未问过问题。所以!我的问题是,敬虔的堆栈社区!:

我有两个用户角色..

  1. 普通用户
  2. 管理员

我希望能够根据他们在 firebase 中的角色,在他们登录时将他们重定向到各自的 View Controller 。现在!我问了我的一个 friend ,他告诉我他们都可以在同一个应用程序中完成,我不需要为管理员制作不同的应用程序。我猜这是真的,因为我相信他的判断。我正在考虑做 if 检查,即

//If role is = to admin
self.performSegue(admin VC)

//else
self.performSegue(homeScreen)

我遇到问题 1. 分配角色和 2. 从 firebase 访问它!

非常感谢任何见解/提示!

感谢栈溢出大神

最佳答案

这将是一个两步过程

第一步是对用户进行身份验证并检索他们的用户 uid

Auth.auth().signIn(withEmail: "dude@thing.com", password: "password", 
completion: { (auth, error) in

if error != nil {
let err = error?.localizedDescription
print(err!)
} else {
print("succesfully authd")
let uid = auth!.uid

assignUserRole(uid)
}
})

假设您有一个包含额外用户数据的标准用户节点

users
uid_0
fav_food: "pizza"
user_role: "admin"
uid_1
fav_food: "tacos"
user_role: "normal_user"

第二步:调用assignUserRole函数获取用户信息,设置UI

function assignUserRole(theUid: String) {

let thisUserRef = appRef.child("users").child(theUid)
thisUserRef.observeSingleEvent(of: .value, with: { snapshot in
let userDict = snapshot.value as! [String: Any]
let favFood = userDict["fav_food"] as! String
let userRole = userDict["user_role"] as! String
print(" \(favFood) \(userRole")

if userRole == "admin" {
//display admin viewController
} else {
//display normal user viewController
}
})
}

关于ios - 根据角色显示不同的view controller-Firebase, Swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45049666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com