Commit 01ca765a authored by XieChuanJin's avatar XieChuanJin

终版

parent 8a2babab
...@@ -72,10 +72,10 @@ export abstract class ABNetManager { ...@@ -72,10 +72,10 @@ export abstract class ABNetManager {
let res = DataManager.ins.getData(uri); let res = DataManager.ins.getData(uri);
if (e) { if (e) {
console.log("response", uri, res); console.log("response", uri, res);
callback(res);
} else { } else {
console.warn("response", uri, res); console.warn("response", uri, res);
} }
callback(res);
}, },
pollingCheck: pollingCheck, pollingCheck: pollingCheck,
pollingCount: pollingCount pollingCount: pollingCount
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
</e:Skin> </e:Skin>
</e:skinName> </e:skinName>
</e:Button> </e:Button>
<e:Label id="text" text="活动需要消耗9积分参与哦~" x="204" y="376.5" textColor="0x437779" size="30" scaleX="1" scaleY="1"/> <e:Label id="text" text="" textColor="0x437779" size="30" scaleX="1" scaleY="1" horizontalCenter="11.5" verticalCenter="-13.5" textAlign="center"/>
<e:Button id="closeBtn" horizontalCenter="272" verticalCenter="-275.5" x="623" y="581" scaleX="1" scaleY="1"> <e:Button id="closeBtn" horizontalCenter="272" verticalCenter="-275.5" x="623" y="581" scaleX="1" scaleY="1">
<e:skinName> <e:skinName>
<e:Skin states="up,down,disabled"> <e:Skin states="up,down,disabled">
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<e:Skin class="RulePanel" xmlns:e="http://ns.egret.com/eui" xmlns:w="http://ns.egret.com/wing"> <e:Skin class="RulePanel" xmlns:e="http://ns.egret.com/eui" xmlns:w="http://ns.egret.com/wing" width="750" height="1624">
<w:Config id="16d19576d08" /> <w:Config id="16d19576d08" />
<e:Rect left="0" right="0" top="0" bottom="0" fillAlpha="0.8"/> <e:Rect left="0" right="0" top="0" bottom="0" fillAlpha="0.8" />
<e:Group height="638" width="560" verticalCenter="-50" horizontalCenter="0" alpha="0.9"> <e:Group width="640" verticalCenter="-50" horizontalCenter="0" alpha="0.9">
<e:Scroller left="50" right="50" top="100" height="450" bounces="false"> <e:Scroller left="50" right="50" top="100" height="640" bounces="false">
<e:Group> <e:Group>
<e:Label id="text" <e:Label id="text" text="" textColor="0xcccccc" left="0" right="0" size="23" lineSpacing="20" top="10"
text="我是,活动规则是活,动规则我是活动规则我是活动规则我是活动规则,我是活动规则。我是,活动规则是活,动规则我是活动规则我是活动规则我是活动规则,我是活动规则。我是,活动规则是活,动规则我是活动规则我是活动规则我是活动规则,我是活动规则。我是,活动规则是活,动规则我是活动规则我是活动规则我是活动规则,我是活动规则。我是,活动规则是活,动规则我是活动规则我是活动规则我是活动规则,我是活动规则。我是,活动规则是活,动规则我是活动规则我是活动规则我是活动规则,我是活动规则。我是,活动规则是活,动规则我是活动规则我是活动规则我是活动规则,我是活动规则。我是,活动规则是活,动规则我是活动规则我是活动规则我是活动规则,我是活动规则。我是,活动规则是活,动规则我是活动规则我是活动规则我是活动规则,我是活动规则。" width="460" />
textColor="0xcccccc" left="0" right="0" size="30" lineSpacing="20" top="10" width="460" />
</e:Group> </e:Group>
</e:Scroller> </e:Scroller>
<e:Label id="title" text="活动规则" horizontalCenter="0" top="40" size="40" textAlign="center" textColor="0xcccccc" /> <e:Label id="title" text="活动规则" horizontalCenter="0" top="40" size="40" textAlign="center" textColor="0xcccccc" />
<e:Button id="closeBtn" horizontalCenter="0" verticalCenter="295"> <e:Button id="closeBtn" horizontalCenter="0" verticalCenter="386">
<e:skinName> <e:skinName>
<e:Skin states="up,down,disabled"> <e:Skin states="up,down,disabled">
<e:Image width="100%" height="100%" source="closeBtn_png" /> <e:Image width="100%" height="100%" source="closeBtn_png" />
......
import { NetManager } from "../libs/tw/manager/NetManager"; import { NetManager } from "../libs/tw/manager/NetManager";
import { MUrl } from "./MConst"; import { MUrl } from "./MConst";
import { Buried } from "../libs/tw/util/Buried";
import { DataManager } from "../libs/tw/manager/DataManager";
export namespace MUtils { export namespace MUtils {
export function setButtonImage(button: eui.Button, texture: egret.Texture) { export function setButtonImage(button: eui.Button, texture: egret.Texture) {
...@@ -50,16 +52,21 @@ export namespace MUtils { ...@@ -50,16 +52,21 @@ export namespace MUtils {
}); });
} }
/* function loadRemoteImage(url: string, callback: (tex: egret.Texture) => void) { function doBuried(appIdParam: string, netManager: NetManager, callback: string) {
let imgLoader: egret.ImageLoader = new egret.ImageLoader(); //初始化埋点数据
imgLoader.once(egret.Event.COMPLETE, (event: egret.Event) => { Buried.init();
let loader: egret.ImageLoader = event.currentTarget; var appId = DataManager.ins.customCfgData.appId;
let texture = new egret.Texture(); var oaId = window["projectId"];
texture.bitmapData = loader.data; let data = Buried.createExposure(appId + `.110.${appIdParam}.1`, `202.${oaId}.0.0`);
callback(texture); netManager[callback](data);
}, this); console.log("exposure", data);
imgLoader.load(url); }
} */ export function doClickBuried(appIdParam: string) {
doBuried(appIdParam, NetManager.ins, "clickLog");
}
export function doShowBuried(appIdParam: string) {
doBuried(appIdParam, NetManager.ins, "showLog");
}
export function getDomain() { export function getDomain() {
return new Promise<string>((resolve) => { return new Promise<string>((resolve) => {
......
...@@ -17,12 +17,21 @@ export default class CostTipPanel extends Panel { ...@@ -17,12 +17,21 @@ export default class CostTipPanel extends Panel {
super.onSkinComplete(); super.onSkinComplete();
this.mainScene = this.data["mainScene"] as MainScene; this.mainScene = this.data["mainScene"] as MainScene;
this.text.text = `活动需要消耗${await this.mainScene.getLotteryCost()}参与哦~`; this.text.text = `活动需要消耗${await this.mainScene.getLotteryCost()}参与哦~`;
this.btnOk.onTap(this, () => { this.btnOk.onTap(this, async () => {
this.hidePanel();
//拦截积分不足的情况
let currentCredits = await this.getCredits();
if (currentCredits < this.mainScene.creditsCostPerLottery) {
PanelCtrl.instance.show(ToastPanel, { msg: "剩余积分不足" });
console.log("credits lack", currentCredits, this.mainScene.creditsCostPerLottery);
return;
}
// console.warn(currentCredits, this.mainScene.creditsCostPerLottery);
NetManager.ins.sendPost(MUrl.CreditsCost, { NetManager.ins.sendPost(MUrl.CreditsCost, {
toPlaywayId: window["toPlaywayId"], toPlaywayId: window["toPlaywayId"],
toActionId: window["toActionId"] toActionId: window["toActionId"]
}, (response) => { }, (response) => {
this.hidePanel();
let ticketNum = response["data"]; let ticketNum = response["data"];
Loading.instace.show(); Loading.instace.show();
NetManager.ins.sendPost(MUrl.QueryCreditsCost, { ticketNum: ticketNum }, (res) => { NetManager.ins.sendPost(MUrl.QueryCreditsCost, { ticketNum: ticketNum }, (res) => {
...@@ -47,4 +56,13 @@ export default class CostTipPanel extends Panel { ...@@ -47,4 +56,13 @@ export default class CostTipPanel extends Panel {
}); });
}); });
} }
public getCredits() {
return new Promise<number>((resolve) => {
NetManager.ins.sendGet(MUrl.GetProjectUserInfo, undefined, (res) => {
resolve(res["data"]["consumerCredits"]);
});
})
}
} }
\ No newline at end of file
...@@ -3,6 +3,7 @@ import { Decorator } from "../Decorator/Decorator"; ...@@ -3,6 +3,7 @@ import { Decorator } from "../Decorator/Decorator";
@Decorator.ClassNameSkin("RulePanel") @Decorator.ClassNameSkin("RulePanel")
export default class RulePanel extends eui.Component { export default class RulePanel extends eui.Component {
public closeBtn: eui.Button; public closeBtn: eui.Button;
public text: eui.Label;
constructor() { constructor() {
super(); super();
...@@ -16,10 +17,46 @@ export default class RulePanel extends eui.Component { ...@@ -16,10 +17,46 @@ export default class RulePanel extends eui.Component {
onLoad() { onLoad() {
this.closeBtn.onTap(this, this.destroy); this.closeBtn.onTap(this, this.destroy);
this.text.text = text;
} }
destroy() { destroy() {
this.parent.visible = false; this.parent.visible = false;
super.destroy(); super.destroy();
} }
} }
\ No newline at end of file
let text =
`活动细则: 
1、活动时间:2019年9月19日-2019年10月16日 。
2、活动对象:已激活并绑定微信版屈臣氏会员卡的会员,并关注【屈臣氏服务助手】 。
3、参与条件:会员在屈臣氏大陆所有门店单笔消费满200元(购买会员卡、Fun享卡除外)或消耗9积分可获1次抽奖机会,每张小票最多抽奖1次。
4、活动奖品:
(1)携程礼品卡/无门槛通兑券:
1000元携程任我行礼品卡,共20张;
200元携程无门槛通兑券,共50张;
100元携程无门槛通兑券,共70张;
50元携程无门槛通兑券,共860张;
(2)ITO品牌旅行箱包/天猫满减券:
ITO20寸小黄箱(价值988元),共2个;
ITO20寸森绿箱(价值988元),共10个;
ITO 14寸无边界双肩包(价值498元),共7个;
ITO首饰收纳包Mini小黄箱(价值288元)共4个;
ITO无边界斜挎包(价值218元),共16个;
ITO天猫满200-100元优惠券,共2000张;
(3)屈臣氏干湿分离运动抽绳背包发带套装(价值129元),共10000份;
(4)君亭酒店集团铂金卡(92折),共20000份;
(5)美团酒店40元礼包,共20000份。
(6)积分券:
18积分,共20000份;
28积分,共10000份;
38积分,共9000份;
88积分,共6000份;
188积分,共4000份。
5、携程礼品卡/无门槛通兑券/君亭酒店集团铂金卡(92折)/美团酒店40元礼包将以券码形式发放,具体兑换说明及使用说明请前往【我的奖品】查看;
6、ITO品牌旅行箱包将以快递形式发放,中奖用户要登记真实姓名、手机号码、快递地址等信息,在中奖后15个工作日内以短信方式通知您奖品快递单号,如快递过程中出现损失获破损,不补不换。
7、ITO品牌天猫满199-100元券需中奖用户复制券号至天猫APP领取使用,具体使用说明请前往【我的奖品】查看;
8、屈臣氏干湿分离运动抽绳背包发带套装需中奖用户凭中奖码至屈臣氏门店领取,领取有效期为2019年9月19日-10月16日,一经领取不退不换,逾期视为放弃领取;
9、积分券中奖后在屈臣氏门店任意消费凭券核销券码,积分自动计入积分账户,具体使用说明请前往【我的奖品】查看;
10、在本次活动期间,如用户存在任何违反法律、法规、屈臣氏活动规则的行为,包括但不限于作弊得奖、恶意套现等行为,屈臣氏有权取消用户的中奖资格,收回所发奖品,要求用户将已享受的优惠退还屈臣氏,如奖品为实体奖品且用户已拆除外包装无法进行二次销售的,屈臣氏有权按照奖品的市场价格向用户追讨。
11、本次活动规则如有调整,以活动H5页面最新提示为准。因可能存在的系统缓存、页面更新导致页面显示异常等不确定性情况出现,如您发现会员活动或者促销信息有异常或对活动有任何疑问,请致电服务热线:4008301310(自付市内话费)`
\ No newline at end of file
...@@ -15,6 +15,7 @@ import { DataManager } from "../../libs/tw/manager/DataManager"; ...@@ -15,6 +15,7 @@ import { DataManager } from "../../libs/tw/manager/DataManager";
import Loading from "../loading/Loading"; import Loading from "../loading/Loading";
import layers from "../views/layers"; import layers from "../views/layers";
import { Data } from "../../libs/tw/data/Data"; import { Data } from "../../libs/tw/data/Data";
import { Buried } from "../../libs/tw/util/Buried";
const prizeIdKey = "prizeId"; const prizeIdKey = "prizeId";
...@@ -169,6 +170,8 @@ export default class MainScene extends Scene { ...@@ -169,6 +170,8 @@ export default class MainScene extends Scene {
} }
private onClickBtnLottery() { private onClickBtnLottery() {
MUtils.doClickBuried("1");
this.getLotteryTime((lotteryTime) => { this.getLotteryTime((lotteryTime) => {
if (lotteryTime <= 0) { if (lotteryTime <= 0) {
PanelCtrl.instance.show(CostTipPanel, { mainScene: this }); PanelCtrl.instance.show(CostTipPanel, { mainScene: this });
...@@ -178,10 +181,13 @@ export default class MainScene extends Scene { ...@@ -178,10 +181,13 @@ export default class MainScene extends Scene {
}); });
} }
public creditsCostPerLottery = 0;
public getLotteryCost() { public getLotteryCost() {
return new Promise<string>((resolve) => { return new Promise<string>((resolve) => {
NetManager.ins.sendGet(MUrl.GetProjectUserInfo, undefined, (res) => { NetManager.ins.sendGet(MUrl.GetProjectUserInfo, undefined, (res) => {
this.getLotteryTime((p1, credits) => { this.getLotteryTime((p1, credits) => {
this.creditsCostPerLottery = credits;
resolve(`${credits}${res["data"]["unitName"]}`); resolve(`${credits}${res["data"]["unitName"]}`);
}); });
}); });
......
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