-
Axios是一个npm软件包,允许应用程序将HTTP请求发送到Web API,下面这篇文章主要给大家介绍了关于React项目中axios的封装与API接口的管理的相关资料,需要的朋友可以参考下目录• 前言 • 安装 • 引入 • 环境的切换 • 请求拦截 • 响应拦截 • api的统一管理 • 总结 前言在react项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是基于promise的http库,可运行在浏览器端和node.js中。他有很多优秀的特性,例如拦截请求和响应、取消请求、转换json、客户端防御XSRF等。如果还对axios不了解的,可以移步axios文档 。安装1234//使用npm安装npm install axios; //使用yarn安装yarn add axios引入在项目根目录中,新建一个request文件夹,然后在里面新建一个index.js和一个api.js文件。index.js文件用来封装我们的axios,api.js用来统一管理我们的接口。123456//在index.js中引入axiosimport axios from 'axios';//引入qs模块,用来序列化post类型的数据import QS from 'qs';//antd的message提示组件,大家可根据自己的ui组件更改。import { message } from 'antd'环境的切换我们的项目环境可能有开发环境、测试环境和生产环境。我们通过node的环境变量来匹配我们的默认的接口url前缀。这里需要node的全局变量process,process.env.NODE_ENV可以区分是开发环境还是生产环境。12345//保存环境变量const isPrd = process.env.NODE_ENV == 'production'; //区分开发环境还是生产环境基础URLexport const basciUrl = isPrd ? 'https://www.production.com' : 'http://www.development.com'这里导出基础URL是为了防止有其他地方用到资源不一样,需要区分生产环境还是开发环境,导入就直接可以用了。请求拦截我们在发送请求前可以进行一个请求的拦截,为什么要拦截呢,我们拦截请求是用来做什么的呢?比如,有些请求是需要用户登录之后才能访问的,或者post请求的时候,我们需要序列化我们提交的数据。这时候,我们可以在请求被发送之前进行一个拦截,从而进行我们想要的操作。1234567891011121314151617181920212223//设置axios基础路径const service = axios.create({ baseURL: basicUrl})// 请求拦截器service.interceptors.request.use(config => { // 每次发送请求之前本地存储中是否存在token,也可以通过Redux这里只演示通过本地拿到token // 如果存在,则统一在http请求的header都加上token,这样后台根据token判断你的登录情况 // 即使本地存在token,也有可能token是过期的,所以在响应拦截器中要对返回状态进行判断 const token = window.localStorage.getItem('userToken') || window.sessionStorage.getItem('userToken'); //在每次的请求中添加token config.data = Object.assign({}, config.data, { token: token, }) //设置请求头 config.headers = { 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8' } config.data = QS.stringify(config.data) return config}, error => { return error;})这里说一下token,一般是在登录完成之后,将用户的token通过localStorage或者sessionStorage存在本地,然后用户每次在进入页面的时候(即在main.js中),会首先从本地存储中读取token,如果token存在说明用户已经登陆过,则更新Redux中的token状态。然后,在每次请求接口的时候,都会在请求的header中携带token,后台人员就可以根据你携带的token来判断你的登录是否过期,如果没有携带,则说明没有登录过。响应拦截1234567891011121314151617181920212223// 响应拦截器service.interceptors.response.use(response => { //根据返回不同的状态码做不同的事情 // 这里一定要和后台开发人员协商好统一的错误状态码 if (response.code) { switch (response.code) { case 200: return response.data; case 401: //未登录处理方法 break; case 403: //token过期处理方法 break; default: message.error(response.data.msg) } } else { return response; }})//最后把封装好的axios导出export default service响应拦截器很好理解,就是服务器返回给我们的数据,我们在拿到之前可以对他进行一些处理。例如上面的思想:如果后台返回的状态码是200,则正常返回数据,否则的根据错误的状态码类型进行一些我们需要的错误,具体返回的状态码需要处理那些流程还需要跟后台开发人员协商。上面的message.error()方法时我引入的antd的库提示组件,需要根据你的UI库,对应使用提示组件api的统一管理整齐的api就像电路板一样,即使再复杂也能很清晰整个线路。上面说了,我们会新建一个api.js,然后在这个文件中存放我们所有的api接口。首先我们在api.js中引入我们封装的axios12//导入我们封装好的axios import service from './index'现在,例如我们有这样一个接口,是一个post请求:1http://www.development.com/api/v1/articleEdit我们可以在api.js中这样封装:1export const apiArticleEdit = info => service.post('/api/v1/articleEdit', info);我们定义了一个apiArticleEdit方法,这个方法有一个参数info,info是我们请求接口时携带的参数对象。而后调用了我们封装的axios方法,第一个参数是我们的接口地址,第二个参数是apiArticleEdit的info参数,即请求接口时携带的参数对象。最后通过export导出apiArticleEdit。然后在我们的页面中可以这样调用我们的api接口:1234567891011121314151617181920import React, { Component } from 'react' import { apiArticleEdit } from './request/api'export default class App extends Component { componentDidMount() { // 调用api接口,并且提供了两个参数 let params = { type: 2, author: '北孤清茶' } apiArticleEdit(params).then(res => { // 获取数据成功后的其他操作 //..... console.log(res) }) } render() { return ( <div> </div> ) }}其他的api接口,就在api.js中继续往下面扩展就可以了。友情提示,为每个接口写好注释哦!!!api接口管理的一个好处就是,我们把api统一集中起来,如果后期需要修改接口,我们就直接在api.js中找到对应的修改就好了,而不用去每一个页面查找我们的接口然后再修改会很麻烦。关键是,万一修改的量比较大。还有就是如果直接在我们的业务代码修改接口,一不小心还容易动到我们的业务代码造成不必要的麻烦。好了,最后把完成的axios封装代码奉上。1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162//在index.js中引入axiosimport axios from 'axios';//引入qs模块,用来序列化post类型的数据import QS from 'qs';//antd的message提示组件,大家可根据自己的ui组件更改。import { message } from 'antd' //保存环境变量const isPrd = process.env.NODE_ENV == 'production'; //区分开发环境还是生产环境基础URLexport const basciUrl = isPrd ? 'https://www.production.com' : 'http://www.development.com' //设置axios基础路径const service = axios.create({ baseURL: basicUrl}) // 请求拦截器service.interceptors.request.use(config => { // 每次发送请求之前本地存储中是否存在token,也可以通过Redux这里只演示通过本地拿到token // 如果存在,则统一在http请求的header都加上token,这样后台根据token判断你的登录情况 // 即使本地存在token,也有可能token是过期的,所以在响应拦截器中要对返回状态进行判断 const token = window.localStorage.getItem('userToken') || window.sessionStorage.getItem('userToken'); //在每次的请求中添加token config.data = Object.assign({}, config.data, { token: token, }) //设置请求头 config.headers = { 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8' } //序列化请求参数,不然post请求参数后台接收不正常 config.data = QS.stringify(config.data) return config}, error => { return error;}) // 响应拦截器service.interceptors.response.use(response => { //根据返回不同的状态码做不同的事情 // 这里一定要和后台开发人员协商好统一的错误状态码 if (response.code) { switch (response.code) { case 200: return response.data; case 401: //未登录处理方法 break; case 403: //token过期处理方法 break; default: message.error(response.data.msg) } } else { return response; }})//最后把封装好的axios导出export default service总结到此这篇关于React项目中axios的封装与API接口管理的文章就介绍到这了转载自https://www.jb51.net/article/242127.htm
-
目录• 前言 • 准备工作 • 开始封装axios • config.js • request.js • 进行请求 • 总结 前言最近写react项目使用到axios进行请求封装,在这里记录一下,希望可以帮助到初学的小伙伴准备工作进行请求需要使用axios,所以要先确定你已经安装完成了axios,查看package.json文件如果没有,请先安装axios1npm install axios开始封装axios首先在src目录下新建axios文件夹,这里我们新建两个文件,分别是config.js和request.jsconfig.js这个文件我们用来进行基础配置,区分开发环境:1.定义devBaseUrl开发环境和proBaseUrl生产环境2.使用process.env来区分开发还是生产环境,它返回的是一个包含用户的环境信息3.最后设置一下timeout1234const devBaseUrl = 'http://api.k780.com/'const proBaseUrl = 'http:xxx//xxxx.xx.com'export const BASE_URL = process.env.NODE_ENV === 'development' ? devBaseUrl : proBaseUrlexport const TIMEOUT = 5000request.js存放对应的封装方法和拦截器:1.首先导入axios和config中我们上面写的BASE_URL, TIMEOUT2.定义instance = axios.create({ }),里面存放对象3.写一个请求拦截器,在请求拦截器里面就可以做token验证之类的操作1234567891011121314import axios from 'axios'import { BASE_URL, TIMEOUT } from './config'const instance = axios.create({ baseURL: BASE_URL, timeout: TIMEOUT})// 请求拦截器instance.interceptors.request.use(config => { console.log('被拦截做一些操作') return config}, err => { return err})export default instance进行请求做完上面的封装之后,我们就可以进行请求操作了,来到要使用的页面首先进行导入刚刚写的request文件:1import request from '../../axios/request'我这里请求的是网上的一个天气接口,地址已经写在了上面config.js文件中的devBaseUrl对于api的请求,我们这里在componentDidMount()生命周期中进行异步请求:1.使用async await 进行异步操作2.使用data接收请求的结果,在request中写请求需要的params参数3.最后打印data看下结果,后面是使用setState修改值1234567891011121314async componentDidMount() { const data = await request({ // 参数 params: { app: 'weather.today', weaId: 248, appkey: 10003, sign: 'b59bc3ef6191eb9f747dd4e83c99f2a4', format: 'json' } }) console.log(data) this.setState({weather: data.data.result.weather}) }查看打印的结果:可以看到请求到的data数据,这样就说明请求成功啦总结本篇文章就到这里了,希望能够给你带来帮助转载自https://www.jb51.net/article/242127.htm
-
# 问题描述: ### 有需求针对华为云Stack整体进行运维管理操作,包括远程上下电、虚拟机增删改查、设备状态监测等,我看Stack组成有点复杂,好多个不同的服务层面提供接口,比如ManageOne、Fusion Sphere什么的,似乎看着需要很多不同的API文档才能实现? ------------ 因为我对这个也不是很熟,前来请教一下社区的各类大佬们,要实现如上需求,我应该获取哪些API文档才行呢? # 跪谢!!!
-
【直播时间】:2022-03-24 16:00-17:00【直播嘉宾】:金伟 华为云开天aPaaS首席规划专家 ,拥有12年云计算领域产品规划经验,精通云计算数据、运维等领域。【直播内容】:本期直播将介绍华为云开天aPaaS的业务目标和策略,分享开天aPaaS如何帮助企业用户提升软件购买和使用的体验;如何帮助ISV提升软件开发和盈利能力。3 月24日 16:00-17:00,点此观看直播~诚邀您及时收看并参与抽奖,精彩不容错过!往期精彩分享>> 【工业数字化大讲堂】第一期 华为数字化转型分享(车海平 华为公司高级副总裁、数字转型首席战略官)视频第二期 建立制造领域数字化转型的基石(陈振华 中国机床工具工业协会、工业互联网发展负责人)视频第三期 制造业数字化转型势道术(朱少盛 深圳赛瀚德技术有限公司CEO)视频第四期 华为供应链数字化分享(范美华 华为供应链管理部CIO)视频第五期 华为数字化转型实践(苏立清 华为云首席数字化转型官)视频第六期 华为数字化转型实践(张勇强 工业解决方案高级顾问)视频第七期 华为服务交付数字化转型之路(叶蓁蓁 华为软件云服务资深产品专家)视频第八期 制造业企业数据平台建设最佳实践分享(马千里 华为数据使能资深解决方案架构师)视频------------------------------------------------------------------------------------------------------更多精彩直播,请关注微信公众号“工业数字化大讲堂”↓↓
-
【直播时间】:2022-03-24 16:00-17:00【直播嘉宾】:金伟 华为云开天aPaaS首席规划专家 ,拥有12年云计算领域产品规划经验,精通云计算数据、运维等领域。【直播内容】:本期直播将介绍华为云开天aPaaS的业务目标和策略,分享开天aPaaS如何帮助企业用户提升软件购买和使用的体验;如何帮助ISV提升软件开发和盈利能力。3 月24日 16:00-17:00,点此观看直播~诚邀您及时收看并参与抽奖,精彩不容错过!往期精彩分享>> 【工业数字化大讲堂】第一期 华为数字化转型分享(车海平 华为公司高级副总裁、数字转型首席战略官)视频第二期 建立制造领域数字化转型的基石(陈振华 中国机床工具工业协会、工业互联网发展负责人)视频第三期 制造业数字化转型势道术(朱少盛 深圳赛瀚德技术有限公司CEO)视频第四期 华为供应链数字化分享(范美华 华为供应链管理部CIO)视频第五期 华为数字化转型实践(苏立清 华为云首席数字化转型官)视频第六期 华为数字化转型实践(张勇强 工业解决方案高级顾问)视频第七期 华为服务交付数字化转型之路(叶蓁蓁 华为软件云服务资深产品专家)视频第八期 制造业企业数据平台建设最佳实践分享(马千里 华为数据使能资深解决方案架构师)视频------------------------------------------------------------------------------------------------------更多精彩直播,请关注微信公众号“工业数字化大讲堂”↓↓
-
介绍智慧园区解决方案中所用到的术语和缩略语。表1 术语缩略语表AAdapterFDI的任务调度和资源调度。AHUAir Handling Unit,末端空调。AIArtificial Intelligence,人工智能。APIApplication Programming Interface,应用程序编程接口,应用将自身的服务能力封装成API,开放给用户调用。APICAPI Connect,ROMA平台的API管理产品,涵盖API网关、LiveData和API Market三个子产品。聚焦在API轻量化集成,存量系统服务化改造,全球跨云跨数据中心路由等核心功能,实现从API设计、开发、管理到发布的全生命周期管理和端到端集成。API GatewayAPI网关,提供API的完整生命周期管理,包括创建、维护、发布、运行、下线等。API授权网关授权给某个appid使用此API。AppCubeAppCube是一个面向企业商业应用的云开发平台,为您提供便捷、高效的应用开发能力。帮助您完成一个应用的在线开发、测试和部署。BBOBusiness Object,商业对象,一个BO相当于一个完整场景的服务。CCOPCoefficient of Performance,性能系统。DDDCDirect Digit Control,直接数字控制,简称为DDC系统,是用一台计算机对被控参数进行检测,再根据设定值和控制算法进行运算,然后输出到执行机构对生产进行控制,使被控参数稳定在给定值上。利用计算机的分时处理功能直接对多个控制回路实现多种形式控制的多功能数字控制系统。DLIData Lake Insight,数据湖探索。DOData Object,数据对象,数据平台沉淀的资产。EEIEnterprise Intelligence,企业智能。FFDIFast Data Integration,ROMA平台的数据集成产品,支持文本、消息、API、结构和非结构化数据等多种数据源之间的灵活、快速、无侵入式的数据集成,可以实现跨机房、跨数据中心、跨云的数据集成方案,并能自助实施、运维、监控集成数据。GGISGeographic Information System,地理信息系统。IIAMIdentity and Access Management,统一身份认证服务。IOIntegration Object,集成对象。IOCIntelligent Operation Center,智能运营中心。IoTInternet of Things,物联网。IVSIntelligent Video System,智能视频系统。J节点(DGC)定义对数据执行的操作。例如,使用“数据迁移”节点将数据从OBS导入到MRS Hive。LLiveData提供将各种DB内提供的数据服务,转换为REST接口的能力。MMQTTMessage Queueing Telemetry Transport Protocol,MQTT是一个物联网传输协议,被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。MQSMessage Queue Service,开源分布式消息系统RocketMQ进行封装满足三大集成场景要求Active RealTime Integration,主动实时消息集成。通过消息通道,实现IT系统间的数据/应用集成。NNFCNear Field Communication,近距离无线通信技术。OOBSObject Storage Service,对象存储服务。RROMARelationship,Open,MultiCloud,AnyConnect,集成平台。TTOPIC消息主题。消息的生产与消费,围绕消息主题进行生产、消费以及其他消息管理操作。Topic也是消息队列的一种发布与订阅消息模型。生产者向消息主题发布消息,多个消费者订阅该消息主题的消息,生产者与消费者彼此并无直接关系。VVAV BOXVariable Air Volume BOX,变风量空调系统的末端装置,其作为变风量空调系统的关键设备之一。空调系统通过末端装置调节一次风送风量,跟踪负荷变化,维持室温。VCMVCM和VCN是IVS平台两大业务模块:VCN:视频调阅平台,指图像管理服务,主要负责视图的接入、存储和转发。VCM:视频分析平台,指图像解析服务和图像检索服务,主要负责智能业务的处理。VCNVDCPVideo Disk Control Protocol ,视频磁盘通讯协议。WWelink华为云WeLink,企业数字化办公协作平台,融合消息、会议、邮件、知识、能力开放等,实现团队、知识、业务、设备的全面连接。X消息轨迹在一条消息从发布者发出到订阅者消费处理过程中,由各个相关节点的时间、地点等数据汇聚而成的完整链路信息。通过消息轨迹,用户能清晰定位消息从发布者发出,经由MQS服务端,投递给消息订阅者的完整链路,方便定位排查问题。Y应用通过对应用的角色权限定义,对API、数据、消息等进行权限隔离。Z作业(DGC)作业由一个或多个节点组成,共同执行以完成对数据的一系列操作。
-
<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-table-api-scala_2.11</artifactId> <version>1.10.0-hw-ei-302002</version></dependency>这个报错,找不到这个这个。我配置的settings是 <mirror> <id>huaweicloud</id> <mirrorOf>*,!HuaweiCloudSDK</mirrorOf> <url>https://repo.huaweicloud.com/repository/maven/</url> </mirror>是哪里错了吗?
-
【直播时间】:2022-03-17 16:00-17:00【直播嘉宾】:丘水平 华为公司工业软件及工业云CTO。专注数字化变革领域多年,牵头公司级A级项目,带领团队将华为公司产品与解决方案体系众多运营平台,统一到“一层同源,二层开源,三层开放”的平台架构下;规划公司产品数字化总体方案设计,共有8项专利,编纂《关键词100》《洞察内参》《转型之路》《产品数字化转型专班》等书籍。【直播内容】:基于ICOT深度融合,新技术使能行业加速数字化转型,企业数字化的本质是利用数字化技术实现产业链/企业业务一体化融合,架构性降本增效,多打粮食。本场直播将分享如何结合国内工业数字化升级转型经验,针对长尾企业集群探索数字化转型路径,联合打造自主可控的新型工业互联网解决方案。 【观看直播抽好礼】直播期间(3月17日16:00-17:00)可参与抽奖哦~往期精彩分享>> 【工业数字化大讲堂】第一期 华为数字化转型分享(车海平 华为公司高级副总裁、数字转型首席战略官)视频第二期 建立制造领域数字化转型的基石(陈振华 中国机床工具工业协会、工业互联网发展负责人)视频第三期 制造业数字化转型势道术(朱少盛 深圳赛瀚德技术有限公司CEO)视频第四期 华为供应链数字化分享(范美华 华为供应链管理部CIO)视频第五期 华为数字化转型实践(苏立清 华为云首席数字化转型官)视频第六期 华为数字化转型实践(张勇强 工业解决方案高级顾问)视频第七期 华为服务交付数字化转型之路(叶蓁蓁 华为软件云服务资深产品专家)视频第八期 制造业企业数据平台建设最佳实践分享(马千里 华为数据使能资深解决方案架构师)视频------------------------------------------------------------------------------------------------------------------------------更多精彩直播,请关注微信公众号“工业数字化大讲堂”↓↓
-
【直播时间】:2022-03-17 16:00-17:00【直播嘉宾】:丘水平 华为公司工业软件及工业云CTO。专注数字化变革领域多年,牵头公司级A级项目,带领团队将华为公司产品与解决方案体系众多运营平台,统一到“一层同源,二层开源,三层开放”的平台架构下;规划公司产品数字化总体方案设计,共有8项专利,编纂《关键词100》《洞察内参》《转型之路》《产品数字化转型专班》等书籍。【直播内容】:基于ICOT深度融合,新技术使能行业加速数字化转型,企业数字化的本质是利用数字化技术实现产业链/企业业务一体化融合,架构性降本增效,多打粮食。本场直播将分享如何结合国内工业数字化升级转型经验,针对长尾企业集群探索数字化转型路径,联合打造自主可控的新型工业互联网解决方案。3月17日16:00-17:00 点此观看视频~ 【观看直播抽好礼】直播期间(3月17日16:00-17:00)可参与抽奖哦~往期精彩分享>> 【工业数字化大讲堂】第一期 华为数字化转型分享(车海平 华为公司高级副总裁、数字转型首席战略官)视频第二期 建立制造领域数字化转型的基石(陈振华 中国机床工具工业协会、工业互联网发展负责人)视频第三期 制造业数字化转型势道术(朱少盛 深圳赛瀚德技术有限公司CEO)视频第四期 华为供应链数字化分享(范美华 华为供应链管理部CIO)视频第五期 华为数字化转型实践(苏立清 华为云首席数字化转型官)视频第六期 华为数字化转型实践(张勇强 工业解决方案高级顾问)视频第七期 华为服务交付数字化转型之路(叶蓁蓁 华为软件云服务资深产品专家)视频第八期 制造业企业数据平台建设最佳实践分享(马千里 华为数据使能资深解决方案架构师)视频------------------------------------------------------------------------------------------------------------------------------更多精彩直播,请关注微信公众号“工业数字化大讲堂”↓↓
-
是不是没有API调用任务了,啥时候取消的
-
兼容与可定制点密切相关。解决方案的定制与配置分层分为四层,参见如下示意图。Addon方式属于旧的定制模式,不推荐使用;推荐伙伴直接采用App源码包作白盒修改,基线不对参考应用/场景应用作兼容和升级保证,只保证Core的兼容。兼容性目标兼容性是以基线版本为基础,相对于定制版本而言。后向兼容(向下兼容/向后兼容):现在版本兼容以前版本生成的数据、或扩展实现(如定制版本)。对智慧园区即,基线20.0版本支持‘for 基线C00版本’的定制程序包。前向兼容(向上兼容/向前兼容):以前版本支持现在版本生成的数据、或扩展实现(如定制版本)。对智慧园区即,基线C00版本支持‘for 基线20.0版本’的定制程序包。兼容性主要的关注点有向前兼容和向后兼容。智慧园区基线解决方案主要满足后向兼容。兼容性设计目标:支持解决方案基线和定制版本的独立演进。基线版本升级不影响一定版本范围内的定制版本。正式发布的版本要100%后向兼容2个R版本或1年时间(取两者时间较短的一个)。兼容性范围基线解决方案定义兼容性设计的目标范围如下:Core承诺兼容性,包括:Core资产(含BO、IO、DO)、App Framework(含Unified Portal和System Management)、实例化数据等核心资产,对外暴露的服务及Widget需要保证兼容性。场景App作为参考实现(不含Unified Portal和System Management),内部包含的API、Script、Page、Widget等供平台ISV伙伴参考,不承诺兼容性。伙伴升级时,不需要升级App,只需要升级核心Core资产;伙伴可以订购新的App。配置数据需要伙伴参考规范,才能保证兼容性。影响兼容性的主要场景在基线版本交付中包含的主要实体有:业务对象BO、数据资产DO、集成资产IO、配置参数数据、参考应用App、Resouce(Global Widget等)。一个新的功能要满足版本的兼容,本质上是要解决上述关键实体的兼容性设计问题。基线版本兼容性问题的场景主要有如下几方面:1) 基线版本增加新功能:已经发布的实体承载的业务能力不能满足要求,需要在原有增加新的实体来满足业务场景的要求。2) 基线版本修改某个功能缺陷/逻辑:已经发布的功能存在Bug或者问题,需要对原有的功能进行修复,但不会对具体API、业务对象的定义进行修改。3) 基线版本增强已有功能:对原有能力的增强,已经发布的实体在继承原有能力的同时需要进一步的增强其能力。例如原有的API接口/业务对象定义保持不变,但是需要增加新的逻辑到原有的逻辑实现中。4) 基线版本修改已有功能:原有功能不再有效,或者需要把原有者功能进行修改。其本质是停止原有功能,增加新功能。5) 基线版本调整已有功能:已经发布的实体的职责进行重新的调整划分导致。例如业务实体提供的某些服务迁移到其他业务实体中。6) 基线版本删除现有功能:禁止使用或者不再提供已有的功能。如果单纯出现这种场景就直接破坏了兼容性的要求。关键场景与兼容性对应关系:兼容性设计影响场景增加新功能修改缺陷增强已有功能修改已有功能调整已有功能删除现有功能是否符合向后兼容性设计符合符合符合不符合不符合不符合基线版本升级是否影响定制版本不影响不影响不影响影响影响影响关键场景与业务对象对应关系:以BO为例分析,场景对应业务BO,BO提供实体对象的服务/api。交付件场景①增加新功能②修改缺陷③增强已有功能④修改已有功能⑤调整已有功能⑥删除现有功能开放API新增服务/API定义服务/api定义不变服务/api定义不变服务/api定义发生变化服务/api定义发生变化服务/api定义发生变化业务对象新增业务对象业务对象定义不变业务对象定义不变业务对象定义发生变化业务对象定义发生变化业务对象定义发生变化建议措施可以新增可以修改可以增强增加服务/API的新版本,保留旧版本增加服务/API的新版本,保留旧版本增加废弃标识,在2个R版本后正式删除从现有的分析来看,场景①②③满足向后兼容,场景④⑤⑥不满足向后兼容,在定制版本需要满足向后兼容的设计中要尽量避免场景④⑤⑥的出现;出现场景④⑤⑥时按照建议措施进行处理。兼容性检查和发布兼容性检查工具:在开发态,能基于系统的实现扫描并产生兼容性检查报告,同时标识出不兼容点;由开发人员对照检查不兼容点属于上一节描述的哪种场景,采取对应的处理措施。实例化工具:在升级态,能够比较定制和基线实例化数据的差异点并产生兼容性检查报告,同时标识出不兼容点,并提供对不兼容点的处理策略,比如:保留定制实例化数据、定制与基线合并、使用基线实例化数据等。实例化数据升级检查工具:在生产态,能够比对定制和基线升级的实例化数据的差异,并生成实例化数据升级兼容检查,以便升级人员针对性的检查和处理。兼容性说明资料:版本发布时,需要对应发布兼容性说明资料,说明当前版本对各个对象的兼容情况,并提供不兼容点的处理策略,比如:暂时不修改待2个R版本前完成修改即可、立即修改、修改实例化数据等。升级脚本或工具:涉及到超过2个R版本(或1年时间)的修改,根据需要可提供升级脚本或工具,辅助定制版本进行升级。兼容性前提平台兼容性平台的兼容性是基线兼容的重要前提条件。平台保证平台本身的API特性的兼容性。平台保证平台提供的参数的兼容,并支持打包在平台版本中,基线修改参数可覆盖平台的参数值。平台支持App和BO的版本机制,并能管理对于的版本对应关系。平台保证基线资产schema对象做到租户隔离升级【暂未实现】。平台支持对API进行使用检查,对于不推荐使用的API、Flow、Script在开发态进行限制和提示,避免伙伴定制超出约定范畴。定制范围约束App仅作为参考实现(不含Unified Portal和System Management),对伙伴开发直接复制一份进行完全的白盒修改。BO严格遵循兼容原则,只开放API供伙伴进行BO的Addon,BO内部的DB的扩展机制确保兼容(平台保证),BO内部的Flow、Script对伙伴不可见。App内部的Widget和api,跟随App的原则,仅供参考修改,不支持兼容。
-
【直播嘉宾】:马千里 数据使能资深解决方案架构师。曾就职于Oracle、IBM等大型IT公司,在数据库、大数据,数据平台、云计算领域有二十多年的项目经验。曾带领数据库解决方案团队负责华为云数据库领域项目拓展,现阶段带领数据平台架构师团队,聚焦数据使能和数据中台解决方案和项目拓展。【直播内容】:本次分享从制造业的发展趋势出发,分享华为云在制造领域建设数据平台的最佳实践,帮助企业解决数字化转型中面临的挑战,并结合华为云数据平台架构设计和数据应用等方面的丰富经验,助力企业挖掘数据价值、驱动数字化转型、创造发展新机会。点此回看~ 【观看直播抽好礼】直播期间(3月10日16:00-17:00)可参与抽奖哦~往期精彩分享>> 【工业数字化大讲堂】第一期 华为数字化转型分享(车海平 华为公司高级副总裁、数字转型首席战略官)视频第二期 建立制造领域数字化转型的基石(陈振华 中国机床工具工业协会、工业互联网发展负责人)视频第三期 制造业数字化转型势道术(朱少盛 深圳赛瀚德技术有限公司CEO)视频第四期 华为供应链数字化分享(范美华 华为供应链管理部CIO)视频第五期 华为数字化转型实践(苏立清 华为云首席数字化转型官)视频第六期 华为数字化转型实践(张勇强 工业解决方案高级顾问)视频第七期 华为服务交付数字化转型之路(叶蓁蓁 华为软件云服务资深产品专家)视频------------------------------------------------------------------------------------更多精彩直播,请关注微信公众号“工业数字化大讲堂”↓↓
-
表1 术语缩略语表AAdapterFDI的任务调度和资源调度。AHUAir Handling Unit,末端空调。AIArtificial Intelligence,人工智能。APIApplication Programming Interface,应用程序编程接口,应用将自身的服务能力封装成API,开放给用户调用。APICAPI Connect,ROMA平台的API管理产品,涵盖API网关、LiveData和API Market三个子产品。聚焦在API轻量化集成,存量系统服务化改造,全球跨云跨数据中心路由等核心功能,实现从API设计、开发、管理到发布的全生命周期管理和端到端集成。API GatewayAPI网关,提供API的完整生命周期管理,包括创建、维护、发布、运行、下线等。API授权网关授权给某个appid使用此API。AppCubeAppCube是一个面向企业商业应用的云开发平台,为您提供便捷、高效的应用开发能力。帮助您完成一个应用的在线开发、测试和部署。BBOBusiness Object,商业对象,一个BO相当于一个完整场景的服务。CCOPCoefficient of Performance,性能系统。DDDCDirect Digit Control,直接数字控制,简称为DDC系统,是用一台计算机对被控参数进行检测,再根据设定值和控制算法进行运算,然后输出到执行机构对生产进行控制,使被控参数稳定在给定值上。利用计算机的分时处理功能直接对多个控制回路实现多种形式控制的多功能数字控制系统。DLIData Lake Insight,数据湖探索。DOData Object,数据对象,数据平台沉淀的资产。EEIEnterprise Intelligence,企业智能。FFDIFast Data Integration,ROMA平台的数据集成产品,支持文本、消息、API、结构和非结构化数据等多种数据源之间的灵活、快速、无侵入式的数据集成,可以实现跨机房、跨数据中心、跨云的数据集成方案,并能自助实施、运维、监控集成数据。GGISGeographic Information System,地理信息系统。IIAMIdentity and Access Management,统一身份认证服务。IOIntegration Object,集成对象。IOCIntelligent Operation Center,智能运营中心。IoTInternet of Things,物联网。IVSIntelligent Video System,智能视频系统。J节点(DGC)定义对数据执行的操作。例如,使用“数据迁移”节点将数据从OBS导入到MRS Hive。LLiveData提供将各种DB内提供的数据服务,转换为REST接口的能力。MMQTTMessage Queueing Telemetry Transport Protocol,MQTT是一个物联网传输协议,被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。MQSMessage Queue Service,开源分布式消息系统RocketMQ进行封装满足三大集成场景要求Active RealTime Integration,主动实时消息集成。通过消息通道,实现IT系统间的数据/应用集成。NNFCNear Field Communication,近距离无线通信技术。OOBSObject Storage Service,对象存储服务。RROMARelationship,Open,MultiCloud,AnyConnect,集成平台。TTOPIC消息主题。消息的生产与消费,围绕消息主题进行生产、消费以及其他消息管理操作。Topic也是消息队列的一种发布与订阅消息模型。生产者向消息主题发布消息,多个消费者订阅该消息主题的消息,生产者与消费者彼此并无直接关系。VVAV BOXVariable Air Volume BOX,变风量空调系统的末端装置,其作为变风量空调系统的关键设备之一。空调系统通过末端装置调节一次风送风量,跟踪负荷变化,维持室温。VCMVCM和VCN是IVS平台两大业务模块:VCN:视频调阅平台,指图像管理服务,主要负责视图的接入、存储和转发。VCM:视频分析平台,指图像解析服务和图像检索服务,主要负责智能业务的处理。VCNVDCPVideo Disk Control Protocol ,视频磁盘通讯协议。WWelink华为云WeLink,企业数字化办公协作平台,融合消息、会议、邮件、知识、能力开放等,实现团队、知识、业务、设备的全面连接。X消息轨迹在一条消息从发布者发出到订阅者消费处理过程中,由各个相关节点的时间、地点等数据汇聚而成的完整链路信息。通过消息轨迹,用户能清晰定位消息从发布者发出,经由MQS服务端,投递给消息订阅者的完整链路,方便定位排查问题。Y应用通过对应用的角色权限定义,对API、数据、消息等进行权限隔离。Z作业(DGC)作业由一个或多个节点组成,共同执行以完成对数据的一系列操作。
-
经验即服务 | 脑极体很多企业在推进数字化、业务上云的时候,都会面临一个两难选择:缺失核心技术容易丧失竞争力,跟不上发展机遇;大力投入核心技术研发,又可能因为开发成本过大,“重复造轮子”而影响进程。无论对于移动开发者还是产业向开发者来说,能够在低门槛、低成本的前提下获得高质量的核心技术,始终都是不变的需求。如何打开一扇从核心技术到云上赋能各领域开发者的门,成为了一项关键挑战。今年上半年,华为高级副总裁、华为云CEO、消费者云服务总裁张平安提出了“云云协同”的主张,描绘华为云与终端云打通界限,彼此互补的全新战略方向。这个思路引发了业界的广泛讨论。在今年的华为全联接大会中,我们捕捉到了关于这场云计算变革的全新消息。9月23日,华为全联接2021开幕,张平安做了“深耕数字化,一切皆服务”的主题演讲,宣布两个新Region开服,并发布了华为云开天aPaaS、天筹AI求解器、华为云Stack8.1、盘古药物分子大模型、华为云SparkRTC等十大新服务,同时宣布华为云打造的首个虚拟数字人云笙入职华为云。其中,华为云开天aPaaS不仅标志着华为云在aPaaS的重要动作,更重要的意义在于这一创新将华为在各领域众多成熟完备的根技术,比如地图、搜索、支付等技术释放到了云计算的产业空间,也把华为自身和合作伙伴的数字化转型经验沉淀到华为云,并对外开放,让开发者不用重复造轮子,帮助开发者用更低的成本完成开发。华为云开天aPaaS携带的变革意味,可以说充分展示了“云原生”的根本旨趣。张平安指出,数字化成功的关键是用云原生的思维践行云原生,“华为前三十年重塑了世界的联接,未来三十年,我们将构建智能世界的云底座。面对产业数字化浪潮,机会从不缺失。更重要的,是选择与行动,用云原生的思维践行云原生,深耕数字化,一切皆服务”。我们可以透过华为云开天aPaaS,看看华为云最新的战略发展动向。从“云云协同”到“一切皆服务”,华为云在云计算与移动服务两个产业之间,开了一道门,修了一条路,造了一座灯塔。 云上开发的产业墙从服务对象与服务目标来看,今天大部分云计算用户使用云服务都还停留在比较初级的阶段。云原生作为核心变革趋势虽然说了很久,但大量企业依旧对“敏捷开发、云上创新”等概念缺乏体会。很多公司的理解只要是涉及云的应用就是云原生,或者是可以给云服务用的工具或者产品就是云原生的。究其原因,一方面在于云原生模式的开发需要比较高的技术门槛,并且需要大量的学习成本、迁移成本,对于很多企业来说缺乏行动必要性;另一方面,技术升级的必要性有待商榷。即使拥抱云原生,企业也不一定能够获得对自己十分有益的技术加持。那么哪里有对企业来说非常有价值,但是传统开发模式又很难实现的技术呢?答案是移动互联网和移动终端当中。经历了从互联网时代到移动终端时代,二十年的技术革新浪潮带来了大量数字化、信息化的根技术。移动支付、地图、搜索、浏览等技术发展得非常成熟,对于绝大多数企业都有重要意义。但在云服务中,用户却很难找到方式去获得这些技术。云模式与移动技术之间,似乎存在一堵墙。这面墙看不见摸不着,却真实阻碍了企业的数字化创新进程与拥抱云原生热情。而华为云,就打算在这堵墙上开一道门。 开门:开天aPaaS何以不同?这道门就叫做华为云开天aPaaS。2020 年,华为云全球 IaaS 市场排名上升至中国前二、全球前五,是主要云厂商中增速最快的一家。而在IaaS层取得成功后,华为云也非常积极地向PaaS层重点发力,这是云服务厂商做大的必然路径——而华为云正在这条路上。所谓aPaaS,是PaaS服务当中的一种,即application Platform as a Service,应用程序平台即服务。aPaaS的独特之处在于,它的技术模式是将成熟的技术集成为kit提供给客户,以此支撑高速开发的需求。这样用户可以在低代码甚至零代码的基础上完成开发与部署,华为云开天aPaaS的不同之处在于,其核心在于其将华为云和终端云服务长期深耕的数字化经验、核心技术,以aPaaS的形式释放到了华为云平台当中。华为云开天aPaaS目前已经开放了支付、搜索、浏览、地图、广告五个数字业务根引擎,围绕移动开发者提供相关服务,基于华为云开发的移动应用可以一键上架到华为应用商店。在工业、汽车出行、零售、医疗健康、互动媒体、新闻资讯等九个垂直行业,华为云开天aPaaS全面开放50+场景化云服务,128个Kits,超过20,000个APIs。华为的技术积累和企业服务的实践经验,构成了市面上绝大多数aPaaS服务所不具备的核心价值;换一个角度看,开天aPaaS也用极简开发、高效集成的逻辑填补了相关领域的开发赋能空白,降低了技术开发门槛。这道门打开之后,一条新的开发者之路也就映于眼前。修路:从华为技术宝库,到云上产业机遇以开天aPaaS为代表的“云云协同”新模式,打开了一条从华为“根技术”出发,直接通向开发者需求的极简之路。在全联接2021中,华为云的多种发布都展露出了这种云服务的新战略。比如华为全新构建了数字内容生产线,将影视制作的核片、剪辑、建模等流程在云上进行了重构,并实现了全流程自动化,将4K高清节目制作时间从数周提升到24小时以内,让当日制作、当日播出成为可能。基于数字内容生产线,通过AI的自动建模、AI的语音驱动、AI的渲染加速等技术,打造了华为的第一个虚拟数字人:云笙。数字人技术背后的产业机遇在于,多媒体、内容等领域的开发者和用户可以通过极致简化的模式复用相关技术,创造属于自己的低成本、高质量数字人“员工”。在AR地图领域,华为的河图AR地图这几年广受好评。如今华为河图相关技术于解决方案也来到了华为云。目前,河图云已经在博物馆、大型商场、旅游景区等20多个场景中获得了应用。河图技术的云化,可以推动AR地图产业成为线下经济的新支点。这些技术都来自华为长期的技术积累与反复打磨,不仅可以极大提升开发者的使用价值与开发效率,更能够为华为云开发者提供终端云的流量入口与多样化服务。从端侧的技术到云上的产业机遇,再到移动第三极的HMS流量加持,今年华为云在全联接大会所展示的,是一条区别以往的云云协同之路。张平安在23日的采访中表示:“云云协同是我今年在华为开发者大会上提出来的理念。华为要从为用户和客户提供最佳价值的角度出发,把华为云的基础设施底座和华为终端云的移动应用生态进行深度协同,携手发展。华为云有230万开发者,终端云有450万开发者,通过云云协同,为开发者和合作伙伴提供统一的服务与体验,包括统一帐号、支付、音频、视频等开放能力,以及统一开发平台、统一应用平台和运营服务,从而赋能视听、金融、工业互联、健康医疗、教育等行业,开启全场景服务新征程。”张平安进一步指出,华为终端云在全球有9亿用户,170多个国家运营。通过云云协同,这些生态能力可以为众多行业客户和伙伴带来新的创新、协同空间。终端云的能力上架到华为云,可以为政企客户所使用,例如地图、搜索、支付、服务号等能力。而政企客户优秀的服务可以通过终端云的生态网络触达到全球9亿用户,丰富用户的体验,开创了新的运营空间。目前,云云协同获得了很多行业客户的认同,已有一百多家客户与华为签约。 造塔:云云协同的新支点公有云与移动互联网,经常被看作是泾渭分明的两条路线。但事实上,移动开发者也需要大量基础云工具、云资源的支持;而云上的政企用户也需要加强移动技术与互联网能力,实现多元化的数字升级。这种情况下,如果产业界始终把持着一成不变的楚河汉界,最终会造成数字化进程受到损害,客户对云的未来发展丧失信心。综合来看,全球云市场中谷歌云、微软云在AWS竞争压力下的崛起,很大程度于这两家企业将AI技术、互联网技术、终端技术带到了公有云市场,打破了以往的技术与产业边界,最终获得了发展机遇。试想一下,与云端开发者、政企用户关联最紧密的技术是什么?显然,移动应用的相关技术可以拔得头筹。这一方面是因为这类技术普及率高、需求大;另一方面也是因为这个领域的根技术需要长期研发投入和打磨积累,放眼全球也很难在云端大面积集成移动端的开发技术与开发经验。走向云云协同的华为云,恰好有得天独厚的优势来推动和完成这一变革。在终端云和移动开发领域,华为有长期的技术积累、产品打磨、应用实践经验,在地图、支付、搜索等核心有着强大的产业优势。这些技术源泉汇聚到公有云服务上,以aPaaS的极简开发模式释放出来,可以形成极大的创新势能,推动PaaS的产业变革。多年以来,云计算市场都在讲“XaaS(Anything-as-a-Service)一切皆服务”。这个长期目标下,开天aPaaS践行了将华为的开发经验与产品积累,转化为标准化服务的新方法。在云云协同的战略驱动下,“一切皆服务”有了新的定义和可能。华为云与终端云的云云协同战略构建已经逐步浮出水面。开天aPaaS不仅为开发者打开了一扇门,更为广阔的云云协同可能性筑起了一座灯塔。云计算与移动终端,原本是两个云业务。但只要灯塔够高,开发者站得更远,就能看到其实二者本没有分别,智能世界只有秋水共长天一色。原文来自于《CLOUD 云+》第11期 查看更多
-
华为全联接2021于9月23日开幕,华为高级副总裁、华为云CEO、消费者云服务总裁张平安做了“深耕数字化,一切皆服务”的主题演讲,重磅发布了华为云开天aPaaS等十大新服务。张平安表示:“华为云开天,是行业aPaaS的总称,我们希望将华为多年来与全球各行各业合作创新和数字化转型的宝贵经验,沉淀在云平台上,变成可被调用的API服务,开放给行业的开发者,让开发者不必从0到1重复地造砖、造轮子,而把更多的精力放到业务的价值创造上。”华为高级副总裁、华为云CEO、消费者云服务总裁张平安发布华为云开天aPaaS目前,华为云开天aPaaS聚合了128个Kit,超过2万个API,在工业、汽车出行、零售、医疗健康、互动媒体、新闻资讯等九类行业,提供了使能行业场景化创新的云服务。以互动媒体Kit中的华为河图云服务为例,可以在任何物理空间中融入相匹配的二维或三维数字信息,实现物理世界和数字世界的融合,已在博物馆、大型商场、历史古迹等超过20个场景中应用。在移动应用开发方面,基于华为云开发的移动应用可以一键上架到华为应用商店,华为移动开发者提供了 HMS CORE和 APP Gallery Connect,并开放了支付、搜索、浏览、地图、广告五个数字业务根服务引擎,为全球170+国家和地区的伙伴及开发者厚植生态沃土:支付引擎,支持4种全球化的移动支付服务,伙伴的应用在集成IAP支付引擎之后可以获得多种方式的支付能力,这是伙伴实现商业成功的基础。Petal Search,移动优先的搜索引擎,支持70多种语言,直接触达应用中的各种服务和资讯,同时面向企业和应用开发者开放Search Kit。浏览引擎,为用户打造智能、即时的信息获取和内容服务体验。地图引擎,我们开放了超过20项能力,包括独特的室外高精度能力、准确的楼层识别和位置等等,这些能力可以支持伙伴构建移动端、Web端、跨平台的应用。广告引擎,在全球范围内提供一站式的广告服务平台,既给伙伴提供高效的流量变现服务,又帮助精准投放广告,海外应用集成数量超过24300个。未来,华为云将持续携手伙伴创新aPaaS能力,快速满足行业应用场景的开发需求。转自:https://bbs.huaweicloud.com/blogs/301085
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第三期2026/08/21 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;念擎-华为云AI开发者运营案例开发专家
本期直播内容:AI六层能力首次详细解读 + 新一代华为云开发者空间亮相 + 校园案例直播带练
回顾中
热门标签