|
|
<script setup>
|
|
|
/**
|
|
|
* name:
|
|
|
* user:sa0ChunLuyu
|
|
|
* date:2022-04-20 09:02:17
|
|
|
*/
|
|
|
import {
|
|
|
ref
|
|
|
} from 'vue'
|
|
|
import {
|
|
|
WeChatLoginTestAction,
|
|
|
$response
|
|
|
} from '@/api'
|
|
|
const user_code = ref('')
|
|
|
const wxGetUserInfo = (res) => {
|
|
|
if (!res.detail.iv) {
|
|
|
uni.$lu.toast("您取消了授权,登录失败");
|
|
|
return false;
|
|
|
}
|
|
|
uni.login({
|
|
|
provider: 'weixin',
|
|
|
success: (loginRes) => {
|
|
|
let d = loginRes
|
|
|
user_code.value = JSON.stringify(d, null, 4)
|
|
|
drawer_ref.value.open()
|
|
|
},
|
|
|
});
|
|
|
}
|
|
|
|
|
|
const drawer_ref = ref(null)
|
|
|
const drawerRef = (e) => {
|
|
|
drawer_ref.value = e
|
|
|
}
|
|
|
|
|
|
const copyContent = () => {
|
|
|
uni.setClipboardData({
|
|
|
data: user_code.value
|
|
|
})
|
|
|
}
|
|
|
const WeChatLoginTest = async () => {
|
|
|
const user_code_data = JSON.parse(user_code.value)
|
|
|
const response = await WeChatLoginTestAction({
|
|
|
code: user_code_data.code,
|
|
|
app_id: uni.$lu.config.app_id
|
|
|
})
|
|
|
$response(response, () => {
|
|
|
user_code.value = JSON.stringify(response.data.info, null, 4)
|
|
|
})
|
|
|
}
|
|
|
</script>
|
|
|
<template>
|
|
|
<uni-drawer :ref="drawerRef" mode="right">
|
|
|
<view class="navbar_wrapper"></view>
|
|
|
<textarea :maxlength="-1" class="textarea_wrapper" v-model="user_code" />
|
|
|
<view class="button_line_wrapper">
|
|
|
<button size="mini" @click="copyContent()">复制</button>
|
|
|
<button size="mini" @click="WeChatLoginTest()">登录</button>
|
|
|
</view>
|
|
|
</uni-drawer>
|
|
|
|
|
|
<uni-section title="用户Code" type="line">
|
|
|
<view class="uni-ma-5 uni-pb-5 example_item_wrapper">
|
|
|
<button size="mini" open-type="getUserInfo" @getuserinfo="wxGetUserInfo" withCredentials="true">获取Code</button>
|
|
|
</view>
|
|
|
</uni-section>
|
|
|
</template>
|
|
|
<style scoped>
|
|
|
.button_line_wrapper {
|
|
|
display: flex;
|
|
|
justify-content: space-around;
|
|
|
}
|
|
|
|
|
|
.textarea_wrapper {
|
|
|
margin-top: 100rpx;
|
|
|
height: 400rpx;
|
|
|
}
|
|
|
</style> |