Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
vk-uni
vk-unicloud-admin
提交
ce25badf
vk-unicloud-admin
项目概览
vk-uni
/
vk-unicloud-admin
9 个月 前同步成功
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
vk-unicloud-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
ce25badf
编写于
4月 21, 2023
作者:
VK1688
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
补全userDao方法
上级
eb00412e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
352 addition
and
46 deletion
+352
-46
uniCloud-aliyun/cloudfunctions/router/dao/modules/userDao.js
uniCloud-aliyun/cloudfunctions/router/dao/modules/userDao.js
+352
-46
未找到文件。
uniCloud-aliyun/cloudfunctions/router/dao/modules/userDao.js
浏览文件 @
ce25badf
/
**
* 用户相关表操作
*/
const
dbName_user
=
"
uni-id-users
"
;
// 用户
/
/ 涉及的表名
const
dbName
=
{
user
:
"
uni-id-users
"
,
// 用户
};
var
dao
=
{};
var
util
=
{};
// 初始化
dao
.
init
=
function
(
obj
){
dao
.
init
=
function
(
obj
)
{
util
=
obj
;
}
/**
...
...
@@ -14,21 +14,42 @@ dao.init = function(obj){
* 调用示例
* await vk.daoCenter.userDao.findById(user_id);
* data 请求参数说明
* @param
s
{String} user_id 用户ID
* @param {String} user_id 用户ID
*/
dao
.
findById
=
async
(
user_id
)
=>
{
let
{
vk
,
db
,
_
}
=
util
;
let
{
vk
,
db
,
_
}
=
util
;
let
res
=
{};
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
findById
({
dbName
:
dbName_
user
,
id
:
user_id
,
fieldJson
:
{
token
:
false
,
password
:
false
},
dbName
:
dbName
.
user
,
id
:
user_id
,
fieldJson
:
{
token
:
false
,
password
:
false
},
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
/**
* 查 - 根据whereJson获取单条记录
* @param {Object} whereJson 条件
* @param {Object} fieldJson 字段显示规则
* 调用示例
let userInfo = await vk.daoCenter.userDao.findByWhereJson({
});
*/
dao
.
findByWhereJson
=
async
(
whereJson
,
fieldJson
=
{
token
:
false
,
password
:
false
})
=>
{
let
{
vk
,
db
,
_
}
=
util
;
let
res
=
{};
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
findByWhereJson
({
dbName
:
dbName
.
user
,
whereJson
,
fieldJson
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
/**
* 根据邀请码获取用户信息
...
...
@@ -40,7 +61,7 @@ dao.findByInviteCode = async (invite_code) => {
let
res
=
{};
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
findByWhereJson
({
dbName
:
dbName
_
user
,
dbName
:
dbName
.
user
,
whereJson
:
{
my_invite_code
:
invite_code
},
...
...
@@ -50,8 +71,110 @@ dao.findByInviteCode = async (invite_code) => {
return
res
;
};
/**
* 改
* 增 - 添加一条记录
* @param {Object} dataJson 添加的数据
* 调用示例
await vk.daoCenter.userDao.add({
});
或
* 调用示例
await vk.daoCenter.userDao.add({
db: transaction,
dataJson: {
}
});
*/
dao
.
add
=
async
(
obj
)
=>
{
let
{
vk
,
_
}
=
util
;
let
res
=
{};
// 数据库操作开始-----------------------------------------------------------
if
(
obj
.
db
&&
obj
.
dataJson
)
{
// 支持事务
res
=
await
vk
.
baseDao
.
add
({
...
obj
,
cancelAddTime
:
true
,
// 因为user表使用了register_date作为创建时间
dbName
:
dbName
.
user
,
});
}
else
{
// 不支持事务
res
=
await
vk
.
baseDao
.
add
({
dbName
:
dbName
.
user
,
cancelAddTime
:
true
,
// 因为user表使用了register_date作为创建时间
dataJson
:
obj
});
}
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
/**
* 增 - 添加多条记录
* @param {Object} dataJson 添加的数据
* 调用示例
await vk.daoCenter.userDao.adds(dataArr);
*/
dao
.
adds
=
async
(
dataArr
)
=>
{
let
{
vk
,
db
,
_
}
=
util
;
let
res
=
{};
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
adds
({
dbName
:
dbName
.
user
,
cancelAddTime
:
true
,
// 因为user表使用了register_date作为创建时间
dataJson
:
dataArr
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
/**
* 删 - 删除多条记录
* @param {Object} whereJson 条件
* 调用示例
await vk.daoCenter.userDao.del({
});
*/
dao
.
del
=
async
(
whereJson
)
=>
{
let
{
vk
,
db
,
_
}
=
util
;
let
res
=
{};
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
del
({
dbName
:
dbName
.
user
,
whereJson
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
/**
* 删 - 据ID删除单条数据
* @param {String} _id
* 调用示例
await vk.daoCenter.userDao.deleteById(_id);
或
await vk.daoCenter.userDao.deleteById(_id, transaction);
*/
dao
.
deleteById
=
async
(
_id
,
db
)
=>
{
let
{
vk
,
_
}
=
util
;
let
res
=
{};
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
deleteById
({
db
,
dbName
:
dbName
.
user
,
id
:
_id
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
/**
* 改 - 批量修改
* @param {Object} whereJson 条件
* @param {Object} dataJson 修改的数据
* 调用示例
...
...
@@ -70,7 +193,7 @@ dao.update = async (obj = {}) => {
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
update
({
...
obj
,
dbName
:
dbName
_
user
dbName
:
dbName
.
user
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
...
...
@@ -78,7 +201,7 @@ dao.update = async (obj = {}) => {
/**
* 改
* 改
- 根据id修改
* @param {Object} whereJson 条件
* @param {Object} dataJson 修改的数据
* 调用示例
...
...
@@ -95,7 +218,7 @@ dao.updateById = async (obj = {}) => {
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
updateById
({
...
obj
,
dbName
:
dbName
_
user
dbName
:
dbName
.
user
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
...
...
@@ -122,7 +245,7 @@ dao.updateAndReturn = async (obj = {}) => {
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
updateAndReturn
({
...
obj
,
dbName
:
dbName
_
user
dbName
:
dbName
.
user
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
...
...
@@ -139,7 +262,7 @@ dao.count = async (whereJson) => {
let
res
=
{};
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
count
({
dbName
:
dbName
_
user
,
dbName
:
dbName
.
user
,
whereJson
});
// 数据库操作结束-----------------------------------------------------------
...
...
@@ -147,10 +270,170 @@ dao.count = async (whereJson) => {
};
/**
* 查 - 求和
* @param {String} fieldName 需要求和的字段名
* @param {Object} whereJson 筛选条件
* 调用示例
let userSum = await vk.daoCenter.userDao.sum({
fieldName: "",
whereJson: {
}
});
*/
dao
.
sum
=
async
(
obj
)
=>
{
let
{
vk
,
db
,
_
}
=
util
;
let
res
=
{};
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
sum
({
...
obj
,
dbName
:
dbName
.
user
,
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
/**
* 查 - 求最大值
* @param {String} fieldName 需要求最大值的字段名
* @param {Object} whereJson 筛选条件
* 调用示例
let userMax = await vk.daoCenter.userDao.max({
fieldName: "",
whereJson: {
}
});
*/
dao
.
max
=
async
(
obj
)
=>
{
let
{
vk
,
db
,
_
}
=
util
;
let
res
=
{};
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
max
({
...
obj
,
dbName
:
dbName
.
user
,
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
/**
* 查 - 求最小值
* @param {String} fieldName 需要求最小值的字段名
* @param {Object} whereJson 筛选条件
* 调用示例
let userMin = await vk.daoCenter.userDao.min({
fieldName: "",
whereJson: {
}
});
*/
dao
.
min
=
async
(
obj
)
=>
{
let
{
vk
,
db
,
_
}
=
util
;
let
res
=
{};
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
min
({
...
obj
,
dbName
:
dbName
.
user
,
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
/**
* 查 - 求最平均值
* @param {String} fieldName 需要求最平均值的字段名
* @param {Object} whereJson 筛选条件
* 调用示例
let userAvg = await vk.daoCenter.userDao.avg({
fieldName: "",
whereJson: {
}
});
*/
dao
.
avg
=
async
(
obj
)
=>
{
let
{
vk
,
db
,
_
}
=
util
;
let
res
=
{};
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
avg
({
...
obj
,
dbName
:
dbName
.
user
,
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
/**
* 查 - 获取数据列表
* 调用示例
res = await vk.daoCenter.userDao.getTableData({ data });
let userList = await vk.daoCenter.userDao.select({
pageIndex:1,
pageSize:20,
getMain:false,
whereJson:{
},
fieldJson:{},
sortArr:[{ "name":"_id", "type":"desc" }],
});
*/
dao
.
select
=
async
(
obj
=
{})
=>
{
let
{
vk
,
db
,
_
}
=
util
;
let
res
=
{};
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
select
({
...
obj
,
dbName
:
dbName
.
user
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
/**
* 查 - 获取数据列表
* 调用示例
let userList = await vk.daoCenter.userDao.selects({
pageIndex:1,
pageSize:20,
getMain:false,
whereJson:{
},
fieldJson:{},
sortArr:[{ "name":"_id", "type":"desc" }],
// 副表列表
foreignDB:[
{
dbName:"副表表名",
localKey:"主表外键名",
foreignKey:"副表外键名",
as:"副表as字段",
limit:1
}
]
});
*/
dao
.
selects
=
async
(
obj
=
{})
=>
{
let
{
vk
,
db
,
_
}
=
util
;
let
res
=
{};
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
selects
({
...
obj
,
dbName
:
dbName
.
user
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
/**
* 查 - 获取数据列表
* 调用示例
res = await vk.daoCenter.userDao.getTableData({
data
});
*/
dao
.
getTableData
=
async
(
obj
=
{})
=>
{
let
{
vk
,
db
,
_
}
=
util
;
...
...
@@ -158,7 +441,7 @@ dao.getTableData = async (obj = {}) => {
// 数据库操作开始-----------------------------------------------------------
res
=
await
vk
.
baseDao
.
getTableData
({
...
obj
,
dbName
:
dbName
_
user
dbName
:
dbName
.
user
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
...
...
@@ -166,7 +449,7 @@ dao.getTableData = async (obj = {}) => {
/**
* 获取用户信息
,根据
* 获取用户信息
(旧版)
* _id
* username
* mobile
...
...
@@ -181,10 +464,10 @@ dao.getTableData = async (obj = {}) => {
mobile:mobile
});
* data 请求参数说明
* @param
s
{Object} userInfo 用户信息
* @param {Object} userInfo 用户信息
*/
dao
.
findByUserInfo
=
async
(
userInfo
)
=>
{
let
{
vk
,
db
,
_
}
=
util
;
let
{
vk
,
db
,
_
}
=
util
;
let
res
;
// 数据库操作开始-----------------------------------------------------------
let
whereJson
=
{};
...
...
@@ -200,20 +483,20 @@ dao.findByUserInfo = async (userInfo) => {
"
my_invite_code
"
];
let
orArr
=
[];
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
let
keyName
=
list
[
i
];
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
let
keyName
=
list
[
i
];
let
orObj
=
{};
if
(
vk
.
pubfn
.
isNotNull
(
userInfo
[
keyName
]))
orObj
[
keyName
]
=
userInfo
[
keyName
];
if
(
vk
.
pubfn
.
isNotNull
(
orObj
))
{
if
(
vk
.
pubfn
.
isNotNull
(
userInfo
[
keyName
]))
orObj
[
keyName
]
=
userInfo
[
keyName
];
if
(
vk
.
pubfn
.
isNotNull
(
orObj
))
{
orArr
.
push
(
orObj
);
}
}
if
(
orArr
.
length
>
0
)
{
if
(
orArr
.
length
>
0
)
{
whereJson
=
_
.
or
(
orArr
);
res
=
await
vk
.
baseDao
.
findByWhereJson
({
dbName
:
dbName_
user
,
fieldJson
:
{
token
:
false
,
password
:
false
},
whereJson
:
whereJson
dbName
:
dbName
.
user
,
fieldJson
:
{
token
:
false
,
password
:
false
},
whereJson
:
whereJson
});
}
// 数据库操作结束-----------------------------------------------------------
...
...
@@ -224,28 +507,27 @@ dao.findByUserInfo = async (userInfo) => {
* 调用示例
* await vk.daoCenter.userDao.listByIds(userIdArr);
* data 请求参数说明
* @param
s
{Array} userIdArr 用户ID数组
* @param {Array} userIdArr 用户ID数组
*/
dao
.
listByIds
=
async
(
userIdArr
)
=>
{
let
{
vk
,
db
,
_
}
=
util
;
let
res
=
{};
let
selectRes
=
await
vk
.
baseDao
.
select
({
dbName
:
dbName_user
,
page
Index
:
1
,
pageSize
:
500
,
fieldJson
:
{
token
:
false
,
password
:
false
},
whereJson
:{
_id
:
_
.
in
(
userIdArr
)
let
{
vk
,
db
,
_
}
=
util
;
let
res
=
await
vk
.
baseDao
.
select
({
dbName
:
dbName
.
user
,
pageIndex
:
1
,
page
Size
:
500
,
getMain
:
true
,
fieldJson
:
{
token
:
false
,
password
:
false
},
whereJson
:
{
_id
:
_
.
in
(
userIdArr
)
},
});
res
=
selectRes
.
rows
;
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
/**
* 根据手机号直接注册账号并登录
* 若手机号已存在,则直接登录
* @param
s
{Object} data 参数
* @param {Object} data 参数
* mobile 手机号 必填
* password 初始密码
* inviteCode 邀请人的邀请码
...
...
@@ -257,7 +539,7 @@ dao.listByIds = async (userIdArr) => {
});
*/
dao
.
registerUserByMobile
=
async
(
data
)
=>
{
let
{
vk
,
db
,
_
,
uniID
}
=
util
;
let
{
vk
,
db
,
_
,
uniID
}
=
util
;
let
res
=
{};
let
{
mobile
,
...
...
@@ -272,8 +554,8 @@ dao.registerUserByMobile = async (data) => {
await
uniID
.
setVerifyCode
({
mobile
,
code
,
expiresIn
:
60
,
type
:
"
login
"
expiresIn
:
60
,
type
:
"
login
"
});
// 若手机号不存在,则注册并登录。存在,则直接登录。
res
=
await
uniID
.
loginBySms
({
...
...
@@ -284,11 +566,35 @@ dao.registerUserByMobile = async (data) => {
myInviteCode
,
needPermission
});
if
(
res
.
uid
&&
vk
.
pubfn
.
isNull
(
res
.
userInfo
))
{
if
(
res
.
uid
&&
vk
.
pubfn
.
isNull
(
res
.
userInfo
))
{
res
.
userInfo
=
await
vk
.
daoCenter
.
userDao
.
findById
(
res
.
uid
);
}
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
/**
* 重置用户密码
* data 请求参数说明
* @param {String} uid 用户ID
* @param {String} password 需要重置的密码
* 调用示例
await vk.daoCenter.userDao.resetPwd({
uid: uid,
password: "123456"
});
*/
dao
.
resetPwd
=
async
(
data
)
=>
{
let
{
vk
,
db
,
_
,
uniID
}
=
util
;
let
res
=
{};
let
{
uid
,
password
}
=
data
;
// 数据库操作开始-----------------------------------------------------------
res
=
await
uniID
.
resetPwd
({
uid
,
password
});
// 数据库操作结束-----------------------------------------------------------
return
res
;
};
module
.
exports
=
dao
;
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录