敢为人鲜小程序前端代码仓库
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
7.4 KiB

5 months ago
5 months ago
5 months ago
5 months ago
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
  1. <template>
  2. <view class="login">
  3. <view class="logo">
  4. <image :src="configList.config_logo" mode="aspectFill" />
  5. </view>
  6. <view class="title">
  7. {{ configList.config_app_name }}
  8. </view>
  9. <view class="btn mt" @tap="wxLogin">
  10. <view class="">
  11. 手机号授权登录
  12. </view>
  13. </view>
  14. <view class="btn b2" @tap="qux">
  15. 取消登录
  16. <view class="config" @tap.stop>
  17. <uv-checkbox-group v-model="checkboxValue" shape="circle">
  18. <view class="content">
  19. <view style="display: flex; align-items: start;">
  20. <uv-checkbox size="34rpx" icon-size="26rpx" activeColor="#019245" :name="1"
  21. style="margin-top: 6rpx;" />
  22. <!-- <text class="text-privacy">阅读并同意我们的<text
  23. @tap="$refs.popup.open('user_xy')">服务协议与隐私条款</text>以及<text
  24. @tap="$refs.popup.open('user_ys')">个人信息保护指引</text></text> -->
  25. <text class="text-privacy">
  26. 阅读并同意我们的
  27. <text @tap="openPrivacyPopup(0)">
  28. 服务协议与隐私条款
  29. </text>
  30. 以及
  31. <text @tap="openPrivacyPopup(1)">
  32. 个人信息保护指引
  33. </text>
  34. </text>
  35. </view>
  36. <!-- <view class="">
  37. 以及<text @tap="$refs.popup.open('user_ys')">隐私政策</text>
  38. </view> -->
  39. </view>
  40. </uv-checkbox-group>
  41. </view>
  42. </view>
  43. <configPopup ref="popup" />
  44. <PrivacyPopup ref="privacyPopup" :title="title">
  45. <view>
  46. <view>
  47. <text>{{ serviceAgreement }}</text>
  48. </view>
  49. </view>
  50. </PrivacyPopup>
  51. </view>
  52. </template>
  53. <script>
  54. import PrivacyPopup from '@/components/config/PrivacyPopup.vue'
  55. export default {
  56. name : 'Login',
  57. components: {
  58. PrivacyPopup
  59. },
  60. data() {
  61. return {
  62. checkboxValue : [],
  63. config : {},
  64. serviceAgreement:
  65. '用户服务协议为使用小程序名称的服务,您应当阅读并遵守《用户服务协议》(以下简称"本协议")。请您务必审慎阅读、充分理解各条款内容,特别是免除或者限制责任的条款,所有加粗字体为我方重点提示的内容。如果您未满18周岁,或者不具备完全民事行为能力,请在法定监护人的陪同下阅读本协议,并特别注意未成年人使用条款。否则小程序名称对于该等后续注册、使用网站服务等行为而对您所发生的不利后果不承担责任,并有权在知晓该等情况后解除双方间的服务协议。一、【协议的范围】本协议及《隐私政策》是您与小程序名称经营者之间关于用户使用小程序名称旗下产品相关服务所订立的协议。小程序名称的经营者是指法律认可的经营瀚用户服务协议为使用小程序名称的服务,您应当阅读并遵守《用户服务协议》(以下简称"本协议")。请您务必审慎阅读、充分理解各条款内容,特别是免除或者限制责任的条款,所有加粗字体为我方重点提示的内容。如果您未满18周岁,或者不具备完全民事行为能力,请在法定监护人的陪同下阅读本协议,并特别注意未成年人使用条款。否则小程序名称对于该等后续注册、使用网站服务等行为而对您所发生的不利后果不承担责任,并有权在知晓该等情况后解除双方间的服务协议。一、【协议的范围】本协议及《隐私政策》是您与小程序名称经营者之间关于用户使用小程序名称旗下产品相关服务所订立的协议。小程序名称的经营者是指法律认可的经营瀚',
  66. personalInformationProtectionGuidelines: '用户服务协议为使用小程序名称的服务,您应当阅读并遵守《用户服务协议》(以下简称"本协议")。请您务必审慎阅读、充分理解各条款内容,特别是免除或者限制责任的条款,所有加粗字体为我方重点提示的内容。如果您未满18周岁,或者不具备完全民事行为能力,请在法定监护人的陪同下阅读本协议,并特别注意未成年人使用条款。否则小程序名称对于该等后续注册、使用网站服务等行为而对您所发生的不利后果不承担责任,并有权在知晓该等情况后解除双方间的服务协议。一、【协议的范围】本协议及《隐私政策》是您与小程序名称经营者之间关于用户使用小程序名称旗下产品相关服务所订立的协议。小程序名称的经营者是指法律认可的经营瀚用户服务协议为使用小程序名称的服务,您应当阅读并遵守《用户服务协议》(以下简称"本协议")。请您务必审慎阅读、充分理解各条款内容,特别是免除或者限制责任的条款,所有加粗字体为我方重点提示的内容。如果您未满18周岁,或者不具备完全民事行为能力,请在法定监护人的陪同下阅读本协议,并特别注意未成年人使用条款。否则小程序名称对于该等后续注册、使用网站服务等行为而对您所发生的不利后果不承担责任,并有权在知晓该等情况后解除双方间的服务协议。一、【协议的范围】本协议及《隐私政策》是您与小程序名称经营者之间关于用户使用小程序名称旗下产品相关服务所订立的协议。小程序名称的经营者是指法律认可的经营瀚',
  67. title: '服务协议'
  68. }
  69. },
  70. onLoad(query) {
  71. if (query.shareId) {
  72. uni.setStorageSync('shareId', query.shareId) // 存储分享Id
  73. }
  74. if(query.path){
  75. this.config = query // 从路由拿取配置?
  76. }
  77. console.log('这是从路由拿到的配置', this.config);
  78. },
  79. methods: {
  80. openPrivacyPopup(index){
  81. if (index == 0) {
  82. this.title = '服务协议'
  83. } else {
  84. this.title = '隐私政策'
  85. }
  86. this.$refs.privacyPopup.open()
  87. },
  88. getPhoneNumber(e){
  89. console.log(e, e.detail.code);
  90. this.wxLogin(phoneCode)
  91. },
  92. wxLogin(phoneCode){
  93. if(!this.checkboxValue.length){
  94. return uni.showToast({
  95. title: '请先同意隐私协议',
  96. icon:'error',
  97. })
  98. }
  99. this.$store.commit('login', this.config)
  100. },
  101. //打开应用配置
  102. openConfigDetail(key){
  103. this.$refs.popup.open(key)
  104. },
  105. qux(){
  106. uni.reLaunch({
  107. url: '/pages/index/category'
  108. })
  109. },
  110. }
  111. }
  112. </script>
  113. <style scoped lang="scss">
  114. .login{
  115. display: flex;
  116. justify-content: center;
  117. align-items: center;
  118. height: 80vh;
  119. flex-direction: column;
  120. position: relative;
  121. .logo{
  122. height: 400rpx;
  123. width: 400rpx;
  124. image{
  125. height: 400rpx;
  126. width: 400rpx;
  127. border-radius: 30rpx;
  128. }
  129. margin-bottom: 20rpx;
  130. }
  131. .title{
  132. position: relative;
  133. font-weight: 600;
  134. font-size: 40rpx;
  135. // &::after{
  136. // content: '';
  137. // position: absolute;
  138. // left: 0;
  139. // top: 100%;
  140. // display: block;
  141. // height: 8rpx;
  142. // width: 210rpx;
  143. // background: linear-gradient(to right,$uni-color, #fff);
  144. // }
  145. }
  146. .btn{
  147. all: unset;
  148. width: 80%;
  149. height: 100rpx;
  150. display: flex;
  151. justify-content: center;
  152. align-items: center;
  153. margin: 20rpx 0;
  154. border-radius: 50rpx;
  155. border: none;
  156. &::after{
  157. }
  158. .icon{
  159. margin-right: 10rpx;
  160. image{
  161. width: 40rpx;
  162. height: 35rpx;
  163. }
  164. }
  165. }
  166. .b2{
  167. // background-color: rgba($uni-color, 0.2);
  168. color: #999;
  169. border: 2rpx solid;
  170. position: relative;
  171. .config{
  172. position: absolute;
  173. bottom: -110%;
  174. font-size: 24rpx;
  175. text-align: center;
  176. line-height: 40rpx;
  177. width: 100%;
  178. .text-privacy{
  179. color: inherit;
  180. text-align: left;
  181. }
  182. text{
  183. color: $uni-color;
  184. }
  185. }
  186. }
  187. .mt{
  188. color: #fff;
  189. background-color: $uni-color;
  190. margin-top: 100rpx;
  191. }
  192. }
  193. </style>