InitializeThe.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <template>
  2. <view>
  3. </view>
  4. </template>
  5. <script>
  6. var wv = [];
  7. export default {
  8. name: "initial",
  9. props: {
  10. showModal: {
  11. type: String,
  12. default: '0'
  13. }
  14. },
  15. data() {
  16. return {
  17. userList: [],
  18. userListshow: [],
  19. list: [],
  20. lastUserName: '',
  21. userid: '',
  22. identify: '',
  23. bool: '',
  24. }
  25. },
  26. created() {
  27. this.getUserList();
  28. },
  29. computed: {
  30. sisStageIp: function() {
  31. return this.$store.state.wholeSituationBackStageIp;
  32. },
  33. sisStagePort: function() {
  34. return this.$store.state.wholeSituationBackStagePort;
  35. },
  36. backStageIp: function() {
  37. return this.$store.state.GlobalLocalIp;
  38. },
  39. backStagePort: function() {
  40. return this.$store.state.GlobalLocalPort;
  41. },
  42. windpowerstationNameToId: function() {
  43. return this.$store.state.windpowerstationNameToId;
  44. },
  45. },
  46. methods: {
  47. getUserList() {
  48. let im_show =uni.getStorageSync('im_show');
  49. if (im_show != "1") {
  50. this.lastUserName = uni.getStorageSync('gyeeusername');
  51. this.userid = uni.getStorageSync('userid');
  52. let _this = this;
  53. uni.request({
  54. url: 'http://' + this.sisStageIp + ':' + this.sisStagePort + '/GyeeuserController/selectUserList',
  55. data: {},
  56. method: 'GET',
  57. success: function(res) {
  58. _this.userList = [];
  59. for (var i = 0; i < res.data.length; i++) {
  60. if (res.data[i].id != _this.userid) {
  61. var pages = getCurrentPages();
  62. var page = pages[pages.length - 1];
  63. let webView = plus.webview.create("", "webview" + res.data[i].id, {
  64. plusrequire: "none", //禁止远程网页使用plus的API,有些使用mui制作的网页可能会监听plus.key,造成关闭页面混乱,可以通过这种方式禁止
  65. 'uni-app': 'none', //不加载uni-app渲染层框架,避免样式冲突
  66. top: uni.getSystemInfoSync().statusBarHeight + 44 //放置在titleNView下方。如果还想在webview上方加个地址栏的什么的,可以继续降低TOP值
  67. })
  68. let url = "https://" + _this.backStageIp + ":" + _this.backStagePort + "/websocket/usercontroller/view?send=" +
  69. _this.userid + "&receive=" + res.data[i].id + "&sendname=" + _this.lastUserName + "&receivename=" + res.data[
  70. i].nickname;
  71. webView.loadURL(url)
  72. var currentWebview = page.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
  73. currentWebview.append(webView); //一定要append到当前的页面里!!!才能跟随当前页面一起做动画,一起关闭
  74. //wv.setStyle({top:70,height:height});
  75. setTimeout(function() {
  76. }, 1000);//如果是首页的onload调用时需要延时一下,二级页面无需延时,可直接获取
  77. webView.hide();
  78. wv.push(webView)
  79. }
  80. };
  81. },
  82. fail: () => {
  83. _this.tips = '网络错误,小程序端请检查合法域名';
  84. },
  85. });
  86. uni.setStorageSync('im_show','1');
  87. }else
  88. {
  89. var pages = getCurrentPages();
  90. var page = pages[pages.length - 1];
  91. var currentWebview = page.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
  92. for (var i = 0; i < wv.length; i++) {
  93. let webView = wv[i];
  94. currentWebview.append(webView); //一定要append到当前的页面里!!!才能跟随当前页面一起做动画,一起关闭
  95. }
  96. }
  97. },
  98. childMethod(id, bool, state) {
  99. console.log(id);
  100. this.identify = id;
  101. this.bool = bool;
  102. //this.getUserList();
  103. let webview;
  104. for (var i = 0; i < wv.length; i++) {
  105. if (wv[i].id == "webview" + id) {
  106. webview = wv[i];
  107. let url = webview.getURL();
  108. if (bool != null) {
  109. if (bool == 1) {
  110. if (url.indexOf("/view?") < 0) {
  111. url = url.replace("/viewoffline?", "/view?");
  112. webview.loadURL(url);
  113. }
  114. } else {
  115. if (url.indexOf("/viewoffline?") < 0) {
  116. url = url.replace("/view?", "/viewoffline?");
  117. webview.loadURL(url);
  118. }
  119. }
  120. }
  121. if (state == 1) {
  122. webview.show()
  123. } else {
  124. webview.hide();
  125. }
  126. break;
  127. }
  128. }
  129. }
  130. }
  131. }
  132. </script>
  133. <style>
  134. </style>