《青子记账》APP隐私政策

青子记账隐私政策
广州小日常科技有限公司发布的青子记账隐私政策详细说明了用户信息的收集、使用、储存与分享方式。政策覆盖了应用程序自身功能所需权限、第三方SDK权限及用户如何访问和控制个人信息等内容。

以下是广州小日常科技有限公司关于青子记账的隐私政策。

我们重视用户的隐私。您在使用我们的服务时,我们可能会收集和使用您的相关信息。我们希望通过本《隐私政策》向您说明,在使用我们的服务时,我们如何收集、使用、储存和分享这些信息,以及我们为您提供的访问、更新、控制和保护这些信息的方式。本《隐私政策》与您所使用的服务息息相关,希望您仔细阅读,在需要时,按照本《隐私政策》的指引,作出您认为适当的选择。本《隐私政策》中涉及的相关技术词汇,我们尽量以简明扼要的表述,并提供进一步说明的链接,以便您的理解。

您使用或继续使用我们的服务,即意味着同意我们按照本《隐私政策》收集、使用、储存和分享您的相关信息。

如对本《隐私政策》或相关事宜有任何问题,请通过到联系作者页面与我们联系。

一、我们可能收集的信息

我们提供服务时,可能会收集、储存和使用下列与您有关的信息。如果您不提供相关信息,可能无法享受我们提供的某些服务,或者无法达到相关服务拟达到的效果。

(一)您提供的信息

您在使用我们的服务时,向我们提供的相关个人信息,例如电子邮件、第三方登录账号ID相关信息等;

您通过我们的服务向其他方提供的共享信息,以及您使用我们的服务时所储存的信息,例如记账信息,模板信息等。

(二)其他方分享的您的信息

其他方使用我们的服务时所提供有关您的共享信息。

(三)我们获取的您的信息

1、您使用服务时我们可能收集如下信息:

(1)日志信息,指您使用我们的服务时,系统可能通过beacon或其他方式自动采集的技术信息,包括:

1、设备或软件信息,例如您的移动设备、网页浏览器或用于接入我们服务的其他程序所提供的配置信息、您的IP地址和移动设备所用的版本和设备识别码;

2、有关您曾使用的移动应用商店(APP)和其他第三方社交软件(微信,QQ,微博)的安装状态信息;

(2)位置信息,指您开启设备定位功能并使用我们基于位置提供的相关服务时,收集的有关您位置的信息,用于第三方SDK如友盟和优量汇校准报表数据准确性、防作弊、提供更加精确的广告推送服务等。其中包括:

1、您通过具有定位功能的移动设备使用我们的服务时,通过GPS或WiFi等方式收集的您的地理位置信息;

2、您或其他用户提供的包含您所处地理位置的实时信息,例如您提供的账户信息中包含的您所在地区信息,您或其他人上传的显示您当前或曾经所处地理位置的共享信息;

3、您可以通过关闭定位功能,停止对您的地理位置信息的收集。

(3)软件安装列表信息,在使用过程中,我们将获取您的软件安装列表,仅用于判断是否安装微信,QQ,微博等软件,以便于您进行第三方账号登录。

(四)第三方SDK获取的您的信息

我们的产品集成友盟+SDK、Bugly SDK、优量汇SDK,需要收集您的设备Mac地址、唯一设备识别码(IMEI/android ID/IDFA/OPENUDID/GUID、SIM 卡 IMSI 信息)以提供统计分析服务、广告推送服务、错误分析服务,并通过地理位置校准报表数据准确性,提供基础反作弊能力。

二、我们申请获取的权限及用途

(一)应用程序自身功能所需获取的权限

1、我们将申请获取使用网络的权限,用于备份或恢复用户记账数据,进行第三方账号登录等;

2、我们将申请获取用户的存储权限,用于导出导入用户记账数据,或者自定义用户头像等;

(二)第三方统计服务SDK"友盟"所需获取的权限

1、我们将申请获取使用网络的权限,用于检测联网方式,在网络异常状态下避免数据发送,节省流量和电量;联网和发送统计数据,以便提供统计分析服务;

2、我们将申请读取手机(电话)状态的权限,用于获取用户设备的IMEI,通过IMEI对用户进行唯一标识,以便提供统计分析服务;

3、我们将申请获取WIFI状态的权限,用于获取WIFI mac地址,在平板设备或电视盒子上,无法通过IMEI标识设备,我们会将WIFI mac地址作为用户的唯一标识,以便正常提供统计分析服务;

4、我们收集唯一设备序列号(IMEI/Mac/android ID/IDFA/OPENUDID/GUID、SIM 卡 IMSI 信息)以提供统计分析服务,并通过地理位置校准报表数据准确性,提供基础反作弊能力。

5、有关友盟的具体隐私条例详见<a href="https://www.umeng.com/page/policy">《友盟隐私政策》</a>。

注:1、友盟+SDK包括了华为推送,UC 啄木鸟,ViVO推送, OPPO推送,小米推送。

2、【友盟+】提供的某项或某几项服务有其单独的隐私权政策的,该等服务对应的隐私权政策将与本隐私权政策一起构成一份完整的【友盟+】隐私权政策。如您允许我们与第三方网站共享信息,则同时需受第三方网站服务条款和隐私权政策的约束。

(三)第三方Bug分析SDK"Bugly"所需获取的权限

1、我们将申请获取使用网络的权限,用于发送应用闪退信息;

2、我们将申请读取手机(电话)状态的权限,用于获取用户设备的IMEI,以便对不同机型设备进行错误分析;

3、我们将申请获取WIFI状态的权限,用于获取WIFI mac地址,在平板设备或电视盒子上,无法通过IMEI标识设备,我们会将WIFI mac地址作为用户的唯一标识,以便对不同机型、设备、用户进行错误分析,生成错误分析报表;

(四)第三方广告服务SDK"优量汇"所需获取的权限

1、我们将申请获取使用网络的权限,用于加载广告,提供广告服务;

2、我们将申请读取手机(电话)状态的权限,用于获取用户设备的IMEI,通过IMEI对用户进行唯一标识;

3、我们将申请获取WIFI状态的权限,用于获取WIFI mac地址,在平板设备或电视盒子上,无法通过IMEI标识设备,我们会将WIFI mac地址作为用户的唯一标识;

4、我们将申请获取位置信息的权限并可能会通过IP地址、GPS、WLAN(如WiFi)或基站等途径获取您的地理位置信息,用于通过地理位置校准报表数据准确性。

5、有关优量汇的具体隐私条例详见<a href="https://imgcache.qq.com/gdt/cdn/adn/uniondoc/ylh_sdk_privacy_statement.html">《优量汇SDK隐私保护声明》</a>。

三、账户注销指引

1、在"我的"页面点击"高级设置"图标,进入高级设置页面,即可看到注销按钮;

2、注意,账户注销后,将立即生效,同时所有云端及本地个人账号信息及应用数据都将被清除。

四、我们可能如何使用信息

(一)我们可能将在向您提供服务的过程之中所收集的信息用作下列用途:

1、向您提供服务。在我们提供服务时,用于身份验证、客户服务、安全防范、诈骗监测、存档和备份用途,确保我们向您提供的产品和服务的安全性;

2、帮助我们设计新服务,改善我们现有服务;

3、向您提供与您更加相关的广告以替代普遍投放的广告;

五、您如何访问和控制自己的个人信息

我们将尽一切可能采取适当的技术手段,保证您可以访问、更新和更正自己的注册信息或使用我们的服务时提供的其他个人信息。在访问、更新、更正和删除前述信息时,我们可能会要求您进行身份验证,以保障账户安全。

六、我们可能分享的信息

除以下情形外,未经您同意,我们不会与任何第三方分享您的个人信息:

(一)我们可能将您的个人信息与第三方服务供应商、承包商及代理(例如代表我们发出电子邮件或推送通知的通讯服务提供商、为我们提供位置数据的地图服务供应商)分享(他们可能并非位于您所在的法域),用作下列用途:

1、向您提供我们的服务;

2、实现“我们可能如何使用信息”部分所述目的;

3、履行我们在本《隐私政策》中的义务和行使我们的权利;

4、理解、维护和改善我们的服务。

如我们与任何上述第三方分享您的个人信息,我们将努力确保该等第三方在使用您的个人信息时遵守本《隐私政策》及我们要求其遵守的其他适当的保密和安全措施。

