set-user-name.vue 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <template>
  2. <view class="flex-common-css bgc-f">
  3. <Nav title="昵称" titleColor="#333" bgckgroundBox='#fff'></Nav>
  4. <scroll-view :scroll-y="true" class="scroll-view-css">
  5. <view class="content-box box-border-box">
  6. <input v-model="fromData.nickname" class="uni-input mb-16 fs-28" type="nickname" placeholder="请输入昵称" maxlength="20" @change="getNickname" />
  7. <view class="fs-24 fc-9 mb-80">
  8. 昵称由中文、英文、数字、组合
  9. </view>
  10. <view class="but fs-32 fc-f fw-600 b-rad-200 bgc-41ABF5 text-align-center" @click="save()">
  11. 保存
  12. </view>
  13. </view>
  14. </scroll-view>
  15. </view>
  16. </template>
  17. <script>
  18. import {userInfo,userUpdate} from '@/api/member.js';
  19. import tools from '@/service/tools';
  20. export default {
  21. data() {
  22. return {
  23. fromData:{
  24. nickname:'',
  25. head_img:'',
  26. sex:'',
  27. },
  28. isAJAX:false,
  29. };
  30. },
  31. onShow() {
  32. this.getUserInfo();
  33. },
  34. methods: {
  35. getUserInfo(){
  36. userInfo().then((res)=>{
  37. if(res.code === 1){
  38. this.fromData = res.data;
  39. }
  40. })
  41. },
  42. getNickname(e) {
  43. this.fromData.nickname = e.detail.value
  44. },
  45. save(){
  46. if(this.isAJAX){
  47. return
  48. }
  49. this.isAJAX = true;
  50. userUpdate(this.fromData).then((res)=>{
  51. if(res.code === 1){
  52. this.isAJAX = false;
  53. tools.success(res.msg)
  54. }else{
  55. this.isAJAX = false;
  56. tools.error(res.msg)
  57. }
  58. })
  59. },
  60. },
  61. }
  62. </script>
  63. <style lang="scss" scoped>
  64. .content-box{
  65. padding: 40rpx 32rpx 0;
  66. }
  67. .uni-input{
  68. // width: 100%;
  69. height: 92rpx;
  70. line-height: 92rpx;
  71. background: #F6F6F6;
  72. border-radius: 12rpx;
  73. padding: 0 0 0 26rpx;
  74. }
  75. .but{
  76. width: 100%;
  77. height: 92rpx;
  78. line-height: 92rpx;
  79. }
  80. </style>