camera.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <template>
  2. <view>
  3. <u-popup
  4. v-model="isShow"
  5. mode="bottom"
  6. border-radius="40"
  7. :mask-close-able="false"
  8. >
  9. <!-- 播放前拍照start -->
  10. <!-- :mask-close-able="false" -->
  11. <!-- style="bottom: 0; position: fixed; width: 100%; z-index: 999" -->
  12. <view v-if="isShow">
  13. <view class="photoBox">
  14. <view class="photoTop">
  15. <view class="centersq">请正视手机屏幕</view>
  16. </view>
  17. <view class="photoCenter">
  18. <view class="center_camera" v-if="photoPopup && isTaking">
  19. <!-- #ifdef MP-WEIXIN -->
  20. <camera
  21. device-position="front"
  22. flash="off"
  23. @error="error"
  24. style="width: 100%; height: 100%"
  25. >
  26. <!-- 加人脸框 -->
  27. <cover-view class="head_take">
  28. <cover-view class="headTake_up color"></cover-view>
  29. <cover-view class="headTake_minddle">
  30. <cover-view class="min_left color"></cover-view>
  31. <cover-view class="min_img"></cover-view>
  32. <cover-view class="min_right color"></cover-view>
  33. </cover-view>
  34. <cover-view class="headTake_down color"></cover-view>
  35. </cover-view>
  36. </camera>
  37. <!-- #endif -->
  38. <!-- #ifdef H5 -->
  39. <video
  40. :controls="false"
  41. id="video"
  42. width="400"
  43. height="300"
  44. class="photo_v"
  45. ></video>
  46. <view class="mask"></view>
  47. <!-- #endif -->
  48. </view>
  49. <view class="custom" v-if="!isTaking">
  50. <!-- #ifdef MP-WEIXIN -->
  51. <image :src="avatarUrl" mode=""></image>
  52. <!-- #endif -->
  53. <!-- #ifdef H5 -->
  54. <image :src="faceUrl" mode=""></image>
  55. <!-- #endif -->
  56. </view>
  57. </view>
  58. <view class="btns">
  59. <!-- <view class="btnResult" v-if="isTaking" @click="takePhoto"
  60. >拍照</view
  61. > -->
  62. <view v-if="isTaking" class="takePhoto_btn">
  63. <view style="width: 100rpx; height: 2rpx"></view>
  64. <view class="middle_btn" @click="takePhoto">
  65. <view class="square"></view>
  66. </view>
  67. <view class="rights" @click="takePhTips()">
  68. <text>拍照提示</text>
  69. <u-icon name="arrow-right" color="#FFFFFF" size="30"></u-icon>
  70. </view>
  71. </view>
  72. <view class="btnResult" v-if="!isTaking" @click="reTake">重拍</view>
  73. <view class="btnResult" v-if="!isTaking" @click="submit">确认</view>
  74. </view>
  75. </view>
  76. </view>
  77. </u-popup>
  78. </view>
  79. </template>
  80. <script>
  81. export default {
  82. name: "SaasMiniprogramCamera",
  83. popos: {
  84. visible: {
  85. type: Boolean,
  86. defaule: false,
  87. },
  88. },
  89. data() {
  90. return {
  91. isShow: false,
  92. };
  93. },
  94. mounted() {},
  95. methods: {},
  96. };
  97. </script>
  98. <style lang="scss" scoped></style>