


Comment importer un SDK dans un mini-programme pour implémenter la fonction de chat
Comment importer le SDK dans l'applet pour implémenter la fonction de chat
Utilisez d'abord npm pour télécharger le SDK de chat instantané de Tencent Cloud, puis référencez-le dans le fichier ; project Et effectuez l'initialisation du sdk, puis renvoyez userID et userSig en fonction des deux paramètres de l'interface d'arrière-plan pour déterminer qui est actuellement connecté et enfin implémenter les fonctions de base selon le document.
Exemple de code
wxml:
<scroll-view bindscroll="refresh" scroll-into-view="{{toView}}" style="height: {{scroll_height}}px;" upper-threshold="100" scroll-y="true" enable-back-to-top="true" class="message-list"> <!-- 每一行 --> <view class="row" wx:for="{{messages}}" wx:key="{{index}}" id="row_{{index}}"> <!-- 日期 --> <view class="datetime" wx:if="{{item.msgTime != ''}}">{{item.msgTime}}</view> <!-- 头像与内容文本 --> <view class="body" style="flex-flow: {{item.flow == 'in' ? 'row' : 'row-reverse'}}"> <view class="avatar-container"> <image wx:if="{{item.flow=='in'}}" class="avatar" src="{{friendAvatarUrl}}" /> <image wx:else class="avatar" src="{{userData.avatarUrl}}" /> </view> <!-- 画对话框 --> <view class="triangle" style="{{item.flow == 'out' ? 'right: 140rpx; background: #7ECB4B' : 'left: 140rpx;'}}"></view> <view class="content" style="{{item.flow == 'out' ? 'background: #7ECB4B' : ''}}"> <view wx:if="{{item.type === 'TIMTextElem'}}">{{item.payload.text}}</view> <image class="image-message" wx:elif="{{item.type === 'TIMImageElem'}}" src="{{item.payload.imageInfoArray[1].url}}" bindtap="previewImage" data-src="{{item.payload.imageInfoArray[1].url}}"></image> <view wx:elif="{{item.type === 'TIMSoundElem'}}" url="{{item.payload.url}}"> <view class="box" bindtap="openAudio" data-eventid="{{'13_'+index}}" data-time="{{item.payload.second}}" data-comkey="{{item.payload.url}}"> <image src="{{'13_'+index==audioIndex?audioGif:audioPng}}" style="height:22px;width:22px" class="_image"></image> <view style="padding-left: 4px;" class="_div data-v-afeb3abc"> {{item.payload.second<1?1:item.payload.second}}s </view> </view> </view> </view> </view> </view> </scroll-view> <view class="reply" style="bottom:{{reply_height}}px;"> <view class="Audio"> <image wx:if="{{opration==true}}" bindtap="Audio" src="../image/Audio.png"></image> <image wx:else bindtap="keyboard" src="../image/keyboard.png"></image> </view> <view class="opration-area"> <input bindfocus="bindfocus" wx:if="{{opration==true}}" type="text" bindinput="getContent" value="{{content}}" /> <view wx:else class="voice-button {{touchBtn?'hoverBtn':''}}" bind:touchstart="startAudio" bind:touchend="onTouchEnd" bind:longpress="onLongpress" bind:touchmove="onTouchMove"> {{touchBtn?'松开 结束':'按住说话'}} </view> </view> <view class="{{sendBtn==true?'send':'sendActive'}}" bindtap="sendMsg">发送</view> <view class="add" bind:tap="moreClick"> <image class="more" src="../image/more.png"></image> </view> <!-- <view class="send" bindtap="sendImg">相册</view> <view class="send" bindtap="startAudio">开始</view> <view class="send" bindtap="endAudio">结束</view> --> </view> <view class="more_box" hidden="{{moreShow}}"> <view class="more_item" bindtap="sendImg"> <view class="img_box"> <image src="../image/picture.png"></image> </view> <view style="margin-top:10rpx;"> <text>相册</text> </view> </view> </view>
js:
import TIM from 'tim-wx-sdk'; import COS from "cos-wx-sdk-v5"; let options = { SDKAppID: 0 // 接入时需要将0替换为您的即时通信 IM 应用的 SDKAppID }; // 创建 SDK 实例,`TIM.create()`方法对于同一个 `SDKAppID` 只会返回同一份实例 let tim = TIM.create(options); // SDK 实例通常用 tim 表示 // 设置 SDK 日志输出级别,详细分级请参见 setLogLevel 接口的说明 tim.setLogLevel(1); // 普通级别,日志量较多,接入时建议使用 // tim.setLogLevel(1); // release 级别,SDK 输出关键信息,生产环境时建议使用 // 注册 COS SDK 插件 tim.registerPlugin({ 'cos-wx-sdk': COS }); const app = getApp() let recorderManager = wx.getRecorderManager(); // 录音部分参数 小程序文档 const recordOptions = { duration: 60000, // 录音的时长,单位 ms,最大值 600000(10 分钟) sampleRate: 44100, // 采样率 numberOfChannels: 1, // 录音通道数 encodeBitRate: 192000, // 编码码率 format: 'aac' // 音频格式,选择此格式创建的音频消息,可以在即时通信 IM 全平台(Android、iOS、微信小程序和Web)互通 }; Page({ data: { friendId: '', friendName: '', friendAvatarUrl: '', messages: [], // 消息集合 complete: 0, // 是否还有历史消息可以拉取,1 - 表示没有,0 - 表示有 content: '', // 输入框的文本值 lock: false, // 发送消息锁 true - 加锁状态 false - 解锁状态 scroll_height: wx.getSystemInfoSync().windowHeight - 54, reply_height: 0, moreShow: true, userData: [], audioPng:"../image/audio-play.png", audioGif:"../image/audio-play.gif", audioState:true, /** * 历史消息消息集合(结构如下): * nextReqMessageID 用于续拉,分页续拉时需传入该字段。 * isCompleted 表示是否已经拉完所有消息。 */ nextReqMessageID: "", isCompleted: "", isFirstGetList: true, audioContext: null, opration: true, touchBtn: false, recording: false, stopflag: false, cancelRecord: false, refreshTime: '', ScrollLoading: 0, audioIndex:null, sendBtn:true }, onLoad: function (options) { // this.setData({ friendId: options.friendId, friendName: options.friendName, friendAvatarUrl: options.friendAvatarUrl, conversationID: options.conversationID }) wx.setNavigationBarTitle({ title: options.friendName }) var that = this var userData = JSON.parse(wx.getStorageSync('userData')) that.data.messages = [] // 清空历史消息 let audioContext = wx.createInnerAudioContext() this.setData({ userData, audioContext }) // 将某会话下所有未读消息已读上报 let promise = tim.setMessageRead({ conversationID: options.conversationID }); promise.then(function (imResponse) { // 已读上报成功 }).catch(function (imError) { // 已读上报失败 }); }, onShow: function () { let that = this; // 获取当前聊天的历史列表 that.getMessageList(); that.scrollToBottom(); // 获取收到的单聊信息 let onMessageReceived = function (event) { // event.data - 存储 Message 对象的数组 - [Message] let msgList = that.data.messages handlerHistoryMsgs(event.data, that) that.scrollToBottom(); }; tim.on(TIM.EVENT.MESSAGE_RECEIVED, onMessageReceived) // 监听录音结束 recorderManager.onStop(function (res) { if (that.data.recording) { if (that.data.cancelRecord) { wx.hideToast() that.setData({ cancelRecord: false }) } else { // 创建消息实例,接口返回的实例可以上屏 const message = tim.createAudioMessage({ to: that.data.friendId, conversationType: TIM.TYPES.CONV_C2C, payload: { file: res }, onProgress: function (event) { } }); // 发送消息 let promise = tim.sendMessage(message); promise.then(function (imResponse) { // 发送成功 that.addMessage(imResponse.data.message, that) }).catch(function (imError) { // 发送失败 }); that.setData({ recording: false }) } } else { wx.showToast({ title: '说话时间太短', duration: 1000, image: '../image/err.png' }) } }); }, onUnload: function () { }, /** * 获取消息列表 */ getMessageList() { let that = this; let cb = tim.getMessageList({ conversationID: conversationID,//会话列表传递过来的参数 count: 15 }) cb.then(function (imResponse) { const messageList = imResponse.data.messageList; // 消息列表。 const nextReqMessageID = imResponse.data.nextReqMessageID; // 用于续拉,分页续拉时需传入该字段。 const isCompleted = imResponse.data.isCompleted; // 表示是否已经拉完所有消息。 that.setData({ nextReqMessageID: nextReqMessageID, isCompleted: isCompleted }) handlerHistoryMsgs(messageList, that); that.scrollToBottom(); }); }, /** * 获取文本的消息 */ getContent: function (e) { if(e.detail.value ==""){ this.setData({sendBtn:true}) }else{ this.setData({sendBtn:false}) } console.log(e) var that = this; that.setData({ content: e.detail.value }) }, /** * 发送消息 */ sendMsg: function (e) { if(this.data.content ==""){ wx.showToast({ title: '请输入内容', duration: 1000, icon:'none' }) return } var that = this // 发送文本消息,Web 端与小程序端相同 // 1. 创建消息实例,接口返回的实例可以上屏 let message = tim.createTextMessage({ to: this.data.friendId, conversationType: TIM.TYPES.CONV_C2C, payload: { text: this.data.content } }); // 2. 发送消息 let promise = tim.sendMessage(message); promise.then(function (imResponse) { // 发送成功 that.addMessage(imResponse.data.message, that) that.setData({sendBtn:true}) }).catch(function (imError) { // 发送失败 }); }, /** * 刷新文本消息 */ addMessage: function (msg, that) { var messages = that.data.messages; messages.push(msg); that.setData({ messages: messages, content: '' // 清空输入框文本 }) that.scrollToBottom(); }, /** * 发送图片消息 */ sendImg() { let that = this; wx.chooseImage({ sourceType: ['album'], // 从相册选择 count: 1, // 只选一张,目前 SDK 不支持一次发送多张图片 success: function (res) { // 2. 创建消息实例,接口返回的实例可以上屏 let message = tim.createImageMessage({ to: that.data.friendId, conversationType: TIM.TYPES.CONV_C2C, payload: { file: res }, onProgress: function (event) { } }); // 3. 发送图片 let promise = tim.sendMessage(message); promise.then(function (imResponse) { // 发送成功 that.addMessage(imResponse.data.message, that) }).catch(function (imError) { // 发送失败 }); } }) }, scrollToBottom: function () { this.setData({ toView: 'row_' + (this.data.messages.length - 1) }); }, previewImage(e) { let src = ''; wx.previewImage({ current: e.currentTarget.dataset.src, // 当前显示图片的http链接 urls: [e.currentTarget.dataset.src] }) }, // 录制语音 startAudio: function () { wx.showToast({ title: '上滑取消发送', duration: 10000, image: '../image/cancel.png' }) this.setData({ touchBtn: true }) if (this.data.stopFlag) { return; } recorderManager.start(recordOptions); recorderManager.onError(function (errMsg) { }); }, // # 利用长按判断录音是否太短 onLongpress() { this.setData({ recording: true }) }, // 发送录音 onTouchEnd: function () { wx.hideToast() let that = this; that.setData({ touchBtn: false }) if (that.data.stopFlag) { return; } if (that.data.recording) { recorderManager.stop(); } else { that.setData({ stopFlag: true }) setTimeout(() => { recorderManager.stop(); that.setData({ stopFlag: false }) }, 400); } }, // 播放语音 openAudio(audio) { console.log(audio) let index = audio.currentTarget.dataset.eventid this.setData({ audioIndex:index // audioState:false }) this.data.audioContext.src = audio.currentTarget.dataset.comkey this.data.audioContext.autoplay = true; this.data.audioContext.play() this.data.audioContext.onPlay((res) => { }) this.data.audioContext.onEnded(() => { wx.hideToast() this.setData({ audioIndex:null }) console.log("语音结束了") }) this.data.audioContext.onError((res) => { }) }, // 上滑取消 onTouchMove(e) { if (e.touches[0].clientY < 520) { // # 取消发送 this.setData({ cancelRecord: true }); wx.showToast({ title: '松开,取消发送', duration: 10000, image: '../image/cancel.png' }) } else { // # 不取消 wx.hideToast() wx.showToast({ title: '上滑取消发送', duration: 10000, image: '../image/cancel.png' }) this.setData({ cancelRecord: false }) } }, // 下拉加载聊天记录 refresh: function (e) { let that = this if (that.data.ScrollLoading == 1) { //防止多次触发 return false } if (e.detail.scrollTop < 1) { that.setData({ ScrollLoading: 1 }) wx.showLoading({ title: '加载中', }) setTimeout(() => { let promise = tim.getMessageList({ conversationID: that.data.conversationID, nextReqMessageID: that.data.nextReqMessageID, count: 15 }); promise.then(function (imResponse) { const newMessageList = imResponse.data.messageList; // 消息列表。 const nextReqMessageID = imResponse.data.nextReqMessageID; // 用于续拉,分页续拉时需传入该字段。 const isCompleted = imResponse.data.isCompleted; // 表示是否已经拉完所有消息。 that.setData({ nextReqMessageID: nextReqMessageID, isCompleted: isCompleted, messages: newMessageList.concat(that.data.messages) }) wx.hideLoading() that.setData({ ScrollLoading: 0 }) // handlerHistoryMsgs(messageList, that); }); }, 800); } // setTimeout(function(){ // var date = new Date(); // },300); }, // 切换 Audio() { this.setData({ opration: false }) }, keyboard() { this.setData({ opration: true }) }, moreClick() { if (this.data.moreShow) { this.setData({ moreShow: false, reply_height: 92, scroll_height: this.data.scroll_height - 92 }) } }, bindfocus() { this.setData({ moreShow: true, reply_height: 0, scroll_height: wx.getSystemInfoSync().windowHeight - 54 }) } }) /** * 处理历史消息 */ function handlerHistoryMsgs(result, that) { var historyMsgs = that.data.messages; result.forEach(item => { historyMsgs.push(item) }) // historyMsgs.push(result[0]) that.setData({ messages: historyMsgs, }) // 将某会话下所有未读消息已读上报 let promise = tim.setMessageRead({ conversationID: that.data.conversationID }); promise.then(function (imResponse) { // 已读上报成功 }).catch(function (imError) { // 已读上报失败 }); }
wxss:
/** 聊天窗口样式 * 54px为回复框高度,js同 */ /*聊天记录*/ page{ background: rgb(245, 245, 245); } .message-list { /*margin-bottom: 54px;*/ background: rgb(235, 235, 235); } /*单元行*/ .row { display: flex; flex-direction: column; margin: 0 30rpx; } /*日期*/ .datetime { font-size: 10px; padding: 10px 0; color: #999; text-align: center; } .send { font-size: 15px; /* padding-right: 10px; */ color: #999; text-align: center; height: 70%; border: 1px solid #e4dfdf; display: flex; align-items: center; justify-content: center; width: 90rpx; border-radius: 10rpx; } .sendActive { font-size: 15px; /* padding-right: 10px; */ color: #fff; text-align: center; height: 70%; border: 1px solid #05c15f; display: flex; align-items: center; justify-content: center; width: 90rpx; border-radius: 10rpx; background-color: #05c15f; } .Audio { font-size: 15px; color: #999; text-align: center; padding-left: 10rpx; } .Audio image { width: 50rpx; height: 50rpx; } .add { height: 70%; display: flex; align-items: center; justify-content: center; width: 90rpx; } .more { width: 50rpx; height: 50rpx; } /*主体*/ .body { display: flex; flex-direction: row; align-items: flex-start; justify-content: flex-start; width: 100%; margin-top: 10px; } /*头像容器*/ .body.avatar-container { width: 20%; } /*头像*/ .body .avatar { width: 80rpx; height: 80rpx; border-radius: 50%; margin: 0 20rpx; } /*文本消息*/ .body .content { font-size: 16px; background: #fff; border-radius: 5px; padding: 10px; line-height: 22px; margin-bottom: 10px; word-wrap: break-word; max-width: 300rpx; } /* 三角箭头 */ .body .triangle { background: white; width: 20rpx; height: 20rpx; margin-top: 26rpx; transform: rotate(45deg); position: absolute; } /*图片消息*/ .picture { width: 160px; } /*回复框*/ .reply { display: flex; flex-direction: row; justify-content: flex-start; align-items: center; position: fixed; /* bottom: 0; */ width: 100%; height: 54px; border-top: 1px solid rgb(215, 215, 215); background: rgb(245, 245, 245); } .reply .voice-image { width: 25px; height: 25px; margin-left: 3%; } /*文本输入或语音录入*/ .reply .opration-area { flex: 1; padding: 8px; } /*回复文本框*/ .reply input { background: rgb(252, 252, 252); height: 36px; border: 1px solid rgb(221, 221, 221); border-radius: 6px; padding-left: 3px; } /*选取图片*/ .reply .choose-image { width: 25px; height: 25px; margin-right: 3%; } /*按住说话button*/ .voice-button { height: 36px; color: #818181; font-size: 14px; line-height: 36px; text-align: center; border: 1px solid #e4dfdf; border-radius: 10rpx; } /*悬浮提示框*/ .hud-container { position: fixed; width: 150px; height: 150px; left: 50%; top: 50%; margin-left: -75px; margin-top: -75px; } /*背景层*/ .hud-background { position: absolute; width: 100%; height: 100%; background: #999; opacity: 0.8; z-index: 11; border-radius: 10px; } /*悬浮框主体*/ .hud-body { position: relative; width: 100%; height: 100%; z-index: 19; display: flex; flex-direction: column; justify-content: space-between; align-items: center; } /*图标*/ .hud-body image { margin-top: 20px; width: 80px; height: 80px; } /*文字*/ .hud-body .tip { color: #fff; text-align: center; width: 90%; line-height: 34px; margin: 0 auto; margin-bottom: 10px; width: 90%; } .hud-body .warning { background: #c33; border-radius: 5px; } .image-message { max-width: 100%; border-radius: 4rpx; } .box { display: flex; height: 40rpx; line-height: 40rpx; } .hoverBtn { background-color: rgb(226, 220, 220); color: #fff; border-radius: 10rpx; } .more_box { height: 138rpx; width: 100%; padding: 15rpx; display: flex; background: rgb(245, 245, 245); position: fixed; bottom: 0; } .more_item { text-align: center; height: 150rpx; font-size: 24rpx; margin-left: 26rpx } .img_box { width: 80rpx; height: 84rpx; background-color: #fff; display: flex; justify-content: center; align-items: center; border-radius: 10rpx; } .img_box image { width: 40rpx; height: 40rpx; }
Tutoriel recommandé : "Développement de mini-programmes"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

WeChat, en tant que l'un des logiciels sociaux les plus populaires de nos jours, offre de riches fonctions de chat. Mais parfois, nous pouvons rencontrer la situation « Ne pas afficher ce chat », ce qui entraîne le masquage de certaines conversations importantes. Pour restaurer ces discussions, c’est en réalité très simple. Tant que vous suivez ces étapes, vous pouvez facilement restaurer les discussions cachées et continuer à profiter de l'expérience de communication pratique apportée par WeChat. Comment restaurer le chat si WeChat ne l'affiche pas ? WeChat n'affiche pas la méthode de récupération de chat Méthode 1 : Essayez de rechercher directement le nom ou le mot-clé du partenaire de discussion dans la liste des messages WeChat. Si la recherche est trouvée, cliquez pour accéder à l'interface de chat, afin que le chat puisse être restauré et affiché. Deuxième méthode, restauration via le chat entre amis : ouvrez WeChat, cliquez sur le carnet d'adresses, recherchez l'ami qui est affiché dans le chat caché et cliquez pour envoyer un message

Le chat WeChat n'est généralement pas surveillé car il relève de la vie privée. Il est illégal de surveiller les enregistrements de chat WeChat en privé. Cependant, cela n'exclut pas que votre téléphone mobile ou votre ordinateur soit équipé d'un cheval de Troie. Les pirates informatiques peuvent surveiller le chat WeChat afin de les récupérer. informations utiles enregistrées. Si vous êtes répertorié comme « fugitif Internet » ou « suspect criminel », alors certains de vos outils de médias sociaux peuvent être axés sur la surveillance, et vous ne verrez peut-être pas nécessairement le contenu vidéo, mais vous pouvez certainement déterminer qui est la personne impliquée dans la vidéo. discuter avec. Après avoir obtenu l'autorisation et avec l'autorisation, même le contenu du chat peut être obtenu.

Avec la popularité de la technologie Internet mobile et des smartphones, WeChat est devenu une application indispensable dans la vie des gens. Les mini-programmes WeChat permettent aux gens d'utiliser directement des mini-programmes pour résoudre certains besoins simples sans télécharger ni installer d'applications. Cet article explique comment utiliser Python pour développer l'applet WeChat. 1. Préparation Avant d'utiliser Python pour développer l'applet WeChat, vous devez installer la bibliothèque Python appropriée. Il est recommandé d'utiliser ici les deux bibliothèques wxpy et itchat. wxpy est une machine WeChat

Le nouveau SDK Windows 11 pour la build 22523 a révélé que Microsoft développe un nouvel effet de flou pour Windows 11. Cet effet est appelé Tabbed et s'ajoute à l'acrylique et au mica. Le nouveau DWMWA_SYSTEMBACKDROP_TYPE dans le SDK 22523, Mica, l'API Win32 publique d'Acrylic et leur étrange nouveau mélange « d'onglets » : pic.twitter.com/dbsu7ZFiIi — Tout est de retour (@StartIsBack) 15 décembre 2021 Disponible dans l'exemple d'application du SDK suivant

Implémentation d'effets de retournement de cartes dans les mini-programmes WeChat Dans les mini-programmes WeChat, la mise en œuvre d'effets de retournement de cartes est un effet d'animation courant qui peut améliorer l'expérience utilisateur et l'attractivité des interactions d'interface. Ce qui suit présentera en détail comment implémenter l'effet de retournement de carte dans l'applet WeChat et fournira des exemples de code pertinents. Tout d'abord, vous devez définir deux éléments de carte dans le fichier de mise en page du mini-programme, un pour afficher le contenu avant et un pour afficher le contenu arrière. L'exemple de code spécifique est le suivant : <!--index.wxml-. ->&l

Selon les informations de ce site du 31 octobre, le 27 mai de cette année, Ant Group a annoncé le lancement du « Projet de sélection de caractères chinois » et a récemment inauguré de nouveaux progrès : Alipay a lancé le mini-programme « Sélection de caractères chinois-Caractères rares ». pour collecter des collections de la société Les personnages rares complètent la bibliothèque de personnages rares et offrent différentes expériences de saisie pour les personnages rares afin d'aider à améliorer la méthode de saisie des caractères rares dans Alipay. Actuellement, les utilisateurs peuvent accéder à l'applet « Caractères peu communs » en recherchant des mots-clés tels que « capture de caractères chinois » et « caractères rares ». Dans le mini-programme, les utilisateurs peuvent soumettre des images de caractères rares qui n'ont pas été reconnus et saisis par le système. Après confirmation, les ingénieurs d'Alipay effectueront des entrées supplémentaires dans la bibliothèque de polices. Ce site Web a remarqué que les utilisateurs peuvent également découvrir la dernière méthode de saisie par fractionnement de mots dans le mini-programme. Cette méthode de saisie est conçue pour les mots rares dont la prononciation n'est pas claire. Démantèlement utilisateur

La manière dont Uniapp peut réaliser une conversion rapide entre les mini-programmes et le H5 nécessite des exemples de code spécifiques. Ces dernières années, avec le développement de l'Internet mobile et la popularité des smartphones, les mini-programmes et le H5 sont devenus des formulaires de candidature indispensables. En tant que cadre de développement multiplateforme, uniapp peut réaliser rapidement la conversion entre les petits programmes et H5 sur la base d'un ensemble de codes, améliorant considérablement l'efficacité du développement. Cet article présentera comment Uniapp peut réaliser une conversion rapide entre les mini-programmes et H5, et donnera des exemples de code spécifiques. 1. Introduction à uniapp unia

La popularité de ChatGPT a provoqué une forte hausse des stocks de concepts mondiaux. Sur le seul marché des capitaux national, on peut dire qu'un certain nombre de sociétés d'IA telles que Baidu, iFlytek et Yuncong sont en pleine croissance. Même Hanwang Technology, qui s'occupe de la reconnaissance de l'écriture manuscrite et de l'OCR, a réussi à atteindre la limite quotidienne 5 fois de suite, ce qui a amené de nombreux internautes à dire : « Tout cela peut être lié »... Mais les membres de la famille, comme le dit le proverbe. , "Il n'y a pas de plus grande surprise, seulement plus de surprises." , et une entreprise encore plus inattendue est sur le point de rejoindre ChatGPT : la construction de voitures ! Ah, ça... un robot conversationnel est-il désormais assez puissant pour construire une voiture ? ? ? Comment construire une voiture avec AIGC ? La première chose à expliquer est que la fabrication automobile IA ne fait pas référence au contrôle de la chaîne de production par l’IA, mais à l’utilisation d’algorithmes d’IA pour achever la conception des pièces automobiles.
