parent
							
								
									53d24c2ba1
								
							
						
					
					
						commit
						9ed6a9701a
					
				
					 2 changed files with 74 additions and 70 deletions
				
			
		|  | @ -16,6 +16,7 @@ You should also include the user name that made the change. | ||||||
| 
 | 
 | ||||||
| ### Bugfixes | ### Bugfixes | ||||||
| - Client: 一度作ったwebhookの設定画面を開こうとするとページがフリーズする @syuilo | - Client: 一度作ったwebhookの設定画面を開こうとするとページがフリーズする @syuilo | ||||||
|  | - Client: MiAuth認証ページが機能していない @syuilo | ||||||
| 
 | 
 | ||||||
| ## 12.117.1 (2022/07/19) | ## 12.117.1 (2022/07/19) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| <template> | <template> | ||||||
| <div v-if="$i"> | <MkSpacer :content-max="800"> | ||||||
|  | 	<div v-if="$i"> | ||||||
| 		<div v-if="state == 'waiting'" class="waiting _section"> | 		<div v-if="state == 'waiting'" class="waiting _section"> | ||||||
| 			<div class="_content"> | 			<div class="_content"> | ||||||
| 				<MkLoading/> | 				<MkLoading/> | ||||||
|  | @ -7,79 +8,81 @@ | ||||||
| 		</div> | 		</div> | ||||||
| 		<div v-if="state == 'denied'" class="denied _section"> | 		<div v-if="state == 'denied'" class="denied _section"> | ||||||
| 			<div class="_content"> | 			<div class="_content"> | ||||||
| 			<p>{{ $ts._auth.denied }}</p> | 				<p>{{ i18n.ts._auth.denied }}</p> | ||||||
| 			</div> | 			</div> | ||||||
| 		</div> | 		</div> | ||||||
| 		<div v-else-if="state == 'accepted'" class="accepted _section"> | 		<div v-else-if="state == 'accepted'" class="accepted _section"> | ||||||
| 			<div class="_content"> | 			<div class="_content"> | ||||||
| 			<p v-if="callback">{{ $ts._auth.callback }}<MkEllipsis/></p> | 				<p v-if="callback">{{ i18n.ts._auth.callback }}<MkEllipsis/></p> | ||||||
| 			<p v-else>{{ $ts._auth.pleaseGoBack }}</p> | 				<p v-else>{{ i18n.ts._auth.pleaseGoBack }}</p> | ||||||
| 			</div> | 			</div> | ||||||
| 		</div> | 		</div> | ||||||
| 		<div v-else class="_section"> | 		<div v-else class="_section"> | ||||||
| 			<div v-if="name" class="_title">{{ $t('_auth.shareAccess', { name: name }) }}</div> | 			<div v-if="name" class="_title">{{ $t('_auth.shareAccess', { name: name }) }}</div> | ||||||
| 		<div v-else class="_title">{{ $ts._auth.shareAccessAsk }}</div> | 			<div v-else class="_title">{{ i18n.ts._auth.shareAccessAsk }}</div> | ||||||
| 			<div class="_content"> | 			<div class="_content"> | ||||||
| 			<p>{{ $ts._auth.permissionAsk }}</p> | 				<p>{{ i18n.ts._auth.permissionAsk }}</p> | ||||||
| 				<ul> | 				<ul> | ||||||
| 				<li v-for="p in permission" :key="p">{{ $t(`_permissions.${p}`) }}</li> | 					<li v-for="p in _permissions" :key="p">{{ $t(`_permissions.${p}`) }}</li> | ||||||
| 				</ul> | 				</ul> | ||||||
| 			</div> | 			</div> | ||||||
| 			<div class="_footer"> | 			<div class="_footer"> | ||||||
| 			<MkButton inline @click="deny">{{ $ts.cancel }}</MkButton> | 				<MkButton inline @click="deny">{{ i18n.ts.cancel }}</MkButton> | ||||||
| 			<MkButton inline primary @click="accept">{{ $ts.accept }}</MkButton> | 				<MkButton inline primary @click="accept">{{ i18n.ts.accept }}</MkButton> | ||||||
| 			</div> | 			</div> | ||||||
| 		</div> | 		</div> | ||||||
| </div> | 	</div> | ||||||
| <div v-else class="signin"> | 	<div v-else class="signin"> | ||||||
| 		<MkSignin @login="onLogin"/> | 		<MkSignin @login="onLogin"/> | ||||||
| </div> | 	</div> | ||||||
|  | </MkSpacer> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script lang="ts"> | <script lang="ts" setup> | ||||||
| import { defineComponent } from 'vue'; | import { } from 'vue'; | ||||||
| import MkSignin from '@/components/signin.vue'; | import MkSignin from '@/components/signin.vue'; | ||||||
| import MkButton from '@/components/ui/button.vue'; | import MkButton from '@/components/ui/button.vue'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { login } from '@/account'; | import { $i, login } from '@/account'; | ||||||
| import { appendQuery, query } from '@/scripts/url'; | import { appendQuery, query } from '@/scripts/url'; | ||||||
|  | import { i18n } from '@/i18n'; | ||||||
| 
 | 
 | ||||||
| export default defineComponent({ | const props = defineProps<{ | ||||||
| 	components: { | 	session: string; | ||||||
| 		MkSignin, | 	callback?: string; | ||||||
| 		MkButton, | 	name: string; | ||||||
| 	}, | 	icon: string; | ||||||
| 	props: ['session', 'callback', 'name', 'icon', 'permission'], | 	permission: string; // コンマ区切り | ||||||
| 	data() { | }>(); | ||||||
| 		return { | 
 | ||||||
| 			state: null, | const _permissions = props.permission.split(','); | ||||||
| 		}; | 
 | ||||||
| 	}, | let state = $ref<string | null>(null); | ||||||
| 	methods: { | 
 | ||||||
| 		async accept() { | async function accept(): Promise<void> { | ||||||
| 			this.state = 'waiting'; | 	state = 'waiting'; | ||||||
| 	await os.api('miauth/gen-token', { | 	await os.api('miauth/gen-token', { | ||||||
| 				session: this.session, | 		session: props.session, | ||||||
| 				name: this.name, | 		name: props.name, | ||||||
| 				iconUrl: this.icon, | 		iconUrl: props.icon, | ||||||
| 				permission: this.permission, | 		permission: _permissions, | ||||||
| 	}); | 	}); | ||||||
| 
 | 
 | ||||||
| 			this.state = 'accepted'; | 	state = 'accepted'; | ||||||
| 			if (this.callback) { | 	if (props.callback) { | ||||||
| 				location.href = appendQuery(this.callback, query({ | 		location.href = appendQuery(props.callback, query({ | ||||||
| 					session: this.session, | 			session: props.session, | ||||||
| 		})); | 		})); | ||||||
| 	} | 	} | ||||||
| 		}, | } | ||||||
| 		deny() { | 
 | ||||||
| 			this.state = 'denied'; | function deny(): void { | ||||||
| 		}, | 	state = 'denied'; | ||||||
| 		onLogin(res) { | } | ||||||
|  | 
 | ||||||
|  | function onLogin(res): void { | ||||||
| 	login(res.i); | 	login(res.i); | ||||||
| 		}, | } | ||||||
| 	}, |  | ||||||
| }); |  | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue