您当前所在位置:
>
> 第十二章:微信公众号公司通讯录的开发
文档详情
文档标题:
第十二章:微信公众号公司通讯录的开发
更新日期:
2023-09-15 16:35
点击次数:
1711
内容简介:
第十二章将介绍如何使用开发模式开发一个公司通讯录,功能有(后台通讯录管理,包括分级、录入、修改、删除,后台日志查询,包括后台操作记录和前台修改记录,公司员工微信账号与通讯录绑定等)
正文内容
一、公司通讯录产品设计
做任何开发前我们都要做一个产品的规划,公司通讯录虽然看起来很简单,但是这个步骤依然少不了。

通讯录的功能:

1、后台通讯录管理,包括分级、录入、修改、删除;

2、后台日志查询,包括后台操作记录和前台修改记录;

3、公司员工微信账号与通讯录绑定;

4、已绑定账号可查询;

5、部门、关键词等查询;

6、前台已绑定账号可更新自己信息。

前台逻辑图:


数据库的设计

员工表:序号、姓名、工号、照片、性别、生日、手机、电话、部门、邮箱、微信号、员工状态

部门表:序号、部门名、上级部门序号、部门状态

日志表:序号、操作内容、操作时间、操作人、操作类别

管理员表:序号、用户名、密码

ZTalk近期太忙,来不急更新教程,这次的更新连流程图也没画的很规范,后面会跟上,请直接等下一篇,近期发布,对不起了ZTalk的朋友们。
另外如果大家对这个通讯录设计有什么不足的也请提下意见,我在详细教程里再进行修改!

二、公司通讯录数据库建立
第13期里有SAE数据库的介绍,如果没有开通的请先移步把SAE的数据库服务开启,点击“管理MySQL”进入到数据库的图形管理界面,如下图:


数据库里目前没有任何数据表,所以我们先来建立第一张数据表“员工表”,取名为“roster”,员工表我调整了下结构增加了几项,最后的项目为:序号、姓名、工号、照片、性别、生日、手机、电话、部门、邮箱、微信号、微信OPENID、员工状态、入职日期、添加时间、更新时间、记录状态。
在建表之前其实还要设定每个字段项的属性,我这里简单写一下,后面在解释建表的时候大家可以参照看:字段名   类型    长度   其他
序号       数字       5     自增、主键
姓名       字符       10
工号       字符       10
照片       字符       50
性别       数字       1     0为女,1为男
生日       日期
手机        字符      15
电话        字符      15
部门        数字       4
邮箱        字符      50
微信        字符      30
openid    字符      50
员工状态 数字       1   1为在岗,-1为离职
2为休假
入职         日期
添加         时间
更新         时间
记录状态 数字      1   1为正常0为删除
字段数根据上面的规划应该是15个字段,所以应该填写15,但我这里填写3是为了后面切图片和讲解的方便,大家如果填写15看到的样式会不同,没有关系,另外建立过程中还可以增加字段数的。
点击执行按钮,就切换到表设计界面,如下图:


