123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516 |
- <template>
- <view>
- <u-navbar :is-back="false" :border-bottom="false">
- <view v-if='logined' class="navbar-tit">我的</view>
- <view v-else class="navbar-tit">个人中心</view>
- </u-navbar>
- <view v-if='logined' class="userHead">
- <view class="userHead-left">
- <view class="userHead-name">
- <h2>{{personalInfo.realName}}</h2>
- <!-- <h2>注册/登录</h2> -->
- <view class="userHead-icon">
- <u-icon custom-prefix="custom-icon" name="shield-user-fill" color="#fff"></u-icon>
- <span v-show="personalInfo.status == 1">认证会员</span>
- </view>
- </view>
-
- <view @click="viewPersonalInfo"><p>查看/编辑个人资料</p></view>
- <!-- <view><p>登录后即可体验更多服务</p></view> -->
- </view>
- <u-avatar :src="personalInfo.faceImage" size="120"></u-avatar>
- </view>
- <view v-else class="userHead">
- <view class="userHead-left" @click="login">
- <view class="userHead-name">
- <h2>注册/登录</h2>
- <!-- <h2>注册/登录</h2> -->
- </view>
-
- <view><p>登录后即可体验更多服务</p></view>
- <!-- <view><p>登录后即可体验更多服务</p></view> -->
- </view>
- <u-avatar :src="personalInfo.faceImage" size="120"></u-avatar>
- </view>
-
- <view class="user-data" @click="improvePersonalInfo">
- <view class="user-data-tit" >
- <h2>完善个人资料</h2><u-icon custom-prefix="custom-icon" name="youjiantou" color="#B3B3B3"></u-icon>
- </view>
- <p>添加您的个人资料、相亲简历和择偶条件,可以提高相亲成功率哦~</p>
- <u-line-progress active-color="#2979ff" :percent="personalInfoProgress" height="8" :show-percent="false"></u-line-progress>
- </view>
- <view class="user-cell">
- <view class="user-cell-item">
- <view class="user-cell-l">
- <u-icon custom-prefix="custom-icon" name="folder-user-fill" color="#FF695B" size="40"></u-icon>
- <h4>公开我的资料</h4>
- </view>
- <view class="user-cell-r">
- <u-switch v-if='logined' v-model="personalInfo.publicNot"></u-switch>
- <u-switch v-else ></u-switch>
- </view>
- </view>
- <view class="user-cell-item" @click="changePhone">
- <view class="user-cell-l">
- <u-icon custom-prefix="custom-icon" name="smartphone-fill" color="#FF695B" size="40"></u-icon>
- <h4>更换手机号</h4>
- </view>
- <view class="user-cell-r">
- <span v-if='logined'>{{phone}}</span>
- <u-icon custom-prefix="custom-icon" name="youjiantou" color="#B3B3B3"></u-icon>
- </view>
- </view>
- <view class="user-cell-item">
- <view class="user-cell-l">
- <u-icon custom-prefix="custom-icon" name="customer-service-fill" color="#FF695B" size="40"></u-icon>
- <h4>联系客服</h4>
- </view>
- <view class="user-cell-r">
- <span>0716-8123456</span>
- <u-icon custom-prefix="custom-icon" name="youjiantou" color="#B3B3B3"></u-icon>
- </view>
- </view>
- <view class="user-cell-item" @click="agreement">
- <view class="user-cell-l">
- <u-icon custom-prefix="custom-icon" name="information-fill" color="#FF695B" size="40"></u-icon>
- <h4>服务条款</h4>
- </view>
- <view class="user-cell-r" >
- <span></span>
- <u-icon custom-prefix="custom-icon" name="youjiantou" color="#B3B3B3"></u-icon>
- </view>
- </view>
- <view class="user-cell-item" @click="logoff">
- <view class="user-cell-l">
- <u-icon custom-prefix="custom-icon" name="spam-3-fill" color="#FF695B" size="40"></u-icon>
- <h4>注销账号</h4>
- </view>
- <view class="user-cell-r">
- <p>注销后将无法使用该账号登录小程序</p>
- <u-icon custom-prefix="custom-icon" name="youjiantou" color="#B3B3B3"></u-icon>
- </view>
- </view>
- <view class="user-cell-item">
- <view class="user-cell-l" @click="logout">
- <u-icon custom-prefix="custom-icon" name="logout-box-r-fill" color="#FF695B" size="40"></u-icon>
- <h4>退出</h4>
- </view>
- <view class="user-cell-r">
- <span></span>
- <u-icon custom-prefix="custom-icon" name="youjiantou" color="#B3B3B3"></u-icon>
- </view>
- </view>
- </view>
- </view>
- </template>
- <script>
- import * as loginApi from '@/apis/login.js'
-
- let _self;
- export default {
- data() {
- return {
- phone:'13623239823',
- checked: false,
- personalInfo:{
- realName:'',
- publicNot:true,
- status : 0,
- faceImage:'/static/img/sexMan.png'
- },
- personalInfoProgress:0,
- logined:false
- }
-
- },
- methods:{
- changePhone(){
- if(!_self.logined)
- return;
- uni.navigateTo({
- url:'../../pagesA/pages/login/change'
- })
- },
- agreement(){
- uni.navigateTo({
- url:'../../pagesA/pages/login/agreement'
- })
- },
- login(){
- uni.navigateTo({
- url:'../../pagesA/pages/login/index'
- })
- },
- logoff(){
- if(!_self.logined)
- return;
- _self.logined = false;
- _self.personalInfo = {};
- console.log('注销')
- uni.navigateTo({
- url:'./logout'
- })
- },
- logout(){
- // if(!_self.logined)
- // return;
- // var openId=this.carhelp.getOpenId()
- // console.log('openId1'+openId)
- // this.carhelp.logoff()
- // openId=this.carhelp.getOpenId()
- // console.log('openId2'+openId)
- // _self.logined = false;
- // _self.personalInfo = {};
-
- if(this.carhelp.getPersonInfo().id != null) {
- var id = this.carhelp.getPersonInfo().id
- }
- uni.showLoading({
- title: "加载中",
- mask: true,
- })
- loginApi.signout(id).then((res) => {
- this.carhelp.logoff();
- uni.navigateTo({
- url:'../../pagesA/pages/login/index'
- })
- }).catch(error => {
- uni.showToast({
- title: error,
- icon: "none"
- })
- })
- },
- viewPersonalInfo(){
- uni.navigateTo({
- url:'../friend/personal?id='+this.personalInfo.id
- })
- },
- improvePersonalInfo(){
- if(!_self.logined)
- return;
- console.log('完善个人资料')
- uni.navigateTo({
- url: '../../pagesB/pages/login/step1'
- })
- },
- findByOpenId(){
- var openId=this.carhelp.getOpenId()
- if(openId==""){
- console.log("------------------")
- setTimeout(()=>{
- this.findByOpenId()
- },1000)
- return
- }
- uni.request({
- method:'get',
- url: process.car.BASE_URL + "/mobile/regUser/findByOpenId",
- data: {
- openId:openId,
- },
- header: {
- 'Content-Type': 'application/x-www-form-urlencoded',
- 'X-Requested-With': 'XMLHttpRequest',
- }
- }).then((response) => {
- console.log('findByOpenId')
- let [error, res] = response;
- console.log('res'+JSON.stringify(res))
- if (res.data.code == 200 && res.data.result) {
- var token = res ? res.data.data.token : '';
-
- this.carhelp.setPersonInfo(res.data.data.memberInfo );
- this.carhelp.setToken(token);
- this.carhelp.setPersonInfoPlus(res.data.data);
- _self.logined = true;
- _self.preparedPersonalData();
- }else{
- _self.logined = false;
- }
- }).catch(error => {
-
- })
- },
- preparedPersonalData(){
- let personalInfo = this.carhelp.getPersonInfo();
- console.log('个人信息'+JSON.stringify(personalInfo));
- this.personalInfo = personalInfo;
- if(this.personalInfo.phone != null)
- {
- let phone = this.personalInfo.phone;
- let prefix = phone.substr(0,3)
- let suffix = phone.substr(phone.length-4,4)
- this.phone = prefix +'****'+suffix;
- }
- this.calcPersonalInfoProgress();
- },
- calcPersonalInfoProgress(){
- if(this.personalInfo){
- let personal_info = this.personalInfo;
- let total_count = 0;
- let count = 0;
- if(personal_info)
- {
- total_count++;
- if(personal_info.birthday && personal_info.birthday.length>0){
- // console.log('已填写birthday')
- count++;
- }
- total_count++;
- if(personal_info.height != null){
- // console.log('已填写height')
- count++;
- }
- total_count++;
- if(personal_info.weight != null){
- // console.log('已填写weight')
- count++;
- }
- total_count++;
- if(personal_info.gender != null){
- // console.log('已填写gender')
- count++;
- }
-
- ////
- total_count++;
- if(personal_info.birthplace && personal_info.birthplace.length>0)
- {
- // console.log('已填写birthplace')
- count++;
- }
- //
- total_count++;
- if(personal_info.registeredResidence && personal_info.registeredResidence .length>0)
- {
- // console.log('已填写birthday')
- count++;
- }
- ///
- total_count++;
- if(personal_info.workplace && personal_info.workplace.length>0)
- {
- // console.log('已填写workplace')
- count++;
- }
-
- total_count++;
- if(personal_info.education && personal_info.education.length>0)
- {
- // console.log('已填写education')
- count++;
- }
- total_count++;
- if(personal_info.workUnit && personal_info.workUnit.length>0)
- {
- // console.log('已填写workUnit')
- count++;
- }
- total_count++;
- if(personal_info.post && personal_info.post.length>0)
- {
- // console.log('已填写post')
- count++;
- }
- total_count++;
- if(personal_info.industry && personal_info.industry.length>0)
- {
- // console.log('已填写industry')
- count++;
- }
- total_count++;
- if(personal_info.salaryRange && personal_info.salaryRange.length>0)
- {
- // console.log('已填写salaryRange')
- count++;
- }
- total_count++;
- if(personal_info.housingSituation && personal_info.housingSituation.length>0)
- {
- // console.log('已填写housingSituation')
- count++;
- }
- total_count++;
- if(personal_info.maritalStatus && personal_info.maritalStatus.length>0)
- {
- // console.log('已填写maritalStatus')
- count++;
- }
- total_count++;
- if(personal_info.childStatus && personal_info.childStatus.length>0)
- {
- // console.log('已填写childStatus')
- count++;
- }
- total_count++;
- if(personal_info.selfEvaluation && personal_info.selfEvaluation .length>0)
- {
- // console.log('已填写selfEvaluation')
- count++;
- }
- total_count++;
- if(personal_info.taAgeRange.length>0)
- {
- // console.log('已填写taAgeRange')
- count++;
- }
- total_count++;
- if(personal_info.taEdu && personal_info.taEdu.length>0)
- {
- // console.log('已填写taEdu')
- count++;
- }
- total_count++;
- if(personal_info.taIncomeRange && personal_info.taIncomeRange.length>0)
- {
- // console.log('已填写taIncomeRange')
- count++;
- }
- ///
- total_count++;
- if(personal_info.taWorkplace && personal_info.taWorkplace .length>0)
- {
- // console.log('已填写taWorkplace')
- count++;
- }
-
- total_count++;
- if(personal_info.taOccupation && personal_info.taOccupation.length>0)
- {
- // console.log('已填写taOccupation')
- count++;
- }
- total_count++;
- if(personal_info.taOther && personal_info.taOther.length>0){
- // console.log('已填写taOther')
- count++;
- }
- total_count++;
- if(personal_info.faceImage && personal_info.faceImage.length>0)
- {
- // console.log('已填写faceImage')
- count++;
- }
- // console.log('计数'+JSON.stringify(count))
- this.personalInfoProgress = count/total_count*100;
- }
- }
- }
-
- },
- onLoad(){
- _self = this;
-
- },
- onShow(){
- console.log('mylogined onShow');
- this.findByOpenId();
- },
- onReady(){
- console.log('mylogined onReady')
-
- /*
- let personalInfo = this.carhelp.getPersonInfo();
- console.log('个人信息'+JSON.stringify(personalInfo));
- this.personalInfo = personalInfo;
- if(this.personalInfo.phone != null)
- {
- let phone = this.personalInfo.phone;
- let prefix = phone.substr(0,3)
- let suffix = phone.substr(phone.length-4,4)
- this.phone = prefix +'****'+suffix;
- }
- this.calcPersonalInfoProgress();*/
- // console.log('xxx')
- }
- }
- </script>
- <style lang="scss" scoped>
- .navbar-tit{
- padding-left:15px;
- font-size: 24px;
- }
- .userHead{
- display: flex;
- justify-content: space-between;
- padding: 20px 15px;
- .userHead-left{
- .userHead-name{
- display: flex;
- align-items: center;
- h2{
- font-size: 20px;
- font-weight: normal;
- }
- .userHead-icon{
- display: flex;
- align-items: center;
- background-color: #4E8DF6;
- padding: 2px 6px;
- border-radius: 8px;
- margin-left: 20px;
- span{
- color:#fff;
- font-size: 12px;
- margin-left: 3px;
- }
- }
- }
- p{
- color:#847777;
- margin-top: 8px;
- }
- }
-
- }
- .user-data{
- margin: 15px;
- box-shadow: 0 0 6px 0 rgba(132,119,119,0.3);
- padding: 12px 16px;
- .user-data-tit{
- display: flex;
- justify-content: space-between;
- align-items: center;
- h2{
- font-weight: normal;
- font-size: 16px;
- }
- }
- p{
- color:#999;
- margin: 10px 0;
- }
- }
- .user-cell-item{
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 14px 16px;
- .user-cell-l{
- display: flex;
- align-items: center;
- h4{
- font-weight: normal;
- margin-left: 8px;
- }
- }
- .user-cell-r{
- display: flex;
- align-items: center;
- span{
- color:#978E8E;
- margin-right: 4px;
- }
- p{
- font-size: 12px;
- color:#978E8E;
- margin-right: 4px;
- }
- }
- }
- </style>
|