yshop意向点餐系统v1.2.2

This commit is contained in:
hupeng committed 2023-12-17 10:19:51 +08:00
1 parent d03982bf66
commit fc575265c3
4685 files changed
+518513 -182051

No files matched your search

+59
View File
@@ -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,
}
+63
View File
@@ -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
+75
View File
@@ -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,
}
+162
View File
@@ -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
}