腾讯IM音视频通话开发日记:从TUIKit配置到双机联调的全记录(uniapp版)

uniapp + 腾讯IM实战:5步搞定TUIKit接入(Vue3避坑指南) 本文详细介绍了在Uniapp(Vue3)项目中,如何通过五个关键步骤高效接入腾讯IM的TUIKit组件库,并重点解析了音视频通话功能TUICallKit的集成与避坑指南。内容涵盖项目初始化、SDK配置、组件集成、音视频开通及真机调试全流程,旨在帮助开发者快速实现社交应用的即时通讯与音视频通话核心功能。 阅读详情

腾讯IM音视频通话开发日记:从TUIKit配置到双机联调的全记录(uniapp版)

最近在做一个需要即时通讯和实时音视频功能的跨端应用,选型时重点考察了腾讯云IM。官方提供的TUIKit和TUICallKit组件库,号称能大幅降低开发门槛。但真正上手时,我发现从基础聊天到音视频通话的完整链路,尤其是那些官方文档里一笔带过、却能让新手卡壳的“魔鬼细节”,才是决定项目能否顺利落地的关键。这篇日记,就记录了我从零开始,在uniapp框架下整合这两大组件,并最终实现双机真实联调的完整过程。如果你也打算用这套方案,希望我的踩坑和填坑经验能帮你少走弯路。

1. 项目初始化与TUIKit基础集成

万事开头难,但一个好的开始能避免后续无数麻烦。我选择从创建一个全新的uniapp项目开始,这能确保环境纯净,避免与旧项目依赖冲突。

第一步是创建项目。 在HBuilderX中新建项目时,我遇到了第一个选择:Vue2还是Vue3?官方TUIKit的uniapp版本明确要求使用Vue3。我起初不信邪,用Vue2创建了一个项目尝试导入,结果在编译阶段就遭遇了各种奇怪的语法错误和兼容性问题,折腾半天无果。所以,第一个铁律:请务必选择Vue3版本创建uniapp项目。这不仅仅是版本号不同,其底层的响应式系统和生命周期管理都与TUIKit组件深度绑定。

项目创建好后,按照腾讯云IM官方文档的指引,通过npm安装@tencentcloud/chat-uikit-uniapp。这里有个小技巧:安装后,最好在package.json里锁定一个稳定的版本号,避免后续因自动升级导致不可预知的问题。

{
  "dependencies": {
    "@tencentcloud/chat-uikit-uniapp": "^0.1.3" // 示例版本号,请以实际最新版为准
  }
}

接下来是核心的初始化配置。你需要在腾讯云IM控制台创建一个应用,获取到至关重要的SDKAppID。此外,还需要生成一个UserID和一个UserSig。UserSig是用户登录鉴权的凭证,其生成涉及密钥计算,绝对不能在客户端明文硬编码密钥。对于开发测试,腾讯云提供了在控制台临时生成UserSig的功能,但这仅限于调试。正式环境必须由你的业务服务器按照相同算法生成并下发给客户端。

初始化代码通常放在App.vue的onLaunch生命周期中:

import { TIM, TIMUploadPlugin } from ‘tim-js-sdk’;
import { TUIStore, StoreName } from ‘@tencentcloud/tui-chat’;

export default {
  onLaunch() {
    // 1. 创建TIM实例
    const tim = TIM.create({ SDKAppID: 你的SDKAppID });
    // 注册文件上传插件(用于图片、文件消息)
    tim.registerPlugin({ ‘tim-upload-plugin’: TIMUploadPlugin });

    // 2. 登录IM
    tim.login({
      userID: ‘testUser001’,
      userSig: ‘生成的UserSig字符串’,
    }).then(() => {
      console.log(‘登录成功’);
      // 3. 初始化TUIStore,将TIM实例与UI组件库关联
      TUIStore.initStore();
      TUIStore.update(StoreName.USER, ‘tim’, tim);
      TUIStore.update(StoreName.USER, ‘userID’, ‘testUser001’);
    }).catch(error => {
      console.error(‘登录失败:’, error);
    });
  }
}

完成这些,一个具备基础文字、图片、表情聊天功能的页面其实就已经准备好了。你可以在需要的页面引入<tui-conversation>、<tui-chat>等组件,快速搭建起聊天界面。

