“7d9c5d370070744d985136c44995108dbcaa3c51”上不存在“...java/git@gitcode.net:openanolis/dragonwell8_jdk.git”
提交 ee58aaea 编写于 作者: Q qq_38870145

Sat Nov 25 22:58:00 CST 2023 inscode

上级 31896db3
<script setup> <script setup>
import GameChart from './components/GameChart.vue'
import SearchGrade from './components/SearchGrade.vue' import GameChart from './components/GameChart.vue'
import Draw from './components/draw/Draw.vue' import SearchGrade from './components/SearchGrade.vue'
import Commit from './components/commit/Commit.vue' import Draw from './components/draw/Draw.vue'
import { reactive, onBeforeMount,onMounted } from 'vue'; import Commit from './components/commit/Commit.vue'
import html2canvas from 'html2canvas'; import { reactive, onBeforeMount,onMounted } from 'vue';
import html2canvas from 'html2canvas';
// state
const state = reactive({ // state
current: '评论' const state = reactive({
}) current: '评论'
})
/** 下载图片 */
const downloadBase64 = (content,fileName) => { /** 下载图片 */
const base64ToBlob = function (code) { const downloadBase64 = (content,fileName) => {
let parts = code.split(';base64,'); const base64ToBlob = function (code) {
let contentType = parts[0].split(':')[1]; let parts = code.split(';base64,');
let raw = window.atob(parts[1]); let contentType = parts[0].split(':')[1];
let rawLength = raw.length; let raw = window.atob(parts[1]);
let uInt8Array = new Uint8Array(rawLength); let rawLength = raw.length;
for (let i = 0; i < rawLength; ++i) { let uInt8Array = new Uint8Array(rawLength);
uInt8Array[i] = raw.charCodeAt(i); for (let i = 0; i < rawLength; ++i) {
} uInt8Array[i] = raw.charCodeAt(i);
}
return new Blob([uInt8Array], {
type: contentType return new Blob([uInt8Array], {
}); type: contentType
}; });
let aLink = document.createElement('a'); };
let blob = base64ToBlob(content); let aLink = document.createElement('a');
aLink.download = fileName + '.png'; let blob = base64ToBlob(content);
aLink.href = URL.createObjectURL(blob); aLink.download = fileName + '.png';
aLink.click(); aLink.href = URL.createObjectURL(blob);
}; aLink.click();
};
// 截图
const shotAction=()=>{ // 截图
html2canvas(document.getElementById('render-id')).then(function(canvas) { const shotAction=()=>{
console.log('canvas',canvas) html2canvas(document.getElementById('render-id'),{
const base64 = canvas.toDataURL().replace(/^data:image\/(png|jpg);base64,/, ''); useCORS:true,
const base64img = `data:image/png;base64,${base64}`; proxy:'inscode.csdn.net'
downloadBase64(base64img, state.current); }).then(function(canvas) {
// document.body.appendChild(canvas); console.log('canvas',canvas)
}); const base64 = canvas.toDataURL().replace(/^data:image\/(png|jpg);base64,/, '');
} const base64img = `data:image/png;base64,${base64}`;
downloadBase64(base64img, state.current);
onMounted(()=>{ // document.body.appendChild(canvas);
console.log('html2canvas',html2canvas) });
}) }
// 之前 onMounted(()=>{
onBeforeMount(() => { console.log('html2canvas',html2canvas)
const href = window.location.href })
const data = {}
const urlArray = href.split('?') // 之前
const urlLength = urlArray.length onBeforeMount(() => {
if (urlLength > 1) { const href = window.location.href
urlArray[urlLength - 1].split('&').forEach(item => { const data = {}
const itemArray = item.split('=') const urlArray = href.split('?')
const key = itemArray[0] const urlLength = urlArray.length
const value = itemArray[1] if (urlLength > 1) {
data[key] = value urlArray[urlLength - 1].split('&').forEach(item => {
}) const itemArray = item.split('=')
console.log('urlArray',urlArray) const key = itemArray[0]
if (data['type'] = 'csdn_game') { const value = itemArray[1]
state.current = '新星赛道选手信息可视化' data[key] = value
} })
else if(data['type'] = 'csdn_grade'){ console.log('urlArray',urlArray)
state.current = 'grade查询分数' if (data['type'] = 'csdn_game') {
} state.current = '新星赛道选手信息可视化'
else if(data['type'] = 'draw'){ }
state.current = '抽奖' else if(data['type'] = 'csdn_grade'){
} state.current = 'grade查询分数'
else if(data['type'] = 'commit'){ }
state.current = '评论' else if(data['type'] = 'draw'){
} state.current = '抽奖'
} }
}) else if(data['type'] = 'commit'){
</script> state.current = '评论'
}
<template> }
<div class="container-main"> })
<div style="text-align: center;padding: 20px;"> </script>
<a-radio-group v-model:value="state.current" name="radioGroup">
<a-radio value="grade查询分数">csdn查询分数</a-radio> <template>
<a-radio value="新星赛道选手信息可视化">csdn新星赛道可视化</a-radio> <div class="container-main">
<a-radio value="抽奖">随机抽奖</a-radio> <div style="text-align: center;padding: 20px;">
<a-radio value="评论">csdn分析评论</a-radio> <a-radio-group v-model:value="state.current" name="radioGroup">
</a-radio-group> <a-radio value="grade查询分数">csdn查询分数</a-radio>
<a-button type="primary" @click="shotAction"> <a-radio value="新星赛道选手信息可视化">csdn新星赛道可视化</a-radio>
截图 <a-radio value="抽奖">随机抽奖</a-radio>
</a-button> <a-radio value="评论">csdn分析评论</a-radio>
</div> </a-radio-group>
<div id="render-id"> <a-button type="primary" @click="shotAction">
<SearchGrade v-if="state.current === 'grade查询分数'" /> 截图
<GameChart v-else-if="state.current === '新星赛道选手信息可视化'" /> </a-button>
<Commit v-else-if="state.current === '评论'" /> </div>
<Draw v-else /> <div id="render-id">
</div> <SearchGrade v-if="state.current === 'grade查询分数'" />
</div> <GameChart v-else-if="state.current === '新星赛道选手信息可视化'" />
</template> <Commit v-else-if="state.current === '评论'" />
<Draw v-else />
<style scoped> </div>
.container-main { </div>
position: absolute; </template>
width: 100vw;
height: 100vh; <style scoped>
padding: 10px; .container-main {
margin: 0; position: absolute;
} width: 100vw;
</style> height: 100vh;
\ No newline at end of file padding: 10px;
margin: 0;
}
</style>
...@@ -111,6 +111,6 @@ const restartGameBtn = () => { ...@@ -111,6 +111,6 @@ const restartGameBtn = () => {
startGameBtn() startGameBtn()
} }
onMounted(() => { onMounted(() => {
mockUserData(13) mockUserData(26)
}) })
</script> </script>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册