基于weiphp框架的留言板插件教程:

1、功能分析

传统的留言板应该具有发布留言、查看留言、回复留言、管理留言等功能,本教程开发的是最基本的留言板,仅包含发布留言和查看留言两个功能,根据功能用bootstrap制作的前台页面样式如下:

2、新建weiphp插件

在第一步我们根据留言板的功能需求设计了前台效果页面,那么接下来的步骤就是根据效果来逐步开发weiphp插件了

第一步,在weiphp后台管理页面创建一个插件,记得把是否需要配置项和是否需要管理列表两个选项都选为“是”

第二步,安装创建好的插件,点击插件右侧的安装链接即可

回到weiphp前台管理页面,点击左侧的留言板就能看到已经安装好的留言板插件了

3、查看代码结构

插件创建成功后,weiphp框架会自动在Addons目录下生成一个插件文件夹,本教程生成一个liuyanban文件夹,liuyanban目录下包 括Controller、Model、View三个文件夹和config.php、LiuyanbanAddon.class.php两个文件。 Controller里面一般写逻辑处理代码,包括数据插入、数据查询等功能代码,Model里面主要写一些与微信交互的代码,View里面放前台模板。 config.php是配置文件,LiuyanbanAddon.class.php是插件信息文件,一般不需要修改。

4、测试插件是否可用

打开Model/WexinAddonModel.class.php

添加测试代码。最简单的测试代码为$this->replyTest('hello world');

下图第13、第14行代码为自己写上的测试代码,当用户在微信中回复“留言板”时,返回系统时间加提示信息

在微信中测试插件是否可用

bingo,插件正常可用,我们接着往下走

5、创建配置文件

打开config.php,写上下图所示配置代码

重新打开留言板管理界面,即可看到配置项设置成功

打开Model/WexinAddonModel.class.php,重新编辑微信响应代码(第15-25行),返回图文消息

重新在微信中测试留言板插件

返回单图文消息,bingo,继续往下走

6、导入前台模板

第一步,下载前台模板。最开始看到的那个前台页面我已经上传到了我的百度网盘,可以从这里下载:http://yun.baidu.com/s/1sjJgwEx

第二步,将下载的前台模板上传到View/default/Liuyanban文件夹下面

在Controller/LiuyanbanController.class.php中写上输出前台的代码

点击微信中回复的图文消息,就可以进入到前台首页了

现在看到的首页只是一个静态的html页面,点击“发布>>”没有任何跳转,我们需要对“发布>>”添加一个跳转链接

打开index.html页面,在第22行把“发布>>”的href链接改成下图所示,即跳转到当前控制器下的liuyan()方法,并传递token和uid两个参数。BTW:{:U('','')}为thinphp生成url的模板方法,不懂的请自行百度

前面在写LiuyanController的时候我们写了一个liuyan()方法,该方法没有进行任何的逻辑处理,只是显示出留言页面,即跳转到 liuyan.html。改好href的链接地址后在index.html中点击右上角的“发布>>”即可跳转到下图所示留言发布页面

同样,发布留言右上角的“查看>>”链接也不可跳转,我们在第19行把href改成下图所示

7、数据模型分析与创建

数据库设计毫无疑问是IT技术中的重中之重,关于数据库的知识请自行百度mysql教程学习。weiphp提供了一个方便的web端管理数据表模型,针对最开始我们看到的前台页面,我们来看一下发布留言页面有哪些input字段

分析可知本留言板插件只需要留言者姓名(name)、留言内容(content)两个可见的字段,同时要有留言时间(cTime)、留言所在的公众号Token(token)、留言者的用户UID(uid)。知道了这些,我们便开始设计数据库模型。

打开weiphp后台管理页面,新建liuyanban数据模型,下面的截图显示的模型标识为liuyan_info,建议大家改为liuyanban, 因为只有数据模型名为liuyanban(跟插件名一致)的时候,默认的weiphp前台留言板管理列表中才能显示数据,关于怎么更改默认的数据显示页面 与新建多个不同的数据模型不在本教程讲述的范围内,所以大家还是把下图的数据模型标识写为liuyanban吧。

创建好了数据模型之后我们便开始新建留言板插件所需的字段,点击数据模型操作界面右边的字段管理->新建字段即可。新建前面提到的token、uid、cTime、name、content五个字段,注意在字段新建页面的“高级”选项中添加字段自动完成规则,token添加get_token(),uid添加get_mid(),cTime添加time()

这就是我们创建好的留言板插件所需的全部字段了

回到模型管理页面,在liuyanban模型的右边点击编辑,将liuyanban模型的列表定义改为下图所示,这样是为了方便留言板前台管理页面能够显示数据

回到留言板前台管理页面,就可以看到显示数据的字段与操作了(留言者、留言内容、留言时间、操作)

到此为止整个数据库设计过程完成,接下来就是建立逻辑处理代码操作数据了

8、查询用户信息

打开Controller/LiuyanbanController.class.php,在liuyan()方法内写上下图所示16、17、18三行代 码,及根据用户的uid查询用户的信息,并把信息输出到留言发布页面的留言者姓名填写框中。这样做的目的是为了方便用户操作,只要绑定过一次个人信息,留 言的时候就不需要重复填写姓名了

在liuyan.html页面中将留言者姓名(name)的input框的value值改为用户的姓名,{$user.nickname}为输出用户的昵称

在进入发布留言页面的时候只要我们以前绑定过个人信息,在留言者姓名输入框中就能自动显示绑定的昵称了

9、插入留言数据

在liuyan()方法中写上数据处理代码(第21-34行),当用户提交留言数据之后就把留言数据插入到liuyanban数据表中

