- 博客(24)
- 资源 (3)
- 收藏
- 关注
原创 3.3 后台开发侧记(php+smarty,jQuery,layer)
在本章的开发过程中,我们建立了一个简单的后台系统,一个是希望对人员进行管理(主要完成人员身份的设置)。在前端,不同身份(教师还是学生)可以操作的界面是不同的,教师可以领取教学任务,而学生能够选择已有教师领取任务的课程。我们还对课程进行管理维护,目的是统计可以开课的课程信息。如果有教师领取了该课程的教学任务,同时有学生选择了这门课程,该课程还尚未开课,此时可以对课程进行开课。后台点击开课按钮时,即触发上节提到的轮询向选择了该门课程的同学发送开课模板信息。
2023-04-16 12:11:40
118
原创 3.2 模板消息的推送
上述说明中,我们需要注意的是:我们必须通过POST方式向微信服务器所提供的网址提交模板消息对应关键字的内容,因此,我们需要通过后台PHP方式开展这个过程;在消息体部分,我们要提供模板消息发送的对象的openid,即“touser”所要求的内容,这就需要我们在数据库中获取全部选择该课程的学员的信息,然后逐一推送;我们可以看到,在详情页面中,有该消息模板的示例和详细内容,详细内容部分正是我们下一步编写程序需要用到的。在下面列出的消息模板中,找到“课程状态变更”消息模板,这正是我们所需要的消息模板格式。
2023-04-15 22:35:24
314
原创 3.1 业务流程设计
首先我们要增加一个功能,对整个模板消息推送过程进行触发,这里,我们假定领取该课程的教师可以设定课程的开课时间。当然,为了方便教师更好的决定是否开课和设定开课时间,我们需要统计选择该课程的学生人数并向任课教师进行显示。任课教师一旦设置了开课时间,系统后台将从数据库中读取选取该课程的学员的信息(主要是openid),并通过微信服务号的模板消息接口,向所有选取该课程的学员推送模板消息。任课教师也可以根据选课人数,决定取消该课程,系统也会通过上述方式,将课程取消的消息通知学员,并对数据库中选课表的信息进行更新。
2023-04-15 22:24:31
155
原创 第三章 跟你互动——微信模板消息推送
当我们推出新的课程,有新的教师,新的活动等,我们应该使用服务号的图文消息向全体关注服务号的客户推送,因为图文消息篇幅较长、形式丰富,更适合这样推广面大的场景;而当我们向特定的人员(单独的学生或者教师)推送针对他的消息(他选的课要开课了,或者被取消了,他要参加的考试时间定了等),适合采用模板消息,因为模板消息内容简单、针对性强,更适合这样有针对性的消息推送场景。以前,我们可能是通过手机短信的方式来完成主动通知客户的过程,甚至更早的时候,客户需要自己查看订单当前的状态,平台没有一种低成本的主动通知方式。
2023-04-15 22:21:30
104
原创 2.4 前端界面实现(VUE)
这里,对我们的选课系统进行一次升级。我们将系统底部调整为导航形式,分为“首页”、“课程”、“我”三个导航。“首页”主要介绍系统中的特色课程、教师风采等,“课程”中主要用来进行学生选课或教师领取教学任务,“我”完成获取用户信息、与课程教学相关的课程学习(将来直播、录播教学时进行扩展)、课程考试、身份切换等操作。本章系统演示,请微信扫描下面二维码进行访问:主要界面设计如下:本小节,我们对该系统的界面设计的主要部分再做以下简单介绍。说明:本文中所使用的部分图片来自互联网,仅用于..
2021-04-26 23:36:38
875
原创 2.3 业务实现(微信获取用户信息详解)
在业务实现部分,我们主要介绍微信服务号获取用户信息授权机制以及如何通过该机制进行编程实现用户信息获取。在微信服务号开发中,常常需要对用户的信息进行获取,以便程序能够识别用户的标识,并有针对性的与用户进行互动。微信服务号中,使用微信开放授权接口进行调用开发,根据微信网页开发文档(访问地址:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html),我们知道,要实现微信网页授权
2021-04-24 19:35:19
746
原创 2.1 注册和登录流程设计+2.2 数据库设计
2.1 注册和登录流程设计总体流程为:程序启动时,查找本地是否存在用户信息缓存,通过缓存获得用户唯一标识,调用接口查询数据库中是否有相应的用户信息,如果有,则将信息读取过来,利用前端进行显示。如果数据库没有相应的信息,询问用户是否注册,用户同意注册时,打开注册界面完成注册;如果缓存中没有本地用户信息,调用微信服务号用户信息获取接口,获取用于信息,之后调用接口查询数据库。该流程可以通过下图描述上图中,蓝色线为业务流程,红色线为缓存数据流程。2.2 数据库设计这里,我们要对.
2021-04-24 18:56:30
754
原创 第二章 谁在使用?——微信服务号获取用户信息
很多场景下,我们需要知道谁在使用我们的服务。了解的程度有多有少,可以是简单记录一下用户的昵称和唯一标识,也可能需要实名制的信息。我们需要记录下用户的登录信息,甚至是用户的使用服务信息,通过数据分析,得出有益结论以便更好的为用户服务。今年(2021年)3月4部门联合出台的《常见类型移动互联网应用程序必要个人信息范围规定》还明确了收集个人信息的范围,可以说,过度收集个人信息确实让用户深恶痛绝,我们也支持按规定合理收集个人信息,用户信息收集的目的仅用来保证服务或交易的正常运行就够了,希望看到本文的读者,也能遵
2021-04-24 18:51:06
175
原创 1.7 调试
在代码实现的过程中,我们会遇到这样那样的错误,这无疑是不可避免的。有的时候,错误是人为疏忽造成,比如输入代码时,漏录了一个字母或一个符号;有的时候,错误是逻辑上的,即程序编译和执行都没有问题,但是输出的结果与程序设计人员的预期背道而驰。在作者成书的过程中,由于疏忽和时间原因,都有可能打错字,何况在动辄成千上万行的代码编写过程中呢?那么,有没有什么途径能够让程序设计者和开发者能够定位出错的地方,找到出错的原因,从而及时更正错误呢?答案是肯定的,那就是通过调试程序。这是一个系统的工程,事实上,有些时候,
2021-04-11 23:20:20
108
原创 1.6 前端设计——HTML5+Javascript+CSS基础
前端设计时,为了兼容微信内置浏览器,我们采用H5页面的方式进行设计,设计界面时,我们必须充分考虑当前界面是要适配手机操作的。结合前面的介绍,本章结束时,我们能够完成一个简单的小项目(程序)——选课系统,这个项目是可以运行在微信浏览器中的,我们将该项目的演示界面和网址放到下面,读者可以通过微信扫一扫进行访问:扫描上述二维码后,可以看到下面的界面读者可以选择一个角色进行模拟操作,例如点选“我是学生”,则出现下面选择你要扮演的学生点击你要扮演的学生图标,则可以看到学生可以...
2021-04-01 22:52:07
1178
原创 【1.5 php基础】1.5.4 接口
我们设计一个业务系统时,往往希望前端的用户界面和后端的业务逻辑之间不要有太大的关联(松散耦合),即,修改前端页面时,不必考虑后端业务逻辑是如何实现的,同样的,升级后端业务逻辑时,也无需考虑前端界面是否会收到影响。因此,很多时候我们需要在前端和后端之间,通过一种方式来进行通信(或信息交换),而不是把业务逻辑代码直接写入前端界面实现中。(事实上,读者可以将前端html页面代码和php代码写到一起,将文件后缀命名为.php,这样通过本文前面配置的环境是可以运行的,但这样的设计,对于后期代码的维护,无疑是不利的
2021-03-31 19:59:08
65
原创 【1.5 php基础】1.5.3 后台业务逻辑
后台操作的业务主要包括:对课程信息的维护(增加、删除、修改和查询)、对教师信息的维护和对学生信息的维护。由于上述操作大部分都是类似的,我们只介绍对课程信息的维护,其余的部分请读者自行参考本节的源代码。这里,为本节的业务先定义一个类(backAction),这个类与上一节的业务逻辑处理类相似,也要继承数据库处理类,类图如下所示(1)增加课程这个操作比较简单,我们只需根据课程需要的参数,直接通过SQL语句进行插入数据即可。function addCourse($c_name,$c.
2021-03-31 18:36:34
130
原创 【1.5 php基础】-1.5.2 前端业务逻辑
根据前面的分析,前端业务逻辑主要实现以下内容:一是实现教师领取教学任务的操作,即教师能够根据开设课程,自行领取教学课程;二是实现学生选课的操作,学生选课时,系统应能将可供选择的课程(系统中已有的、教师已经领取教学任务的课程)列出,学生从中选取感兴趣的课程;三是支持学生取消选课;四是支持教师取消教学任务(取消时,应注意应同时取消学生选课信息)。与上小节类似,我们通过一个类来实现前端业务逻辑,并通过php服务提供操作接口,供前端界面调用。(1)教师领取教学任务。若实现该操作,首先应提供未分配教学
2021-03-29 17:08:32
329
1
原创 1.5 PHP基础-1.5.1访问数据库
PHP作为流行的网站开发语言,具有上手简单,运行速度快的特点,它和javascript类似,都是对变量类型进行实时隐式转换的,免去了使用者要定义变量类型和显式转换的烦恼,当然了,这就要求我们要对变量类型时刻进行关注分析。总之,PHP语言使用方便,也是本文所使用的主要语言之一。在这里,我们仍然延续上一章的案例,并使用PHP对主要业务逻辑进行实现。第一,我们需要一种高效、便捷、通用的数据库访问方式,能够使PHP和MySQL进行协同;第二,要分析和实现基本的教学、选课操作,为前台展示提供必要的业务接口
2021-03-28 16:54:06
110
原创 1.4 数据库和常用SQL语句
前面我们介绍了MySQL数据库的安装,本节主要介绍数据库的使用。我们首先要知道什么是数据库。数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。MySQL是一款“管理”数据库的软件。我们通常使用的数据库是关系型数据库,因此,一个数据库中,有若干的“表”,每个“表”代表一个实体或实体与实体之间的关系。如,在一个简单的教学系统中,我们可以总结实体有“教师”、“学生”、“课程”3个实体。而“教师”与“课程”之间有关系“
2021-03-27 14:14:20
249
2
原创 1.3.3 MySQL及其配置
MySQL数据库(下载地址:https://dev.mysql.com/downloads/mysql/),是一款优秀的数据库软件,请下载windows(x86,32&64-bit),ZIP Archive即可,下载后得到一个zip压缩文件。将下载到的mysql-8.0.23-winx64.zip文件解压至服务器中C盘下的mysql-8.0.23文件夹下,并将“C:\mysql-8.0.23\bin”路径加入环境变量,以便能够在windows环境下任意目录执行mysql的可执行程序。..
2021-03-27 13:52:56
83
原创 1.3.2 PHP的配置
PHP的配置相对于apache服务器的配置简单一些,首先下载PHP,我们下载php7.4(VC15)(下载地址:https://windows.php.net/download#php-7.4)。注意:请下载线程安全的PHP版本,非线程安全的版本应在IIS下使用,而本文使用的apache服务器。下载文件为zip压缩文件,将该文件放在服务器C盘根目录下,并解压到php7下(即将压缩文件下的全部文件和文件夹解压到C:\php7文件下),形成php7文件夹,如下图所示。在...
2021-03-27 13:29:47
69
原创 1.3.1 apache的配置
Apache是比较常用的web服务器软件,用来解析HTTP网页。这里需注意,apache本身并不能解析php页面,它是用来配置解析http页面的。当然,作为一款最流行的web服务器软件,apache支持SSL协议,支持虚拟主机等,这些功能我们稍后介绍。Apache的官方下载地址为:http://httpd.apache.org/download.cgi,目前最新版本为2.4.46(Release 2020-08-07)。但该网站仅提供apache源码下载,不提供编译后的软件下载,我们选择Apache H
2021-03-25 19:47:42
149
原创 1.3 PHP+MYSQL+APACHE配置(序)
本节对服务器端web服务进行配置。事实上,对于配置这个环境(WAMP)网上还是有很多教程的,大家可以通过网上的教程完成配置,也不必拘泥于本文。甚至网上有免费的服务器端软件可以选择,比如著名的phpstudy可以下载(下载地址:https://www.xp.cn/)或者宝塔(下载地址:https://www.bt.cn/download/windows.html),读者可在图形界面中进行配置。本文主要是通过分别配置php、mysql、apache三个环境进行逐个配置,大概描述一下各自作用及配置文件,以便后期出
2021-03-25 19:13:22
127
2
原创 1.2云服务和云服务器
“云”这个时下热门的词汇,我们都耳熟能详。事实上,“云”是网络的代名词,以前我们画网络图时,经常把联通不同局域网之间的“电信网”用一朵云来表示,这样,“云”就成为了网络的代名词,表示复杂的也无需用户理解的网络环境。那顾名思义,“云服务”既是基于互联网的服务,这个服务往往是按需的、具有良好扩展性的。云服务器就是云服务的一个最佳体验。从前,我们也通过网络来购买空间,来运行我们的网页程序,那个时候的“空间”可以认为是现在“云服务器”的雏形。无非是“空间”我们知道他的具体物理位置,而“云服务器”我们无从知道它的
2021-03-25 19:02:15
198
原创 1.1 公众号及其配置
微信公众号分为服务号和订阅号两种,我们应根据我们的业务需求选择合适的公众号。===小提示===原文地址:https://developers.weixin.qq.com/community/develop/doc/00060007c344d0b5646b23dd956800?jumpto=comment&commentid=00024272174488756b6b79844544按微信官方定位:1、订阅号:主要偏于为用户传达资讯(类似报纸杂志),认证前后都是每天只可以群发一条消
2021-03-24 23:20:24
447
原创 第一章 微信服务号开发之准备工作
首先,这本书所言微信开发,指的是微信公众号开发,微信小程序开发和游戏开发请参看作者其他图书。不得不说,请先不要着手写代码。工欲善其事必先利其器,我们在开发之前,首先要把准备工作做充分,这样开发起来才能事半功倍。从大的视角上看,微信开发主要是用微信作为桥梁,沟通前端页面显示和后端业务逻辑处理的一个过程。作为桥梁的微信,我们选择公众号作为切入点,本章开头的部分将对此进行描述。对于后台业务逻辑处理,作者建议您选择您喜欢的编程语言,顺手的开发工具和环境进行开发工作。可以说,能够支持网站开发的语言都适用于
2021-03-24 23:11:13
140
原创 0基础玩转微信服务号开发-前言
从今天开始,本人在csdn上,发布《0基础微信服务号开发》。事实上,我也是初学者,这就算时我的一个学习的心得体会吧,希望和大家共同成长。如果有缘的读者读到了这篇文章,请多多关注转发,谢谢!0基础微信服务号开发-前言写在前面微信做为一款流行较长时间的一款社交工具,广泛安装于每个人的智能手机中,可以说,借助这一工具,能够使我们花费较少的时间、较小的成本完成以前难以想象的事情。不管认不认可,我们不得不承认,微信平台已经拥有了相当好的商业生态。从这个角度讲,我们基于微信平台做商务、社交等的开发和
2021-03-24 00:06:19
280
原创 【学习PHP开发心得】前言
随着快速开发,极客开发越来越火,像咱们这种传统C/S开发,主要用C语言,pascal开发的程序猿是越来越感到压力重重了,最近,有了一些学习时间,尝试着学一些网站开发的技能,算是亡羊补牢吧,当然了,如果能够通过学习能够进步就更好了。 由于水平有限,文章技术含量不高,但是都是手打啊。如有错误之处,欢迎批评指正。 一、基础 学习开发,必然首先研究开发环境、开发语言、...
2020-04-02 22:37:53
275
code-第一章.zip
2021-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人