Uni-app 小程序使用腾讯云IM实时通讯

这篇具有很好参考价值的文章主要介绍了Uni-app 小程序使用腾讯云IM实时通讯。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • // IM 小程序 SDK

  • npm install tim-wx-sdk --save

  • // 发送图片、文件等消息需要的 COS SDK  如果不需要发送图片等文件不需要下载

在APP.vue中配置好你的腾讯云配置

我测试了一下如果直接引入:import TIM from 'tim-wx-sdk'的话在添加好友的地方会有错误

所以我找到了这种引入方式 :import TIM from 'tim-wx-sdk/tim-wx-friendship.js';

App.vue:

<script>
	// APP 和 小程序平台
	// #ifdef  APP-PLUS || MP-WEIXIN   
	import TIM from 'tim-wx-sdk/tim-wx-friendship.js';
	// #endif
	import logger from './util/logger'; // app.js

	export default {
		onLaunch() {
			// console.log('你的腾讯云SDKID', SDKAppID);
			const SDKAppID = ;
			uni.setStorageSync(`TIM_${SDKAppID}_isTUIKit`, true);
			// 重点注意: 为了 uni-app 更好地接入使用 tim,快速定位和解决问题,请勿修改 uni.$TUIKit 命名。
			// 如果您已经接入 tim ,请将 uni.tim 修改为 uni.$TUIKit。
			uni.$TUIKit = TIM.create({
				SDKAppID: SDKAppID
			});
			// #ifdef H5
			uni.$TUIKit.registerPlugin({
				'tim-upload-plugin': TIMUploadPlugin
			})
			// #endif
			// 将原生插件挂载在 uni 上
			// #ifdef APP-PLUS
			uni.$TUICalling = TUICalling;
			// #endif
			// 如果您已创建了 tim,请将 tim 实例挂载在 wx 上,且不可以修改 wx.$TIM(修改变量可能导致 TUICalling 组件无法正常使用), 完成 TUICalling 初始化,
			// 如果您没有创建,可以不传
			// #ifdef MP-WEIXIN
			wx.$TIM = uni.$TUIKit;
			// #endif
			uni.$TUIKitTIM = TIM;
			uni.$TUIKitEvent = TIM.EVENT;
			uni.$TUIKitVersion = TIM.VERSION;
			uni.$TUIKitTypes = TIM.TYPES; // 监听系统级事件
			uni.$resetLoginData = this.resetLoginData();
			uni.$TUIKit.on(uni.$TUIKitEvent.SDK_READY, this.onSDKReady);
			uni.$TUIKit.on(uni.$TUIKitEvent.SDK_NOT_READY, this.onSdkNotReady);
			uni.$TUIKit.on(uni.$TUIKitEvent.KICKED_OUT, this.onKickedOut);
			uni.$TUIKit.on(uni.$TUIKitEvent.ERROR, this.onTIMError);
			uni.$TUIKit.on(uni.$TUIKitEvent.NET_STATE_CHANGE, this.onNetStateChange);
			uni.$TUIKit.on(uni.$TUIKitEvent.SDK_RELOAD, this.onSDKReload);
		},
		globalData: {
			// userInfo: userID userSig token phone
			userInfo: null,
			// 个人信息
			userProfile: null,
			isTUIKit: true,
			headerHeight: 0,
			statusBarHeight: 0,
			SDKAppID:    //你的腾讯云SDKID
		},
		methods: {
			// TODO:
			resetLoginData() {
				this.globalData.expiresIn = '';
				this.globalData.sessionID = '';
				this.globalData.userInfo = {
					userID: '',
					userSig: '',
					token: '',
					phone: ''
				};
				this.globalData.userProfile = null;
				logger.log(`| app |  resetLoginData | globalData: ${this.globalData}`);
			},
			onTIMError() {},
			onSDKReady({
				name
			}) {
				const isSDKReady = name === uni.$TUIKitEvent.SDK_READY ? true : false
				uni.$emit('isSDKReady', {
					isSDKReady: true
				});
			},
			onNetStateChange() {},
			onSDKReload() {},
			onSdkNotReady() {},
			onKickedOut() {
				uni.showToast({
					title: '您被踢下线',
					icon: 'error'
				});
				const that = this
				uni.$TUIKit.logout().then(function(imResponse) {
					console.log(imResponse.data); // 登出成功
					uni.clearStorage()
					that.$u.toast('退出成功');
					setTimeout(function() {
						uni.redirectTo({
							url: '/pages/logins/login/login'
						})
					}, 1000)
				}).catch(function(imError) {
					console.warn('logout error:', imError);
				});
			}
		}
	};
</script>

需要用到这两个文件夹  分别是聊天目录和聊天列表 以及配置文件

Uni-app 小程序使用腾讯云IM实时通讯,uni-app,小程序Uni-app 小程序使用腾讯云IM实时通讯,uni-app,小程序

