Ma petite application du temps il y a Mon partenaire a présenté en détail la fonction de lecture de musique de l'applet NetEase Cloud Music. En tant que novice du front-end, j'ai été très occupé récemment et je n'ai pas écrit le contenu de recherche en temps réel. à temps pour partager avec vous (en fait, le code et la fonction ont déjà été presque écrits), donc aujourd'hui je vais vous parler de certains des détails et des optimisations que j'y ai apportés.
La fonction de recherche est très courante et peut être utilisée dans de nombreux endroits. J'espère pouvoir partager des choses utiles avec vous. En même temps, s'il y a des lacunes, j'espère que vous pourrez les signaler et les signaler. donner quelques suggestions de modifications Xiao Merci beaucoup !
Nous devons également utiliser l'interface API dans la fonction de recherche en temps réel, de la saisie de valeursdans la zone de saisie à la recherche de suggestions, puis aux résultats de recherche et enfin au passage à la lecture de la chanson. Ce n'est plus aussi simple que de recevoir, la transmission de valeur est essentielle, en même temps, le masquage et l'affichage de différentes boîtes de conteneurs sous différentes fonctions, ainsi que certains détails et optimisations impliqués dans la recherche. Jetons un coup d'oeil !
Aperçu de l'interface
Analyse de l'interface
Dans la barre de recherche principale : flèche de retour gauche, zone de saisie du milieu , accédez à la page de classement des chanteurs à droite ; quant au bouton d'effacement, nous l'avons masqué, et il n'apparaîtra qu'après avoir saisi la valeur de saisie.
En parcourant l'enregistrement de l'historique, la valeur d'enregistrement de chaque recherche est distribuée en petits morceaux à intervalles égaux. La longueur de la valeur de recherche est la longueur du petit morceau. Ici, nous utilisons Celui qui est arrivé. display: flex;flex-wrap: wrap;. Les amis intéressés par ce style d'interface peuvent consulter l'intégralité du code plus tard.
L'étape suivante est la liste de recherche rapide. Il n'y a pas beaucoup d'accent ici, il suffit de lancer une interface pour demander des données, d'enterrer les données et de les afficher.
Les suggestions de recherche apparaîtront une fois la saisie terminée, et elles sont très tridimensionnelles et couvrent toute la page. Utilisez box-shadow: 1px 1px 5px #888888 pour obtenir un effet tridimensionnel, et z-index pour avoir une superposition. effet.
Les résultats de la recherche apparaîtront après avoir cliqué sur l'une des suggestions de recherche ou cliqué sur l'historique de recherche ou la recherche rapide. En même temps, tous les autres conteneurs de l'interface seront masqués. et l’apparence d’une boîte conteneur C’est un petit détail, nous en parlerons en détail plus tard dans la fonction. Ici on parle d'abord de comment masquer et afficher des composants (conteneurs), afin de ne pas voir ces contenus obscurcis dans les fonctions suivantes
L'affichage d'en-tête de plusieurs conteneurs
<!-- 点击×可以清空正在输入 -->
<image></image>复制代码
<!-- 搜索建议 -->
<view>复制代码</view>
<!-- 搜索结果 -->
<view>复制代码</view>
<!-- 搜索历史 -->
<view>复制代码</view>
<!-- 热搜榜 -->
<view>复制代码</view>
Analyse : Seul le contenu des en-têtes de ces conteneurs est placé ici. data est placé respectivement dans la source de données showClean,showSongResult,showSearchResult,showView. Si c'est true , ces conteneurs sont par défaut ceux devant : (deux-points). Style, s'il est faux, le style par défaut après : (deux-points) ; le style header_view_hide est défini sur display: none;, c'est-à-dire qu'il est masqué et non affiché, donc dans une certaine méthode, vous peut changer showClean,showSongResult,showSearchResult,showView en true ou falseVous pouvez afficher ou masquer ces conteneurs respectivement.
Encapsulation d'interface
L'encapsulation d'interface a été expliquée très clairement par mon ami dans l'article précédent. Nous ne l'expliquerons pas davantage ici. Les mêmes fonctions utilisées maintenant ne le sont pas non plus. c'est aussi simple que d'ajuster l'interface pour demander des données, nous devons transmettre la valeur à l'interface et laisser l'interface nous renvoyer les données correspondantes après avoir reçu la valeur dans l'interface de recherche, nous utilisons l'interface pour les suggestions de recherche et ; résultats de recherche. Pour la liste de recherche rapide, nous utilisons uniquement le plus basique wx.requestpour obtenir les données directement
Nous concevrons de nombreuses données pour une fonction de recherche, qui peuvent être répertoriées en détail : valeur d'entrée inputValue, obtenue lors de la saisie des données de la liste de recherche rapide ; hots, obtenu via l'interface de recherche chaude ; Le mot-clé de recherche searchKey, qui est la valeur de la zone de saisie, est utilisé pour transmettre aux suggestions de recherche en tant que mots-clés de recherche searchSuggest, les données (suggestions de recherche) renvoyées par le ; interface de suggestion de recherche après avoir obtenu le mot-clé de recherche searchResult, lorsque l'on clique sur l'une des suggestions de recherche, cette valeur sera renseignée dans le champ de recherche. À ce moment, le mot-clé de recherche searchKey deviendra cette valeur et transmis. à l'interface des résultats de recherche, et les données renvoyées seront placées dans searchResult; Enfin, il y a l'historique de recherche history Chaque fois qu'une recherche est effectuée, la valeur de la zone de saisie d'origine est mise dans les données history. source. Concernant les autres sources de données, cela implique le masquage et l'affichage des composants, c'est-à-dire dans quelles circonstances le cadre conteneur de chaque pièce est-il masqué et dans quelles circonstances est-il affiché.
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.