feat: changeField 支持修改手机号并校验唯一性

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-11-09 18:17:16 +08:00
co-authored by Cursor
parent 683a9411fd
commit 613a5d9040
@@ -1,10 +1,12 @@
'use strict'; 'use strict';
module.exports = { module.exports = {
/** /**
* 认证审核 * 修改用户字段
* @url admin/system/user/sys/changeStatus 前端调用的url参数地址 * @url admin/system/user/sys/changeField 前端调用的url参数地址
* data 请求参数 * data 请求参数
* @param {String} params1 参数1 * @param {String} id 用户ID
* @param {String} field 字段名
* @param {Any} value 字段值
*/ */
main: async (event) => { main: async (event) => {
let {data = {}, userInfo, util, filterResponse, originalParam} = event; let {data = {}, userInfo, util, filterResponse, originalParam} = event;
@@ -13,8 +15,36 @@ module.exports = {
let res = {code: 0, msg: ""}; let res = {code: 0, msg: ""};
// 业务逻辑开始----------------------------------------------------------- // 业务逻辑开始-----------------------------------------------------------
const {id, field, value} = data const {id, field, value} = data
if (!id || !field) {
return {code: -1, msg: "参数错误"};
}
let dataJson = {} let dataJson = {}
dataJson[field] = value dataJson[field] = value
// 手机号单独校验:格式 + 唯一性,并标记为已验证
if (field === 'mobile') {
const mobile = (value || '').toString().trim()
if (!mobile) {
return {code: -1, msg: "手机号不能为空"};
}
if (!vk.pubfn.test(mobile, 'mobile')) {
return {code: -1, msg: "手机号格式不正确"};
}
const num = await vk.baseDao.count({
dbName: 'uni-id-users',
whereJson: {
mobile,
_id: _.neq(id)
}
});
if (num > 0) {
return {code: -1, msg: `手机号【${mobile}】已注册!`};
}
dataJson.mobile = mobile
dataJson.mobile_confirmed = 1
}
await vk.baseDao.updateAndReturn({ await vk.baseDao.updateAndReturn({
dbName: 'uni-id-users', dbName: 'uni-id-users',
whereJson: { whereJson: {