(二)随着我们业务的持续发展,我们有可能进行合并、收购、资产转让或类似的交易,您的个人信息有可能作为此类交易的一部分而被转移。我们将在转移前通知您。

(三)我们还可能为以下需要而保留、保存或披露您的个人信息:

1、遵守适用的法律法规;

2、遵守法院命令或其他法律程序的规定;

3、遵守相关政府机关的要求;

4、为遵守适用的法律法规、维护社会公共利益,或保护我们的客户、我们、其他用户的人身和财产安全或合法权益所合理必需的用途。

七、信息安全

我们仅在本《隐私政策》所述目的所必需的期间和法律法规要求的时限内保留您的个人信息。 我们使用各种安全技术和程序,以防信息的丢失、不当使用、未经授权阅览或披露。例如,在某些服务中,我们将利用加密技术(例如SSL)来保护您提供的个人信息。但请您理解,由于技术的限制以及可能存在的各种恶意手段,在互联网行业,即便竭尽所能加强安全措施,也不可能始终保证信息百分之百的安全。您需要了解,您接入我们的服务所用的系统和通讯网络,有可能因我们可控范围外的因素而出现问题。

八、您分享的信息

我们的多项服务,可让您不仅与自己的社交网络,也与使用该服务的所有用户公开分享您的相关信息,例如,您在我们的服务中所上传或发布的信息(包括您公开的个人信息、您建立的名单)、您对其他人上传或发布的信息作出的回应,以及包括与这些信息有关的位置数据和日志信息。使用我们服务的其他用户也有可能分享与您有关的信息(包括位置数据和日志信息)。特别是,我们的社交媒体服务,是专为使您与世界各地的用户共享信息而设计,您可以使共享信息实时、广泛地传递。只要您不删除共享信息,有关信息会一直留存在公共领域;即使您删除共享信息,有关信息仍可能由其他用户或不受我们控制的非关联第三方独立地缓存、复制或储存,或由其他用户或该等第三方在公共领域保存。

因此,请您谨慎考虑通过我们的服务上传、发布和交流的信息内容。在一些情况下,您可通过我们某些服务的隐私设定来控制有权浏览您共享信息的用户范围。如要求从我们的服务中删除您的相关信息,请通过该等特别服务条款提供的方式操作。

九、您分享的敏感个人信息

某些个人信息因其特殊性可能被认为是敏感个人信息,例如您的种族、宗教、个人健康和医疗信息等。相比其他个人信息,敏感个人信息受到更加严格的保护。

请注意,您在使用我们的服务时所提供、上传或发布的内容和信息(例如有关您社交活动的照片等信息),可能会泄露您的敏感个人信息。您需要谨慎地考虑,是否在使用我们的服务时披露相关敏感个人信息。

您同意按本《隐私政策》所述的目的和方式来处理您的敏感个人信息。

十、我们可能向您发送的邮件和信息

(一)邮件和信息推送

您在使用我们的服务时,我们可能使用您的信息向您的设备发送电子邮件、新闻或推送通知。如您不希望收到这些信息,可以按照我们的相关提示,在设备上选择取消订阅。

(二)与服务有关的公告

我们可能在必要时(例如因系统维护而暂停某一项服务时)向您发出与服务有关的公告。您可能无法取消这些与服务有关、性质不属于推广的公告。

十一、隐私政策的适用例外

我们的服务可能包括或链接至第三方提供的社交媒体或其他服务(包括网站)。例如:

您利用 “分享”键将某些内容分享到我们的服务,或您利用第三方连线服务登录我们的服务。这些功能可能会收集您的相关信息(包括您的日志信息),并可能在您的电脑装置cookies,从而正常运行上述功能;

我们通过广告或我们服务的其他方式向您提供链接,使您可以接入第三方的服务或网站。

该等第三方社交媒体或其他服务可能由相关的第三方或我们运营。您使用该等第三方的社交媒体服务或其他服务(包括您向该等第三方提供的任何个人信息),须受该第三方的服务条款及隐私政策(而非《通用服务条款》或本《隐私政策》)约束,您需要仔细阅读其条款。本《隐私政策》仅适用于我们所收集的信息,并不适用于任何第三方提供的服务或第三方的信息使用规则,我们对任何第三方使用由您提供的信息不承担任何责任。

十二、未成年人使用我们的服务

我们鼓励父母或监护人指导未满十八岁的未成年人使用我们的服务。我们建议未成年人鼓励他们的父母或监护人阅读本《隐私政策》,并建议未成年人在提交的个人信息之前寻求父母或监护人的同意和指导。

十三、隐私政策的适用范围

除某些特定服务外,我们所有的服务均适用本《隐私政策》。这些特定服务将适用特定的隐私政策。针对某些特定服务的特定隐私政策,将更具体地说明我们在该等服务中如何使用您的信息。该特定服务的隐私政策构成本《隐私政策》的一部分。如相关特定服务的隐私政策与本《隐私政策》有不一致之处,适用该特定服务的隐私政策。

请您注意,本《隐私政策》不适用于以下情况:

通过我们的服务而接入的第三方服务(包括任何第三方网站)收集的信息;

通过在我们服务中进行广告服务的其他公司或机构所收集的信息。

十四、联系我们

在使用过程中,如有任何问题,请随时与我们保持联系,我们的联系邮箱是:813397713@qq.com

十五、变更

我们可能适时修订本《隐私政策》的条款,该等修订构成本《隐私政策》的一部分。如该等修订造成您在本《隐私政策》下权利的实质减少,我们将在修订生效前通过在主页上显著位置提示或向您发送电子邮件或以其他方式通知您。在该种情况下,若您继续使用我们的服务,即表示同意受经修订的本《隐私政策》的约束。

本政策更新于2022年7月19日,即日起生效。

