diff --git a/admin/src/api/asset.ts b/admin/src/api/asset.ts index 7da0b015..46dc3317 100644 --- a/admin/src/api/asset.ts +++ b/admin/src/api/asset.ts @@ -2,25 +2,25 @@ import request from '@/utils/request' // 账号管理 API export function apiAssetUserList(params: any) { - return request.get({ url: '/asset/AssetUser/lists', params }) + return request.get({ url: '/asset.AssetUser/lists', params }) } export function apiAssetUserAdd(params: any) { - return request.post({ url: '/asset/AssetUser/add', params }) + return request.post({ url: '/asset.AssetUser/add', params }) } export function apiAssetUserEdit(params: any) { - return request.post({ url: '/asset/AssetUser/edit', params }) + return request.post({ url: '/asset.AssetUser/edit', params }) } export function apiAssetUserDelete(params: any) { - return request.post({ url: '/asset/AssetUser/delete', params }) + return request.post({ url: '/asset.AssetUser/delete', params }) } // 资源管理 API export function apiAssetResourceList(params: any) { - return request.get({ url: '/asset/AssetResource/lists', params }) + return request.get({ url: '/asset.AssetResource/lists', params }) } export function apiAssetResourceAdd(params: any) { - return request.post({ url: '/asset/AssetResource/add', params }) + return request.post({ url: '/asset.AssetResource/add', params }) } export function apiAssetResourceDelete(params: any) { - return request.post({ url: '/asset/AssetResource/delete', params }) + return request.post({ url: '/asset.AssetResource/delete', params }) } diff --git a/server/app/api/controller/asset/AssetAppController.php b/server/app/api/controller/asset/AssetAppController.php index 78f2ce42..ed1ba862 100644 --- a/server/app/api/controller/asset/AssetAppController.php +++ b/server/app/api/controller/asset/AssetAppController.php @@ -57,12 +57,12 @@ class AssetAppController extends BaseApiController { $token = $this->request->header('token'); if (empty($token)) { - return $this->fail('请先登录', [], 401); + return $this->fail('请先登录', [], -1); } $userId = cache('asset_token_' . $token); if (!$userId) { - return $this->fail('登录已过期', [], 401); + return $this->fail('登录已过期', [], -1); } $type = $this->request->get('type', 1); // 1:图片 2:视频 3:语音 @@ -95,4 +95,37 @@ class AssetAppController extends BaseApiController 'page_size' => $pageSize, ]); } + + /** + * @notes 修改密码 + */ + public function changePassword() + { + $token = $this->request->header('token'); + if (empty($token)) { + return $this->fail('请先登录', [], -1); + } + + $userId = cache('asset_token_' . $token); + if (!$userId) { + return $this->fail('登录已过期', [], -1); + } + + $oldPassword = $this->request->post('old_password'); + $password = $this->request->post('password'); + + $user = AssetUser::find($userId); + if (!$user) { + return $this->fail('用户不存在', [], -1); + } + + if (!password_verify($oldPassword, $user->password)) { + return $this->fail('原密码不正确'); + } + + $user->password = password_hash($password, PASSWORD_DEFAULT); + $user->save(); + + return $this->success('密码修改成功'); + } } diff --git a/server/sql/asset_menu.sql b/server/sql/asset_menu.sql new file mode 100644 index 00000000..bd9e7ee8 --- /dev/null +++ b/server/sql/asset_menu.sql @@ -0,0 +1,38 @@ +-- 专属数字资产 菜单和权限配置 +-- 注意:需要根据实际的菜单表结构调整字段名称(如前缀 zyt_ 可能需根据您的实际表前缀替换) + +-- 1. 添加一级菜单:资源分发管理 +INSERT INTO `zyt_system_menu` (`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`) +VALUES (0, 'M', '资源分发管理', 'el-icon-FolderOpened', 110, '', '/asset', '', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()); + +-- 获取刚插入的一级菜单ID +SET @asset_pid = LAST_INSERT_ID(); + +-- 2. 添加二级菜单:分发账号管理 +INSERT INTO `zyt_system_menu` (`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`) +VALUES (@asset_pid, 'C', '分发账号管理', 'el-icon-User', 1, 'asset.AssetUser/lists', '/asset/user', '/asset/user/index', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()); + +-- 获取【分发账号管理】菜单ID +SET @user_menu_id = LAST_INSERT_ID(); + +-- 3. 添加账号相关按钮权限 +INSERT INTO `zyt_system_menu` (`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`) +VALUES +(@user_menu_id, 'A', '新增账号', '', 1, 'asset.AssetUser/add', '', '', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), +(@user_menu_id, 'A', '编辑账号', '', 2, 'asset.AssetUser/edit', '', '', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), +(@user_menu_id, 'A', '删除账号', '', 3, 'asset.AssetUser/delete', '', '', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()); + + +-- 4. 添加二级菜单:资源素材下发 +INSERT INTO `zyt_system_menu` (`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`) +VALUES (@asset_pid, 'C', '资源素材下发', 'el-icon-Files', 2, 'asset.AssetResource/lists', '/asset/resource', '/asset/resource/index', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()); + +-- 获取【资源素材下发】菜单ID +SET @resource_menu_id = LAST_INSERT_ID(); + +-- 5. 添加资源相关按钮权限 +INSERT INTO `zyt_system_menu` (`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`) +VALUES +(@resource_menu_id, 'A', '上传分配资源', '', 1, 'asset.AssetResource/add', '', '', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()), +(@resource_menu_id, 'A', '删除资源', '', 2, 'asset.AssetResource/delete', '', '', '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()); + diff --git a/server/sql/asset_system.sql b/server/sql/asset_system.sql index edd6c0e8..8f76dc62 100644 --- a/server/sql/asset_system.sql +++ b/server/sql/asset_system.sql @@ -1,4 +1,4 @@ -CREATE TABLE `asset_user` ( +CREATE TABLE `zyt_asset_user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `phone` varchar(20) NOT NULL COMMENT '手机号(登录账号)', `password` varchar(255) NOT NULL COMMENT '密码', @@ -9,7 +9,7 @@ CREATE TABLE `asset_user` ( UNIQUE KEY `uk_phone` (`phone`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='私密资产-用户表'; -CREATE TABLE `asset_resource` ( +CREATE TABLE `zyt_asset_resource` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '资源类型:1=图片,2=视频,3=语音', `title` varchar(100) NOT NULL COMMENT '资源名称/标题', @@ -20,7 +20,7 @@ CREATE TABLE `asset_resource` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='私密资产-资源表'; -CREATE TABLE `asset_user_resource` ( +CREATE TABLE `zyt_asset_user_resource` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(11) unsigned NOT NULL COMMENT '用户ID', `resource_id` int(11) unsigned NOT NULL COMMENT '资源ID',