配置完成之后进行登录   我这里是写在 小程序授权后触发的一个IM登录

	IMlogin() {
				const userID = JSON.stringify(uni.getStorageSync('userid'));
                  //这里是通过调用接口返回的userSig   可以在腾讯云控制台通过id进行生成
				const userSig = uni.getStorageSync('userSig')  
				const SDKAppID = app.globalData.SDKAppID;
				logger.log(`TUI-login | login  | userSig:${userSig} userID:${userID}`);
				app.globalData.userInfo = {
					userSig,
					userID
				};
				wx.setStorageSync(`TIM_${getApp().SDKAppID}_isTUIKit`, true);
				uni.$TUIKit.login({  //进行登录
					userID: userID,
					userSig: userSig
				}).then(() => {
			//成功返回
				}).catch((error) => {
			//失败返回
				})
			},

到这一步基本就完成了剩下的按照文档进行 功能上的编写就好了

文档:即时通信 IM Web&小程序&uni-app-无 UI 集成方案-文档中心-腾讯云

 Uni-app 小程序使用腾讯云IM实时通讯,uni-app,小程序

 Uni-app 小程序使用腾讯云IM实时通讯,uni-app,小程序文章来源地址https://www.toymoban.com/news/detail-553981.html

到了这里,关于Uni-app 小程序使用腾讯云IM实时通讯的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app 小程序获取实时定位和车辆签到(wx.onLocationChange方法)

    1、需求描述         实现一个车辆定位签到功能,获取当前车辆的实时定位,当车辆到达签到点1公里范围内时,可以进行签到,当大于1公里时,禁止签到。同时用户还可以手动刷新定位。         2、wx.getLocation弊端         在小程序中,我们使用wx.getLocation api来获

    2024年02月15日
    浏览(47)
  • 小程序-uni-app:hbuildx uni-app 安装 uni-icons 及使用

    一、官方文档找到uni-icons uni-app官网 二、下载插件 三、点击“打开HBuildX” 四、选择要安装的项目 五、勾选要安装的插件 六、安装后,项目插件目录 根目录uni_modules目录下增加uni-icons、uni-scss 七、引入组件,使用组件 八、经过测试,成功。 参考链接 http://lihuaxi.xjx100.cn/new

    2024年02月12日
    浏览(58)
  • 【备忘录】uni-app的地图相关组件操作,uni-app接入腾讯地图API的具体实现

    官方帮助文档:https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview 进行一些简单的配置 Uniapp提供的位置相关的服务: https://uniapp.dcloud.net.cn/api/location/location.html UniApp提供的地图组件 https://uniapp.dcloud.net.cn/component/map.html 文档针对微信小程序进行设置,其他端使用这些组件还需要参

    2023年04月26日
    浏览(64)
  • 记录--Uni-app接入腾讯人脸核身

    人脸核身功能有多种接入方式,其中包含微信H5、微信小程序、APP、独立H5、PC端、API接入6种方式。 ​ 我们的产品是使用uni-app来开发,所以第一时间考虑使用H5方式接入,但是通过与官方技术人员对接后得知,uni-app是有原生插件可以用的,所以可以使用app的方式接入,原生的

    2024年02月19日
    浏览(70)
  • uni-app根据腾讯地图接口三级联动组件

    有时候很懵逼,因为需要用到腾讯地图接口的三级联动,习惯问问度娘,结果出来了我几年前用JQ写的,好吧,还是自己撸一个现在用的吧 组件使用得是uni-popup弹窗,picker-view 滑动选择地址 访问腾讯地图接口使用的是 vue-jsonp  在main.js引入 组件address.vue 组件只需要填写你自

    2024年01月20日
    浏览(59)
  • uni-app:vue3 + uni-app 在微信小程序中无法使用app.component全局注册组件

    按上文中的代码执行后,会发现在微信小程序开发中全局注册的组件是无法显示的,这是uniapp的一个未解决bug, 在uniapp中出了可以通过vue实例的component方法注册全局组件外,uniapp支持另一种全局注册的方式,就是通过 easycom 扫描注册,步骤如下 easycom 的扫描流程是:通过代码

    2024年02月16日
    浏览(98)
  • 快速使用uni-app搭建小程序项目

    HBuilder是uni-app官方团队专门定制的编辑器,它对Vue做了大量优化投入,且支持uni-app官方库Api的智能提示和推断,同时,我们也可以在通过编辑器快速的创建各种场景下的项目模板,总之HBuilder是用uni-app进行应用开发的首选编辑器,可以访问其官网进行下载安装,点击如下链接

    2024年02月15日
    浏览(131)
  • uni-app 使用 tailwindcss 兼容小程序

    在小程序中常规的方式安装taiwindcss会在小程序中报错,所以需要用兼容的写法安装。这里介绍使用vue-cli创建的uniapp项目,按我的步骤操作就好。 这步会生成tailwindcss.config文件,如果没有生成,也可以自己手动在根目录创建 主要是修改plugins部分,加入以下代码,加在require

    2024年02月15日
    浏览(61)
  • 小程序-uni-app:uni-app-base项目基础配置及使用/uni-app+vue3+ts+vite+vscode

    目前(20230605)uni-app最新版本(3.8.4.20230531) 一、官网文档 微信开放文档 uni-app官网 二、创建项目 项目目标:vue3+ts+vite+vscode 创建以 typescript 开发的工程(如命令行创建失败,请直接访问 gitee 下载模板) npx degit dcloudio/uni-preset-vue#vite-ts uniapp-base ​ 本文创建成功 ​ 为了验

    2024年02月15日
    浏览(96)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包