userInfo.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  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. <!--#ifdef H5-->
  56. <liu-drag-button @clickBtn="back">返回</liu-drag-button>
  57. <!--#endif-->
  58. <u-action-sheet
  59. :show="showSex"
  60. :actions="actions"
  61. title="请选择性别"
  62. @close="showSex = false"
  63. @select="sexSelect">
  64. </u-action-sheet>
  65. </view>
  66. </template>
  67. <script>
  68. export default {
  69. data() {
  70. return {
  71. showSex:false,
  72. photoUrl:'',
  73. userInfo: {},
  74. genderIndex:0,
  75. actions: [{
  76. name: '男',
  77. value:'1'
  78. },
  79. {
  80. name: '女',
  81. value:'0'
  82. },{
  83. name: '保密',
  84. value:'2'
  85. }
  86. ],
  87. };
  88. },
  89. mounted() {
  90. },
  91. onShow() {
  92. // 用户信息
  93. this.userInfo = uni.getStorageSync('spreadUserInfo')
  94. console.log(this.userInfo)
  95. },
  96. methods: {
  97. inputValue(e){
  98. console.log('+++++++++++++inputValue+++++++++++',e)
  99. this.userInfo.name = e.detail.value.name
  100. },
  101. updateAvatar(){
  102. let that = this
  103. uni.chooseImage({
  104. count: 1, //默认9
  105. sizeType: ['original'], //可以指定是原图还是压缩图,默认二者都有
  106. sourceType: ['album'], //从相册选择
  107. success: function (res) {
  108. let tempUrl = res.tempFiles[0].path
  109. uni.uploadFile({
  110. url: that.$baseUrl + '/resource/oss/upload', //仅为示例,非真实的接口地址
  111. filePath:tempUrl,
  112. name: 'file',
  113. header: {
  114. // "Content-Type": "multipart/form-data",
  115. // 'X-Access-Token': uni.getStorageSync('token'),
  116. 'Authorization': 'Bearer ' + uni.getStorageSync('accessToken'),
  117. },
  118. success: (uploadFileRes) => {
  119. let res = JSON.parse(uploadFileRes.data)
  120. console.log('+++++++++++++++++chooseavatar+++++++++++++++++++++++',uploadFileRes.data)
  121. that.userInfo.img = res.data.url.replace(/^http:/, "https:")
  122. that.$api.user.updateUserInfo({
  123. img:res.data.url
  124. }).then(res1=>{
  125. console.log(res1)
  126. })
  127. uni.setStorageSync('spreadUserInfo', that.userInfo)
  128. }
  129. });
  130. }
  131. })
  132. },
  133. sexSelect(e) {
  134. this.userInfo.sex = e.name
  135. console.log(e)
  136. },
  137. back() {
  138. uni.navigateBack({
  139. delta: 1
  140. })
  141. },
  142. updatePassword(){
  143. uni.navigateTo({
  144. url:'/pages/forgetPassword/forgetPassword'
  145. })
  146. },
  147. back() {
  148. uni.navigateBack({
  149. delta: 1
  150. })
  151. },
  152. logout(){
  153. this.$api.login.logout().then(res=>{
  154. uni.removeStorageSync('accessToken');
  155. uni.removeStorageSync('spreadUserInfo');
  156. uni.reLaunch({
  157. url:'/pages/login/login'
  158. })
  159. })
  160. }
  161. }
  162. };
  163. </script>
  164. <style lang="scss" scoped>
  165. @import './index.rpx.css';
  166. </style>