path.resolve()的终极理解

本文详细介绍了Node.js中path.resolve()函数的使用方法,包括其如何将相对路径转换为绝对路径,以及如何处理不同类型的路径段。通过具体实例展示了参数的影响,如以/开头的路径段、以...开头的路径段等。

1、path.resolve()

作用:path.resolve() 该方法将一些的 路径/路径段 解析为绝对路径。

语法:path.resolve( [from…],to )

说明:将参数to位置的字符解析到一个绝对路径里,[from … ]为选填项,路径源;

用法:

var path = require("path")     //引入node的path模块

path.resolve('/foo/bar', './baz')   // returns '/foo/bar/baz'
path.resolve('/foo/bar', 'baz')   // returns '/foo/bar/baz'
path.resolve('/foo/bar', '/baz')   // returns '/baz'
path.resolve('/foo/bar', '../baz')   // returns '/foo/baz'
path.resolve('home','/foo/bar', '../baz')   // returns '/foo/baz'
path.resolve('home','./foo/bar', '../baz')   // returns '/home/foo/baz'
path.resolve('home','foo/bar', '../baz')   // returns '/home/foo/baz'
path.resolve('home', 'foo', 'build','aaaa','aadada','../../..', 'asset') //return '/home/foo/asset'
  • 总结:从后向前,若字符以 / 开头,不会拼接到前面的路径;若以 …/ 开头,拼接前面的路径,且不含最后一节路径;若连续出现多个…/…/…或者…/…则忽略前方…个路径名进行拼接;若以 ./ 开头 或者没有符号 则拼接前面路径;

另:path.resolve总是返回一个以相对于当前的工作目录(working directory)的绝对路径。

