Browse Source

feat: 添加新版带看功能

bill 2 years ago
parent
commit
47233d2105
100 changed files with 245 additions and 29 deletions
  1. 16 2
      app.js
  2. 9 20
      app.json
  3. 1 0
      component/auth/auth.js
  4. 166 0
      component/voice-v4/voice.js
  5. 6 0
      component/voice-v4/voice.json
  6. 9 0
      component/voice-v4/voice.wxml
  7. 20 0
      component/voice-v4/voice.wxss
  8. 14 5
      component/voice/voice.js
  9. 3 2
      config.js
  10. 1 0
      env.js
  11. BIN
      lib/wxParse/emojis/00.gif
  12. BIN
      lib/wxParse/emojis/01.gif
  13. BIN
      lib/wxParse/emojis/02.gif
  14. BIN
      lib/wxParse/emojis/03.gif
  15. BIN
      lib/wxParse/emojis/04.gif
  16. BIN
      lib/wxParse/emojis/05.gif
  17. BIN
      lib/wxParse/emojis/06.gif
  18. BIN
      lib/wxParse/emojis/07.gif
  19. BIN
      lib/wxParse/emojis/08.gif
  20. BIN
      lib/wxParse/emojis/09.gif
  21. BIN
      lib/wxParse/emojis/10.gif
  22. BIN
      lib/wxParse/emojis/100.gif
  23. BIN
      lib/wxParse/emojis/101.gif
  24. BIN
      lib/wxParse/emojis/102.gif
  25. BIN
      lib/wxParse/emojis/103.gif
  26. BIN
      lib/wxParse/emojis/104.gif
  27. BIN
      lib/wxParse/emojis/105.gif
  28. BIN
      lib/wxParse/emojis/106.gif
  29. BIN
      lib/wxParse/emojis/107.gif
  30. BIN
      lib/wxParse/emojis/108.gif
  31. BIN
      lib/wxParse/emojis/109.gif
  32. BIN
      lib/wxParse/emojis/11.gif
  33. BIN
      lib/wxParse/emojis/110.gif
  34. BIN
      lib/wxParse/emojis/111.gif
  35. BIN
      lib/wxParse/emojis/112.gif
  36. BIN
      lib/wxParse/emojis/113.gif
  37. BIN
      lib/wxParse/emojis/114.gif
  38. BIN
      lib/wxParse/emojis/115.gif
  39. BIN
      lib/wxParse/emojis/116.gif
  40. BIN
      lib/wxParse/emojis/117.gif
  41. BIN
      lib/wxParse/emojis/118.gif
  42. BIN
      lib/wxParse/emojis/119.gif
  43. BIN
      lib/wxParse/emojis/12.gif
  44. BIN
      lib/wxParse/emojis/120.gif
  45. BIN
      lib/wxParse/emojis/121.gif
  46. BIN
      lib/wxParse/emojis/122.gif
  47. BIN
      lib/wxParse/emojis/123.gif
  48. BIN
      lib/wxParse/emojis/124.gif
  49. BIN
      lib/wxParse/emojis/125.gif
  50. BIN
      lib/wxParse/emojis/126.gif
  51. BIN
      lib/wxParse/emojis/127.gif
  52. BIN
      lib/wxParse/emojis/128.gif
  53. BIN
      lib/wxParse/emojis/129.gif
  54. BIN
      lib/wxParse/emojis/13.gif
  55. BIN
      lib/wxParse/emojis/130.gif
  56. BIN
      lib/wxParse/emojis/131.gif
  57. BIN
      lib/wxParse/emojis/132.gif
  58. BIN
      lib/wxParse/emojis/133.gif
  59. BIN
      lib/wxParse/emojis/134.gif
  60. BIN
      lib/wxParse/emojis/14.gif
  61. BIN
      lib/wxParse/emojis/15.gif
  62. BIN
      lib/wxParse/emojis/16.gif
  63. BIN
      lib/wxParse/emojis/17.gif
  64. BIN
      lib/wxParse/emojis/18.gif
  65. BIN
      lib/wxParse/emojis/19.gif
  66. BIN
      lib/wxParse/emojis/20.gif
  67. BIN
      lib/wxParse/emojis/21.gif
  68. BIN
      lib/wxParse/emojis/22.gif
  69. BIN
      lib/wxParse/emojis/23.gif
  70. BIN
      lib/wxParse/emojis/24.gif
  71. BIN
      lib/wxParse/emojis/25.gif
  72. BIN
      lib/wxParse/emojis/26.gif
  73. BIN
      lib/wxParse/emojis/27.gif
  74. BIN
      lib/wxParse/emojis/28.gif
  75. BIN
      lib/wxParse/emojis/29.gif
  76. BIN
      lib/wxParse/emojis/30.gif
  77. BIN
      lib/wxParse/emojis/31.gif
  78. BIN
      lib/wxParse/emojis/32.gif
  79. BIN
      lib/wxParse/emojis/33.gif
  80. BIN
      lib/wxParse/emojis/34.gif
  81. BIN
      lib/wxParse/emojis/35.gif
  82. BIN
      lib/wxParse/emojis/36.gif
  83. BIN
      lib/wxParse/emojis/37.gif
  84. BIN
      lib/wxParse/emojis/38.gif
  85. BIN
      lib/wxParse/emojis/39.gif
  86. BIN
      lib/wxParse/emojis/40.gif
  87. BIN
      lib/wxParse/emojis/41.gif
  88. BIN
      lib/wxParse/emojis/42.gif
  89. BIN
      lib/wxParse/emojis/43.gif
  90. BIN
      lib/wxParse/emojis/44.gif
  91. BIN
      lib/wxParse/emojis/45.gif
  92. BIN
      lib/wxParse/emojis/46.gif
  93. BIN
      lib/wxParse/emojis/47.gif
  94. BIN
      lib/wxParse/emojis/48.gif
  95. BIN
      lib/wxParse/emojis/49.gif
  96. BIN
      lib/wxParse/emojis/50.gif
  97. BIN
      lib/wxParse/emojis/51.gif
  98. BIN
      lib/wxParse/emojis/52.gif
  99. BIN
      lib/wxParse/emojis/53.gif
  100. 0 0
      lib/wxParse/emojis/54.gif

+ 16 - 2
app.js

@@ -115,7 +115,6 @@ App({
         voiceCbs.splice(voiceCbs.indexOf(cb), 1)
         voiceCbs.splice(voiceCbs.indexOf(cb), 1)
     },
     },
     setVoiceProps(props) {
     setVoiceProps(props) {
-        console.log(props, 'props')
         Object.keys(props).forEach(k => {
         Object.keys(props).forEach(k => {
             voiceProps[k] = props[k]
             voiceProps[k] = props[k]
         })
         })
@@ -131,6 +130,7 @@ App({
     },
     },
 
 
     setLoginProps(props) {
     setLoginProps(props) {
+        console.error(props)
         loginProps.isLogin = props
         loginProps.isLogin = props
         loginCbs.forEach(cb => cb())
         loginCbs.forEach(cb => cb())
     },
     },
@@ -260,4 +260,18 @@ App({
         console.error('第一次进来')
         console.error('第一次进来')
         wx.setStorageSync('lastSceneNum', null)
         wx.setStorageSync('lastSceneNum', null)
     }
     }
-})
+})
+
+
+// {
+//     "pagePath": "pages/cart/cart",
+//     "iconPath": "static/images/hbtab_cart@2x.png",
+//     "selectedIconPath": "static/images/btab_cart@2x.png",
+//     "text": "购物车"
+//   },
+//   {
+//     "pagePath": "pages/catalog/catalog",
+//     "iconPath": "static/images/hbtab_classify@2x.png",
+//     "selectedIconPath": "static/images/btab_classify@2x.png",
+//     "text": "分类"
+//   },

