fix: emojigen.vue

This commit is contained in:
こけっち 2022-07-17 00:57:43 +09:00
parent 65bb111a90
commit 8d1f90038b
No known key found for this signature in database
GPG Key ID: 21460619C5FC4DD1

View File

@ -67,7 +67,7 @@
</template>
<script lang="ts">
import {defineComponent} from 'vue';
import { computed, defineComponent } from 'vue';
import FormSwitch from '@/components/form/switch.vue';
import FormInput from '@/components/form/input.vue';
import FormTextarea from '@/components/form/textarea.vue';
@ -76,10 +76,15 @@ import FormSection from '@/components/form/section.vue';
import FormButton from '@/components/ui/button.vue';
import MkLink from '@/components/link.vue';
import * as os from '@/os';
import * as symbols from '@/symbols';
import {defaultStore} from "@/store";
import {stream} from "@/stream";
import { defaultStore } from '@/store';
import { stream } from '@/stream';
import { definePageMetadata } from '@/scripts/page-metadata';
import { i18n } from '@/i18n';
definePageMetadata(computed(() => ({
title: i18n.ts.emojiGen,
icon: 'fas fa-laugh',
})));
export default defineComponent({
components: {
@ -96,11 +101,6 @@ export default defineComponent({
data() {
return {
[symbols.PAGE_INFO]: {
title: this.$ts.emojiGen,
icon: 'fas fa-laugh',
bg: 'var(--bg)',
},
emojiName: '',
text: '',
emojiAlign: 'center',
@ -109,8 +109,8 @@ export default defineComponent({
font: 'notosans-mono-bold',
emojiColor: '38BA91',
emojiUrl: '',
accentColors: ['#e36749', '#f29924', '#98c934', '#34c9a9', '#34a1c9', '#606df7', '#8d34c9', '#e84d83']
}
accentColors: ['#e36749', '#f29924', '#98c934', '#34c9a9', '#34a1c9', '#606df7', '#8d34c9', '#e84d83'],
};
},
methods: {
@ -120,17 +120,13 @@ export default defineComponent({
emojiGenerate() {
//https://emoji-gen.ninja/result?text=%E7%B5%B5%E6%96%87%0A%E5%AD%97%E3%80%82&color=EC71A1FF&back_color=00000000&font=notosans-mono-bold&size_fixed=false&align=center&stretch=true&public_fg=true&locale=ja
const apiUrl = `https://emoji-gen.ninja/emoji`
let query = {"text": encodeURI(this.text), "color": this.emojiColor.replace('#','') + "FF", "back_color": "00000000", "font": this.font, "size_fixed": this.emojiSizeFixed, "align": this.emojiAlign, "stretch": !this.emojiStretch, "public_fg": "false", "locale": "ja"}
const apiUrl = 'https://emoji-gen.ninja/emoji';
let query = { 'text': encodeURI(this.text), 'color': this.emojiColor.replace('#','') + 'FF', 'back_color': '00000000', 'font': this.font, 'size_fixed': this.emojiSizeFixed, 'align': this.emojiAlign, 'stretch': !this.emojiStretch, 'public_fg': 'false', 'locale': 'ja' };
this.emojiUrl = apiUrl + '?' + Object.entries(query).map((e) => `${e[0]}=${e[1]}`).join('&');
},
emojiApproval: function () {
//emojiUploaddrive/files/upload-from-urlemojiAddemojiAdd(id)
const emojiUpload = () => new Promise(async resolve => {
const marker = Math.random().toString(); // TODO: UUID使
@ -148,7 +144,7 @@ export default defineComponent({
await os.api('drive/files/upload-from-url', {
url: this.emojiUrl,
folderId: defaultStore.state.uploadFolder,
marker
marker,
});
//ID
@ -160,18 +156,18 @@ export default defineComponent({
const response = await os.api('admin/emoji/add', {
fileId,
})
});
resolve(response);
})
});
});
//emoji admin/emoji/listididuntilId1idsinceIdlistobject
const emoji = (emojiId) => new Promise<Record<string, any> | null>(async resolve => {
const sinceId = await os.api('admin/emoji/list', {
limit: 1,
untilId: emojiId.id
})
untilId: emojiId.id,
});
if (!sinceId) {
resolve(null);
@ -180,7 +176,7 @@ export default defineComponent({
const id = await os.api('admin/emoji/list', {
limit: 1,
sinceId: sinceId[0].id
sinceId: sinceId[0].id,
});
if (!id) {
@ -194,26 +190,24 @@ export default defineComponent({
//editemojiobject
const edit = (emoji) => {
os.popup(import('./emoji-edit-dialog.vue'), {
emoji: emoji
emoji: emoji,
});
};
(async () => {
await this.emojiGenerate()
await this.emojiGenerate();
const emojiId = await emojiUpload();//emojiIdID emojiUploadID
const emojiObj = await emoji(emojiId);//emojiObjemoji emojiemojiIdemoji
edit(emojiObj);
})();
},
setAccentColor(color){
setAccentColor(color) {
this.emojiColor = color.replace('#', '');
}
},
},
});
</script>
<style lang="scss" scoped>