userInfo.vue 6.3 KB

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