当前位置: 首页 > news >正文

华为云API自然语言处理的魅力—AI情感分析、文本分析

云服务、API、SDK,调试,查看,我都行

阅读短文您可以学习到:人工智能AI自言语言的情感分析、文本分词、文本翻译

1 IntelliJ IDEA 之API插件介绍

API插件支持 VS Code IDE、IntelliJ IDEA等平台、以及华为云自研 CodeArts IDE,基于华为云服务提供的能力,帮助开发者更高效、便捷的搭建应用。API插件关联华为云服务下的 API Explorer、DevStar、CodeLabs、SDK 中心和 CLI 中心产品,致力于为开发者提供更稳定、快速、安全的编程体验。

在本插件中,我们提供了但不局限于如下的功能:

对接华为云API开放平台,支持用户检索API、查看API文档、调试API、以及提供SDK示例代码供用户学习如何使用API。

提供华为云SDK代码片段补全功能,SDK依赖包自动引入,加速用户集成华为云API。

对接华为云开发体验馆Codelabs,提供500+云服务代码示例,向导式教程帮助用户快速学习。

说明:

在IntelliJ IDEA等系列平台和VS Code IDE,华为云API插件的名称是Huawei Cloud API。而在CodeArts IDE,API插件是IDE原生内置的,名称是华为云API开发套件。

API插件在IntelliJ IDEA等系列平台和VS Code IDE的使用依赖底座插件,请提前安装底座插件。

2  API插件安装--IntelliJ IDEA

2.1 IntelliJ IDEA等平台

安装准备:下载并安装JDK1.8或更高版本。下载并安装IntelliJ IDEA 2020.2或更高版本。

须知:IntellIj平台同时支撑包括Goland、Pycharm等在内的IDE,若在其它相关IDE上开发,请下载配置好对应语言的编译器或者解释器。这里以IDEA为例介绍IntelliJ平台插件的安装流程,其他IntelliJ系列的IDE请参考IDEA。

开始安装:

您可以在直接在IDE插件市场或者直接在JetBrains插件市场下载离线包安装。

IDE安装

  1. 在IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。
  2. Plugins区域单击Marketplace,在搜索栏中输入Huawei Cloud API。
  3. Search Results区域会出现Huawei Cloud API,单击Install,完成后重启IDE。

离线包安装:

  1. 进入插件市场搜索Huawei Cloud API,进入插件详情页,在Versions页签下选择想要版本的API插件,点击Download下载离线的插件压缩包保存到本地。。
  2. 在IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。
  3. 在Plugins区域单击 ,再单击Install Plugin from Disk...。
  4. 在Choose Plugin File对话框中选择离线安装包(不用解压),并按照IntelliJ IDEA安装页面的提示,完成后续安装步骤。

说明:若当前您想要安装插件的IntelliJ IDE已经在桌面打开,则进入插件市场搜索Huawei Cloud API,进入插件详情页,在右上角会识别到本地已经打开的IDE,点击相应按钮,在弹出的IDE窗口中点击ok,则IDE后台会开始安装相应版本的API插件。

安装验证:在IntelliJ系列平台上安装插件成功后在左侧的导航栏中可以看到Huawei Cloud Toolkit图标,点击后面板会出现Huawei Cloud API的字样,则说明安装成功。

3 AI情感分析、文本分析

3.1 API列表

左侧展示API列表,可以查询所有API,目前云服务206,APIs9213

3.2  情感分析

情感分析(基础版),针对通用领域的用户评论进行情感分析。

前提条件:

1、已注册华为云,并完成实名认证 。

2、已完成自然语言处理服务申请,具体请参考 申请服务。

3、已获取自然语言处理服务对应区域终端节点地址,具体请参考 地区和终端节点。

4、已获取自然语言处理服务对应区域的项目ID,请在华为云控制台“我的凭证 > API凭证”页面上查看项目ID。具体请参见 API凭证。

5、已获取华为云帐号对应的有效AK、SK,具体请参见 如何获取访问密钥AK/SK。