注意:真机调试时,如果遇到页面能显示但搜索不到用户、无法发送消息的情况,请首先检查网络环境。确保测试手机的网络能正常访问腾讯云IM服务。此外,确认登录的UserID在同一个SDKAppID下,并且已经相互添加为好友(或加入了同一个群组),因为单聊需要好友关系。

2. 跨越云端插件与自定义基座的门槛

基础聊天跑通后,我迫不及待地想接入音视频通话能力。这就是TUICallKit组件登场的时候了。然而,从TUIKit到TUICallKit,并非简单的“安装即用”,中间横亘着两道对于uniapp开发者来说可能比较陌生的关卡:云端原生插件和自定义调试基座。

第一关:购买与绑定云端插件。 uniapp为了实现某些原生能力(如这里的高性能音视频采集渲染),采用了“云端插件”机制。当你按照文档引入TUICallKit并运行时,控制台很可能会报错,提示“模块未绑定”或直接引导你到一个购买链接。

  1. 购买插件:你需要前往DCloud的插件市场,搜索“腾讯云音视频插件”。通常会有免费试用版(如7天试用),用于开发测试完全足够。点击购买并选择“免费试用”。
  2. 关键步骤:绑定应用信息。这是最容易被忽略的一步!购买插件后,必须登录DCloud开发者后台,在“我的插件”列表中找到刚购买的腾讯云音视频插件,进行“绑定应用”。
    • 你需要填写当前uniapp项目的AppID(在HBuilderX项目manifest.json中可见)。
    • 对于Android平台,还必须填写Android包名(Bundle Identifier)。这个包名需要与后续你在腾讯云IM控制台配置的Android推送证书包名,以及最终打包APK时使用的包名完全一致。

提示:包名最好在项目开始时就规划好,采用反域名格式,如 com.yourcompany.yourapp。在 manifest.json -> “App常用其它设置” -> “Android设置”中可以进行配置。

第二关:制作自定义调试基座。 为什么需要这个?因为标准运行基座不包含你刚购买的第三方原生插件。只有制作了“自定义调试基座”,才能将插件代码打包进去,在真机调试时调用原生音视频能力。

操作路径在HBuilderX的菜单:运行 -> 运行到手机或模拟器 -> 制作自定义调试基座。 这个过程会进行云端打包,耗时几分钟。制作成功后,下次真机调试时,HBuilderX会自动使用这个包含了音视频插件的基座进行安装和运行。

这里有一个我踩过的“巨坑”:务必在制作自定义基座之前,完成上述插件的应用绑定。如果你先制作了基座,再去绑定插件,那么已制作的基座里仍然没有插件代码,导致音视频功能依旧无法使用。正确顺序永远是:购买插件 -> 绑定应用AppID和包名 -> 制作自定义调试基座。

3. TUICallKit的接入与企业认证须知

闯过前两关,代码层面的接入反而相对清晰。通过npm安装@tencentcloud/call-uikit-uniapp,然后在项目入口或主聊天页面进行初始化。

初始化TUICallKit需要传入TIM实例(与TUIKit共用同一个),以及一些基础配置:

import { TUICallKit } from ‘@tencentcloud/call-uikit-uniapp’;

// 假设tim实例已从TUIStore中获取
const tim = TUIStore.getData(StoreName.USER, ‘tim’);

const tuiCallKit = new TUICallKit({
  sdkAppId: 你的SDKAppID,
  tim: tim, // 传入已登录的tim实例
  userId: ‘当前用户ID’,
  userSig: ‘当前用户Sig’,
  // 其他可选配置,如是否开启美颜、默认摄像头等
});

接入后,TUICallKit会自动监听来自聊天界面的音视频通话请求(通常通过自定义消息实现),并弹出接听界面。你也可以在代码中主动发起呼叫:

// 发起一个1对1视频呼叫
tuiCallKit.call({
  userId: ‘目标用户ID’, // 被叫方UserID
  type: 1, // 1: 视频通话,2: 语音通话
});

