no message

SPY×FAMILY
鹿和sa0ChunLuyu 4 years ago
parent 59e649bd8a
commit 6f64fd94f6

@ -1,5 +1,7 @@
const url_ = "http://lhc.pi.sa0.online:81"; const url_ = "http://ld.win.sa0.online:81";
let url_array = {}; let url_array = {};
url_array['微信登录'] = `${url_}/api/mp/login`;
url_array['用户信息'] = `${url_}/api/mp/get_info`;
url_array['YO'] = `${url_}/api/yo`; url_array['YO'] = `${url_}/api/yo`;
const api = (mark) => { const api = (mark) => {
if (mark === '') return url_; if (mark === '') return url_;

@ -1,7 +1,45 @@
import $post from "../lu/post.js" import $post from "../lu/post.js"
import $res from "../lu/response.js" import $res from "../lu/response.js"
import $api from "./api.js" import $api from "./api.js"
import {
delToken
} from '../tool/member.js'
export function userLoginAction(code, then) {
$post({
url: $api('微信登录'),
data: {
code
},
then: (response) => {
$res({
response,
then: (response) => {
then(response.data.token)
},
error: (res) => {
uni.$lu.toast(res.message);
}
})
}
})
}
export function getUserInfoAction(then, msg = true) {
$post({
url: $api('用户信息'),
then: (response) => {
$res({
response,
then: (response) => {
then(response.data)
},
error: (res) => {
delToken()
if (msg) uni.$lu.toast(res.message);
}
})
}
})
}
export function yo(then) { export function yo(then) {
$post({ $post({
url: $api('YO'), url: $api('YO'),

@ -7,21 +7,44 @@
import { import {
ref ref
} from 'vue' } from 'vue'
import {
getUserInfoAction
} from '@/api/index.js'
const mask_show = ref(true) const mask_show = ref(true)
const login_show = ref(true) const login_show = ref(true)
import {
onShow
} from '@dcloudio/uni-app'
onShow(() => {
getUserInfo()
})
const toLogin = () => { const toLogin = () => {
uni.navigateTo({ uni.navigateTo({
url: '/pages/main/login/login' url: '/pages/main/login/login'
}) })
} }
const getUserInfo = () => {
login_show.value = true
mask_show.value = true
getUserInfoAction((info) => {
login_show.value = false
mask_show.value = false
}, false)
}
defineExpose({
getUserInfo
})
</script> </script>
<template> <template>
<view v-if="login_show"> <view v-if="login_show">
<u-mask :show="mask_show" @click="toLogin()"></u-mask>
<u-mask :custom-style="{ <u-mask :custom-style="{
opacity: 0 opacity: 0
}" :show="!mask_show" @click="mask_show = true"></u-mask> }" :show="mask_show" @click="toLogin()"></u-mask>
</view> </view>
</template> </template>
<style scoped> <style scoped>

@ -1,4 +1,4 @@
import m from '../tool/member.js'; import {getToken} from '../tool/member.js';
const post = (e) => { const post = (e) => {
if (typeof e.url === 'undefined') return console.error({ if (typeof e.url === 'undefined') return console.error({
'data': { 'data': {
@ -11,7 +11,7 @@ const post = (e) => {
let done = typeof e.done === 'undefined' ? response => console.log(response) : e.done; let done = typeof e.done === 'undefined' ? response => console.log(response) : e.done;
let then = typeof e.then === 'undefined' ? response => console.log(response) : e.then; let then = typeof e.then === 'undefined' ? response => console.log(response) : e.then;
let error = typeof e.error === 'undefined' ? err => console.log(err) : e.error; let error = typeof e.error === 'undefined' ? err => console.log(err) : e.error;
let token = m.getToken() ? m.getToken() : ''; let token = getToken() ? getToken() : '';
data.SYSTEM_TYPE = 'WMP'; data.SYSTEM_TYPE = 'WMP';
let header = typeof e.header === 'undefined' ? { let header = typeof e.header === 'undefined' ? {
'content-type': 'application/json', 'content-type': 'application/json',

@ -11,7 +11,7 @@
const user_code_show = ref(false) const user_code_show = ref(false)
const wxGetUserInfo = (res) => { const wxGetUserInfo = (res) => {
if (!res.detail.iv) { if (!res.detail.iv) {
this.$sa0.toast("您取消了授权,登录失败"); uni.$lu.toast("您取消了授权,登录失败");
return false; return false;
} }
uni.login({ uni.login({

@ -20,6 +20,7 @@
} }
</script> </script>
<template> <template>
<Login></Login>
<view class="home_wrapper u-text-center"> <view class="home_wrapper u-text-center">
<view class="home_logo_wrapper"> <view class="home_logo_wrapper">
<u-image width="200rpx" height="200rpx" src="/static/logo.png"></u-image> <u-image width="200rpx" height="200rpx" src="/static/logo.png"></u-image>

@ -2,11 +2,70 @@
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
* date2022-04-22 22:29:07 * date2022-04-20 09:02:17
*/ */
import {
ref
} from 'vue'
import {
userLoginAction
} from '@/api/index.js'
import {
setToken
} from '@/tool/member.js'
import config from '@/config.js'
const wxGetUserInfo = (res) => {
if (!res.detail.iv) {
uni.$lu.toast("您取消了授权,登录失败");
return false;
}
uni.login({
provider: 'weixin',
success: (loginRes) => {
userLoginAction(loginRes.code, (token) => {
setToken(token)
uni.switchTab({
url: '/pages/main/user/user'
})
})
},
});
}
</script> </script>
<template> <template>
Login <view class="home_wrapper u-text-center">
<view class="home_logo_wrapper">
<u-image width="200rpx" height="200rpx" src="/static/logo.png"></u-image>
</view>
<view class="home_title_wrapper">{{ config.title }}</view>
<button class="open_type_button_wrapper" open-type="getUserInfo" @getuserinfo="wxGetUserInfo"
withCredentials="true">微信登录</button>
</view>
</template> </template>
<style scoped> <style scoped>
.home_title_wrapper {
margin: 10rpx 0;
}
.home_logo_wrapper {
width: 200rpx;
height: 200rpx;
margin: 0 auto;
}
.home_wrapper {
position: absolute;
top: 30%;
left: 50%;
transform: translate(-50%, -50%);
}
.open_type_button_wrapper {
margin-top: 30rpx;
width: 500rpx;
height: 80rpx;
line-height: 80rpx;
font-size: 26rpx;
}
</style> </style>

@ -8,17 +8,35 @@
ref ref
} from 'vue' } from 'vue'
import config from '@/config.js' import config from '@/config.js'
import {
delToken
} from '@/tool/member.js'
const login_ref = ref(null)
const loginRef = (e) => {
login_ref.value = e
}
const quitClick = () => {
delToken()
login_ref.value.getUserInfo()
}
</script> </script>
<template> <template>
<Login ></Login> <Login :ref="loginRef"></Login>
<view class="home_wrapper u-text-center"> <view class="home_wrapper u-text-center">
<view class="home_logo_wrapper"> <view class="home_logo_wrapper">
<u-image width="200rpx" height="200rpx" src="/static/logo.png"></u-image> <u-image width="200rpx" height="200rpx" src="/static/logo.png"></u-image>
</view> </view>
<view class="home_title_wrapper">{{ config.title }}</view> <view class="home_title_wrapper">{{ config.title }}</view>
<view class="quit_button_wrapper">
<u-button @click="quitClick()">退</u-button>
</view>
</view> </view>
</template> </template>
<style scoped> <style scoped>
.quit_button_wrapper {
margin-top: 30rpx;
}
.home_title_wrapper { .home_title_wrapper {
margin: 10rpx 0; margin: 10rpx 0;
} }

@ -1,16 +1,10 @@
const TokenKey = 'Token'; const TokenKey = 'Token';
const getToken = () => { export function getToken() {
return uni.getStorageSync(TokenKey); return uni.getStorageSync(TokenKey);
} }
const setToken = (token) => { export function setToken(token) {
uni.setStorageSync(TokenKey, token); uni.setStorageSync(TokenKey, token);
} }
const delToken = () => { export function delToken() {
uni.removeStorageSync(TokenKey); uni.removeStorageSync(TokenKey);
} }
export default {
TokenKey,
setToken,
getToken,
delToken
};

Loading…
Cancel
Save