16 changed files with 1923 additions and 751 deletions
@ -0,0 +1,45 @@ |
|||
<template> |
|||
<view class="container"> |
|||
<u-navbar title="入会协议" placeholder="true" :auto-back="true" bg-color="#F1F3F9" left-icon-size="24"></u-navbar> |
|||
<view class="title"> |
|||
{{xydata.title}} |
|||
</view> |
|||
<rich-text :nodes="xydata.content"></rich-text> |
|||
</view> |
|||
</template> |
|||
|
|||
<script setup> |
|||
import { |
|||
ref |
|||
} from 'vue' |
|||
|
|||
import { |
|||
agreement |
|||
} from '@/api/memberCenter' |
|||
import { onShow } from '@dcloudio/uni-app' |
|||
|
|||
const baseurl = ref(import.meta.env.VITE_APP_BASE_URL + '/') |
|||
const xydata = ref({}) |
|||
|
|||
onShow(async () => { |
|||
agreement().then(res => { |
|||
console.log(res); |
|||
xydata.value = res.data |
|||
}) |
|||
}) |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
.container { |
|||
height: 100vh; |
|||
width: 100%; |
|||
display: grid; |
|||
align-content: flex-start; |
|||
justify-items: center; |
|||
|
|||
.title { |
|||
margin-top: 40rpx; |
|||
margin-bottom: 20rpx; |
|||
} |
|||
} |
|||
</style> |
|||
File diff suppressed because it is too large
@ -0,0 +1,155 @@ |
|||
<template> |
|||
<view class="login-view"> |
|||
<input type="tel" confirm-type="确认" class="input" v-model="phoneNum" placeholder="请输入手机号" /> |
|||
<view class="input-w-view"> |
|||
<input class="input-w" confirm-type="确认" type="number" v-model="smsCode" placeholder="请输入验证码" /> |
|||
<view @click="sendMsg" class="code-view">{{codeViewMsg}}</view> |
|||
</view> |
|||
|
|||
<button @click="userLogin" class="loginBtn" type="primary" :disabled="btnDisabled">确定</button> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: "jump-login", |
|||
props: ['smsCall', 'loginCall'], |
|||
data() { |
|||
return { |
|||
styles: { |
|||
color: '#000000', |
|||
borderColor: '#ffffff', |
|||
backgroupColor: '#ffffff' |
|||
}, |
|||
codeViewMsg: "获取验证码", |
|||
countDown: 61, |
|||
dbClick: false, |
|||
btnDisabled: true, |
|||
phoneNum: '', |
|||
smsCode: '' |
|||
}; |
|||
}, |
|||
methods: { |
|||
sendMsg() { |
|||
const that = this; |
|||
if (this.phoneNum == '' || this.phoneNum == undefined) { |
|||
uni.showToast({ |
|||
icon: 'none', |
|||
title: "请先输入手机号" |
|||
}) |
|||
return; |
|||
} |
|||
if (this.dbClick) return; |
|||
this.dbClick = true; |
|||
setTimeout(() => { |
|||
this.dbClick = false; |
|||
}, 500) |
|||
if (!this.validatePhoneNumber(that.phoneNum)) { |
|||
uni.showToast({ |
|||
icon: "none", |
|||
title: "手机号码异常" |
|||
}) |
|||
return; |
|||
} |
|||
//短信发送 |
|||
if(this.countDown === 61) { |
|||
that.countDown--; |
|||
that.codeViewMsg = "重新获取(" + this.countDown + "s)" |
|||
that.countDownData(); |
|||
this.$emit('smsCall', this.phoneNum); |
|||
} else { |
|||
uni.showToast({ |
|||
icon: "none", |
|||
title: "请稍后" |
|||
}) |
|||
} |
|||
}, |
|||
userLogin() { |
|||
const that = this; |
|||
if (!this.validatePhoneNumber(that.phoneNum)) { |
|||
uni.showToast({ |
|||
icon: "none", |
|||
title: "手机号码异常" |
|||
}) |
|||
return; |
|||
} |
|||
const sD = { |
|||
"phoneNum": that.phoneNum, |
|||
"smsCode": that.smsCode |
|||
}; |
|||
console.log(sD); |
|||
console.log(sD.phoneNum); |
|||
console.log(sD.smsCode); |
|||
this.$emit('loginCall', sD); |
|||
}, |
|||
validatePhoneNumber(phoneNumber) { |
|||
// 使用正则表达式匹配手机号码的格式 |
|||
var pattern = /^1[3456789]\d{9}$/; |
|||
|
|||
// 验证手机号码是否符合格式要求 |
|||
if (pattern.test(phoneNumber)) { |
|||
return true; // 手机号码格式正确 |
|||
} else { |
|||
return false; // 手机号码格式不正确 |
|||
} |
|||
}, |
|||
|
|||
countDownData() { |
|||
this.btnDisabled = false; |
|||
setTimeout(() => { |
|||
this.countDown--; |
|||
this.codeViewMsg = "重新获取(" + this.countDown + "s)" |
|||
if (this.countDown <= 0) { |
|||
this.countDown = 61; |
|||
this.codeViewMsg = "获取验证码"; |
|||
return |
|||
} |
|||
this.countDownData(); |
|||
}, 1000) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
.login-view { |
|||
width: 100vw; |
|||
padding: 40rpx 80rpx; |
|||
} |
|||
|
|||
.input { |
|||
margin-top: 40rpx; |
|||
border-radius: 20rpx; |
|||
background-color: white; |
|||
padding: 20rpx; |
|||
border: 2rpx solid black; |
|||
} |
|||
|
|||
.input-w-view { |
|||
position: relative; |
|||
display: flex; |
|||
height: 120rpx; |
|||
} |
|||
|
|||
.input-w { |
|||
position: absolute; |
|||
margin-top: 40rpx; |
|||
border-radius: 20rpx; |
|||
background-color: white; |
|||
padding: 20rpx; |
|||
border: 2rpx solid black; |
|||
width: calc(100% - 40rpx); |
|||
} |
|||
|
|||
.code-view { |
|||
right: 30rpx; |
|||
position: absolute; |
|||
margin-top: 60rpx; |
|||
z-index: 99; |
|||
} |
|||
|
|||
.loginBtn { |
|||
margin-top: 100rpx; |
|||
border-radius: 20rpx; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,63 @@ |
|||
<template> |
|||
<view class="container"> |
|||
<u-navbar title="会员注册" placeholder="true" auto-back="true" bg-color="#F1F3F9" left-icon-size="24"></u-navbar> |
|||
<view class="butp"> |
|||
<view class="but" @click="gozc"> |
|||
确认注册 |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
</template> |
|||
|
|||
<script setup> |
|||
import { |
|||
ref |
|||
} from 'vue' |
|||
|
|||
const baseurl = ref(import.meta.env.VITE_APP_BASE_URL + '/') |
|||
|
|||
const gozc = () => { |
|||
uni.navigateTo({ |
|||
url: '/pages/memberCenter/memberZc' |
|||
}) |
|||
} |
|||
// onLoad(async () => { |
|||
|
|||
// }) |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
.container { |
|||
background: linear-gradient(0deg, #f1f3f9 72%, rgba(129, 179, 222, 0.5) 88%); |
|||
height: 100vh; |
|||
width: 100%; |
|||
|
|||
.butp { |
|||
width: 100%; |
|||
height: 168rpx; |
|||
background: #FFFFFF; |
|||
/* 标签栏投影 */ |
|||
box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(0, 0, 0, 0.3); |
|||
position: fixed; |
|||
bottom: 0; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
|
|||
.but { |
|||
height: 96rpx; |
|||
width: 70%; |
|||
border-radius: 248rpx; |
|||
background: linear-gradient(90deg, #007FFF 0%, #99CCFF 100%); |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
font-family: Source Han Sans; |
|||
font-size: 36rpx; |
|||
font-weight: 350; |
|||
color: #FFFFFF; |
|||
} |
|||
} |
|||
} |
|||
</style> |
|||
@ -0,0 +1,201 @@ |
|||
<template> |
|||
<view class="container"> |
|||
<u-navbar title="会员注册" placeholder="true" :auto-back="true" bg-color="#F1F3F9" left-icon-size="24"></u-navbar> |
|||
<view class="butp"> |
|||
<u-button @getphonenumber="onGetPhoneNumber" text="手机号一键注册" icon-color="#fff" open-type="getPhoneNumber" |
|||
color="linear-gradient(90deg, #007FFF 0%, #99CCFF 100%)" /> |
|||
<view class="but" style="color: #616161;background: #FFFFFF;" @click="showpopup"> |
|||
其他手机号注册 |
|||
</view> |
|||
</view> |
|||
<view class="radiotxt"> |
|||
<u-checkbox name="agree" shape="circle" label="我已阅读并同意" usedAlone v-model:checked="radioVal"> |
|||
</u-checkbox> |
|||
<view class="txt2" @click="gorhxy"> |
|||
用户服务协议 |
|||
</view> |
|||
</view> |
|||
<u-popup :show="showMobile" @close="showMobile = false" mode="center"> |
|||
<jumplogin @smsCall="smsCall" @loginCall="loginCall"></jumplogin> |
|||
</u-popup> |
|||
</view> |
|||
</template> |
|||
|
|||
<script setup> |
|||
import { |
|||
ref |
|||
} from 'vue' |
|||
|
|||
import { |
|||
authRegister, |
|||
register, |
|||
smsRegister |
|||
} from '@/api/memberCenter' |
|||
import jumplogin from './jump-login.vue' |
|||
|
|||
|
|||
const baseurl = ref(import.meta.env.VITE_APP_BASE_URL + '/') |
|||
const radioVal = ref(false) |
|||
const showMobile = ref(false) |
|||
|
|||
|
|||
const onGetPhoneNumber = (e) => { |
|||
if (e.detail.errMsg.includes('fail')) { |
|||
uni.showToast({ |
|||
title: '用户拒绝授权', |
|||
icon: 'none' |
|||
}) |
|||
return |
|||
} |
|||
try { |
|||
if (radioVal.value) { |
|||
console.log(e); |
|||
authRegister({ |
|||
code: e.detail.code |
|||
}).then(res => { |
|||
if (res.code === 1) { |
|||
uni.showToast({ |
|||
title: '注册成功', |
|||
icon: 'none', |
|||
duration: 2000 |
|||
}) |
|||
setTimeout(() => { |
|||
uni.navigateTo({ |
|||
url: '/pages/memberCenter/inpart?number=' + res.data.mobile |
|||
}) |
|||
}, 2000) |
|||
|
|||
} |
|||
}) |
|||
} else { |
|||
uni.showToast({ |
|||
title: '请勾选用户服务协议', |
|||
icon: 'none' |
|||
}) |
|||
} |
|||
} catch (error) { |
|||
uni.showToast({ |
|||
title: '注册失败', |
|||
icon: 'none' |
|||
}) |
|||
} |
|||
|
|||
} |
|||
|
|||
const showpopup = () => { |
|||
if (radioVal.value) { |
|||
showMobile.value = true |
|||
} else { |
|||
uni.showToast({ |
|||
title: '请勾选用户服务协议', |
|||
icon: 'none' |
|||
}) |
|||
} |
|||
} |
|||
|
|||
const gorhxy = () => { |
|||
uni.navigateTo({ |
|||
url: '/pages/memberCenter/agreement' |
|||
}) |
|||
} |
|||
|
|||
const loginCall = (e) => { |
|||
smsRegister({ |
|||
mobile: e.phoneNum, |
|||
mobile_key: mobile_key.value, |
|||
mobile_code: e.smsCode |
|||
}).then(res => { |
|||
if (res.code === 1) { |
|||
uni.showToast({ |
|||
title: '注册成功', |
|||
icon: 'none', |
|||
duration: 2000 |
|||
}) |
|||
setTimeout(() => { |
|||
uni.navigateTo({ |
|||
url: '/pages/memberCenter/inpart?number=' + res.data.mobile |
|||
}) |
|||
}, 2000) |
|||
} |
|||
}) |
|||
} |
|||
const mobile_key = ref('') |
|||
const smsCall = (e) => { |
|||
register({ |
|||
mobile: e |
|||
}).then(res => { |
|||
if (res.code === 1) { |
|||
mobile_key.value = res.data.key |
|||
} |
|||
}) |
|||
} |
|||
// onLoad(async () => { |
|||
// }) |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
.container { |
|||
background: linear-gradient(0deg, #f1f3f9 72%, rgba(129, 179, 222, 0.5) 88%); |
|||
height: 100vh; |
|||
width: 100%; |
|||
display: grid; |
|||
align-content: center; |
|||
justify-content: center; |
|||
|
|||
.butp { |
|||
/* 标签栏投影 */ |
|||
display: grid; |
|||
align-items: center; |
|||
justify-content: center; |
|||
|
|||
.but { |
|||
margin-top: 22rpx; |
|||
padding: 24rpx 224rpx; |
|||
border-radius: 16rpx; |
|||
background: linear-gradient(90deg, #007FFF 0%, #99CCFF 100%); |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
font-family: Source Han Sans; |
|||
font-size: 36rpx; |
|||
font-weight: 350; |
|||
color: #FFFFFF; |
|||
} |
|||
|
|||
:deep(.u-button) { |
|||
padding: 24rpx 224rpx; |
|||
border-radius: 16rpx; |
|||
height: 96rpx; |
|||
} |
|||
|
|||
:deep(.u-button__text) { |
|||
font-family: Source Han Sans; |
|||
font-size: 36rpx !important; |
|||
font-weight: 350; |
|||
color: #FFFFFF; |
|||
} |
|||
} |
|||
|
|||
.radiotxt { |
|||
margin-top: 96rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
|
|||
.txt1 { |
|||
font-family: Source Han Sans; |
|||
font-size: 28rpx; |
|||
font-weight: 350; |
|||
color: #969696; |
|||
} |
|||
|
|||
.txt2 { |
|||
margin-left: 10rpx; |
|||
font-family: Source Han Sans; |
|||
font-size: 28rpx; |
|||
font-weight: 350; |
|||
color: #2563EB |
|||
} |
|||
} |
|||
} |
|||
</style> |
|||
@ -0,0 +1,467 @@ |
|||
{ |
|||
"label": "内蒙古自治区", |
|||
"value": "内蒙古自治区", |
|||
"children": [ |
|||
{ |
|||
"label": "呼和浩特市", |
|||
"value": "呼和浩特市", |
|||
"children": [{ |
|||
"label": "新城区", |
|||
"value": "新城区" |
|||
}, |
|||
{ |
|||
"label": "回民区", |
|||
"value": "回民区" |
|||
}, |
|||
{ |
|||
"label": "玉泉区", |
|||
"value": "玉泉区" |
|||
}, |
|||
{ |
|||
"label": "赛罕区", |
|||
"value": "赛罕区" |
|||
}, |
|||
{ |
|||
"label": "土默特左旗", |
|||
"value": "土默特左旗" |
|||
}, |
|||
{ |
|||
"label": "托克托县", |
|||
"value": "托克托县" |
|||
}, |
|||
{ |
|||
"label": "和林格尔县", |
|||
"value": "和林格尔县" |
|||
}, |
|||
{ |
|||
"label": "清水河县", |
|||
"value": "清水河县" |
|||
}, |
|||
{ |
|||
"label": "武川县", |
|||
"value": "武川县" |
|||
} |
|||
] |
|||
}, { |
|||
"label": "包头市", |
|||
"value": "包头市", |
|||
"children": [{ |
|||
"label": "东河区", |
|||
"value": "东河区" |
|||
}, |
|||
{ |
|||
"label": "昆都仑区", |
|||
"value": "昆都仑区" |
|||
}, |
|||
{ |
|||
"label": "青山区", |
|||
"value": "青山区" |
|||
}, |
|||
{ |
|||
"label": "石拐区", |
|||
"value": "石拐区" |
|||
}, |
|||
{ |
|||
"label": "白云鄂博矿区", |
|||
"value": "白云鄂博矿区" |
|||
}, |
|||
{ |
|||
"label": "九原区", |
|||
"value": "九原区" |
|||
}, |
|||
{ |
|||
"label": "土默特右旗", |
|||
"value": "土默特右旗" |
|||
}, |
|||
{ |
|||
"label": "固阳县", |
|||
"value": "固阳县" |
|||
}, |
|||
{ |
|||
"label": "达尔罕茂明安联合旗", |
|||
"value": "达尔罕茂明安联合旗" |
|||
} |
|||
] |
|||
}, { |
|||
"label": "乌海市", |
|||
"value": "乌海市", |
|||
"children": [{ |
|||
"label": "海勃湾区", |
|||
"value": "海勃湾区" |
|||
}, |
|||
{ |
|||
"label": "海南区", |
|||
"value": "海南区" |
|||
}, |
|||
{ |
|||
"label": "乌达区", |
|||
"value": "乌达区" |
|||
} |
|||
] |
|||
}, { |
|||
"label": "赤峰市", |
|||
"value": "赤峰市", |
|||
"children": [{ |
|||
"label": "红山区", |
|||
"value": "红山区" |
|||
}, |
|||
{ |
|||
"label": "元宝山区", |
|||
"value": "元宝山区" |
|||
}, |
|||
{ |
|||
"label": "松山区", |
|||
"value": "松山区" |
|||
}, |
|||
{ |
|||
"label": "阿鲁科尔沁旗", |
|||
"value": "阿鲁科尔沁旗" |
|||
}, |
|||
{ |
|||
"label": "巴林左旗", |
|||
"value": "巴林左旗" |
|||
}, |
|||
{ |
|||
"label": "巴林右旗", |
|||
"value": "巴林右旗" |
|||
}, |
|||
{ |
|||
"label": "林西县", |
|||
"value": "林西县" |
|||
}, |
|||
{ |
|||
"label": "克什克腾旗", |
|||
"value": "克什克腾旗" |
|||
}, |
|||
{ |
|||
"label": "翁牛特旗", |
|||
"value": "翁牛特旗" |
|||
}, |
|||
{ |
|||
"label": "喀喇沁旗", |
|||
"value": "喀喇沁旗" |
|||
}, |
|||
{ |
|||
"label": "宁城县", |
|||
"value": "宁城县" |
|||
}, |
|||
{ |
|||
"label": "敖汉旗", |
|||
"value": "敖汉旗" |
|||
} |
|||
] |
|||
}, { |
|||
"label": "通辽市", |
|||
"value": "通辽市", |
|||
"children": [{ |
|||
"label": "科尔沁区", |
|||
"value": "科尔沁区" |
|||
}, |
|||
{ |
|||
"label": "科尔沁左翼中旗", |
|||
"value": "科尔沁左翼中旗" |
|||
}, |
|||
{ |
|||
"label": "科尔沁左翼后旗", |
|||
"value": "科尔沁左翼后旗" |
|||
}, |
|||
{ |
|||
"label": "开鲁县", |
|||
"value": "开鲁县" |
|||
}, |
|||
{ |
|||
"label": "库伦旗", |
|||
"value": "库伦旗" |
|||
}, |
|||
{ |
|||
"label": "奈曼旗", |
|||
"value": "奈曼旗" |
|||
}, |
|||
{ |
|||
"label": "扎鲁特旗", |
|||
"value": "扎鲁特旗" |
|||
}, |
|||
{ |
|||
"label": "霍林郭勒市", |
|||
"value": "霍林郭勒市" |
|||
} |
|||
] |
|||
}, { |
|||
"label": "鄂尔多斯市", |
|||
"value": "鄂尔多斯市", |
|||
"children": [{ |
|||
"label": "东胜区", |
|||
"value": "东胜区" |
|||
}, |
|||
{ |
|||
"label": "康巴什区", |
|||
"value": "康巴什区" |
|||
}, |
|||
{ |
|||
"label": "达拉特旗", |
|||
"value": "达拉特旗" |
|||
}, |
|||
{ |
|||
"label": "准格尔旗", |
|||
"value": "准格尔旗" |
|||
}, |
|||
{ |
|||
"label": "鄂托克前旗", |
|||
"value": "鄂托克前旗" |
|||
}, |
|||
{ |
|||
"label": "鄂托克旗", |
|||
"value": "鄂托克旗" |
|||
}, |
|||
{ |
|||
"label": "杭锦旗", |
|||
"value": "杭锦旗" |
|||
}, |
|||
{ |
|||
"label": "乌审旗", |
|||
"value": "乌审旗" |
|||
}, |
|||
{ |
|||
"label": "伊金霍洛旗", |
|||
"value": "伊金霍洛旗" |
|||
} |
|||
] |
|||
}, { |
|||
"label": "呼伦贝尔市", |
|||
"value": "呼伦贝尔市", |
|||
"children": [{ |
|||
"label": "海拉尔区", |
|||
"value": "海拉尔区" |
|||
}, |
|||
{ |
|||
"label": "扎赉诺尔区", |
|||
"value": "扎赉诺尔区" |
|||
}, |
|||
{ |
|||
"label": "阿荣旗", |
|||
"value": "阿荣旗" |
|||
}, |
|||
{ |
|||
"label": "莫力达瓦达斡尔族自治旗", |
|||
"value": "莫力达瓦达斡尔族自治旗" |
|||
}, |
|||
{ |
|||
"label": "鄂伦春自治旗", |
|||
"value": "鄂伦春自治旗" |
|||
}, |
|||
{ |
|||
"label": "鄂温克族自治旗", |
|||
"value": "鄂温克族自治旗" |
|||
}, |
|||
{ |
|||
"label": "陈巴尔虎旗", |
|||
"value": "陈巴尔虎旗" |
|||
}, |
|||
{ |
|||
"label": "新巴尔虎左旗", |
|||
"value": "新巴尔虎左旗" |
|||
}, |
|||
{ |
|||
"label": "新巴尔虎右旗", |
|||
"value": "新巴尔虎右旗" |
|||
}, |
|||
{ |
|||
"label": "满洲里市", |
|||
"value": "满洲里市" |
|||
}, |
|||
{ |
|||
"label": "牙克石市", |
|||
"value": "牙克石市" |
|||
}, |
|||
{ |
|||
"label": "扎兰屯市", |
|||
"value": "扎兰屯市" |
|||
}, |
|||
{ |
|||
"label": "额尔古纳市", |
|||
"value": "额尔古纳市" |
|||
}, |
|||
{ |
|||
"label": "根河市", |
|||
"value": "根河市" |
|||
} |
|||
] |
|||
}, { |
|||
"label": "巴彦淖尔市", |
|||
"value": "巴彦淖尔市", |
|||
"children": [{ |
|||
"label": "临河区", |
|||
"value": "临河区" |
|||
}, |
|||
{ |
|||
"label": "五原县", |
|||
"value": "五原县" |
|||
}, |
|||
{ |
|||
"label": "磴口县", |
|||
"value": "磴口县" |
|||
}, |
|||
{ |
|||
"label": "乌拉特前旗", |
|||
"value": "乌拉特前旗" |
|||
}, |
|||
{ |
|||
"label": "乌拉特中旗", |
|||
"value": "乌拉特中旗" |
|||
}, |
|||
{ |
|||
"label": "乌拉特后旗", |
|||
"value": "乌拉特后旗" |
|||
}, |
|||
{ |
|||
"label": "杭锦后旗", |
|||
"value": "杭锦后旗" |
|||
} |
|||
] |
|||
}, { |
|||
"label": "乌兰察布市", |
|||
"value": "乌兰察布市", |
|||
"children": [{ |
|||
"label": "集宁区", |
|||
"value": "集宁区" |
|||
}, |
|||
{ |
|||
"label": "卓资县", |
|||
"value": "卓资县" |
|||
}, |
|||
{ |
|||
"label": "化德县", |
|||
"value": "化德县" |
|||
}, |
|||
{ |
|||
"label": "商都县", |
|||
"value": "商都县" |
|||
}, |
|||
{ |
|||
"label": "兴和县", |
|||
"value": "兴和县" |
|||
}, |
|||
{ |
|||
"label": "凉城县", |
|||
"value": "凉城县" |
|||
}, |
|||
{ |
|||
"label": "察哈尔右翼前旗", |
|||
"value": "察哈尔右翼前旗" |
|||
}, |
|||
{ |
|||
"label": "察哈尔右翼中旗", |
|||
"value": "察哈尔右翼中旗" |
|||
}, |
|||
{ |
|||
"label": "察哈尔右翼后旗", |
|||
"value": "察哈尔右翼后旗" |
|||
}, |
|||
{ |
|||
"label": "四子王旗", |
|||
"value": "四子王旗" |
|||
}, |
|||
{ |
|||
"label": "丰镇市", |
|||
"value": "丰镇市" |
|||
} |
|||
] |
|||
}, { |
|||
"label": "兴安盟", |
|||
"value": "兴安盟", |
|||
"children": [{ |
|||
"label": "乌兰浩特市", |
|||
"value": "乌兰浩特市" |
|||
}, |
|||
{ |
|||
"label": "阿尔山市", |
|||
"value": "阿尔山市" |
|||
}, |
|||
{ |
|||
"label": "科尔沁右翼前旗", |
|||
"value": "科尔沁右翼前旗" |
|||
}, |
|||
{ |
|||
"label": "科尔沁右翼中旗", |
|||
"value": "科尔沁右翼中旗" |
|||
}, |
|||
{ |
|||
"label": "扎赉特旗", |
|||
"value": "扎赉特旗" |
|||
}, |
|||
{ |
|||
"label": "突泉县", |
|||
"value": "突泉县" |
|||
} |
|||
] |
|||
}, { |
|||
"label": "锡林郭勒盟", |
|||
"value": "锡林郭勒盟", |
|||
"children": [{ |
|||
"label": "二连浩特市", |
|||
"value": "二连浩特市" |
|||
}, |
|||
{ |
|||
"label": "锡林浩特市", |
|||
"value": "锡林浩特市" |
|||
}, |
|||
{ |
|||
"label": "阿巴嘎旗", |
|||
"value": "阿巴嘎旗" |
|||
}, |
|||
{ |
|||
"label": "苏尼特左旗", |
|||
"value": "苏尼特左旗" |
|||
}, |
|||
{ |
|||
"label": "苏尼特右旗", |
|||
"value": "苏尼特右旗" |
|||
}, |
|||
{ |
|||
"label": "东乌珠穆沁旗", |
|||
"value": "东乌珠穆沁旗" |
|||
}, |
|||
{ |
|||
"label": "西乌珠穆沁旗", |
|||
"value": "西乌珠穆沁旗" |
|||
}, |
|||
{ |
|||
"label": "太仆寺旗", |
|||
"value": "太仆寺旗" |
|||
}, |
|||
{ |
|||
"label": "镶黄旗", |
|||
"value": "镶黄旗" |
|||
}, |
|||
{ |
|||
"label": "正镶白旗", |
|||
"value": "正镶白旗" |
|||
}, |
|||
{ |
|||
"label": "正蓝旗", |
|||
"value": "正蓝旗" |
|||
}, |
|||
{ |
|||
"label": "多伦县", |
|||
"value": "多伦县" |
|||
} |
|||
] |
|||
}, { |
|||
"label": "阿拉善盟", |
|||
"value": "阿拉善盟", |
|||
"children": [{ |
|||
"label": "阿拉善左旗", |
|||
"value": "阿拉善左旗" |
|||
}, |
|||
{ |
|||
"label": "阿拉善右旗", |
|||
"value": "阿拉善右旗" |
|||
}, |
|||
{ |
|||
"label": "额济纳旗", |
|||
"value": "额济纳旗" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
} |
|||
@ -1,194 +1,217 @@ |
|||
<template> |
|||
<view class="container"> |
|||
<image style="width: 100%" src="@/static/img/ztback.png" mode="widthFix"></image> |
|||
<view class="main"> |
|||
<view class="head"> |
|||
<view class="left"> |
|||
<u-avatar v-if="logintype" :src="url + '/' + userStore.userInfo.head_pic" :size="72"></u-avatar> |
|||
<img v-else style="width: 72px; height: 72px; border-radius: 50%" src="@/static/img/qdl.png" alt="" /> |
|||
<text class="name">{{ userStore.userInfo.name }}</text> |
|||
</view> |
|||
<image |
|||
v-if="logintype" |
|||
style="width: 48rpx; height: 48rpx" |
|||
src="@/static/img/setting.png" |
|||
mode="" |
|||
@click="goeditinfo('')" |
|||
></image> |
|||
</view> |
|||
<view class="editlist"> |
|||
<view class="editone" @click="goeditinfo('关联企业')"> |
|||
<view class="left"> |
|||
<image style="width: 74rpx; height: 74rpx" src="@/static/img/glqy.png" mode=""></image> |
|||
<text class="txt">关联企业</text> |
|||
</view> |
|||
<image style="width: 14.14rpx; height: 14.14rpx" src="@/static/img/Group13.png" mode=""></image> |
|||
</view> |
|||
<view class="editone" @click="goeditinfo('我的申请')"> |
|||
<view class="left"> |
|||
<image style="width: 74rpx; height: 74rpx" src="@/static/img/wdsq.png" mode=""></image> |
|||
<text class="txt">我的申请</text> |
|||
</view> |
|||
<image style="width: 14.14rpx; height: 14.14rpx" src="@/static/img/Group13.png" mode=""></image> |
|||
</view> |
|||
<!-- <view class="editone" @click="goeditinfo('我的课程')"> |
|||
<view class="container"> |
|||
<image style="width: 100%" src="@/static/img/ztback.png" mode="widthFix"></image> |
|||
<view class="main"> |
|||
<view class="head"> |
|||
<view class="left"> |
|||
<u-avatar v-if="logintype" :src="url + '/' + userStore.userInfo.head_pic" :size="72"></u-avatar> |
|||
<img v-else style="width: 144rpx; height: 144rpx; border-radius: 50%" src="@/static/img/qdl.png" |
|||
alt="" /> |
|||
<text class="name">{{ userStore.userInfo.name }}</text> |
|||
</view> |
|||
<image v-if="logintype" style="width: 48rpx; height: 48rpx" src="@/static/img/setting.png" mode="" |
|||
@click="goeditinfo('')"></image> |
|||
</view> |
|||
<view class="editlist"> |
|||
<view class="editone" @click="goeditinfo('关联企业')"> |
|||
<view class="left"> |
|||
<image style="width: 74rpx; height: 74rpx" src="@/static/img/glqy.png" mode=""></image> |
|||
<text class="txt">关联企业</text> |
|||
</view> |
|||
<image style="width: 14.14rpx; height: 14.14rpx" src="@/static/img/Group13.png" mode=""></image> |
|||
</view> |
|||
<view class="editone" @click="goeditinfo('我的申请')"> |
|||
<view class="left"> |
|||
<image style="width: 74rpx; height: 74rpx" src="@/static/img/wdsq.png" mode=""></image> |
|||
<text class="txt">我的申请</text> |
|||
</view> |
|||
<image style="width: 14.14rpx; height: 14.14rpx" src="@/static/img/Group13.png" mode=""></image> |
|||
</view> |
|||
<view class="editone" @click="goeditinfo('完善入会信息')" v-if="showwsmsg"> |
|||
<view class="left"> |
|||
<image style="width: 74rpx; height: 74rpx" src="@/static/img/wdkc.png" mode=""></image> |
|||
<text class="txt">完善入会信息</text> |
|||
</view> |
|||
<image style="width: 14.14rpx; height: 14.14rpx" src="@/static/img/Group13.png" mode=""></image> |
|||
</view> |
|||
<!-- <view class="editone" @click="goeditinfo('我的课程')"> |
|||
<view class="left"> |
|||
<image style="width: 74rpx; height: 74rpx" src="@/static/img/wdkc.png" mode=""></image> |
|||
<text class="txt">我的课程</text> |
|||
</view> |
|||
<image style="width: 14.14rpx; height: 14.14rpx" src="@/static/img/Group13.png" mode=""></image> |
|||
</view> --> |
|||
</view> |
|||
<view class="buts"> |
|||
<view class="but" @click="outLogin"> |
|||
{{ logintype ? '退出登录' : '登录' }} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view class="buts"> |
|||
<view class="but" @click="outLogin"> |
|||
{{ logintype ? '退出登录' : '登录' }} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script setup> |
|||
import { onLoad } from '@dcloudio/uni-app' |
|||
import { ref } from 'vue' |
|||
import useUserStore from '@/store/user' |
|||
const userStore = useUserStore() |
|||
|
|||
const url = ref(import.meta.env.VITE_APP_BASE_URL) |
|||
const logintype = ref(false) |
|||
|
|||
const goeditinfo = (val) => { |
|||
if (val === '关联企业') { |
|||
uni.navigateTo({ |
|||
url: '/pages/mine/associatedEnterprise' |
|||
}) |
|||
} else if (val === '我的申请') { |
|||
uni.navigateTo({ |
|||
url: '/pages/mine/myApplication' |
|||
}) |
|||
} else if (val === '我的课程') { |
|||
uni.navigateTo({ |
|||
url: '/pages/mine/myCourses' |
|||
}) |
|||
} else { |
|||
uni.navigateTo({ |
|||
url: '/pages/mine/porsonalinfo' |
|||
}) |
|||
} |
|||
} |
|||
|
|||
const outLogin = () => { |
|||
userStore.logOut() |
|||
logintype.value = !logintype.value |
|||
} |
|||
onShow(() => { |
|||
logintype.value = uni.getStorageSync('access_token') |
|||
if(!logintype.value) { |
|||
userStore.userInfo = {} |
|||
import { |
|||
onLoad |
|||
} from '@dcloudio/uni-app' |
|||
import { |
|||
ref |
|||
} from 'vue' |
|||
|
|||
import { |
|||
myInfo |
|||
} from '@/api/memberCenter' |
|||
import useUserStore from '@/store/user' |
|||
const userStore = useUserStore() |
|||
|
|||
const url = ref(import.meta.env.VITE_APP_BASE_URL) |
|||
const logintype = ref(false) |
|||
|
|||
const goeditinfo = (val) => { |
|||
if (val === '关联企业') { |
|||
uni.navigateTo({ |
|||
url: '/pages/mine/associatedEnterprise' |
|||
}) |
|||
} else if (val === '我的申请') { |
|||
uni.navigateTo({ |
|||
url: '/pages/mine/myApplication' |
|||
}) |
|||
} else if (val === '我的课程') { |
|||
uni.navigateTo({ |
|||
url: '/pages/mine/myCourses' |
|||
}) |
|||
} else if (val === '完善入会信息') { |
|||
uni.navigateTo({ |
|||
url: '/pages/memberCenter/inpart?number='+userStore.userInfo.moblie |
|||
}) |
|||
} else { |
|||
uni.navigateTo({ |
|||
url: '/pages/mine/porsonalinfo' |
|||
}) |
|||
} |
|||
} |
|||
|
|||
const outLogin = () => { |
|||
userStore.logOut() |
|||
logintype.value = !logintype.value |
|||
} |
|||
// if (uni.getStorageSync('access_token') === '') { |
|||
// uni.navigateTo({ |
|||
// url: '/pages/login/login' |
|||
// }) |
|||
// } else { |
|||
userStore.getUserInfo() |
|||
// } |
|||
}) |
|||
const showwsmsg = ref(false) |
|||
onShow(() => { |
|||
myInfo().then(res => { |
|||
if(res.data.id) { |
|||
showwsmsg.value = true |
|||
} else { |
|||
showwsmsg.value = false |
|||
} |
|||
}) |
|||
logintype.value = uni.getStorageSync('access_token') |
|||
if (!logintype.value) { |
|||
userStore.userInfo = {} |
|||
} |
|||
// if (uni.getStorageSync('access_token') === '') { |
|||
// uni.navigateTo({ |
|||
// url: '/pages/login/login' |
|||
// }) |
|||
// } else { |
|||
userStore.getUserInfo() |
|||
// } |
|||
}) |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
.container { |
|||
background-color: #ffffff; |
|||
height: 100vh; |
|||
width: 100%; |
|||
display: grid; |
|||
|
|||
.main { |
|||
border-radius: 60rpx 60rpx 0rpx 0rpx; |
|||
background: #ffffff; |
|||
margin-top: -350rpx; |
|||
height: calc(100vh - 350rpx); |
|||
padding: 0 40rpx; |
|||
box-sizing: border-box; |
|||
|
|||
.head { |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
|
|||
.left { |
|||
display: flex; |
|||
align-items: center; |
|||
margin-top: -50rpx; |
|||
|
|||
.name { |
|||
margin-top: 50rpx; |
|||
font-family: Source Han Sans; |
|||
font-size: 40rpx; |
|||
font-weight: 350; |
|||
text-align: center; |
|||
letter-spacing: normal; |
|||
/* 文本/正文 */ |
|||
color: #1a1a1a; |
|||
margin-left: 30rpx; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.editlist { |
|||
margin-top: 24rpx; |
|||
|
|||
.editone { |
|||
width: 100%; |
|||
height: 120rpx; |
|||
background: #ffffff; |
|||
border-bottom: 2rpx solid #f3f3f3; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
|
|||
.left { |
|||
display: flex; |
|||
align-items: center; |
|||
|
|||
.txt { |
|||
margin-left: 36rpx; |
|||
font-family: Source Han Sans; |
|||
font-size: 28rpx; |
|||
font-weight: 350; |
|||
text-align: right; |
|||
letter-spacing: normal; |
|||
color: #333333; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.buts { |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: center; |
|||
|
|||
.but { |
|||
margin-top: 160rpx; |
|||
width: 574rpx; |
|||
height: 96rpx; |
|||
border-radius: 248rpx; |
|||
background: linear-gradient(90deg, #007fff 0%, #99ccff 100%); |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
font-family: Source Han Sans; |
|||
font-size: 36rpx; |
|||
font-weight: 500; |
|||
text-align: justify; |
|||
/* 浏览器可能不支持 */ |
|||
display: flex; |
|||
align-items: center; |
|||
letter-spacing: normal; |
|||
color: #ffffff; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
.container { |
|||
background-color: #ffffff; |
|||
height: 100vh; |
|||
width: 100%; |
|||
display: grid; |
|||
|
|||
.main { |
|||
border-radius: 60rpx 60rpx 0rpx 0rpx; |
|||
background: #ffffff; |
|||
margin-top: -350rpx; |
|||
height: calc(100vh - 350rpx); |
|||
padding: 0 40rpx; |
|||
box-sizing: border-box; |
|||
|
|||
.head { |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
|
|||
.left { |
|||
display: flex; |
|||
align-items: center; |
|||
margin-top: -50rpx; |
|||
|
|||
.name { |
|||
margin-top: 50rpx; |
|||
font-family: Source Han Sans; |
|||
font-size: 40rpx; |
|||
font-weight: 350; |
|||
text-align: center; |
|||
letter-spacing: normal; |
|||
/* 文本/正文 */ |
|||
color: #1a1a1a; |
|||
margin-left: 30rpx; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.editlist { |
|||
margin-top: 24rpx; |
|||
|
|||
.editone { |
|||
width: 100%; |
|||
height: 120rpx; |
|||
background: #ffffff; |
|||
border-bottom: 2rpx solid #f3f3f3; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
|
|||
.left { |
|||
display: flex; |
|||
align-items: center; |
|||
|
|||
.txt { |
|||
margin-left: 36rpx; |
|||
font-family: Source Han Sans; |
|||
font-size: 28rpx; |
|||
font-weight: 350; |
|||
text-align: right; |
|||
letter-spacing: normal; |
|||
color: #333333; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.buts { |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: center; |
|||
|
|||
.but { |
|||
margin-top: 160rpx; |
|||
width: 574rpx; |
|||
height: 96rpx; |
|||
border-radius: 248rpx; |
|||
background: linear-gradient(90deg, #007fff 0%, #99ccff 100%); |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
font-family: Source Han Sans; |
|||
font-size: 36rpx; |
|||
font-weight: 500; |
|||
text-align: justify; |
|||
/* 浏览器可能不支持 */ |
|||
display: flex; |
|||
align-items: center; |
|||
letter-spacing: normal; |
|||
color: #ffffff; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</style> |
|||
Loading…
Reference in new issue