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.

206 lines
10 KiB

3 months ago
  1. <template>
  2. <view>
  3. <view class="accredit_model">
  4. <view class="model_container">
  5. <view class="model_top">
  6. <image class="model_icon" :src="urlDomain+'crmebimage/perset/staticImg/model_img.png'"></image>
  7. </view>
  8. <view class="model_content">
  9. <view class="model_title">授权提示</view>
  10. <view class="model_desc">{{content}}</view>
  11. <view class="model_btns">
  12. <view class="mbtn cancel_btn" @click="modelCancel()">取消</view>
  13. <view class="mbtn confirm_btn" @click="modelConfirm()" v-if="locationType">确定</view>
  14. <!-- <view class="mbtn confirm_btn" @click="modelConfirm()" v-if="userPhoneType">确定</view> -->
  15. <button class="mbtn confirm_btn" v-if="userPhoneType" open-type="getPhoneNumber" @getphonenumber="getphonenumber">确定</button>
  16. </view>
  17. </view>
  18. </view>
  19. </view>
  20. <view class="mask"></view>
  21. </view>
  22. </template>
  23. <script>
  24. const app = getApp();
  25. import Routine from '@/libs/routine';
  26. import {loginMobile,registerVerify,getCodeApi,getUserInfo} from "@/api/user";
  27. import { getLogo, getUserPhone } from '@/api/public';
  28. export default {
  29. name:'',
  30. props:{
  31. locationType:{
  32. type:Boolean,
  33. default:false
  34. },
  35. userPhoneType:{
  36. type:Boolean,
  37. default:false
  38. },
  39. authKey:{
  40. type:String,
  41. default:'',
  42. },
  43. isPhoneBox:{
  44. type:Boolean,
  45. default:false,
  46. },
  47. content:{
  48. type:String,
  49. default:'申请获取用于完整服务',
  50. }
  51. },
  52. data() {
  53. return {
  54. isStatus:false,
  55. urlDomain: this.$Cache.get("imgHost"),
  56. }
  57. },
  58. methods:{
  59. modelCancel(){
  60. this.$emit('closeModel',{isStatus:this.isStatus});
  61. },
  62. modelConfirm(){
  63. this.$emit('confirmModel');
  64. },
  65. // #ifdef MP
  66. // 小程序获取手机号码
  67. getphonenumber(e){
  68. uni.showLoading({ title: '加载中' });
  69. Routine.getCode()
  70. .then(code => {
  71. this.getUserPhoneNumber(e.detail.encryptedData, e.detail.iv, code);
  72. })
  73. .catch(error => {
  74. uni.hideLoading();
  75. });
  76. },
  77. // 小程序获取手机号码回调
  78. getUserPhoneNumber(encryptedData, iv, code) {
  79. getUserPhone({
  80. encryptedData: encryptedData,
  81. iv: iv,
  82. code: code,
  83. key:this.authKey,
  84. type: 'routine'
  85. })
  86. .then(res => {
  87. this.$store.commit('LOGIN', {
  88. token: res.data.token
  89. });
  90. this.$store.commit("SETUID", res.data.uid);
  91. this.getUserInfo();
  92. })
  93. .catch(res => {
  94. uni.hideLoading();
  95. this.$util.Tips({
  96. title: res
  97. });
  98. });
  99. },
  100. /**
  101. * 获取个人用户信息
  102. */
  103. getUserInfo: function() {
  104. let that = this;
  105. getUserInfo().then(res => {
  106. uni.hideLoading();
  107. that.$store.commit("UPDATE_USERINFO", res.data);
  108. that.isStatus = true
  109. this.modelCancel();
  110. });
  111. },
  112. // #endif
  113. }
  114. }
  115. </script>
  116. <style scoped lang="scss">
  117. .accredit_model{
  118. /* position: relative; */
  119. width: 560rpx;
  120. height: 660rpx;
  121. position: fixed;
  122. left: 50%;
  123. top: 50%;
  124. transform: translate(-50%,-50%);
  125. z-index: 999;
  126. }
  127. .model_container{
  128. width: 100%;
  129. height: 660rpx;
  130. }
  131. .model_top{
  132. width: 100%;
  133. height: 270rpx;
  134. // background: #D64532;
  135. @include main_bg_color(theme);
  136. border-radius: 20rpx 20rpx 0 0;
  137. background-image: url(data:image/png;base64,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
  138. background-size: cover;
  139. display: flex;
  140. justify-content: center;
  141. align-items: flex-end;
  142. }
  143. .model_icon{
  144. width: 230rpx;
  145. height: 210rpx;
  146. }
  147. .model_content{
  148. width: 100%;
  149. height: 390rpx;
  150. background-color: #fff;
  151. border-radius: 0 0 20rpx 20rpx;
  152. padding: 32rpx;
  153. box-sizing: border-box;
  154. }
  155. .model_title{
  156. text-align: center;
  157. font-size: 36rpx;
  158. font-family: PingFangSC-Semibold, PingFang SC;
  159. font-weight: 600;
  160. color: #333333;
  161. line-height: 50rpx;
  162. }
  163. .model_desc{
  164. width: 448rpx;
  165. height: 96rpx;
  166. margin: 20rpx auto 0;
  167. font-size: 32rpx;
  168. text-align: center;
  169. font-family: PingFangSC-Regular, PingFang SC;
  170. font-weight: 400;
  171. color: #666666;
  172. line-height: 48rpx;
  173. }
  174. .model_btns{
  175. width: 448rpx;
  176. height: 82rpx;
  177. margin: auto;
  178. display: flex;
  179. justify-content: space-between;
  180. }
  181. .mbtn{
  182. width: 208rpx;
  183. height: 82rpx;
  184. border-radius: 42rpx;
  185. margin-top: 44rpx;
  186. }
  187. .cancel_btn{
  188. background: #F5F5F5;
  189. font-weight: 400;
  190. color: #666666;
  191. line-height: 82rpx;
  192. text-align: center;
  193. font-size: 32rpx;
  194. }
  195. .confirm_btn{
  196. @include linear-gradient(theme);
  197. font-weight: 400;
  198. color: #fff;
  199. line-height: 82rpx;
  200. text-align: center;
  201. font-size: 32rpx;
  202. }
  203. .mask{
  204. z-index: 900;
  205. }
  206. </style>