|
|
@@ -6,40 +6,37 @@ import { Config, nav_info } from '../../scene/script/NavInfo';
|
|
|
import { WebRequest } from '../../scene/script/WebRequest';
|
|
|
const { ccclass, property } = _decorator;
|
|
|
|
|
|
-type RateInfo = {
|
|
|
- Min: number
|
|
|
- Max: number
|
|
|
- Ratio: number
|
|
|
+export type RateInfo = {
|
|
|
+ ProductID: string
|
|
|
+ Gold: number,
|
|
|
+ PayPrice: number
|
|
|
}
|
|
|
//money * rate * (1 + Ratio) = gold;
|
|
|
export type ShopData = {
|
|
|
- MinMoney: number //最小金额
|
|
|
- Rate: number //金币/钱
|
|
|
- DefaultPrice: number[] //默认商品
|
|
|
- RatioConfig: RateInfo[]
|
|
|
+ ProductConfig: RateInfo[]
|
|
|
}
|
|
|
|
|
|
@ccclass('Pay')
|
|
|
export class Pay extends Component {
|
|
|
|
|
|
- public static clacGold(money: number){
|
|
|
- let config = Pay.data_shop;
|
|
|
- if(!config || money < config.MinMoney)return 0;
|
|
|
- let ratio_info = config.RatioConfig.find(function(info){return money >= info.Min && money <= info.Max});
|
|
|
- if(!ratio_info){
|
|
|
- let ratios = config.RatioConfig;
|
|
|
- ratio_info = ratios[ratios.length - 1];
|
|
|
- }
|
|
|
- return Math.floor(money * (ratio_info.Ratio + 1) * config.Rate);
|
|
|
- }
|
|
|
- public static buy(price:number){
|
|
|
+ // public static clacGold(money: number){
|
|
|
+ // let config = Pay.data_shop;
|
|
|
+ // if(!config || money < config.MinMoney)return 0;
|
|
|
+ // let ratio_info = config.RatioConfig.find(function(info){return money >= info.Min && money <= info.Max});
|
|
|
+ // if(!ratio_info){
|
|
|
+ // let ratios = config.RatioConfig;
|
|
|
+ // ratio_info = ratios[ratios.length - 1];
|
|
|
+ // }
|
|
|
+ // return Math.floor(money * (ratio_info.Ratio + 1) * config.Rate);
|
|
|
+ // }
|
|
|
+ public static buy(prod_id:string, price:number){
|
|
|
let user_id = Pay.user_id;
|
|
|
if(user_id.length == 0){
|
|
|
nav_info.scene.showTip("يرجى إدخال ال ID حقك");
|
|
|
return;
|
|
|
}
|
|
|
let url = nav_info.is_test ? Config.url_pay_test : Config.url_pay;
|
|
|
- let final_url = `${url}?UserID=${user_id}&Price=${price}&ProductID=0&PartnerID=110&Currency=SAR&Country=SA&T=${new Date().getTime()}`;
|
|
|
+ let final_url = `${url}?UserID=${user_id}&Price=${price}&ProductID=${prod_id}&PartnerID=110&Currency=SAR&Country=SA&T=${new Date().getTime()}`;
|
|
|
window.open(final_url);
|
|
|
}
|
|
|
public static user_id = "";
|
|
|
@@ -52,7 +49,7 @@ export class Pay extends Component {
|
|
|
private lb_money: Label = null;
|
|
|
private edit_id: EditBox = null;
|
|
|
|
|
|
- private select_data = 0;
|
|
|
+ private select_data: RateInfo = null;
|
|
|
|
|
|
protected start(){
|
|
|
UtilsPanel.getAllNeedCom(this, this.node, true);
|
|
|
@@ -65,7 +62,7 @@ export class Pay extends Component {
|
|
|
if(succ){
|
|
|
let info:ShopData = Pay.data_shop = JSON.parse(content);
|
|
|
// console.log("fwef:",info);
|
|
|
- this.gene_items.initData(new Array(info.DefaultPrice.length + 1));
|
|
|
+ this.gene_items.initData(info.ProductConfig);
|
|
|
this.node_light.setSiblingIndex(-1);
|
|
|
}
|
|
|
}, false);
|
|
|
@@ -74,18 +71,18 @@ export class Pay extends Component {
|
|
|
this.node_descid.active = this.edit_id.string.length == 0;
|
|
|
Pay.user_id = this.edit_id.string;
|
|
|
}
|
|
|
- private onSelect(money:number, node:Node){
|
|
|
- this.select_data = money;
|
|
|
- this.lb_money.string = money + "";
|
|
|
+ private onSelect(info: RateInfo, node:Node){
|
|
|
+ this.select_data = info;
|
|
|
+ this.lb_money.string = "" + info.PayPrice
|
|
|
this.node_light.active = true;
|
|
|
this.node_light.setPosition(node.position);
|
|
|
}
|
|
|
private onBuy(){
|
|
|
- if(this.select_data == 0){
|
|
|
+ if(this.select_data == null){
|
|
|
nav_info.scene.showTip("يرجى اختيار الباقة التي ترغب بشرائها");
|
|
|
return;
|
|
|
}
|
|
|
- Pay.buy(this.select_data);
|
|
|
+ Pay.buy(this.select_data.ProductID, this.select_data.PayPrice);
|
|
|
}
|
|
|
// private test(){
|
|
|
// let info = Pay.data_shop = {"MinMoney": 450, "Rate": 10000, "DefaultPrice": [1000,3000,6000,8000,10000],
|