|
|
@@ -77,7 +77,7 @@
|
|
|
<view class="form-item">
|
|
|
<text class="label">手机号(选填)</text>
|
|
|
<input class="input" type="number" v-model="form.phone" placeholder="填写手机号可关联已有账号" maxlength="11" />
|
|
|
-<text class="hint">若手机号已注册,将自动关联该账号</text>
|
|
|
+<text class="hint">若手机号已注册,将提示是否邀请该用户加入家庭</text>
|
|
|
</view>
|
|
|
|
|
|
<!-- 保存按钮 -->
|
|
|
@@ -107,7 +107,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { addFamilyMember, updateFamilyMember, recordConsent } from '../../utils/api.js'
|
|
|
+import { addFamilyMember, updateFamilyMember, recordConsent, checkPhone } from '../../utils/api.js'
|
|
|
import GenerationPicker from '../../components/GenerationPicker.vue'
|
|
|
import { parseDate } from '../../utils/format.js'
|
|
|
|
|
|
@@ -220,8 +220,34 @@ uni.showToast({ title: '请选择出生日期', icon: 'none' })
|
|
|
return
|
|
|
}
|
|
|
if (this.form.phone && !/^1[3-9]\d{9}$/.test(this.form.phone)) {
|
|
|
-uni.showToast({ title: '请输入正确的手机号', icon: 'none' })
|
|
|
-return
|
|
|
+ uni.showToast({ title: '请输入正确的手机号', icon: 'none' })
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+// 手机号已注册:提示是否邀请该用户加入家庭(不自动关联)
|
|
|
+if (this.form.phone && !this.isEdit) {
|
|
|
+ try {
|
|
|
+ var phoneCheck = await checkPhone(this.form.phone)
|
|
|
+ if (phoneCheck && phoneCheck.code === 200 && phoneCheck.data === true) {
|
|
|
+ var phoneConfirmed = await new Promise(function(resolve) {
|
|
|
+ uni.showModal({
|
|
|
+ title: '手机号已注册',
|
|
|
+ content: '该手机号已被其他用户注册,是否邀请该用户加入家庭?',
|
|
|
+ confirmText: '去邀请',
|
|
|
+ cancelText: '继续添加',
|
|
|
+ success: function(res2) {
|
|
|
+ resolve(res2.confirm)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ if (phoneConfirmed) {
|
|
|
+ uni.navigateTo({ url: '/pages/guide/invite/share' })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ console.log('手机号存在性检查失败,忽略', e)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 检查是否为14岁以下儿童 -> 显示监护人同意弹窗
|