内容目录
一、详细介绍
聚合DNS管理系统可以实现在一个网站内管理多个平台的域名解析,目前已支持的域名平台有:阿里云、腾讯云、华为云、西部数码、CloudFlare。本系统支持多用户,每个用户可分配不同的域名解析权限;支持API接口,支持获取域名独立DNS控制面板登录链接,方便各种IDC系统对接。
部署方法:
1、运行环境要求PHP7.4+,MySQL5.6+
2、设置网站运行目录为public
3、设置伪静态为ThinkPHP
4、访问网站,会自动跳转到安装页面,根据提示安装完成
5、访问首页登录控制面板
二、效果展示
1.部分代码
代码如下(示例):
php
public function account_op(){
if(!checkPermission(2)) return $this->alert('error', '无权限');
$act = input('param.act');
if($act == 'get'){
$id = input('post.id/d');
$row = Db::name('account')->where('id', $id)->find();
if(!$row) return json(['code'=>-1, 'msg'=>'域名账户不存在']);
return json(['code'=>0, 'data'=>$row]);
}elseif($act == 'add'){
$type = input('post.type');
$ak = input('post.ak', null, 'trim');
$sk = input('post.sk', null, 'trim');
$ext = input('post.ext', null, 'trim');
$remark = input('post.remark', null, 'trim');
if(empty($ak) || empty($sk)) return json(['code'=>-1, 'msg'=>'AccessKey和SecretKey不能为空']);
if(Db::name('account')->where('type', $type)->where('ak', $ak)->find()){
return json(['code'=>-1, 'msg'=>'域名账户已存在']);
}
Db::startTrans();
$id = Db::name('account')->insertGetId([
'type' => $type,
'ak' => $ak,
'sk' => $sk,
'ext' => $ext,
'remark' => $remark,
'addtime' => date('Y-m-d H:i:s'),
]);
$dns = DnsHelper::getModel($id);
if($dns){
if($dns->check()){
Db::commit();
return json(['code'=>0, 'msg'=>'添加域名账户成功!']);
}else{
Db::rollback();
return json(['code'=>-1, 'msg'=>'验证域名账户失败,'.$dns->getError()]);
}
}else{
Db::rollback();
return json(['code'=>-1, 'msg'=>'DNS模块('.$type.')不存在']);
}
}
2.效果图展示