// // NYSwRouter.swift // JSJP_Student_sw // // Created by Ning.ge on 2023/5/30. // import UIKit import URLNavigator enum NYSwPushType { case trainee_info case trainee_search case trainee_list case trainee_list_biand case trainee_estu_log case trainee_estu_log_photo case mine_center case mine_uppassword case mine_switchaccount case trainee_list_school case trainee_statistics case trainee_statistics_official case coach_qrcode case coach_qrcode_download case login_biand_wx } enum NYSwOpenType: String { case uprotocol = "https://ys.zzxcx.net/xy_jsjp.html" case all = "http://live.bilibili.com/app/all-live/" case traineetab = "JiaPeiManage://app/traineetab" case login = "JiaPeiManage://app/login" } extension NYSwPushType { var path:String { switch self { case .trainee_info: return "JiaPeiManage://me/trainee/info" case .trainee_list: return "JiaPeiManage://me/trainee/list" case .trainee_list_biand: return "JiaPeiManage://me/trainee/list/biand" case .trainee_estu_log: return "JiaPeiManage://me/trainee/estu/log" case .trainee_estu_log_photo: return "JiaPeiManage://me/trainee/estu/log/photo" case .trainee_search: return "JiaPeiManage://me/trainee/search" case .trainee_list_school: return "JiaPeiManage://me/trainee/list/school" case .mine_center: return "JiaPeiManage://mine/center" case .mine_uppassword: return "JiaPeiManage://mine/updatepassword" case .mine_switchaccount: return "JiaPeiManage://mine/switchaccount" case .trainee_statistics: return "JiaPeiManage://me/trainee/statistics" case .trainee_statistics_official: return "JiaPeiManage://me/trainee/statistics/official" case .coach_qrcode: return "JiaPeiManage://me/coach/qrcode" case .coach_qrcode_download: return "JiaPeiManage://me/coach/qrcode/download" case .login_biand_wx: return "JiaPeiManage://login/coach/biand/wx" } } } class NYSwRouter { @discardableResult class func push(_ type:NYSwPushType, context: Any? = nil) -> UIViewController? { return navigator.push(type.path, context: context) } @discardableResult class func push(_ url:String) -> UIViewController? { return navigator.push(url) } @discardableResult class func open(_ url:String) -> Bool? { guard let header = url.components(separatedBy: "?").first, let _ = NYSwOpenType(rawValue: header) else { NYSwToaster.show("需要跳转的路径未找到,请先注册!") return nil } return navigator.open(url) } }