浏览代码

Merge branch 'dev_wf' of wufeng/fuse into version1.5

wufeng 2 年之前
父节点
当前提交
caa1fd9731

+ 1 - 0
app/admin/config/common.php

@@ -2,4 +2,5 @@
 //api模块通用配置信息
 return [
     'expire'=>1800,//token的有效时长
+    'default_password'=>'123456',//运营账号默认密码
 ];

+ 13 - 0
app/admin/config/validate_rules.php

@@ -118,5 +118,18 @@ return [
         'remark|备注' => 'max:255',
         'action_data|功能权限' => 'require|array'
     ],
+    //运营账号
+    'adminAdd' => [
+        'username|账户' => 'require|max:255',
+        'nickname|昵称' => 'require|max:255',
+        'mobile|手机号' => 'require|mobile',
+        'role_id|角色' => 'require|number|gt:0'
+    ],
+    //更改密码
+    'adminChangePasswod' => [
+        'id' => 'require|number|gt:0',
+        'old_password|旧密码' => 'require|max:255',
+        'new_password|新密码' => 'require|min:6|max:255',
+    ],
 
 ];

+ 93 - 0
app/admin/controller/Admin.php

@@ -0,0 +1,93 @@
+<?php
+
+namespace app\admin\controller;
+
+use app\admin\logic\AdminLogic;
+use app\BaseController;
+use think\exception\ValidateException;
+use think\facade\Config;
+use think\facade\Validate;
+
+//运营账号
+class Admin extends BaseController
+{
+    //获取运营账号列表
+    public function list()
+    {
+        $param = $this->request->only(['page' => 1, 'size' => 15, 'username' => '', 'nickname' => '', 'mobile' => '', 'status' => ''], 'post');
+
+        return AdminLogic::list($param);
+    }
+
+    //添加运营账号
+    public function add()
+    {
+        $param = $this->request->only(['username', 'nickname', 'mobile', 'role_id'], 'post');
+
+        $val = Validate::rule(Config::get('validate_rules.adminAdd'));
+
+        if (!$val->check($param)) throw new ValidateException($val->getError());
+
+        return AdminLogic:: add($param);
+    }
+
+    //获取运营账号详情
+    public function read()
+    {
+        $id = $this->request->post('id/d', 0);
+        return AdminLogic::read($id);
+    }
+
+    //编辑运营账号
+    public function edit()
+    {
+        $param = $this->request->only(['id', 'username', 'nickname', 'mobile', 'role_id'], 'post');
+
+        $val = Validate::rule(array_merge(['id' => 'require|number|gt:0'], Config::get('validate_rules.adminAdd')));
+
+        if (!$val->check($param)) throw new ValidateException($val->getError());
+
+        return AdminLogic::edit($param);
+    }
+
+    //删除运营账号
+    public function delete()
+    {
+        $id = $this->request->post('id/d', 0);
+        return AdminLogic::delete($id);
+    }
+
+    //启禁用运营账号
+    public function status()
+    {
+        $param = $this->request->only(['id', 'status'], 'post');
+
+        $val = Validate::rule(Config::get('validate_rules.status'));
+
+        if (!$val->check($param)) throw new ValidateException($val->getError());
+
+        return AdminLogic::status($param);
+    }
+
+    //更改密码
+    public function changePasswod()
+    {
+        $param = $this->request->only(['id', 'old_password', 'new_password'], 'post');
+
+        $val = Validate::rule(Config::get('validate_rules.adminChangePasswod'));
+
+        if (!$val->check($param)) throw new ValidateException($val->getError());
+
+        return AdminLogic::changePasswod($param);
+    }
+
+    //重置密码(慎用)
+    public function resetPasswod()
+    {
+        $id = $this->request->post('id/d', 0);
+
+        return AdminLogic::resetPasswod($id);
+    }
+
+
+}

+ 6 - 0
app/admin/controller/Role.php

@@ -29,6 +29,12 @@ class Role extends BaseController
         return RoleLogic::list($param);
     }
 
