Files
BESCMS/dayrui/App/Member/Config/Install.php
T

239 lines
11 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
$rt = \Phpcmf\Service::M('table')->install_schema([
'tables' => [
'member_login' => [
'comment' => '登录日志记录',
'drop' => false,
'fields' => [
'id' => 'int(10) unsigned NOT NULL AUTO_INCREMENT',
'uid' => 'mediumint(8) unsigned DEFAULT NULL COMMENT \'会员uid\'',
'type' => 'varchar(30) NOT NULL COMMENT \'登录方式\'',
'loginip' => 'varchar(50) NOT NULL COMMENT \'登录Ip\'',
'logintime' => 'int(10) unsigned NOT NULL COMMENT \'登录时间\'',
'useragent' => 'varchar(255) NOT NULL COMMENT \'客户端信息\'',
],
'indexes' => [
'PRIMARY KEY (`id`)',
'KEY `uid` (`uid`)',
'KEY `loginip` (`loginip`)',
'KEY `logintime` (`logintime`)',
],
],
'member_group' => [
'comment' => '用户组表',
'drop' => false,
'fields' => [
'id' => 'smallint(5) unsigned NOT NULL AUTO_INCREMENT',
'name' => 'text NOT NULL COMMENT \'用户组名称\'',
'price' => 'decimal(10,2) NOT NULL COMMENT \'售价\'',
'unit' => 'tinyint(1) unsigned NOT NULL COMMENT \'价格单位:1积分,0金钱\'',
'days' => 'int(10) unsigned NOT NULL COMMENT \'生效时长\'',
'apply' => 'tinyint(1) unsigned NOT NULL COMMENT \'是否申请\'',
'register' => 'tinyint(1) unsigned NOT NULL COMMENT \'是否允许注册\'',
'setting' => 'text NOT NULL COMMENT \'用户组配置\'',
'displayorder' => 'smallint(5) NOT NULL COMMENT \'排序\'',
],
'indexes' => [
'PRIMARY KEY (`id`)',
'KEY `displayorder` (`displayorder`)',
],
],
'member_level' => [
'comment' => '用户组级别表',
'drop' => false,
'fields' => [
'id' => 'smallint(5) unsigned NOT NULL AUTO_INCREMENT',
'gid' => 'smallint(5) unsigned NOT NULL COMMENT \'用户id\'',
'name' => 'varchar(255) NOT NULL COMMENT \'名称\'',
'stars' => 'int(10) NOT NULL COMMENT \'图标\'',
'value' => 'int(10) unsigned NOT NULL COMMENT \'升级值要求\'',
'note' => 'text NOT NULL COMMENT \'备注\'',
'apply' => 'tinyint(1) unsigned NOT NULL COMMENT \'是否允许升级\'',
'setting' => 'text NOT NULL COMMENT \'等级配置\'',
'displayorder' => 'smallint(5) NOT NULL COMMENT \'排序\'',
],
'indexes' => [
'PRIMARY KEY (`id`)',
'KEY `value` (`value`)',
'KEY `apply` (`apply`)',
'KEY `gid` (`gid`)',
'KEY `displayorder` (`displayorder`)',
],
],
'member_group_index' => [
'comment' => '用户组归属表',
'drop' => false,
'fields' => [
'id' => 'int(10) unsigned NOT NULL AUTO_INCREMENT',
'uid' => 'int(10) unsigned NOT NULL COMMENT \'用户id\'',
'gid' => 'smallint(5) unsigned NOT NULL COMMENT \'用户组id\'',
'lid' => 'smallint(5) unsigned NOT NULL COMMENT \'用户组等级id\'',
'stime' => 'int(10) unsigned NOT NULL COMMENT \'开通时间\'',
'etime' => 'int(10) unsigned NOT NULL COMMENT \'结束时间\'',
],
'indexes' => [
'PRIMARY KEY (`id`)',
'KEY `uid` (`uid`)',
'KEY `lid` (`lid`)',
'KEY `gid` (`gid`)',
],
],
'member_group_verify' => [
'comment' => '用户组申请审核',
'drop' => false,
'fields' => [
'id' => 'int(10) unsigned NOT NULL AUTO_INCREMENT',
'uid' => 'mediumint(8) unsigned NOT NULL DEFAULT \'0\'',
'username' => 'varchar(50) NOT NULL COMMENT \'用户名\'',
'gid' => 'smallint(5) unsigned NOT NULL COMMENT \'用户组id\'',
'lid' => 'smallint(5) unsigned NOT NULL COMMENT \'用户组等级id\'',
'status' => 'tinyint(1) unsigned NOT NULL COMMENT \'状态\'',
'price' => 'decimal(10,2) DEFAULT NULL COMMENT \'已费用\'',
'content' => 'text NOT NULL COMMENT \'自定义字段信息\'',
'inputtime' => 'int(10) unsigned NOT NULL',
],
'indexes' => [
'PRIMARY KEY (`id`)',
'KEY `uid` (`uid`)',
'KEY `status` (`status`)',
'KEY `inputtime` (`inputtime`)',
],
],
'member_setting' => [
'comment' => '用户属性参数表',
'drop' => false,
'fields' => [
'name' => 'varchar(50) NOT NULL',
'value' => 'mediumtext NOT NULL',
],
'indexes' => [
'PRIMARY KEY (`name`)',
],
],
'member_menu' => [
'comment' => '用户组菜单表',
'drop' => false,
'fields' => [
'id' => 'smallint(5) unsigned NOT NULL AUTO_INCREMENT',
'pid' => 'smallint(5) unsigned NOT NULL COMMENT \'上级菜单id\'',
'name' => 'text NOT NULL COMMENT \'菜单语言名称\'',
'uri' => 'varchar(255) DEFAULT NULL COMMENT \'uri字符串\'',
'url' => 'varchar(255) DEFAULT NULL COMMENT \'外链地址\'',
'mark' => 'varchar(255) DEFAULT NULL COMMENT \'菜单标识\'',
'hidden' => 'tinyint(1) unsigned DEFAULT NULL COMMENT \'是否隐藏\'',
'icon' => 'varchar(255) DEFAULT NULL COMMENT \'图标标示\'',
'group' => 'text DEFAULT NULL COMMENT \'用户组划分\'',
'site' => 'text DEFAULT NULL COMMENT \'站点划分\'',
'client' => 'text DEFAULT NULL COMMENT \'终端划分\'',
'displayorder' => 'int(5) DEFAULT NULL COMMENT \'排序值\'',
],
'indexes' => [
'PRIMARY KEY (`id`)',
'KEY `pid` (`pid`)',
'KEY `mark` (`mark`)',
'KEY `hidden` (`hidden`)',
'KEY `uri` (`uri`)',
'KEY `displayorder` (`displayorder`)',
],
],
'member_oauth' => [
'comment' => '快捷登录用户OAuth授权表',
'drop' => false,
'fields' => [
'id' => 'int(10) NOT NULL AUTO_INCREMENT',
'uid' => 'mediumint(8) unsigned NOT NULL COMMENT \'会员uid\'',
'oid' => 'varchar(255) NOT NULL COMMENT \'OAuth返回id\'',
'oauth' => 'varchar(255) NOT NULL COMMENT \'运营商\'',
'avatar' => 'varchar(255) NOT NULL COMMENT \'头像\'',
'unionid' => 'varchar(255) DEFAULT NULL COMMENT \'unionId\'',
'nickname' => 'varchar(255) NOT NULL COMMENT \'昵称\'',
'expire_at' => 'int(10) unsigned NOT NULL COMMENT \'绑定时间\'',
'access_token' => 'varchar(255) DEFAULT NULL COMMENT \'保留\'',
'refresh_token' => 'varchar(255) DEFAULT NULL COMMENT \'保留\'',
],
'indexes' => [
'PRIMARY KEY (`id`)',
'KEY `uid` (`uid`)',
],
],
'member_verify' => [
'comment' => '会员审核表',
'drop' => false,
'fields' => [
'id' => 'smallint(5) unsigned NOT NULL AUTO_INCREMENT',
'uid' => 'mediumint(8) unsigned NOT NULL COMMENT \'会员uid\'',
'tid' => 'tinyint(1) unsigned NOT NULL COMMENT \'类别\'',
'status' => 'tinyint(1) unsigned NOT NULL COMMENT \'状态\'',
'content' => 'mediumtext NOT NULL COMMENT \'自定义字段信息\'',
'result' => 'text NOT NULL COMMENT \'处理结果\'',
'updatetime' => 'int(10) unsigned NOT NULL COMMENT \'处理时间\'',
'inputtime' => 'int(10) unsigned NOT NULL COMMENT \'提交时间\'',
],
'indexes' => [
'PRIMARY KEY (`id`)',
'KEY `tid` (`tid`)',
'KEY `uid` (`uid`)',
'KEY `status` (`status`)',
'KEY `inputtime` (`inputtime`)',
],
],
],
'seeds' => [
['table' => 'member_group', 'data' => [
'id' => 1,
'name' => '注册用户',
'price' => 0.00,
'unit' => 0,
'days' => 0,
'apply' => 1,
'register' => 1,
'setting' => '{"level":{"auto":"0","unit":"0","price":"0"},"verify":"0"}',
'displayorder' => 0,
]],
['table' => 'member_group_index', 'data' => [
'id' => 1,
'uid' => 1,
'gid' => 1,
'lid' => 0,
'stime' => 0,
'etime' => 0,
]],
['table' => 'member_setting', 'data' => [
'name' => 'config',
'value' => '{"edit_name":"1","edit_mobile":"1","logintime":"","verify_msg":"","pagesize":"","pagesize_mobile":"","pagesize_api":""}',
]],
['table' => 'member_setting', 'data' => [
'name' => 'login',
'value' => '{"code":"1"}',
]],
['table' => 'member_setting', 'data' => [
'name' => 'register',
'value' => '{"close":"0","groupid":"1","field":["username","email"],"cutname":"0","unprefix":"","code":"1","verify":"","preg":"","notallow":""}',
]],
['table' => 'member_setting', 'data' => [
'name' => 'auth2',
'value' => '{"1":{"public":{"home":{"show":"0","is_category":"0"},"form_public":[],"share_category_public":{"show":"1","add":"1","edit":"1","code":"1","verify":"1","exp":"","score":"","money":"","day_post":"","total_post":""},"category_public":[],"mform_public":"","form":null,"share_category":null,"category":null,"mform":null}}}',
]],
],
]);
if (empty($rt['code'])) {
log_message('error', 'Member install_schema: '.($rt['msg'] ?? ''));
return dr_return_data(0, dr_lang('安装失败').''.($rt['msg'] ?? ''));
}
\Phpcmf\Service::M('Menu')->db->resetDataCache();
\Phpcmf\Service::M()->table('member_menu')->clear_all();
$menu = require $path.'Config/Menu.php';
foreach ($menu['member'] as $mark => $top) {
// 插入顶级菜单
$mark = strlen($mark) > 2 ? $mark : '';
$top_id = \Phpcmf\Service::M('Menu')->_add('member', 0, $top, $mark, true);
// 插入链接菜单
if ($top_id) {
foreach ($top['link'] as $mark2 => $link) {
\Phpcmf\Service::M('Menu')->_add('member', $top_id, $link);
}
}
}