1.0.26 • Published 5 years ago

ivy-fts v1.0.26

Weekly downloads
-
License
ISC
Repository
-
Last release
5 years ago

前端公共库

初始化

// 入口文件
import Vue from 'vue'
import router from './router'
import axios from 'axios'
import Mint from 'mint-ui'
import config from './config'
require('@/ivy-fe').init({Vue, router, axios, config, Mint})
  • 注册MintUI的组件,并且在Vue.prototype上添加$Toast/$Indicator/$MessageBox
  • 添加部分全局函数
  • 全局错误处理,网络请求的错误拦截器

添加的全局函数

new Date().format('YYYY-MM-DD hh:mm:ss') // 指定时间格式
Date.newDate('2018-01-01') // IOS上的new Date()不识别此格式,这个函数能够成功
Date.formatMs(63001, 'mm分ss.SSS') === '1分30.001' // 格式化为几小时几分

登陆注册信息管理

  • 登陆注册信息通常放到全局的store里,方便其他需要的地方使用
// 项目store文件
import ivyStore from '@/ivy-fe/ivyStore'
let config = require('./config')

export default {
  logined: ivyStore.logined,
  async login(vue, force = 0) { // force用于强制登陆,否则login调用多次,实际登陆一次
    return await ivyStore.login(vue, force)
  },
  async bindPhone(options) {
    return await ivyStore.bindPhone(options)
  },
}

辅助函数

import * as utils from '@/ivy-fe/utils'

await sleep(2000) // 睡眠2000毫秒

let uuid = uuid() // 生成uuid

let os = getOs() // 返回 android / mac

isWeixin()
isIos()
isAndroid()

cacheSet(key, value, expire) // expire为过期时间,-1永不过期,0立即过去,存储格式为json
cacheGet(key) // 获取缓存的数据

// 许多页面需要手动删除定时器,写了自动管理的定时器,相同的timer-name会把之前同名的定时器删除
// 结束之后不删除定时器也不会导致太多的定时器
setAutoTimer(() => console.log('one second'), 1000, 'timer-name')

微信函数

import * as weixin as '@/ivy-fe/weixin'

await wxConfigReady() // 等待微信config

await weixinPay(payInfo) // 微信支付

await weixinShare(shareInfo) // 微信分享

await getWxAddress() // 获取微信地址

音频类

import AudioPromise from '@/ivy-fe/audioPromise'

let audio = new AudioPromise(this.detail.audioUrl,
  e => this.updateTime(e), e => this.updateStatus(e))
// return a promise,播放结束时resolve,还可以传入结束时间
audio.play(this.currentTime || 0)
audio.pause()

其他

// 打开app,默认打开了音频App
import openApp from '@/ivy-fe/openApp'
openApp()

// 打开弹出层,在addressMod组建内部,可以使用close属性关闭弹出层,也可以在外部使用closeAll关闭所有弹出层
import showDiv, {closeAll} from '@/ivy-fe/showDiv'
await showDiv(addressMod, {receiveInfo: this.receiveInfo})
closeAll()

// 打开注册框
import showBindPhone from '@/ivy-fe/showBindPhone'
showBindPhone()
// 手机绑定之后,如果前面store使用了ivyStore,登陆信息会放到全局store里,

配置

  • 多个项目中复用的配置放到此公共包
  • webpack配置主要包括后端代理
  • config主要包括appid,以及一些跳转
1.0.26

5 years ago

1.0.25

5 years ago

1.0.24

5 years ago

1.0.23

5 years ago

1.0.22

6 years ago

1.0.19

6 years ago

1.0.18

6 years ago

1.0.17

6 years ago

1.0.16

6 years ago

1.0.15

6 years ago

1.0.14

6 years ago

1.0.13

6 years ago

1.0.12

6 years ago

1.0.11

6 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago