控雀开发文档

控雀开发文档


按键精灵PC版代码示例

<p>将以下代码复制到脚本代码的顶部,替换<code>CooCheckUrl</code>为你的面板API地址。<code>CooCheckCode</code>保存控制器code,控制器code通常由用户提供。</p> <pre><code class="language-vb">DimEnv CooCheckUrl, CooCheckCode, CooCheckJson //面板API CooCheckUrl = &amp;quot;http://api.coocheck.com/check?panel=pn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx&amp;amp;code=&amp;quot; //控制器code,通常由用户输入提供 CooCheckCode = &amp;quot;cxxxxxx&amp;quot; //API返回的数据 CooCheckJson = &amp;quot;{}&amp;quot; //拉取远程参数数据到变量CooCheckJson。需要注意:远程参数有缓存,缓存失效后才能拿到用户填写的最新参数。 Function LoadCooCheck() ApiUrl = CooCheckUrl &amp;amp; CooCheckCode &amp;amp; &amp;quot;&amp;amp;type=json&amp;quot; Set objXML = CreateObject(&amp;quot;Microsoft.XMLHTTP&amp;quot;) objXML.Open &amp;quot;Get&amp;quot;, ApiUrl, False objXML.send //TracePrint &amp;quot;CooCheck API 网址:&amp;quot; &amp;amp; ApiUrl //TracePrint &amp;quot;CooCheck API 返回:&amp;quot; &amp;amp; objXML.responseText CooCheckJson = objXML.responseText Set objXML = Nothing End Function //读取远程参数key的值,如果key不存在则返回defValue Function CooCheck(key, defValue) Set jsonData = CreateObject(&amp;quot;MSScriptControl.ScriptControl&amp;quot;) jsonData.Language = &amp;quot;JScript&amp;quot; jsonData.AddCode &amp;quot;var data = &amp;quot; &amp;amp; CooCheckJson &amp;amp; &amp;quot;;&amp;quot; If jsonData.Eval(&amp;quot;data.&amp;quot; &amp;amp; key &amp;amp; &amp;quot; !== undefined&amp;quot;) Then CooCheck = jsonData.Eval(&amp;quot;data.&amp;quot; &amp;amp; key) Else CooCheck = defValue End If Set jsonData = Nothing End Function</code></pre> <p>拉取远程参数时,通过<code>Call LoadCooCheck()</code>方式,远程参数数据会保存到变量CooCheckJson。 读取远程参数时,通过<code>CooCheck(key, defValue)</code>方式读取指定key的参数;特殊情况下我们会担心指定key的参数获取失败而影响脚本运行,比如发布新面板时候不慎删除某个有用的key,而defValue参数的作用是发现key参数不存在时,以defValue值作为参数值返回。</p> <pre><code class="language-vb">//返回key为submited_at的参数值,如果不存在该参数,则返回0 TracePrint &amp;quot;submited_at : &amp;quot; &amp;amp; CooCheck(&amp;quot;submited_at&amp;quot;, 0) //返回key为key1的参数值,如果不存在该参数,则返回123 TracePrint &amp;quot;key1 : &amp;quot; &amp;amp; CooCheck(&amp;quot;key1&amp;quot;, 123)</code></pre> <p>如果脚本有界面,希望获取到的新参数同步修改界面,可以把新参数回写到界面。 例如,窗口Form1有一个名为InputBox1的输入框,希望该输入框的内容与远程参数key1参数同步。</p> <pre><code class="language-vb">//返回key为key1的参数值,如果不存在该参数,则返回 Form1.InputBox1.Text 的内容 //最终返回的内容又更新到 Form1.InputBox1.Text Form1.InputBox1.Text = CooCheck(&amp;quot;key1&amp;quot;, Form1.InputBox1.Text)</code></pre>

页面列表

ITEM_HTML