{"id":41687,"date":"2025-06-04T03:23:08","date_gmt":"2025-06-03T19:23:08","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/41687.html"},"modified":"2025-06-04T03:23:08","modified_gmt":"2025-06-03T19:23:08","slug":"%e5%85%8d%e8%b4%b9%e9%85%92%e5%ba%97%e7%ae%a1%e7%90%86%e7%b3%bb%e7%bb%9f%e9%a4%90%e9%a5%ae%e7%b3%bb%e7%bb%9f%e5%b0%8f%e7%a8%8b%e5%ba%8f%e7%82%b9%e9%a4%90-%e4%bb%99%e7%9b%9f%e5%88%9b","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/41687.html","title":{"rendered":"\u514d\u8d39\u9152\u5e97\u7ba1\u7406\u7cfb\u7edf+\u9910\u996e\u7cfb\u7edf+\u5c0f\u7a0b\u5e8f\u70b9\u9910\u2014\u2014\u4ed9\u76df\u521b\u68a6IDE"},"content":{"rendered":"<p>\u00a0\u9152\u5e97\u7cfb\u7edf\u4e3b\u5c4f\u5e55<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"607\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192304-683f4b985f182.png\" width=\"1366\" \/><\/p>\n<\/p>\n<h2>\u623f\u95f4\u7ba1\u7406<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"597\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192304-683f4b989f2e4.png\" width=\"1366\" \/>\u00a0\u9152\u5e97\u7ba1\u7406\u7cfb\u7edf\u7684\u623f\u95f4\u7ba1\u7406&#xff0c;\u53ef\u5b9e\u73b0\u5bf9\u9152\u5e97\u6240\u6709\u623f\u95f4\u7684\u5b9e\u65f6\u638c\u63a7\u3002\u5b83\u80fd\u6e05\u6670\u663e\u793a\u623f\u95f4\u72b6\u6001&#xff0c;\u5982\u5df2\u9884\u8ba2\u3001\u5df2\u5165\u4f4f\u3001\u7a7a\u95f2\u7b49&#xff0c;\u4fbf\u4e8e\u9ad8\u6548\u5b89\u6392\u5165\u4f4f\u4e0e\u9000\u623f&#xff0c;\u5408\u7406\u5206\u914d\u8d44\u6e90&#xff0c;\u63d0\u5347\u670d\u52a1\u6548\u7387&#xff0c;\u4fdd\u969c\u9152\u5e97\u8fd0\u8425\u6709\u6761\u4e0d\u7d0a<\/p>\n<\/p>\n<h2>\u623f\u578b\u7ba1\u7406<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"492\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192304-683f4b98de1d2.png\" width=\"1366\" \/>\u00a0\u9152\u5e97\u7ba1\u7406\u7cfb\u7edf\u7684\u623f\u578b\u7ba1\u7406\u81f3\u5173\u91cd\u8981\u3002\u5b83\u80fd\u6e05\u6670\u5212\u5206\u5404\u7c7b\u623f\u578b&#xff0c;\u5982\u5355\u4eba\u95f4\u3001\u5957\u623f\u7b49&#xff0c;\u5b9e\u65f6\u638c\u63e1\u5404\u623f\u578b\u6570\u91cf\u4e0e\u72b6\u6001\u3002\u52a9\u9152\u5e97\u5408\u7406\u5b9a\u4ef7&#xff0c;\u4f18\u5316\u8d44\u6e90\u914d\u7f6e&#xff0c;\u7cbe\u51c6\u6ee1\u8db3\u4e0d\u540c\u5ba2\u4eba\u9700\u6c42&#xff0c;\u63d0\u5347\u5165\u4f4f\u4f53\u9a8c\u4e0e\u9152\u5e97\u8fd0\u8425\u6548\u7387<\/p>\n<\/p>\n<h2>\u697c\u5c42\u7ba1\u7406<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"589\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192305-683f4b991c852.png\" width=\"1365\" \/><\/p>\n<p>\u9152\u5e97\u7ba1\u7406\u7cfb\u7edf\u7684\u697c\u5c42\u7ba1\u7406&#xff0c;\u5bf9\u9152\u5e97\u6709\u5e8f\u8fd0\u8425\u610f\u4e49\u91cd\u5927\u3002\u5b83\u80fd\u6309\u697c\u5c42\u6574\u5408\u623f\u95f4\u4fe1\u606f&#xff0c;\u4fbf\u4e8e\u5458\u5de5\u5feb\u901f\u5b9a\u4f4d\u3002\u901a\u8fc7\u5408\u7406\u89c4\u5212\u5404\u697c\u5c42\u529f\u80fd&#xff0c;\u4f18\u5316\u623f\u95f4\u5206\u914d&#xff0c;\u63d0\u5347\u5ba2\u4eba\u5165\u4f4f\u4fbf\u6377\u6027&#xff0c;\u540c\u65f6\u52a9\u529b\u9152\u5e97\u8fdb\u884c\u9488\u5bf9\u6027\u7ef4\u62a4\u4e0e\u7ba1\u7406<\/p>\n<\/p>\n<h2>\u4fc3\u9500\u7ba1\u7406<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"570\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192305-683f4b9958f19.png\" width=\"1366\" \/>\u00a0<\/p>\n<h2>\u8ba2\u5355\u7ba1\u7406<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"570\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192305-683f4b99971d1.png\" width=\"1353\" \/><\/p>\n<p>\u00a0<\/p>\n<p>\u9152\u5e97\u7ba1\u7406\u7cfb\u7edf\u4e2d\u7684\u8ba2\u5355\u7ba1\u7406&#xff0c;\u5bf9\u9152\u5e97\u8fd0\u8425\u8d77\u7740\u6838\u5fc3\u67a2\u7ebd\u4f5c\u7528\u3002\u5b83\u6574\u5408\u6765\u81ea\u5404\u6e20\u9053\u7684\u8ba2\u5355&#xff0c;\u5b9e\u65f6\u66f4\u65b0\u5ba2\u623f\u9884\u8ba2\u72b6\u6001&#xff0c;\u907f\u514d\u8d85\u552e\u3002\u80fd\u7cbe\u51c6\u8bb0\u5f55\u5ba2\u4eba\u4fe1\u606f\u3001\u5165\u4f4f\u9000\u623f\u65f6\u95f4\u53ca\u7279\u6b8a\u9700\u6c42&#xff0c;\u52a9\u9152\u5e97\u63d0\u4f9b\u4e2a\u6027\u5316\u670d\u52a1\u3002\u901a\u8fc7\u5206\u6790\u8ba2\u5355\u6570\u636e&#xff0c;\u8fd8\u80fd\u9884\u6d4b\u5ba2\u6e90\u8d8b\u52bf&#xff0c;\u8f85\u52a9\u623f\u4ef7\u4e0e\u8425\u9500\u7b56\u7565\u5236\u5b9a\u3002<\/p>\n<\/p>\n<p>\u800c\u65e9\u9910\u7ba1\u7406\u662f\u5176\u8d34\u5fc3\u5ef6\u4f38\u3002\u53ef\u4f9d\u8ba2\u5355\u7edf\u8ba1\u542b\u65e9\u4eba\u6570&#xff0c;\u4fbf\u4e8e\u53a8\u623f\u5907\u9910&#xff0c;\u51cf\u5c11\u6d6a\u8d39\u3002\u7cfb\u7edf\u8fd8\u652f\u6301\u5ba2\u4eba\u63d0\u524d\u9009\u62e9\u65e9\u9910\u7c7b\u578b&#xff0c;\u4f18\u5316\u5c31\u9910\u6d41\u7a0b\u3002\u540c\u65f6\u8bb0\u5f55\u5ba2\u4eba\u996e\u98df\u504f\u597d&#xff0c;\u4e3a\u540e\u7eed\u670d\u52a1\u63d0\u4f9b\u53c2\u8003&#xff0c;\u5168\u65b9\u4f4d\u63d0\u5347\u5ba2\u4eba\u4f4f\u5bbf\u4f53\u9a8c&#xff0c;\u589e\u5f3a\u9152\u5e97\u7ade\u4e89\u529b\u3002<\/p>\n<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"580\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192305-683f4b99d9a5d.png\" width=\"1098\" \/><\/p>\n<\/p>\n<h2>\u9910\u996e\u7ba1\u7406<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"550\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192306-683f4b9a2788e.png\" width=\"1360\" \/><\/p>\n<p>\u00a0<\/p>\n<p>\u9152\u5e97\u7ba1\u7406\u7cfb\u7edf\u7684\u9910\u996e\u7ba1\u7406\u70b9\u83dc\u529f\u80fd&#xff0c;\u4e3a\u9152\u5e97\u9910\u996e\u670d\u52a1\u5e26\u6765\u9ad8\u6548\u4e0e\u4fbf\u6377\u3002\u987e\u5ba2\u53ef\u901a\u8fc7\u7ebf\u4e0a\u5e73\u53f0\u3001\u9152\u5e97\u5185\u5e73\u677f\u7b49\u7ec8\u7aef\u4fbf\u6377\u70b9\u83dc&#xff0c;\u7cfb\u7edf\u5b9e\u65f6\u5c06\u8ba2\u5355\u4f20\u9001\u81f3\u53a8\u623f&#xff0c;\u51cf\u5c11\u6c9f\u901a\u8bef\u5dee\u4e0e\u670d\u52a1\u65f6\u95f4\u3002<\/p>\n<\/p>\n<p>\u5de5\u4f5c\u4eba\u5458\u80fd\u501f\u52a9\u8be5\u529f\u80fd&#xff0c;\u6e05\u6670\u67e5\u770b\u83dc\u54c1\u5e93\u5b58&#xff0c;\u907f\u514d\u70b9\u5355\u540e\u65e0\u8d27\u7684\u5c34\u5c2c\u60c5\u51b5&#xff0c;\u53ca\u65f6\u8c03\u6574\u91c7\u8d2d\u8ba1\u5212\u3002\u540c\u65f6&#xff0c;\u7cfb\u7edf\u8bb0\u5f55\u987e\u5ba2\u70b9\u83dc\u504f\u597d\u4e0e\u5386\u53f2\u8ba2\u5355&#xff0c;\u65b9\u4fbf\u63d0\u4f9b\u4e2a\u6027\u5316\u63a8\u8350&#xff0c;\u63d0\u5347\u987e\u5ba2\u7528\u9910\u4f53\u9a8c\u3002\u6b64\u5916&#xff0c;\u5b83\u8fd8\u80fd\u7edf\u8ba1\u83dc\u54c1\u9500\u91cf&#xff0c;\u52a9\u529b\u9152\u5e97\u5206\u6790\u70ed\u95e8\u83dc\u54c1&#xff0c;\u4f18\u5316\u83dc\u5355\u7ed3\u6784&#xff0c;\u63d0\u9ad8\u9910\u996e\u8fd0\u8425\u6548\u76ca\u3002<\/p>\n<\/p>\n<h2>\u9152\u5e97\u5ba3\u4f20-\u667a\u6167\u5927\u5c4f\u5e55<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"607\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192306-683f4b9a763a5.png\" width=\"1366\" \/><\/p>\n<p>\u00a0<img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"509\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192306-683f4b9aee2ee.png\" width=\"1365\" \/><\/p>\n<p>\u00a0<\/p>\n<h2>\u7cfb\u7edf\u5b89\u88c5\u65b9\u6cd5<\/h2>\n<h3>1.\u5b89\u88c5\u73af\u5883<\/h3>\n<p>npm install\u00a0<\/p>\n<h3>2.\u8fd0\u884c\u9152\u5e97\u7cfb\u7edf<\/h3>\n<p>npm run dev<\/p>\n<\/p>\n<h3>3.\u5b89\u88c5\u6570\u636e\u5e93<\/h3>\n<p>\u5b89\u88c5mysql&#xff0c;\u81ea\u884c\u5b89\u88c5mysql<\/p>\n<p>https:\/\/www.mysql.com\/cn\/<\/p>\n<h3>4. \u5b89\u88c5\u7f13\u5b58<\/h3>\n<p>redis<\/p>\n<p>\u5b89\u88c5\u4e0b\u8f7d\u5730\u5740&#xff1a;https:\/\/github.com\/bpollack\/miniredis<\/p>\n<p>\u542f\u52a8<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"345\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192307-683f4b9b302a7.png\" width=\"972\" \/><\/p>\n<h2>\u7cfb\u7edf\u914d\u7f6e\u622a\u56fe<\/h2>\n<h3>redis \u6587\u4ef6\u622a\u56fe<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"534\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192307-683f4b9b497ae.png\" width=\"766\" \/><\/p>\n<p>\u00a0<\/p>\n<h3 style=\"background-color:transparent\">\u5b89\u88c5\u73af\u5883\u622a\u56fe<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"442\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192307-683f4b9b5d99a.png\" width=\"964\" \/><\/p>\n<h3>\u00a0redis\u8fd0\u884c\u56fe<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"441\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192307-683f4b9b820b9.png\" width=\"940\" \/><\/p>\n<h2>\u5e38\u89c1\u9519\u8bef<\/h2>\n<p>\u65e0redis<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"408\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192307-683f4b9ba0c30.png\" width=\"961\" \/><\/p>\n<p>\u00a0<\/p>\n<h2>\u914d\u7f6e\u4fe1\u606f<\/h2>\n<h3>1.red\u914d\u7f6e<\/h3>\n<p># Include one or more other config files here.  This is useful if you<br \/>\n# have a standard template that goes to all Redis servers but also need<br \/>\n# to customize a few per-server settings.  Include files can include<br \/>\n# other files, so use this wisely.<br \/>\n#<br \/>\n# Note that option &#034;include&#034; won&#039;t be rewritten by command &#034;CONFIG REWRITE&#034;<br \/>\n# from admin or Redis Sentinel. Since Redis always uses the last processed<br \/>\n# line as value of a configuration directive, you&#039;d better put includes<br \/>\n# at the beginning of this file to avoid overwriting config change at runtime.<br \/>\n#<br \/>\n# If instead you are interested in using includes to override configuration<br \/>\n# options, it is better to use include as the last line.<br \/>\n#<br \/>\n# Included paths may contain wildcards. All files matching the wildcards will<br \/>\n# be included in alphabetical order.<br \/>\n# Note that if an include path contains a wildcards but no files match it when<br \/>\n# the server is started, the include statement will be ignored and no error will<br \/>\n# be emitted.  It is safe, therefore, to include wildcard files from empty<br \/>\n# directories.<br \/>\n#<br \/>\n# include \/path\/to\/local.conf<br \/>\n# include \/path\/to\/other.conf<br \/>\n# include \/path\/to\/fragments\/*.conf<br \/>\n#<\/p>\n<p>################################## MODULES #####################################<\/p>\n<p># Load modules at startup. If the server is not able to load modules<br \/>\n# it will abort. It is possible to use multiple loadmodule directives.<br \/>\n#<br \/>\n# loadmodule \/path\/to\/my_module.so<br \/>\n# loadmodule \/path\/to\/other_module.so<br \/>\n# loadmodule \/path\/to\/args_module.so [arg [arg &#8230;]]<\/p>\n<p>################################## NETWORK #####################################<\/p>\n<p># By default, if no &#034;bind&#034; configuration directive is specified, Redis listens<br \/>\n# for connections from all available network interfaces on the host machine.<br \/>\n# It is possible to listen to just one or multiple selected interfaces using<br \/>\n# the &#034;bind&#034; configuration directive, followed by one or more IP addresses.<br \/>\n# Each address can be prefixed by &#034;-&#034;, which means that redis will not fail to<br \/>\n# start if the address is not available. Being not available only refers to<br \/>\n# addresses that does not correspond to any network interface. Addresses that<br \/>\n# are already in use will always fail, and unsupported protocols will always BE<br \/>\n# silently skipped.<br \/>\n#<br \/>\n# Examples:<br \/>\n#<br \/>\n# bind 192.168.1.100 10.0.0.1     # listens on two specific IPv4 addresses<br \/>\n# bind 127.0.0.1 ::1              # listens on loopback IPv4 and IPv6<br \/>\n# bind * -::*                     # like the default, all available interfaces<br \/>\n#<br \/>\n# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the<br \/>\n# internet, binding to all the interfaces is dangerous and will expose the<br \/>\n# instance to everybody on the internet. So by default we uncomment the<br \/>\n# following bind directive, that will force Redis to listen only on the<br \/>\n# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis<br \/>\n# will only be able to accept client connections from the same host that it is<br \/>\n# running on).<br \/>\n#<br \/>\n# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES<br \/>\n# COMMENT OUT THE FOLLOWING LINE.<br \/>\n#<br \/>\n# You will also need to set a password unless you explicitly disable protected<br \/>\n# mode.<br \/>\n# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br \/>\nbind 127.0.0.1 -::1<\/p>\n<p># By default, outgoing connections (from replica to master, from Sentinel to<br \/>\n# instances, cluster bus, etc.) are not bound to a specific local address. In<br \/>\n# most cases, this means the operating system will handle that based on routing<br \/>\n# and the interface through which the connection goes out.<br \/>\n#<br \/>\n# Using bind-source-addr it is possible to configure a specific address to bind<br \/>\n# to, which may also affect how the connection gets routed.<br \/>\n#<br \/>\n# Example:<br \/>\n#<br \/>\n# bind-source-addr 10.0.0.1<\/p>\n<p># Protected mode is a layer of security protection, in order to avoid that<br \/>\n# Redis instances left open on the internet are accessed and exploited.<br \/>\n#<br \/>\n# When protected mode is on and the default user has no password, the server<br \/>\n# only accepts local connections from the IPv4 address (127.0.0.1), IPv6 address<br \/>\n# (::1) or Unix domain sockets.<br \/>\n#<br \/>\n# By default protected mode is enabled. You should disable it only if<br \/>\n# you are sure you want clients from other hosts to connect to Redis<br \/>\n# even if no authentication is configured.<br \/>\nprotected-mode yes<\/p>\n<p># Redis uses default hardened security configuration directives to reduce the<br \/>\n# attack surface on innocent users. Therefore, several sensitive configuration<br \/>\n# directives are immutable, and some potentially-dangerous commands are blocked.<br \/>\n#<br \/>\n# Configuration directives that control files that Redis writes to (e.g., &#039;dir&#039;<br \/>\n# and &#039;dbfilename&#039;) and that aren&#039;t usually modified during runtime<br \/>\n# are protected by making them immutable.<br \/>\n#<br \/>\n# Commands that can increase the attack surface of Redis and that aren&#039;t usually<br \/>\n# called by users are blocked by default.<br \/>\n#<br \/>\n# These can be exposed to either all connections or just local ones by setting<br \/>\n# each of the configs listed below to either of these values:<br \/>\n#<br \/>\n# no    &#8211; Block for any connection (remain immutable)<br \/>\n# yes   &#8211; Allow for any connection (no protection)<br \/>\n# local &#8211; Allow only for local connections. Ones originating from the<br \/>\n#         IPv4 address (127.0.0.1), IPv6 address (::1) or Unix domain sockets.<br \/>\n#<br \/>\n# enable-protected-configs no<br \/>\n# enable-debug-command no<br \/>\n# enable-module-command no<\/p>\n<p># Accept connections on the specified port, default is 6379 (IANA #815344).<br \/>\n# If port 0 is specified Redis will not listen on a TCP socket.<br \/>\n#port 6379<br \/>\nport 20259<\/p>\n<p># TCP listen() backlog. <\/p>\n<h2>\u914d\u7f6e\u547d\u4ee4<\/h2>\n<p>npm install<br \/>\nnpm warn ERESOLVE overriding peer dependency<br \/>\nnpm warn ERESOLVE overriding peer dependency<br \/>\nnpm warn deprecated crypto&#064;1.0.1: This package is no longer supported. It&#039;s now a built-in Node module. If you&#039;ve depended on crypto, you should switch to the one that&#039;s built-in.<br \/>\nnpm warn deprecated inflight&#064;1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.<br \/>\nnpm warn deprecated lodash.get&#064;4.4.2: This package is deprecated. Use the optional chaining (?.) operator instead.<br \/>\nnpm warn deprecated &#064;babel\/plugin-proposal-class-properties&#064;7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use &#064;babel\/plugin-transform-class-properties instead.<br \/>\nnpm warn deprecated &#064;humanwhocodes\/config-array&#064;0.5.0: Use &#064;eslint\/config-array instead<br \/>\nnpm warn deprecated source-map-url&#064;0.4.1: See https:\/\/github.com\/lydell\/source-map-url#deprecated<br \/>\nnpm warn deprecated rimraf&#064;2.6.3: Rimraf versions prior to v4 are no longer supported<br \/>\nnpm warn deprecated rimraf&#064;2.7.1: Rimraf versions prior to v4 are no longer supported<br \/>\nnpm warn deprecated &#064;stylelint\/postcss-markdown&#064;0.36.2: Use the original unforked package instead: postcss-markdown<br \/>\nnpm warn deprecated urix&#064;0.1.0: Please see https:\/\/github.com\/lydell\/urix#deprecated<br \/>\nnpm warn deprecated rimraf&#064;3.0.2: Rimraf versions prior to v4 are no longer supported<br \/>\nnpm warn deprecated mkdirp&#064;0.5.4: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)<br \/>\nnpm warn deprecated glob&#064;7.2.3: Glob versions prior to v9 are no longer supported<br \/>\nnpm warn deprecated glob&#064;7.1.3: Glob versions prior to v9 are no longer supported<br \/>\nnpm warn deprecated glob&#064;7.1.2: Glob versions prior to v9 are no longer supported<br \/>\nnpm warn deprecated source-map-resolve&#064;0.5.3: See https:\/\/github.com\/lydell\/source-map-resolve#deprecated<br \/>\nnpm warn deprecated resolve-url&#064;0.2.1: https:\/\/github.com\/lydell\/resolve-url#deprecated<br \/>\nnpm warn deprecated debug&#064;4.1.1: Debug versions &gt;&#061;3.2.0 &lt;3.2.7 || &gt;&#061;4 &lt;4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https:\/\/github.com\/visionmedia\/debug\/issues\/797)<br \/>\nnpm warn deprecated debug&#064;4.1.1: Debug versions &gt;&#061;3.2.0 &lt;3.2.7 || &gt;&#061;4 &lt;4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https:\/\/github.com\/visionmedia\/debug\/issues\/797)<br \/>\nnpm warn deprecated debug&#064;4.1.1: Debug versions &gt;&#061;3.2.0 &lt;3.2.7 || &gt;&#061;4 &lt;4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https:\/\/github.com\/visionmedia\/debug\/issues\/797)<br \/>\nnpm warn deprecated debug&#064;4.1.1: Debug versions &gt;&#061;3.2.0 &lt;3.2.7 || &gt;&#061;4 &lt;4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https:\/\/github.com\/visionmedia\/debug\/issues\/797)<br \/>\nnpm warn deprecated formidable&#064;1.2.6: Please upgrade to latest, formidable&#064;v2 or formidable&#064;v3! Check these notes: https:\/\/bit.ly\/2ZEqIau<br \/>\nnpm warn deprecated debug&#064;3.2.6: Debug versions &gt;&#061;3.2.0 &lt;3.2.7 || &gt;&#061;4 &lt;4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https:\/\/github.com\/visionmedia\/debug\/issues\/797)<br \/>\nnpm warn deprecated &#064;humanwhocodes\/object-schema&#064;1.2.1: Use &#064;eslint\/object-schema instead<br \/>\nnpm warn deprecated babel-eslint&#064;8.2.6: babel-eslint is now &#064;babel\/eslint-parser. This package will no longer receive updates.<br \/>\nnpm warn deprecated uuid&#064;3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https:\/\/v8.dev\/blog\/math-random for details.<br \/>\nnpm warn deprecated &#064;stylelint\/postcss-css-in-js&#064;0.37.3: Package no longer supported. Contact Support at https:\/\/www.npmjs.com\/support for more info.<br \/>\nnpm warn deprecated mkdirp&#064;0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)<br \/>\nnpm warn deprecated superagent&#064;3.8.3: Please upgrade to v9.0.0&#043; as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0&#043; requires Node.js v14.18.0&#043;. See https:\/\/github.com\/ladjs\/superagent\/pull\/1800 for insight. This project is supported and maintained by the team at Forward Email &#064; https:\/\/forwardemail.net<br \/>\nnpm warn deprecated eslint&#064;5.16.0: This version is no longer supported. Please see https:\/\/eslint.org\/version-support for other options.<br \/>\nnpm warn deprecated eslint&#064;7.32.0: This version is no longer supported. Please see https:\/\/eslint.org\/version-support for other options.<br \/>\nnpm warn deprecated core-js&#064;2.6.12: core-js&#064;&lt;3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.<\/p>\n<p>added 1918 packages, and audited 2056 packages in 11m<\/p>\n<p>229 packages are looking for funding<br \/>\n  run &#096;npm fund&#096; for details<\/p>\n<p>94 vulnerabilities (5 low, 22 moderate, 23 high, 44 critical)<\/p>\n<p>To address issues that do not require attention, run:<br \/>\n  npm audit fix<\/p>\n<p>To address all issues (including breaking changes), run:<br \/>\n  npm audit fix &#8211;force<\/p>\n<p>Run &#096;npm audit&#096; for details.<\/p>\n<p>D:\\\\ai\\\\wlzchotelfree&gt;npm run dev<\/p>\n<p>&gt; hotel-manage&#064;1.0.0 dev<br \/>\n&gt; egg-bin dev &#8211;sticky<\/p>\n<p>[egg-ts-helper] create typings\\\\app\\\\extend\\\\application.d.ts (17ms)<br \/>\n[egg-ts-helper] create typings\\\\app\\\\extend\\\\context.d.ts (19ms)<br \/>\n[egg-ts-helper] create typings\\\\app\\\\extend\\\\helper.d.ts (24ms)<br \/>\n[egg-ts-helper] create typings\\\\app\\\\controller\\\\index.d.ts (80ms)<br \/>\n[egg-ts-helper] create typings\\\\app\\\\middleware\\\\index.d.ts (18ms)<br \/>\n[egg-ts-helper] create typings\\\\app\\\\model\\\\index.d.ts (19ms)<br \/>\n[egg-ts-helper] create typings\\\\config\\\\index.d.ts (38ms)<br \/>\n[egg-ts-helper] create typings\\\\config\\\\plugin.d.ts (23ms)<br \/>\n[egg-ts-helper] create typings\\\\app\\\\service\\\\index.d.ts (42ms)<br \/>\n[egg-ts-helper] create typings\\\\app\\\\index.d.ts (2ms)<br \/>\n2025-06-02 02:37:39,637 INFO 15384 [master] node version v22.13.0<br \/>\n2025-06-02 02:37:39,639 INFO 15384 [master] egg version 2.37.0<br \/>\n[egg-ts-helper] create typings\\\\app\\\\extend\\\\application.d.ts (6ms)<br \/>\n[egg-ts-helper] create typings\\\\app\\\\extend\\\\context.d.ts (9ms)<br \/>\n[egg-ts-helper] create typings\\\\app\\\\extend\\\\helper.d.ts (11ms)<br \/>\n[egg-ts-helper] create typings\\\\app\\\\controller\\\\index.d.ts (12ms)<br \/>\n[egg-ts-helper] create typings\\\\app\\\\middleware\\\\index.d.ts (5ms)<br \/>\n[egg-ts-helper] create typings\\\\app\\\\model\\\\index.d.ts (7ms)<br \/>\n[egg-ts-helper] create typings\\\\config\\\\index.d.ts (41ms)<br \/>\n[egg-ts-helper] create typings\\\\config\\\\plugin.d.ts (3ms)<br \/>\n[egg-ts-helper] create typings\\\\app\\\\service\\\\index.d.ts (9ms)<br \/>\n[egg-ts-helper] create typings\\\\app\\\\index.d.ts (3ms)<br \/>\nIgnoring invalid timezone passed to Connection: &#043;8:00. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection<br \/>\n2025-06-02 02:37:52,388 ERROR 13564 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379<br \/>\n    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1634:16) {<br \/>\n  errno: -4078,<br \/>\n  code: &#039;ECONNREFUSED&#039;,<br \/>\n  syscall: &#039;connect&#039;,<br \/>\n  address: &#039;127.0.0.1&#039;,<br \/>\n  port: 6379<br \/>\n}<br \/>\n2025-06-02 02:37:52,391 ERROR 13564 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379<br \/>\n    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1634:16)<br \/>\nerrno: -4078<br \/>\ncode: &#034;ECONNREFUSED&#034; <\/p>\n<h2>\u963f\u96ea\u6280\u672f\u89c2<\/h2>\n<p> \u8ba9\u6211\u4eec\u79ef\u6781\u6295\u8eab\u4e8e\u6280\u672f\u5171\u4eab\u7684\u6d6a\u6f6e\u4e2d&#xff0c;\u4e0d\u4ec5\u4ec5\u662f\u4f5c\u4e3a\u53d7\u76ca\u8005&#xff0c;\u66f4\u8981\u6210\u4e3a\u8d21\u732e\u8005\u3002\u65e0\u8bba\u662f\u5206\u4eab\u81ea\u5df1\u7684\u4ee3\u7801\u3001\u64b0\u5199\u6280\u672f\u535a\u5ba2&#xff0c;\u8fd8\u662f\u53c2\u4e0e\u5f00\u6e90\u9879\u76ee\u7684\u7ef4\u62a4\u548c\u6539\u8fdb&#xff0c;\u6bcf\u4e00\u4e2a\u5c0f\u5c0f\u7684\u4e3e\u52a8\u90fd\u53ef\u80fd\u6210\u4e3a\u63a8\u52a8\u6280\u672f\u8fdb\u6b65\u7684\u5de8\u5927\u529b\u91cf<\/p>\n<p>Embrace open source and sharing, witness the miracle of technological progress, and enjoy the happy times of humanity! Let&#039;s actively join the wave of technology sharing. Not only as beneficiaries, but also as contributors. Whether sharing our own code, writing technical blogs, or participating in the maintenance and improvement of open source projects, every small action may become a huge force driving technological progress.<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb996\u6b21\uff0c\u70b9\u8d5e20\u6b21\uff0c\u6536\u85cf10\u6b21\u3002\u9152\u5e97\u7cfb\u7edf\u4e3b\u5c4f\u5e55\u3002<\/p>\n","protected":false},"author":2,"featured_media":41672,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[3839,3838,556,3840,3837],"topic":[],"class_list":["post-41687","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-ide","tag-3838","tag-556","tag-3840","tag-3837"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u514d\u8d39\u9152\u5e97\u7ba1\u7406\u7cfb\u7edf+\u9910\u996e\u7cfb\u7edf+\u5c0f\u7a0b\u5e8f\u70b9\u9910\u2014\u2014\u4ed9\u76df\u521b\u68a6IDE - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/41687.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u514d\u8d39\u9152\u5e97\u7ba1\u7406\u7cfb\u7edf+\u9910\u996e\u7cfb\u7edf+\u5c0f\u7a0b\u5e8f\u70b9\u9910\u2014\u2014\u4ed9\u76df\u521b\u68a6IDE - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb996\u6b21\uff0c\u70b9\u8d5e20\u6b21\uff0c\u6536\u85cf10\u6b21\u3002\u9152\u5e97\u7cfb\u7edf\u4e3b\u5c4f\u5e55\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/41687.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-03T19:23:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192304-683f4b985f182.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/41687.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/41687.html\",\"name\":\"\u514d\u8d39\u9152\u5e97\u7ba1\u7406\u7cfb\u7edf+\u9910\u996e\u7cfb\u7edf+\u5c0f\u7a0b\u5e8f\u70b9\u9910\u2014\u2014\u4ed9\u76df\u521b\u68a6IDE - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2025-06-03T19:23:08+00:00\",\"dateModified\":\"2025-06-03T19:23:08+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/41687.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/41687.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/41687.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u514d\u8d39\u9152\u5e97\u7ba1\u7406\u7cfb\u7edf+\u9910\u996e\u7cfb\u7edf+\u5c0f\u7a0b\u5e8f\u70b9\u9910\u2014\u2014\u4ed9\u76df\u521b\u68a6IDE\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u514d\u8d39\u9152\u5e97\u7ba1\u7406\u7cfb\u7edf+\u9910\u996e\u7cfb\u7edf+\u5c0f\u7a0b\u5e8f\u70b9\u9910\u2014\u2014\u4ed9\u76df\u521b\u68a6IDE - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/41687.html","og_locale":"zh_CN","og_type":"article","og_title":"\u514d\u8d39\u9152\u5e97\u7ba1\u7406\u7cfb\u7edf+\u9910\u996e\u7cfb\u7edf+\u5c0f\u7a0b\u5e8f\u70b9\u9910\u2014\u2014\u4ed9\u76df\u521b\u68a6IDE - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb996\u6b21\uff0c\u70b9\u8d5e20\u6b21\uff0c\u6536\u85cf10\u6b21\u3002\u9152\u5e97\u7cfb\u7edf\u4e3b\u5c4f\u5e55\u3002","og_url":"https:\/\/www.wsisp.com\/helps\/41687.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2025-06-03T19:23:08+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/06\/20250603192304-683f4b985f182.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"10 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/41687.html","url":"https:\/\/www.wsisp.com\/helps\/41687.html","name":"\u514d\u8d39\u9152\u5e97\u7ba1\u7406\u7cfb\u7edf+\u9910\u996e\u7cfb\u7edf+\u5c0f\u7a0b\u5e8f\u70b9\u9910\u2014\u2014\u4ed9\u76df\u521b\u68a6IDE - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2025-06-03T19:23:08+00:00","dateModified":"2025-06-03T19:23:08+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/41687.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/41687.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/41687.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"\u514d\u8d39\u9152\u5e97\u7ba1\u7406\u7cfb\u7edf+\u9910\u996e\u7cfb\u7edf+\u5c0f\u7a0b\u5e8f\u70b9\u9910\u2014\u2014\u4ed9\u76df\u521b\u68a6IDE"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/41687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=41687"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/41687\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/41672"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=41687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=41687"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=41687"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=41687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}