feat:注销账号添加确认弹窗

This commit is contained in:
hanlin 2024-12-11 13:57:14 +08:00
parent 0721aba8a6
commit 8aa61c8bdc
17 changed files with 170 additions and 68 deletions

View File

@ -87,6 +87,15 @@
<div class="content5">
<div class="wrap1" @click="logout">退出登录</div>
</div>
<u-modal
:show="showSignOff"
title="注销账号"
content="您确定要注销该账号吗?"
showCancelButton
:asyncClose="true"
@confirm="confirmSignOff"
@cancel="cancelSignOff"
></u-modal>
</div>
</template>
<script>
@ -96,7 +105,8 @@ export default {
name: 'set-up',
data() {
return {
user: {}
user: {},
showSignOff: false
}
},
onLoad() {
@ -146,9 +156,13 @@ export default {
})
},
async signOff() {
signOff() {
this.showSignOff = true
},
async confirmSignOff() {
let res = await this.$api.mine.signOff()
if (res.status === 0) {
this.showSignOff = false
this.$common.msgToast('注销成功')
uni.clearStorageSync()
uni.setStorageSync('tabBar', tabBarJs)
@ -159,6 +173,9 @@ export default {
this.$common.msgToast(res.msg)
}
},
cancelSignOff() {
this.showSignOff = false
},
async logout() {
let res = await this.$api.mine.logout()
if (res.status === 0) {

View File

@ -392,31 +392,6 @@ export default {
// if (this.needPersonSecret && !this.video)
// return this.$common.msgToast("");
if (!this.isPhoneLogin) {
const res = await this.$api.login.register({
user: {
telNum: uni.getStorageSync('telNum'),
realNameIDName: this.num,
realName: this.name,
realIDImgA: this.fileList[0]?.url || '',
realIDImgB: this.fileList2[0]?.url || '',
idType: this.radiovalue,
passport: {
idNum: this.passportId,
name: this.name,
RealIDImgA: this.passport[0]?.url || '',
RealIDImgB: this.passport2[0]?.url || ''
}
}
})
if (res.status === 0) {
uni.switchTab({
url: '/pages/home/index'
})
} else {
this.$common.msgToast(res.msg)
}
} else {
const res = await this.$api.login.phoneRegister({
telNum: uni.getStorageSync('telNum'),
realNameIDName: this.num,
@ -438,7 +413,6 @@ export default {
} else {
this.$common.msgToast(res.msg)
}
}
},
//
deletePic(event) {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -5,6 +5,7 @@
"usingComponents": {
"title-block": "/components/title-block/title-block",
"u-upload": "/uview-ui/components/u-upload/u-upload",
"u-button": "/uview-ui/components/u-button/u-button"
"u-button": "/uview-ui/components/u-button/u-button",
"u-modal": "/uview-ui/components/u-modal/u-modal"
}
}

View File

@ -1 +1 @@
<view class="set-up _div data-v-6d897039"><title-block vue-id="43a517ed-1" title="设置" class="data-v-6d897039" bind:__l="__l" vue-slots="{{['left']}}"><view class="_div data-v-6d897039" slot="left"><image style="width:112rpx;height:52rpx;" src="https://cdns.fontree.cn/fonchain-main/prod/image/default/artwork/785cf885-c4c9-44b3-8155-4b39988c7ef8.png" data-event-opts="{{[['tap',[['back',['$event']]]]]}}" bindtap="__e" class="data-v-6d897039"></image></view></title-block><view class="content2 _div data-v-6d897039"><view class="wrap1 _div data-v-6d897039"><image src="{{user.avatar?user.avatar:'https://cdns.fontree.cn/fonchain-main/prod/image/407e7c22-eb62-411e-957b-b6c296fde530/artwork/814ac246-e1eb-49fe-beee-dd53aaf5d309.png'}}" mode="scaleToFill" class="data-v-6d897039"></image></view><view class="wrap2 _div data-v-6d897039"><view data-event-opts="{{[['tap',[['backDafult',['$event']]]]]}}" class="wrap2_1 _div data-v-6d897039" bindtap="__e">恢复默认头像</view><u-upload vue-id="43a517ed-2" fileList="{{fileList}}" name="1" multiple="{{true}}" maxCount="{{1}}" data-event-opts="{{[['^afterRead',[['changeAvatar']]]]}}" bind:afterRead="__e" class="data-v-6d897039" bind:__l="__l" vue-slots="{{['default']}}"><view style="width:348rpx;height:56rpx;margin-top:20rpx;" class="data-v-6d897039"><u-button class="size data-v-6d897039" vue-id="{{('43a517ed-3')+','+('43a517ed-2')}}" text="更换头像" shape="circle" color="#76C458" bind:__l="__l"></u-button></view></u-upload></view></view><view class="content3 _div data-v-6d897039"><view class="wrap1 _div data-v-6d897039"><view class="wrap1_1 _div data-v-6d897039"><view class="wrap1_1_1 _div data-v-6d897039">姓名</view><view class="wrap1_1_2 _div data-v-6d897039">{{user.nickName}}</view><view class="wrap1_1_3 _div data-v-6d897039"><view class="data-v-6d897039"></view></view><view class="wrap1_1_4 _div data-v-6d897039"></view></view><view class="wrap1_1 _div data-v-6d897039"><view class="wrap1_1_1 _div data-v-6d897039">{{''+(user.idType==='0'?'身份证号':'护照号')+''}}</view><view class="wrap1_1_2 _div data-v-6d897039">{{''+(user.idType==='0'?user.iDNum:user.passport.idNum)+''}}</view><view class="wrap1_1_3 _div data-v-6d897039"><view class="data-v-6d897039"></view></view><view class="wrap1_1_4 _div data-v-6d897039"></view></view><view class="wrap1_1 _div data-v-6d897039"><view class="wrap1_1_1 _div data-v-6d897039">手机号</view><view class="wrap1_1_2 _div data-v-6d897039">{{user.telNum}}</view><view class="wrap1_1_3 _div data-v-6d897039"><view class="data-v-6d897039"></view></view></view></view><view class="wrap2 _div data-v-6d897039"></view></view><view class="content4 _div data-v-6d897039"><view data-event-opts="{{[['tap',[['signOff',['$event']]]]]}}" class="wrap1 _div data-v-6d897039" bindtap="__e">注销账号</view></view><view class="content5 _div data-v-6d897039"><view data-event-opts="{{[['tap',[['logout',['$event']]]]]}}" class="wrap1 _div data-v-6d897039" bindtap="__e">退出登录</view></view></view>
<view class="set-up _div data-v-6d897039"><title-block vue-id="43a517ed-1" title="设置" class="data-v-6d897039" bind:__l="__l" vue-slots="{{['left']}}"><view class="_div data-v-6d897039" slot="left"><image style="width:112rpx;height:52rpx;" src="https://cdns.fontree.cn/fonchain-main/prod/image/default/artwork/785cf885-c4c9-44b3-8155-4b39988c7ef8.png" data-event-opts="{{[['tap',[['back',['$event']]]]]}}" bindtap="__e" class="data-v-6d897039"></image></view></title-block><view class="content2 _div data-v-6d897039"><view class="wrap1 _div data-v-6d897039"><image src="{{user.avatar?user.avatar:'https://cdns.fontree.cn/fonchain-main/prod/image/407e7c22-eb62-411e-957b-b6c296fde530/artwork/814ac246-e1eb-49fe-beee-dd53aaf5d309.png'}}" mode="scaleToFill" class="data-v-6d897039"></image></view><view class="wrap2 _div data-v-6d897039"><view data-event-opts="{{[['tap',[['backDafult',['$event']]]]]}}" class="wrap2_1 _div data-v-6d897039" bindtap="__e">恢复默认头像</view><u-upload vue-id="43a517ed-2" fileList="{{fileList}}" name="1" multiple="{{true}}" maxCount="{{1}}" data-event-opts="{{[['^afterRead',[['changeAvatar']]]]}}" bind:afterRead="__e" class="data-v-6d897039" bind:__l="__l" vue-slots="{{['default']}}"><view style="width:348rpx;height:56rpx;margin-top:20rpx;" class="data-v-6d897039"><u-button class="size data-v-6d897039" vue-id="{{('43a517ed-3')+','+('43a517ed-2')}}" text="更换头像" shape="circle" color="#76C458" bind:__l="__l"></u-button></view></u-upload></view></view><view class="content3 _div data-v-6d897039"><view class="wrap1 _div data-v-6d897039"><view class="wrap1_1 _div data-v-6d897039"><view class="wrap1_1_1 _div data-v-6d897039">姓名</view><view class="wrap1_1_2 _div data-v-6d897039">{{user.nickName}}</view><view class="wrap1_1_3 _div data-v-6d897039"><view class="data-v-6d897039"></view></view><view class="wrap1_1_4 _div data-v-6d897039"></view></view><view class="wrap1_1 _div data-v-6d897039"><view class="wrap1_1_1 _div data-v-6d897039">{{''+(user.idType==='0'?'身份证号':'护照号')+''}}</view><view class="wrap1_1_2 _div data-v-6d897039">{{''+(user.idType==='0'?user.iDNum:user.passport.idNum)+''}}</view><view class="wrap1_1_3 _div data-v-6d897039"><view class="data-v-6d897039"></view></view><view class="wrap1_1_4 _div data-v-6d897039"></view></view><view class="wrap1_1 _div data-v-6d897039"><view class="wrap1_1_1 _div data-v-6d897039">手机号</view><view class="wrap1_1_2 _div data-v-6d897039">{{user.telNum}}</view><view class="wrap1_1_3 _div data-v-6d897039"><view class="data-v-6d897039"></view></view></view></view><view class="wrap2 _div data-v-6d897039"></view></view><view class="content4 _div data-v-6d897039"><view data-event-opts="{{[['tap',[['signOff',['$event']]]]]}}" class="wrap1 _div data-v-6d897039" bindtap="__e">注销账号</view></view><view class="content5 _div data-v-6d897039"><view data-event-opts="{{[['tap',[['logout',['$event']]]]]}}" class="wrap1 _div data-v-6d897039" bindtap="__e">退出登录</view></view><u-modal vue-id="43a517ed-4" show="{{showSignOff}}" title="注销账号" content="您确定要注销该账号吗?" showCancelButton="{{true}}" asyncClose="{{true}}" data-event-opts="{{[['^confirm',[['confirmSignOff']]],['^cancel',[['cancelSignOff']]]]}}" bind:confirm="__e" bind:cancel="__e" class="data-v-6d897039" bind:__l="__l"></u-modal></view>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,11 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["uview-ui/components/u-modal/u-modal"],{696:function(n,e,t){"use strict";t.r(e);var o=t(697),i=t(699);for(var r in i)["default"].indexOf(r)<0&&function(n){t.d(e,n,(function(){return i[n]}))}(r);t(702);var u,c=t(33),a=Object(c["default"])(i["default"],o["render"],o["staticRenderFns"],!1,null,"3626fcec",null,!1,o["components"],u);a.options.__file="uview-ui/components/u-modal/u-modal.vue",e["default"]=a.exports},697:function(n,e,t){"use strict";t.r(e);var o=t(698);t.d(e,"render",(function(){return o["render"]})),t.d(e,"staticRenderFns",(function(){return o["staticRenderFns"]})),t.d(e,"recyclableRender",(function(){return o["recyclableRender"]})),t.d(e,"components",(function(){return o["components"]}))},698:function(n,e,t){"use strict";var o;t.r(e),t.d(e,"render",(function(){return i})),t.d(e,"staticRenderFns",(function(){return u})),t.d(e,"recyclableRender",(function(){return r})),t.d(e,"components",(function(){return o}));try{o={uPopup:function(){return Promise.all([t.e("common/vendor"),t.e("uview-ui/components/u-popup/u-popup")]).then(t.bind(null,495))},uLine:function(){return Promise.all([t.e("common/vendor"),t.e("uview-ui/components/u-line/u-line")]).then(t.bind(null,550))},uLoadingIcon:function(){return Promise.all([t.e("common/vendor"),t.e("uview-ui/components/u-loading-icon/u-loading-icon")]).then(t.bind(null,533))}}}catch(c){if(-1===c.message.indexOf("Cannot find module")||-1===c.message.indexOf(".vue"))throw c;console.error(c.message),console.error("1. 排查组件名称拼写是否正确"),console.error("2. 排查组件是否符合 easycom 规范文档https://uniapp.dcloud.net.cn/collocation/pages?id=easycom"),console.error("3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件")}var i=function(){var n=this,e=n.$createElement,t=(n._self._c,{borderRadius:"6px",overflow:"hidden",marginTop:"-"+n.$u.addUnit(n.negativeTop)}),o=n.$u.addUnit(n.width);n.$mp.data=Object.assign({},{$root:{a0:t,g0:o}})},r=!1,u=[];i._withStripped=!0},699:function(n,e,t){"use strict";t.r(e);var o=t(700),i=t.n(o);for(var r in o)["default"].indexOf(r)<0&&function(n){t.d(e,n,(function(){return o[n]}))}(r);e["default"]=i.a},700:function(n,e,t){"use strict";(function(n){var o=t(4);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=o(t(701)),r={name:"u-modal",mixins:[n.$u.mpMixin,n.$u.mixin,i.default],data:function(){return{loading:!1}},watch:{show:function(n){n&&this.loading&&(this.loading=!1)}},methods:{confirmHandler:function(){this.asyncClose&&(this.loading=!0),this.$emit("confirm")},cancelHandler:function(){this.$emit("cancel")},clickHandler:function(){this.closeOnClickOverlay&&this.$emit("close")}}};e.default=r}).call(this,t(2)["default"])},702:function(n,e,t){"use strict";t.r(e);var o=t(703),i=t.n(o);for(var r in o)["default"].indexOf(r)<0&&function(n){t.d(e,n,(function(){return o[n]}))}(r);e["default"]=i.a},703:function(n,e,t){}}]);
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/uview-ui/components/u-modal/u-modal.js.map
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
'uview-ui/components/u-modal/u-modal-create-component',
{
'uview-ui/components/u-modal/u-modal-create-component':(function(module, exports, __webpack_require__){
__webpack_require__('2')['createComponent'](__webpack_require__(696))
})
},
[['uview-ui/components/u-modal/u-modal-create-component']]
]);

View File

@ -0,0 +1,8 @@
{
"usingComponents": {
"u-popup": "/uview-ui/components/u-popup/u-popup",
"u-line": "/uview-ui/components/u-line/u-line",
"u-loading-icon": "/uview-ui/components/u-loading-icon/u-loading-icon"
},
"component": true
}

View File

@ -0,0 +1 @@
<u-popup vue-id="e28dbccc-1" mode="center" zoom="{{zoom}}" show="{{show}}" customStyle="{{$root.a0}}" closeOnClickOverlay="{{closeOnClickOverlay}}" safeAreaInsetBottom="{{false}}" duration="{{400}}" data-event-opts="{{[['^click',[['clickHandler']]]]}}" bind:click="__e" class="data-v-3626fcec" bind:__l="__l" vue-slots="{{['default']}}"><view class="u-modal data-v-3626fcec" style="{{'width:'+($root.g0)+';'}}"><block wx:if="{{title}}"><text class="u-modal__title data-v-3626fcec">{{title}}</text></block><view class="u-modal__content data-v-3626fcec" style="{{'padding-top:'+((title?12:25)+'px')+';'}}"><block wx:if="{{$slots.default}}"><slot></slot></block><block wx:else><text class="u-modal__content__text data-v-3626fcec">{{content}}</text></block></view><block wx:if="{{$slots.confirmButton}}"><view class="u-modal__button-group--confirm-button data-v-3626fcec"><slot name="confirmButton"></slot></view></block><block wx:else><u-line vue-id="{{('e28dbccc-2')+','+('e28dbccc-1')}}" class="data-v-3626fcec" bind:__l="__l"></u-line><view class="u-modal__button-group data-v-3626fcec" style="{{'flex-direction:'+(buttonReverse?'row-reverse':'row')+';'}}"><block wx:if="{{showCancelButton}}"><view class="{{['u-modal__button-group__wrapper','u-modal__button-group__wrapper--cancel','data-v-3626fcec',showCancelButton&&!showConfirmButton&&'u-modal__button-group__wrapper--only-cancel']}}" hover-stay-time="{{150}}" hover-class="u-modal__button-group__wrapper--hover" data-event-opts="{{[['tap',[['cancelHandler',['$event']]]]]}}" bindtap="__e"><text class="u-modal__button-group__wrapper__text data-v-3626fcec" style="{{'color:'+(cancelColor)+';'}}">{{cancelText}}</text></view></block><block wx:if="{{showConfirmButton&&showCancelButton}}"><u-line vue-id="{{('e28dbccc-3')+','+('e28dbccc-1')}}" direction="column" class="data-v-3626fcec" bind:__l="__l"></u-line></block><block wx:if="{{showConfirmButton}}"><view class="{{['u-modal__button-group__wrapper','u-modal__button-group__wrapper--confirm','data-v-3626fcec',!showCancelButton&&showConfirmButton&&'u-modal__button-group__wrapper--only-confirm']}}" hover-stay-time="{{150}}" hover-class="u-modal__button-group__wrapper--hover" data-event-opts="{{[['tap',[['confirmHandler',['$event']]]]]}}" bindtap="__e"><block wx:if="{{loading}}"><u-loading-icon vue-id="{{('e28dbccc-4')+','+('e28dbccc-1')}}" class="data-v-3626fcec" bind:__l="__l"></u-loading-icon></block><block wx:else><text class="u-modal__button-group__wrapper__text data-v-3626fcec" style="{{'color:'+(confirmColor)+';'}}">{{confirmText}}</text></block></view></block></view></block></view></u-popup>

View File

@ -0,0 +1,89 @@
@charset "UTF-8";
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
view.data-v-3626fcec, scroll-view.data-v-3626fcec, swiper-item.data-v-3626fcec {
display: flex;
flex-direction: column;
flex-shrink: 0;
flex-grow: 0;
flex-basis: auto;
align-items: stretch;
align-content: flex-start;
}
.u-modal.data-v-3626fcec {
width: 650rpx;
border-radius: 6px;
overflow: hidden;
}
.u-modal__title.data-v-3626fcec {
font-size: 16px;
font-weight: bold;
color: #606266;
text-align: center;
padding-top: 25px;
}
.u-modal__content.data-v-3626fcec {
padding: 12px 25px 25px 25px;
display: flex;
flex-direction: row;
justify-content: center;
}
.u-modal__content__text.data-v-3626fcec {
font-size: 15px;
color: #606266;
flex: 1;
}
.u-modal__button-group.data-v-3626fcec {
display: flex;
flex-direction: row;
}
.u-modal__button-group--confirm-button.data-v-3626fcec {
flex-direction: column;
padding: 0px 25px 15px 25px;
}
.u-modal__button-group__wrapper.data-v-3626fcec {
flex: 1;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
height: 48px;
}
.u-modal__button-group__wrapper--confirm.data-v-3626fcec, .u-modal__button-group__wrapper--only-cancel.data-v-3626fcec {
border-bottom-right-radius: 6px;
}
.u-modal__button-group__wrapper--cancel.data-v-3626fcec, .u-modal__button-group__wrapper--only-confirm.data-v-3626fcec {
border-bottom-left-radius: 6px;
}
.u-modal__button-group__wrapper--hover.data-v-3626fcec {
background-color: #f3f4f6;
}
.u-modal__button-group__wrapper__text.data-v-3626fcec {
color: #606266;
font-size: 16px;
text-align: center;
}