diff --git a/src/mock/index.js b/src/mock/index.js
new file mode 100644
index 0000000..8fd2118
--- /dev/null
+++ b/src/mock/index.js
@@ -0,0 +1,147 @@
+import Mock from 'mockjs'
+
+// 模拟延迟
+Mock.setup({
+  timeout: '300-600'
+})
+
+// 模拟用户数据
+const users = [
+  {
+    id: 1,
+    username: 'admin',
+    password: 'admin123',
+    email: 'admin@example.com',
+    role: 'admin',
+    avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=admin'
+  },
+  {
+    id: 2,
+    username: 'user',
+    password: 'user123',
+    email: 'user@example.com',
+    role: 'user',
+    avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=user'
+  },
+  {
+    id: 3,
+    username: 'moderator',
+    password: 'mod123',
+    email: 'mod@example.com',
+    role: 'moderator',
+    avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=moderator'
+  },
+  {
+    id: 4,
+    username: 'blacklisted',
+    password: 'black123',
+    email: 'black@example.com',
+    role: 'blacklisted',
+    avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=blacklisted'
+  },
+  {
+    id: 5,
+    username: 'veteran',
+    password: 'vet123',
+    email: 'veteran@example.com',
+    role: 'veteran',
+    avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=veteran'
+  },
+  {
+    id: 6,
+    username: 'newbie',
+    password: 'new123',
+    email: 'newbie@example.com',
+    role: 'newbie',
+    avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=newbie'
+  }
+]
+
+// 模拟登录接口
+Mock.mock('/api/auth/login', 'post', (options) => {
+  const { username, password } = JSON.parse(options.body)
+  const user = users.find(u => u.username === username && u.password === password)
+  
+  if (user) {
+    const { password, ...userWithoutPassword } = user
+    return {
+      code: 200,
+      message: '登录成功',
+      data: {
+        token: `mock-token-${user.id}-${Date.now()}`,
+        user: userWithoutPassword
+      }
+    }
+  } else {
+    return {
+      code: 401,
+      message: '用户名或密码错误',
+      data: null
+    }
+  }
+})
+
+// 模拟注册接口
+Mock.mock('/api/auth/register', 'post', (options) => {
+  const { username, email, password } = JSON.parse(options.body)
+  
+  // 检查用户名是否已存在
+  if (users.some(u => u.username === username)) {
+    return {
+      code: 400,
+      message: '用户名已存在',
+      data: null
+    }
+  }
+  
+  // 检查邮箱是否已存在
+  if (users.some(u => u.email === email)) {
+    return {
+      code: 400,
+      message: '邮箱已被注册',
+      data: null
+    }
+  }
+  
+  // 创建新用户
+  const newUser = {
+    id: users.length + 1,
+    username,
+    password,
+    email,
+    role: 'newbie', // 默认为新人角色
+    avatar: `https://api.dicebear.com/7.x/avataaars/svg?seed=${username}`
+  }
+  
+  users.push(newUser)
+  
+  return {
+    code: 200,
+    message: '注册成功',
+    data: null
+  }
+})
+
+// 模拟获取用户信息接口
+Mock.mock('/api/user/info', 'get', (options) => {
+  // 在实际应用中，这里会从token中解析用户ID
+  // 这里简化处理，假设已登录用户是admin
+  const user = users.find(u => u.username === 'admin')
+  
+  if (user) {
+    const { password, ...userWithoutPassword } = user
+    return {
+      code: 200,
+      message: '获取用户信息成功',
+      data: userWithoutPassword
+    }
+  } else {
+    return {
+      code: 401,
+      message: '获取用户信息失败',
+      data: null
+    }
+  }
+})
+
+export default Mock
\ No newline at end of file
