ExportItem.ts 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import { Component, EventTouch, ImageAsset, LabelComponent, loader, Node, SpriteComponent, SpriteFrame, _decorator } from 'cc';
  2. import { UIConst } from '../../../games/ui/UIConst';
  3. import { LiangLiangSDK } from '../../../libs/liangliangSDK';
  4. import { GUIManager } from '../GUIManager';
  5. const { ccclass, property } = _decorator;
  6. @ccclass('ExportItem')
  7. export class ExportItem extends Component {
  8. @property({
  9. type:SpriteComponent,
  10. tooltip:"图片"
  11. })
  12. icon:SpriteComponent=null;
  13. @property({
  14. type:LabelComponent,
  15. tooltip:"图片"
  16. })
  17. label:LabelComponent=null;
  18. data:any;
  19. isShowFull:boolean;
  20. start () {
  21. this.node.on(Node.EventType.TOUCH_START,this.__itemTouchStart.bind(this),this);
  22. }
  23. updateItem(data:any, isShowFull:boolean=true):void{
  24. this.data=data;
  25. this.isShowFull = isShowFull;
  26. this.label.string=this.data.name;
  27. loader.load(this.data.icon,this.__loadProgress.bind(this),this.__loadComplete.bind(this));
  28. }
  29. private __loadProgress(...arg):void{
  30. }
  31. private __itemTouchStart(touch:EventTouch):void{
  32. let self = this;
  33. if(this.wx!=null)
  34. {
  35. this.wx.navigateToMiniProgram({
  36. appId: this.data.app_id,
  37. path: this.data.app_path,
  38. success: (res) =>
  39. {
  40. LiangLiangSDK.CpaReport(self.data);
  41. },
  42. fail: (res) => {
  43. if(this.isShowFull){
  44. GUIManager.single.Show(UIConst.FULL_OUTPUT_UI);
  45. }
  46. console.log("跳转失败!");
  47. },
  48. complete: (res) => {},
  49. });
  50. }
  51. else
  52. {
  53. console.log("点中了图标 : " + this.data.name);
  54. }
  55. }
  56. private get wx():any{
  57. return window["wx"];
  58. }
  59. private __loadComplete(err:Error,texture:ImageAsset):void{
  60. if(err){
  61. console.log(err);
  62. return;
  63. }
  64. let frame:SpriteFrame=new SpriteFrame();
  65. frame.texture=texture._texture;
  66. this.icon.spriteFrame=frame;
  67. }
  68. // update (deltaTime: number) {
  69. // // Your update function goes here.
  70. // }
  71. }