12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /**
- * 判断数据是否为 type, 或返回 type
- * @param {*} data
- * @param {*} type
- * @returns
- */
- function isType(data, type = undefined) {
- const dataType = Object.prototype.toString
- .call(data)
- .match(/\s(.+)]/)[1]
- .toLowerCase()
- return type ? dataType === type.toLowerCase() : dataType
- }
- /**
- autoList 参考示例
- [
- {
- time: 1000 * 5, // 循环调用时间
- fn: this.currentTime, // 要调用的函数
- }
- ]
- **/
- function autoVueFn(autoList = [], opt) {
- if (!opt) {
- opt = {
- vm: this,
- }
- } else if (opt.$attrs) {
- opt = {
- vm: opt,
- }
- }
- const { vm, batEnd } = opt
- let end = 0
- vm.timer_ = []
- autoList.forEach(async (item) => {
- const fn = async () => {
- await item.fn.call(vm)
- end = end + 1
- if (end >= autoList.length) {
- batEnd && batEnd.call(vm)
- }
- }
- fn()
- const timer = setInterval(fn, item.time)
- vm.timer_.push(timer)
- })
- vm.$options.beforeDestroy = [
- ...(vm.$options.beforeDestroy || []),
- function () {
- vm.timer_.forEach((item) => {
- console.log(`卸载`, item)
- clearInterval(item)
- })
- },
- ]
- }
- /**
- * 根据区域 code 获取区域 id
- * @param {} vm
- * @param {*} code
- * @returns
- */
- async function code2base(vm, code) {
- const list = (await vm.$http.get(`/api/base`)) || []
- console.log(list, code.slice(0, 2))
- const item =
- list.find((item) => String(item.名称).includes(String(code.slice(0, 2)))) ||
- list[0] ||
- {}
- return item
- }
- export default {
- code2base,
- autoVueFn,
- isType,
- }
|