123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565 |
- <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-if="Number(personalInfo.status) == 0">未审核</span>
- <span v-else-if="Number(personalInfo.status) == 1">认证会员</span>
- <span v-else-if="Number(personalInfo.status) == 2">审核未通过</span>
- <span v-else></span>
- </view>
- </view>
-
- <view @click="viewPersonalInfo"><p>查看/编辑个人资料</p></view>
- <!-- <view><p>登录后即可体验更多服务</p></view> -->
- </view>
- <u-avatar :src="personalInfo.faceImage+'?x-oss-process=image/resize,m_fill,w_256,h_256'" 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+'?x-oss-process=image/resize,m_fill,w_256,h_256'" 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" @input='updatePublicNot' ></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" @click="callPhone()">
- <span v-text="tel"></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>
- <u-modal v-model="show" @confirm="confirm" show-cancel-button='true' ref="uModal" :asyncClose="true" :content="content"></u-modal>
- </view>
- <view class="user-cell-item" @click="logout">
- <view class="user-cell-l">
- <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 {
- tel:"0716-8216964",
- phone:'13623239823',
- checked: false,
- //publicNot:false,
- personalInfo:{
- realName:'',
- publicNot:true,
- status : 0,
- faceImage:'/static/img/sexMan.png'
- },
- personalInfoProgress:0,
- logined:false,
- show: false,
- content: '是否退出账号'
- }
- },
-
- methods:{
- callPhone(){
- uni.makePhoneCall({
- phoneNumber:this.tel //仅为示例
- });
- },
- change(status) {
- console.log(status);
- },
- updatePublicNot(e){
- console.log('updatePublicNot'+JSON.stringify(_self.personalInfo.publicNot))
-
- //_self.personalInfo.publicNot = !_self.personalInfo.publicNot;
- console.log('publicNotx1 '+_self.personalInfo.publicNot)
- let personal_info = {};
- //personal_info.type = 1;
- personal_info.subject = '';
- personal_info.status = _self.personalInfo.publicNot?1:0;
- console.log('publicNotx2 '+_self.personalInfo.publicNot)
-
- //let personalInfo = this.carhelp.getPersonInfo();
- //personal_info.id = _self.personalInfo.id;
- console.log('提交结果'+JSON.stringify(personal_info))
- loginApi.changePublicNot(personal_info).then(function(data){
- console.log('状态保存成功'+JSON.stringify(data));
-
-
- },function(err){
- _self.personalInfo.publicNot = !_self.personalInfo.publicNot;
- console.log('保存失败'+JSON.stringify(err));
- });
- },
- 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(this.carhelp.getPersonInfo().id != null) {
- this.show = true;
- }
- },
- confirm() {
- if(this.carhelp.getPersonInfo().id != null) {
- var id = this.carhelp.getPersonInfo().id
- }
- uni.showLoading({
- title: "加载中",
- mask: true,
- })
- loginApi.signout(id).then((res) => {
- this.show = false;
- this.carhelp.logoff();
- uni.navigateTo({
- url:'../../pagesA/pages/login/index'
- })
- uni.hideLoading();
- }).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(){
- //console.log('findByOpenId')
- var openId=this.carhelp.getOpenId()
- if(openId==""){
- console.log("------------------")
- setTimeout(()=>{
- this.findByOpenId()
- },1000)
- return
- }
- /*uni.showLoading({
- title: "加载中",
- mask: true,
- })*/
- 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 : '';
- //console.log('token'+JSON.stringify(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;
- }
- //uni.hideLoading()
- }).catch(error => {
- //uni.hideLoading();
- })
- },
- preparedPersonalData(){
- let personalInfo = this.carhelp.getPersonInfo();
- console.log('个人信息'+JSON.stringify(personalInfo));
- this.personalInfo = personalInfo;
- /*if(this.personalInfo.publicNot!=null){
- this.checked = this.personalInfo.publicNot;
- }*/
- 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;
- console.log('mylogined onLoad')
-
-
- },
- 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>
|