This commit is contained in:
zmj 2024-05-09 10:40:50 +08:00
commit 91c409f11d
4 changed files with 153 additions and 102 deletions

View File

@ -8,7 +8,7 @@ let env = "prod"
switch(env){
case 'prod': BASE_URL = 'https://erp.lihaink.cn';break;
case 'test': BASE_URL = 'https://ceshi-erp.lihaink.cn';break;
default: BASE_URL = 'http://192.168.1.15:8546';
default: BASE_URL = 'http://192.168.1.10:8546';
}
let HTTP_REQUEST_URL

View File

@ -45,6 +45,14 @@
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
},
{
"path" : "pages/code/code",
"style" :
{
"navigationBarTitleText" : "",
"enablePullDownRefresh" : false
}
}
],

31
pages/code/code.vue Normal file
View File

@ -0,0 +1,31 @@
<template>
<view class="">
<web-view v-if="src" :src="src"></web-view>
</view>
</template>
<script setup>
import { ref } from "vue"
import { onLoad } from "@dcloudio/uni-app"
let url = 'https://crmeb-test.shop.lihaink.cn/api/view?uid='; //
let uid = 9; // id
let navTo = '_|_navTo=_pages_index_index' // _pages_index_index /_ _|_navTo
// let navTo = '_|_navTo=_pageQuota_quotation_detail' // _pages_index_index /_ _|_navTo
const src = ref('')
onLoad(options=>{
if(options.id) {
uid = options.id;
}
// url = url + uid + navTo;
url = url + uid;
//
src.value = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxe2428e8fe6767e45&redirect_uri=${url}&response_type=code&scope=snsapi_userinfo&state=92efd21273559f62a614a3b49e2e3fcb&connect_redirect=1#wechat_redirect`
console.log(src.value);
})
</script>
<style lang="scss">
</style>

View File

