Browse Source

认证管理

master
453530270@qq.com 2 years ago
parent
commit
7086399532
  1. 16
      pages.json
  2. 95
      pages/user/mycertinfo/mycertinfo.vue
  3. 204
      pages/user/mycertinfo/orgverify.vue
  4. 22
      pages/user/mycertinfo/personverify.vue
  5. 2
      utils/request/index.js

16
pages.json

@ -283,6 +283,22 @@
"navigationBarTitleText" : "",
"enablePullDownRefresh" : false
}
},
{
"path" : "pages/user/mycertinfo/orgverify",
"style" :
{
"navigationBarTitleText" : "",
"enablePullDownRefresh" : false
}
},
{
"path" : "pages/user/mycertinfo/personverify",
"style" :
{
"navigationBarTitleText" : "",
"enablePullDownRefresh" : false
}
}
],
"globalStyle": {

95
pages/user/mycertinfo/mycertinfo.vue

@ -3,46 +3,28 @@
<!-- 认证第一步 -->
<view class="ce-frist">
<view class="cert-title">我的认证</view>
<!-- 机构认证 -->
<view class="ce-tit">机构认证</view>
<view class="ce-fbox">
<view class="fbtit">机构认证</view>
<view class="fbicon fbjg"></view>
<view class="">
<view class="fbtit">机构认证</view>
<view class="fbdesc">
含企业政府事业单位团体组织
</view>
<view class="fbbtn" @click="orgverify()">立即认证</view>
</view>
<!-- 个人认证 -->
<view class="ce-tit">个人认证</view>
<view class="ce-fbox">
<view class="fbtit">个人认证</view>
<view class="fbicon fbgr"></view>
<view class="">
<view class="fbtit">个人认证</view>
<view class="fbdesc">
适用于个人用户
</view>
<view class="fbbtn" @click="personverify()">立即认证</view>
</view>
</view>
<!-- <div class="right_box" id="institutions">
<div class="box_title" id="box_title1">机构认证</div>
<div class="border_box">
<div class="border_icon1"></div>
<div class="border_title">机构认证</div>
<div class="border_title" style="margin: 15px 0px;">含企业政府事业单位团体组织</div>
<div class="border_input">
<input autocomplete="off" autocomplete="off" type="button" name="" id="organAuth01" value="立即认证"
onclick="handelOrganization()" />
</div>
</div>
</div> -->
<!-- <div class="right_box" id="people">
<div class="box_title" id="box_title2">个人认证</div>
<div class="border_box">
<div class="border_icon"></div>
<div class="border_title">个人认证</div>
<div class="border_title" style="margin: 15px 0px;">适用于个人用户</div>
<div class="border_input">
<input autocomplete="off" autocomplete="off" type="button" name="" id="organAuth02" value="立即认证"
onclick="handelPersonal()" />
</div>
</div> -->
</div>
</view>
</template>
@ -52,11 +34,28 @@
export default {
data() {
return {
//
isLogin: false,
}
},
onShow() {
//
this.isLogin = checkLogin()
if(!this.isLogin){
uni.navigateTo({
url:"/pages/login/index"
})
}
},
methods: {
//
orgverify(){
this.$navTo("pages/user/mycertinfo/orgverify")
},
//
personverify(){
this.$navTo("pages/user/mycertinfo/personverify")
},
}
}
</script>
@ -65,6 +64,7 @@
.certinfo{
min-height: 100%;
background: #fff;
height: 100vh;
//
.ce-frist{
background: #fff;
@ -72,15 +72,44 @@
.cert-title{
font-size: 26rpx;
padding: 32rpx;
}
.ce-tit{
text-align: left;
margin: 0 26rpx 16rpx;
}
.ce-fbox{
text-align: center;
border: 2rpx solid #ccc;
border: 2rpx solid #AAAAAA;
border-radius: 3%;
width: 80%;
display: flex;
padding: 12rpx;
min-height: 60rpx;
margin: 24rpx auto ;
.fbicon{
background-image: url("../../../static/icons.png");
background-size: cover;
height: 80rpx;
width: 80rpx;
margin: 30px auto;
}
//
.fbjg{
background-position: 0 -490rpx;
}
//
.fbgr{
background-position: 0 -590rpx;
}
.fbdesc{
margin:0 22rpx;
}
.fbbtn{
color: #4A90E2;
}
}
}
}

204
pages/user/mycertinfo/orgverify.vue

@ -0,0 +1,204 @@
<template>
<view class="orgvzone">
<!-- 机构认证 -->
<!-- 第一步 选择需要认证的类型 -->
<view class="vfbox" v-if="step==1">
<view class="vftit">机构认证</view>
<view class="vfitem" :class="vfindex==1?'selected':''" @click="vfselitem(1)">
<view class="vfi-tit">公共文化机构</view>
<view class="vfi-desc">
<view>公共文化是相对经营文化而言是为满足社会的共同需要而形成的文化形态强调的是以社会全体公众为服务对象的公共行政职能</view>
<view class="">博物馆美术馆图书馆文化馆及街道社区各级文化活动站</view>
</view>
</view>
<view class="vfitem" :class="vfindex==2?'selected':''" @click="vfselitem(2)">
<view class="vfi-tit">文化生产机构</view>
<view class="vfi-desc">
<view>文化生产机构是指从事文化工作具有法人资格以创作生产某种业态文化数字内容为目标的文化机构比如是出版社影视公司演出公司设计公司等</view>
</view>
</view>
<view class="vfitem" :class="vfindex==3?'selected':''" @click="vfselitem(3)">
<view class="vfi-tit">高校科研机构</view>
<view class="vfi-desc">
<view>高校科研机构是指经过学校上级主管部门或者学校正式下文批准成立的一般分为实体性科研机构和非实体性科研机构</view>
<view>实验室研究室研究所研究中心研究院研究基地等</view>
</view>
</view>
<view class="vfitem" :class="vfindex==4?'selected':''" @click="vfselitem(4)">
<view class="vfi-tit">其它</view>
<view class="vfi-desc">
<view>其他 - 通常指经营类企业</view>
</view>
</view>
<!-- 立即认证 -->
<view class="vfbtn" v-if="vfindex>0">
<button @click="gotostep(2)">立即认证</button>
</view>
</view>
<!-- step 2 -->
<view class="vfbox" v-if="step==2">
<view class="form-item">
<input class="form-item--input" v-model="Organizationcode" maxlength="18" placeholder="统一社会信用代码" @change="chkinput()"/>
</view>
<view class="vfbtn">
<button>下一步</button>
</view>
</view>
<!-- step 3 -->
</view>
</template>
<script>
export default {
data() {
return {
//
step:1,
//
curvf: 0,
//
vfindex:0,
//
Organizationcode:"",
}
},
methods: {
//
vfselitem(item){
this.vfindex = item
//this.$toast("your choose is:"+item)
},
//
gotostep(step){
this.step = step
},
//
chkinput(){
const app = this
let Code = app.Organizationcode
//
const patrn = /^[0-9A-Z]+$/
if(Code.length!=18 || patrn.test(Code) ==false){
app.$toast("统一社会信用代码格式不对")
return false;
}else{
let Ancode; //
let Ancodevalue; //
let total = 0;
const weightedfactors = [1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28,]; //
const str = "0123456789ABCDEFGHJKLMNPQRTUWXY";
//IOSVZ
for (let i = 0; i < Code.length - 1; i++) {
Ancode = Code.substring(i, i + 1);
Ancodevalue = str.indexOf(Ancode);
total = total + Ancodevalue * weightedfactors[i];
//
}
let logiccheckcode = 31 - (total % 31);
if (logiccheckcode == 31) {
logiccheckcode = 0;
}
let Str = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,T,U,W,X,Y";
let Array_Str = Str.split(",");
logiccheckcode = Array_Str[logiccheckcode];
let checkcode = Code.substring(17, 18);
if (logiccheckcode != checkcode) {
return false;
} else {
console.info("yes");
}
return true;
}
}
}
}
</script>
<style lang="scss" scoped>
.orgvzone{
background: #fff;
margin-bottom: 36rpx;
.vfbox{
width: 90%;
margin: 0rpx auto;
padding: 10rpx;
.vftit{
font-size: 36rpx;
font-weight: 600;;
}
.vfitem{
font-size: 30rpx;
line-height: 1.8;
margin: 30rpx auto;
border:2rpx solid #eee;
border-radius: 10rpx;
padding: 16rpx;
.vfi-tit{
font-size: 34rpx;
line-height: 80rpx;
padding-left: 22rpx;
}
.vfi-desc{
background-color: #FEFFE8;
border: 1px solid #CFAF0F;
padding: 10px 8px;
color: #444444;
border-radius: 12rpx;
text-indent: 36rpx;
}
&:hover{
background-color: #487AEE;
color: #fff;
}
&.selected{
background-color: #487AEE;
color: #fff;
}
}
//
.vfbtn{
button{
background: #487AEE;
color: #fff;
}
}
//
.form-item {
display: flex;
padding: 18rpx;
border-bottom: 1rpx solid #f3f1f2;
margin-bottom: 30rpx;
height: 96rpx;
&--input {
font-size: 28rpx;
letter-spacing: 1rpx;
flex: 1;
height: 100%;
}
&--parts {
min-width: 100rpx;
height: 100%;
}
}
}
}
</style>

22
pages/user/mycertinfo/personverify.vue

@ -0,0 +1,22 @@
<template>
<view>
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
}
}
</script>
<style>
</style>

2
utils/request/index.js

@ -117,7 +117,7 @@ $http.dataFactory = async res => {
}
console.log("rsp",res)
//console.log("rsp",res)
let httpData = res.response.data
if (typeof httpData == "string") {
try {

Loading…
Cancel
Save