应用实战|微信小程序开发示例--多人聊天互动空间

微信小程序 WebSocket 通信 —— 在线聊天 本篇通过WebSocket通信实现客户端(小程序)和服务器端(Node.js搭载的服务器)的对话聊天,客户端通过小程序的WebSocket API 实现,服务器使用Node.js来搭载简易的服务器。感兴趣的读者可以观览一下! 阅读详情

“超能力”数据库~拿来即用,应用开发人员再也不用为撰写API而发愁。MemFire Cloud 为开发者提供了简单易用的云数据库(表编辑器、自动生成API、SQL编辑器、备份恢复、托管运维),很大地降低开发者的使用门槛。

本示例是一个可以实现多人互动的角色扮演聊天室的微信小程序(web版传送门:Web开发示例–多人聊天互动空间),小程序后端服务使用了MemFire Cloud,其中使用到的MemFire Cloud功能包括:
其中使用到的MemFire Cloud功能包括:

  • 云数据库:存储聊天室小程序数据表的信息。
  • 即时API:创建数据表时会自动生成 API。
  • 云存储:存储用户发布帖子中的图片。
  • Realtime:轻松构建任何类型的实时应用程序

在这里插入图片描述

创建应用

目的:通过创建的一个MemFire Cloud应用来获得数据库、云存储等一系列资源,并将获得该应用专属的API访问链接和访问密钥,用户可以轻松的调用API接口与以上资源进行交互。

登录MemFire Cloud, 在“我的应用”页面创建一个新应用

在这里插入图片描述

创建数据表

创建messages表

建表操作如下:

在这里插入图片描述

在“表编辑器”页面,点击“新建表”,创建messages表。messages表主要记录用户发送的每一条信息,表结构字段如下:

名称类型描述
idbigint主键,自动为列分配一个连续的唯一编号,唯一标识ID
usernamevarchar用户名
bgColorvarchar头像背景颜色
created_attimetamptz创建时间
texttext消息

sql建表语句

CREATE TABLE messages (
  id bigint GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
  username VARCHAR NOT NULL,
  bgColor VARCHAR NOT NULL,
  text TEXT NOT NULL,
  timestamp timestamp default now() NOT NULL
);

创建策略

接下来,需要给messages表创建两条策略,分别是允许所有用户可以查询和插入messages表数据,在“SQL执行器”页面,点击“新查询”按钮,新建一个SQL Query,执行以下操作:

alter table public.messages enable row level security;

-- 启用对所有用户的查询数据访问
create policy "Enable access to all users" on public.messages for
select using (true);

-- 启用对所有用户的插入数据访问
create policy "Enable insert for all users" on public.messages for
insert with check (true);

启用Realtime

常用的启用Realtime功能有两种方式:

①在表编辑器页面,创建数据表时,勾选“启用Realtime”,即可启用;

② 在“数据库->Replication”页面,启用Realtime,可以选择Realtime监听数据表的‘插入’、‘更新’、‘删除’、‘截断’操作,可以根据业务自身需求勾选,这里我们需要启用全部操作。点击‘1张表’按钮后,进入数据表列表,点击message表的开关按钮,启用Realtime功能。

在这里插入图片描述

创建bucket

1.新建images存储桶

点击‘存储’图标菜单,点击‘创建新bucket’,创建images存储桶

在这里插入图片描述

2.创建策略

接下来,给images存储桶创建一个策略,允许所有的用户在聊天中发送图片。

-- Secure the bucket
CREATE POLICY "允许任何用户发送图片1ffg0oo_0" ON storage.objects FOR INSERT TO public WITH CHECK (bucket_id = 'images' );

注册小程序

以上是我们在MemFire Cloud上配置的全部步骤,接下来是在微信开发者工具上操作了。

「如果您还未注册过小程序,请参考官方步骤注册小程序(只需要通过您的邮箱注册一个小程序获得一个appid,然后下载一个微信开发工具即可)」

用微信开发者工具点击导入项目

选择目录是下载好的小程序项目的目录,AppID为您在微信公众平台注册小程序获得的专属appid。

在这里插入图片描述

构建npm

在右侧详情里面的本地设置把“使用npm模块”和“不校验合法域名”勾上。

在这里插入图片描述

打开终端,在项目根目录下执行如下命令 (小程序需要的MemFire Cloud的微信小程序SDK已经存在package.json里,可以直接安装全局依赖)。

npm init
npm install

在这里插入图片描述

点击开发者工具中的菜单栏:工具 /构建 npm

这一步npm就构建完成了,我们需要的依赖也已经下载好了,根目录下会多出两个文件,如下图。

在这里插入图片描述

获取 API密钥

接下来需要创建一个可以访问应用程序数据的客户端,小程序使用了MemFire Cloud 微信小程序SDK包,使用他生态里提供的功能(登录、注册、增删改查等)去进行交互。创建一个可以访问微信小程序数据的客户端需要接口的地址(URL)和一个数据权限的令牌(ANON_KEY),我们需要去应用的首页去获取这两个参数然后配置到lib/supabase.js里面去。

lib/supabase.js

import { createClient } from 'supabase-wechat-stable-v2'
const url = ""
const key = ""

export const supabase = createClient(url, key)

回到MemFire Cloud首页,在应用/首页页面,获取服务地址以及token信息,只需要从首页中获取URL接口地址和anon的密钥。

在这里插入图片描述
「Anon(公开)密钥是客户端API密钥。它允许“匿名访问”您的数据库,直到用户登录。登录后,密钥将切换到用户自己的登录令牌。这将为数据启用行级安全性。」

编译小程序

在这里插入图片描述

微信小程序05---聊天室的搭建 微信小程序 websocket 实现聊天室功能 阅读详情

相关推荐

小程序即时通讯聊天控件(一)

小程序即时通讯——文本、语音输入控件(一)集成近期一直在做微信小程序,业务上要求在小程序里实现即时通讯的功能。这部分功能需要用到文本和语音输入及一些语音相关的手势操作。所以我写了一个控件来处理这些操作。控件样式我们先来看下效果目前的功能就是动态图中展示的,我们可以使用这个控件来切换输入方式(文本或语音)、获取到输入的信息、取消语音输入、语音消息录制过短过长的判断(该接口暂时还未开放),支持发送图片和

专注扫地人士的博客 8万+

【微信开发】微信小程序实现实时聊天功能

你可以拿去实现一下它的实例代码,看看打印,感受一下。1.说到底,聊天界面就是循环一个数组,每一行为一个单位(item),循环(wx.for)我们设置的装聊天记录的数组。3.我们在很多的带有聊天功能的系统中都知道,进入页面和发送信息我们的需要将视角放置到我们刚更新的那条信息,则就有。②在循环体中加上id="item{{index}}",意为:设置当前循环体的id为当前item对应下标;wx:if="{{item.id == 1}}"和wx:if="{{item.id == 0}}"2.如何实现实时更新;

weixin_57788079的博客 2万+

一对一视频聊天

一对一视频聊天 wx-chat 一款可以实现在线一对一视频聊天的小程序 一款可以实现实时在线聊天的微信小程序,一对一实时在线聊天,可以实现客服功能,可以文字聊天,可以发图片聊天,简单实用 使用步骤 配制野狗云通讯,创建自己的应用 目前为了让大家可以实时看到小程序运行的效果,所以小程序里面还是保存着我自己的野狗云运用仓库,所以请自己使用野狗云配置好自己的仓库路径,野狗云使用非常简单...

weixin_34114823的博客 5130

微信小程序之聊天室(多人聊天室)总结

实现方式一: 使用nodejs + socket.io实现 缺点:引用weapp.socket.io.js 大小100kb 实现方式二: 使用小程序云开发- 数据库实时监听 来实现 缺点:目前不可以跨端,只能在当前小程序聊天 预览效果: 未完待续… ...

也许是前端的博客 1万+

One能聊天接入百度千帆AppBuilder

百度云千帆AppBuilder(以下简称AppBuilder)是基于大模型搭建AI原生应用的工作台,提供RAG、Agent、GBI等应用框架,文档问答、表格问答、对话、创作等应用组件,以及文生图、语音等传统AI组件,降低AI原生应用的开发门槛,赋能开发者快速实现应用搭建!千帆AppBuilder是提供开发者基于文心大模型可以快速开发出一个AI应用创建的应用可以集成一些官方的组件(如天气查询、快递查询等),也可以集成自定义组件(通过画布拖拽,自行编排组件逻辑,如调用企业内部API或调用大模型接口)

2133

微信小程序开发:实现实时聊天功能

具体来说,我们需要先搭建一个WebSocket服务器,然后在前端界面中进行连接、发送和接收消息的实现。实时聊天是微信小程序中最常用的功能之一,在本文中,我们将介绍如何开发微信小程序中的实时聊天功能。在上述代码中,我们为用户定义了一个输入框,用户通过文本框输入消息内容,然后点击“发送”按钮,调用ws.send()函数将消息发送到服务器。在上述代码中,我们首先打印收到的消息。通过以上代码,我们在本地创建了一个WebSocket服务器,监听8080端口,并处理连接、收到消息、关闭连接等事件。

吃不胖. 2997

微信小程序开发实战:打造专属情侣互动应用完整指南

还在为如何用技术表达爱意而发愁吗?今天我要分享一个超实用的微信小程序项目,专门为情侣们设计的互动平台。这个小程序不仅能让你们的日常互动更有趣,还能通过技术手段增进感情交流,真正实现"用代码说爱你"的浪漫。 ## 💔 情侣互动中的常见痛点 很多情侣在日常相处中都会遇到这样的困扰: - 纪念日总是忘记,事后补救很尴尬 - 日常小任务缺乏监督,很难坚持完成 - 想送对方礼物却不知道选什么合适

gitblog_00633的博客 778

微信小程序|基于小程序+C#实现聊天功能

此文主要实现在小程序内聊天对话功能,使用C#作为后端语言进行支持,界面友好,开发简单。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 4万+

基于微信小程序的线上聊天交友系统

基于微信小程序的线上聊天交友系统是一款顺应现代社交需求的创新应用。它借助微信小程序的便捷性和广泛用户基础,为人们提供了一个全新的交友交流平台。该系统在功能设计上充分考虑用户体验和社交互动的多样性。用户可以通过简单的注册和登录流程进入系统,完善个人资料并上传个性化头像,展示自己的独特魅力。系统提供了智能匹配功能,根据用户设置的兴趣爱好、年龄范围、地理位置等条件,为用户精准推荐可能志同道合的好友,大大提高了交友的效率和准确性。在聊天功能方面,支持文字、语音、图片、表情等多种聊天方式,让交流更加生动丰富。用户可以

专注于大学生项目实战开发,讲解,毕业答疑辅导,高校老师/讲师/同行合作。以及产品测评宣传、工具推广等合作。 1094

构建微信小程序中的智能聊天机器人

微信小程序作为一种新型的应用形式,与传统APP相比,它无需繁琐的下载安装过程,用户仅需通过扫一扫二维码或搜索小程序名称,就能轻松访问并使用。它具备即用即走的特性,使得用户体验更加流畅。在本章节中,我们将探讨微信小程序的定义、核心特性,以及它在不同场景下的应用案例。接下来,我们还将介绍微信小程序的开发流程,包括注册、设计、编码、测试、发布和维护等关键步骤,帮助开发者快速上手微信小程序的开发和应用发布。

weixin_32047493的博客 1248

医疗急救微信小程序开发实战教程

本文还有配套的精品资源,点击获取 简介:本资源包括一套完整的医疗急救微信小程序源代码,涵盖了从微信小程序开发到移动开发、医疗保健功能实现等多方面内容。项目包含了患者信息管理、急救指南、紧急呼叫等实用功能,并提供了详细的图文文档和视频教程,帮助开发者快速上手并定制医疗急救小程序。资源还包括了操作界面截图和资源说明文件,旨在为医疗保健领域的微信小程序开发提供实用的指导和参考。 ...

weixin_33557333的博客 1442

打造情侣专属互动空间:Rainbow-Cats微信小程序的完整实现方案

Rainbow-Cats是一款专为情侣设计的互动微信小程序,集成了任务管理和积分商城系统,帮助情侣间通过趣味互动增进感情。本文将详细解析这款情侣互动小程序的技术架构与实现方案,适合新手开发者学习参考。 ## 一、项目概述:情侣互动新体验 Rainbow-Cats小程序以"任务-积分-兑换"为核心机制,让情侣间可以互相发布任务、完成挑战并获得积分,最终在商城中兑换奖励。这种创新模式既增加了情侣互

gitblog_00581的博客 1101

MiniMax H3本地部署实战:ComfyUI整合包安装与提速插件验证指南

在AIGC工具链快速演进的当下,本地部署内容生成模型成为许多创作者和开发者的关注焦点。本地部署意味着数据不出本机、可按需定制工作流,还能规避云端排队与外部依赖,其核心价值在于为内容生产提供可控、私密且可编程的生成环境。ComfyUI作为模块化节点式AI绘画工具,凭借灵活的工作流编排和API接口能力,成为承载这类模型的热门平台。MiniMax H3作为支持文本、参考图等多种输入的内容生成模型,与ComfyUI结合后,既适合个人进行概念验证,也能用于团队私有化流程搭建。实际落地过程中,中文整合包显著降低了环境配

weixin_29042035的博客 293

情侣小程序开发全攻略:用代码打造专属的甜蜜互动空间

还在为如何给爱情加点"技术感"而苦恼吗?今天我要分享一个超有爱的微信小程序项目,专门为情侣量身定制的互动平台。这个小程序将冰冷的代码转化为温暖的互动,让你们的日常相处充满惊喜和期待,真正实现"用技术守护爱情"的美好愿景。 ## 💔 为什么传统方式无法满足现代情侣的需求? 很多情侣在相处中都会遇到这样的烦恼: - 重要日子总是记不住,临时抱佛脚很狼狈 - 日常承诺缺乏跟进,很难坚持完成 -

gitblog_00262的博客 1003

机器人控制入门

机器人控制入门 对于工科领域来说,脱离实践的学习都是肤浅的,对于控制这种强调经验的技术更是如此。如果去问一个程序员怎么学习一块技术,他必然让你去多编程。机器人领域也是。如果想把基本功打扎实,那么实践更是必不可少了。 机器人控制有三个元素:控制器(算法),执行器(电机),传感器; 控制的本质就是将规划系统的指令作为输入信息,将传感器探测得到的状态信息和导航系统的定位

彼岸花 1万+

【编号326】全国地灾数据全国25万多个地质灾害点空间分布数据

全国地质灾害点分布数据涵盖25万多个各类灾害点信息,为灾害防治提供重要依据。通过分析灾害分布规律,可识别高风险区,指导监测预警、应急避险和基础设施建设。多地成功案例(如湖北兴山崩塌避险、重庆长寿滑坡预警、湖南"挪床行动")证明,提前预警和科学防治能有效避免人员伤亡。云南省2024年通过预警体系成功避让31起灾害,保护1342人生命安全。这些实践表明,地质灾害防治需结合科技手段与群防体系,实现早预警、早处置。

千奇百怪无奇不有 1467

[精品]基于微信小程序的 多人协同办公系统UniApp

微信小程序,简称“小程序”,是一种由腾讯公司推出的,运行在微信平台上的轻量级应用程序。自2017年1月9日正式上线以来,微信小程序已经逐渐成为移动互联网生态中不可或缺的一部分,为开发者、商家和用户提供了一个全新的互动和服务模式。在移动互联网迅速发展的时代,原生应用(Native App)的开发和维护成本越来越高,同时用户手机存储空间有限,频繁安装和卸载应用也会带来诸多不便。为了解决这些问题,微信小程序应运而生。

QQ860660016的博客 419

【ENVI初学】查看影像空间分辨率及重采样

例如,如果线段长度为900米,对应的像素数量为30个,那么影像的空间分辨率为30米。通过计算长度与像素数量的比值,即可得到影像的空间分辨率。,在弹出的对话框中,输入重采样后输出文件的xy分辨率大小。在测量结果窗口中,可以看到该线段的长度以及角度。在影像上点击并拖动鼠标,绘制一条直线段。工具,选择要重采样的影像后点击ok。,避免了插值过程中光谱信息的改变。:最近邻插值法通过选择原始影像中。在ENVI中打开影像后右键选择。指示了每个像素的地理跨度(聚合为一个新像素,通常通过。方法一:查看影像的元数据。

weixin_41619112的博客 5571

实战打造专属情侣互动小程序:用代码编织浪漫的完整指南

还在为如何用技术为爱情保鲜而烦恼吗?今天我要分享一个充满创意的微信小程序项目,它将冰冷的技术与温暖的情感完美融合,让你真正体验到"用代码说爱你"的独特魅力。 ## 为什么需要专属的情侣互动小程序? 在现代快节奏生活中,情侣们常常面临这样的困扰:纪念日总是记不住,日常小任务缺乏监督,想送礼物却不知道选什么合适,缺乏专属的二人世界互动空间。传统的备忘录和聊天工具已经无法满足现代情侣的情感交流需求。

gitblog_00748的博客 1033

华为C语言笔试题(附答案)

华为C语言笔试题(附答案)     1、局部变量能否和全局变量重名?   答:能,局部会屏蔽全局。要用全局变量,需要使用 ":: "   局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。  

峰云四起 3031

RK3588 C++ MeloTTS 推理

本文介绍了基于RK3588平台和RKNN工具链实现的端侧语音合成(TTS)系统。该系统支持中英文混合输入处理,通过自动合并英文单词、转换标点符号等方式预处理文本,并将其转换为音素和声调序列。核心推理流程包含编码器、中间处理和解码器三个阶段:编码器将音素序列转为隐藏状态,中间处理调节音调和语速,解码器生成最终波形。代码示例展示了输入数据设置和模型推理过程,利用RK3588内置NPU实现高效语音合成。该系统展现了在边缘计算设备上实现复杂AI任务的能力。

J。 199

Vue微信小程序开发终极指南:从零构建27页面仿微信应用

Vue微信小程序开发是当前前端领域的热门方向,而GitHub上的vue-weixin项目则为开发者提供了一个绝佳的学习范例。这是一个基于Vue2全家桶开发的仿微信App项目,支持多人在线聊天和机器人聊天功能,通过学习该项目,新手也能快速掌握Vue微信小程序的开发技巧。 ## 项目概述:Vue2全家桶打造仿微信应用 vue-weixin项目采用Vue2框架,结合Vue Router、Vuex等技术

gitblog_00398的博客 803

Fiori Elements Analytical List Page 标题区配置全攻略:从变体、过滤模式到 UI.KPI 的工程化落地

ALP标题区是Fiori Elements Analytical List Page的核心交互区域,承担变体管理、过滤模式切换、KPI展示等关键功能。本文系统解析了标题区的组成结构、可用能力及工程实现要点,包括:1)标题区包含过滤类型切换、全局KPI、变体管理等交互元素;2)详细说明视觉过滤与紧凑过滤的同步规则及实现方式;3)介绍OData V2下通过UI.KPI注解配置标题区KPI的方法;4)提供manifest.json配置示例和CDS注解写法。文章还对比了V2与V4版本的差异,为ALP开发提供实用指导

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 244

微信小程序开发:架构、特性与行业应用

随着移动互联网的飞速发展,微信小程序作为一种新兴的轻量化应用形式,凭借其无需安装、即用即走的特点,迅速在各个行业中得到广泛应用。本文深入剖析了微信小程序的特点、优势及其与传统应用的差异,并结合实际案例分析了其在不同行业的应用场景与业务模式。同时,本文详细探讨了小程序的运行机制、架构设计、基本组成元素及其开发规范,旨在为后续的小程序开发提供理论基础与实践参考。

weixin_74149145的博客 2000

一键生成Microsoft Store应用直链下载:绕过商店故障的终极方案

遇到商店无法加载时,复制链接 → 粘贴到Adguard → 下载主程序包 → 开启开发者模式安装。整个过程耗时不超过2分钟,彻底摆脱商店依赖!

安德洛夫 2183

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: 系统公告 | MemFire Cloud应用管理全新升级,实时数据库等你来体验~
下一篇: MemFire教程|PostgreSQL RLS介绍
NimbleX_
博客等级 码龄6年 241粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值