<think>我们正在开发一个iOS记账应用,可以使用Swift或Objective-C。根据引用,Swift是现代推荐的语言,而Objective-C是较旧但仍可用的语言。我们将重点放在Swift上,因为它更现代且Apple推荐。 主要步骤: 1. 环境搭建:使用Xcode,这是Apple官方IDE。 2. 选择语言:Swift(使用SwiftUI或UIKit)。 3. 设计用户界面:考虑使用SwiftUI(声明式)或UIKit(命令式)。 4. 数据存储:使用Core Data或SQLite等本地数据库。 5. 功能实现:包括记账、分类、统计、报表等。 6. 测试与发布:使用TestFlight进行内测,然后发布到App Store。 具体实现: 一、环境搭建 安装Xcode(从Mac App Store下载)。 二、创建项目 选择模板(例如:单视图应用),语言选择Swift。 三、用户界面设计 我们可以使用SwiftUI来构建界面,因为它更简单、更现代。 示例:创建一个简单的记账界面 1. 主界面:显示账单列表和总金额。 2. 添加账单界面:输入金额、分类、日期、备注等。 四、数据模型 我们需要一个账单模型,包含以下属性: - 金额(Double) - 分类(String) - 日期(Date) - 备注(String?) - 类型(支出/收入) 五、数据存储 使用Core Data来管理数据。Core Data是Apple提供的数据持久化框架。 步骤: 1. 在Xcode中创建数据模型(.xcdatamodeld文件)。 2. 定义实体(Entity)和属性(Attributes)。 3. 使用Core Data的上下文(Context)进行增删改查。 六、功能实现 1. 添加账单:用户输入信息后保存到Core Data。 2. 显示账单列表:从Core Data中获取数据并展示。 3. 统计:计算总收入、总支出、结余等。 七、框架推荐 - 用户界面:SwiftUI(或UIKit) - 数据持久化:Core Data - 图表:可以使用第三方库如Charts(通过CocoaPods或Swift Package Manager安装) 八、代码示例(SwiftUI + Core Data) 1. 创建Core Data实体(例如:BillItem) 属性:id(UUID),amount(Double),category(String),date(Date),note(String),type(String,可以是“支出”或“收入”) 2. 创建Core Data管理器 创建一个单例类来管理Core Data操作。 3. SwiftUI视图 - ContentView:显示账单列表和添加按钮。 - AddBillView:添加新账单的视图。 示例代码: 首先,在Xcode中创建项目勾选“Use Core Data”。 然后,在ContentView中: ```swift import SwiftUI import CoreData struct ContentView: View { @Environment(\.managedObjectContext) private var viewContext @FetchRequest( sortDescriptors: [NSSortDescriptor(keyPath: \BillItem.date, ascending: false)], animation: .default) private var billItems: FetchedResults<BillItem> var body: some View { NavigationView { List { ForEach(billItems) { item in Text("\(item.category ?? ""): \(item.amount, specifier: "%.2f")") } .onDelete(perform: deleteItems) } .toolbar { ToolbarItem(placement: .navigationBarTrailing) { EditButton() } ToolbarItem { Button(action: addItem) { Label("Add Item", systemImage: "plus") } } } Text("Select an item") } } private func addItem() { // 这里可以跳转到添加账单的视图,或者直接添加一个测试数据 withAnimation { let newItem = BillItem(context: viewContext) newItem.id = UUID() newItem.amount = 100.0 newItem.category = "餐饮" newItem.date = Date() newItem.note = "" newItem.type = "支出" do { try viewContext.save() } catch { // 处理错误 let nsError = error as NSError fatalError("Unresolved error \(nsError), \(nsError.userInfo)") } } } private func deleteItems(offsets: IndexSet) { withAnimation { offsets.map { billItems[$0] }.forEach(viewContext.delete) do { try viewContext.save() } catch { // 处理错误 let nsError = error as NSError fatalError("Unresolved error \(nsError), \(nsError.userInfo)") } } } } ``` 但是,我们通常不会在addItem方法中直接写死数据,而是应该跳转到添加视图。因此,我们创建一个添加视图: ```swift struct AddBillView: View { @Environment(\.managedObjectContext) private var viewContext @Environment(\.presentationMode) var presentationMode @State private var amount: String = "" @State private var category: String = "" @State private var date: Date = Date() @State private var note: String = "" @State private var type: String = "支出" var body: some View { Form { TextField("金额", text: $amount) .keyboardType(.decimalPad) TextField("分类", text: $category) DatePicker("日期", selection: $date, displayedComponents: .date) TextField("备注", text: $note) Picker("类型", selection: $type) { Text("支出").tag("支出") Text("收入").tag("收入") } .pickerStyle(SegmentedPickerStyle()) Button("保存") { addItem() presentationMode.wrappedValue.dismiss() } } } private func addItem() { let newItem = BillItem(context: viewContext) newItem.id = UUID() newItem.amount = Double(amount) ?? 0.0 newItem.category = category newItem.date = date newItem.note = note newItem.type = type do { try viewContext.save() } catch { // 处理错误 print(error.localizedDescription) } } } ``` 然后在ContentView中修改,点击添加按钮跳转到AddBillView。 修改ContentView的ToolbarItem的Button动作: ```swift // 在ContentView中,添加一个状态来控制是否显示添加视图 @State private var showingAddView = false // 修改ToolbarItem的Button Button(action: { showingAddView.toggle() }) { Label("Add Item", systemImage: "plus") } .sheet(isPresented: $showingAddView) { AddBillView() .environment(\.managedObjectContext, self.viewContext) } ``` 九、统计功能 我们可以计算总支出和总收入,并在界面上显示。 在ContentView中添加: ```swift var totalExpense: Double { billItems.filter { $0.type == "支出" }.reduce(0) { $0 + $1.amount } } var totalIncome: Double { billItems.filter { $0.type == "收入" }.reduce(0) { $0 + $1.amount } } // 在List前面添加一个VStack,显示统计信息 VStack { Text("总支出: \(totalExpense, specifier: "%.2f")") Text("总收入: \(totalIncome, specifier: "%.2f")") Text("结余: \(totalIncome - totalExpense, specifier: "%.2f")") } ``` 十、图表展示 可以使用第三方库Charts。通过Swift Package Manager添加Charts库: 1. File -> Swift Packages -> Add Package Dependency 2. 输入URL:https://github.com/danielgindi/Charts 然后,我们可以创建一个图表视图来展示支出分类的饼图等。 十一、其他功能 1. 分类管理:允许用户自定义分类。 2. 报表:按日、月、年展示报表。 3. 数据导出:导出为CSV等格式。 4. 备份与恢复:使用iCloud同步。 十二、发布 1. 使用TestFlight进行内测。 2. 在App Store Connect中创建应用并提交审核。 注意:记账应用涉及用户财务数据,需要重视安全性(如数据加密)和隐私政策。 以上是一个基本的开发流程和示例代码。根据需求,可以进一步扩展功能。 §§相关问题§§ 1. 如何在SwiftUI中使用Core Data进行数据持久化? 2. 如何为iOS记账应用添加图表功能? 3. 如何实现iOS应用的数据备份和恢复(如iCloud同步)? 4. 如何优化iOS记账应用的性能? 5. 如何将iOS应用发布到App Store?</think>### 如何使用Swift开发iOS记账应用 #### 一、开发环境搭建 1. **安装Xcode** Apple官方开发工具,支持Swift和Objective-C开发(推荐版本Xcode 15+)[^1] 2. **语言选择建议** - **Swift**(现代语法,Apple主力推荐):适合新项目 - **Objective-C**(兼容旧代码):适合维护已有项目 > 引用[3]指出:Swift是iOS开发的未来趋势,学习曲线更平滑 #### 二、核心技术框架 | 功能模块 | 推荐框架 | 作用说明 | |----------------|-----------------------------------|------------------------------| | **UI构建** | SwiftUI(声明式)或 UIKit(命令式) | 界面开发 | | **数据存储** | Core Data + CloudKit | 本地存储与iCloud同步 | | **图表展示** | Charts (第三方库) | 收支趋势可视化[^2] | | **依赖管理** | Swift Package Manager | 第三方库集成 | #### 三、核心功能实现 ```swift // 示例:SwiftUI + Core Data 记账模型 import SwiftUI import CoreData struct ExpenseItem: Identifiable { let id = UUID() var amount: Double var category: String // 如"餐饮","交通" var date: Date var type: String // "收入"或"支出" } // Core Data实体定义 class BillItem: NSManagedObject { @NSManaged var id: UUID @NSManaged var amount: Double @NSManaged var category: String @NSManaged var date: Date } ``` #### 四、关键开发步骤 1. **数据模型设计** - 实体:账单记录、分类标签、预算设置 - 关系:一对多(分类→账单) 2. **UI界面开发(SwiftUI示例)** ```swift struct MainView: View { @StateObject var vm = ExpenseViewModel() var body: some View { TabView { // 记账页面 AddExpenseView() .tabItem { Label("记账", systemImage: "plus.circle") } // 报表页面 ChartView(data: vm.chartData) .tabItem { Label("报表", systemImage: "chart.pie") } } } } ``` 3. **数据持久化实现** ```swift // Core Data操作封装 class DataController: ObservableObject { let container: NSPersistentContainer init() { container = NSPersistentContainer(name: "ExpenseModel") container.loadPersistentStores { _, error in if let error = error { fatalError("Core Data加载失败: \(error)") } } } func saveContext() { do { try container.viewContext.save() } catch { print("保存失败: \(error)") } } } ``` #### 五、进阶功能实现 1. **数据统计与分析** - 使用`Core Data`的`NSFetchRequest`聚合查询 ```swift // 按月统计支出 func monthlyExpenses() -> [Double] { let request: NSFetchRequest<BillItem> = BillItem.fetchRequest() request.propertiesToGroupBy = ["month"] request.resultType = .dictionaryResultType // 执行查询并返回结果 } ``` 2. **iCloud同步** ```swift // 启用CloudKit同步 container = NSPersistentCloudKitContainer(name: "ExpenseModel") ``` 3. **安全性措施** - 使用iOS Keychain存储敏感数据 - 启用App Transport Security(ATS) - 遵守GDPR数据规范 #### 六、测试与发布 1. **测试工具** - XCTest框架单元测试 - TestFlight进行Beta测试[^2] 2. **发布流程** ```mermaid graph LR A[开发完成] --> B[Archive打包] B --> C[上传App Store Connect] C --> D[提交苹果审核] D --> E[上架App Store] ``` #### 七、推荐学习资源 1. **官方文档** - [SwiftUI教程](https://developer.apple.com/tutorials/swiftui) 2. **第三方库** - 图表:`Charts` (https://github.com/danielgindi/Charts) - 网络:`Alamofire` 3. **设计参考** - Apple人机界面指南(HIG) - 财务类应用设计规范 > 引用[3]建议:通过实际项目积累经验是掌握Swift开发的最佳途径 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值