千家信息网

asp.net开发微信公众平台之数据库设计的示例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关asp.net开发微信公众平台之数据库设计的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、首先是用户部分,根据微信官方的接口结合实际运
千家信息网最后更新 2026年11月03日asp.net开发微信公众平台之数据库设计的示例分析

这篇文章给大家分享的是有关asp.net开发微信公众平台之数据库设计的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1、首先是用户部分,根据微信官方的接口结合实际运用,用户部分有3个表:用户表、用户资料表、用户分组表,我设计的如下:

2、用户设计好之后就是文章部分,包括:文章分类表、文章表, 设计如下:

3、有了用户相关的表我们可以保存用户,有了文章模块的表我们可以根据用户输入的信息查询文章进行返回(返回文本、图文、图片、音乐、视频、语音等等),但是实际运用中,我们存在需要指定特定的关键字返回特定的内容的情况,那么就需要专门的特定关键字模块, 包括:关键字表、关键字返回的内容表, 这里的内容表看着像是与上面的文章表有重合,实则不然, 这里是特定关键字指定的回复内容,可以指定返回文本、图文或其他多媒体信息,当返回多媒体信息时内容中存入文件地址, 上面的文章表是标准的通用的文章内容表, 供用户查询多数情况下直接返回图文信息,且图文信息点击链接时就是这篇文章对应的展示地址, 相当于一个微网站, 所以文章和这个关键字的内容表分开设计更加方便管理。 设计如下:

4、消息记录, 把用户发来的消息进行记录,方便后续处理, 比如 根据用户上次发来的事件消息,之后再发同一个关键词时,返回对应菜单下的内容,而不用用户每次发送消息都带对应的菜单选项;客服消息根据记录的信息做个性化的服务 等等。 包括:用户发来的消息记录表、回复给用户的消息记录表 ,有了这些可以完整的还原和用户的对话,这里是记录和用户交流的过程,具体用户发来的消息需要返回什么样的消息,由项目代码中业务决定。 设计如下:

5、自定义菜单,创建和管理微信公众平台中的自定义菜单,设计如下:

6、其他, 具体根据做的实际项目来设计, 比如 用户分析、访问统计; 用户积分; 二维码相关 等等 , 此处先不设计。

以上设计中,有一些是没有设计到数据库的, 比如关键字模块中的回复消息类型、消息记录中的消息类型, 这些固定不变(由腾讯决定)的少量的单选项形式的数据,我们在具体项目中使用其他方法来实现(固定静态、配置文件、缓存等),无需设计数据库。

完整设计如下:(为了方便截图 ,我把各个模块的表拖动覆盖了)

下载脚本,如下:在数据库中创建一个名为微信(设计数据库时自己定义的)的数据库,脚本执行一下就OK,

use  weixin -------微信公众平台if exists ( select *  from  sysobjects where name = 'tb_User' and xtype='U') drop table tb_Usercreate table  tb_User------------------------------------------------------------用户表(  ID               int              primary key identity(1,1)       NOT NULL , --主键-主键  InId             int              default  0                      NOT NULL , --自有系统的用户ID  OpenId           varchar(150)     default ''                      NOT NULL , --微信openid  Group            int              default  0                      NOT NULL , --分组ID  NickName         varchar(50)      default ''                      NOT NULL , --昵称-微信  CreateTime       datetime         default  getdate()              NOT NULL , --创建时间  State            int              default  1                      NOT NULL , --状态-1为正常  PreFirst         varchar(150)     default ''                      NOT NULL , --预留字段1);if exists ( select *  from  sysobjects where name = 'tb_Group' and xtype='U') drop table tb_Groupcreate table  tb_Group-----------------------------------------------------------分组表(  ID               int              primary key identity(1,1)       NOT NULL , --主键-主键  Name             varchar(50)      default ''                      NOT NULL , --名称-本地  WeiId            int              default  0                      NOT NULL , --对应微信分组ID  WeiName          varchar(50)      default ''                      NOT NULL , --微信分组名  Note             varchar(100)     default ''                      NOT NULL , --备注  CreateTime       datetime         default  getdate()              NOT NULL , --创建时间  State            int              default  1                      NOT NULL , --状态);if exists ( select *  from  sysobjects where name = 'tb_UserData' and xtype='U') drop table tb_UserDatacreate table  tb_UserData--------------------------------------------------------用户资料表(  ID               int              primary key identity(1,1)       NOT NULL , --主键-主键  UserId           int              default  0                      NOT NULL , --用户表主键  Sex              int              default  0                      NOT NULL , --性别0未知1男2女  City             varchar(20)      default ''                      NOT NULL , --城市  Country          varchar(30)      default ''                      NOT NULL , --国家  Province         varchar(20)      default ''                      NOT NULL , --省份  Language         varchar(15)      default ''                      NOT NULL , --语言  HeadImgUrl       varchar(250)     default ''                      NOT NULL , --用户头像  SubTime          varchar(50)      default ''                      NOT NULL , --最后次关注时间戳  CreateTime       datetime         default  getdate()              NOT NULL , --创建时间  State            int              default  1                      NOT NULL , --状态  PreFirst         varchar(150)     default ''                      NOT NULL , --预留1);if exists ( select *  from  sysobjects where name = 'tb_Article' and xtype='U') drop table tb_Articlecreate table  tb_Article---------------------------------------------------------文章表(  ID               int              primary key identity(1,1)       NOT NULL , --主键-主键  SortId           int              default  0                      NOT NULL , --类别ID  ITop             int              default  0                      NOT NULL , --置顶0不1是  TopBeginTime     datetime         default  getdate()              NOT NULL , --置顶开始时间  TopEndTime       datetime         default  getdate()              NOT NULL , --置顶结束时间  Title            varchar(100)     default ''                      NOT NULL , --标题  KeyWorld         varchar(150)     default ''                      NOT NULL , --关键字  Summary          varchar(680)     default ''                      NOT NULL , --简介//680为微信文字上限左右  Content          ntext            default ''                      NOT NULL , --内容  Source           varchar(50)      default  '独家原创'                 NOT NULL , --来源  CreateTime       datetime         default  getdate()              NOT NULL , --创建时间  PublishTime      datetime         default  getdate()              NOT NULL , --发布时间  AOrder           int              default  99                     NOT NULL , --排序  State            int              default  1                      NOT NULL , --状态  MinImg           varchar(350)     default ''                      NOT NULL , --缩略图);if exists ( select *  from  sysobjects where name = 'tb_ArtSort' and xtype='U') drop table tb_ArtSortcreate table  tb_ArtSort---------------------------------------------------------文章分类表(  ID               int              primary key identity(1,1)       NOT NULL , --主键-主键  Name             varchar(50)      default ''                      NOT NULL , --名称  ParentId         int              default  0                      NOT NULL , --父级ID  IndexLevel       int              default  1                      NOT NULL , --当前级别  SOrder           int              default  99                     NOT NULL , --排序  State            int              default  1                      NOT NULL , --状态  Note             varchar(150)     default ''                      NOT NULL , --备注);if exists ( select *  from  sysobjects where name = 'tb_KeyWord' and xtype='U') drop table tb_KeyWordcreate table  tb_KeyWord---------------------------------------------------------关键字表(  ID               int              primary key identity(1,1)       NOT NULL , --主键-主键  Name             varchar(50)      default ''                      NOT NULL , --名称  Note             varchar(250)     default ''                      NOT NULL , --备注  State            int              default  1                      NOT NULL , --状态  CreateTime       datetime         default  getdate()              NOT NULL , --创建时间  ReType           int              default  1                      NOT NULL , --回复消息类型1为文本);if exists ( select *  from  sysobjects where name = 'tb_KeyContent' and xtype='U') drop table tb_KeyContentcreate table  tb_KeyContent------------------------------------------------------关键字返回内容表(  ID               int              primary key identity(1,1)       NOT NULL , --主键-主键  Title            varchar(150)     default ''                      NOT NULL , --标题  Content          varchar(700)     default ''                      NOT NULL , --内容  KeyId            int              default  0                      NOT NULL , --关键字ID  Type             int              default  1                      NOT NULL , --类型-文本图文等  MinImg           varchar(250)     default ''                      NOT NULL , --图片  ITop             int              default  0                      NOT NULL , --置顶  TopBeginTime     datetime         default  getdate()              NOT NULL , --置顶开始时间  TopEndTime       datetime         default  getdate()              NOT NULL , --置顶结束时间  CreateTime       datetime         default  getdate()              NOT NULL , --创建时间  State            int              default  1                      NOT NULL , --状态  Href             varchar(250)     default  '#'                    NOT NULL , --图文时点开的链接);if exists ( select *  from  sysobjects where name = 'tb_UserMsg' and xtype='U') drop table tb_UserMsgcreate table  tb_UserMsg---------------------------------------------------------用户消息记录表(  ID               int              primary key identity(1,1)       NOT NULL , --主键-主键  MsgType          int              default  1                      NOT NULL , --消息类型文本、事件  EventId          int              default  1                      NOT NULL , --事件ID//自定义菜单的ID  Content          varchar(700)     default ''                      NOT NULL , --消息内容  CreateTime       datetime         default  getdate()              NOT NULL , --创建时间  State            int              default  1                      NOT NULL , --状态  ReState          int              default  0                      NOT NULL , --回复状态  WeiMsgId         varchar(50)      default ''                      NOT NULL , --微信消息ID  UserId           int              default  0                      NOT NULL , --用户表主键);if exists ( select *  from  sysobjects where name = 'tb_245' and xtype='U') drop table tb_245create table  tb_245-------------------------------------------------------------回复消息表(  ID               int              primary key identity(1,1)       NOT NULL , --主键-主键  UserId           int              default  0                      NOT NULL , --用户表主键  MsgID            int              default  0                      NOT NULL , --消息表主键  ReType           int              default  1                      NOT NULL , --回复类型//文本图文  ReFrom           int              default  1                      NOT NULL , --回复点//1文章2关键词  ReContentId      varchar(80)      default  '0,'                   NOT NULL , --回复的内容ID串  CreateTime       datetime         default  getdate()              NOT NULL , --回复记录时间);if exists ( select *  from  sysobjects where name = 'tb_PersonalMenu' and xtype='U') drop table tb_PersonalMenucreate table  tb_PersonalMenu----------------------------------------------------自定义菜单表(  ID               int              primary key identity(1,1)       NOT NULL , --主键-主键  Name             varchar(50)      default ''                      NOT NULL , --名称  Type             int              default  1                      NOT NULL , --类型1click2view  ParentId         int              default  0                      NOT NULL , --父级ID  IndexLevel       int              default  1                      NOT NULL , --当前级别  LinkUrl          varchar(350)     default  '#'                    NOT NULL , --链接地址view时用  CreateTime       datetime         default  getdate()              NOT NULL , --创建时间  POrder           int              default  99                     NOT NULL , --排序  State            int              default  1                      NOT NULL , --状态  Note             varchar(150)     default ''                      NOT NULL , --备注);

感谢各位的阅读!关于"asp.net开发微信公众平台之数据库设计的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

用户 消息 设计 内容 时间 关键 文章 关键字 状态 数据 数据库 图文 类型 信息 文本 菜单 用户表 分组 公众 平台 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华服互联网科技靠谱吗 互联网科技公司经营范围 西安纸贵互联网科技有限公司 上海互联网科技有限公司 万易互联网科技 华中科技大学互联网 上海喔噻互联网科技 互联网科技logo设计 碳银互联网科技有限公司 郑州华宇互联网科技 互联网汽车科技小镇 互联网金融科技公司干啥的 宝灵互联网科技有限公司 国大互联网教育科技有限公司工作 朱啸虎曾投资哪些互联网科技企业 互联网科技如何创业 烟台灵鸽互联网科技有限公司 中科明德北京互联网科技 吉林省码上互联网科技电话 武汉亿视互联网科技有限公司 互联网科技有限公司经营范围 互联网科技资迅 宜安科技 互联网金融 互联网科技logo 互联网金融科技公司干啥的 互联网和黑科技的看法 互联网科技革命什么开始 坤平互联网科技 洛阳共同富裕互联网科技有限公司 互联网科技企业商标注意事项
0