在留言页面插入几条测试数据之后回到留言板插件管理页面,就能看到用户提交的留言数据了。

10、显示留言信息

在index()方法中新建数据查询代码,把liuyanban数据表中的数据提取出来并显示到index.html前台模板

在index.html中用thinkphp模板标签<volist>把留言数据循环输出,BTW:weiphp是基于thinkphp开发 的,所有的thinkphp标签在weiphp中都是可用的,因此要学会weiphp插件开发的关键是要懂基本的thinkphp知识

打开index.html,就可以看到所有的留言数据了

至此,整个的weiphp留言板插件开发就完成了,查看此插件效果请在“艾豆乐园”微信公众平台中回复“留言板”,至于后面的如何将插件打包下载,上传到新的weiphp框架或者是导出数据模型,请各位自行查看weiphp官方文档。

转自:http://my.oschina.net/ecnu/blog/303753

如非特别注明,本站内容均为领悟书生原创,转载请务必注明作者和原始出处。
本文地址:http://www.656463.com/article/MZvINf.htm

转载于:https://www.cnblogs.com/caicaizi/p/5652003.html

【weiphp微信开发教程】留言板插件开发详解相关推荐

  1. 织梦学习 织梦留言板【详解】

    安装 1.安装服务器DEDEAMP 2.将DedeCMS-V5.7-UTF8-SP1/uploads文件夹内的所有内容粘贴到D:\DEDEAMP\DedeAMPZ\WebRoot\Default 3. ...

  2. 【微信小程序企业级开发教程】事件相关详解

    文章目录 1 事件类别 2 事件绑定 3 事件对象 1 事件类别 冒泡事件和非冒泡事件 为什么会有target和currentTarget之分呢,这是由于事件分为两类,冒泡事件和非冒泡事件 冒泡事件: ...

  3. android xml msgid,Android挂逼修练之行–微信聊天消息修改器插件开发详解

    一.插件开发背景 昨天无意中在刷抖音的时候看到有个视频可以修改转账信息,我就觉得好奇所以就自己实现了一下,关于微信消息修改其实是个假象就是修改本地自己看到的消息,而不是真正意义上的把聊天信息修改了,但 ...

  4. 微信公众平台开发之留言板

    微信公众平台开发之留言板是方便用户互相之间交流的最好方法.关注微信公号的用户之间是不能进行对话的.为了方便用户之间的交流留言板起到了非常大的作用.当用户进入留言板后能够在上面留言,互相回复,这样全部的 ...

  5. 微信小程序做留言板mysql_微信小程序留言板功能源码

    微信小程序留言板功能源码?先说一下 1.到微信公众平台下载开发者工具.安装 2.appID与没有appID的区别是,appID可以用真机预览,而没有就不行 3.目录解释: a)pages放页面,每个都 ...

  6. 微信小程序开发【六】-- wxss详解

    系列文章目录 微信小程序开发[一]-- 初识小程序 传送门 微信小程序开发[二]-- 小程序入门 传送门 微信小程序开发[三]-- 项目结构概述 传送门 微信小程序开发[四]-- 配置详解 传送门 微 ...

  7. vue 时间插件_Vue3 插件开发详解尝鲜版「值得收藏」

    作者:lishuai 转发链接:https://segmentfault.com/a/1190000022757326 前言 vue3.0-beta 版本已经发布了一段时间了,正式版本据说在年中发布( ...

  8. Android Studio 插件开发详解一:入门练手

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78112003 本文出自[赵彦军的博客] 系列目录 Android Gradle使用 ...

  9. 【STM32】标准库与HAL库对照学习教程八--串口通信详解

    [STM32]标准库与HAL库对照学习教程八--串口通信详解 一.前言 二.准备工作 三.通信的基本概念 1.通信方式 2.串行通信与并行通信 (1)串行通信 (2)并行通信 3.异步通信与同步通信 ...

最新文章

  1. 【python教程入门学习】Python零基础入门爬虫项目
  2. 收藏|图神经网络综述
  3. 跨网文件摆渡如何满足不同安全要求?
  4. java获取前端json数据_java如何获取前端ajax传来的json对象
  5. HDU1512 (左偏树)
  6. MFC和GTK的区别
  7. 操作系统 ——进程的状态与转换
  8. set集合以及知识点补充
  9. ubuntu退出mysql sql语句_Ubuntu 16.04安装、卸载mysql及怎么使用SQL常用操作语句
  10. php 漏洞扫描,Webvulscan:一款基于PHP的漏洞扫描器
  11. 计算机组成原理:计算机的发展历史
  12. Opencv配置环境变量
  13. FineReport新建数据连接
  14. that being said
  15. M手记-计算机基本硬件与组成
  16. Matlab 极坐标平面 插值,如何在极坐标中进行插值
  17. InstantNGP
  18. java 获取string值_java如何获取String里面的键值对:key=valuekey=value
  19. 搭建 ownCloud 私有云教程
  20. QT获取调色板rgb色值

热门文章

  1. springboot 请求路径有后缀_SpringBoot中配置Web静态资源路径的方法
  2. python列表生成式和map效率_Python列表生成式12个小功能,你常用哪几个?
  3. ps制作html图标素材,PS按钮图标制作
  4. 数学实验matlab课后习题,数学实验练习题(MATLAB)
  5. java基础之 反射_Java基础之反射原理与用法详解
  6. java输入一串字符串反转_反转Java中的字符串
  7. 我是小白一个,如何快速学会C++?
  8. 产品设计的基本原则是什么
  9. Java常见面试题:BIO,NIO,AIO 有什么区别?
  10. 简述线程、程序、进程的基本概念。以及他们之间关系是什么?