91 changed files with 13117 additions and 3977 deletions
@ -0,0 +1,955 @@ |
|||||||
|
[ |
||||||
|
{ |
||||||
|
"AchievementsId": 1, |
||||||
|
"AchievementsName": "神木擎天接紫霄", |
||||||
|
"AchievementsType": 1, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "不死树等级达到{0}", |
||||||
|
"RequirementTpye": 41, |
||||||
|
"TargetType": [ |
||||||
|
30 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 20000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 2, |
||||||
|
"AchievementsName": "百榫连城筑铁壁", |
||||||
|
"AchievementsType": 1, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计加固建筑{0}次", |
||||||
|
"RequirementTpye": 36, |
||||||
|
"TargetType": [ |
||||||
|
100 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 20000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 3, |
||||||
|
"AchievementsName": "桃谷春秋历百转", |
||||||
|
"AchievementsType": 1, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "桃谷度过{0}天", |
||||||
|
"RequirementTpye": 43, |
||||||
|
"TargetType": [ |
||||||
|
100 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 20000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 4, |
||||||
|
"AchievementsName": "悬壶济世百草方", |
||||||
|
"AchievementsType": 1, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计使用药品{0}次", |
||||||
|
"RequirementTpye": 35, |
||||||
|
"TargetType": [ |
||||||
|
100 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 20000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 5, |
||||||
|
"AchievementsName": "晨耕暮织五十笺", |
||||||
|
"AchievementsType": 1, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计完成日常任务{0}个", |
||||||
|
"RequirementTpye": 38, |
||||||
|
"TargetType": [ |
||||||
|
50 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 20000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 6, |
||||||
|
"AchievementsName": "霓裳织就云霞色", |
||||||
|
"AchievementsType": 1, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计制作{0}件衣服", |
||||||
|
"RequirementTpye": 40, |
||||||
|
"TargetType": [ |
||||||
|
200 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 20000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 7, |
||||||
|
"AchievementsName": "八野嘉禾覆阡陌", |
||||||
|
"AchievementsType": 1, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "解锁{0}种农作物", |
||||||
|
"RequirementTpye": 32, |
||||||
|
"TargetType": [ |
||||||
|
8 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 20000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 8, |
||||||
|
"AchievementsName": "六千驿马络桃川", |
||||||
|
"AchievementsType": 1, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "{0}个村落声望值达到{3}", |
||||||
|
"RequirementTpye": 12, |
||||||
|
"TargetType": [ |
||||||
|
1, |
||||||
|
6000 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 20000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 9, |
||||||
|
"AchievementsName": "雄关血铸镇妖门", |
||||||
|
"AchievementsType": 1, |
||||||
|
"IsProgress": false, |
||||||
|
"Describe": "成功研究{7}最高级科技", |
||||||
|
"RequirementTpye": 33, |
||||||
|
"TargetType": [ |
||||||
|
2310 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 20000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 10, |
||||||
|
"AchievementsName": "金鸡栖梧鸣桃坞", |
||||||
|
"AchievementsType": 1, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "桃谷内同时存在鸡{0}只", |
||||||
|
"RequirementTpye": 44, |
||||||
|
"TargetType": [ |
||||||
|
50 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 20000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 11, |
||||||
|
"AchievementsName": "采薇人归暮云深", |
||||||
|
"AchievementsType": 1, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计采集谷外小资源{0}次", |
||||||
|
"RequirementTpye": 37, |
||||||
|
"TargetType": [ |
||||||
|
500 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 20000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 12, |
||||||
|
"AchievementsName": "比邻共饮桃花酿", |
||||||
|
"AchievementsType": 1, |
||||||
|
"IsProgress": false, |
||||||
|
"Describe": "邀请一个邻居", |
||||||
|
"RequirementTpye": 17, |
||||||
|
"TargetType": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 20000, |
||||||
|
"RewareId2": 7207, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 13, |
||||||
|
"AchievementsName": "二十炊烟绕新柳", |
||||||
|
"AchievementsType": 1, |
||||||
|
"IsProgress": false, |
||||||
|
"Describe": "规模达到{0}", |
||||||
|
"RequirementTpye": 1, |
||||||
|
"TargetType": [ |
||||||
|
20 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 20000, |
||||||
|
"RewareId2": 7211, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 2001, |
||||||
|
"AchievementsName": "桃谷春秋贮万粟", |
||||||
|
"AchievementsType": 2, |
||||||
|
"IsProgress": false, |
||||||
|
"Describe": "桃谷基础食物达到{0}", |
||||||
|
"RequirementTpye": 42, |
||||||
|
"TargetType": [ |
||||||
|
100000 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 40000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 2002, |
||||||
|
"AchievementsName": "玄甲夜戍五十更", |
||||||
|
"AchievementsType": 2, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "攻城战累计胜利{0}次", |
||||||
|
"RequirementTpye": 8, |
||||||
|
"TargetType": [ |
||||||
|
50 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 40000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 2003, |
||||||
|
"AchievementsName": "踏遍千山寻仙踪", |
||||||
|
"AchievementsType": 2, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计完成探索{0}次", |
||||||
|
"RequirementTpye": 10, |
||||||
|
"TargetType": [ |
||||||
|
100 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 40000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 2004, |
||||||
|
"AchievementsName": "百器流光缀桃源", |
||||||
|
"AchievementsType": 2, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "解锁{0}个建筑皮肤", |
||||||
|
"RequirementTpye": 14, |
||||||
|
"TargetType": [ |
||||||
|
5 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 40000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 2005, |
||||||
|
"AchievementsName": "四海皆闻桃源名", |
||||||
|
"AchievementsType": 2, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "{0}个村落声望值达到{3}", |
||||||
|
"RequirementTpye": 12, |
||||||
|
"TargetType": [ |
||||||
|
4, |
||||||
|
6000 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 40000, |
||||||
|
"RewareId2": 140000, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 2006, |
||||||
|
"AchievementsName": "百家灯火续长明", |
||||||
|
"AchievementsType": 2, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "族谱中记录的村民数量累计{0}个", |
||||||
|
"RequirementTpye": 22, |
||||||
|
"TargetType": [ |
||||||
|
200 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 40000, |
||||||
|
"RewareId2": 140001, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 2007, |
||||||
|
"AchievementsName": "初砺魂石现锋芒", |
||||||
|
"AchievementsType": 2, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "{0}个勇士的体魂达到{3}级", |
||||||
|
"RequirementTpye": 9, |
||||||
|
"TargetType": [ |
||||||
|
1, |
||||||
|
10 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 40000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 2008, |
||||||
|
"AchievementsName": "千里鹅毛寄桃源", |
||||||
|
"AchievementsType": 2, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计收到村落赠送的礼物{0}份", |
||||||
|
"RequirementTpye": 34, |
||||||
|
"TargetType": [ |
||||||
|
50 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 40000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 2009, |
||||||
|
"AchievementsName": "千券化作炊烟去", |
||||||
|
"AchievementsType": 2, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计消耗{1}{0}个", |
||||||
|
"RequirementTpye": 39, |
||||||
|
"TargetType": [ |
||||||
|
701, |
||||||
|
4000 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 40000, |
||||||
|
"RewareId2": 140007, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 2010, |
||||||
|
"AchievementsName": "百战黄沙砺剑鸣", |
||||||
|
"AchievementsType": 2, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计进行{0}次兽潮挑战", |
||||||
|
"RequirementTpye": 16, |
||||||
|
"TargetType": [ |
||||||
|
100 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 40000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 3001, |
||||||
|
"AchievementsName": "金瓜垂垂满秋架", |
||||||
|
"AchievementsType": 3, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计获得{0}个{1}", |
||||||
|
"RequirementTpye": 7, |
||||||
|
"TargetType": [ |
||||||
|
855, |
||||||
|
1000 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 60000, |
||||||
|
"RewareId2": 7208, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 3002, |
||||||
|
"AchievementsName": "水芝累累覆霜圃", |
||||||
|
"AchievementsType": 3, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计获得{0}个{1}", |
||||||
|
"RequirementTpye": 7, |
||||||
|
"TargetType": [ |
||||||
|
856, |
||||||
|
1000 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 60000, |
||||||
|
"RewareId2": 7207, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 3003, |
||||||
|
"AchievementsName": "千禽过隙录桃簿", |
||||||
|
"AchievementsType": 3, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计获得{0}只{1}", |
||||||
|
"RequirementTpye": 7, |
||||||
|
"TargetType": [ |
||||||
|
8001, |
||||||
|
1000 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 60000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 3004, |
||||||
|
"AchievementsName": "万粟流转太平策", |
||||||
|
"AchievementsType": 3, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计制作{0}份菜品", |
||||||
|
"RequirementTpye": 11, |
||||||
|
"TargetType": [ |
||||||
|
10000 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 60000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 3005, |
||||||
|
"AchievementsName": "一竿钓尽武陵春", |
||||||
|
"AchievementsType": 3, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计获得{0}条{1}", |
||||||
|
"RequirementTpye": 7, |
||||||
|
"TargetType": [ |
||||||
|
131, |
||||||
|
500 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 60000, |
||||||
|
"RewareId2": 140002, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 3006, |
||||||
|
"AchievementsName": "千蟹横行入瓮来", |
||||||
|
"AchievementsType": 3, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计获得{0}只{1}", |
||||||
|
"RequirementTpye": 7, |
||||||
|
"TargetType": [ |
||||||
|
113, |
||||||
|
1000 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 60000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 3007, |
||||||
|
"AchievementsName": "渔溪慈航渡五十", |
||||||
|
"AchievementsType": 3, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计在{2}捐赠{0}次", |
||||||
|
"RequirementTpye": 27, |
||||||
|
"TargetType": [ |
||||||
|
3002, |
||||||
|
50 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 60000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 3008, |
||||||
|
"AchievementsName": "赤丘燃灯明千帐", |
||||||
|
"AchievementsType": 3, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计在{2}捐赠{0}次", |
||||||
|
"RequirementTpye": 27, |
||||||
|
"TargetType": [ |
||||||
|
3003, |
||||||
|
50 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 60000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 3009, |
||||||
|
"AchievementsName": "太姥织云庇万椽", |
||||||
|
"AchievementsType": 3, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计在{2}捐赠{0}次", |
||||||
|
"RequirementTpye": 27, |
||||||
|
"TargetType": [ |
||||||
|
3004, |
||||||
|
50 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 60000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 3010, |
||||||
|
"AchievementsName": "广纳流民筑新庐", |
||||||
|
"AchievementsType": 3, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计接纳{0}位难民", |
||||||
|
"RequirementTpye": 21, |
||||||
|
"TargetType": [ |
||||||
|
100 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 60000, |
||||||
|
"RewareId2": 7320, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 4001, |
||||||
|
"AchievementsName": "人生七十古来稀", |
||||||
|
"AchievementsType": 4, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计{0}个村民寿命达到{3}岁", |
||||||
|
"RequirementTpye": 2, |
||||||
|
"TargetType": [ |
||||||
|
20, |
||||||
|
70 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 80000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 4002, |
||||||
|
"AchievementsName": "三魂淬火铸金身", |
||||||
|
"AchievementsType": 4, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "{0}个勇士的体魂达到{3}级", |
||||||
|
"RequirementTpye": 9, |
||||||
|
"TargetType": [ |
||||||
|
3, |
||||||
|
15 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 80000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 4003, |
||||||
|
"AchievementsName": "万贯春风扫落英", |
||||||
|
"AchievementsType": 4, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计获得{0}个铜钱", |
||||||
|
"RequirementTpye": 7, |
||||||
|
"TargetType": [ |
||||||
|
210000, |
||||||
|
100000000 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 80000, |
||||||
|
"RewareId2": 140005, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 4004, |
||||||
|
"AchievementsName": "百匠授业承星火", |
||||||
|
"AchievementsType": 4, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计有{0}个村民通过学习获得技能", |
||||||
|
"RequirementTpye": 26, |
||||||
|
"TargetType": [ |
||||||
|
100 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 80000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 4005, |
||||||
|
"AchievementsName": "半百檐铃缀桃源", |
||||||
|
"AchievementsType": 4, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "解锁{0}种装饰品", |
||||||
|
"RequirementTpye": 13, |
||||||
|
"TargetType": [ |
||||||
|
50 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 80000, |
||||||
|
"RewareId2": 140004, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 4006, |
||||||
|
"AchievementsName": "檐角流光驻春秋", |
||||||
|
"AchievementsType": 4, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "拥有{0}个建筑每日耐久度+1", |
||||||
|
"RequirementTpye": 15, |
||||||
|
"TargetType": [ |
||||||
|
3 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 80000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 4007, |
||||||
|
"AchievementsName": "比翼楼前拾遗羽", |
||||||
|
"AchievementsType": 4, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "在比翼楼中触发羽毛掉落事件{0}次", |
||||||
|
"RequirementTpye": 19, |
||||||
|
"TargetType": [ |
||||||
|
99 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 80000, |
||||||
|
"RewareId2": 140003, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 4008, |
||||||
|
"AchievementsName": "夜市点石成金手", |
||||||
|
"AchievementsType": 4, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计在{5}处获得{0}个铜钱", |
||||||
|
"RequirementTpye": 20, |
||||||
|
"TargetType": [ |
||||||
|
1070, |
||||||
|
10000000 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 80000, |
||||||
|
"RewareId2": 140006, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 100001, |
||||||
|
"RewardNumber3": 1, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 4009, |
||||||
|
"AchievementsName": "千金散作桃花雨", |
||||||
|
"AchievementsType": 4, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计在{5}处花费{0}个铜钱", |
||||||
|
"RequirementTpye": 28, |
||||||
|
"TargetType": [ |
||||||
|
1068, |
||||||
|
10000000 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 80000, |
||||||
|
"RewareId2": 100000, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 5001, |
||||||
|
"AchievementsName": "鹤寿盈门映桃源", |
||||||
|
"AchievementsType": 5, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计{0}个村民寿命达到{3}岁", |
||||||
|
"RequirementTpye": 2, |
||||||
|
"TargetType": [ |
||||||
|
50, |
||||||
|
70 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 100000, |
||||||
|
"RewareId2": 100002, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 5002, |
||||||
|
"AchievementsName": "万象玄功映星辰", |
||||||
|
"AchievementsType": 5, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计{0}个村民拥有{4}技能", |
||||||
|
"RequirementTpye": 25, |
||||||
|
"TargetType": [ |
||||||
|
100, |
||||||
|
15 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 100000, |
||||||
|
"RewareId2": 0, |
||||||
|
"RewardNumber2": 0, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 5003, |
||||||
|
"AchievementsName": "一脉世居桃花源", |
||||||
|
"AchievementsType": 5, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计{0}个村民姓氏相同", |
||||||
|
"RequirementTpye": 24, |
||||||
|
"TargetType": [ |
||||||
|
50 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 100000, |
||||||
|
"RewareId2": 7227, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 5004, |
||||||
|
"AchievementsName": "担岳踏浪撼地鸣", |
||||||
|
"AchievementsType": 5, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计{0}个村民劳力达到{3}", |
||||||
|
"RequirementTpye": 3, |
||||||
|
"TargetType": [ |
||||||
|
1, |
||||||
|
70 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 100000, |
||||||
|
"RewareId2": 220000, |
||||||
|
"RewardNumber2": 100, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 5005, |
||||||
|
"AchievementsName": "观天织雾解玄机", |
||||||
|
"AchievementsType": 5, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计{0}个村民智力达到{3}", |
||||||
|
"RequirementTpye": 4, |
||||||
|
"TargetType": [ |
||||||
|
1, |
||||||
|
70 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 100000, |
||||||
|
"RewareId2": 220000, |
||||||
|
"RewardNumber2": 100, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 5006, |
||||||
|
"AchievementsName": "八旬仙人隐桃谷", |
||||||
|
"AchievementsType": 5, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "累计{0}个村民年龄达到{3}", |
||||||
|
"RequirementTpye": 5, |
||||||
|
"TargetType": [ |
||||||
|
1, |
||||||
|
80 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 100000, |
||||||
|
"RewareId2": 220000, |
||||||
|
"RewardNumber2": 100, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"AchievementsId": 5008, |
||||||
|
"AchievementsName": "千姓共织桃源梦", |
||||||
|
"AchievementsType": 5, |
||||||
|
"IsProgress": true, |
||||||
|
"Describe": "桃谷中出现过{0}个姓氏", |
||||||
|
"RequirementTpye": 45, |
||||||
|
"TargetType": [ |
||||||
|
300 |
||||||
|
], |
||||||
|
"RewareId1": 210000, |
||||||
|
"RewardNumber1": 100000, |
||||||
|
"RewareId2": 140009, |
||||||
|
"RewardNumber2": 1, |
||||||
|
"RewareId3": 0, |
||||||
|
"RewardNumber3": 0, |
||||||
|
"RewareId4": 0, |
||||||
|
"RewardNumber4": 0 |
||||||
|
} |
||||||
|
] |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,8 @@ |
|||||||
|
[ |
||||||
|
{ |
||||||
|
"Id": 1, |
||||||
|
"GemId": 1204, |
||||||
|
"ItemId": 1205, |
||||||
|
"Num": 50 |
||||||
|
} |
||||||
|
] |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,124 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<el-dialog :title="isNew ? '新增服务器推荐' : '修改服务器推荐'" v-model="isShowDialog" width="769px"> |
||||||
|
<el-form label-width="90px" label-position="right"> |
||||||
|
<el-form-item label="是否推荐" prop="recommend"> |
||||||
|
<el-select v-model="queryParams.recommend" class="m-2" placeholder="选择推荐"> |
||||||
|
<el-option label="推荐" :value="1" /> |
||||||
|
<el-option label="不推荐" :value="0" /> |
||||||
|
</el-select> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="服务器" prop="servers"> |
||||||
|
<el-select v-model="serverSwitch" class="m-2" @change="changeServer" placeholder="选择服务器" size="large" style="width: 80px"> |
||||||
|
<el-option v-for="item in serverCategorize" :key="item.value" :label="item.label" :value="item.value" /> |
||||||
|
</el-select> |
||||||
|
<el-select v-model="queryParams.servers" multiple collapse-tags clearable class="m-2" placeholder="选择服务器" size="large"> |
||||||
|
<el-option v-for="item in switchServer()" :key="item.id" :label="item.name" :value="item.id" /> |
||||||
|
</el-select> |
||||||
|
</el-form-item> |
||||||
|
</el-form> |
||||||
|
<template #footer> |
||||||
|
<span class="dialog-footer"> |
||||||
|
<el-button @click="onCancel" size="default">取 消</el-button> |
||||||
|
<el-button size="default" type="primary" class="ml10" @click="addItem"> |
||||||
|
<el-icon> |
||||||
|
<ele-EditPen /> |
||||||
|
</el-icon> |
||||||
|
<div v-if="isNew">新增</div> |
||||||
|
<div v-else>修改</div> |
||||||
|
</el-button> |
||||||
|
</span> |
||||||
|
</template> |
||||||
|
</el-dialog> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script lang="ts"> |
||||||
|
import { reactive, toRefs, defineComponent } from 'vue'; |
||||||
|
import { ElLoading } from 'element-plus'; |
||||||
|
import { gameAddLoginUrl } from '/@/api/game'; |
||||||
|
import { ServerCategorize, serverList } from '/@/utils/game'; |
||||||
|
import { gSwitchServer } from '/@/utils/utils'; |
||||||
|
|
||||||
|
interface TableDataState { |
||||||
|
isShowDialog: boolean; |
||||||
|
isNew: boolean; |
||||||
|
queryParams: object; |
||||||
|
servers: object[]; |
||||||
|
serverSwitch: number; |
||||||
|
serverCategorize: object[]; |
||||||
|
} |
||||||
|
|
||||||
|
export default defineComponent({ |
||||||
|
name: 'systemEditRecommendData', |
||||||
|
setup(prop, { emit }) { |
||||||
|
const state = reactive<TableDataState>({ |
||||||
|
isShowDialog: false, |
||||||
|
isNew: false, |
||||||
|
queryParams: { recommend: 0, servers: [] }, |
||||||
|
servers: [], |
||||||
|
serverCategorize: ServerCategorize, |
||||||
|
serverSwitch: 0, |
||||||
|
}); |
||||||
|
const switchServer = () => { |
||||||
|
return gSwitchServer(state.serverSwitch, state.servers); |
||||||
|
}; |
||||||
|
// 打开弹窗 |
||||||
|
const openDialog = (row: any | null) => { |
||||||
|
state.isShowDialog = true; |
||||||
|
console.log('openDialog: >>>>>>>>>>>', row); |
||||||
|
serverList().then((res) => { |
||||||
|
state.servers = res; |
||||||
|
}); |
||||||
|
}; |
||||||
|
|
||||||
|
// 关闭弹窗 |
||||||
|
const closeDialog = () => { |
||||||
|
state.isShowDialog = false; |
||||||
|
}; |
||||||
|
// 取消 |
||||||
|
const onCancel = () => { |
||||||
|
closeDialog(); |
||||||
|
}; |
||||||
|
// 新增 |
||||||
|
const addItem = () => { |
||||||
|
const loading = ElLoading.service({ |
||||||
|
lock: true, |
||||||
|
text: 'Loading', |
||||||
|
background: 'rgba(0, 0, 0, 0.7)', |
||||||
|
}); |
||||||
|
|
||||||
|
for (let i in state.queryParams.servers) { |
||||||
|
updateItem(state.queryParams.servers[i]); |
||||||
|
} |
||||||
|
|
||||||
|
loading.close(); |
||||||
|
closeDialog(); |
||||||
|
}; |
||||||
|
const updateItem = (server: number) => { |
||||||
|
gameAddLoginUrl({ recommend: state.queryParams.recommend, id: server }) |
||||||
|
.then((res) => { |
||||||
|
console.log(res); |
||||||
|
emit('countList'); |
||||||
|
}) |
||||||
|
.finally(function () {}); |
||||||
|
}; |
||||||
|
const changeServer = () => { |
||||||
|
let servers = gSwitchServer(state.serverSwitch, state.servers); |
||||||
|
state.queryParams.servers = []; |
||||||
|
for (let i in servers) { |
||||||
|
state.queryParams.servers.push(servers[i].id); |
||||||
|
} |
||||||
|
}; |
||||||
|
return { |
||||||
|
changeServer, |
||||||
|
switchServer, |
||||||
|
openDialog, |
||||||
|
closeDialog, |
||||||
|
onCancel, |
||||||
|
addItem, |
||||||
|
...toRefs(state), |
||||||
|
}; |
||||||
|
}, |
||||||
|
}); |
||||||
|
</script> |
@ -0,0 +1,125 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<el-dialog :title="isNew ? '新增服务器状态' : '修改服务器状态'" v-model="isShowDialog" width="769px"> |
||||||
|
<el-form label-width="90px" label-position="right"> |
||||||
|
<el-form-item label="服务器状态" prop="state"> |
||||||
|
<el-select v-model="queryParams.state" class="m-2" placeholder="选择服务器状态"> |
||||||
|
<el-option label="正常" :value="1" /> |
||||||
|
<el-option label="维护" :value="2" /> |
||||||
|
<el-option label="白名单" :value="3" /> |
||||||
|
</el-select> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="服务器" prop="servers"> |
||||||
|
<el-select v-model="serverSwitch" class="m-2" @change="changeServer" placeholder="选择服务器" size="large" style="width: 80px"> |
||||||
|
<el-option v-for="item in serverCategorize" :key="item.value" :label="item.label" :value="item.value" /> |
||||||
|
</el-select> |
||||||
|
<el-select v-model="queryParams.servers" multiple collapse-tags clearable class="m-2" placeholder="选择服务器" size="large"> |
||||||
|
<el-option v-for="item in switchServer()" :key="item.id" :label="item.name" :value="item.id" /> |
||||||
|
</el-select> |
||||||
|
</el-form-item> |
||||||
|
</el-form> |
||||||
|
<template #footer> |
||||||
|
<span class="dialog-footer"> |
||||||
|
<el-button @click="onCancel" size="default">取 消</el-button> |
||||||
|
<el-button size="default" type="primary" class="ml10" @click="addItem"> |
||||||
|
<el-icon> |
||||||
|
<ele-EditPen /> |
||||||
|
</el-icon> |
||||||
|
<div v-if="isNew">新增</div> |
||||||
|
<div v-else>修改</div> |
||||||
|
</el-button> |
||||||
|
</span> |
||||||
|
</template> |
||||||
|
</el-dialog> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script lang="ts"> |
||||||
|
import { reactive, toRefs, defineComponent } from 'vue'; |
||||||
|
import { ElLoading } from 'element-plus'; |
||||||
|
import { gameAddLoginUrl } from '/@/api/game'; |
||||||
|
import { ServerCategorize, serverList } from '/@/utils/game'; |
||||||
|
import { gSwitchServer } from '/@/utils/utils'; |
||||||
|
|
||||||
|
interface TableDataState { |
||||||
|
isShowDialog: boolean; |
||||||
|
isNew: boolean; |
||||||
|
queryParams: object; |
||||||
|
servers: object[]; |
||||||
|
serverSwitch: number; |
||||||
|
serverCategorize: object[]; |
||||||
|
} |
||||||
|
|
||||||
|
export default defineComponent({ |
||||||
|
name: 'systemEditRecommendData', |
||||||
|
setup(prop, { emit }) { |
||||||
|
const state = reactive<TableDataState>({ |
||||||
|
isShowDialog: false, |
||||||
|
isNew: false, |
||||||
|
queryParams: { state: 1, servers: [] }, |
||||||
|
servers: [], |
||||||
|
serverCategorize: ServerCategorize, |
||||||
|
serverSwitch: 0, |
||||||
|
}); |
||||||
|
const switchServer = () => { |
||||||
|
return gSwitchServer(state.serverSwitch, state.servers); |
||||||
|
}; |
||||||
|
// 打开弹窗 |
||||||
|
const openDialog = () => { |
||||||
|
state.isShowDialog = true; |
||||||
|
serverList().then((res) => { |
||||||
|
state.servers = res; |
||||||
|
console.log('openDialog: >>>>>>>>>>>', res); |
||||||
|
}); |
||||||
|
}; |
||||||
|
|
||||||
|
// 关闭弹窗 |
||||||
|
const closeDialog = () => { |
||||||
|
state.isShowDialog = false; |
||||||
|
}; |
||||||
|
// 取消 |
||||||
|
const onCancel = () => { |
||||||
|
closeDialog(); |
||||||
|
}; |
||||||
|
// 新增 |
||||||
|
const addItem = () => { |
||||||
|
const loading = ElLoading.service({ |
||||||
|
lock: true, |
||||||
|
text: 'Loading', |
||||||
|
background: 'rgba(0, 0, 0, 0.7)', |
||||||
|
}); |
||||||
|
|
||||||
|
for (let i in state.queryParams.servers) { |
||||||
|
updateItem(state.queryParams.servers[i]); |
||||||
|
} |
||||||
|
|
||||||
|
loading.close(); |
||||||
|
closeDialog(); |
||||||
|
}; |
||||||
|
const updateItem = (server: number) => { |
||||||
|
gameAddLoginUrl({ state: state.queryParams.state, id: server }) |
||||||
|
.then((res) => { |
||||||
|
console.log(res); |
||||||
|
emit('countList'); |
||||||
|
}) |
||||||
|
.finally(function () {}); |
||||||
|
}; |
||||||
|
const changeServer = () => { |
||||||
|
let servers = gSwitchServer(state.serverSwitch, state.servers); |
||||||
|
state.queryParams.servers = []; |
||||||
|
for (let i in servers) { |
||||||
|
state.queryParams.servers.push(servers[i].id); |
||||||
|
} |
||||||
|
}; |
||||||
|
return { |
||||||
|
changeServer, |
||||||
|
switchServer, |
||||||
|
openDialog, |
||||||
|
closeDialog, |
||||||
|
onCancel, |
||||||
|
addItem, |
||||||
|
...toRefs(state), |
||||||
|
}; |
||||||
|
}, |
||||||
|
}); |
||||||
|
</script> |
@ -0,0 +1,209 @@ |
|||||||
|
<template> |
||||||
|
<div class="game-order-container"> |
||||||
|
<el-card shadow="hover"> |
||||||
|
<div class="game-order-search mb15"> |
||||||
|
<el-form> |
||||||
|
<el-form-item label="订单Id" prop="channel"> |
||||||
|
<el-input size="default" v-model="tableData.param.order" placeholder="请输入订单Id" class="w-50 m-2" clearable /> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item> |
||||||
|
<el-button size="default" type="primary" class="ml10" @click="orderList"> |
||||||
|
<el-icon> |
||||||
|
<ele-Search /> |
||||||
|
</el-icon> |
||||||
|
查询 |
||||||
|
</el-button> |
||||||
|
</el-form-item> |
||||||
|
</el-form> |
||||||
|
</div> |
||||||
|
<el-table :data="tableData.data" style="width: 100%" border> |
||||||
|
<el-table-column prop="tradeNo" label="订单id" show-overflow-tooltip></el-table-column> |
||||||
|
<el-table-column prop="unitId" label="id" show-overflow-tooltip></el-table-column> |
||||||
|
<el-table-column prop="amount" label="金额(元)" show-overflow-tooltip width="120"></el-table-column> |
||||||
|
<el-table-column prop="createTime" label="充值时间" show-overflow-tooltip width="180"></el-table-column> |
||||||
|
<el-table-column prop="remark" label="状态" show-overflow-tooltip width="120"> |
||||||
|
<template #default="scope"> |
||||||
|
<div v-if="scope.row.remark == ''" style="color: #e60000">充值失败</div> |
||||||
|
<div v-else-if="scope.row.remark == 'SUCCESS'">充值成功</div> |
||||||
|
<div v-else>{{ scope.row.remark }}</div> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column prop="user" label="操作人员" show-overflow-tooltip width="120"></el-table-column> |
||||||
|
<el-table-column prop="channel" label="渠道" show-overflow-tooltip width="120"> |
||||||
|
<template #default="scope"> |
||||||
|
<span>{{ channels.find((r) => r.value == scope.row.channel)?.label }}</span> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column prop="server" label="区服" show-overflow-tooltip width="120"> |
||||||
|
<template #default="scope"> |
||||||
|
<span>{{ servers.find((r) => r.id == scope.row.server).name }}</span> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
</el-table> |
||||||
|
<el-row justify="space-evenly"> |
||||||
|
<el-pagination |
||||||
|
:hide-on-single-page="true" |
||||||
|
v-model:page-size="tableData.param.pageSize" |
||||||
|
v-model:current-page="tableData.param.pageNum" |
||||||
|
:pager-count="5" |
||||||
|
@current-change="orderList" |
||||||
|
layout="total, prev, pager, next" |
||||||
|
:total="tableData.total" |
||||||
|
/> |
||||||
|
</el-row> |
||||||
|
</el-card> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script lang="ts"> |
||||||
|
import { toRefs, reactive, onMounted, defineComponent } from 'vue'; |
||||||
|
import { gameRechargeChangeStateDelete, gmOrderList } from '/@/api/game'; |
||||||
|
import { allChannelList, ServerCategorize, serverList, ServerList } from '/@/utils/game'; |
||||||
|
import RechargeConfigCategory from '/@/api/config/RechargeConfigCategory.json'; |
||||||
|
import { ElMessage, ElMessageBox } from 'element-plus/es'; |
||||||
|
import { gSwitchServer, guid } from '/@/utils/utils'; |
||||||
|
import jwt from 'jsonwebtoken'; |
||||||
|
|
||||||
|
// 定义接口来定义对象的类型 |
||||||
|
interface TableData { |
||||||
|
id: string; |
||||||
|
CreateTime: string; |
||||||
|
CfgId: number; |
||||||
|
Rmb: number; |
||||||
|
SilverPiece: number; |
||||||
|
Identity: string; |
||||||
|
timeStr: string; |
||||||
|
uid: string; |
||||||
|
RealName: string; |
||||||
|
StringId: string; |
||||||
|
} |
||||||
|
|
||||||
|
interface TableDataState { |
||||||
|
serverSwitch: number; |
||||||
|
serverCategorize: object; |
||||||
|
tableData: { |
||||||
|
data: Array<TableData>; |
||||||
|
total: number; |
||||||
|
param: { |
||||||
|
order: string; |
||||||
|
}; |
||||||
|
}; |
||||||
|
servers: object; |
||||||
|
channels: object; |
||||||
|
rechargeInfo: object[]; |
||||||
|
} |
||||||
|
|
||||||
|
export default defineComponent({ |
||||||
|
name: 'apiV1GameOrderTransactionId', |
||||||
|
setup() { |
||||||
|
// const {proxy} = getCurrentInstance() as any; |
||||||
|
|
||||||
|
const state = reactive<TableDataState>({ |
||||||
|
serverSwitch: 0, |
||||||
|
serverCategorize: ServerCategorize, |
||||||
|
tableData: { |
||||||
|
data: [], |
||||||
|
total: 0, |
||||||
|
param: { |
||||||
|
order: '', |
||||||
|
}, |
||||||
|
}, |
||||||
|
servers: ServerList, |
||||||
|
channels: [], |
||||||
|
rechargeInfo: RechargeConfigCategory, |
||||||
|
}); |
||||||
|
|
||||||
|
const orderList = () => { |
||||||
|
// gmOrderList(state.tableData.param).then((res) => { |
||||||
|
// console.log(res); |
||||||
|
// state.tableData.total = Number(res.data.total) || 0; |
||||||
|
// state.tableData.data = res.data.list || []; |
||||||
|
// }); |
||||||
|
let time = Math.floor(Date.now() / 1000); |
||||||
|
let payload = { |
||||||
|
iss: 'b8b82821-922e-4b43-a3cf-d293020a70d1', |
||||||
|
iat: time - 10, |
||||||
|
exp: time + 3590, |
||||||
|
aud: 'appstoreconnect-v1', |
||||||
|
nonce: guid(), |
||||||
|
// "bid": "com.Avatar.PeachColony" |
||||||
|
bid: 'com.XiamenAvatar.PeachValley', |
||||||
|
}; |
||||||
|
|
||||||
|
let key_data = |
||||||
|
`-----BEGIN PRIVATE KEY----- |
||||||
|
MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQg2XqPEHgWj2cUnO2GoPfIeEcAc0tJsTehvNNNBTGf4KigCgYIKoZIzj0DAQehRANCAAT6IdBMPYuNAQYuZsYi3EkflniotI/KJa6ELt1ednywlOpuwgNOn2WXONmDzzVVMJqQjD/6FSJ4jH7fRtP+Eci6 |
||||||
|
-----END PRIVATE KEY-----`; |
||||||
|
let signture = jwt.sign(payload, key_data, {algorithm: "ES256",keyid: "J4RAWQBLHF"}); |
||||||
|
|
||||||
|
getTransactionId(signture); |
||||||
|
}; |
||||||
|
const getTransactionId = function (data) { |
||||||
|
console.log("header: %j", data); |
||||||
|
let config = { |
||||||
|
method: "GET", |
||||||
|
// url: "https://api.storekit.itunes.apple.com/inApps/v1/history/" + order7, |
||||||
|
url: "https://api.storekit.itunes.apple.com/inApps/v1/lookup/" + state.tableData.param.order, |
||||||
|
headers: {Authorization: "Bearer " + data,"Content-Type": "application/json"} |
||||||
|
}; |
||||||
|
console.log("config: %j", config); |
||||||
|
axios.request(config).then(function (response) { |
||||||
|
console.log("res", response.data.signedTransactions[0]); |
||||||
|
let decode = jwt.decode(response.data.signedTransactions[0]); |
||||||
|
console.log("decode", decode); |
||||||
|
}).catch(function (error) { |
||||||
|
console.log("error", error); |
||||||
|
// logger.error(" getTransactionId bug >> catch err: %j ", throw error); |
||||||
|
}); |
||||||
|
}; |
||||||
|
// 页面加载时 |
||||||
|
onMounted(() => { |
||||||
|
serverList().then((res) => { |
||||||
|
state.servers = res; |
||||||
|
}); |
||||||
|
allChannelList().then((res) => { |
||||||
|
state.channels = res; |
||||||
|
}); |
||||||
|
}); |
||||||
|
|
||||||
|
const switchServer = () => { |
||||||
|
return gSwitchServer(state.serverSwitch, state.servers); |
||||||
|
}; |
||||||
|
const changeState = (order: string, state: number, remark: string) => { |
||||||
|
if (state != 3 && state != 2) { |
||||||
|
return; |
||||||
|
} |
||||||
|
if (state == 3) { |
||||||
|
let mess = '是否确认订单失效?,点击确认后本条订单失效。'; |
||||||
|
ElMessageBox.confirm(mess).then(() => { |
||||||
|
gameRechargeChangeStateDelete({ order: order, state: state }).then((res) => { |
||||||
|
if (res.data.data == 1) { |
||||||
|
ElMessage.success('发送成功'); |
||||||
|
} |
||||||
|
orderList(); |
||||||
|
}); |
||||||
|
}); |
||||||
|
} else if (state == 2) { |
||||||
|
ElMessageBox.prompt('请输入修改成功理由', '提示', { |
||||||
|
confirmButtonText: '确认', |
||||||
|
cancelButtonText: '取消', |
||||||
|
inputErrorMessage: 'Invalid http request', |
||||||
|
}).then(({ value }) => { |
||||||
|
gameRechargeChangeStateDelete({ order: order, state: state, remark: remark + ', ' + value }).then((res) => { |
||||||
|
if (res.data.data == 1) { |
||||||
|
ElMessage.success('发送成功'); |
||||||
|
} |
||||||
|
orderList(); |
||||||
|
}); |
||||||
|
}); |
||||||
|
} |
||||||
|
}; |
||||||
|
return { |
||||||
|
switchServer, |
||||||
|
orderList, |
||||||
|
changeState, |
||||||
|
...toRefs(state), |
||||||
|
}; |
||||||
|
}, |
||||||
|
}); |
||||||
|
</script> |
@ -0,0 +1,62 @@ |
|||||||
|
<template> |
||||||
|
<div class="system-edit-post-container"> |
||||||
|
<el-form ref="formRef" size="default" label-width="80px"> |
||||||
|
<el-card shadow="hover" header=""> |
||||||
|
<el-form-item> |
||||||
|
<el-button size="default" type="primary" class="ml10" @click="onReset"> |
||||||
|
<el-icon> |
||||||
|
<ele-RefreshRight /> |
||||||
|
</el-icon> |
||||||
|
重置充值档位记录 |
||||||
|
</el-button> |
||||||
|
</el-form-item> |
||||||
|
</el-card> |
||||||
|
</el-form> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
<script lang="ts"> |
||||||
|
import { defineComponent, reactive, ref, toRefs } from 'vue'; |
||||||
|
import { resetOrderSign } from '/@/api/game'; |
||||||
|
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'; |
||||||
|
|
||||||
|
interface TableDataState {} |
||||||
|
|
||||||
|
export default defineComponent({ |
||||||
|
name: 'apiV1GameResetSign', |
||||||
|
setup: function () { |
||||||
|
const formRef = ref<HTMLElement | null>(null); |
||||||
|
const menuRef = ref(); |
||||||
|
const state = reactive<TableDataState>({}); |
||||||
|
const onReset = () => { |
||||||
|
const loading = ElLoading.service({ |
||||||
|
lock: true, |
||||||
|
text: 'Loading', |
||||||
|
background: 'rgba(0, 0, 0, 0.7)', |
||||||
|
}); |
||||||
|
ElMessageBox.confirm(`此操作将删除:玩家充值档位记录,是否继续?`, '提示', { |
||||||
|
confirmButtonText: '确认', |
||||||
|
cancelButtonText: '取消', |
||||||
|
type: 'warning', |
||||||
|
}) |
||||||
|
.then(() => { |
||||||
|
resetOrderSign() |
||||||
|
.then(() => { |
||||||
|
ElMessage.success('删除成功'); |
||||||
|
}) |
||||||
|
.finally(() => { |
||||||
|
loading.close(); |
||||||
|
}); |
||||||
|
}) |
||||||
|
.catch(() => { |
||||||
|
loading.close(); |
||||||
|
}); |
||||||
|
}; |
||||||
|
return { |
||||||
|
onReset, |
||||||
|
menuRef, |
||||||
|
formRef, |
||||||
|
...toRefs(state), |
||||||
|
}; |
||||||
|
}, |
||||||
|
}); |
||||||
|
</script> |
Loading…
Reference in new issue