『ヨスガノソラ』 春日野 穹 和服 フィギュア

『ヨスガノソラ』有名な〇〇アニメ……のヒロイン、春日野穹 —-妹がいない者は穹が妹でないことを嘆き、妹がいる者は妹が穹でないことを嘆く 箱は実に大きく、以前買ったいくつかのものよりずっと大きいです 外箱の絵と中身は違いますが 開封すると、ナイフを持ったもう片方の手も入っており、手が取り外し可能であることがわかります でも、付け替えたことはありません。女の子はやっぱり扇子を持っている方が可愛いですからね この値段で扇子を買うのも、やりすぎじゃないですよね うわー、この脚、あぁ、真っ白だ。そ、パン…、ゴホンゴホン 起こして座らせて、ポーズを整えて。この角度…いいですね 顔 脚 ディテール これはマジでえっちぃですね 注目すべきは、ビーチサンダルが本物の靴と同じプラスチック素材で作られている点です 夜に開封したので光が足りなかったので、昼間にもう何枚か撮ってみました遥かなる空、その穹の果てで、 私たちはやがて出会い、そして知り合う 「どこにいても、どんなときでも、私たちの頭の上には同じ遥かな穹が広がっている。まるで永遠に引き離されることのない絆のように。」

2019年12月13日 · 1 分 · MoeJue

小愛スピーカー ユニバーサルリモコン版

またしてもXiaomi製品です。今回開封するのは、Xiaomiスピーカーの万能リモコン版。従来の家電をあっという間にスマートホーム化させます。 開封。想像していたよりずっと小さいです。 新発売のXiaomi AIスピーカーHDはかなり大きいですが、Xiaomiストアで抱えてみたことがあります(〃’▽’〃) パッケージ内容:本体+電源アダプター+データケーブル+取扱説明書 下の周りにあるのは本物の穴です。最初は写真で見たとき、ただの模様だと思っていました。 内部の中央には、円錐形のダブルピラミッドのようなものがあります。分かりやすく言うと、コマみたいな感じでしょうか。 マイクミュートボタン(上)は10秒長押しで工場出荷時設定にリセット、音量+/-ボタン(左右)、一時停止/再生ボタンは長押しで設定モードに入ります。 次に、Mi AIスピーカーアプリをダウンロードして、一連の設定を行います。 QQ Musicが内蔵されていますが、管理はできず、QQ Music上で行う必要があります。 これで、遊べるようになります。 お使いの小愛同学に「自爆モード起動」と言うと、新しいスキルをゲットできます(注意!!) また、一つ厄介な設定というかバグがあります。Bluetoothに接続して設定すると、ネットに繋がらなくなるのです。(意味不明??)

2019年11月20日 · 1 分 · MoeJue

感熱ブルートゥースプリンター開発

