租房小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
3.5 KiB

9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
  1. <template>
  2. <view>
  3. <view class="se-pt-200 se-flex se-flex-h-c se-flex-ff-cw">
  4. <image class="se-w-150 se-h-150" src="@/static/image/logo.png" mode=""></image>
  5. <view class="se-flex se-flex-h-c se-fs-34 se-fw-6 se-c-black se-mt-40">
  6. 租房小程序
  7. </view>
  8. <view class="se-mt-20 se-fs-26 se-c-black se-flex se-flex-h-c">
  9. 申请获取您的头像昵称
  10. </view>
  11. </view>
  12. <view class="se-mx-40 se-py-100">
  13. <view class="se-b-t se-b-b se-flex se-h-140 se-lh-140 se-flex-h-sb">
  14. <text>头像</text>
  15. <button class="se-w-100 se-h-100 se-p-0 se-m-0" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
  16. <image v-if="imagUrl" class="se-w-100 se-h-100" :src="imagUrl"></image>
  17. <image v-else class="se-w-100 se-h-100" src="@/static/image/header.png" mode=""></image>
  18. </button>
  19. </view>
  20. <view class=" se-b-b se-flex se-h-140 se-lh-140 se-flex-h-sb">
  21. <text>昵称</text>
  22. <input type="nickname" placeholder="请输入昵称" v-model="nameUser"
  23. @blur="bindblur" class="se-h-80 se-lh-80 se-w-320 se-fs-24 se-ta-r" placeholder-class="se-fs-24 se-ta-r" />
  24. </view>
  25. <view class=" se-b-b se-flex se-h-140 se-lh-140 se-flex-h-sb">
  26. <text>手机号</text>
  27. <button v-if="phone" class="default-btn se-h-100 se-p-0 se-m-0" open-type="getPhoneNumber" @getphonenumber="onPhonenumber">{{phone}}</button>
  28. <button v-else class="se-w-140 se-h-60 se-lh-60 se-fs-20 se-bgc-green se-c-white se-py-0 se-br-30 se-px-20 se-m-0" open-type="getPhoneNumber" @getphonenumber="onPhonenumber">
  29. 获取手机号
  30. </button>
  31. <!-- <input type="nickname" placeholder="请输入昵称" v-model="phone"
  32. @blur="bindblur" class="se-h-80 se-lh-80 se-w-320 se-fs-24 se-ta-r" placeholder-class="se-fs-24 se-ta-r" /> -->
  33. </view>
  34. </view>
  35. <view class="se-mx-40">
  36. <view @click="onUpdateInfo" class="se-br-40 se-flex-h-c se-h-80 se-lh-80 se-ta-c se-fs-32 se-c-white se-bgc-green">
  37. 确认
  38. </view>
  39. </view>
  40. </view>
  41. </template>
  42. <script>
  43. import { UpdateInfo,bindPhone } from "@/common/api.js"
  44. export default {
  45. name : 'Login',
  46. data() {
  47. return {
  48. nameUser:"",
  49. imagUrl:"",
  50. phone:""
  51. }
  52. },
  53. methods: {
  54. bindblur(event) {
  55. this.nameUser = event.target.value
  56. },
  57. onChooseAvatar(res) {
  58. let self = this
  59. self.$Oss.ossUpload(res.target.avatarUrl).then(url => {
  60. self.imagUrl = url
  61. })
  62. },
  63. onPhonenumber(event){
  64. let that = this
  65. var detail = event.detail;
  66. if(detail.errMsg=='getPhoneNumber:ok'){
  67. let params={
  68. code : detail.code,
  69. encryptedData: detail.encryptedData,
  70. iv:detail.iv,
  71. sessionKey: uni.getStorageSync('sessionKey'),
  72. openid:uni.getStorageSync('userInfo').appletOpenid
  73. }
  74. bindPhone(params).then((response) => {
  75. console.info(response)
  76. that.phone = response.result
  77. }).catch(error=>{
  78. })
  79. }
  80. },
  81. onUpdateInfo(){
  82. let that = this
  83. let params={
  84. avatarUrl:that.imagUrl,
  85. nickName:that.nameUser,
  86. // phone:that.phone
  87. }
  88. // if(that.imagUrl&&that.nameUser&&that.phone){
  89. UpdateInfo(params).then((response) => {
  90. uni.switchTab({
  91. url:"/pages/home/index"
  92. })
  93. }).catch((error) =>{
  94. })
  95. // }else{
  96. // return uni.showToast({
  97. // icon:"none",
  98. // title:"头像和昵称不能为空!"
  99. // })
  100. // }
  101. }
  102. }
  103. }
  104. </script>
  105. <style scoped lang="scss">
  106. .default-btn{
  107. background-color: #fff;
  108. }
  109. .default-btn::after{
  110. content: "";
  111. border: none;
  112. }
  113. </style>