# 🏢 企业注册功能说明 ## ✨ 功能概述 用户注册时需要选择所属企业,系统已预置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) - 部门:待分配 --- ## 🔒 企业验证机制 ### **注册验证** 1. ✅ 检查企业ID是否存在 2. ✅ 检查企业状态是否为"active" 3. ✅ 验证企业是否可用 4. ✅ 绑定用户到企业 ### **安全机制** - 只有状态为"active"的企业可以注册新用户 - 企业停用后无法注册新用户 - 已注册用户不受企业停用影响 --- ## 📊 用户信息展示 ### **登录后显示** **导航栏用户菜单**: ``` ┌─────────────────────────────┐ │ 👤 张三 │ │ 普通用户 │ ├─────────────────────────────┤ │ 用户名: zhangsan │ │ 手机号: 13900139000 │ │ 所属企业: 绿野农业科技有限公司 │ ← 新增 │ 部门: 待分配 │ │ 上次登录: 2024-10-15 14:30 │ ├─────────────────────────────┤ │ 👤 个人中心 │ │ 🚪 退出登录 │ └─────────────────────────────┘ ``` --- ## 🎨 注册界面 ### **企业选择下拉框** ``` ┌────────────────────────────────────┐ │ 🏢 请选择所属企业 ▼ │ ├────────────────────────────────────┤ │ 绿野农业科技有限公司 │ │ LYNY001 · 种植企业 │ ├────────────────────────────────────┤ │ 丰收农场管理集团 │ │ FSNC002 · 综合农场 │ ├────────────────────────────────────┤ │ 智慧农业示范基地 │ │ ZHNY003 · 示范基地 │ ├────────────────────────────────────┤ │ 现代农业合作社 │ │ XDNY004 · 合作社 │ ├────────────────────────────────────┤ │ 优质粮食生产基地 │ │ YZLS005 · 粮食基地 │ └────────────────────────────────────┘ ``` ### **显示信息** - 企业名称(主要显示) - 企业代码 · 企业类型(辅助信息) - 只显示状态为"active"的企业 --- ## 💡 使用示例 ### **示例1:新用户注册** ```typescript // 用户填写信息 { username: 'wangwu', realName: '王五', phone: '13900139003', enterpriseId: 'ent-2', // 选择"丰收农场管理集团" password: 'wangwu123', code: '123456', captcha: 'ABCD' } // 系统处理 1. 验证企业存在且可用 ✓ 2. 创建用户账号 ✓ 3. 关联企业信息 ✓ - enterpriseId: 'ent-2' - enterpriseName: '丰收农场管理集团' 4. 自动登录系统 ✓ ``` ### **示例2:查看用户信息** ```typescript // 登录后的用户信息 { id: 'user-12345', username: 'wangwu', realName: '王五', phone: '13900139003', role: 'user', enterpriseId: 'ent-2', enterpriseName: '丰收农场管理集团', department: '待分配', permissions: ['machinery:view', 'field:view', 'operation:view'] } ``` --- ## 🔧 技术实现 ### **数据结构** **Enterprise类型**: ```typescript interface Enterprise { id: string; // 企业ID name: string; // 企业名称 code: string; // 企业代码 type: string; // 企业类型 status: 'active' | 'inactive'; // 状态 address?: string; // 地址 contact?: string; // 联系人 phone?: string; // 电话 createdAt: string; // 创建时间 } ``` **User类型(更新)**: ```typescript interface User { // ... 原有字段 enterpriseId: string; // 企业ID(新增) enterpriseName: string; // 企业名称(新增) } ``` ### **核心函数** **获取企业列表**: ```typescript getAllEnterprises(): Enterprise[] // 返回所有状态为"active"的企业 ``` **根据ID获取企业**: ```typescript getEnterpriseById(id: string): Enterprise | undefined // 根据企业ID获取企业详情 ``` **注册验证**: ```typescript registerUser(form: RegisterForm): Promise // 验证企业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 **新功能**: ✅ 企业选择功能