最近、レシート印刷の作業をしており、プロジェクトの要件としてiOSとAndroidの両方で実装する必要がありました。最初は全く分からず、インターネットで多くの資料を探し、たくさんの落とし穴にはまり、多くの記事を読みましたが、結果的にはうまくいきました。 Bluetoothプリンターは一般的に、レシート印刷とラベル印刷の2種類の印刷モードに分けられます。 会社が購入した粗悪なプリンターには開発ドキュメントすらなく、多くの落とし穴にはまる羽目になりました。開発担当者に購入時に相談してくれればよかったのに。 現在、WeChatミニプログラムでBluetoothプリンターに接続する wx.createBLEConnection は、iOSデバイスでは問題なく動作しますが、一部のAndroidスマートフォンでは異常が発生します(接続時にシステムペアリングボックスがポップアップ表示され、キャンセルをタップしても、ペアリングコードを入力して確定をタップしても、すぐに接続が切断されます。入力もキャンセルもしない場合、30秒以内にBluetoothプリンターから自動的に切断されます)。 現在採用している方法は、AndroidとiOSそれぞれにBluetooth印刷コマンドのセットを作成することです。 IOS // ====================蓝牙操作================== //初始化蓝牙模块 openBluetoothAdapter() { if (app.sysinfo.provider == 1) { // 开启蓝牙 app.onBluetooth() setTimeout(() => { this.android_search() }, 2000) return false; } this.closeBluetoothAdapter() uni.openBluetoothAdapter({ success: (res) => { console.log("初始化蓝牙模块: " + JSON.stringify(res)); this.startBluetoothDevicesDiscovery() }, fail: (res) => { if (res.errCode === 10001) { uni.onBluetoothAdapterStateChange((res) => { console.log('监听蓝牙适配器状态变化事件', res) if (res.available == false) { app.global_printing = {} this.connected = false this.chs = [] this.canWrite = false } if (res.available) { this.startBluetoothDevicesDiscovery() } }) } if (res.errCode) { app.alert('初始化蓝牙失败,错误码:' + res.errCode) return false; } app.alert(res.errMsg) } }) }, //获取本机蓝牙适配器状态 getBluetoothAdapterState() { uni.getBluetoothAdapterState({ success: (res) => { console.log('获取本机蓝牙适配器状态。', JSON.stringify(res)) if (res.discovering) { this.onBluetoothDeviceFound() } else if (res.available) { this.startBluetoothDevicesDiscovery() } }, fail: (res) => { console.log('error:获取本机蓝牙适配器状态失败', JSON.stringify(res)) setTimeout(() => { this.getBluetoothAdapterState() }, 500) } }) }, //开始搜寻附近的蓝牙外围设备 startBluetoothDevicesDiscovery() { console.log(this.discoveryStarted); if (this.discoveryStarted) { return } console.log('开始搜索蓝牙设备'); this.discoveryStarted = true this.onBluetoothDeviceFound() setTimeout(() => { uni.startBluetoothDevicesDiscovery({ allowDuplicatesKey: true, success: (res) => { console.log('startBluetoothDevicesDiscovery success', JSON.stringify( res)) }, fail: (res) => { if (res.errCode == '10001') { app.alert('当前蓝牙适配器不可用') } else { app.alert('搜索蓝牙失败,状态码:' + res.errCode) } } }) }, 500) }, // 停止搜索 stopBluetoothDevicesDiscovery() { uni.stopBluetoothDevicesDiscovery() this.discoveryStarted = false }, //寻找到新设备的事件的回调函数 onBluetoothDeviceFound() { console.log('寻找到新设备的事件的回调函数'); uni.onBluetoothDeviceFound((res) => { console.log(res); res.devices.forEach(device => { if (!device.name && !device.localName) { return } const foundDevices = this.devices const idx = this.inArray(foundDevices, 'deviceId', device.deviceId) if (idx === -1) { this.devices.push(device) } else { this.devices[idx] = device } }) }) }, //连接低功耗蓝牙设备 createBLEConnection(e) { uni.showLoading({ title: '设备连接中', mask: true }); const ds = e.currentTarget.dataset const deviceId = ds.deviceId const name = ds.name if (app.sysinfo.provider == 1) { if (ds.pair !== true) { this.android_search(deviceId) } else { console.log('已配对') } var device = null, BAdapter = null, BluetoothAdapter = null, uuid = null, main = null, bluetoothSocket = null; var mac_address = deviceId var main = plus.android.runtimeMainActivity(); BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter"); var UUID = plus.android.importClass("java.util.UUID"); uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); BAdapter = BluetoothAdapter.getDefaultAdapter(); device = BAdapter.getRemoteDevice(mac_address); plus.android.importClass(device); bluetoothSocket = device.createInsecureRfcommSocketToServiceRecord(uuid); plus.android.importClass(bluetoothSocket); if (!bluetoothSocket.isConnected()) { console.log('检测到设备未连接,尝试连接....'); bluetoothSocket.connect(); } this.connected = true this.name = name this.deviceId = deviceId this.canWrite = true app.global_printing = { name: name, deviceId: deviceId } app.saveData1('global_printing', app.global_printing) uni.hideLoading(); return false; } uni.createBLEConnection({ deviceId, success: (res) => { this.connected = true this.name = name this.deviceId = deviceId app.global_printing = { name: name, deviceId: deviceId } this.onBLEConnectionStateChange() // 防止获取失败 setTimeout(() => { this.getBLEDeviceServices(deviceId) }, 1000) }, fail: (res) => { uni.hideLoading(); app.Toast('设备连接失败') console.log("蓝牙连接失败:", res); } }) this.stopBluetoothDevicesDiscovery() }, //获取蓝牙设备所有服务(service) getBLEDeviceServices(deviceId) { uni.getBLEDeviceServices({ deviceId, success: (res) => { console.log("获取蓝牙服务成功:" + JSON.stringify(res)) if (res.services.length == 0) { uni.hideLoading(); app.alert('没有获取到蓝牙服务,无法打印001') app.global_printing = {} return false } for (let i = 0; i < res.services.length; i++) { if (res.services[i].isPrimary) { this.getBLEDeviceCharacteristics(deviceId, res.services[i].uuid) return } } }, fail: (res) => { setTimeout(() => { this.getBLEDeviceServices(deviceId) }, 500) console.log("获取蓝牙服务失败:" + JSON.stringify(res)) } }) }, //获取蓝牙设备某个服务中所有特征值(characteristic) getBLEDeviceCharacteristics(deviceId, serviceId) { console.log('获取蓝牙设备某个服务中所有特征值', deviceId, serviceId) uni.getBLEDeviceCharacteristics({ deviceId, serviceId, success: (res) => { console.log('获取蓝牙设备某个服务中所有特征值 success', JSON.stringify(res)) uni.hideLoading(); if (res.characteristics.length == 0) { app.alert('没有获取到蓝牙服务,无法打印002') app.global_printing = {} return false } for (let i = 0; i < res.characteristics.length; i++) { let item = res.characteristics[i] if (item.properties.read) { uni.readBLECharacteristicValue({ deviceId, serviceId, characteristicId: item.uuid, }) } if (item.properties.write) { this.canWrite = true app.global_printing._deviceId = deviceId app.global_printing._serviceId = serviceId app.global_printing._characteristicId = item.uuid app.saveData1('global_printing', app.global_printing) //this.writeBLECharacteristicValue() } if (item.properties.notify || item.properties.indicate) { uni.notifyBLECharacteristicValueChange({ deviceId, serviceId, characteristicId: item.uuid, state: true, }) } } }, fail(res) { console.error('获取特征值失败:', res) } }) // 操作之前先监听,保证第一时间获取数据 uni.onBLECharacteristicValueChange((characteristic) => { console.log(this.data.chs); const idx = this.inArray(this.data.chs, 'uuid', characteristic.characteristicId) const data = {} if (idx === -1) { this.chs[this.data.chs.length] = { uuid: characteristic.characteristicId, value: ab2hex(characteristic.value) } } else { this.chs[idx] = { uuid: characteristic.characteristicId, value: ab2hex(characteristic.value) } } }) }, onBLEConnectionStateChange() { uni.onBLEConnectionStateChange((res) => { // 该方法回调中可以用于处理连接意外断开等异常情况 console.log(`蓝牙连接状态改变device ${res.deviceId} state has changed, connected: ${res.connected}`) if (res.connected == false) { app.global_printing = {} this.connected = false this.chs = [] this.canWrite = false } }) }, //断开与低功耗蓝牙设备的连接 closeBLEConnection() { app.global_printing = {} uni.closeBLEConnection({ deviceId: this.deviceId }) this.connected = false this.chs = [] this.canWrite = false }, //关闭蓝牙模块 closeBluetoothAdapter() { app.global_printing = {} uni.closeBluetoothAdapter() this.discoveryStarted = false }, //发送数据 sendStr(bufferstr, success, fail) { var that = this; uni.writeBLECharacteristicValue({ deviceId: app.global_printing._deviceId, serviceId: app.global_printing._serviceId, characteristicId: app.global_printing._characteristicId, value: bufferstr, success: function(res) { success(res); console.log('发送的数据:' + bufferstr) // console.log('message发送成功') }, fail: function(res) { fail(res) console.log("数据发送失败:" + JSON.stringify(res)) }, complete: function(res) { // console.log("发送完成:" + JSON.stringify(res)) } }) }, //遍历发送数据 printCode(arr) { var that = this; if (arr.length > 0) { this.sendStr(arr[0], function(success) { arr.shift(); that.printCode(arr); }, function(error) { app.alert('打印失败,错误码:' + error.errCode) app.printing_status = false console.log(error); }); return false; } setTimeout(function() { app.printing_status = false console.log('打印结束'); }, 1000); }, Android 比較的シンプルで便利です。Native.jsを使用してNative Javaインターフェースチャネルを直接呼び出し、plus.androidを介してAndroidネイティブシステムAPIを呼び出します。 ネイティブAndroidドキュメント https://developer.android.google.cn/reference/android/bluetooth/BluetoothAdapter?hl=en ...

2019年11月5日 · 9 分 · MoeJue

1024 プログラマーの日、最高のコーディングを書き、最も可愛い男の子になろう!

またもやお馴染みのヘッドライン・ホリデー 親愛なるプログラマーの皆さん、強風と明るい日差しが降り注ぐこの秋の日に、1024プログラマーの日を一緒にお祝いしましょう。 です。 1024これは特別な数字の集合で、2の10乗であり、2進数計算の基本単位の1つであり、すべてのプログラマのコードの出発点です! 。 この世の果てまでバグに絡め取られ、コードと共に生き、コードと共に死に、諦めず、休日も心にあるバイナリを忘れず、真に恋するプログラマに相応しい! 。 休みはなく、残業もあるかもしれませんが! 。 でも、せっかくの休日なんだから、お祝いしないのは血みどろの恥だと思いませんか? 今日は10月24日、プログラマの日です、このメッセージを5つのグループに転送してください、あなたは永遠にバグなしでコードを書く能力を得ることができます、私は試しました、これは偽物です、何度も送ると追放されるかもしれませんが、今日は本当にプログラマの日です! 。 ブログ主も仕事が忙しいので、ブログを書く(シュイ)ために出てくる時間を持つために夕方まで待つことしかできないので、とにかく、私はすべてのプログラマ1024プログラマの日が幸せであることを祈る、最高のコーディングを書く、最も美しい少年を行う! この時点で例年では 2018ハッピー1024プログラマの日 2017年1024プログラマの日おめでとう 2016年 プログラマの日1024! 今日はお祝いですか~?

2019年10月24日 · 1 分 · MoeJue

西部数码様からお送りいただいた国慶節のプレゼントに感謝。

事の経緯はこんな感じです そして、こうなりました 最後にこれを手に入れました。強運三部作、PCバッグをゲットです(私のPCは入らないし、しかもこの間新しいPCバッグを買ったばかりなんですが) 上に書いてあるのは:スタートアップ時代のドメイン選び yi.co もちろん、これで終わりだと、ただの水増し記事だと思われてしまいます なので、ついでに開封レビューでもしてみようと思います(うっかり開封ブログになってしまいましたw) XXカメラを買って、XXな場所に設置しました 説明書をチラッと見てみると、¥…**()*……¥%@¥&%……¥@¥ スペック:128GBメモリカード+赤外線ナイトビジョン+60mm+1080p WiFiまたは有線接続に対応、双方向音声、動体検知、自動録画、アラーム録画、タイマー録画などをサポート……. パッケージ内容: 128GBメモリカード、容量偽装品かどうかは未検証 スタンド+ネジ 電源ケーブル+電源アダプター 5m電源延長ケーブル ルーターみたいな見た目のカメラ 説明書 以上です。本当にこれだけ。 プレビューできる実際の写真はありません….

2019年10月18日 · 1 分 · MoeJue

55インチのXiaomiモニターを開封

