userInfo.vue 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. <template>
  2. <view class="page">
  3. <view class="outView">
  4. <form @submit="inputValue">
  5. <view class="flex-row justify-between bordBot" >
  6. <view class="key flex-col justify-center ">
  7. <text>头像</text>
  8. </view>
  9. <view class="photoView" @click="updateAvatar">
  10. <image class="photoImage" :src="userInfo.img || '/static/ud4.png'"></image>
  11. </view>
  12. </view>
  13. <view class="flex-row justify-between bordBot" >
  14. <view class="key flex-col justify-center ">
  15. <text>姓名</text>
  16. </view>
  17. <view class="nikeName flex-col justify-center">
  18. <input disabled name="name" v-model="userInfo.name" placeholder="请输入昵称"/>
  19. </view>
  20. </view>
  21. <!-- <view class="flex-row justify-between bordBot" >-->
  22. <!-- <view class="key flex-col justify-center ">-->
  23. <!-- <text>性别</text>-->
  24. <!-- </view>-->
  25. <!-- <view class="nikeName flex-row justify-center" @click="showSex = true">-->
  26. <!-- <input name="sex" disabled v-model="userInfo.sex" placeholder="请选择性别"/>-->
  27. <!-- <u-icon name="arrow-right" color="#666" size="18"></u-icon>-->
  28. <!-- </view>-->
  29. <!-- </view>-->
  30. <view class="flex-row justify-between bordBot" >
  31. <view class="key flex-col justify-center ">
  32. <text>手机号</text>
  33. </view>
  34. <view class="nikeName flex-row justify-center">
  35. <input name="phone" disabled v-model="userInfo.phone"/>
  36. </view>
  37. </view>
  38. <view class="flex-row justify-between bordBot" >
  39. <view class="key flex-col justify-center ">
  40. <text>找回密码</text>
  41. </view>
  42. <view class="flex-row justify-end nikeName " @click="updatePassword">
  43. <text>点击修改</text>
  44. <u-icon name="arrow-right" color="#666" size="18"></u-icon>
  45. </view>
  46. </view>
  47. <!-- <button class="updateButton" formType="submit">-->
  48. <!-- <text>保存</text>-->
  49. <!-- </button>-->
  50. </form>
  51. </view>
  52. <view class="logoutButton">
  53. <u-button type="error" text="退出登录" @click="logout"></u-button>
  54. </view>
  55. <u-action-sheet
  56. :show="showSex"
  57. :actions="actions"
  58. title="请选择性别"
  59. @close="showSex = false"
  60. @select="sexSelect">
  61. </u-action-sheet>
  62. </view>
  63. </template>
  64. <script>
  65. export default {
  66. data() {
  67. return {
  68. showSex:false,
  69. photoUrl:'',
  70. userInfo: {},
  71. genderIndex:0,
  72. actions: [{
  73. name: '男',
  74. value:'1'
  75. },
  76. {
  77. name: '女',
  78. value:'0'
  79. },{
  80. name: '保密',
  81. value:'2'
  82. }
  83. ],
  84. };
  85. },
  86. mounted() {
  87. },
  88. onShow() {
  89. // 用户信息
  90. this.userInfo = uni.getStorageSync('spreadUserInfo')
  91. console.log(this.userInfo)
  92. },
  93. methods: {
  94. inputValue(e){
  95. console.log('+++++++++++++inputValue+++++++++++',e)
  96. this.userInfo.name = e.detail.value.name
  97. },
  98. updateAvatar(){
  99. let that = this
  100. uni.chooseImage({
  101. count: 1, //默认9
  102. sizeType: ['original'], //可以指定是原图还是压缩图,默认二者都有
  103. sourceType: ['album'], //从相册选择
  104. success: function (res) {
  105. let tempUrl = res.tempFiles[0].path
  106. uni.uploadFile({
  107. url: that.$baseUrl + '/resource/oss/upload', //仅为示例,非真实的接口地址
  108. filePath:tempUrl,
  109. name: 'file',
  110. header: {
  111. // "Content-Type": "multipart/form-data",
  112. // 'X-Access-Token': uni.getStorageSync('token'),
  113. 'Authorization': 'Bearer ' + uni.getStorageSync('accessToken'),
  114. },
  115. success: (uploadFileRes) => {
  116. let res = JSON.parse(uploadFileRes.data)
  117. console.log('+++++++++++++++++chooseavatar+++++++++++++++++++++++',uploadFileRes.data)
  118. that.userInfo.img = res.data.url.replace(/^http:/, "https:")
  119. //todo 更新头像的接口
  120. uni.setStorageSync('spreadUserInfo', that.userInfo)
  121. }
  122. });
  123. }
  124. })
  125. },
  126. sexSelect(e) {
  127. this.userInfo.sex = e.name
  128. console.log(e)
  129. },
  130. back() {
  131. uni.navigateBack({
  132. delta: 1
  133. })
  134. },
  135. updatePassword(){
  136. uni.navigateTo({
  137. url:'/pages/forgetPassword/forgetPassword'
  138. })
  139. },
  140. back() {
  141. uni.navigateBack({
  142. delta: 1
  143. })
  144. },
  145. logout(){
  146. this.$api.login.logout().then(res=>{
  147. uni.removeStorageSync('accessToken');
  148. uni.removeStorageSync('spreadUserInfo');
  149. uni.reLaunch({
  150. url:'/pages/login/login'
  151. })
  152. })
  153. }
  154. }
  155. };
  156. </script>
  157. <style lang="scss" scoped>
  158. @import './index.rpx.css';
  159. </style>