什么是變量?
對(duì)于一些常見(jiàn)的參數(shù),我們可以將其定義成變量,以便達(dá)到一處改動(dòng),全部改動(dòng)的目的。
例如我們請(qǐng)求的URL域名,完全可以將其設(shè)置為變量,在URL欄只輸入路由即可。這樣的話(huà),我們可以通過(guò)控制變量的值,來(lái)達(dá)到請(qǐng)求不同域名、相同路由的API接口(比如可以用來(lái)快速切換開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境)。
如下圖所示,我們將域名定義成了變量:url。

怎么定義變量?
ApiPost V3支持 2 種方式來(lái)定義變量:預(yù)定義和腳本定義。我們分別來(lái)講。
1、ApiPost預(yù)定義變量

點(diǎn)擊右上角的環(huán)境管理器,點(diǎn)擊【新建環(huán)境】,此時(shí)在彈窗內(nèi)就可以定義變量了。

如圖,我們?cè)谶@里定義了變量:url,并且賦值為:https://console.apipost.cn
此時(shí),當(dāng)我們點(diǎn)擊發(fā)送的時(shí)候,{{url}}就會(huì)自動(dòng)被替換為https://console.apipost.cn。??
當(dāng)然除了,url里,請(qǐng)求參數(shù)也可以使用變量替代。如下圖:

我新增定義了一個(gè)變量{{title}},并放在了body請(qǐng)求參數(shù)中,發(fā)送后,服務(wù)器成功接收到了我定義的變量。

2、ApiPost腳本定義變量
新版本的ApiPost V3 支持通過(guò)JS腳本來(lái)定義變量,這樣的話(huà),我們的變量豐富性就多了。
還如同剛才的示例,我通過(guò)腳本定了一個(gè)變量url,效果同剛才的效果是一樣的。如下圖:

看到這里,你可能會(huì)注意到:這里可以設(shè)置全局變量和環(huán)境變量。那么什么是全局變量?什么是環(huán)境變量?它們有什么區(qū)別呢?
環(huán)境變量:
環(huán)境變量?jī)H在當(dāng)前已選中環(huán)境生效,當(dāng)您切換了右上角的當(dāng)前環(huán)境后,環(huán)境變量則失效。
常見(jiàn)的使用場(chǎng)景如上面舉的例子,我們可以定義開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境,從而指定不同的URL來(lái)區(qū)分接口請(qǐng)求地址的不同。

全局變量:
全局變量不受當(dāng)前環(huán)境的影響,只要是在同一個(gè)項(xiàng)目下,該變量都會(huì)生效。
環(huán)境變量和全局變量的調(diào)用方法都是一樣的{{變量名}}。
3、ApiPost腳本定義復(fù)雜變量
ApiPost 支持自定義函數(shù)來(lái)定義復(fù)雜的變量。如下圖:


在上面的例子中,我們定一個(gè)函數(shù)_random,
function _random(){
? ? return '你好,中國(guó)' + Math.random();
}
它返回一個(gè)字符串:“你好中國(guó)”+隨機(jī)數(shù),并且通過(guò)?
apt.globals.set("random_var", _random());
進(jìn)行了賦值。發(fā)送后,服務(wù)器成功接收。
4、ApiPost變量的MD5加密
ApiPost 支持變量的md5加密發(fā)送:
$.md5()
如下圖所示:


5、ApiPost變量的base64編碼
ApiPost 支持變量的base64編碼發(fā)送:
$.base64.encode()
$.base64.decode()
如下圖所示:


6、ApiPost腳本定義mock變量
ApiPost 支持mock.js變量(官網(wǎng):http://mockjs.com/)。如下圖:我們定一個(gè)一個(gè)mock對(duì)象,含數(shù)字、手機(jī)號(hào)、郵箱、中文名等。然后通過(guò)
apt.variables.set("mock_email", _mock_data.list[0].email);
取第一條數(shù)據(jù)的email信息。


服務(wù)器成功接收到mock出來(lái)的隨機(jī)郵箱。
附以上示例完整腳本:https://mp.apipost.cn/a/b298e6c8d1e61230
怎么查看當(dāng)前已定義的變量?
我們可以通過(guò)點(diǎn)擊右上角的“變量管理器”進(jìn)行查看當(dāng)前已定義的變量。


建議:變量名統(tǒng)一用小寫(xiě)。