Commit 36da0228 by 蒋勇

d

parent e63772b2
...@@ -33,7 +33,6 @@ class UserCtl extends CtlBase { ...@@ -33,7 +33,6 @@ class UserCtl extends CtlBase {
if (!p.companykey) { if (!p.companykey) {
return system.getResult(null, "自有用户创建需要提供公司KEY"); return system.getResult(null, "自有用户创建需要提供公司KEY");
} }
p.rolecode = "pr";
let rtn = await this.service.pmregisterByFreeUser(p, q); let rtn = await this.service.pmregisterByFreeUser(p, q);
return rtn; return rtn;
} }
......
const CacheBase = require("../cache.base");
const system = require("../../system");
const settings = require("../../../config/settings");
//缓存首次登录的赠送的宝币数量
class AppCache extends CacheBase {
constructor() {
super();
}
// isdebug() {
// return settings.env == "dev";
// }
desc() {
return "应用服务实体缓存";
}
prefix() {
return "g_vcode_"
}
async buildCacheVal(cachekey, inputkey, val, ex, ...items) {
//inputkey采用appkey_mobile的形式
var mobile = inputkey;
var tmplCode = val;
var signName = items ? items[0] : "";
var vcode = await this.smsUtil.getUidStr(6, 10);
if (!tmplCode && !signName) {
this.smsUtil.sendMsg(mobile, vcode);
} //tmplCode为发送短信编码,需在阿里开通,signName为短信头描述信息,二者没有传递则用默认的发送验证码
else {
this.smsUtil.aliSendMsg(mobile, tmplCode, signName, JSON.stringify({ code: vcode }));
}
return JSON.stringify({ vcode: vcode });
}
}
module.exports = VCodeCache;
...@@ -15,14 +15,14 @@ class UserService extends ServiceBase { ...@@ -15,14 +15,14 @@ class UserService extends ServiceBase {
//按照用户名和密码进行注册 //按照用户名和密码进行注册
//控制器端检查用户名和密码非空 //控制器端检查用户名和密码非空
async registerByTantent(p,q){ async registerByTantent(p,q){
p.rolecode="pr"; p.rolecodes=[settings.pmroleid["pr"]];
let rtn= await this.pmregister(p,q) let rtn= await this.pmregister(p,q)
return rtn; return rtn;
} }
//应用的自由用户注册,无需验证,需要前端头设置公司KEY //应用的自由用户注册,无需验证,需要前端头设置公司KEY
async pmregisterByFreeUser(p,q){ async pmregisterByFreeUser(p,q){
p.rolecode="pr"; p.rolecodes=[settings.pmroleid["pr"]];
let rtn= await this.pmregister(p,q) let rtn= await this.pmregister(p,q)
return rtn; return rtn;
} }
...@@ -44,8 +44,8 @@ class UserService extends ServiceBase { ...@@ -44,8 +44,8 @@ class UserService extends ServiceBase {
//对于租户类型注册,创建一个默认公司,公司名称xxxx的公司 //对于租户类型注册,创建一个默认公司,公司名称xxxx的公司
//如果非租户类型,需要按照传递进来的公司companykey,来查询公司,按照companykey缓存到redis //如果非租户类型,需要按照传递进来的公司companykey,来查询公司,按照companykey缓存到redis
let cmpkey = self.getUUID(); let cmpkey = self.getUUID();
let rolecode = p.rolecode ? p.rolecode : "ta"; let rolecodes = p.rolecode ? p.rolecodes : [settings.pmroleid["ta"]];
if (rolecode == "ta") {//如果注册时,角色是租户,那么需要创建默认公司 if (rolecodes[0] == settings.pmroleid["ta"]) {//如果注册时,角色是租户,那么需要创建默认公司
let cmp = await self.companyDao.create({ name: p.userName + "的公司", companykey: cmpkey }, t); let cmp = await self.companyDao.create({ name: p.userName + "的公司", companykey: cmpkey }, t);
p.company_id = cmp.id; p.company_id = cmp.id;
} else { } else {
...@@ -60,10 +60,11 @@ class UserService extends ServiceBase { ...@@ -60,10 +60,11 @@ class UserService extends ServiceBase {
//设置默认角色,租户 //设置默认角色,租户
//设置默认普通角色,由于有了租户概念,所以注册时,需要知道当前租户和应用的id 才可以设置默认角色 todo //设置默认普通角色,由于有了租户概念,所以注册时,需要知道当前租户和应用的id 才可以设置默认角色 todo
var role = await self.roleDao.model.findOne({ where: { code: rolecode }, transaction: t }); var roles = await self.roleDao.model.findAll({ where: { id: { [self.db.Op.in]: rolecodes } } }, transaction: t });
await u.setRoles([role], { transaction: t }); if(roles && roles.length>0){
await u.setRoles(roles, { transaction: t });
//创建统一账号 }
//创建统一账号 to add extra fields
let cred = await self.cregister(u.userName, p.company_id, p.password) let cred = await self.cregister(u.userName, p.company_id, p.password)
console.log("......................................"); console.log("......................................");
console.log(cred.consumer.id); console.log(cred.consumer.id);
...@@ -132,7 +133,7 @@ class UserService extends ServiceBase { ...@@ -132,7 +133,7 @@ class UserService extends ServiceBase {
//自由用户的电话登录和注册 //自由用户的电话登录和注册
//需要存在公司KEY //需要存在公司KEY
async pmloginByVCodeForFreeUser(p,q){ async pmloginByVCodeForFreeUser(p,q){
p.rolecode="pr" p.rolecodes=[settings.pmroleid["pr"]];
let rtn=await this.pmloginByVCode(p,q,req) let rtn=await this.pmloginByVCode(p,q,req)
return system.getResult(rtn); return system.getResult(rtn);
} }
...@@ -164,7 +165,7 @@ class UserService extends ServiceBase { ...@@ -164,7 +165,7 @@ class UserService extends ServiceBase {
return rtn; return rtn;
} else { } else {
//先按照用户名查续身份信息,获取key,secret, //先按照用户名查续身份信息,获取key,secret,
let u = await this.pmregister({ userName: mobile, nickName: mobile,rolecode:p.rolecode,companykey:p.companykey}); let u = await this.pmregister({ userName: mobile, nickName: mobile,rolecodes:p.rolecodes,companykey:p.companykey});
let token = await this.cmakejwt(u.jwtkey, u.jwtsecret, null); let token = await this.cmakejwt(u.jwtkey, u.jwtsecret, null);
rtn.token = token; rtn.token = token;
rtn.user = u; rtn.user = u;
......
...@@ -20,6 +20,7 @@ var settings = { ...@@ -20,6 +20,7 @@ var settings = {
kongurl:"http://192.168.4.119:8001/", kongurl:"http://192.168.4.119:8001/",
pmappid:1, pmappid:1,
pmcompanyid:1, pmcompanyid:1,
pmroleid:{"ta":1,"pr":2},
redis:function(){ redis:function(){
if(this.env=="dev"){ if(this.env=="dev"){
var localsettings=require("./localsettings"); var localsettings=require("./localsettings");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment