xy-map 1.1.31 → 1.1.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xy-map",
3
- "version": "1.1.31",
3
+ "version": "1.1.33",
4
4
  "description": "雄越地图",
5
5
  "main": "xy-map.umd.min.js",
6
6
  "scripts": {
package/xy-map.common.js CHANGED
@@ -224,7 +224,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".mapLoad[data-v-fa3ebcb8]{position:abs
224
224
 
225
225
  /***/ }),
226
226
 
227
- /***/ 7237:
227
+ /***/ 2071:
228
228
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
229
229
 
230
230
  "use strict";
@@ -238,7 +238,7 @@ __webpack_require__.r(__webpack_exports__);
238
238
 
239
239
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
240
240
  // Module
241
- ___CSS_LOADER_EXPORT___.push([module.id, ".snow[data-v-59d7e867]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background-color:rgba(145,147,184,.103)}", ""]);
241
+ ___CSS_LOADER_EXPORT___.push([module.id, ".snow[data-v-20664206]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background-color:rgba(145,147,184,.103)}", ""]);
242
242
  // Exports
243
243
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
244
244
 
@@ -42912,19 +42912,19 @@ var update = add("7474eb16", content, true, {"sourceMap":false,"shadowMode":fals
42912
42912
 
42913
42913
  /***/ }),
42914
42914
 
42915
- /***/ 1901:
42915
+ /***/ 6916:
42916
42916
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
42917
42917
 
42918
42918
  // style-loader: Adds some css to the DOM by adding a <style> tag
42919
42919
 
42920
42920
  // load the styles
42921
- var content = __webpack_require__(7237);
42921
+ var content = __webpack_require__(2071);
42922
42922
  if(content.__esModule) content = content.default;
42923
42923
  if(typeof content === 'string') content = [[module.id, content, '']];
42924
42924
  if(content.locals) module.exports = content.locals;
42925
42925
  // add the styles to the DOM
42926
42926
  var add = (__webpack_require__(7037)/* ["default"] */ .Z)
42927
- var update = add("933c13ea", content, true, {"sourceMap":false,"shadowMode":false});
42927
+ var update = add("4a7b31d4", content, true, {"sourceMap":false,"shadowMode":false});
42928
42928
 
42929
42929
  /***/ }),
42930
42930
 
