priceSocket.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import SocketUtil from "@/utils/socket";
  2. import { initSocket } from "@/api/common/index";
  3. import priceAudio from "@/mixins/priceAudio";
  4. export default {
  5. mixins: [priceAudio],
  6. data() {
  7. return {
  8. priceSocket: null
  9. };
  10. },
  11. onShow() {
  12. //this.priceSocketFun();
  13. },
  14. methods:{
  15. /*延迟监听token*/
  16. priceSocketFun(){
  17. if(!uni.getStorageSync('token')){
  18. setTimeout(()=>{
  19. this.priceSocketFun();
  20. },100);
  21. }else{
  22. this.priceSocket = new SocketUtil({
  23. onOpen: () => {},
  24. onMessage: data => {
  25. let type = data.type || "";
  26. switch (type) {
  27. case "init":
  28. let clientId = data.client_id;
  29. initSocket(clientId);
  30. break;
  31. case "money":
  32. //到账消息 data: {type: "money", msg: "微信到账1.2", money: 1.2}
  33. console.log(data);
  34. // this.playPriceAudio(data.money);
  35. this.createPlayHandlerFun(data.url);
  36. break;
  37. case "new_order":
  38. //新订单 data: {type: "money", msg: "微信到账1.2", money: 1.2}
  39. console.log(data);
  40. this.createPlayHandlerFun(data.url);
  41. break;
  42. default:
  43. console.log("default");
  44. }
  45. },
  46. onClose: () => {},
  47. onError: () => {}
  48. });
  49. }
  50. },
  51. createPlayHandlerFun(url) {
  52. const innerAudioContext = uni.createInnerAudioContext();
  53. innerAudioContext.autoplay = true;
  54. innerAudioContext.src = url;
  55. innerAudioContext.onPlay(() => {
  56. console.log("开始播放");
  57. });
  58. innerAudioContext.onError(res => {
  59. console.log(res.errMsg);
  60. console.log(res.errCode);
  61. });
  62. innerAudioContext.onEnded(err => {
  63. console.log("开始结束");
  64. innerAudioContext.destroy();
  65. });
  66. }
  67. }
  68. };