在上图中每一列就是一个字段,如果大家前面填写字段数超过5的则视图中每一行就是一个字段,但不管如何显示,每个字段都有下面这些属性:
1、字段名称,用来描述字段的名称,它可以用中文、英文字母、数字等字符来描述。但是建议不用中文或者纯数字,命名最好使用表名+下划线+该字段的英文名或者拼音缩写。
2、字段类型,用来限定数据格式,同一字段的数据类型都是一样的。点击类型的选项菜单会出来一大堆,不用怕很多我们是不太会用的,常用到的类型如下:
TINYINT:一个很小的整数。有符号的范围是-128到127,无符号的范围是0到255。
SMALLINT:一个小整数。有符号的范围是-32768到32767,无符号的范围是0到65535。
MEDIUMINT:一个中等大小整数。有符号的范围是-8388608到8388607,无符号的范围是0到16777215。
INT:一个正常大小整数。有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295。这个经常用来保存UNIX时间戳。
CHAR:一个定长字符串,当存储的字符长度小于设定长度时总是是用空格填满右边到指定的长度,超过则自动截断。最多存放255个字母或者汉字,也就是不超过255个字符的都可以设成CHAR类型。这里不推荐用VARCHAR,因为处理速度不给力,对于存储空间不敏感的可以忽略。
TEXT:最多可存放65535个字符,一般用于保存文章等。该字段无需填写长度。
DATETIME:一个日期和时间组合。支持的范围是’1000-01-01 00:00:00′到’9999-12-31 23:59:59′。MySQL以’YYYY-MM-DD HH:MM:SS’格式来显示DATETIME值。该字段无需填写长度。DATE:一个日期。支持的范围是’1000-01-01′到’9999-12-31′。MySQL以’YYYY-MM-DD’格式来显示DATE值。该字段无需填写长度。
3、字段长度,每一个字段需要存放的数据可能最大位数,比如序号是用来做数据条数计数的,员工一般也就几万人了,所以这里设了5;姓名的话一般最多4、5个汉字,但是为了避免有奇葩的名字所以设了10位,其实如果考虑老外名字的话建议设定为30。
4、字段默认值,指如果这个字段在添加一条新的数据时没有获得赋值时将会保存成字段默认值。
5、字段语言格式,点击这个选项卡就可以看到一大串各种语言格式,不用管他,我们可以总的设定一个就可以了。除非是有特殊需求。
6、字段属性,这个主要是针对数字型字符的,前面介绍的几个数字类型里有写无符号和有符号,就是在这里设定。
7、字段是否可为空,打钩标示可以为空,一般不打钩,因为含有空值的列很难进行查询优化。
8、字段索引,这个很重要,索引将影响数据库查询的效率,一般会将常用的几个搜索关键字段或者排序字段建立索引。不推荐字符串字段做索引,另外主索引只能有一个,自动增长的字段会被默认作为主索引。
9、自增属性,在数据库应用,我们经常要用到唯一编号,以标识记录,最好的办法就是将其中一个字段设为自增属性,每新增一条数据记录是都会自动加一,其计数顺序不受数据删除影响,如果有10条数据,删除其中一条后再新增一条,这条数据的序号不是10,而是11。
10、字段注释,方便日后了解该字段的作用。
11、数据表注释,方便日后了解该数据表。
12、存储引擎,常用的有三种分别是MyISAM、MEMORY和InnoDB,其中MyISAM是管理非事务表。它提供高速存储和检索,以及全文搜索能力,是默认的存储引擎,一般选这个就成。
13、数据表语言格式,前面字段里也有语言格式设置,其实只要这里设一个,所有的字符串字段就都默认用这个语言格式了,我们这里选择utf8_general_ci,就是UTF-8的语言格式。

了解数据表的一些基本知识后我们再来看员工表的每个字段属性实际应该如何设定,截图在手机上可能会有些小,大家可以到wx.qq.com上找到ZTalk的公众号里输入微信教程查看。


全部设定好后点击右下角的保存即完成建表,如果字段需要增加的可以点击旁边的执行按钮增加一条或者多条新字段,如下图所示,其中修改数字可调节新增的条数。


啰嗦一大堆估计很多朋友都云里雾里了,咱们还是搞简单点的吧,建立数据表除了上面那种方法还有一种是通过SQL语句来建立,如下图:


点击选项卡的SQL,然后在输入框中写入以上的代码就直接完成表的建立,当然我知道大家这个代码是写不错来的,所以这节课的课件里有……输入“微信代码”就可以下载。
建立成功的话刷新网页就可以看到员工表已经建立成功了,如下图



1、数据表记录浏览,当里面没有数据时该图标灰色不可点。
2、数据表结构查看,点击后可以看到,我们所有设定的字段属性,如下图:


标示为1的地方可以新增字段,标示为2的地方是对某个字段进行编辑修改删除等操作。3、数据表查询,当里面没有数据时该图标灰色不可点。
4、新增一条记录,点击后进入下图,可以像我这样随便输入一些数据然后点执行就给数据库插入一条数据了,注意的是roster_id这个字段空着就可以了,系统会自动赋值:

新增成功后点击数据表浏览就可以看到这条记录,如下图:


5、清空数据表,请谨慎……
6、删除数据表,请谨慎……
7、新建数据表。
关于数据表的建立基本就到这里了,昨天写的规划是4张表,但后来考虑了下觉得第一个案例没必要搞的那么复杂,所以管理员和日志表先去掉了,就留员工表和部门表,并做了适当的调整。
部门表我给大家列下属性,大家可以先尝试自己建一下,当然我也提供了代码供下载。
部门表:字段名      类型    长度     其他
序号          数字       5       自增、主键
部门名      字符      20
成员数      数字       5
上级序号  数字       5
添加         时间
更新         时间
记录状态 数字      1   1为正常0为删除
数据表名字请使用class,字段名请参考我的,如果换别的话,后面程序里也要相应更换。

联系电话:18962535230
微信公众号