小程序之间互相调用

1:小程序能正常跳转到另一个小程序的前提是:这两个小程序被同一个微信公众号关联,否则无法跳转。

找到小程序的公众号,把两个小程序都关联在相同的公众号下面,对方的小程序

官方地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/qywx-dev.html

接入介绍

  1. 进入小程序管理后台基础设置 > 小程序相互跳转 中修改配置。
  2. 进入配置界面,可配置“允许任何小程序跳转”或“指定小程序跳转”。
  3. 若只允许部分小程序可唤起,可配置成“指定小程序跳转”,配置方式如下:
    1. 选择“指定小程序跳转”;
    2. 在小程序appid一栏输入允许跳转的appid,点击查询;
    3. 在下方列表页中点击添加,然后点击确定,配置生效。

image.png

image.png

API 介绍

接口名称接口描述
my.navigateToMiniProgram跳转到其他小程序

 

 

 

2:在app.json里面需要找到 Window节点,在window下面配置一个:navigateToMiniProgramAppIdList,内容是被调用的小程序 appid。

 

3:官方地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/qywx-dev.html

path :获取的对方进入的页面  

  app-id:对方的appid

 

 

<input class='input phone' placeholder='请输入验证码' bindinput="VerificationCode" ></input>

<view class='vc'>|</view>

<view class='Obtain'>

<navigator target="miniProgram"

app-id="wxb7c8f9ea9ceb4663"

path="/pages/captcha/index"

extra-data="{{ { captchaId: '883464f032c9481a891b5fb9fb49bd23' } }}">

获取验证码

</navigator>

</view>

 

 

### 微服务架构中服务间互相调用的方式 微服务架构的核心在于将应用程序分解为一组小型、独立部署的服务,每项服务专注于单一职责并通过轻量级协议进行通信。因此,服务间的高效互操作成为设计的关键部分[^1]。 #### 一、同步通信方式 同步通信意味着客户端发出请求后需等待服务器返回结果才能继续运行。这种方式适用于实时性强的场景,例如订单创建或支付确认等即时反馈需求高的流程。 ##### 1. HTTP/RESTful API 这是最常见的一种服务间通讯形式,具有良好的通用性和易理解性。它采用无状态的设计原则,适合跨平台集成环境下的数据交换。然而,由于其基于文本的表现形式(通常是JSON),相较于二进制序列化的效率较低[^3]。 ```java // 示例:使用Java发送HTTP GET请求 HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("http://serviceB/api/resource")) .build(); HttpResponse<String> response = client.send(request, BodyHandlers.ofString()); System.out.println(response.body()); ``` ##### 2. gRPC gRPC是由Google开发的一套高性能远程过程调用框架,支持多种编程语言,并且默认使用Protocol Buffers作为接口定义语言(IDL)和底层消息格式。相比传统的REST APIs,gRPC提供了更高的传输效能和服务发现能力,尤其适配那些追求低延迟高吞吐率的应用场合[^4]。 ```proto syntax = "proto3"; package example; service Greeter { rpc SayHello (HelloRequest) returns (HelloResponse); } message HelloRequest { string name = 1; } message HelloResponse { string message = 1; } ``` --- #### 二、异步通信方式 异步通信允许发送者不必等到接收者的回应就能继续后续动作,这有助于构建松耦合系统并提高整体可用性。典型代表包括事件驱动模型和消息队列解决方案。 ##### 1. 消息队列(MQ) 通过引入中间件如RabbitMQ,Kafka等工具实现生产者消费者模式下的解耦效果。这类方案非常适合处理批量作业或者背景任务调度等问题领域[^2]。 ```python import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() def callback(ch, method, properties, body): print(f"Received {body}") channel.basic_consume(queue='task_queue', on_message_callback=callback, auto_ack=True) print(' [*] Waiting for messages.') channel.start_consuming() ``` --- #### 三、最佳实践总结 尽管存在众多可行的技术手段可供选择,但在实际工程实践中仍需综合考量如下几个方面来决定最适合自己的那一种: - **性能要求**:如果目标是达到极高的响应速度,则倾向于选用像gRPC这样的二进制协议而非纯文本表述法。 - **团队技能栈**:考虑到现有成员熟悉程度及未来招聘难度等因素影响最终决策方向。 - **扩展灵活性**:对于预计会有频繁变更的部分优先考虑易于重构调整的形式比如基于事件总线的通知机制而不是固定契约式的函数签名匹配关系[^4]。 综上所述,在大多数情况下,“对外REST,对内RPC”的混合策略往往能够兼顾到各方面利益平衡点之上取得不错的效果表现出来。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值