@ -1,97 +1,109 @@
<template>
<view>
<up-navbar title="登录" :autoBack="false" placeholder bgColor="rgba(0,0,0,0)">
<template #left>
<up-icon v-if="!showWeixin" name="arrow-left" @click="navBack" size="20"></up-icon>
<view v-else></view>
</template>
</up-navbar>
<view class="login-box">
<image class="logo" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/35adb202404271727457954.png">
</image>
<view class="tips">欢迎登录惠农批发</view>
<block v-if="showWeixin">
<up-transition :show="showWeixin">
<view class="btn">
<up-button @click="weixinLogin" color="#20B128" size="large"><up-icon name="weixin-fill"
color="#fff" size="28"></up-icon></up-button>
</view>
<view class="btn">
<up-button color="#ECFFEE" @click="showWeixin=false" size="large"><text
style="color: #20B128;">使用短信验证登录</text></up-button>
</view>
</up-transition>
</block>
<block v-else>
<up-transition :show="!showWeixin">
<view class="form">
<view class="input">
<up-input :customStyle="{height: '100%'}" v-model="loginForm.phone" placeholderClass="place"
border="none" placeholder="请输入手机号" type="number">
<template #prefix>
<image style="height: 40rpx;width: 40rpx;margin-top: 6rpx;"
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/48491202404281006484208.png">
</image>
</template>
</up-input>
</view>
<view class="input">
<up-input :customStyle="{height: '100%'}" v-model="loginForm.code" :maxlength="4"
placeholderClass="place" border="none" placeholder="请输入验证码" type="number">
<template #prefix>
<image style="height: 40rpx;width: 40rpx;margin-top: 6rpx;"
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/3a42f202404281007454918.png">
</image>
</template>
<template #suffix>
<up-code :seconds="seconds" ref="uCodeRef" @change="codeChange"></up-code>
<view style="color: #20B128;" @click="getCode">{{tips}}</view>
</template>
</up-input>
</view>
</view>
<view class="btn">
<up-button color="#20B128" size="large" @click="codeLogin">登录</up-button>
</view>
</up-transition>
</block>
<view class="agreement">
<image v-if="!isAgree" @click="isAgree=true" src="@/static/icon/n-check.png"></image>
<image v-else @click="isAgree=false" src="@/static/icon/check.png"></image>
<view>
我已同意<text>用户协议</text><text>隐私政策</text>
</view>
</view>
</view>
<bindPhone :show="showBind" @close="showBind = false" @change="getPhoneNumber" />
</view>
<view>
<up-navbar title="登录" :autoBack="false" placeholder bgColor="rgba(0,0,0,0)">
<template #left>
<up-icon v-if="!showWeixin" name="arrow-left" @click="navBack" size="20"></up-icon>
<view v-else></view>
</template>
</up-navbar>
<view class="login-box">
<image class="logo" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/35adb202404271727457954.png"></image>
<view class="tips">欢迎登录惠农批发</view>
<block v-if="showWeixin">
<up-transition :show="showWeixin">
<view class="btn">
<up-button @click="weixinLogin" color="#20B128" size="large"><up-icon name="weixin-fill" color="#fff"
size="28"></up-icon></up-button>
</view>
<!-- <view class="btn">
<up-button @click="officialCode" color="#20B128" size="large"><up-icon name="weixin-fill" color="#fff"
size="28"></up-icon></up-button>
</view> -->
<view class="btn">
<up-button color="#ECFFEE" @click="showWeixin=false" size="large"><text
style="color: #20B128;">使用短信验证登录</text></up-button>
</view>
</up-transition>
</block>
<block v-else>
<up-transition :show="!showWeixin">
<view class="form">
<view class="input">
<up-input :customStyle="{height: '100%'}" v-model="loginForm.phone" placeholderClass="place" border="none"
placeholder="请输入手机号" type="number">
<template #prefix>
<image style="height: 40rpx;width: 40rpx;margin-top: 6rpx;"
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/48491202404281006484208.png"></image>
</template>
</up-input>
</view>
<view class="input">
<up-input :customStyle="{height: '100%'}" v-model="loginForm.code" :maxlength="4" placeholderClass="place"
border="none" placeholder="请输入验证码" type="number">
<template #prefix>
<image style="height: 40rpx;width: 40rpx;margin-top: 6rpx;"
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/3a42f202404281007454918.png"></image>
</template>
<template #suffix>
<up-code :seconds="seconds" ref="uCodeRef" @change="codeChange"></up-code>
<view style="color: #20B128;" @click="getCode">{{tips}}</view>
</template>
</up-input>
</view>
</view>
<view class="btn">
<up-button color="#20B128" size="large" @click="codeLogin">登录</up-button>
</view>
</up-transition>
</block>
<view class="agreement">
<image v-if="!isAgree" @click="isAgree=true" src="@/static/icon/n-check.png"></image>
<image v-else @click="isAgree=false" src="@/static/icon/check.png"></image>
<view>
我已同意<text>用户协议</text><text>隐私政策</text>
</view>
</view>
</view>
<bindPhone :show="showBind" @close="showBind = false" @change="getPhoneNumber" />
<modal :show="showOfficial" @close="showOfficial = false" @change="officialCode()" title="您还未绑定公众号" content="需要绑定公众号后才可以接收消息" confirmText="立即绑定" />
</view>
</template>
<script setup>
import {
onBackPress
} from "@dcloudio/uni-app"
import {
ref
} from "vue"
import {
userLoginApi,
userLoginWeixinApi,
getMobileByMnpApi
} from "@/api/user.js";
import useUserStore from "@/store/user.js"
import bindPhone from "@/components/bindPhone.vue"
import { onBackPress } from "@dcloudio/uni-app"
import { ref } from "vue"
import { userLoginApi, userLoginWeixinApi, getMobileByMnpApi } from "@/api/user.js";
import useUserStore from "@/store/user.js"
import bindPhone from "@/components/bindPhone.vue"
import modal from "@/components/modal.vue"
const navToIndex = () => {
if (!userStore.userInfo.supplier) uni.reLaunch({
url: '/pages/index/index'
})
else uni.navigateTo({
url: '/pageQuota/quotation/index'
})
}
const navToIndex = () => {
if (!userStore.userInfo.supplier) uni.reLaunch({
url: '/pages/index/index'
})
else if(!userStore.userInfo.supplier.openid) {
return showOfficial.value = true;
}
else{
uni.reLaunch({
url: '/pageQuota/quotation/index'
})
}
}
//
const officialCode = ()=>{
uni.navigateTo({
url: `/pages/code/code?id=${userStore.userInfo.id}`,
success: () => {
let user = userStore.userInfo;
user.supplier ? user.supplier.openid = 1 : user.supplier = {};
userStore.setUserInfo(user);
}
})
}
const userStore = useUserStore(); //使pinia
if (userStore.userInfo && userStore.userInfo.mobile) {
@ -131,20 +143,20 @@
})
}
const showBind = ref(false); //
const getPhoneNumber = (e) => {
console.log("===", e);
if (e.detail?.errMsg == 'getPhoneNumber:ok') {
getMobileByMnpApi({
code: e.detail.code
}).then(res => {
navToIndex();
})
} else {
console.log("用户拒绝授权");
return uni.$u.toast('您拒绝了授权');
}
}
const showOfficial = ref(false);
const showBind = ref(false); //
const getPhoneNumber = (e) => {
if (e.detail?.errMsg == 'getPhoneNumber:ok') {
getMobileByMnpApi({
code: e.detail.code
}).then(res => {
navToIndex();
})
} else {
console.log("用户拒绝授权");
return uni.$u.toast('您拒绝了授权');
}
}
const loginForm = ref({
phone: '15366662222',