WePY全局攔截器可對原生API的請求進行攔截。
import wepy from 'wepy'; export default class extends wepy.app { constructor () { // this is not allowed before super() super(); // 攔截request請求 this.intercept('request', { // 發出請求時的回調函數 config (p) { // 對所有request請求中的OBJECT參數對象統一附加時間戳屬性 p.timestamp = +new Date(); console.log('config request: ', p); // 必須返回OBJECT參數對象,否則無法發送請求到服務端 return p; }, // 請求成功后的回調函數 success (p) { // 可以在這里對收到的響應數據對象進行加工處理 console.log('request success: ', p); // 必須返回響應數據對象,否則后續無法對響應數據進行處理 return p; }, //請求失敗后的回調函數 fail (p) { console.log('request fail: ', p); // 必須返回響應數據對象,否則后續無法對響應數據進行處理 return p; }, // 請求完成時的回調函數(請求成功或失敗都會被執行) complete (p) { console.log('request complete: ', p); } }); } }
WXS
// mywxs.wxs module.exports = { text: 'This is from wxs', filter: function (num) { return num.toFixed(2); } };
// index.wpy <template> <text>{{m1.text}}</text> <text>{{m1.filter(num)}}</text> </template> <script> import wepy from 'wepy'; import mywxs from '../wxs/mywxs.wxs'; export default class Index extends wepy.page { data = { num: 10 }; wxs = { m1: mywxs } }; </script>
- wxs是基於原生的wxs去實現的,只是通過編譯把現在的語法編譯為原生語法。
- wxs必須是外鏈文件。並且后綴為
.wxs
。 - wxs引入后只能在template中使用,不能在script中使用。