忠実で理性的なシャオミファンが、またしてもMi Home製品、Xiaomi E55C フルスクリーン 4K HD AIテレビをお届けします 国慶節の前夜に予約し、配達予定日は30日でしたが、まさか29日に届くとは。その時、私は実家へ向かう高速鉄道に乗っていたため、一番最初の開封と通電確認には立ち会えませんでした。 「新国貨」という文字は正直ちょっとダサくて、ブランドイメージがガクッと落ちますね それに比べて、背面はとても美しい仕上がりです スペック表、4コア2GB+8GBフラッシュメモリ 梱包内容:スクリーン:1台 | スタンド:2個 | 取扱説明書:1部 | リモコン:Bluetooth音声リモコン(電池付属) | ネジセット:1個 12キーのBluetooth音声リモコンは、Xiaomiテレビの大きな特徴です。シンプルですが、ただシンプルなだけではありません。小愛同学(シャオアイ)とPatchWall OSを内蔵し、操作は簡単でインターフェースも美しいです 取り出して一息つかせます 正面から一枚。背面は撮り忘れました… 自宅の客間が改装中なので、とりあえず壁には掛けていません 初回起動時には、いくつかの簡単な設定が必要です。システムアップデート -> Bluetoothリモコンの接続 -> Wi-Fiに接続 -> Xiaomiアカウントにログイン(スキップ) -> デスクトップ画面へ そして、軍事パレードを鑑賞します(アニメに夢中になりすぎて、写真を撮り忘れたなんてことはありませんよ) ちなみに、広告なんかは、私のような怠け者にとっては大した問題ではありません。 完。。

2019年10月8日 · 1 分 · MoeJue

3周年記念謎解きゲーム

まずは、ご来訪、ご参加いただいた皆様、誠にありがとうございました。おかげさまで3周年記念イベントも無事終了し、N+1個の福袋を発送することができました。 3周年記念イベントでは、福袋を手に入れる方法を2種類用意しました。その一つ目は、怪しげなリンクを残しておくというものでした…… あなたがそれをクリックした瞬間から、ゲームは始まります。Link start! クリックすると、萌音社区のある記事にジャンプします… 一見、特に変わったところはありません。しかし、注意深い方ならコメントを見たときに、そう簡単ではないことに気づくでしょう。 コメントはあなたの心の声を代弁し、次のステップへの方向を示してくれます。 ブロガーとフレンドになっている方ならご存知かもしれませんが、記事中の画像は私のアイコンです。彼女の名前は高坂桐乃、14歳の中学生で、容姿端麗、成績優秀、スポーツ万能な少女です……もちろん、これらは問題とは何の関係もありません。 賢い人なら、まず画像ステガノグラフィを思いつくでしょう。思いついたことは何でも試してみましょう。自分でアルゴリズムを書いて解読するか、オンラインツールで解読することができます。 案の定、Baidu企業版クラウドストレージのアドレスと、謎のコード文字列が手に入ります。 賢いひらめきがあれば、これらを組み合わせてURLにすればいいとわかるはずです。https://eyun.baidu.com/s/3kWo9zan アクセスするとmp3のダウンロードリンクが表示されるので、ダウンロードしましょう。そして聴いてみてください…… そうです、これは『俺の妹がこんなに可愛いわけがない』の主題歌です。聴き終わったら閉じて寝る。これで終わりです。さようなら! ちょっと待って、本当に最後まで聴きましたか? もし本当に最後まで聴いたなら、異変に気づくはずです。そう、これはただの音声ファイルではありません。 プロ向けの音声編集ソフト(Adobe Auditionなど)で分析してみましょう。 スペクトル周波数表示を開くと、やはり、事態はそう単純ではないことがわかります。 なんとスペクトルの中に文字が隠されています。これを考えた人もなかなかのものです。 またしてもURLと謎のコード文字列が手に入ります。組み合わせてアクセスしましょう。https://img.52ecy.cn/0072Vf1ply1g6s3uhuge0j30hs0hs3z8 幻想領域の画像アップローダーにたどり着きました。またしても一枚の画像です。しかもまた桐乃で、同じ可愛いポーズです。 幻想領域の画像アップローダーはSina(新浪)のものをベースにしています。後半の謎のコードはSinaの画像アドレスとそっくりです。これを解読しましょう。 画像アドレスからアップロードしたユーザーのUIDを割り出します。具体的なアルゴリズムは以下を参考にしてください:[谁是Po主? ](https://www.52ecy.cn/post-81.html)最終的に得られるのはこちら:https://weibo.com/u/6456124939 すると、最初の投稿がはっきりと見えます。 ここで特に注意が必要なのは、【コメントを見る】ということです。最初の仕掛けの時からヒントはありました。時にはコメントをよく見るのも悪いことではありません。 タイムスタンプ、どうやって取得するのか?しかも13桁?これはミリ秒単位の精度が必要だということです。Webページ上の時間は分までで、秒すらありません。 PC版のWebページでは確かに表示されません。しかし、モバイル版のWebページに切り替えると、Webページのソースコードから投稿の作成日時(created_at)を見つけることができます。 これで本当に終わりです。皆さん、楽しんでいただけましたか?もし見つけられなかったのなら、それはあなたの発想力が足りなかっただけで、私の企画がダメだったわけでは決してありません。 1ヶ月以上かけて企画したイベントも、ついに無事終了しました!これにて完結、お疲れ様でした!また次の3周年でお会いしましょう!

2019年9月22日 · 1 分 · MoeJue

【終了】阿珏Blog三周年特別記念イベント

2016年9月19日、初めてのドメインとサーバーを購入し、ブログの構築を始めました。 たくさんのことを経験し、たくさんの人々と出会い、たくさんの記事を書いてきました。 瞬く間にブログが誕生してから1089日が経ち、もうすぐ3周年を迎えます…… 特別な記念イベントを開催して、長年私を支えてくれた仲間たちに感謝を伝えたいと思います! イベント期間:9月13日~9月19日 イベント場所:このブログのコメント欄(本ページ) イベント賞品:二次元福袋&お菓子詰め合わせ&その他ミステリアスなアイテム。あなたが正統なヨーロッパ人の血を引いているか試す時が来ました! 参加方法その1:阿珏Blog三周年活動 - 萌音社区 参加方法その2:ご自身のブログで「阿珏ちゃんをどう評価するか」というテーマの記事を投稿してください。阿珏への祝福、阿珏のブログへの評価、阿珏に言いたいこと、阿珏との思い出など、何でも書いてください。もし阿珏を感動させることができたら、おめでとうございます、当選です! **賞品の受け取り方法 ** 阿珏から当選の通知が届いたら、コメント時に使用したメールアドレスから master@moeins.cn または admin@52ecy.cn 宛に、以下の内容をプライベートメッセージでお送りください。 お届け先住所、受取人氏名、受取人の連絡先電話番号 任意項目:性別、年齢、恋人の有無、自撮り写真、スマートフォンの機種など。福袋の中身の参考にさせていただきます。 すべてのやり取りは非公開で行われ、第三者に情報が漏れることはありません。 配送業者はランダムで、全世界送料無料です。業者の指定はできません。もしお住まいの地域で受け取れなかった場合は…私には関係ありませんので悪しからず。 賞品はイベント終了後、7営業日以内に発送を手配します。 **イベントルール ** 知り合い限定 個人ブログをお持ちのブロガーさん限定 この記事を読んだ方限定 人柄が良い方限定 イケメン限定 可愛い人限定 私がルールだ! 福袋プレビュー(以下の内容が含まれますが、これに限りません) フィギュア、ぬいぐるみ、キーホルダー、ペン、イヤホン、カードステッカー、缶バッジ、ポストカード、ノート、扇子、ネックレス、スマホフィルム、ブレスレット、指輪、マット、ミニクッション、マスコット、変身ステッキ、ZWB、H漫画、彼女、ちまき、月餅、ゴミ、カード、阿珏ちゃんなど。 これらの賞品の中から1つ、または複数が入っています。ポストカードは100%当選し、阿珏があなたに宛てて手書きしたメッセージも付いてきます。 賞品はどれも高価なものではありませんが、阿珏からのささやかな気持ちです。これまで長い間、私を応援し、支えてくれた仲間たちに心から感謝しています。 皆さん、中秋節おめでとうございます。楽しんでくださいね~ どんどんコメントしてください~

2019年9月13日 · 1 分 · MoeJue

初音ミク、12周年のお誕生日おめでとう!

初音ミク「マジカルミライ 2019」ライブ - フューチャーサーカス 姫殿下にご挨拶! 等身大のミクちゃん あっ、床が滑って転んじゃった 初音ミク ポストカードコレクション 予告:今月はブログ3周年記念イベント。これらのポストカードを発送する予定です………続く

