You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.1 KiB
90 lines
2.1 KiB
import Vue from 'vue'
|
|
import App from './App'
|
|
import {appConfig} from './config'
|
|
import {weixin} from './utils/weixin.js'
|
|
import {util} from './utils/util.js'
|
|
import uView from "uview-ui";
|
|
Vue.use(uView);
|
|
Vue.prototype.util = util;
|
|
|
|
Vue.config.productionTip = false
|
|
Vue.prototype.baseUrl = appConfig.baseUrl
|
|
Vue.prototype.openidInfoKey = appConfig.openidInfoKey
|
|
|
|
Vue.prototype.arrayCol = (arr, column) => {
|
|
const res = []
|
|
arr.forEach(i => {
|
|
res.push(i[column])
|
|
})
|
|
return res
|
|
}
|
|
Vue.prototype.alert = msg => {
|
|
uni.showToast({title: msg, duration: 2000, icon: 'none'})
|
|
}
|
|
Vue.prototype.checkLogin = () => {
|
|
const userInfo = uni.getStorageSync('userInfo')
|
|
if (!userInfo || !userInfo.access_token) {
|
|
uni.navigateTo({
|
|
url: '/pages/login/index'
|
|
})
|
|
return false
|
|
}
|
|
return true
|
|
}
|
|
Vue.prototype.getToken = () => {
|
|
const userInfo = uni.getStorageSync('userInfo')
|
|
return userInfo ? userInfo.access_token : ''
|
|
}
|
|
Vue.prototype.sendReq = (url, params, cb, method) => {
|
|
method = method || 'POST'
|
|
weixin.getOpenidInfo(r => {
|
|
var info = r.user_info;
|
|
params.openid = info.openid
|
|
uni.request({
|
|
url: appConfig.baseUrl + url,
|
|
method: method,
|
|
data: params,
|
|
success: r => {
|
|
if (r.data.status === 0) {
|
|
uni.showToast({title: r.data.msg, duration: 2000, icon: 'none'})
|
|
} else {
|
|
cb(r.data.data)
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
Vue.prototype.reqByToken = (url, params, cb, method) => {
|
|
method = method || 'POST'
|
|
const userInfo = uni.getStorageSync('userInfo')
|
|
params.token = userInfo.access_token
|
|
console.log(url)
|
|
uni.request({
|
|
url: appConfig.baseUrl + url,
|
|
method: method,
|
|
data: params,
|
|
success: r => {
|
|
if (r.data.status === 1) {
|
|
cb(r.data.data)
|
|
} else if (r.data.status === 2) {
|
|
uni.navigateTo({
|
|
url: '/package/pages/login/index'
|
|
})
|
|
return false
|
|
} else {
|
|
uni.showToast({title: r.data.msg, duration: 2000, icon: 'none'})
|
|
}
|
|
},
|
|
complete(r) {
|
|
console.log(r)
|
|
}
|
|
})
|
|
}
|
|
|
|
App.mpType = 'app'
|
|
|
|
const app = new Vue({
|
|
...App
|
|
})
|
|
app.$mount()
|