实例介绍
Azure Functions Core Tools提供了一个本地开发体验,用于创建、开发、测试、运行和调试Azure Functions。
【实例截图】

【核心代码】
文件清单
└── azure-functions-core-tools-83b60d16521014e1cd550454ff31d671263617ae
├── Azure.Functions.Cli.sln
├── azure-pipelines.yml
├── build
│ ├── Build.csproj
│ ├── BuildSteps.cs
│ ├── FileHelpers.cs
│ ├── funcinstall.wxs
│ ├── icon.ico
│ ├── installbanner.bmp
│ ├── installdialog.bmp
│ ├── IntegrationTestBuildManifest.cs
│ ├── license.rtf
│ ├── Orchestrator.cs
│ ├── OrchestratorParser.cs
│ ├── Package.cs
│ ├── PackageInfo.cs
│ ├── Program.cs
│ ├── Settings.cs
│ └── Shell.cs
├── build.ps1
├── build.sh
├── check-vulnerabilities.ps1
├── CODEOWNERS
├── codeql.yml
├── CONTRIBUTING.md
├── dotnet-install.sh
├── generateMsiFiles.ps1
├── generateSha.ps1
├── LICENSE
├── NuGet.Config
├── pipelineUtilities.psm1
├── publish-scripts
│ ├── chocolatey
│ │ ├── buildNUPKG.py
│ │ ├── __init__.py
│ │ ├── installps_template
│ │ └── nuspec_template
│ ├── driver.py
│ ├── requirements.txt
│ ├── shared
│ │ ├── constants.py
│ │ ├── helper.py
│ │ └── __init__.py
│ └── ubuntu
│ ├── buildDEB.py
│ ├── changelog_template
│ ├── control_template
│ ├── copyright
│ ├── __init__.py
│ └── postinst_template
├── README.md
├── repackageBinaries.ps1
├── SECURITY.md
├── src
│ └── Azure.Functions.Cli
│ ├── ActionAttribute.cs
│ ├── Actions
│ │ ├── AzureActions
│ │ │ ├── AddStorageAccountSettingAction.cs
│ │ │ ├── BaseAzureAction.cs
│ │ │ ├── BaseFunctionAppAction.cs
│ │ │ ├── DeprecatedAzureActions.cs
│ │ │ ├── FetchAppSettingsAction.cs
│ │ │ ├── ListFunctionsActions.cs
│ │ │ ├── LogStreamAction.cs
│ │ │ └── PublishFunctionAppAction.cs
│ │ ├── BaseAction.cs
│ │ ├── ContainerService
│ │ │ └── AzureContainerAppsDeployAction.cs
│ │ ├── DeployActions
│ │ │ ├── DeployFunctionAction.cs
│ │ │ └── Platforms
│ │ │ ├── KnativePlatform.cs
│ │ │ ├── KubernetesPlatform.cs
│ │ │ └── PlatformFactory.cs
│ │ ├── DurableActions
│ │ │ ├── BaseDurableAction.cs
│ │ │ ├── BaseDurableActionWithId.cs
│ │ │ ├── DurableDeleteTaskHub.cs
│ │ │ ├── DurableGetHistory.cs
│ │ │ ├── DurableGetInstances.cs
│ │ │ ├── DurableGetRuntimeStatus.cs
│ │ │ ├── DurablePurgeHistory.cs
│ │ │ ├── DurableRaiseEvent.cs
│ │ │ ├── DurableRewind.cs
│ │ │ ├── DurableStartNew.cs
│ │ │ └── DurableTerminate.cs
│ │ ├── HelpAction.cs
│ │ ├── HostActions
│ │ │ ├── DotNetIsolatedDebugConfigureBuilder.cs
│ │ │ ├── StartHostAction.cs
│ │ │ ├── Startup.cs
│ │ │ └── WebHost
│ │ │ └── Security
│ │ │ └── CliAuthenticationHandler.cs
│ │ ├── KubernetesActions
│ │ │ ├── InstallKedaAction.cs
│ │ │ ├── KubernetesDeleteAction.cs
│ │ │ ├── KubernetesDeployAction.cs
│ │ │ └── RemoveKedaAction.cs
│ │ ├── LocalActions
│ │ │ ├── AddSettingAction.cs
│ │ │ ├── CreateFunctionAction.cs
│ │ │ ├── DecryptSettingAction.cs
│ │ │ ├── DeleteSettingAction.cs
│ │ │ ├── EncryptSettingsAction.cs
│ │ │ ├── GetExtensionBundlePath.cs
│ │ │ ├── InitAction.cs
│ │ │ ├── InstallExtensionAction.cs
│ │ │ ├── ListSettingsAction.cs
│ │ │ ├── ListTemplatesAction.cs
│ │ │ ├── PackAction.cs
│ │ │ └── SyncExtensionsAction.cs
│ │ ├── LogsActions
│ │ │ └── GetLogsAction.cs
│ │ └── UserInputHandler.cs
│ ├── ActionType.cs
│ ├── App.config
│ ├── Arm
│ │ ├── ArmClient.cs
│ │ ├── ArmResourceNotFoundException.cs
│ │ ├── ArmUriTemplates.cs
│ │ └── Models
│ │ ├── AppServiceConnectionString.cs
│ │ ├── ArgResponse.cs
│ │ ├── ArmArrayWrapper.cs
│ │ ├── ArmGenericResource.cs
│ │ ├── ArmResourceId.cs
│ │ ├── ArmStorageKeys.cs
│ │ ├── ArmSubscription.cs
│ │ ├── ArmSubscriptionsArray.cs
│ │ ├── ArmWebsiteConfig.cs
│ │ ├── ArmWebsite.cs
│ │ ├── ArmWebsitePublishingCredentials.cs
│ │ ├── ArmWrapper.cs
│ │ ├── BasicAuthCheckResponse.cs
│ │ ├── FunctionInfo.cs
│ │ ├── Site.cs
│ │ └── StorageAccount.cs
│ ├── Azure.Functions.Cli.csproj
│ ├── AzureFunctions-CLI.ico
│ ├── Azure.Functions.Cli.nuspec
│ ├── Common
│ │ ├── AppSettingsFile.cs
│ │ ├── BuildOption.cs
│ │ ├── CliArgumentException.cs
│ │ ├── CliException.cs
│ │ ├── CommandChecker.cs
│ │ ├── ConnectionString.cs
│ │ ├── Constants.cs
│ │ ├── ContextHelpManager.cs
│ │ ├── DeploymentStatus.cs
│ │ ├── DiskBacked.cs
│ │ ├── DisplayFunctionsInfoUtilities.cs
│ │ ├── DurableManager.cs
│ │ ├── Executable.cs
│ │ ├── ExitCodes.cs
│ │ ├── ExtensionPackage.cs
│ │ ├── FileSystemHelpers.cs
│ │ ├── FunctionNotFoundException.cs
│ │ ├── GitIgnoreParser.cs
│ │ ├── HostStartSettings.cs
│ │ ├── HttpResult.cs
│ │ ├── KeyVaultReferencesManager.cs
│ │ ├── OutputTheme.cs
│ │ ├── PersistentSettings.cs
│ │ ├── ProcessInfo.cs
│ │ ├── ProcessManager.cs
│ │ ├── ProgrammingModel.cs
│ │ ├── ProtectedData.cs
│ │ ├── PythonPackage.cs
│ │ ├── RequirementsTxtParser.cs
│ │ ├── SafeConsole.cs
│ │ ├── SecretsManager.cs
│ │ ├── SelfHostWebHostSettingsFactory.cs
│ │ ├── SimpleProgressBar.cs
│ │ ├── SourceControl.cs
│ │ ├── StaticSettings.cs
│ │ ├── TargetFramework.cs
│ │ ├── TaskUtilities.cs
│ │ ├── Template.cs
│ │ ├── TemplatesManager.cs
│ │ ├── Utilities.cs
│ │ └── WorkerLanguageVersionInfo.cs
│ ├── ConsoleApp.cs
│ ├── ContainerApps
│ │ └── Models
│ │ ├── ContainerAppFunctonCreateResponse.cs
│ │ ├── ContainerAppsFunctionDeployResponse.cs
│ │ ├── ContainerAppsFunctionPayload.cs
│ │ └── ManagedEnvironementGetResponse.cs
│ ├── Context.cs
│ ├── Diagnostics
│ │ ├── ColoredConsoleLogger.cs
│ │ ├── ColoredConsoleLoggerProvider.cs
│ │ ├── DisableConsoleConfigurationBuilder.cs
│ │ ├── LoggerRuleSelector.cs
│ │ ├── LoggingBuilder.cs
│ │ ├── LoggingFilterHelper.cs
│ │ └── ProviderAliasUtilities.cs
│ ├── Exceptions
│ │ └── ImageNameFormatException.cs
│ ├── ExtensionBundle
│ │ ├── ExtensionBundleConfigurationBuilder.cs
│ │ └── ExtensionBundleHelper.cs
│ ├── Extensions
│ │ ├── DictionaryExtensions.cs
│ │ ├── FunctionMetadataExtensions.cs
│ │ ├── GenericExtensions.cs
│ │ ├── HttpExtension.cs
│ │ ├── IEnumerableExtensions.cs
│ │ ├── ProcessExtensions.cs
│ │ ├── StringExtensions.cs
│ │ ├── TaskExtensions.cs
│ │ ├── TypeExtensions.cs
│ │ ├── UriExtensions.cs
│ │ └── X509StoreExtensions.cs
│ ├── FunctionsLocalServer.cs
│ ├── GlobalSuppressions.cs
│ ├── Helpers
│ │ ├── AzureHelper.cs
│ │ ├── DockerHelpers.cs
│ │ ├── DotnetHelpers.cs
│ │ ├── EnumerationHelper.cs
│ │ ├── EnvironmentHelper.cs
│ │ ├── EolMessages.cs
│ │ ├── ExtensionsHelper.cs
│ │ ├── GitHelpers.cs
│ │ ├── GlobalCoreToolsSettings.cs
│ │ ├── HostHelpers.cs
│ │ ├── KuduLiteDeploymentHelpers.cs
│ │ ├── LanguageWorkerHelper.cs
│ │ ├── NetworkHelpers.cs
│ │ ├── NodeJSHelpers.cs
│ │ ├── NpmHelper.cs
│ │ ├── PlatformHelper.cs
│ │ ├── PowerShellHelper.cs
│ │ ├── ProgrammingModelHelper.cs
│ │ ├── ProjectHelpers.cs
│ │ ├── PublishHelper.cs
│ │ ├── PythonHelpers.cs
│ │ ├── RetryHelper.cs
│ │ ├── ScriptHostHelpers.cs
│ │ ├── SecurityHelpers.cs
│ │ ├── SelectionMenuHelper.cs
│ │ ├── StacksApiHelper.cs
│ │ ├── TargetFrameworkHelper.cs
│ │ ├── TelemetryHelpers.cs
│ │ ├── VersionHelper.cs
│ │ ├── WorkerRuntimeLanguageHelper.cs
│ │ └── ZipHelper.cs
│ ├── Interfaces
│ │ ├── IAction.cs
│ │ ├── IContextHelpManager.cs
│ │ ├── IDurableManager.cs
│ │ ├── IFunctionsLocalServer.cs
│ │ ├── IHostingPlatform.cs
│ │ ├── IInitializableAction.cs
│ │ ├── IProcessInfo.cs
│ │ ├── IProcessManager.cs
│ │ ├── ISecretsManager.cs
│ │ ├── ISettings.cs
│ │ └── ITemplatesManager.cs
│ ├── Kubernetes
│ │ ├── FuncKeys
│ │ │ ├── FuncAppKeysHelper.cs
│ │ │ └── KeyBasedDictionaryComparer.cs
│ │ ├── KEDA
│ │ │ ├── IKedaResource.cs
│ │ │ ├── KedaHelper.cs
│ │ │ ├── KedaResourceBase.cs
│ │ │ ├── KedaResourceFactory.cs
│ │ │ ├── KedaVersion.cs
│ │ │ ├── Models
│ │ │ │ └── ScaledObjectTriggerV1Alpha1.cs
│ │ │ ├── V1
│ │ │ │ ├── KedaV1Resource.cs
│ │ │ │ └── Models
│ │ │ │ ├── ScaledObjectKedaV1.cs
│ │ │ │ ├── ScaledObjectScaleTargetRefV1Alpha1.cs
│ │ │ │ └── ScaledObjectSpecV1Alpha1.cs
│ │ │ └── V2
│ │ │ ├── KedaV2Resource.cs
│ │ │ └── Models
│ │ │ ├── ScaledObjectKedaV2.cs
│ │ │ ├── ScaledObjectScaleTargetRefV1Alpha1.cs
│ │ │ └── ScaledObjectSpecV1Alpha1.cs
│ │ ├── KubectlHelper.cs
│ │ ├── KubernetesHelpers.cs
│ │ └── Models
│ │ ├── DurableTaskConfig.cs
│ │ ├── FunctionsDeploymentParts.cs
│ │ ├── IKubernetesResource.cs
│ │ ├── IKubernetesSpec.cs
│ │ ├── Knative
│ │ │ └── KnativeService.cs
│ │ ├── Kubernetes
│ │ │ ├── BaseKubernetesResource.cs
│ │ │ ├── ClusterRoleBindingV1.cs
│ │ │ ├── ConfigMapV1.cs
│ │ │ ├── ContainerV1.cs
│ │ │ ├── CustomResourceDefinitionV1Beta1.cs
│ │ │ ├── DeploymentV1Apps.cs
│ │ │ ├── ObjectMetadataV1.cs
│ │ │ ├── PodV1.cs
│ │ │ ├── RoleBindingV1.cs
│ │ │ ├── RoleV1.cs
│ │ │ ├── SearchResultV1.cs
│ │ │ ├── SecretsV1.cs
│ │ │ ├── SelectorV1.cs
│ │ │ ├── ServiceAccountV1.cs
│ │ │ └── ServiceV1.cs
│ │ ├── SerializationOptions.cs
│ │ └── TriggersPayload.cs
│ ├── Models
│ │ ├── DeploymentLogResponse.cs
│ │ └── DeploymentResponse.cs
│ ├── NativeMethods
│ │ ├── ConsoleNativeMethods.cs
│ │ ├── EnvironmentNativeMethods.cs
│ │ └── ProcessNativeMethods.cs
│ ├── npm
│ │ ├── assets
│ │ │ └── azure-functions-logo-color-raster.png
│ │ ├── lib
│ │ │ ├── copy-metadata.js
│ │ │ ├── install.js
│ │ │ └── main.js
│ │ ├── npm-shrinkwrap.json
│ │ └── package.json
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── runtimeconfig.template.json
│ ├── Secrets
│ │ └── UserSecretsConfigurationBuilder.cs
│ ├── StacksApi
│ │ ├── FlexFunctionsStacks.cs
│ │ └── FunctionsStacks.cs
│ ├── StaticResources
│ │ ├── bundleConfig.json
│ │ ├── bundleConfigNodeV4.json
│ │ ├── bundleConfigPyStein.json
│ │ ├── customHandlerConfig.json
│ │ ├── Dockerfile.csx.dotnet
│ │ ├── Dockerfile.custom
│ │ ├── Dockerfile.dotnet
│ │ ├── Dockerfile.dotnet7Isolated
│ │ ├── Dockerfile.dotnet8Isolated
│ │ ├── Dockerfile.dotnetIsolated
│ │ ├── Dockerfile.java11
│ │ ├── Dockerfile.java8
│ │ ├── Dockerfile.node14
│ │ ├── Dockerfile.node16
│ │ ├── Dockerfile.node18
│ │ ├── Dockerfile.powershell7
│ │ ├── Dockerfile.powershell7.2
│ │ ├── Dockerfile.python3.10
│ │ ├── Dockerfile.python3.11
│ │ ├── Dockerfile.python3.7
│ │ ├── Dockerfile.python3.8
│ │ ├── Dockerfile.python3.9
│ │ ├── Dockerfile.typescript
│ │ ├── Dockerfile.typescript.node18
│ │ ├── dockerignore
│ │ ├── ExtensionsProj.csproj.template
│ │ ├── funcignore
│ │ ├── function_app.py.template
│ │ ├── getting_started_python_function.md
│ │ ├── gitignore
│ │ ├── host.json
│ │ ├── Javascript-BlobTrigger-help.txt
│ │ ├── Javascript-CosmosDBTrigger-help.txt
│ │ ├── Javascript-EntityTrigger-help.txt
│ │ ├── Javascript-EventGridTrigger-help.txt
│ │ ├── Javascript-EventHubTrigger-help.txt
│ │ ├── Javascript-HttpTrigger-help.txt
│ │ ├── Javascript-OrchestrationTrigger-help.txt
│ │ ├── Javascript-ServiceBusQueueTrigger-help.txt
│ │ ├── Javascript-ServiceBusTopicTrigger-help.txt
│ │ ├── Javascript-StorageQueueTrigger-help.txt
│ │ ├── Javascript-TimerTrigger-help.txt
│ │ ├── keda-v1.yaml
│ │ ├── keda-v2.yaml
│ │ ├── local.settings.json.template
│ │ ├── managedDependenciesConfig.json
│ │ ├── NewTemplate-userPrompts.json
│ │ ├── node-v4-templates.json
│ │ ├── package-js.json
│ │ ├── package-js-v4.json
│ │ ├── package-ts.json
│ │ ├── package-ts-v4.json
│ │ ├── print-functions.sh
│ │ ├── profile.ps1
│ │ ├── python_docker_build.sh
│ │ ├── Python-HttpTrigger-help.txt
│ │ ├── Python-TimerTrigger-help.txt
│ │ ├── requirements.psd1
│ │ ├── requirements.txt
│ │ ├── stacks.json
│ │ ├── StaticResources.cs
│ │ ├── templatesv2.json
│ │ ├── tsconfig.json
│ │ ├── Typescript-BlobTrigger-help.txt
│ │ ├── Typescript-CosmosDBTrigger-help.txt
│ │ ├── Typescript-EntityTrigger-help.txt
│ │ ├── Typescript-EventGridTrigger-help.txt
│ │ ├── Typescript-EventHubTrigger-help.txt
│ │ ├── Typescript-HttpTrigger-help.txt
│ │ ├── Typescript-OrchestrationTrigger-help.txt
│ │ ├── Typescript-ServiceBusQueueTrigger-help.txt
│ │ ├── Typescript-ServiceBusTopicTrigger-help.txt
│ │ ├── Typescript-StorageQueueTrigger-help.txt
│ │ ├── Typescript-TimerTrigger-help.txt
│ │ ├── vscode.extensions.json
│ │ └── ziptofs.sh
│ ├── Telemetry
│ │ ├── DockerContainerDetectorForTelemetry.cs
│ │ ├── ExternalTelemetryProperties.cs
│ │ ├── IDockerContainerDetector.cs
│ │ ├── ITelemetry.cs
│ │ ├── MacAddressGetter.cs
│ │ ├── PersistenceChannel
│ │ │ ├── BaseStorageService.cs
│ │ │ ├── FixedSizeQueue.cs
│ │ │ ├── FlushManager.cs
│ │ │ ├── PersistenceChannel.cs
│ │ │ ├── PersistenceChannelDebugLog.cs
│ │ │ ├── PersistenceTransmitter.cs
│ │ │ ├── Sender.cs
│ │ │ ├── SnapshottingCollection.cs
│ │ │ ├── SnapshottingDictionary.cs
│ │ │ ├── StorageService.cs
│ │ │ └── StorageTransmission.cs
│ │ ├── Sha256Hasher.cs
│ │ ├── TelemetryCommonProperties.cs
│ │ ├── Telemetry.cs
│ │ └── TelemetryEvent.cs
│ ├── TriggerTypes.cs
│ └── TypeAttributePair.cs
├── test
│ └── Azure.Functions.Cli.Tests
│ ├── ActionsTests
│ │ ├── ActionTestsBase.cs
│ │ ├── ResolveActionTests.cs
│ │ └── StartHostActionTests.cs
│ ├── app.config
│ ├── ApplicationInsights.config
│ ├── Azure.Functions.Cli.Tests.csproj
│ ├── AzureHelperTests.cs
│ ├── ColoredConsoleLoggerTests.cs
│ ├── CommandCheckerFacts.cs
│ ├── E2E
│ │ ├── AzureResourceManagers
│ │ │ ├── BaseAzureResourceManager.cs
│ │ │ ├── Commons
│ │ │ │ ├── FunctionApp.cs
│ │ │ │ ├── FunctionAppLocation.cs
│ │ │ │ ├── FunctionAppOs.cs
│ │ │ │ ├── FunctionAppRuntime.cs
│ │ │ │ ├── FunctionAppSku.cs
│ │ │ │ ├── ListKeysResponse.cs
│ │ │ │ ├── ServerFarmPropertiesObject.cs
│ │ │ │ ├── ServerFarmSkuObject.cs
│ │ │ │ ├── StorageAccountKey.cs
│ │ │ │ └── TestArgResponse.cs
│ │ │ ├── FunctionAppManager.cs
│ │ │ ├── MultiOsResourcesManager.cs
│ │ │ ├── ServerFarmManager.cs
│ │ │ └── StorageAccountManager.cs
│ │ ├── BaseE2ETest.cs
│ │ ├── CreateFunctionTests.cs
│ │ ├── DeploymentTests.cs
│ │ ├── DurableTests.cs
│ │ ├── E2ETestConstants.cs
│ │ ├── Helpers
│ │ │ ├── CliTester.cs
│ │ │ ├── DirectoryResult.cs
│ │ │ ├── DurableHelper.cs
│ │ │ ├── FileResult.cs
│ │ │ ├── RunConfiguration.cs
│ │ │ └── TestConditions.cs
│ │ ├── InitTests.cs
│ │ ├── ListFunctionsTests.cs
│ │ ├── PackFunctionTests.cs
│ │ ├── SettingsTests.cs
│ │ └── StartTests.cs
│ ├── ExtensionBundleHelperTests.cs
│ ├── Extensions.cs
│ ├── ExtensionsTests
│ │ ├── ExtensionBundleTests.cs
│ │ ├── GenericExtensionsTests.cs
│ │ ├── InstallExtensionsTests.cs
│ │ ├── ProcessExtensionsTests.cs
│ │ ├── StringExtensionsTests.cs
│ │ ├── TaskExtensionsTests.cs
│ │ └── UriExtensionsTests.cs
│ ├── GitIgnoreParserTests.cs
│ ├── HostHelpersTests.cs
│ ├── KedaHelperUnitTests.cs
│ ├── KedaV2ResourceTests.cs
│ ├── KeyVaultReferencesManagerTests.cs
│ ├── KubernetesHelperUnitTests.cs
│ ├── LoggingFilterHelperTests.cs
│ ├── PublishActionTests.cs
│ ├── PublishHelperTests.cs
│ ├── PythonHelperTests.cs
│ ├── RequirementsTxtParserTests.cs
│ ├── Resources
│ │ └── DurableTestFolder
│ │ ├── Counter.cs
│ │ ├── durablefx.csproj
│ │ ├── host.json
│ │ └── local.settings.json
│ ├── TestUtils.cs
│ ├── UtilitiesTests.cs
│ └── xunit.runner.json
├── tools
│ ├── go
│ │ └── gozip
│ │ ├── go.mod
│ │ └── main.go
│ └── python
│ └── packapp
│ └── __main__.py
├── uploadContentToStorageAccount.ps1
└── validateWorkerVersions.ps1
68 directories, 460 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论