提交 a627137b authored 作者: 逄仁秀's avatar 逄仁秀

接口50%

上级 414496fd
......@@ -20,6 +20,9 @@
883B02052AC16CFD00C3ABBF /* iOS_2kjUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883B02042AC16CFD00C3ABBF /* iOS_2kjUITests.swift */; };
883B02072AC16CFD00C3ABBF /* iOS_2kjUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883B02062AC16CFD00C3ABBF /* iOS_2kjUITestsLaunchTests.swift */; };
883B02142AC1735A00C3ABBF /* podfile in Resources */ = {isa = PBXBuildFile; fileRef = 883B02132AC1735A00C3ABBF /* podfile */; };
88B5B90A2B303F0800871A63 /* KJSingleChooseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88B5B9092B303F0800871A63 /* KJSingleChooseView.swift */; };
88B5B90D2B304DF800871A63 /* KJChooseTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88B5B90B2B304DF800871A63 /* KJChooseTableViewCell.swift */; };
88B5B90E2B304DF800871A63 /* KJChooseTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 88B5B90C2B304DF800871A63 /* KJChooseTableViewCell.xib */; };
88BE37D82AFCC15400D04877 /* KJHomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88BE37D62AFCC15400D04877 /* KJHomeViewController.swift */; };
88BE37D92AFCC15400D04877 /* KJHomeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 88BE37D72AFCC15400D04877 /* KJHomeViewController.xib */; };
88BE37DE2AFCC19F00D04877 /* KJChargeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88BE37DC2AFCC19F00D04877 /* KJChargeViewController.swift */; };
......@@ -97,6 +100,9 @@
883B02042AC16CFD00C3ABBF /* iOS_2kjUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = iOS_2kjUITests.swift; sourceTree = "<group>"; };
883B02062AC16CFD00C3ABBF /* iOS_2kjUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = iOS_2kjUITestsLaunchTests.swift; sourceTree = "<group>"; };
883B02132AC1735A00C3ABBF /* podfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = podfile; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
88B5B9092B303F0800871A63 /* KJSingleChooseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KJSingleChooseView.swift; sourceTree = "<group>"; };
88B5B90B2B304DF800871A63 /* KJChooseTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KJChooseTableViewCell.swift; sourceTree = "<group>"; };
88B5B90C2B304DF800871A63 /* KJChooseTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KJChooseTableViewCell.xib; sourceTree = "<group>"; };
88BE37D62AFCC15400D04877 /* KJHomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KJHomeViewController.swift; sourceTree = "<group>"; };
88BE37D72AFCC15400D04877 /* KJHomeViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KJHomeViewController.xib; sourceTree = "<group>"; };
88BE37DC2AFCC19F00D04877 /* KJChargeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KJChargeViewController.swift; sourceTree = "<group>"; };
......@@ -326,6 +332,9 @@
88BE380E2B0B3EA300D04877 /* KJHomeCollectionViewCell.xib */,
88BE38192B0DCC3000D04877 /* KJAccountTableViewCell.swift */,
88BE381A2B0DCC3000D04877 /* KJAccountTableViewCell.xib */,
88B5B9092B303F0800871A63 /* KJSingleChooseView.swift */,
88B5B90B2B304DF800871A63 /* KJChooseTableViewCell.swift */,
88B5B90C2B304DF800871A63 /* KJChooseTableViewCell.xib */,
);
path = view;
sourceTree = "<group>";
......@@ -456,6 +465,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
88B5B90E2B304DF800871A63 /* KJChooseTableViewCell.xib in Resources */,
88BE38072B074D1900D04877 /* KJLoginPhoneViewController.xib in Resources */,
883B01F02AC16CFD00C3ABBF /* LaunchScreen.storyboard in Resources */,
88BE38102B0B3EA300D04877 /* KJHomeCollectionViewCell.xib in Resources */,
......@@ -573,8 +583,10 @@
880FF38E2B21A6C600872B34 /* KJAccountModel.swift in Sources */,
88BE37EE2AFCC24900D04877 /* KJPulsaViewController.swift in Sources */,
88BE380F2B0B3EA300D04877 /* KJHomeCollectionViewCell.swift in Sources */,
88B5B90D2B304DF800871A63 /* KJChooseTableViewCell.swift in Sources */,
88BE381B2B0DCC3000D04877 /* KJAccountTableViewCell.swift in Sources */,
88BE37F22AFCC26100D04877 /* KJPDAMViewController.swift in Sources */,
88B5B90A2B303F0800871A63 /* KJSingleChooseView.swift in Sources */,
88BE37D82AFCC15400D04877 /* KJHomeViewController.swift in Sources */,
88BE382A2B1894F600D04877 /* KJPersonalViewController.swift in Sources */,
88BE380B2B0B2AC000D04877 /* KJHomeHeaderCell.swift in Sources */,
......@@ -767,11 +779,12 @@
DEVELOPMENT_TEAM = 6QKPM88RAB;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "iOS-2kj/Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = "Easy Pay";
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
INFOPLIST_KEY_UIMainStoryboardFile = Main;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
......@@ -780,11 +793,14 @@
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = "kpss.iOS-2kj";
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "iOS-2kj/iOS-2kj-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TARGETED_DEVICE_FAMILY = 1;
};
name = Debug;
};
......@@ -800,11 +816,12 @@
DEVELOPMENT_TEAM = 6QKPM88RAB;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "iOS-2kj/Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = "Easy Pay";
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
INFOPLIST_KEY_UIMainStoryboardFile = Main;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
......@@ -813,10 +830,13 @@
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = "kpss.iOS-2kj";
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "iOS-2kj/iOS-2kj-Bridging-Header.h";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TARGETED_DEVICE_FAMILY = 1;
};
name = Release;
};
......
......@@ -3,100 +3,4 @@
uuid = "083033CE-6D7A-4E6A-9037-453F99AE79A1"
type = "0"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "A3F2D383-8D8C-4BF2-A40E-79CD7585E802"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "iOS-2kj/home/subC/KJZFCodeViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "71"
endingLineNumber = "71"
landmarkName = "sureAction(_:)"
landmarkType = "7">
<Locations>
<Location
uuid = "A3F2D383-8D8C-4BF2-A40E-79CD7585E802 - 1729e58bb36ec9d6"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #1 @Sendable (Swift.Optional&lt;Foundation.Data&gt;, Swift.Optional&lt;__C.NSURLResponse&gt;, Swift.Optional&lt;Swift.Error&gt;) -&gt; () in iOS_2kj.KJZFCodeViewController.sureAction(Any) -&gt; ()"
moduleName = "iOS-2kj"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/renxiupang/Documents/iOS-2kj/iOS-2kj/home/subC/KJZFCodeViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "71"
endingLineNumber = "71"
offsetFromSymbolStart = "1848">
</Location>
<Location
uuid = "A3F2D383-8D8C-4BF2-A40E-79CD7585E802 - bb346ffbd1b3ec00"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #1 @Swift.MainActor () -&gt; () in closure #1 @Sendable (Swift.Optional&lt;Foundation.Data&gt;, Swift.Optional&lt;__C.NSURLResponse&gt;, Swift.Optional&lt;Swift.Error&gt;) -&gt; () in iOS_2kj.KJZFCodeViewController.sureAction(Any) -&gt; ()"
moduleName = "iOS-2kj"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/renxiupang/Documents/iOS-2kj/iOS-2kj/home/subC/KJZFCodeViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "72"
endingLineNumber = "72"
offsetFromSymbolStart = "36">
</Location>
<Location
uuid = "A3F2D383-8D8C-4BF2-A40E-79CD7585E802 - 93c36718f4600576"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #1 @Sendable (Swift.Optional&lt;Foundation.Data&gt;, Swift.Optional&lt;__C.NSURLResponse&gt;, Swift.Optional&lt;Swift.Error&gt;) -&gt; () in iOS_2kj.KJZFCodeViewController.sureAction(Any) -&gt; ()"
moduleName = "iOS-2kj"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/renxiupang/Documents/rire-tool/iOS-2kj/home/subC/KJZFCodeViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "71"
endingLineNumber = "71"
offsetFromSymbolStart = "1848">
</Location>
<Location
uuid = "A3F2D383-8D8C-4BF2-A40E-79CD7585E802 - 3fdeed6896bd20e0"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #1 @Swift.MainActor () -&gt; () in closure #1 @Sendable (Swift.Optional&lt;Foundation.Data&gt;, Swift.Optional&lt;__C.NSURLResponse&gt;, Swift.Optional&lt;Swift.Error&gt;) -&gt; () in iOS_2kj.KJZFCodeViewController.sureAction(Any) -&gt; ()"
moduleName = "iOS-2kj"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/renxiupang/Documents/rire-tool/iOS-2kj/home/subC/KJZFCodeViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "72"
endingLineNumber = "72"
offsetFromSymbolStart = "36">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "9DE4A382-1AF3-431B-AB5B-1CE72F6EC327"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "iOS-2kj/home/subC/KJElectricityViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "42"
endingLineNumber = "42"
landmarkName = "obtainData()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>
{
"images" : [
{
"filename" : "1024.png",
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
......
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
......@@ -5,12 +5,12 @@
"scale" : "1x"
},
{
"filename" : "tab_icon_back_black@2x.png",
"filename" : "icon_back2@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "tab_icon_back_black@3x.png",
"filename" : "icon_back2@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "返回@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "返回@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "关闭@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "关闭@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "编组 4@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "编组 4@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "路径 + 矩形 蒙版@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "路径 + 矩形 蒙版@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "登录后头像@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "登录后头像@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "箭头_拷贝_4@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "箭头_拷贝_4@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "路径 + 矩形 蒙版@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "路径 + 矩形 蒙版@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
......@@ -33,6 +33,7 @@ class KJBaseViewController: UIViewController {
backBtn.frame = CGRect(x: 10, y: 0 + StatusBar_Heigh, width: 30, height: 44)
view.addSubview(backBtn)
backBtn.setImage(UIImage(named: "icon_back_black"), for: .normal)
backBtn.addTarget(self, action: #selector(backAction), for: .touchUpInside)
}
......
......@@ -26,16 +26,31 @@ class KJHomeViewController: KJBaseViewController {
}
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
collectionView.reloadData()
}
@objc func accountAction() {
if UserDefaults.standard.string(forKey: "token")?.count ?? 0 > 1 {
let vc = KJAccountViewController()
navigationController?.pushViewController(vc, animated: true)
} else {
let vc = KJLoginPhoneViewController()
navigationController?.pushViewController(vc, animated: true)
}
}
@objc func userAction() {
if UserDefaults.standard.string(forKey: "token")?.count ?? 0 > 1 {
let vc = KJPersonalViewController()
navigationController?.pushViewController(vc, animated: true)
} else {
let vc = KJLoginPhoneViewController()
navigationController?.pushViewController(vc, animated: true)
}
}
/*
// MARK: - Navigation
......@@ -66,6 +81,11 @@ extension KJHomeViewController: UICollectionViewDelegate, UICollectionViewDataSo
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "KJHomeHeaderCell", for: indexPath) as! KJHomeHeaderCell
cell.accountBtn.addTarget(self, action: #selector(accountAction), for: .touchUpInside)
cell.userBtn.addTarget(self, action: #selector(userAction), for: .touchUpInside)
if UserDefaults.standard.string(forKey: "phone")?.count ?? 0 > 1 {
cell.phoneL.text = UserDefaults.standard.string(forKey: "phone") ?? "登录"
} else {
cell.phoneL.text = "登录"
}
return cell
}
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "KJHomeCollectionViewCell", for: indexPath) as! KJHomeCollectionViewCell
......@@ -113,6 +133,7 @@ extension KJHomeViewController: UICollectionViewDelegate, UICollectionViewDataSo
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
if indexPath.section == 1 {
if UserDefaults.standard.string(forKey: "token")?.count ?? 0 > 1 {
let vc = KJBigViewController()
vc.index = indexPath.row
if indexPath.row == 0 {
......@@ -123,6 +144,10 @@ extension KJHomeViewController: UICollectionViewDelegate, UICollectionViewDataSo
vc.titleText = "Pembayaran PDAM"
}
navigationController?.pushViewController(vc, animated: true)
} else {
let vc = KJLoginPhoneViewController()
navigationController?.pushViewController(vc, animated: true)
}
}
}
}
......@@ -9,6 +9,8 @@ import UIKit
import HandyJSON
class KJGetConvModel: HandyJSON {
var param_config: [KJConfigParamModel]?
var req_method: String?
required init() {}
}
......
......@@ -29,7 +29,7 @@ class KJAccountViewController: KJBaseViewController {
// 构建请求request
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInZlcnNpb24iOjF9.eyJwaG9uZSI6Im5HU2NtR21abW1hWFkyVm8iLCJpZCI6IjMxOSIsImV4cCI6MTcxNDYzNjk1MSwiZXh0Ijp7InNlc3Npb25faWQiOjQ3NzAyfSwiaXNzIjoiaW5kb25lc2lhIiwiaWF0IjoxNzAxNjc2OTUxfQ.xzikFbX-fP47D1AF51FEKdM9dm4dPU6CFlTFQkQV3XU", forHTTPHeaderField: "Token")
request.setValue(UserDefaults.standard.string(forKey: "token") ?? "", forHTTPHeaderField: "Token")
// 发一个post请求
let task = session.dataTask(with: request as URLRequest) {(
data, response, error) in
......@@ -60,7 +60,8 @@ class KJAccountViewController: KJBaseViewController {
// 构建请求request
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInZlcnNpb24iOjF9.eyJwaG9uZSI6Im5HU2NtR21abW1hWFkyVm8iLCJpZCI6IjMxOSIsImV4cCI6MTcxNDYzNjk1MSwiZXh0Ijp7InNlc3Npb25faWQiOjQ3NzAyfSwiaXNzIjoiaW5kb25lc2lhIiwiaWF0IjoxNzAxNjc2OTUxfQ.xzikFbX-fP47D1AF51FEKdM9dm4dPU6CFlTFQkQV3XU", forHTTPHeaderField: "Token")
request.setValue(UserDefaults.standard.string(forKey: "token") ?? "", forHTTPHeaderField: "Token")
print(UserDefaults.standard.string(forKey: "token") ?? "")
var param = ["method": "exist"]
var jsonData = NSData()
do {
......
......@@ -15,6 +15,7 @@ class KJAngsuranViewController: KJBaseViewController {
// Do any additional setup after loading the view.
navBack.isHidden = true
statusView.isHidden = true
backBtn.isHidden = true
}
......
......@@ -35,7 +35,7 @@ class KJBigViewController: KJBaseViewController {
statusView.backgroundColor = .clear
titleL.text = titleText ?? ""
titleL.textColor = .white
backBtn.setImage(UIImage(named: "tab_icon_back_black"), for: .normal)
backBtn.setImage(UIImage(named: "icon_back_white"), for: .normal)
headerScroll.contentSize = CGSize(width: kjWidth, height: 65.5)
......
......@@ -25,7 +25,7 @@ class KJChargeViewController: KJBaseViewController {
// 构建请求request
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInZlcnNpb24iOjF9.eyJwaG9uZSI6Im5HU2NtR21abW1hWFkyVm8iLCJpZCI6IjMxOSIsImV4cCI6MTcxNDYzNjk1MSwiZXh0Ijp7InNlc3Npb25faWQiOjQ3NzAyfSwiaXNzIjoiaW5kb25lc2lhIiwiaWF0IjoxNzAxNjc2OTUxfQ.xzikFbX-fP47D1AF51FEKdM9dm4dPU6CFlTFQkQV3XU", forHTTPHeaderField: "Token")
request.setValue(UserDefaults.standard.string(forKey: "token") ?? "", forHTTPHeaderField: "Token")
var param = ["method": "recharge"]
var jsonData = NSData()
do {
......
......@@ -21,7 +21,7 @@ class KJElectricityViewController: KJBaseViewController {
// 构建请求request
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInZlcnNpb24iOjF9.eyJwaG9uZSI6Im5HU2NtR21abW1hWFkyVm8iLCJpZCI6IjMxOSIsImV4cCI6MTcxNDYzNjk1MSwiZXh0Ijp7InNlc3Npb25faWQiOjQ3NzAyfSwiaXNzIjoiaW5kb25lc2lhIiwiaWF0IjoxNzAxNjc2OTUxfQ.xzikFbX-fP47D1AF51FEKdM9dm4dPU6CFlTFQkQV3XU", forHTTPHeaderField: "Token")
request.setValue(UserDefaults.standard.string(forKey: "token") ?? "", forHTTPHeaderField: "Token")
var param = ["method": "electric"]
var jsonData = NSData()
do {
......@@ -64,6 +64,7 @@ class KJElectricityViewController: KJBaseViewController {
// Do any additional setup after loading the view.
navBack.isHidden = true
statusView.isHidden = true
backBtn.isHidden = true
}
......
......@@ -13,6 +13,9 @@ class KJEmoneyViewController: KJBaseViewController {
super.viewDidLoad()
// Do any additional setup after loading the view.
navBack.isHidden = true
statusView.isHidden = true
backBtn.isHidden = true
}
......
......@@ -15,6 +15,7 @@ class KJPDAMViewController: KJBaseViewController {
// Do any additional setup after loading the view.
navBack.isHidden = true
statusView.isHidden = true
backBtn.isHidden = true
}
......
......@@ -15,6 +15,7 @@ class KJPulsaViewController: KJBaseViewController {
// Do any additional setup after loading the view.
navBack.isHidden = true
statusView.isHidden = true
backBtn.isHidden = true
}
......
......@@ -20,6 +20,7 @@ class KJTransferViewController: KJBaseViewController {
// Do any additional setup after loading the view.
navBack.isHidden = true
statusView.isHidden = true
backBtn.isHidden = true
}
......
......@@ -24,7 +24,7 @@ class KJWithdrawViewController: KJBaseViewController {
var request = URLRequest(url: url)
request.httpMethod = "POST"
let params = ["method": "withdraw"]
request.setValue("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInZlcnNpb24iOjF9.eyJwaG9uZSI6Im5HU2NtR21abW1hWFkyVm8iLCJpZCI6IjMxOSIsImV4cCI6MTcxNDYzNjk1MSwiZXh0Ijp7InNlc3Npb25faWQiOjQ3NzAyfSwiaXNzIjoiaW5kb25lc2lhIiwiaWF0IjoxNzAxNjc2OTUxfQ.xzikFbX-fP47D1AF51FEKdM9dm4dPU6CFlTFQkQV3XU", forHTTPHeaderField: "Token")
request.setValue(UserDefaults.standard.string(forKey: "token") ?? "", forHTTPHeaderField: "Token")
// 发一个post请求
let task = session.dataTask(with: request as URLRequest) {(
data, response, error) in
......
......@@ -46,7 +46,7 @@ class KJZFCodeViewController: KJBaseViewController {
// 构建请求request
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInZlcnNpb24iOjF9.eyJwaG9uZSI6Im5HU2NtR21abW1hWFkyVm8iLCJpZCI6IjMxOSIsImV4cCI6MTcxNDYzNjk1MSwiZXh0Ijp7InNlc3Npb25faWQiOjQ3NzAyfSwiaXNzIjoiaW5kb25lc2lhIiwiaWF0IjoxNzAxNjc2OTUxfQ.xzikFbX-fP47D1AF51FEKdM9dm4dPU6CFlTFQkQV3XU", forHTTPHeaderField: "Token")
request.setValue(UserDefaults.standard.string(forKey: "token") ?? "", forHTTPHeaderField: "Token")
var param = ["method": "add", "pwd": pwd]
var jsonData = NSData()
do {
......
//
// KJChooseTableViewCell.swift
// iOS-2kj
//
// Created by 仁秀逄 on 2023/12/18.
//
import UIKit
class KJChooseTableViewCell: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="52" id="KGk-i7-Jjw" customClass="KJChooseTableViewCell" customModule="iOS_2kj" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="320" height="52"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="320" height="52"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6Kr-Tx-HuE">
<rect key="frame" x="0.0" y="51" width="320" height="1"/>
<color key="backgroundColor" red="0.91764705882352937" green="0.91764705882352937" blue="0.91764705882352937" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="pIF-jj-pGh"/>
</constraints>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="S8Z-rQ-Hsb">
<rect key="frame" x="20" y="15.666666666666664" width="42" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstItem="6Kr-Tx-HuE" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="5su-gi-VQ5"/>
<constraint firstAttribute="trailing" secondItem="6Kr-Tx-HuE" secondAttribute="trailing" id="DvR-XC-uoJ"/>
<constraint firstAttribute="bottom" secondItem="6Kr-Tx-HuE" secondAttribute="bottom" id="UVI-TE-bTo"/>
<constraint firstItem="S8Z-rQ-Hsb" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="qHo-qY-HV9"/>
<constraint firstItem="S8Z-rQ-Hsb" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="20" id="xHa-y4-HqI"/>
</constraints>
</tableViewCellContentView>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<point key="canvasLocation" x="129.7709923664122" y="-8.4507042253521139"/>
</tableViewCell>
</objects>
</document>
......@@ -15,6 +15,9 @@ class KJHomeHeaderCell: UICollectionViewCell {
@IBOutlet weak var cardManagerBtn: UIButton!
@IBOutlet weak var userBtn: UIButton!
@IBOutlet weak var phoneL: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
......
......@@ -154,6 +154,7 @@
<connections>
<outlet property="accountBtn" destination="jsx-fR-l9y" id="Awo-Bf-d40"/>
<outlet property="cardManagerBtn" destination="tPP-U6-2bl" id="cL3-eo-sNO"/>
<outlet property="phoneL" destination="yTU-AM-EWm" id="2Gb-lb-rNk"/>
<outlet property="qrcodeBtn" destination="bSs-G8-8iO" id="JCK-pd-5zV"/>
<outlet property="userBtn" destination="A3K-aS-MS2" id="04h-pt-zeA"/>
</connections>
......
//
// KJSingleChooseView.swift
// iOS-2kj
//
// Created by 仁秀逄 on 2023/12/18.
//
import UIKit
class KJSingleChooseView: UIView {
let whiteView = UIView(frame: CGRect(x: 0, y: kjHeight - 306, width: kjWidth, height: 306))
let tableView = UITableView(frame: CGRect(x: 0, y: 66, width: kjWidth, height: 306-66), style: .plain)
/*
// Only override draw() if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
override func draw(_ rect: CGRect) {
// Drawing code
}
*/
override init(frame: CGRect) {
super.init(frame: CGRect(x: 0, y: 0, width: kjWidth, height: kjHeight))
backgroundColor = UIColor.init(white: 0, alpha: 0.3)
addSubview(whiteView)
whiteView.addSubview(tableView)
tableView.delegate = self
tableView.dataSource = self
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func show() {
let window = UIApplication.shared.delegate?.window as! UIView
window.addSubview(self)
}
@objc func dismiss() {
self.removeFromSuperview()
}
}
extension KJSingleChooseView: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 0
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
return UITableViewCell()
}
}
......@@ -10,16 +10,149 @@ import UIKit
class KJLoginPhoneViewController: KJBaseViewController {
@IBOutlet weak var textfield: UITextField!
@IBOutlet weak var getVerificationBtn: UIButton!
@IBOutlet weak var mainL: UILabel!
@IBOutlet weak var subL: UILabel!
@IBOutlet weak var verificationBackView: UIView!
@IBOutlet weak var firstTF: UITextField!
@IBOutlet weak var secTF: UITextField!
@IBOutlet weak var thirdTF: UITextField!
@IBOutlet weak var forthTF: UITextField!
@IBOutlet weak var fifthTF: UITextField!
@IBOutlet weak var sixTF: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.navBack.isHidden = true
getVerificationBtn.backgroundColor = UIColor(hex: "#D6D5D6")
getVerificationBtn.isUserInteractionEnabled = false
textfield.delegate = self
firstTF.delegate = self
secTF.delegate = self
thirdTF.delegate = self
forthTF.delegate = self
fifthTF.delegate = self
sixTF.delegate = self
getVerificationBtn.addTarget(self, action: #selector(getVerification), for: .touchUpInside)
}
@objc func getVerification() {
if verificationBackView.isHidden == true {
// 构建URL
let url:URL = URL(string: "https://www.danamudah.fun/kopisusu_server/user/get_validate_code")!
// 发送HTTP请求的的session对象
let session = URLSession.shared
// 构建请求request
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("id", forHTTPHeaderField: "language")
request.setValue("1.0", forHTTPHeaderField: "version")
request.setValue("IOS", forHTTPHeaderField: "device-type")
request.setValue("1.2", forHTTPHeaderField: "api-version")
request.setValue("danamudah", forHTTPHeaderField: "app-name")
request.setValue("AppStore", forHTTPHeaderField: "place")
var param = ["phone": "62" + (textfield.text ?? "")]
var jsonData = NSData()
do {
jsonData = try JSONSerialization.data(withJSONObject: param, options: .prettyPrinted) as NSData
} catch {
print(error.localizedDescription)
}
request.httpBody = jsonData as! Data
// 发一个post请求
let task = session.dataTask(with: request as URLRequest) {(
data, response, error) in
guard let data = data, let _:URLResponse = response, error == nil else {
print("Request Erroor")
return
}
let dataString = String(data: data, encoding: String.Encoding.utf8)
let dict = self.getDictionaryFromJSONString(jsonString: dataString!)
if (dict.allKeys as NSArray).contains("success") == true {
DispatchQueue.main.async {
self.firstTF.becomeFirstResponder()
self.verificationBackView.isHidden = false
self.mainL.text = "输入验证码"
self.subL.text = "已发送验证码至+62 " + (self.textfield.text ?? "")
self.getVerificationBtn.setTitle("登录", for: .normal)
}
}
}
task.resume()
} else {
//登录
let pwd = firstTF.text! + secTF.text! + thirdTF.text! + forthTF.text! + fifthTF.text! + sixTF.text!
// 构建URL
let url:URL = URL(string: "https://www.danamudah.fun/kopisusu_server/user/login")!
// 发送HTTP请求的的session对象
let session = URLSession.shared
// 构建请求request
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("id", forHTTPHeaderField: "language")
request.setValue("1.0", forHTTPHeaderField: "version")
request.setValue("IOS", forHTTPHeaderField: "device-type")
request.setValue("1.2", forHTTPHeaderField: "api-version")
request.setValue("danamudah", forHTTPHeaderField: "app-name")
request.setValue("AppStore", forHTTPHeaderField: "place")
var param = ["phone": "62" + (textfield.text ?? ""), "valid_code": pwd]
var jsonData = NSData()
do {
jsonData = try JSONSerialization.data(withJSONObject: param, options: .prettyPrinted) as NSData
} catch {
print(error.localizedDescription)
}
request.httpBody = jsonData as! Data
// 发一个post请求
let task = session.dataTask(with: request as URLRequest) {(
data, response, error) in
guard let data = data, let _:URLResponse = response, error == nil else {
print("Request Erroor")
return
}
let dataString = String(data: data, encoding: String.Encoding.utf8)
let dict = self.getDictionaryFromJSONString(jsonString: dataString!)
if (dict.allKeys as NSArray).contains("success") == true {
DispatchQueue.main.async {
UserDefaults.standard.set((dict["ret"] as! NSDictionary)["token"], forKey: "token")
UserDefaults.standard.set(self.textfield.text, forKey: "phone")
self.navigationController?.popViewController(animated: true)
}
}
}
task.resume()
}
}
func getDictionaryFromJSONString(jsonString: String) -> NSDictionary {
// 将传入的 JSON 字符串 jsonString 使用 data(using:) 方法转换为 Data 类型
let jsonData:Data = jsonString.data(using: .utf8)!
// 通过 JSONSerialization.jsonObject(with:options:) 方法将 jsonData 进行 JSON 解析,并将解析结果存储在 dict 变量中。这里使用的选项是 .mutableContainers,表示可以修改容器对象
let dict = try? JSONSerialization.jsonObject(with: jsonData, options: .mutableContainers)
// 使用条件语句判断 dict 是否为 nil。如果不为 nil,表示 JSON 解析成功,将 dict 强制转换为 NSDictionary 类型,并返回。
// 如果 dict 为 nil,表示 JSON 解析失败,返回一个空的 NSDictionary 对象。
if dict != nil {
return dict as! NSDictionary
}
return NSDictionary()
}
@IBAction func closeAction(_ sender: Any) {
self.navigationController?.popViewController(animated: true)
}
/*
// MARK: - Navigation
......@@ -34,6 +167,52 @@ class KJLoginPhoneViewController: KJBaseViewController {
extension KJLoginPhoneViewController: UITextFieldDelegate {
func textFieldDidChangeSelection(_ textField: UITextField) {
if textField == textfield {
if textField.text?.count ?? 0 >= 11 {
getVerificationBtn.isUserInteractionEnabled = true
getVerificationBtn.backgroundColor = UIColor(hex: "#6747CD")
} else {
getVerificationBtn.isUserInteractionEnabled = false
getVerificationBtn.backgroundColor = UIColor(hex: "#D6D5D6")
}
} else {
if textField == firstTF {
if textField.text?.count ?? 0 >= 1 {
secTF.becomeFirstResponder()
getVerificationBtn.isUserInteractionEnabled = false
getVerificationBtn.backgroundColor = UIColor(hex: "#D6D5D6")
}
} else if textField == secTF {
if textField.text?.count ?? 0 >= 1 {
thirdTF.becomeFirstResponder()
getVerificationBtn.isUserInteractionEnabled = false
getVerificationBtn.backgroundColor = UIColor(hex: "#D6D5D6")
}
} else if textField == thirdTF {
if textField.text?.count ?? 0 >= 1 {
forthTF.becomeFirstResponder()
getVerificationBtn.isUserInteractionEnabled = false
getVerificationBtn.backgroundColor = UIColor(hex: "#D6D5D6")
}
} else if textField == forthTF {
if textField.text?.count ?? 0 >= 1 {
fifthTF.becomeFirstResponder()
getVerificationBtn.isUserInteractionEnabled = false
getVerificationBtn.backgroundColor = UIColor(hex: "#D6D5D6")
}
} else if textField == fifthTF {
if textField.text?.count ?? 0 >= 1 {
sixTF.becomeFirstResponder()
getVerificationBtn.isUserInteractionEnabled = false
getVerificationBtn.backgroundColor = UIColor(hex: "#D6D5D6")
}
} else if textField == sixTF {
if textField.text?.count ?? 0 >= 1 {
getVerificationBtn.isHidden = false
getVerificationBtn.isUserInteractionEnabled = true
getVerificationBtn.backgroundColor = UIColor(hex: "#6747CD")
}
}
}
}
}
......@@ -11,8 +11,17 @@
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="KJLoginPhoneViewController" customModule="iOS_2kj" customModuleProvider="target">
<connections>
<outlet property="fifthTF" destination="HVu-JT-GLc" id="zge-Tu-IxZ"/>
<outlet property="firstTF" destination="EF4-Ng-Cnx" id="SdJ-lA-l7N"/>
<outlet property="forthTF" destination="ohP-8X-Le9" id="5PB-4J-arQ"/>
<outlet property="getVerificationBtn" destination="34J-W8-awt" id="dDd-Tc-a15"/>
<outlet property="mainL" destination="Nbs-64-NfO" id="IsJ-3h-jaK"/>
<outlet property="secTF" destination="dK5-pZ-rPJ" id="Ojs-ZN-GJx"/>
<outlet property="sixTF" destination="ZKb-aa-PcT" id="LiV-NZ-I5k"/>
<outlet property="subL" destination="Oi9-Z9-XbA" id="mLW-Bb-XGR"/>
<outlet property="textfield" destination="8X1-Ib-w80" id="Ed0-a2-GfJ"/>
<outlet property="thirdTF" destination="cFH-Kg-NYN" id="uFW-l0-tCm"/>
<outlet property="verificationBackView" destination="x3v-gr-xBl" id="Yw6-ez-rTz"/>
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
</connections>
</placeholder>
......@@ -21,8 +30,8 @@
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Welcome to APP NAME" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Nbs-64-NfO">
<rect key="frame" x="75.333333333333329" y="158" width="242.33333333333337" height="38"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Welcome to Easy Pay" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Nbs-64-NfO">
<rect key="frame" x="86.333333333333329" y="158" width="220.66666666666669" height="38"/>
<constraints>
<constraint firstAttribute="height" constant="38" id="mfi-jk-oYv"/>
</constraints>
......@@ -60,6 +69,7 @@
<constraints>
<constraint firstAttribute="height" constant="49" id="uSn-KU-ZbF"/>
</constraints>
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<state key="normal" title="Button"/>
<buttonConfiguration key="configuration" style="plain" title="Get verification cod">
<color key="baseForegroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
......@@ -74,30 +84,172 @@
<color key="textColor" red="0.023529411764705882" green="0.019607843137254902" blue="0.094117647058823528" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Lv8-Br-bZj">
<rect key="frame" x="344" y="73" width="31" height="31"/>
<constraints>
<constraint firstAttribute="height" constant="31" id="CFu-RE-kCi"/>
<constraint firstAttribute="width" constant="31" id="njc-kl-2Wv"/>
</constraints>
<state key="normal" title="Button"/>
<buttonConfiguration key="configuration" style="plain" image="close" title=" "/>
<connections>
<action selector="closeAction:" destination="-1" eventType="touchUpInside" id="xWL-g0-BDI"/>
</connections>
</button>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="x3v-gr-xBl">
<rect key="frame" x="0.0" y="299.66666666666669" width="393" height="51"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xGa-mF-SUB">
<rect key="frame" x="49" y="49" width="41.666666666666657" height="2"/>
<color key="backgroundColor" red="0.40392156862745099" green="0.27843137254901962" blue="0.80392156862745101" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="2" id="tee-kE-lvj"/>
</constraints>
</view>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder=" " textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="EF4-Ng-Cnx">
<rect key="frame" x="49" y="0.0" width="41.666666666666657" height="49"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rAm-Wx-qw7">
<rect key="frame" x="99.666666666666671" y="49" width="41.666666666666671" height="2"/>
<color key="backgroundColor" red="0.4039215686" green="0.2784313725" blue="0.80392156859999997" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="2" id="t5A-eG-gri"/>
</constraints>
</view>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="dK5-pZ-rPJ">
<rect key="frame" x="99.666666666666671" y="0.0" width="41.666666666666671" height="49"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ECb-CZ-AFn">
<rect key="frame" x="150.33333333333334" y="49" width="41.666666666666657" height="2"/>
<color key="backgroundColor" red="0.4039215686" green="0.2784313725" blue="0.80392156859999997" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="2" id="RMY-1h-OxG"/>
</constraints>
</view>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="cFH-Kg-NYN">
<rect key="frame" x="150.33333333333334" y="0.0" width="41.666666666666657" height="49"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="M5K-wC-ODz">
<rect key="frame" x="201" y="49" width="41.666666666666657" height="2"/>
<color key="backgroundColor" red="0.4039215686" green="0.2784313725" blue="0.80392156859999997" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="2" id="2Wj-y1-k4X"/>
</constraints>
</view>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="ohP-8X-Le9">
<rect key="frame" x="201" y="0.0" width="41.666666666666657" height="49"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qng-5j-QsS">
<rect key="frame" x="251.66666666666666" y="49" width="41.666666666666657" height="2"/>
<color key="backgroundColor" red="0.4039215686" green="0.2784313725" blue="0.80392156859999997" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="2" id="GCd-DO-Np2"/>
</constraints>
</view>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="HVu-JT-GLc">
<rect key="frame" x="251.66666666666666" y="0.0" width="41.666666666666657" height="49"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="q6T-RO-n4b">
<rect key="frame" x="302.33333333333331" y="49" width="41.666666666666686" height="2"/>
<color key="backgroundColor" red="0.4039215686" green="0.2784313725" blue="0.80392156859999997" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="2" id="Msd-IY-A5Y"/>
</constraints>
</view>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="ZKb-aa-PcT">
<rect key="frame" x="302.33333333333331" y="0.0" width="41.666666666666686" height="49"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
</subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="xGa-mF-SUB" secondAttribute="bottom" id="3uF-jv-HJz"/>
<constraint firstItem="cFH-Kg-NYN" firstAttribute="top" secondItem="dK5-pZ-rPJ" secondAttribute="top" id="5LH-BO-8Zv"/>
<constraint firstItem="rAm-Wx-qw7" firstAttribute="leading" secondItem="dK5-pZ-rPJ" secondAttribute="leading" id="64e-io-rP7"/>
<constraint firstAttribute="trailing" secondItem="ZKb-aa-PcT" secondAttribute="trailing" constant="49" id="9EM-XX-Tqy"/>
<constraint firstItem="HVu-JT-GLc" firstAttribute="width" secondItem="cFH-Kg-NYN" secondAttribute="width" id="9bz-BP-706"/>
<constraint firstItem="M5K-wC-ODz" firstAttribute="trailing" secondItem="ohP-8X-Le9" secondAttribute="trailing" id="C5i-Hy-zDl"/>
<constraint firstItem="ECb-CZ-AFn" firstAttribute="top" secondItem="cFH-Kg-NYN" secondAttribute="bottom" id="CJu-Iv-LKp"/>
<constraint firstItem="ECb-CZ-AFn" firstAttribute="trailing" secondItem="cFH-Kg-NYN" secondAttribute="trailing" id="EMJ-Vu-UD3"/>
<constraint firstItem="HVu-JT-GLc" firstAttribute="top" secondItem="cFH-Kg-NYN" secondAttribute="top" id="Evu-L3-YHr"/>
<constraint firstItem="ECb-CZ-AFn" firstAttribute="leading" secondItem="cFH-Kg-NYN" secondAttribute="leading" id="Ha7-bp-Ue9"/>
<constraint firstItem="dK5-pZ-rPJ" firstAttribute="bottom" secondItem="EF4-Ng-Cnx" secondAttribute="bottom" id="I7d-p9-Jet"/>
<constraint firstItem="HVu-JT-GLc" firstAttribute="bottom" secondItem="cFH-Kg-NYN" secondAttribute="bottom" id="IR3-JK-gX1"/>
<constraint firstItem="q6T-RO-n4b" firstAttribute="trailing" secondItem="ZKb-aa-PcT" secondAttribute="trailing" id="N2Q-Zm-38V"/>
<constraint firstItem="ohP-8X-Le9" firstAttribute="width" secondItem="cFH-Kg-NYN" secondAttribute="width" id="NeZ-SX-20d"/>
<constraint firstItem="ZKb-aa-PcT" firstAttribute="top" secondItem="cFH-Kg-NYN" secondAttribute="top" id="PnS-8n-yvn"/>
<constraint firstItem="dK5-pZ-rPJ" firstAttribute="top" secondItem="EF4-Ng-Cnx" secondAttribute="top" id="TUe-kE-eQY"/>
<constraint firstItem="q6T-RO-n4b" firstAttribute="leading" secondItem="ZKb-aa-PcT" secondAttribute="leading" id="U0h-lt-WV1"/>
<constraint firstItem="ohP-8X-Le9" firstAttribute="top" secondItem="cFH-Kg-NYN" secondAttribute="top" id="XAa-C4-FsC"/>
<constraint firstItem="ZKb-aa-PcT" firstAttribute="leading" secondItem="HVu-JT-GLc" secondAttribute="trailing" constant="9" id="amA-R9-yEb"/>
<constraint firstItem="rAm-Wx-qw7" firstAttribute="top" secondItem="dK5-pZ-rPJ" secondAttribute="bottom" id="atU-uB-Z1h"/>
<constraint firstItem="ZKb-aa-PcT" firstAttribute="bottom" secondItem="cFH-Kg-NYN" secondAttribute="bottom" id="bAF-3y-AD2"/>
<constraint firstItem="qng-5j-QsS" firstAttribute="leading" secondItem="HVu-JT-GLc" secondAttribute="leading" id="bRq-Le-rah"/>
<constraint firstItem="ZKb-aa-PcT" firstAttribute="width" secondItem="cFH-Kg-NYN" secondAttribute="width" id="bW9-3X-hGx"/>
<constraint firstItem="dK5-pZ-rPJ" firstAttribute="width" secondItem="EF4-Ng-Cnx" secondAttribute="width" id="ejn-wQ-UHB"/>
<constraint firstItem="ohP-8X-Le9" firstAttribute="bottom" secondItem="cFH-Kg-NYN" secondAttribute="bottom" id="eqs-5L-zXG"/>
<constraint firstItem="xGa-mF-SUB" firstAttribute="leading" secondItem="EF4-Ng-Cnx" secondAttribute="leading" id="ga2-vf-ELa"/>
<constraint firstItem="dK5-pZ-rPJ" firstAttribute="leading" secondItem="EF4-Ng-Cnx" secondAttribute="trailing" constant="9" id="jUi-Vh-o0w"/>
<constraint firstItem="qng-5j-QsS" firstAttribute="trailing" secondItem="HVu-JT-GLc" secondAttribute="trailing" id="lW7-q4-RdP"/>
<constraint firstItem="HVu-JT-GLc" firstAttribute="leading" secondItem="ohP-8X-Le9" secondAttribute="trailing" constant="9" id="mMT-st-27M"/>
<constraint firstItem="qng-5j-QsS" firstAttribute="top" secondItem="HVu-JT-GLc" secondAttribute="bottom" id="mwh-6Q-sgA"/>
<constraint firstItem="cFH-Kg-NYN" firstAttribute="width" secondItem="dK5-pZ-rPJ" secondAttribute="width" id="nYZ-vt-Ca2"/>
<constraint firstItem="xGa-mF-SUB" firstAttribute="top" secondItem="EF4-Ng-Cnx" secondAttribute="bottom" id="oOR-9A-kmZ"/>
<constraint firstItem="cFH-Kg-NYN" firstAttribute="baseline" secondItem="dK5-pZ-rPJ" secondAttribute="baseline" id="pGd-xf-O7d"/>
<constraint firstItem="xGa-mF-SUB" firstAttribute="trailing" secondItem="EF4-Ng-Cnx" secondAttribute="trailing" id="piB-Fm-iyM"/>
<constraint firstItem="ohP-8X-Le9" firstAttribute="leading" secondItem="cFH-Kg-NYN" secondAttribute="trailing" constant="9" id="pzo-sT-yHm"/>
<constraint firstItem="cFH-Kg-NYN" firstAttribute="bottom" secondItem="dK5-pZ-rPJ" secondAttribute="bottom" id="qEr-LV-tgd"/>
<constraint firstItem="M5K-wC-ODz" firstAttribute="top" secondItem="ohP-8X-Le9" secondAttribute="bottom" id="rFj-fO-pz4"/>
<constraint firstItem="xGa-mF-SUB" firstAttribute="leading" secondItem="x3v-gr-xBl" secondAttribute="leading" constant="49" id="rga-wy-sib"/>
<constraint firstItem="cFH-Kg-NYN" firstAttribute="leading" secondItem="dK5-pZ-rPJ" secondAttribute="trailing" constant="9" id="vwA-rG-tjY"/>
<constraint firstItem="EF4-Ng-Cnx" firstAttribute="top" secondItem="x3v-gr-xBl" secondAttribute="top" id="wq8-9B-bv0"/>
<constraint firstItem="rAm-Wx-qw7" firstAttribute="trailing" secondItem="dK5-pZ-rPJ" secondAttribute="trailing" id="x1h-24-igg"/>
<constraint firstItem="q6T-RO-n4b" firstAttribute="top" secondItem="ZKb-aa-PcT" secondAttribute="bottom" id="y7h-ji-uq5"/>
<constraint firstItem="M5K-wC-ODz" firstAttribute="leading" secondItem="ohP-8X-Le9" secondAttribute="leading" id="yqR-Sm-ODl"/>
</constraints>
</view>
</subviews>
<viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="Nbs-64-NfO" firstAttribute="centerX" secondItem="fnl-2z-Ty3" secondAttribute="centerX" id="2wm-GV-qaV"/>
<constraint firstItem="x3v-gr-xBl" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="3Uc-Vn-3DD"/>
<constraint firstItem="34J-W8-awt" firstAttribute="top" secondItem="55H-Tl-yrO" secondAttribute="bottom" constant="21" id="6eT-j1-UoH"/>
<constraint firstItem="55H-Tl-yrO" firstAttribute="top" secondItem="Oi9-Z9-XbA" secondAttribute="bottom" constant="126" id="AJL-vh-qsg"/>
<constraint firstItem="x3v-gr-xBl" firstAttribute="trailing" secondItem="fnl-2z-Ty3" secondAttribute="trailing" id="Ccb-yf-dt4"/>
<constraint firstItem="55H-Tl-yrO" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="27.5" id="FXd-Kf-qug"/>
<constraint firstItem="fMv-MR-5m6" firstAttribute="top" secondItem="x3v-gr-xBl" secondAttribute="top" id="J8R-JQ-Pog"/>
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="Lv8-Br-bZj" secondAttribute="trailing" constant="18" id="Oze-T1-aOs"/>
<constraint firstItem="Oi9-Z9-XbA" firstAttribute="top" secondItem="Nbs-64-NfO" secondAttribute="bottom" constant="11.5" id="Ufv-kM-j91"/>
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="34J-W8-awt" secondAttribute="trailing" constant="27.5" id="VFJ-Jc-JHR"/>
<constraint firstItem="34J-W8-awt" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="27.5" id="Vo0-7D-inK"/>
<constraint firstItem="8X1-Ib-w80" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="90" id="dII-w6-oA4"/>
<constraint firstItem="Nbs-64-NfO" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="99" id="k0g-SD-yKI"/>
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="55H-Tl-yrO" secondAttribute="trailing" constant="27.5" id="k4W-70-g05"/>
<constraint firstItem="55H-Tl-yrO" firstAttribute="bottom" secondItem="x3v-gr-xBl" secondAttribute="bottom" id="nCG-H8-k19"/>
<constraint firstItem="55H-Tl-yrO" firstAttribute="top" secondItem="8X1-Ib-w80" secondAttribute="bottom" id="nLa-nG-fw6"/>
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="8X1-Ib-w80" secondAttribute="trailing" constant="30" id="rbq-nx-wWJ"/>
<constraint firstItem="fMv-MR-5m6" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="28.5" id="srw-Mi-H0k"/>
<constraint firstItem="Oi9-Z9-XbA" firstAttribute="centerX" secondItem="Nbs-64-NfO" secondAttribute="centerX" id="tQs-hk-atw"/>
<constraint firstItem="55H-Tl-yrO" firstAttribute="top" secondItem="fMv-MR-5m6" secondAttribute="bottom" id="uFa-AV-GsN"/>
<constraint firstItem="Lv8-Br-bZj" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="14" id="v6J-hs-EET"/>
</constraints>
<point key="canvasLocation" x="122.90076335877862" y="-11.267605633802818"/>
</view>
</objects>
<resources>
<image name="close" width="17" height="17"/>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
......
......@@ -9,13 +9,33 @@ import UIKit
class KJPersonalViewController: KJBaseViewController {
@IBOutlet weak var phoneL: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.navBack.backgroundColor = .clear
self.statusView.backgroundColor = .clear
}
@IBAction func accountAction(_ sender: Any) {
}
@IBAction func yinsiAction(_ sender: Any) {
}
@IBAction func aboutAction(_ sender: Any) {
}
@IBAction func logoutAction(_ sender: Any) {
UserDefaults.standard.set("", forKey: "token")
UserDefaults.standard.set("", forKey: "phone")
navigationController?.popViewController(animated: true)
let vc = KJLoginPhoneViewController()
navigationController?.pushViewController(vc, animated: true)
}
/*
// MARK: - Navigation
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13142" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12042"/>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="KJPersonalViewController" customModuleProvider="target">
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="KJPersonalViewController" customModule="iOS_2kj" customModuleProvider="target">
<connections>
<outlet property="phoneL" destination="02Y-Xh-yqk" id="dpv-ro-7CY"/>
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8fr-a1-2mD">
<rect key="frame" x="0.0" y="0.0" width="393" height="260"/>
<color key="backgroundColor" red="0.40392156862745099" green="0.27843137254901962" blue="0.80392156862745101" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="260" id="f7j-KA-8w8"/>
</constraints>
</view>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="personal_header" translatesAutoresizingMaskIntoConstraints="NO" id="wBw-MU-4XX">
<rect key="frame" x="33" y="127" width="64" height="64"/>
<constraints>
<constraint firstAttribute="width" constant="64" id="Ejx-QN-Fwi"/>
<constraint firstAttribute="height" constant="64" id="eEV-YY-VFi"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="profile" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="86K-CB-55F">
<rect key="frame" x="171" y="75" width="51" height="21"/>
<fontDescription key="fontDescription" type="system" weight="semibold" pointSize="17"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="02Y-Xh-yqk">
<rect key="frame" x="106" y="148.66666666666666" width="45" height="21"/>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aXX-tr-vUR">
<rect key="frame" x="0.0" y="240" width="393" height="578"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="personal_account" translatesAutoresizingMaskIntoConstraints="NO" id="BG8-Cn-f9Y">
<rect key="frame" x="18" y="32" width="20" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="20" id="LSb-zu-bCh"/>
<constraint firstAttribute="height" constant="20" id="o2K-ED-HiW"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="账户" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dNU-ii-nbV">
<rect key="frame" x="52.666666666666671" y="32.333333333333314" width="32.666666666666671" height="19.333333333333329"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" red="0.33333333333333331" green="0.33333333333333331" blue="0.33333333333333331" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="personal_nxt" translatesAutoresizingMaskIntoConstraints="NO" id="8sy-pM-OlY">
<rect key="frame" x="368" y="37" width="6" height="10"/>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YHw-oI-pfT">
<rect key="frame" x="0.0" y="12.666666666666657" width="393" height="60"/>
<constraints>
<constraint firstAttribute="height" constant="60" id="OQe-B7-jat"/>
</constraints>
<state key="normal" title="Button"/>
<buttonConfiguration key="configuration" style="plain" title=" "/>
<connections>
<action selector="accountAction:" destination="-1" eventType="touchUpInside" id="Jub-ck-7XO"/>
</connections>
</button>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="personal_nxt" translatesAutoresizingMaskIntoConstraints="NO" id="HdC-hm-AUU">
<rect key="frame" x="368" y="96.666666666666686" width="6" height="10"/>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="personal_yinsi" translatesAutoresizingMaskIntoConstraints="NO" id="cvF-Cp-H2r">
<rect key="frame" x="17" y="91.666666666666686" width="20" height="20"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="1lC-2M-uE7"/>
<constraint firstAttribute="width" constant="20" id="zD2-MG-Ari"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="隐私协议" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cxB-o7-5V5">
<rect key="frame" x="51.666666666666664" y="92" width="65.333333333333343" height="19.333333333333329"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" red="0.33333333329999998" green="0.33333333329999998" blue="0.33333333329999998" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BbS-Nr-7VS">
<rect key="frame" x="0.0" y="72.666666666666686" width="393" height="60"/>
<constraints>
<constraint firstAttribute="height" constant="60" id="fUS-Re-vhJ"/>
</constraints>
<state key="normal" title="Button"/>
<buttonConfiguration key="configuration" style="plain" title=" "/>
<connections>
<action selector="yinsiAction:" destination="-1" eventType="touchUpInside" id="RKO-ux-PjQ"/>
</connections>
</button>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="personal_about" translatesAutoresizingMaskIntoConstraints="NO" id="hMo-NF-WZV">
<rect key="frame" x="17" y="151.66666666666669" width="20" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="20" id="7dD-ch-f74"/>
<constraint firstAttribute="height" constant="20" id="uJd-ro-D73"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="关于" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gBa-bQ-bZT">
<rect key="frame" x="51.666666666666671" y="152" width="32.666666666666671" height="19.333333333333343"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" red="0.33333333329999998" green="0.33333333329999998" blue="0.33333333329999998" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="personal_nxt" translatesAutoresizingMaskIntoConstraints="NO" id="jUo-Gm-2wB">
<rect key="frame" x="368" y="156.66666666666669" width="6" height="10"/>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="RDM-5d-f4k">
<rect key="frame" x="0.0" y="132.66666666666669" width="393" height="60"/>
<constraints>
<constraint firstAttribute="height" constant="60" id="meH-1f-wfx"/>
</constraints>
<state key="normal" title="Button"/>
<buttonConfiguration key="configuration" style="plain" title=" "/>
<connections>
<action selector="aboutAction:" destination="-1" eventType="touchUpInside" id="49X-Rg-Og1"/>
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yn7-y7-Afa">
<rect key="frame" x="15" y="216.66666666666669" width="363" height="1"/>
<color key="backgroundColor" red="0.792156862745098" green="0.792156862745098" blue="0.792156862745098" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="RvN-Tl-CtF"/>
</constraints>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Log out" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="o3T-kX-nup">
<rect key="frame" x="15" y="247.66666666666671" width="55" height="19.333333333333343"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="gey-mC-fz6">
<rect key="frame" x="0.0" y="227.33333333333331" width="393" height="60"/>
<constraints>
<constraint firstAttribute="height" constant="60" id="fWb-rE-82X"/>
</constraints>
<state key="normal" title="Button"/>
<buttonConfiguration key="configuration" style="plain" title=" "/>
<connections>
<action selector="logoutAction:" destination="-1" eventType="touchUpInside" id="gbh-LM-1ff"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="YHw-oI-pfT" secondAttribute="trailing" id="0td-5z-sE3"/>
<constraint firstItem="gBa-bQ-bZT" firstAttribute="leading" secondItem="hMo-NF-WZV" secondAttribute="trailing" constant="14.5" id="11i-XW-GXP"/>
<constraint firstAttribute="trailing" secondItem="BbS-Nr-7VS" secondAttribute="trailing" id="3Dh-Lz-enJ"/>
<constraint firstItem="cxB-o7-5V5" firstAttribute="centerY" secondItem="cvF-Cp-H2r" secondAttribute="centerY" id="9AB-vg-Bqb"/>
<constraint firstItem="o3T-kX-nup" firstAttribute="top" secondItem="yn7-y7-Afa" secondAttribute="bottom" constant="30" id="9SI-e1-qKo"/>
<constraint firstItem="8sy-pM-OlY" firstAttribute="centerY" secondItem="dNU-ii-nbV" secondAttribute="centerY" id="A9a-nw-kNh"/>
<constraint firstItem="gey-mC-fz6" firstAttribute="leading" secondItem="aXX-tr-vUR" secondAttribute="leading" id="Alg-ZG-H23"/>
<constraint firstItem="YHw-oI-pfT" firstAttribute="leading" secondItem="aXX-tr-vUR" secondAttribute="leading" id="B3g-98-Msu"/>
<constraint firstItem="dNU-ii-nbV" firstAttribute="leading" secondItem="BG8-Cn-f9Y" secondAttribute="trailing" constant="14.5" id="Bsf-aB-pnP"/>
<constraint firstItem="BG8-Cn-f9Y" firstAttribute="top" secondItem="aXX-tr-vUR" secondAttribute="top" constant="32" id="Ctm-C4-rzN"/>
<constraint firstItem="HdC-hm-AUU" firstAttribute="centerY" secondItem="cxB-o7-5V5" secondAttribute="centerY" id="EVU-ep-iKa"/>
<constraint firstItem="YHw-oI-pfT" firstAttribute="top" secondItem="aXX-tr-vUR" secondAttribute="top" constant="12.5" id="FiM-XV-t6E"/>
<constraint firstItem="hMo-NF-WZV" firstAttribute="leading" secondItem="aXX-tr-vUR" secondAttribute="leading" constant="17" id="Ipa-NK-hjZ"/>
<constraint firstItem="RDM-5d-f4k" firstAttribute="leading" secondItem="aXX-tr-vUR" secondAttribute="leading" id="NT6-a5-1OG"/>
<constraint firstAttribute="trailing" secondItem="RDM-5d-f4k" secondAttribute="trailing" id="NhF-Do-4ZA"/>
<constraint firstItem="jUo-Gm-2wB" firstAttribute="centerY" secondItem="gBa-bQ-bZT" secondAttribute="centerY" id="QMK-5T-5yh"/>
<constraint firstItem="BG8-Cn-f9Y" firstAttribute="leading" secondItem="aXX-tr-vUR" secondAttribute="leading" constant="18" id="RAp-GW-LEh"/>
<constraint firstItem="o3T-kX-nup" firstAttribute="centerY" secondItem="gey-mC-fz6" secondAttribute="centerY" id="RXz-Af-I8d"/>
<constraint firstItem="BbS-Nr-7VS" firstAttribute="leading" secondItem="aXX-tr-vUR" secondAttribute="leading" id="Rdo-2c-ovs"/>
<constraint firstItem="o3T-kX-nup" firstAttribute="leading" secondItem="aXX-tr-vUR" secondAttribute="leading" constant="15" id="UCv-Rx-6iG"/>
<constraint firstItem="BbS-Nr-7VS" firstAttribute="top" secondItem="YHw-oI-pfT" secondAttribute="bottom" id="UPa-Qi-38x"/>
<constraint firstItem="gBa-bQ-bZT" firstAttribute="centerY" secondItem="hMo-NF-WZV" secondAttribute="centerY" id="YJ3-Z3-gGd"/>
<constraint firstItem="dNU-ii-nbV" firstAttribute="centerY" secondItem="BG8-Cn-f9Y" secondAttribute="centerY" id="Z6V-fb-hZX"/>
<constraint firstAttribute="trailing" secondItem="jUo-Gm-2wB" secondAttribute="trailing" constant="19" id="cR8-tK-7hi"/>
<constraint firstItem="yn7-y7-Afa" firstAttribute="leading" secondItem="aXX-tr-vUR" secondAttribute="leading" constant="15" id="cfs-0j-Z6g"/>
<constraint firstItem="cvF-Cp-H2r" firstAttribute="top" secondItem="YHw-oI-pfT" secondAttribute="bottom" constant="19" id="efB-Rt-YVx"/>
<constraint firstItem="cvF-Cp-H2r" firstAttribute="leading" secondItem="aXX-tr-vUR" secondAttribute="leading" constant="17" id="huc-Ch-svy"/>
<constraint firstItem="hMo-NF-WZV" firstAttribute="top" secondItem="BbS-Nr-7VS" secondAttribute="bottom" constant="19" id="il2-NM-Ai2"/>
<constraint firstAttribute="trailing" secondItem="8sy-pM-OlY" secondAttribute="trailing" constant="19" id="jVQ-Cv-ZXP"/>
<constraint firstItem="RDM-5d-f4k" firstAttribute="top" secondItem="BbS-Nr-7VS" secondAttribute="bottom" id="kbI-dY-Pya"/>
<constraint firstItem="cxB-o7-5V5" firstAttribute="leading" secondItem="cvF-Cp-H2r" secondAttribute="trailing" constant="14.5" id="oIa-Mx-Ezh"/>
<constraint firstAttribute="trailing" secondItem="HdC-hm-AUU" secondAttribute="trailing" constant="19" id="pEm-EF-Vzh"/>
<constraint firstItem="yn7-y7-Afa" firstAttribute="top" secondItem="RDM-5d-f4k" secondAttribute="bottom" constant="24" id="qT9-mm-pUL"/>
<constraint firstAttribute="trailing" secondItem="gey-mC-fz6" secondAttribute="trailing" id="uhl-m4-4i5"/>
<constraint firstAttribute="trailing" secondItem="yn7-y7-Afa" secondAttribute="trailing" constant="15" id="vv5-8c-83e"/>
</constraints>
</view>
</subviews>
<viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="86K-CB-55F" firstAttribute="centerX" secondItem="fnl-2z-Ty3" secondAttribute="centerX" id="1Qz-5f-CK2"/>
<constraint firstItem="8fr-a1-2mD" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="9dT-Ut-CtL"/>
<constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="aXX-tr-vUR" secondAttribute="bottom" id="Arj-d0-MxG"/>
<constraint firstItem="86K-CB-55F" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="16" id="CYD-9I-pQq"/>
<constraint firstItem="aXX-tr-vUR" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="LXJ-Sh-PSt"/>
<constraint firstItem="wBw-MU-4XX" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="68" id="NsU-ta-F6s"/>
<constraint firstItem="02Y-Xh-yqk" firstAttribute="leading" secondItem="wBw-MU-4XX" secondAttribute="trailing" constant="9" id="aqV-NE-nGX"/>
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="8fr-a1-2mD" secondAttribute="trailing" id="cSW-uK-R1w"/>
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="aXX-tr-vUR" secondAttribute="trailing" id="jHZ-R7-oWh"/>
<constraint firstItem="8fr-a1-2mD" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="lrv-MT-DgI"/>
<constraint firstItem="wBw-MU-4XX" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="33" id="rWl-VW-EP4"/>
<constraint firstItem="aXX-tr-vUR" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="181" id="vzg-yA-zAD"/>
<constraint firstItem="02Y-Xh-yqk" firstAttribute="centerY" secondItem="wBw-MU-4XX" secondAttribute="centerY" id="wOw-er-sdx"/>
</constraints>
<point key="canvasLocation" x="127.48091603053435" y="-11.267605633802818"/>
</view>
</objects>
<resources>
<image name="personal_about" width="21" height="21"/>
<image name="personal_account" width="21" height="21"/>
<image name="personal_header" width="64" height="64"/>
<image name="personal_nxt" width="6" height="10"/>
<image name="personal_yinsi" width="21" height="21"/>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
</resources>
</document>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论