增加金币开通游戏的功能

This commit is contained in:
zhl 2019-02-20 21:56:38 +08:00
parent 236f685c8a
commit 8370c8b9b9
3 changed files with 110 additions and 20 deletions

View File

@ -71,10 +71,11 @@
showMore: false, showMore: false,
record: {}, record: {},
typeStr: '其他', typeStr: '其他',
score: 0,
bottomActionCfg: { bottomActionCfg: {
hide: false, hide: false,
mainBtnIconClass: 'icon-merge', mainBtnIconClass: 'icon-cart',
mainBtnTitle: '开游戏', mainBtnTitle: '开游戏',
secondBtnIconClass: 'icon-coin-yen', secondBtnIconClass: 'icon-coin-yen',
secondBtnTitle: '领取金币' secondBtnTitle: '领取金币'
} }
@ -89,25 +90,16 @@
}, },
bottomMainTap(e) { bottomMainTap(e) {
console.log('bottomMainTap'); console.log('bottomMainTap');
http.post('/api/emulated/play_game', { gid: this.id }) if (this.record.owned) {
.then(res => { this.playGame();
console.log('success update game history'); } else {
// let url = `${g.gameBase}/gba/${this.id}`; //显示购买游戏界面
jcEvent.emit('update-recent-games', {}); this.showBuyMenu();
let url = 'http://www.baidu.com'; }
wepy.navigateTo({
url: '/pages/game?link=' + url
});
})
.catch(err => {
console.log('err update game history');
});
}, },
bottomSecondTap(e) { bottomSecondTap(e) {
console.log('bottomSecondTap'); console.log('bottomSecondTap');
wepy.navigateTo({
url: '/pages/product?gid=' + this.id
});
}, },
toggleShowMore() { toggleShowMore() {
this.showMore = !this.showMore; this.showMore = !this.showMore;
@ -118,8 +110,73 @@
this.id = decodeURIComponent(params.id); this.id = decodeURIComponent(params.id);
console.log(this.id); console.log(this.id);
this.getRecord(); this.getRecord();
this.getUserInfo();
} }
async showBuyMenu() {
try {
let res = await wepy.showActionSheet({
itemList: [`金币开通(${this.record.score})`, '促销开通']
});
if (!res.cancel) {
if (res.tapIndex === 0) {
console.log('点击金币开通');
if (this.score < this.record.score) {
console.log('金币不足');
wepy.showToast({
title: '金币不足',
icon: 'none',
duration: 2000
})
} else {
this.buyGame();
}
} else {
wepy.navigateTo({
url: '/pages/product?gid=' + this.id
});
}
}
} catch (err) {
console.log('cancel select')
}
}
playGame() {
http.post('/api/emulated/play_game', { gid: this.id })
.then(res => {
console.log('success update game history');
// let url = `${g.gameBase}/gba/${this.id}`;
jcEvent.emit('update-recent-games', {});
let url = 'http://www.baidu.com';
wepy.navigateTo({
url: '/pages/game?link=' + url
});
})
.catch(err => {
console.log('err update game history');
});
}
async buyGame() {
try {
let res = await http.post(`/api/emulated/buy_game`, { gid: this.id });
if (res.errcode === 0) {
wepy.showToast({
title: '开通成功',
icon: 'none',
duration: 2000
})
this.getRecord();
}
} catch (err) {
console.log('buy game error');
wepy.showToast({
title: '开通失败',
icon: 'none',
duration: 2000
})
}
}
async getRecord() { async getRecord() {
let self = this; let self = this;
try { try {
@ -130,6 +187,13 @@
if (this.record.type <= g.gameTypes.length) { if (this.record.type <= g.gameTypes.length) {
this.typeStr = g.gameTypes[this.record.type - 1]; this.typeStr = g.gameTypes[this.record.type - 1];
} }
if (this.record.owned) {
this.bottomActionCfg.mainBtnIconClass = 'icon-merge';
this.bottomActionCfg.mainBtnTitle = '开始游戏';
} else {
this.bottomActionCfg.mainBtnIconClass = 'icon-cart';
this.bottomActionCfg.mainBtnTitle = '开通游戏';
}
self.loading = false; self.loading = false;
self.$apply(); self.$apply();
} else { } else {
@ -141,5 +205,14 @@
self.loading = false; self.loading = false;
} }
} }
async getUserInfo() {
try {
let res = await http.post('/api/emulated/user_info', {type: 'score'});
this.score = res.score;
this.$apply();
} catch (err) {
console.log('error get user info');
}
}
} }
</script> </script>

View File

@ -55,7 +55,8 @@
current: 0, current: 0,
loading: false, loading: false,
noData: true, noData: true,
noMore: false noMore: false,
gameSet: new Set()
}; };
methods = { methods = {
@ -116,6 +117,7 @@
getAllData() { getAllData() {
this.getRecords(); this.getRecords();
this.getRecendGames(); this.getRecendGames();
this.getUserInfo();
} }
onUnload() { onUnload() {
jcEvent.remove('login-finished', this); jcEvent.remove('login-finished', this);
@ -144,6 +146,18 @@
console.log('error get recent games'); console.log('error get recent games');
} }
} }
async getUserInfo() {
try {
let res = await http.post('/api/emulated/user_info', {type: 'all'});
console.log(res);
for(let game of res.games) {
this.gameSet.add(game.gid);
}
this.$apply();
} catch (err) {
console.log('error get user info');
}
}
async getRecords() { async getRecords() {
let self = this; let self = this;
try { try {

View File

@ -1,6 +1,6 @@
@font-face { @font-face {
font-family: 'xmjlicons'; font-family: 'xmjlicons';
src: url(data:font/truetype;charset=utf-8;base64,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) format('truetype'); src: url(data:font/truetype;charset=utf-8;base64,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) format('truetype');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
} }
@ -20,6 +20,9 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.icon-cart:before {
content: "\e93a";
}
.icon-coin-yen:before { .icon-coin-yen:before {
content: "\e93e"; content: "\e93e";
} }