金额修复
@ -1,16 +0,0 @@
|
|||||||
######################################################################
|
|
||||||
# Build Tools
|
|
||||||
|
|
||||||
/unpackage/*
|
|
||||||
/node_modules/*
|
|
||||||
|
|
||||||
######################################################################
|
|
||||||
# Development Tools
|
|
||||||
|
|
||||||
/.idea/*
|
|
||||||
/.vscode/*
|
|
||||||
/.hbuilderx/*
|
|
||||||
|
|
||||||
package-lock.json
|
|
||||||
yarn.lock
|
|
||||||
|
|
Before Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 152 KiB |
Before Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 238 KiB |
Before Width: | Height: | Size: 139 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 201 KiB |
Before Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 130 KiB |
Before Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 160 KiB |
Before Width: | Height: | Size: 150 KiB |
Before Width: | Height: | Size: 124 KiB |
Before Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 109 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 126 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 176 KiB |
Before Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 208 KiB |
Before Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 173 KiB |
Before Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 148 KiB |
Before Width: | Height: | Size: 128 KiB |
Before Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 248 KiB |
Before Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 96 KiB |
Before Width: | Height: | Size: 115 KiB |
Before Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 129 KiB |
Before Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 109 KiB |
Before Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 110 KiB |
Before Width: | Height: | Size: 131 KiB |
Before Width: | Height: | Size: 62 KiB |
@ -1,65 +0,0 @@
|
|||||||
<!-- <template>
|
|
||||||
<view class="content">
|
|
||||||
<router-view></router-view>
|
|
||||||
<view class="text-area">
|
|
||||||
<text class="title">Hello 芋道</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</template> -->
|
|
||||||
<script>
|
|
||||||
import config from './config'
|
|
||||||
import store from '@/store'
|
|
||||||
import {
|
|
||||||
getAccessToken,
|
|
||||||
getAccessTokensacacas
|
|
||||||
} from '@/utils/auth'
|
|
||||||
|
|
||||||
export default {
|
|
||||||
onLaunch: function () {
|
|
||||||
this.initApp()
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
// 初始化应用
|
|
||||||
initApp() {
|
|
||||||
// 初始化应用配置
|
|
||||||
this.initConfig()
|
|
||||||
// 检查用户登录状态
|
|
||||||
//#ifdef H5
|
|
||||||
this.checkLogin()
|
|
||||||
//#endif
|
|
||||||
},
|
|
||||||
initConfig() {
|
|
||||||
this.globalData.config = config
|
|
||||||
},
|
|
||||||
checkLogin() {
|
|
||||||
if (!getAccessToken()) {
|
|
||||||
this.$tab.reLaunch('/pages/login')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss">
|
|
||||||
@import "uview-ui/index.scss";
|
|
||||||
@import '@/static/scss/index.scss';
|
|
||||||
</style>
|
|
||||||
<style>
|
|
||||||
.gradient-background {
|
|
||||||
/* 设置渐变背景,从上到下,从浅蓝色到白色 */
|
|
||||||
background: linear-gradient(to bottom, #0d74d2 0%, #FFFFFF 25%);
|
|
||||||
width: 100%;
|
|
||||||
height: 100vh;
|
|
||||||
/* 如果需要模糊效果,可以添加 backdrop-filter */
|
|
||||||
backdrop-filter: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gradient-backgroundTwo {
|
|
||||||
/* 设置渐变背景,从上到下,从浅蓝色到白色 */
|
|
||||||
background: linear-gradient(to bottom, #0d74d2 0%, #ececec 25%);
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
/* 如果需要模糊效果,可以添加 backdrop-filter */
|
|
||||||
backdrop-filter: none;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2022 芋道
|
|
||||||
|
|
||||||
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.
|
|
@ -1,134 +0,0 @@
|
|||||||
import request from '@/utils/request'
|
|
||||||
const homeApi = {
|
|
||||||
DeviceCustomer: () => { //累计收益
|
|
||||||
return request({
|
|
||||||
url: '/AppServerController/statisticMoneyDeviceCustomer',
|
|
||||||
'method': 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
myTicket: (parms) => {
|
|
||||||
return request({ //我的工单
|
|
||||||
url: `/AppServerController/myTicket?pageNo=${parms.pageNo}&pageSize=10&worderType=&worderStatus=${parms.worderStatus}&worderContent=${parms.worderContent || ''}`,
|
|
||||||
'method': 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
myTicketsh: (parms) => {
|
|
||||||
return request({ //师傅端我的工单
|
|
||||||
url: `/AppServerController/myTicketsh?pageNo=${parms.pageNo}&pageSize=10&worderType=&worderStatus=${parms.worderStatus}&worderContent=${parms.worderContent || ''}`,
|
|
||||||
'method': 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
myTicketStatistics: () => {
|
|
||||||
return request({ //我的统计工单
|
|
||||||
url: '/AppServerController/myTicketStatistics',
|
|
||||||
'method': 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getUserPage: (params) => { //用户分页查询
|
|
||||||
return request({
|
|
||||||
url: '/AppServerController/getUserPage',
|
|
||||||
'method': 'GET',
|
|
||||||
params:params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
monthOrders: (params) => { //工单列表
|
|
||||||
return request({
|
|
||||||
url: '/AppServerController/monthOrders',
|
|
||||||
'method': 'GET',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
myTicketDay: (parms) => { //按日期查询我的工单统计
|
|
||||||
return request({
|
|
||||||
url: `/AppServerController/myTicketDayStatistics?day=${parms}`,
|
|
||||||
'method': 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
appListMaster: (parms) => { //派单时查询师傅分页
|
|
||||||
return request({
|
|
||||||
url: `/AppServerController/appListMaster?pageNo=${parms.page}&pageSize=10&customerName=${parms.customerName}&customerPhone=${parms.customerPhone}&customerAreaId=${parms.customerAreaId}&worderId=${parms.worderId}`,
|
|
||||||
'method': 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
appDistributeMaster: (data) => { //派单
|
|
||||||
return request({
|
|
||||||
url: `/AppServerController/appDistributeMaster`,
|
|
||||||
'method': 'POST',
|
|
||||||
data,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
reschedulingTime: (data) => { //改约时间
|
|
||||||
return request({
|
|
||||||
url: `/AppServerController/reschedulingTime`,
|
|
||||||
'method': 'PUT',
|
|
||||||
data,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getDeviceMgmtTab: (parms) => { //获得设备管理分页
|
|
||||||
return request({
|
|
||||||
url: `/AppServerController/getDeviceMgmtTab?pageNo=${parms.page}&pageSize=10&id=${parms.id}`,
|
|
||||||
'method': 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getUserProduct: (parms) => { //设备详情
|
|
||||||
return request({
|
|
||||||
url: `/userClient2/getUserProduct?id=${parms}`,
|
|
||||||
'method': 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getFilterDetailsByDeviceId: (parms) => { //滤芯详情
|
|
||||||
return request({
|
|
||||||
url: `/userClient2/getFilterDetailsByDeviceId?deviceId=${parms}`,
|
|
||||||
'method': 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
restFilterS: (parms) => { //滤芯重置
|
|
||||||
return request({
|
|
||||||
url: `/tdproduct/td-product/restFilterS?filterId=${parms[0]}&deviceId=${parms[1]}&filterRestFlow=${parms[2]}&filterMaxFlow=${parms[3]}`,
|
|
||||||
'method': 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
create: (data) => { //设备充值
|
|
||||||
return request({
|
|
||||||
url: `/dproductrecharge/D-product-recharge/create`,
|
|
||||||
'method': 'POST',
|
|
||||||
data,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
unbindTheDevice: (data) => { //解绑设备
|
|
||||||
return request({
|
|
||||||
url: `/AppServerController/unbindTheDevice?id=${data}`,
|
|
||||||
'method': 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
pushUserOrder: (params) => { //设备报修
|
|
||||||
return request({
|
|
||||||
url: `/userClient2/pushUserOrder`,
|
|
||||||
'method': 'GET',
|
|
||||||
params:params,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
notice: (dada) => { //公告列表
|
|
||||||
return request({
|
|
||||||
url: `/AppServerController/getNoticePage?pageNo=${dada}&pageSize=10`,
|
|
||||||
'method': 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getNotice: (dada) => { //公告详情
|
|
||||||
return request({
|
|
||||||
url: `/AppServerController/getNotice?id=${dada}`,
|
|
||||||
'method': 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
// 师傅管理
|
|
||||||
getMasterList: (data) => {
|
|
||||||
return request({
|
|
||||||
url: `/system/user/masterManage`,
|
|
||||||
method: 'get',
|
|
||||||
data,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
}
|
|
||||||
export default homeApi
|
|
@ -1,34 +0,0 @@
|
|||||||
import request from '@/utils/request'
|
|
||||||
|
|
||||||
// 登录方法
|
|
||||||
export function login(username, password, captchaVerification) {
|
|
||||||
const data = {
|
|
||||||
username,
|
|
||||||
password,
|
|
||||||
captchaVerification
|
|
||||||
}
|
|
||||||
return request({
|
|
||||||
url: '/system/auth/logins',
|
|
||||||
headers: {
|
|
||||||
isToken: false
|
|
||||||
},
|
|
||||||
'method': 'POST',
|
|
||||||
'data': data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取用户详细信息
|
|
||||||
export function getInfo() {
|
|
||||||
return request({
|
|
||||||
url: '/system/auth/get-permission-info',
|
|
||||||
'method': 'GET'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 退出方法
|
|
||||||
export function logout() {
|
|
||||||
return request({
|
|
||||||
url: '/system/auth/logout',
|
|
||||||
'method': 'POST'
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,124 +0,0 @@
|
|||||||
import request from '@/utils/request'
|
|
||||||
import upload from '@/utils/upload'
|
|
||||||
|
|
||||||
const MasterApi = {
|
|
||||||
// 获得工单
|
|
||||||
getWorkOrderNum: () => {
|
|
||||||
return request({
|
|
||||||
url: '/AppMasterController/masterHomeStatistics',
|
|
||||||
method: 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getAnnouncements: () => {
|
|
||||||
return request({
|
|
||||||
url: '/AppMasterController/intervalOrder',
|
|
||||||
method: 'GET',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getMasterOrderList: (data) => {
|
|
||||||
return request({
|
|
||||||
url: '/AppMasterController/queryCoverageArea',
|
|
||||||
method: 'GET',
|
|
||||||
data: data,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
// 查询字典数据
|
|
||||||
// dictData
|
|
||||||
//字典
|
|
||||||
dictData: (params) => {
|
|
||||||
return request({
|
|
||||||
url: '/userClient2/getDictDataList',
|
|
||||||
method: 'GET',
|
|
||||||
params: params,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 工单详情
|
|
||||||
getWorderById: (data) => {
|
|
||||||
return request({
|
|
||||||
url: '/userClient2/getWorderById',
|
|
||||||
method: 'get',
|
|
||||||
data: data,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 接单、退单
|
|
||||||
updateOrder: (params) => {
|
|
||||||
return request({
|
|
||||||
url: '/AppMasterController/acceptRejectOrder',
|
|
||||||
method: 'get',
|
|
||||||
params: params,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
// 完结工单上传
|
|
||||||
uploadFile: (data) => {
|
|
||||||
return upload({
|
|
||||||
url: '/admin-api/infra/file/upload',
|
|
||||||
method: 'post',
|
|
||||||
filePath: data,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
// 评价
|
|
||||||
evaluateApi: (data) => {
|
|
||||||
return request({
|
|
||||||
url: '/userClient2/savefeedBack',
|
|
||||||
method: 'get',
|
|
||||||
data: data,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 收益明细
|
|
||||||
getProfitList: (data) => {
|
|
||||||
return request({
|
|
||||||
url: '/AppUserBalanceController/getUserBalance',
|
|
||||||
method: 'get',
|
|
||||||
data: data,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
// 收益分析
|
|
||||||
getProfitAnalyseList: (data) => {
|
|
||||||
return request({
|
|
||||||
url: '/earningsAnalysisController/earningsAnalysiHome',
|
|
||||||
method: 'get',
|
|
||||||
data: data,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 修改密码
|
|
||||||
updatePassword: (data) => {
|
|
||||||
return request({
|
|
||||||
url: '/userClient2/updatePassword',
|
|
||||||
method: 'get',
|
|
||||||
data: data,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
// 我的总资产
|
|
||||||
getMyInfo: (data) => {
|
|
||||||
return request({
|
|
||||||
url: '/earningsAnalysisController/myInfo',
|
|
||||||
method: 'get',
|
|
||||||
data: data,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
// 提现记录
|
|
||||||
getWithdrawList: (data) => {
|
|
||||||
return request({
|
|
||||||
url: '/duserbalancewithdraw/D-user-balance-withdraw/pageWithdrawSuccess',
|
|
||||||
method: 'get',
|
|
||||||
data: data,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
// 提现/AppUserBalanceController/applyWithdraw
|
|
||||||
withdrawDeposit: (data) => {
|
|
||||||
return request({
|
|
||||||
url: '/AppUserBalanceController/applyWithdraw',
|
|
||||||
method: 'post',
|
|
||||||
data: data,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
export default MasterApi
|
|
@ -1,42 +0,0 @@
|
|||||||
import upload from '@/utils/upload'
|
|
||||||
import request from '@/utils/request'
|
|
||||||
|
|
||||||
// 用户密码重置
|
|
||||||
export function updateUserPwd(oldPassword, newPassword) {
|
|
||||||
const data = {
|
|
||||||
oldPassword,
|
|
||||||
newPassword
|
|
||||||
}
|
|
||||||
return request({
|
|
||||||
url: '/system/user/profile/update-password',
|
|
||||||
method: 'PUT',
|
|
||||||
params: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询用户个人信息
|
|
||||||
export function getUserProfile() {
|
|
||||||
return request({
|
|
||||||
url: '/system/user/profile/get',
|
|
||||||
method: 'GET'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改用户个人信息
|
|
||||||
export function updateUserProfile(data) {
|
|
||||||
return request({
|
|
||||||
url: '/system/user/profile/update',
|
|
||||||
method: 'PUT',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 用户头像上传
|
|
||||||
export function uploadAvatar(data) {
|
|
||||||
return upload({
|
|
||||||
url: '/system/user/profile/update-avatar',
|
|
||||||
method: 'PUT',
|
|
||||||
name: data.name,
|
|
||||||
filePath: data.filePath
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,167 +0,0 @@
|
|||||||
<template>
|
|
||||||
<view class="uni-section">
|
|
||||||
<view class="uni-section-header" @click="onClick">
|
|
||||||
<view class="uni-section-header__decoration" v-if="type" :class="type" />
|
|
||||||
<slot v-else name="decoration"></slot>
|
|
||||||
|
|
||||||
<view class="uni-section-header__content">
|
|
||||||
<text :style="{'font-size':titleFontSize,'color':titleColor}" class="uni-section__content-title" :class="{'distraction':!subTitle}">{{ title }}</text>
|
|
||||||
<text v-if="subTitle" :style="{'font-size':subTitleFontSize,'color':subTitleColor}" class="uni-section-header__content-sub">{{ subTitle }}</text>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="uni-section-header__slot-right">
|
|
||||||
<slot name="right"></slot>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="uni-section-content" :style="{padding: _padding}">
|
|
||||||
<slot />
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Section 标题栏
|
|
||||||
* @description 标题栏
|
|
||||||
* @property {String} type = [line|circle|square] 标题装饰类型
|
|
||||||
* @value line 竖线
|
|
||||||
* @value circle 圆形
|
|
||||||
* @value square 正方形
|
|
||||||
* @property {String} title 主标题
|
|
||||||
* @property {String} titleFontSize 主标题字体大小
|
|
||||||
* @property {String} titleColor 主标题字体颜色
|
|
||||||
* @property {String} subTitle 副标题
|
|
||||||
* @property {String} subTitleFontSize 副标题字体大小
|
|
||||||
* @property {String} subTitleColor 副标题字体颜色
|
|
||||||
* @property {String} padding 默认插槽 padding
|
|
||||||
*/
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'UniSection',
|
|
||||||
emits:['click'],
|
|
||||||
props: {
|
|
||||||
type: {
|
|
||||||
type: String,
|
|
||||||
default: ''
|
|
||||||
},
|
|
||||||
title: {
|
|
||||||
type: String,
|
|
||||||
required: true,
|
|
||||||
default: ''
|
|
||||||
},
|
|
||||||
titleFontSize: {
|
|
||||||
type: String,
|
|
||||||
default: '14px'
|
|
||||||
},
|
|
||||||
titleColor:{
|
|
||||||
type: String,
|
|
||||||
default: '#333'
|
|
||||||
},
|
|
||||||
subTitle: {
|
|
||||||
type: String,
|
|
||||||
default: ''
|
|
||||||
},
|
|
||||||
subTitleFontSize: {
|
|
||||||
type: String,
|
|
||||||
default: '12px'
|
|
||||||
},
|
|
||||||
subTitleColor: {
|
|
||||||
type: String,
|
|
||||||
default: '#999'
|
|
||||||
},
|
|
||||||
padding: {
|
|
||||||
type: [Boolean, String],
|
|
||||||
default: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
computed:{
|
|
||||||
_padding(){
|
|
||||||
if(typeof this.padding === 'string'){
|
|
||||||
return this.padding
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.padding?'10px':''
|
|
||||||
}
|
|
||||||
},
|
|
||||||
watch: {
|
|
||||||
title(newVal) {
|
|
||||||
if (uni.report && newVal !== '') {
|
|
||||||
uni.report('title', newVal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
onClick() {
|
|
||||||
this.$emit('click')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<style lang="scss" >
|
|
||||||
$uni-primary: #2979ff !default;
|
|
||||||
|
|
||||||
.uni-section {
|
|
||||||
background-color: #fff;
|
|
||||||
.uni-section-header {
|
|
||||||
position: relative;
|
|
||||||
/* #ifndef APP-NVUE */
|
|
||||||
display: flex;
|
|
||||||
/* #endif */
|
|
||||||
flex-direction: row;
|
|
||||||
align-items: center;
|
|
||||||
padding: 12px 10px;
|
|
||||||
font-weight: normal;
|
|
||||||
|
|
||||||
&__decoration{
|
|
||||||
margin-right: 6px;
|
|
||||||
background-color: $uni-primary;
|
|
||||||
&.line {
|
|
||||||
width: 4px;
|
|
||||||
height: 12px;
|
|
||||||
border-radius: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.circle {
|
|
||||||
width: 8px;
|
|
||||||
height: 8px;
|
|
||||||
border-top-right-radius: 50px;
|
|
||||||
border-top-left-radius: 50px;
|
|
||||||
border-bottom-left-radius: 50px;
|
|
||||||
border-bottom-right-radius: 50px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.square {
|
|
||||||
width: 8px;
|
|
||||||
height: 8px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__content {
|
|
||||||
/* #ifndef APP-NVUE */
|
|
||||||
display: flex;
|
|
||||||
/* #endif */
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
color: #333;
|
|
||||||
|
|
||||||
.distraction {
|
|
||||||
flex-direction: row;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
&-sub {
|
|
||||||
margin-top: 2px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__slot-right{
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.uni-section-content{
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,14 +0,0 @@
|
|||||||
import CryptoJS from 'crypto-js'
|
|
||||||
/**
|
|
||||||
* @word 要加密的内容
|
|
||||||
* @keyWord String 服务器随机返回的关键字
|
|
||||||
* */
|
|
||||||
export function aesEncrypt(word, keyWord = "XwKsGlMcdPMEhR1B") {
|
|
||||||
var key = CryptoJS.enc.Utf8.parse(keyWord);
|
|
||||||
var srcs = CryptoJS.enc.Utf8.parse(word);
|
|
||||||
var encrypted = CryptoJS.AES.encrypt(srcs, key, {
|
|
||||||
mode: CryptoJS.mode.ECB,
|
|
||||||
padding: CryptoJS.pad.Pkcs7
|
|
||||||
});
|
|
||||||
return encrypted.toString();
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
import config from '@/config'
|
|
||||||
const baseUrl = config.baseUrl
|
|
||||||
export const myRequest = (option = {}) => {
|
|
||||||
return new Promise((reslove, reject) => {
|
|
||||||
uni.request({
|
|
||||||
url: baseUrl + option.url,
|
|
||||||
data: option.data,
|
|
||||||
method: option.method || "GET",
|
|
||||||
success: (result) => {
|
|
||||||
reslove(result)
|
|
||||||
},
|
|
||||||
fail: (error) => {
|
|
||||||
reject(error)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
// 应用全局配置
|
|
||||||
module.exports = {
|
|
||||||
// baseUrl: 'http://221.176.140.236:48080',
|
|
||||||
baseUrl: 'http://192.168.10.64:48080',
|
|
||||||
baseApi: '/admin-api',
|
|
||||||
NewBaseApi: '/app-api',
|
|
||||||
tenantId: 179,
|
|
||||||
// 应用信息
|
|
||||||
appInfo: {
|
|
||||||
// 应用名称
|
|
||||||
name: 'yudao-app',
|
|
||||||
// 应用版本
|
|
||||||
version: '1.0.0',
|
|
||||||
// 应用logo
|
|
||||||
logo: '/static/logo.png',
|
|
||||||
// 官方网站
|
|
||||||
site_url: 'https://iocoder.cn',
|
|
||||||
// 政策协议
|
|
||||||
agreements: [{
|
|
||||||
title: '隐私政策',
|
|
||||||
url: 'https://iocoder.cn',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '用户服务协议',
|
|
||||||
url: 'https://iocoder.cn',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
import Vue from 'vue'
|
|
||||||
import App from './App'
|
|
||||||
import store from './store' // store
|
|
||||||
import plugins from './plugins' // plugins
|
|
||||||
import './permission' // permission
|
|
||||||
import uView from 'uview-ui'
|
|
||||||
import VueCompositionAPI from '@vue/composition-api'
|
|
||||||
Vue.use(uView)
|
|
||||||
|
|
||||||
Vue.use(plugins)
|
|
||||||
|
|
||||||
Vue.config.productionTip = false
|
|
||||||
Vue.prototype.$store = store
|
|
||||||
Vue.use(VueCompositionAPI)
|
|
||||||
|
|
||||||
App.mpType = 'app'
|
|
||||||
|
|
||||||
const app = new Vue({
|
|
||||||
...App,
|
|
||||||
})
|
|
||||||
|
|
||||||
app.$mount()
|
|
@ -1,70 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "芋道移动端",
|
|
||||||
"appid": "__UNI__FCE7D1D",
|
|
||||||
"description": "",
|
|
||||||
"versionName": "1.0.0",
|
|
||||||
"versionCode": "100",
|
|
||||||
"transformPx": false,
|
|
||||||
"app-plus": {
|
|
||||||
"usingComponents": true,
|
|
||||||
"nvueCompiler": "uni-app",
|
|
||||||
"splashscreen": {
|
|
||||||
"alwaysShowBeforeRender": true,
|
|
||||||
"waiting": true,
|
|
||||||
"autoclose": true,
|
|
||||||
"delay": 0
|
|
||||||
},
|
|
||||||
"modules": {},
|
|
||||||
"distribute": {
|
|
||||||
"android": {
|
|
||||||
"permissions": [
|
|
||||||
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
|
||||||
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
|
||||||
"<uses-feature android:name=\"android.hardware.camera\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ios": {},
|
|
||||||
"sdkConfigs": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"quickapp": {},
|
|
||||||
"mp-weixin": {
|
|
||||||
"appid": "wx53b5ac263b9cdb5b",
|
|
||||||
"setting": {
|
|
||||||
"urlCheck": false,
|
|
||||||
"es6": false,
|
|
||||||
"minified": true,
|
|
||||||
"postcss": true
|
|
||||||
},
|
|
||||||
"optimization": {
|
|
||||||
"subPackages": true
|
|
||||||
},
|
|
||||||
"usingComponents": true,
|
|
||||||
"lazyCodeLoading": "requiredComponents"
|
|
||||||
},
|
|
||||||
"vueVersion": "2",
|
|
||||||
"h5": {
|
|
||||||
"template": "static/index.html",
|
|
||||||
"devServer": {
|
|
||||||
"port": 9090,
|
|
||||||
"https": false
|
|
||||||
},
|
|
||||||
"title": "Yudao-App",
|
|
||||||
"router": {
|
|
||||||
"mode": "hash",
|
|
||||||
"base": "./"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|