no message
This commit is contained in:
parent
e9bc213f46
commit
842dc90aeb
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="23727" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="24128" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23727"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="24128"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
@ -98,7 +98,7 @@
|
||||
</tableCellView>
|
||||
</prototypeCellViews>
|
||||
</tableColumn>
|
||||
<tableColumn identifier="productIDColumn" width="149.5" minWidth="40" maxWidth="1000" id="dWg-Q6-LNF">
|
||||
<tableColumn identifier="productIDColumn" width="150" minWidth="40" maxWidth="1000" id="dWg-Q6-LNF">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Product ID">
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -130,7 +130,7 @@
|
||||
</tableCellView>
|
||||
</prototypeCellViews>
|
||||
</tableColumn>
|
||||
<tableColumn identifier="productNameColumn" width="101.5" minWidth="40" maxWidth="1000" id="cu0-Fg-efY">
|
||||
<tableColumn identifier="productNameColumn" width="102" minWidth="40" maxWidth="1000" id="cu0-Fg-efY">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="品项名称">
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -143,11 +143,11 @@
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<prototypeCellViews>
|
||||
<tableCellView identifier="productNameCell" id="GlU-7h-ss9">
|
||||
<rect key="frame" x="221.5" y="1" width="101" height="50"/>
|
||||
<rect key="frame" x="222" y="1" width="102" height="50"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="9VL-cf-yHZ">
|
||||
<rect key="frame" x="-1" y="17" width="101" height="16"/>
|
||||
<rect key="frame" x="-1" y="17" width="102" height="16"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="Q3a-OZ-g6W">
|
||||
<font key="font" usesAppearanceFont="YES"/>
|
||||
@ -162,7 +162,7 @@
|
||||
</tableCellView>
|
||||
</prototypeCellViews>
|
||||
</tableColumn>
|
||||
<tableColumn identifier="priceLevelColumn" width="54.5" minWidth="40" maxWidth="100" id="QvX-dg-tZC">
|
||||
<tableColumn identifier="priceLevelColumn" width="55" minWidth="40" maxWidth="100" id="QvX-dg-tZC">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="销售范围">
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -180,7 +180,7 @@
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<prototypeCellViews>
|
||||
<tableCellView identifier="priceLevelCell" id="Ixq-9W-hrr">
|
||||
<rect key="frame" x="326" y="1" width="55" height="50"/>
|
||||
<rect key="frame" x="327" y="1" width="55" height="50"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nh9-yz-azS">
|
||||
@ -217,7 +217,7 @@
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<prototypeCellViews>
|
||||
<tableCellView identifier="priceCell" id="fHK-u3-suB">
|
||||
<rect key="frame" x="383.5" y="1" width="78" height="50"/>
|
||||
<rect key="frame" x="385" y="1" width="78" height="50"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="JSr-Bq-gso">
|
||||
@ -254,7 +254,7 @@
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<prototypeCellViews>
|
||||
<tableCellView identifier="appleidCell" id="2r2-YN-gxc">
|
||||
<rect key="frame" x="464.5" y="1" width="120" height="50"/>
|
||||
<rect key="frame" x="466" y="1" width="120" height="50"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Zr2-bI-CNv">
|
||||
@ -273,7 +273,7 @@
|
||||
</tableCellView>
|
||||
</prototypeCellViews>
|
||||
</tableColumn>
|
||||
<tableColumn identifier="typeColumn" width="99.5" minWidth="40" maxWidth="100" id="BAk-nA-FHU">
|
||||
<tableColumn identifier="typeColumn" width="100" minWidth="40" maxWidth="100" id="BAk-nA-FHU">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="品项类型">
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -286,11 +286,11 @@
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<prototypeCellViews>
|
||||
<tableCellView identifier="typeCell" id="Lym-V5-iX8">
|
||||
<rect key="frame" x="587.5" y="1" width="99" height="50"/>
|
||||
<rect key="frame" x="589" y="1" width="100" height="50"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="KmJ-Eh-Ikj">
|
||||
<rect key="frame" x="-1" y="17" width="99" height="16"/>
|
||||
<rect key="frame" x="-1" y="17" width="100" height="16"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="TQy-ks-kac">
|
||||
<font key="font" usesAppearanceFont="YES"/>
|
||||
@ -305,7 +305,7 @@
|
||||
</tableCellView>
|
||||
</prototypeCellViews>
|
||||
</tableColumn>
|
||||
<tableColumn identifier="stateColumn" width="58.5" minWidth="40" maxWidth="110" id="zNJ-vs-M9B">
|
||||
<tableColumn identifier="stateColumn" width="59" minWidth="40" maxWidth="110" id="zNJ-vs-M9B">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="状态">
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -318,7 +318,7 @@
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<prototypeCellViews>
|
||||
<tableCellView identifier="stateCell" id="JqD-IF-M9E">
|
||||
<rect key="frame" x="690" y="1" width="63" height="50"/>
|
||||
<rect key="frame" x="692" y="1" width="63" height="50"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bt8-9h-N0G">
|
||||
@ -369,7 +369,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="g1s-qC-zZv">
|
||||
<rect key="frame" x="248" y="172" width="94" height="48"/>
|
||||
<rect key="frame" x="255" y="179" width="80" height="36"/>
|
||||
<buttonCell key="cell" type="push" title="刷新" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="PBX-Aw-4gO">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -383,7 +383,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="g4b-K9-FLu">
|
||||
<rect key="frame" x="338" y="172" width="114" height="48"/>
|
||||
<rect key="frame" x="345" y="179" width="100" height="36"/>
|
||||
<buttonCell key="cell" type="push" title="导入表格" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="vsX-vy-Zvo">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -397,7 +397,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DoY-Xj-sox">
|
||||
<rect key="frame" x="448" y="172" width="114" height="48"/>
|
||||
<rect key="frame" x="455" y="179" width="100" height="36"/>
|
||||
<buttonCell key="cell" type="push" title="导出表格" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Qpw-5P-Y95">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -411,7 +411,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="pDs-nU-YDZ">
|
||||
<rect key="frame" x="668" y="172" width="114" height="48"/>
|
||||
<rect key="frame" x="675" y="179" width="100" height="36"/>
|
||||
<buttonCell key="cell" type="push" title="下载表格示例" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="cwE-He-2kf">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -425,7 +425,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fCY-Bo-Sre">
|
||||
<rect key="frame" x="558" y="172" width="114" height="48"/>
|
||||
<rect key="frame" x="565" y="179" width="100" height="36"/>
|
||||
<buttonCell key="cell" type="push" title="导出品项ID" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="cwm-HN-x0f">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
|
||||
@ -60,11 +60,11 @@ class APInAppPurchseVC: NSViewController {
|
||||
}
|
||||
|
||||
// 创建格式
|
||||
var iaps = "productId, 商品名称, 价格等级, 价格(\(countryCode)), AppleID, 商品类型, 状态, 送审图片\n"
|
||||
var iaps = "productId, 商品名称, 价格等级, 价格(\(countryCode)), AppleID, 商品类型, 状态, 时长, 送审图片\n"
|
||||
let separator = "\",\""
|
||||
iaps += iapList.map { item -> String in
|
||||
return "\"" + item.vendorId + separator + item.referenceName + separator + item.priceTier + separator + (checkPrice[item.priceTier] ?? "-") + separator + item.adamId
|
||||
+ separator + item.addOnType.CNValue() + separator + item.iTunesConnectStatus.statusValue.0 + separator + item.reviewScreenshot + "\""
|
||||
+ separator + item.addOnType.CNValue() + separator + item.iTunesConnectStatus.statusValue.0 + separator + "\(item.durationDays)" + item.reviewScreenshot + "\""
|
||||
}.joined(separator: "\n")
|
||||
|
||||
// 保存文件
|
||||
@ -108,9 +108,12 @@ extension APInAppPurchseVC {
|
||||
|
||||
// 请求商品列表
|
||||
func fetchIAPs() {
|
||||
APClient.iaps(appid: currentApp!.appId).request(showLoading: true, inView: self.view) { [weak self] result, response, error in
|
||||
// let oldIAPs = await ascAPI.fetchInAppPurchasesList(appId: currentApp!.appId)
|
||||
APClient.iaps(appid: currentApp!.appId)
|
||||
.request(showLoading: true, inView: self.view) { [weak self] result, response, error in
|
||||
guard let err = error else {
|
||||
guard let app = self?.currentApp else { return } //请求过程关闭页面可能导致为空
|
||||
print(result.toJsonString() ?? "")
|
||||
let iapL = IAPList(body:result, app: app)
|
||||
self?.iapList = iapL.iapList
|
||||
self?.outlineView.reloadData()
|
||||
@ -300,3 +303,18 @@ extension APInAppPurchseVC: NSOutlineViewDelegate, NSOutlineViewDataSource {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension Dictionary {
|
||||
|
||||
func toJsonString() -> String? {
|
||||
do {
|
||||
let data = try JSONSerialization.data(withJSONObject: self)
|
||||
let jsonStr = String(data: data, encoding: .utf8)
|
||||
return jsonStr
|
||||
} catch {
|
||||
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -198,6 +198,7 @@ extension APClient {
|
||||
filter = "fields[inAppPurchase]=referenceName,productId,inAppPurchaseType&filter[canBeSubmitted]=true&limit=500&sort=-referenceName&exists[inAppPurchaseReviewSubmission]=true&"
|
||||
}
|
||||
return "https://appstoreconnect.apple.com/iris/v1/apps/"+appid+"/inAppPurchase?"+filter
|
||||
// return "https://api.appstoreconnect.apple.com/v1/apps/\(appid)/inAppPurchasesV2"
|
||||
case let .iaps(appid):
|
||||
return "https://appstoreconnect.apple.com/WebObjects/iTunesConnect.woa/ra/apps/"+appid+"/iaps"
|
||||
case let .inAppPurchaseDetail(iapid):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user