UNPKG

ng-request-cache

Version:

AngularJS HTTP request cache for IndexeDB and $cacheFactory

212 lines 7.53 kB
<!DOCTYPE html> <html lang="en" ng-app="myapp"> <head> <meta charset="UTF-8"> <title>ng request cache examples</title> <link href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"/> <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css"/> <link href="https://cdn.bootcss.com/angular-toastr/2.1.1/angular-toastr.min.css" rel="stylesheet"> <link href="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.css" rel="stylesheet"> </head> <body ng-controller="mainCtrl"> <div class="container"> <div class="row" style="margin-top: 15px"> <div class="col-md-2"> <button class="btn btn-default btn-block" ng-click="spinner()">开始spin</button> </div> <div class="col-md-2"> <button class="btn btn-danger btn-block" ng-click="toastr()">开始toastr</button> </div> <div class="col-md-2"> <button class="btn btn-info btn-block" ng-click="loading()">开始loading</button> </div> <div class="col-md-2"> <button class="btn btn-success btn-block" ng-click="alert()">打开对话框</button> </div> <div class="col-md-2"> <button class="btn btn-warning btn-block" ng-click="confirm()">打开询问框</button> </div> <div class="col-md-2"> <button class="btn btn-primary btn-block" ng-click="progress()">打开进度条</button> </div> </div> <div class="row" style="margin-top: 15px"> <div class="col-md-2"> <button class="btn btn-default btn-block" ng-click="prompt()">打开填空框</button> </div> <div class="col-md-2"> <button class="btn btn-danger btn-block" ng-click="alertClose()">对话框自动关闭</button> </div> <div class="col-md-2"> <button class="btn btn-info btn-block" ng-click="crypt()">数据加密解密</button> </div> <div class="col-md-2"> <button class="btn btn-success btn-block" ng-click="imgToBase64()">图片转base64</button> </div> <div class="col-md-2"> <button class="btn btn-warning btn-block" ng-click="sendSms($event)">发送短信验证码</button> </div> <div class="col-md-2"> <button class="btn btn-primary btn-block" ng-click="upload()">文件上传</button> </div> </div> <div class="row" style="margin-top: 15px" ng-if="show.crypt"> <div class="col-md-6"> <label>Private Key</label><br/> <small> <textarea ng-model="privkey" rows="10" style="width:100%"></textarea> </small> </div> <div class="col-md-6"> <label>Public Key</label><br/> <small><textarea ng-model="pubkey" rows="10" style="width:100%" readonly="readonly"></textarea></small> </div> <div class="col-md-6"> <label>加密后的数据</label><br/> <pre ng-bind="encrypt"></pre> </div> <div class="col-md-6"> <label>解密后的数据</label><br/> <pre ng-bind="decrypt"></pre> </div> </div> <div class="row" style="margin-top: 15px" ng-if="show.base64"> <div class="col-md-2">图片地址</div> <div class="col-md-10"> <pre ng-bind="imgUrl"></pre> </div> <div class="col-md-2">图片BASE64数据</div> <div class="col-md-10"> <textarea ng-model="base64" rows="10" style="width:100%" readonly="readonly"></textarea> </div> </div> </div> <span id="spinner"></span> <toasty></toasty> <script type="text/javascript" src="https://cdn.bootcss.com/underscore.js/1.8.3/underscore-min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/spin.js/2.3.2/spin.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/jsencrypt/2.3.1/jsencrypt.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/angular.js/1.6.9/angular.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/oclazyload/1.1.0/ocLazyLoad.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/angular-toastr/2.1.1/angular-toastr.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/angular-toastr/2.1.1/angular-toastr.tpls.min.js"></script> <script type="text/javascript" src="lib/angular-indexedDB/angular-indexed-db.min.js"></script> <script type="text/javascript" src="../dist/ng-unit-webpc.js"></script> <script type="text/javascript" src="../dist/ng-request-cache.js"></script> <script type="text/javascript" src="../dist/ng-oauth2.js"></script> <script type="text/javascript" src="app.js"></script> <script type="text/javascript"> app.controller('mainCtrl', function($scope, $interval, unitFactory){ $scope.show = { crypt: false, base64: false, } $scope.spinner = function(){ var spin = unitFactory.spinner(); setTimeout(function () { unitFactory.spinner_stop(spin); }, 5000); } $scope.loading = function(){ unitFactory.loading(); setTimeout(function () { unitFactory.loading_stop(); }, 5000); } $scope.toastr = function(){ unitFactory.toastr('success', '成功获取数据!'); } $scope.alert = function(){ unitFactory.alert({ type: 'success', title: '对话框的标题', text: '对话框的正文部分' }, function(){ console.log('打开对话框的回调'); }) } $scope.confirm = function(){ unitFactory.confirm({ title: '询问框的标题', text: '面确认要干点什么吗?' }, function(){ console.log('点击确认按钮后的回调'); }, function(){ console.log('点击取消按钮后的回调'); }) } $scope.progress = function(){ $scope.progress_param = { width: 0, text: '正在加载数据' } $interval(function(){ if($scope.progress_param.width < 100){ $scope.progress_param.width = $scope.progress_param.width + 5; unitFactory.progress($scope.progress_param); }else{ unitFactory.close(); } }, 500, 21); } $scope.prompt = function(){ unitFactory.prompt({ title: '填空框标题', text: '填空框说明', }, function(input){ console.log('您输入的内容是:'+ input); }) } $scope.alertClose = function(){ unitFactory.popup({ title: '对话框的标题', text: '对话框的正文部分', }) } $scope.crypt = function(){ $scope.show = { crypt: true, base64: false, }; unitFactory.prompt({ title: '填空框标题', text: '填空框说明', }, function(input){ var crypt = unitFactory.generateKey(512); $scope.privkey = crypt.privkey $scope.pubkey = crypt.pubkey; $scope.encrypt = unitFactory.encrypt(input, $scope.pubkey); $scope.decrypt = unitFactory.decrypt($scope.encrypt, $scope.privkey) console.log('您输入的内容是:'+ input, $scope.encrypt, $scope.decrypt); $scope.$apply(); }) } $scope.imgToBase64 = function(){ $scope.show = { crypt: false, base64: true, }; unitFactory.prompt({ title: '转换网络图片为base64数据', text: '图片地址', }, function(input){ $scope.imgUrl = input; unitFactory.imgToBase64($scope.imgUrl, function(resp){ $scope.base64 = angular.toJson(resp); $scope.$apply(); }) }) } $scope.sendSms = function($event){ unitFactory.sendSms({mobile: '18100882830'}, $event); } $scope.upload = function(){ unitFactory.upload(); } }); </script> </body> </html>