6、已具备开发环境 ,支持Java JDK 1.8及其以上版本。

开始使用:

import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ClientRequestException;
import com.huaweicloud.sdk.core.exception.ServerResponseException;
import com.huaweicloud.sdk.nlp.v2.NlpClient;
import com.huaweicloud.sdk.nlp.v2.model.HWCloudSentimentReq;
import com.huaweicloud.sdk.nlp.v2.model.RunSentimentRequest;
import com.huaweicloud.sdk.nlp.v2.model.RunSentimentResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class RunSentiment {private static final Logger logger = LoggerFactory.getLogger(RunSentiment.class.getName());public static void main(String[] args) {/** 初始化认证信息,相关参数说明如下所示:*   - ak:华为云账号Access Key。*   - sk:华为云账号Secret Access Key 。*/String ak = "<YOUR AK>";String sk = "<YOUR SK>";String projectId = "<YOUR PROJECT ID>";String endpoint = "<APIG ENDPOINT>";BasicCredentials auth = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId);NlpClient client = NlpClient.newBuilder().withCredential(auth).withEndpoint(endpoint).build();try {// 构造请求参数HWCloudSentimentReq sentimentReq = new HWCloudSentimentReq();sentimentReq.setContent("<YOUR CONTENT>");sentimentReq.setLang(HWCloudSentimentReq.LangEnum.ZH);RunSentimentRequest runSentimentRequest = new RunSentimentRequest();runSentimentRequest.setBody(sentimentReq);// 接收响应参数RunSentimentResponse response = client.runSentiment(runSentimentRequest);logger.info(response.toString());} catch (ClientRequestException e) {logger.error(String.valueOf(e.getHttpStatusCode()));logger.error(e.toString());} catch (ServerResponseException e) {logger.error(String.valueOf(e.getHttpStatusCode()));logger.error(e.getMessage());}}
}

3.3 文本分词

文本分词,对文本进行分割,返回分割后的词语组和词语对应的词性。

开始使用:

import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ClientRequestException;
import com.huaweicloud.sdk.core.exception.ServerResponseException;
import com.huaweicloud.sdk.nlp.v2.NlpClient;
import com.huaweicloud.sdk.nlp.v2.model.RunSegmentRequest;
import com.huaweicloud.sdk.nlp.v2.model.RunSegmentResponse;
import com.huaweicloud.sdk.nlp.v2.model.SegmentRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class RunSegment {private static final Logger logger = LoggerFactory.getLogger(RunSegment.class.getName());public static void main(String[] args) {/** 初始化认证信息,相关参数说明如下所示:*   - ak:华为云账号Access Key。*   - sk:华为云账号Secret Access Key 。*/String ak = "<YOUR AK>";String sk = "<YOUR SK>";String projectId = "<YOUR PROJECT ID>";String endpoint = "<APIG ENDPOINT>";BasicCredentials auth = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId);NlpClient client = NlpClient.newBuilder().withCredential(auth).withEndpoint(endpoint).build();try {// 构造请求参数SegmentRequest segmentRequest = new SegmentRequest();segmentRequest.setText("<YOUR TEXT>");segmentRequest.setLang(SegmentRequest.LangEnum.fromValue("zh"));segmentRequest.setCriterion(SegmentRequest.CriterionEnum.fromValue("PKU"));segmentRequest.setPosSwitch(SegmentRequest.PosSwitchEnum.fromValue(0));RunSegmentRequest runSegmentRequest = new RunSegmentRequest();runSegmentRequest.setBody(segmentRequest);// 接收响应参数RunSegmentResponse response = client.runSegment(runSegmentRequest);logger.info(response.toString());} catch (ClientRequestException e) {logger.error(String.valueOf(e.getHttpStatusCode()));logger.error(e.toString());} catch (ServerResponseException e) {logger.error(String.valueOf(e.getHttpStatusCode()));logger.error(e.getMessage());}}
}

3.4 文本翻译

文本翻译,将用户输入原始语种的文本转换为目标语种的文本。

开始使用:

import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ClientRequestException;
import com.huaweicloud.sdk.core.exception.ServerResponseException;
import com.huaweicloud.sdk.nlp.v2.NlpClient;
import com.huaweicloud.sdk.nlp.v2.model.RunTextTranslationRequest;
import com.huaweicloud.sdk.nlp.v2.model.RunTextTranslationResponse;
import com.huaweicloud.sdk.nlp.v2.model.TextTranslationReq;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class RunTextTranslation {private static final Logger logger = LoggerFactory.getLogger(RunTextTranslation.class.getName());public static void main(String[] args) {/** 初始化认证信息,相关参数说明如下所示:*   - ak:华为云账号Access Key。*   - sk:华为云账号Secret Access Key 。*/String ak = "<YOUR AK>";String sk = "<YOUR SK>";String projectId = "<YOUR PROJECT ID>";String endpoint = "<APIG ENDPOINT>";BasicCredentials auth = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId);NlpClient client = NlpClient.newBuilder().withCredential(auth).withEndpoint(endpoint).build();try {// 构造请求参数TextTranslationReq textTranslationReq = new TextTranslationReq();textTranslationReq.setFrom(TextTranslationReq.FromEnum.ZH);textTranslationReq.setTo(TextTranslationReq.ToEnum.EN);textTranslationReq.setText("<YOUR TEXT>");textTranslationReq.setScene(TextTranslationReq.SceneEnum.COMMON);RunTextTranslationRequest runTextTranslationRequest = new RunTextTranslationRequest();runTextTranslationRequest.setBody(textTranslationReq);// 接收响应参数RunTextTranslationResponse response = client.runTextTranslation(runTextTranslationRequest);logger.info(response.toString());} catch (ClientRequestException e) {logger.error(String.valueOf(e.getHttpStatusCode()));logger.error(e.toString());} catch (ServerResponseException e) {logger.error(String.valueOf(e.getHttpStatusCode()));logger.error(e.getMessage());}}
}

4  如何使用SDK调用华为云NLP服务

4.1  操作须知

自然语言处理的API接口已全部商用,无需开通,可直接调用。调用费用请参见自然语言处理价格计算器。

准备工作:已注册华为帐号并开通华为云,并完成实名认证,帐号不能处于欠费或冻结状态。

步骤1:配置环境

  1. 下载NLP Java SDK。

下载地址:https://nlp-sdk.obs.cn-north-4.myhuaweicloud.com/nlp-java-sdk.zip

  1. 准备环境。

说明:

如果用户已经下载JDK并配置好环境,请跳过2.a~2.d。

  1. 下载JDK文件。
  2. 下载完成后按照提示安装,位置自选,例如安装到本地C:\Program Files\Java\jdk1.8.0_131。
  3. 配置Java环境变量:右键“计算机>属性>高级系统设置>环境变量”,进行如下操作。
  4. 新建系统变量JAVA_HOME,变量值为实际JDK安装位置。
  5. 在Path中添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin (注意用英文分号分隔)。
  6. 打开命令行窗口,输入“java -version”,显示如图1表示配置成功。
  7. IntelliJ IDEA安装。在https://www.jetbrains.com/idea/ 或者其他途径下载对应平台的IntelliJ IDEA版本,安装后直接打开IntelliJ IDEA,一般会自动检查JRE路径并配置。

图1 Java版本信息

  1. JAVA SDK Demo工程导入
    1. 单机左上角“File”页面打开菜单。
    2. 选择“Open”,再选择对应要打开工程,选择Demo工程目录,注意目录下一级就要包含pom文件。
    3. 单击“确认”,导入demo,导入后打开工程,工程目录如下:

步骤2:设置鉴权信息

获取AK/SK。AK/SK即访问密钥,请登录“我的凭证”界面,选择“管理访问密钥 > 新增访问密钥”获取。

AK/SK认证鉴权,配置Java SDK中的AK/SK。根据获取的AK/SK,修改Demo工程“NLPDemo.java”文件中函数的“AK”和“SK”的值。

图3 AK/SK认证鉴权

步骤3:调用分词服务

执行Demo,控制台输出状态码“200”即表示程序执行成功。

分词识别的返回结果为JSON格式,如下所示。

{"words": [{"content": "今天","pos": "t"},{"content": "天气","pos": "n"},{"content": "真","pos": "d"},{"content": "好","pos": "a"}]
}

4.2  展现效果

5 体验插件的魅力

华为云devkit已上线:Toolkit-华为云

相关文章:

华为云API自然语言处理的魅力—AI情感分析、文本分析

云服务、API、SDK&#xff0c;调试&#xff0c;查看&#xff0c;我都行 阅读短文您可以学习到&#xff1a;人工智能AI自言语言的情感分析、文本分词、文本翻译 1 IntelliJ IDEA 之API插件介绍 API插件支持 VS Code IDE、IntelliJ IDEA等平台、以及华为云自研 CodeArts IDE&a…...

微擎小程序获取不到头像和昵称解决方案

这是一个使用微擎小程序的代码示例&#xff0c;其中包含了获取用户头像和昵称的功能。以下是解决方案&#xff1a; 首先&#xff0c;在<button>标签上添加open-type"chooseAvatar"属性&#xff0c;并绑定bindchooseavatar事件&#xff1a; <button class&qu…...

Qt 对界面类重命名的步骤

有些时候因为一些原因&#xff0c;需要修改Qt中创建的界面类&#xff0c;修改的地方比较多&#xff0c;一定要留意有没有修改完全&#xff0c;否则会出现各种奇怪报错。 比如&#xff0c;将MainWindow界面类名修改为lb_logdisplay 修改步骤&#xff1a; 修改文件名&#xff1a;…...

使用docker搭建nacos单机、集群 + mysql

单机搭建 1 拉取mysql镜像 docker pull mysql:5.7.40 2 启动mysql容器 docker run -d --namemysql-server -p 3306:3306 -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD123456 mysql:5.7.40 3 执行nacos的数据库脚本 /* * Copyright 1999-2018 Alibaba Group Holding L…...

FreeRTOS自我救赎2之基本工程建立

System Core 1.System Core >SYS 2.System Core >RCC 3.System Core >NVIC Middleware Middleware >FREERTOS Clock configuration Project Manager 在编译生成的代码前需要找一个与芯片对应的启动文件&#xff0c;启动文件添加进来&#xff0c;编译就没问题了...

【C++设计模式之解释器模式:行为型】分析及示例

简介 解释器模式&#xff08;Interpreter Pattern&#xff09;是一种行为型设计模式&#xff0c;它提供了一种解决问题的方法&#xff0c;通过定义语言的文法规则&#xff0c;解释并执行特定的语言表达式。 解释器模式通过使用表达式和解释器&#xff0c;将文法规则中的句子逐…...

35 WEB漏洞-逻辑越权之找回机制及接口安全

目录 找回重置机制接口调用乱用演示案例绑定手机验证码逻辑-Rep状态值篡改-实例某APP短信轰炸接口乱用-实例接口调用发包 文章分享&#xff1a;https://www.cnblogs.com/zhengna/p/15655691.html 有支付接口、短信发送接口&#xff0c;邮箱的发送接口等等&#xff0c;在接口这…...

黑豹程序员-架构师学习路线图-百科:JSON替代XML

文章目录 1、数据交换之王2、XML的起源3、JSON诞生4、什么是JSON 1、数据交换之王 最早多个软件之间使用txt进行信息交互&#xff0c;缺点&#xff1a;纯文本&#xff0c;无法了解其结构&#xff1b;之后使用信令&#xff0c;如&#xff1a;电话的信令&#xff08;拨号、接听、…...

考研人考研魂——英语单词篇(20231009)

下一站&#xff0c;上岸 consoleconsistentconsistconstituteconstitutionconstituentconstructdistinctdistinguishdistinctionconstantconstrainfruitfulfulfillfundfunctionfrustrateevidencefundamentalevilevidentenvironmententertainmententertainenterprisemonotonousm…...

【数据结构】HashSet的底层数据结构

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 HashSet 一、 HashSet 集合的底层数据结构二…...

数据结构与算法(七)--使用链表实现栈

一、前言 之前我们已经学习了链表的所有操作及其时间复杂度分析&#xff0c;我们可以了解到对于链表头的相关操作基本都是O(1)的&#xff0c;例如链表头增加、删除元素&#xff0c;查询元素等等。那我们其实有一个数据结构其实可以完美利用到这些操作的特点&#xff0c;都是在…...

分布式事务详解

摘要 分布式事务主要包括2pc、3pc、消息事务。 2pc指两阶段提交&#xff1a; 第一阶段是准备阶段&#xff1a;所有事务参与者检查执行能力并锁定对应资源&#xff0c;准备完成后将状态告知协调者。第二集段是提交状态&#xff1a;事务参与者全部准备好后&#xff0c;协调者发…...

车载通信架构 —— DDS协议介绍

车载通信架构 —— DDS协议介绍 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消耗你的人和…...

nginx根据不同的客户端设备进行转发请求——筑梦之路

这里主要介绍七层负载方式实现。 环境说明&#xff1a; pc端 web-1 苹果ios端 web-2 安卓Android端 web-3 负载均衡 web-lb 配置示例&#xff1a; pc端&#xff1a; server {listen 9000; #监听9000server_name pc.xxx.com;charset utf-8;location / {root /…...

增强LLM:使用搜索引擎缓解大模型幻觉问题

论文题目&#xff1a;FRESHLLMS:REFRESHING LARGE LANGUAGE MODELS WITH SEARCH ENGINE AUGMENTATION 论文地址&#xff1a;https://arxiv.org/pdf/2310.03214.pdf 论文由Google、University of Massachusetts Amherst、OpenAI联合发布。 大部分大语言模型只会训练一次&#…...

WPF向Avalonia迁移(一、一些通用迁移项目)

通用变更 WPF&#xff1a;Visibility 其他参考文档 WPF&#xff1a; <TextBlock Visibility"Visible"/><TextBlock Visibility"Collapsed"/><TextBlock Visibility"Hidden"/>Avalonia &#xff1a; <TextBlock IsVisib…...

lua学习笔记

单行注释&#xff1a; 多行注释&#xff1a; 命名&#xff1a; Lua不支持下划线大写字母&#xff0c;比如&#xff1a;_ABC 但支持&#xff1a;_abc 关键字&#xff1a; 全局变量&#xff1a; 直接变量名 内容就是全局 局部变量&#xff1a; 加上local即可 nil&#xff1…...

修改 ModelScope 默认缓存路径

修改 ModelScope 默认缓存路径 设置 MODELSCOPE_CACHE 和 MODELSCOPE_MODULES_CACHE 两个环境变量。 export MODELSCOPE_CACHE<your_favourite_path>/hub export MODELSCOPE_MODULES_CACHE<your_favourite_path>/modelscope_modules完结&#xff01;...

【ES实战】索引别名的使用说明

索引别名 文章目录 索引别名带有过滤器的别名RoutingWrite Index REST单一添加一个别名示例: 索引创建是增加别名删除别名检索现有别名示例: 索引别名可以通过API的方式进行操作一个索引别名可以映射到一个或一个以上的索引索引名和索引别名不能重复&#xff0c;在集群中都是唯…...

QT信号与槽机制 和 常用控件介绍

QT信号与槽机制 1、信号(signal): 所谓信号槽 (观察者模式)信号本质是事件。信号展现方式就是函数。当某一个事件发生之后&#xff0c;则发出一个信号(signal). 2、槽(slot): 就是对信号响应的函数&#xff0c;槽就是一个函数。槽函数与普通函数区别槽函数可以与一个信号关联&…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...