一个至关重要的前提:企业认证。 在兴致勃勃地准备测试通话时,你可能会发现呼叫无法成功,控制台提示权限不足。这是因为腾讯云IM的音视频通话能力,仅对完成企业认证的账号开放。个人认证账号只能使用基础IM功能。

  • 如何认证:登录腾讯云控制台,进入账号中心,找到“企业实名认证”。按照指引填写企业信息(营业执照等)即可。对于中小团队或个人开发者,好消息是企业认证本身是免费的。
  • 开通音视频服务:完成企业认证后,在IM控制台你的应用详情里,找到“功能配置”->“音视频通话”,点击开通。这里同样有免费试用套餐可供开发阶段使用。

完成这两步,你的应用才真正获得了发起和接收音视频通话的“门票”。

4. 双机真实环境联调实战

所有配置就绪,最后一步就是验证功能是否真的能在两个独立设备上跑通。模拟器对测试UI流程有用,但音视频的采集、编码、网络传输、解码、渲染全链路,必须在真实手机上进行联调。

我的测试方案是:准备两个独立的测试UserID,并打包成两个不同的APK进行安装测试。

步骤一:准备测试用户。 在腾讯云IM控制台的“用户管理”中,我创建了两个用户:User_Lily和User_Leo。分别记录下他们的UserID。为了生成各自的UserSig,我写了一个简单的Node.js脚本放在本地,输入UserID即可输出对应的测试用UserSig(仅用于开发测试)。

步骤二:差异化打包。 我们不能在同一个APP里动态切换登录用户来模拟两个客户端。更真实的方法是打包两个应用,每个应用内置不同的登录信息。这里有几种思路:

  1. 使用HBuilderX的“环境变量”:创建不同的运行配置文件(如dev_lily、dev_leo),通过process.env.UNI_APP_MODE来区分,并在代码中根据环境变量加载对应的UserID和UserSig。
  2. 更直接的临时方案(适用于快速测试):直接修改源码中的登录信息,分别打包两次。虽然笨,但对于验证核心功能最快。

以修改源码为例:

  • 第一次打包:将App.vue中的登录代码里的userID和userSig改为User_Lily的信息。通过HBuilderX的“发行”->“原生App-云打包”,生成app_lily.apk。
  • 第二次打包:修改为User_Leo的信息,重新云打包,生成app_leo.apk。

步骤三:安装与测试。 将两个APK分别安装到两部实体手机上。确保两部手机连接的网络质量良好(建议使用同一Wi-Fi,以排除复杂网络环境干扰)。

  1. 同时打开两个APP,它们会自动登录各自的账号。
  2. 在APP的聊天界面(如果已实现),确保两个账号已是好友。或者,TUICallKit也支持通过UserID直接呼叫。
  3. 在Lily的手机上,向Leo发起视频呼叫。
  4. 观察Leo的手机是否立即响起铃声并弹出接听界面。
  5. 接听后,观察双方画面和声音是否清晰、流畅、低延迟。

测试要点记录表:

测试项目预期结果可能的问题与排查方向
呼叫发起主叫方界面显示“呼叫中”,被叫方立即响铃被叫方无反应:检查网络、检查TUICallKit初始化、确认被叫UserID正确、确认音视频服务已开通。
音视频接通双方进入通话界面,看到本地预览和远端画面黑屏:检查摄像头权限是否授予。只有一方有画面:检查网络上行/下行带宽。
音频质量双方声音清晰,无严重杂音或回音声音小或杂音:检查麦克风权限,测试环境是否嘈杂。回音:建议佩戴耳机进行测试。
挂断功能点击挂断按钮后,双方均退出通话界面一方挂断后另一方界面卡住:检查通话状态监听事件是否正常处理。
前后台切换通话中切换到手机后台,通话应保持切换到后台后通话中断:检查App的“后台运行”权限是否开启,对于iOS需配置VoIP后台模式。

通过这样一次完整的双机联调,你不仅能验证功能,更能切身感受通话的实时性和画质,这是开发过程中不可或缺的一环。当我第一次在两部手机上看到实时互通的画面时,之前所有的配置麻烦都觉得值了。整个过程的核心,与其说是编码,不如说是对云服务配置、原生插件机制和调试流程的精确把握。把这些关节打通,一个功能完备的即时通讯加实时音视频应用,真的可以在uniapp框架下高效地构建起来。

uniapp实战:从零接入腾讯IM(TUIKit+TUICallKit)实现音视频通话 本文详细介绍了在uni-app项目中从零开始集成腾讯云即时通信IM全家桶(TUIKit + TUICallKit)以实现音视频通话功能的完整实战指南。内容涵盖环境配置、SDK接入、关键步骤详解以及真机调试方案,重点解析了如何高效整合TUIKit的聊天能力与TUICallKit的音视频通话组件,并提供了开发过程中的常见问题排查思路,帮助开发者快速构建稳定可靠的社交或协作类应用。 阅读详情

相关推荐

uniapp:接入腾讯im(包含音视频通话)

本文分享了接入腾讯云TUIKit和TUICallKit的经验总结。接入TUIKit时需注意选择vue3项目,遇到云端搜索失败需购买试用插件;真机调试时用户搜索可能存在问题。接入TUICallKit需企业认证,开通音视频服务后要绑定应用信息。测试时通过两个用户分别打包APK,在不同设备上实现了聊天和通话功能。整个过程较为顺利,最终实现了预期效果。

1111111111 664

uniapp对接腾讯云IM+音视频。音视频含UI集成

uniapp对接腾讯云IM+音视频集成到android和ios,音视频含ui集成

qying的博客 5574

uniapp实现音视频通讯

uniapp实现音视频通讯 还在为uniapp的音视频通讯发愁吗?anyRTC为解决广大开发者需求,特别研发了uniapp版的音视频通讯。 anyRTC 实时通信包括两个模块: 实时音视频模块- 音视频通信 实时消息模块- 信令交互,直播间弹幕等通信 下面我来带大家先了解实时音视频模块 示例项目运行流程(本文使用远端插件) 前往uniapp插件市场 下载示例demo 打开manifest.json文件,选择App原生插件配置 => 远端插件 制作自定义基座 打包成功后选择

anyRTC的博客 9310

IM即时通信全平台利器———— uniapp-tuikit

参考uniapp 开发 https://uniapp.dcloud.io/quickstart-hx?提供了示例客服群➕示例好友的基础模版,在线客服场景支持文本消息、语音消息、视频消息、群会话(支持创建、添加等操作)。1、使用cos-js-sdk-v5会白屏报错,原因是js版的用到了window属性,在执行match匹配时报错了。参考 uniapp 开发: https://uniapp.dcloud.io/quickstart-hx。请使用 cos-wx-sdk-v5。duration 需要本地计算。

qq_41416296的博客 1093

uniapp:记录使用uniapp对接腾讯音视频插件(TUICallKit )

记录使用uniapp对接腾讯音视频插件(TUICallKit )过程分享。

sunluyi的博客 6498

WXMiniByUniapp-TRTC:腾讯云小程序音视频通讯Uniapp版

快速跑通Demo 本文主要介绍如何快速跑通微信小程序版本的 TRTC DEMO,您可以从 上的 WXMini 目录下获取相关代码。DEMO 中前三个功能项演示了三个不同的应用场景: 语音聊天室:纯语音交互,支持多人互动语音聊天,以及混音、混响等声音特效功能。适合在线狼人杀、在线语音直播等社交类场景。 双人通话:1v1 视频通话,配合 可以实现在线问诊,在线客服等需要面对面交流的沟通场景。 多人会议:支持多路视频通话、大小画面和屏幕分享等围绕视频会议相关的高级功能,适用于远程培训、在线教育等场景。 环境要求 微信 App iOS 最低版本要求:7.0.9 微信 App Android 最低版本要求:7.0.8 小程序基础库最低版本要求:2.10.0 由于微信开发者工具不支持原生组件(即 <live> 和 <live> 标签),需要在真机上进行运行体验。 操作步

uni-app 快速集成 IM 即时通信的方法——TUIKit 来啦

uni-app 是目前比较火的跨平台框架,腾讯云即时通信 IM 正式推出支持三大平台的 uni-app TUIKit。 TUIKit 是基于 IM SDK 实现的一套 UI 组件,其包含会话、聊天、群组管理等功能,基于 UI 组件您可以像搭积木一样快速搭建起自己的业务逻辑。 目前我们提供了示例客服群 ➕ 示例好友的基础模版,在线客服功能包括: 支持发送文本消息、图片消息、语音消息、视频消息等常见消息。 支持常用语、订单、服务评价等自定义消息。 支持创建群聊会话、群成员管理等。 uni-app TUI

qq_37263130的博客 1万+

告别纯文本RAG:用Dify 1.11.0多模态知识库,5步搭建一个能“读图”的智能客服助手

本文详细介绍了如何利用Dify 1.11.0多模态知识库构建智能视觉客服助手,通过5个步骤实现图片内容理解与专业回复。从准备多模态素材到配置知识库节点,再到设计工作流逻辑和性能优化,帮助开发者快速搭建高效客服系统,显著提升用户体验和问题解决效率。

weixin_30832143的博客 451

uniapp使用腾讯即时通信IM

uniapp项目使用腾讯的即时通信IM

weixin_45671325的博客 5613

深入剖析STM32F103 I2C总线死锁问题及高效应对策略

本文深入剖析了STM32F103硬件I2C总线在轮询模式下发生死锁的根本原因,即硬件状态机的预取机制与软件响应速度不匹配。文章提供了高效的解决方案,包括在轮询模式下提前发送NACK/STOP信号、降低总线速度,以及治本的中断与DMA应用策略,帮助开发者根据项目需求选择最合适的方案,彻底解决这一经典硬件缺陷问题。

weixin_29184371的博客 205

第四届“网鼎杯”网络安全大赛 - 青龙组

第四届“网鼎杯”网络安全大赛 - 青龙组

lpppp小公主的博客 1313

使用腾讯IM实现uni-app小程序中的客服聊天

使用腾讯IM实现uni-app小程序中的客服聊天

xiamoziqian的博客 4066

图像去噪实战:Noise2Noise与Noise2Void在医学影像中的应用(附代码)

本文深入探讨了Noise2Noise与Noise2Void在医学影像去噪中的革命性应用,通过自监督学习技术有效解决临床数据配对难题。文章提供详细的代码实现和临床部署方案,展示如何提升低剂量CT、MRI等影像的诊断质量,特别适用于辐射敏感场景和急诊快速处理。

weixin_29092579的博客 241

【taro react】---- 解决H5接入uni-app版本的IM

的接入就使用了 TUIKit 含UI集成方案,遇到的问题,uni-app的UI本来就是一个单独的项目,需要集成到现有的 Taro React 中,就只能作为一个独立的项目,不跳转时不影响原有逻辑。用于把文件从源码目录直接拷贝到编译后的生产目录。由于项目开发比较紧张,

止于至善 1204

SAP交货单过账避坑指南:序列号处理、Buffer清理与BAPI提交回滚的那些事儿

本文深入解析SAP交货单过账中的序列号处理、Buffer清理与BAPI提交回滚等关键问题,提供WS_DELIVERY_UPDATE和BAPI_OUTB_DELIVERY_CONFIRM_DEC的实战优化方案。通过详细的技术分析和最佳实践,帮助开发者避免常见陷阱,提升交货单处理的稳定性和效率。

weixin_31155097的博客 430

向NCBI上传16S rDNA数据的操作详解

专门介绍向NCBI上传16S rDNA数据的方法不太多。因为自己有上传数据的需要,所以决定边摸索边写下操作流程。如果这篇博文交代了上传步骤以及一些描述文件属性的书写,帮到你的话,还请点赞收藏。

yue81560的博客 2万+

uniapp集成腾讯即时通信IM,实现一对一聊天,支持文字、表情、语音、图片、视频

uniapp集成腾讯即时通信IM,实现一对一聊天,支持文字、表情、语音、图片、视频 原则 拿来即用,节省开发时间 介绍 腾讯的给的例子内容比较乱,我花了好长时间才集成出来,然后对聊天页面做了UI美化。 效果图 uniapp集成腾讯即时通信IM,实现一对一聊天,支持文字、 使用方式 将文件放到相应的位置 源码 下载源码 源码清单 1.uniapp组件,使用说明 2.可以直接运行

格子软件 9977

