webview.vue 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <web-view class="web-view" :webview-styles="webviewStyles" :src="url"></web-view>
  3. </template>
  4. <script>
  5. // +----------------------------------------------------------------------
  6. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  7. // +----------------------------------------------------------------------
  8. // | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
  9. // +----------------------------------------------------------------------
  10. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  11. // +----------------------------------------------------------------------
  12. // | Author: CRMEB Team <admin@crmeb.com>
  13. // +----------------------------------------------------------------------
  14. import {
  15. ERP_REGISTER_URI
  16. } from '@/config/app';
  17. export default {
  18. data() {
  19. return {
  20. webviewStyles: {
  21. progress: {
  22. color: 'transparent'
  23. }
  24. },
  25. url: ''
  26. }
  27. },
  28. onLoad(options) {
  29. if (options.url) {
  30. let url = decodeURIComponent(options.url)
  31. this.setData({
  32. url: url
  33. })
  34. } else if (!options.do || !options.m) {
  35. uni.navigateBack({
  36. delta: 1
  37. })
  38. } else {
  39. this.setData({
  40. url: `${ERP_REGISTER_URI}?i=4&c=entry&do=${options.do}&m=${options.m}&adtag=${options?.adtag}&pid=${options?.pid}`
  41. })
  42. }
  43. },
  44. methods: {
  45. setData(obj) {
  46. let that = this;
  47. let keys = [];
  48. let val, data;
  49. Object.keys(obj).forEach(function(key) {
  50. keys = key.split('.');
  51. val = obj[key];
  52. data = that.$data;
  53. keys.forEach(function(key2, index) {
  54. if (index + 1 == keys.length) {
  55. that.$set(data, key2, val);
  56. } else {
  57. if (!data[key2]) {
  58. that.$set(data, key2, {});
  59. }
  60. }
  61. data = data[key2];
  62. })
  63. });
  64. }
  65. }
  66. }
  67. </script>