Commit 29e52b4b by pierce

提交

parent 9c119de5
......@@ -45,6 +45,7 @@
BEABC74D29A0CC850043716F /* GDDataManagerHttpHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEABC74C29A0CC850043716F /* GDDataManagerHttpHelper.swift */; };
BEABC76029A0DB210043716F /* GDDataManagerPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEABC75F29A0DB210043716F /* GDDataManagerPlugin.swift */; };
BEE945A529A0F16A006632C7 /* GDDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38E95B07294824B900DE03BC /* GDDataManager.swift */; };
BEE945A729A36535006632C7 /* GDDataManagerSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEE945A629A36535006632C7 /* GDDataManagerSocket.swift */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
......@@ -88,6 +89,7 @@
BEABC74A29A0CB0E0043716F /* GDDataManagerProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GDDataManagerProvider.swift; sourceTree = "<group>"; };
BEABC74C29A0CC850043716F /* GDDataManagerHttpHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GDDataManagerHttpHelper.swift; sourceTree = "<group>"; };
BEABC75F29A0DB210043716F /* GDDataManagerPlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GDDataManagerPlugin.swift; sourceTree = "<group>"; };
BEE945A629A36535006632C7 /* GDDataManagerSocket.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GDDataManagerSocket.swift; sourceTree = "<group>"; };
E09E192CDCD2C79356954BE8 /* Pods_GDDataManager.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GDDataManager.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
......@@ -205,6 +207,7 @@
BEABC710299F72470043716F /* GDDataManagerAPI.swift */,
BEABC74A29A0CB0E0043716F /* GDDataManagerProvider.swift */,
BEABC74C29A0CC850043716F /* GDDataManagerHttpHelper.swift */,
BEE945A629A36535006632C7 /* GDDataManagerSocket.swift */,
);
path = Network;
sourceTree = "<group>";
......@@ -389,6 +392,7 @@
BEABC74929A080E50043716F /* GDBroadcastModel.swift in Sources */,
BEABC73D29A080E50043716F /* GDLevelModel.swift in Sources */,
38E95B28294829DB00DE03BC /* GDAudienceInviteCenter.swift in Sources */,
BEE945A729A36535006632C7 /* GDDataManagerSocket.swift in Sources */,
38E95B27294829DB00DE03BC /* GDAudienceInvitedModel.swift in Sources */,
BEABC73B29A080E50043716F /* GDDailySignRewardModel.swift in Sources */,
BEABC727299F854A0043716F /* GDResourceCenter.swift in Sources */,
......
......@@ -185,7 +185,7 @@ public class GDDataManager: BaseViewModel {
}
/// 初始化数据
override func setupViewModel() {
public override func setupViewModel() {
super.setupViewModel()
loadLocalDefaultData()
......@@ -212,7 +212,7 @@ public class GDDataManager: BaseViewModel {
newWearNum.subscribe(onNext: { newWearNum in
if var dict = GDUserDefault.read(GDUserDefault.Data.newWearNum) as? [String:String] {
if let uid = UserCenter.shared.user.value.uid {
if let uid = GDRouter.UserRouter?.uid {
if uid.count > 0 {
dict[uid] = "\(newWearNum)"
GDUserDefault.write(dict, key: GDUserDefault.Data.newWearNum)
......@@ -220,7 +220,7 @@ public class GDDataManager: BaseViewModel {
}
} else {
if let uid = UserCenter.shared.user.value.uid {
if let uid = GDRouter.UserRouter?.uid {
if uid.count > 0 {
GDUserDefault.write([uid: "\(newWearNum)"], key: GDUserDefault.Data.newWearNum)
}
......@@ -283,15 +283,15 @@ public class GDDataManager: BaseViewModel {
self.motorNewMid.subscribe(onNext: { dict in
GDUserDefault.write(dict, key: GDUserDefault.Data.newMotorId + UserCenter.shared.uid)
GDUserDefault.write(dict, key: GDUserDefault.Data.newMotorId + (GDRouter.UserRouter?.uid ?? ""))
}).disposed(by: disposeBag)
self.titleNewId.subscribe(onNext: { dict in
GDUserDefault.write(dict, key: GDUserDefault.Data.newTitleId + UserCenter.shared.uid)
GDUserDefault.write(dict, key: GDUserDefault.Data.newTitleId + (GDRouter.UserRouter?.uid ?? ""))
}).disposed(by: disposeBag)
self.fansGroupNewId.subscribe(onNext: { dict in
GDUserDefault.write(dict, key: GDUserDefault.Data.newFansGroupTeam + UserCenter.shared.uid)
GDUserDefault.write(dict, key: GDUserDefault.Data.newFansGroupTeam + (GDRouter.UserRouter?.uid ?? ""))
}).disposed(by: disposeBag)
self.hadUserOpenLiveRoomGiftPanel.distinctUntilChanged().subscribe(onNext: { hadOpen in
......@@ -312,28 +312,28 @@ public class GDDataManager: BaseViewModel {
/// 配置数据中心,每次登陆和更换用户需要调用
func setup() {
if let newWearNum = (GDUserDefault.read(GDUserDefault.Data.newWearNum) as? [String:String])?[UserCenter.shared.uid] {
if let newWearNum = (GDUserDefault.read(GDUserDefault.Data.newWearNum) as? [String:String])?[GDRouter.UserRouter?.uid ?? ""] {
self.newWearNum.accept(newWearNum.intValue)
}
if let newMotorDict = GDUserDefault.read(GDUserDefault.Data.newMotorId + UserCenter.shared.uid) as? [String: Bool] {
if let newMotorDict = GDUserDefault.read(GDUserDefault.Data.newMotorId + (GDRouter.UserRouter?.uid ?? "")) as? [String: Bool] {
self.motorNewMid.accept(newMotorDict)
}
if let newTitleDict = GDUserDefault.read(GDUserDefault.Data.newTitleId + UserCenter.shared.uid) as? [String: Bool] {
if let newTitleDict = GDUserDefault.read(GDUserDefault.Data.newTitleId + (GDRouter.UserRouter?.uid ?? "")) as? [String: Bool] {
self.titleNewId.accept(newTitleDict)
}
if let newFansGroupDict = GDUserDefault.read(GDUserDefault.Data.newFansGroupTeam + UserCenter.shared.uid) as? [String: Bool] {
if let newFansGroupDict = GDUserDefault.read(GDUserDefault.Data.newFansGroupTeam + (GDRouter.UserRouter?.uid ?? "")) as? [String: Bool] {
self.fansGroupNewId.accept(newFansGroupDict)
}
}
override func setupSocketListener() {
public override func setupSocketListener() {
super.setupSocketListener()
GDSocketPublisher.Data.newWearRecieve.subscribe(onNext: {[weak self] (json) in
GDSocketCenter.publisher.listenTo(GDDataManagerSocketCID.newWearRecieve.intValue).mapToJSON().subscribe(onNext: {[weak self] (json) in
guard let self = self else { return }
......@@ -384,7 +384,7 @@ public class GDDataManager: BaseViewModel {
return count
}).bind(to: newWearNum).disposed(by: disposeBag)
GDSocketPublisher.Data.verify.subscribe(onNext: {[weak self] json in
GDSocketCenter.publisher.listenTo(GDDataManagerSocketCID.verify.intValue).mapToJSON().subscribe(onNext: {[weak self] json in
let childmode = json["childmode"].intValue
if childmode == 2 {
UserCenter.shared.teenagerCenter.isTeenageModeOn.accept(true)
......@@ -398,7 +398,7 @@ public class GDDataManager: BaseViewModel {
}).disposed(by: disposeBag)
// 接收可领取任务数变化
GDSocketPublisher.Data.rewardCountChange.subscribe(onNext: {[weak self] json in
GDSocketCenter.publisher.listenTo(GDDataManagerSocketCID.rewardCountChange.intValue).mapToJSON().subscribe(onNext: {[weak self] json in
guard let self = self else { return }
self.rewardCount.accept(json["count"].intValue)
}).disposed(by: disposeBag)
......@@ -421,7 +421,7 @@ extension GDDataManager {
self?.splashModel.accept(model)
} onError: { (error) in
} onFailure: { (error) in
GDlog.error(error)
}.disposed(by: self.disposeBag)
......@@ -518,7 +518,7 @@ extension GDDataManager {
func updateRechargeData() {
// 充值点需要更新
GDRechargeRequestModel.readDataFrom(.server).subscribe(onSuccess: {[weak self] (model) in
GDRechargeRequestModel.readDataFrom(.server).subscribesubscribe(onSuccess: {[weak self] (model) in
guard let self = self else { return }
// 保存MD5数据
self.md5Model.rechargeMd5 = model.md5
......@@ -669,21 +669,21 @@ extension GDDataManager {
guard UserCenter.shared.isVisitor.value == false else { return }
let lastDate = GDUserDefault.read(GDUserDefault.Data.newUserCheckDate + (UserCenter.shared.user.value.uid ?? "")) as? String
let lastDate = GDUserDefault.read(GDUserDefault.Data.newUserCheckDate + (GDRouter.UserRouter?.uid ?? "")) as? String
provider.getNewUserReward().subscribe { (model) in
// 本地数据处理
if needCount {
if lastDate == todayString() {
// 今天已经请求过
let times = (GDUserDefault.read(GDUserDefault.Data.newUserCheckTimes + UserCenter.shared.uid) as? Int) ?? 0
GDUserDefault.write(times + 1, key: GDUserDefault.Data.newUserCheckTimes + UserCenter.shared.uid)
let times = (GDUserDefault.read(GDUserDefault.Data.newUserCheckTimes + GDRouter.UserRouter?.uid ?? "") as? Int) ?? 0
GDUserDefault.write(times + 1, key: GDUserDefault.Data.newUserCheckTimes + GDRouter.UserRouter?.uid ?? "")
} else {
// 今天未请求过
GDUserDefault.write(1, key: GDUserDefault.Data.newUserCheckTimes + UserCenter.shared.uid)
GDUserDefault.write(1, key: GDUserDefault.Data.newUserCheckTimes + GDRouter.UserRouter?.uid ?? "")
}
GDUserDefault.write(todayString(), key: GDUserDefault.Data.newUserCheckDate + UserCenter.shared.uid)
GDUserDefault.write(todayString(), key: GDUserDefault.Data.newUserCheckDate + GDRouter.UserRouter?.uid ?? "")
}
// 服务器数据处理
......@@ -697,7 +697,7 @@ extension GDDataManager {
// 不是新人
} else {
if lastDate?.count == 0 {
GDUserDefault.write(todayString(), key: GDUserDefault.Data.newUserCheckDate + UserCenter.shared.uid)
GDUserDefault.write(todayString(), key: GDUserDefault.Data.newUserCheckDate + GDRouter.UserRouter?.uid ?? "")
}
}
......@@ -771,7 +771,7 @@ public extension GDDataManager {
/// 便捷取等级数据
/// - Parameter level: 等级
/// - Returns: 等级model,如果等级无效,则返回空Model
public static func level(_ level: String) -> GDLevelModel? {
static func level(_ level: String) -> GDLevelModel? {
return GDDataManager.shared.levelDict[level]
}
}
......@@ -8,6 +8,7 @@
import UIKit
import GDToolBox
import Router
class GDAliOSSModel: BaseModel, NetworkModelType {
......@@ -37,7 +38,7 @@ class GDAliOSSModel: BaseModel, NetworkModelType {
// MARK: Method
func upload(with data: Data, type: String, success: ((String) -> Void)?, failure: ((String, Int) -> Void)?) {
guard isValidString(UserCenter.shared.uid) else {
guard isValidString(GDRouter.UserRouter?.uid) else {
failure?("请登录", -1)
return
}
......@@ -47,7 +48,7 @@ class GDAliOSSModel: BaseModel, NetworkModelType {
client = OSSClient(endpoint: endpoint, credentialProvider: credential)
let uploadPath = "/sts-server/\(UserCenter.shared.uid)/\(Date().milliStamp)/\(NSUUID().uuidString).\(type)"
let uploadPath = "/sts-server/\(GDRouter.UserRouter?.uid ?? "")/\(Date().milliStamp)/\(NSUUID().uuidString).\(type)"
let put = OSSPutObjectRequest()
put.bucketName = "yazhai"
......
......@@ -86,15 +86,14 @@ extension GDLevelRequestModel: CachableType {
/// 从服务器读取数据
/// - Returns:
static func readFromServer(with paramsDict: [String : Any]?) -> Single<GDLevelRequestModel> {
// TODO: 缺失
// 等级数据需要更新
// return GDRouter.ApplicationRouter.provider.getLevelData().map { (model) in
// // 写入本地
// model.writeLocal()
// // 预加载图片
// ImagePrefetcher(urls: model.levelImageArr).start()
// return model
// }
// 等级数据需要更新
return GDDataManagerHttpHelper.shared.getLevelData().map { (model) in
// 写入本地
model.writeLocal()
// 预加载图片
ImagePrefetcher(urls: model.levelImageArr).start()
return model
}
}
/// 写入本地
......
......@@ -21,7 +21,7 @@ class GDSocialTipsModel: BaseModel {
@objc var title : String?
static func transform(_ content: String) -> String {
return content.tl_roomInjectedStr
return content.gd_roomInjectedStr
}
}
......@@ -8,6 +8,7 @@
import Foundation
import Moya
import Router
import GDToolBox
enum GDDataManagerAPI {
......@@ -24,13 +25,19 @@ enum GDDataManagerAPI {
case getChatGiftData(md5: String?)
// 充值点数据
case rechargeData(md5: String?)
// 下载资源
case data(path: String, md5: String?)
// 等级数据
case levelData
}
extension GDDataManagerAPI: TargetType {
extension GDDataManagerAPI: DownloadTargetType {
var baseURL: URL {
switch self {
case .rechargeData:
return URL(string: GDRouter.HostRouter?.payUrl ?? "") ?? URL(fileURLWithPath: "")
case .data:
return URL(string: GDRouter.HostRouter?.imageDownUrl ?? "") ?? URL(fileURLWithPath: "")
default:
return URL(string: GDRouter.HostRouter?.apiAddress ?? "") ?? URL(fileURLWithPath: "")
}
......@@ -51,6 +58,10 @@ extension GDDataManagerAPI: TargetType {
return "/setting/updatechatgift.html"
case .rechargeData:
return "/pay/recharge"
case .data(let path, _):
return path
case .levelData:
return "/setting/level.html"
}
}
......@@ -73,6 +84,10 @@ extension GDDataManagerAPI: TargetType {
if let md5 = md5 {
params["md5"] = md5
}
case .data:
break
case .levelData:
break
}
return params
}
......@@ -83,16 +98,32 @@ extension GDDataManagerAPI: TargetType {
var task: Task {
switch self {
case .data(let path, _):
return .downloadDestination(downloadDestinationFor(path))
default:
return .requestParameters(parameters: parameters, encoding: parametersEncoding)
}
}
var method: Moya.Method {
.post
switch self {
case .data:
return .get
default:
return .post
}
}
var headers: [String : String]? {
nil
}
var md5: String? {
switch self {
case .data(_ , let md5):
return md5
default:
return nil
}
}
}
......@@ -54,6 +54,14 @@ class GDDataManagerHttpHelper: BaseModel {
/// - Returns:
func downloadDataAt(path: String, md5: String?) -> Observable<GDProgressResponse> {
/// 文件不存在,执行下载
return dataProvider.downloadWithProgress(.data(path: path, md5: md5), retryTime: 3)
return dataProvider.provider.downloadWithProgress(GDDataManagerAPI.data(path: path, md5: md5), retryTime: 3)
}
/// 获取等级数据
/// - Returns:
func getLevelData() -> Single<GDLevelRequestModel> {
return dataProvider
.request(.levelData)
.mapToModel(type: GDLevelRequestModel.self)
}
}
//
// GDDataManagerSocket.swift
// GDDataManager
//
// Created by pierce on 2023/2/20.
//
import UIKit
struct GDDataManagerSocketCID {
/// 通信验证
static let verify = "1000"
/// 收到新的可穿戴物品
static let newWearRecieve = "3001"
/// 任务中心可领取任务数量变化
static let rewardCountChange = "3002"
}
......@@ -184,7 +184,7 @@ class GDResourceDownloader: BaseViewModel {
GDlog.debug("-> \(task.resUrl) 下载完成")
if task.resType == .zip {
if var targetPath = GDResourceDownloader.pathForFaceGiftEffectTask(task: task) {
targetPath = DevConfig.resourceDownloadPath.appending(targetPath)
targetPath = DevConfig.gd_resourceDownloadPath.appending(targetPath)
let filePath = DevConfig.gd_resourceDownloadPath.appending(task.resUrl)
SSZipArchive.unzipFile(atPath: filePath, toDestination: targetPath, progressHandler: nil) { (path, success, error) in
// 解压到指定路径下
......
......@@ -134,7 +134,7 @@ class GDSocketLauncher: BaseViewModel {
// }
//
// // 发送数据
// GDSocketCenter.shared.sendSocketMessage(uid: UserCenter.shared.user.value.uid ?? "", cid: SocketCID.Service.sendMessage, dict: params)
// GDSocketCenter.shared.sendSocketMessage(uid: GDRouter.UserRouter?.uid ?? "", cid: SocketCID.Service.sendMessage, dict: params)
// }
// func launchServiceImageMessage(model: GDServiceChatDetailModel, objkey: String, md5: String, toUid: String, completionHandler: SocketLaunchCompletionHandler?) {
......@@ -156,7 +156,7 @@ class GDSocketLauncher: BaseViewModel {
// completionDict[model.msgid] = completion
// }
//
// GDSocketCenter.shared.sendSocketMessage(uid: UserCenter.shared.user.value.uid ?? "", cid: SocketCID.Service.sendImageMessage, dict: params)
// GDSocketCenter.shared.sendSocketMessage(uid: GDRouter.UserRouter?.uid ?? "", cid: SocketCID.Service.sendImageMessage, dict: params)
// }
/// 发送直播间重连命令
......@@ -177,10 +177,10 @@ class GDSocketLauncher: BaseViewModel {
// }
//
// let params = ["roomid": roomid,
// "uid": UserCenter.shared.user.value.uid ?? ""]
// "uid": GDRouter.UserRouter?.uid ?? ""]
//
// GDSocketCenter.shared
// .sendSocketMessage(uid: UserCenter.shared.user.value.uid ?? "",
// .sendSocketMessage(uid: GDRouter.UserRouter?.uid ?? "",
// cid: SocketCID.Live.reconnect,
// dict: params)
//
......
......@@ -9,5 +9,12 @@ import UIKit
open class GDToolBoxLivePlugin: NSObject {
/// 当前直播间房间ID
open var currentRoomId:String? { "" }
/// 当前直播间主播的UID
open var currentRoomUid:String? { "" }
/// 当前直播间主播的昵称
open var currentRoomNickname:String? { "" }
open func startAnchorPush() {}
}
......@@ -72,6 +72,7 @@ open class GDToolBoxUserCenterPlugin: NSObject {
open var isVisitor:Bool { false }
open var isUserLogin:Bool { false }
open var uid:String? { "" }
open var nickname:String? { "" }
open var token:String? { "" }
func gd_userHadBeenKickOffline() {}
......
......@@ -11,15 +11,11 @@ import Moya
enum GDToolBoxSetupAPI {
case getSocketInfo
case getVisitorSocketInfo
// 下载资源
case data(path: String, md5: String?)
}
extension GDToolBoxSetupAPI: DownloadTargetType {
extension GDToolBoxSetupAPI: TargetType {
var baseURL: URL {
switch self {
case .data:
return URL(string: GDToolBoxPlugins.shared.apiPlugin.imageDownUrl) ?? URL(fileURLWithPath: "")
default:
return URL(string: GDToolBoxPlugins.shared.apiPlugin.baseApiUrl) ?? URL(fileURLWithPath: "")
}
......@@ -27,8 +23,6 @@ extension GDToolBoxSetupAPI: DownloadTargetType {
var path: String {
switch self {
case .data(let path, _):
return path
case .getSocketInfo:
return "/sync/scoket.html"
case .getVisitorSocketInfo:
......@@ -47,8 +41,6 @@ extension GDToolBoxSetupAPI: DownloadTargetType {
var task: Task {
switch self {
case .data(let path, _):
return .downloadDestination(downloadDestinationFor(path))
default:
return .requestParameters(parameters: parameters, encoding: parametersEncoding)
}
......@@ -56,8 +48,6 @@ extension GDToolBoxSetupAPI: DownloadTargetType {
var method: Moya.Method {
switch self {
case .data:
return .get
default:
return .post
}
......@@ -70,8 +60,6 @@ extension GDToolBoxSetupAPI: DownloadTargetType {
var md5: String? {
switch self {
case .data(_ , let md5):
return md5
default:
return nil
}
......
......@@ -8,7 +8,7 @@
import Foundation
extension Date {
public extension Date {
/// 获取当前 秒级 时间戳 - 10位
var timeStamp : String {
......
......@@ -10,7 +10,7 @@ import Foundation
/// 获取今日日期:2020-07-08
/// - Returns:
func todayString() -> String {
public func todayString() -> String {
// 格式化
let formatter = DateFormatter()
// 设置格式
......
......@@ -97,22 +97,21 @@ public extension String {
return self.lengthOfBytes(using: encode)
}
//TODO:移动到直播模块: added By Pidan
var gd_roomInjectedStr: String {
return self
.replacingOccurrences(of: "#nickname#", with: GDLiveHelper.shared.liveVC?.roomInfoModel.value.nickname ?? "")
.replacingOccurrences(of: "#uid#", with: GDLiveHelper.shared.roomid.value ?? "")
.replacingOccurrences(of: "#pkg#", with: GDAppConfig.pkg)
.replacingOccurrences(of: "#app#", with: GDAppConfig.appName)
.replacingOccurrences(of: "#nickname#", with: GDToolBoxPlugins.shared.livePlugin.currentRoomNickname ?? "")
.replacingOccurrences(of: "#uid#", with: GDToolBoxPlugins.shared.livePlugin.currentRoomId ?? "")
.replacingOccurrences(of: "#pkg#", with: GDAppConfig.gd_pkg)
.replacingOccurrences(of: "#app#", with: GDAppConfig.gd_appName)
.replacingOccurrences(of: "#qrflag#", with: "1")
}
var gd_injectedStr: String {
return self
.replacingOccurrences(of: "#nickname#", with: UserCenter.shared.user.value.nickname ?? "")
.replacingOccurrences(of: "#uid#", with: UserCenter.shared.uid)
.replacingOccurrences(of: "#pkg#", with: GDAppConfig.pkg)
.replacingOccurrences(of: "#app#", with: GDAppConfig.appName)
.replacingOccurrences(of: "#nickname#", with: GDToolBoxPlugins.shared.userPlugin.nickname ?? "")
.replacingOccurrences(of: "#uid#", with: GDToolBoxPlugins.shared.userPlugin.uid ?? "")
.replacingOccurrences(of: "#pkg#", with: GDAppConfig.gd_pkg)
.replacingOccurrences(of: "#app#", with: GDAppConfig.gd_appName)
.replacingOccurrences(of: "#qrflag#", with: "1")
}
......
......@@ -14,8 +14,8 @@
#import "SocketParse.h"
#import "TalkingData.h"
#import "WXApi.h"
#import <TencentOpenAPI/TencentOAuth.h>
#import <TencentOpenAPI/QQApiInterface.h>
//#import <TencentOpenAPI/TencentOAuth.h>
//#import <TencentOpenAPI/QQApiInterface.h>
#import "VPImageCropperViewController.h"
#import <SecVerify/SVSDKHyVerify.h>
#import <MOBFoundation/MobSDK+Privacy.h>
......
......@@ -414,14 +414,13 @@ public class GDHostManager {
params["device"] = GDDevice.deviceName
// TODO: 缺失
// if isValidString(UserCenter.shared.user.value.uid) {
// params["uid"] = UserCenter.shared.user.value.uid
// }
//
// if isValidString(UserCenter.shared.user.value.token) {
// params["token"] = UserCenter.shared.user.value.token
// }
if isValidString(GDRouter.UserRouter?.uid) {
params["uid"] = GDRouter.UserRouter?.uid
}
if isValidString(GDRouter.UserRouter?.token) {
params["token"] = GDRouter.UserRouter?.token
}
return params
}
......
......@@ -12,5 +12,8 @@ import UIKit
public protocol GDUserManagerSwiftService: GDUserManagerService {
/// UID
var uid: String? { get }
/// token
var token: String? { get }
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment