微信小程序之云开发--留言板功能开发(免服务器)

2023-10-10 01:20

本文主要是介绍微信小程序之云开发--留言板功能开发(免服务器),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

微信小程序–留言板功能开发(免服务器)

github代码网址:igo312

前言

  • 实现了留言板块的开发,可以与公众号绑定,提供公众号一个留言板块

  • 使用腾讯云开发实现数据库等的读取,不再需要租借服务器,只要注册相应的小程序即可

  • 大家可以在这里互相交流,如果需要可以留言创个群互相交流呢

2020/8/28 更新

更新简介

  • 添加了对留言的评论功能与点赞功能的完善
  • 添加了对留言、留言评论删除功能的实现
  • 完善了数据加载逻辑,保证了先获取数据再进行渲染
  • 对组件高宽进行了重新设定
  • 添加了更多功能选项,将评论、点赞、删除进行归纳

详细说明

1.对留言评论的逻辑实现

利用变量控制调用的函数,在记录中添加一个列表(leaveMessage)保存评论记录,无论是在主留言评论还是对某一留言评论都会添加到留言记录中,时间排序为在列表末尾添加即从早到晚展现。在数据更新上,无论是添加评论还是在点赞上,都是直接利用update更新整个数组

2.组件高宽的问题

组件高宽的问题主要为留言板在真机调试中比例不合适的问题=>

问题在于: rpx作为基本单位,其定义是根据屏幕宽度实现自适应。这导致了在高度上其实不能做到真正的自适应,不同机型的长宽比例不同,dpr只实现了宽度 的自适应。在问题的解决上,调用wx.systemInfoSync.windowHeight来获取可使用屏幕高度,乘以一定系数来设定留言板的高度。

3. js控制wxss

js不能直接控制样式,但能通过设置文本wxml,利用数据绑定{{}}实现控制样式如下面的代码

# javascript 的代码
var commentStyle:"height: 0px; bottom:-1200px;"# wxml处的代码
<view id="" class="" style="{{commentStyle}}" animation="">

接下来的目标

  • 实现被评论后用户会得到被回复的消息
  • 加速小程序的加载


1.代码添加与小程序绑定

代码相关注意事项

  1. 小程序注册[1]与开发者工具下载网站[2]
  2. 提交的代码都是自己写的代码,但是在项目初始化时,开发者工具会自动提供部分参考代码。请各位在使用时酌情筛选,另外可能在上传过程中漏掉了部分代码导致程序无法正常运行,请告诉我呢谢谢
  3. 创建项目时需要勾选’云开发 QuickStart 项目’,见官方模版
  4. 设计到云开发保存于cloudfunctions,具体的云开发函数部署见[3];若有意向进行本地调试,需进行npm install的初始化,位置应在相应的云函数文件夹下,具体见[4]

小程序绑定

1.需创建公众号并在小程序-小程序管理进行相应的与小程序绑定

2.目前本人公众号发布的都是图文消息,在创建过程中可加入小程序

3.公众号提供的展示方式有文字图片小程序卡片小程序码,本人建议使用文字注释为写留言即可。图片为小程序卡片展示方式

4.在绑定过程中会提示添加小程序页面路径,请使用pages/post/comment/comment?idx=(输入你自己的编号)进行绑定

在这里插入图片描述

2.代码模块解释

  |- miniprogram|---- data:在使用云函数前的数据提供端(现可删除)|---- images:提供了相应的图标与图片|---- item:提供了操作评论内容的接口代码如1.获取缓存内容,2.更新评论缓存,3.调用云函数更新云数据库等|---- pages:除`post`文件夹以外其余为系统自己初始化的内容|---- post:设定了欢迎界面`welcome`以及留言板界面`comment`,剩余两个文件夹未使用|---- welcome:欢迎界面,目前只起欢迎作用,放置公众号的二维码图片|___ comment: 留言板界面(主要功能区域)|---- utils:	提供了时间转换,时间比较(评论顺序的排列),获取用户信息等功能|_ cloudfunctions|---- getComment: 在数据库存在相应的集合读取相应的集合数据|---- initComment: 在数据库不存在时进行初始化集合,初始化会自动添加一条评论并置顶,评论内容可在`miniprogram/item/item-		``post.js/commentFromCloud`中进行修改|---- updateComment: 实现本地评论增加后对数据库的更新。|---- updateUp:实现本地点赞后对数据库的更新|___ login:获取用户的openID功能

3.Q&A(自问自答)

  1. Q:未来还会更新哪些功能呢?

    A:会考虑在某条评论长按触发如选择、复制、删除自己评论的功能

  2. Q:目前留言板还存在什么明显的问题呢?

    A:目前留言板还有许多问题存在,如留言的排序顺序还是要斟酌的;在测试过程中可以发现有时候加载留言的速度较慢会让用户觉得没有人留言,这是一个 很大的问题

  3. Q:能简单介绍整个程序的实现流程么?

    A:主要说说留言板的整个实现功能,用户进入小程序之后,程序会去云数据库寻找是否存在相应的集合,若存在则读取,不存在则进行创建并初始化一条评 论;评论以发布时间从最新到最迟进行排序(初始化评论的时间被设定为2021年,因此目前永远置顶)。用户在发布留言后会直接调用云函数将新发布的 内容与云数据库同步,但点赞的同步将在用户退出小程序后进行

4.申明

这是我第一个web相关的项目,很多都是依靠网上资料实现的,所以感谢所有帮助过我的人,而我也希望我能为需要的人尽绵薄致力,任何问题只要是我能帮到我都会尽力帮助你呢,欢迎在这里提出issues或者联系邮箱syren0925@163.com,谢谢!

访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本网站任何内容或服务用于其他用途时,须征得本网站及相关权利人的书面许可,并支付报酬。

这篇关于微信小程序之云开发--留言板功能开发(免服务器)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/176930

相关文章

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

C#实现高性能拍照与水印添加功能完整方案

《C#实现高性能拍照与水印添加功能完整方案》在工业检测、质量追溯等应用场景中,经常需要对产品进行拍照并添加相关信息水印,本文将详细介绍如何使用C#实现一个高性能的拍照和水印添加功能,包含完整的代码实现... 目录1. 概述2. 功能架构设计3. 核心代码实现python3.1 主拍照方法3.2 安全HBIT

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求: