8.8 KiB
8.8 KiB
🏢 企业注册功能说明
✨ 功能概述
用户注册时需要选择所属企业,系统已预置5家企业供选择。用户注册后将自动关联到所选企业。
🏭 可选企业列表
1. 绿野农业科技有限公司
- 企业代码:LYNY001
- 企业类型:种植企业
- 地址:江苏省南京市江宁区农业科技园区
- 联系人:李经理
- 电话:025-12345678
- 状态:✅ 运营中
2. 丰收农场管理集团
- 企业代码:FSNC002
- 企业类型:综合农场
- 地址:山东省济南市章丘区现代农业示范区
- 联系人:王总
- 电话:0531-87654321
- 状态:✅ 运营中
3. 智慧农业示范基地
- 企业代码:ZHNY003
- 企业类型:示范基地
- 地址:浙江省杭州市萧山区智慧农业园
- 联系人:陈主任
- 电话:0571-23456789
- 状态:✅ 运营中
4. 现代农业合作社
- 企业代码:XDNY004
- 企业类型:合作社
- 地址:河南省郑州市中牟县农业园区
- 联系人:赵理事长
- 电话:0371-34567890
- 状态:✅ 运营中
5. 优质粮食生产基地
- 企业代码:YZLS005
- 企业类型:粮食基地
- 地址:黑龙江省哈尔滨市五常市
- 联系人:孙场长
- 电话:0451-45678901
- 状态:✅ 运营中
📝 注册流程
步骤1:填写基本信息
- 用户名(必填)
- 真实姓名(必填)
- 手机号(必填)
步骤2:选择所属企业 🆕
- 从下拉列表中选择您所在的企业
- 显示企业名称、代码和类型
- 必须选择企业才能继续注册
步骤3:获取验证码
- 点击"发送验证码"按钮
- 输入收到的短信验证码(测试环境固定为:123456)
步骤4:设置密码
- 输入密码(至少6位)
- 确认密码
步骤5:完成注册
- 输入图形验证码
- 点击"立即注册"
- 注册成功后自动登录
🎯 企业关联说明
用户注册后
- ✅ 自动绑定到所选企业
- ✅ 企业名称显示在用户信息中
- ✅ 用户菜单中显示所属企业
- ✅ 个人中心显示企业信息
企业数据隔离
- 同一企业的用户可以看到企业内的数据
- 不同企业的用户数据相互隔离
- 管理员可以管理本企业的所有用户
默认权限
新注册用户默认权限:
machinery:view- 查看农机信息field:view- 查看地块信息operation:view- 查看农事操作- 角色:普通用户(user)
- 部门:待分配
🔒 企业验证机制
注册验证
- ✅ 检查企业ID是否存在
- ✅ 检查企业状态是否为"active"
- ✅ 验证企业是否可用
- ✅ 绑定用户到企业
安全机制
- 只有状态为"active"的企业可以注册新用户
- 企业停用后无法注册新用户
- 已注册用户不受企业停用影响
📊 用户信息展示
登录后显示
导航栏用户菜单:
┌─────────────────────────────┐
│ 👤 张三 │
│ 普通用户 │
├─────────────────────────────┤
│ 用户名: zhangsan │
│ 手机号: 13900139000 │
│ 所属企业: 绿野农业科技有限公司 │ ← 新增
│ 部门: 待分配 │
│ 上次登录: 2024-10-15 14:30 │
├─────────────────────────────┤
│ 👤 个人中心 │
│ 🚪 退出登录 │
└─────────────────────────────┘
🎨 注册界面
企业选择下拉框
┌────────────────────────────────────┐
│ 🏢 请选择所属企业 ▼ │
├────────────────────────────────────┤
│ 绿野农业科技有限公司 │
│ LYNY001 · 种植企业 │
├────────────────────────────────────┤
│ 丰收农场管理集团 │
│ FSNC002 · 综合农场 │
├────────────────────────────────────┤
│ 智慧农业示范基地 │
│ ZHNY003 · 示范基地 │
├────────────────────────────────────┤
│ 现代农业合作社 │
│ XDNY004 · 合作社 │
├────────────────────────────────────┤
│ 优质粮食生产基地 │
│ YZLS005 · 粮食基地 │
└────────────────────────────────────┘
显示信息
- 企业名称(主要显示)
- 企业代码 · 企业类型(辅助信息)
- 只显示状态为"active"的企业
💡 使用示例
示例1:新用户注册
// 用户填写信息
{
username: 'wangwu',
realName: '王五',
phone: '13900139003',
enterpriseId: 'ent-2', // 选择"丰收农场管理集团"
password: 'wangwu123',
code: '123456',
captcha: 'ABCD'
}
// 系统处理
1. 验证企业存在且可用 ✓
2. 创建用户账号 ✓
3. 关联企业信息 ✓
- enterpriseId: 'ent-2'
- enterpriseName: '丰收农场管理集团'
4. 自动登录系统 ✓
示例2:查看用户信息
// 登录后的用户信息
{
id: 'user-12345',
username: 'wangwu',
realName: '王五',
phone: '13900139003',
role: 'user',
enterpriseId: 'ent-2',
enterpriseName: '丰收农场管理集团',
department: '待分配',
permissions: ['machinery:view', 'field:view', 'operation:view']
}
🔧 技术实现
数据结构
Enterprise类型:
interface Enterprise {
id: string; // 企业ID
name: string; // 企业名称
code: string; // 企业代码
type: string; // 企业类型
status: 'active' | 'inactive'; // 状态
address?: string; // 地址
contact?: string; // 联系人
phone?: string; // 电话
createdAt: string; // 创建时间
}
User类型(更新):
interface User {
// ... 原有字段
enterpriseId: string; // 企业ID(新增)
enterpriseName: string; // 企业名称(新增)
}
核心函数
获取企业列表:
getAllEnterprises(): Enterprise[]
// 返回所有状态为"active"的企业
根据ID获取企业:
getEnterpriseById(id: string): Enterprise | undefined
// 根据企业ID获取企业详情
注册验证:
registerUser(form: RegisterForm): Promise<Result>
// 验证企业ID
// 检查企业状态
// 创建用户并关联企业
⚠️ 注意事项
必须选择企业
- 注册时必须选择所属企业
- 不选择企业无法完成注册
- 系统会提示"请选择所属企业"
企业验证
- 只能选择状态为"active"的企业
- 企业停用后不会出现在列表中
- 已注册用户不受企业状态变化影响
测试账号
测试账号已关联到"绿野农业科技有限公司":
- admin(系统管理员)
- zhangsan(部门经理)
📈 未来扩展
可能的扩展功能
- 企业管理模块(新增、编辑、停用企业)
- 企业审核机制(新企业需要审核)
- 企业层级结构(总部、分公司)
- 跨企业协作(企业间数据共享)
- 企业统计报表(用户数、设备数)
- 企业自定义配置(Logo、主题色)
- 企业邀请码(通过邀请码加入企业)
- 企业切换功能(用户可属于多个企业)
🆘 常见问题
Q: 如果没有我的企业怎么办? A: 当前版本暂不支持自助创建企业,请联系系统管理员添加企业。
Q: 可以更换企业吗? A: 当前版本不支持用户自行更换企业,需要联系管理员处理。
Q: 企业信息可以修改吗? A: 企业信息由系统管理员管理,普通用户无权修改。
Q: 不同企业的数据会互相看到吗? A: 不会,系统实现了企业级数据隔离。
📞 技术支持
如有问题,请联系系统管理员或查看:
/AUTH_SYSTEM_GUIDE.md- 认证系统完整指南/AUTH_FEATURES.md- 功能特性清单
更新时间: 2024-10-15
版本: v1.1.0
新功能: ✅ 企业选择功能