11.93.21 • Published 11 months ago

lite-ts-value v11.93.21

Weekly downloads
-
License
GPL-3.0
Repository
-
Last release
11 months ago

Version

代码

IDbValueService - 数值服务(工作单元)

const valueService: IDbValueService;

// 验证条件
const opt: ValueServiceCheckConditionsOption;
const res = await valueService.checkConditions(opt);
// res is bool

// 获取数量
const opt: ValueServiceGetCountOption;
const res = await valueService.getCount(opt);
// res = 数量

// 更新
const opt: ValueServiceUpdateOption;
await valueService.update(opt);
  • DbValueService
const nowTime: NowTimeBase;
const buildGetCountHandlerFunc: () => ValueHandlerBase;
const buildUpdateHandlerFunc: () => ValueHandlerBase;
const getOwnValueFunc: () => Promise<OwnValue>;
const valueService = new DbValueService(
    项目编号, 
    buildGetCountHandlerFunc,
    buildUpdateHandlerFunc,
    nowTime,
    getOwnValueFunc,
);

IRewardService - 奖励服务

const rewardService: IRewardService;

// 获取结果
const opt: RewardServiceFindResultsOption;
const res = await rewardService.findResults(opt);

// 预览
const opt: RewardServicePreviewOption;
const res = await rewardService.preview(opt);

IValueService - 数值服务

const valueService: IValueService;

// 验证条件
const res = await valueService.checkConditions(数值条件二维数组);
// res is bool

// 是否满足
const res = await valueService.checkEnough(数值数组);
// res is bool

// 获取数量
const res = await valueService.getCount(数值类型);
// res = 数量

// 获取当前时间戳
const res = await valueService.getNow();

// 更新
await valueService.update(数值数组);
  • ValueService - 数值服务
const getNowFunc: () => Promise<number>;
const getOwnValueFunc: () => Promise<OwnValue>;
const valueService: IValueService = new ValueService(getNowFunc, getOwnValueFunc);

ValueHandlerBase - 数值处理器(责任链)

const handler: ValueHandlerBase;

// 处理
const value: Value;
const valueService: ValueService;
const uow: UnitOfWorkBase;
await handler.handle({
    project: 项目编号,
    value,
    valueService,
    uow,
});

CheckNegativableValueHandler - 检测负值数值处理器

道具示例 - ValueTypeData

value:numbertext:stringnegativable:bool
编号道具名是否可负数
1怪物出生纵坐标true
const enumFactory: EnumFactoryBase;
const valueHandler: ValueHandlerBase = new CheckNegativableValueHandler(enumFactory);

FilterReplaceableValueHandler - 过滤可替换数值处理器

道具示例 - ValueTypeData

value:numbertext:stringreplaceable:bool
编号道具名是否替换
1上次登录时间true
const enumFactory: EnumFactoryBase;
const valueHandler: ValueHandlerBase = new FilterReplaceableValueHandler(enumFactory);

GetExpireOnValueHandler - 获取过期时间数值处理器

道具示例 - ValueTypeData

value:numbertext:stringexpireOnValueType:number
编号道具名过期时间
1xx过期时间
2xxxx过期时间
const enumFactory: EnumFactoryBase;
const valueHandler: ValueHandlerBase = new GetExpireOnValueHandler(enumFactory);

GetRecoveryValueHandler - 获取恢复数值处理器

道具示例 - ValueTypeData

value:numbertext:stringrecovery.countdownOnValueType:enum:config.ValueTypeData.textrecovery.interval:numberrecovery.maxValueType:enum:config.ValueTypeData.text
编号道具名上次恢复时间恢复间隔(单位: s)恢复上限
1上次恢复体力时间
2体力上限
3体力上次恢复体力时间6体力上限
const enumFactory: EnumFactoryBase;
const valueHandler: ValueHandlerBase = new GetRecoveryValueHandler(enumFactory);

GetResetValueHandler - 获取重置数值处理器

道具示例 - ValueTypeData

value:numbertext:stringreset.timeValueType:enum:config.ValueTypeData.textreset.granularity:stringreset.countValueType:enum:config.ValueTypeData.text
编号道具名对照时间时间粒度重置数量数值类型
1排位赛挑战重置时间
2排位赛最大挑战次数
3今日排位赛挑战次数排位赛挑战重置时间day排位赛最大挑战次数
const enumFactory: EnumFactoryBase;
const time: TimeBase;
const valueHandler: ValueHandlerBase = new GetResetValueHandler(time, enumFactory);

SubjectValueHandler - 主题数值处理器

与IValueObserver配合使用

道具示例 - ValueTypeData

value:numbertext:string
编号道具名
1金币
@ccclass('ModalPropValue')
export class ModalPropValue extends MvvmView<void> implements IValueObserver {
    @ioc.Inject(SubjectValueHandler)
    public valueSubjectHandler: SubjectValueHandler;

    public async predicate(valueTypeData: ValueTypeData) {
        return valueTypeData.value == 1;
    }

    public async notify() {
        // 当金币变更时 该函数会被调用
    }

    protected async onActive() {
        this.valueSubjectHandler.addObserver(this);
    }

