61 lines
2.1 KiB
JavaScript
61 lines
2.1 KiB
JavaScript
module.exports = {
|
|
/**
|
|
* 用户注册(账号+密码)
|
|
* @url user/pub/register 前端调用的url参数地址
|
|
* @description 用户注册(账号+密码)
|
|
* data 请求参数 说明
|
|
* @param {String} username 用户名,唯一
|
|
* @param {String} password 密码
|
|
* res 返回参数说明
|
|
* @param {Number} code 错误码,0表示成功
|
|
* @param {String} msg 详细信息
|
|
* @param {String} token 注册完成自动登录之后返回的token信息
|
|
* @param {String} tokenExpired token过期时间
|
|
* @param {Object} userInfo 用户信息
|
|
*/
|
|
main: async (event) => {
|
|
let { data = {}, userInfo, util, originalParam } = event;
|
|
let { uniID, config, pubFun, vk, db, _ } = util;
|
|
let { uid } = data;
|
|
let res = { code: -1, msg: '' };
|
|
// 业务逻辑开始-----------------------------------------------------------
|
|
if (typeof data.username === "number") data.username = String(data.username).trim();
|
|
if (typeof data.password === "number") data.password = String(data.password).trim();
|
|
|
|
let {
|
|
username,
|
|
password,
|
|
needPermission,
|
|
myInviteCode
|
|
} = data;
|
|
|
|
// 验证规则开始 -----------------------------------------------------------
|
|
let rules = {
|
|
username: [
|
|
{ required: true, validator: vk.pubfn.validator("username"), message: '用户名以字母开头,长度在3~32之间,只能包含字母、数字和下划线', trigger: ['blur', 'change'] }
|
|
],
|
|
password: [
|
|
{ validator: vk.pubfn.validator("password"), message: '密码长度在6~18之间,只能包含字母、数字和下划线', trigger: 'blur' }
|
|
]
|
|
};
|
|
// 验证规则结束 -----------------------------------------------------------
|
|
// 开始进行验证
|
|
let formRulesRes = vk.pubfn.formValidate({
|
|
data: data,
|
|
rules: rules
|
|
});
|
|
if (formRulesRes.code !== 0) {
|
|
// 表单验证未通过
|
|
return formRulesRes;
|
|
}
|
|
// 表单验证通过,下面写自己的业务逻辑
|
|
res = await uniID.register({
|
|
username,
|
|
password,
|
|
needPermission,
|
|
myInviteCode
|
|
});
|
|
// 业务逻辑结束-----------------------------------------------------------
|
|
return res;
|
|
}
|
|
} |