2019年9月2日 · 1 分 · MoeJue

サボっていた主が、新版の三合一を持って帰ってきました。

5月20日の告白以来、ハト主は行方不明の状態が続いていました……. 何ヶ月ぶりか分かりませんが、三合一がまた更新されました。2ヶ月前にグループで立てた目標を、今日達成しました。間の2ヶ月間何をしていたかは聞かないでください-.-(大規模なハトの集会に参加するのに忙しかった) 正文 ネットワーク認識が頻繁にダウンし、非常に不安定であるというフィードバックを多くの仲間から受けていたため、今回特別にローカル認識を更新しました。 1G以上のメモリを搭載したマシンへのインストールを推奨します。推奨構成は2コア2G、最適構成は16コア32Gです [#手動顔文字] v2.0 ローカルQRコード認識と生成を追加 ネットワーク認識インターフェースを削除 既知のバグを修正 その他のいくつかの詳細な最適化 詳細な説明とインストールチュートリアルは、こちらをクリックして以前のバージョンをご覧ください。 新しいバージョンのウェブサイトはすべて古いバージョンのデータを保持しており、以前のユーザーの使用には影響せず、スポンサー版のデータとも同期されています。 スポンサー版 旧バージョンの海賊版が横行していたため、新版の三合一にはスポンサー版が追加されました。 デモサイト:https://qr.moeins.cn スポンサー版の主な特徴: QRコードの認識と生成を最適化し、認識精度を大幅に向上させ、認識速度を高速化し、CPUとメモリを占有せず、より安定しています。 21種類の三合一生成テンプレートを新規追加し、無限拡張をサポートします。追加チュートリアルは文末にあります。 外部APIインターフェースを新規追加しました。このプログラムに限定されず、どのプログラムからでも呼び出し可能です。 入手方法: こちらをクリックして18.88元以上をプロジェクトに寄付すると、決済コード三合一のスポンサー限定版を入手できます。ぜひお試しください! スポンサー版に関するいくつかの小さな説明(これまでは特に説明していませんでした) これまでのところ、私のすべてのスポンサー版プロジェクトはドメインに縛られず、暗号化されておらず、自由に拡張でき、二次開発をサポートしており、スポンサー金額も低く設定されています。そのため、スポンサーしてくださった方々は、入手したソースコードを安易に共有しないようお願いいたします。これは作者への敬意であり、ご自身の権利の保護でもあります。売買関係ではないため、重大なバグがない限り、作者は不定期に更新するか、無期限に更新を延期する場合があります。小さな問題が発生した場合、作者が空いている時間であれば指導や修正を手伝う用意がありますが、大規模な新機能の追加といった場合には、協力を拒否するか、別途料金をいただく権利があります。 スポンサー版テンプレート拡張チュートリアル テンプレートの推奨サイズは:900*1200 テンプレート画像を/public/static/images/template/テンプレートディレクトリに配置します。注意点として、中国語名を使用せず、jpg拡張子のみをサポートします。 ルートディレクトリのconfig.phpにあるqr_template項目に関連データを以下のような形式で設定します。 '001' => [ 'name' => '默认模板', 'data' => [ 150,200 ], 'title' => true, 'size' => 20 ] パラメータ説明 名称 変数名 必須 型 例 説明 テンプレートID なし はい int 001 テンプレートのファイル名。数字を推奨し、重複不可。 エイリアス name はい string デフォルトテンプレート フロントエンドに表示されるテンプレートのエイリアス X,Y data はい array [150,200] QRコード生成の左上隅の開始X(横座標)、Y(縦座標)座標。負の値は不可で、テンプレートサイズより小さいこと。 テンプレートタイトル title いいえ bool false テンプレートタイトルを有効にするかどうか。テンプレートがサポートしている場合(デフォルトテンプレートなど)に使用。空でも可。 サイズ size いいえ int 20 QRコードの生成サイズ。デフォルトは20。空でも可。 はい、とても簡単です!

2019年8月4日 · 1 分 · MoeJue