电商网站建设目的建设银行手机短信网站怎么开通

张小明 2026/1/12 13:27:13
电商网站建设目的,建设银行手机短信网站怎么开通,哪里有南宁网站建设,wordpress手机客户端HarmonyOS —— 发送网络请求#xff08;ArkTS#xff09;实战笔记#xff08;RemoteCommunicationKit rcp#xff09; 鸿蒙开发者第四期活动 这篇是我啃官方文档《发送网络请求#xff08;ArkTS#xff09;》时整理的学习笔记#xff0c;主要是帮自己理顺三件事…HarmonyOS —— 发送网络请求ArkTS实战笔记RemoteCommunicationKit rcp鸿蒙开发者第四期活动这篇是我啃官方文档《发送网络请求ArkTS》时整理的学习笔记主要是帮自己理顺三件事HarmonyOS 里网络请求到底是怎么发的不是浏览器那个fetch…rcp.createSession()session.get/post/put/...这一套到底怎么用遇到要提交表单、多部分上传Form / MultipartForm的时候ArkTS 这边怎么写才好维护下面就是我按自己的理解整理的一套“实战向”梳理方便以后写博客 / 复习 / 踩坑查漏。一句话先记住一句话记在 HarmonyOS 里要发 HTTP 请求不是随手来个fetch(url)就完事而是 通过RemoteCommunicationKit 的rcp模块创建一个session 然后用session.fetch / get / post / put / head / delete来发各种请求 复杂数据用Form/MultipartForm填到Request.content里。1. 能在哪些设备上用约束先过一眼官方给的能力覆盖范围是支持设备Phone、2in1、Tablet、Wearable从5.1.1(19)开始新增支持TV 设备简单理解只要是主流 HarmonyOS 设备基本都能用这套网络请求能力电视也从 5.1.1 之后跟上了。2. RemoteCommunicationKit 基础rcp Session2.1 导入模块所有网络请求的入口都在kit.RemoteCommunicationKit的rcp命名空间里import { rcp } from kit.RemoteCommunicationKit; import { BusinessError } from kit.BasicServicesKit;BusinessError用来兜底各种错误码和异常信息。2.2 Session所有请求的“会话对象”核心概念只有一个先创建会话再用会话发请求。const session rcp.createSession();之后session.fetch(...)session.get(...)session.post(...)session.put(...)session.head(...)session.delete(...)全都挂在这个session上。我自己的习惯是一段逻辑里用完会话就session.close()一下防止长时间占用资源特别是频繁发请求的时候。3. 通用的 fetch自己构造 Requestfetch比较底层、也最灵活你自己构造一个Request对象想怎么配 header、body、URL 都行然后丢给会话去发。3.1 基本流程构造rcp.Request(url, method)rcp.createSession()session.fetch(request)拿到PromiseResponse3.2 示例最简单的 fetch GETimport { rcp } from kit.RemoteCommunicationKit; import { BusinessError } from kit.BasicServicesKit; // 1. 构造请求 const kHttpServerAddress https://www.example.com/fetch; const request new rcp.Request(kHttpServerAddress, GET); // 2. 创建会话 const session rcp.createSession(); // 3. 发请求 session.fetch(request) .then((rep: rcp.Response) { console.info(Response succeeded: ${rep}); }) .catch((err: BusinessError) { console.error( Response err: Code is ${JSON.stringify(err.code)}, message is ${JSON.stringify(err)} ); });实际项目里Request还能设置请求头request.headers {...}请求体request.content ...配合Form/MultipartForm/ 自定义内容fetch更像是“通用版本”后面那堆get/post/put/...算是常用 HTTP 方法的快捷封装。4. GET最常用的读取数据方式4.1 接口说明get(url: URLOrString, destination?: ResponseBodyDestination): PromiseResponseurl要请求的地址destination响应体目标可选比如流式处理或者指定存储方式返回PromiseResponse4.2 示例发一个 GET 请求import { rcp } from kit.RemoteCommunicationKit; import { BusinessError } from kit.BasicServicesKit; // 1. 请求地址示例实际按自己的接口来 const getURL http://www.example.com/get; // 2. 创建会话 const session rcp.createSession(); // 3. 发 GET 请求 session.get(getURL) .then((response: rcp.Response) { console.info(Response succeeded: ${response}); // 这里可以继续处理 response.body / response.headers / response.statusCode }) .catch((err: BusinessError) { console.error( Response err: Code is ${JSON.stringify(err.code)}, message is ${JSON.stringify(err)} ); });特点GET 默认把参数拼在 URL 上比如?id1namexxx适合查数据、拉配置、获取列表 / 详情等。5. POST提交数据的主力请求5.1 接口说明post( url: URLOrString, content?: RequestContent, destination?: ResponseBodyDestination ): PromiseResponsecontent要发给服务器的数据表单 / JSON / file 等都可以封进RequestContentdestination响应体处理方式可选5.2 示例用 fields 提交简单表单数据import { rcp } from kit.RemoteCommunicationKit; import { BusinessError } from kit.BasicServicesKit; // URL 示例 const postURL https://www.example.com; // 构造要提交的内容 const postContent: rcp.RequestContent { fields: { key1: value1, key2: value2, key3: value3 } }; // 创建会话 const session rcp.createSession(); // 发 POST 请求 session.post(postURL, postContent) .then((response: rcp.Response) { console.info(Response headers: ${JSON.stringify(response.headers)}); console.info(Response status: ${JSON.stringify(response.statusCode)}); console.info(Request content: ${JSON.stringify(postContent)}); }) .catch((err: BusinessError) { console.error( Response err: Code is ${JSON.stringify(err.code)}, message is ${JSON.stringify(err)} ); });常见场景创建资源新增提交表单登录、注册、下单等向后端发送 JSON 数据、表单数据6. PUT更新资源的幂等请求PUT 的语义更新指定资源通常是全量更新幂等—— 连续调用多次结果应该是一样的。6.1 接口说明put( url: URLOrString, content?: RequestContent, destination?: ResponseBodyDestination ): PromiseResponse6.2 示例用 PUT 更新资源import { rcp } from kit.RemoteCommunicationKit; import { BusinessError } from kit.BasicServicesKit; // 1. 创建会话 const session rcp.createSession(); // 2. 要提交的内容写法和 POST 类似 const putContent: rcp.RequestContent { fields: { key1: value1, key2: value2, key3: value3 } }; // 3. 发 PUT 请求 session.put(http://www.example.com/put, putContent) .then((response: rcp.Response) { console.info(Response succeeded: ${response}); }) .catch((err: BusinessError) { console.error( Response err: Code is ${JSON.stringify(err.code)}, message is ${JSON.stringify(err)} ); });我自己的使用习惯新增用 POST整体更新用 PUT局部更新比如只改一个字段如果接口支持会用 PATCH如果后面有对应封装的话7. HEAD只要响应头不要内容HEAD 很适合这种场景想知道文件多大、最后更新时间等元信息想检查资源是否存在 / 是否有权限想探测接口状态但是不想拉整个响应体。7.1 接口说明head(url: URLOrString): PromiseResponse7.2 示例发一个 HEAD 请求import { rcp } from kit.RemoteCommunicationKit; import { BusinessError } from kit.BasicServicesKit; // 1. 创建会话 const session rcp.createSession(); // 2. 发 HEAD 请求 session.head(http://www.example.com/head) .then((response: rcp.Response) { console.info(Response succeeded: ${response}); // 关注 response.headers 就够了 }) .catch((err: BusinessError) { console.error( Response err: Code is ${JSON.stringify(err.code)}, message is ${JSON.stringify(err)} ); });8. DELETE删除远端资源DELETE 语义删除指定 URL 对应的资源。8.1 接口说明delete(url: URLOrString): PromiseResponse8.2 示例DELETE 请求import { rcp } from kit.RemoteCommunicationKit; import { BusinessError } from kit.BasicServicesKit; // 1. 创建会话 const session rcp.createSession(); // 2. 发 DELETE 请求 session.delete(http://www.example.com/delete) .then((response: rcp.Response) { console.info(Response succeeded: ${response}); }) .catch((err: BusinessError) { console.error( Response err: Code is ${JSON.stringify(err.code)}, message is ${JSON.stringify(err)} ); });常见用在删除某个记录取消某个预约/订阅清理服务端的一些临时资源9. Form发送简单表单数据RequestContent当我们在 HTTP 请求中要发表单数据时可以用Form来生成一个RequestContent直接丢给 Request。9.1 版本点从6.0.1(21)开始Form支持keys属性可以用来控制表单中 Key 的发送顺序。9.2 示例使用 Form 发送简单表单import { rcp } from kit.RemoteCommunicationKit; import { BusinessError } from kit.BasicServicesKit; // 1. 创建 Form 表单数据 const simpleForm new rcp.Form({ key1: value1, key2: value2, }); // 2. 指定发送顺序 // - 指定后按 [key2, key1] 的顺序发送 // - 不在列表中的 key 不会被发送 simpleForm.keys [key2, key1]; // 3. 创建 Request let req new rcp.Request(http://example.com); req.content simpleForm; // 4. 创建会话 发 fetch 请求 try { const session rcp.createSession(); session.fetch(req) .then((resp: rcp.Response) { console.info(Response succeeded: ${JSON.stringify(resp)}); session.close(); }) .catch((err: BusinessError) { console.error( Response err: Code is ${JSON.stringify(err.code)}, message is ${JSON.stringify(err)} ); session.close(); }); } catch (err: any) { console.error( createSession err: Code is ${JSON.stringify(err.code)}, message is ${JSON.stringify(err)} ); }这里有一个小细节如果指定了keys只会发送keys里出现的字段并且按照keys的顺序发送。如果不指定keys默认按各个 key 的 hash 顺序发送。这个在一些后端“严格按顺序解析”或者“签名校验里包含顺序”的场景特别有用。10. MultipartForm发送多部分表单文件上传等如果要发的是带文件 / 多部分的数据就要上MultipartForm典型场景就是文件上传。10.1 版本点同样是从6.0.1(21)开始MultipartForm也支持keys来指定发送顺序。10.2 示例使用 MultipartForm 发送多部分数据import { rcp } from kit.RemoteCommunicationKit; import { BusinessError } from kit.BasicServicesKit; // 1. 创建 MultipartForm 数据 const multiForm new rcp.MultipartForm({ key1: value1, key2: value2, key3: value3, // 实际项目里这里可以放文件、二进制内容等 }); // 2. 指定发送顺序 multiForm.keys [key3, key1, key2]; // 3. 创建 Request let req new rcp.Request(http://example.com); req.content multiForm; // 4. 创建会话 发请求 try { const session rcp.createSession(); session.fetch(req) .then((resp: rcp.Response) { console.info(Response succeeded: ${JSON.stringify(resp)}); session.close(); }) .catch((err: BusinessError) { console.error( Response err: Code is ${JSON.stringify(err.code)}, message is ${JSON.stringify(err)} ); session.close(); }); } catch (err: any) { console.error( createSession err: Code is ${JSON.stringify(err.code)}, message is ${JSON.stringify(err)} ); }可以把它理解成Form纯 key-value 文本表单MultipartForm可以混合文本 文件的多段表单对应multipart/form-data场景11. 我自己的几点实战小结最后用几条“以后写代码要记得注意”的点收个尾所有请求都基于 Session统一入口const session rcp.createSession()用完记得session.close()特别是频繁请求的场景。简单就用 get/post复杂用 fetch RequestGET / POST / PUT / HEAD / DELETE 适合常规接口有特殊 header / 复杂 body / 特殊目的时构造一个Requestsession.fetch()会更自在。错误处理一定要写到 catch 里Promise 风格then(...).catch((err: BusinessError) { ... })err.codeerr.message是排查问题的关键。Form / MultipartForm 的 keys 顺序不要忽略遇到和后端签名、网关校验这些“对顺序敏感”的情况时simpleForm.keys/multiForm.keys非常好用。记得设备约束这套能力支持 Phone / 2in1 / Tablet / WearableTV 要从5.1.1(19)开始才支
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

盘锦做网站企业珠海电商网站建设

第一章:Open-AutoGLM滑动操作失效修复在使用 Open-AutoGLM 框架进行移动端自动化测试时,部分用户反馈滑动(swipe)操作无法正常触发,导致页面交互流程中断。该问题通常出现在高分辨率设备或特定 Android 系统版本中&…

张小明 2026/1/7 15:21:19 网站建设

预付网站建设费会计处理快速优化系统

S7NetPlus:构建现代工业自动化系统的跨平台PLC通信解决方案 【免费下载链接】s7netplus 项目地址: https://gitcode.com/gh_mirrors/s7n/s7netplus 在工业4.0和智能制造快速发展的今天,实现设备间的无缝通信成为提升生产效率的关键。S7NetPlus作…

张小明 2026/1/12 6:34:12 网站建设

家具网站怎么做百度给做网站收费多少钱

Gofile.io作为流行的在线文件存储平台,其Python下载工具gofile-downloader通过系统化的技术架构实现了高效的文件获取机制。本文将从技术实现角度深入解析该工具的核心设计理念与操作实践。 【免费下载链接】gofile-downloader Download files from https://gofile.…

张小明 2026/1/8 4:56:10 网站建设

公共服务网站系统建设方案体验好的网站

特性工作输入电压范围:2.5V至5.5V固定输出电压:1.2V、1.5V、1.8V、2.5V、2.6V、2.8V、2.85V、3.0V和3.3V输出电压精度:25C时为3%低输出噪声:140μV_RMS(典型值)低压差:250mA时为230mV&#xff0…

张小明 2026/1/8 4:56:12 网站建设

怎么建设小型网站html转换成wordpress主题

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个企业级微软系统下载管理器,支持批量获取Windows各版本直链,自动验证数字签名,生成下载报告。包含断点续传功能和企业内网分发方案。点击…

张小明 2026/1/7 20:41:09 网站建设

vps可以做几个网站昆明app制作公司在哪里

还在为网站安全提心吊胆?NAXSI这款开源神器能让你的Nginx服务器瞬间升级为专业级Web应用防火墙!它通过智能学习机制,用最简单的规则防御99%的已知威胁,包括XSS攻击和SQL注入。今天,就让我们一起解锁这个安全利器的安装…

张小明 2026/1/8 4:56:11 网站建设