@quantabit/account-link-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +867 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.iife.js +886 -0
- package/dist/index.iife.js.map +1 -0
- package/dist/index.js +885 -0
- package/dist/index.js.map +1 -0
- package/dist/index.umd.js +887 -0
- package/dist/index.umd.js.map +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/services/accountLinkApi.js","../src/hooks/useAccountLink.js","../src/components/AccountLinkPanel.jsx","../src/i18n/index.js","../src/index.js"],"sourcesContent":["/**\n * Account Link SDK - API 客户端\n * 子账号关联系统后端接口封装\n * \n * 使用 BaseApiClient 基类简化代码\n */\n\nimport { BaseApiClient } from '@quantabit/sdk-config';\n\n/**\n * 账号关联 API 客户端\n */\nexport class AccountLinkApiClient extends BaseApiClient {\n constructor(config = {}) {\n super('/account/link', config);\n }\n\n // ============ 关联查询 ============\n\n /**\n * 获取我的关联账号列表\n */\n async getLinkedAccounts() {\n return this.get('/list');\n }\n\n /**\n * 获取关联账号详情\n * @param {string} linkId - 关联 ID\n */\n async getLinkedAccount(linkId) {\n return this.get(`/${linkId}`);\n }\n\n /**\n * 获取关联类型列表\n */\n async getLinkTypes() {\n return this.get('/types');\n }\n\n // ============ 创建关联 ============\n\n /**\n * 创建子账号关联\n * @param {Object} linkData - 关联数据\n */\n async createLink(linkData) {\n return this.post('/create', linkData);\n }\n\n /**\n * 发送关联邀请\n * @param {string} targetUserId - 目标用户 ID\n * @param {string} linkType - 关联类型 (family/employee/agent)\n */\n async sendLinkInvite(targetUserId, linkType) {\n return this.post('/invite', {\n target_user_id: targetUserId,\n link_type: linkType,\n });\n }\n\n /**\n * 接受关联邀请\n * @param {string} inviteId - 邀请 ID\n */\n async acceptInvite(inviteId) {\n return this.post(`/invite/${inviteId}/accept`);\n }\n\n /**\n * 拒绝关联邀请\n * @param {string} inviteId - 邀请 ID\n */\n async rejectInvite(inviteId) {\n return this.post(`/invite/${inviteId}/reject`);\n }\n\n /**\n * 获取待处理的邀请\n */\n async getPendingInvites() {\n return this.get('/invites/pending');\n }\n\n // ============ 管理关联 ============\n\n /**\n * 更新关联信息\n * @param {string} linkId - 关联 ID\n * @param {Object} updates - 更新数据\n */\n async updateLink(linkId, updates) {\n return this.put(`/${linkId}`, updates);\n }\n\n /**\n * 解除关联\n * @param {string} linkId - 关联 ID\n */\n async removeLink(linkId) {\n return this.delete(`/${linkId}`);\n }\n\n /**\n * 设置关联权限\n * @param {string} linkId - 关联 ID\n * @param {Object} permissions - 权限配置\n */\n async setLinkPermissions(linkId, permissions) {\n return this.put(`/${linkId}/permissions`, permissions);\n }\n\n /**\n * 获取关联权限\n * @param {string} linkId - 关联 ID\n */\n async getLinkPermissions(linkId) {\n return this.get(`/${linkId}/permissions`);\n }\n\n // ============ 家庭组 ============\n\n /**\n * 创建家庭组\n * @param {Object} groupData - 家庭组数据\n */\n async createFamilyGroup(groupData) {\n return this.post('/family/create', groupData);\n }\n\n /**\n * 获取家庭组信息\n */\n async getFamilyGroup() {\n return this.get('/family');\n }\n\n /**\n * 添加家庭成员\n * @param {string} userId - 用户 ID\n * @param {string} role - 角色 (parent/child/other)\n */\n async addFamilyMember(userId, role) {\n return this.post('/family/members', { user_id: userId, role });\n }\n\n /**\n * 移除家庭成员\n * @param {string} memberId - 成员 ID\n */\n async removeFamilyMember(memberId) {\n return this.delete(`/family/members/${memberId}`);\n }\n\n // ============ 企业员工号 ============\n\n /**\n * 获取企业信息\n */\n async getEnterprise() {\n return this.get('/enterprise');\n }\n\n /**\n * 获取员工列表\n * @param {Object} params - 查询参数\n */\n async getEmployees(params = {}) {\n return this.get('/enterprise/employees', params);\n }\n\n /**\n * 绑定员工号\n * @param {string} employeeId - 员工 ID\n * @param {string} enterpriseCode - 企业代码\n */\n async bindEmployee(employeeId, enterpriseCode) {\n return this.post('/enterprise/bind', {\n employee_id: employeeId,\n enterprise_code: enterpriseCode,\n });\n }\n\n /**\n * 解绑员工号\n */\n async unbindEmployee() {\n return this.post('/enterprise/unbind');\n }\n\n // ============ 代理账号 ============\n\n /**\n * 获取代理的账号列表\n */\n async getAgentAccounts() {\n return this.get('/agent/accounts');\n }\n\n /**\n * 代理登录\n * @param {string} targetUserId - 目标用户 ID\n */\n async agentLogin(targetUserId) {\n return this.post('/agent/login', { target_user_id: targetUserId });\n }\n\n /**\n * 退出代理\n */\n async exitAgent() {\n return this.post('/agent/exit');\n }\n}\n\n// 创建默认实例\nexport const accountLinkApi = new AccountLinkApiClient();\n\n\n\nexport default accountLinkApi;\n","/**\n * Account Link SDK - React Hooks\n * 子账号关联功能的 React Hooks\n */\n\nimport { useState, useCallback, useEffect } from 'react';\nimport { accountLinkApi } from '../services/accountLinkApi';\n\n/**\n * 使用账号关联功能\n */\nexport function useAccountLink() {\n const [linkedAccounts, setLinkedAccounts] = useState([]);\n const [pendingInvites, setPendingInvites] = useState([]);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n\n // 获取关联账号列表\n const fetchLinkedAccounts = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n const result = await accountLinkApi.getLinkedAccounts();\n setLinkedAccounts(result.data || []);\n return result;\n } catch (err) {\n setError(err.message);\n throw err;\n } finally {\n setLoading(false);\n }\n }, []);\n\n // 获取待处理邀请\n const fetchPendingInvites = useCallback(async () => {\n try {\n const result = await accountLinkApi.getPendingInvites();\n setPendingInvites(result.data || []);\n return result;\n } catch (err) {\n setError(err.message);\n throw err;\n }\n }, []);\n\n // 发送关联邀请\n const sendInvite = useCallback(async (targetUserId, linkType) => {\n setLoading(true);\n try {\n const result = await accountLinkApi.sendLinkInvite(targetUserId, linkType);\n return result;\n } catch (err) {\n setError(err.message);\n throw err;\n } finally {\n setLoading(false);\n }\n }, []);\n\n // 接受邀请\n const acceptInvite = useCallback(async (inviteId) => {\n setLoading(true);\n try {\n const result = await accountLinkApi.acceptInvite(inviteId);\n await fetchLinkedAccounts();\n await fetchPendingInvites();\n return result;\n } catch (err) {\n setError(err.message);\n throw err;\n } finally {\n setLoading(false);\n }\n }, [fetchLinkedAccounts, fetchPendingInvites]);\n\n // 拒绝邀请\n const rejectInvite = useCallback(async (inviteId) => {\n setLoading(true);\n try {\n const result = await accountLinkApi.rejectInvite(inviteId);\n await fetchPendingInvites();\n return result;\n } catch (err) {\n setError(err.message);\n throw err;\n } finally {\n setLoading(false);\n }\n }, [fetchPendingInvites]);\n\n // 解除关联\n const removeLink = useCallback(async (linkId) => {\n setLoading(true);\n try {\n const result = await accountLinkApi.removeLink(linkId);\n await fetchLinkedAccounts();\n return result;\n } catch (err) {\n setError(err.message);\n throw err;\n } finally {\n setLoading(false);\n }\n }, [fetchLinkedAccounts]);\n\n useEffect(() => {\n fetchLinkedAccounts();\n fetchPendingInvites();\n }, [fetchLinkedAccounts, fetchPendingInvites]);\n\n return {\n linkedAccounts,\n pendingInvites,\n loading,\n error,\n fetchLinkedAccounts,\n fetchPendingInvites,\n sendInvite,\n acceptInvite,\n rejectInvite,\n removeLink,\n };\n}\n\n/**\n * 使用家庭组功能\n */\nexport function useFamilyGroup() {\n const [familyGroup, setFamilyGroup] = useState(null);\n const [members, setMembers] = useState([]);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n\n // 获取家庭组信息\n const fetchFamilyGroup = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n const result = await accountLinkApi.getFamilyGroup();\n setFamilyGroup(result.data);\n setMembers(result.data?.members || []);\n return result;\n } catch (err) {\n setError(err.message);\n throw err;\n } finally {\n setLoading(false);\n }\n }, []);\n\n // 创建家庭组\n const createFamily = useCallback(async (groupData) => {\n setLoading(true);\n try {\n const result = await accountLinkApi.createFamilyGroup(groupData);\n await fetchFamilyGroup();\n return result;\n } catch (err) {\n setError(err.message);\n throw err;\n } finally {\n setLoading(false);\n }\n }, [fetchFamilyGroup]);\n\n // 添加成员\n const addMember = useCallback(async (userId, role) => {\n setLoading(true);\n try {\n const result = await accountLinkApi.addFamilyMember(userId, role);\n await fetchFamilyGroup();\n return result;\n } catch (err) {\n setError(err.message);\n throw err;\n } finally {\n setLoading(false);\n }\n }, [fetchFamilyGroup]);\n\n // 移除成员\n const removeMember = useCallback(async (memberId) => {\n setLoading(true);\n try {\n const result = await accountLinkApi.removeFamilyMember(memberId);\n await fetchFamilyGroup();\n return result;\n } catch (err) {\n setError(err.message);\n throw err;\n } finally {\n setLoading(false);\n }\n }, [fetchFamilyGroup]);\n\n useEffect(() => {\n fetchFamilyGroup();\n }, [fetchFamilyGroup]);\n\n return {\n familyGroup,\n members,\n loading,\n error,\n fetchFamilyGroup,\n createFamily,\n addMember,\n removeMember,\n };\n}\n\nexport default { useAccountLink, useFamilyGroup };\n","/**\n * Account Link SDK - 账号关联管理组件\n */\n\nimport React, { useState } from 'react';\nimport { useAccountLink, useFamilyGroup } from '../hooks/useAccountLink';\n\n/**\n * 关联账号列表组件\n */\nexport function LinkedAccountsList({ onSelect }) {\n const { linkedAccounts, loading, error, removeLink } = useAccountLink();\n\n if (loading) {\n return <div className=\"eco-account-link-loading\">加载中...</div>;\n }\n\n if (error) {\n return <div className=\"eco-account-link-error\">{error}</div>;\n }\n\n if (linkedAccounts.length === 0) {\n return <div className=\"eco-account-link-empty\">暂无关联账号</div>;\n }\n\n return (\n <div className=\"eco-linked-accounts-list\">\n {linkedAccounts.map((account) => (\n <div key={account.id} className=\"eco-linked-account-item\">\n <div className=\"eco-linked-account-avatar\">\n {account.avatar ? (\n <img src={account.avatar} alt={account.display_name} />\n ) : (\n <span>{account.display_name?.[0] || '?'}</span>\n )}\n </div>\n <div className=\"eco-linked-account-info\">\n <div className=\"eco-linked-account-name\">{account.display_name}</div>\n <div className=\"eco-linked-account-type\">{account.link_type}</div>\n </div>\n <div className=\"eco-linked-account-actions\">\n {onSelect && (\n <button \n className=\"eco-btn eco-btn-sm\"\n onClick={() => onSelect(account)}\n >\n 选择\n </button>\n )}\n <button \n className=\"eco-btn eco-btn-sm eco-btn-danger\"\n onClick={() => removeLink(account.id)}\n >\n 解除\n </button>\n </div>\n </div>\n ))}\n </div>\n );\n}\n\n/**\n * 待处理邀请组件\n */\nexport function PendingInvitesList() {\n const { pendingInvites, loading, acceptInvite, rejectInvite } = useAccountLink();\n\n if (loading) {\n return <div className=\"eco-account-link-loading\">加载中...</div>;\n }\n\n if (pendingInvites.length === 0) {\n return <div className=\"eco-account-link-empty\">暂无待处理邀请</div>;\n }\n\n return (\n <div className=\"eco-pending-invites-list\">\n {pendingInvites.map((invite) => (\n <div key={invite.id} className=\"eco-pending-invite-item\">\n <div className=\"eco-invite-info\">\n <div className=\"eco-invite-from\">来自: {invite.from_user?.display_name}</div>\n <div className=\"eco-invite-type\">类型: {invite.link_type}</div>\n <div className=\"eco-invite-time\">\n {new Date(invite.created_at).toLocaleString()}\n </div>\n </div>\n <div className=\"eco-invite-actions\">\n <button \n className=\"eco-btn eco-btn-primary eco-btn-sm\"\n onClick={() => acceptInvite(invite.id)}\n >\n 接受\n </button>\n <button \n className=\"eco-btn eco-btn-sm\"\n onClick={() => rejectInvite(invite.id)}\n >\n 拒绝\n </button>\n </div>\n </div>\n ))}\n </div>\n );\n}\n\n/**\n * 发送邀请表单\n */\nexport function SendInviteForm({ onSuccess }) {\n const [userId, setUserId] = useState('');\n const [linkType, setLinkType] = useState('family');\n const { sendInvite, loading, error } = useAccountLink();\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n try {\n await sendInvite(userId, linkType);\n setUserId('');\n onSuccess?.();\n } catch (err) {\n // 错误已在 hook 中处理\n }\n };\n\n return (\n <form className=\"eco-send-invite-form\" onSubmit={handleSubmit}>\n <div className=\"eco-form-group\">\n <label>用户 ID</label>\n <input\n type=\"text\"\n value={userId}\n onChange={(e) => setUserId(e.target.value)}\n placeholder=\"输入要邀请的用户 ID\"\n required\n />\n </div>\n <div className=\"eco-form-group\">\n <label>关联类型</label>\n <select value={linkType} onChange={(e) => setLinkType(e.target.value)}>\n <option value=\"family\">家庭成员</option>\n <option value=\"employee\">企业员工</option>\n <option value=\"agent\">代理账号</option>\n </select>\n </div>\n {error && <div className=\"eco-form-error\">{error}</div>}\n <button type=\"submit\" className=\"eco-btn eco-btn-primary\" disabled={loading}>\n {loading ? '发送中...' : '发送邀请'}\n </button>\n </form>\n );\n}\n\n/**\n * 家庭组管理组件\n */\nexport function FamilyGroupManager() {\n const { familyGroup, members, loading, createFamily, addMember, removeMember } = useFamilyGroup();\n const [showAddForm, setShowAddForm] = useState(false);\n const [newMemberId, setNewMemberId] = useState('');\n const [newMemberRole, setNewMemberRole] = useState('other');\n\n const handleAddMember = async (e) => {\n e.preventDefault();\n try {\n await addMember(newMemberId, newMemberRole);\n setNewMemberId('');\n setShowAddForm(false);\n } catch (err) {\n // 错误已在 hook 中处理\n }\n };\n\n if (loading) {\n return <div className=\"eco-family-loading\">加载中...</div>;\n }\n\n if (!familyGroup) {\n return (\n <div className=\"eco-family-empty\">\n <p>您还没有家庭组</p>\n <button \n className=\"eco-btn eco-btn-primary\"\n onClick={() => createFamily({ name: '我的家庭' })}\n >\n 创建家庭组\n </button>\n </div>\n );\n }\n\n return (\n <div className=\"eco-family-manager\">\n <div className=\"eco-family-header\">\n <h3>{familyGroup.name}</h3>\n <span className=\"eco-family-count\">{members.length} 位成员</span>\n </div>\n \n <div className=\"eco-family-members\">\n {members.map((member) => (\n <div key={member.id} className=\"eco-family-member\">\n <div className=\"eco-member-avatar\">\n {member.avatar ? (\n <img src={member.avatar} alt={member.display_name} />\n ) : (\n <span>{member.display_name?.[0] || '?'}</span>\n )}\n </div>\n <div className=\"eco-member-info\">\n <div className=\"eco-member-name\">{member.display_name}</div>\n <div className=\"eco-member-role\">{member.role}</div>\n </div>\n <button \n className=\"eco-btn eco-btn-sm eco-btn-danger\"\n onClick={() => removeMember(member.id)}\n >\n 移除\n </button>\n </div>\n ))}\n </div>\n\n {showAddForm ? (\n <form className=\"eco-add-member-form\" onSubmit={handleAddMember}>\n <input\n type=\"text\"\n value={newMemberId}\n onChange={(e) => setNewMemberId(e.target.value)}\n placeholder=\"成员 ID\"\n required\n />\n <select value={newMemberRole} onChange={(e) => setNewMemberRole(e.target.value)}>\n <option value=\"parent\">家长</option>\n <option value=\"child\">子女</option>\n <option value=\"other\">其他</option>\n </select>\n <button type=\"submit\" className=\"eco-btn eco-btn-primary eco-btn-sm\">\n 添加\n </button>\n <button \n type=\"button\" \n className=\"eco-btn eco-btn-sm\"\n onClick={() => setShowAddForm(false)}\n >\n 取消\n </button>\n </form>\n ) : (\n <button \n className=\"eco-btn eco-btn-outline\"\n onClick={() => setShowAddForm(true)}\n >\n + 添加成员\n </button>\n )}\n </div>\n );\n}\n\n/**\n * 账号关联管理面板\n */\nexport function AccountLinkPanel() {\n const [activeTab, setActiveTab] = useState('linked');\n\n return (\n <div className=\"eco-account-link-panel\">\n <div className=\"eco-panel-tabs\">\n <button \n className={`eco-tab ${activeTab === 'linked' ? 'active' : ''}`}\n onClick={() => setActiveTab('linked')}\n >\n 已关联\n </button>\n <button \n className={`eco-tab ${activeTab === 'pending' ? 'active' : ''}`}\n onClick={() => setActiveTab('pending')}\n >\n 待处理\n </button>\n <button \n className={`eco-tab ${activeTab === 'family' ? 'active' : ''}`}\n onClick={() => setActiveTab('family')}\n >\n 家庭组\n </button>\n <button \n className={`eco-tab ${activeTab === 'invite' ? 'active' : ''}`}\n onClick={() => setActiveTab('invite')}\n >\n 邀请\n </button>\n </div>\n\n <div className=\"eco-panel-content\">\n {activeTab === 'linked' && <LinkedAccountsList />}\n {activeTab === 'pending' && <PendingInvitesList />}\n {activeTab === 'family' && <FamilyGroupManager />}\n {activeTab === 'invite' && <SendInviteForm />}\n </div>\n </div>\n );\n}\n\nexport default AccountLinkPanel;\n","/**\n * Account Link SDK - 国际化\n */\n\nexport const zh = {\n accountLink: {\n title: '关联账号',\n subtitle: '管理您的子账号和家庭组',\n linkedAccounts: '已关联账号',\n noLinkedAccounts: '暂无关联账号',\n pendingInvites: '待处理邀请',\n noPendingInvites: '暂无待处理邀请',\n \n // 关联类型\n linkType: {\n family: '家庭成员',\n employee: '企业员工',\n agent: '代理账号',\n child: '子账号',\n },\n \n // 操作\n actions: {\n sendInvite: '发送邀请',\n accept: '接受',\n reject: '拒绝',\n remove: '解除关联',\n setPermissions: '设置权限',\n },\n \n // 家庭组\n family: {\n title: '家庭组',\n create: '创建家庭组',\n members: '家庭成员',\n addMember: '添加成员',\n removeMember: '移除成员',\n roles: {\n parent: '家长',\n child: '子女',\n other: '其他',\n },\n },\n \n // 企业\n enterprise: {\n title: '企业账号',\n bind: '绑定员工号',\n unbind: '解绑',\n employeeId: '员工 ID',\n enterpriseCode: '企业代码',\n },\n \n // 消息\n messages: {\n inviteSent: '邀请已发送',\n inviteAccepted: '已接受邀请',\n inviteRejected: '已拒绝邀请',\n linkRemoved: '已解除关联',\n familyCreated: '家庭组创建成功',\n memberAdded: '成员添加成功',\n memberRemoved: '成员移除成功',\n },\n \n // 错误\n errors: {\n fetchFailed: '获取关联账号失败',\n inviteFailed: '发送邀请失败',\n acceptFailed: '接受邀请失败',\n removeFailed: '解除关联失败',\n },\n },\n};\n\nexport const en = {\n accountLink: {\n title: 'Linked Accounts',\n subtitle: 'Manage your sub-accounts and family group',\n linkedAccounts: 'Linked Accounts',\n noLinkedAccounts: 'No linked accounts',\n pendingInvites: 'Pending Invites',\n noPendingInvites: 'No pending invites',\n \n linkType: {\n family: 'Family Member',\n employee: 'Employee',\n agent: 'Agent Account',\n child: 'Sub Account',\n },\n \n actions: {\n sendInvite: 'Send Invite',\n accept: 'Accept',\n reject: 'Reject',\n remove: 'Remove Link',\n setPermissions: 'Set Permissions',\n },\n \n family: {\n title: 'Family Group',\n create: 'Create Family Group',\n members: 'Family Members',\n addMember: 'Add Member',\n removeMember: 'Remove Member',\n roles: {\n parent: 'Parent',\n child: 'Child',\n other: 'Other',\n },\n },\n \n enterprise: {\n title: 'Enterprise Account',\n bind: 'Bind Employee ID',\n unbind: 'Unbind',\n employeeId: 'Employee ID',\n enterpriseCode: 'Enterprise Code',\n },\n \n messages: {\n inviteSent: 'Invite sent',\n inviteAccepted: 'Invite accepted',\n inviteRejected: 'Invite rejected',\n linkRemoved: 'Link removed',\n familyCreated: 'Family group created',\n memberAdded: 'Member added',\n memberRemoved: 'Member removed',\n },\n \n errors: {\n fetchFailed: 'Failed to fetch linked accounts',\n inviteFailed: 'Failed to send invite',\n acceptFailed: 'Failed to accept invite',\n removeFailed: 'Failed to remove link',\n },\n },\n};\n\nexport default { zh, en };\n","/**\n * @quantabit/account-link-sdk - 子账号关联 SDK\n * \n * 支持家庭组、企业员工、代理账号等多种关联模式\n */\n\n// 类型定义\nexport const LinkType = { \n FAMILY: 'family', \n ENTERPRISE: 'enterprise', \n GUARDIAN: 'guardian',\n AGENT: 'agent',\n CHILD: 'child',\n};\n\nexport const LinkRole = { \n OWNER: 'owner', \n ADMIN: 'admin', \n MEMBER: 'member', \n CHILD: 'child',\n PARENT: 'parent',\n};\n\nexport const LinkStatus = { \n PENDING: 'pending', \n ACTIVE: 'active', \n REJECTED: 'rejected', \n REMOVED: 'removed',\n};\n\n// API 客户端 - 使用 BaseApiClient\nexport { AccountLinkApiClient, accountLinkApi } from './services/accountLinkApi';\n\n// React Hooks\nexport { useAccountLink, useFamilyGroup } from './hooks/useAccountLink';\n\n// 组件\nexport { \n LinkedAccountsList,\n PendingInvitesList,\n SendInviteForm,\n FamilyGroupManager,\n AccountLinkPanel,\n} from './components/AccountLinkPanel';\n\n// 国际化\nexport { zh, en } from './i18n';\n\n// 默认导出\nimport { accountLinkApi } from './services/accountLinkApi';\nexport default accountLinkApi;\n"],"names":["AccountLinkApiClient","BaseApiClient","constructor","config","getLinkedAccounts","get","getLinkedAccount","linkId","getLinkTypes","createLink","linkData","post","sendLinkInvite","targetUserId","linkType","target_user_id","link_type","acceptInvite","inviteId","rejectInvite","getPendingInvites","updateLink","updates","put","removeLink","delete","setLinkPermissions","permissions","getLinkPermissions","createFamilyGroup","groupData","getFamilyGroup","addFamilyMember","userId","role","user_id","removeFamilyMember","memberId","getEnterprise","getEmployees","params","bindEmployee","employeeId","enterpriseCode","employee_id","enterprise_code","unbindEmployee","getAgentAccounts","agentLogin","exitAgent","accountLinkApi","useAccountLink","linkedAccounts","setLinkedAccounts","useState","pendingInvites","setPendingInvites","loading","setLoading","error","setError","fetchLinkedAccounts","useCallback","result","data","err","message","fetchPendingInvites","sendInvite","useEffect","useFamilyGroup","familyGroup","setFamilyGroup","members","setMembers","fetchFamilyGroup","createFamily","addMember","removeMember","LinkedAccountsList","onSelect","React","createElement","className","length","map","account","key","id","avatar","src","alt","display_name","onClick","PendingInvitesList","invite","from_user","Date","created_at","toLocaleString","SendInviteForm","onSuccess","setUserId","setLinkType","handleSubmit","e","preventDefault","onSubmit","type","value","onChange","target","placeholder","required","disabled","FamilyGroupManager","showAddForm","setShowAddForm","newMemberId","setNewMemberId","newMemberRole","setNewMemberRole","handleAddMember","name","member","AccountLinkPanel","activeTab","setActiveTab","zh","accountLink","title","subtitle","noLinkedAccounts","noPendingInvites","family","employee","agent","child","actions","accept","reject","remove","setPermissions","create","roles","parent","other","enterprise","bind","unbind","messages","inviteSent","inviteAccepted","inviteRejected","linkRemoved","familyCreated","memberAdded","memberRemoved","errors","fetchFailed","inviteFailed","acceptFailed","removeFailed","en","LinkType","FAMILY","ENTERPRISE","GUARDIAN","AGENT","CHILD","LinkRole","OWNER","ADMIN","MEMBER","PARENT","LinkStatus","PENDING","ACTIVE","REJECTED","REMOVED"],"mappings":"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"}
|