+ 9 - 20
app.json

@@ -1,6 +1,5 @@
 {
 {
   "pages": [
   "pages": [
-    "pages/discover/discover",
     "pages/index/index",
     "pages/index/index",
     "pages/webview/index",
     "pages/webview/index",
     "pages/user/user",
     "pages/user/user",
@@ -49,7 +48,9 @@
     "pages/share",
     "pages/share",
     "pages/godis/godis",
     "pages/godis/godis",
     "component/auth/auth",
     "component/auth/auth",
-    "pages/user/imageCropper"
+    "pages/user/imageCropper",
+    "pages/sync/sync",
+    "pages/sync/room/room"
   ],
   ],
   "window": {
   "window": {
     "backgroundTextStyle": "dark",
     "backgroundTextStyle": "dark",
@@ -72,7 +73,7 @@
         "live-player-plugin": {
         "live-player-plugin": {
           "version": "1.2.5",
           "version": "1.2.5",
           "provider": "wx2b03c6e691cd7370"
           "provider": "wx2b03c6e691cd7370"
-      }
+        }
       },
       },
       "independent": false
       "independent": false
     }
     }
@@ -92,23 +93,10 @@
         "text": "店铺"
         "text": "店铺"
       },
       },
       {
       {
-        "pagePath": "pages/catalog/catalog",
-        "iconPath": "static/images/hbtab_classify@2x.png",
-        "selectedIconPath": "static/images/btab_classify@2x.png",
-        "text": "分类"
-      },
-      {
-        "pagePath": "pages/discover/discover",
-        "iconPath": "static/images/btab_view@2x.png",
-        "selectedIconPath": "static/images/btab_view_active@2x.png",
-        "text": "发现",
-        "keynote": true
-      },
-      {
-        "pagePath": "pages/cart/cart",
-        "iconPath": "static/images/hbtab_cart@2x.png",
-        "selectedIconPath": "static/images/btab_cart@2x.png",
-        "text": "购物车"
+        "pagePath": "pages/sync/sync",
+        "iconPath": "static/images/members.png",
+        "selectedIconPath": "static/images/members-active.png",
+        "text": "VR带看"
       },
       },
       {
       {
         "pagePath": "pages/ucenter/index/index",
         "pagePath": "pages/ucenter/index/index",
@@ -126,6 +114,7 @@
   "sitemapLocation": "sitemap.json",
   "sitemapLocation": "sitemap.json",
   "usingComponents": {
   "usingComponents": {
     "lip-sync": "/component/voice/voice",
     "lip-sync": "/component/voice/voice",
+    "lip-sync-v4": "/component/voice-v4/voice",
     "mp-sticky": "/component/sticky/index",
     "mp-sticky": "/component/sticky/index",
     "auth": "/component/auth/auth"
     "auth": "/component/auth/auth"
   }
   }

+ 1 - 0
component/auth/auth.js

@@ -14,6 +14,7 @@ Component({
   
   
   attached() {
   attached() {
     this.callback = () => {
     this.callback = () => {
+      console.error('aocoaozzasd', getApp().globalData.loginProps.isLogin)
       this.setData({show: !getApp().globalData.loginProps.isLogin})
       this.setData({show: !getApp().globalData.loginProps.isLogin})
 
 
       // let pages = getCurrentPages()
       // let pages = getCurrentPages()

+ 166 - 0
component/voice-v4/voice.js

@@ -0,0 +1,166 @@
+// component/voice/voice.js
+
+Component({
+  /**
+   * 组件的属性列表
+   */
+  properties: {
+
+  },
+
+  /**
+   * 组件的初始数据
+   */
+  data: {
+    show: true,
+    pushUrl: false,
+    pullUrls: [],
+    trtcConfig: {},
+    room: 0
+  },
+  
+
+
+  attached() {
+    this.callback = (user={}) => {
+      console.warn('---user---', user,'---user---')
+      if (user.action === 'stopCall' && this.hasEnter) {
+        this.unpublishLocalAudio()
+        this.trtcRoomContext.exitRoom()
+        this.hasEnter = false
+        return
+      }
+      if (user.userId) {
+        this.enterAudioRoom(user)
+        return
+      }
+      console.warn(user.noMute, '---noMute')
+      if (user.noMute) {
+        this.unpublishLocalAudio()
+      } else {
+        this.publishLocalAudio()
+      }
+    }
+    // console.log(getApp().globalData.pusher, 'getApp().globalData.pusher')
+    // if (getApp().globalData.pusher) {
+    //   this.callback(getApp().globalData.pusher)
+    // }
+    console.log('attch')
+    getApp().addVoicePropsListener(this.callback)
+  },
+  detached() {
+    console.log('detached')
+    getApp().removeVoicePropsListener(this.callback)
+    // this.trtcRoomContext.exitRoom()
+    this.hasEnter = false
+  },
+  pageLifetimes: {
+    show() {
+      this.setData({show: true})
+      // this.trtcRoomContext = this.selectComponent('#trtcroom')
+      // if (getApp().globalData.audioUser) {
+      //   this.enterAudioRoom(getApp().globalData.audioUser, true)
+      // }
+      // if (this.data.show) {
+      //   this.enterAudioRoom()
+      // }
+    },
+    hide() {
+      clearTimeout(this.time)
+      this.setData({show: false})
+    },
+  },
+  /**
+   * 组件的方法列表
+   */
+  methods: {
+    enterAudioRoom(user, noEnter) {
+      // if (this.hasEnter) {
+      //   return
+      // }
+      console.error('hasEnter', this.hasEnter)
+      this.hasEnter = true
+      getApp().globalData.audioUser = user
+      console.log(user, 'user')
+      this.setData({
+        trtcConfig: {
+          scene: 'rtc',
+          userID: user.userId, // 用户 ID,可以由您的帐号系统指定
+          // sdkAppID: '1400431163', // 开通实时音视频服务创建应用后分配的 SDKAppID
+          // userSig: user.sig, // 身份签名,相当于登录密码的作用
+          sdkAppID: "1400685498",
+          userSig: 'eJwtzcsOgjAQBdB-6RaDU2jLI3EhsrHRBdGNK2Po0IyvNAWJxvjvEmA5597c*bLj7hD26FnOohDYYrzJ4LOjhkZ*tejPd7wY9EJwnsV8brXmdnGODMu5AEggExBNSUcPHFQpnkopIJkU34784ApECjBvkB1e8MLJfWyLOAis06Wut4b0tVdL77RVTb35dGXby6o6rVfs9wdhLDRy',
+          template: 'custom', // 画面排版模式
+        }
+      }, () => {
+        this.trtcRoomContext = this.selectComponent('#trtcroom')
+        if (noEnter) {
+          return
+        }
+        console.log(this.trtcRoomContext, )
+        let EVENT =this.trtcRoomContext.EVENT
+  
+        if (this.trtcRoomContext) {
+          this.trtcRoomContext.on(EVENT.LOCAL_JOIN, (event) => {
+            // 进房成功后发布本地音频流和视频流 
+            console.error('进入房间')
+            this.successEnter = true
+            if (user.noMute) {
+              this.unpublishLocalAudio()
+            } else {
+              this.publishLocalAudio()
+            }
+          })
+  
+          this.trtcRoomContext.on(EVENT.LOCAL_LEAVE, (event) => {
+            console.error('离开房间')
+          })
+
+          // 监听远端用户的音频流的变更事件
+         this.trtcRoomContext.on(EVENT.REMOTE_AUDIO_ADD, (event) => {
+            // 订阅(即播放)远端用户的音频流
+            let userID = event.data.userID
+           this.trtcRoomContext.subscribeRemoteAudio({
+              userID: userID
+            })
+          })
+          // this.trtcRoomContext.on(EVENT.LOCAL_AUDIO_VOLUME_UPDATE, event => {
+          //   console.log(event)
+          // })
+          console.error('join')
+         this.trtcRoomContext.enterRoom({
+            roomID: getApp().globalData.roomId
+          }).then(() => {
+            
+            console.log('成功进入房间')
+          }).catch((res) => {
+            console.error('room joinRoom 进房失败:', res)
+            this.hasEnter = false
+          })
+          let timer = null
+          timer = setInterval(() => {
+            if (!this.successEnter) {
+              this.trtcRoomContext.enterRoom({
+                roomID: getApp().globalData.roomId
+              }).then(() => {
+                console.log('成功进入房间')
+              }).catch((res) => {
+                console.error('room joinRoom 进房失败:', res)
+                this.hasEnter = false
+              })
+            } else {
+              clearInterval(timer)
+              timer = null
+            }
+          }, 3000);
+        }
+      })
+    },
+    unpublishLocalAudio () {
+      this.trtcRoomContext && this.trtcRoomContext.unpublishLocalAudio()
+    },
+    publishLocalAudio () {
+      this.trtcRoomContext && this.trtcRoomContext.publishLocalAudio()
+    }
+  }
+})

+ 6 - 0
component/voice-v4/voice.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "trtc-room": "../trtc-room/trtc-room"
+  }
+}

+ 9 - 0
component/voice-v4/voice.wxml

@@ -0,0 +1,9 @@
+<!--component/voice/voice.wxml-->
+<view>
+  <view class="layer">
+    <trtc-room id="trtcroom" config="{{trtcConfig}}"></trtc-room>
+  </view>
+</view>
+  <!-- <cover-view style="position: fixed; background-color: rgba(0,0,0,0.5); color: #fff;white-space:pre-wrap;z-index:999999">
+    --{{JSON.stringify(trtcConfig)}}--
+  </cover-view> -->

+ 20 - 0
component/voice-v4/voice.wxss

@@ -0,0 +1,20 @@
+/* component/voice/voice.wxss */
+.layer {
+  position: absolute;
+  z-index: -999999999;
+  left: -99999999999px;
+  top: -99999999999px;
+  opacity: 0;
+}
+
+.pp {
+  position: fixed;
+  left: -99999999999px;
+  top: -99999999999px;
+  background-color: rgba(0,0,0,0.3);
+  z-index: 99999999999999;
+}
+
+.pp {
+  color: #fff;
+}

+ 14 - 5
component/voice/voice.js

@@ -75,9 +75,10 @@ Component({
    */
    */
   methods: {
   methods: {
     enterAudioRoom(user, noEnter) {
     enterAudioRoom(user, noEnter) {
-      // if (this.hasEnter) {
-      //   return
-      // }
+      if (this.hasEnter) {
+        return
+      }
+      console.error('重进房间')
       console.error('hasEnter', this.hasEnter)
       console.error('hasEnter', this.hasEnter)
       this.hasEnter = true
       this.hasEnter = true
       getApp().globalData.audioUser = user
       getApp().globalData.audioUser = user
@@ -85,12 +86,13 @@ Component({
       this.setData({
       this.setData({
         trtcConfig: {
         trtcConfig: {
           scene: 'rtc',
           scene: 'rtc',
-          sdkAppID: '1400431163', // 开通实时音视频服务创建应用后分配的 SDKAppID
+          sdkAppID: user.sdkAppID || '1400431163', // 开通实时音视频服务创建应用后分配的 SDKAppID
           userID: user.userId, // 用户 ID,可以由您的帐号系统指定
           userID: user.userId, // 用户 ID,可以由您的帐号系统指定
           userSig: user.sig, // 身份签名,相当于登录密码的作用
           userSig: user.sig, // 身份签名,相当于登录密码的作用
           template: 'custom', // 画面排版模式
           template: 'custom', // 画面排版模式
         }
         }
       }, () => {
       }, () => {
+        console.error(this.data.trtcConfig)
         this.trtcRoomContext = this.selectComponent('#trtcroom')
         this.trtcRoomContext = this.selectComponent('#trtcroom')
         if (noEnter) {
         if (noEnter) {
           return
           return
@@ -99,9 +101,13 @@ Component({
         let EVENT =this.trtcRoomContext.EVENT
         let EVENT =this.trtcRoomContext.EVENT
   
   
         if (this.trtcRoomContext) {
         if (this.trtcRoomContext) {
+          this.trtcRoomContext.on(EVENT.ERROR, (err) => {
+            console.error(err)
+          })
+          
           this.trtcRoomContext.on(EVENT.LOCAL_JOIN, (event) => {
           this.trtcRoomContext.on(EVENT.LOCAL_JOIN, (event) => {
             // 进房成功后发布本地音频流和视频流 
             // 进房成功后发布本地音频流和视频流 
-            console.error('进入房间')
+            console.error('--------进入房间lalal')
             this.successEnter = true
             this.successEnter = true
             if (user.noMute) {
             if (user.noMute) {
               this.unpublishLocalAudio()
               this.unpublishLocalAudio()
@@ -125,6 +131,7 @@ Component({
           // this.trtcRoomContext.on(EVENT.LOCAL_AUDIO_VOLUME_UPDATE, event => {
           // this.trtcRoomContext.on(EVENT.LOCAL_AUDIO_VOLUME_UPDATE, event => {
           //   console.log(event)
           //   console.log(event)
           // })
           // })
+          console.error('房间号', getApp().globalData.roomId)
          this.trtcRoomContext.enterRoom({
          this.trtcRoomContext.enterRoom({
             roomID: getApp().globalData.roomId
             roomID: getApp().globalData.roomId
           }).then(() => {
           }).then(() => {
@@ -136,6 +143,7 @@ Component({
           })
           })
           let timer = null
           let timer = null
           timer = setInterval(() => {
           timer = setInterval(() => {
+            console.error('轮询', this.successEnter)
             if (!this.successEnter) {
             if (!this.successEnter) {
               this.trtcRoomContext.enterRoom({
               this.trtcRoomContext.enterRoom({
                 roomID: getApp().globalData.roomId
                 roomID: getApp().globalData.roomId
@@ -148,6 +156,7 @@ Component({
             } else {
             } else {
               clearInterval(timer)
               clearInterval(timer)
               timer = null
               timer = null
+              console.log('重试')
             }
             }
           }, 3000);
           }, 3000);
         }
         }

+ 3 - 2
config.js

@@ -1,3 +1,5 @@
+import { ENV } from './env'
+
 const dev = {
 const dev = {
   socketHost: 'wss://testshop.4dkankan.com',
   socketHost: 'wss://testshop.4dkankan.com',
   requestHost: 'https://testshop.4dkankan.com',
   requestHost: 'https://testshop.4dkankan.com',
@@ -16,5 +18,4 @@ const mal = {
 }
 }
 
 
 
 
-export default dev
-// export default mal
+export default ENV === 'dev' ? dev : mal

+ 1 - 0
env.js

@@ -0,0 +1 @@
+export const ENV = 'dev'

BIN
lib/wxParse/emojis/00.gif


BIN
lib/wxParse/emojis/01.gif


BIN
lib/wxParse/emojis/02.gif


BIN
lib/wxParse/emojis/03.gif


BIN
lib/wxParse/emojis/04.gif


BIN
lib/wxParse/emojis/05.gif


BIN
lib/wxParse/emojis/06.gif


BIN
lib/wxParse/emojis/07.gif


BIN
lib/wxParse/emojis/08.gif


BIN
lib/wxParse/emojis/09.gif


BIN
lib/wxParse/emojis/10.gif


BIN
lib/wxParse/emojis/100.gif


BIN
lib/wxParse/emojis/101.gif


BIN
lib/wxParse/emojis/102.gif


BIN
lib/wxParse/emojis/103.gif


BIN
lib/wxParse/emojis/104.gif


BIN
lib/wxParse/emojis/105.gif


BIN
lib/wxParse/emojis/106.gif


BIN
lib/wxParse/emojis/107.gif


BIN
lib/wxParse/emojis/108.gif


BIN
lib/wxParse/emojis/109.gif


BIN
lib/wxParse/emojis/11.gif


BIN
lib/wxParse/emojis/110.gif


BIN
lib/wxParse/emojis/111.gif


BIN
lib/wxParse/emojis/112.gif


BIN
lib/wxParse/emojis/113.gif


BIN
lib/wxParse/emojis/114.gif


BIN
lib/wxParse/emojis/115.gif


BIN
lib/wxParse/emojis/116.gif


BIN
lib/wxParse/emojis/117.gif


BIN
lib/wxParse/emojis/118.gif


BIN
lib/wxParse/emojis/119.gif


BIN
lib/wxParse/emojis/12.gif


BIN
lib/wxParse/emojis/120.gif


BIN
lib/wxParse/emojis/121.gif


BIN
lib/wxParse/emojis/122.gif


BIN
lib/wxParse/emojis/123.gif


BIN
lib/wxParse/emojis/124.gif


BIN
lib/wxParse/emojis/125.gif


BIN
lib/wxParse/emojis/126.gif


BIN
lib/wxParse/emojis/127.gif


BIN
lib/wxParse/emojis/128.gif


BIN
lib/wxParse/emojis/129.gif


BIN
lib/wxParse/emojis/13.gif


BIN
lib/wxParse/emojis/130.gif


BIN
lib/wxParse/emojis/131.gif


BIN
lib/wxParse/emojis/132.gif


BIN
lib/wxParse/emojis/133.gif


BIN
lib/wxParse/emojis/134.gif


BIN
lib/wxParse/emojis/14.gif


BIN
lib/wxParse/emojis/15.gif


BIN
lib/wxParse/emojis/16.gif


BIN
lib/wxParse/emojis/17.gif


BIN
lib/wxParse/emojis/18.gif


BIN
lib/wxParse/emojis/19.gif


BIN
lib/wxParse/emojis/20.gif


BIN
lib/wxParse/emojis/21.gif


BIN
lib/wxParse/emojis/22.gif


BIN
lib/wxParse/emojis/23.gif


BIN
lib/wxParse/emojis/24.gif


BIN
lib/wxParse/emojis/25.gif


BIN
lib/wxParse/emojis/26.gif


BIN
lib/wxParse/emojis/27.gif


BIN
lib/wxParse/emojis/28.gif


BIN
lib/wxParse/emojis/29.gif


BIN
lib/wxParse/emojis/30.gif


BIN
lib/wxParse/emojis/31.gif


BIN
lib/wxParse/emojis/32.gif


BIN
lib/wxParse/emojis/33.gif


BIN
lib/wxParse/emojis/34.gif


BIN
lib/wxParse/emojis/35.gif


BIN
lib/wxParse/emojis/36.gif


BIN
lib/wxParse/emojis/37.gif


BIN
lib/wxParse/emojis/38.gif


BIN
lib/wxParse/emojis/39.gif


BIN
lib/wxParse/emojis/40.gif


BIN
lib/wxParse/emojis/41.gif


BIN
lib/wxParse/emojis/42.gif


BIN
lib/wxParse/emojis/43.gif


BIN
lib/wxParse/emojis/44.gif


BIN
lib/wxParse/emojis/45.gif


BIN
lib/wxParse/emojis/46.gif


BIN
lib/wxParse/emojis/47.gif


BIN
lib/wxParse/emojis/48.gif


BIN
lib/wxParse/emojis/49.gif


BIN
lib/wxParse/emojis/50.gif


BIN
lib/wxParse/emojis/51.gif


BIN
lib/wxParse/emojis/52.gif


BIN
lib/wxParse/emojis/53.gif


+ 0 - 0
lib/wxParse/emojis/54.gif


Some files were not shown because too many files changed in this diff