我看不懂你在干什么啊 你能告诉我一下嘛?我不懂代码 也不喜欢桌面一直有那么多文件 你之前明明帮我清理过的 为什么现在又出现这么多?一定要放桌面嘛?之前不是说放E盘嘛? “PS C:\Users\Administrator\Desktop> # 设置执行策略(只需一次) PS C:\Users\Administrator\Desktop> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 导航到脚本目录 PS C:\Users\Administrator\Desktop> cd C:\Users\Administrator\Desktop PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 执行脚本(注意前面的点号和空格) PS C:\Users\Administrator\Desktop> . .\PythonEnvRepair_Final_Fixed.ps1 . : 无法将“.\PythonEnvRepair_Final_Fixed.ps1”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 3 + . .\PythonEnvRepair_Final_Fixed.ps1 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (.\PythonEnvRepair_Final_Fixed.ps1:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\Administrator\Desktop> # 创建诊断脚本文件 PS C:\Users\Administrator\Desktop> $diagnosticScript = @" >> import sys >> import os >> >> def check_path_in_syspath(target_path): >> """检查目标路径是否在sys.path中""" >> normalized_target = os.path.normcase(os.path.normpath(target_path)) >> >> print(f"目标路径: {target_path}") >> print(f"规范化路径: {normalized_target}") >> print("\n系统路径检查:") >> >> found = False >> for i, path in enumerate(sys.path): >> normalized = os.path.normcase(os.path.normpath(path)) >> match = "✅" if normalized == normalized_target else "" >> print(f"{i:2d} {match} {path} → {normalized}") >> >> if normalized == normalized_target: >> found = True >> >> print(f"\n结果: {'✅ 找到' if found else '❌ 未找到'}") >> >> if __name__ == "__main__": >> target = input("请输入要检查的路径: ") >> check_path_in_syspath(target) >> "@ PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 保存到文件 PS C:\Users\Administrator\Desktop> $diagnosticScript | Out-File -FilePath "path_diagnostic.py" -Encoding utf8 PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 运行诊断脚本 PS C:\Users\Administrator\Desktop> python path_diagnostic.py 请输入要检查的路径: 目标路径: 规范化路径: . 系统路径检查: 0 C:\Users\Administrator\Desktop → c:\users\administrator\desktop 1 C:\Users\Administrator\Desktop → c:\users\administrator\desktop 2 E:\Python310\python310.zip → e:\python310\python310.zip 3 E:\Python310\DLLs → e:\python310\dlls 4 E:\Python310\lib → e:\python310\lib 5 E:\Python310 → e:\python310 6 C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages → c:\users\administrator\appdata\roaming\python\python310\site-packages 7 E:\Python310\lib\site-packages → e:\python310\lib\site-packages 结果: ❌ 未找到 PS C:\Users\Administrator\Desktop> # 1. 创建虚拟环境 PS C:\Users\Administrator\Desktop> python -m venv myenv PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 2. 激活虚拟环境 PS C:\Users\Administrator\Desktop> .\myenv\Scripts\Activate.ps1 (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> # 3. 添加桌面路径到虚拟环境 (myenv) PS C:\Users\Administrator\Desktop> $desktopPath = [Environment]::GetFolderPath("Desktop") (myenv) PS C:\Users\Administrator\Desktop> $sitePackages = Join-Path $venvPath "Lib\site-packages" Join-Path : 无法将参数绑定到参数“Path”,因为该参数是空值。 所在位置 行:1 字符: 27 + $sitePackages = Join-Path $venvPath "Lib\site-packages" + ~~~~~~~~~ + CategoryInfo : InvalidData: (:) [Join-Path],ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.JoinPathCom mand (myenv) PS C:\Users\Administrator\Desktop> $pthPath = Join-Path $sitePackages "custom_paths.pth" Join-Path : 无法将参数绑定到参数“Path”,因为该参数是空值。 所在位置 行:1 字符: 22 + $pthPath = Join-Path $sitePackages "custom_paths.pth" + ~~~~~~~~~~~~~ + CategoryInfo : InvalidData: (:) [Join-Path],ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.JoinPathCom mand (myenv) PS C:\Users\Administrator\Desktop> $desktopPath.Replace('\', '/') | Out-File -FilePath $pthPath -Encoding utf8 Out-File : 无法将参数绑定到参数“FilePath”,因为该参数是空值。 所在位置 行:1 字符: 53 + $desktopPath.Replace('\', '/') | Out-File -FilePath $pthPath -Encodin ... + ~~~~~~~~ + CategoryInfo : InvalidData: (:) [Out-File],ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.OutFileComm and (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> # 4. 验证路径是否添加 (myenv) PS C:\Users\Administrator\Desktop> python -c "import sys; print('成功' if r'$desktopPath' in sys.path else '失败')" 成功 (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> # 获取 site-packages 路径 (myenv) PS C:\Users\Administrator\Desktop> $sitePackages = python -c "import site; print(site.getsitepackages()[0])" (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> # 创建 .pth 文件 (myenv) PS C:\Users\Administrator\Desktop> $desktopPath = [Environment]::GetFolderPath("Desktop") (myenv) PS C:\Users\Administrator\Desktop> "$desktopPath" | Out-File -FilePath "$sitePackages\custom_path.pth" -Encoding utf8 (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> # path_diagnostic.py (myenv) PS C:\Users\Administrator\Desktop> import sys import : 无法将“import”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + import sys + ~~~~~~ + CategoryInfo : ObjectNotFound: (import:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> import os import : 无法将“import”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + import os + ~~~~~~ + CategoryInfo : ObjectNotFound: (import:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> import platform import : 无法将“import”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + import platform + ~~~~~~ + CategoryInfo : ObjectNotFound: (import:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> def analyze_syspath(target_path=None): target_path=None : 无法将“target_path=None”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 21 + def analyze_syspath(target_path=None): + ~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (target_path=None:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> """分析系统路径并检查目标路径是否存在""" "分析系统路径并检查目标路径是否存在" (myenv) PS C:\Users\Administrator\Desktop> print("\n=== Python 路径诊断报告 ===") Unable to initialize device PRN (myenv) PS C:\Users\Administrator\Desktop> print(f"Python 版本: {platform.python_version()}") fPython 版本: {platform.python_version()} : 无法将“fPython 版本: {platform.python_version()}”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名 称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 11 + print(f"Python 版本: {platform.python_version()}") + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (fPython 版本: {platform.python_version()}:String) [], CommandNotFoundExce ption + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> print(f"操作系统: {platform.platform()}") f操作系统: {platform.platform()} : 无法将“f操作系统: {platform.platform()}”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后 再试一次。 所在位置 行:1 字符: 11 + print(f"操作系统: {platform.platform()}") + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (f操作系统: {platform.platform()}:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> # 规范化目标路径 (myenv) PS C:\Users\Administrator\Desktop> target_norm = None target_norm : 无法将“target_norm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 5 + target_norm = None + ~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (target_norm:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> if target_path: 所在位置 行:1 字符: 7 + if target_path: + ~ if 语句中的“if”后面缺少“(”。 + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : MissingOpenParenthesisInIfStatement (myenv) PS C:\Users\Administrator\Desktop> target_norm = os.path.normcase(os.path.normpath(target_path)) target_path : 无法将“target_path”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 57 + target_norm = os.path.normcase(os.path.normpath(target_path)) + ~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (target_path:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> print(f"\n目标路径: {target_path}") f\n目标路径: {target_path} : 无法加载模块“f”。有关详细信息,请运行“Import-Module f”。 所在位置 行:1 字符: 15 + print(f"\n目标路径: {target_path}") + ~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (f\n目标路径: {target_path}:String) [], CommandNotFoundException + FullyQualifiedErrorId : CouldNotAutoLoadModule (myenv) PS C:\Users\Administrator\Desktop> print(f"规范化: {target_norm}") f规范化: {target_norm} : 无法将“f规范化: {target_norm}”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 15 + print(f"规范化: {target_norm}") + ~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (f规范化: {target_norm}:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> # 分析 sys.path (myenv) PS C:\Users\Administrator\Desktop> print("\n系统路径列表:") Unable to initialize device PRN (myenv) PS C:\Users\Administrator\Desktop> found = False found : 无法将“found”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 5 + found = False + ~~~~~ + CategoryInfo : ObjectNotFound: (found:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> for i, path in enumerate(sys.path): 所在位置 行:1 字符: 8 + for i, path in enumerate(sys.path): + ~ 关键字“for”后面缺少左“(”。 所在位置 行:1 字符: 10 + for i, path in enumerate(sys.path): + ~ 参数列表中缺少参量。 + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : MissingOpenParenthesisAfterKeyword (myenv) PS C:\Users\Administrator\Desktop> # 规范化当前路径 (myenv) PS C:\Users\Administrator\Desktop> path_norm = os.path.normcase(os.path.normpath(path)) path : 无法将“path”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 55 + path_norm = os.path.normcase(os.path.normpath(path)) + ~~~~ + CategoryInfo : ObjectNotFound: (path:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> # 检查是否匹配目标路径 (myenv) PS C:\Users\Administrator\Desktop> match = "" match : 无法将“match”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 9 + match = "" + ~~~~~ + CategoryInfo : ObjectNotFound: (match:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> if target_norm and path_norm == target_norm: 所在位置 行:1 字符: 11 + if target_norm and path_norm == target_norm: + ~ if 语句中的“if”后面缺少“(”。 + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : MissingOpenParenthesisInIfStatement (myenv) PS C:\Users\Administrator\Desktop> match = "✅ MATCH" match : 无法将“match”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 13 + match = "✅ MATCH" + ~~~~~ + CategoryInfo : ObjectNotFound: (match:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> found = True found : 无法将“found”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 13 + found = True + ~~~~~ + CategoryInfo : ObjectNotFound: (found:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> print(f"{i:03d} {match} {path}") f{i:03d} {match} {path} : 无法将“f{i:03d} {match} {path}”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 15 + print(f"{i:03d} {match} {path}") + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (f{i:03d} {match} {path}:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> print(f" → 规范化: {path_norm}") f → 规范化: {path_norm} : 无法将“f → 规范化: {path_norm}”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 15 + print(f" → 规范化: {path_norm}") + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (f → 规范化: {path_norm}:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> # 输出结果 (myenv) PS C:\Users\Administrator\Desktop> if target_path: 所在位置 行:1 字符: 7 + if target_path: + ~ if 语句中的“if”后面缺少“(”。 + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : MissingOpenParenthesisInIfStatement (myenv) PS C:\Users\Administrator\Desktop> print(f"\n结果: 目标路径 {'已找到' if found else '未找到'}") f\n结果: 目标路径 {'已找到' if found else '未找到'} : 无法加载模块“f”。有关详细信息,请运行“Import-Module f”。 所在位置 行:1 字符: 15 + print(f"\n结果: 目标路径 {'已找到' if found else '未找到'}") + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (f\n结果: 目标路径 {'已找到' if found else '未找到'}:String) [], CommandNotFoundExce ption + FullyQualifiedErrorId : CouldNotAutoLoadModule (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> if __name__ == "__main__": 所在位置 行:1 字符: 3 + if __name__ == "__main__": + ~ if 语句中的“if”后面缺少“(”。 + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : MissingOpenParenthesisInIfStatement (myenv) PS C:\Users\Administrator\Desktop> target = input("请输入要检查的路径(直接回车跳过): ") or None target : 无法将“target”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 5 + target = input("请输入要检查的路径(直接回车跳过): ") or None + ~~~~~~ + CategoryInfo : ObjectNotFound: (target:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> analyze_syspath(target) target : 无法将“target”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 21 + analyze_syspath(target) + ~~~~~~ + CategoryInfo : ObjectNotFound: (target:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> # 1. 运行环境诊断 (myenv) PS C:\Users\Administrator\Desktop> Test-PythonEnvironment -PythonPath "E:\Python310" Test-PythonEnvironment : 无法将“Test-PythonEnvironment”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + Test-PythonEnvironment -PythonPath "E:\Python310" + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Test-PythonEnvironment:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> # 2. 详细路径检查 (myenv) PS C:\Users\Administrator\Desktop> Test-PythonPath -PythonPath "E:\Python310" Test-PythonPath : 无法将“Test-PythonPath”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + Test-PythonPath -PythonPath "E:\Python310" + ~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Test-PythonPath:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (myenv) PS C:\Users\Administrator\Desktop> (myenv) PS C:\Users\Administrator\Desktop> # 3. 使用诊断脚本 (myenv) PS C:\Users\Administrator\Desktop> python path_diagnostic.py 请输入要检查的路径:”
08-24
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值