cdecl

cdecl 解析器

/* 理解所有分析过程的代码段*/
/*
 *这是一个小型程序,在过去的几年中已经被编写过无数次,The C Programming Language 有一个cdecl不完整的版本,本书的cdecl程序则更为详尽。它支持类型限定符const和volatile。同时它还涉及结构、枚举和联合,尽管在这方面作了简化。你可以很轻松地用这个版本的程序来处理函数中的参数声明。这个程序可以用大哟150行C代码实现。如果加入错误处理,并使程序能够处理的声明范围更广一些,程序就会更长一些。无论如何,当编制这个解析器时,相当于正在实现编译器中主要的子系统之一————这是一个相当了不起的编程成就,能够帮助你获得对这个领域的深刻理解。
 */

  

JHmsScanBaseClass = interface(JObjectClass) ['{48F10983-E149-4F2D-9B1E-D0087A7C7AC5}'] { static Property Methods } { class } function _GetSCAN_FORMAT_FLAG: JString; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Ljava/lang/String; { class } function _GetSCAN_VIEW_FLAG: JString; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Ljava/lang/String; { class } function _GetSCAN_ERROR_CHECK_FLAG: JString; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Ljava/lang/String; { class } function _GetSCAN_GUIDE_FLAG: JString; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Ljava/lang/String; { class } function _GetFORMAT_UNKNOWN: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetALL_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetQRCODE_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetAZTEC_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetDATAMATRIX_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetPDF417_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetCODE39_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetCODE93_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetCODE128_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetEAN13_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetEAN8_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetITF14_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetUPCCODE_A_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetUPCCODE_E_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetCODABAR_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetMULTI_FUNCTIONAL_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetWX_SCAN_TYPE: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetOTHER_FORM: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { static Methods } { class } function init: JHmsScanBase; cdecl; overload; // ()V { class } function init(P1: JString; P2: Integer; P3: JString; P4: Integer; P5: TJavaArray<Byte>; P6: TJavaObjectArray<JPoint>; P7: JHmsScanAnalyzerOptions): JHmsScanBase; cdecl; overload; // (Ljava/lang/String;ILjava/lang/String;I[B[Landroid/graphics/Point;Lcom/huawei/hms/ml/scan/HmsScanAnalyzerOptions;)V { static Property } { class } property SCAN_FORMAT_FLAG: JString read _GetSCAN_FORMAT_FLAG; { class } property SCAN_VIEW_FLAG: JString read _GetSCAN_VIEW_FLAG; { class } property SCAN_ERROR_CHECK_FLAG: JString read _GetSCAN_ERROR_CHECK_FLAG; { class } property SCAN_GUIDE_FLAG: JString read _GetSCAN_GUIDE_FLAG; { class } property FORMAT_UNKNOWN: Integer read _GetFORMAT_UNKNOWN; { class } property ALL_SCAN_TYPE: Integer read _GetALL_SCAN_TYPE; { class } property QRCODE_SCAN_TYPE: Integer read _GetQRCODE_SCAN_TYPE; { class } property AZTEC_SCAN_TYPE: Integer read _GetAZTEC_SCAN_TYPE; { class } property DATAMATRIX_SCAN_TYPE: Integer read _GetDATAMATRIX_SCAN_TYPE; { class } property PDF417_SCAN_TYPE: Integer read _GetPDF417_SCAN_TYPE; { class } property CODE39_SCAN_TYPE: Integer read _GetCODE39_SCAN_TYPE; { class } property CODE93_SCAN_TYPE: Integer read _GetCODE93_SCAN_TYPE; { class } property CODE128_SCAN_TYPE: Integer read _GetCODE128_SCAN_TYPE; { class } property EAN13_SCAN_TYPE: Integer read _GetEAN13_SCAN_TYPE; { class } property EAN8_SCAN_TYPE: Integer read _GetEAN8_SCAN_TYPE; { class } property ITF14_SCAN_TYPE: Integer read _GetITF14_SCAN_TYPE; { class } property UPCCODE_A_SCAN_TYPE: Integer read _GetUPCCODE_A_SCAN_TYPE; { class } property UPCCODE_E_SCAN_TYPE: Integer read _GetUPCCODE_E_SCAN_TYPE; { class } property CODABAR_SCAN_TYPE: Integer read _GetCODABAR_SCAN_TYPE; { class } property MULTI_FUNCTIONAL_SCAN_TYPE: Integer read _GetMULTI_FUNCTIONAL_SCAN_TYPE; { class } property WX_SCAN_TYPE: Integer read _GetWX_SCAN_TYPE; { class } property OTHER_FORM: Integer read _GetOTHER_FORM; end; [JavaSignature('com/huawei/hms/ml/scan/HmsScanBase')] JHmsScanBase = interface(JObject) ['{4FC1FB5D-AB75-49A2-B15B-B57C4B56BFB3}'] { Property Methods } function _GetscanTypeForm: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I procedure _SetscanTypeForm(ascanTypeForm: Integer); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (I)V function _GetcornerPoints: TJavaObjectArray<JPoint>; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // [Landroid/graphics/Point; procedure _SetcornerPoints(acornerPoints: TJavaObjectArray<JPoint>); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // ([Landroid/graphics/Point;)V function _GetshowResult: JString; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Ljava/lang/String; procedure _SetshowResult(ashowResult: JString); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (Ljava/lang/String;)V function _GetscanType: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I procedure _SetscanType(ascanType: Integer); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (I)V function _GetzoomValue: Double; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // D procedure _SetzoomValue(azoomValue: Double); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (D)V function _GetoriginValueByte: TJavaArray<Byte>; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // [B procedure _SetoriginValueByte(aoriginValueByte: TJavaArray<Byte>); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // ([B)V function _GetoriginalValue: JString; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Ljava/lang/String; procedure _SetoriginalValue(aoriginalValue: JString); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (Ljava/lang/String;)V function _Getoptions: JHmsScanAnalyzerOptions; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Lcom/huawei/hms/ml/scan/HmsScanAnalyzerOptions; procedure _Setoptions(aoptions: JHmsScanAnalyzerOptions); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (Lcom/huawei/hms/ml/scan/HmsScanAnalyzerOptions;)V function _GetoriginalBitmap: JBitmap; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Landroid/graphics/Bitmap; procedure _SetoriginalBitmap(aoriginalBitmap: JBitmap); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (Landroid/graphics/Bitmap;)V { methods } function getScanTypeForm: Integer; cdecl; // ()I function getZoomValue: Double; cdecl; // ()D function getOriginValueByte: TJavaArray<Byte>; cdecl; // ()[B function getOriginalBitmap: JBitmap; cdecl; // ()Landroid/graphics/Bitmap; function getOriginalValue: JString; cdecl; // ()Ljava/lang/String; function getBorderRect: JRect; cdecl; // ()Landroid/graphics/Rect; function getCornerPoints: TJavaObjectArray<JPoint>; cdecl; // ()[Landroid/graphics/Point; function getShowResult: JString; cdecl; // ()Ljava/lang/String; function getScanType: Integer; cdecl; // ()I procedure writeToParcel(P1: JParcel; P2: Integer); cdecl; // (Landroid/os/Parcel;I)V function describeContents: Integer; cdecl; // ()I { Property } property scanTypeForm: Integer read _GetscanTypeForm write _SetscanTypeForm; property cornerPoints: TJavaObjectArray<JPoint> read _GetcornerPoints write _SetcornerPoints; property showResult: JString read _GetshowResult write _SetshowResult; property scanType: Integer read _GetscanType write _SetscanType; property zoomValue: Double read _GetzoomValue write _SetzoomValue; property originValueByte: TJavaArray<Byte> read _GetoriginValueByte write _SetoriginValueByte; property originalValue: JString read _GetoriginalValue write _SetoriginalValue; property options: JHmsScanAnalyzerOptions read _Getoptions write _Setoptions; property originalBitmap: JBitmap read _GetoriginalBitmap write _SetoriginalBitmap; end; TJHmsScanBase = class(TJavaGenericImport<JHmsScanBaseClass, JHmsScanBase>) end; JHmsScanClass = interface(JHmsScanBaseClass) // or JObjectClass // SuperSignature: com/huawei/hms/ml/scan/HmsScanBase ['{11B8819D-C79F-47EB-825B-3D6A0CEE5158}'] { static Property Methods } { class } function _GetARTICLE_NUMBER_FORM: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetPURE_TEXT_FORM: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetISBN_NUMBER_FORM: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetEVENT_INFO_FORM: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetCONTACT_DETAIL_FORM: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetDRIVER_INFO_FORM: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetEMAIL_CONTENT_FORM: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetLOCATION_COORDINATE_FORM: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetTEL_PHONE_NUMBER_FORM: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetSMS_FORM: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetURL_FORM: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetWIFI_CONNECT_INFO_FORM: Integer; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // I { class } function _GetCREATOR: JParcelable_Creator; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Landroid/os/Parcelable$Creator; { static Methods } { class } function init: JHmsScan; cdecl; overload; // ()V { class } function init(P1: JString; P2: Integer; P3: JString; P4: Integer; P5: TJavaArray<Byte>; P6: TJavaObjectArray<JPoint>; P7: JHmsScanAnalyzerOptions): JHmsScan; cdecl; overload; // (Ljava/lang/String;ILjava/lang/String;I[B[Landroid/graphics/Point;Lcom/huawei/hms/ml/scan/HmsScanAnalyzerOptions;)V // {class} function init(P1: JString; P2: Integer; P3: JString; P4: Integer; P5: TJavaArray<Byte>; P6: TJavaObjectArray<JPoint>; P7: JHmsScanAnalyzerOptions; P8: Jz6): JHmsScan; cdecl; overload; //(Ljava/lang/String;ILjava/lang/String;I[B[Landroid/graphics/Point;Lcom/huawei/hms/ml/scan/HmsScanAnalyzerOptions;Lcom/huawei/hms/scankit/p/z6;)V { static Property } { class } property ARTICLE_NUMBER_FORM: Integer read _GetARTICLE_NUMBER_FORM; { class } property PURE_TEXT_FORM: Integer read _GetPURE_TEXT_FORM; { class } property ISBN_NUMBER_FORM: Integer read _GetISBN_NUMBER_FORM; { class } property EVENT_INFO_FORM: Integer read _GetEVENT_INFO_FORM; { class } property CONTACT_DETAIL_FORM: Integer read _GetCONTACT_DETAIL_FORM; { class } property DRIVER_INFO_FORM: Integer read _GetDRIVER_INFO_FORM; { class } property EMAIL_CONTENT_FORM: Integer read _GetEMAIL_CONTENT_FORM; { class } property LOCATION_COORDINATE_FORM: Integer read _GetLOCATION_COORDINATE_FORM; { class } property TEL_PHONE_NUMBER_FORM: Integer read _GetTEL_PHONE_NUMBER_FORM; { class } property SMS_FORM: Integer read _GetSMS_FORM; { class } property URL_FORM: Integer read _GetURL_FORM; { class } property WIFI_CONNECT_INFO_FORM: Integer read _GetWIFI_CONNECT_INFO_FORM; { class } property CREATOR: JParcelable_Creator read _GetCREATOR; end; [JavaSignature('com/huawei/hms/ml/scan/HmsScan')] JHmsScan = interface(JHmsScanBase) // or JObject // SuperSignature: com/huawei/hms/ml/scan/HmsScanBase ['{8DD3CB2C-5C69-404F-A249-450E5BAA04A2}'] { Property Methods } function _GeteventInfo: JHmsScan_EventInfo; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Lcom/huawei/hms/ml/scan/HmsScan$EventInfo; procedure _SeteventInfo(aeventInfo: JHmsScan_EventInfo); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (Lcom/huawei/hms/ml/scan/HmsScan$EventInfo;)V function _GetcontactDetail: JHmsScan_ContactDetail; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Lcom/huawei/hms/ml/scan/HmsScan$ContactDetail; procedure _SetcontactDetail(acontactDetail: JHmsScan_ContactDetail); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (Lcom/huawei/hms/ml/scan/HmsScan$ContactDetail;)V function _GetdriverInfo: JHmsScan_DriverInfo; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Lcom/huawei/hms/ml/scan/HmsScan$DriverInfo; procedure _SetdriverInfo(adriverInfo: JHmsScan_DriverInfo); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (Lcom/huawei/hms/ml/scan/HmsScan$DriverInfo;)V function _GetlinkUrl: JHmsScan_LinkUrl; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Lcom/huawei/hms/ml/scan/HmsScan$LinkUrl; procedure _SetlinkUrl(alinkUrl: JHmsScan_LinkUrl); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (Lcom/huawei/hms/ml/scan/HmsScan$LinkUrl;)V function _GetwifiConnectionInfo: JHmsScan_WiFiConnectionInfo; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Lcom/huawei/hms/ml/scan/HmsScan$WiFiConnectionInfo; procedure _SetwifiConnectionInfo(awifiConnectionInfo : JHmsScan_WiFiConnectionInfo); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (Lcom/huawei/hms/ml/scan/HmsScan$WiFiConnectionInfo;)V function _GetsmsContent: JHmsScan_SmsContent; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Lcom/huawei/hms/ml/scan/HmsScan$SmsContent; procedure _SetsmsContent(asmsContent: JHmsScan_SmsContent); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (Lcom/huawei/hms/ml/scan/HmsScan$SmsContent;)V function _GetemailContent: JHmsScan_EmailContent; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Lcom/huawei/hms/ml/scan/HmsScan$EmailContent; procedure _SetemailContent(aemailContent: JHmsScan_EmailContent); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (Lcom/huawei/hms/ml/scan/HmsScan$EmailContent;)V function _GetlocationCoordinate: JHmsScan_LocationCoordinate; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Lcom/huawei/hms/ml/scan/HmsScan$LocationCoordinate; procedure _SetlocationCoordinate(alocationCoordinate : JHmsScan_LocationCoordinate); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (Lcom/huawei/hms/ml/scan/HmsScan$LocationCoordinate;)V function _GettelPhoneNumber: JHmsScan_TelPhoneNumber; {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // Lcom/huawei/hms/ml/scan/HmsScan$TelPhoneNumber; procedure _SettelPhoneNumber(atelPhoneNumber: JHmsScan_TelPhoneNumber); {$IF CompilerVersion >= 29.0} cdecl; { >=XE8 }{$IFEND} // (Lcom/huawei/hms/ml/scan/HmsScan$TelPhoneNumber;)V { methods } function getEventInfo: JHmsScan_EventInfo; cdecl; // ()Lcom/huawei/hms/ml/scan/HmsScan$EventInfo; function getContactDetail: JHmsScan_ContactDetail; cdecl; // ()Lcom/huawei/hms/ml/scan/HmsScan$ContactDetail; function getDriverInfo: JHmsScan_DriverInfo; cdecl; // ()Lcom/huawei/hms/ml/scan/HmsScan$DriverInfo; function getLinkUrl: JHmsScan_LinkUrl; cdecl; // ()Lcom/huawei/hms/ml/scan/HmsScan$LinkUrl; function getWiFiConnectionInfo: JHmsScan_WiFiConnectionInfo; cdecl; // ()Lcom/huawei/hms/ml/scan/HmsScan$WiFiConnectionInfo; function getSmsContent: JHmsScan_SmsContent; cdecl; // ()Lcom/huawei/hms/ml/scan/HmsScan$SmsContent; function getEmailContent: JHmsScan_EmailContent; cdecl; // ()Lcom/huawei/hms/ml/scan/HmsScan$EmailContent; function getLocationCoordinate: JHmsScan_LocationCoordinate; cdecl; // ()Lcom/huawei/hms/ml/scan/HmsScan$LocationCoordinate; function getTelPhoneNumber: JHmsScan_TelPhoneNumber; cdecl; // ()Lcom/huawei/hms/ml/scan/HmsScan$TelPhoneNumber; function setZoomValue(P1: Double): JHmsScan; cdecl; // (D)Lcom/huawei/hms/ml/scan/HmsScan; procedure writeToParcel(P1: JParcel; P2: Integer); cdecl; // (Landroid/os/Parcel;I)V function describeContents: Integer; cdecl; // ()I { Property } property eventInfo: JHmsScan_EventInfo read _GeteventInfo write _SeteventInfo; property contactDetail: JHmsScan_ContactDetail read _GetcontactDetail write _SetcontactDetail; property driverInfo: JHmsScan_DriverInfo read _GetdriverInfo write _SetdriverInfo; property linkUrl: JHmsScan_LinkUrl read _GetlinkUrl write _SetlinkUrl; property wifiConnectionInfo: JHmsScan_WiFiConnectionInfo read _GetwifiConnectionInfo write _SetwifiConnectionInfo; property smsContent: JHmsScan_SmsContent read _GetsmsContent write _SetsmsContent; property emailContent: JHmsScan_EmailContent read _GetemailContent write _SetemailContent; property locationCoordinate: JHmsScan_LocationCoordinate read _GetlocationCoordinate write _SetlocationCoordinate; property telPhoneNumber: JHmsScan_TelPhoneNumber read _GettelPhoneNumber write _SettelPhoneNumber; end; TJHmsScan = class(TJavaGenericImport<JHmsScanClass, JHmsScan>) end;
05-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值