    protected onDestroy() {
        this.valueSubjectHandler.removeObserver(this);
    }
}

UpdateCountValueHandler - 更新数量数值处理器

const valueHandler: ValueHandlerBase = new UpdateCountValueHandler();

UpdateDbValueHandler - 更新数据库数值服务

const dbFactory: DbFactoryBase;
const getEntryFunc: () => Promise<T>;
const dbOptions: DbOption[];
const valueHandler: ValueHandlerBase = new UpdateDbValueHandler(dbFactory, getEntryFunc, dbOptions);

UpdateExpValueHandler - 更新表达式数值处理器

道具示例 - ValueTypeData

value:numbertext:stringexp.valueTypes:array:config.enum.ValueTypeData.textexp.formula:string
编号道具名表达式数值表达式公式
1总攻击力基础攻击力*(等级+1)
2基础攻击力总攻击力(等级-1)*(等级+1)
3等级基础攻击力
const enumFactory: EnumFactoryBase;
const valueHandler: ValueHandlerBase = new UpdateExpValueHandler(enumFactory);

UpdateExpireOnValueHandler - 更新过期时间数值处理器

道具示例 - ValueTypeData

value:numbertext:stringexpireOnValueType:enum:config.ValueTypeData.text
编号道具名过期时间
1xx过期时间
2xxxx过期时间
const enumFactory: EnumFactoryBase;
const valueHandler: ValueHandlerBase = new UpdateExpireOnValueHandler(enumFactory);

UpdateLogValueHandler - 更新日志数值处理器

const dbFactory: DbFactoryBase;
const stringGenerator: StringGeneratorBase;
const createEntryFunc: () => Partial<ValueLog>;
const dbOptions: DbOption[];
const valueHandler: ValueHandlerBase = new UpdateLogValueHandler(dbFactory, stringGenerator, createEntryFunc, dbOptions);

UpdateNowValueHandler - 更新当前时间数值处理器

道具示例 - ValueTypeData

value:numbertext:stringnow:granularity
编号道具名当前时间粒度
1登录时间s

修改数值示例

数量
0无效
1当前时间
-10
<= 946656000当前时间 - 其他值
>946656000数量
const enumFactory: EnumFactoryBase;
const nowTime: NowTimeBase;
const time: TimeBase;
const valueHandler: ValueHandlerBase = new UpdateNowValueHandler(nowTime, time, enumFactory);

UpdateOpenValueHandler - 更新打开数值处理器

道具示例 - ValueTypeData

value:numbertext:stringopen:Reward
编号道具名打开奖励
1新手礼包支付余额*1*11支付余额*2*22支付余额*3*33
const rewardService: RewardService;
const enumFactory: EnumFactoryBase;
const valueHandler: ValueHandlerBase = new UpdateOpenValueHandler(rewardService, '场景', enumFactory);

UpdateRecoveryValueHandler - 更新自动恢复数值处理器

道具示例 - ValueTypeData

value:numbertext:stringrecovery.countdownOnValueType:enum:config.ValueTypeData.textrecovery.interval:numberrecovery.maxValueType:enum:config.ValueTypeData.text
编号道具名上次恢复时间恢复间隔(单位: s)恢复上限
1上次恢复体力时间
2体力上限
3体力上次恢复体力时间6体力上限
const enumFactory: EnumFactoryBase;
const valueHandler: ValueHandlerBase = new UpdateRecoveryValueHandler(enumFactory);

UpdateRemoteValueHandler - 远程更新数值处理器

道具示例 - ValueTypeData

value:numbertext:stringremote.route:string
编号道具名路由
1装备攻击力/growth/update-values
const enumFactory: EnumFactoryBase;
const rpc: RpcBase;
const rpcBody: { [key: string]: any };
const valueHandler: ValueHandlerBase = new UpdateRemoteValueHandler(rpc, rpcBody, enumFactory);

UpdateReplaceableValueHandler - 更新可替换数值处理器

道具示例 - ValueTypeData

value:numbertext:stringreplaceable:bool
编号道具名是否替换
1第五赛季头像过期时间
const ownValue = {
    1: 100
};
const enumFactory: EnumFactoryBase;
const valueHandler: ValueHandlerBase = new UpdateReplaceableValueHandler(enumFactory);

UpdateResetValueHandler - 更新重置数值处理器

道具示例 - ValueTypeData

value:numbertext:stringreset.timeValueType:enum:config.ValueTypeData.textreset.granularity:stringreset.fixedCount:numberreset.countValueType:enum:config.ValueTypeData.text
编号道具名对照时间时间粒度重置数量重置数量(数值类型)
1排位赛挑战重置时间
3今日排位赛挑战次数排位赛挑战重置时间day4排位赛挑战最大次数
const enumFactory: EnumFactoryBase;
const time: TimeBase;
const valueHandler: ValueHandlerBase = new UpdateResetValueHandler(time, enumFactory);

UpdateRpcValueHandler - 更新数值服务(rpc)

const rpc: RpcBase;
const callOption: RpcCallOption<void>;
const valueHandler: ValueHandlerBase = new UpdateRpcValueHandler(rpc, callOption);

