Commit f8f1db3 1 parent e356729 commit f8f1db3 Copy full SHA for f8f1db3
File tree 2 files changed +24
-18
lines changed
2 files changed +24
-18
lines changed Original file line number Diff line number Diff line change @@ -116,6 +116,26 @@ func validHTTPUrlStrFromUrlStr(urlStr: String) -> String {
116
116
return httpsPrefix + urlStr
117
117
}
118
118
119
+ // 网页的相对地址转绝对地址
120
+ func urlWithSchemeAndHost( url: URL , urlStr: String ) -> String {
121
+ var schemeStr = " "
122
+ var hostStr = " "
123
+ if let scheme = url. scheme, let host = url. host {
124
+ schemeStr = scheme
125
+ hostStr = host
126
+ }
127
+
128
+ if urlStr. hasPrefix ( " http " ) {
129
+ return urlStr
130
+ } else {
131
+ var slash = " "
132
+ if urlStr. hasPrefix ( " / " ) == false {
133
+ slash = " / "
134
+ }
135
+ return " \( schemeStr) :// \( hostStr) \( slash) \( urlStr) "
136
+ }
137
+ }
138
+
119
139
// MARK: - 文件 - 沙盒
120
140
// 获取沙盒Document目录路径
121
141
func getDocumentsDirectory( ) -> URL {
Original file line number Diff line number Diff line change @@ -141,7 +141,7 @@ struct EditInfoView: View {
141
141
}
142
142
VStack {
143
143
HStack {
144
- PhotosPicker ( selection: $selectedPhotos, matching: . images ) {
144
+ PhotosPicker ( selection: $selectedPhotos, matching: . not ( . videos ) ) {
145
145
Label ( " 选择照片图片 " , systemImage: " photo.on.rectangle.angled " )
146
146
}
147
147
. onChange ( of: selectedPhotos) { oldValue, newValue in
@@ -315,31 +315,17 @@ struct EditInfoView: View {
315
315
var imageUrls = [ String] ( )
316
316
317
317
// 获取图集
318
- var schemeStr = " "
319
- var hostStr = " "
320
- if let scheme = url. scheme, let host = url. host {
321
- schemeStr = scheme
322
- hostStr = host
323
- }
318
+
324
319
do {
325
320
let imgs = try soup. select ( " img " ) . array ( )
326
321
if imgs. count > 0 {
327
322
let imgUrl = try imgs. randomElement ( ) ? . attr ( " src " )
328
323
if let okImgUrl = imgUrl {
329
- if okImgUrl. hasPrefix ( " http " ) {
330
- imageUrl = okImgUrl
331
- } else {
332
- imageUrl = " \( schemeStr) :// \( hostStr) / \( okImgUrl) "
333
- }
324
+ imageUrl = urlWithSchemeAndHost ( url: url, urlStr: okImgUrl)
334
325
}
335
326
for elm in imgs {
336
327
let elmUrl = try elm. attr ( " src " )
337
- if elmUrl. hasPrefix ( " http " ) {
338
- imageUrls. append ( elmUrl)
339
- } else {
340
- imageUrls. append ( " \( schemeStr) :// \( hostStr) / \( elmUrl) " )
341
- }
342
-
328
+ imageUrls. append ( urlWithSchemeAndHost ( url: url, urlStr: elmUrl) )
343
329
}
344
330
}
345
331
} catch { }
You can’t perform that action at this time.
0 commit comments