+    //获取全部角色
+    public function all()
+    {
+        return RoleLogic::all();
+    }
+
     //添加角色
     public function add()
     {

+ 153 - 0
app/admin/logic/AdminLogic.php

@@ -0,0 +1,153 @@
+<?php
+
+namespace app\admin\logic;
+
+use app\admin\controller\Common;
+use app\model\AdminModel;
+use app\model\CommonModel;
+use think\exception\ValidateException;
+use think\facade\Config;
+use think\response\Json;
+
+class AdminLogic extends BaseLogic
+{
+    //获取运营账号列表
+    public static function list(array $data = []): Json
+    {
+        $db = AdminModel::alias('a')
+            ->leftJoin('role b', 'b.id=a.role_id')
+            ->where('a.is_del', CommonModel::$del_normal);
+
+        if ($data['username'] != '') $db->whereLike('a.username', '%' . $data['username'] . '%');
+        if ($data['nickname'] != '') $db->whereLike('a.nickname', '%' . $data['nickname'] . '%');
+        if ($data['mobile'] != '') $db->whereLike('a.mobile', '%' . $data['mobile'] . '%');
+        if ($data['status'] != '') $db->where('a.status', $data['status']);
+
+        $count = $db->count('a.id');
+
+        $list = $db->field('a.id,a.username,a.nickname,a.mobile,a.status,a.addtime,b.name as role_name')
+            ->order(['a.id' => 'desc'])
+            ->page($data['page'], $data['size'])
+            ->select()
+            ->toArray();
+
+        return json_show(CommonModel::$success, '获取运营账号列表成功', ['count' => $count, 'list' => $list]);
+    }
+
+    //添加运营账号
+    public static function add(array $data = []): Json
+    {
+        $salt = randomkeys(6);
+        $data = array_merge($data, [
+            'salt' => $salt,
+            'password' => getPassword(Config::get('common.default_password'), $salt),
+            'is_del' => CommonModel::$del_normal,
+            'status' => CommonModel::$status_normal,
+            'addtime' => date('Y-m-d H:i:s'),
+            'updatetime' => date('Y-m-d H:i:s'),
+        ]);
+
+        $rs = AdminModel::create($data)->save();
+
+        return $rs ? json_show(CommonModel::$success, '添加运营账号成功') : json_show(CommonModel::$error_param, '添加运营账号失败');
+    }
+
+    //获取运营账号详情
+    public static function read(int $id = 0): Json
+    {
+        $rs = AdminModel::where(['id' => $id, 'is_del' => CommonModel::$del_normal])
+            ->withoutField('password,salt')
+            ->findOrEmpty()
+            ->toArray();
+
+        return json_show(CommonModel::$success, '获取运营账号详情成功', $rs);
+    }
+
+    //编辑运营账号
+    public static function edit(array $data = []): Json
+    {
+        $data = array_merge($data, [
+            'updatetime' => date('Y-m-d H:i:s'),
+        ]);
+
+        $rs = AdminModel::where(['id' => $data['id'], 'is_del' => CommonModel::$del_normal])->save($data);
+
+        return $rs ? json_show(CommonModel::$success, '编辑运营账号成功') : json_show(CommonModel::$error_param, '编辑运营账号失败');
+    }
+
+    //删除运营账号
+    public static function delete(int $id = 0): Json
+    {
+
+        $rs = AdminModel::where(['id' => $id, 'is_del' => CommonModel::$del_normal])
+            ->save([
+                'is_del' => CommonModel::$del_deleted,
+                'updatetime' => date('Y-m-d H:i:s'),
+            ]);
+
+        return $rs ? json_show(CommonModel::$success, '删除运营账号成功') : json_show(CommonModel::$error_param, '删除运营账号失败,该账号不存在或重复删除');
+
+    }
+
+    //启禁用运营账号
+    public static function status(array $data = []): Json
+    {
+        $data = array_merge($data, ['updatetime' => date('Y-m-d H:i:s')]);
+
+        $rs = AdminModel::where(['id' => $data['id'], 'is_del' => CommonModel::$del_normal])
+            ->where('status', '<>', $data['status'])
+            ->save($data);
+
+        return $rs ? json_show(CommonModel::$success, '操作成功') : json_show(CommonModel::$error_param, '操作失败');
+    }
+
+    //更改密码
+    public static function changePasswod(array $data = []): Json
+    {
+        $rs = AdminModel::where(['id' => $data['id'], 'is_del' => CommonModel::$del_normal])
+            ->field('id,password,salt,status')
+            ->findOrEmpty();
+
+        if ($rs->isEmpty()) throw new ValidateException('该运营账号不存在');
+        if (getPassword($data['old_password'], $rs->salt) != $rs->password) throw new ValidateException('旧密码错误');
+
+        $salt = randomkeys(6);
+        $password = getPassword($data['new_password'], $salt);
+
+        $da = [
+            'salt' => $salt,
+            'password' => $password,
+            'updatetime' => date('Y-m-d H:i:s'),
+        ];
+
+        $rs = AdminModel::where(['id' => $data['id'], 'is_del' => CommonModel::$del_normal])
+            ->save($da);
+
+        return $rs ? json_show(CommonModel::$success, '更改密码成功') : json_show(CommonModel::$error_param, '更改密码失败');
+    }
+
+    //重置密码(慎用)
+    public static function resetPasswod(int $id = 0): Json
+    {
+        $rs = AdminModel::where(['id' => $id, 'is_del' => CommonModel::$del_normal])
+            ->field('id')
+            ->findOrEmpty()
+            ->isEmpty();
+
+        if ($rs) throw new ValidateException('该运营账号不存在');
+
+        $salt = randomkeys(6);
+
+        $da = [
+            'salt' => $salt,
+            'password' => getPassword(Config::get('common.default_password'), $salt),
+            'updatetime' => date('Y-m-d H:i:s'),
+        ];
+
+        $rs = AdminModel::where(['id' => $id, 'is_del' => CommonModel::$del_normal])
+            ->save($da);
+
+        return $rs ? json_show(CommonModel::$success, '重置密码成功') : json_show(CommonModel::$error_param, '重置密码失败');
+    }
+
+}

+ 11 - 0
app/admin/logic/RoleLogic.php

@@ -29,6 +29,17 @@ class RoleLogic extends BaseLogic
         return json_show(CommonModel::$success, '获取角色列表成功', ['count' => $count, 'list' => $list]);
     }
 
+    //获取全部角色
+    public static function all(): Json
+    {
+        $list = RoleModel::where('is_del', CommonModel::$del_normal)
+            ->field('id,name,level,status')
+            ->order(['id' => 'desc'])
+            ->select()
+            ->toArray();
+        return json_show(CommonModel::$success, '获取获取全部角色成功', $list);
+    }
+
     //添加角色
     public static function add(array $data = []): Json
     {

+ 11 - 0
app/admin/route/app.php

@@ -27,12 +27,23 @@ Route::rule('menuActionlist', 'admin/Action/index');//获取所有菜单下的
 
 //【角色】
 Route::rule('roleList', 'admin/Role/list');//获取角色列表
+Route::rule('roleAll', 'admin/Role/all');//获取全部角色
 Route::rule('roleAdd', 'admin/Role/add');//添加角色
 Route::rule('roleRead', 'admin/Role/read');//获取角色详情
 Route::rule('roleEdit', 'admin/Role/edit');//编辑角色
 Route::rule('roleDelete', 'admin/Role/delete');//删除角色
 Route::rule('roleStatus', 'admin/Role/status');//启禁用角色
 
+//【运营账号】
+Route::rule('adminList', 'admin/Admin/list');//获取运营账号列表
+Route::rule('adminAdd', 'admin/Admin/add');//添加运营账号
+Route::rule('adminRead', 'admin/Admin/read');//获取运营账号详情
+Route::rule('adminEdit', 'admin/Admin/edit');//编辑运营账号
+Route::rule('adminDelete', 'admin/Admin/delete');//删除运营账号
+Route::rule('adminStatus', 'admin/Admin/status');//启禁用运营账号
+Route::rule('adminChangePasswod', 'admin/Admin/changePasswod');//更改密码
+Route::rule('adminResetPasswod', 'admin/Admin/resetPasswod');//重置密码(慎用)
+
 
 //【视频】
 Route::rule('videoList', 'admin/Video/list');//获取视频列表