UpdateSyncValueHandler - 更新同步数值处理器

value:numbertext:stringsync.valueTypes:array:enum.config.ValueTypeData.textsync.negativeValueTypes:jsonsync.positiveValueTypes:json
编号道具名同步类型负数同步类型正数同步类型
1商店充值总充值
2总充值
3金币消耗金币[5]
4消耗金币
5获得金币
const enumFactory: EnumFactoryBase;
const valueHandler: ValueHandlerBase = new UpdateSyncValueHandler(enumFactory);

ValueConditionOp - 运算符号

运算符示例说明
=金币=5金币数量等于5
>=金币>=5金币数量大于等于5
>金币>5金币数量大于5
<=金币<=5金币数量小于等于5
<金币<5金币数量小于5
%=登录次数%=503登录次数对100取余后等于3
%>=登录次数%>=503登录次数对100取余后大于等于3
%>登录次数%>503登录次数对100取余后大于3
%<=登录次数%<=503登录次数对100取余后小于等于3
%<登录次数%<503登录次数对100取余后小于3
now-diff=注册时间now-diff=86400注册时间等于1天
now-diff>=注册时间now-diff>=86400注册时间大于等于1天
now-diff>注册时间now-diff>86400注册时间大于1天
now-diff<=注册时间now-diff<=86400注册时间小于等于1天
now-diff<注册时间now-diff<86400注册时间小于1天
own=等级own=999999为最大等级 等级等于最大等级
own>=等级own>=999999为最大等级 等级大于等于最大等级
own>等级own>999999为最大等级 等级大于最大等级
own<=等级own<=999999为最大等级 等级小于等于最大等级
own<等级own<999999为最大等级 等级小于最大等级

ValueType - 数值(道具)

编号说明
1当前时间
2语言
3货币
4支付余额
5注冊时间
6登录时间
7新手礼包领取时间
8等级
9登录天数
10每日登录次数更新时间
11每日登录次数
12上次同步时间
13每日在线时长
14项目编号
15区服编号
17引导编号
18头像
19头像框
20账号留存时间
21渠道
22总支付余额
23游戏版本
24省份
25城市
26新手礼包
27联盟编号
28会员等级
11.87.20

1 year ago

11.90.20

12 months ago

11.85.19

1 year ago

11.93.21

11 months ago

11.91.20

11 months ago

11.85.20

1 year ago

11.88.20

1 year ago

11.86.20

1 year ago

11.89.20

12 months ago

11.92.21

11 months ago

11.92.20

11 months ago

11.83.19

1 year ago

11.84.19

1 year ago

11.78.18

1 year ago

11.78.19

1 year ago

11.80.19

1 year ago

11.81.19

1 year ago

11.79.19

1 year ago

11.82.19

1 year ago

11.78.17

1 year ago

11.77.16

1 year ago

11.78.16

1 year ago

11.76.16

1 year ago

11.75.16

1 year ago

11.74.16

1 year ago

11.73.16

1 year ago

11.72.16

1 year ago

11.71.16

1 year ago

11.71.15

1 year ago

11.71.13

1 year ago

11.71.14

1 year ago

11.71.12

1 year ago

11.70.10

1 year ago

11.70.11

1 year ago

11.71.11

1 year ago

11.69.10

1 year ago

11.68.10

1 year ago

11.67.10

1 year ago

11.66.10

1 year ago

11.65.10

2 years ago

11.65.9

2 years ago

4.49.5

2 years ago

4.39.4

2 years ago

4.37.4

2 years ago

3.34.3

2 years ago

3.36.3

2 years ago

4.42.4

2 years ago

4.40.4

2 years ago

4.45.5

2 years ago

4.45.4

2 years ago

3.31.2

2 years ago

4.47.5

2 years ago

3.28.1

2 years ago

4.36.4

2 years ago

4.36.3

2 years ago

4.38.4

2 years ago

3.33.3

2 years ago

3.35.3

2 years ago

4.43.4

2 years ago

4.41.4

2 years ago

4.46.5

2 years ago

4.44.4

2 years ago

3.30.2

2 years ago

4.48.5

2 years ago

3.32.2

2 years ago

3.32.3

2 years ago

3.29.1

2 years ago

3.29.2

2 years ago

3.22.0

2 years ago

1.19.0

2 years ago

3.21.0

2 years ago

3.24.0

2 years ago

3.23.0

2 years ago

1.21.0

2 years ago

1.20.0

2 years ago

2.21.0

2 years ago

3.25.1

2 years ago

3.24.1

2 years ago

3.27.1

2 years ago

3.26.1

2 years ago

1.18.0

2 years ago

1.17.0

2 years ago

1.16.0

2 years ago

1.15.0

2 years ago

1.14.0

2 years ago

1.13.0

2 years ago

1.12.0

3 years ago

1.11.0

3 years ago

1.10.0

3 years ago

1.9.0

3 years ago

1.8.0

3 years ago

1.7.0

3 years ago

1.6.0

3 years ago

1.5.0

3 years ago

1.4.0

3 years ago

1.3.0

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.0

3 years ago