ホームページ > 記事 > WeChat アプレット > WeChatパブリックプラットフォームのasp.net開発 (1)データベース設計
WeChat パブリック プラットフォームを開発する前に、まず WeChat 公式 Web サイトにアクセスして一般的な状況を理解してください: http://mp.weixin.qq.com/wiki/index.php を読んだ後、概要がわかります。データベースの設計を開始し、考慮されていない考慮事項は後で追加されるように最善を尽くしてください。
1. まずユーザー部分です。WeChat の公式インターフェースと実際のアプリケーションによると、ユーザー部分にはユーザー テーブル、ユーザー情報テーブル、ユーザー グループ化テーブルの 3 つのテーブルがあります:
2.ユーザーのデザイン その後は、記事分類テーブル、記事テーブルを含む記事部分です。デザインは次のとおりです。 3. ユーザー関連のテーブルを使用して、ユーザーを保存できます。記事モジュールを使用すると、ユーザーが入力した情報に基づいて記事を返すことができます (テキスト、グラフィック、写真、音楽、ビデオ、音声などを返します)。しかし、実際のアプリケーションでは、特定のキーワードを指定する必要があります。ここのコンテンツ テーブルは、上記の記事テーブルと重複しているように見えますが、これは、specified によって指定された返信コンテンツです。返されるテキスト、グラフィックス、またはその他のマルチメディア情報を指定できます。マルチメディア情報が返される場合、上記の記事テーブルは、ユーザーのクエリに対する標準の一般的な記事コンテンツ テーブルです。ほとんどの場合、グラフィック情報が直接返され、グラフィック情報がリンクをクリックすると、この記事に対応する表示アドレスがマイクロサイトに相当するため、記事とこのキーワードの目次を別々に管理する方が便利です。 デザインは次のとおりです: 4. メッセージの記録。たとえば、同じキーワードが後で送信されたときに、ユーザーが送信した最後のイベント メッセージに基づいて、メッセージを記録します。ユーザーがメッセージを送信するたびに対応するメニュー オプションを選択するのではなく、対応するメニューに戻り、記録された情報などに基づいてパーソナライズされたサービスを提供します。 ユーザーが送信したメッセージの記録テーブルと、ユーザーに返信されたメッセージの記録テーブルが含まれます。これにより、ユーザーとの会話を完全に復元できます。具体的にはどのようなプロセスです。ユーザーが送信したメッセージは返す必要がありますか? メッセージはプロジェクト コードでビジネスによって決定されます。 デザインは次のとおりです: 5. カスタム メニュー、WeChat パブリック プラットフォームでカスタム メニューを作成および管理します。デザインは次のとおりです。 6. その他、実際のプロジェクトに従って特別に設計されています。ユーザー分析、訪問ユーザーポイントなど、ここでは設計されていません。 キーワード モジュールの応答メッセージ タイプやメッセージ レコードのメッセージ タイプなど、上記の設計の一部はデータベースに組み込まれていません。これらの単一オプション形式の少量のデータは固定されています (Tencent によって決定されます)。 ) データベースを設計せずに、他の方法を使用して特定のプロジェクト (固定静的、構成ファイル、キャッシュなど) に実装します。 完全なデザインは次のとおりです: (スクリーンショットの便宜上、カバーする各モジュールのテーブルをドラッグしました) 次のようにスクリプトをダウンロードします: WeChat という名前のデータベースを作成します (データベースの設計時に自分で定義しました) ) データベース内で、スクリプトを実行すれば OK です。use weixin -------微信公众平台 if exists ( select * from sysobjects where name = 'tb_User' and xtype='U') drop table tb_User create 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_Group create 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_UserData create 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_Article create 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_ArtSort create 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_KeyWord create 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_KeyContent create 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_UserMsg create 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_245 create 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_PersonalMenu create 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 開発 WeChat パブリック プラットフォーム (1) データベース設計関連記事の詳細については、PHP 中国語 Web サイトに注目してください。