123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- import Main from "../../main/Main";
- import ViewObject from "../../main/ViewObject";
- import { HttpStateType, ReveData } from "../../util/CHttp";
- import GoodItem from "../common/GoodItem";
- import Mail from "./Mail";
- import MailItem from "./MailItem";
- const {ccclass, property} = cc._decorator;
- @ccclass
- export default class MailInfo extends cc.Component {
- @property(cc.Label)
- mTitle: cc.Label = null;
- @property(cc.Label)
- mContent: cc.Label = null;
- @property(cc.Node)
- mReward: cc.Node = null;
- @property(cc.Label)
- mTime: cc.Label = null;
- @property(cc.Prefab)
- mGoodItem: cc.Prefab = null;
- @property(cc.Button)
- mBTReward: cc.Button = null;
- @property(cc.Label)
- mBTLable: cc.Label = null;
- @property(cc.Node)
- mMailYes: cc.Node = null;
- @property(cc.Node)
- mMailNo: cc.Node = null;
- /**
- * 邮件内容
- */
- public mailItem:MailItem;
- private mail:Mail
- private main:Main
- public data:any;
- onLoad () {
- this.mMailNo.active = true
- this.mMailYes.active = false
- }
- start(){
- this.mail = this.node.getComponent(Mail)
- this.main = this.mail.main;
- }
- public setMail(mailItem:MailItem){
- this.mMailNo.active = false
- this.mMailYes.active = true
- this.mailItem = mailItem
- this.data = this.mailItem.data
- this.flush();
- }
- public flush(){
- this.mBTReward.interactable = !this.data.receive;
- if(this.data.receive){
- this.mBTLable.string = '已领取';
- }else{
- this.mBTLable.string = '领取';
- }
- }
- public getMailInfo(){
- this.mTitle.string = this.data.title;
- let msg = {
- mailId:this.data.id
- }
- this.main.gameHttp.sendJson('email/v1/info',msg,(state,reve:ReveData)=>{
- this.main.stopLoad();
- if(state == HttpStateType.SUCCESS){
- if(reve.retCode == 0){
- this.data = reve.data;
- this.initData();
- }else{
- this.main.showTips(reve.message);
- }
- }else{
- this.main.showTips('网络异常');
- }
- });
- }
- private initData(){
- this.node.getComponent(Mail).mInfoNode.active = true
- this.mContent.string = this.data.content;
- this.mTime.string = this.data.date+' '+this.data.time;
- // "appendix":"[{\"icon\":\"aa\",\"count\":1}]"
- this.mReward.destroyAllChildren()
- if(this.data.appendix){
- let goods = JSON.parse(this.data.appendix);
- for (let i = 0; i < goods.length; i++) {
- const element = goods[i];
- let node = cc.instantiate(this.mGoodItem);
- let gl = node.getComponent(GoodItem);
- gl.init(this.main,element);
- node.parent = this.mReward;
- }
- }
- }
- public onclickGet(){
- let msg = {
- mailId:this.data.id
- }
- this.main.gameHttp.sendJson('email/v1/receive',msg,(state,reve:ReveData)=>{
- this.main.stopLoad();
- if(state == HttpStateType.SUCCESS){
- if(reve.retCode == 0){
- this.data.receive = true;
- this.flush();
- // this.main.showTips('获得各种奖励..');
- this.main.showReward(reve)
- this.mailItem.tipsIcon.active = false;
- }else{
- this.main.showTips(reve.message);
- }
- }else{
- this.main.showTips('网络异常');
- }
- });
- }
- }
|