关于 openID存储方案和unionid存储方案 ?
现在开放平台下有多个应用,小程序,APP,公众号,目前只存储了 unionid(在user表中) ,对应
openID 和 access_token并未存储, 现在需要用到公众号下的openID(做模板信息推送),现在该如何存这个 openID ?
想法:新建 wx_user表 ,对应 user_id ,xiao_openid,gong_openid,app_openid,access_token,access_token_time ,把对应的openid全部存到用户的关了信息表中 ,access_token 计划任务刷新
这样的话,如果新加个公众号2,又需要改数据库了,各位大佬给指点下该如何操作?谢谢了
3 回复
CREATE TABLE `xxx_app` ( `aid` int (10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'app自增id' , `appid` varchar (64) NOT NULL DEFAULT '' COMMENT '应用appid' , `type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '应用类型,1小程序,2公众号,3App' , ` name ` varchar (150) NOT NULL DEFAULT '' COMMENT '应用名称' , PRIMARY KEY (`aid`), UNIQUE KEY `a_t` (`appid`,`type`) USING BTREE COMMENT 'appid和type唯一索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT= 'app - 应用信息表' ; |
CREATE TABLE `xxx_user_appinfo` ( `uid` int (10) unsigned NOT NULL DEFAULT '0' COMMENT '用户uid' , `aid` int (10) unsigned NOT NULL DEFAULT '0' COMMENT '所属应用aid' , `openid` varchar (64) NOT NULL DEFAULT '' COMMENT '用户openid' , `unionid` varchar (64) NOT NULL DEFAULT '' COMMENT '用户unionid' , `access_token` varchar (500) NOT NULL DEFAULT '' COMMENT 'access_token' , `expire_in` int (10) NOT NULL DEFAULT '0' COMMENT '有效期,expire_in' , `dateline` int (10) unsigned NOT NULL DEFAULT '0' COMMENT '记录时间戳' , PRIMARY KEY (`uid`), UNIQUE KEY `u_a` (`uid`,`aid`) USING BTREE COMMENT '用户uid和应用aid唯一索引' , KEY `o_u` (`unionid`,`openid`) COMMENT 'unionid和openid常规索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT= '用户 - app相关信息表' ; |