军团:权限判断函数提取
This commit is contained in:
@@ -72,12 +72,23 @@ export enum GUILD_OPERATE {
|
||||
BE_IMPEACH = 28, // 被弹劾
|
||||
RECEIVE_ACTIVE = 29, // 领取每日活跃宝箱
|
||||
GET_ACTIVE_RANK = 30, // 查看活跃排行榜
|
||||
BOSS_BATTLE = 31, // 挑战演舞台
|
||||
DONATE = 32, // 捐献所操作
|
||||
REFINE = 33, // 炼器
|
||||
ASSIST_REFINE = 34, // 助力研发
|
||||
TRAIN = 35, // 练兵
|
||||
WISH_POOL = 36, // 许愿池
|
||||
GATE_ACTIVITY = 37, // 蛮夷入侵挑战
|
||||
CITY_ACTIVITY_DECLARE = 38, // 诸侯混战宣战
|
||||
CITY_ACTIVITY = 39, // 诸侯混战挑战
|
||||
RACE_ACTIVITY = 40, // 粮草先行挑战
|
||||
}
|
||||
|
||||
export enum GUILD_AUTH_CHECK_TYPE {
|
||||
CHECK_SELF = 1,
|
||||
CHECK_OTHERS = 2,
|
||||
CHECK_SELF_IF_EXIST = 3,
|
||||
CHECK_SELF = 1, // 查询自己的权限,传递自己的userGuild数据
|
||||
CHECK_OTHERS = 2, // 自己的权限和对方的权限,两者的userGuild数据都传递
|
||||
CHECK_SELF_IF_EXIST = 3, // 如果加入了军团会判断权限,如果没有加入则会进入接口内
|
||||
CHECK_SELF_WITH_SESSION = 4, // 不查询userGuild,只靠session中的auth判断
|
||||
}
|
||||
|
||||
export const GUILD_ROUTE_OPERATE = [
|
||||
@@ -109,7 +120,48 @@ export const GUILD_ROUTE_OPERATE = [
|
||||
{ route: 'guild.guildHandler.receiveActiveBox', operate: GUILD_OPERATE.RECEIVE_ACTIVE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildHandler.getActiveRank', operate: GUILD_OPERATE.GET_ACTIVE_RANK, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildBossHandler.openBossInstance', operate: GUILD_OPERATE.OPEN_BOSS, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildRefineHandler.lightUpTree', operate: GUILD_OPERATE.EQUIP_PRODUCE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF }
|
||||
{ route: 'guild.guildRefineHandler.lightUpTree', operate: GUILD_OPERATE.EQUIP_PRODUCE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildBossHandler.openBossInstance', operate: GUILD_OPERATE.OPEN_BOSS, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildRefineHandler.lightUpTree', operate: GUILD_OPERATE.EQUIP_PRODUCE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildBossHandler.getBossInstance', operate: GUILD_OPERATE.BOSS_BATTLE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildBossHandler.battleBoss', operate: GUILD_OPERATE.BOSS_BATTLE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildBossHandler.action', operate: GUILD_OPERATE.BOSS_BATTLE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildBossHandler.battleBossEnd', operate: GUILD_OPERATE.BOSS_BATTLE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.donateHandler.getDonation', operate: GUILD_OPERATE.DONATE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.donateHandler.donate', operate: GUILD_OPERATE.DONATE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.donateHandler.receiveBox', operate: GUILD_OPERATE.DONATE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildRefineHandler.getRefine', operate: GUILD_OPERATE.REFINE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildRefineHandler.refineEquip', operate: GUILD_OPERATE.REFINE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildRefineHandler.assistRefine', operate: GUILD_OPERATE.ASSIST_REFINE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildTrainHandler.getTrainInstance', operate: GUILD_OPERATE.TRAIN, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildTrainHandler.getTrainReports', operate: GUILD_OPERATE.TRAIN, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildTrainHandler.getTrainBoxs', operate: GUILD_OPERATE.TRAIN, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildTrainHandler.trainBattleStart', operate: GUILD_OPERATE.TRAIN, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildTrainHandler.trainBattleEnd', operate: GUILD_OPERATE.TRAIN, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildTrainHandler.getTrainInstanceBox', operate: GUILD_OPERATE.TRAIN, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildTrainHandler.getTrainLvUpRewards', operate: GUILD_OPERATE.TRAIN, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.guildTrainHandler.purchaseTrainCount', operate: GUILD_OPERATE.TRAIN, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.wishPoolHandler.getWishPool', operate: GUILD_OPERATE.WISH_POOL, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.wishPoolHandler.wishGoods', operate: GUILD_OPERATE.WISH_POOL, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.wishPoolHandler.donateGoods', operate: GUILD_OPERATE.WISH_POOL, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.wishPoolHandler.receiveGoods', operate: GUILD_OPERATE.WISH_POOL, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.wishPoolHandler.getReports', operate: GUILD_OPERATE.WISH_POOL, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.gateActivityHandler.getGateActivity', operate: GUILD_OPERATE.GATE_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF_WITH_SESSION },
|
||||
{ route: 'guild.gateActivityHandler.checkBattle', operate: GUILD_OPERATE.GATE_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.gateActivityHandler.action', operate: GUILD_OPERATE.GATE_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF_WITH_SESSION },
|
||||
{ route: 'guild.gateActivityHandler.hitGate', operate: GUILD_OPERATE.GATE_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF_WITH_SESSION },
|
||||
{ route: 'guild.gateActivityHandler.battleEnd', operate: GUILD_OPERATE.GATE_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF_WITH_SESSION },
|
||||
{ route: 'guild.cityActivityHandler.getCityActivity', operate: GUILD_OPERATE.CITY_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.cityActivityHandler.getCityStatus', operate: GUILD_OPERATE.CITY_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF_WITH_SESSION },
|
||||
{ route: 'guild.cityActivityHandler.declareCity', operate: GUILD_OPERATE.CITY_ACTIVITY_DECLARE, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.cityActivityHandler.checkBattle', operate: GUILD_OPERATE.CITY_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF },
|
||||
{ route: 'guild.cityActivityHandler.hitGate', operate: GUILD_OPERATE.CITY_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF_WITH_SESSION },
|
||||
{ route: 'guild.cityActivityHandler.battleEnd', operate: GUILD_OPERATE.CITY_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF_WITH_SESSION },
|
||||
{ route: 'guild.raceActivityHandler.getRaceActivity', operate: GUILD_OPERATE.RACE_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF_WITH_SESSION },
|
||||
{ route: 'guild.raceActivityHandler.join', operate: GUILD_OPERATE.RACE_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF_WITH_SESSION },
|
||||
{ route: 'guild.raceActivityHandler.getRace', operate: GUILD_OPERATE.RACE_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF_WITH_SESSION },
|
||||
{ route: 'guild.raceActivityHandler.useItem', operate: GUILD_OPERATE.RACE_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF_WITH_SESSION },
|
||||
{ route: 'guild.raceActivityHandler.battleEnd', operate: GUILD_OPERATE.RACE_ACTIVITY, type: GUILD_AUTH_CHECK_TYPE.CHECK_SELF_WITH_SESSION },
|
||||
|
||||
];
|
||||
|
||||
|
||||
@@ -91,23 +91,6 @@ export default class UserGuild extends BaseModel {
|
||||
@prop({ required: true, default: 0 })
|
||||
wishDntCnt: number;//今天许愿池捐献次数
|
||||
|
||||
|
||||
|
||||
public static async getMyAuth(roleId: string, guildCode?: string, userGuild?: UserGuildType) {
|
||||
let myGuild: UserGuildType;
|
||||
if(!userGuild) {
|
||||
myGuild = await this.getMyGuild(roleId, 'auth');
|
||||
} else {
|
||||
myGuild = userGuild;
|
||||
}
|
||||
|
||||
if(guildCode && userGuild && userGuild.guildCode != guildCode) {
|
||||
return GUILD_AUTH.OTHERS;
|
||||
}
|
||||
|
||||
return myGuild?myGuild.auth: GUILD_AUTH.OTHERS;
|
||||
}
|
||||
|
||||
public static async getMyGuild(roleId: string, select?: string) {
|
||||
|
||||
const myGuild: UserGuildType = await UserGuildModel.findOne({ roleId, status: USER_GUILD_STATUS.ON })
|
||||
|
||||
@@ -148,5 +148,55 @@
|
||||
"id": 30,
|
||||
"name": "查看军团活跃榜",
|
||||
"authority": "1&2&3&4"
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"name": "演舞台挑战",
|
||||
"authority": "1&2&3"
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"name": "捐献所操作",
|
||||
"authority": "1&2&3"
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"name": "炼器",
|
||||
"authority": "1&2&3"
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"name": "助力科技树研发",
|
||||
"authority": "1&2&3"
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"name": "练兵场训练",
|
||||
"authority": "1&2&3"
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"name": "许愿池操作",
|
||||
"authority": "1&2&3"
|
||||
},
|
||||
{
|
||||
"id": 37,
|
||||
"name": "蛮夷入侵挑战",
|
||||
"authority": "1&2&3"
|
||||
},
|
||||
{
|
||||
"id": 38,
|
||||
"name": "诸侯混战宣战",
|
||||
"authority": "1"
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"name": "诸侯混战挑战",
|
||||
"authority": "1&2&3"
|
||||
},
|
||||
{
|
||||
"id": 40,
|
||||
"name": "粮草先行活动",
|
||||
"authority": "1&2&3"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user