fstarter 2.10.46 → 2.10.49
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 +2 -2
- package/src/plugins/components/BSUpload2.vue +21 -5
- package/src/plugins/components/BSVerCode.vue +93 -96
- package/src/plugins/services/faceTx.js +61 -0
- package/src/plugins/services/getTxFaceResult.js +83 -0
- package/src/plugins/services/index.js +4 -0
- package/src/views/auth.vue +64 -48
- package/src/views/auth3.vue +15 -6
- package/README.md +0 -18
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fstarter",
|
|
3
3
|
"description": "A Vue.js project",
|
|
4
|
-
"version": "2.10.
|
|
4
|
+
"version": "2.10.49",
|
|
5
5
|
"author": "han.zhang <zhanghan810810@163.com>",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"private": false,
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"rxjs": "^5.4.0",
|
|
25
25
|
"signature_pad": "^3.0.0-beta.4",
|
|
26
26
|
"style-loader": "^0.23.0",
|
|
27
|
-
"vant": "2.
|
|
27
|
+
"vant": "2.12.39",
|
|
28
28
|
"vconsole": "^3.3.0",
|
|
29
29
|
"vue": "^2.6.11",
|
|
30
30
|
"vue-bus": "^1.2.0",
|
|
@@ -11,20 +11,22 @@
|
|
|
11
11
|
:upload-icon="model.bgImage"
|
|
12
12
|
:accept="model.accept"
|
|
13
13
|
:preview-image="model.preview"
|
|
14
|
+
@click-upload="clickUpload"
|
|
14
15
|
capture="camera"
|
|
15
16
|
@delete="deleteFn"
|
|
16
17
|
>
|
|
17
18
|
<van-image :src="model.bgImage"/>
|
|
18
19
|
</van-uploader>
|
|
19
20
|
|
|
20
|
-
<
|
|
21
|
-
v-
|
|
22
|
-
|
|
21
|
+
<div
|
|
22
|
+
v-show="showCooper"
|
|
23
|
+
class="pop"
|
|
23
24
|
closeable
|
|
24
25
|
:overlay="false"
|
|
25
26
|
:style="{
|
|
26
27
|
width: '100%',
|
|
27
|
-
height: '100%'
|
|
28
|
+
height: '100%',
|
|
29
|
+
zIndex: '999'
|
|
28
30
|
}"
|
|
29
31
|
@click-close-icon="cancel"
|
|
30
32
|
>
|
|
@@ -70,7 +72,7 @@
|
|
|
70
72
|
</van-button>
|
|
71
73
|
</div>
|
|
72
74
|
</div>
|
|
73
|
-
</
|
|
75
|
+
</div>
|
|
74
76
|
</div>
|
|
75
77
|
</template>
|
|
76
78
|
|
|
@@ -221,6 +223,11 @@
|
|
|
221
223
|
},self.fullName)
|
|
222
224
|
})
|
|
223
225
|
},
|
|
226
|
+
clickUpload () {
|
|
227
|
+
this.$emit('clickUpload', function(){
|
|
228
|
+
|
|
229
|
+
},this.fullName)
|
|
230
|
+
},
|
|
224
231
|
async afterRead(file) {
|
|
225
232
|
|
|
226
233
|
if(this.model.preview) this.fileList[0].status = 'uploading'
|
|
@@ -366,6 +373,15 @@
|
|
|
366
373
|
width: 50%;
|
|
367
374
|
}
|
|
368
375
|
}
|
|
376
|
+
.pop {
|
|
377
|
+
position: fixed;
|
|
378
|
+
top: 50%;
|
|
379
|
+
left:0;
|
|
380
|
+
transform: translate3d(0,-50%,0);
|
|
381
|
+
max-height: 100%;
|
|
382
|
+
overflow-y: auto;
|
|
383
|
+
background-color: #fff;
|
|
384
|
+
}
|
|
369
385
|
</style>
|
|
370
386
|
<style scoped>
|
|
371
387
|
/* .cropper-container >>> .van-button--info{
|
|
@@ -7,125 +7,122 @@
|
|
|
7
7
|
slot="button"
|
|
8
8
|
@blur="blur"
|
|
9
9
|
:class="ctlClass"
|
|
10
|
-
:readonly="!sent"
|
|
11
10
|
:clearable="model.clearable"
|
|
12
11
|
:error-message="model.hiddenValidate ? '': model.validateResult.message"
|
|
13
12
|
>
|
|
14
|
-
<van-button slot="button" @click="sendVerCode" :disabled="modelData.disabled">{{model.sendButtonLabel}}
|
|
13
|
+
<van-button slot="button" @click="sendVerCode" :disabled="modelData.disabled">{{ model.sendButtonLabel }}
|
|
14
|
+
</van-button>
|
|
15
15
|
</van-field>
|
|
16
16
|
|
|
17
17
|
</template>
|
|
18
18
|
|
|
19
19
|
<script>
|
|
20
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
|
-
this.$emit('send-verCode',function(){
|
|
61
|
-
self.sent = true
|
|
62
|
-
self.model.expiredTime = self.modelData.expiredTime
|
|
63
|
-
|
|
64
|
-
var source = Rx.Observable.timer(0, 1000)
|
|
65
|
-
|
|
66
|
-
source = source.pipe(take(self.modelData.expiredTime)).pipe(filter(num => self.sent));
|
|
67
|
-
|
|
68
|
-
source.subscribe({
|
|
69
|
-
next: function(value) {
|
|
70
|
-
|
|
71
|
-
self.model.expiredTime = self.model.expiredTime - 1
|
|
72
|
-
self.model.sendButtonLabel = self.modelData.expiredLabel.format(self.model.expiredTime)
|
|
73
|
-
},
|
|
74
|
-
complete: function() {
|
|
75
|
-
|
|
76
|
-
self.model.sendButtonLabel = self.modelData.sendButtonLabel
|
|
77
|
-
self.sent = false
|
|
78
|
-
self.model.value = ''
|
|
79
|
-
},
|
|
80
|
-
error: function(error) {
|
|
81
|
-
console.log('Throw Error: ' + error)
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
},this.fullName)
|
|
21
|
+
import Rx from 'rxjs';
|
|
22
|
+
import {filter, take} from 'rxjs/operators';
|
|
23
|
+
import base2 from './base2.js'
|
|
24
|
+
|
|
25
|
+
export default {
|
|
26
|
+
name: "bs-vercode",
|
|
27
|
+
mixins: [base2],
|
|
28
|
+
props: {},
|
|
29
|
+
data() {
|
|
30
|
+
return {
|
|
31
|
+
validateCtl: true,
|
|
32
|
+
sent: false
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
mounted() {
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
},
|
|
39
|
+
methods: {
|
|
40
|
+
createDefaultModel() {
|
|
41
|
+
return {
|
|
42
|
+
type: 'BSVerCode',
|
|
43
|
+
value: '',
|
|
44
|
+
placeholder: 'lang.ctl.BSVerCode.placeholder',
|
|
45
|
+
sendButtonLabel: 'lang.ctl.BSVerCode.sendButtonLabel',
|
|
46
|
+
expiredTime: 60,
|
|
47
|
+
expiredLabel: '{0}s'
|
|
48
|
+
};
|
|
49
|
+
},
|
|
50
|
+
sendVerCode() {
|
|
51
|
+
if (this.sent) {
|
|
52
|
+
return
|
|
53
|
+
}
|
|
54
|
+
let self = this
|
|
55
|
+
this.$emit('send-verCode', function () {
|
|
56
|
+
self.sent = true
|
|
57
|
+
self.model.expiredTime = self.modelData.expiredTime
|
|
58
|
+
|
|
59
|
+
var source = Rx.Observable.timer(0, 1000)
|
|
86
60
|
|
|
61
|
+
source = source.pipe(take(self.modelData.expiredTime)).pipe(filter(num => self.sent));
|
|
62
|
+
|
|
63
|
+
source.subscribe({
|
|
64
|
+
next: function (value) {
|
|
65
|
+
|
|
66
|
+
self.model.expiredTime = self.model.expiredTime - 1
|
|
67
|
+
self.model.sendButtonLabel = self.modelData.expiredLabel.format(self.model.expiredTime)
|
|
87
68
|
},
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
this.model.value = this.modelData.value
|
|
94
|
-
this.model.placeholder = this.modelData.placeholder
|
|
95
|
-
this.model.sendButtonLabel= this.modelData.sendButtonLabel
|
|
96
|
-
this.model.expiredTime = this.modelData.expiredTime
|
|
97
|
-
this.model.expiredLabel = this.modelData.expiredLabel
|
|
98
|
-
|
|
69
|
+
complete: function () {
|
|
70
|
+
|
|
71
|
+
self.model.sendButtonLabel = self.modelData.sendButtonLabel
|
|
72
|
+
self.sent = false
|
|
73
|
+
// self.model.value = ''
|
|
99
74
|
},
|
|
100
|
-
|
|
75
|
+
error: function (error) {
|
|
76
|
+
console.log('Throw Error: ' + error)
|
|
77
|
+
self.sent = false
|
|
78
|
+
}
|
|
79
|
+
});
|
|
101
80
|
|
|
102
|
-
|
|
103
|
-
this.model.validateToken++
|
|
81
|
+
}, this.fullName)
|
|
104
82
|
|
|
105
|
-
this.$emit('blur',function(){
|
|
106
83
|
|
|
107
|
-
|
|
84
|
+
},
|
|
85
|
+
reset() {
|
|
108
86
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
87
|
+
this.sent = false
|
|
88
|
+
this.model.label = this.modelData.label
|
|
89
|
+
this.model.disabled = this.modelData.disabled
|
|
90
|
+
this.model.value = this.modelData.value
|
|
91
|
+
this.model.placeholder = this.modelData.placeholder
|
|
92
|
+
this.model.sendButtonLabel = this.modelData.sendButtonLabel
|
|
93
|
+
this.model.expiredTime = this.modelData.expiredTime
|
|
94
|
+
this.model.expiredLabel = this.modelData.expiredLabel
|
|
114
95
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
96
|
+
},
|
|
97
|
+
blur() {
|
|
98
|
+
|
|
99
|
+
if (!this.model.readonly)
|
|
100
|
+
this.model.validateToken++
|
|
101
|
+
|
|
102
|
+
this.$emit('blur', function () {
|
|
103
|
+
|
|
104
|
+
}, this.fullName)
|
|
120
105
|
|
|
121
106
|
}
|
|
107
|
+
},
|
|
108
|
+
watch: {
|
|
109
|
+
'model.value': {
|
|
110
|
+
handler(val, oldval) {
|
|
111
|
+
|
|
112
|
+
this.setEventString(this.fullName, this.sname, 'value', val, oldval)
|
|
113
|
+
},
|
|
114
|
+
deep: false
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
}
|
|
122
119
|
|
|
123
120
|
</script>
|
|
124
121
|
|
|
125
122
|
<style scoped>
|
|
126
123
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
124
|
+
.BSVerCode_disabled {
|
|
125
|
+
color: #999999;
|
|
126
|
+
}
|
|
130
127
|
|
|
131
128
|
</style>
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import http from '../assets/http.js'
|
|
2
|
+
import ak from '../assets/ak.js'
|
|
3
|
+
import config from '../assets/config.js'
|
|
4
|
+
import {ua} from "../assets/ua";
|
|
5
|
+
|
|
6
|
+
var faceTx = {
|
|
7
|
+
|
|
8
|
+
getData(params){
|
|
9
|
+
let nonce = radomKey()
|
|
10
|
+
return {
|
|
11
|
+
'idcard_name': params.idcard_name,
|
|
12
|
+
'idcard_number': params.idcard_number,
|
|
13
|
+
'comparison_type': '1',
|
|
14
|
+
'nonce': nonce
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
|
|
18
|
+
invoke(params){
|
|
19
|
+
|
|
20
|
+
if(ua.isIspPhone){
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
}else if(ua.microMsg){
|
|
24
|
+
debugger
|
|
25
|
+
let apiUrl = config.file.baseURL + '/file/v1/hasl/fileAdmin/fileAdmin/getTXFaceDomain'
|
|
26
|
+
// if(faceType == 'wy'){
|
|
27
|
+
// apiUrl = config.file.baseURL + '/file/v1/hasl/fileAdmin/fileAdmin/getTXFaceDomain'
|
|
28
|
+
// }else{
|
|
29
|
+
// apiUrl = config.file.baseURL + '/file/v1/hasl/fileAdmin/fileAdmin/getFaceTokenNew'
|
|
30
|
+
// }
|
|
31
|
+
|
|
32
|
+
return http.post(apiUrl,params,true,true).then((data)=>{
|
|
33
|
+
const objstr = JSON.stringify(Object.assign(params, data))
|
|
34
|
+
debugger
|
|
35
|
+
localStorage.setItem('faceAbout', objstr)
|
|
36
|
+
let cbUrl = ak.http.concatParams(params.cbUrl ? params.cbUrl : window.location.href,'facetoken=1')
|
|
37
|
+
const url = `https://${data.optimalDomain}/api/web/login?webankAppId=TIDA55eC&version=1.0.0&nonce=${params.nonce}&orderNo=${data.orderNo}&h5faceId=${data.h5faceId}&url=${encodeURIComponent(cbUrl)}&from=browser&userId=${data.userId}&sign=${data.sign}&redirectType=1&resultType=1`
|
|
38
|
+
window.location.href = url
|
|
39
|
+
return Promise.resolve(data)
|
|
40
|
+
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
}else{
|
|
44
|
+
Promise.reject()
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
}
|
|
50
|
+
function radomKey(length = 32, needChars = true) {
|
|
51
|
+
let chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
|
|
52
|
+
let num = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
|
|
53
|
+
let final = needChars ? chars : num
|
|
54
|
+
let nums = ''
|
|
55
|
+
for (var i = 0; i < length; i++) {
|
|
56
|
+
const id = parseInt(Math.random() * 61)
|
|
57
|
+
nums += final[id]
|
|
58
|
+
}
|
|
59
|
+
return nums
|
|
60
|
+
}
|
|
61
|
+
export default faceTx;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import http from '../assets/http.js'
|
|
2
|
+
import ak from '../assets/ak.js'
|
|
3
|
+
import config from '../assets/config.js'
|
|
4
|
+
import {ua} from "../assets/ua";
|
|
5
|
+
import service from "../service"
|
|
6
|
+
|
|
7
|
+
var getTxFaceResult = {
|
|
8
|
+
|
|
9
|
+
need(){
|
|
10
|
+
|
|
11
|
+
let token = ak.http.getQueryString('facetoken')
|
|
12
|
+
if(ak.utils.isEmpty(token)){
|
|
13
|
+
localStorage.removeItem('faceAbout')
|
|
14
|
+
return false
|
|
15
|
+
} else {
|
|
16
|
+
return true
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
},
|
|
20
|
+
getData(){
|
|
21
|
+
|
|
22
|
+
let obj = JSON.parse(localStorage.getItem('faceAbout'))
|
|
23
|
+
|
|
24
|
+
localStorage.removeItem('faceAbout')
|
|
25
|
+
return {
|
|
26
|
+
biz_no: obj.bizSeqNo,
|
|
27
|
+
userId: obj.userId,
|
|
28
|
+
orderNo: obj.orderNo,
|
|
29
|
+
nonce: obj.nonce,
|
|
30
|
+
expired: '-1000',
|
|
31
|
+
buz: 'POLICY_FILE',
|
|
32
|
+
domain: 'POLICY',
|
|
33
|
+
buzId: radomNum(16),
|
|
34
|
+
fileName: radomNum(16)
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
invoke(params){
|
|
40
|
+
// let faceType = params.faceType
|
|
41
|
+
// delete params.faceType
|
|
42
|
+
|
|
43
|
+
if(ua.isIspPhone){
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
}else if(ua.microMsg){
|
|
47
|
+
let apiUrl = config.file.baseURL + '/file/v1/hasl/fileAdmin/fileAdmin/getTXFaceCompareResult'
|
|
48
|
+
return http.post(apiUrl,params,true,true).then((data)=>{
|
|
49
|
+
let res = data.result
|
|
50
|
+
let resData = {
|
|
51
|
+
confidence: res.similarity,
|
|
52
|
+
imageFile: res.faceFileId,
|
|
53
|
+
success: true
|
|
54
|
+
}
|
|
55
|
+
service.saveInitService('getTxFaceResult',resData)
|
|
56
|
+
let reUrl = ak.http.deleteParams(window.location.href,'facetoken')
|
|
57
|
+
window.location.href = reUrl
|
|
58
|
+
return Promise.resolve(resData)
|
|
59
|
+
}).catch(err => {
|
|
60
|
+
let reUrl = ak.http.deleteParams(window.location.href,'facetoken')
|
|
61
|
+
reUrl = ak.http.deleteParams(reUrl,'orderNo')
|
|
62
|
+
reUrl = ak.http.deleteParams(reUrl,'signature')
|
|
63
|
+
reUrl = ak.http.deleteParams(reUrl,'h5faceId')
|
|
64
|
+
reUrl = ak.http.deleteParams(reUrl,'code')
|
|
65
|
+
window.location.href = reUrl
|
|
66
|
+
return Promise.reject(err)
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
}else{
|
|
70
|
+
Promise.reject()
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
}
|
|
76
|
+
function radomNum(n) {
|
|
77
|
+
var rnd = ''
|
|
78
|
+
for (var i = 0; i < n; i++) {
|
|
79
|
+
rnd += Math.floor(Math.random() * 10)
|
|
80
|
+
}
|
|
81
|
+
return rnd
|
|
82
|
+
}
|
|
83
|
+
export default getTxFaceResult;
|
|
@@ -14,6 +14,8 @@ import jumpView from './jumpView'
|
|
|
14
14
|
import statusBarHeight from './statusBarHeight'
|
|
15
15
|
import goSetPage from './goSetPage'
|
|
16
16
|
import faceInApp from './faceInApp'
|
|
17
|
+
import faceTx from './faceTx'
|
|
18
|
+
import getTxFaceResult from './getTxFaceResult'
|
|
17
19
|
|
|
18
20
|
|
|
19
21
|
var services = services || {}
|
|
@@ -34,4 +36,6 @@ services['jumpView'] = jumpView
|
|
|
34
36
|
services['goSetPage'] = goSetPage
|
|
35
37
|
services['statusBarHeight'] = statusBarHeight
|
|
36
38
|
services['faceInApp'] = faceInApp
|
|
39
|
+
services['faceTx'] = faceTx
|
|
40
|
+
services['getTxFaceResult'] = getTxFaceResult
|
|
37
41
|
export default services;
|
package/src/views/auth.vue
CHANGED
|
@@ -1,27 +1,30 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
|
|
3
3
|
<van-cell-group>
|
|
4
|
+
<bs-upload2
|
|
5
|
+
@clickUpload="clickUpload"
|
|
6
|
+
></bs-upload2>
|
|
4
7
|
<p @click="share">分享</p>
|
|
5
8
|
<p @click="camera">相机</p>
|
|
6
9
|
<p @click="jump">跳转</p>
|
|
7
10
|
<p @click="barHeight">获取bar的高度</p>
|
|
8
11
|
<p @click="gosetPage">去配置页</p>
|
|
9
12
|
<p @click="face">人脸</p>
|
|
10
|
-
<bs-input
|
|
11
|
-
:mod="submodel.name"
|
|
13
|
+
<bs-input
|
|
14
|
+
:mod="submodel.name"
|
|
12
15
|
cname="name"
|
|
13
16
|
@blur="blurFn"
|
|
14
17
|
/>
|
|
15
18
|
<BankSelect :mod="submodel.bank" cname="bank"></BankSelect>
|
|
16
|
-
<bs-radio
|
|
17
|
-
:mod="submodel.sex"
|
|
19
|
+
<bs-radio
|
|
20
|
+
:mod="submodel.sex"
|
|
18
21
|
cname="sex"
|
|
19
22
|
></bs-radio>
|
|
20
23
|
<bs-input :mod="submodel.cardno" cname="cardno"/>
|
|
21
24
|
<!-- send-verCode 发送短信事件 -->
|
|
22
|
-
<bs-vercode
|
|
23
|
-
:mod="submodel.vercode"
|
|
24
|
-
@send-verCode="
|
|
25
|
+
<bs-vercode
|
|
26
|
+
:mod="submodel.vercode"
|
|
27
|
+
@send-verCode="sendVerCode1"
|
|
25
28
|
cname="vercode"
|
|
26
29
|
:cusValidate="cusValidate_name"
|
|
27
30
|
/>
|
|
@@ -29,35 +32,35 @@
|
|
|
29
32
|
:mod="submodel.piccode"
|
|
30
33
|
cname="piccode"
|
|
31
34
|
/>
|
|
32
|
-
<bs-datePicker
|
|
33
|
-
:mod="submodel.data"
|
|
34
|
-
cname="data"
|
|
35
|
+
<bs-datePicker
|
|
36
|
+
:mod="submodel.data"
|
|
37
|
+
cname="data"
|
|
35
38
|
/>
|
|
36
|
-
<bs-search
|
|
37
|
-
:mod="submodel.search"
|
|
39
|
+
<bs-search
|
|
40
|
+
:mod="submodel.search"
|
|
38
41
|
cname="search"
|
|
39
|
-
@search="search"
|
|
42
|
+
@search="search"
|
|
40
43
|
/>
|
|
41
|
-
<bs-list
|
|
44
|
+
<bs-list
|
|
42
45
|
:mod="submodel.list"
|
|
43
|
-
cname="list"
|
|
46
|
+
cname="list"
|
|
44
47
|
@onload="load"
|
|
45
48
|
>
|
|
46
49
|
<div slot="slotA"></div>
|
|
47
50
|
</bs-list>
|
|
48
|
-
<!-- <bs-popup
|
|
51
|
+
<!-- <bs-popup
|
|
49
52
|
cname="popup"
|
|
50
53
|
>
|
|
51
|
-
<bs-image
|
|
52
|
-
:mod="submodel.picture"
|
|
54
|
+
<bs-image
|
|
55
|
+
:mod="submodel.picture"
|
|
53
56
|
cname="picture"
|
|
54
57
|
>
|
|
55
58
|
</bs-image>
|
|
56
59
|
</bs-popup> -->
|
|
57
60
|
<bs-stepper
|
|
58
61
|
cname="stepper"
|
|
59
|
-
:mod="submodel.stepper"
|
|
60
|
-
>
|
|
62
|
+
:mod="submodel.stepper"
|
|
63
|
+
>
|
|
61
64
|
<span slot="title">123</span>
|
|
62
65
|
</bs-stepper>
|
|
63
66
|
<div @click="a">123</div>
|
|
@@ -81,6 +84,7 @@
|
|
|
81
84
|
return {
|
|
82
85
|
vname:'auth',
|
|
83
86
|
needProcessEvent:true,
|
|
87
|
+
needLoadData: true,
|
|
84
88
|
submodel:{
|
|
85
89
|
data: {
|
|
86
90
|
required:true, // 必填
|
|
@@ -101,12 +105,12 @@
|
|
|
101
105
|
readonly: false, // 只读
|
|
102
106
|
placeholder: '请输入关键词', // placeholder
|
|
103
107
|
leftIcon: 'search', // 输入框左侧图标名称或图片链接
|
|
104
|
-
clearable: true, // 是否启用清除图标,点击清除图标后会清空输入框
|
|
108
|
+
clearable: true, // 是否启用清除图标,点击清除图标后会清空输入框
|
|
105
109
|
inputAlign: 'left' // 输入框内容对齐方式,可选值为 center right
|
|
106
110
|
},
|
|
107
111
|
btn: {
|
|
108
112
|
label: '确定', // 按钮文字
|
|
109
|
-
disabled: false // 禁用
|
|
113
|
+
disabled: false // 禁用
|
|
110
114
|
},
|
|
111
115
|
name:{
|
|
112
116
|
label:'lang.accname', // 输入框label
|
|
@@ -121,7 +125,7 @@
|
|
|
121
125
|
{span: '123'}
|
|
122
126
|
]
|
|
123
127
|
},
|
|
124
|
-
cell: {
|
|
128
|
+
cell: {
|
|
125
129
|
label: '', // 标题下方的描述信息
|
|
126
130
|
value: '', // 右侧内容
|
|
127
131
|
title: '' // 左侧标题
|
|
@@ -134,7 +138,7 @@
|
|
|
134
138
|
disabled: false, // 禁用
|
|
135
139
|
required: true, // 必填
|
|
136
140
|
sendButtonLabel: '发送短信', // 按钮文字
|
|
137
|
-
expiredTime:
|
|
141
|
+
expiredTime: 5 , // 倒计时时长
|
|
138
142
|
expiredLabel: '{0}s', // 倒计时格式
|
|
139
143
|
validateType:'CUS' // 校验类型。见文档校验
|
|
140
144
|
},
|
|
@@ -187,10 +191,10 @@
|
|
|
187
191
|
methods: {
|
|
188
192
|
face() {
|
|
189
193
|
const a = {
|
|
190
|
-
|
|
191
|
-
|
|
194
|
+
idcard_number: '152531199103160179',
|
|
195
|
+
idcard_name: '胡玉泽'
|
|
192
196
|
}
|
|
193
|
-
this.$service.callService('
|
|
197
|
+
this.$service.callService('faceTx', a)
|
|
194
198
|
},
|
|
195
199
|
gosetPage() {
|
|
196
200
|
this.$service.callService('goSetPage')
|
|
@@ -217,7 +221,7 @@
|
|
|
217
221
|
imgurl:"http://www.ihasl.com/pages/common/share.png",
|
|
218
222
|
// 固定入参
|
|
219
223
|
shareType: "2",
|
|
220
|
-
//
|
|
224
|
+
//
|
|
221
225
|
// text:"https://www.ihasl.com/pages/eas/#/eleinsure/flySign?agentInfo=%7B%22payment_mode%22%3A%220%22%2C%22images%22%3A%5B%5D%2C%22agent_id%22%3A%2260005273%22%2C%22agent_name%22%3A%22%E5%B0%A4%E4%B8%B9%22%2C%22is_qt%22%3A%22N%22%2C%22is_fh%22%3A%22N%22%2C%22sum_initial_premium%22%3A%22325.0%22%2C%22is_tl%22%3A%22N%22%2C%22is_wn%22%3A%22N%22%2C%22total_premium%22%3A%220.0%22%2C%22policy_type%22%3A%22lib_pro%22%2C%22full_name%22%3A%22%E8%80%81%E5%A4%A7%22%2C%22payment_duration%22%3A%221%22%2C%22company_name%22%3A%22%E6%81%92%E5%AE%89%E6%A0%87%E5%87%86%E4%BA%BA%E5%AF%BF%E4%BF%9D%E9%99%A9%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8%E5%A4%A9%E6%B4%A5%E5%88%86%E5%85%AC%E5%8F%B8%22%2C%22rn%22%3A1%2C%22zy_card_no%22%3A%2202003812000080002018000567%22%2C%22risk_name%22%3A%22MRE-%E5%BE%A1%E5%8C%BB%E4%BF%9D%E5%8C%BB%E7%96%97%E4%BF%9D%E9%99%A9%22%7D&applyTime=&isTaxExc=lib_pro&rn=0&otherPartyUuid=&isSamePerson=N&applicantHasSign=N&isSign=N&isShare=N&serno=hUDedDxn&orderUuid=Vv65u4Vy&policyUuid=wzB7maly&tPartyUuid=pmYtgjBz&bPartyUuid=&hasReliefClause=Y",
|
|
222
226
|
// 分享标题
|
|
223
227
|
title:"空中签名",
|
|
@@ -241,6 +245,9 @@
|
|
|
241
245
|
}
|
|
242
246
|
this.$service.callService('camera', param)
|
|
243
247
|
},
|
|
248
|
+
clickUpload() {
|
|
249
|
+
// console.log("点了上传图片")
|
|
250
|
+
},
|
|
244
251
|
a() {
|
|
245
252
|
// this.selector('#stepper').set('min', 20)
|
|
246
253
|
this.selector('#data').setValue(new Date())
|
|
@@ -274,22 +281,24 @@
|
|
|
274
281
|
|
|
275
282
|
},
|
|
276
283
|
loadData(res){
|
|
277
|
-
|
|
284
|
+
if (res.serviceId === 'getTxFaceResult') {
|
|
285
|
+
console.log(res)
|
|
286
|
+
}
|
|
278
287
|
if(res.serviceId == 'getAuthInfo'){
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
// this.selector('#sex').set('items',[{value:"dddd",key:"21"},{value:"ffff",key:"01"}])
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
288
|
+
// console.log('aaaaaaa')
|
|
289
|
+
// console.log(this.selector('>page').ctls)
|
|
290
|
+
// let data = res.data
|
|
291
|
+
// this.selector('#auth').selector('')
|
|
292
|
+
// this.selector('#name').selector('#name').setValue(data.name)
|
|
293
|
+
// this.selector('#bank').setValue(data.bank)
|
|
294
|
+
// this.selector('#sex').setValue('1')
|
|
295
|
+
// // this.selector('#sex').set('items',[{value:"dddd",key:"21"},{value:"ffff",key:"01"}])
|
|
296
|
+
|
|
297
|
+
// this.selector('#cardno').setValue(data.cardno)
|
|
298
|
+
|
|
299
|
+
// console.log(this.regedit)
|
|
291
300
|
}
|
|
292
|
-
|
|
301
|
+
|
|
293
302
|
|
|
294
303
|
},
|
|
295
304
|
createDefaultModel() {
|
|
@@ -297,13 +306,20 @@
|
|
|
297
306
|
title:'表单'
|
|
298
307
|
};
|
|
299
308
|
},
|
|
300
|
-
|
|
309
|
+
sendVerCode1(resolve){
|
|
310
|
+
console.log("2")
|
|
311
|
+
console.log(1)
|
|
312
|
+
setTimeout(function() {
|
|
313
|
+
console.log("3")
|
|
314
|
+
|
|
315
|
+
resolve()
|
|
316
|
+
}, 1000)
|
|
317
|
+
|
|
318
|
+
// this.$service.callService('sendVerCode').then((data)=>{
|
|
319
|
+
// resolve()
|
|
320
|
+
// }
|
|
321
|
+
// )
|
|
301
322
|
|
|
302
|
-
this.$service.callService('sendVerCode').then((data)=>{
|
|
303
|
-
resolve()
|
|
304
|
-
}
|
|
305
|
-
)
|
|
306
|
-
|
|
307
323
|
},
|
|
308
324
|
authWatchHandle(){
|
|
309
325
|
|
package/src/views/auth3.vue
CHANGED
|
@@ -8,21 +8,22 @@
|
|
|
8
8
|
cname="upload"
|
|
9
9
|
@done="done"
|
|
10
10
|
@delete="deleteFn"
|
|
11
|
+
ref="a"
|
|
11
12
|
>
|
|
12
13
|
</bs-upload2>
|
|
13
|
-
<bs-upload2
|
|
14
|
+
<!-- <bs-upload2
|
|
14
15
|
id="abv"
|
|
15
16
|
:mod="submodel.upload2"
|
|
16
17
|
cname="upload"
|
|
17
18
|
@done="done"
|
|
18
19
|
@delete="deleteFn"
|
|
19
20
|
>
|
|
20
|
-
</bs-upload2>
|
|
21
|
+
</bs-upload2> -->
|
|
21
22
|
<bs-upload
|
|
22
23
|
id="abv"
|
|
23
24
|
:mod="submodel.upload2"
|
|
24
25
|
cname="upload2"
|
|
25
|
-
@done="
|
|
26
|
+
@done="done1"
|
|
26
27
|
@delete="deleteFn"
|
|
27
28
|
>
|
|
28
29
|
</bs-upload>
|
|
@@ -74,10 +75,10 @@
|
|
|
74
75
|
// actions: 'ocr_bc', // 银行卡
|
|
75
76
|
},
|
|
76
77
|
upload2:{
|
|
77
|
-
|
|
78
|
+
uploadType: 'IdCard_Front', //身份证正面
|
|
78
79
|
// uploadType: 'IdCard_Back' //身份证反面
|
|
79
|
-
uploadType: '
|
|
80
|
-
buzId: '
|
|
80
|
+
// uploadType: 'ocr_id0', // 银行卡
|
|
81
|
+
buzId: '2321123123' // 前端自生成uuid
|
|
81
82
|
},
|
|
82
83
|
viewer:{
|
|
83
84
|
value:'https://testfile.ihasl.com/file/v1/hasl/fileAdmin/fileAdmin/get/4cba0c329a994356aa7f4e958c88373b.pdf'
|
|
@@ -113,12 +114,20 @@
|
|
|
113
114
|
},
|
|
114
115
|
done() {
|
|
115
116
|
const a = this.selector('#upload').get('data')
|
|
117
|
+
console.log()
|
|
118
|
+
this.bb = `${a.fileId}.${a.ext}`
|
|
119
|
+
|
|
120
|
+
},
|
|
121
|
+
done1() {
|
|
122
|
+
const a = this.selector('#upload2').get('data')
|
|
123
|
+
console.log(a)
|
|
116
124
|
this.bb = `${a.fileId}.${a.ext}`
|
|
117
125
|
},
|
|
118
126
|
a(){
|
|
119
127
|
// this.$service.callService('face',{fileUrl: this.bb}).then(()=>{
|
|
120
128
|
// localStorage.setItem('face.flag',true)
|
|
121
129
|
// })
|
|
130
|
+
console.log(this.$refs.a.fileList = [])
|
|
122
131
|
},
|
|
123
132
|
loadData(data) {
|
|
124
133
|
if(data.serviceId == 'getFaceResult'){
|
package/README.md
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# fstarter
|
|
2
|
-
|
|
3
|
-
> A Vue.js project
|
|
4
|
-
|
|
5
|
-
## Build Setup
|
|
6
|
-
|
|
7
|
-
``` bash
|
|
8
|
-
# install dependencies
|
|
9
|
-
npm install
|
|
10
|
-
|
|
11
|
-
# serve with hot reload at localhost:8080
|
|
12
|
-
npm run dev
|
|
13
|
-
|
|
14
|
-
# build for production with minification
|
|
15
|
-
npm run build
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
For detailed explanation on how things work, consult the [docs for vue-loader](http://vuejs.github.io/vue-loader).
|