WeChatアプレットが開発した四十個の技術的コツのまとめ(おすすめ)


前言
WeChat「アプレット」が正式にオープンしてから一週間が経ち、話題は上がり続けています。アリペイが開発した「小プログラム」のニュースもすぐに暴露され、インターネットの大手たちが腕をもむと、多くのネットユーザーがこの勢いは既存の「APP帝国」に挑戦するとからかっています。それでは、このような手に汗を握る小さなプログラムに対して、WeX 5モバイル開発雲も暇ではありません。ネット検索を通じて、小さなプログラム開発者の必読の文章を選び出します。
Q:なぜ台本内ではwindowなどのオブジェクトが使えないですか?
A:ページのスクリプトロジックはJsCoreで実行されています。JsCoreはウィンドウオブジェクトがない環境ですので、シナリオではwindowは使えません。シナリオではコンポーネントを操作できません。
Q:なぜzept o/jqueryが使えないですか?
A:zept o/jqueryはwindowオブジェクトとdocumentオブジェクトに使用されますので、使用できません。
Q:wx.navigateToページを開けませんでした。
A:一つのアプリケーションは同時に5ページしか開けられません。5ページが開いた後、wx.navigateToは正常に新しいページを開けられません。マルチレベルのインタラクションを避けるか、またはwx.redirectToを使用してください。
Q:スタイルシートはカスケード選択に対応していません。
A:WXSSサポートでスタートするクラスセレクタです。
Q:ローカルリソースはcssでは取得できません。
A:background-image:インターネット画像、またはbase 64を使用することができます。
Q:ウィンドウの背景色を変更するにはどうすればいいですか?
A:Pageタグセレクタを使用して、トップノードのスタイルを変更することができます。

page { 
  display: block; 
  min-height: 100%; 
  background-color: red;
}
Q:なぜアップロードが失敗しましたか?
A:体験の流暢さを向上させるために、コンパイル後のコードパッケージのサイズは1 MB以下で、1 MB以上のコードパケットはアップロードに失敗します。
Q:HTTPS要求は成功していません。
A:tlsは1.2と以上のバージョンしかサポートしていません。
Q:ネットワークリクエストのreferer
A:ネットワーク要求のrefererは設定できません。フォーマットはhttps://servicewechat.com/{apped}/{version}/page-frame}では、{appid} はウィジェットのappidであり、 {version} はウィジェットのバージョン番号であり、バージョン番号は0は開発版である。
Q:Page.dataを直接操作できません。
A:Page.data に対して直接に値付けを行わないようにします。Page.setData を使って操作してください。データをページに同期させてレンダリングを行います。ユーザ入力をどうやって取得しますか?
ユーザーが入力したコンポーネントを取得するには、コンポーネントの属性bindchangeを使用してユーザの入力内容をAppServiceに同期させる必要がある。

<input id="myInput" bindchange="bindChange" /><checkbox id="myCheckbox" bindchange="bindChange" />
var inputContent = {}
 
Page({
 data: {
 inputContent: {}
 },
 bindChange: function(e) {
 inputContent[e.currentTarget.id] = e.detail.value
 }
})
Q:WeChatアプリはfetchやpromiseに対応していますか?
A:promiseツールは現在サポートされていません。fetchクライアントはツールの次のバージョンをサポートしていません。
Q:touchmoveスライドイベントの中のcurrentTarget.id値は変動しません。
A:ouchmove/touchendイベントのtarget/currentTargetはいつまでもtouch startの時のtarget/currentTargetです。
Q:wx.requestのPOSTメソッドのパラメータ転送サーバで受信できないバグ。
A:wx.request postのcontent-typeはデフォルトでは'application/json'です。
サーバーがJson解釈を使用していない場合、content-type urlencodedにセットしてもいいです。

wx.request({
....
method: "POST",
header: {
"content-type": "application/x-www-form-urlencoded"
},
...
})
Q:wx.uplloadFileは携帯電話でhttpコード403に戻ります。
A:AndroidのWeChatは6.5.2とそれ以上のバージョンにアップグレードされました。
Q:ウィジェットSVGはサポートされていますか?
A:イメージのsrcはリモートsvgでいいです。background-image里でもいいです。
Q:wx.requestはstatus Codeの両端のタイプに戻ります。
A:確かにこの問題があります。後でバージョンが修復されます。
Q:コンポーネントの動的生成と廃棄について?
A:動的生成コンポーネントはサポートされていませんが、wx:forで複数のレンダリングができます。
Q.アプレットは熱さをサポートしますか?
A:開発者の交代はサポートされていません。
Q:いくつかのインターフェースのコールバックIOSとAndroidは一致しません。例えば、支払いインターフェース、ユーザーがキャンセルした後、iosはcomplette方法だけをフィードバックします。androidはfail方法をフィードバックします。公式文書も何のコメントもなく、開発が困難になりました。似たような写真選択インターフェース、共有インターフェースなどがあります。
A:支払インターフェース、ユーザが支払いをキャンセルした後、iosはcompleteの方法だけをフィードバックします。androidはfailの方法に戻ります。問題は記録されました。フィードバックありがとうございます。
Q.iconがサーバーにいたら、直接URLにアクセスする方法で画像をロードしたいですが、よろしいですか?
A:できません。
Q:ipadはアプレットが使えませんか?
A:iPadはしばらくサポートされていません。
Q:プログラムオーディオ、ビデオプレーヤーの問題。1、プログレスバーと時間だけを隠してもいいですか?2、現在のiOSプラットフォームの時間表示は0:00ですが、androidにはエラーコードが表示されます。何か設定で変更できますか?
A:1:次のバージョンはここのインタラクションを修正します。プログレスバーと時間は表示されません。2:6.5.3バージョンはこの問題を修復しました。
Q:写真を撮る窓口に浮層を追加してもいいですか?
A:しばらくサポートしていません。
Q:開発者ツールがよくjsEngineScript Errerエラーを報告します。ページの白画面を招きます。
A:最新の0.2130400バージョンの開発ツールをダウンロードしてみます。
Q:開発者ツールでは、SPAページで、titleの変更は無効です。
A:wx.setNavigationBarTitleは、APIを介してナビゲーションバーのタイトルを変更することができる。
すみません、ウィジェットページでは画像の保存や共有をサポートしていますか?
A:今はこの機能がありません。
Q:swiperにおけるcurrentについて。新しいバージョンでは、直接currentを設定すると、どのswiper要素からクリックしても、swiperの最初のサブ要素の値が表示されます。
A:現在のswiperはswiper-itemのダイナミックな変化を処理する場合、いくつかのバグがあり、すぐに修復されます。
Q:小さいプログラムは自分のサーバーのwxssとjsファイルを引用できますか?
A:いいえ、リモートコードは実行できません。
Q.アップル7は内部エラーを提示し、メモリの占有が多すぎます。
A:ページのプリローディングは、リストの中に画像があります。画像のレンダリングが多すぎます。解決方法は不適切なスクリーンで展示された画像で、レンダリングさせません。
Q:アプリ体験者のAndroidカードはページを読み込んで入れません。IOSは入れます。
A:これはAndroidのWeChatクライアントの古いバージョンのbugです。最新バージョンの6.5.3クライアントをダウンロードしてください。
Q:マイクロクレジットは現在Bluetoothをサポートしていますか?
A:今はサポートしていません。
Q:シェア機能の真機は効果がありませんか?
A:これはAndroidのWeChatクライアントの古いバージョンのbugです。最新バージョンの6.5.3クライアントをダウンロードしてください。
Q:httpsを強制的に使って、開発とテスト環境ではどのように調合テストを行いますか?
A:「WeChat web開発者ツール」->「プロジェクト」-「開発環境チェック要求ドメインとTLSバージョン」。
Q:wx.showToast()メソッドは無効です。wx.requestを呼び出して、ネットワークを要求し、その後、

complete: function (res) {
 
// complete
wx.hideToast();
}
成功方法の中でshowToastを行う場合は無効となり、ポップアップメッセージボックスがありません。
A:success コールバックはcomplete より前のもので、success showToastであれば、次のステップ complete hideToast showToastによって流されます。
Q.pickerのコンポーネントの文字サイズは変更をサポートしていますか?
A:変更はサポートされていません。
Q:tabBarの写真はandroidとiosの上の大きさの違いが大きいです。
A:これはAndroidのWeChatクライアントの古いバージョンのbugです。最新バージョンの6.5.3クライアントをダウンロードしてください。
Q:tabbarページは問題を返します。トップページではないtabbarページで左上をクリックして矢印を返したら、どうやってウィジェットのトップページに戻りますか?今は直接プログラムを終了します。
A:新しいページを作成する時はnavigateToを使って新しいページを作成します。古いページを残しながら、redirectToを使うと、現在のページの中でジャンプします。
Q:Wx.request()は同期に設定されていますか?
A:reqeustはネットワーク要求を開始します。同期インターフェースがありません。
Q:最新のmac版のツールは使えません。入ってきたらapsperviceの取得に失敗しました。
A:ツール設定で直接ネットワークにリンクすることを選択します。またはシステム中のプロキシソフトウェア設定ツールが直接ネットワークに接続されます。
Q:実機view overflow-yが下がるとカードがかかります。
A:親の層はposition:relative; を追加する必要があります。その後はカードがなくなります。
締め括りをつける
以上が乾物の分かち合う主要な内容で、注意しなければならないのは、小さいプログラムの自身はまた絶えず調整して、改正して、改善の中で、続々と発見するBUGに対して、相応する修復をも行わなければなりません。小さいプログラムの開発に関心を持っている方は私達に注目してください。最新の小さいプログラムでドラック商品を開発します。この文章の内容は皆さんの学習や仕事に一定の助けをもたらすことを願っています。