pigxCloud微服务项目03——服务端——腾讯云即时通信IM,创建聊天群

腾讯云即时通信IM,创建聊天群,返回群ID给客户端使用导入单个帐号创建群组(群组类型:临时会议群 (Meeting))导入群成员 导入单个帐号 参考官方资料:导入单个帐号 创建群组(群组类型:临时会议群 (Meeting)) 导入群成员 ...

qq_28680277的博客 1927

【华为OD机试真题E卷】514、学生方阵 | 机试真题+思路参考+代码分析(E卷复用)(C++、Java、Py)

【华为OD机试真题E卷】514、学生方阵 | 机试真题+思路参考+代码分析(E卷复用)(C++、Java、Py) 题目描述 学校组织活动,将学生排成一个矩形方阵 请在矩形方阵中找到最大的位置相连的男生数量 这个相连位置在一个直线上,方向可以是水平的,垂直的,成对角线的或者呈反对角线的 注:学生个数不会超过10000

KJ.JK 2492

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

uniapp:小程序对接腾讯云语音视频通话,简单demo

我发现啊,现在小程序的地位是越来越高了,各种各样的业务,五花八门的功能;最近又接了一个新的功能,在小程序上实现语音视频通话,咋办?搞呗! 先放文档: 实时音视频 集成 TUICalling (uni-app /小程序) - 含 UI 集成方案 - 文档中心 - 腾讯云 有一说一,这个文档写的其实还是相当详细的 1. 把小程序后台的接口设置打开以下功能 2. 去github上拉代码 https://github.com/TencentCloud/TIMSDK/tree/master/un.

本以为成功很简单,没想到活成普通人都需拼尽全力! 9740

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

uniapp 小程序接入腾讯实时音视频trtc-wx

微信 App iOS 最低版本要求:7.0.9微信 App Android 最低版本要求:7.0.8小程序基础库最低版本要求:2.10.0由于小程序测试号不具备 和 的使用权限,请使用企业小程序账号申请相关权限进行开发。由于微信开发者工具不支持原生组件(即 和 标签),需要在真机上进行运行体验。

m0_46693606的博客 3390

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

微信小程序(或uniapp)引入腾讯视频插件播放视频

1.申请插件 注意:个人开发者无法使用 登录微信公众平台,在你的小程序后台的设置-第三方服务—插件管理,搜索插件并点击添加。 添加成功之后,点击详情,查看该插件的具体信息。 拿到该插件的appid以及版本号。 github地址:https://github.com/tvfe/txv-miniprogram-plugin 2.使用步骤 微信小程序: 小程序的app.json里声明使用插件 "plugins": { "tencentvideo": { "version": "2.0

苏苏就是小苏苏的博客 1万+

微信小程序音视频 转化成uni app 微信小程序

最近使用了腾讯云的音视频 转化了他们的小程序demo 转化工具的网址 地址里说的很清楚 步骤大概为 npm install miniprogram-to-uniapp -g 全局安装 wtu -i “路径名” 就得到编译后的文件 重点来了 1.图片的路径改了 需要重新配置 哪里报错 那里处理 2.方法名变了 基本上所有的函数事件名字都要处理一下 3.uni 没有setData这个函数 需要写一个 要不处理起来很麻烦 function setData(obj,callback){

birdsnotbirds的博客 713

uniapp小程序腾讯云视频调用实现1V1会话和踩坑分享

第一步:下载官方demo,附地址:https://github.com/undefineders/WXMiniByUniapp-TRTC,然后导入本地HbuilderX中,运行到小程序,如果运行成功进行下一步 第二步:在官方网站https://console.cloud.tencent.com/trtc/quickstart申请SDKAppID 和 SecretKey 两个关键信息,这是要运行 Demo 所必须的,然后将他们按照页面上的指引粘贴到源代码中自带的./debug/GenerateTestUse

weixin_38791717的博客 5523
上一篇: i.MX8MP实战:5步搞定Linux与FreeRTOS双核通信(附Yocto配置清单)
下一篇: SMARTFORMS系统变量实战:解决页码显示星号*的3种方法(附完整代码)
http9protocoller
博客等级 码龄1天 0粉丝 1782原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值