newt239 / gateway-front Goto Github PK
View Code? Open in Web Editor NEWfrontend of stay status record system for Sakae Higashi School Festival 2022
Home Page: https://gateway.sh-fes.com/
frontend of stay status record system for Sakae Higashi School Festival 2022
Home Page: https://gateway.sh-fes.com/
入れる
#67 でAndroidについてはインターバルを30秒まで短くしたが、Chromebookでも5分はもたなそう
しかもこっちは画面がブラックアウトして強制再起動までしなきゃいけないのでかなり深刻
とりあえず2分30秒に変更してみる
警告が表示されるようにする
transform
のバグのせい?とりあえずtransrateZ
を設定
そのあとリロードすると直る
当日スキャンする場所によってはカメラがQRコードを読み取りづらい可能性がある。このため予約IDやゲストIDを手動で入力できるオプションを作る
まだ優先度は低めだけどいつかはつけたい
講堂とか体育館だと暗い場所で操作しなきゃいけないときもあるはずで、その時背景白は眩しすぎる
MUIベースでやればそこまで対応は手間かからなさそう
Dark mode - Material UI
package.json
内のdependences
とdevDependences
の整理。
テスティング用のライブラリは現在使用していないため一旦アンインストール。
また同時に各ライブラリを最新バージョンにアップデートする。
ログイン画面をブックマークする人がいるかもしれないのでホーム画面に遷移したほうが親切
これだからiOSは
https://rishuntrading.co.jp/blog/programing/safari_z-index_notwork/
standaloneだと起動しないらしい、まじ?
同じコンポーネントでどっちも++
で書いてるのが原因。条件分岐する
react-dom.production.min.js:216 Error: Minified React error #321; visit https://reactjs.org/docs/error-decoder.html?invariant=321 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
at Object.oa (react-dom.production.min.js:156:258)
at t.useContext (react.production.min.js:22:273)
at me (index.js:764:43)
at Ce (jotai.ts:25:24)
at Extra.tsx:16:7
at Dl (react-dom.production.min.js:262:359)
at t.unstable_runWithPriority (scheduler.production.min.js:18:343)
at Xi (react-dom.production.min.js:122:325)
at Bl (react-dom.production.min.js:261:308)
at xl (react-dom.production.min.js:243:50)
リロードすると直る
学校配布のChromebookのフロントカメラは左右が逆でQRコードを中心に合わせづらい。
カメラのプレビューエリアのすぐ上に反転ボタンをつける。
スマホ版ではボトムバー最右にあるが何も表示されない、パソコン版ではメニューもない。入れるとすればスキャンページの一番上(「一覧に戻る」の横など)。ただ業務上必ずしもすべての文実委員が必要な機能ではないためメニューは用意しなくても良さそう
beforeTimePartEndTime
で配列のlengthを超えた数字を引数に取ったときにエラーが出る
lengthより大きければfalse
を返すよう変更
リストバンド忘れ / 2枚とも紛失した生徒はDBで該当生徒のゲストIDを検索し、ゲスト照会機能を使って表示したQRコードをデジタルリストバンドで読み取らせる
現在予約用QRコードは予約IDの文字列をそのまんま使って変換しているが、これだと他の予約用QRコードを容易に偽造できるので、JWTを使って暗号化する。
payloadは以下の形式を取る。
{
"reservation_id": "RABXXXY"
}
バックエンドとの通信に失敗すると「サーバーからの応答がありません。端末がネットワークに接続されているか確認してください。」というメッセージが表示される。ただ実際サーバーが落ちることなんてほぼなく、このエラーが表示される原因はChromebookに設定されているプロキシに、起動直後はログインできておらず、学校のWiFiに繋げられていないことにある。このプロキシへのログインは新しくサイトを読み込んだときに発生するので、サーバーステータスを表示するuptimerobotへのリンクへ誘導するダイアログを表示するようにする。
端末上でエラーが発生した時、
入退室処理の際にカメラプレビューの場所でカメラを読み込むときにローディングスピナーを表示させているが、スキャン完了後ゲスト情報などが表示された後にカメラをオフにしたときにもスピナーが表示されることがある。
再現ができていないので具体的にどのアクションをすると表示されてしまうかが不明。
ユーザーによってはスピナーは「今まさに読み込みが行われている」と認識しているため、スピナーが表示されることでゲスト情報が表示できているのにもかかわらず非表示になるまで次のアクションをせずに待機してしまう可能性がある。
6/12までの実装を目指す
実装する必要が機能を明確化するために、ブランチ管理を行う。
基本はdevelop
ブランチで作業を行う。
大きな機能を実装する際は専用のブランチ(feature/xxx
)を切り、完成したらdevelop
ブランチにマージする。
develop
ブランチは特に問題がないことが確認できればmaster
ブランチにマージする。
NumPadから入力後ダイアログを閉じると、先頭のPrefix(R, G)が抜けてしまう
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.