新框架接口接了一个 迁移回了老项目

This commit is contained in:
cclu 2023-03-22 20:17:03 +08:00
parent 21f4219a02
commit 0c7407d62c
14 changed files with 2652 additions and 2404 deletions

View File

@ -7,4 +7,4 @@ VITE_BASE = '/api'
VITE_USE_MOCK = true
# 本地环境接口地址
VITE_API_URL = 'http://mp.eshangtech.com'
VITE_API_URL = 'https://api.eshangtech.com'

16
.hbuilderx/launch.json Normal file
View File

@ -0,0 +1,16 @@
{ // launch.json configurations app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
// launchtypelocalremote, localremote
"version": "0.0",
"configurations": [{
"default" :
{
"launchtype" : "local"
},
"mp-weixin" :
{
"launchtype" : "local"
},
"type" : "uniCloud"
}
]
}

8
package-lock.json generated
View File

@ -3918,7 +3918,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.1.0.tgz",
"integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
"dev": true
"devOptional": true
},
"node_modules/import-fresh": {
"version": "3.3.0",
@ -5105,7 +5105,7 @@
"version": "1.52.3",
"resolved": "https://registry.npmmirror.com/sass/-/sass-1.52.3.tgz",
"integrity": "sha512-LNNPJ9lafx+j1ArtA7GyEJm9eawXN8KlA1+5dF6IZyoONg1Tyo/g+muOsENWJH/2Q1FHbbV4UwliU0cXMa/VIA==",
"dev": true,
"devOptional": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
@ -8984,7 +8984,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.1.0.tgz",
"integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
"dev": true
"devOptional": true
},
"import-fresh": {
"version": "3.3.0",
@ -9816,7 +9816,7 @@
"version": "1.52.3",
"resolved": "https://registry.npmmirror.com/sass/-/sass-1.52.3.tgz",
"integrity": "sha512-LNNPJ9lafx+j1ArtA7GyEJm9eawXN8KlA1+5dF6IZyoONg1Tyo/g+muOsENWJH/2Q1FHbbV4UwliU0cXMa/VIA==",
"dev": true,
"devOptional": true,
"requires": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",

View File

@ -1,6 +1,6 @@
<script setup lang="ts">
import { onLaunch, onShow, onHide } from '@dcloudio/uni-app'
import { getUser } from '@/api/login/login'
import { getUser, getUserInfo } from '@/api/login/login'
import { useUserInfo } from '@/stores/userInfo'
const store = useUserInfo()
@ -11,12 +11,16 @@ function weChatLogin(code?) {
}
store.weChatMessage = data
getUser(data).then((res) => {
console.log('res', res)
uni.setStorageSync('token', res.Result_Data.WeChat_MiniProToken)
store.token = res.Result_Data.WeChat_MiniProToken
if (res.Result_Code === 100) {
let user = res.Result_Data
if (user.Membership_Id) {
let data = {
Membership_Id: user.Membership_Id,
WeChat_AppId: 'wx4fb5da2b8d9e0e43',
}
getUserInfo(data)
} else {
uni.showModal({
title: '温馨提示',
@ -38,8 +42,6 @@ onLaunch(() => {
} else {
uni.login({
success(res) {
console.log('res', res)
weChatLogin(res.code)
},
})

View File

@ -1,4 +1,10 @@
import request from '@/utils/requestMethod'
//营收数据
export const getRevenueData = (data) => request.post(`CommercialApi/Revenue/GetRevenuePushList`, data)
export const getRevenueData = (data) => request.get(`/CommercialApi/Revenue/GetRevenuePushList`, data)
// 在营门店数量统计
export const getOnLineStore = (data) => request.get('/CommercialApi/BaseInfo/GetShopCountList', data)
// 业态关系
export const getBusinessRelation = (data) => request.get('/CommercialApi/BaseInfo/GetBusinessTradeList')

View File

@ -27,3 +27,10 @@ export const getPhoneEmpower = (data: any) =>
`/Coop.Merchant/Handler/handler_ajax.ashx?action_type=WeChat_BusinessPhone&provinceCode=340000&time=&memberShipId=&SourcePlatform=minProgram&brand=devtools&model=&os_version=&APPGuid=1b56719e-aff9-44df-84e8-193680241c0b`,
data
)
//获取用户信息
export const getUserInfo = (data: any) =>
request.get(
`/Coop.Merchant/Handler/handler_ajax.ashx?action_type=WeChat_GetBusinessMemberInfo&provinceCode=340000&time=&memberShipId=&SourcePlatform=minProgram&brand=devtools&model=&os_version=&APPGuid=1b56719e-aff9-44df-84e8-193680241c0b`,
data
)

View File

@ -0,0 +1,65 @@
import { getRevenueData } from '@/api/index'
import { handleYesterday } from '@/utils/dateTime/index'
// ticketCount: number // 客单数量 ,
// totalCount: number// 总数量 ,
// totalOffAmount: number// 优惠金额 ,
// mobilePayment: number// 移动支付金额 ,
// cashPay: number// 实收金额 ,
// different_Price_Less: number// 短款金额 ,
// different_Price_More: number// 长款金额 ,
interface allDateType {
headMsg: {
compared?: string
sumPay: number
TicketCount?: number
average?: number
}
}
export async function getInfo(params) {
//传入的参数
console.log(params)
const yesterday = handleYesterday(params.Statistics_Date)
const yesterdayData = {
pushProvinceCode: '340000',
Statistics_Date: yesterday,
}
//要输出的值
const allData: allDateType = {
headMsg: {
sumPay: 0,
},
}
//获取营收数据
const todayRevenue = await getRevenueData(params)
//获取昨日营收数据
const yesterdayRevenue = await getRevenueData(yesterdayData)
allData.headMsg = getTotalReven(todayRevenue.Result_Data.List)
//昨日营收总额
const yesterdaySumPay = getTotalReven(yesterdayRevenue.Result_Data.List)
allData.headMsg.compared = (
((allData.headMsg.sumPay - yesterdaySumPay.sumPay) / yesterdaySumPay.sumPay) *
100
).toFixed(2)
return allData
}
//计算总的对客营收
function getTotalReven(list) {
const data = {
sumPay: 0,
TicketCount: 0,
average: 0,
}
list.forEach((item) => {
data.sumPay += item.CashPay
data.TicketCount += item.TicketCount
})
data.average = Number((data.sumPay / data.TicketCount).toFixed(2))
data.sumPay = Number(data.sumPay.toFixed(2))
console.log('data', data)
return data
}

View File

@ -15,24 +15,39 @@
<view class="other">
<p class="title">对客营收<span class="text">(门店上传 818/825)</span></p>
<view class="box">
<p class="allPrice">2,236,814.39</p>
<p class="allPrice">{{ data.headMsg.sumPay }}</p>
<image class="start" src="https://ahyd.eshangtech.com/UploadImageDir/ahyd_DIB/index/start.svg"></image>
</view>
<view class="addBox">
<image class="arrowTop" src="/static/images/index/arrow_top.svg"></image>
<text class="text">+0.24%</text>
<image
class="arrowTop"
:src="
Number(data.headMsg.compared) > 0
? '/static/images/index/arrow_top.svg'
: '/static/images/index/arrow_reduce.svg'
"
></image>
<text class="text">{{ data.headMsg.compared ? data.headMsg.compared + '%' : '' }}</text>
<text class="compare">(相比昨日)</text>
</view>
<view class="type">
<view v-for="(item, index) in typeList" :key="index" class="item">
<view class="item">
<view class="leftImg">
<image :src="item.url"></image>
<image src="/static/images/index/business.svg"></image>
</view>
<view class="right">
<p class="typeName">
{{ item.typeName }}<text class="unit">{{ item.unit }}</text>
</p>
<p class="price">{{ item.price }}</p>
<p class="typeName">客单交易<text class="unit">/</text></p>
<p class="price">{{ data.headMsg.TicketCount }}</p>
</view>
</view>
<view class="item">
<view class="leftImg">
<image src="/static/images/index/average.svg"></image>
</view>
<view class="right">
<p class="typeName">客单均价<text class="unit">/</text></p>
<p class="price">{{ data.headMsg.average }}</p>
</view>
</view>
</view>
@ -72,15 +87,17 @@
<script lang="ts" setup>
import Tabbar from '@/component/tabbar.vue'
import { onLoad } from '@dcloudio/uni-app'
import { ref } from 'vue'
import { computed, ref } from 'vue'
import { capsuleBtn, type, detail, params } from '@/pages/user/userType'
import { timestampToTime, getThisDay } from '@/utils/dateTime'
import { timestampToTime, getThisDay, getYesterday } from '@/utils/dateTime'
import TabType from '@/pages/index/component/tabType.vue'
import DetailType from '@/pages/index/component/detailType.vue'
import PropOfReven from '@/pages/index/component/propOfReven.vue'
import ThisMonth from '@/pages/index/component/thisMonth.vue'
import Notice from '@/pages/index/component/notice.vue'
import { useUserInfo } from '@/stores/userInfo'
import { fmoney } from '@/utils/dateTime/utils'
import { getInfo } from './getInfo'
const page = '/pages/index/index'
const statusBarHeight = ref<number>(0)
@ -95,10 +112,11 @@ const menu = ref<capsuleBtn>({
const store = useUserInfo()
const single = ref(timestampToTime(new Date().getTime()))
const thisDay = ref<string>('')
const typeList = ref<type[]>([
{ url: '/static/images/index/business.svg', typeName: '客单交易', unit: '/笔', price: 0 },
{ url: '/static/images/index/average.svg', typeName: '客单均价', unit: '/元', price: 0 },
])
const yesterday = ref<string>('')
const data = ref({
headMsg: {},
})
const detailList = ref<detail[]>([
{ name: '长款金额', unit: '/元', price: 0 },
{ name: '短款金额', unit: '/元', price: 0 },
@ -112,14 +130,11 @@ const detailList = ref<detail[]>([
])
const requestParams = ref<params>({
pushProvinceCode: '',
Statistics_Date: '',
Serverpart_ID: 0,
SPRegionType_ID: 0,
Revenue_Include: 1,
pushProvinceCode: '340000',
Statistics_Date: yesterday.value,
})
onLoad(() => {
onLoad(async () => {
//
let systemInfo = uni.getSystemInfoSync()
statusBarHeight.value = Number(systemInfo.statusBarHeight)
@ -127,12 +142,15 @@ onLoad(() => {
//
const date = new Date()
thisDay.value = getThisDay(date.getDay()) as string
console.log('123', store.$state.userData)
//
requestParams.value.Statistics_Date = getYesterday()
data.value = await getInfo(requestParams.value)
data.value.headMsg.sumPay = fmoney(data.value.headMsg.sumPay, 2)
console.log('index', data.value)
})
//
function bindDateChange(e) {
console.log(e.detail.value)
const date = new Date(e.detail.value).getTime()
single.value = timestampToTime(date)
thisDay.value = getThisDay(new Date(e.detail.value).getDay()) as string
@ -236,7 +254,7 @@ $iphoneHeight: env(safe-area-inset-bottom);
.arrowTop {
width: 14px;
height: 14px;
margin-right: 8px;
margin-right: 4px;
}
.text {
font-size: 28rpx;
@ -261,6 +279,7 @@ $iphoneHeight: env(safe-area-inset-bottom);
.item {
width: 50%;
display: flex;
align-items: center;
float: left;
.leftImg {
width: 36px;

View File

@ -39,7 +39,7 @@ export interface detail {
export interface params {
pushProvinceCode: string //推送省份
Statistics_Date: string //统计日期
Serverpart_ID: number //服务区内码
SPRegionType_ID: number //区域内码
Revenue_Include: number //是否纳入营收【每日营收推送中是否展示该门店的营收数据】(01是)
Serverpart_ID?: number //服务区内码
SPRegionType_ID?: number //区域内码
Revenue_Include?: number //是否纳入营收【每日营收推送中是否展示该门店的营收数据】(01是)
}

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>首页图标/本月计划备份_15@2x</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="驿达小程序-首页0311" transform="translate(-199.000000, -2140.000000)">
<g id="编组-10" transform="translate(199.000000, 2140.000000)">
<circle id="椭圆形" fill="#FFFFFF" opacity="0.699999988" cx="7" cy="7" r="7"></circle>
<g id="编组-9" transform="translate(7.000000, 7.000000) scale(1, -1) translate(-7.000000, -7.000000) translate(4.000000, 3.000000)" fill="#07C160">
<rect id="矩形" x="2.56066017" y="1.06066017" width="1" height="6" rx="0.5"></rect>
<rect id="矩形备份-6" transform="translate(4.121320, 2.000000) rotate(-225.000000) translate(-4.121320, -2.000000) " x="3.62132034" y="0" width="1" height="4" rx="0.5"></rect>
<rect id="矩形" transform="translate(2.000000, 2.000000) rotate(-225.000000) translate(-2.000000, -2.000000) " x="0" y="1.5" width="4" height="1" rx="0.5"></rect>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -27,3 +27,20 @@ export function getThisDay(value: number) {
return '星期日'
}
}
export function getYesterday() {
const date = new Date()
const y = date.getFullYear()
const m = date.getMonth() + 1
const d = date.getDate()
return `${y}-${m}-${d - 1}`
}
//传入时间 拿到昨天的时间
export function handleYesterday(value: string) {
const date = new Date(value)
const y = date.getFullYear()
const m = date.getMonth() + 1
const d = date.getDate() - 1
return `${y}-${m}-${d}`
}

View File

@ -0,0 +1,22 @@
export function fmoney(s, n) {
console.log(s, n)
/*
*
* s
* n
* */
n = n > 0 && n <= 20 ? n : 2
let fuhao = '' //如果数字小于零则值为-
if (s < 0) {
s = Math.abs(s)
fuhao = '-'
}
s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + ''
const l = s.split('.')[0].split('').reverse(),
r = s.split('.')[1]
let t = ''
for (let i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 == 0 && i + 1 != l.length ? ',' : '')
}
return fuhao + [...t].reverse().join('') + '.' + r
}

View File

@ -73,7 +73,6 @@ const baseRequest = <T>(config: baseConfig) => {
config.url = url
}
const Url = import.meta.env.VITE_API_URL as string
console.log(Url)
const token = uni.getStorageSync('token')
if (config.header) {
config.header.Authorization = 'Bearer ' + token
@ -94,7 +93,6 @@ const baseRequest = <T>(config: baseConfig) => {
header: config.header,
data: config.data || {},
success: (res: any) => {
console.log('res', res)
if (!config.showLoading) {
uni.hideLoading()
}

4810
yarn.lock

File diff suppressed because it is too large Load Diff