fix: 优化小程序家庭邀请和设备详情
This commit is contained in:
@@ -14,10 +14,13 @@ import {
|
||||
} from '@/services/binding'
|
||||
import {
|
||||
Child,
|
||||
CHILD_NAME_RULE_MESSAGE,
|
||||
createChild,
|
||||
getChildren,
|
||||
sanitizeChildNameInput,
|
||||
resolveChildSelection,
|
||||
setSelectedChildId as setStoredSelectedChildId,
|
||||
validateChildNameInput,
|
||||
} from '@/services/child'
|
||||
import { useSystemBanner } from '@/components/system-banner/use-system-banner'
|
||||
|
||||
@@ -444,6 +447,10 @@ export default function Bind() {
|
||||
|
||||
const childName = newChildName.trim()
|
||||
if (!childName) return null
|
||||
const childNameError = validateChildNameInput(childName)
|
||||
if (childNameError) {
|
||||
throw new Error(childNameError)
|
||||
}
|
||||
|
||||
const child = await createChild({ child_name: childName })
|
||||
setChildren((currentChildren) => [child, ...currentChildren])
|
||||
@@ -500,7 +507,7 @@ export default function Bind() {
|
||||
|
||||
if (isPendingBinding) {
|
||||
if (!childId) {
|
||||
throw new Error('请先选择宝贝或填写新的宝贝昵称')
|
||||
throw new Error('请先选择宝贝或填写新的宝贝姓名')
|
||||
}
|
||||
await setBindingChild(pendingDeviceId!, { child_id: childId })
|
||||
setSelectedBindingDeviceId(pendingDeviceId)
|
||||
@@ -658,18 +665,20 @@ export default function Bind() {
|
||||
)}
|
||||
|
||||
<View className='field-item'>
|
||||
<Text className='field-label'>{isPendingBinding ? '新建宝贝昵称' : '新建宝贝昵称(可选)'}</Text>
|
||||
<Text className='field-label'>{isPendingBinding ? '新建宝贝姓名' : '新建宝贝姓名(可选)'}</Text>
|
||||
<Input
|
||||
className='field-input'
|
||||
value={newChildName}
|
||||
placeholder={
|
||||
isPendingBinding
|
||||
? children.length > 0 ? '不选已有宝贝时,可填写新昵称' : '请输入宝贝昵称'
|
||||
: children.length > 0 ? '不选已有宝贝时,可填写新昵称' : '可不填,稍后再关联宝贝'
|
||||
? children.length > 0 ? '不选已有宝贝时,可填写2-5位简体中文姓名(暂不支持数字和英文)' : CHILD_NAME_RULE_MESSAGE
|
||||
: children.length > 0 ? '不选已有宝贝时,可填写2-5位简体中文姓名(暂不支持数字和英文)' : '可不填,稍后再关联宝贝'
|
||||
}
|
||||
maxlength={5}
|
||||
onInput={(event) => {
|
||||
setNewChildName(event.detail.value)
|
||||
if (event.detail.value) {
|
||||
const nextChildName = sanitizeChildNameInput(event.detail.value)
|
||||
setNewChildName(nextChildName)
|
||||
if (nextChildName) {
|
||||
setSelectedChildId(null)
|
||||
setStoredSelectedChildId(null)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user