@freelog/freelog-cg-collection 1.2.16 → 1.2.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/helper/PolicyHelper.js +3 -2
- package/indexTest.js +1 -1
- package/package.json +1 -1
- package/resources/zhaojn.json +35 -1875
- package/resources/zhaojn.sc +7 -56
- package/src/helper/PolicyHelper.ts +1 -1
package/resources/zhaojn.sc
CHANGED
|
@@ -1,60 +1,11 @@
|
|
|
1
|
-
// 所有人都可以签该策略,所以身份信息不在签约时判定,下面的echoSubject = echoSubject和echoPolicyId = echoCorePolicyId可以不写,因为它需要和labels一起使用,来判断某用户组是否有某标签
|
|
2
|
-
FOR USER(echoSubject = echoSubject, echoPolicyId = echoCorePolicyId, labels = ["vip1"])
|
|
3
|
-
USE &Contract(subject = Echo.<连载小说的会员>, policyId = echoCorePolicyId, licensee = contract.licensee) AS membership
|
|
4
1
|
|
|
5
|
-
|
|
2
|
+
FOR PUBLIC
|
|
6
3
|
|
|
7
|
-
|
|
4
|
+
Initial:
|
|
5
|
+
Event.Transaction.Pay(5, 1) -> auth
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
auth Permit:
|
|
8
|
+
Event.Time.Relative(10, "minute") -> finish
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
setUnlocked = []
|
|
14
|
-
|
|
15
|
-
setTemp = []
|
|
16
|
-
|
|
17
|
-
setFree = []
|
|
18
|
-
|
|
19
|
-
defExpr s2CalculateExpr(sumAmounts, discount1, discount2) = [
|
|
20
|
-
sumAmounts greater 10000 : discount1 * (sumAmounts - 10000) + discount2 * 7500,
|
|
21
|
-
sumAmounts greater 2500 and sumAmounts lessOrEqual 10000 : discount2 * (sumAmounts - 2500),
|
|
22
|
-
0]
|
|
23
|
-
|
|
24
|
-
Initial None:
|
|
25
|
-
let labels = Query.EchoService.Labels({"subject":echoSubject, "licensee":contract.licensee})
|
|
26
|
-
// Event.Void("vip1" in labels) -> AUTH_VIP1
|
|
27
|
-
// Event.Void(not ("vip1" in labels)) -> AUTH_MEMBER
|
|
28
|
-
// Event.Echo.Labels({"subject":echoSubject, "licensee":contract.licensee, "label":"vip1"}) -> AUTH_VIP1
|
|
29
|
-
Event.Void(not ("vip2" in labels)) -> AUTH_MEMBER{fun.setLabel({"label":"vip2", "ttl":7200})}
|
|
30
|
-
|
|
31
|
-
AUTH_MEMBER Partial{setUnlocked, setTemp}:
|
|
32
|
-
Event.Transaction.Pay(amount = unitPrice, elemsNum = 1) -> AUTH_MEMBER{fun.addElements(setUnlocked, contract.licenseeSelectedElems, false)}
|
|
33
|
-
Event.Transaction.Pay(amount = unitPrice * 10 * 0.8, elemsNum = 10) -> AUTH_MEMBER{fun.addElements(setUnlocked, contract.licenseeSelectedElems, false)}
|
|
34
|
-
Event.Custom.AcceptEvent({"title":"MembershipChange", "subject":echoSubject, "label":"vip1"}) -> AUTH_VIP1
|
|
35
|
-
|
|
36
|
-
Event.Custom.WatchAD(elemsNum = 1) -> AUTH_MEMBER{fun.addElements(setTemp, contract.licenseeSelectedElems, false)}
|
|
37
|
-
Event.Time.Schedule(Time.AddTime(Time.GetTime(Time.Now(), "day"), 1, "day")) -> AUTH_MEMBER{fun.clearElems(setTemp)}
|
|
38
|
-
|
|
39
|
-
AUTH_VIP1 Partial{setUnlocked, setTemp, setFree}:
|
|
40
|
-
let a = 1
|
|
41
|
-
let b = []
|
|
42
|
-
a = 3
|
|
43
|
-
Event.Transaction.Pay(amount = unitPrice * 0.75, elemsNum = 1) -> AUTH_VIP1{fun.addElements(setUnlocked, contract.licenseeSelectedElems, false)}
|
|
44
|
-
Event.Transaction.Pay(amount = unitPrice * 10 * 0.6, elemsNum = 10) -> AUTH_VIP1{fun.addElements(setUnlocked, contract.licenseeSelectedElems, false)}
|
|
45
|
-
Event.Custom.AcceptEvent({"title":"MembershipChange", "subject":echoSubject, "label":"member"}) -> AUTH_MEMBER
|
|
46
|
-
|
|
47
|
-
Event.Custom.WatchAD(elemsNum = 1) -> AUTH_VIP1{fun.addElements(setTemp, contract.licenseeSelectedElems, false)}
|
|
48
|
-
Event.Time.Schedule(Time.AddTime(Time.GetTime(Time.Now(), "day"), 1, "day")) -> AUTH_VIP1{fun.clearElems(setTemp)}
|
|
49
|
-
|
|
50
|
-
Event.Transaction.Pay(amount = 0, elemsNum = 1) -> FREE_UNLOCK_ROUTE[elems:contract.licenseeSelectedElems]{a = 2; b = fun.addElements(b, [a], false);Kit.Min(1, 2)}
|
|
51
|
-
Event.Time.Schedule(Time.AddTime(Time.GetTime(Time.Now(), "month"), 1, "month")) -> AUTH_VIP1{fun.clearElems(setFree)}
|
|
52
|
-
|
|
53
|
-
// 一个中间态来实现if-else的功能
|
|
54
|
-
FREE_UNLOCK_ROUTE None[elems]:
|
|
55
|
-
let freeUnlockedSize = Kit.Array.Size(setFree)
|
|
56
|
-
Event.Void(freeUnlockedSize < 4) -> AUTH_VIP1{fun.addElements(setFree, elems, false)}
|
|
57
|
-
Event.Void(freeUnlockedSize >= 4) -> AUTH_VIP1
|
|
58
|
-
|
|
59
|
-
ABC:
|
|
60
|
-
terminate
|
|
10
|
+
finish:
|
|
11
|
+
terminate
|
|
@@ -219,7 +219,7 @@ export class PolicyHelper implements VarContextCapable<any>, Calculator, Functio
|
|
|
219
219
|
}
|
|
220
220
|
this.currentStateInfo.currentState = stateName;
|
|
221
221
|
|
|
222
|
-
let serviceStateSection = stateInfo["serviceStateSection"];
|
|
222
|
+
let serviceStateSection = stateInfo["serviceStateSection"] ?? {};
|
|
223
223
|
this.currentStateInfo.currentServiceState = serviceStateSection["serviceState"];
|
|
224
224
|
|
|
225
225
|
for (let stateContextArg of stateInfo["stateContextArgs"]) {
|