uniapp常用api整合

每次使用uniapp开发都有一些常用的api需要调用,直接写官方的api显的代码很杂乱,重复的太多,于是把这些常用的api整理起来,作为常用的工具挂载到vue对象上,这样在任何页面都可以用this获取使用,非常方便,非常实用的uniapp使用技巧,大家看到了也可以根据个人使用习惯进行增删,这样每次新开项目时,都可以直接复制过去使用,增加开发效率!
let global={
domain:"https://www.xxxx.com",
post(url,data){
/* url接口,data为参数 */
var self=this;
var requesturl=self.domain+url;
let sysinfo=uni.getSystemInfoSync();
let appVersionCode=sysinfo.appVersionCode;
return new Promise((response,reject)=>{
uni.request({
url: requesturl,
method:'POST',
header:{
'content-type':'application/x-www-form-urlencoded',
'appVersionCode':appVersionCode,
},
data:data,
success: (res) => {
response(res.data);
},
fail: (res) => {
reject(res);
self.toast('网络错误!');
}
})
})
},
toast(msg,time){
var time=time||2000;
uni.showToast({
icon:'none',
title: msg,
duration: time
});
},
go(url,flag){
if(flag==1){
uni.redirectTo({
url:url
})
}else{
uni.navigateTo({
url:url
})
}
},
back(){
var page=getCurrentPages();
if(page.length==1){
uni.switchTab({
url:"/pages/index/index"
})
}else{
uni.navigateBack({
delta:1
})
}
},
selimg(){
var self=this;
self.choose(1).then(res=>{
self.upload({
url: '/plugin.php?id=xiaoxiangce&type=6',
file: res[0]
}).then((res1) => {
let filePath=res1.filePath;
});
}).catch(err=>{
})
},
choose(num) {
return new Promise((resolve, reject) => {
uni.chooseImage({
count: num,
success(res) {
// console.log(res);
// 缓存文件路径
resolve(res.tempFilePaths)
},
fail(err) {
console.log(err)
reject(err)
}
})
})
},
upload(options){
var self=this;
var requesturl=self.domain+options.url;
return new Promise(function (resolve, reject) {
uni.uploadFile({
url: requesturl,
fileType: 'image',
filePath: options.file,
name:'file',
formData:{},
success: function (response) {
const res = JSON.parse(response.data);
resolve(res);
},
fail: function (err) {
//util.message('网络错误', 'error');
reject(err);
},
complete: function (res) {
}
});
});
},
parsetime(timestamp){//时间戳转日期格式
var timelength=timestamp.toString().length;
function add0(m){return m<10?'0'+m:m };
var date=new Date(timestamp);
if(timelength==10){
date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
}
var Y = date.getFullYear() + '-';
var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
var D = date.getDate() + ' ';
var h = add0(date.getHours()) + ':';
var m = add0(date.getMinutes()) + ':';
var s = date.getSeconds();
return Y+add0(M)+add0(D);
},
getitem(name){
return uni.getStorageSync(name);
},
setitem(name,val){
uni.setStorageSync(name,val);
},
removeitem(name){
uni.removeStorageSync(name);
},
copy(str){
var self=this;
uni.setClipboardData({
data: str+'',
success: function () {
self.toast("已复制")
}
});
},
validphone(phone){
var self=this;
if(phone==""){
self.toast('请输入手机号码');
return false;
}
if(!(/^1[3456789]\d{9}$/.test(phone))){
self.toast('手机号码格式有误');
return false;
}else{
return true;
}
},
}
module.exports=global;
//import global from './common/global.js';//引用
//Vue.prototype.$go = global联系站长:
相关文章
【简单一行】使用js去掉空格方法-原生js代码实现JavaScript
【简单一行】使用js去掉空格方法-原生js代码实现JavaScript str为要去除空格的字符串:1、去掉所有空格:str=str.replace(/\s+/g,""); &...
fingerprintjs2使用方法,以及fingerprintjs2文件下载
fingerprintjs2使用方法,以及fingerprintjs2文件下载获取唯一标识,如果有技术问题可以联系站长官方教程:<script> // ...
js获取本月,本年,近一月,近3月,近1年的日期范围,获取近n月的日期范围
js获取本月,本年,近一月,近3月,近1年的日期范围,获取近n月的日期范围function getnMonth(i) { console.log(&quo...
js使用正则表达式获取html字符串中的img标签的src组成数组
js使用正则表达式获取html字符串中的img标签的src组成数组exec() 方法用于检索字符串中的正则表达式的匹配。如果字符串中有匹配的值返回该匹配值,否则返回 null。var htm...
【JavaScript】js获取当前年月日周
【JavaScript】js获取当前年月日周function getcurtime(){ const addZero =...
如何使用宝塔配置正向代理,例如:请求https://www.自己的域名.com/api,代理到https://www.别人的域名.com/api
ngnix如何使用宝塔配置正向代理,例如:请求https://www.自己的域名.com/api, 代理到https://www.别人的域名.com/apilocation /baidu/&...




