Skip to content

Commit 9fd2fcc

Browse files
author
CodeOcen
committed
feat: 替换token
1 parent 5b688ab commit 9fd2fcc

File tree

12 files changed

+53
-79
lines changed

12 files changed

+53
-79
lines changed

SwiftJSONModeler For Xcode.xcodeproj/project.pbxproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
C94AFC01241F4AE600389AF3 /* YApiHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = C94AFC00241F4AE600389AF3 /* YApiHelper.swift */; };
2424
C94AFC04241F4E8A00389AF3 /* YApiObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = C94AFC03241F4E8A00389AF3 /* YApiObject.swift */; };
2525
C961C1DE23D82A8D008D0DE6 /* ConfigViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C961C1DD23D82A8D008D0DE6 /* ConfigViewController.swift */; };
26-
C97A431324EF7954002F6065 /* Token.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97A431224EF7954002F6065 /* Token.swift */; };
2726
C9CB2480241F559C00F4D5CE /* ErrorCenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9CB247F241F559C00F4D5CE /* ErrorCenter.swift */; };
2827
C9CEE26D242B382900A04EA9 /* YApiCreator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9CEE26C242B382900A04EA9 /* YApiCreator.swift */; };
2928
C9D04F2B242F218200843DC4 /* SwiftJSONModeler_For_XcodeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9D04F2A242F218200843DC4 /* SwiftJSONModeler_For_XcodeTests.swift */; };
@@ -101,7 +100,6 @@
101100
C94AFC00241F4AE600389AF3 /* YApiHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YApiHelper.swift; sourceTree = "<group>"; };
102101
C94AFC03241F4E8A00389AF3 /* YApiObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YApiObject.swift; sourceTree = "<group>"; };
103102
C961C1DD23D82A8D008D0DE6 /* ConfigViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigViewController.swift; sourceTree = "<group>"; };
104-
C97A431224EF7954002F6065 /* Token.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Token.swift; sourceTree = "<group>"; };
105103
C9CB247F241F559C00F4D5CE /* ErrorCenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorCenter.swift; sourceTree = "<group>"; };
106104
C9CEE26C242B382900A04EA9 /* YApiCreator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YApiCreator.swift; sourceTree = "<group>"; };
107105
C9D04F20242EF99F00843DC4 /* YApiRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YApiRequest.swift; sourceTree = "<group>"; };
@@ -279,7 +277,6 @@
279277
C9DE045E242C8535008A0070 /* Config.swift */,
280278
C9CB247F241F559C00F4D5CE /* ErrorCenter.swift */,
281279
C935B49B24EA24BE00E48231 /* JSONHelper.swift */,
282-
C97A431224EF7954002F6065 /* Token.swift */,
283280
);
284281
path = "SwiftJSONModeler For Xcode";
285282
sourceTree = "<group>";
@@ -456,7 +453,6 @@
456453
buildActionMask = 2147483647;
457454
files = (
458455
C92A971724E513EA00C87CCD /* YApiRequest.swift in Sources */,
459-
C97A431324EF7954002F6065 /* Token.swift in Sources */,
460456
C92A971824E513F900C87CCD /* ErrorCenter.swift in Sources */,
461457
C9E9C09225CFD94E00CD767D /* ConfigModel.swift in Sources */,
462458
C9E393E824EE255900D80B28 /* TokenView.swift in Sources */,

SwiftJSONModeler For Xcode.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SwiftJSONModeler For Xcode/Config/ConfigCenter.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class ConfigCenter {
1515
static let `default` = ConfigCenter()
1616
var config: ConfigModel
1717

18-
init() {
18+
private init() {
1919
config = Self.readConfig()
2020
}
2121
@discardableResult

SwiftJSONModeler For Xcode/Config/Model/ConfigModel.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,8 @@ class YApiTokenModel: Codable {
5757
var name: String = ""
5858
/// 项目 token
5959
var token: String = ""
60+
init(name: String, token: String) {
61+
self.name = name
62+
self.token = token
63+
}
6064
}

SwiftJSONModeler For Xcode/Controller/ConfigViewController.swift

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import Cocoa
1111
class ConfigViewController: NSViewController {
1212
private var configCenter = ConfigCenter.default
1313
private var config = ConfigCenter.default.config
14-
private var tokens: [Token] = []
14+
private var tokens: [YApiTokenModel] = []
1515
private var token: String = ""
1616

1717
@IBOutlet weak var confromTextField: NSTextField!
@@ -32,6 +32,7 @@ class ConfigViewController: NSViewController {
3232

3333
override func viewDidLoad() {
3434
super.viewDidLoad()
35+
title = "Model 设置"
3536
updateFromUserDefault()
3637
NotificationCenter.default.addObserver(forName: .tokenSaved, object: nil, queue: nil) { [weak self] (noti) in
3738
self?.setupBox()
@@ -64,8 +65,8 @@ class ConfigViewController: NSViewController {
6465
tokenBox.removeAllItems()
6566
tokenBox.usesDataSource = false
6667
let historyToken = config.yapiToken
67-
tokens = Token.getTokenFormUserDefault() // token配置中的 token
68-
let tokensTitle = tokens.map { $0.title }
68+
tokens = ConfigCenter.default.config.yapiTokenList // token配置中的 token
69+
let tokensTitle = tokens.map { $0.name }
6970
tokenBox.addItems(withObjectValues: tokensTitle)
7071

7172
if !historyToken.isEmpty {
@@ -75,7 +76,7 @@ class ConfigViewController: NSViewController {
7576
} else {
7677
let filter = tokens.filter { $0.token == historyToken }
7778
if filter.count > 0 {
78-
tokenBox.selectItem(withObjectValue: filter.first!.title)
79+
tokenBox.selectItem(withObjectValue: filter.first!.name)
7980
token = filter.first!.token
8081
} else {
8182
tokenBox.stringValue = historyToken
@@ -91,7 +92,7 @@ class ConfigViewController: NSViewController {
9192
return ""
9293
}
9394
// 判断是否为选中的
94-
let filter = tokens.filter { $0.title == boxValue }
95+
let filter = tokens.filter { $0.name == boxValue }
9596
if filter.count > 0 {
9697
// 是选中的
9798
return filter.first!.token

SwiftJSONModeler For Xcode/Controller/TokenViewController.swift

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@ class TokenViewController: NSViewController {
2020
@IBOutlet weak var tokenContentView: NSView!
2121
private let tokenContentLayer = CALayer()
2222
private let rowHeight: CGFloat = 40
23-
private var dataSource: [Token] = []
23+
private var dataSource: [YApiTokenModel] = []
2424

2525
private var tokenViews: [TokenView] = []
2626
override func viewDidLoad() {
2727
super.viewDidLoad()
28+
title = "配置 token"
2829
setupView()
2930
setupToken()
3031
}
@@ -62,14 +63,14 @@ private extension TokenViewController {
6263
showAlert()
6364
return
6465
}
65-
let willAddToken = Token(title: title, token: token)
66+
let willAddToken = YApiTokenModel(name: title, token: token)
6667
dataSource.append(willAddToken)
6768
updateToken()
6869
addTokenView(willAddToken, at: dataSource.count - 1)
6970
titleTextField.stringValue = ""
7071
tokenTextField.stringValue = ""
7172
}
72-
func addTokenView(_ token: Token, at index: Int) {
73+
func addTokenView(_ token: YApiTokenModel, at index: Int) {
7374
let tokenView = TokenView()
7475
tokenView.heightAnchor.constraint(equalToConstant: rowHeight).isActive = true
7576
stackView.addArrangedSubview(tokenView)
@@ -118,10 +119,11 @@ extension UserDefaults {
118119
// MARK: - 数据持久化
119120
private extension TokenViewController {
120121
func updateToken() -> Void {
121-
Token.updateUserDefault(for: dataSource)
122+
ConfigCenter.default.config.yapiTokenList = dataSource
123+
ConfigCenter.default.save()
122124
}
123125

124-
func getToken() -> [Token] {
125-
return Token.getTokenFormUserDefault()
126+
func getToken() -> [YApiTokenModel] {
127+
return ConfigCenter.default.config.yapiTokenList
126128
}
127129
}

SwiftJSONModeler For Xcode/Token.swift

Lines changed: 0 additions & 47 deletions
This file was deleted.

SwiftJSONModeler For Xcode/View/TokenView.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@ class TokenView: NSView {
5050
deleteButton.attributedTitle = NSAttributedString(string: "删除", attributes: [NSAttributedString.Key.foregroundColor : NSColor.red])
5151
}
5252

53-
func config(token: Token) -> Void {
53+
func config(token: YApiTokenModel) -> Void {
5454
tokenLabel.stringValue = token.token
55-
titleLabel.stringValue = token.title
55+
titleLabel.stringValue = token.name
5656
}
5757

5858
@IBAction func deleteButtonTap(_ sender: NSButton) {

SwiftJSONModeler For Xcode/YApi/YApiCreator.swift

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class YApiCreator {
3131
var objectHelper: YApiHelper!
3232
var lines: NSMutableArray!
3333
var isShowMock: Bool = false
34-
34+
private var config = ConfigCenter.default.config
3535
private var errorCenter = ErrorCenter.shared
3636
private var pasteText: String = ""
3737
private var creatObjects: Set<YApiObject> = []
@@ -55,7 +55,7 @@ class YApiCreator {
5555
}
5656

5757
private func getPathObject() -> Void {
58-
objectHelper.aimPath = Config().yapiPath //设置获取data下数据
58+
objectHelper.aimPath = ConfigCenter.default.config.yapiPath //设置获取data下数据
5959
guard let object = objectHelper.pathObject else {
6060
return
6161
}
@@ -93,7 +93,6 @@ class YApiCreator {
9393
/// 返回注释和每个对象的行内容(处理非 array 和 object类型)
9494
private func lineRow(from object: YApiObject) -> [String]? {
9595
let type = object.type!
96-
let config = Config()
9796
var swiftType = type.swiftType()
9897
switch type {
9998
case .array:
@@ -129,19 +128,23 @@ class YApiCreator {
129128
swiftType = "<#\(object.typeRaw)#>"
130129
}
131130
var line = "var \(object.key!): \(swiftType)"
132-
let isOptional = !config.isNotOptional
131+
let isOptional = config.isOptional
133132
if isOptional {
134-
if type == .array, !config.arrayIsDefaultNotEmpty {
133+
if type == .array, config.isArrayDefaultEmpty {
135134
line.append(contentsOf: " = []")
136135
} else {
137136
let optionalStr = config.isImplicitlyOptional ? "!" : "?"
138137
line.append(contentsOf: optionalStr)
139138
}
140139
} else {
141-
if !config.arrayIsDefaultNotEmpty {
140+
if type == .array, config.isArrayDefaultEmpty {
142141
line.append(contentsOf: " = []")
143142
}
144143
}
144+
let isStringdefaultEmpty = config.isStringDefaultEmpty
145+
if type == .string, isStringdefaultEmpty {
146+
line.append(contentsOf: #" = """#)
147+
}
145148
return [comment,line]
146149
}
147150
func getModels() -> [String] {
@@ -164,7 +167,6 @@ class YApiCreator {
164167
} else if commandIdentifier.contains(keyClass) {
165168
keyword = keyClass
166169
}
167-
let config = Config()
168170
name = config.prefix + name + config.subffix
169171
let parent = config.parent
170172
var objctLines: [String] = []

SwiftJSONModeler For Xcode/YApi/YApiRequest.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ extension String {
2020

2121
class YApiRequest {
2222
private static let errorCenter = ErrorCenter.shared
23-
private static let config = Config()
23+
private static let config = ConfigCenter.default.config
2424
private static func isAvailable(id: String) -> Bool {
2525
guard !id.isEmpty else {
2626
errorCenter.message = "YApi接口id不能为空"

0 commit comments

Comments
 (0)