文章目录

  • 简介
  • 检查特征
    • RequiresFeature属性
    • 关于拦截
    • IFeatureChecker服务
      • IsEnabledAsync
      • GetOrNullAsync
      • 扩展方法
  • 定义特征
    • FeatureDefinitionProvider
    • 其他特征属性
    • 特征管理模式
    • 子特征
    • 更改从属模块的特征定义
  • 在客户端检查特征
    • ASP.NET Core MVC / Razor页面用户界面
    • Angular UI
  • 特征管理
  • 高级主题
    • 特征值提供程序
    • 特征仓库

简介

ABP特征系统用于在运行时启用禁用更改应用程序特征的行为

特征的运行时值通常是一个boolean值,例如true(启用)或false(禁用)。但是,您可以获取/设置任何类型的特征值。

特征系统最初旨在控制多租户应用程序中的租户特征。但是,它是可扩展的,并且能够在任何条件下确定特征。

特征系统是通过Volo.Abp.Features NuGet包实现的。大多数情况下,您不需要手动安装它,因为它已随应用程序启动模板一起预安装。

注意:此文基于版本3.1时的文档进行翻译的

检查特征

在解释定义特征之前,让我们看一下如何在应用程序代码中检查特征值。

RequiresFeature属性

[RequiresFeature]属性(在Volo.Abp.Features名称空间中定义)用于声明性地检查特征是否true(启用)。这是这些boolean特征的有用快捷方式。

示例:检查是否启用了“PDF报告”特征

public class ReportingAppService : ApplicationService, IReportingAppService
{[RequiresFeature("MyApp.PdfReporting")]public async Task<PdfReportResultDto> GetPdfReportAsync(){//TODO...}
}
  • RequiresFeature(...)只需获取特征名称即可检查它是否已启用。如果未启用,则将抛出授权异常,并将适当的响应返回给客户端。

  • [RequiresFeature]可以用于方法。当您将它用于一个类时,该类的所有方法都需要给定的特征。

  • RequiresFeature可能会获得多个特征名称,例如[RequiresFeature("Feature1", "Feature2")]。在这种情况下,ABP检查是否启用了任何特征。使用RequiresAll选项,例如[RequiresFeature("Feature1", "Feature2", RequiresAll = true)]强制检查要启用的所有特征。

  • 方法或类支持多次使用[RequiresFeature]属性。在这种情况下,ABP check会检查所有它们。

特征名称可以是任意字符串。对于某个特征,它应该是唯一的。

关于拦截

ABP框架使用拦截系统使[RequiresFeature]属性正常工作。因此,它可以与从依赖注入注入的任何类(应用程序服务,控制器…)一起使用。

但是,为了使它起作用,应该遵循一些规则

  • 如果您不是通过接口(如IMyService注入服务,则该服务的方法必须为virtual。否则,动态代理/拦截系统将无法工作。

  • 仅拦截async方法(返回一个TaskTask<T>的方法)。

控制器和razor页面方法有一个例外。它们不需要上述规则,因为在这种情况下,ABP Framework使用动作/页面过滤器来实现特征检查。

IFeatureChecker服务

IFeatureChecker允许检查您的应用程序代码中的特征。

IsEnabledAsync

如果启用给定特征则返回true。因此,您可以有条件地执行业务流程。

示例:检查是否启用了“PDF报告”特征

public class ReportingAppService : ApplicationService, IReportingAppService
{private readonly IFeatureChecker _featureChecker;public ReportingAppService(IFeatureChecker featureChecker){_featureChecker = featureChecker;}public async Task<PdfReportResultDto> GetPdfReportAsync(){if (await _featureChecker.IsEnabledAsync("MyApp.PdfReporting")){//TODO...}else{//TODO...   }}
}

IsEnabledAsync 通过重载在一个方法调用中检查多个特征。

GetOrNullAsync

获取特征的当前值。此方法返回string,因此你可以通过转换string来存储任何类型的值。

示例:检查允许的最大产品数量

public class ProductController : AbpController
{private readonly IFeatureChecker _featureChecker;public ProductController(IFeatureChecker featureChecker){_featureChecker = featureChecker;}public async Task<IActionResult> Create(CreateProductModel model){var currentProductCount = await GetCurrentProductCountFromDatabase();//GET THE FEATURE VALUEvar maxProductCountLimit =await _featureChecker.GetOrNullAsync("MyApp.MaxProductCount");if (currentProductCount >= Convert.ToInt32(maxProductCountLimit)){throw new BusinessException("MyApp:ReachToMaxProductCountLimit",$"You can not create more than {maxProductCountLimit} products!");}//TODO: Create the product in the database...}private async Task<int> GetCurrentProductCountFromDatabase(){throw new System.NotImplementedException();}
}

本示例使用数字值作为SaaS应用程序中用户/租户的特征限制产品计数。

您可以使用GetAsync方法的一般重载,而不是将值手动转换为int

var maxProductCountLimit = await _featureChecker.GetAsync<int>("MyApp.MaxProductCount");

扩展方法

IFeatureChecker接口有一些有用的扩展方法。

  • Task<T> GetAsync<T>(string name, T defaultValue = default):用于获取具有给定类型T的特征值。允许指定defaultValue特征值为null时返回的值。

  • CheckEnabledAsync(string name):检查是否启用了给定特征。如果特征不为true(启用),则抛出AbpAuthorizationException

定义特征

应该定义一个特征以能够对其进行检查。

FeatureDefinitionProvider

创建一个继承FeatureDefinitionProvider来定义权限的类。

示例:定义权限

using Volo.Abp.Features;namespace FeaturesDemo
{public class MyFeatureDefinitionProvider : FeatureDefinitionProvider{public override void Define(IFeatureDefinitionContext context){var myGroup = context.AddGroup("MyApp");myGroup.AddFeature("MyApp.PdfReporting", defaultValue: "false");myGroup.AddFeature("MyApp.MaxProductCount", defaultValue: "10");}}
}

ABP自动发现此类并注册特征。无需其他配置。

此类通常在Application.Contracts解决方案的项目中创建。

  • Define方法中,您首先需要为您的应用程序/模块添加特征组或获取现有的特征组,然后将特征添加至该组。

  • 第一个特征,命名为MyApp.PdfReporting,是一个boolean特征以false作为默认值。

  • 第二个特征名为MyApp.MaxProductCount,是数字特征,默认值为10

如果没有为当前用户/租户设置其他值,则使用默认值。

其他特征属性

这些最低限度的定义足以使特征系统正常运行,但是您可以为特征指定可选属性

  • DisplayName:可本地化的字符串,将用于在用户界面上显示特征名称。

  • Description:较长的可本地化文字,用于描述特征。

  • ValueType:特征值的类型。可以是实现IStringValueType的类。内置类型:

    • ToggleStringValueType:用于定义true/falseon/offenabled/disabled样式特征。UI上显示一个复选框。

    • FreeTextStringValueType:用于定义自由文本值。UI上显示一个文本框。

    • SelectionStringValueType:用于强制从列表中选择值。UI上显示一个下拉列表。

  • IsVisibleToClients(默认值:true):设置为false可向客户端(浏览器)隐藏此特征的值。与客户共享值可帮助他们根据特征值有条件地显示/隐藏/更改UI部件。

  • Properties:字典,用于设置/获取与此特征相关的任意键值对。这可能是定制的重点。

因此,根据这些描述,最好定义这些特征,如下所示:

using FeaturesDemo.Localization;
using Volo.Abp.Features;
using Volo.Abp.Localization;
using Volo.Abp.Validation.StringValues;namespace FeaturesDemo
{public class MyFeatureDefinitionProvider : FeatureDefinitionProvider{public override void Define(IFeatureDefinitionContext context){var myGroup = context.AddGroup("MyApp");myGroup.AddFeature("MyApp.PdfReporting",defaultValue: "false",displayName: LocalizableString.Create<FeaturesDemoResource>("PdfReporting"),valueType: new ToggleStringValueType());myGroup.AddFeature("MyApp.MaxProductCount",defaultValue: "10",displayName: LocalizableString.Create<FeaturesDemoResource>("MaxProductCount"),valueType: new FreeTextStringValueType(new NumericValueValidator(0, 1000000)));}}
}
  • FeaturesDemoResource是此示例代码中的项目名称。有关本地化系统的详细信息,请参见本地化文档。

  • 第一个特征设置为ToggleStringValueType,第二个特征设置为FreeTextStringValueType,它带有一个数值验证器,允许从01,000,000的值。

记住要在本地化文件中定义本地化键:

"PdfReporting": "PDF Reporting",
"MaxProductCount": "Maximum number of products"

有关本地化系统的详细信息,请参见本地化文档。

特征管理模式

该应用程序启动模板随附了租户管理和特征管理模块。

每当您定义新特征时,它都会在特征管理模式下可用。要打开此模式,请导航至租户管理页面,然后为租户选择Features操作(如果还没有租户,则创建一个新的租户):

[外链图片转存中…(img-D47Bb0uc-1599985883477)]

该动作将打开一个模式来管理所选租户的特征值:

[外链图片转存中…(img-G7IAOqIn-1599985883483)]

因此,您可以启用、禁用和设置租户的值。每当此租户的用户使用该应用程序时,将使用这些值。

请参阅下面的 特征管理 部分,以了解有关管理特征的更多信息。

子特征

特征可能具有子特征。如果要创建仅在启用另一个特征后才可选择的特征,则此特征特别有用。

示例:定义子特征

using FeaturesDemo.Localization;
using Volo.Abp.Features;
using Volo.Abp.Localization;
using Volo.Abp.Validation.StringValues;namespace FeaturesDemo
{public class MyFeatureDefinitionProvider : FeatureDefinitionProvider{public override void Define(IFeatureDefinitionContext context){var myGroup = context.AddGroup("MyApp");var reportingFeature = myGroup.AddFeature("MyApp.Reporting",defaultValue: "false",displayName: LocalizableString.Create<FeaturesDemoResource>("Reporting"),valueType: new ToggleStringValueType());reportingFeature.CreateChild("MyApp.PdfReporting",defaultValue: "false",displayName: LocalizableString.Create<FeaturesDemoResource>("PdfReporting"),valueType: new ToggleStringValueType());reportingFeature.CreateChild("MyApp.ExcelReporting",defaultValue: "false",displayName: LocalizableString.Create<FeaturesDemoResource>("ExcelReporting"),valueType: new ToggleStringValueType());}}
}

上面的示例定义了具有两个子项的Reporting特征PDF ReportingExcel Reporting

更改从属模块的特征定义

FeatureDefinitionProvider派生的类(就像上面的示例一样)也可以获取现有的权限定义(由依赖模块定义)并更改其定义。

示例:操纵现有特征定义

var someGroup = context.GetGroupOrNull("SomeModule");
var feature = someGroup.Features.FirstOrDefault(f => f.Name == "SomeFeature");
if (feature != null)
{feature.Description = ...feature.CreateChild(...);
}

在客户端检查特征

除非您在特征定义上设置IsVisibleToClientsfalse,否则特征值也可在客户端使用。特征值从应用程序配置API公开,可以通过UI上的某些服务使用。

ASP.NET Core MVC / Razor页面用户界面

使用abp.features API获取特征值。

示例:在JavaScript代码中获取特征值

var isEnabled = abp.features.values["MyApp.ExcelReporting"] === "true";
var count = abp.features.values["MyApp.MaxProductCount"];

Angular UI

请参阅Angular UI 的特征文档。

特征管理

特征管理通常由管理员用户使用特征管理模式完成:

[外链图片转存中…(img-RhhSG1XH-1599985883488)]

该模式可用于相关实体,例如多租户应用程序中的租户。要打开它,请导航到“租户管理”页面(对于多租户应用程序),单击“租户”左侧的“ 操作”按钮,然后选择“特征”操作。

如果需要通过代码管理特征,请注入IFeatureManager服务。

示例:为租户启用PDF报告

public class MyService : ITransientDependency
{private readonly IFeatureManager _featureManager;public MyService(IFeatureManager featureManager){_featureManager = featureManager;}public async Task EnablePdfReporting(Guid tenantId){await _featureManager.SetForTenantAsync(tenantId,"MyApp.PdfReporting",true.ToString());}
}

IFeatureManager由特征管理模块定义。它预装有应用程序启动模板。有关更多信息,请参阅特征管理模块文档。

高级主题

特征值提供程序

特征系统是可扩展的。任何派生自FeatureValueProvider(或实现IFeatureValueProvider)的类都可以对特征系统做出贡献。值提供程序负责获取给定特征的当前值

特征值提供程序是逐一执行的。如果其中一个返回非空值,则使用此特征值,并且不执行其他提供程序。

有三个预定义的值提供程序,它们按给定的顺序执行:

  • TenantFeatureValueProvider尝试获取是否为当前租户显式设置了特征值。

  • EditionFeatureValueProvider尝试获取当前版本的特征值。版本ID是从当前的主体标识(ICurrentPrincipalAccessor)和声明名称editionid(定义为AbpClaimTypes.EditionId的常数)获得的。租户管理模块未实现版本。您可以自己实现它,也可以考虑使用ABP 商业版 的SaaS模块。

  • DefaultValueFeatureValueProvider 获取特征的默认值。

您可以通过继承FeatureValueProvider编写自己的提供程序。

示例:使用“SystemAdmin”作为“User_Type”声明值为用户启用所有特征

using System.Threading.Tasks;
using Volo.Abp.Features;
using Volo.Abp.Security.Claims;
using Volo.Abp.Validation.StringValues;namespace FeaturesDemo
{public class SystemAdminFeatureValueProvider : FeatureValueProvider{public override string Name => "SA";private readonly ICurrentPrincipalAccessor _currentPrincipalAccessor;public SystemAdminFeatureValueProvider(IFeatureStore featureStore,ICurrentPrincipalAccessor currentPrincipalAccessor): base(featureStore){_currentPrincipalAccessor = currentPrincipalAccessor;}public override Task<string> GetOrNullAsync(FeatureDefinition feature){if (feature.ValueType is ToggleStringValueType &&_currentPrincipalAccessor.Principal?.FindFirst("User_Type")?.Value == "SystemAdmin"){return Task.FromResult("true");}return null;}}
}

如果提供程序返回null,则执行下一个提供程序。

定义提供程序后,应将其添加到AbpFeatureOptions,如下所示:

Configure<AbpFeatureOptions>(options =>
{options.ValueProviders.Add<SystemAdminFeatureValueProvider>();
});

在您的模块类的ConfigureServices中使用此代码。

特征仓库

IFeatureStore是唯一需要从持久性源(通常是数据库系统)读取特征值的接口。特征管理模块将实现它并预安装在应用程序启动模板中。有关更多信息,请参阅特征管理模块文档。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Angualr2 之 angular模块

    用NgModule来定义应用中的模块。 Angular 模块是带有 NgModule 装饰器函数的。 NgModule 接收一个元数据对象&#xff0c;该对象告诉 Angular 如何编译和运行模块代码。 它标记出该模块拥有的组件、指令和管道&#xff0c; 并把它们的一部分公开出去&#xff0c;以便外部组件…...

    2024/4/21 5:01:47
  2. ABP .Net Core API和Angular前端APP集成部署

    前言&#xff1a;在ABP官网&#xff08;https://aspnetboilerplate.com&#xff09;生成的.Net Core Angular项目前后端是两个独立的项目&#xff0c;我们可以分开部署&#xff0c;也可以将前端和Web API一起集成部署&#xff0c;我们今天就来尝试一下集成部署。 一 前端打包确…...

    2024/4/21 5:01:44
  3. 1. 初识ABP

    初识ABP ABP框架目前版本ASP.NET BoilerplateABP FrameworkABP 框架初始化使用ABP CLI初始化ABP项目ABP框架 ABP是用于创建现代化Web应用程序的完整体系结构和强大的基础架构&#xff0c;以模块化的方式进行开发&#xff0c;所有模块以nuget包的方式提供&#xff0c;开箱即用&…...

    2024/4/21 5:01:43
  4. abp使用redis缓存

    利用NuGet程序包管理程序&#xff0c;添加 Abp.RedisCache 在 xxxx.Web.Core 项目的Module中注册Redis 在刚才上面这个类文件头部注册Redis组件 在Web.config中添加Redis连接字符串及数据库配置项。我这项目是用的abpangular (.net core)的模板&#xff0c;我发现在xxxxx.Web.H…...

    2024/4/21 5:01:42
  5. 【Angular】切换网页主题颜色

    1.Angular代码 scss代码&#xff1a; .theme-wrapper {--cardBackgroundColor: #0094ff;--cardColor: #ffffff; }$variables: (--cardColor: var(--cardColor),--cardBackgroundColor: var(--cardBackgroundColor), );function var($variable) {return map-get($variables, $…...

    2024/4/21 5:01:41
  6. angular-安装与使用以及遇到的问题

    前提环境 1. 安装node.js&#xff1a;命令行内输入node -v检查 2. 安装npm/cnpmnpm install -g cnpm --registryhttps://registry.npm.taobao.org检测是否安装成功 node -v npm -v安装脚手架 使用npm/cnpm命令安装angular/cli 推荐使用第二个 cnpm npm install -g angular/…...

    2024/4/21 5:01:40
  7. ABP框架—从项目下载到运行详细讲解

    ABP的学习网站我目前是使用两个&#xff0c;两个网站的文档内容有些是互补的&#xff0c;可以帮助我们更详细的学习 1. https://www.abp.io/ 2. https://aspnetboilerplate.com/ 不过从项目下载到运行这一段我更推荐第二个&#xff0c;因为我按照第一个网站下载项目失败了…...

    2024/4/21 5:01:39
  8. 使用.net core ABP和Angular模板构建博客管理系统(实现自己的业务逻辑)

    之前写到使用.net core ABP 和Angular模板构建项目&#xff0c;创建后端服务。文章地址&#xff1a;http://www.jianshu.com/p/fde1ea20331f 创建完成后的api基本是不能用的&#xff0c;现在根据我们自己的业务逻辑来实现后端服务。 部分业务逻辑流程图 创建Dto并添加数据校验…...

    2024/4/21 5:01:38
  9. 从ASP.NET Boilerplate v5 +到ABP框架的迁移

    文章目录介绍我应该迁移吗&#xff1f;那ASP.NET Zero呢&#xff1f;ASP.NET MVC 5.x项目迁移进度创建解决方案关于预构建模块领域层聚合根和实体复合主键聚合根迁移现有实体文献资料储存库注入存储库受限存储库GetAll()与IQueryableFirstOrDefault(predicate), Single()...方法…...

    2024/4/21 5:01:37
  10. angular学习(一)proxy代理

    1.angular项目根目录下创建proxy.conf.json文件 {"/api":{"target":"http://192.168.8.26:8300","secure":false,"logLevel":"debug","changeOrigin":true,"pathRewrite":{"^/api"…...

    2024/4/20 5:18:12
  11. abp core Oracle,ABP框架 v3.0 已发布!

    [ DynamicStringLength(typeof(CreateBookDto), nameof(MaxNameLength))]publicstringName { get; set; }}DynamicStringLength 通过类的 类型和这个类的一个静态属性的 名字来读取最大长度(也有一个最小长度的选项, 就像 StringLength ).这样就允许你从配置中读取最大值并且在…...

    2024/4/21 5:01:35
  12. Vue.js与Angular、React、Ember、Polymer、Riot框架的对比

    原文地址&#xff1a;http://vuejs.org.cn/guide/comparison.html 对比其它框架 Angular 选择 Vue 而不选择 Angular&#xff0c;有下面几个原因&#xff0c;当然不是对每个人都适合&#xff1a; 在 API 与设计两方面上 Vue.js 都比 Angular 简单得多&#xff0c;因此你可以快…...

    2024/4/26 3:19:52
  13. Javascript实现统一的表单验证

    在许多项目中&#xff0c;表单验证都是不可或缺的一环&#xff0c;比如注册、登录以及上传资料等等&#xff0c;但是每个人写代码的风格不一&#xff0c;如果没有一致而优雅的风格&#xff0c;没有方便的配置&#xff0c;代码很容易变得混乱&#xff0c;所以本文将用较统一的方…...

    2024/4/21 5:01:33
  14. 走进AngularJs(九)表单及表单验证

    年底了越来越懒散&#xff0c;AngularJs的学习落了一段时间&#xff0c;博客最近也没更新。惭愧~前段时间有试了一下用yeoman构建Angular项目&#xff0c;感觉学的差不多了想做个项目练练手&#xff0c;谁知遇到了一系列问题。yeoman是基于node.js的一套工具包&#xff0c;由于…...

    2024/4/21 5:01:33
  15. angular1.x之表单验证与ngMessages

    刚接触angular1.x很多经常用到的ngMessages的地方&#xff0c;这里顺便记一下&#xff0c;效果如下图&#xff1a; 如果引用了angular-messages.js报如下错误&#xff0c;说明你的angular.js和angular-messages.js版本不匹配&#xff0c;需要找到能用的版本。 可在这里在线测试…...

    2024/4/21 5:01:32
  16. angular 表单验证(一) 响应式表单验证

    一、 1. html: <input nz-input id"name" formControlName"name" required> <div *ngIf"addForm.get(name).invalid && (addForm.get(name).dirty || addForm.get(name).touched)" class"alert alert-danger">&l…...

    2024/4/20 8:19:32
  17. AngularJS实现表单验证

    AngularJS提供了很方便的表单验证功能&#xff0c;在此记录一番。 首先从下面这段代码开始 复制代码 代码如下:<form ng-app"myApp" ng-controller"validationController" name"mainForm" novalidate> <p>Email: <input type&qu…...

    2024/4/20 19:38:07
  18. html5 验证 提示 语言,HTML5 表单验证失败的提示语问题

    前端的童鞋在写页面时, 都不可避免的总会踩到 表单验证 这个坑. 这时候, 我们就要跪了, 因为要写一堆 js 来检查. 但是自从 H5 出现后, 很多常见的 表达验证 , 它都已经帮我们实现了, 让我们减轻了很多负担, 本文我们就和大家分享HTML5 表单验证失败的提示语问题。邮箱地址验证…...

    2024/4/20 19:38:06
  19. Angular自定义表单验证

    前端表单验证 为年龄输入框添加了两个验证&#xff0c;并分情况填写了提示语 <form nz-form [formGroup]"validateForm"><nz-form-item><nz-form-label [nzSpan]"3" nzRequired>年龄</nz-form-label><nz-form-control [nzSpan]…...

    2024/4/20 6:43:51
  20. angular中表单的使用

    这两天写了个登录注册的页面&#xff0c;其中表单的提示与验证是用angular和h5的属性来写的&#xff0c;由于是ionic项目&#xff0c;所以里面有一些ionic中的css类&#xff0c;话不多说&#xff0c;上代码 html代码如下&#xff1a;<form name"sign"><div …...

    2024/4/21 5:01:30

最新文章

  1. 四:物联网ARM开发

    一&#xff1a;ARM体系结构概述 1&#xff1a;控制外设led灯还有一些按键这些就要用到gpio&#xff0c;采集传感器的数据需要adc进行转化数据格式&#xff0c;特殊的外设和传感器是通过特殊的协议接口去进行连接的比如一些轴传感器和主控器的连接是通过spi&#xff0c;IIC 控制…...

    2024/4/27 5:49:56
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Harmony鸿蒙南向驱动开发-SDIO

    SDIO&#xff08;Secure Digital Input and Output&#xff09;由SD卡发展而来&#xff0c;与SD卡统称为MMC&#xff08;MultiMediaCard&#xff09;&#xff0c;二者使用相同的通信协议。SDIO接口兼容以前的SD卡&#xff0c;并且可以连接支持SDIO接口的其他设备。 运作机制 …...

    2024/4/22 21:14:39
  4. 【APUE】网络socket编程温度采集智能存储与上报项目技术------多路复用

    作者简介&#xff1a; 一个平凡而乐于分享的小比特&#xff0c;中南民族大学通信工程专业研究生在读&#xff0c;研究方向无线联邦学习 擅长领域&#xff1a;驱动开发&#xff0c;嵌入式软件开发&#xff0c;BSP开发 作者主页&#xff1a;一个平凡而乐于分享的小比特的个人主页…...

    2024/4/23 11:39:50
  5. vue中内置指令v-model的作用和常见使用方法介绍以及在自定义组件上支持

    文章目录 一、v-model是什么二、什么是语法糖三、v-model常见的用法1、对于输入框&#xff08;input&#xff09;&#xff1a;2、对于复选框&#xff08;checkbox&#xff09;&#xff1a;3、对于选择框&#xff08;select&#xff09;&#xff1a;4、对于组件&#xff08;comp…...

    2024/4/25 21:37:22
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/26 18:09:39
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/26 20:12:18
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/27 4:00:35
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/25 18:39:22
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/25 18:39:22
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/26 21:56:58
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/25 16:48:44
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/26 16:00:35
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/25 18:39:16
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/26 22:01:59
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/25 2:10:52
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/25 18:39:00
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/25 18:38:58
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/25 18:38:57
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57