@@ -43868,7 +43868,9 @@ var defaultOptions = {
43868
43868
  'sources': {
43869
43869
  'nav': {
43870
43870
  'type': 'raster',
43871
- 'tiles': ['https://api.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.jpg?access_token=pk.eyJ1IjoiaGo0NjI3NzEzOTYiLCJhIjoiY2w5YzNjOTZvMDF6NDNwb2d6YmJkYWRpMCJ9.-fW-OChGB1oY2DCMO_c8sg' // mapbox
43871
+ 'tiles': [
43872
+ // 'https://tiles2.geovisearth.com/base/v1/img/{z}/{x}/{y}?format=webp&tmsIds=w&token=74b34fe951b7f641aacb67fbfb0dfb14a445c7ae4481de804740e8b297d6fdec', // 星球影像
43873
+ 'https://api.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.jpg?access_token=pk.eyJ1IjoiaGo0NjI3NzEzOTYiLCJhIjoiY2w5YzNjOTZvMDF6NDNwb2d6YmJkYWRpMCJ9.-fW-OChGB1oY2DCMO_c8sg' // mapbox
43872
43874
  // 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', // ArcGIS
43873
43875
  // 'https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}', // 高德
43874
43876
  // 'https://map.ynmdgq.com/{z}/{x}/{y}.png' // 本地
@@ -43884,6 +43886,12 @@ var defaultOptions = {
43884
43886
  'source': 'nav'
43885
43887
  }]
43886
43888
  },
43889
+ light: {
43890
+ anchor: 'map',
43891
+ // “viewport”:光照位置不变,所以building旋转的时候,其表面明暗程度会变化; “map”:光照随地图位置变化,所以buliding旋转的时候,其表面明显程度不会变化了
43892
+ color: 'white',
43893
+ intensity: 0.4
43894
+ },
43887
43895
  is3d: true,
43888
43896
  // 3d视图
43889
43897
  antialias: false,
@@ -70906,15 +70914,20 @@ const addLayerPoint = (option, layerId) => {
70906
70914
  /**
70907
70915
  * 添加闪烁点图层
70908
70916
  */
70909
- const addFlashPoint = (option = {
70910
- id: 'flash',
70911
- data: [],
70912
- time: 0,
70913
- // 闪烁时间
70914
- size: 140 // 大小
70915
- }, layerId) => {
70917
+ const addFlashPoint = (option = {}, layerId) => {
70916
70918
  // 点
70917
70919
 
70920
+ option = Object.assign({}, {
70921
+ id: 'flash',
70922
+ data: [],
70923
+ time: 0,
70924
+ // 闪烁时间
70925
+ size: 140,
70926
+ // 大小
70927
+ outerRgb: [255, 255, 255],
70928
+ centerColor: 'rgba(255, 100, 100, 1)',
70929
+ strokeColor: '#fff'
70930
+ }, option);
70918
70931
  let {
70919
70932
  map
70920
70933
  } = package_map;
@@ -70940,14 +70953,14 @@ const addFlashPoint = (option = {
70940
70953
  context.clearRect(0, 0, this.width, this.height);
70941
70954
  context.beginPath();
70942
70955
  context.arc(this.width / 2, this.height / 2, outerRadius, 0, Math.PI * 2);
70943
- context.fillStyle = `rgba(255, 255, 255, ${1 - t})`;
70956
+ context.fillStyle = `rgba(${option.outerRgb[0]}, ${option.outerRgb[1]}, ${option.outerRgb[2]}, ${1 - t})`;
70944
70957
  context.fill();
70945
70958
 
70946
70959
  // Draw the inner circle.
70947
70960
  context.beginPath();
70948
70961
  context.arc(this.width / 2, this.height / 2, radius, 0, Math.PI * 2);
70949
- context.fillStyle = 'rgba(255, 100, 100, 1)';
70950
- context.strokeStyle = 'white';
70962
+ context.fillStyle = option.centerColor;
70963
+ context.strokeStyle = option.strokeColor;
70951
70964
  context.lineWidth = 2 + 4 * (1 - t);
70952
70965
  context.fill();
70953
70966
  context.stroke();
@@ -118320,8 +118333,8 @@ var component = normalizeComponent(
118320
118333
  )
118321
118334
 
118322
118335
  /* harmony default export */ var mapMarker = (component.exports);
118323
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/components/mapRain.vue?vue&type=template&id=59d7e867&scoped=true&
118324
- var mapRainvue_type_template_id_59d7e867_scoped_true_render = function render() {
118336
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/components/mapRain.vue?vue&type=template&id=20664206&scoped=true&
118337
+ var mapRainvue_type_template_id_20664206_scoped_true_render = function render() {
118325
118338
  var _vm = this,
118326
118339
  _c = _vm._self._c;
118327
118340
  return _c('canvas', {
@@ -118331,14 +118344,14 @@ var mapRainvue_type_template_id_59d7e867_scoped_true_render = function render()
118331
118344
  }
118332
118345
  }, [_vm._v("不支持canvas")]);
118333
118346
  };
118334
- var mapRainvue_type_template_id_59d7e867_scoped_true_staticRenderFns = [];
118347
+ var mapRainvue_type_template_id_20664206_scoped_true_staticRenderFns = [];
118335
118348
 
118336
118349
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/components/mapRain.vue?vue&type=script&lang=js&
118337
118350
  /* harmony default export */ var mapRainvue_type_script_lang_js_ = ({
118338
118351
  props: {
118339
118352
  id: {
118340
118353
  type: String,
118341
- default: 'snow'
118354
+ default: 'rain'
118342
118355
  },
118343
118356
  angle: {
118344
118357
  // 角度
@@ -118353,17 +118366,24 @@ var mapRainvue_type_template_id_59d7e867_scoped_true_staticRenderFns = [];
118353
118366
  len: {
118354
118367
  // 雨滴长度
118355
118368
  type: Number,
118356
- default: 80
118369
+ default: 70
118357
118370
  },
118358
- count: {
118359
- // 雨滴数量
118371
+ lineWidth: {
118372
+ // 雨滴宽度
118360
118373
  type: Number,
118361
- default: 500
118374
+ default: 1.5
118375
+ },
118376
+ isRain: {
118377
+ // 是否下雨
118378
+ type: Boolean,
118379
+ default: true
118362
118380
  }
118363
118381
  },
118364
118382
  data() {
118365
118383
  return {
118366
- timer: ''
118384
+ timer: '',
118385
+ ctx: null,
118386
+ count: 500
118367
118387
  };
118368
118388
  },
118369
118389
  destroyed() {
@@ -118372,61 +118392,77 @@ var mapRainvue_type_template_id_59d7e867_scoped_true_staticRenderFns = [];
118372
118392
  mounted() {
118373
118393
  this.start();
118374
118394
  },
118395
+ watch: {
118396
+ status() {
118397
+ window.clearInterval(this.timer);
118398
+ this.start();
118399
+ }
118400
+ },
118375
118401
  methods: {
118376
118402
  start() {
118403
+ this.$nextTick(() => {
118404
+ const canvas = document.getElementById(this.id);
118405
+ const width = canvas.clientWidth;
118406
+ const height = canvas.clientHeight;
118407
+ if (this.status === 'small') {
118408
+ this.count = 100;
118409
+ }
118410
+ if (this.status === 'default') {
118411
+ this.count = 300;
118412
+ }
118413
+ if (this.status === 'large') {
118414
+ this.count = 1000;
118415
+ }
118416
+ canvas.width = width;
118417
+ canvas.height = height;
118418
+ this.ctx = canvas.getContext('2d');
118419
+ this.timer = setInterval(() => {
118420
+ if (this.isRain) {
118421
+ this.clearCanvas();
118422
+ this.draws();
118423
+ } else {
118424
+ this.clearCanvas();
118425
+ }
118426
+ }, 50);
118427
+ });
118428
+ },
118429
+ draws() {
118377
118430
  const self = this;
118378
- let canvas = document.getElementById(this.id);
118379
- let width = canvas.clientWidth;
118380
- let height = canvas.clientHeight;
118381
- let x2 = this.angle;
118382
- let len = this.len;
118383
- let count = this.count;
118384
- let lineWidth = 1;
118385
- if (this.status === 'small') {
118386
- x2 = 0;
118387
- len = 50;
118388
- count = 100;
118389
- }
118390
- if (this.status === 'large') {
118391
- x2 = -35;
118392
- count = 1000;
118393
- lineWidth = 1.5;
118394
- }
118395
- canvas.width = width;
118396
- canvas.height = height;
118397
- let ctx = canvas.getContext('2d');
118398
- self.timer = setInterval(clearCanvas, 50);
118399
- function clearCanvas() {
118400
- ctx.clearRect(0, 0, width, height);
118401
- draws();
118431
+ const canvas = document.getElementById(this.id);
118432
+ const width = canvas.clientWidth;
118433
+ const height = canvas.clientHeight;
118434
+ for (let i = 1; i <= this.count; i++) {
118435
+ draw(Math.random() * width, Math.random() * height);
118402
118436
  }
118403
118437
  function draw(x, y) {
118438
+ let ctx = self.ctx;
118404
118439
  //canvas写渐变:createLinearGradient(startX,startY,endX,endY)
118405
- let grd = ctx.createLinearGradient(x, y, x + x2, (y + len) * 5);
118440
+ let grd = ctx.createLinearGradient(x, y, x + self.angle, (y + self.len) * 5);
118406
118441
  grd.addColorStop(0, 'rgba(255,255,255,0.1)');
118407
118442
  grd.addColorStop(0.5, 'rgba(105,105,105,0.3)');
118408
118443
  grd.addColorStop(1, 'rgba(255,255,255,0.5)');
118409
118444
  ctx.strokeStyle = grd;
118410
118445
  ctx.beginPath();
118411
118446
  ctx.moveTo(x, y);
118412
- ctx.lineTo(x + x2, y + len);
118413
- ctx.lineWidth = lineWidth;
118447
+ ctx.lineTo(x + self.angle, y + self.len);
118448
+ ctx.lineWidth = self.lineWidth;
118414
118449
  ctx.stroke();
118415
118450
  ctx.closePath();
118416
118451
  }
118417
- function draws() {
118418
- for (let i = 1; i <= count; i++) {
118419
- draw(Math.random() * width, Math.random() * height);
118420
- }
118421
- }
118452
+ },
118453
+ clearCanvas() {
118454
+ const canvas = document.getElementById(this.id);
118455
+ const width = canvas.clientWidth;
118456
+ const height = canvas.clientHeight;
118457
+ this.ctx.clearRect(0, 0, width, height);
118422
118458
  }
118423
118459
  }
118424
118460
  });
118425
118461
  ;// CONCATENATED MODULE: ./src/package/components/mapRain.vue?vue&type=script&lang=js&
118426
118462
  /* harmony default export */ var components_mapRainvue_type_script_lang_js_ = (mapRainvue_type_script_lang_js_);
118427
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/components/mapRain.vue?vue&type=style&index=0&id=59d7e867&prod&lang=scss&scoped=true&
118428
- var mapRainvue_type_style_index_0_id_59d7e867_prod_lang_scss_scoped_true_ = __webpack_require__(1901);
118429
- ;// CONCATENATED MODULE: ./src/package/components/mapRain.vue?vue&type=style&index=0&id=59d7e867&prod&lang=scss&scoped=true&
118463
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/components/mapRain.vue?vue&type=style&index=0&id=20664206&prod&lang=scss&scoped=true&
118464
+ var mapRainvue_type_style_index_0_id_20664206_prod_lang_scss_scoped_true_ = __webpack_require__(6916);
118465
+ ;// CONCATENATED MODULE: ./src/package/components/mapRain.vue?vue&type=style&index=0&id=20664206&prod&lang=scss&scoped=true&
118430
118466
 
118431
118467
  ;// CONCATENATED MODULE: ./src/package/components/mapRain.vue
118432
118468
 
@@ -118439,11 +118475,11 @@ var mapRainvue_type_style_index_0_id_59d7e867_prod_lang_scss_scoped_true_ = __we
118439
118475
 
118440
118476
  var mapRain_component = normalizeComponent(
118441
118477
  components_mapRainvue_type_script_lang_js_,
118442
- mapRainvue_type_template_id_59d7e867_scoped_true_render,
118443
- mapRainvue_type_template_id_59d7e867_scoped_true_staticRenderFns,
118478
+ mapRainvue_type_template_id_20664206_scoped_true_render,
118479
+ mapRainvue_type_template_id_20664206_scoped_true_staticRenderFns,
118444
118480
  false,
118445
118481
  null,
118446
- "59d7e867",
118482
+ "20664206",
118447
118483
  null
118448
118484
 
118449
118485
  )
package/xy-map.umd.js CHANGED
@@ -234,7 +234,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".mapLoad[data-v-fa3ebcb8]{position:abs
234
234
 
235
235
  /***/ }),
236
236
 
237
- /***/ 335:
237
+ /***/ 871:
238
238
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
239
239
 
240
240
  "use strict";
@@ -248,7 +248,7 @@ __webpack_require__.r(__webpack_exports__);
248
248
 
249
249
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
250
250
  // Module
251
- ___CSS_LOADER_EXPORT___.push([module.id, ".snow[data-v-59d7e867]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background-color:rgba(145,147,184,.103)}", ""]);
251
+ ___CSS_LOADER_EXPORT___.push([module.id, ".snow[data-v-20664206]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background-color:rgba(145,147,184,.103)}", ""]);
252
252
  // Exports
253
253
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
254
254
 
@@ -42922,19 +42922,19 @@ var update = add("5d9c6596", content, true, {"sourceMap":false,"shadowMode":fals
42922
42922
 
42923
42923
  /***/ }),
42924
42924
 
42925
- /***/ 3207:
42925
+ /***/ 354:
42926
42926
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
42927
42927
 
42928
42928
  // style-loader: Adds some css to the DOM by adding a <style> tag
42929
42929
 
42930
42930
  // load the styles
42931
- var content = __webpack_require__(335);
42931
+ var content = __webpack_require__(871);
42932
42932
  if(content.__esModule) content = content.default;
42933
42933
  if(typeof content === 'string') content = [[module.id, content, '']];
42934
42934
  if(content.locals) module.exports = content.locals;
42935
42935
  // add the styles to the DOM
42936
42936
  var add = (__webpack_require__(208)/* ["default"] */ .Z)
42937
- var update = add("c0ed1eea", content, true, {"sourceMap":false,"shadowMode":false});
42937
+ var update = add("33a2ac54", content, true, {"sourceMap":false,"shadowMode":false});
42938
42938
 
42939
42939
  /***/ }),
42940
42940
 
@@ -43886,7 +43886,9 @@ var defaultOptions = {
43886
43886
  'sources': {
43887
43887
  'nav': {
43888
43888
  'type': 'raster',
43889
- 'tiles': ['https://api.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.jpg?access_token=pk.eyJ1IjoiaGo0NjI3NzEzOTYiLCJhIjoiY2w5YzNjOTZvMDF6NDNwb2d6YmJkYWRpMCJ9.-fW-OChGB1oY2DCMO_c8sg' // mapbox
43889
+ 'tiles': [
43890
+ // 'https://tiles2.geovisearth.com/base/v1/img/{z}/{x}/{y}?format=webp&tmsIds=w&token=74b34fe951b7f641aacb67fbfb0dfb14a445c7ae4481de804740e8b297d6fdec', // 星球影像
43891
+ 'https://api.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.jpg?access_token=pk.eyJ1IjoiaGo0NjI3NzEzOTYiLCJhIjoiY2w5YzNjOTZvMDF6NDNwb2d6YmJkYWRpMCJ9.-fW-OChGB1oY2DCMO_c8sg' // mapbox
43890
43892
  // 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', // ArcGIS
43891
43893
  // 'https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}', // 高德
43892
43894
  // 'https://map.ynmdgq.com/{z}/{x}/{y}.png' // 本地
@@ -43902,6 +43904,12 @@ var defaultOptions = {
43902
43904
  'source': 'nav'
43903
43905
  }]
43904
43906
  },
43907
+ light: {
43908
+ anchor: 'map',
43909
+ // “viewport”:光照位置不变,所以building旋转的时候,其表面明暗程度会变化; “map”:光照随地图位置变化,所以buliding旋转的时候,其表面明显程度不会变化了
43910
+ color: 'white',
43911
+ intensity: 0.4
43912
+ },
43905
43913
  is3d: true,
43906
43914
  // 3d视图
43907
43915
  antialias: false,
@@ -70924,15 +70932,20 @@ const addLayerPoint = (option, layerId) => {
70924
70932
  /**
70925
70933
  * 添加闪烁点图层
70926
70934
  */
70927
- const addFlashPoint = (option = {
70928
- id: 'flash',
70929
- data: [],
70930
- time: 0,
70931
- // 闪烁时间
70932
- size: 140 // 大小
70933
- }, layerId) => {
70935
+ const addFlashPoint = (option = {}, layerId) => {
70934
70936
  // 点
70935
70937
 
70938
+ option = Object.assign({}, {
70939
+ id: 'flash',
70940
+ data: [],
70941
+ time: 0,
70942
+ // 闪烁时间
70943
+ size: 140,
70944
+ // 大小
70945
+ outerRgb: [255, 255, 255],
70946
+ centerColor: 'rgba(255, 100, 100, 1)',
70947
+ strokeColor: '#fff'
70948
+ }, option);
70936
70949
  let {
70937
70950
  map
70938
70951
  } = package_map;
@@ -70958,14 +70971,14 @@ const addFlashPoint = (option = {
70958
70971
  context.clearRect(0, 0, this.width, this.height);
70959
70972
  context.beginPath();
70960
70973
  context.arc(this.width / 2, this.height / 2, outerRadius, 0, Math.PI * 2);
70961
- context.fillStyle = `rgba(255, 255, 255, ${1 - t})`;
70974
+ context.fillStyle = `rgba(${option.outerRgb[0]}, ${option.outerRgb[1]}, ${option.outerRgb[2]}, ${1 - t})`;
70962
70975
  context.fill();
70963
70976
 
70964
70977
  // Draw the inner circle.
70965
70978
  context.beginPath();
70966
70979
  context.arc(this.width / 2, this.height / 2, radius, 0, Math.PI * 2);
70967
- context.fillStyle = 'rgba(255, 100, 100, 1)';
70968
- context.strokeStyle = 'white';
70980
+ context.fillStyle = option.centerColor;
70981
+ context.strokeStyle = option.strokeColor;
70969
70982
  context.lineWidth = 2 + 4 * (1 - t);
70970
70983
  context.fill();
70971
70984
  context.stroke();
@@ -118338,8 +118351,8 @@ var component = normalizeComponent(
118338
118351
  )
118339
118352
 
118340
118353
  /* harmony default export */ var mapMarker = (component.exports);
118341
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/components/mapRain.vue?vue&type=template&id=59d7e867&scoped=true&
118342
- var mapRainvue_type_template_id_59d7e867_scoped_true_render = function render() {
118354
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/components/mapRain.vue?vue&type=template&id=20664206&scoped=true&
118355
+ var mapRainvue_type_template_id_20664206_scoped_true_render = function render() {
118343
118356
  var _vm = this,
118344
118357
  _c = _vm._self._c;
118345
118358
  return _c('canvas', {
@@ -118349,14 +118362,14 @@ var mapRainvue_type_template_id_59d7e867_scoped_true_render = function render()
118349
118362
  }
118350
118363
  }, [_vm._v("不支持canvas")]);
118351
118364
  };
118352
- var mapRainvue_type_template_id_59d7e867_scoped_true_staticRenderFns = [];
118365
+ var mapRainvue_type_template_id_20664206_scoped_true_staticRenderFns = [];
118353
118366
 
118354
118367
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/components/mapRain.vue?vue&type=script&lang=js&
118355
118368
  /* harmony default export */ var mapRainvue_type_script_lang_js_ = ({
118356
118369
  props: {
118357
118370
  id: {
118358
118371
  type: String,
118359
- default: 'snow'
118372
+ default: 'rain'
118360
118373
  },
118361
118374
  angle: {
118362
118375
  // 角度
@@ -118371,17 +118384,24 @@ var mapRainvue_type_template_id_59d7e867_scoped_true_staticRenderFns = [];
118371
118384
  len: {
118372
118385
  // 雨滴长度
118373
118386
  type: Number,
118374
- default: 80
118387
+ default: 70
118375
118388
  },
118376
- count: {
118377
- // 雨滴数量
118389
+ lineWidth: {
118390
+ // 雨滴宽度
118378
118391
  type: Number,
118379
- default: 500
118392
+ default: 1.5
118393
+ },
118394
+ isRain: {
118395
+ // 是否下雨
118396
+ type: Boolean,
118397
+ default: true
118380
118398
  }
118381
118399
  },
118382
118400
  data() {
118383
118401
  return {
118384
- timer: ''
118402
+ timer: '',
118403
+ ctx: null,
118404
+ count: 500
118385
118405
  };
118386
118406
  },
118387
118407
  destroyed() {
@@ -118390,61 +118410,77 @@ var mapRainvue_type_template_id_59d7e867_scoped_true_staticRenderFns = [];
118390
118410
  mounted() {
118391
118411
  this.start();
118392
118412
  },
118413
+ watch: {
118414
+ status() {
118415
+ window.clearInterval(this.timer);
118416
+ this.start();
118417
+ }
118418
+ },
118393
118419
  methods: {
118394
118420
  start() {
118421
+ this.$nextTick(() => {
118422
+ const canvas = document.getElementById(this.id);
118423
+ const width = canvas.clientWidth;
118424
+ const height = canvas.clientHeight;
118425
+ if (this.status === 'small') {
118426
+ this.count = 100;
118427
+ }
118428
+ if (this.status === 'default') {
118429
+ this.count = 300;
118430
+ }
118431
+ if (this.status === 'large') {
118432
+ this.count = 1000;
118433
+ }
118434
+ canvas.width = width;
118435
+ canvas.height = height;
118436
+ this.ctx = canvas.getContext('2d');
118437
+ this.timer = setInterval(() => {
118438
+ if (this.isRain) {
118439
+ this.clearCanvas();
118440
+ this.draws();
118441
+ } else {
118442
+ this.clearCanvas();
118443
+ }
118444
+ }, 50);
118445
+ });
118446
+ },
118447
+ draws() {
118395
118448
  const self = this;
118396
- let canvas = document.getElementById(this.id);
118397
- let width = canvas.clientWidth;
118398
- let height = canvas.clientHeight;
118399
- let x2 = this.angle;
118400
- let len = this.len;
118401
- let count = this.count;
118402
- let lineWidth = 1;
118403
- if (this.status === 'small') {
118404
- x2 = 0;
118405
- len = 50;
118406
- count = 100;
118407
- }
118408
- if (this.status === 'large') {
118409
- x2 = -35;
118410
- count = 1000;
118411
- lineWidth = 1.5;
118412
- }
118413
- canvas.width = width;
118414
- canvas.height = height;
118415
- let ctx = canvas.getContext('2d');
118416
- self.timer = setInterval(clearCanvas, 50);
118417
- function clearCanvas() {
118418
- ctx.clearRect(0, 0, width, height);
118419
- draws();
118449
+ const canvas = document.getElementById(this.id);
118450
+ const width = canvas.clientWidth;
118451
+ const height = canvas.clientHeight;
118452
+ for (let i = 1; i <= this.count; i++) {
118453
+ draw(Math.random() * width, Math.random() * height);
118420
118454
  }
118421
118455
  function draw(x, y) {
118456
+ let ctx = self.ctx;
118422
118457
  //canvas写渐变:createLinearGradient(startX,startY,endX,endY)
118423
- let grd = ctx.createLinearGradient(x, y, x + x2, (y + len) * 5);
118458
+ let grd = ctx.createLinearGradient(x, y, x + self.angle, (y + self.len) * 5);
118424
118459
  grd.addColorStop(0, 'rgba(255,255,255,0.1)');
118425
118460
  grd.addColorStop(0.5, 'rgba(105,105,105,0.3)');
118426
118461
  grd.addColorStop(1, 'rgba(255,255,255,0.5)');
118427
118462
  ctx.strokeStyle = grd;
118428
118463
  ctx.beginPath();
118429
118464
  ctx.moveTo(x, y);
118430
- ctx.lineTo(x + x2, y + len);
118431
- ctx.lineWidth = lineWidth;
118465
+ ctx.lineTo(x + self.angle, y + self.len);
118466
+ ctx.lineWidth = self.lineWidth;
118432
118467
  ctx.stroke();
118433
118468
  ctx.closePath();
118434
118469
  }
118435
- function draws() {
118436
- for (let i = 1; i <= count; i++) {
118437
- draw(Math.random() * width, Math.random() * height);
118438
- }
118439
- }
118470
+ },
118471
+ clearCanvas() {
118472
+ const canvas = document.getElementById(this.id);
118473
+ const width = canvas.clientWidth;
118474
+ const height = canvas.clientHeight;
118475
+ this.ctx.clearRect(0, 0, width, height);
118440
118476
  }
118441
118477
  }
118442
118478
  });
118443
118479
  ;// CONCATENATED MODULE: ./src/package/components/mapRain.vue?vue&type=script&lang=js&
118444
118480
  /* harmony default export */ var components_mapRainvue_type_script_lang_js_ = (mapRainvue_type_script_lang_js_);
118445
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-64.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-64.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-64.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-64.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-64.use[4]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/components/mapRain.vue?vue&type=style&index=0&id=59d7e867&prod&lang=scss&scoped=true&
118446
- var mapRainvue_type_style_index_0_id_59d7e867_prod_lang_scss_scoped_true_ = __webpack_require__(3207);
118447
- ;// CONCATENATED MODULE: ./src/package/components/mapRain.vue?vue&type=style&index=0&id=59d7e867&prod&lang=scss&scoped=true&
118481
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-64.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-64.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-64.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-64.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-64.use[4]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/package/components/mapRain.vue?vue&type=style&index=0&id=20664206&prod&lang=scss&scoped=true&
118482
+ var mapRainvue_type_style_index_0_id_20664206_prod_lang_scss_scoped_true_ = __webpack_require__(354);
118483
+ ;// CONCATENATED MODULE: ./src/package/components/mapRain.vue?vue&type=style&index=0&id=20664206&prod&lang=scss&scoped=true&
118448
118484
 
118449
118485
  ;// CONCATENATED MODULE: ./src/package/components/mapRain.vue
118450
118486
 
@@ -118457,11 +118493,11 @@ var mapRainvue_type_style_index_0_id_59d7e867_prod_lang_scss_scoped_true_ = __we
118457
118493
 
118458
118494
  var mapRain_component = normalizeComponent(
118459
118495
  components_mapRainvue_type_script_lang_js_,
118460
- mapRainvue_type_template_id_59d7e867_scoped_true_render,
118461
- mapRainvue_type_template_id_59d7e867_scoped_true_staticRenderFns,
118496
+ mapRainvue_type_template_id_20664206_scoped_true_render,
118497
+ mapRainvue_type_template_id_20664206_scoped_true_staticRenderFns,
118462
118498
  false,
118463
118499
  null,
118464
- "59d7e867",
118500
+ "20664206",
118465
118501
  null
118466
118502
 
118467
118503
  )