代码拉取完成,页面将自动刷新
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>js实现多叉树/遍历 js实现删除该文件及其所有的子级文件</title>
<link href="/2021/07/08/2021-07-08-js%E5%A4%9A%E5%8F%89%E6%A0%91%E9%81%8D%E5%8E%86/"/>
<url>/2021/07/08/2021-07-08-js%E5%A4%9A%E5%8F%89%E6%A0%91%E9%81%8D%E5%8E%86/</url>
<content type="html"><![CDATA[<p><font color=#999AAA >提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档</p></font><p>@<a href="%E6%96%87%E7%AB%A0%E7%9B%AE%E5%BD%95">TOC</a></p><hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1"><h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p><font color=#999AAA >js如何实现删除某个文件及其所有的子级文件、子级的子级文件…<br>js如何通过递归实现多叉树的遍历呢?<br></font></p><hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1"><h1 id="一、实现的效果-功能"><a href="#一、实现的效果-功能" class="headerlink" title="一、实现的效果/功能"></a>一、实现的效果/功能</h1><p><img src="https://img-blog.csdnimg.cn/20210708151726981.gif" alt="在这里插入图片描述"></p><p><font color=#999AAA >说明:删除图片这个目录及其所有的子级目录</p><h1 id="二、如何实现?"><a href="#二、如何实现?" class="headerlink" title="二、如何实现?"></a>二、如何实现?</h1><h2 id="1-首先看一下数据表的数据机构:"><a href="#1-首先看一下数据表的数据机构:" class="headerlink" title="1.首先看一下数据表的数据机构:"></a>1.首先看一下数据表的数据机构:</h2><p>//部分代码</p><figure class="highlight javascript"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs javascript"><span class="hljs-keyword">const</span> arr = [<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e66c854cb0900001598c46"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"//:"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"图片"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"fileder"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">""</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-string">"未知"</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625713795988</span>,<br> <span class="hljs-string">"sort"</span>: <span class="hljs-number">100</span><br> },<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e66c8bacc1cf00011fff2f"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"60e66c854cb0900001598c46"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"imgs"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"fileder"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">""</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-string">"未知"</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625713802650</span>,<br> <span class="hljs-string">"sort"</span>: <span class="hljs-number">100</span><br> },<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e66c92e22fbe0001adf45f"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"60e66c8bacc1cf00011fff2f"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"2.jpg"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"image/jpeg"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-a3eacf9e-6821-4c0d-b2ca-3efa3779ac92/f7ae9b6e-3e06-4b88-9587-61e54c4f9dfa.jpg"</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-number">22288</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625713809055</span><br> },<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e6770dacc1cf0001203d50"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"60e66c8bacc1cf00011fff2f"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"4.jpg"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"image/jpeg"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-a3eacf9e-6821-4c0d-b2ca-3efa3779ac92/a2a84ea2-5945-4bb1-b9c7-065e7246cd8b.jpg"</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-number">25730</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625716492032</span><br> },<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e69e7cf6a398000198098b"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"60e66c8bacc1cf00011fff2f"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"3.jpg"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"image/jpeg"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-a3eacf9e-6821-4c0d-b2ca-3efa3779ac92/13da3630-a1e7-45cf-9e15-d137cb23f22d.jpg"</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-number">16885</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625726586149</span><br> }<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e6772eacc1cf0001203e1b"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"60e677249dad8500018b082c"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"微信图片_20210706115238.png"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"image/png"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-a3eacf9e-6821-4c0d-b2ca-3efa3779ac92/19b5dccd-d66f-4471-9475-fc4f56a74bbe.png"</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-number">34141</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625716525580</span><br> }<br>]<br></code></pre></div></td></tr></table></figure><p><font color=#999AAA >结构说明:每一条数据都有一个”_id”以及“father_id”,”_id”是每条数据的id具有唯一性(相当于主键),”father_id”是上级目录的”_id”</p><h2 id="2-具体实现代码-全部代码"><a href="#2-具体实现代码-全部代码" class="headerlink" title="2.具体实现代码(全部代码)"></a>2.具体实现代码(全部代码)</h2><figure class="highlight javascript"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs javascript"><span class="hljs-comment">//这是从数据表中随便复制的几条数据</span><br><span class="hljs-keyword">const</span> arr = [<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e66c854cb0900001598c46"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"//:"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"图片"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"fileder"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">""</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-string">"未知"</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625713795988</span>,<br> <span class="hljs-string">"sort"</span>: <span class="hljs-number">100</span><br> },<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e66c8bacc1cf00011fff2f"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"60e66c854cb0900001598c46"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"imgs"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"fileder"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">""</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-string">"未知"</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625713802650</span>,<br> <span class="hljs-string">"sort"</span>: <span class="hljs-number">100</span><br> },<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e66c92e22fbe0001adf45f"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"60e66c8bacc1cf00011fff2f"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"2.jpg"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"image/jpeg"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-a3eacf9e-6821-4c0d-b2ca-3efa3779ac92/f7ae9b6e-3e06-4b88-9587-61e54c4f9dfa.jpg"</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-number">22288</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625713809055</span><br> },<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e6770dacc1cf0001203d50"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"60e66c8bacc1cf00011fff2f"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"4.jpg"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"image/jpeg"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-a3eacf9e-6821-4c0d-b2ca-3efa3779ac92/a2a84ea2-5945-4bb1-b9c7-065e7246cd8b.jpg"</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-number">25730</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625716492032</span><br> },<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e69e7cf6a398000198098b"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"60e66c8bacc1cf00011fff2f"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"3.jpg"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"image/jpeg"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-a3eacf9e-6821-4c0d-b2ca-3efa3779ac92/13da3630-a1e7-45cf-9e15-d137cb23f22d.jpg"</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-number">16885</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625726586149</span><br> },<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e677165c44840001087275"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"60e66c854cb0900001598c46"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"icons"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"fileder"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">""</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-string">"未知"</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625716500940</span>,<br> <span class="hljs-string">"sort"</span>: <span class="hljs-number">100</span><br> },<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e6771b8a69dc0001e4b35a"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"60e677165c44840001087275"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"1.png"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"image/png"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-a3eacf9e-6821-4c0d-b2ca-3efa3779ac92/725bdbb1-15fd-451b-84c7-9b4fe9c1eae0.png"</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-number">118235</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625716506809</span><br> },<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e677249dad8500018b082c"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"//:"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"musics"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"fileder"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">""</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-string">"未知"</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625716515809</span>,<br> <span class="hljs-string">"sort"</span>: <span class="hljs-number">100</span><br> },<br> {<br> <span class="hljs-string">"_id"</span>: <span class="hljs-string">"60e6772eacc1cf0001203e1b"</span>,<br> <span class="hljs-string">"father_id"</span>: <span class="hljs-string">"60e677249dad8500018b082c"</span>,<br> <span class="hljs-string">"file"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"微信图片_20210706115238.png"</span>,<br> <span class="hljs-string">"fileType"</span>: <span class="hljs-string">"image/png"</span>,<br> <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-a3eacf9e-6821-4c0d-b2ca-3efa3779ac92/19b5dccd-d66f-4471-9475-fc4f56a74bbe.png"</span>,<br> <span class="hljs-string">"size"</span>: <span class="hljs-number">34141</span><br> },<br> <span class="hljs-string">"createTime"</span>: <span class="hljs-number">1625716525580</span><br> }<br>]<br><span class="hljs-comment">//装取其目录下的所有子级数据</span><br><span class="hljs-keyword">let</span> alls = [];<br><span class="hljs-comment">/**</span><br><span class="hljs-comment"> * 通过id查找其子级以及子级的子级以及...</span><br><span class="hljs-comment"> * <span class="hljs-doctag">@param <span class="hljs-type">{Arrow}</span> </span>directory 当前目录</span><br><span class="hljs-comment"> * <span class="hljs-doctag">@param <span class="hljs-type">{*}</span> </span>count </span><br><span class="hljs-comment"> */</span><br><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">gets</span>(<span class="hljs-params">directory, count = <span class="hljs-number">2</span></span>) </span>{<br> <span class="hljs-keyword">let</span> temp = [];<span class="hljs-comment">//用于装取当前_id下的子级元素</span><br> directory.forEach(<span class="hljs-function"><span class="hljs-params">ite</span> =></span> {<br> arr.forEach(<span class="hljs-function">(<span class="hljs-params">item, index</span>) =></span> {<br> <span class="hljs-comment">// 判断数据中是否有当前的子级元素</span><br> <span class="hljs-keyword">if</span> (item.father_id == ite._id) {<br> temp.push(item);<br> <span class="hljs-comment">// 性能优化:如果当前文件不是文件夹类型,就将其删除,减少后面arr的遍历。</span><br> <span class="hljs-comment">// item.file.fileType != 'fileder' ? arr.splice(index, 1) : '';</span><br> }<br> });<br> })<br> alls.push(...temp);<br> <span class="hljs-keyword">if</span> (temp.length > <span class="hljs-number">0</span>) {<br> <span class="hljs-comment">// 判断是否第一次进来,如果不是则删除temp中的第一项(因为第一项已经遍历完成);</span><br> <span class="hljs-keyword">if</span> (count != <span class="hljs-number">1</span>) {<br> temp.splice(<span class="hljs-number">0</span>, <span class="hljs-number">1</span>);<br> }<br> <span class="hljs-comment">// 递归 将子级进行递归取值</span><br> gets(temp);<br> }<br>}<br>gets([arr[<span class="hljs-number">0</span>]], <span class="hljs-number">1</span>);<br><br><span class="hljs-comment">// console.log(alls);</span><br><span class="hljs-comment">// console.log(alls.length);</span><br><br>alls.forEach(<span class="hljs-function"><span class="hljs-params">item</span> =></span> {<br> <span class="hljs-comment">// 查看其 所有子级的name</span><br> <span class="hljs-built_in">console</span>.log(item.file.name);<br>});<br></code></pre></div></td></tr></table></figure><h1 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h1><p><font color=#999AAA >实现起来也并不是太难,主要是需要有清晰的逻辑以及对一些基础语法的掌握(如:递归级循环);</p>]]></content>
<categories>
<category>前端</category>
<category>js</category>
</categories>
<tags>
<tag>js实现多叉树/遍历</tag>
<tag>js实现删除该文件及其所有的子级文件</tag>
</tags>
</entry>
<entry>
<title>迈向python语法之函数/透过js去学习python(2)</title>
<link href="/2021/05/24/2021-05-24-js%E8%BF%88%E5%90%91python%E8%AF%AD%E6%B3%95%E4%B9%8B%E5%87%BD%E6%95%B0-%E9%80%8F%E8%BF%87js%E5%8E%BB%E5%AD%A6%E4%B9%A0python%EF%BC%882%EF%BC%89/"/>
<url>/2021/05/24/2021-05-24-js%E8%BF%88%E5%90%91python%E8%AF%AD%E6%B3%95%E4%B9%8B%E5%87%BD%E6%95%B0-%E9%80%8F%E8%BF%87js%E5%8E%BB%E5%AD%A6%E4%B9%A0python%EF%BC%882%EF%BC%89/</url>
<content type="html"><![CDATA[<h1 id="文章描述"><a href="#文章描述" class="headerlink" title="文章描述"></a>文章描述</h1><p><font color=#999AAA >js迈向python语法之函数(透过js去学习python)</p><p>@<a href="%E6%96%87%E7%AB%A0%E7%9B%AE%E5%BD%95">TOC</a></p></font><hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1"><h2 id="前言:"><a href="#前言:" class="headerlink" title="前言:"></a>前言:</h2><h2 id="在新版python中与js中的函数用法类似只不过是一些语法不同,以及在python中有一个强制位置参数这样的一个新的语法。"><a href="#在新版python中与js中的函数用法类似只不过是一些语法不同,以及在python中有一个强制位置参数这样的一个新的语法。" class="headerlink" title="在新版python中与js中的函数用法类似只不过是一些语法不同,以及在python中有一个强制位置参数这样的一个新的语法。"></a>在新版python中与js中的函数用法类似只不过是一些语法不同,以及在python中有一个<font color=red>强制位置参数</font>这样的一个新的语法。</h2><h2 id="一、语法:"><a href="#一、语法:" class="headerlink" title="一、语法:"></a>一、语法:</h2><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><span class="hljs-function"><span class="hljs-keyword">def</span> 函数名(<span class="hljs-params">参数列表</span>):</span><br> 函数体<br><br><span class="hljs-comment"># 示例:</span><br><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">sum</span>(<span class="hljs-params">num1,num2</span>):</span><br> <span class="hljs-keyword">return</span> num1+num2;<br><br><span class="hljs-comment"># 调用</span><br><span class="hljs-built_in">sum</span>(<span class="hljs-number">5</span>,<span class="hljs-number">5</span>);<br></code></pre></div></td></tr></table></figure><p><img src="https://img-blog.csdnimg.cn/img_convert/b89fd042bde6871f48e99a879382e0e0.png#pic_center" alt="在这里插入图片描述"></p><h2 id="二、参数传参:"><a href="#二、参数传参:" class="headerlink" title="二、参数传参:"></a>二、参数传参:</h2><h3 id="1-必需传参"><a href="#1-必需传参" class="headerlink" title="(1).必需传参"></a><font color=#3399ea>(1).必需传参</font></h3><blockquote><p>Q:什么是必需参数?<br>A:在python中函数的形参有多少个,那么在调用的时候就必须传多少个(形参和实参的数量必须一样)否则程序将会报错后面的代码将不会执行。而在js中则不会</p></blockquote><p><img src="https://img-blog.csdnimg.cn/20210524104137926.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3oxNzgzODgzMTIx,size_16,color_FFFFFF,t_70#pic_center" alt="在这里插入图片描述"></p><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><span class="hljs-comment"># 相关示例代码(python):</span><br><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">sum</span>(<span class="hljs-params">num1,num2</span>):</span><br> <span class="hljs-keyword">return</span> num1+num2;<br>print(<span class="hljs-string">'有参数:'</span>,<span class="hljs-built_in">sum</span>(<span class="hljs-number">5</span>,<span class="hljs-number">5</span>));<br><span class="hljs-built_in">sum</span>()<br>print(<span class="hljs-number">11111</span>);<br><br><br><span class="hljs-comment"># 相关示例代码(js):</span><br>function <span class="hljs-built_in">sum</span>(num1,num2){<br> <span class="hljs-keyword">return</span> num1+num2;<br>}<br>console.log(<span class="hljs-string">"有参数:"</span>,<span class="hljs-built_in">sum</span>(<span class="hljs-number">5</span>,<span class="hljs-number">5</span>));<br><span class="hljs-built_in">sum</span>();<br>console.log(<span class="hljs-number">111111</span>);<br></code></pre></div></td></tr></table></figure><h3 id="2-关键字参数"><a href="#2-关键字参数" class="headerlink" title="(2).关键字参数"></a><font color=#3399ea>(2).关键字参数</font></h3><blockquote><p>Q:什么是关键参数?</p><p>A:关键字参数:即在传参的时候我可以指定实参所对应的形参,而在js中貌似只能一一对应。</p></blockquote><p><img src="https://img-blog.csdnimg.cn/2021052410531667.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3oxNzgzODgzMTIx,size_16,color_FFFFFF,t_70#pic_center" alt="在这里插入图片描述"></p><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><span class="hljs-comment"># 相关示例代码(python):</span><br><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">test</span>(<span class="hljs-params">name2,age</span>):</span><br> print(<span class="hljs-string">'age是:'</span>,age);<br> print(<span class="hljs-string">'name是:'</span>,name2);<br><br>test(<span class="hljs-string">'zhang'</span>,<span class="hljs-number">20</span>);<br>test(age=<span class="hljs-number">20</span>,name2=<span class="hljs-string">'zhang'</span>);<br><br><br><span class="hljs-comment"># 相关示例代码(js):</span><br>function test(name2,age){<br> console.log(<span class="hljs-string">'age是:'</span>,age);<br> console.log(<span class="hljs-string">'name是:'</span>,name2);<br>};<br>test(<span class="hljs-string">'zhang'</span>,<span class="hljs-number">20</span>);<br>test(age=<span class="hljs-number">20</span>,name2=<span class="hljs-string">'zhang'</span>);<br></code></pre></div></td></tr></table></figure><h3 id="3-默认参数"><a href="#3-默认参数" class="headerlink" title="(3).默认参数"></a><font color=#3399ea>(3).默认参数</font></h3><blockquote><p> Q:什么是默认参数?<br> A:默认参数:即在形参中设定一个默认值</p></blockquote><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><span class="hljs-comment"># 在python中默认参数语法和js一样,都是在形参中直接设置</span><br><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">test</span>(<span class="hljs-params">name,age=<span class="hljs-number">20</span></span>):</span><br> print(name);<br> print(age);<br><br>test(<span class="hljs-string">'zhang'</span>)<br></code></pre></div></td></tr></table></figure><h3 id="4-不定参数"><a href="#4-不定参数" class="headerlink" title="(4).不定参数"></a><font color=#3399ea>(4).不定参数</font></h3><blockquote><p> Q:什么是不定参数呢?</p><p> A:不定参数:即在我编写函数的时候我也不知到这个函数需要传多少个参数或者是这个函数需要传许多的参数这时我们就可以使用不定参数</p></blockquote><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><span class="hljs-comment"># 语法</span><br><span class="hljs-comment"># python 在形参需要的参数前加一个*号</span><br><span class="hljs-comment"># js 在形参需要的参数前加一个...展开运算符</span><br><span class="hljs-comment"># 例如:</span><br><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">test</span>(<span class="hljs-params">num1,*args</span>):</span> <span class="hljs-comment"># *args代表这是一个不定参数</span><br></code></pre></div></td></tr></table></figure><p><img src="https://img-blog.csdnimg.cn/20210524111856123.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3oxNzgzODgzMTIx,size_16,color_FFFFFF,t_70#pic_center" alt="在这里插入图片描述"></p><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><span class="hljs-comment"># 相关示例代码(python):</span><br><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">test</span>(<span class="hljs-params">num1,*args</span>):</span><br> print(num1);<br> print(args);<br> <span class="hljs-comment"># 遍历args获取传过来的每一个参数</span><br> <span class="hljs-keyword">for</span> item <span class="hljs-keyword">in</span> args:<br> print(item);<br><br>test(<span class="hljs-number">2</span>,<span class="hljs-number">4</span>,<span class="hljs-number">6</span>,<span class="hljs-number">8</span>,<span class="hljs-number">9</span>,<span class="hljs-number">5</span>);<br><br><br><span class="hljs-comment"># 相关示例代码(js):</span><br>function test(num1,...args){<br> console.log(num1);<br> console.log(args);<br> // 遍历args获取传过来的每一个参数<br> args.forEach(item=>{<br> console.log(item);<br> })<br>};<br>test(<span class="hljs-number">2</span>,<span class="hljs-number">4</span>,<span class="hljs-number">6</span>,<span class="hljs-number">8</span>,<span class="hljs-number">9</span>,<span class="hljs-number">5</span>);<br></code></pre></div></td></tr></table></figure><h3 id="4-强制位置参数"><a href="#4-强制位置参数" class="headerlink" title="(4).强制位置参数"></a><font color=#3399ea>(4).强制位置参数</font></h3><blockquote><p> Q:什么是强制位置参数呢?</p><p> A:在Python3.8 新增了一个函数形参语法 / 用来指明函数形参必须使用指定位置参数,不能使用关键字参数的形式(即在 / 之前的实参不能使用关键字参数的心事传参)。</p></blockquote><p><img src="https://img-blog.csdnimg.cn/20210524141516885.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3oxNzgzODgzMTIx,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><span class="hljs-comment"># 相关代码</span><br><span class="hljs-comment"># 没有强制位置参数</span><br><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">f0</span>(<span class="hljs-params">a,b,c,d</span>):</span><br> print(a,b,c,d);<br><br>f0(<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">4</span>);<br>f0(<span class="hljs-number">11</span>,<span class="hljs-number">22</span>,c=<span class="hljs-number">33</span>,d=<span class="hljs-number">44</span>);<br>f0(a=<span class="hljs-number">111</span>,b=<span class="hljs-number">222</span>,c=<span class="hljs-number">333</span>,d=<span class="hljs-number">444</span>);<br><br><span class="hljs-comment"># 使用了强制位置参数</span><br><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">f</span>(<span class="hljs-params">a, b, /, c, d</span>):</span><br> print(a, b, c, d)<br><br>f(<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">4</span>);<br>f(<span class="hljs-number">11</span>,<span class="hljs-number">22</span>,c=<span class="hljs-number">33</span>,d=<span class="hljs-number">44</span>); <br>f(a=<span class="hljs-number">111</span>,b=<span class="hljs-number">222</span>,c=<span class="hljs-number">333</span>,d=<span class="hljs-number">444</span>); <span class="hljs-comment"># 报错,因为这里使用了前置位置参数 所以 a和b不能使用关键字参数的形式</span><br><br></code></pre></div></td></tr></table></figure><h2 id="三、匿名函数"><a href="#三、匿名函数" class="headerlink" title="三、匿名函数"></a>三、匿名函数</h2><blockquote><p> Q:什么是匿名函数呢?</p><p> A:匿名函数:即不再使用 def 语句这样标准的形式定义一个函数。在python 使用 lambda 来创建匿名函数(和js中有点不太一样,在python中只能在一行编写而在js中更灵活)</p></blockquote><p><img src="https://img-blog.csdnimg.cn/20210524175605327.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3oxNzgzODgzMTIx,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><span class="hljs-comment"># 匿名函数</span><br><span class="hljs-comment"># 语法</span><br><span class="hljs-comment"># lambda parmars1,parm2... : 执行体</span><br><span class="hljs-comment"># 示例代码</span><br><span class="hljs-built_in">sum</span>=<span class="hljs-keyword">lambda</span> num1, num2 : num1+num2;<br>print(<span class="hljs-built_in">sum</span>(<span class="hljs-number">15</span>,<span class="hljs-number">20</span>)); <span class="hljs-comment"># 35</span><br></code></pre></div></td></tr></table></figure>]]></content>
<categories>
<category>自学</category>
<category>python</category>
</categories>
<tags>
<tag>python语法</tag>
<tag>python总结</tag>
<tag>python小记</tag>
<tag>python学习</tag>
</tags>
</entry>
<entry>
<title>迈向python语法之基础语法/透过js去学习python(1)</title>
<link href="/2021/05/24/2021-05-24-js%E8%BF%88%E5%90%91python%E8%AF%AD%E6%B3%95%E4%B9%8B%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95-%E9%80%8F%E8%BF%87js%E5%8E%BB%E5%AD%A6%E4%B9%A0python%EF%BC%881%EF%BC%89/"/>
<url>/2021/05/24/2021-05-24-js%E8%BF%88%E5%90%91python%E8%AF%AD%E6%B3%95%E4%B9%8B%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95-%E9%80%8F%E8%BF%87js%E5%8E%BB%E5%AD%A6%E4%B9%A0python%EF%BC%881%EF%BC%89/</url>
<content type="html"><![CDATA[<h1 id="文章描述"><a href="#文章描述" class="headerlink" title="文章描述"></a>文章描述</h1><p><font color=#999AAA >js迈向python语法之基础语法(透过js去学习python)</p></font><hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1"><h1 id="一、数据类型"><a href="#一、数据类型" class="headerlink" title="一、数据类型"></a>一、数据类型</h1><h2 id="1-Number:"><a href="#1-Number:" class="headerlink" title="(1).Number:"></a><font color=#3399ea>(1).Number:</font></h2><h2 id="2-String:"><a href="#2-String:" class="headerlink" title="(2).String:"></a><font color=#3399ea>(2).String:</font></h2><p><img src="https://img-blog.csdnimg.cn/20210524145628684.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3oxNzgzODgzMTIx,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p><h2 id="3-List-列表-:"><a href="#3-List-列表-:" class="headerlink" title="(3).List(列表):"></a><font color=#3399ea>(3).List(列表):</font></h2><p>该语法有点和js中的数组一样</p><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><span class="hljs-comment"># List列表</span><br>arr=[<span class="hljs-string">'red'</span>,<span class="hljs-string">'blue'</span>,<span class="hljs-string">'yellow'</span>,<span class="hljs-string">'orange'</span>];<br><br><span class="hljs-comment"># 获取值</span><br>print(arr[<span class="hljs-number">1</span>]); <span class="hljs-comment"># blue</span><br>print(arr[-<span class="hljs-number">1</span>]); <span class="hljs-comment"># orange</span><br><span class="hljs-comment"># 截取指定范围的值</span><br>print(arr[<span class="hljs-number">1</span>:-<span class="hljs-number">1</span>]); <span class="hljs-comment"># ['blue', 'yellow'] 截取下标为1到下标为倒数第一个(不包含)的值</span><br><span class="hljs-comment"># 更新值</span><br>print(<span class="hljs-string">'更新前:'</span>,arr); <span class="hljs-comment"># ['red', 'blue', 'yellow', 'orange']</span><br>arr[<span class="hljs-number">1</span>]=<span class="hljs-string">'gray'</span>;<br>print(<span class="hljs-string">'更新后'</span>,arr); <span class="hljs-comment"># ['red', 'gray', 'yellow', 'orange']</span><br><span class="hljs-comment"># 删除</span><br><span class="hljs-keyword">del</span> arr[<span class="hljs-number">1</span>];<br>print(arr); <span class="hljs-comment"># ['red', 'yellow', 'orange']</span><br><br><span class="hljs-comment">## 常用方法:</span><br>print(<span class="hljs-built_in">len</span>(arr)); <span class="hljs-comment"># 获取长度</span><br>arr.append(<span class="hljs-string">'pink'</span>); <span class="hljs-comment"># 向末尾添加</span><br>print(arr.count(<span class="hljs-string">'red'</span>)); <span class="hljs-comment"># 统计出现次数</span><br>arr.extend([<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">4</span>]);<span class="hljs-comment">#连接其它的list相当于js中的concat方法</span><br>print(arr); <span class="hljs-comment"># ['red', 'yellow', 'orange', 'pink', 1, 2, 3, 4]</span><br>print(arr.index(<span class="hljs-string">'yellow'</span>)); <span class="hljs-comment"># 获取第一次出现的下标</span><br>arr.insert(<span class="hljs-number">1</span>,<span class="hljs-string">'666'</span>); <span class="hljs-comment"># 向指定下标插入值</span><br>arr.pop(<span class="hljs-number">2</span>); <span class="hljs-comment"># 删除指定下标的值</span><br></code></pre></div></td></tr></table></figure><h2 id="4-tuple-元组-:"><a href="#4-tuple-元组-:" class="headerlink" title="(4).tuple(元组):"></a><font color=#3399ea>(4).tuple(元组):</font></h2><p>元组与列表类似,不同之处在于元组的元素不能修改</p><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><span class="hljs-comment"># 元组</span><br><span class="hljs-comment"># 基本语法</span><br>tup1=(<span class="hljs-string">'red'</span>,<span class="hljs-string">'blue'</span>,<span class="hljs-string">'yellow'</span>,<span class="hljs-string">'pink'</span>); <br>tup2=<span class="hljs-string">'red'</span>,<span class="hljs-string">'blue'</span>,<span class="hljs-string">'yellow'</span>,<span class="hljs-string">'pink'</span>; <br>print(<span class="hljs-built_in">type</span>(tup2))<br><br><span class="hljs-comment"># 注意!元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:</span><br><span class="hljs-comment"># 获取值</span><br>print(tup2[<span class="hljs-number">2</span>]); <span class="hljs-comment"># yellow</span><br>print(tup2[<span class="hljs-number">1</span>:-<span class="hljs-number">1</span>]); <span class="hljs-comment"># ('blue', 'yellow')</span><br><br><span class="hljs-comment"># 修改值</span><br><span class="hljs-comment"># 元组中的元素值是不允许修改的,但我们可以对多个元组进行连接组合,</span><br><br><span class="hljs-comment"># 删除</span><br><span class="hljs-comment"># 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组</span><br><br><span class="hljs-comment"># 新增</span><br>tup2=tup1+(<span class="hljs-string">"1"</span>,<span class="hljs-string">"2"</span>,<span class="hljs-string">"3"</span>); <br>print(tup2); <span class="hljs-comment"># ('red', 'blue', 'yellow', 'pink', '1', '2', '3')</span><br></code></pre></div></td></tr></table></figure><h2 id="5-dict-字典-:"><a href="#5-dict-字典-:" class="headerlink" title="(5).dict(字典):"></a><font color=#3399ea>(5).dict(字典):</font></h2><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><span class="hljs-comment"># 字典</span><br><span class="hljs-comment"># 类似于js中的对象类似</span><br>obj={<br> <span class="hljs-string">'name'</span>:<span class="hljs-string">'zhang'</span>,<br> <span class="hljs-string">'age'</span>:<span class="hljs-number">20</span><br>}; <br><span class="hljs-comment"># 获取值</span><br>print(obj[<span class="hljs-string">'name'</span>]); <span class="hljs-comment"># zhang</span><br><br><span class="hljs-comment"># 修改值</span><br>obj[<span class="hljs-string">'name'</span>]=<span class="hljs-string">'acqui'</span>;<br>print(obj); <span class="hljs-comment"># {'name': 'acqui', 'age': 20}</span><br><br><span class="hljs-comment"># 删除值</span><br><span class="hljs-keyword">del</span> obj[<span class="hljs-string">'name'</span>]; <span class="hljs-comment">#删除name {'age': 20}</span><br><span class="hljs-comment"># obj.clear(); #清空值 {}</span><br><span class="hljs-comment"># del obj; #删除obj</span><br><br><span class="hljs-comment">#常用方法</span><br>print(<span class="hljs-built_in">len</span>(obj)); <span class="hljs-comment"># 计算字典元素个数,即键的总数</span><br></code></pre></div></td></tr></table></figure><h2 id="6-set-集合-:"><a href="#6-set-集合-:" class="headerlink" title="(6).set(集合):"></a><font color=#3399ea>(6).set(集合):</font></h2><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><span class="hljs-comment"># 集合</span><br><span class="hljs-comment"># 集合(set)是一个无序的不重复元素序列。类似于js中的Set集合</span><br><span class="hljs-comment"># 语法</span><br>col0 = {<span class="hljs-string">'red'</span>,<span class="hljs-string">'blue'</span>,<span class="hljs-string">'yellow'</span>,<span class="hljs-string">'orange'</span>,<span class="hljs-string">'red'</span>};<br>print(<span class="hljs-built_in">type</span>(col0))<br><span class="hljs-comment"># 或者</span><br>col = <span class="hljs-built_in">set</span>([<span class="hljs-string">'red'</span>,<span class="hljs-string">'blue'</span>,<span class="hljs-string">'yellow'</span>,<span class="hljs-string">'orange'</span>,<span class="hljs-string">'red'</span>]);<br><br><span class="hljs-comment"># 常用方法</span><br><span class="hljs-comment"># 新增</span><br>col0.add(<span class="hljs-string">'gray'</span>); <span class="hljs-comment"># 该方法只能添加一个</span><br>col0.update([<span class="hljs-string">'gray'</span>,<span class="hljs-string">'pink'</span>,<span class="hljs-string">'skyblue'</span>]); <span class="hljs-comment"># 该方法可以添加多个</span><br><br><span class="hljs-comment"># 删除</span><br>col0.remove(<span class="hljs-string">'red'</span>); <span class="hljs-comment">#若删除元素不存在则会报错</span><br>col0.discard(<span class="hljs-string">'888'</span>); <span class="hljs-comment">#若删除元素不存在不会报错</span><br><br>print(col0);<br><br><span class="hljs-comment"># 常用方法:</span><br>print(<span class="hljs-string">'blue'</span> <span class="hljs-keyword">in</span> col0); <span class="hljs-comment">#判读在集合中是否存在</span><br></code></pre></div></td></tr></table></figure><h1 id="二、循环与判断"><a href="#二、循环与判断" class="headerlink" title="二、循环与判断"></a>二、循环与判断</h1><h2 id="1-判断"><a href="#1-判断" class="headerlink" title="(1).判断"></a><font color=#3399ea>(1).判断</font></h2><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><span class="hljs-comment">#语法</span><br><span class="hljs-keyword">if</span> condition_1:<br> statement_block_1<br><span class="hljs-keyword">elif</span> condition_2:<br> statement_block_2<br><span class="hljs-keyword">else</span>:<br> statement_block_3<br></code></pre></div></td></tr></table></figure><h2 id="2-循环"><a href="#2-循环" class="headerlink" title="(2).循环"></a><font color=#3399ea>(2).循环</font></h2><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><span class="hljs-comment"># 循环</span><br><span class="hljs-comment">## while</span><br>count=<span class="hljs-number">10</span>;<br><span class="hljs-keyword">while</span> count><span class="hljs-number">1</span>:<br> count-=<span class="hljs-number">1</span>;<br> print(count);<br><br><span class="hljs-comment">## while else 语法与while一样多了一个else 他会在条件为false时执行</span><br><span class="hljs-keyword">while</span> count><span class="hljs-number">1</span>:<br> count-=<span class="hljs-number">1</span>;<br> print(count);<br><span class="hljs-keyword">else</span>:<br> print(<span class="hljs-string">"小于了"</span>)<br><br><span class="hljs-comment">## for</span><br><span class="hljs-keyword">for</span> item <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(<span class="hljs-number">10</span>):<br> print(item);<br><br><span class="hljs-comment">## break与continue、pass 略</span><br><br><span class="hljs-comment">## 迭代器与生成器 略</span><br><br></code></pre></div></td></tr></table></figure>]]></content>
<categories>
<category>自学</category>
<category>python</category>
</categories>
<tags>
<tag>python语法</tag>
<tag>python总结</tag>
<tag>python小记</tag>
<tag>python学习</tag>
</tags>
</entry>
<entry>
<title>循环温习</title>
<link href="/2021/05/21/2021-05-21-%E6%B0%B4%E4%BB%99%E8%8A%B1%E6%95%B0/"/>
<url>/2021/05/21/2021-05-21-%E6%B0%B4%E4%BB%99%E8%8A%B1%E6%95%B0/</url>
<content type="html"><![CDATA[<h1 id="循环温习"><a href="#循环温习" class="headerlink" title="循环温习"></a>循环温习</h1><p><font color=#999AAA >打印换行*号、打印99乘法表以及水仙花数</font></p><p>@<a href="%E6%96%87%E7%AB%A0%E7%9B%AE%E5%BD%95">TOC</a></p></font><hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1"><h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p><font color=#999AAA >无事随便看了一下python3,看到循环这一块便想到之前学习js时的一些练习(打印换行*号、打印99乘法表以及水仙花数等)于是就重新写了一遍。代码不难,所以就直接贴</font></p><h1 id="一、js版"><a href="#一、js版" class="headerlink" title="一、js版"></a>一、js版</h1><figure class="highlight javascript"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs javascript"><br><span class="hljs-comment">/**</span><br><span class="hljs-comment"> * *</span><br><span class="hljs-comment"> * **</span><br><span class="hljs-comment"> * ***</span><br><span class="hljs-comment"> * ****</span><br><span class="hljs-comment"> * *****</span><br><span class="hljs-comment"> */</span><br><br><span class="hljs-comment">// let str="";</span><br><span class="hljs-comment">// for(let i=0;i<10;i++){</span><br><span class="hljs-comment">// for(let j=0;j<i+1;j++) str+='* ';</span><br><span class="hljs-comment">// str+='\n'</span><br><span class="hljs-comment">// };</span><br><span class="hljs-comment">// console.log(str);</span><br><br><span class="hljs-comment">/**</span><br><span class="hljs-comment"> * 1x1=1</span><br><span class="hljs-comment"> * 1x1=1 1x2=2;</span><br><span class="hljs-comment"> */</span><br><br><span class="hljs-keyword">let</span> str=<span class="hljs-string">''</span>;<br><span class="hljs-keyword">for</span>(<span class="hljs-keyword">let</span> i=<span class="hljs-number">1</span>;i<=<span class="hljs-number">9</span>;i++){<br> <span class="hljs-keyword">for</span>(<span class="hljs-keyword">let</span> j=<span class="hljs-number">1</span>;j<i+<span class="hljs-number">1</span>;j++) str=str+ j+<span class="hljs-string">'x'</span>+i+<span class="hljs-string">'='</span>+(i*j)+<span class="hljs-string">'\t'</span>;<br> str+=<span class="hljs-string">'\n'</span>;<br>};<br><span class="hljs-built_in">console</span>.log(str);<br><br><br><span class="hljs-comment">/**</span><br><span class="hljs-comment"> * 水仙花数</span><br><span class="hljs-comment"> * 定义:</span><br><span class="hljs-comment"> * 一个数 他的每一位数的总个数次幂等于他本身</span><br><span class="hljs-comment"> * 例如:</span><br><span class="hljs-comment"> * 153 1^3+5^3+3^3=153</span><br><span class="hljs-comment"> * 8208 8^4+2^4+0^4+8^4=8208;</span><br><span class="hljs-comment"> */</span><br><br><span class="hljs-comment">// for (let i = 100; i < 10000000; i++){</span><br><span class="hljs-comment">// const num=i+'';</span><br><span class="hljs-comment">// const numLength=num.length;</span><br><span class="hljs-comment">// let sum=0;</span><br><span class="hljs-comment">// for(let j=0;j<numLength;j++){</span><br><span class="hljs-comment">// // sum=sum+ Math.pow(num[j],numLength); //or</span><br><span class="hljs-comment">// sum=sum+ (num[j]**numLength); </span><br><span class="hljs-comment">// }</span><br><span class="hljs-comment">// if(sum==i) console.log(num);</span><br><span class="hljs-comment">// }</span><br><br></code></pre></div></td></tr></table></figure><h1 id="二、python3版"><a href="#二、python3版" class="headerlink" title="二、python3版"></a>二、python3版</h1><figure class="highlight python"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs python"><br><br><br><span class="hljs-string">'''</span><br><span class="hljs-string">*</span><br><span class="hljs-string">**</span><br><span class="hljs-string">***</span><br><span class="hljs-string">****</span><br><span class="hljs-string">'''</span><br><span class="hljs-comment"># for i in range(10):</span><br><span class="hljs-comment"># for j in range(i+1):</span><br><span class="hljs-comment"># print('*',end=" ")</span><br><span class="hljs-comment"># print();</span><br><br><br><span class="hljs-string">'''</span><br><span class="hljs-string">1x1=1</span><br><span class="hljs-string">1x2=2 2x2=4</span><br><span class="hljs-string">'''</span><br><br><span class="hljs-comment"># for i in range(1,10):</span><br><span class="hljs-comment"># for j in range(1,i+1):</span><br><span class="hljs-comment"># print(i,'x',j,'=',i*j,end=" ")</span><br><span class="hljs-comment"># print()</span><br><br><span class="hljs-string">'''</span><br><span class="hljs-string"> * 水仙花数</span><br><span class="hljs-string"> * 定义:</span><br><span class="hljs-string"> * 一个数 他的每一位数的总个数次幂等于他本身</span><br><span class="hljs-string"> * 例如:</span><br><span class="hljs-string"> * 153 1^3+5^3+3^3=153</span><br><span class="hljs-string"> * 8208 8^4+2^4+0^4+8^4=8208;</span><br><span class="hljs-string">'''</span><br><span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(<span class="hljs-number">100</span>,<span class="hljs-number">100000</span>):<br> sums=<span class="hljs-number">0</span>;<br> num=<span class="hljs-built_in">str</span>(i);<br> numLength=<span class="hljs-built_in">len</span>(num);<br> <span class="hljs-keyword">for</span> j <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(numLength):<br> <span class="hljs-comment"># sums=sums+pow(int(num[j]),numLength); # or</span><br> sums=sums+(<span class="hljs-built_in">int</span>(num[j])**numLength);<br> <span class="hljs-keyword">if</span> sums==i:<br> print(i);<br><br></code></pre></div></td></tr></table></figure>]]></content>
<categories>
<category>前端</category>
<category>温习</category>
</categories>
<tags>
<tag>水仙花数</tag>
<tag>99乘法表</tag>
<tag>js实现水仙花数</tag>
<tag>python实现水仙花数</tag>
<tag>python实现99乘法表</tag>
<tag>js实现99乘法表</tag>
</tags>
</entry>
<entry>
<title>uniapp uni-id微信授权登录小记</title>
<link href="/2021/05/13/2021-05-13-uniapp-uni-id%E5%BE%AE%E4%BF%A1%E6%8E%88%E6%9D%83%E7%99%BB%E5%BD%95/"/>
<url>/2021/05/13/2021-05-13-uniapp-uni-id%E5%BE%AE%E4%BF%A1%E6%8E%88%E6%9D%83%E7%99%BB%E5%BD%95/</url>
<content type="html"><![CDATA[<h2 id="一、下载官方的相关插件"><a href="#一、下载官方的相关插件" class="headerlink" title="一、下载官方的相关插件"></a>一、下载官方的相关插件</h2><p>1.下载官方<a href="https://ext.dcloud.net.cn/plugin?id=13">登录模板</a> 将<a href="https://ext.dcloud.net.cn/plugin?id=13">登录模板</a>中的uniCloud文件直接复制到项目中。并关联云服务空间以及上传。<br><img src="https://img-blog.csdnimg.cn/20210513133429126.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3oxNzgzODgzMTIx,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><img src="https://img-blog.csdnimg.cn/20210513133527131.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3oxNzgzODgzMTIx,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br><img src="https://img-blog.csdnimg.cn/20210513133725540.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3oxNzgzODgzMTIx,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><img src="https://img-blog.csdnimg.cn/20210513133823544.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3oxNzgzODgzMTIx,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br>2.在uni-id下新建config.json,内容如下:相关解释【<a href="https://uniapp.dcloud.net.cn/uniCloud/uni-id?id=configjson%E7%9A%84%E8%AF%B4%E6%98%8E">官方</a>】</p><figure class="highlight javascript"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs javascript">{<br> <span class="hljs-string">"passwordSecret"</span>: <span class="hljs-string">"passwordSecret-demo"</span>, <br> <span class="hljs-string">"tokenSecret"</span>: <span class="hljs-string">"tokenSecret-demo"</span>, <br> <span class="hljs-string">"tokenExpiresIn"</span>: <span class="hljs-number">7200</span>, <br> <span class="hljs-string">"tokenExpiresThreshold"</span>: <span class="hljs-number">600</span>, <br> <span class="hljs-string">"bindTokenToDevice"</span>: <span class="hljs-literal">false</span>, <br> <span class="hljs-string">"passwordErrorLimit"</span>: <span class="hljs-number">6</span>, <br> <span class="hljs-string">"passwordErrorRetryTime"</span>: <span class="hljs-number">3600</span>, <br> <span class="hljs-string">"autoSetInviteCode"</span>: <span class="hljs-literal">false</span>, <br> <span class="hljs-string">"forceInviteCode"</span>: <span class="hljs-literal">false</span>, <br> <span class="hljs-string">"removePermissionAndRoleFromToken"</span>: <span class="hljs-literal">false</span>, <br> <span class="hljs-string">"app-plus"</span>: {<br> <span class="hljs-string">"tokenExpiresIn"</span>: <span class="hljs-number">2592000</span>,<br> <span class="hljs-string">"oauth"</span>: {<br> <span class="hljs-string">"weixin"</span>: {<br> <span class="hljs-string">"appid"</span>: <span class="hljs-string">"填写你的微信appid"</span>,<br> <span class="hljs-string">"appsecret"</span>: <span class="hljs-string">"填写你的微信appsecret"</span><br> },<br> <span class="hljs-string">"apple"</span>: {<br> <span class="hljs-string">"bundleId"</span>: <span class="hljs-string">"your bundleId"</span><br> }<br> }<br> },<br> <span class="hljs-string">"mp-weixin"</span>: {<br> <span class="hljs-string">"tokenExpiresIn"</span>: <span class="hljs-number">259200</span>,<br> <span class="hljs-string">"oauth"</span>: {<br> <span class="hljs-string">"weixin"</span>: {<br> <span class="hljs-string">"appid"</span>: <span class="hljs-string">"填写你的微信appid"</span>,<br> <span class="hljs-string">"appsecret"</span>: <span class="hljs-string">"填写你的微信appsecret"</span><br> }<br> }<br> },<br> <span class="hljs-string">"mp-alipay"</span>: {<br> <span class="hljs-string">"tokenExpiresIn"</span>: <span class="hljs-number">259200</span>,<br> <span class="hljs-string">"oauth"</span>: {<br> <span class="hljs-string">"alipay"</span>: {<br> <span class="hljs-string">"appid"</span>: <span class="hljs-string">"alipay appid"</span>,<br> <span class="hljs-string">"privateKey"</span>: <span class="hljs-string">"alipay privateKey"</span>, <br> <span class="hljs-string">"keyType"</span>: <span class="hljs-string">"PKCS8"</span><br> }<br> }<br> },<br> <span class="hljs-string">"service"</span>: {<br> <span class="hljs-string">"sms"</span>: {<br> <span class="hljs-string">"name"</span>: <span class="hljs-string">"your app name"</span>, <br> <span class="hljs-string">"codeExpiresIn"</span>: <span class="hljs-number">180</span>, <br> <span class="hljs-string">"smsKey"</span>: <span class="hljs-string">"your sms key"</span>, <br> <span class="hljs-string">"smsSecret"</span>: <span class="hljs-string">"your sms secret"</span><br> },<br> <span class="hljs-string">"univerify"</span>: {<br> <span class="hljs-string">"appid"</span>: <span class="hljs-string">"your appid"</span>,<br> <span class="hljs-string">"apiKey"</span>: <span class="hljs-string">"your apiKey"</span>,<br> <span class="hljs-string">"apiSecret"</span>: <span class="hljs-string">"your apiSecret"</span><br> }<br> }<br>}<br></code></pre></div></td></tr></table></figure><p>3.配置完成之后即可以在我们的页面中调用登录以及uni-id的一些其他方法啦</p><figure class="highlight javascript"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs javascript"><span class="hljs-comment">//登录示例:</span><br>uni.login({<br>provider: <span class="hljs-string">'weixin'</span>,<br>success: <span class="hljs-function"><span class="hljs-params">res</span> =></span> {<br><span class="hljs-built_in">console</span>.log(res);<br>uniCloud.callFunction({<br>name:<span class="hljs-string">'user-center'</span>,<br>data:{<br>action: <span class="hljs-string">'loginByWeixin'</span>,<br>params: {<br>code:res.code<br>},<br>},<br>success:<span class="hljs-function">(<span class="hljs-params">res2</span>)=></span>{<br><span class="hljs-built_in">console</span>.log(res2);<br>}<br><br>})<br>},<br><span class="hljs-function"><span class="hljs-title">complete</span>(<span class="hljs-params"></span>)</span> {<br>uni.hideLoading();<br>}<br>});<br></code></pre></div></td></tr></table></figure><p><img src="https://img-blog.csdnimg.cn/20210513134641309.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3oxNzgzODgzMTIx,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br><img src="https://img-blog.csdnimg.cn/20210513134909294.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3oxNzgzODgzMTIx,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p>]]></content>
<categories>
<category>前端</category>
<category>uniapp</category>
</categories>
<tags>
<tag>uniapp app开发</tag>
<tag>uniapp app微信授权</tag>
</tags>
</entry>
<entry>
<title>uniapp-App 支付宝授权</title>
<link href="/2021/04/30/2021-04-30-uniapp%E6%94%AF%E4%BB%98%E5%AE%9D%E6%8E%88%E6%9D%83/"/>
<url>/2021/04/30/2021-04-30-uniapp%E6%94%AF%E4%BB%98%E5%AE%9D%E6%8E%88%E6%9D%83/</url>
<content type="html"><![CDATA[<h2 id="uniapp-App支付宝授权小记"><a href="#uniapp-App支付宝授权小记" class="headerlink" title="uniapp-App支付宝授权小记"></a>uniapp-App支付宝授权小记</h2><h3 id="先上效果图"><a href="#先上效果图" class="headerlink" title="先上效果图"></a>先上效果图</h3><p><img src="https://img-blog.csdnimg.cn/20210430094316959.gif#pic_center" alt="在这里插入图片描述"></p><h3 id="实现步骤:"><a href="#实现步骤:" class="headerlink" title="实现步骤:"></a>实现步骤:</h3><p>1.在点击事件上使用plus.runtime模块调用支付宝打开授权地址(授权地址是后端拼接也可以前端写死)<br>PS:完成第1点应该能看到这样的效果:(如果不是可能是你的授权地址app_id不对)<br><img src="https://img-blog.csdnimg.cn/20210429143219192.gif#pic_center" alt="在这里插入图片描述"></p><figure class="highlight javascript"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs javascript"><br><span class="hljs-comment">//相关示例代码:(该代码会打开支付宝授权,授权之后会在支付宝中打开你所设置的【回调地址】网页)</span><br><br><span class="hljs-comment">//***********************</span><br><span class="hljs-comment">//***url授权地址由后端拼接也可以前端写死***</span><br><span class="hljs-comment">//***以下是一个拼接示例,仅需修改app_id的值和redirect_uri的值***</span><br><span class="hljs-comment">//***app_id是商户的APPID,redirect_uri是页面跳回地址(授权成功之后会在支付宝中打开这个地址)***</span><br><span class="hljs-comment">//***********************</span><br><span class="hljs-keyword">let</span> urls=<span class="hljs-string">'https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=2021001183611007&scope=auth_userinfo&redirect_uri=https://shandianlaoshi.com/api/user/zfb_url'</span>;<br>urls=<span class="hljs-built_in">encodeURIComponent</span>(urls);<span class="hljs-comment">//将地址编码成浏览器访问的格式</span><br><span class="hljs-comment">// 判断平台</span><br><span class="hljs-keyword">if</span> (plus.os.name == <span class="hljs-string">'Android'</span>) {<br> plus.runtime.openURL(<br> <span class="hljs-string">'alipays://platformapi/startapp?appId=20000067&url='</span> + urls,<br> res => {<br><span class="hljs-comment">//这里写打开URL地址失败后的处理</span><br> <span class="hljs-built_in">console</span>.log(res);<br> uni.showModal({<br> content: <span class="hljs-string">'本机未检测到对应客户端,是否打开浏览器访问页面?'</span>,<br> success: <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">res</span>) </span>{<br> <span class="hljs-keyword">if</span> (res.confirm) {<br> <span class="hljs-comment">//plus.runtime.openURL();</span><br> }<br> }<br> });<br> },<br> <span class="hljs-string">'com.eg.android.AlipayGphone'</span><br> );<br>} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (plus.os.name == <span class="hljs-string">'iOS'</span>) {<br> plus.runtime.openURL(<br> <span class="hljs-string">'alipay://platformapi/startapp?appId=20000067&url='</span> + urls,<br> res => {<br> <span class="hljs-built_in">console</span>.log(res);<br> uni.showModal({<br> content: <span class="hljs-string">'本机未检测到对应客户端,是否打开浏览器访问页面?'</span>,<br> success: <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">res</span>) </span>{<br> <span class="hljs-keyword">if</span> (res.confirm) {<br> <span class="hljs-comment">//plus.runtime.openURL(url);</span><br> }<br> }<br> });<br> },<br> <span class="hljs-string">'com.eg.android.AlipayGphone'</span><br> );<br>}<br></code></pre></div></td></tr></table></figure><p>2.给你的APP设置一个urlscheme(HBuilder/HBuilderX自带真机运行基座的UrlSchemes为”hbuilder://“)<br><img src="https://img-blog.csdnimg.cn/20210429143429512.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3oxNzgzODgzMTIx,size_16,color_FFFFFF,t_70#pic_center" alt="在这里插入图片描述"></p><p>3.提交打包(urlscheme)设置之后需重新打包(可以重新打基座也可以直接云App打包,建议打基座【因为还需要写从支付宝回来之后的事件】)<br><img src="https://img-blog.csdnimg.cn/20210429143459590.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3oxNzgzODgzMTIx,size_16,color_FFFFFF,t_70#pic_center" alt="在这里插入图片描述"></p><p>4.编写(redirect_uri)页面,编写完成后拿给后端放在服务器上就基本成功了<br>PS:完成第4点应该看到这样的效果,如果出现没有跳转到你的APP说明你的urlscheme没填写对或者是你的APP没有打包<br><img src="https://img-blog.csdnimg.cn/20210429150549878.gif#pic_center" alt="在这里插入图片描述"></p><figure class="highlight html"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs html"><br>//相关示例代码 该代码是一个页面(样式自行编写) 主要的是Js代码<br>/**<br> * html<br> */<br><span class="hljs-meta"><!DOCTYPE <span class="hljs-meta-keyword">html</span>></span><br><span class="hljs-tag"><<span class="hljs-name">html</span> <span class="hljs-attr">lang</span>=<span class="hljs-string">"en"</span>></span><br><br><span class="hljs-tag"><<span class="hljs-name">head</span>></span><br> <span class="hljs-tag"><<span class="hljs-name">meta</span> <span class="hljs-attr">charset</span>=<span class="hljs-string">"UTF-8"</span>></span><br> <span class="hljs-tag"><<span class="hljs-name">meta</span> <span class="hljs-attr">http-equiv</span>=<span class="hljs-string">"X-UA-Compatible"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"IE=edge"</span>></span><br> <span class="hljs-tag"><<span class="hljs-name">meta</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"viewport"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"width=device-width, initial-scale=1.0"</span>></span><br> <span class="hljs-tag"><<span class="hljs-name">title</span>></span>闪电老师登录<span class="hljs-tag"></<span class="hljs-name">title</span>></span><br> <span class="hljs-tag"><<span class="hljs-name">style</span>></span><br> body {<br> display: flex;<br> justify-content: center;<br> align-items: center;<br> text-align: center;<br> height: 90vh;<br> font-size: .9375rem;<br> }<br> content{<br> display: flex;<br> flex-direction: column;<br> justify-content: center ;<br> align-items: center;<br> }<br><br><span class="css"> <span class="hljs-selector-class">.logo_img</span> {</span><br> width: 6.875rem;<br> height: 6.875rem;<br> margin-bottom: .625rem;<br> }<br><br><span class="css"> <span class="hljs-selector-id">#box</span> {</span><br> width: 60%;<br> height: 2rem;<br> text-align: center;<br> line-height: 2rem;<br> border-radius: 20px;<br> background-color: rgb(23, 120, 194);<br> color: white;<br> margin: .9375rem auto;<br> }<br><br><span class="css"> <span class="hljs-selector-class">.desc</span> {</span><br> font-size: .3125rem;<br> color: gray;<br> }<br> <span class="hljs-tag"></<span class="hljs-name">style</span>></span><br><span class="hljs-tag"></<span class="hljs-name">head</span>></span><br><br><span class="hljs-tag"><<span class="hljs-name">body</span>></span><br> <span class="hljs-tag"><<span class="hljs-name">content</span>></span><br> <span class="hljs-tag"><<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"./logo.png"</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"logo_img"</span>></span><br> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"box"</span> <span class="hljs-attr">onclick</span>=<span class="hljs-string">"func()"</span>></span>返回闪电老师<span class="hljs-tag"></<span class="hljs-name">div</span>></span><br> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"desc"</span>></span>您已授权登录,请点击返回闪电老师<span class="hljs-tag"></<span class="hljs-name">div</span>></span><br> <span class="hljs-tag"></<span class="hljs-name">content</span>></span><br><span class="hljs-tag"></<span class="hljs-name">body</span>></span><br><br><span class="hljs-tag"><<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"./index.js"</span>></span><span class="hljs-tag"></<span class="hljs-name">script</span>></span><br><br><span class="hljs-tag"></<span class="hljs-name">html</span>></span><br><br><br></code></pre></div></td></tr></table></figure><figure class="highlight javascript"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs javascript"><br><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">func</span>(<span class="hljs-params"></span>) </span>{<br> <span class="hljs-built_in">console</span>.log(<span class="hljs-string">"点击触发99999"</span>);<br> <span class="hljs-comment">// 判断是那种设备</span><br> <span class="hljs-keyword">let</span> u = navigator.userAgent;<br> <span class="hljs-built_in">console</span>.log(u);<br> <span class="hljs-keyword">var</span> isAndroid = u.indexOf(<span class="hljs-string">'Android'</span>) > -<span class="hljs-number">1</span> || u.indexOf(<span class="hljs-string">'Linux'</span>) > -<span class="hljs-number">1</span>; <span class="hljs-comment">// Android系统或者uc浏览器</span><br> <span class="hljs-keyword">var</span> isiOS = !!u.match(<span class="hljs-regexp">/\(i[^;]+;( U;)? CPU.+Mac OS X/</span>); <span class="hljs-comment">// iOS系统</span><br><br> <span class="hljs-comment">// 如果为Android系统</span><br> <span class="hljs-keyword">if</span> (isAndroid) {<br> <span class="hljs-built_in">window</span>.location.href = <span class="hljs-string">"sdls://?auth_code=88888888"</span>; <span class="hljs-comment">// 注意*** 这里需要修改为刚刚设置的urlscheme,auth_code需要后端拼接。auth_code只有后端才能拿到</span><br> <span class="hljs-built_in">window</span>.setTimeout(<span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{<br> <span class="hljs-built_in">window</span>.location.href = <span class="hljs-string">"http://www.baidu.com"</span>; <span class="hljs-comment">// 3s后如果不能跳转到 App,则跳转到 App 的下载地址,一般是应用宝的对应的下载地址</span><br> }, <span class="hljs-number">2000</span>);<br> <span class="hljs-keyword">return</span>;<br> }<br><br> <span class="hljs-comment">// ios设备:原理:判断是否认识这个协议,认识则直接跳转,不认识就在这里下载appios();</span><br> <span class="hljs-keyword">if</span> (isiOS) {<br> <span class="hljs-keyword">let</span> startIndex = u.indexOf(<span class="hljs-string">'iPhone OS'</span>) + <span class="hljs-number">9</span>;<br> <span class="hljs-keyword">let</span> endIndex = u.indexOf(<span class="hljs-string">'like Mac OS'</span>) - <span class="hljs-number">1</span>;<br> <span class="hljs-keyword">let</span> num = +u.slice(startIndex, endIndex).split(<span class="hljs-string">'_'</span>)[<span class="hljs-number">0</span>]; <span class="hljs-comment">// 计算版本号的前面数值</span><br> <span class="hljs-keyword">if</span> (num < <span class="hljs-number">9</span>) {<br> <span class="hljs-built_in">window</span>.location.href = <span class="hljs-string">"sdls://?auth_code=88888888"</span>; <span class="hljs-comment">// 注意*** 这里需要修改为刚刚设置的urlscheme,auth_code需要后端拼接。auth_code只有后端才能拿到</span><br> } <span class="hljs-keyword">else</span> {<br> <span class="hljs-built_in">window</span>.location.href = <span class="hljs-string">" "</span>; <span class="hljs-comment">// universal link 链接</span><br> }<br> <span class="hljs-built_in">window</span>.setTimeout(<span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{<br> <span class="hljs-built_in">window</span>.location.href = <span class="hljs-string">" "</span>; <span class="hljs-comment">// 3s后如果不能跳转到 App,则跳转到 AppStore 的下载地址</span><br> }, <span class="hljs-number">3000</span>);<br> <span class="hljs-keyword">return</span>;<br> };<br>}<br><br></code></pre></div></td></tr></table></figure><p>5.在页面中监听支付宝App传过来的auth_code,再通过auth_code获取到userId就完成了支付宝的授权啦(可以在redirect_uri页面中直接获取userId再跳转回APP也可以返回App后通过auth_code请求后端获取userId【PS:后者方案更灵活】)</p><figure class="highlight javascript"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs javascript"><br>onShow: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>) </span>{<br><span class="hljs-keyword">let</span> args = plus.runtime.arguments;<br><span class="hljs-built_in">console</span>.log(args); <span class="hljs-comment">//这里可以看到从后端拿过来的urlscheme</span><br><span class="hljs-keyword">if</span> (args) {<br>plus.runtime.arguments=<span class="hljs-literal">null</span>;<span class="hljs-comment">//进入之后就把urlscheme清空要不然下一次oushow时还会执行</span><br><span class="hljs-comment">// 处理args参数,如直达到某新页面等</span><br><span class="hljs-comment">//通过code请求获取user_id</span><br>}<br>},<br><br></code></pre></div></td></tr></table></figure><p>相关官方文档链接:<br>uni:<br><a href="http://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.openURL">http://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.openURL</a><br><a href="https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/409">https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/409</a><br>支付宝:<br><a href="https://opendocs.alipay.com/open/01emu5">https://opendocs.alipay.com/open/01emu5</a><br><a href="https://opendocs.alipay.com/apis/api_2/alipay.user.info.share">https://opendocs.alipay.com/apis/api_2/alipay.user.info.share</a></p>]]></content>
<categories>
<category>前端</category>
<category>uniapp</category>
</categories>
<tags>
<tag>uniapp app开发</tag>
<tag>uniapp app支付宝授权</tag>
</tags>
</entry>
<entry>
<title>Hello World</title>
<link href="/2021/04/30/hello-world/"/>
<url>/2021/04/30/hello-world/</url>
<content type="html"><![CDATA[<p>Welcome to <a href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a href="https://hexo.io/docs/troubleshooting.html">troubleshooting</a> or you can ask me on <a href="https://github.com/hexojs/hexo/issues">GitHub</a>.</p><h2 id="Quick-Start"><a href="#Quick-Start" class="headerlink" title="Quick Start"></a>Quick Start</h2><h3 id="Create-a-new-post"><a href="#Create-a-new-post" class="headerlink" title="Create a new post"></a>Create a new post</h3><figure class="highlight bash"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs bash">$ hexo new <span class="hljs-string">"My New Post"</span><br></code></pre></div></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/writing.html">Writing</a></p><h3 id="Run-server"><a href="#Run-server" class="headerlink" title="Run server"></a>Run server</h3><figure class="highlight bash"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs bash">$ hexo server<br></code></pre></div></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/server.html">Server</a></p><h3 id="Generate-static-files"><a href="#Generate-static-files" class="headerlink" title="Generate static files"></a>Generate static files</h3><figure class="highlight bash"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs bash">$ hexo generate<br></code></pre></div></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/generating.html">Generating</a></p><h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerlink" title="Deploy to remote sites"></a>Deploy to remote sites</h3><figure class="highlight bash"><table><tr><td class="gutter hljs"><div class="hljs code-wrapper"><pre><span class="line">1</span><br></pre></div></td><td class="code"><div class="hljs code-wrapper"><pre><code class="hljs bash">$ hexo deploy<br></code></pre></div></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/one-command-deployment.html">Deployment</a></p>]]></content>
</entry>
</search>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。