增加邮箱配置
This commit is contained in:
parent
92a08c5e6d
commit
68ab7e257b
@ -13,10 +13,14 @@ use app\admin\model\AdminSysMenu;
|
||||
use app\admin\model\AdminUserGroup;
|
||||
use app\admin\model\AdminConfig;
|
||||
use app\admin\model\ZIconfont;
|
||||
use app\admin\model\MailConfig;
|
||||
use \PHPMailer\PHPMailer\PHPMailer;
|
||||
|
||||
class YunzerController extends Base{
|
||||
class YunzerController extends Base
|
||||
{
|
||||
# 菜单列表
|
||||
public function menuinfo(){
|
||||
public function menuinfo()
|
||||
{
|
||||
$lists = AdminSysMenu::where('parent_id', 0)->order('sort DESC,smid DESC')->select();
|
||||
View::assign([
|
||||
'lists' => $lists
|
||||
@ -92,46 +96,47 @@ class YunzerController extends Base{
|
||||
}
|
||||
}
|
||||
# 菜单修改
|
||||
public function menuedit(){
|
||||
public function menuedit()
|
||||
{
|
||||
$req = request();
|
||||
if($req->isPost()){
|
||||
$smid = (int)input('post.smid');
|
||||
if ($req->isPost()) {
|
||||
$smid = (int) input('post.smid');
|
||||
$data['label'] = trim(input('post.label'));
|
||||
if(!$data['label']){
|
||||
if (!$data['label']) {
|
||||
Log::record('编辑菜单', 0, '请输入菜单名称', '菜单管理');
|
||||
$this->returnCode(1, '请输入菜单名称');
|
||||
}
|
||||
$data['icon_class'] = trim(input('post.icon_class'));
|
||||
$data['sort'] = (int)trim(input('post.sort'));
|
||||
$data['status'] = (int)trim(input('post.status'));
|
||||
$data['type'] = (int)trim(input('post.type',0));
|
||||
if($data['type'] == 1){
|
||||
$data['sort'] = (int) trim(input('post.sort'));
|
||||
$data['status'] = (int) trim(input('post.status'));
|
||||
$data['type'] = (int) trim(input('post.type', 0));
|
||||
if ($data['type'] == 1) {
|
||||
$data['src'] = trim(input('post.src1'));
|
||||
if(empty($data['src'])){
|
||||
if (empty($data['src'])) {
|
||||
Log::record('编辑菜单', 0, '请输入内部跳转地址', '菜单管理');
|
||||
$this->returnCode(1, '请输入内部跳转地址');
|
||||
}
|
||||
}else if($data['type'] == 2){
|
||||
} else if ($data['type'] == 2) {
|
||||
$data['src'] = trim(input('post.src2'));
|
||||
if(empty($data['src'])){
|
||||
if (empty($data['src'])) {
|
||||
Log::record('编辑菜单', 0, '请输入超链接地址', '菜单管理');
|
||||
$this->returnCode(1, '请输入超链接地址');
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
$data['src'] = '';
|
||||
}
|
||||
// 保存用户
|
||||
$res = AdminSysMenu::where('smid',$smid)->update($data);
|
||||
if(!$res){
|
||||
$res = AdminSysMenu::where('smid', $smid)->update($data);
|
||||
if (!$res) {
|
||||
Log::record('编辑菜单', 0, '修改菜单失败', '菜单管理');
|
||||
$this->returnCode(1, '修改菜单失败');
|
||||
}
|
||||
Log::record('编辑菜单', 1, '', '菜单管理');
|
||||
$this->returnCode(0);
|
||||
}else{
|
||||
$smid = (int)input('get.smid');
|
||||
$lists = AdminSysMenu::where('smid',$smid)->find();
|
||||
$iconfont = ZIconfont::where('status',1)->select();
|
||||
} else {
|
||||
$smid = (int) input('get.smid');
|
||||
$lists = AdminSysMenu::where('smid', $smid)->find();
|
||||
$iconfont = ZIconfont::where('status', 1)->select();
|
||||
View::assign([
|
||||
'lists' => $lists,
|
||||
'iconfont' => $iconfont
|
||||
@ -140,15 +145,16 @@ class YunzerController extends Base{
|
||||
}
|
||||
}
|
||||
# 菜单删除
|
||||
public function menudel(){
|
||||
$smid = (int)input('post.smid');
|
||||
$count = AdminSysMenu::where('parent_id',$smid)->count();
|
||||
if($count > 0){
|
||||
public function menudel()
|
||||
{
|
||||
$smid = (int) input('post.smid');
|
||||
$count = AdminSysMenu::where('parent_id', $smid)->count();
|
||||
if ($count > 0) {
|
||||
Log::record('删除菜单', 0, '该菜单下还有子菜单,不能删除', '菜单管理');
|
||||
$this->returnCode(1, '该菜单下还有子菜单,不能删除');
|
||||
}
|
||||
$res = AdminSysMenu::where('smid',$smid)->delete();
|
||||
if(empty($res)){
|
||||
$res = AdminSysMenu::where('smid', $smid)->delete();
|
||||
if (empty($res)) {
|
||||
Log::record('删除菜单', 0, '删除菜单失败', '菜单管理');
|
||||
$this->returnCode(1, '删除菜单失败');
|
||||
}
|
||||
@ -156,11 +162,12 @@ class YunzerController extends Base{
|
||||
$this->returnCode(0);
|
||||
}
|
||||
# 按钮管理
|
||||
public function buttoninfo(){
|
||||
$smid = (int)input('get.smid');
|
||||
$lists = AdminSysMenu::where('parent_id',$smid)->order('sort DESC')->select()->toArray();
|
||||
if(!empty($lists)){
|
||||
foreach($lists as &$v){
|
||||
public function buttoninfo()
|
||||
{
|
||||
$smid = (int) input('get.smid');
|
||||
$lists = AdminSysMenu::where('parent_id', $smid)->order('sort DESC')->select()->toArray();
|
||||
if (!empty($lists)) {
|
||||
foreach ($lists as &$v) {
|
||||
switch ($v['type']) {
|
||||
case 0:
|
||||
$v['type_name'] = '顶级菜单';
|
||||
@ -179,101 +186,103 @@ class YunzerController extends Base{
|
||||
}
|
||||
View::assign([
|
||||
'lists' => $lists,
|
||||
'smid' => $smid
|
||||
'smid' => $smid
|
||||
]);
|
||||
return View::fetch();
|
||||
}
|
||||
# 按钮添加
|
||||
public function buttonadd(){
|
||||
public function buttonadd()
|
||||
{
|
||||
$req = request();
|
||||
if($req->isPost()){
|
||||
$smid = (int)input('post.smid');
|
||||
if ($req->isPost()) {
|
||||
$smid = (int) input('post.smid');
|
||||
$data['label'] = trim(input('post.label'));
|
||||
if(!$data['label']){
|
||||
if (!$data['label']) {
|
||||
Log::record('添加按钮', 0, '请输入按钮名称', '按钮管理');
|
||||
$this->returnCode(1, '请输入按钮名称');
|
||||
}
|
||||
$data['icon_class'] = trim(input('post.icon_class'));
|
||||
$data['sort'] = (int)trim(input('post.sort'));
|
||||
$data['status'] = (int)trim(input('post.status'));
|
||||
$data['type'] = (int)trim(input('post.type'));
|
||||
if(empty($data['type'])){
|
||||
$data['sort'] = (int) trim(input('post.sort'));
|
||||
$data['status'] = (int) trim(input('post.status'));
|
||||
$data['type'] = (int) trim(input('post.type'));
|
||||
if (empty($data['type'])) {
|
||||
Log::record('添加按钮', 0, '请选择按钮类型', '按钮管理');
|
||||
$this->returnCode(1, '请选择按钮类型');
|
||||
}
|
||||
if($data['type'] == 1){
|
||||
if ($data['type'] == 1) {
|
||||
$data['src'] = trim(input('post.src1'));
|
||||
if(empty($data['src'])){
|
||||
if (empty($data['src'])) {
|
||||
Log::record('添加按钮', 0, '请输入内部跳转地址', '按钮管理');
|
||||
$this->returnCode(1, '请输入内部跳转地址');
|
||||
}
|
||||
}else if($data['type'] == 2){
|
||||
} else if ($data['type'] == 2) {
|
||||
$data['src'] = trim(input('post.src2'));
|
||||
if(empty($data['src'])){
|
||||
if (empty($data['src'])) {
|
||||
Log::record('添加按钮', 0, '请输入超链接地址', '按钮管理');
|
||||
$this->returnCode(1, '请输入超链接地址');
|
||||
}
|
||||
}
|
||||
$data['parent_id'] = $smid;
|
||||
$res = AdminSysMenu::insert($data);
|
||||
if(!$res){
|
||||
if (!$res) {
|
||||
Log::record('添加按钮', 0, '添加按钮失败', '按钮管理');
|
||||
$this->returnCode(1, '添加按钮失败');
|
||||
}
|
||||
Log::record('添加按钮', 1, '', '按钮管理');
|
||||
$this->returnCode(0);
|
||||
}else{
|
||||
$smid = (int)input('get.smid');
|
||||
$iconfont = ZIconfont::where('status',1)->select();
|
||||
} else {
|
||||
$smid = (int) input('get.smid');
|
||||
$iconfont = ZIconfont::where('status', 1)->select();
|
||||
View::assign([
|
||||
'smid' => $smid,
|
||||
'smid' => $smid,
|
||||
'iconfont' => $iconfont
|
||||
]);
|
||||
return View::fetch();
|
||||
}
|
||||
}
|
||||
# 按钮修改
|
||||
public function buttonedit(){
|
||||
public function buttonedit()
|
||||
{
|
||||
$req = request();
|
||||
if($req->isPost()){
|
||||
$smid = (int)input('post.smid');
|
||||
if ($req->isPost()) {
|
||||
$smid = (int) input('post.smid');
|
||||
$data['label'] = trim(input('post.label'));
|
||||
if(!$data['label']){
|
||||
if (!$data['label']) {
|
||||
Log::record('编辑按钮', 0, '请输入按钮名称', '按钮管理');
|
||||
$this->returnCode(1, '请输入按钮名称');
|
||||
}
|
||||
$data['icon_class'] = trim(input('post.icon_class'));
|
||||
$data['sort'] = (int)trim(input('post.sort'));
|
||||
$data['status'] = (int)trim(input('post.status'));
|
||||
$data['type'] = (int)trim(input('post.type'));
|
||||
if(empty($data['type'])){
|
||||
$data['sort'] = (int) trim(input('post.sort'));
|
||||
$data['status'] = (int) trim(input('post.status'));
|
||||
$data['type'] = (int) trim(input('post.type'));
|
||||
if (empty($data['type'])) {
|
||||
Log::record('编辑按钮', 0, '请选择按钮类型', '按钮管理');
|
||||
$this->returnCode(1, '请选择按钮类型');
|
||||
}
|
||||
if($data['type'] == 1){
|
||||
if ($data['type'] == 1) {
|
||||
$data['src'] = trim(input('post.src1'));
|
||||
if(empty($data['src'])){
|
||||
if (empty($data['src'])) {
|
||||
Log::record('编辑按钮', 0, '请输入内部跳转地址', '按钮管理');
|
||||
$this->returnCode(1, '请输入内部跳转地址');
|
||||
}
|
||||
}else if($data['type'] == 2){
|
||||
} else if ($data['type'] == 2) {
|
||||
$data['src'] = trim(input('post.src2'));
|
||||
if(empty($data['src'])){
|
||||
if (empty($data['src'])) {
|
||||
Log::record('编辑按钮', 0, '请输入超链接地址', '按钮管理');
|
||||
$this->returnCode(1, '请输入超链接地址');
|
||||
}
|
||||
}
|
||||
$res = AdminSysMenu::where('smid',$smid)->update($data);
|
||||
if(!$res){
|
||||
$res = AdminSysMenu::where('smid', $smid)->update($data);
|
||||
if (!$res) {
|
||||
Log::record('编辑按钮', 0, '修改按钮失败', '按钮管理');
|
||||
$this->returnCode(1, '修改按钮失败');
|
||||
}
|
||||
Log::record('编辑按钮', 1, '', '按钮管理');
|
||||
$this->returnCode(0);
|
||||
}else{
|
||||
$smid = (int)input('get.smid');
|
||||
$lists = AdminSysMenu::where('smid',$smid)->find();
|
||||
$iconfont = ZIconfont::where('status',1)->select();
|
||||
} else {
|
||||
$smid = (int) input('get.smid');
|
||||
$lists = AdminSysMenu::where('smid', $smid)->find();
|
||||
$iconfont = ZIconfont::where('status', 1)->select();
|
||||
View::assign([
|
||||
'lists' => $lists,
|
||||
'iconfont' => $iconfont
|
||||
@ -282,10 +291,11 @@ class YunzerController extends Base{
|
||||
}
|
||||
}
|
||||
# 按钮删除
|
||||
public function buttondel(){
|
||||
$smid = (int)input('post.smid');
|
||||
$res = AdminSysMenu::where('smid',$smid)->delete();
|
||||
if(empty($res)){
|
||||
public function buttondel()
|
||||
{
|
||||
$smid = (int) input('post.smid');
|
||||
$res = AdminSysMenu::where('smid', $smid)->delete();
|
||||
if (empty($res)) {
|
||||
Log::record('删除按钮', 0, '删除按钮失败', '按钮管理');
|
||||
$this->returnCode(1, '删除按钮失败');
|
||||
}
|
||||
@ -293,80 +303,83 @@ class YunzerController extends Base{
|
||||
$this->returnCode(0);
|
||||
}
|
||||
# 配置列表
|
||||
public function configlist(){
|
||||
public function configlist()
|
||||
{
|
||||
$req = request();
|
||||
if($req->isPost()){
|
||||
$page = (int)input('post.page',1);
|
||||
$limit = (int)input('post.limit',$this->config['admin_page']);
|
||||
if ($req->isPost()) {
|
||||
$page = (int) input('post.page', 1);
|
||||
$limit = (int) input('post.limit', $this->config['admin_page']);
|
||||
$count = AdminConfig::count();
|
||||
$lists = AdminConfig::page($page,$limit)->order('config_sort DESC,config_id DESC')->select();
|
||||
$this->returnCode(0,$lists,$count);
|
||||
}else{
|
||||
$lists = AdminConfig::page($page, $limit)->order('config_sort DESC,config_id DESC')->select();
|
||||
$this->returnCode(0, $lists, $count);
|
||||
} else {
|
||||
return View::fetch();
|
||||
}
|
||||
}
|
||||
# 配置添加
|
||||
public function configadd(){
|
||||
public function configadd()
|
||||
{
|
||||
$req = request();
|
||||
if($req->isPost()){
|
||||
if ($req->isPost()) {
|
||||
$data['config_name'] = trim(input('post.config_name'));
|
||||
if(empty($data['config_name'])){
|
||||
if (empty($data['config_name'])) {
|
||||
Log::record('添加配置', 0, '请输入关键词', '系统配置');
|
||||
$this->returnCode(1,'请输入关键词');
|
||||
$this->returnCode(1, '请输入关键词');
|
||||
}
|
||||
$data['config_info'] = trim(input('post.config_info'));
|
||||
if(empty($data['config_info'])){
|
||||
if (empty($data['config_info'])) {
|
||||
Log::record('添加配置', 0, '请输入作用', '系统配置');
|
||||
$this->returnCode(1,'请输入作用');
|
||||
$this->returnCode(1, '请输入作用');
|
||||
}
|
||||
$data['config_type'] = trim(input('post.config_type'));
|
||||
$data['config_desc'] = trim(input('post.config_desc'));
|
||||
$data['config_status'] = trim(input('post.config_status'));
|
||||
$data['config_sort'] = trim(input('post.config_sort'));
|
||||
$res = AdminConfig::insert($data);
|
||||
if(empty($res)){
|
||||
if (empty($res)) {
|
||||
Log::record('添加配置', 0, '添加配置失败', '系统配置');
|
||||
$this->returnCode(1, '添加配置失败');
|
||||
}
|
||||
Log::record('添加配置', 1, '', '系统配置');
|
||||
$this->returnCode(0);
|
||||
}else{
|
||||
} else {
|
||||
return View::fetch();
|
||||
}
|
||||
}
|
||||
# 配置修改
|
||||
public function configedit(){
|
||||
public function configedit()
|
||||
{
|
||||
$req = request();
|
||||
if($req->isPost()){
|
||||
$config_id = (int)input('post.config_id');
|
||||
if(empty($config_id)){
|
||||
if ($req->isPost()) {
|
||||
$config_id = (int) input('post.config_id');
|
||||
if (empty($config_id)) {
|
||||
Log::record('编辑配置', 0, '请选择一条数据', '系统配置');
|
||||
$this->returnCode(1,'请选择一条数据');
|
||||
$this->returnCode(1, '请选择一条数据');
|
||||
}
|
||||
$data['config_name'] = trim(input('post.config_name'));
|
||||
if(empty($data['config_name'])){
|
||||
if (empty($data['config_name'])) {
|
||||
Log::record('编辑配置', 0, '请输入关键词', '系统配置');
|
||||
$this->returnCode(1,'请输入关键词');
|
||||
$this->returnCode(1, '请输入关键词');
|
||||
}
|
||||
$data['config_info'] = trim(input('post.config_info'));
|
||||
if(empty($data['config_info'])){
|
||||
if (empty($data['config_info'])) {
|
||||
Log::record('编辑配置', 0, '请输入作用', '系统配置');
|
||||
$this->returnCode(1,'请输入作用');
|
||||
$this->returnCode(1, '请输入作用');
|
||||
}
|
||||
$data['config_type'] = trim(input('post.config_type'));
|
||||
$data['config_desc'] = trim(input('post.config_desc'));
|
||||
$data['config_status'] = trim(input('post.config_status'));
|
||||
$data['config_sort'] = trim(input('post.config_sort'));
|
||||
$res = AdminConfig::where('config_id',$config_id)->update($data);
|
||||
if(empty($res)){
|
||||
$res = AdminConfig::where('config_id', $config_id)->update($data);
|
||||
if (empty($res)) {
|
||||
Log::record('编辑配置', 0, '修改配置失败', '系统配置');
|
||||
$this->returnCode(1, '修改配置失败');
|
||||
}
|
||||
Log::record('编辑配置', 1, '', '系统配置');
|
||||
$this->returnCode(0);
|
||||
}else{
|
||||
$config_id = (int)input('get.config_id');
|
||||
$find = AdminConfig::where('config_id',$config_id)->find();
|
||||
} else {
|
||||
$config_id = (int) input('get.config_id');
|
||||
$find = AdminConfig::where('config_id', $config_id)->find();
|
||||
View::assign([
|
||||
'find' => $find
|
||||
]);
|
||||
@ -374,14 +387,15 @@ class YunzerController extends Base{
|
||||
}
|
||||
}
|
||||
# 配置删除
|
||||
public function configdel(){
|
||||
$config_id = (int)input('post.config_id');
|
||||
if(empty($config_id)){
|
||||
public function configdel()
|
||||
{
|
||||
$config_id = (int) input('post.config_id');
|
||||
if (empty($config_id)) {
|
||||
Log::record('删除配置', 0, '请选择一条数据', '系统配置');
|
||||
$this->returnCode(1,'请选择一条数据');
|
||||
$this->returnCode(1, '请选择一条数据');
|
||||
}
|
||||
$res = AdminConfig::where('config_id',$config_id)->delete();
|
||||
if(empty($res)){
|
||||
$res = AdminConfig::where('config_id', $config_id)->delete();
|
||||
if (empty($res)) {
|
||||
Log::record('删除配置', 0, '删除配置失败', '系统配置');
|
||||
$this->returnCode(1, '删除配置失败');
|
||||
}
|
||||
@ -389,23 +403,24 @@ class YunzerController extends Base{
|
||||
$this->returnCode(0);
|
||||
}
|
||||
# 配置值
|
||||
public function configvalue(){
|
||||
public function configvalue()
|
||||
{
|
||||
$req = request();
|
||||
if($req->isPost()){
|
||||
if ($req->isPost()) {
|
||||
$post = input('post.');
|
||||
if(empty($post)){
|
||||
if (empty($post)) {
|
||||
Log::record('更新配置值', 0, '数据不能为空', '系统配置');
|
||||
$this->returnCode(1,'数据不能为空');
|
||||
$this->returnCode(1, '数据不能为空');
|
||||
}
|
||||
$oConfig = new YzAdminConfig();
|
||||
$updateAll = $oConfig->updateAll($post);
|
||||
if(empty($updateAll)){
|
||||
if (empty($updateAll)) {
|
||||
Log::record('更新配置值', 0, '更新配置值失败', '系统配置');
|
||||
$this->returnCode(1, '更新配置值失败');
|
||||
}
|
||||
Log::record('更新配置值', 1, '', '系统配置');
|
||||
$this->returnCode(0);
|
||||
}else{
|
||||
} else {
|
||||
$lists = AdminConfig::order('config_sort DESC,config_id')->select();
|
||||
View::assign([
|
||||
'lists' => $lists
|
||||
@ -413,4 +428,92 @@ class YunzerController extends Base{
|
||||
return View::fetch();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 邮件配置
|
||||
public function mailconfig()
|
||||
{
|
||||
if (Request::isPost()) {
|
||||
$data = [
|
||||
'smtp_host' => input('post.smtp_host'),
|
||||
'smtp_port' => input('post.smtp_port'),
|
||||
'smtp_email' => input('post.smtp_email'),
|
||||
'smtp_password' => input('post.smtp_password'),
|
||||
'smtp_name' => input('post.smtp_name')
|
||||
];
|
||||
|
||||
// 验证必填字段
|
||||
if (empty($data['smtp_host']) || empty($data['smtp_port']) || empty($data['smtp_email']) || empty($data['smtp_password'])) {
|
||||
// Log::record('修改邮件配置', 0, '必填字段不能为空', '邮件配置');
|
||||
return json(['code' => 1, 'msg' => '必填字段不能为空']);
|
||||
}
|
||||
|
||||
$res = MailConfig::where('id', 1)->update($data);
|
||||
if ($res === false) {
|
||||
// Log::record('修改邮件配置', 0, '更新邮件配置失败', '邮件配置');
|
||||
return json(['code' => 1, 'msg' => '更新邮件配置失败']);
|
||||
}
|
||||
// Log::record('修改邮件配置', 1, '', '邮件配置');
|
||||
return json(['code' => 0, 'msg' => '更新成功']);
|
||||
}
|
||||
|
||||
$config = MailConfig::where('id', 1)->find();
|
||||
View::assign([
|
||||
'config' => $config
|
||||
]);
|
||||
return View::fetch();
|
||||
}
|
||||
|
||||
// 获取邮件配置
|
||||
public function getMailConfig()
|
||||
{
|
||||
$config = MailConfig::where('id', 1)->find();
|
||||
if ($config) {
|
||||
return json(['code' => 0, 'msg' => '获取成功', 'data' => $config]);
|
||||
}
|
||||
return json(['code' => 1, 'msg' => '获取配置失败']);
|
||||
}
|
||||
|
||||
// 测试邮件配置
|
||||
public function testMailConfig()
|
||||
{
|
||||
if (!Request::isPost()) {
|
||||
return json(['code' => 1, 'msg' => '请求方法无效']);
|
||||
}
|
||||
|
||||
$email = input('post.email');
|
||||
$config = input('post.config');
|
||||
|
||||
if (empty($email) || empty($config)) {
|
||||
return json(['code' => 1, 'msg' => '参数错误']);
|
||||
}
|
||||
|
||||
try {
|
||||
// 配置邮件服务器
|
||||
$mail = new PHPMailer(true);
|
||||
$mail->isSMTP();
|
||||
$mail->Host = $config['smtp_host'];
|
||||
$mail->Port = $config['smtp_port'];
|
||||
$mail->SMTPAuth = true;
|
||||
$mail->Username = $config['smtp_email'];
|
||||
$mail->Password = $config['smtp_password'];
|
||||
$mail->SMTPSecure = 'ssl';
|
||||
$mail->CharSet = 'UTF-8';
|
||||
|
||||
// 设置发件人
|
||||
$mail->setFrom($config['smtp_email'], $config['smtp_name']);
|
||||
$mail->addAddress($email);
|
||||
|
||||
// 设置邮件内容
|
||||
$mail->isHTML(true);
|
||||
$mail->Subject = '邮件配置测试';
|
||||
$mail->Body = '这是一封测试邮件,如果您收到这封邮件,说明邮件配置正确。';
|
||||
|
||||
$mail->send();
|
||||
return json(['code' => 0, 'msg' => '发送成功']);
|
||||
} catch (\Exception $e) {
|
||||
//Log::record('测试邮件配置', 0, $e->getMessage(), '邮件配置');
|
||||
return json(['code' => 1, 'msg' => '发送失败:' . $e->getMessage()]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4,7 +4,7 @@ use app\admin\controller\Base;
|
||||
use think\facade\Db;
|
||||
use think\facade\View;
|
||||
use think\facade\Request;
|
||||
use app\admin\controller\Log;
|
||||
use app\admin\controller\LogController as Log;
|
||||
use app\admin\model\AdminSysMenu;
|
||||
use app\admin\model\AdminUserGroup;
|
||||
use app\admin\model\AdminUser;
|
||||
@ -102,23 +102,8 @@ class YunzeradminController extends Base
|
||||
$group['rights'] = json_decode($group['rights']);
|
||||
}
|
||||
|
||||
$menus = AdminSysMenu::order('type,sort desc')->where('status', '=', 1)->select();
|
||||
$menu = [];
|
||||
|
||||
// 先处理所有父菜单
|
||||
foreach ($menus as $menus_v) {
|
||||
if ($menus_v['parent_id'] == 0) {
|
||||
$menu[$menus_v['smid']] = $menus_v;
|
||||
$menu[$menus_v['smid']]['children'] = []; // 初始化 children 数组
|
||||
}
|
||||
}
|
||||
|
||||
// 再处理子菜单
|
||||
foreach ($menus as $menus_v) {
|
||||
if ($menus_v['parent_id'] != 0 && isset($menu[$menus_v['parent_id']])) {
|
||||
$menu[$menus_v['parent_id']]['children'][] = $menus_v;
|
||||
}
|
||||
}
|
||||
// 使用模型中的 getMenuTree 方法获取菜单树
|
||||
$menu = AdminSysMenu::getMenuTree();
|
||||
|
||||
View::assign([
|
||||
'group' => $group,
|
||||
@ -467,4 +452,5 @@ class YunzeradminController extends Base
|
||||
return json(['code' => 1, 'msg' => '请求方法无效']);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
8
app/admin/model/MailConfig.php
Normal file
8
app/admin/model/MailConfig.php
Normal file
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
namespace app\admin\model;
|
||||
|
||||
use think\Model;
|
||||
|
||||
class MailConfig extends Model
|
||||
{
|
||||
}
|
||||
105
app/admin/view/yunzer/mailconfig.php
Normal file
105
app/admin/view/yunzer/mailconfig.php
Normal file
@ -0,0 +1,105 @@
|
||||
{include file="public/header" /}
|
||||
<div class="layui-form" lay-filter="mailConfigForm" style="padding: 30px;">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">SMTP服务器</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="smtp_host" value="smtp.qq.com" placeholder="请输入SMTP服务器地址" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">SMTP端口</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="smtp_port" value="465" placeholder="请输入SMTP端口" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发件人邮箱</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="smtp_email" placeholder="请输入发件人邮箱" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">邮箱密码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="password" name="smtp_password" placeholder="请输入邮箱密码或授权码" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发件人名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="smtp_name" value="学创网络" placeholder="请输入发件人名称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="saveMailConfig">保存配置</button>
|
||||
<button class="layui-btn layui-btn-primary" lay-filter="testMailConfig">测试发送</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.use(['form', 'layer'], function(){
|
||||
var form = layui.form;
|
||||
var layer = layui.layer;
|
||||
|
||||
// 加载配置
|
||||
$.get('/admin/yunzer/getMailConfig', function(res){
|
||||
if(res.code === 1){
|
||||
form.val('mailConfigForm', res.data);
|
||||
}
|
||||
});
|
||||
|
||||
// 保存配置
|
||||
form.on('submit(saveMailConfig)', function(data){
|
||||
$.post('/admin/yunzer/saveMailConfig', data.field, function(res){
|
||||
if(res.code === 1){
|
||||
layer.msg('保存成功');
|
||||
}else{
|
||||
layer.msg(res.msg);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
// 测试发送
|
||||
form.on('submit(testMailConfig)', function(data){
|
||||
layer.prompt({
|
||||
formType: 0,
|
||||
title: '请输入测试邮箱地址',
|
||||
area: ['300px', '150px']
|
||||
}, function(value, index){
|
||||
$.post('/admin/yunzer/testMailConfig', {
|
||||
email: value,
|
||||
config: data.field
|
||||
}, function(res){
|
||||
if(res.code === 1){
|
||||
layer.msg('发送成功');
|
||||
}else{
|
||||
layer.msg(res.msg);
|
||||
}
|
||||
});
|
||||
layer.close(index);
|
||||
});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<style>
|
||||
.layui-form-item{
|
||||
display: flex;
|
||||
}
|
||||
.layui-form-label{
|
||||
width: 90px !important;
|
||||
}
|
||||
.layui-input-block{
|
||||
width: 100% !important;
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
</style>
|
||||
{include file="public/tail" /}
|
||||
Loading…
x
Reference in New Issue
Block a user