「Angular7+NgRx+SSR全家桶」开发QQ音乐
项目说明
现在主要是做React开发,也是使用服务端渲染(DEMO),最近想用Angular写一个项目体验一下TypeScript大法,对比Angular对比React从开发体验上来讲个人觉得更加方便很多东西不需要你自己去单独安装.
线上地址:https://music.soscoon.com
Github: https://github.com/Tecode/angular-music-player/tree/QQ-music
目前还在努力开发中,目前完成了80%…
预览图
技术栈
- Angular 7.2.0
- pm2 3.4.1
- better-scroll 1.15.1
- rxjs 6.3.3
- ngrx 7.4.0
- hammerjs 2.0.8
NgRx配置
Actions
和Vuex
,Redux
一样都需要先定义一些actionType,这里举了一个例子
src/store/actions/list.action.ts
import { Action } from '@ngrx/store';export enum TopListActionTypes {LoadData = '[TopList Page] Load Data',LoadSuccess = '[TopList API] Data Loaded Success',LoadError = '[TopList Page] Load Error',
}// 获取数据
export class LoadTopListData implements Action {readonly type = TopListActionTypes.LoadData;
}export class LoadTopListSuccess implements Action {readonly type = TopListActionTypes.LoadSuccess;
}export class LoadTopListError implements Action {readonly type = TopListActionTypes.LoadError;constructor(public data: any) { }
}
合并ActionType
src/store/actions/index.ts
export * from './counter.action';
export * from './hot.action';
export * from './list.action';
export * from './control.action';
Reducers
存储数据管理数据,根据ActionType
修改状态
src/store/reducers/list.reducer.ts
import { Action } from '@ngrx/store';
import { TopListActionTypes } from '../actions';export interface TopListAction extends Action {payload: any,index: number,size: number
}export interface TopListState {loading?: boolean,topList: Array<any>,index?: 1,size?: 10
}const initState: TopListState = {topList: [],index: 1,size: 10
};export function topListStore(state: TopListState = initState, action: TopListAction): TopListState {switch (action.type) {case TopListActionTypes.LoadData:return state;case TopListActionTypes.LoadSuccess:state.topList = (action.payload.playlist.tracks || []).slice(state.index - 1, state.index * state.size);return state;case TopListActionTypes.LoadErrhammerjsor:return state;default:return state;}
}
合并Reducer
src/store/reducers/index.ts
import { ActionReducerMap, createSelector, createFeatureSelector } from '@ngrx/store';//import the weather reducer
import { counterReducer } from './counter.reducer';
import { hotStore, HotState } from './hot.reducer';
import { topListStore, TopListState } from './list.reducer';
import { controlStore, ControlState } from './control.reducer';//state
export interface state {count: number;hotStore: HotState;topListStore: TopListState;controlStore: ControlState;
}//register the reducer functions
export const reducers: ActionReducerMap<state> = {count: counterReducer,hotStore,topListStore,controlStore,
}
Effects
处理异步请求,类似于redux-sage redux-thunk
,下面这个例子是同时发送两个请求,等到两个请求都完成后派遣HotActionTypes.LoadSuccess
type到reducer
中处理数据.
当出现错误时使用catchError
捕获错误,并且派遣new LoadError()
处理数据的状态.
LoadError
export class LoadError implements Action {readonly type = HotActionTypes.LoadError;constructor(public data: any) { }
}
import { Injectable } from '@angular/core';
import { Actions, Effect, ofType } from '@ngrx/effects';
import { map, mergeMap, catchError } from 'rxjs/operators';
import { HotActionTypes, LoadError, LoadSongListError } from '../actions';
import { of, forkJoin } from 'rxjs';
import { HotService } from '../../services';@Injectable()
export class HotEffects {@Effect()loadHotData$ = this.actions$.pipe(ofType(HotActionTypes.LoadData),mergeMap(() =>forkJoin([this.hotService.loopList().pipe(catchError(() => of({ 'code': -1, banners: [] }))),this.hotService.popularList().pipe(catchError(() => of({ 'code': -1, result: [] }))),]).pipe(map(data => ({ type: HotActionTypes.LoadSuccess, payload: data })),catchError((err) => {//call the action if there is an errorreturn of(new LoadError(err["message"]));}))))constructor(private actions$: Actions,private hotService: HotService) { }
}
合并Effect
将多个Effect
文件合并到一起
src/store/effects/hot.effects.ts
import { HotEffects } from './hot.effects';
import { TopListEffects } from './list.effects';export const effects: any[] = [HotEffects, TopListEffects];
export * from './hot.effects';
export * from './list.effects';
注入Effect Reducer
到app.module
src/app/app.module.ts
import { StoreModule } from '@ngrx/store';
import { EffectsModule } from "@ngrx/effects";
import { reducers, effects } from '../store';imports: [...StoreModule.forRoot(reducers),EffectsModule.forRoot(effects),...
],
请求处理
使用HttpClient
post get delate put
请求都支持HttpClient详细说明
src/services/list.service.ts
import { Injectable } from '@angular/core';
import { HttpClient } from "@angular/common/http";@Injectable({providedIn: 'root'
})
export class TopListService {constructor(private http: HttpClient) {}// 轮播图topList() {return this.http.get('/api/top/list?idx=1');}
}
src/services/index.ts
export * from "./hot.service";
export * from "./list.service";
响应拦截器
这里处理异常,对错误信息进行统一捕获,例如未登录全局提示信息,在这里发送请求时在消息头加入Token信息,具体的需要根据业务来作变更.
import { Injectable } from '@angular/core';
import {HttpInterceptor,HttpRequest,HttpResponse,HttpHandler,HttpEvent,HttpErrorResponse
} from '@angular/common/http';
import { Observable, throwError } from 'rxjs';
import { map, catchError } from 'rxjs/operators';@Injectable()
export class HttpConfigInterceptor implements HttpInterceptor {// constructor(public errorDialogService: ErrorDialogService) { }intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {let token: string | boolean = false;// 兼容服务端渲染if (typeof window !== 'undefined') {token = localStorage.getItem('token');}if (token) {request = request.clone({ headers: request.headers.set('Authorization', 'Bearer ' + token) });}if (!request.headers.has('Content-Type')) {request = request.clone({ headers: request.headers.set('Content-Type', 'application/json') });}request = request.clone({ headers: request.headers.set('Accept', 'application/json') });return next.handle(request).pipe(map((event: HttpEvent<any>) => {if (event instanceof HttpResponse) {// console.log('event--->>>', event);// this.errorDialogService.openDialog(event);}return event;}),catchError((error: HttpErrorResponse) => {let data = {};data = {reason: error && error.error.reason ? error.error.reason : '',status: error.status};// this.errorDialogService.openDialog(data);console.log('拦截器捕获的错误', data);return throwError(error);}));}
}
拦截器依赖注入
src/app/app.module.ts
需要把拦截器注入到app.module
才会生效
// http拦截器,捕获异常,加Token
import { HttpConfigInterceptor } from '../interceptor/httpconfig.interceptor';
...providers: [{provide: HTTP_INTERCEPTORS,useClass: HttpConfigInterceptor,multi: true},...],
发送一个请求
项目使用了NgRx,所以我就用NgRx发请求this.store.dispatch(new LoadHotData())
,在Effect
中会接收到type是HotActionTypes.LoadData
,通过Effect
发送请求.
设置hotStore$
为可观察类型,当数据改变时也会发生变化public hotStore$: Observable<HotState>
,详细见以下代码:
到此就完成了数据的请求
import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
import { Store, select } from '@ngrx/store';
import { Observable } from 'rxjs';
import { LoadHotData } from '../../store';
import { HotState } from '../../store/reducers/hot.reducer';@Component({selector: 'app-hot',templateUrl: './hot.component.html',styleUrls: ['./hot.component.less']
})
export class HotComponent implements OnInit {// 将hotStore$设置为可观察类型public hotStore$: Observable<HotState>;public hotData: HotState = {slider: [],recommendList: []};@ViewChild('slider') slider: ElementRef;constructor(private store: Store<{ hotStore: HotState }>) {this.hotStore$ = store.pipe(select('hotStore'));}ngOnInit() {// 发送请求,获取banner数据以及列表数据this.store.dispatch(new LoadHotData());// 订阅hotStore$获取改变后的数据this.hotStore$.subscribe(data => {this.hotData = data;});}
}
服务端渲染
Angular的服务端渲染可以使用angular-cli
创建ng add @nguniversal/express-engine --clientProject 你的项目名称
要和package.json
里面的name
一样
angular-music-player项目已经运行过了不要再运行
ng add @nguniversal/express-engine --clientProject angular-music-player// 打包运行
npm run build:ssr && npm run serve:ssr
运行完了以后你会看见package.json
的scripts
多了一些服务端的打包和运行命令
"scripts": {"ng": "ng","start": "ng serve","build": "ng build","test": "ng test","lint": "ng lint","e2e": "ng e2e","compile:server": "webpack --config webpack.server.config.js --progress --colors","serve:ssr": "node dist/server","build:ssr": "npm run build:client-and-server-bundles && npm run compile:server","build:client-and-server-bundles": "ng build --prod && ng run angular-music-player:server:production","start:pro": "pm2 start dist/server"}
Angular引入hammerjs
hammerjs在引入的时候需要window
对象,在服务端渲染时会报错,打包的时候不会报错,打包完成以后运行npm run serve:ssr
报ReferenceError: window is not defined
.
解决方法使用require
引入
!!记得加上declare var require: any;
不然ts回报错typescript getting error TS2304: cannot find name ' require'
,对于其它的插件需要在服务端注入我们都可以使用这样的方法.
src/app/app.module.ts
declare var require: any;let Hammer = { DIRECTION_ALL: {} };
if (typeof window != 'undefined') {Hammer = require('hammerjs');
}export class MyHammerConfig extends HammerGestureConfig {overrides = <any>{// override hammerjs default configuration'swipe': { direction: Hammer.DIRECTION_ALL }}
}
// 注入hammerjs配置
providers: [
...{provide: HAMMER_GESTURE_CONFIG,useClass: MyHammerConfig}],
...
模块按需加载
创建list-component
ng g c list --module app 或 ng generate component --module app
运行成功以后你会发现多了一个文件夹出来,里面还多了四个文件
创建module
ng generate module list --routing
运行成功会多出两个文件list-routing.module.ts
和list.module.ts
配置src/app/list/list-routing.module.ts
导入ListComponent
配置路由
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ListComponent } from './list.component';const routes: Routes = [{path: '',component: ListComponent}
];@NgModule({imports: [RouterModule.forChild(routes)],exports: [RouterModule]
})
export class ListRoutingModule { }
配置src/app/list/list.module.ts
将ListComponent
注册到NgModule
中,在模板内就可以使用<app-list><app-list>
,在这里要注意一下,当我们使用ng g c list --module app
创建component
时会会帮我们在app.module.ts
中声明一次,我们需要将它删除掉,不然会报错.
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';import { ListRoutingModule } from './list-routing.module';
import { ListComponent } from './list.component';
import { BigCardComponent } from '../common/big-card/big-card.component';
import { ShareModule } from '../share.module';@NgModule({declarations: [ListComponent,BigCardComponent],imports: [CommonModule,ListRoutingModule,ShareModule]
})
export class ListModule { }
配置src/app/list/list.module.ts
没有配置之前是这样的
配置以后
const routes: Routes = [{ path: '', pathMatch: 'full', redirectTo: '/hot' },{ path: 'hot', loadChildren: './hot/hot.module#HotModule' },{ path: 'search', component: SearchComponent },{ path: 'profile', component: ProfileComponent },{ path: 'list', loadChildren: './list/list.module#ListModule' },{ path: 'smile', loadChildren: './smile/smile.module#SmileModule' },
];
打开浏览器查看一下,会看见多了一个list-list-module.js
的文件
到这里按需加载就已经都结束
为什么需要src/app/share.module.ts
这个模块
先看看写的什么
src/app/share.module.ts
声明了一些公共的组件,例如<app-scroll></app-scroll>
,我们要时候的时候需要将这个module
导入到你需要的模块中
src/app/app.module.ts
src/app/list/list.module.ts
src/app/hot/hot.module.ts
都有,可以去拉取源码查看,慢慢的会发现其中的奥秘.
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { HammertimeDirective } from '../directive/hammertime.directive';
import { ScrollComponent } from './common/scroll/scroll.component';
import { SliderComponent } from './common/slider/slider.component';
import { FormatTimePipe } from '../pipes/format-time.pipe';@NgModule({declarations: [ScrollComponent,HammertimeDirective,SliderComponent,FormatTimePipe],imports: [CommonModule],exports: [ScrollComponent,HammertimeDirective,SliderComponent,FormatTimePipe]
})
export class ShareModule { }
跨域处理
这里要说明一下,我在项目中只配置了开发环境的跨域处理,生产环境没有,我使用的是nginx
做的代理.运行npm start
才会成功.
新建文件src/proxy.conf.json
target
要代理的ip或者是网址
pathRewrite
路径重写
{"/api": {"target": "https://music.soscoon.com/api","secure": false,"pathRewrite": {"^/api": ""},"changeOrigin": true}
}
请求例子
songListDetail(data: any) {return this.http.get(`/api/playlist/detail?id=${data.id}`);
}
配置angular.json
重启一下项目跨域就配置成功了
"serve": {"builder": "@angular-devkit/build-angular:dev-server","options": {"browserTarget": "angular-music-player:build","proxyConfig": "src/proxy.conf.json"},"configurations": {"production": {"browserTarget": "angular-music-player:build:production"}}}
到这里先告一段落了,有什么建议或意见欢迎大家提,之后有补充的我再加上.
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- ros2之tello无人机
ros2之tello无人机 cozmo-ros2: https://blog.csdn.net/ZhangRelay/article/details/93510762 turtlesim-ros2:https://zhangrelay.blog.csdn.net/article/details/98754130 turtlebot-ros2: https://blog.csdn.net/ZhangRelay/article/details/867…...
2024/5/6 10:44:40 - Angular面试题
1.angular的数据绑定采用什么机制?详述原理 脏检查机制。 双向数据绑定是 AngularJS 的核心机制之一。当 view 中有任何数据变化时,会更新到 model ,当 model 中数据有变化时,view 也会同步更新,显然,这需要…...
2024/5/4 17:49:30 - Html5web全栈前端开发_angular框架
昵称领取全套angular视频教程一、Typescript typescript简称ts,是js语法的超集,很多js新的语法就借鉴了ts语法。ts是由微软团队维护的 1.1 TS简介 1.1.1 Github地址 https://github.com/Microsoft/typescript 在过去,js的出现是为了解决页面中…...
2024/4/21 2:44:25 - Angular1 Directive开发——基本流程
首先看一个基础示例: 1 var app angular.module("myControlModule"); /*作为基础控件,一个module实现一个指令,方便在其它module中单独引用*/2 app.directive(myControl, [$compile, $controller,3 function($compile, $con…...
2024/4/21 2:44:23 - Angular 输入指令组
很久以前,那时候还不懂写网页。在电视上看到一个外国人说他觉得现在网页太low了,很多东西都只能看,不能改,我要去努力改变这个现状,于是开始学习写代码。 网页可以自己想怎么改就怎么改,确实很有意思。今天…...
2024/4/20 20:18:49 - angular1.x + ES6开发风格记录
angular1.x和ES6开发风格 一、Module ES6有自己的模块机制,所以我们要通过使用ES6的模块机制来淡化ng的框架,使得各业务逻辑层的看不出框架的痕迹,具体的做法是:把各功能模块的具体实现代码独立出来。module机制作为一个壳子&…...
2024/5/6 6:18:29 - [$injector:unpr] Unknown provider:--angular.module()函数解答
在使用angularjs开发项目过程中,无疑遇到这个问题是最棘手的问题: ionic.bundle.js:26799 Error: [$injector:unpr] Unknown provider: fifoServiceProvider <- fifoService <- FifoController http://errors.angularjs.org/1.5.3/$injector/unpr…...
2024/5/6 5:39:09 - Angular使用及其安全问题分析
本文将简单介绍Angular及其使用方法,并重点研究使用过程中的安全问题。 0x00 Angular简介 AngularJS,又称Angular,是由Google开发和维护的一款开源Web应用框架,用于解决单页面应用开发中遇到的问题。这个框架提供两种设计模式&am…...
2024/4/20 20:18:45 - angular和vue的区别与特点
选择 Vue 而不选择 Angular,有下面几个原因,当然不是对每个人都适合: 在 API 与设计两方面上 Vue.js 都比 Angular 简单得多,因此你可以快速地掌握它的全部特性并投入开发。 Vue.js 是一个更加灵活开放的解决方案。它允许你以希望…...
2024/5/6 9:10:52 - angular.js指令(directive)中的controller,compile,link函数有什么不同?
到目前为止,用angualrjs去做开发也有两个月了.做为一个菜鸟,难免会被大神吊打(这里有一个悲伤的故事...);某一天,一位前端大神问我:你知道angular指令中的controller,compile,link函数有什么不同?然后我就一脸懵逼了....今天我们来一起了解一下它们有什么不同的地方: var ag …...
2024/4/21 2:44:21 - 使用Angular2及WebApi开发SPA类型的企业应用 - Part 8- 应用构建与部署
使用Angular2及RESTful WebApi开发SPA类型的企业应用 - Part 6 RESTful 和 WebApi 作者:techcoaching,翻译:飘落寒冰 原文 有道 注:第一次翻译文章,有错译之处还请多多包涵,欢迎指出以便改进。 在本文…...
2024/4/21 2:44:21 - Angular 2:Web技术发展的必然选择
小编说:中秋之际(9月15日),谷歌正式发布了 Angular 2 的最终版,成为Angular 1 的全平台继任者。 在Angular 2 剧烈变更以及缺乏向下兼容性的背后,主要的推动力是web 技术的演进以及来自于AngularJS 1.x 的…...
2024/4/21 2:44:19 - 前端开发框架总结之Angular实用技巧(一)
前端开发框架总结之Angular实用技巧(一) 前言: 前一段时间接触了Angular框架,这是一款非常实用的JS框架,它可以大大减少直接对页面元素的操作,使复杂功能的实现更简单。AngularJS有着诸多特性,…...
2024/4/27 14:32:14 - Framework7 + Angular 开发问题解决汇总
本篇主要汇总一下使用Framework7 Angular 开发中遇到的一些难点及我的解决方法,以后再遇到会在这里继续更新。 一、页面表格按需加载 情况描述:默认加载10条,在用户上拉页面是再进行下一页的内容加载。 解决方法:利用Framework7 …...
2024/4/21 2:44:17 - angularjs指令中的compile详解
通常大家在使用ng中的指令的时候,用的链接函数最多的是link属性,下面这篇文章将告诉大家complie,pre-link,post-link的用法与区别. angularjs里的指令非常神奇,允许你创建非常语义化以及高度重用的组件,可以理解为web components的先驱者. 网上已经有很多介绍怎么使用指令的文章…...
2024/4/21 2:44:17 - Angular移除不必要的$watch之性能优化
双向绑定是Angular的核心概念之一,它给我们带来了思维方式的转变:不再是DOM驱动,而是以Model为核心,在View中写上声明式标签。然后,Angular就会在后台默默的同步View的变化到Model,并将Model的变化更新到Vi…...
2024/4/21 2:44:15 - angular桌面应用开发_使用angular构建高性能的本机和跨平台桌面应用程序
angular桌面应用开发As you may already know, Angular is used on many platforms.您可能已经知道,Angular在许多平台上使用。 Ionic (https://ionicframework.com/) 离子( https://ionicframework.com/ ) NativeScript (https://www.nativescript.org/) NativeSc…...
2024/5/5 9:07:25 - angular 指令详解(一)compile与link
原文地址:https://987.tw/2014/09/03/ang... AngularJS directives是令人惊艳的。它允许你创造高度语意且可重复利用的元件。在某种意义上你可以认为它是极致的web components先驱者。 有许多很棒的文章,甚至是书籍,在教导你如何撰写自己的di…...
2024/4/21 2:44:14 - Angular项目搭建
1. 安装angular脚手架,npm i -g angular/cli 2. 创建项目,ng new [项目名称], 3. 安装依赖,npm i 4. 运行项目,ng serve --open 5. 打开vscode搜索插件Angular 8 Snippets,安装 6. 创建头部组件&#…...
2024/4/24 18:08:42 - angular4+ng-zerro后台管理系统搭建
电商后台管理系统系统界面搭建 搭建一个项目首先需要的环境,之后根据所需要的页面创建组件,再结合一个页面框架快速的搭建一个项目答题页面框架 一、开发环境 1.安装node.js 去官网下载安装包,地址: https://nodejs.org/dist/…...
2024/4/21 2:44:11
最新文章
- 微搭低代码入门04数据模型
目录 1 创建数据模型2 一对多3 通用选项集4 API总结 上一篇我们介绍了页面管理,页面是盛放组件的容器,组件在配置属性的时候需要进行数据绑定。数据是通过创建数据模型来进行存储,本篇我们介绍一下数据模型的相关操作。 1 创建数据模型 微搭…...
2024/5/6 12:45:30 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/6 9:38:23 - 星际门计划:微软与OpenAI联手打造未来AI超级计算机
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
2024/5/5 9:17:00 - Jmeter 聚合报告之 90% Line 正确理解
今天看了些关于Jmeter 聚合报告之 90% Line 的一些博客 关于90% Line 的算法各有各自的见解 。 90%Line可以用公式计算: 100/总个数每一个所占的百分比,90%/每一个所占的百分比90%Line的序号(从小到大排) 例如:1.2.3.…...
2024/5/2 18:29:24 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/4 23:54:56 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/4 23:54:56 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/6 9:21:00 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/4 23:55:16 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/6 1:40:42 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/4 23:55:17 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/4 23:55:06 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/4 23:55:06 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/5 8:13:33 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/4 23:55:16 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/4 23:55:01 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/4 23:54:56 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) 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 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在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