fstarter 2.10.47 → 2.10.48
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 +1 -1
- package/src/plugins/components/BSUpload2.vue +15 -5
- package/src/plugins/components/BSVerCode.vue +94 -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 +54 -47
- package/src/views/auth3.vue +15 -6
- package/README.md +0 -18
package/package.json
CHANGED
|
@@ -18,14 +18,15 @@
|
|
|
18
18
|
<van-image :src="model.bgImage"/>
|
|
19
19
|
</van-uploader>
|
|
20
20
|
|
|
21
|
-
<
|
|
22
|
-
v-
|
|
23
|
-
|
|
21
|
+
<div
|
|
22
|
+
v-show="showCooper"
|
|
23
|
+
class="pop"
|
|
24
24
|
closeable
|
|
25
25
|
:overlay="false"
|
|
26
26
|
:style="{
|
|
27
27
|
width: '100%',
|
|
28
|
-
height: '100%'
|
|
28
|
+
height: '100%',
|
|
29
|
+
zIndex: '999'
|
|
29
30
|
}"
|
|
30
31
|
@click-close-icon="cancel"
|
|
31
32
|
>
|
|
@@ -71,7 +72,7 @@
|
|
|
71
72
|
</van-button>
|
|
72
73
|
</div>
|
|
73
74
|
</div>
|
|
74
|
-
</
|
|
75
|
+
</div>
|
|
75
76
|
</div>
|
|
76
77
|
</template>
|
|
77
78
|
|
|
@@ -372,6 +373,15 @@
|
|
|
372
373
|
width: 50%;
|
|
373
374
|
}
|
|
374
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
|
+
}
|
|
375
385
|
</style>
|
|
376
386
|
<style scoped>
|
|
377
387
|
/* .cropper-container >>> .van-button--info{
|
|
@@ -7,125 +7,123 @@
|
|
|
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"
|
|
13
|
+
<van-button slot="button" @click="sendVerCode" :disabled="modelData.disabled">{{model.sendButtonLabel}}</van-button>
|
|
15
14
|
</van-field>
|
|
16
15
|
|
|
17
16
|
</template>
|
|
18
17
|
|
|
19
18
|
<script>
|
|
20
19
|
|
|
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
|
-
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)
|
|
20
|
+
import Rx from 'rxjs';
|
|
21
|
+
import {take} from 'rxjs/operators';
|
|
22
|
+
import { filter } from 'rxjs/operators';
|
|
23
|
+
import base2 from './base2.js'
|
|
24
|
+
|
|
25
|
+
export default {
|
|
26
|
+
name: "bs-vercode",
|
|
27
|
+
mixins: [base2],
|
|
28
|
+
props: {
|
|
29
|
+
|
|
30
|
+
},
|
|
31
|
+
data() {
|
|
32
|
+
return {
|
|
33
|
+
validateCtl:true,
|
|
34
|
+
sent:false
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
mounted() {
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
},
|
|
41
|
+
methods: {
|
|
42
|
+
createDefaultModel() {
|
|
43
|
+
return {
|
|
44
|
+
type:'BSVerCode',
|
|
45
|
+
value:'',
|
|
46
|
+
placeholder:'lang.ctl.BSVerCode.placeholder',
|
|
47
|
+
sendButtonLabel:'lang.ctl.BSVerCode.sendButtonLabel',
|
|
48
|
+
expiredTime:60,
|
|
49
|
+
expiredLabel:'{0}s'
|
|
50
|
+
};
|
|
51
|
+
},
|
|
52
|
+
sendVerCode(){
|
|
53
|
+
if(this.sent){
|
|
54
|
+
return
|
|
55
|
+
}
|
|
56
|
+
this.sent=true
|
|
57
|
+
let self = this
|
|
58
|
+
this.$emit('send-verCode',function(){
|
|
59
|
+
self.model.expiredTime = self.modelData.expiredTime
|
|
60
|
+
|
|
61
|
+
var source = Rx.Observable.timer(0, 1000)
|
|
86
62
|
|
|
63
|
+
source = source.pipe(take(self.modelData.expiredTime)).pipe(filter(num => self.sent));
|
|
64
|
+
|
|
65
|
+
source.subscribe({
|
|
66
|
+
next: function(value) {
|
|
67
|
+
|
|
68
|
+
self.model.expiredTime = self.model.expiredTime - 1
|
|
69
|
+
self.model.sendButtonLabel = self.modelData.expiredLabel.format(self.model.expiredTime)
|
|
87
70
|
},
|
|
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
|
-
|
|
71
|
+
complete: function() {
|
|
72
|
+
|
|
73
|
+
self.model.sendButtonLabel = self.modelData.sendButtonLabel
|
|
74
|
+
self.sent = false
|
|
75
|
+
// self.model.value = ''
|
|
99
76
|
},
|
|
100
|
-
|
|
77
|
+
error: function(error) {
|
|
78
|
+
console.log('Throw Error: ' + error)
|
|
79
|
+
self.sent = false
|
|
80
|
+
}
|
|
81
|
+
});
|
|
101
82
|
|
|
102
|
-
|
|
103
|
-
this.model.validateToken++
|
|
83
|
+
},this.fullName)
|
|
104
84
|
|
|
105
|
-
|
|
85
|
+
},
|
|
86
|
+
reset(){
|
|
106
87
|
|
|
107
|
-
|
|
88
|
+
this.sent = false
|
|
89
|
+
this.model.label = this.modelData.label
|
|
90
|
+
this.model.disabled = this.modelData.disabled
|
|
91
|
+
this.model.value = this.modelData.value
|
|
92
|
+
this.model.placeholder = this.modelData.placeholder
|
|
93
|
+
this.model.sendButtonLabel= this.modelData.sendButtonLabel
|
|
94
|
+
this.model.expiredTime = this.modelData.expiredTime
|
|
95
|
+
this.model.expiredLabel = this.modelData.expiredLabel
|
|
108
96
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
watch:{
|
|
112
|
-
'model.value':{
|
|
113
|
-
handler(val,oldval){
|
|
97
|
+
},
|
|
98
|
+
blur(){
|
|
114
99
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
100
|
+
if(!this.model.readonly)
|
|
101
|
+
this.model.validateToken++
|
|
102
|
+
|
|
103
|
+
this.$emit('blur',function(){
|
|
104
|
+
|
|
105
|
+
},this.fullName)
|
|
120
106
|
|
|
121
107
|
}
|
|
108
|
+
},
|
|
109
|
+
watch:{
|
|
110
|
+
'model.value':{
|
|
111
|
+
handler(val,oldval){
|
|
112
|
+
|
|
113
|
+
this.setEventString(this.fullName,this.sname,'value',val,oldval)
|
|
114
|
+
},
|
|
115
|
+
deep: false
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
}
|
|
122
120
|
|
|
123
121
|
</script>
|
|
124
122
|
|
|
125
123
|
<style scoped>
|
|
126
124
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
125
|
+
.BSVerCode_disabled{
|
|
126
|
+
color:#999999;
|
|
127
|
+
}
|
|
130
128
|
|
|
131
129
|
</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
|
@@ -10,21 +10,21 @@
|
|
|
10
10
|
<p @click="barHeight">获取bar的高度</p>
|
|
11
11
|
<p @click="gosetPage">去配置页</p>
|
|
12
12
|
<p @click="face">人脸</p>
|
|
13
|
-
<bs-input
|
|
14
|
-
:mod="submodel.name"
|
|
13
|
+
<bs-input
|
|
14
|
+
:mod="submodel.name"
|
|
15
15
|
cname="name"
|
|
16
16
|
@blur="blurFn"
|
|
17
17
|
/>
|
|
18
18
|
<BankSelect :mod="submodel.bank" cname="bank"></BankSelect>
|
|
19
|
-
<bs-radio
|
|
20
|
-
:mod="submodel.sex"
|
|
19
|
+
<bs-radio
|
|
20
|
+
:mod="submodel.sex"
|
|
21
21
|
cname="sex"
|
|
22
22
|
></bs-radio>
|
|
23
23
|
<bs-input :mod="submodel.cardno" cname="cardno"/>
|
|
24
24
|
<!-- send-verCode 发送短信事件 -->
|
|
25
|
-
<bs-vercode
|
|
26
|
-
:mod="submodel.vercode"
|
|
27
|
-
@send-verCode="sendVerCode"
|
|
25
|
+
<bs-vercode
|
|
26
|
+
:mod="submodel.vercode"
|
|
27
|
+
@send-verCode="sendVerCode"
|
|
28
28
|
cname="vercode"
|
|
29
29
|
:cusValidate="cusValidate_name"
|
|
30
30
|
/>
|
|
@@ -32,35 +32,35 @@
|
|
|
32
32
|
:mod="submodel.piccode"
|
|
33
33
|
cname="piccode"
|
|
34
34
|
/>
|
|
35
|
-
<bs-datePicker
|
|
36
|
-
:mod="submodel.data"
|
|
37
|
-
cname="data"
|
|
35
|
+
<bs-datePicker
|
|
36
|
+
:mod="submodel.data"
|
|
37
|
+
cname="data"
|
|
38
38
|
/>
|
|
39
|
-
<bs-search
|
|
40
|
-
:mod="submodel.search"
|
|
39
|
+
<bs-search
|
|
40
|
+
:mod="submodel.search"
|
|
41
41
|
cname="search"
|
|
42
|
-
@search="search"
|
|
42
|
+
@search="search"
|
|
43
43
|
/>
|
|
44
|
-
<bs-list
|
|
44
|
+
<bs-list
|
|
45
45
|
:mod="submodel.list"
|
|
46
|
-
cname="list"
|
|
46
|
+
cname="list"
|
|
47
47
|
@onload="load"
|
|
48
48
|
>
|
|
49
49
|
<div slot="slotA"></div>
|
|
50
50
|
</bs-list>
|
|
51
|
-
<!-- <bs-popup
|
|
51
|
+
<!-- <bs-popup
|
|
52
52
|
cname="popup"
|
|
53
53
|
>
|
|
54
|
-
<bs-image
|
|
55
|
-
:mod="submodel.picture"
|
|
54
|
+
<bs-image
|
|
55
|
+
:mod="submodel.picture"
|
|
56
56
|
cname="picture"
|
|
57
57
|
>
|
|
58
58
|
</bs-image>
|
|
59
59
|
</bs-popup> -->
|
|
60
60
|
<bs-stepper
|
|
61
61
|
cname="stepper"
|
|
62
|
-
:mod="submodel.stepper"
|
|
63
|
-
>
|
|
62
|
+
:mod="submodel.stepper"
|
|
63
|
+
>
|
|
64
64
|
<span slot="title">123</span>
|
|
65
65
|
</bs-stepper>
|
|
66
66
|
<div @click="a">123</div>
|
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
return {
|
|
85
85
|
vname:'auth',
|
|
86
86
|
needProcessEvent:true,
|
|
87
|
+
needLoadData: true,
|
|
87
88
|
submodel:{
|
|
88
89
|
data: {
|
|
89
90
|
required:true, // 必填
|
|
@@ -104,12 +105,12 @@
|
|
|
104
105
|
readonly: false, // 只读
|
|
105
106
|
placeholder: '请输入关键词', // placeholder
|
|
106
107
|
leftIcon: 'search', // 输入框左侧图标名称或图片链接
|
|
107
|
-
clearable: true, // 是否启用清除图标,点击清除图标后会清空输入框
|
|
108
|
+
clearable: true, // 是否启用清除图标,点击清除图标后会清空输入框
|
|
108
109
|
inputAlign: 'left' // 输入框内容对齐方式,可选值为 center right
|
|
109
110
|
},
|
|
110
111
|
btn: {
|
|
111
112
|
label: '确定', // 按钮文字
|
|
112
|
-
disabled: false // 禁用
|
|
113
|
+
disabled: false // 禁用
|
|
113
114
|
},
|
|
114
115
|
name:{
|
|
115
116
|
label:'lang.accname', // 输入框label
|
|
@@ -124,7 +125,7 @@
|
|
|
124
125
|
{span: '123'}
|
|
125
126
|
]
|
|
126
127
|
},
|
|
127
|
-
cell: {
|
|
128
|
+
cell: {
|
|
128
129
|
label: '', // 标题下方的描述信息
|
|
129
130
|
value: '', // 右侧内容
|
|
130
131
|
title: '' // 左侧标题
|
|
@@ -137,7 +138,7 @@
|
|
|
137
138
|
disabled: false, // 禁用
|
|
138
139
|
required: true, // 必填
|
|
139
140
|
sendButtonLabel: '发送短信', // 按钮文字
|
|
140
|
-
expiredTime:
|
|
141
|
+
expiredTime: 5 , // 倒计时时长
|
|
141
142
|
expiredLabel: '{0}s', // 倒计时格式
|
|
142
143
|
validateType:'CUS' // 校验类型。见文档校验
|
|
143
144
|
},
|
|
@@ -190,10 +191,10 @@
|
|
|
190
191
|
methods: {
|
|
191
192
|
face() {
|
|
192
193
|
const a = {
|
|
193
|
-
|
|
194
|
-
|
|
194
|
+
idcard_number: '152531199103160179',
|
|
195
|
+
idcard_name: '胡玉泽'
|
|
195
196
|
}
|
|
196
|
-
this.$service.callService('
|
|
197
|
+
this.$service.callService('faceTx', a)
|
|
197
198
|
},
|
|
198
199
|
gosetPage() {
|
|
199
200
|
this.$service.callService('goSetPage')
|
|
@@ -220,7 +221,7 @@
|
|
|
220
221
|
imgurl:"http://www.ihasl.com/pages/common/share.png",
|
|
221
222
|
// 固定入参
|
|
222
223
|
shareType: "2",
|
|
223
|
-
//
|
|
224
|
+
//
|
|
224
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",
|
|
225
226
|
// 分享标题
|
|
226
227
|
title:"空中签名",
|
|
@@ -280,22 +281,24 @@
|
|
|
280
281
|
|
|
281
282
|
},
|
|
282
283
|
loadData(res){
|
|
283
|
-
|
|
284
|
+
if (res.serviceId === 'getTxFaceResult') {
|
|
285
|
+
console.log(res)
|
|
286
|
+
}
|
|
284
287
|
if(res.serviceId == 'getAuthInfo'){
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
// this.selector('#sex').set('items',[{value:"dddd",key:"21"},{value:"ffff",key:"01"}])
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
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)
|
|
297
300
|
}
|
|
298
|
-
|
|
301
|
+
|
|
299
302
|
|
|
300
303
|
},
|
|
301
304
|
createDefaultModel() {
|
|
@@ -304,12 +307,16 @@
|
|
|
304
307
|
};
|
|
305
308
|
},
|
|
306
309
|
sendVerCode(resolve){
|
|
310
|
+
debugger
|
|
311
|
+
setTimeout(function() {
|
|
312
|
+
resolve()
|
|
313
|
+
}, 1000)
|
|
314
|
+
|
|
315
|
+
// this.$service.callService('sendVerCode').then((data)=>{
|
|
316
|
+
// resolve()
|
|
317
|
+
// }
|
|
318
|
+
// )
|
|
307
319
|
|
|
308
|
-
this.$service.callService('sendVerCode').then((data)=>{
|
|
309
|
-
resolve()
|
|
310
|
-
}
|
|
311
|
-
)
|
|
312
|
-
|
|
313
320
|
},
|
|
314
321
|
authWatchHandle(){
|
|
315
322
|
|
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).
|