applet.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934
  1. <template>
  2. <view class="login-container" :style="'height: '+phoneHeight+'px;'">
  3. <!-- 取到code后登录 -->
  4. <view class="p-30-75" v-if="is_login==1">
  5. <view class="login_topbpx">
  6. <view class="login_tit">登录</view>
  7. </view>
  8. <view class="group-bd">
  9. <view class="form-level d-s-c">
  10. <view class="val flex-1 input_botom"><input type="text" style="font-size: 18px" v-model="newUser_no"
  11. placeholder="请填写会员号" />
  12. </view>
  13. </view>
  14. <view class="form-level d-s-c" v-if="!is_code">
  15. <view class="val flex-1 input_botom"><input type="text" style="font-size: 18px" password="true"
  16. v-model="newPassWord" placeholder="请输入密码" /></view>
  17. </view>
  18. <view class="form-level d-s-c" v-else>
  19. <view class="val flex-1 d-b-c input_botom">
  20. <input class="flex-1" type="number" style="font-size: 18px" v-model="loginCode"
  21. placeholder="请填写验证码" />
  22. <button class="get-code-btn" type="default" @click="sendLoginCode"
  23. :disabled="is_send">{{ send_btn_txt }}</button>
  24. </view>
  25. </view>
  26. </view>
  27. </view>
  28. <view class="p-30-75" v-if="is_login==0">
  29. <view class="login_topbpx">
  30. <view class="login_tit">重置密码</view>
  31. <view class="login_top"><text class="red" @click="is_login=1">立即登录</text></view>
  32. </view>
  33. <view class="group-bd">
  34. <view class="form-level d-s-c">
  35. <view class="val flex-1 input_botom"><input type="text" style="font-size: 18px"
  36. v-model="resetpassword.mobile" placeholder="请填写手机号/会员号" :disabled="is_send" /></view>
  37. </view>
  38. <view class="form-level d-s-c">
  39. <view class="val flex-1 input_botom"><input type="text" style="font-size: 18px" password="true"
  40. v-model="resetpassword.password" placeholder="请输入密码" /></view>
  41. </view>
  42. <view class="form-level d-s-c">
  43. <view class="val flex-1 input_botom"><input type="text" style="font-size: 18px" password="true"
  44. v-model="resetpassword.repassword" placeholder="请确认密码" /></view>
  45. </view>
  46. <view class="form-level d-s-c">
  47. <view class="val flex-1 d-b-c input_botom">
  48. <input class="flex-1" type="number" style="font-size: 18px" v-model="resetpassword.code"
  49. placeholder="请填写验证码" />
  50. <button class="get-code-btn" type="default" @click="sendCode"
  51. :disabled="is_send">{{ send_btn_txt }}</button>
  52. </view>
  53. </view>
  54. </view>
  55. </view>
  56. <view v-if="is_login==1" style="font-size: 14px;color:#C0C0C0;" class="gray6 p-0-75"
  57. :class="is_code?'d-e-c':'d-b-c'">
  58. <view v-if="!is_code" @click="is_login=0">忘记密码?</view>
  59. <view v-if="is_open" @click="isCode()">{{is_code?'使用密码登录':'使用验证码登录'}}</view>
  60. </view>
  61. <view style="padding-top: 80rpx;" class="btns p-30-75" v-if="is_login==1"><button @click="formSubmit"
  62. :disabled="!isRead">登录</button></view>
  63. <view style="padding-top: 80rpx;" class="btns p-30-75" v-if="is_login==0"><button
  64. @click="resetpasswordSub">重置密码</button></view>
  65. </view>
  66. </template>
  67. <script>
  68. export default {
  69. data() {
  70. return {
  71. /*表单数据对象*/
  72. formData: {
  73. /*手机号*/
  74. mobile: '',
  75. /*验证码*/
  76. code: '',
  77. },
  78. loging_password: '',
  79. register: {
  80. mobile: '',
  81. password: '',
  82. repassword: '',
  83. code: '',
  84. user_no: ''
  85. },
  86. resetpassword: {
  87. mobile: '',
  88. password: '',
  89. repassword: '',
  90. code: ''
  91. },
  92. /*是否已发验证码*/
  93. is_send: false,
  94. /*发送按钮文本*/
  95. send_btn_txt: '获取验证码',
  96. /*当前秒数*/
  97. second: 60,
  98. ip: '',
  99. isShow: true,
  100. is_login: 1,
  101. is_code: true,
  102. phoneHeight: 0,
  103. isRead: true,
  104. nickName: '',
  105. avatarUrl: '',
  106. gender: '',
  107. province: '',
  108. country: '',
  109. city: '',
  110. openid: '',
  111. referee_id: '',
  112. newOpenId: '',
  113. newUser_no: '',
  114. newPassWord: '',
  115. loginCode: '',
  116. is_open: ''
  117. };
  118. },
  119. onLoad(e) {
  120. this.getAppletsLogin()
  121. console.log('co', e)
  122. this.newOpenId = e.openid
  123. this.getData();
  124. this.is_code = false
  125. this.nickName = this.getQueryStringArgs().nickName
  126. this.avatarUrl = this.getQueryStringArgs().avatarUrl
  127. this.gender = this.getQueryStringArgs().gender
  128. this.province = this.getQueryStringArgs().province
  129. this.country = this.getQueryStringArgs().country
  130. this.city = this.getQueryStringArgs().city
  131. this.openid = this.getQueryStringArgs().openid
  132. this.referee_id = this.getQueryStringArgs().referee_id
  133. // console.log(this.getQueryStringArgs().nickName, 'nickName')
  134. // console.log(this.getQueryStringArgs().avatarUrl, 'avatarUrl')
  135. // console.log(this.getQueryStringArgs().gender, 'gender')
  136. // console.log(this.getQueryStringArgs().province, 'province')
  137. // console.log(this.getQueryStringArgs().country, 'country')
  138. // console.log(this.getQueryStringArgs().openid, 'openid')
  139. // console.log(this.getQueryStringArgs().referee_id, 'referee_id')
  140. // console.log(this.getQueryStringArgs().city, 'city')
  141. // console.log(window.location.href)
  142. },
  143. onShow() {
  144. this.init()
  145. },
  146. methods: {
  147. getQueryStringArgs() {
  148. var qs = (location.search.length > 0 ? location.search.substring(1) : ""),
  149. args = {},
  150. items = qs.length ? qs.split("&") : [],
  151. item = null,
  152. name = null,
  153. value = null,
  154. i = 0,
  155. len = items.length;
  156. for (i = 0; i < len; i++) {
  157. item = items[i].split("=");
  158. name = decodeURIComponent(item[0]);
  159. value = decodeURIComponent(item[1]);
  160. if (name.length) {
  161. args[name] = value;
  162. }
  163. }
  164. return args;
  165. },
  166. /*初始化*/
  167. init() {
  168. let self = this;
  169. uni.getSystemInfo({
  170. success(res) {
  171. self.phoneHeight = res.windowHeight;
  172. }
  173. });
  174. },
  175. getAppletsLogin() {
  176. let self = this;
  177. self._get('settings/appletsLogin', {}, function(res) {
  178. self.is_open = res.data.login.is_open == '1' ? true : false
  179. });
  180. },
  181. getData() {
  182. let self = this;
  183. self._get('user.userapple/policy', {}, function(res) {
  184. self.service = res.data.service;
  185. self.privacy = res.data.privacy;
  186. });
  187. },
  188. /*提交*/
  189. formSubmit() {
  190. let self = this;
  191. if (!self.nickName) {
  192. self.nickName = ''
  193. }
  194. if (!self.avatarUrl) {
  195. self.avatarUrl = ''
  196. }
  197. if (!self.gender) {
  198. self.gender = ''
  199. }
  200. if (!self.province) {
  201. self.province = ''
  202. }
  203. if (!self.country) {
  204. self.country = ''
  205. }
  206. if (!self.city) {
  207. self.city = ''
  208. }
  209. if (!self.openid) {
  210. self.openid = ''
  211. }
  212. if (!self.referee_id) {
  213. self.referee_id = ''
  214. }
  215. let formdata = {
  216. mobile: self.formData.mobile,
  217. nickName: self.nickName,
  218. avatarUrl: self.avatarUrl,
  219. gender: self.gender,
  220. province: self.province,
  221. country: self.country,
  222. city: self.city,
  223. openid: self.openid,
  224. referee_id: self.referee_id,
  225. }
  226. let url = ''
  227. // if (!/^1(3|4|5|6|7|8|9)\d{9}$/.test(self.formData.mobile)) {
  228. // console.log(self.formData.mobile)
  229. // uni.showToast({
  230. // title: '手机有误,请重填!',
  231. // duration: 2000,
  232. // icon: 'none'
  233. // });
  234. // return;
  235. // }
  236. if (!self.newUser_no) {
  237. uni.showToast({
  238. title: '会员号不能为空',
  239. duration: 2000,
  240. icon: 'none'
  241. });
  242. return;
  243. }
  244. if (self.is_code == false && self.newPassWord == '') {
  245. uni.showToast({
  246. title: '密码不能为空!',
  247. duration: 2000,
  248. icon: 'none'
  249. });
  250. return;
  251. }
  252. if (self.is_code == true && self.loginCode == '') {
  253. uni.showToast({
  254. title: '验证码不能为空!',
  255. duration: 2000,
  256. icon: 'none'
  257. });
  258. return;
  259. }
  260. if (!self.isRead) {
  261. uni.showToast({
  262. title: '请同意并勾选协议内容',
  263. duration: 2000,
  264. icon: 'none'
  265. });
  266. return;
  267. }
  268. uni.showLoading({
  269. title: '正在提交'
  270. });
  271. let loginUrl = ''
  272. let loginData = {}
  273. if (self.is_code == true) {
  274. loginUrl = 'user.useropen/smsloginWx'
  275. loginData = {
  276. openid: self.newOpenId,
  277. mobile: self.newUser_no,
  278. code: self.loginCode
  279. }
  280. } else {
  281. loginUrl = 'user.userweb/accountlogin'
  282. loginData = {
  283. openid: self.newOpenId,
  284. user_no: self.newUser_no,
  285. password: self.newPassWord
  286. }
  287. }
  288. self._post(loginUrl, loginData,
  289. result => {
  290. // 记录token user_id
  291. uni.setStorageSync('token', result.data.token);
  292. uni.setStorageSync('user_id', result.data.user_id);
  293. // 获取登录前页面
  294. let url = '/' + uni.getStorageSync('currentPage');
  295. let pageOptions = uni.getStorageSync('currentPageOptions');
  296. if (Object.keys(pageOptions).length > 0) {
  297. url += '?';
  298. for (let i in pageOptions) {
  299. url += i + '=' + pageOptions[i] + '&';
  300. }
  301. url = url.substring(0, url.length - 1);
  302. }
  303. // 执行回调函数
  304. self.gotoPage(url);
  305. },
  306. false,
  307. () => {
  308. uni.hideLoading();
  309. }
  310. );
  311. },
  312. /*注册*/
  313. registerSub() {
  314. let self = this;
  315. if (!self.nickName) {
  316. self.nickName = ''
  317. }
  318. if (!self.avatarUrl) {
  319. self.avatarUrl = ''
  320. }
  321. if (!self.gender) {
  322. self.gender = ''
  323. }
  324. if (!self.province) {
  325. self.province = ''
  326. }
  327. if (!self.country) {
  328. self.country = ''
  329. }
  330. if (!self.city) {
  331. self.city = ''
  332. }
  333. if (!self.openid) {
  334. self.openid = ''
  335. }
  336. if (!self.referee_id) {
  337. self.referee_id = ''
  338. }
  339. if (!/^1(3|4|5|6|7|8|9)\d{9}$/.test(self.register.mobile)) {
  340. console.log(self.register.mobile)
  341. uni.showToast({
  342. title: '手机有误,请重填!',
  343. duration: 2000,
  344. icon: 'none'
  345. });
  346. return;
  347. }
  348. if (self.register.code == '') {
  349. uni.showToast({
  350. title: '验证码不能为空!',
  351. duration: 2000,
  352. icon: 'none'
  353. });
  354. return;
  355. }
  356. if (self.register.user_no == '') {
  357. uni.showToast({
  358. title: '会员号不能为空!',
  359. duration: 2000,
  360. icon: 'none'
  361. });
  362. return;
  363. }
  364. if (self.register.password.length < 6) {
  365. uni.showToast({
  366. title: '密码至少6位数!',
  367. duration: 2000,
  368. icon: 'none'
  369. });
  370. return;
  371. }
  372. if (self.register.password !== self.register.repassword) {
  373. uni.showToast({
  374. title: '两次密码输入不一致!',
  375. duration: 2000,
  376. icon: 'none'
  377. });
  378. return;
  379. }
  380. if (!self.isRead) {
  381. uni.showToast({
  382. title: '请同意并勾选协议内容',
  383. duration: 2000,
  384. icon: 'none'
  385. });
  386. return;
  387. }
  388. self.register.invitation_id = uni.getStorageSync('invitation_id') ? uni.getStorageSync('invitation_id') :
  389. 0;
  390. self.register.reg_source = 'h5';
  391. // self.register.referee_id = uni.getStorageSync('referee_id');
  392. self.register.nickName = self.nickName;
  393. self.register.avatarUrl = self.avatarUrl;
  394. self.register.gender = self.gender;
  395. self.register.province = self.province;
  396. self.register.country = self.country;
  397. self.register.city = self.city;
  398. self.register.openid = self.openid;
  399. self.register.referee_id = self.referee_id;
  400. uni.showLoading({
  401. title: '正在提交'
  402. });
  403. self._post(
  404. 'user.useropen/register',
  405. self.register,
  406. result => {
  407. uni.showToast({
  408. title: '注册成功',
  409. duration: 3000
  410. })
  411. self.formData.mobile = self.register.mobile;
  412. self.register = {
  413. mobile: '',
  414. password: '',
  415. repassword: '',
  416. code: ''
  417. };
  418. self.second = 0;
  419. self.changeMsg();
  420. self.is_login = 1;
  421. },
  422. false,
  423. () => {
  424. uni.hideLoading();
  425. }
  426. );
  427. },
  428. resetpasswordSub() {
  429. let self = this;
  430. if (!self.nickName) {
  431. self.nickName = ''
  432. }
  433. if (!self.avatarUrl) {
  434. self.avatarUrl = ''
  435. }
  436. if (!self.gender) {
  437. self.gender = ''
  438. }
  439. if (!self.province) {
  440. self.province = ''
  441. }
  442. if (!self.country) {
  443. self.country = ''
  444. }
  445. if (!self.city) {
  446. self.city = ''
  447. }
  448. if (!self.openid) {
  449. self.openid = ''
  450. }
  451. if (!self.referee_id) {
  452. self.referee_id = ''
  453. }
  454. // if (!/^1(3|4|5|6|7|8|9)\d{9}$/.test(self.resetpassword.mobile)) {
  455. // uni.showToast({
  456. // title: '手机有误,请重填!',
  457. // duration: 2000,
  458. // icon: 'none'
  459. // });
  460. // return;
  461. // }
  462. if (!self.resetpassword.mobile) {
  463. uni.showToast({
  464. title: '手机号/会员号不能为空',
  465. duration: 2000,
  466. icon: 'none'
  467. });
  468. return;
  469. }
  470. if (self.resetpassword.code == '') {
  471. uni.showToast({
  472. title: '验证码不能为空!',
  473. duration: 2000,
  474. icon: 'none'
  475. });
  476. return;
  477. }
  478. if (self.resetpassword.password.length < 6) {
  479. uni.showToast({
  480. title: '密码至少6位数!',
  481. duration: 2000,
  482. icon: 'none'
  483. });
  484. return;
  485. }
  486. if (self.resetpassword.password !== self.resetpassword.repassword) {
  487. uni.showToast({
  488. title: '两次密码输入不一致!',
  489. duration: 2000,
  490. icon: 'none'
  491. });
  492. return;
  493. }
  494. self.resetpassword.nickName = self.nickName;
  495. self.resetpassword.avatarUrl = self.avatarUrl;
  496. self.resetpassword.gender = self.gender;
  497. self.resetpassword.province = self.province;
  498. self.resetpassword.country = self.country;
  499. self.resetpassword.city = self.city;
  500. self.resetpassword.openid = self.openid;
  501. self.resetpassword.referee_id = self.referee_id;
  502. uni.showLoading({
  503. title: '正在提交'
  504. });
  505. self._post(
  506. 'user.useropen/resetpassword',
  507. self.resetpassword,
  508. result => {
  509. uni.showToast({
  510. title: '重置成功',
  511. duration: 3000
  512. })
  513. self.formData.mobile = self.resetpassword.mobile;
  514. self.resetpassword = {
  515. mobile: '',
  516. password: '',
  517. repassword: '',
  518. code: ''
  519. };
  520. self.second = 0;
  521. self.changeMsg();
  522. self.is_login = 1;
  523. },
  524. false,
  525. () => {
  526. uni.hideLoading();
  527. }
  528. );
  529. },
  530. isCode() {
  531. if (this.is_code) {
  532. this.$set(this, 'is_code', false)
  533. } else {
  534. this.$set(this, 'is_code', true)
  535. }
  536. console.log(this.is_code)
  537. },
  538. /*发送短信*/
  539. sendCode() {
  540. let self = this;
  541. if (self.is_login == 1) {
  542. // if (!/^1(3|4|5|6|7|8|9)\d{9}$/.test(self.formData.mobile)) {
  543. // uni.showToast({
  544. // title: '手机有误,请重填!',
  545. // duration: 2000,
  546. // icon: 'none'
  547. // });
  548. // return;
  549. // }
  550. if (!self.formData.mobile) {
  551. uni.showToast({
  552. title: '手机号/会员号不能为空',
  553. duration: 2000,
  554. icon: 'none'
  555. });
  556. return;
  557. }
  558. } else if (self.is_login == 2) {
  559. if (!/^1(3|4|5|6|7|8|9)\d{9}$/.test(self.register.mobile)) {
  560. uni.showToast({
  561. title: '手机有误,请重填!',
  562. duration: 2000,
  563. icon: 'none'
  564. });
  565. return;
  566. }
  567. } else if (self.is_login == 0) {
  568. // if (!/^1(3|4|5|6|7|8|9)\d{9}$/.test(self.resetpassword.mobile)) {
  569. // uni.showToast({
  570. // title: '手机有误,请重填!',
  571. // duration: 2000,
  572. // icon: 'none'
  573. // });
  574. // return;
  575. // }
  576. if (!self.resetpassword.mobile) {
  577. uni.showToast({
  578. title: '手机号/会员号不能为空',
  579. duration: 2000,
  580. icon: 'none'
  581. });
  582. return;
  583. }
  584. }
  585. let type = 'register'
  586. let mobile = self.register.mobile
  587. if (self.is_login == 1) {
  588. type = 'login';
  589. mobile = self.formData.mobile;
  590. } else if (self.is_login == 0) {
  591. type = 'login';
  592. mobile = self.resetpassword.mobile;
  593. }
  594. self._post(
  595. 'user.useropen/sendCode', {
  596. mobile: mobile,
  597. type: type
  598. },
  599. result => {
  600. if (result.code == 1) {
  601. uni.showToast({
  602. title: '发送成功'
  603. });
  604. self.is_send = true;
  605. self.changeMsg();
  606. }
  607. }
  608. );
  609. },
  610. /*改变发送验证码按钮文本*/
  611. changeMsg() {
  612. if (this.second > 0) {
  613. this.send_btn_txt = this.second + '秒';
  614. this.second--;
  615. setTimeout(this.changeMsg, 1000);
  616. } else {
  617. this.send_btn_txt = '获取验证码';
  618. this.second = 60;
  619. this.is_send = false;
  620. }
  621. },
  622. xieyi(type) {
  623. let url = '';
  624. if (type == 'service') {
  625. url = this.service;
  626. } else {
  627. url = this.privacy;
  628. }
  629. uni.navigateTo({
  630. url: '/pages/webview/webview?url=' + url
  631. });
  632. },
  633. //
  634. sendLoginCode() {
  635. let self = this;
  636. if (self.is_login == 1) {
  637. // if (!/^1(3|4|5|6|7|8|9)\d{9}$/.test(self.formData.mobile)) {
  638. // uni.showToast({
  639. // title: '手机有误,请重填!',
  640. // duration: 2000,
  641. // icon: 'none'
  642. // });
  643. // return;
  644. // }
  645. if (!self.newUser_no) {
  646. uni.showToast({
  647. title: '手机号/会员号不能为空',
  648. duration: 2000,
  649. icon: 'none'
  650. });
  651. return;
  652. }
  653. } else if (self.is_login == 2) {
  654. if (!/^1(3|4|5|6|7|8|9)\d{9}$/.test(self.register.mobile)) {
  655. uni.showToast({
  656. title: '手机有误,请重填!',
  657. duration: 2000,
  658. icon: 'none'
  659. });
  660. return;
  661. }
  662. } else if (self.is_login == 0) {
  663. // if (!/^1(3|4|5|6|7|8|9)\d{9}$/.test(self.resetpassword.mobile)) {
  664. // uni.showToast({
  665. // title: '手机有误,请重填!',
  666. // duration: 2000,
  667. // icon: 'none'
  668. // });
  669. // return;
  670. // }
  671. if (!self.resetpassword.mobile) {
  672. uni.showToast({
  673. title: '手机号/会员号不能为空',
  674. duration: 2000,
  675. icon: 'none'
  676. });
  677. return;
  678. }
  679. }
  680. let type = 'register'
  681. let mobile = self.register.mobile
  682. if (self.is_login == 1) {
  683. type = 'login';
  684. mobile = self.newUser_no;
  685. } else if (self.is_login == 0) {
  686. type = 'login';
  687. mobile = self.resetpassword.mobile;
  688. }
  689. self._post(
  690. 'user.useropen/sendCodeWx', {
  691. mobile: mobile,
  692. type: type
  693. },
  694. result => {
  695. if (result.code == 1) {
  696. uni.showToast({
  697. title: '发送成功'
  698. });
  699. self.is_send = true;
  700. self.changeMsg();
  701. }
  702. }
  703. );
  704. },
  705. }
  706. };
  707. </script>
  708. <style lang="scss" scoped>
  709. page {
  710. background-color: #FFFFFF;
  711. }
  712. .p-30-75 {
  713. padding: 30rpx 75rpx;
  714. }
  715. .p-0-75 {
  716. padding: 0 75rpx;
  717. }
  718. .t-r {
  719. text-align: right;
  720. }
  721. .login-container {
  722. position: relative;
  723. background: #ffffff;
  724. }
  725. .login-container input {
  726. height: 88rpx;
  727. line-height: 88rpx;
  728. }
  729. .wechatapp {
  730. padding: 80rpx 0 48rpx;
  731. border-bottom: 1rpx solid #e3e3e3;
  732. margin-bottom: 72rpx;
  733. text-align: center;
  734. }
  735. .wechatapp .header {
  736. width: 190rpx;
  737. height: 190rpx;
  738. border: 2px solid #fff;
  739. margin: 0rpx auto 0;
  740. border-radius: 50%;
  741. overflow: hidden;
  742. box-shadow: 1px 0px 5px rgba(50, 50, 50, 0.3);
  743. }
  744. .auth-title {
  745. color: #585858;
  746. font-size: 34rpx;
  747. margin-bottom: 40rpx;
  748. }
  749. .auth-subtitle {
  750. color: #888;
  751. margin-bottom: 88rpx;
  752. font-size: 28rpx;
  753. }
  754. .login-btn {
  755. padding: 0 20rpx;
  756. }
  757. .login-btn button {
  758. height: 88rpx;
  759. line-height: 88rpx;
  760. background: #04be01;
  761. color: #fff;
  762. font-size: 30rpx;
  763. border-radius: 999rpx;
  764. text-align: center;
  765. }
  766. .no-login-btn {
  767. margin-top: 20rpx;
  768. padding: 0 20rpx;
  769. }
  770. .no-login-btn button {
  771. height: 88rpx;
  772. line-height: 88rpx;
  773. background: #dfdfdf;
  774. color: #fff;
  775. font-size: 30rpx;
  776. border-radius: 999rpx;
  777. text-align: center;
  778. }
  779. .get-code-btn {
  780. width: 200rpx;
  781. height: 80rpx;
  782. line-height: 76rpx;
  783. padding: 0rpx 30rpx;
  784. border-radius: 40rpx;
  785. white-space: nowrap;
  786. // border: 1rpx solid $dominant-color;
  787. background-color: #FFFFFF;
  788. color: $dominant-color;
  789. font-size: 30rpx;
  790. }
  791. .get-code-btn[disabled='true'] {
  792. // border: 1rpx solid #cccccc;
  793. background-color: #FFFFFF;
  794. }
  795. .btns button {
  796. height: 90rpx;
  797. line-height: 90rpx;
  798. font-size: 34rpx;
  799. border-radius: 45rpx;
  800. background-color: $dominant-color;
  801. color: #ffffff;
  802. }
  803. .login_topbpx {
  804. padding: 181rpx 0;
  805. padding-bottom: 110rpx;
  806. }
  807. .login_tit {
  808. font-size: 52rpx;
  809. font-weight: 600;
  810. margin-bottom: 33rpx;
  811. }
  812. .login_top {
  813. font-size: 24rpx;
  814. color: #adafb3;
  815. }
  816. .input_botom {
  817. border-bottom: 1px solid #f4f4f4;
  818. }
  819. .bottom_nav {
  820. width: 100%;
  821. position: absolute;
  822. bottom: 100rpx;
  823. }
  824. .bottom-box {
  825. width: 70%;
  826. margin: 0 auto;
  827. }
  828. .other_tit {
  829. height: 1rpx;
  830. background-color: #CACACA;
  831. width: 100%;
  832. line-height: 1rpx;
  833. text-align: center;
  834. }
  835. .weixin_box {
  836. background-color: #04BE01;
  837. border-radius: 50%;
  838. width: 80rpx;
  839. height: 80rpx;
  840. line-height: 80rpx;
  841. text-align: center;
  842. }
  843. .weixin_box .icon-weixin {
  844. font-size: 40rpx;
  845. color: #FFFFFF;
  846. }
  847. // .btns .bg-green{
  848. // background-color: #04BE01;
  849. // }
  850. .agreement {
  851. border-radius: 50%;
  852. width: 28rpx;
  853. height: 28rpx;
  854. border: 2rpx solid #EE1413;
  855. background: #fff;
  856. position: relative;
  857. margin-right: 10rpx;
  858. box-sizing: border-box;
  859. }
  860. .agreement.active::after {
  861. content: '';
  862. width: 16rpx;
  863. height: 16rpx;
  864. background-color: #EE1413;
  865. border-radius: 50%;
  866. position: absolute;
  867. left: 0;
  868. top: 0;
  869. right: 0;
  870. bottom: 0;
  871. margin: auto;
  872. }
  873. .skip {
  874. position: absolute;
  875. top: 80rpx;
  876. right: 30rpx;
  877. font-size: 28rpx;
  878. color: #999999;
  879. }
  880. </style>