[AI Generated]: chore(*): 统一页面后缀为TS+LESS并清理searchDevice页
This commit is contained in:
+28
-7
@@ -1,3 +1,25 @@
|
||||
/** 表单数据模型 */
|
||||
interface PersonalForm {
|
||||
/** 姓名 */
|
||||
name: string
|
||||
/** 身份证号 */
|
||||
idCard: string
|
||||
/** 性别(由身份证解析,只读) */
|
||||
gender: string
|
||||
/** 年龄(由身份证解析,只读) */
|
||||
age: string
|
||||
/** 身高(cm) */
|
||||
height: string
|
||||
}
|
||||
|
||||
/** 身份证解析结果 */
|
||||
interface IdCardParsed {
|
||||
/** 性别,空字符串表示解析失败 */
|
||||
gender: string
|
||||
/** 年龄,空字符串表示解析失败 */
|
||||
age: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 完善个人信息页
|
||||
* 收集姓名、身份证号、身高,并根据身份证自动解析性别与年龄
|
||||
@@ -12,13 +34,13 @@ Page({
|
||||
gender: '', // 性别(由身份证解析,只读)
|
||||
age: '', // 年龄(由身份证解析,只读)
|
||||
height: '' // 身高(cm)
|
||||
}
|
||||
} as PersonalForm
|
||||
},
|
||||
|
||||
/**
|
||||
* 姓名输入
|
||||
*/
|
||||
onNameInput(e) {
|
||||
onNameInput(e: WechatMiniprogram.Input) {
|
||||
this.setData({
|
||||
'form.name': e.detail.value
|
||||
});
|
||||
@@ -28,7 +50,7 @@ Page({
|
||||
* 身份证号输入
|
||||
* 长度满 18 位时自动解析性别与年龄,否则清空
|
||||
*/
|
||||
onIdCardInput(e) {
|
||||
onIdCardInput(e: WechatMiniprogram.Input) {
|
||||
const idCard = (e.detail.value || '').trim().toUpperCase();
|
||||
const parsed = this.parseIdCard(idCard);
|
||||
|
||||
@@ -42,7 +64,7 @@ Page({
|
||||
/**
|
||||
* 身高输入
|
||||
*/
|
||||
onHeightInput(e) {
|
||||
onHeightInput(e: WechatMiniprogram.Input) {
|
||||
this.setData({
|
||||
'form.height': e.detail.value
|
||||
});
|
||||
@@ -50,10 +72,9 @@ Page({
|
||||
|
||||
/**
|
||||
* 解析身份证号,返回性别与年龄
|
||||
* @param {string} idCard 18 位身份证号
|
||||
* @returns {{ gender: string, age: string }}
|
||||
* @param idCard 18 位身份证号
|
||||
*/
|
||||
parseIdCard(idCard) {
|
||||
parseIdCard(idCard: string): IdCardParsed {
|
||||
// 简单校验:18 位且前 17 位为数字
|
||||
const reg = /^\d{17}[\dX]$/;
|
||||
if (!reg.test(idCard)) {
|
||||
Reference in New Issue
Block a user