yshop意向点餐系统v1.2.2
This commit is contained in:
1 parent
d03982bf66
commit
fc575265c3
4685 files changed
+518513
-182051
No files matched your search
@@ -0,0 +1,59 @@
|
||||
|
||||
const doc = null
|
||||
const CACHE_KEY = 'clear_0.0.1'
|
||||
// const doc = window.document;
|
||||
|
||||
function get(key) {
|
||||
return uni.getStorageSync(key)
|
||||
}
|
||||
|
||||
function all() {
|
||||
return uni.getStorageInfoSync()
|
||||
}
|
||||
|
||||
function set(key, data, time) {
|
||||
console.log("--> % set % key:\n", key)
|
||||
console.log("--> % set % data:\n", data)
|
||||
if (!key) {
|
||||
return
|
||||
}
|
||||
uni.setStorageSync(key, data)
|
||||
}
|
||||
|
||||
function remove(key) {
|
||||
if (!key || !_has(key)) {
|
||||
return
|
||||
}
|
||||
uni.removeStorageSync(key)
|
||||
}
|
||||
|
||||
function clearAll() {
|
||||
const res = uni.getStorageInfoSync()
|
||||
res.keys.map(item => {
|
||||
if (item == 'redirect' || item == 'spread' || item == CACHE_KEY) {
|
||||
return
|
||||
}
|
||||
remove(item)
|
||||
})
|
||||
}
|
||||
|
||||
function _has(key) {
|
||||
if (!key) {
|
||||
return
|
||||
}
|
||||
let value = uni.getStorageSync(key)
|
||||
if (value) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
export default {
|
||||
get,
|
||||
all,
|
||||
set,
|
||||
remove,
|
||||
clearAll,
|
||||
has: _has,
|
||||
CACHE_KEY,
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
import stringify from '@/utils/querystring'
|
||||
|
||||
import router from './router'
|
||||
import cookie from './cookie'
|
||||
|
||||
export const handleLoginFailure = () => {
|
||||
// router.replace({
|
||||
// path: '/pages/login/login',
|
||||
// })
|
||||
uni.redirectTo({
|
||||
url: '/pages/login/login',
|
||||
})
|
||||
}
|
||||
|
||||
export function parseUrl(location) {
|
||||
if (typeof location === 'string') return location
|
||||
const { url, query } = location
|
||||
|
||||
const queryStr = stringify(query)
|
||||
|
||||
if (!queryStr) {
|
||||
return url
|
||||
}
|
||||
|
||||
return `${url}?${queryStr}`
|
||||
}
|
||||
|
||||
const toAuth = () => {
|
||||
uni.showToast({
|
||||
title: '暂未开放',
|
||||
icon: 'none',
|
||||
duration: 2000,
|
||||
})
|
||||
}
|
||||
|
||||
export default {
|
||||
install: (app, options) => {
|
||||
// 在这里编写插件代码
|
||||
// 注入一个全局可用的 $translate() 方法
|
||||
app.config.globalProperties.$yrouter = router
|
||||
app.config.globalProperties.$cookie = cookie
|
||||
app.config.globalProperties.$toAuth = toAuth
|
||||
app.config.globalProperties.$onClickLeft = () => {
|
||||
router.back()
|
||||
//uni.navigateBack()
|
||||
//const mypage = getCurrentPages()
|
||||
//console.log('mypage:',mypage)
|
||||
}
|
||||
|
||||
// #ifdef H5
|
||||
app.config.globalProperties.$platform = 'h5'
|
||||
// #endif
|
||||
|
||||
// #ifdef APP-PLUS
|
||||
// app端
|
||||
app.config.globalProperties.$platform = 'app'
|
||||
// #endif
|
||||
|
||||
// #ifdef MP-WEIXIN
|
||||
app.config.globalProperties.$platform = 'routine'
|
||||
// #endif
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
// Copyright Joyent, Inc. and other Node contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
// persons to whom the Software is furnished to do so, subject to the
|
||||
// following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
var stringifyPrimitive = function (v) {
|
||||
switch (typeof v) {
|
||||
case 'string':
|
||||
return v
|
||||
|
||||
case 'boolean':
|
||||
return v ? 'true' : 'false'
|
||||
|
||||
case 'number':
|
||||
return isFinite(v) ? v : ''
|
||||
|
||||
default:
|
||||
return ''
|
||||
}
|
||||
}
|
||||
|
||||
function stringify(obj, sep, eq, name) {
|
||||
sep = sep || '&'
|
||||
eq = eq || '='
|
||||
if (obj === null) {
|
||||
obj = undefined
|
||||
}
|
||||
|
||||
if (typeof obj === 'object') {
|
||||
return Object.keys(obj).map(function (k) {
|
||||
var ks = stringifyPrimitive(k) + eq
|
||||
if (Array.isArray(obj[k])) {
|
||||
return obj[k].map(function (v) {
|
||||
return ks + stringifyPrimitive(v)
|
||||
}).join(sep)
|
||||
} else {
|
||||
return ks + stringifyPrimitive(obj[k])
|
||||
}
|
||||
}).filter(Boolean).join(sep)
|
||||
|
||||
}
|
||||
|
||||
if (!name) return ''
|
||||
return stringifyPrimitive(name) + eq + stringifyPrimitive(obj)
|
||||
}
|
||||
|
||||
export default stringify
|
||||
@@ -0,0 +1,75 @@
|
||||
import { parseUrl } from '@/utils'
|
||||
|
||||
export function navigateTo(location, complete, fail, success) {
|
||||
console.log({
|
||||
url: parseUrl(location),
|
||||
complete,
|
||||
fail,
|
||||
success,
|
||||
})
|
||||
uni.navigateTo({
|
||||
url: parseUrl(location),
|
||||
complete,
|
||||
fail,
|
||||
success,
|
||||
})
|
||||
}
|
||||
|
||||
export function replace(location, complete, fail, success) {
|
||||
uni.redirectTo({
|
||||
url: parseUrl(location),
|
||||
complete,
|
||||
fail,
|
||||
success,
|
||||
})
|
||||
}
|
||||
|
||||
export function reLaunch(location, complete, fail, success) {
|
||||
uni.reLaunch({
|
||||
url: parseUrl(location),
|
||||
complete,
|
||||
fail,
|
||||
success,
|
||||
})
|
||||
}
|
||||
|
||||
export function go(delta) {
|
||||
uni.navigateBack({
|
||||
delta,
|
||||
})
|
||||
}
|
||||
|
||||
export function back() {
|
||||
const mypage = getCurrentPages()
|
||||
if(mypage.length == 1) {
|
||||
uni.switchTab({
|
||||
url: '/pages/index/index'
|
||||
})
|
||||
return
|
||||
}
|
||||
uni.navigateBack({
|
||||
delta: 1,
|
||||
success: function (e) {},
|
||||
fail: function (e) {
|
||||
console.log('aaaa:')
|
||||
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
export function switchTab(location, complete, fail, success) {
|
||||
uni.switchTab({
|
||||
url: parseUrl(location),
|
||||
complete,
|
||||
fail,
|
||||
success,
|
||||
})
|
||||
}
|
||||
|
||||
export default {
|
||||
back,
|
||||
navigateTo,
|
||||
replace,
|
||||
reLaunch,
|
||||
switchTab,
|
||||
}
|
||||
@@ -0,0 +1,162 @@
|
||||
export function formatTime(time) {
|
||||
if (typeof time !== 'number' || time < 0) {
|
||||
return time
|
||||
}
|
||||
|
||||
var hour = parseInt(time / 3600)
|
||||
time = time % 3600
|
||||
var minute = parseInt(time / 60)
|
||||
time = time % 60
|
||||
var second = time
|
||||
|
||||
return ([hour, minute, second]).map(function(n) {
|
||||
n = n.toString()
|
||||
return n[1] ? n : '0' + n
|
||||
}).join(':')
|
||||
}
|
||||
|
||||
export function formatDateTime(date, fmt = 'yyyy-MM-dd hh:mm:ss') {
|
||||
if(!date) {
|
||||
return ''
|
||||
}
|
||||
if (typeof (date) === 'number') {
|
||||
date = new Date(date)
|
||||
}
|
||||
var o = {
|
||||
"M+": date.getMonth() + 1, //月份
|
||||
"d+": date.getDate(), //日
|
||||
"h+": date.getHours(), //小时
|
||||
"m+": date.getMinutes(), //分
|
||||
"s+": date.getSeconds(), //秒
|
||||
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
|
||||
"S": date.getMilliseconds() //毫秒
|
||||
}
|
||||
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length))
|
||||
for (var k in o)
|
||||
if (new RegExp("(" + k + ")").test(fmt))
|
||||
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)))
|
||||
return fmt
|
||||
}
|
||||
|
||||
export function formatLocation(longitude, latitude) {
|
||||
if (typeof longitude === 'string' && typeof latitude === 'string') {
|
||||
longitude = parseFloat(longitude)
|
||||
latitude = parseFloat(latitude)
|
||||
}
|
||||
|
||||
longitude = longitude.toFixed(2)
|
||||
latitude = latitude.toFixed(2)
|
||||
|
||||
return {
|
||||
longitude: longitude.toString().split('.'),
|
||||
latitude: latitude.toString().split('.')
|
||||
}
|
||||
}
|
||||
|
||||
var dateUtils = {
|
||||
UNITS: {
|
||||
'年': 31557600000,
|
||||
'月': 2629800000,
|
||||
'天': 86400000,
|
||||
'小时': 3600000,
|
||||
'分钟': 60000,
|
||||
'秒': 1000
|
||||
},
|
||||
humanize: function(milliseconds) {
|
||||
var humanize = '';
|
||||
for (var key in this.UNITS) {
|
||||
if (milliseconds >= this.UNITS[key]) {
|
||||
humanize = Math.floor(milliseconds / this.UNITS[key]) + key + '前';
|
||||
break;
|
||||
}
|
||||
}
|
||||
return humanize || '刚刚';
|
||||
},
|
||||
format: function(dateStr) {
|
||||
var date = this.parse(dateStr)
|
||||
var diff = Date.now() - date.getTime();
|
||||
if (diff < this.UNITS['天']) {
|
||||
return this.humanize(diff);
|
||||
}
|
||||
var _format = function(number) {
|
||||
return (number < 10 ? ('0' + number) : number);
|
||||
};
|
||||
return date.getFullYear() + '/' + _format(date.getMonth() + 1) + '/' + _format(date.getDate()) + '-' +
|
||||
_format(date.getHours()) + ':' + _format(date.getMinutes());
|
||||
},
|
||||
parse: function(str) { //将"yyyy-mm-dd HH:MM:ss"格式的字符串,转化为一个Date对象
|
||||
var a = str.split(/[^0-9]/);
|
||||
return new Date(a[0], a[1] - 1, a[2], a[3], a[4], a[5]);
|
||||
}
|
||||
};
|
||||
|
||||
// 返回上一页
|
||||
export function prePage(page = null){
|
||||
let pages = getCurrentPages();
|
||||
//console.log('pages:',pages);
|
||||
let prePage = pages[pages.length - 2];
|
||||
if (page !== null) {
|
||||
prePage = pages[page];
|
||||
}
|
||||
// #ifdef H5
|
||||
return prePage;
|
||||
// #endif
|
||||
return prePage.$vm;
|
||||
}
|
||||
|
||||
export function kmUnit(m){
|
||||
var v;
|
||||
if(typeof m === 'number' && !isNaN(m)){
|
||||
if (m >= 1000) {
|
||||
v = (m / 1000).toFixed(2) + 'km'
|
||||
} else {
|
||||
v = m + 'm'
|
||||
}
|
||||
}else{
|
||||
v = '0m'
|
||||
}
|
||||
return v;
|
||||
}
|
||||
|
||||
export function isWeixin() {
|
||||
if (navigator && navigator.userAgent && navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
export function parseQuery() {
|
||||
let res = {}
|
||||
|
||||
// #ifdef H5
|
||||
const query = (location.href.split('?')[1] || '').trim().replace(/^(\?|#|&)/, '')
|
||||
|
||||
if (!query) {
|
||||
return res
|
||||
}
|
||||
|
||||
query.split('&').forEach(param => {
|
||||
const parts = param.replace(/\+/g, ' ').split('=')
|
||||
const key = decodeURIComponent(parts.shift())
|
||||
const val = parts.length > 0 ? decodeURIComponent(parts.join('=')) : null
|
||||
|
||||
if (res[key] === undefined) {
|
||||
res[key] = val
|
||||
} else if (Array.isArray(res[key])) {
|
||||
res[key].push(val)
|
||||
} else {
|
||||
res[key] = [res[key], val]
|
||||
}
|
||||
})
|
||||
// #endif
|
||||
// #ifndef H5
|
||||
var pages = getCurrentPages() //获取加载的页面
|
||||
var currentPage = pages[pages.length - 1] //获取当前页面的对象
|
||||
var url = currentPage.route //当前页面url
|
||||
res = currentPage.options //如果要获取url中所带的参数可以查看options
|
||||
// #endif
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user