bag_avatar_preview.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import { _decorator, Component, Label, Node, Sprite } from 'cc';
  2. import { base_ui } from '../../fw/base_ui';
  3. import { tools } from '../../tools';
  4. import { userDataManager } from '../../manager/userDataManager';
  5. import { bag_list_item_data } from '../../data';
  6. import { ClientEvent } from '../../lib/clientEvent';
  7. import { config } from '../../config';
  8. import { http } from '../../http';
  9. import { uiManager } from '../../manager/uiManager';
  10. const { ccclass, property } = _decorator;
  11. @ccclass('bag_avatar_preview')
  12. export class bag_avatar_preview extends base_ui {
  13. @property(Node) img_avatar:Node = null
  14. @property(Node) img_avatar_border:Node = null
  15. @property(Node) lab_name:Node = null
  16. @property(Node) btn_close:Node = null
  17. @property(Node) btn_true:Node = null
  18. @property(Node) lab_true:Node = null
  19. private m_data:bag_list_item_data = null
  20. private m_true_cb = null
  21. start() {
  22. this.onButtonListen(this.btn_close, ()=>{
  23. this.close()
  24. })
  25. this.onButtonListen(this.btn_true, ()=>{
  26. this.requestSetAvatar()
  27. })
  28. }
  29. initView(data:bag_list_item_data, true_cb) {
  30. this.m_data = data
  31. this.m_true_cb = true_cb
  32. tools.loadRemoteImg(userDataManager.user_data.avatarUrl, (d)=>{
  33. this.img_avatar.getComponent(Sprite).spriteFrame = d.sf
  34. })
  35. if(data.icon && data.icon.length>0) {
  36. tools.loadRemoteImg(data.icon, (d)=>{
  37. this.img_avatar_border.getComponent(Sprite).spriteFrame = d.sf
  38. })
  39. }
  40. this.lab_name.getComponent(Label).string = data.name
  41. if(data.usage_status==1) {
  42. this.lab_true.getComponent(Label).string = '已 装 扮'
  43. } else {
  44. this.lab_true.getComponent(Label).string = '装 扮'
  45. }
  46. }
  47. private requestSetAvatar() {
  48. if(this.m_data.usage_status==1) {
  49. return
  50. }
  51. uiManager.Instance().showLoading()
  52. let opt = {'item_id':this.m_data.item_id}
  53. http.post(config.API.user_update_photo_frame_img, opt, (err,data)=>{
  54. uiManager.Instance().hideLoading()
  55. if(!err){
  56. let d = JSON.parse(data)
  57. if(d.code===config.status.SUCCESS){
  58. userDataManager.user_data.avatar_id = this.m_data.item_id
  59. userDataManager.user_data.photo_frame_img = this.m_data.icon
  60. ClientEvent.dispatchEvent(config.UI_EVENT.UPDATE_USER_AVATAR_BORDER)
  61. uiManager.showToast('相框已装扮')
  62. this.m_true_cb && this.m_true_cb()
  63. this.close()
  64. }
  65. }
  66. })
  67. }
  68. }