前端界面:

演示:

<!-- 表单 -->
<form bindsubmit="formSubmit">
<input type="text" name="liuyantext" placeholder='输入留言内容' class="input-style"/>
<button formType="submit" class="btn" wx:if="{{nickName == empty}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo" bindtap='login'>授权登录</button>
<button formType="submit" class="btn" wx:else>留言</button>
<input type="text" name="nickname" value='{{nickName}}' style="display:none;"/>
<input type="text" name="headimg" value='{{avatarUrl}}' style="display:none;"/>
</form><view wx:for="{{re}}" wx:key="re"><view class="result">{{item.result}}</view>
</view>
<view style="text-align:center;font-size:14px;color:#ccc;margin-top:20px;">以下是留言内容</view>
<view wx:for="{{liuyanlist}}" wx:key="liuyanlist" class="liuyanview"><view class="headimg"><image src="{{item.headimg}}"></image></view><view class="nickname_liuyantext"><view class="nickname">{{item.nickname}} <view class="time">{{item.lytime}}</view></view><view class="text">{{item.liuyantext}}</view></view><!-- 占位符 --><view style="width:100%;height:10px;"></view>
</view>

//index.js
//获取应用实例
const app = getApp()
Page({/*** 页面的初始数据*/data: {},//授权登录login: function () {var that = this;// 查看是否授权wx.getSetting({success(res) {if (res.authSetting['scope.userInfo']) {// 已经授权,可以直接调用 getUserInfo 获取头像昵称wx.getUserInfo({success: function (res) {console.log(res.userInfo),that.setData({nickName: res.userInfo.nickName,avatarUrl: res.userInfo.avatarUrl,})}})}}})},bindGetUserInfo(e) {console.log(e.detail.userInfo)},formSubmit: function (e) {wx.showToast({title: '已留言',icon: 'success'})var that = this;var liuyantext = e.detail.value.liuyantext; //获取表单所有name=liuyantext的值 var nickName = e.detail.value.nickname; //获取表单所有name=nickName的值 var headimg = e.detail.value.headimg; //获取表单所有name=headimg的值 wx.request({url: 'http://localhost/liuyanserver/liuyan.php?liuyantext=' + liuyantext + '&nickname=' + nickName + '&headimg=' + headimg,data: {liuyantext,nickName,headimg},header: { 'Content-Type': 'application/json' },success: function (res) {console.log(res.data)that.setData({re: res.data,})wx.hideToast();}})},onPullDownRefresh: function () {wx.showNavigationBarLoading();var that = thiswx.request({url: 'http://localhost/liuyanserver/loadliuyan.php',headers: {'Content-Type': 'application/json'},success: function (res) {//将获取到的json数据,存在名字叫list的这个数组中that.setData({liuyanlist: res.data,//res代表success函数的事件对,data是固定的,liuyanlist是数组})// 隐藏导航栏加载框wx.hideNavigationBarLoading();// 停止下拉动作wx.stopPullDownRefresh();}})},//加载最新数据onLoad: function () {var that = thiswx.request({url: 'http://localhost/liuyanserver/loadliuyan.php',headers: {'Content-Type': 'application/json'},success: function (res) {//将获取到的json数据,存在名字叫list的这个数组中that.setData({liuyanlist: res.data,//res代表success函数的事件对,data是固定的,liuyanlist是数组})}})}
})
/**index.wxss**/
.input-style{width: 90%;height: 50px;border:1px solid #ccc;margin:10px auto;
}.btn{width: 88%;margin:5px auto;
}.liuyanview{width: 90%;margin: 10px auto;
}.result{text-align: center;font-size: 14px;color: #f00;margin-top: 20px;
}.headimg{width: 45px;height: 45px;border-radius: 100%;
}.headimg image{width: 45px;height: 45px;border-radius: 100%;
}.nickname_liuyantext{width: calc(100% - 55px);float: right;margin-top:-45px;
}.nickname_liuyantext .nickname{font-size: 15px;color: #999;
}.nickname_liuyantext .nickname .time{font-size: 11px;color: #999;float: right;
}.nickname_liuyantext .text{font-size: 16px;color: #666;
}

以上是前端部分
后端有两个文件。

点击下载后端,后端需要修改自己的数据库配置!

http://liketube.cn/payjs/alipay/liuyanserver/alipay.html

数据库格式:

视频:https://www.lanzous.com/i1w1deb

学习交流微信:face6009

作者网站:http://www.likeyunba.com

微信小程序评论/留言功能,附:前端+后端代码+视频讲解!相关推荐

  1. 微信小程序 评论留言功能实现 仿知乎

    最近沉迷学习无法自拔,太久没有码字,码一个小程序留言功能实现.先上一波最后效果图: (删除按钮,是用户自己的留言时才会显示该按钮) 实现技术 后台:SSM框架 数据库:MySQL数据库 数据库设计   ...

  2. php微信小程序 留言功能,微信小程序评论/留言功能,附:前端+后端代码+视频讲解!...

    前端界面: (此图片来源于网络,如有侵权,请联系删除! ) 演示: (此图片来源于网络,如有侵权,请联系删除! ) 授权登录 留言 {{item.result}} 以下是留言内容 {{item.nic ...

  3. 黯然微信小程序杂记(三):微信小程序实现倒计时功能 附讲解教学 附源码

    黯然微信小程序杂记(三):微信小程序实现倒计时功能 附超详细注释 附源码 一.功能描述 二.界面展示 三.test.wxml代码 四.test.js代码(注释很详细 很易懂) CSDN私信我,有关微信 ...

  4. 文案微信小程序源码独立版 前后端代码有齐全

    文案微信小程序源码文案+头像+背景图  文案微信小程序源码独立版+前端 | 星空资源网 (xk686.com) api接口是别人的,毕竟自己采集资源比较难 后台程序没有首页,只需要安装即用 后台账户: ...

  5. 微信小程序实现天气预报功能(附源码)

    目录 前言 效果图 天气API获取 微信小程序后台域名配置 页面代码 注意问题(必看) 留言 前言 最近在学小程序开发,刚好学到天气预报功能的制作,于是给大家分享下. 效果图 天气API获取 这里我用 ...

  6. 微信小程序消息订阅完整教程前端+后端。

    内容较多!!!如果有没涉及到的欢迎补充或提问. 一.订阅模板,前端调用 根据官方文档来:第一步 在小程序里面找到消息订阅,随便选个模板就行,我们需要的是模板id https://mp.weixin.q ...

  7. 【原创纯手打】如何用微信小程序写留言板(附代码)

    首先我们先创建三个输入框,分别绑定响应的触发条件,微信双向绑定和VUE不一样,需要setData 名字<input type="text" value="{{nam ...

  8. php微信小程序实现留言,微信小程序实现留言功能

    需求:留言可以点赞,点过赞之后图标变化,没人只能点赞一次,留言可以在留言 index.wxml 邻居评论({{yanlist.count}}) 我要留言 {{item.nick_name}} {{it ...

  9. 微信小程序实现点赞功能(前端)

    可以通过以下代码实现点赞效果,且只能点赞一次: <view class="card-right"><text class="topText"& ...

最新文章

  1. ABAP的Package interface, 安卓的manifest.xml和Kubernetes的Capabilities
  2. Centos rescue 模式
  3. MFC之AfxbeginThread 线程 创建、挂起、释放、结束、退出
  4. macbook配置java环境变量_配置mac上Java环境变量
  5. java后端跨域问题常用解决方案
  6. java ajax简单实例_JAVA编写的AJAX例子,很简单,但是很容易理解详解
  7. 中国IT业发展案例剖析之--豪杰解霸
  8. Android ui 测试课堂笔记
  9. 关于记录每天”要完成的事项“和”未完成事项“,(尤其是周末时,对未完成事项的记录一定要全)-----工作方式
  10. os.path.basename()
  11. Android系统信息获取 之三:IMSI号和IMEI解释
  12. 项目质量管理在民航业中的应用
  13. android 8.1.0编译以及卡刷包制作教程
  14. 荣耀智慧屏搭载了鸿蒙os吗,荣耀智慧屏尝鲜鸿蒙OS “一招鲜”能否吃遍天
  15. 楚氏春秋(新版)第一部 风起平原
  16. 钢铁行业经销商商城系统:完善钢材管控方案,轻松实现控价和防伪
  17. VMware如何克隆一个虚拟机
  18. 同一个局域网怎么计算机共享打印机,如何在同一个局域网内将多台计算机连接到 USB 共享打印机,实现共同打印...
  19. 分布式搜索elasticsearch搜索功能【深入】
  20. 大数据 SQL Boy 脱坑指南

热门文章

  1. 在chrome中设置禁止访问的网站
  2. 厦门考计算机竞赛保送北大清华名单,厦门这所学校130人获清华北大等名校保送资格...
  3. 项目需求管理-用户体验的五大层次
  4. (八)理解迭代思维(80)
  5. Web前端性能优化思路
  6. java中如何避免空指针异常
  7. 怎么视频提取音频文件?分享这3种简单实用的提取方法
  8. 关于Md5加密算法的原理及应用
  9. 【5G系列】RLC (Radio Link Control )协议详解
  10. idea 全局搜索快捷键冲突_intellij idea 的全局搜索快捷键方法