set-user-name.vue 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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" focus placeholder="请输入昵称" maxlength="20" />
  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. save(){
  43. if(this.isAJAX){
  44. return
  45. }
  46. this.isAJAX = true;
  47. userUpdate(this.fromData).then((res)=>{
  48. if(res.code === 1){
  49. this.isAJAX = false;
  50. tools.success(res.msg)
  51. }else{
  52. this.isAJAX = false;
  53. tools.error(res.msg)
  54. }
  55. })
  56. },
  57. },
  58. }
  59. </script>
  60. <style lang="scss" scoped>
  61. .content-box{
  62. padding: 40rpx 32rpx 0;
  63. }
  64. .uni-input{
  65. // width: 100%;
  66. height: 92rpx;
  67. line-height: 92rpx;
  68. background: #F6F6F6;
  69. border-radius: 12rpx;
  70. padding: 0 0 0 26rpx;
  71. }
  72. .but{
  73. width: 100%;
  74. height: 92rpx;
  75. line-height: 92rpx;
  76. }
  77. </style>