まとめ:宝くじアイテムのメンテナンス後の感想

9212 ワード

2019-09-03 20:51:13
市販されている多くのバージョンのcaipiaoプロジェクト
最近phpバージョンのプロジェクトがあり、関連するメンテナンス、修正を行います.
お客様は既製のものを買って、修正をしました.問題が多いですね.何日かやったが,頭が大きい.
原作者は本当にlow家に着いたと言わざるを得ません.いいでしょう.人を批判しないで、やはり得たことを話しましょう.
1、phpサイトの問題
mysqlデータベースのバージョンの問題によるさまざまな小さな問題:sql_mode
a、not null結果insert時に値を与えないとエラーになり、ヒントのないinsertに失敗します.STRICT_TRANS_TABLES
b、groupby非強制列.ONLY_FULL_GROUP_BY
  sql_mode   :

ONLY_FULL_GROUP_BY:   GROUP BY    ,   SELECT   ,   GROUP BY   ,    SQL     ,     GROUP BY   
NO_AUTO_VALUE_ON_ZERO:            。     ,  0 NULL           。            0,         ,          。
STRICT_TRANS_TABLES:      ,                ,        ,          
NO_ZERO_IN_DATE:       ,          
NO_ZERO_DATE:     ,mysql           ,               。
ERROR_FOR_DIVISION_BY_ZERO:  INSERT UPDATE   ,       ,         。         ,        MySQL  NULL
NO_AUTO_CREATE_USER:   GRANT         
NO_ENGINE_SUBSTITUTION:                 ,      。      ,          ,       
PIPES_AS_CONCAT:  ”||”                 ,  Oracle       ,          Concat   
ANSI_QUOTES:   ANSI_QUOTES ,            ,          

 
2、apk問題
お客様はapkプロパティへのアクセスをパッケージ化する必要がありますが、webviewバージョンの互換性の問題にも成功しました.低バージョンはjsサポートに完璧ではありません.
Webviewはandroidシステム内蔵モジュールを使用しているため、異なるandroidバージョンに対応するwebviewが一致しません.
a、webview 39バージョン、android 5.1;ES 6構文はサポートされていません.layuiは支持がいいですね.
b、webviewバージョンが低いためchrome 76でページをリモートデバッグできず、inspectでjsを正常にデバッグできない.
c,alert,confirmは直接原生的にサポートされていない.Webviewで処理します.
public class MainActivity extends AppCompatActivity {

    private WebView webView1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        WebView.setWebContentsDebuggingEnabled(true);
        setContentView(R.layout.activity_main);
        webView1 = (WebView) findViewById(R.id.webView1);
        WebSettings webSettings = webView1.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webView1.setWebViewClient(new WebViewClient());
        webView1.setWebChromeClient(new WebChromeClient() {
            @Override
            public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {

                AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
                builder.setTitle("")
                        .setMessage(message)
                        .setPositiveButton("  ", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                result.confirm();
                            }
                        })
                        .setCancelable(false)
                        .create()
                        .show();
                return true;
            }

            @Override
            public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
                AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
                builder.setTitle("")
                        .setMessage(message)
                        .setPositiveButton("  ", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                result.confirm();
                            }
                        })
                        .setNegativeButton("  ", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                result.cancel();
                            }
                        })
                        .setCancelable(false)
                        .create()
                        .show();
                return true;
            }

            @Override
            public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, final JsPromptResult result) {

                final EditText et = new EditText(view.getContext());
                AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
                builder.setTitle("")
                        .setMessage(message)
                        .setView(et)
                        .setPositiveButton("  ", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                result.confirm(et.getText().toString());
                            }
                        })
                        .setNegativeButton("  ", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                result.cancel();
                            }
                        })
                        .setCancelable(false)
                        .create()
                        .show();
                return true;
            }
        });
        webView1.loadUrl("http://192.168.0.107");
    }

}