用「喵提醒」給腳本加上遠(yuǎn)程配置功能

我們開(kāi)發(fā)的腳本(比如用按鍵精靈開(kāi)發(fā))通常會(huì)獨(dú)占設(shè)備運(yùn)行,比如在用戶手機(jī)上運(yùn)行的腳本,手機(jī)就讓腳本獨(dú)享了,用戶通常會(huì)把跑腳本的手機(jī)(以下簡(jiǎn)稱為「腳本機(jī)」)放在固定位置,比如家里,自己使用另一臺(tái)手機(jī)繼續(xù)忙活。當(dāng)用戶需要調(diào)整腳本運(yùn)行時(shí),用戶不得不跑回到腳本機(jī)跟前操作,或者用戶需要自行配置遠(yuǎn)程桌面環(huán)境登錄到腳本機(jī)操作,先停止腳本,調(diào)整參數(shù),再重新運(yùn)行腳本,頗為折騰。

喵提醒的遠(yuǎn)程配置服務(wù),它可以幫助我們的腳本增加一個(gè)讓用戶遠(yuǎn)程修改腳本參數(shù)的服務(wù)。用戶修改參數(shù)后,腳本會(huì)拉到最新的參數(shù),以調(diào)整腳本的運(yùn)行。

喵提醒

步驟:

1、開(kāi)發(fā)者在喵提醒(搜索關(guān)注該微信公眾號(hào))注冊(cè)賬號(hào),開(kāi)通開(kāi)發(fā)者權(quán)限(位于喵提醒「?jìng)€(gè)人中心-我的-開(kāi)發(fā)者」頁(yè)面,需要綁定手機(jī)號(hào))。

2、創(chuàng)建一個(gè)「應(yīng)用」起個(gè)名字,比如“xx腳本”,然后在應(yīng)用內(nèi)點(diǎn)擊「遠(yuǎn)程配置」創(chuàng)建一個(gè)「參數(shù)模板」。

創(chuàng)建遠(yuǎn)程配置參數(shù)模板

一個(gè)「應(yīng)用」可以包括多個(gè)「參數(shù)模板」,我習(xí)慣給用版本號(hào)來(lái)給參數(shù)模板命名,比如“v1.0”,這樣我需要在新版本腳本中修改參數(shù)時(shí),可以新開(kāi)一個(gè)版本,而不影響已經(jīng)發(fā)布的舊版本腳本使用。創(chuàng)建一個(gè)參數(shù)模板后,在參數(shù)模板上設(shè)計(jì)參數(shù)配置界面,這個(gè)界面設(shè)計(jì)成什么樣子,用戶就會(huì)在一個(gè)什么樣子的界面上操作你的腳本參數(shù)。參數(shù)操作由控件實(shí)現(xiàn),目前支持這5種控件:

  • 文本框:用戶可以自由輸入單行文本;
  • 開(kāi)關(guān):用戶可以選擇“開(kāi)”或“關(guān)”其中一個(gè)狀態(tài);
  • 步進(jìn)器:用戶可以輸入數(shù)字(整數(shù)或小數(shù)),或通過(guò)按鈕調(diào)整數(shù)值;
  • 滑塊:用戶可以選擇整數(shù),通過(guò)拖動(dòng)滑塊調(diào)整數(shù)值;
  • 選擇器:預(yù)設(shè)若干個(gè)可選項(xiàng),讓用戶選擇其中一個(gè)。
控件效果預(yù)覽

設(shè)計(jì)參數(shù)配置界面時(shí),需要先創(chuàng)建一個(gè)“控件組”,然后在控件組上添加控件,喵提醒希望開(kāi)發(fā)者可以根據(jù)參數(shù)功能類型給控件分組,讓用戶更好理解參數(shù)的意義。例如,我有個(gè)腳本幫助用戶在市場(chǎng)自動(dòng)購(gòu)買和出售物品,我設(shè)計(jì)這樣一個(gè)參數(shù)模板:

DEMO 一個(gè)商店買賣控制腳本

設(shè)計(jì)完成后,點(diǎn)擊「保存并發(fā)布」,喵提醒會(huì)給參數(shù)模板分配一個(gè)獲取參數(shù)API網(wǎng)址,在「設(shè)置」Tab可以找到,它長(zhǎng)這樣:

http://miaotixing.com/rparam?rp=rp-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&code=

這個(gè)網(wǎng)址用于后續(xù)拉取用戶填寫參數(shù)用,但這個(gè)網(wǎng)址還不能直接訪問(wèn),它還缺一個(gè)「喵碼」參數(shù)code(也許你留意到,即上面的地址最末的參數(shù)code還沒(méi)有值),喵碼需要由跑腳本的用戶提供,這個(gè)參數(shù)的作用是讓喵提醒知道你的腳本要拉哪個(gè)用戶的所填寫的參數(shù)。

3、為了獲得用戶的「喵碼」,我們需要在腳本的設(shè)置界面中加入一個(gè)「喵碼」輸入框,引導(dǎo)用戶在喵碼注冊(cè)賬號(hào)并創(chuàng)建一個(gè)「提醒單」:

腳本界面,讓用戶填寫喵碼

喵提醒會(huì)給提醒單分配一個(gè)喵碼(7位字符,區(qū)分大小寫),一旦用戶提交了他的喵碼,我們把喵碼拼接在上一步驟的網(wǎng)址code參數(shù),就得到一個(gè)完整的參數(shù)獲取地址。在腳本中訪問(wèn)這個(gè)網(wǎng)址,就可以拉到用戶填寫的參數(shù)。完整的參數(shù)獲取地址長(zhǎng)這樣:

http://miaotixing.com/rparam?rp=rp-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&code=txxxxxx

腳本拉到的參數(shù)的數(shù)據(jù)的結(jié)構(gòu)都是由“鍵(key)”和“值”構(gòu)成。事實(shí)上,在設(shè)計(jì)參數(shù)模板時(shí)候,點(diǎn)擊「預(yù)覽」Tab可以看到數(shù)據(jù)格式和默認(rèn)值是長(zhǎng)什么樣。比如“買入物品:蘿卜”這組參數(shù)中,key是“買入物品”,值是“蘿卜”。

參數(shù)預(yù)覽

腳本中讀取參數(shù)時(shí)候,是通過(guò)key來(lái)找對(duì)應(yīng)的值。因此,腳本中讀取參數(shù)時(shí)用的key,要和參數(shù)模板中設(shè)計(jì)的key對(duì)的上,不然會(huì)取值取了個(gè)寂寞。

4、根據(jù)參數(shù)調(diào)整腳本運(yùn)行。

在腳本首次拉參數(shù)時(shí),用戶會(huì)收到一個(gè)提醒單與參數(shù)模板綁定的通知(喵碼)。由于用戶還沒(méi)提交過(guò)參數(shù)修改,腳本拉到的是參數(shù)的默認(rèn)參數(shù)。用戶進(jìn)入提醒單的「遠(yuǎn)程控制」界面,可以看到和你早前設(shè)計(jì)一致的參數(shù)配置界面,用戶在界面中修改參數(shù)并提交,腳本就能通過(guò)網(wǎng)址拉到用戶最新配置的參數(shù)。由于參數(shù)存在緩存,用戶修改參數(shù)后或許要稍等一會(huì),腳本才能拉到最新的參數(shù),這個(gè)等待時(shí)間不會(huì)超過(guò)1分鐘。

用戶填寫參數(shù)

拉到的參數(shù)如何讀取使用,是不是有些頭大?

針對(duì)按鍵精靈PC版、按鍵精靈手機(jī)助手、易語(yǔ)言、一鍵玩、自動(dòng)精靈等多種開(kāi)發(fā)語(yǔ)言,喵提醒分別提供了可以直接使用的代碼,在開(kāi)發(fā)者文檔的「常見(jiàn)開(kāi)發(fā)語(yǔ)言示例」可以找到。把代碼貼入到腳本頂部,把 RParamUrl 變量換成你的獲取參數(shù)網(wǎng)址,用戶輸入的喵碼保存到變量 MiaoCode ,在需要拉用戶最新參數(shù)時(shí)運(yùn)行函數(shù) LoadRParam() 把參數(shù)下載到腳本機(jī),最后通過(guò)函數(shù) RParam(key, defValue) 讀取具體key的參數(shù)即可。

喵提醒還有DEMO項(xiàng)目可以下載體驗(yàn),也在開(kāi)發(fā)文檔中。


注意事項(xiàng) & 建議:

1、拉參數(shù)時(shí),一定要帶上喵碼,如果喵碼為空時(shí)獲取不到任何參數(shù);如果喵碼無(wú)效,會(huì)拉到參數(shù)的參數(shù)的默認(rèn)值。

2、拉參數(shù)下載到腳本機(jī)的時(shí)機(jī),應(yīng)該在一組連續(xù)的相關(guān)操作之前,不要每讀取一個(gè)參數(shù)前都拉一次參數(shù),否則可能出現(xiàn)意想不到的后果。

舉個(gè)例子,我的腳本允許用戶設(shè)置參數(shù):“賣出物品”和“賣出價(jià)格”,假設(shè)用戶原先設(shè)置了“賣出物品=香蕉,賣出價(jià)格=15”,但后面修改成“賣出物品=蘋果,賣出價(jià)格=2”。若腳本執(zhí)行賣出物品一系列操作時(shí)候,先拉一次參數(shù)到腳本機(jī),然后再分別讀取“賣出物品”和“賣出價(jià)格”,那無(wú)論是讀到的是緩存中的“香蕉,15”還是最新的“蘋果,2”都是正確的成對(duì)的信息,都是符合用戶意圖的,只是參數(shù)新舊的區(qū)別罷;相反,如果拉參數(shù)后讀到“賣出物品=香蕉”,在讀賣出價(jià)格前又拉一次參數(shù),而恰好這個(gè)時(shí)候用戶提交了新參數(shù)且生效了!讀到“賣出價(jià)格=2”,會(huì)導(dǎo)致腳本錯(cuò)誤的以“香蕉,2”的參數(shù)執(zhí)行了賣出動(dòng)作,給用戶造成損失。

3、每次修改參數(shù)模板,都要考慮對(duì)已經(jīng)發(fā)布的腳本會(huì)有什么影響。例如,你準(zhǔn)備把參數(shù)模板中的key“賣出物品”改為“賣出物品名稱”,那之前發(fā)出去的腳本如果還有用戶在使用,則這些腳本都不能通過(guò)key“賣出物品”讀到參數(shù)了。如果你只是想讓用戶看到的參數(shù)配置界面上的文案“賣出物品”改為“賣出物品名稱”,可以修改控件的“名稱”即可,名稱是用于給用戶看的,可以和key不一樣。

如果你打算在下一個(gè)版本的腳本中增加某些參數(shù)或棄用某些參數(shù),最好是新開(kāi)一個(gè)參數(shù)模板來(lái)做了,避免對(duì)老版本的腳本用戶帶來(lái)困惑。

4、修改參數(shù)模板控件,「保存草稿」是不會(huì)影響用戶的參數(shù)配置界面的,只有點(diǎn)擊「保存并發(fā)布」后,用戶看到的參數(shù)配置界面才會(huì)被更新。


附:

喵提醒開(kāi)發(fā)文檔:位于喵提醒公眾號(hào)菜單「服務(wù)-個(gè)人中心-我的-開(kāi)發(fā)者文檔」

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容