更新
This commit is contained in:
parent
b4ee41b80b
commit
d9783e74d7
@ -80,16 +80,15 @@
|
||||
"triggerRef": true,
|
||||
"unref": true,
|
||||
"useAttrs": true,
|
||||
"useColPickerData": true,
|
||||
"useCssModule": true,
|
||||
"useCssVars": true,
|
||||
"useRequest": true,
|
||||
"useSlots": true,
|
||||
"useUpload": true,
|
||||
"useUpload2": true,
|
||||
"watch": true,
|
||||
"watchEffect": true,
|
||||
"watchPostEffect": true,
|
||||
"watchSyncEffect": true,
|
||||
"useColPickerData": true
|
||||
"watchSyncEffect": true
|
||||
}
|
||||
}
|
||||
|
4
acdr-ui/.gitignore
vendored
4
acdr-ui/.gitignore
vendored
@ -9,9 +9,9 @@ lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
.DS_Store
|
||||
dist
|
||||
#dist
|
||||
*.local
|
||||
|
||||
tootls
|
||||
# Editor directories and files
|
||||
.idea
|
||||
*.suo
|
||||
|
41
acdr-ui/env/.env
vendored
41
acdr-ui/env/.env
vendored
@ -1,8 +1,8 @@
|
||||
VITE_APP_TITLE = '宠屋'
|
||||
VITE_APP_PORT = 8081
|
||||
VITE_APP_TITLE='宠屋'
|
||||
VITE_APP_PORT=8081
|
||||
|
||||
VITE_UNI_APPID = '__UNI__D748B51'
|
||||
VITE_WX_APPID = 'wxf2c6d4b7361366b4'
|
||||
VITE_UNI_APPID='__UNI__D748B51'
|
||||
VITE_WX_APPID='wxf2c6d4b7361366b4'
|
||||
|
||||
# h5部署网站的base,配置到 manifest.config.ts 里的 h5.router.base
|
||||
VITE_APP_PUBLIC_BASE=/acdr/
|
||||
@ -11,41 +11,44 @@ VITE_FALLBACK_LOCALE=zh-Hans
|
||||
# VITE_SERVER_BASEURL = 'http://47.99.70.12:28184/api'
|
||||
# VITE_UPLOAD_BASEURL = 'http://47.99.70.12:28184'
|
||||
# VITE_SERVER_BASEURL = 'http://localhost:28184/api'
|
||||
# VITE_SERVER_BASEURL = 'http://localhost:48080/app-api'
|
||||
VITE_SERVER_BASEURL = 'http://47.99.70.12:48080/app-api'
|
||||
# VITE_WS_BASEURL = 'ws://47.99.70.12:28184/api'
|
||||
VITE_UPLOAD_BASEURL = 'http://localhost:28184'
|
||||
VITE_OSS_BASEURL = 'http://116.204.119.171:9000/linghe'
|
||||
# VITE_SERVER_BASEURL = 'http://127.0.0.1:48080/app-api'
|
||||
# VITE_SERVER_BASEURL = 'http://47.99.70.12:48080/app-api'
|
||||
VITE_SERVER_BASEURL='http://116.204.119.171:48080/app-api'
|
||||
VITE_UPLOAD_BASEURL='http://116.204.119.171:48080/app-api'
|
||||
VITE_WS_BASEURL='ws://116.204.119.171:48080/app-api'
|
||||
# VITE_UPLOAD_BASEURL = 'http://localhost:48080/app-api'
|
||||
VITE_OSS_BASEURL='http://116.204.119.171:9000/linghe'
|
||||
|
||||
# h5是否需要配置代理
|
||||
VITE_APP_PROXY=false
|
||||
VITE_APP_PROXY_PREFIX = '/api'
|
||||
VITE_APP_PROXY_PREFIX='/api'
|
||||
|
||||
# 版本号
|
||||
SHOPRO_VERSION = v1.8.3
|
||||
SHOPRO_VERSION=v1.8.3
|
||||
|
||||
# 后端接口 - 正式环境(通过 process.env.NODE_ENV 非 development)
|
||||
SHOPRO_BASE_URL = http://api-dashboard.yudao.iocoder.cn
|
||||
SHOPRO_BASE_URL=http://116.204.119.171:48080
|
||||
|
||||
# 后端接口 - 测试环境(通过 process.env.NODE_ENV = development)
|
||||
# SHOPRO_DEV_BASE_URL = http://127.0.0.1:48080
|
||||
SHOPRO_DEV_BASE_URL = http://47.99.70.12:48080
|
||||
# SHOPRO_DEV_BASE_URL = http://47.99.70.12:48080
|
||||
SHOPRO_DEV_BASE_URL=http://116.204.119.171:48080
|
||||
### SHOPRO_DEV_BASE_URL = http://yunai.natapp1.cc
|
||||
|
||||
# 后端接口前缀(一般不建议调整)
|
||||
SHOPRO_API_PATH = /app-api
|
||||
SHOPRO_API_PATH=/app-api
|
||||
|
||||
# 后端 websocket 接口前缀
|
||||
SHOPRO_WEBSOCKET_PATH = /infra/ws
|
||||
SHOPRO_WEBSOCKET_PATH=/infra/ws
|
||||
|
||||
# 开发环境运行端口
|
||||
SHOPRO_DEV_PORT = 3000
|
||||
SHOPRO_DEV_PORT=3000
|
||||
|
||||
# 客户端静态资源地址 空=默认使用服务端指定的CDN资源地址前缀 | local=本地 | http(s)://xxx.xxx=自定义静态资源地址前缀
|
||||
SHOPRO_STATIC_URL = https://file.sheepjs.com
|
||||
SHOPRO_STATIC_URL=https://file.sheepjs.com
|
||||
|
||||
# 是否开启直播 1 开启直播 | 0 关闭直播 (小程序官方后台未审核开通直播权限时请勿开启)
|
||||
SHOPRO_MPLIVE_ON = 0
|
||||
SHOPRO_MPLIVE_ON=0
|
||||
|
||||
# 租户ID 默认 1
|
||||
SHOPRO_TENANT_ID = 1
|
||||
SHOPRO_TENANT_ID=1
|
||||
|
30
acdr-ui/env/.env.development
vendored
30
acdr-ui/env/.env.development
vendored
@ -6,3 +6,33 @@ VITE_DELETE_CONSOLE = false
|
||||
VITE_SHOW_SOURCEMAP = true
|
||||
VITE_WX_APPID = wxf2c6d4b7361366b4
|
||||
VITE_UNI_APPID = __UNI__9D479DC
|
||||
|
||||
# 变量必须以 VITE_ 为前缀才能暴露给外部读取
|
||||
# 是否去除console 和 debugger
|
||||
VITE_DELETE_CONSOLE = true
|
||||
# 是否开启sourcemap
|
||||
VITE_SHOW_SOURCEMAP = false
|
||||
VITE_SERVER_BASEURL = 'http://47.99.70.12:48080/app-api'
|
||||
VITE_OSS_BASEURL = 'http://116.204.119.171:9000/linghe'
|
||||
|
||||
SHOPRO_DEV_BASE_URL = http://47.99.70.12:48080
|
||||
VITE_UPLOAD_BASEURL = 'http://47.99.70.12:48080/app-api'
|
||||
VITE_WS_BASEURL = 'ws://47.99.70.12:48080/app-api'
|
||||
# VITE_UPLOAD_BASEURL = 'http://localhost:48080/app-api'
|
||||
VITE_OSS_BASEURL = 'http://116.204.119.171:9000/linghe'
|
||||
SHOPRO_BASE_URL = http://47.99.70.12:48080
|
||||
SHOPRO_DEV_BASE_URL = http://47.99.70.12:48080
|
||||
|
||||
# 变量必须以 VITE_ 为前缀才能暴露给外部读取
|
||||
# NODE_ENV='production'
|
||||
# 是否去除console 和 debugger
|
||||
# VITE_DELETE_CONSOLE=true
|
||||
# 是否开启sourcemap
|
||||
# VITE_SHOW_SOURCEMAP=false
|
||||
# VITE_SERVER_BASEURL='http://127.0.0.1:48080/app-api'
|
||||
# VITE_UPLOAD_BASEURL='http://127.0.0.1:48080/app-api'
|
||||
# VITE_WS_BASEURL='ws://127.0.0.1:48080/app-api'
|
||||
# VITE_UPLOAD_BASEURL = 'http://localhost:48080/app-api'
|
||||
# VITE_OSS_BASEURL='http://116.204.119.171:9000/linghe'
|
||||
# SHOPRO_BASE_URL=http://127.0.0.1:48080
|
||||
# SHOPRO_DEV_BASE_URL=http://127.0.0.1:48080
|
||||
|
13
acdr-ui/env/.env.production
vendored
13
acdr-ui/env/.env.production
vendored
@ -1,6 +1,13 @@
|
||||
# 变量必须以 VITE_ 为前缀才能暴露给外部读取
|
||||
NODE_ENV = 'development'
|
||||
NODE_ENV='production'
|
||||
# 是否去除console 和 debugger
|
||||
VITE_DELETE_CONSOLE = true
|
||||
VITE_DELETE_CONSOLE=true
|
||||
# 是否开启sourcemap
|
||||
VITE_SHOW_SOURCEMAP = false
|
||||
VITE_SHOW_SOURCEMAP=false
|
||||
VITE_SERVER_BASEURL='http://116.204.119.171:48080/app-api'
|
||||
VITE_UPLOAD_BASEURL='http://116.204.119.171:48080/app-api'
|
||||
VITE_WS_BASEURL='ws://116.204.119.171:48080/app-api'
|
||||
# VITE_UPLOAD_BASEURL = 'http://localhost:48080/app-api'
|
||||
VITE_OSS_BASEURL='http://116.204.119.171:9000/linghe'
|
||||
SHOPRO_BASE_URL=http://116.204.119.171:48080
|
||||
SHOPRO_DEV_BASE_URL=http://116.204.119.171:48080
|
||||
|
@ -2,7 +2,7 @@
|
||||
<html build-time="%BUILD_TIME%">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
|
||||
<link rel="shortcut icon" href="logo.png" type="image/x-icon" />
|
||||
<script>
|
||||
var coverSupport =
|
||||
'CSS' in window &&
|
||||
|
@ -16,7 +16,7 @@ const {
|
||||
export default defineManifestConfig({
|
||||
name: VITE_APP_TITLE,
|
||||
appid: VITE_UNI_APPID,
|
||||
description: '',
|
||||
description: '宠物一站式开发平台',
|
||||
versionName: '1.0.0',
|
||||
versionCode: '100',
|
||||
transformPx: false,
|
||||
@ -26,13 +26,35 @@ export default defineManifestConfig({
|
||||
base: VITE_APP_PUBLIC_BASE,
|
||||
},
|
||||
sdkConfigs: {
|
||||
maps: {
|
||||
geolocation: {
|
||||
system: {
|
||||
__platform__: ['ios', 'android'],
|
||||
},
|
||||
amap: {
|
||||
key: '5a270020f3c6b67887c493a416ebd3ad',
|
||||
securityJsCode: '3eabbc7e073e650ae2b1f213f8357422',
|
||||
serviceHost: '',
|
||||
name: 'amapCIxLx5gHo',
|
||||
__platform__: ['android'],
|
||||
appkey_ios: '',
|
||||
appkey_android: '92219e40234c2046f50cb72a1a86e4f7',
|
||||
},
|
||||
},
|
||||
amap: {
|
||||
name: 'amapCIxLx5gHo',
|
||||
appkey_ios: '92219e40234c2046f50cb72a1a86e4f7',
|
||||
appkey_android: '92219e40234c2046f50cb72a1a86e4f7',
|
||||
key: '5a270020f3c6b67887c493a416ebd3ad',
|
||||
securityJsCode: '3eabbc7e073e650ae2b1f213f8357422',
|
||||
},
|
||||
maps: {
|
||||
amap: {
|
||||
name: 'amapCIxLx5gHo',
|
||||
appkey_ios: '92219e40234c2046f50cb72a1a86e4f7',
|
||||
appkey_android: '92219e40234c2046f50cb72a1a86e4f7',
|
||||
key: '5a270020f3c6b67887c493a416ebd3ad',
|
||||
securityJsCode: '3eabbc7e073e650ae2b1f213f8357422',
|
||||
},
|
||||
},
|
||||
oauth: {},
|
||||
share: {},
|
||||
},
|
||||
},
|
||||
/* 5+App特有相关 */
|
||||
@ -45,12 +67,23 @@ export default defineManifestConfig({
|
||||
},
|
||||
splashscreen: {
|
||||
alwaysShowBeforeRender: true,
|
||||
waiting: true,
|
||||
waiting: false,
|
||||
autoclose: true,
|
||||
delay: 0,
|
||||
},
|
||||
/* 模块配置 */
|
||||
modules: {},
|
||||
modules: {
|
||||
Barcode: {},
|
||||
Bluetooth: {},
|
||||
Camera: {},
|
||||
Contacts: {},
|
||||
Fingerprint: {},
|
||||
Geolocation: {},
|
||||
Maps: {},
|
||||
SQLite: {},
|
||||
Payment: {},
|
||||
'Webview-x5': {},
|
||||
},
|
||||
/* 应用发布信息 */
|
||||
distribute: {
|
||||
/* android打包配置 */
|
||||
@ -79,37 +112,98 @@ export default defineManifestConfig({
|
||||
/* ios打包配置 */
|
||||
ios: {},
|
||||
/* SDK配置 */
|
||||
sdkConfigs: {},
|
||||
sdkConfigs: {
|
||||
payment: {
|
||||
alipay: {
|
||||
__platform__: ['ios', 'android'],
|
||||
},
|
||||
},
|
||||
geolocation: {
|
||||
amap: {
|
||||
name: 'amapCIxLx5gHo',
|
||||
__platform__: ['android'],
|
||||
appkey_ios: '',
|
||||
appkey_android: '92219e40234c2046f50cb72a1a86e4f7',
|
||||
},
|
||||
system: {
|
||||
__platform__: ['ios', 'android'],
|
||||
},
|
||||
},
|
||||
maps: {
|
||||
amap: {
|
||||
name: 'amapCIxLx5gHo',
|
||||
appkey_ios: '92219e40234c2046f50cb72a1a86e4f7',
|
||||
appkey_android: '92219e40234c2046f50cb72a1a86e4f7',
|
||||
},
|
||||
},
|
||||
},
|
||||
splashscreen: {
|
||||
androidStyle: 'default',
|
||||
android: {
|
||||
hdpi: 'unpackage/index/start_bg.png',
|
||||
xhdpi: 'unpackage/index/start_bg.png',
|
||||
xxhdpi: 'unpackage/index/start_bg.png',
|
||||
},
|
||||
ios: {
|
||||
iphone: {
|
||||
'portrait-896h@3x': 'unpackage/index/start_bg.png',
|
||||
'landscape-896h@3x': 'unpackage/index/start_bg.png',
|
||||
'portrait-896h@2x': 'unpackage/index/start_bg.png',
|
||||
'landscape-896h@2x': 'unpackage/index/start_bg.png',
|
||||
iphonex: 'unpackage/index/start_bg.png',
|
||||
iphonexl: 'unpackage/index/start_bg.png',
|
||||
retina55: 'unpackage/index/start_bg.png',
|
||||
retina55l: 'unpackage/index/start_bg.png',
|
||||
retina47: 'unpackage/index/start_bg.png',
|
||||
retina47l: 'unpackage/index/start_bg.png',
|
||||
retina40: 'unpackage/index/start_bg.png',
|
||||
retina40l: 'unpackage/index/start_bg.png',
|
||||
retina35: 'unpackage/index/start_bg.png',
|
||||
},
|
||||
ipad: {
|
||||
'portrait-1366h@2x': 'unpackage/index/start_bg.png',
|
||||
'landscape-1366h@2x': 'unpackage/index/start_bg.png',
|
||||
'portrait-1194h@2x': 'unpackage/index/start_bg.png',
|
||||
'landscape-1194h@2x': 'unpackage/index/start_bg.png',
|
||||
'portrait-1112h@2x': 'unpackage/index/start_bg.png',
|
||||
'landscape-1112h@2x': 'unpackage/index/start_bg.png',
|
||||
'portrait-retina7': 'unpackage/index/start_bg.png',
|
||||
'landscape-retina7': 'unpackage/index/start_bg.png',
|
||||
portrait7: 'unpackage/index/start_bg.png',
|
||||
landscape7: 'unpackage/index/start_bg.png',
|
||||
},
|
||||
},
|
||||
},
|
||||
/* 图标配置 */
|
||||
icons: {
|
||||
android: {
|
||||
hdpi: 'static/app/icons/72x72.png',
|
||||
xhdpi: 'static/app/icons/96x96.png',
|
||||
xxhdpi: 'static/app/icons/144x144.png',
|
||||
xxxhdpi: 'static/app/icons/192x192.png',
|
||||
hdpi: 'unpackage/res/icons/72x72.png',
|
||||
xhdpi: 'unpackage/res/icons/96x96.png',
|
||||
xxhdpi: 'unpackage/res/icons/144x144.png',
|
||||
xxxhdpi: 'unpackage/res/icons/192x192.png',
|
||||
},
|
||||
ios: {
|
||||
appstore: 'static/app/icons/1024x1024.png',
|
||||
appstore: 'unpackage/res/icons/1024x1024.png',
|
||||
ipad: {
|
||||
app: 'static/app/icons/76x76.png',
|
||||
'app@2x': 'static/app/icons/152x152.png',
|
||||
notification: 'static/app/icons/20x20.png',
|
||||
'notification@2x': 'static/app/icons/40x40.png',
|
||||
'proapp@2x': 'static/app/icons/167x167.png',
|
||||
settings: 'static/app/icons/29x29.png',
|
||||
'settings@2x': 'static/app/icons/58x58.png',
|
||||
spotlight: 'static/app/icons/40x40.png',
|
||||
'spotlight@2x': 'static/app/icons/80x80.png',
|
||||
app: 'unpackage/res/icons/76x76.png',
|
||||
'app@2x': 'unpackage/res/icons/152x152.png',
|
||||
notification: 'unpackage/res/icons/20x20.png',
|
||||
'notification@2x': 'unpackage/res/icons/40x40.png',
|
||||
'proapp@2x': 'unpackage/res/icons/167x167.png',
|
||||
settings: 'unpackage/res/icons/29x29.png',
|
||||
'settings@2x': 'unpackage/res/icons/58x58.png',
|
||||
spotlight: 'unpackage/res/icons/40x40.png',
|
||||
'spotlight@2x': 'unpackage/res/icons/80x80.png',
|
||||
},
|
||||
iphone: {
|
||||
'app@2x': 'static/app/icons/120x120.png',
|
||||
'app@3x': 'static/app/icons/180x180.png',
|
||||
'notification@2x': 'static/app/icons/40x40.png',
|
||||
'notification@3x': 'static/app/icons/60x60.png',
|
||||
'settings@2x': 'static/app/icons/58x58.png',
|
||||
'settings@3x': 'static/app/icons/87x87.png',
|
||||
'spotlight@2x': 'static/app/icons/80x80.png',
|
||||
'spotlight@3x': 'static/app/icons/120x120.png',
|
||||
'app@2x': 'unpackage/res/icons/120x120.png',
|
||||
'app@3x': 'unpackage/res/icons/180x180.png',
|
||||
'notification@2x': 'unpackage/res/icons/40x40.png',
|
||||
'notification@3x': 'unpackage/res/icons/60x60.png',
|
||||
'settings@2x': 'unpackage/res/icons/58x58.png',
|
||||
'settings@3x': 'unpackage/res/icons/87x87.png',
|
||||
'spotlight@2x': 'unpackage/res/icons/80x80.png',
|
||||
'spotlight@3x': 'unpackage/res/icons/120x120.png',
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -122,6 +216,8 @@ export default defineManifestConfig({
|
||||
appid: VITE_WX_APPID,
|
||||
setting: {
|
||||
urlCheck: false,
|
||||
minified: true,
|
||||
//es6: true,
|
||||
},
|
||||
requiredPrivateInfos: ['getLocation', 'chooseLocation'],
|
||||
permission: {
|
||||
@ -129,6 +225,9 @@ export default defineManifestConfig({
|
||||
desc: '你的位置信息将用于定位效果展示',
|
||||
},
|
||||
},
|
||||
optimization: {
|
||||
subPackages: true,
|
||||
},
|
||||
usingComponents: true,
|
||||
lazyCodeLoading: 'requiredComponents',
|
||||
// __usePrivacyCheck__: true,
|
||||
|
@ -162,4 +162,4 @@
|
||||
"vite-plugin-style-import": "^2.0.0",
|
||||
"vue-tsc": "^1.8.27"
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,8 @@
|
||||
<script setup lang="js">
|
||||
import { onLaunch, onShow, onHide } from '@dcloudio/uni-app'
|
||||
import { notificationService } from './service/notificationService'
|
||||
import { ShoproInit } from './sheep'
|
||||
import { useUserStore } from '@/store'
|
||||
import { toPath } from '@/utils/commUtils'
|
||||
|
||||
onLoad(() => {
|
||||
// 隐藏底部导航栏
|
||||
@ -12,9 +13,14 @@ onLoad(() => {
|
||||
onLaunch(() => {
|
||||
console.log('应用正在运行...')
|
||||
uni.hideTabBar()
|
||||
// 检查是否已登录
|
||||
const userInfo = useUserStore()
|
||||
notificationService.startPollingUnreadMessages()
|
||||
// 加载底部商城依赖
|
||||
ShoproInit()
|
||||
if (userInfo.userInfo.token == '' || !userInfo.userInfo.token) {
|
||||
// 未登录则跳转到登录页面
|
||||
toPath('/modules/pet/login/index')
|
||||
return
|
||||
}
|
||||
})
|
||||
|
||||
// 当应用进入前台时继续轮询服务
|
||||
@ -49,48 +55,5 @@ onHide(() => {
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import "@/style/index.scss";
|
||||
@import "@/scss/index.scss";
|
||||
|
||||
button::after {
|
||||
border: none;
|
||||
}
|
||||
|
||||
swiper,
|
||||
scroll-view {
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
// 单行省略,优先使用 unocss: text-ellipsis
|
||||
.ellipsis {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
// 两行省略
|
||||
.ellipsis-2 {
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
|
||||
// 三行省略
|
||||
.ellipsis-3 {
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
-webkit-line-clamp: 3;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
</style>
|
||||
|
@ -2,33 +2,38 @@
|
||||
<view
|
||||
:class="[
|
||||
'pos-fixed z-999 left-[1px] flex gap-[5px] items-center content-center justify-center',
|
||||
isH5 ? 'top-[3vw]' : 'top-[6vw]',
|
||||
isH5 ? 'top-[2%]' : 'top-[6%]',
|
||||
]"
|
||||
>
|
||||
<image src="/static/addresscell/location.png" class="w-[30px]" mode="widthFix" />
|
||||
<view>
|
||||
<image :src="imgUrl('@/static/addresscell/location.png')" class="w-[6vw]" mode="widthFix" />
|
||||
<view v-if="loading" class="text-size-[4vw]">
|
||||
{{
|
||||
!addressDetail.addressComponent
|
||||
? '正在加载...'
|
||||
: `${addressDetail.addressComponent.city} ${addressDetail.addressComponent.district}`
|
||||
}}
|
||||
</view>
|
||||
<view v-else>未获取</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script lang="js" setup>
|
||||
import { getLocation, getMapDetailAddress } from '@/service/mapService'
|
||||
import { imgUrl } from '@/utils/commUtils'
|
||||
import { isH5 } from '@/utils/platform'
|
||||
|
||||
const addressDetail = ref({})
|
||||
const loading = ref(true)
|
||||
// 获取地址详细信息
|
||||
const getLocationDetail = async () => {
|
||||
try {
|
||||
const loction = await getLocation()
|
||||
const res = await getMapDetailAddress(loction.longitude, loction.latitude)
|
||||
addressDetail.value = res
|
||||
if (!addressDetail.value.addressComponent) loading.value = false
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,37 +1,54 @@
|
||||
<template>
|
||||
<view class="empty-state">
|
||||
<image v-if="this.type == 'map'" class="img" src="@/static/null/mapnull.png" mode="widthFix" />
|
||||
<image
|
||||
v-if="this.type == 'map'"
|
||||
class="img"
|
||||
:src="imgUrl('@/static/null/mapnull.png')"
|
||||
mode="widthFix"
|
||||
/>
|
||||
<image
|
||||
v-else-if="this.type == 'search'"
|
||||
class="img"
|
||||
src="@/static/null/searchnull.png"
|
||||
:src="imgUrl('@/static/null/searchnull.png')"
|
||||
mode="widthFix"
|
||||
/>
|
||||
<image
|
||||
v-else-if="this.type == 'message'"
|
||||
class="img"
|
||||
src="@/static/null/messagenull.png"
|
||||
:src="imgUrl('@/static/null/messagenull.png')"
|
||||
mode="widthFix"
|
||||
/>
|
||||
<image
|
||||
v-else
|
||||
class="img"
|
||||
:src="imgUrl('@/static/null/searchnull.png')"
|
||||
mode="widthFix"
|
||||
/>
|
||||
<image v-else class="img" src="@/static/null/searchnull.png" mode="widthFix" />
|
||||
<view class="txt">{{ message }}</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Page from "@/modules/mall/index/page.vue";
|
||||
import { imgUrl } from "@/utils/commUtils";
|
||||
|
||||
export default {
|
||||
name: 'EmptyState',
|
||||
name: "EmptyState",
|
||||
components: { Page },
|
||||
props: {
|
||||
type: {
|
||||
type: String,
|
||||
default: 'default',
|
||||
default: "default",
|
||||
},
|
||||
message: {
|
||||
type: String,
|
||||
default: '空空如也!',
|
||||
default: "空空如也!",
|
||||
},
|
||||
},
|
||||
}
|
||||
methods: {
|
||||
imgUrl,
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
@ -109,6 +109,10 @@ const getLocation = () => {
|
||||
covers[0].latitude = res.latitude
|
||||
// 获取地理位置的详细信息
|
||||
getMapDetailAddress(res.longitude, res.latitude).then((mapDetail) => {
|
||||
mapDetail.location = {
|
||||
longitude: res.longitude,
|
||||
latitude: res.latitude,
|
||||
}
|
||||
emit('doneFun', mapDetail)
|
||||
})
|
||||
},
|
||||
|
@ -54,7 +54,7 @@ const props = defineProps({
|
||||
|
||||
const toServiceDetail = () => {
|
||||
uni.navigateTo({
|
||||
url: '/pages/service/detail?id=' + props.petSitter.id,
|
||||
url: '/modules/pet/service/detail?id=' + props.petSitter.id,
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
@ -25,7 +25,11 @@ const routersStore = useRoutersStore()
|
||||
|
||||
function switchTab(item) {
|
||||
routersStore.setCurrentTab(item.pagePath) // 更新选中的 tab 状态
|
||||
uni.switchTab({
|
||||
if(item.pagePath === "/pages/index/index") {
|
||||
uni.switchTab({ url: "/pages/index/index" })
|
||||
return
|
||||
}
|
||||
uni.navigateTo({
|
||||
url: item.pagePath,
|
||||
})
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ import { useUserStore } from '@/store'
|
||||
import { getNeedLoginPages, needLoginPages as _needLoginPages } from '@/utils'
|
||||
|
||||
// TODO Check
|
||||
const loginRoute = '/pages/login/index'
|
||||
const loginRoute = '/modules/pet/login/index'
|
||||
|
||||
const isLogined = () => {
|
||||
const userStore = useUserStore()
|
||||
|
@ -19,6 +19,7 @@ export const pay = async (order) => {
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err.message)
|
||||
uni.showToast({ title: '创建订单失败', icon: 'none' })
|
||||
}
|
||||
// #endif
|
||||
|
@ -3,14 +3,11 @@ import App from './App.vue'
|
||||
import store from './store' // 这里导入上面定义的 store
|
||||
import { routeInterceptor, requestInterceptor, prototypeInterceptor } from './interceptors'
|
||||
import 'virtual:uno.css'
|
||||
import '@/style/index.css'
|
||||
import { setupPinia } from './sheep/store'
|
||||
import { setupPinia } from '@/modules/mall/sheep/store'
|
||||
|
||||
export function createApp() {
|
||||
const app = createSSRApp(App)
|
||||
|
||||
// 启动商城模块的Pinia
|
||||
setupPinia(store)
|
||||
// 使用 Pinia 存储
|
||||
app.use(store)
|
||||
|
||||
|
@ -11,17 +11,9 @@
|
||||
"compilerVersion": 3,
|
||||
"splashscreen": {
|
||||
"alwaysShowBeforeRender": true,
|
||||
"waiting": true,
|
||||
"waiting": false,
|
||||
"autoclose": true,
|
||||
"delay": 0,
|
||||
"androidStyle": "default",
|
||||
"android": {
|
||||
"hdpi": "src/static/start_bg.png",
|
||||
"xhdpi": "src/static/start_bg.png",
|
||||
"xxhdpi": "src/static/start_bg.png"
|
||||
},
|
||||
"useOriginalMsgbox": true,
|
||||
"iosStyle": "common"
|
||||
"delay": 0
|
||||
},
|
||||
"modules": {
|
||||
"Barcode": {},
|
||||
@ -95,6 +87,43 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"splashscreen": {
|
||||
"androidStyle": "default",
|
||||
"android": {
|
||||
"hdpi": "unpackage/index/start_bg.png",
|
||||
"xhdpi": "unpackage/index/start_bg.png",
|
||||
"xxhdpi": "unpackage/index/start_bg.png"
|
||||
},
|
||||
"ios": {
|
||||
"iphone": {
|
||||
"portrait-896h@3x": "unpackage/index/start_bg.png",
|
||||
"landscape-896h@3x": "unpackage/index/start_bg.png",
|
||||
"portrait-896h@2x": "unpackage/index/start_bg.png",
|
||||
"landscape-896h@2x": "unpackage/index/start_bg.png",
|
||||
"iphonex": "unpackage/index/start_bg.png",
|
||||
"iphonexl": "unpackage/index/start_bg.png",
|
||||
"retina55": "unpackage/index/start_bg.png",
|
||||
"retina55l": "unpackage/index/start_bg.png",
|
||||
"retina47": "unpackage/index/start_bg.png",
|
||||
"retina47l": "unpackage/index/start_bg.png",
|
||||
"retina40": "unpackage/index/start_bg.png",
|
||||
"retina40l": "unpackage/index/start_bg.png",
|
||||
"retina35": "unpackage/index/start_bg.png"
|
||||
},
|
||||
"ipad": {
|
||||
"portrait-1366h@2x": "unpackage/index/start_bg.png",
|
||||
"landscape-1366h@2x": "unpackage/index/start_bg.png",
|
||||
"portrait-1194h@2x": "unpackage/index/start_bg.png",
|
||||
"landscape-1194h@2x": "unpackage/index/start_bg.png",
|
||||
"portrait-1112h@2x": "unpackage/index/start_bg.png",
|
||||
"landscape-1112h@2x": "unpackage/index/start_bg.png",
|
||||
"portrait-retina7": "unpackage/index/start_bg.png",
|
||||
"landscape-retina7": "unpackage/index/start_bg.png",
|
||||
"portrait7": "unpackage/index/start_bg.png",
|
||||
"landscape7": "unpackage/index/start_bg.png"
|
||||
}
|
||||
}
|
||||
},
|
||||
"icons": {
|
||||
"android": {
|
||||
"hdpi": "unpackage/res/icons/72x72.png",
|
||||
@ -137,8 +166,7 @@
|
||||
"appid": "wxf2c6d4b7361366b4",
|
||||
"setting": {
|
||||
"urlCheck": false,
|
||||
"minified": true,
|
||||
"es6": true
|
||||
"minified": true
|
||||
},
|
||||
"usingComponents": true,
|
||||
"requiredPrivateInfos": [
|
||||
@ -150,6 +178,9 @@
|
||||
"desc": "你的位置信息将用于定位效果展示"
|
||||
}
|
||||
},
|
||||
"optimization": {
|
||||
"subPackages": true
|
||||
},
|
||||
"lazyCodeLoading": "requiredComponents"
|
||||
},
|
||||
"mp-alipay": {
|
||||
@ -188,11 +219,20 @@
|
||||
"appkey_android": "92219e40234c2046f50cb72a1a86e4f7"
|
||||
}
|
||||
},
|
||||
"amap": {
|
||||
"name": "amapCIxLx5gHo",
|
||||
"appkey_ios": "92219e40234c2046f50cb72a1a86e4f7",
|
||||
"appkey_android": "92219e40234c2046f50cb72a1a86e4f7",
|
||||
"key": "5a270020f3c6b67887c493a416ebd3ad",
|
||||
"securityJsCode": "3eabbc7e073e650ae2b1f213f8357422"
|
||||
},
|
||||
"maps": {
|
||||
"amap": {
|
||||
"name": "amapCIxLx5gHo",
|
||||
"appkey_ios": "92219e40234c2046f50cb72a1a86e4f7",
|
||||
"appkey_android": "92219e40234c2046f50cb72a1a86e4f7"
|
||||
"appkey_android": "92219e40234c2046f50cb72a1a86e4f7",
|
||||
"key": "5a270020f3c6b67887c493a416ebd3ad",
|
||||
"securityJsCode": "3eabbc7e073e650ae2b1f213f8357422"
|
||||
}
|
||||
},
|
||||
"oauth": {},
|
||||
|
@ -201,13 +201,13 @@
|
||||
|
||||
<script setup>
|
||||
import { computed, reactive } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { fen2yuan, useDurationTime } from '@/sheep/hooks/useGoods'
|
||||
import { showShareModal } from '@/sheep/hooks/useModal'
|
||||
import { fen2yuan, useDurationTime } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import { showShareModal } from '@/modules/mall/sheep/hooks/useModal'
|
||||
import { isEmpty } from 'lodash-es'
|
||||
import CombinationApi from '@/sheep/api/promotion/combination'
|
||||
import SpuApi from '@/sheep/api/product/spu'
|
||||
import CombinationApi from '@/modules/mall/sheep/api/promotion/combination'
|
||||
import SpuApi from '@/modules/mall/sheep/api/product/spu'
|
||||
|
||||
const headerBg = sheep.$url.css('/static/img/shop/user/withdraw_bg.png')
|
||||
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2
|
||||
|
@ -55,8 +55,8 @@
|
||||
<script setup>
|
||||
import { reactive } from 'vue'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import CombinationApi from '@/sheep/api/promotion/combination'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import CombinationApi from '@/modules/mall/sheep/api/promotion/combination'
|
||||
|
||||
const { safeAreaInsets, safeArea } = sheep.$platform.device
|
||||
const sysNavBar = sheep.$platform.navbar
|
||||
|
@ -66,11 +66,11 @@
|
||||
<script setup>
|
||||
import { reactive } from 'vue'
|
||||
import { onLoad, onReachBottom, onPullDownRefresh } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import _ from 'lodash-es'
|
||||
import { formatOrderColor } from '@/sheep/hooks/useGoods'
|
||||
import { resetPagination } from '@/sheep/util'
|
||||
import CombinationApi from '@/sheep/api/promotion/combination'
|
||||
import { formatOrderColor } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import { resetPagination } from '@/modules/mall/sheep/util'
|
||||
import CombinationApi from '@/modules/mall/sheep/api/promotion/combination'
|
||||
|
||||
// 数据
|
||||
const state = reactive({
|
||||
|
@ -62,11 +62,11 @@
|
||||
<script setup>
|
||||
import { reactive } from 'vue'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import _ from 'lodash-es'
|
||||
import RewardActivityApi from '@/sheep/api/promotion/rewardActivity'
|
||||
import { formatRewardActivityRule } from '@/sheep/hooks/useGoods'
|
||||
import SpuApi from '@/sheep/api/product/spu'
|
||||
import RewardActivityApi from '@/modules/mall/sheep/api/promotion/rewardActivity'
|
||||
import { formatRewardActivityRule } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import SpuApi from '@/modules/mall/sheep/api/product/spu'
|
||||
|
||||
const state = reactive({
|
||||
activityId: 0, // 获得编号
|
||||
|
@ -131,11 +131,11 @@
|
||||
<script setup>
|
||||
import { reactive, computed, ref, nextTick } from 'vue'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import { useDurationTime } from '@/sheep/hooks/useGoods'
|
||||
import SeckillApi from '@/sheep/api/promotion/seckill'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { useDurationTime } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import SeckillApi from '@/modules/mall/sheep/api/promotion/seckill'
|
||||
import dayjs from 'dayjs'
|
||||
import { TimeStatusEnum } from '@/sheep/util/const'
|
||||
import { TimeStatusEnum } from '@/modules/mall/sheep/util/const'
|
||||
|
||||
// 计算页面高度
|
||||
const { safeAreaInsets, safeArea } = sheep.$platform.device
|
||||
|
@ -98,10 +98,10 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onReady } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import SignInApi from '@/sheep/api/member/signin'
|
||||
import SignInApi from '@/modules/mall/sheep/api/member/signin'
|
||||
|
||||
const headerBg = sheep.$url.css('/static/img/shop/app/sign.png')
|
||||
|
||||
|
@ -46,8 +46,8 @@
|
||||
<script setup>
|
||||
import MessageListItem from '@/modules/mall/chat/components/messageListItem.vue'
|
||||
import { reactive, ref } from 'vue'
|
||||
import KeFuApi from '@/sheep/api/promotion/kefu'
|
||||
import { isEmpty } from '@/sheep/helper/utils'
|
||||
import KeFuApi from '@/modules/mall/sheep/api/promotion/kefu'
|
||||
import { isEmpty } from '@/modules/mall/sheep/helper/utils'
|
||||
|
||||
const messageList = ref([]) // 消息列表
|
||||
const showNewMessageTip = ref(false) // 显示有新消息提示
|
||||
|
@ -107,8 +107,8 @@ import { computed, unref } from 'vue'
|
||||
import dayjs from 'dayjs'
|
||||
import { KeFuMessageContentTypeEnum, UserTypeEnum } from '@/modules/mall/chat/util/constants'
|
||||
import { emojiList } from '@/modules/mall/chat/util/emoji'
|
||||
import sheep from '@/sheep'
|
||||
import { formatDate } from '@/sheep/util'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { formatDate } from '@/modules/mall/sheep/util'
|
||||
import GoodsItem from '@/modules/mall/chat/components/goods.vue'
|
||||
import OrderItem from '@/modules/mall/chat/components/order.vue'
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { fen2yuan, formatOrderColor, formatOrderStatus } from '@/sheep/hooks/useGoods'
|
||||
import { fen2yuan, formatOrderColor, formatOrderStatus } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
|
||||
const props = defineProps({
|
||||
orderData: {
|
||||
|
@ -35,8 +35,8 @@ import { reactive, watch } from 'vue'
|
||||
import _ from 'lodash-es'
|
||||
import GoodsItem from './goods.vue'
|
||||
import OrderItem from './order.vue'
|
||||
import OrderApi from '@/sheep/api/trade/order'
|
||||
import SpuHistoryApi from '@/sheep/api/product/history'
|
||||
import OrderApi from '@/modules/mall/sheep/api/trade/order'
|
||||
import SpuHistoryApi from '@/modules/mall/sheep/api/product/history'
|
||||
|
||||
const emits = defineEmits(['select', 'close'])
|
||||
const props = defineProps({
|
||||
|
@ -69,7 +69,7 @@
|
||||
* 聊天工具
|
||||
*/
|
||||
import { emojiPage } from '@/modules/mall/chat/util/emoji'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
|
||||
const props = defineProps({
|
||||
// 工具模式
|
||||
|
@ -44,7 +44,7 @@
|
||||
<script setup>
|
||||
import MessageList from '@/modules/mall/chat/components/messageList.vue'
|
||||
import { reactive, ref, toRefs } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import ToolsPopup from '@/modules/mall/chat/components/toolsPopup.vue'
|
||||
import MessageInput from '@/modules/mall/chat/components/messageInput.vue'
|
||||
import SelectPopup from '@/modules/mall/chat/components/select-popup.vue'
|
||||
@ -52,9 +52,9 @@ import {
|
||||
KeFuMessageContentTypeEnum,
|
||||
WebSocketMessageTypeConstants,
|
||||
} from '@/modules/mall/chat/util/constants'
|
||||
import FileApi from '@/sheep/api/infra/file'
|
||||
import KeFuApi from '@/sheep/api/promotion/kefu'
|
||||
import { useWebSocket } from '@/sheep/hooks/useWebSocket'
|
||||
import FileApi from '@/modules/mall/sheep/api/infra/file'
|
||||
import KeFuApi from '@/modules/mall/sheep/api/promotion/kefu'
|
||||
import { useWebSocket } from '@/modules/mall/sheep/hooks/useWebSocket'
|
||||
|
||||
const sys_navBar = sheep.$platform.navbar
|
||||
|
||||
|
@ -55,11 +55,11 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import BrokerageApi from '@/sheep/api/trade/brokerage'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import BrokerageApi from '@/modules/mall/sheep/api/trade/brokerage'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
|
||||
const tabMaps = ['周排行', '月排行']
|
||||
|
||||
|
@ -48,10 +48,10 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { computed, reactive, onMounted } from 'vue'
|
||||
import BrokerageApi from '@/sheep/api/trade/brokerage'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import BrokerageApi from '@/modules/mall/sheep/api/trade/brokerage'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
|
||||
const userInfo = computed(() => sheep.$store('user').userInfo)
|
||||
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
<script setup>
|
||||
import { reactive } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
|
||||
const props = defineProps({
|
||||
modelValue: {
|
||||
|
@ -31,9 +31,9 @@
|
||||
|
||||
<script setup>
|
||||
import { onShow } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { reactive } from 'vue'
|
||||
import BrokerageApi from '@/sheep/api/trade/brokerage'
|
||||
import BrokerageApi from '@/modules/mall/sheep/api/trade/brokerage'
|
||||
|
||||
const state = reactive({
|
||||
show: false,
|
||||
|
@ -16,7 +16,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { computed, reactive } from 'vue'
|
||||
|
||||
const userInfo = computed(() => sheep.$store('user').userInfo)
|
||||
|
@ -50,12 +50,12 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { reactive } from 'vue'
|
||||
import _ from 'lodash-es'
|
||||
import dayjs from 'dayjs'
|
||||
import BrokerageApi from '@/sheep/api/trade/brokerage'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import BrokerageApi from '@/modules/mall/sheep/api/trade/brokerage'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
|
||||
const state = reactive({
|
||||
loadStatus: '',
|
||||
|
@ -27,7 +27,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { reactive } from 'vue'
|
||||
|
||||
const state = reactive({
|
||||
|
@ -55,15 +55,15 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import $share from '@/sheep/platform/share'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import $share from '@/modules/mall/sheep/platform/share'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import _ from 'lodash-es'
|
||||
import { showShareModal } from '@/sheep/hooks/useModal'
|
||||
import SpuApi from '@/sheep/api/product/spu'
|
||||
import BrokerageApi from '@/sheep/api/trade/brokerage'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import { showShareModal } from '@/modules/mall/sheep/hooks/useModal'
|
||||
import SpuApi from '@/modules/mall/sheep/api/product/spu'
|
||||
import BrokerageApi from '@/modules/mall/sheep/api/trade/brokerage'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
|
||||
const state = reactive({
|
||||
pagination: {
|
||||
|
@ -28,7 +28,7 @@ import accountInfo from './components/account-info.vue'
|
||||
import commissionLog from './components/commission-log.vue'
|
||||
import commissionMenu from './components/commission-menu.vue'
|
||||
import commissionAuth from './components/commission-auth.vue'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
|
||||
const shareInfo = computed(() => {
|
||||
return sheep.$platform.share.getShareInfo(
|
||||
|
@ -70,14 +70,14 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad, onReachBottom, onPageScroll } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import _ from 'lodash-es'
|
||||
|
||||
import { resetPagination } from '@/sheep/util'
|
||||
import BrokerageApi from '@/sheep/api/trade/brokerage'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import { resetPagination } from '@/modules/mall/sheep/util'
|
||||
import BrokerageApi from '@/modules/mall/sheep/api/trade/brokerage'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
|
||||
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2
|
||||
const headerBg = sheep.$url.css('/static/img/shop/user/withdraw_bg.png')
|
||||
|
@ -62,10 +62,10 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import BrokerageApi from '@/sheep/api/trade/brokerage'
|
||||
import BrokerageApi from '@/modules/mall/sheep/api/trade/brokerage'
|
||||
|
||||
const tabMaps = ['周排行', '月排行']
|
||||
|
||||
|
@ -233,12 +233,12 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad, onReachBottom, onPageScroll } from '@dcloudio/uni-app'
|
||||
import { computed, reactive, ref } from 'vue'
|
||||
import _ from 'lodash-es'
|
||||
|
||||
import BrokerageApi from '@/sheep/api/trade/brokerage'
|
||||
import BrokerageApi from '@/modules/mall/sheep/api/trade/brokerage'
|
||||
|
||||
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2
|
||||
// const agentInfo = computed(() => sheep.$store('user').agentInfo);
|
||||
|
@ -148,12 +148,12 @@
|
||||
<script setup>
|
||||
import { computed, reactive } from 'vue'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import dayjs from 'dayjs'
|
||||
import _ from 'lodash-es'
|
||||
import BrokerageApi from '@/sheep/api/trade/brokerage'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import { resetPagination } from '@/sheep/util'
|
||||
import BrokerageApi from '@/modules/mall/sheep/api/trade/brokerage'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import { resetPagination } from '@/modules/mall/sheep/util'
|
||||
|
||||
const headerBg = sheep.$url.css('/static/img/shop/user/wallet_card_bg.png')
|
||||
|
||||
|
@ -151,11 +151,11 @@
|
||||
|
||||
<script setup>
|
||||
import { computed, reactive, onBeforeMount } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import accountTypeSelect from './components/account-type-select.vue'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import TradeConfigApi from '@/sheep/api/trade/config'
|
||||
import BrokerageApi from '@/sheep/api/trade/brokerage'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import TradeConfigApi from '@/modules/mall/sheep/api/trade/config'
|
||||
import BrokerageApi from '@/modules/mall/sheep/api/trade/brokerage'
|
||||
|
||||
const headerBg = sheep.$url.css('/static/img/shop/user/withdraw_bg.png')
|
||||
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2
|
||||
|
@ -146,15 +146,15 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import _ from 'lodash-es'
|
||||
import CouponApi from '@/sheep/api/promotion/coupon'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import SpuApi from '@/sheep/api/product/spu'
|
||||
import CategoryApi from '@/sheep/api/product/category'
|
||||
import { resetPagination } from '@/sheep/util'
|
||||
import CouponApi from '@/modules/mall/sheep/api/promotion/coupon'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import SpuApi from '@/modules/mall/sheep/api/product/spu'
|
||||
import CategoryApi from '@/modules/mall/sheep/api/product/category'
|
||||
import { resetPagination } from '@/modules/mall/sheep/util'
|
||||
|
||||
const state = reactive({
|
||||
id: 0, // 优惠劵模版编号 templateId
|
||||
|
@ -68,12 +68,12 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import _ from 'lodash-es'
|
||||
import { resetPagination } from '@/sheep/util'
|
||||
import CouponApi from '@/sheep/api/promotion/coupon'
|
||||
import { resetPagination } from '@/modules/mall/sheep/util'
|
||||
import CouponApi from '@/modules/mall/sheep/api/promotion/coupon'
|
||||
|
||||
// 数据
|
||||
const state = reactive({
|
||||
|
@ -63,10 +63,10 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import OrderApi from '@/sheep/api/trade/order'
|
||||
import OrderApi from '@/modules/mall/sheep/api/trade/order'
|
||||
|
||||
const state = reactive({
|
||||
orderInfo: {},
|
||||
|
@ -27,7 +27,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import CommentApi from '@/sheep/api/product/comment'
|
||||
import CommentApi from '@/modules/mall/sheep/api/product/comment'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import _ from 'lodash-es'
|
||||
|
@ -31,7 +31,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
|
||||
// TODO 芋艿:这里要迁移下;
|
||||
const seckillBg = sheep.$url.css('/static/img/shop/goods/seckill-tip-bg.png')
|
||||
|
@ -33,8 +33,8 @@
|
||||
|
||||
<script setup>
|
||||
import { reactive, onBeforeMount } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import CommentApi from '@/sheep/api/product/comment'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import CommentApi from '@/modules/mall/sheep/api/product/comment'
|
||||
import commentItem from './comment-item.vue'
|
||||
|
||||
const props = defineProps({
|
||||
|
@ -12,7 +12,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
const { safeAreaInsets } = sheep.$platform.device
|
||||
|
||||
const props = defineProps({
|
||||
|
@ -43,9 +43,9 @@
|
||||
<script setup>
|
||||
import { reactive } from 'vue'
|
||||
import { onPageScroll } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import throttle from '@/sheep/helper/throttle.js'
|
||||
import { showMenuTools, closeMenuTools } from '@/sheep/hooks/useModal'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import throttle from '@/modules/mall/sheep/helper/throttle.js'
|
||||
import { showMenuTools, closeMenuTools } from '@/modules/mall/sheep/hooks/useModal'
|
||||
|
||||
const sys_statusBar = sheep.$platform.device.statusBarHeight
|
||||
const sys_navBar = sheep.$platform.navbar
|
||||
|
@ -56,7 +56,7 @@
|
||||
|
||||
<script setup>
|
||||
import { computed } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
|
||||
const sys = computed(() => sheep.$store('sys'))
|
||||
</script>
|
||||
|
@ -66,9 +66,9 @@
|
||||
* @property {Boolean} topRadius - 上圆角
|
||||
*/
|
||||
import { reactive } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import { showShareModal } from '@/sheep/hooks/useModal'
|
||||
import FavoriteApi from '@/sheep/api/product/favorite'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { showShareModal } from '@/modules/mall/sheep/hooks/useModal'
|
||||
import FavoriteApi from '@/modules/mall/sheep/api/product/favorite'
|
||||
|
||||
// 数据
|
||||
const state = reactive({})
|
||||
|
@ -35,9 +35,9 @@
|
||||
|
||||
<script setup>
|
||||
import { onMounted, reactive } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import { useDurationTime } from '@/sheep/hooks/useGoods'
|
||||
import CombinationApi from '@/sheep/api/promotion/combination'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { useDurationTime } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import CombinationApi from '@/modules/mall/sheep/api/promotion/combination'
|
||||
|
||||
const props = defineProps({
|
||||
modelValue: {
|
||||
|
@ -17,7 +17,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { computed, reactive } from 'vue'
|
||||
|
||||
|
@ -45,8 +45,8 @@
|
||||
|
||||
<script setup>
|
||||
import { reactive } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import { showMenuTools } from '@/sheep/hooks/useModal'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { showMenuTools } from '@/modules/mall/sheep/hooks/useModal'
|
||||
|
||||
const sys_statusBar = sheep.$platform.device.statusBarHeight
|
||||
const sys_navBar = sheep.$platform.navbar
|
||||
|
@ -151,7 +151,7 @@
|
||||
<script setup>
|
||||
import { reactive, computed } from 'vue'
|
||||
import { onLoad, onPageScroll } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { isEmpty } from 'lodash-es'
|
||||
import detailNavbar from './components/detail/detail-navbar.vue'
|
||||
import detailCellSku from './components/detail/detail-cell-sku.vue'
|
||||
@ -160,9 +160,9 @@ import detailSkeleton from './components/detail/detail-skeleton.vue'
|
||||
import detailCommentCard from './components/detail/detail-comment-card.vue'
|
||||
import detailContentCard from './components/detail/detail-content-card.vue'
|
||||
import grouponCardList from './components/groupon/groupon-card-list.vue'
|
||||
import { useDurationTime, formatGoodsSwiper, fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import CombinationApi from '@/sheep/api/promotion/combination'
|
||||
import SpuApi from '@/sheep/api/product/spu'
|
||||
import { useDurationTime, formatGoodsSwiper, fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import CombinationApi from '@/modules/mall/sheep/api/promotion/combination'
|
||||
import SpuApi from '@/modules/mall/sheep/api/product/spu'
|
||||
|
||||
const headerBg = sheep.$url.css('/static/img/shop/goods/groupon-bg.png')
|
||||
const btnBg = sheep.$url.css('/static/img/shop/goods/groupon-btn.png')
|
||||
|
@ -156,11 +156,11 @@
|
||||
<script setup>
|
||||
import { reactive, computed } from "vue";
|
||||
import { onLoad, onPageScroll } from "@dcloudio/uni-app";
|
||||
import sheep from "@/sheep";
|
||||
import CouponApi from "@/sheep/api/promotion/coupon";
|
||||
import ActivityApi from "@/sheep/api/promotion/activity";
|
||||
import FavoriteApi from "@/sheep/api/product/favorite";
|
||||
import { formatSales, formatGoodsSwiper, fen2yuan } from "@/sheep/hooks/useGoods";
|
||||
import sheep from "@/modules/mall/sheep";
|
||||
import CouponApi from "@/modules/mall/sheep/api/promotion/coupon";
|
||||
import ActivityApi from "@/modules/mall/sheep/api/promotion/activity";
|
||||
import FavoriteApi from "@/modules/mall/sheep/api/product/favorite";
|
||||
import { formatSales, formatGoodsSwiper, fen2yuan } from "@/modules/mall/sheep/hooks/useGoods";
|
||||
import detailNavbar from "./components/detail/detail-navbar.vue";
|
||||
import detailCellSku from "./components/detail/detail-cell-sku.vue";
|
||||
import detailTabbar from "./components/detail/detail-tabbar.vue";
|
||||
@ -169,7 +169,7 @@ import detailCommentCard from "./components/detail/detail-comment-card.vue";
|
||||
import detailContentCard from "./components/detail/detail-content-card.vue";
|
||||
import detailActivityTip from "./components/detail/detail-activity-tip.vue";
|
||||
import { isEmpty } from "lodash-es";
|
||||
import SpuApi from "@/sheep/api/product/spu";
|
||||
import SpuApi from "@/modules/mall/sheep/api/product/spu";
|
||||
|
||||
onPageScroll(() => {});
|
||||
|
||||
|
@ -120,10 +120,10 @@
|
||||
<script setup>
|
||||
import { reactive } from 'vue'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import _ from 'lodash-es'
|
||||
import { resetPagination } from '@/sheep/util'
|
||||
import SpuApi from '@/sheep/api/product/spu'
|
||||
import { resetPagination } from '@/modules/mall/sheep/util'
|
||||
import SpuApi from '@/modules/mall/sheep/api/product/spu'
|
||||
|
||||
const sys_navBar = sheep.$platform.navbar
|
||||
const emits = defineEmits(['close', 'change'])
|
||||
|
@ -137,9 +137,9 @@
|
||||
<script setup>
|
||||
import { reactive, computed, ref, unref } from 'vue'
|
||||
import { onLoad, onPageScroll } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { isEmpty, min } from 'lodash-es'
|
||||
import { useDurationTime, formatGoodsSwiper, fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import { useDurationTime, formatGoodsSwiper, fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import detailNavbar from './components/detail/detail-navbar.vue'
|
||||
import detailCellSku from './components/detail/detail-cell-sku.vue'
|
||||
import detailTabbar from './components/detail/detail-tabbar.vue'
|
||||
@ -147,9 +147,9 @@ import detailSkeleton from './components/detail/detail-skeleton.vue'
|
||||
import detailCommentCard from './components/detail/detail-comment-card.vue'
|
||||
import detailContentCard from './components/detail/detail-content-card.vue'
|
||||
import detailProgress from './components/detail/detail-progress.vue'
|
||||
import SeckillApi from '@/sheep/api/promotion/seckill'
|
||||
import SpuApi from '@/sheep/api/product/spu'
|
||||
import { getTimeStatusEnum, TimeStatusEnum } from '@/sheep/util/const'
|
||||
import SeckillApi from '@/modules/mall/sheep/api/promotion/seckill'
|
||||
import SpuApi from '@/modules/mall/sheep/api/product/spu'
|
||||
import { getTimeStatusEnum, TimeStatusEnum } from '@/modules/mall/sheep/util/const'
|
||||
|
||||
const headerBg = sheep.$url.css('/static/img/shop/goods/seckill-bg.png')
|
||||
const btnBg = sheep.$url.css('/static/img/shop/goods/seckill-btn.png')
|
||||
|
@ -104,9 +104,9 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { computed, reactive } from 'vue'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
|
||||
const sys_navBar = sheep.$platform.navbar
|
||||
const cart = sheep.$store('cart')
|
||||
|
@ -58,13 +58,13 @@
|
||||
import secondOne from './components/second-one.vue'
|
||||
import firstOne from './components/first-one.vue'
|
||||
import firstTwo from './components/first-two.vue'
|
||||
import sheep from '@/sheep'
|
||||
import CategoryApi from '@/sheep/api/product/category'
|
||||
import SpuApi from '@/sheep/api/product/spu'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import CategoryApi from '@/modules/mall/sheep/api/product/category'
|
||||
import SpuApi from '@/modules/mall/sheep/api/product/spu'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import { computed, reactive } from 'vue'
|
||||
import _ from 'lodash-es'
|
||||
import { handleTree } from '@/sheep/util'
|
||||
import { handleTree } from '@/modules/mall/sheep/util'
|
||||
|
||||
const state = reactive({
|
||||
style: 'second_one', // first_one(一级 - 样式一), first_two(二级 - 样式二), second_one(二级)
|
||||
|
@ -12,7 +12,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
|
||||
const props = defineProps({
|
||||
pagination: Object,
|
||||
|
@ -18,8 +18,8 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
|
||||
const props = defineProps({
|
||||
pagination: Object,
|
||||
|
@ -29,7 +29,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
|
||||
const props = defineProps({
|
||||
data: {
|
||||
|
@ -14,26 +14,48 @@
|
||||
:key="index"
|
||||
:styles="item.property.style"
|
||||
>
|
||||
<s-block-item :data="item.property" :styles="item.property.style" :type="item.id"/>
|
||||
<s-block-item
|
||||
:data="item.property"
|
||||
:styles="item.property.style"
|
||||
:type="item.id"
|
||||
/>
|
||||
</s-block>
|
||||
</s-layout>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {computed} from 'vue'
|
||||
import {onLoad, onPageScroll, onPullDownRefresh} from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import $share from '@/sheep/platform/share'
|
||||
import AuthUtil from '@/sheep/api/member/auth'
|
||||
import SBlockItem from '@/sheep/components/s-block-item/s-block-item.vue'
|
||||
import SBlock from '@/sheep/components/s-block/s-block.vue'
|
||||
import SLayout from '@/sheep/components/s-layout/s-layout.vue'
|
||||
import { computed } from "vue";
|
||||
import { onLoad, onPageScroll, onPullDownRefresh } from "@dcloudio/uni-app";
|
||||
import sheep, { ShoproInit } from "@/modules/mall/sheep";
|
||||
import $share from "@/modules/mall/sheep/platform/share";
|
||||
import AuthUtil from "@/modules/mall/sheep/api/member/auth";
|
||||
import SBlockItem from "@/modules/mall/sheep/components/s-block-item/s-block-item.vue";
|
||||
import SBlock from "@/modules/mall/sheep/components/s-block/s-block.vue";
|
||||
import SLayout from "@/modules/mall/sheep/components/s-layout/s-layout.vue";
|
||||
import store, { useUserStore } from "@/store";
|
||||
import { setupPinia } from "@/modules/mall/sheep/store"; // 这里导入上面定义的 store
|
||||
|
||||
// 隐藏原生tabBar
|
||||
uni.hideTabBar()
|
||||
// 启动商城模块的Pinia
|
||||
setupPinia(store);
|
||||
|
||||
const template = computed(() => sheep.$store('app').template?.home)
|
||||
// 初始化商城模块
|
||||
// 给商城模块加上token
|
||||
const userData = useUserStore();
|
||||
|
||||
if (userData.userInfo && userData.userInfo.token) {
|
||||
console.log(userData.userInfo.accessToken);
|
||||
sheep.$store("user").setToken(userData.userInfo.token, userData.userInfo.refreshToken);
|
||||
console.log(userData.userInfo);
|
||||
}
|
||||
|
||||
// 初始化商城依赖
|
||||
onLaunch(() => {
|
||||
// 加载底部商城依赖
|
||||
ShoproInit();
|
||||
});
|
||||
|
||||
const template = computed(() => sheep.$store("app").template?.home);
|
||||
// 在此处拦截改变一下首页轮播图 此处先写死后期复活 放到启动函数里
|
||||
// (async function() {
|
||||
// console.log('原代码首页定制化数据',template)
|
||||
@ -58,47 +80,44 @@ const template = computed(() => sheep.$store('app').template?.home)
|
||||
|
||||
onLoad((options) => {
|
||||
// 判断是否有登录的token 和 refresh-token 传过来
|
||||
if (options.token && options['refresh-token']) {
|
||||
AuthUtil.refreshToken(options['refresh-token'])
|
||||
if (options.token && options["refresh-token"]) {
|
||||
AuthUtil.refreshToken(options["refresh-token"]);
|
||||
}
|
||||
|
||||
// #ifdef MP
|
||||
// 小程序识别二维码
|
||||
if (options.scene) {
|
||||
const sceneParams = decodeURIComponent(options.scene).split('=')
|
||||
console.log('sceneParams=>', sceneParams)
|
||||
options[sceneParams[0]] = sceneParams[1]
|
||||
const sceneParams = decodeURIComponent(options.scene).split("=");
|
||||
console.log("sceneParams=>", sceneParams);
|
||||
options[sceneParams[0]] = sceneParams[1];
|
||||
}
|
||||
// #endif
|
||||
|
||||
// 预览模板
|
||||
if (options.templateId) {
|
||||
sheep.$store('app').init(options.templateId)
|
||||
sheep.$store("app").init(options.templateId);
|
||||
}
|
||||
|
||||
// 解析分享信息
|
||||
if (options.spm) {
|
||||
$share.decryptSpm(options.spm)
|
||||
$share.decryptSpm(options.spm);
|
||||
}
|
||||
|
||||
// 进入指定页面(完整页面路径)
|
||||
if (options.page) {
|
||||
sheep.$router.go(decodeURIComponent(options.page))
|
||||
sheep.$router.go(decodeURIComponent(options.page));
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
// 下拉刷新
|
||||
onPullDownRefresh(() => {
|
||||
sheep.$store('app').init()
|
||||
sheep.$store("app").init();
|
||||
setTimeout(function () {
|
||||
uni.stopPullDownRefresh()
|
||||
}, 800)
|
||||
})
|
||||
uni.stopPullDownRefresh();
|
||||
}, 800);
|
||||
});
|
||||
|
||||
onPageScroll(() => {
|
||||
})
|
||||
onPageScroll(() => {});
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
|
||||
</style>
|
||||
<style lang="scss"></style>
|
||||
|
@ -5,7 +5,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
|
||||
onLoad(async (options) => {
|
||||
|
@ -17,7 +17,7 @@
|
||||
<script setup>
|
||||
import { reactive } from 'vue'
|
||||
import { onLoad, onPageScroll } from '@dcloudio/uni-app'
|
||||
import DiyApi from '@/sheep/api/promotion/diy'
|
||||
import DiyApi from '@/modules/mall/sheep/api/promotion/diy'
|
||||
|
||||
const state = reactive({
|
||||
name: '',
|
||||
|
@ -32,7 +32,7 @@
|
||||
|
||||
<script setup>
|
||||
import { reactive } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
|
||||
const state = reactive({
|
||||
|
@ -21,7 +21,7 @@
|
||||
<script setup>
|
||||
import { computed } from 'vue'
|
||||
import { onShow, onPageScroll, onPullDownRefresh } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
|
||||
// 隐藏原生tabBar
|
||||
uni.hideTabBar()
|
||||
|
@ -71,7 +71,7 @@
|
||||
|
||||
<script setup>
|
||||
import { computed } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { isEmpty } from 'lodash-es'
|
||||
|
||||
const props = defineProps({
|
||||
|
@ -122,14 +122,14 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { reactive, ref } from 'vue'
|
||||
import OrderApi from '@/sheep/api/trade/order'
|
||||
import TradeConfigApi from '@/sheep/api/trade/config'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import AfterSaleApi from '@/sheep/api/trade/afterSale'
|
||||
import { WxaSubscribeTemplate } from '@/sheep/util/const'
|
||||
import OrderApi from '@/modules/mall/sheep/api/trade/order'
|
||||
import TradeConfigApi from '@/modules/mall/sheep/api/trade/config'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import AfterSaleApi from '@/modules/mall/sheep/api/trade/afterSale'
|
||||
import { WxaSubscribeTemplate } from '@/modules/mall/sheep/util/const'
|
||||
|
||||
const form = ref(null)
|
||||
const state = reactive({
|
||||
|
@ -137,7 +137,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import { isEmpty } from 'lodash-es'
|
||||
@ -145,8 +145,8 @@ import {
|
||||
fen2yuan,
|
||||
formatAfterSaleStatusDescription,
|
||||
handleAfterSaleButtons,
|
||||
} from '@/sheep/hooks/useGoods'
|
||||
import AfterSaleApi from '@/sheep/api/trade/afterSale'
|
||||
} from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import AfterSaleApi from '@/modules/mall/sheep/api/trade/afterSale'
|
||||
|
||||
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2
|
||||
const headerBg = sheep.$url.css('/static/img/shop/order/order_bg.png')
|
||||
|
@ -62,7 +62,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import _ from 'lodash-es'
|
||||
@ -70,9 +70,9 @@ import {
|
||||
formatAfterSaleStatus,
|
||||
formatAfterSaleStatusDescription,
|
||||
handleAfterSaleButtons,
|
||||
} from '@/sheep/hooks/useGoods'
|
||||
import AfterSaleApi from '@/sheep/api/trade/afterSale'
|
||||
import { resetPagination } from '@/sheep/util'
|
||||
} from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import AfterSaleApi from '@/modules/mall/sheep/api/trade/afterSale'
|
||||
import { resetPagination } from '@/modules/mall/sheep/util'
|
||||
|
||||
const state = reactive({
|
||||
currentTab: 0,
|
||||
|
@ -14,7 +14,7 @@
|
||||
</view>
|
||||
</template>
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
|
||||
const props = defineProps({
|
||||
item: {
|
||||
|
@ -13,7 +13,7 @@
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import logItem from './log-item.vue'
|
||||
import AfterSaleApi from '@/sheep/api/trade/afterSale'
|
||||
import AfterSaleApi from '@/modules/mall/sheep/api/trade/afterSale'
|
||||
|
||||
const state = reactive({
|
||||
list: [],
|
||||
|
@ -56,9 +56,9 @@
|
||||
<script setup>
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import AfterSaleApi from '@/sheep/api/trade/afterSale'
|
||||
import DeliveryApi from '@/sheep/api/trade/delivery'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import AfterSaleApi from '@/modules/mall/sheep/api/trade/afterSale'
|
||||
import DeliveryApi from '@/modules/mall/sheep/api/trade/delivery'
|
||||
|
||||
const state = reactive({
|
||||
id: 0, // 售后编号
|
||||
|
@ -204,10 +204,10 @@
|
||||
import { reactive, ref, watch } from 'vue'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import AddressSelection from '@/modules/mall/order/addressSelection.vue'
|
||||
import sheep from '@/sheep'
|
||||
import OrderApi from '@/sheep/api/trade/order'
|
||||
import CouponApi from '@/sheep/api/promotion/coupon'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import OrderApi from '@/modules/mall/sheep/api/trade/order'
|
||||
import CouponApi from '@/modules/mall/sheep/api/promotion/coupon'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
|
||||
const state = reactive({
|
||||
orderPayload: {},
|
||||
|
@ -255,7 +255,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { reactive, ref } from 'vue'
|
||||
import { isEmpty } from 'lodash-es'
|
||||
@ -264,9 +264,9 @@ import {
|
||||
formatOrderStatus,
|
||||
formatOrderStatusDescription,
|
||||
handleOrderButtons,
|
||||
} from '@/sheep/hooks/useGoods'
|
||||
import OrderApi from '@/sheep/api/trade/order'
|
||||
import DeliveryApi from '@/sheep/api/trade/delivery'
|
||||
} from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import OrderApi from '@/modules/mall/sheep/api/trade/order'
|
||||
import DeliveryApi from '@/modules/mall/sheep/api/trade/delivery'
|
||||
import PickUpVerify from '@/modules/mall/order/pickUpVerify.vue'
|
||||
|
||||
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2
|
||||
|
@ -50,10 +50,10 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { computed, reactive } from 'vue'
|
||||
import OrderApi from '@/sheep/api/trade/order'
|
||||
import OrderApi from '@/modules/mall/sheep/api/trade/order'
|
||||
|
||||
const state = reactive({
|
||||
info: [],
|
||||
|
@ -126,12 +126,12 @@ import {
|
||||
formatOrderColor,
|
||||
formatOrderStatus,
|
||||
handleOrderButtons,
|
||||
} from '@/sheep/hooks/useGoods'
|
||||
import sheep from '@/sheep'
|
||||
} from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import _, { isEmpty } from 'lodash-es'
|
||||
|
||||
import OrderApi from '@/sheep/api/trade/order'
|
||||
import { resetPagination } from '@/sheep/util'
|
||||
import OrderApi from '@/modules/mall/sheep/api/trade/order'
|
||||
import { resetPagination } from '@/modules/mall/sheep/util'
|
||||
|
||||
// 数据
|
||||
const state = reactive({
|
||||
|
@ -59,7 +59,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { reactive, ref } from 'vue'
|
||||
|
||||
const props = defineProps({
|
||||
|
@ -77,11 +77,11 @@
|
||||
<script setup>
|
||||
import { computed, reactive } from 'vue'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import { fen2yuan, useDurationTime } from '@/sheep/hooks/useGoods'
|
||||
import PayOrderApi from '@/sheep/api/pay/order'
|
||||
import PayChannelApi from '@/sheep/api/pay/channel'
|
||||
import { getPayMethods } from '@/sheep/platform/pay'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { fen2yuan, useDurationTime } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import PayOrderApi from '@/modules/mall/sheep/api/pay/order'
|
||||
import PayChannelApi from '@/modules/mall/sheep/api/pay/channel'
|
||||
import { getPayMethods } from '@/modules/mall/sheep/platform/pay'
|
||||
|
||||
const userWallet = computed(() => sheep.$store('user').userWallet)
|
||||
|
||||
|
@ -56,9 +56,9 @@
|
||||
import { reactive } from 'vue'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import _ from 'lodash-es'
|
||||
import PayWalletApi from '@/sheep/api/pay/wallet'
|
||||
import sheep from '@/sheep'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import PayWalletApi from '@/modules/mall/sheep/api/pay/wallet'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
|
||||
const state = reactive({
|
||||
pagination: {
|
||||
|
@ -60,11 +60,11 @@
|
||||
|
||||
<script setup>
|
||||
import { computed, reactive } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import PayWalletApi from '@/sheep/api/pay/wallet'
|
||||
import { WxaSubscribeTemplate } from '@/sheep/util/const'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import PayWalletApi from '@/modules/mall/sheep/api/pay/wallet'
|
||||
import { WxaSubscribeTemplate } from '@/modules/mall/sheep/util/const'
|
||||
|
||||
const userWallet = computed(() => sheep.$store('user').userWallet)
|
||||
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2
|
||||
|
@ -70,11 +70,11 @@
|
||||
import { onLoad, onHide, onShow } from '@dcloudio/uni-app'
|
||||
import { reactive, computed, ref } from 'vue'
|
||||
import { isEmpty } from 'lodash-es'
|
||||
import sheep from '@/sheep'
|
||||
import PayOrderApi from '@/sheep/api/pay/order'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import OrderApi from '@/sheep/api/trade/order'
|
||||
import { WxaSubscribeTemplate } from '@/sheep/util/const'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import PayOrderApi from '@/modules/mall/sheep/api/pay/order'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import OrderApi from '@/modules/mall/sheep/api/trade/order'
|
||||
import { WxaSubscribeTemplate } from '@/modules/mall/sheep/util/const'
|
||||
|
||||
const state = reactive({
|
||||
id: 0, // 支付单号
|
||||
|
@ -34,7 +34,7 @@
|
||||
<script setup>
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { ref } from 'vue'
|
||||
import { ShoproInit } from '@/sheep'
|
||||
import { ShoproInit } from '@/modules/mall/sheep'
|
||||
|
||||
const errCode = ref('')
|
||||
const errMsg = ref('')
|
||||
|
@ -34,7 +34,7 @@
|
||||
<script setup>
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
|
||||
const state = reactive({
|
||||
list: [],
|
||||
|
@ -10,7 +10,7 @@
|
||||
<script setup>
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { reactive } from 'vue'
|
||||
import ArticleApi from '@/sheep/api/promotion/article'
|
||||
import ArticleApi from '@/modules/mall/sheep/api/promotion/article'
|
||||
|
||||
const state = reactive({
|
||||
title: '',
|
||||
|
@ -96,9 +96,9 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { computed, reactive } from 'vue'
|
||||
import AuthUtil from '@/sheep/api/member/auth'
|
||||
import AuthUtil from '@/modules/mall/sheep/api/member/auth'
|
||||
|
||||
const appInfo = computed(() => sheep.$store('app').info)
|
||||
const isLogin = computed(() => sheep.$store('user').isLogin)
|
||||
|
@ -93,12 +93,12 @@
|
||||
|
||||
<script setup>
|
||||
import { ref, reactive, unref } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import _ from 'lodash-es'
|
||||
import { mobile } from '@/sheep/validate/form'
|
||||
import AreaApi from '@/sheep/api/system/area'
|
||||
import AddressApi from '@/sheep/api/member/address'
|
||||
import { mobile } from '@/modules/mall/sheep/validate/form'
|
||||
import AreaApi from '@/modules/mall/sheep/api/system/area'
|
||||
import AddressApi from '@/modules/mall/sheep/api/member/address'
|
||||
|
||||
const addressFormRef = ref(null)
|
||||
const state = reactive({
|
||||
|
@ -41,10 +41,10 @@
|
||||
<script setup>
|
||||
import { onBeforeMount, reactive } from 'vue'
|
||||
import { onShow, onLoad } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { isEmpty } from 'lodash-es'
|
||||
import AreaApi from '@/sheep/api/system/area'
|
||||
import AddressApi from '@/sheep/api/member/address'
|
||||
import AreaApi from '@/modules/mall/sheep/api/system/area'
|
||||
import AddressApi from '@/modules/mall/sheep/api/member/address'
|
||||
|
||||
const state = reactive({
|
||||
list: [], // 地址列表
|
||||
|
@ -100,12 +100,12 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { reactive } from 'vue'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import _ from 'lodash-es'
|
||||
import FavoriteApi from '@/sheep/api/product/favorite'
|
||||
import { resetPagination } from '@/sheep/util'
|
||||
import FavoriteApi from '@/modules/mall/sheep/api/product/favorite'
|
||||
import { resetPagination } from '@/modules/mall/sheep/util'
|
||||
|
||||
const sys_navBar = sheep.$platform.navbar
|
||||
|
||||
|
@ -118,12 +118,12 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { reactive } from 'vue'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import _ from 'lodash-es'
|
||||
import SpuHistoryApi from '@/sheep/api/product/history'
|
||||
import { cloneDeep } from '@/sheep/helper/utils'
|
||||
import SpuHistoryApi from '@/modules/mall/sheep/api/product/history'
|
||||
import { cloneDeep } from '@/modules/mall/sheep/helper/utils'
|
||||
|
||||
const sys_navBar = sheep.$platform.navbar
|
||||
const pagination = {
|
||||
|
@ -55,10 +55,10 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import DeliveryApi from '@/sheep/api/trade/delivery'
|
||||
import DeliveryApi from '@/modules/mall/sheep/api/trade/delivery'
|
||||
import { onMounted, reactive } from 'vue'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
|
||||
const LONGITUDE = 'user_longitude'
|
||||
const LATITUDE = 'user_latitude'
|
||||
|
@ -182,11 +182,11 @@
|
||||
|
||||
<script setup>
|
||||
import { computed, reactive, onBeforeMount } from 'vue'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { clone } from 'lodash-es'
|
||||
import { showAuthModal } from '@/sheep/hooks/useModal'
|
||||
import FileApi from '@/sheep/api/infra/file'
|
||||
import UserApi from '@/sheep/api/member/user'
|
||||
import { showAuthModal } from '@/modules/mall/sheep/hooks/useModal'
|
||||
import FileApi from '@/modules/mall/sheep/api/infra/file'
|
||||
import UserApi from '@/modules/mall/sheep/api/member/user'
|
||||
|
||||
const state = reactive({
|
||||
model: {}, // 个人信息
|
||||
|
@ -90,12 +90,12 @@
|
||||
<script setup>
|
||||
import { computed, reactive } from 'vue'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import dayjs from 'dayjs'
|
||||
import _ from 'lodash-es'
|
||||
import PayWalletApi from '@/sheep/api/pay/wallet'
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods'
|
||||
import { resetPagination } from '@/sheep/util'
|
||||
import PayWalletApi from '@/modules/mall/sheep/api/pay/wallet'
|
||||
import { fen2yuan } from '@/modules/mall/sheep/hooks/useGoods'
|
||||
import { resetPagination } from '@/modules/mall/sheep/util'
|
||||
|
||||
const headerBg = sheep.$url.css('/static/img/shop/user/wallet_card_bg.png')
|
||||
|
||||
|
@ -85,13 +85,13 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep'
|
||||
import sheep from '@/modules/mall/sheep'
|
||||
import { onLoad, onReachBottom } from '@dcloudio/uni-app'
|
||||
import { computed, reactive } from 'vue'
|
||||
import _ from 'lodash-es'
|
||||
import dayjs from 'dayjs'
|
||||
import PointApi from '@/sheep/api/member/point'
|
||||
import { resetPagination } from '@/sheep/util'
|
||||
import PointApi from '@/modules/mall/sheep/api/member/point'
|
||||
import { resetPagination } from '@/modules/mall/sheep/util'
|
||||
|
||||
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2
|
||||
const userInfo = computed(() => sheep.$store('user').userInfo)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user