af-mobile-client-vue3 1.0.91 → 1.0.94
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/.env.development +4 -4
- package/build/vite/index.ts +91 -91
- package/index.html +17 -17
- package/package.json +108 -108
- package/src/api/user/index.ts +40 -40
- package/src/components/data/XBadge/index.vue +1 -1
- package/src/components/data/XCellList/index.vue +13 -10
- package/src/components/data/XCellListFilter/QrScanner/index.vue +207 -0
- package/src/components/data/XCellListFilter/QrScanner/startScanAnimation.ts +53 -0
- package/src/components/data/XCellListFilter/VpnRecognition/index.vue +119 -0
- package/src/components/data/XCellListFilter/index.vue +253 -63
- package/src/components/data/XForm/index.vue +153 -153
- package/src/components/data/XFormItem/index.vue +997 -997
- package/src/components.d.ts +53 -53
- package/src/main.ts +5 -5
- package/src/router/index.ts +60 -60
- package/src/router/routes.ts +145 -145
- package/src/services/api/Login.ts +6 -6
- package/src/views/component/EvaluateRecordView/index.vue +40 -40
- package/src/views/component/XFormAppraiseView/index.vue +174 -169
- package/src/views/component/index.vue +127 -127
- package/certs/127.0.0.1+2-key.pem +0 -28
- package/certs/127.0.0.1+2.pem +0 -27
|
@@ -1,169 +1,174 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import banner1 from '@af-mobile-client-vue3/assets/img/banner/appraise-banner-1.png'
|
|
3
|
-
import banner2 from '@af-mobile-client-vue3/assets/img/banner/appraise-banner-2.png'
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Swipe as VanSwipe,
|
|
13
|
-
SwipeItem as VanSwipeItem
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
import {
|
|
17
|
-
import
|
|
18
|
-
import {openApiLogic} from
|
|
19
|
-
import {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const xFormInit = ref(false)
|
|
23
|
-
const mode = ref('')
|
|
24
|
-
|
|
25
|
-
const groupFormItems = ref({})
|
|
26
|
-
const formData = ref({})
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const instance = getCurrentInstance()
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
id: null,
|
|
35
|
-
f_business_name: '',
|
|
36
|
-
f_evaluate_state: ''
|
|
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
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
window.open('', '_self')
|
|
110
|
-
window.close()
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
<
|
|
126
|
-
<
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
<
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
.
|
|
154
|
-
border-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import banner1 from '@af-mobile-client-vue3/assets/img/banner/appraise-banner-1.png'
|
|
3
|
+
import banner2 from '@af-mobile-client-vue3/assets/img/banner/appraise-banner-2.png'
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
Cell as VanCell,
|
|
7
|
+
CellGroup as VanCellGroup,
|
|
8
|
+
Loading as VanLoading,
|
|
9
|
+
NavBar as VanNavBar,
|
|
10
|
+
Row as VanRow,
|
|
11
|
+
Space as VanSpace,
|
|
12
|
+
Swipe as VanSwipe,
|
|
13
|
+
SwipeItem as VanSwipeItem,
|
|
14
|
+
showDialog,
|
|
15
|
+
} from 'vant'
|
|
16
|
+
import { useRoute } from 'vue-router'
|
|
17
|
+
import { getCurrentInstance, onMounted, ref } from 'vue'
|
|
18
|
+
import { openApiLogic } from '@af-mobile-client-vue3/services/api/common'
|
|
19
|
+
import { formatDate } from '@af-mobile-client-vue3/hooks/useCommon'
|
|
20
|
+
|
|
21
|
+
const xForm = ref()
|
|
22
|
+
const xFormInit = ref(false)
|
|
23
|
+
const mode = ref('')
|
|
24
|
+
const loading = ref(true)
|
|
25
|
+
const groupFormItems = ref({})
|
|
26
|
+
const formData = ref({})
|
|
27
|
+
const id = ref(-1)
|
|
28
|
+
const openid = ref('')
|
|
29
|
+
const instance = getCurrentInstance()
|
|
30
|
+
const route = useRoute()
|
|
31
|
+
const serviceName = ref('af-revenue')
|
|
32
|
+
const images = ref([banner1, banner2])
|
|
33
|
+
const currentEvaluate = {
|
|
34
|
+
id: null,
|
|
35
|
+
f_business_name: '',
|
|
36
|
+
f_evaluate_state: '',
|
|
37
|
+
f_business_agent: '',
|
|
38
|
+
f_business_type: '',
|
|
39
|
+
}
|
|
40
|
+
onMounted(() => {
|
|
41
|
+
if (instance) {
|
|
42
|
+
id.value = route.params.id as unknown as number
|
|
43
|
+
openid.value = route.params.openid as string
|
|
44
|
+
formInit()
|
|
45
|
+
}
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
async function formInit() {
|
|
49
|
+
if (id.value > 0) {
|
|
50
|
+
queryData()
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
// 没有id 直接提示用户不存在,返回上一级
|
|
54
|
+
await showDialog({ message: '评价信息缺少参数,找不到对应评价信息' })
|
|
55
|
+
closeWindows()
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function queryData() {
|
|
59
|
+
openApiLogic({
|
|
60
|
+
id: id.value,
|
|
61
|
+
}, 'getEvalConfigById', serviceName.value).then(async (res: any) => {
|
|
62
|
+
if (res.row && res.config) {
|
|
63
|
+
Object.assign(currentEvaluate, res.row)
|
|
64
|
+
if (currentEvaluate.f_evaluate_state === '已评价') {
|
|
65
|
+
mode.value = '预览'
|
|
66
|
+
formData.value = res.row.f_json ? JSON.parse(res.row.f_json) : {}
|
|
67
|
+
}
|
|
68
|
+
groupFormItems.value = res.config
|
|
69
|
+
xFormInit.value = true
|
|
70
|
+
loading.value = false
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
await showDialog({ message: res.msg })
|
|
74
|
+
closeWindows()
|
|
75
|
+
}
|
|
76
|
+
}).catch(() => {
|
|
77
|
+
showDialog({ message: '查询评价信息失败了' })
|
|
78
|
+
})
|
|
79
|
+
}
|
|
80
|
+
function onSubmit(params) {
|
|
81
|
+
const data = {
|
|
82
|
+
id: currentEvaluate.id,
|
|
83
|
+
f_json: params,
|
|
84
|
+
f_evaluate_date: formatDate(new Date()),
|
|
85
|
+
f_evaluate_state: '已评价',
|
|
86
|
+
f_evaluate_type: '用户评价',
|
|
87
|
+
f_evaluate_userid: openid.value,
|
|
88
|
+
}
|
|
89
|
+
openApiLogic(data, 'saveEvaluate', serviceName.value).then(async (res: any) => {
|
|
90
|
+
if (res.id) {
|
|
91
|
+
await showDialog({ message: '评价成功了' })
|
|
92
|
+
closeWindows()
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
await showDialog({ message: '评价失败了' })
|
|
96
|
+
}
|
|
97
|
+
}).catch(() => {
|
|
98
|
+
showDialog({ message: '评价失败了' })
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
function closeWindows() {
|
|
102
|
+
const ua = window.navigator.userAgent.toLowerCase()
|
|
103
|
+
if (ua.includes('micromessenger') && typeof WeixinJSBridge !== 'undefined') {
|
|
104
|
+
WeixinJSBridge.call('closeWindow')
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
// 关闭页面
|
|
108
|
+
if (navigator.userAgent.includes('Firefox') || navigator.userAgent.includes('Chrome')) {
|
|
109
|
+
window.open('about:blank', '_self')
|
|
110
|
+
window.close()
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
window.opener = null
|
|
114
|
+
window.open('', '_self')
|
|
115
|
+
window.close()
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
</script>
|
|
120
|
+
|
|
121
|
+
<template>
|
|
122
|
+
<VanNavBar
|
|
123
|
+
:title="mode === '预览' ? '服务评价纪录' : '服务评价'"
|
|
124
|
+
/>
|
|
125
|
+
<VanSwipe class="my-swipe" height="150" :autoplay="3000" lazy-render indicator-color="#7b7c7c">
|
|
126
|
+
<VanSwipeItem v-for="image in images" :key="image">
|
|
127
|
+
<img :src="image">
|
|
128
|
+
</VanSwipeItem>
|
|
129
|
+
</VanSwipe>
|
|
130
|
+
<VanRow v-show="loading" justify="center">
|
|
131
|
+
<VanLoading type="spinner" color="#1989fa" />
|
|
132
|
+
</VanRow>
|
|
133
|
+
<VanSpace v-show="!loading" direction="vertical" fill>
|
|
134
|
+
<VanCellGroup inset>
|
|
135
|
+
<VanCell title="业务办理人" :value="currentEvaluate.f_business_agent" />
|
|
136
|
+
<VanCell title="业务类型" :value="currentEvaluate.f_business_type" />
|
|
137
|
+
<VanCell title="业务名称" :value="currentEvaluate.f_business_name" />
|
|
138
|
+
</VanCellGroup>
|
|
139
|
+
<x-form
|
|
140
|
+
v-if="xFormInit"
|
|
141
|
+
ref="xForm"
|
|
142
|
+
style="margin-bottom: 14px;"
|
|
143
|
+
:group-form-items="JSON.parse(JSON.stringify(groupFormItems))"
|
|
144
|
+
:service-name="serviceName"
|
|
145
|
+
:form-data="formData"
|
|
146
|
+
:mode="mode"
|
|
147
|
+
@on-submit="onSubmit"
|
|
148
|
+
/>
|
|
149
|
+
</VanSpace>
|
|
150
|
+
</template>
|
|
151
|
+
|
|
152
|
+
<style scoped>
|
|
153
|
+
.van-cell-group--inset .van-cell::after {
|
|
154
|
+
border-bottom: 1px dashed #c0c2c2 !important; /* 虚线 + 颜色 */
|
|
155
|
+
left: 16px; /* 保持 inset 分组缩进 */
|
|
156
|
+
right: 16px;
|
|
157
|
+
}
|
|
158
|
+
.my-swipe .van-swipe-item {
|
|
159
|
+
border-radius: 8px;
|
|
160
|
+
box-sizing: border-box;
|
|
161
|
+
padding: 8px; /* 让图片和边框有间距 */
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.my-swipe .van-swipe-item img {
|
|
165
|
+
width: 100%;
|
|
166
|
+
height: 100%;
|
|
167
|
+
object-fit: contain; /* 保持图片比例 */
|
|
168
|
+
border-radius: 4px; /* 可选:图片圆角 */
|
|
169
|
+
}
|
|
170
|
+
img {
|
|
171
|
+
overflow-clip-margin: content-box;
|
|
172
|
+
overflow: clip;
|
|
173
|
+
}
|
|
174
|
+
</style>
|
|
@@ -1,127 +1,127 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import {
|
|
4
|
-
Cell as VanCell,
|
|
5
|
-
List as VanList,
|
|
6
|
-
showToast,
|
|
7
|
-
} from 'vant'
|
|
8
|
-
import { indexedDB } from '@af-mobile-client-vue3/utils/indexedDB'
|
|
9
|
-
import useUserStore from '@af-mobile-client-vue3/stores/modules/user'
|
|
10
|
-
|
|
11
|
-
// 列表详情页的路由 '/Component/XCellDetailView/:id'
|
|
12
|
-
const list = ref([
|
|
13
|
-
{
|
|
14
|
-
name: 'XCellList 单元格列表',
|
|
15
|
-
to: '/Component/XCellListView',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
name: 'XReportForm 报表表单',
|
|
19
|
-
to: '/Component/XReportFormView',
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
name: 'XCellDetail 列表详情页',
|
|
23
|
-
to: '/Component/XCellDetailView/0',
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
name: 'XForm 表单',
|
|
27
|
-
to: '/Component/XFormView/1/debug',
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
name: '操作卡手机端',
|
|
31
|
-
to: '/Component/XReportFormView',
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
name: '评论记录列表',
|
|
35
|
-
to: '/Component/EvaluateRecordView',
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
name: 'XSignature 签名组件',
|
|
39
|
-
to: '/Component/XSignatureView',
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: 'XReportGridView 栅格组件',
|
|
43
|
-
to: '/Component/XReportGridView',
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
name: 'XFormAppraise 表单',
|
|
47
|
-
to: '/Component/XFormAppraiseView/2/debug',
|
|
48
|
-
},
|
|
49
|
-
])
|
|
50
|
-
|
|
51
|
-
function cleanConfigCache() {
|
|
52
|
-
// 清除indexedDB缓存
|
|
53
|
-
indexedDB.clear()
|
|
54
|
-
showToast({
|
|
55
|
-
message: '操作成功',
|
|
56
|
-
})
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
async function logout() {
|
|
60
|
-
await useUserStore().logout()
|
|
61
|
-
}
|
|
62
|
-
</script>
|
|
63
|
-
|
|
64
|
-
<template>
|
|
65
|
-
<main class="home_main">
|
|
66
|
-
<h1 class="home_title">
|
|
67
|
-
<img src="@af-mobile-client-vue3/assets/img/component/logo.png" alt="logo">
|
|
68
|
-
<span>Vue3-Client</span>
|
|
69
|
-
</h1>
|
|
70
|
-
<span class="home_desc">基于Vant4的移动端组件库扩展</span>
|
|
71
|
-
<div class="home_component_main">
|
|
72
|
-
<span class="home_desc">配置化组件</span>
|
|
73
|
-
<VanList>
|
|
74
|
-
<VanCell v-for="item in list" :key="item.name" :title="item.name" is-link :to="item.to" />
|
|
75
|
-
</VanList>
|
|
76
|
-
<span class="home_desc">开发者工具</span>
|
|
77
|
-
<VanList>
|
|
78
|
-
<VanCell key="clean_config_cache" title="清除配置缓存" @click="cleanConfigCache" />
|
|
79
|
-
<VanCell key="clean_config_cache" title="退出登录" @click="logout" />
|
|
80
|
-
</VanList>
|
|
81
|
-
</div>
|
|
82
|
-
</main>
|
|
83
|
-
</template>
|
|
84
|
-
|
|
85
|
-
<style scoped lang="less">
|
|
86
|
-
.home_main {
|
|
87
|
-
width: 100vw;
|
|
88
|
-
height: 100%;
|
|
89
|
-
padding: var(--base-interval-2);
|
|
90
|
-
background-color: #eff2f5;
|
|
91
|
-
.home_title {
|
|
92
|
-
margin: 0 0 10px;
|
|
93
|
-
font-size: 30px;
|
|
94
|
-
font-weight: 400;
|
|
95
|
-
color: rgb(50, 50, 51);
|
|
96
|
-
img {
|
|
97
|
-
vertical-align: middle;
|
|
98
|
-
width: 46px;
|
|
99
|
-
height: 46px;
|
|
100
|
-
}
|
|
101
|
-
span {
|
|
102
|
-
margin-left: 12px;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
.home_desc {
|
|
106
|
-
padding-left: 16px;
|
|
107
|
-
font-weight: 400;
|
|
108
|
-
line-height: 1.6;
|
|
109
|
-
margin: 0 0 40px;
|
|
110
|
-
color: #969799;
|
|
111
|
-
font-size: 14px;
|
|
112
|
-
}
|
|
113
|
-
.home_component_main {
|
|
114
|
-
margin-top: 30px;
|
|
115
|
-
.van-cell {
|
|
116
|
-
margin: 10px 0;
|
|
117
|
-
font-weight: 600;
|
|
118
|
-
border-radius: 99px;
|
|
119
|
-
color: #34495e;
|
|
120
|
-
:deep(.van-icon) {
|
|
121
|
-
display: flex;
|
|
122
|
-
align-items: center;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
</style>
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { ref } from 'vue'
|
|
3
|
+
import {
|
|
4
|
+
Cell as VanCell,
|
|
5
|
+
List as VanList,
|
|
6
|
+
showToast,
|
|
7
|
+
} from 'vant'
|
|
8
|
+
import { indexedDB } from '@af-mobile-client-vue3/utils/indexedDB'
|
|
9
|
+
import useUserStore from '@af-mobile-client-vue3/stores/modules/user'
|
|
10
|
+
|
|
11
|
+
// 列表详情页的路由 '/Component/XCellDetailView/:id'
|
|
12
|
+
const list = ref([
|
|
13
|
+
{
|
|
14
|
+
name: 'XCellList 单元格列表',
|
|
15
|
+
to: '/Component/XCellListView',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'XReportForm 报表表单',
|
|
19
|
+
to: '/Component/XReportFormView',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'XCellDetail 列表详情页',
|
|
23
|
+
to: '/Component/XCellDetailView/0',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: 'XForm 表单',
|
|
27
|
+
to: '/Component/XFormView/1/debug',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: '操作卡手机端',
|
|
31
|
+
to: '/Component/XReportFormView',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: '评论记录列表',
|
|
35
|
+
to: '/Component/EvaluateRecordView',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'XSignature 签名组件',
|
|
39
|
+
to: '/Component/XSignatureView',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'XReportGridView 栅格组件',
|
|
43
|
+
to: '/Component/XReportGridView',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'XFormAppraise 表单',
|
|
47
|
+
to: '/Component/XFormAppraiseView/2/debug',
|
|
48
|
+
},
|
|
49
|
+
])
|
|
50
|
+
|
|
51
|
+
function cleanConfigCache() {
|
|
52
|
+
// 清除indexedDB缓存
|
|
53
|
+
indexedDB.clear()
|
|
54
|
+
showToast({
|
|
55
|
+
message: '操作成功',
|
|
56
|
+
})
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
async function logout() {
|
|
60
|
+
await useUserStore().logout()
|
|
61
|
+
}
|
|
62
|
+
</script>
|
|
63
|
+
|
|
64
|
+
<template>
|
|
65
|
+
<main class="home_main">
|
|
66
|
+
<h1 class="home_title">
|
|
67
|
+
<img src="@af-mobile-client-vue3/assets/img/component/logo.png" alt="logo">
|
|
68
|
+
<span>Vue3-Client</span>
|
|
69
|
+
</h1>
|
|
70
|
+
<span class="home_desc">基于Vant4的移动端组件库扩展</span>
|
|
71
|
+
<div class="home_component_main">
|
|
72
|
+
<span class="home_desc">配置化组件</span>
|
|
73
|
+
<VanList>
|
|
74
|
+
<VanCell v-for="item in list" :key="item.name" :title="item.name" is-link :to="item.to" />
|
|
75
|
+
</VanList>
|
|
76
|
+
<span class="home_desc">开发者工具</span>
|
|
77
|
+
<VanList>
|
|
78
|
+
<VanCell key="clean_config_cache" title="清除配置缓存" @click="cleanConfigCache" />
|
|
79
|
+
<VanCell key="clean_config_cache" title="退出登录" @click="logout" />
|
|
80
|
+
</VanList>
|
|
81
|
+
</div>
|
|
82
|
+
</main>
|
|
83
|
+
</template>
|
|
84
|
+
|
|
85
|
+
<style scoped lang="less">
|
|
86
|
+
.home_main {
|
|
87
|
+
width: 100vw;
|
|
88
|
+
height: 100%;
|
|
89
|
+
padding: var(--base-interval-2);
|
|
90
|
+
background-color: #eff2f5;
|
|
91
|
+
.home_title {
|
|
92
|
+
margin: 0 0 10px;
|
|
93
|
+
font-size: 30px;
|
|
94
|
+
font-weight: 400;
|
|
95
|
+
color: rgb(50, 50, 51);
|
|
96
|
+
img {
|
|
97
|
+
vertical-align: middle;
|
|
98
|
+
width: 46px;
|
|
99
|
+
height: 46px;
|
|
100
|
+
}
|
|
101
|
+
span {
|
|
102
|
+
margin-left: 12px;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
.home_desc {
|
|
106
|
+
padding-left: 16px;
|
|
107
|
+
font-weight: 400;
|
|
108
|
+
line-height: 1.6;
|
|
109
|
+
margin: 0 0 40px;
|
|
110
|
+
color: #969799;
|
|
111
|
+
font-size: 14px;
|
|
112
|
+
}
|
|
113
|
+
.home_component_main {
|
|
114
|
+
margin-top: 30px;
|
|
115
|
+
.van-cell {
|
|
116
|
+
margin: 10px 0;
|
|
117
|
+
font-weight: 600;
|
|
118
|
+
border-radius: 99px;
|
|
119
|
+
color: #34495e;
|
|
120
|
+
:deep(.van-icon) {
|
|
121
|
+
display: flex;
|
|
122
|
+
align-items: center;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
</style>
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
-----BEGIN PRIVATE KEY-----
|
|
2
|
-
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQChKsPmzaqY3iw4
|
|
3
|
-
nugwJIdl/Xf4HA33hxiNs1u5VnL/DceCz/6uOfj/pi1w3N4Zzn8j58aY5Oh2HTDJ
|
|
4
|
-
laaDEHQmq7suBgeAVIJoplr4SDQEyecehqH5bHt4MnJ5ize1ldNxzXgO5a2XwfPz
|
|
5
|
-
YxWw90jZk1QEQIgS1Ip90amJk7al+M/+dIb61uoET/xLIrcVXtc9lzglPyZpNYQd
|
|
6
|
-
LB0hkjd+Ed8c5Hx90/gc/JJh3Ur1YfWREr4SJwfz1+KbUGbADEFwaLX6G5Hma6qi
|
|
7
|
-
gC3OZ13M1+bxpxT01+TGtPzUhFADFF+ychj8v4U4UbypgsiW9Wya7LHRNUfODmXc
|
|
8
|
-
UT2M5O/pAgMBAAECggEAUtmDH3D2k+MSZID751O/7uQf+gGiBG8EZkOfkWUpdIgG
|
|
9
|
-
2e5GhBX1NKaekXhZDHck0LZjV1HFVoKnA9nUYWfh7cc2T/B1hrjq2RU7iorDgvqv
|
|
10
|
-
vveC6I+l4SI9ytGQb953dfckErRrSqo/2AxFqFVWs9KSzCTITrXIA+n1921h5Wtz
|
|
11
|
-
2UGsiyt7SR9ASOQ9o16QlDBNan7SulQyIam/NHaiDuyoB8bBxrewPGIx12vESbeK
|
|
12
|
-
NlpZhWd9jzcdkfLudIiCkp2XQ3lQsQHHNIgTij2GsYEE6hb4jLIfRsuUz6IHdFcE
|
|
13
|
-
gnqnXtUJPUMMmaoz6sFG3yLjHrsMUfSShDzMp19ViQKBgQDJzZ1fL+ZhQd7kTR4N
|
|
14
|
-
zDexXHcuHFXhXJ8VuXKcCgc5K4wt88yVQTNWwWRw27RFIh75DHQhm3FQiGydf+HM
|
|
15
|
-
8k7riKA0ab3/AO5u9JYNf+Pbz0k/+rthWk/qA4N/New2eJaJMZcguwCRtg7h1Ecr
|
|
16
|
-
JvcVxKkxwdCvPNwq8IKeyOyS1wKBgQDMc1Uok5sPhn/LSjqnUCRlyzv1tbgJPRsZ
|
|
17
|
-
1RU2wouRJc5b0usPJi9bX4642O2eTfd4mwQpPS4WcYnXVA2+qVG+rs6WAvMN10LI
|
|
18
|
-
SIICIzFrah1GyXs8baILE9bfJamB+YFAOF7DPK6dDHLlEg/ZhUqKr/PwoU1Cjro6
|
|
19
|
-
Xiwy7Gz7PwKBgQC44TgBAbg1eAyE6iXTjDmlssm5I9qGGb3hQEHAtOtDNCM74jSW
|
|
20
|
-
tOIc5BZp0s6H26e2kPM/6tHYbvPbI1Kx2Xf2Dvh+rDWVjrviSQ/DlFwjf/ditwm+
|
|
21
|
-
Oegmw0tQWw1qJfX8AMOtB8WQuNNPj5QX853AgqhjXmYadU5bxHZWlEswhwKBgCMP
|
|
22
|
-
uE/wGExuTWYogayFwuguFUdK9ZeoAgjJEQ1GCbdHm38FycfcTYzG82vhz8YxKrpl
|
|
23
|
-
Iy6LTmcM642g3YaP9PPVeJojQVljTBGa1ajWLjh0hzbHgLnZN0vdCCFWjR48Ep1X
|
|
24
|
-
zXB/7JYEN4PvOAaepCzqhdQDZYN/hJJT6hKFlx7zAoGAC2wxKt0MdQCX8f9B8Lhj
|
|
25
|
-
3zl6ehRrfM0Ah/4Bf8845AQcS1K8FeDgU7glacz8EAKX2XUx+y2KqOb2Wiw+LwVi
|
|
26
|
-
kAl60oJBZxpuK/upjlOykWP9wOrpWtEYgqlu3ilOFLNQUb0h/7oL9fvfinUzij/V
|
|
27
|
-
PkQrsv2j4+R8OHWD5VN1IiA=
|
|
28
|
-
-----END PRIVATE KEY-----
|
package/certs/127.0.0.1+2.pem
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
|
2
|
-
MIIEkTCCAvmgAwIBAgIQcMK+bOM3fXEWrBMEL3//XDANBgkqhkiG9w0BAQsFADCB
|
|
3
|
-
pTEeMBwGA1UEChMVbWtjZXJ0IGRldmVsb3BtZW50IENBMT0wOwYDVQQLDDRMQVBU
|
|
4
|
-
T1AtOUxOR0xKQktc5ZSQ5qKT54OoQExBUFRPUC05TE5HTEpCSyAodGFuZ3ppeWUp
|
|
5
|
-
MUQwQgYDVQQDDDtta2NlcnQgTEFQVE9QLTlMTkdMSkJLXOWUkOaik+eDqEBMQVBU
|
|
6
|
-
T1AtOUxOR0xKQksgKHRhbmd6aXllKTAeFw0yNDA5MDQwNjI4MThaFw0yNjEyMDQw
|
|
7
|
-
NjI4MThaMGgxJzAlBgNVBAoTHm1rY2VydCBkZXZlbG9wbWVudCBjZXJ0aWZpY2F0
|
|
8
|
-
ZTE9MDsGA1UECww0TEFQVE9QLTlMTkdMSkJLXOWUkOaik+eDqEBMQVBUT1AtOUxO
|
|
9
|
-
R0xKQksgKHRhbmd6aXllKTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
|
10
|
-
AKEqw+bNqpjeLDie6DAkh2X9d/gcDfeHGI2zW7lWcv8Nx4LP/q45+P+mLXDc3hnO
|
|
11
|
-
fyPnxpjk6HYdMMmVpoMQdCaruy4GB4BUgmimWvhINATJ5x6Goflse3gycnmLN7WV
|
|
12
|
-
03HNeA7lrZfB8/NjFbD3SNmTVARAiBLUin3RqYmTtqX4z/50hvrW6gRP/EsitxVe
|
|
13
|
-
1z2XOCU/Jmk1hB0sHSGSN34R3xzkfH3T+Bz8kmHdSvVh9ZESvhInB/PX4ptQZsAM
|
|
14
|
-
QXBotfobkeZrqqKALc5nXczX5vGnFPTX5Ma0/NSEUAMUX7JyGPy/hThRvKmCyJb1
|
|
15
|
-
bJrssdE1R84OZdxRPYzk7+kCAwEAAaN5MHcwDgYDVR0PAQH/BAQDAgWgMBMGA1Ud
|
|
16
|
-
JQQMMAoGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFChzYGTua1EmLuS4rXqUekjNK40r
|
|
17
|
-
MC8GA1UdEQQoMCaCCWxvY2FsaG9zdIITd3d3LmFvZmVuZ2Nsb3VkLmNvbYcEfwAA
|
|
18
|
-
ATANBgkqhkiG9w0BAQsFAAOCAYEAhVvhN3eEEw2jmJ+ey2h7eLoZkuTIlJpJymPj
|
|
19
|
-
pXea4LBj+q3MHNXO5SRjc5QzB6As5GOLld++JDLOUkL/4IA+E6IFNWyDS7pS2EdP
|
|
20
|
-
G61nc3v7Os4g/ZElXA3xePYEfHewTURe5NagEHx+jdXEwK4nEChrJxmlbNgk6VEL
|
|
21
|
-
TYDLhA0bWWm7/CMv1oPOXWPLI5BDi56HnjJVXem6JpOwiHRmiZcj1DvP9m52+8f9
|
|
22
|
-
g94Q9zMBvwpNneaNAcUgATxykMjZoLJBCe1EdqmO0xXEJI6Cz8nJEp6CJBl5Vi/t
|
|
23
|
-
deKITXWe7ZP2/temIHG3Tv62l3/XQqdCvztgk50aW8YGyci243k7YDgWuULPvDf1
|
|
24
|
-
N0cUEC3PYKnkhhSWyy91aMyrsorWGpsjrb6xgla+0SpHNb+ZAl1SEY5VqTOsWxE/
|
|
25
|
-
qAQ+5xHN1EnrIqtNX7Lzp/7ekq0OQTP/U9D2soLpX7jlnWgQPnoBrNmOYr26UpzB
|
|
26
|
-
os3c4GV0Cr9AChbLjbWPn7D9+cA1
|
|
27
|
-
-----END CERTIFICATE-----
|