1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <template>
- <view
- class="login-container"
- :style="{
- background: `url(${getImageUrl(ICON_CFG.login_bg)}) no-repeat `,
- backgroundSize: '100%',
- }"
- >
- <view class="login-tel">
- <u--input
- prefixIcon="phone"
- placeholder="输入手机号"
- border="none"
- type="number"
- maxlength="11"
- v-model="tel"
- ></u--input>
- </view>
- <button class="login-btn" open-type="getUserInfo" @getuserinfo="getUserInfo">
- <u-icon name="weixin-fill" color="#fefefe" size="28"></u-icon>
- 微信登录
- </button>
- </view>
- </template>
- <script>
- import { ICON_CFG } from '@/common/EnumConst';
- import { getImageUrl, setStorageObj, syncWxlogin } from '@/util';
- export default {
- name: 'login',
- props: {},
- data() {
- return {
- ICON_CFG,
- tel: '',
- };
- },
- created() {
- },
- onLoad() {
- },
- methods: {
- getImageUrl,
- // 获取用户信息
- async getUserInfo(e) {
- if (e.mp.detail.userInfo) {
- this.userInfo = e.mp.detail.userInfo;
- this.hasUserInfo = true;
- if (!uni.$u.test.mobile(this.tel)) {
- uni.showToast({
- title: '请输入正确的手机号',
- icon: 'none',
- });
- return;
- }
- const {
- success,
- data,
- } = await syncWxlogin({
- tel: this.tel,
- ...this.userInfo,
- });
- if (success) {
- // 将用户信息和session存储到本地
- setStorageObj('userInfo', data.user);
- setStorageObj('token', data.token);
- this.realoadPage();
- }
- } else {
- uni.showModal({
- title: '警告',
- content: '您点击了拒绝授权,将无法进入小程序,请授权之后再进入!',
- showCancel: false,
- confirmText: '返回授权',
- success: function (res) {
- if (res.confirm) {
- console.log('用户点击了“返回授权”');
- }
- },
- });
- }
- },
- realoadPage() {
- let pages = getCurrentPages(); //获取当前页面
- let beforePage = pages[pages.length - 2]; //获取上一个页面的实例
- //1、调用上一个页面onLoad
- beforePage.onLoad();
- uni.navigateBack({
- delta: 1,
- });
- },
- },
- };
- </script>
- <style lang="scss" src="./index.scss" />;
|