Commit 4b5588a4 authored by pete谢兆麟's avatar pete谢兆麟

接口本地分享

parent 7f297b2a
......@@ -113,6 +113,8 @@ target 'galaxy' do
pod 'QY_iOS_SDK', '9.9.2'
#阿里云日志
pod 'AliyunLogProducer', '4.3.3'
#加密
pod 'xxtea', '1.0.2'
end
......
......@@ -662,20 +662,29 @@ extension YHH5WebViewVC {
}
func savePicToLocal(_ data: String) {
func saveBase64ImageToPhotoLibrary(base64String: String) {
// 解码 Base64 字符串为 Data
guard let imageData = Data(base64Encoded: base64String) else {
printLog("无法解码 Base64 字符串")
return
let base64String = data
if let image = base64ToImage(base64String: base64String) {
print("图片转换成功")
self.saveImage(image)
} else {
print("图片转换失败")
}
// 创建 UIImage
guard let image = UIImage(data: imageData) else {
printLog("无法创建 UIImage")
return
}
self.saveImage(image)
// 将Base64字符串转换为Data对象
func base64ToData(base64String: String) -> Data? {
return Data(base64Encoded: base64String, options: .ignoreUnknownCharacters)
}
// 将Data对象转换为UIImage对象
func base64ToImage(base64String: String) -> UIImage? {
// 首先将Base64字符串转换为Data
guard let imageData = base64ToData(base64String: base64String) else {
return nil
}
// 然后使用Data初始化UIImage
return UIImage(data: imageData)
}
func saveImage(_ image: UIImage) {
......
......@@ -554,4 +554,28 @@ extension YHJsApi {
}
}
//调用本地分享
@objc func openShareView(_ dicData: String) {
DispatchQueue.main.async {
if let data = dicData.data(using: .utf8) {
do {
if let jsonObject = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
if !jsonObject.isEmpty {
let shareH5Title : String = jsonObject["ShareH5Title"] as? String ?? ""
let shareH5Describe : String = jsonObject["ShareH5Describe"] as? String ?? ""
let shareH5Url : String = jsonObject["ShareH5Url"] as? String ?? ""
let contentUrl : String = jsonObject["ContentUrl"] as? String ?? ""
YHShareAlertView.show(image: contentUrl, title: shareH5Title, subMessage: shareH5Describe, linkUrl: shareH5Url, isLive: false)
} else {
printLog("ddddd")
}
} else {
printLog("JSON字符串不是有效的字典格式")
}
} catch {
printLog("JSON解析错误: \(error)")
}
}
}
}
}
......@@ -8,6 +8,7 @@
import UIKit
import SmartCodable
import xxtea
class YHLoginViewModel: YHBaseViewModel {
var userModel: YHUserModel?
......@@ -22,7 +23,7 @@ extension YHLoginViewModel {
//发送验证码
func getLoginCode(_ phone: String, callBackBlock: @escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let params: [String : Any] = ["type": "Phone",
"value": phone,
"value": XXTEA.encryptString(toBase64String: phone, stringKey: "galaxyapps") ?? phone,
"extend":"register"]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.User.verifyCode
let _ = YHNetRequest.postRequest(url: strUrl, params: params) {[weak self] json, code in
......
......@@ -17,7 +17,7 @@ class YHAnalytics {
#if DEBUG
let options = SAConfigOptions.init(serverURL: YhConstant.SensorsAnalytics.urlForTest, launchOptions: launchOptions)
//开启log
options.enableLog = true
options.enableLog = false
SensorsAnalyticsSDK.sharedInstance()?.set(["evn" : "test"])
#elseif TESTENV
let options = SAConfigOptions.init(serverURL: YhConstant.SensorsAnalytics.urlForTest, launchOptions: launchOptions)
......
......@@ -284,7 +284,7 @@ class YHAllApiName {
//获取验证
struct User {
static let verifyCode = "cuser/user/verify-code"
static let verifyCode = "cuser/user/v2/verify-code"
static let userInfo = "super-app/user/current-info"
}
......@@ -311,7 +311,7 @@ class YHAllApiName {
static let uploadApi = "oss/upload/storage"
static let getPublicApi = "oss/storage/convertToPublicURL"
static let getPublicUrlsApi = "oss/storage/batchConvertToPublicURL"
static let getID = "ossv2/sts/auth"
static let getID = "oss/v2/sts/auth"
}
struct OCR {
......
......@@ -9,6 +9,7 @@
import UIKit
import AliyunOSSiOS
import SmartCodable
import xxtea
struct YHOSSModel: SmartCodable {
var bucket: String = ""
......@@ -18,6 +19,15 @@ struct YHOSSModel: SmartCodable {
var accessKeySecret: String = ""
var endpoint: String = ""
var securityToken: String = ""
var id: String {
return XXTEA.decryptBase64String(to: accessKeyId, stringKey: "galaxyapps")
}
var secret: String {
return XXTEA.decryptBase64String(to: accessKeySecret, stringKey: "galaxyapps")
}
}
class YHOSSManager: NSObject, URLSessionDelegate {
......@@ -63,7 +73,7 @@ class YHOSSManager: NSObject, URLSessionDelegate {
}
print(resultModel.toJSONString() as Any)
self.model = resultModel
self.mProvider = OSSStsTokenCredentialProvider(accessKeyId: self.model.accessKeyId, secretKeyId: self.model.accessKeySecret, securityToken: self.model.securityToken)
self.mProvider = OSSStsTokenCredentialProvider(accessKeyId: self.model.id, secretKeyId: self.model.secret, securityToken: self.model.securityToken)
self.mClient = OSSClient(endpoint: self.model.endpoint, credentialProvider: self.mProvider)
if let block = completionHandler {
block()
......@@ -79,7 +89,7 @@ class YHOSSManager: NSObject, URLSessionDelegate {
return
}
self.publicModel = resultModel
self.publicProvider = OSSStsTokenCredentialProvider(accessKeyId: self.publicModel.accessKeyId, secretKeyId: self.publicModel.accessKeySecret, securityToken: self.publicModel.securityToken)
self.publicProvider = OSSStsTokenCredentialProvider(accessKeyId: self.publicModel.id, secretKeyId: self.publicModel.secret, securityToken: self.publicModel.securityToken)
self.publicClient = OSSClient(endpoint: self.publicModel.endpoint, credentialProvider: self.publicProvider)
} failBlock: { err in
}
......
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 to comment