修改数据接口为代理服务

This commit is contained in:
zhl 2021-12-22 12:10:04 +08:00
parent b3ccb0b798
commit 7749097b4e
6 changed files with 102 additions and 22 deletions

View File

@ -1,4 +1,5 @@
const DATA_BASE = 'https://sps.kingsome.cn'
const JC_DATA_BASE = 'https://ghost.kingsome.cn/api/svr'
export const searchGames = (params: any) => {
let data = {skip: 0, limit: 10}
@ -23,8 +24,34 @@ export const getGameInfo = (gameId: string) => {
uni.request({
url: `${DATA_BASE}/getgameinfoext`,
data,
success: (res) => {
resolve && resolve(res.data);
success: (res: any) => {
if (!res.data.oldGameId) {
reject && reject('blank')
} else {
resolve && resolve(res.data);
}
},
fail: (err) => {
reject && reject(err)
}
});
})
}
export const getGameInfoJC = (gameId: string) => {
let data = {oldGameId: gameId}
return new Promise((resolve, reject) => {
uni.request({
url: `${JC_DATA_BASE}/getgameinfoext`,
data,
success: (res: any) => {
if (!res.data.errcode) {
resolve && resolve(res.data.data);
} else {
reject && reject(res.data.errmsg)
}
},
fail: (err) => {
reject && reject(err)
@ -39,8 +66,33 @@ export const getGamePrice = (gameId: string, nums: number = 0) => {
uni.request({
url: `${DATA_BASE}/getgameprice`,
data,
success: (res) => {
resolve && resolve(res.data);
success: (res: any) => {
if (!res.data.oldGameId) {
reject && reject('blank')
} else {
resolve && resolve(res.data);
}
},
fail: (err) => {
reject && reject(err)
}
});
})
}
export const getGamePriceJC = (gameId: string, nums: number = 0) => {
const data = {oldGameId: gameId, nums}
return new Promise((resolve, reject) => {
uni.request({
url: `${JC_DATA_BASE}/getgameprice`,
data,
success: (res: any) => {
if (!res.data.errcode) {
resolve && resolve(res.data.data);
} else {
reject && reject(res.data.errmsg)
}
},
fail: (err) => {
reject && reject(err)

View File

@ -20,9 +20,13 @@
</view>
<view class="demo-uni-row price-row" @click="onClick(gData.gameId)">
<view class="">
<text class="price price-new">¥{{gData.price}}</text>
<text class="price price-raw">¥{{gData.originPrice}}</text>
<text class="price price-shop">{{gData.priceCountry}}</text>
<text v-if="gData.price > 0" class="price price-new">¥{{gData.price}}</text>
<text v-if="gData.price === 0" class="price price-new">免费</text>
<text v-if="gData.price === -1" class="price price-new">-</text>
<text v-if="gData.originPrice > 0" class="price price-raw">¥{{gData.originPrice}}</text>
<text v-if="gData.originPrice === 0" class="price price-raw">免费</text>
<text v-if="gData.originPrice === -1" class="price price-raw">-</text>
<text v-if="gData.priceCountry" class="price price-shop">{{gData.priceCountry}}</text>
</view>
<view class="discount-col" v-if="gData.discountLeftTime">
<text class="price price-discount">折扣剩余{{gData.discountLeftTime}}</text>

View File

@ -17,12 +17,16 @@
<uni-tag class="game-tag" v-for="tag in gData.tags" :text="tag.name" :inverted="!tag.fill" :type="tag.type"></uni-tag>
</view>
<view class="price-view">
<view class="price">¥{{gData.price}}</view>
<view class="price" v-if="gData.price > 0">¥{{gData.price}}</view>
<view class="price" v-if="gData.price === 0">免费</view>
<view class="price" v-if="gData.price === -1">-</view>
<view class="price-raw">
<text>¥{{gData.originPrice}}</text>
<text v-if="gData.originPrice > 0">¥{{gData.originPrice}}</text>
<text v-if="gData.originPrice === 0">免费</text>
<text v-if="gData.originPrice === -1">-</text>
<text v-if="gData.priceCountry">({{gData.priceCountry}})</text>
</view>
<uni-tag :text="gData.cutOff+'%折扣'" type="error"></uni-tag>
<uni-tag v-if="gData.cutOff > 0 " :text="gData.cutOff+'%折扣'" type="error"></uni-tag>
</view>
</view>
</view>
@ -103,7 +107,7 @@ export default class extends Vue{
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
padding: 5px 0;
padding: 5px;
height: 16px;
}
.game-tag text {

View File

@ -3,7 +3,7 @@
<view class="peopleSwiper">
<swiper class="bigImg" :current="current">
<swiper-item v-for="(big,index) in images" :key="index">
<image :src="big" mode="scaleToFit" class="blurImage"></image>
<image :src="big" mode="aspectFill" class="blurImage"></image>
</swiper-item>
</swiper>
<scroll-view class="smallImg" scroll-x="true" :show-scrollbar="false">

View File

@ -61,7 +61,7 @@ import { Component, Vue } from 'vue-property-decorator'
import ImageSwiper from '@/components/ImageSwiper/index.vue'
import PriceCell from '@/components/PriceCell/index.vue'
import DlcCell from '@/components/DlcCell/index.vue'
import { getGameInfo, getGamePrice } from '@/api/game_data'
import { getGameInfo, getGameInfoJC, getGamePrice, getGamePriceJC } from '@/api/game_data'
import { IGameInfo } from '@/modules/gameinfo'
import { getCollectList, getZanList, updateCollectInfo, updateZanInfo } from '@/api/game'
import { UserModule } from '@/store/modules/user'
@ -131,14 +131,25 @@ export default class extends Vue{
}
private async fetchGameInfo() {
let data: any = await getGameInfo(this.gameId)
console.log(data)
let data: any
try {
data = await getGameInfoJC(this.gameId)
} catch(err) {
}
this.name = data.jumpGame?.name
this.subName = data.jumpGame?.subName
if (data.jumpGameExt?.screenshots) {
let arr = data.jumpGameExt.screenshots.split(';')
let arr: any[] = []
if (data.jumpGameExt.screenshots.indexOf(';')>=0) {
arr = data.jumpGameExt.screenshots.split(';')
} else if(data.jumpGameExt.screenshots.indexOf(',')>=0) {
arr = data.jumpGameExt.screenshots.split(',')
}
for (let u of arr) {
this.imgSwiperData.push(u)
if (u.indexOf('/newswitch/') < 0) {
this.imgSwiperData.push(u)
}
}
this.bgImg = this.imgSwiperData[0]
}
@ -160,8 +171,13 @@ export default class extends Vue{
}
private async fetchGamePrice() {
let data: any = await getGamePrice(this.gameId, 3)
console.log(data)
let data: any = {prices: []}
try {
data = await getGamePriceJC(this.gameId, 3)
} catch (err) {
console.log('error get price list')
}
for (let obj of data.prices) {
this.priceList.push(obj)
}

View File

@ -13,7 +13,7 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator'
import PriceCell from '@/components/PriceCell/index.vue'
import { getGamePrice } from '@/api/game_data'
import { getGamePrice, getGamePriceJC } from '@/api/game_data'
@Component({
name: 'GameInfo',
@ -40,8 +40,12 @@ export default class extends Vue{
}
private async fetchGamePrice() {
let data: any = await getGamePrice(this.gameId, 0)
console.log(data)
let data: any = {prices: []}
try {
data = await getGamePriceJC(this.gameId, 0)
} catch (err) {
console.log('error get price list')
}
for (let obj of data.prices) {
this.priceList.push(obj)
}