1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
| // import Vue from 'vue'
| // import store from '@/store/index.js'
| const message = {
| showToast(title="操作成功", options = {}) {
| const initOptions = {
| title,
| icon: 'none',
| mask: false,
| duration: 1200,
| position: 'center'
| }
| if (options && options.image) {
| initOptions.image = options.image
| }
| options = Object.assign({}, initOptions, options)
| return new Promise((resolve, reject) => {
| uni.showToast({ ...options,
| success: () => {
| const timer = setTimeout(() => {
| resolve()
| clearTimeout(timer)
| }, options.duration)
| }
| })
| })
| },
| hideToast() {
| uni.hideToast()
| },
| showLoading(options = {}) {
| const initOptions = {
| title: options&&options.title?options.title:'加载中',
| mask: true
| }
| options = Object.assign({}, initOptions, options)
| uni.showLoading(options);
| },
| hideLoading() {
| uni.hideLoading()
| },
| alert(content, options = {}) {
| const initOptions = {
| title: '提示',
| content,
| showCancel: false,
| confirmText: '确定',
| confirmColor: '#20613D'
| }
| options = Object.assign({}, initOptions, options)
| return new Promise((resolve) => {
| uni.showModal({
| ...options,
| success: (res) => {
| if (res.confirm) {
| resolve()
| }
| }
| })
| })
| },
| confirm(content, options = {}) {
| const initOptions = {
| title: '提示',
| content,
| showCancel: true,
| cancelText: '取消',
| cancelColor: '#000000',
| confirmText: '确定',
| confirmColor: '#20613D'
| }
| options = Object.assign({}, initOptions, options)
| return new Promise((resolve, reject) => {
| uni.showModal({
| ...options,
| success: (res) => {
| if (res.confirm) {
| resolve(res)
| }
| if (res.cancel) {
| reject()
| }
| }
| })
| })
| }
| }
|
| // Vue.prototype.$message = message
|
| export default message
|
|