商城首页,我要买列表,已购买列表

This commit is contained in:
itgaojian163 2025-06-17 16:33:04 +08:00
parent 60bcb49ed3
commit 3e2fe76c0f
288 changed files with 36416 additions and 331 deletions

27
App.vue
View File

@ -65,9 +65,11 @@
left: 50%;
transform: translate(-50%, -50%) scale(1)
}
swan-radio .swan-radio-input .swan-radio-input-border{
border: 1rpx solid $primary-color !important;
swan-radio .swan-radio-input .swan-radio-input-border {
border: 1rpx solid $primary-color !important;
}
swan-checkbox[checked=true] .swan-checkbox-input {
border: none !important;
background: transparent !important;
@ -80,7 +82,7 @@
height: 20rpx !important;
color: #fff !important;
border-radius: 50% !important;
background: $primary-color !important;
background: $primary-color !important;
position: absolute;
top: 50%;
left: 50%;
@ -461,11 +463,16 @@
}
.no-more-dot {
width: 8rpx;
height: 8rpx;
border-radius: 50%;
background-color: var(--divider-color);
margin: 0 20rpx;
color: var(--text-gray-hint-color);
font-size: 24rpx;
margin: 0rpx 20rpx;
padding: 0rpx 10rpx;
width: 70rpx;
height: 25rpx;
white-space: nowrap;
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAgCAMAAADT9S0cAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAt9QTFRFAAAA8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwidWAvwAAAPV0Uk5TAApczBo4wENq+RzBcIUyCAMkbcSiBictEnP/IEbvUxi/28fxXo788JxMETuG3v3+pwSTmWUFipAVIdTzSU2dY370hz4Bfdp0FM34+jTf5iOM8s+f50iN6q5BmuD7X6hUxoFkJnq47Aev6KFgE24wM49rdimWo6XXnvXZfLlmOtVdQigeieIC5dYQziW1eVbLyGj2pj1EDpF1Gw2kgy60oD8dNw9ygNB4RVdZ2FEL4en3xe1A7tyEF7p/yixp08kvYsO7T60WqVs2Ryo5UhmCZ3sJPL6rm7FQsGyzi3esiDG3TrbrWNLjlG+SS7JhWpeVqjUiVQxiOrvyAAAG2ElEQVR4nLXWe1xMWRwA8N9phsX2ksaSlFT7IesxZaRNq5f3EHqo6EGflOnhVSErFG30EEtIlIytPNZj2fXIRNNKSSNry1RCRMxQ27s0tefemak7NXw++/ms+8c99/7OPed77znnd+9F8OkNdX+mkrKpIECdA5CE3i4LDMKBFlx+3aXSTHZE7FQRQv8oNtTEIST+XNcMRLZFtTAS91mji5FqAH0iiNphUBcuaa2DJbigkxcaEz2iUsozmJCRh/JzJu4QofvSk2kSOroHYCFFyvCllWDcRUPCcR8HojIlTz9BijSrNqmOQQ350uDcSmN8ZwIY3oOwiwHM8uqkJ4uKaKaXABy6HpAkKujtbjpvkA4uhBpg8QyXY+9+X4ULQxJxydMGPDRWqORJN8Meob/EqtN4QEFc8gwaxXan+iL21eV9kXqi8EK5LzxQKrgP7KiYiI6DDAHVwSJ8oNaOiSsAtoCNXsTv/d1F6NLipL7IEvQrOOJhPQOGpirPC1wl9JJsGMUCI4S44CGEcZJ3quoIFcgRsOWRPZDFlMomoCIzqrxOe55QGyJQgvhEKUw8QEQKZTq8r4jr/Pf1IAxdgQxhjJIavYhprW8aO0+0eodyZOcleF0beaVzxgGiOioL71yTwPc8mN5rggCuRziJLC7EO1WJBY9AtHVfuaEDVGQPSrRPjz3SuiFEGRIT03PfcW11DHfyKIkBC4boo1hQq/GBwl4EGodu2DLU9pHajGMNa85TES+dk5vW+hkmbl7brQRpzuxBzMX8UUqW8BYSmfaK2Lsm+E2s375wFuKA1iAq4pgP847D4Sgw5CtFtBvAQDisUec5RqKuSduIiBGfIs1wKxLZRa6bCH+cdf4pRMopIMkfDgTtqQevauFOX6VInQ/oHoh82H0BIwwVfEV0sVmiGJhOaBPZwV4KMvF6zwMqIOlZAmL1zjU/ZjvHQwGxWBJGIvuh5lhss/8IjOB6epengMyH7WRz5CbNk8yWipOfRn6ohI4BuIwPgX3LoG/GK85JdWyx2S6RwoyMKAZkFLMq1MSRGahWfp2vFJkeFtgT7xArIIPjAEoaMoEGg5uSgoyE5uJuF7zW8OvjcJysRag/gcwrSRK8Lf5uieD3doFSxG4kL5l8Xsjg7RdxqEgK8Z68mWl7G5gPPLk7IszFJku4JRNWtvsHqMt66o4hkBve5AlDK8jZuYq1eFZfRNO6ENLJgQFagi3btQehu+eyzuLohsy6VrjlsXGjXieeEwdJUS19fhHttQyZKyAQ3grK+Fk9KuuLHFULYbvZkNHb7rD7dLYc0dSx/XiURLR94WBj3PtJbtKJB4xkOst6tOb3Q8bx+g0XfxmceetIRodoQoC1pRyRbxsUklGGUPokkLFt0uEaZ3kc9HJl38eg3ow3ewMf2mTXh6cxtrj2R7SPkAeiNZ9E4g7NtNRTR5Iar6EGbvJ11IswtwVunmgjC+Okd7kj6IMUcGykS6mworb0OHFwatiPey/Kai3OrnAClFOdSKwq9cA0Bq0Y+iEawbD7rKMs7KMDOUKRytYPEzjwXzbp4gRGiwYcrvXrj/wvmwwJuSnqHawvhBy6+pBhUHP/iyJRaa2wTnM1zgTJ3x0zWQrI0JtTs1KvwQOHy7/lSGZF9DQUMP3WoMnE0frlBQHMxtq7Z2G2FUDR4yLeivDzjUSNsSVoOrH8SCTZYg4cNJqEM6ccnyXF8ymI+hWtrGWuWRPoniErrZiG0+VGGdr7OpZXtV94H0aX2gXv+Yq29Y+YZ3Gsp+Y/s5PD7iXrB1wvYi3Pt7ewO3f9BkaYZm08iHcDCFQ7SbRPm01B7B0jL+fmOK6cnqQx/nF68rsR5F+ldm3C1aP5+kVNEc4FwKaprAKH22E6AZz64BTXF8vf72vO1uOfsox5J3jW9BrCL2BE9yAHClDjqvz0zeRNGvxJQQJTy0XtEe5e6TlbVM871UyddYio+Sk1k3unIr2jLl7rl9E7OdaAhBpBBr6b3Mfc9ghkF9gciW554mhwcfgkjadzxyfOQJBzTfrT1vYh6hz5JfCOpiBDTBJMxpTqgduo4KstLJqlfLgc2hYvC218wweud+K5J5GJKev1vbmRRprJPtsXDt8Vb/Eyg7bp2SkbOPYSgueg6KW2OE1EBBLNMSHa449XL7LxUJCL0Yt6a5OKdYehFXXKkaBCTaco13z+uZmdyRmdD1Clvf3sPK0TYTEc0fzJGdvwRL9bSCyL0gxI/BadDpUaGIES1niR1ypjhdVVcithdS53RTb9sg+MbKP8lJuEH001bXBmewFba6N/Q+D8BaFLv+FrjLDiHinLxu32DyDe0XN4UOn5L6Le+7WOFFbIAAAAAElFTkSuQmCC');
background-size: 100% 100%;
background-repeat: no-repeat;
}
.uni-popup-message__box {
@ -480,13 +487,13 @@
display: flex;
flex-direction: column;
justify-content: center;
padding: 30rpx;
padding: 30rpx;
}
.dialog-title-box {
display: flex;
flex-direction: row;
align-items: center;
align-items: center;
}
.dialog-title-txt {

View File

@ -335,6 +335,88 @@ var payWay = function(way) {
}
return wayClass
}
var includes = function(str, target) {
return str && str.indexOf(target) !== -1;
}
// 订单状态0:取消订单,1:待付款,2:待填写资料,3:过户中,4:平台下证
var goodsOrderStatus = function(status) {
var str = '已取消'
switch (status) {
case '0':
str = '已取消'
break
case '1':
str = '待付款'
break
case '2':
str = '写资料'
break
case '3':
str = '过户中'
break
case '4':
str = '已下证'
break
}
return str
}
var goodsStatus = function(check, status, orderStatus) {
check = '' + check;
status = '' + status;
orderStatus = '' + orderStatus;
var orderStatusMap = {
'1': '待付款',
'2': '待填写资料',
'3': '过户中',
'4': '过户完成'
};
if (orderStatusMap[orderStatus]) {
return orderStatusMap[orderStatus];
}
var checkStatusMap = {
'': '未提交',
'0': '审核未通过',
'1': '审核中'
};
if (checkStatusMap[check]) {
return checkStatusMap[check];
}
if (check == '2') {
return status == '1' ? '已上架' : '未上架';
}
return '未提交';
}
var goodsOrderColor = function(status) {
var str = 'col-gray'
switch (status) {
case '0':
str = 'col-gray'
break
case '1':
case '2':
case '3':
str = 'col-primary'
break
case '4':
str = 'col-green'
break
}
return str
}
//判断是否是图片
var isImg = function(filename) {
var input = filename.trim();
var hasDot = input.indexOf('.') !== -1;
var extension = hasDot ?
input.substring(input.lastIndexOf('.') + 1).toLowerCase() :
input.toLowerCase();
var imageExtensions = [
'jpg', 'jpeg', 'png', 'gif', 'bmp',
'webp', 'svg', 'ico', 'tiff', 'tif'
];
return imageExtensions.indexOf(extension) !== -1;
};
export {
isEmpty,
status,
@ -356,5 +438,10 @@ export {
payTypeSign,
invoiceStatusColor,
invoiceStatus,
payWay
payWay,
includes,
goodsOrderStatus,
goodsOrderColor,
goodsStatus,
isImg
}

View File

@ -2,78 +2,84 @@ import {
set,
get
} from '../cache/storage.js';
import {
operatorUrl,
operatorPlug,
uploadImgUrl,
previewUrl,
copyrightUrl,
imgAssets,
appUrl
} from '../net/mainUrl'
/**
* 传入请求参数返回Promise支持链试调用
* @param url 请求地址
* @param method 请求方法类型不传入默认是"GET"
* @param data 请求体数据
* @param params 请求参数
*/
function request(url, method = "GET", data = {}, params = {}, project = "copyright", needToken = true) {
const header = {
"content-type": "application/json"
// 有其他content-type需求加点逻辑判断处理即可
}
//是否需要token
if (needToken) {
const token = get('token')
if (token) {
header.Auth = `Bearer ${token}`;
}
}
//判断项目
var baseUrl = operatorUrl
if (project == 'operator') {
baseUrl = operatorUrl
} else if (project == 'copyright') {
baseUrl = copyrightUrl
} else if (project == 'plug') {
baseUrl = operatorPlug
}
return new Promise(function(resolve, reject) {
uni.request({
url: baseUrl + url,
timeout: 8000,
method,
data,
dataType: "json", // 微信官方文档中介绍会对数据进行一次JSON.parse
header,
success(res) {
if (res.statusCode === 200) {
resolve(res.data)
} else {
console.log('错误success')
reject(res.data)
}
},
fail(err) {
console.log('错误')
if (err.data) {
reject(err.data)
} else {
reject(err)
}
}
})
})
}
// 导出请求和服务地址
export {
request,
uploadImgUrl,
previewUrl,
copyrightUrl,
imgAssets,
appUrl
import {
operatorUrl,
operatorPlug,
uploadImgUrl,
previewUrl,
copyrightUrl,
aiShopUrl,
imgAssets,
appUrl
} from '../net/mainUrl'
// 项目与基础URL映射关系
const PROJECT_URL_MAP = {
operator: operatorUrl,
copyright: copyrightUrl,
plug: operatorPlug,
aiShop: aiShopUrl,
// 添加新项目只需在此扩展
};
/**
* 传入请求参数返回Promise支持链试调用
* @param url 请求地址
* @param method 请求方法类型不传入默认是"GET"
* @param data 请求体数据
* @param params 请求参数
*/
function request(url, method = "GET", data = {}, project = "copyright", needToken = true) {
// 1. 参数预处理
const baseUrl = PROJECT_URL_MAP[project] || copyrightUrl;
const requestUrl = baseUrl + url;
// 2. 请求头配置
const headers = {
"Content-Type": "application/json"
};
if (needToken) {
const token = get('token');
if (token) {
headers.Auth = `Bearer ${token}`;
}
}
// 3. 请求配置
const requestConfig = {
url: requestUrl.toString(),
method: method.toUpperCase(),
data,
header: headers,
timeout: 10000,
dataType: "json"
};
return new Promise(function (resolve, reject) {
uni.request({
...requestConfig,
success(res) {
if (res.statusCode === 200) {
resolve(res.data)
} else {
console.log('错误success')
reject(res.data)
}
},
fail(err) {
console.log('错误')
if (err.data) {
reject(err.data)
} else {
reject(err)
}
}
})
})
}
// 导出请求和服务地址
export {
request,
uploadImgUrl,
previewUrl,
copyrightUrl,
imgAssets,
appUrl
}

View File

@ -1,21 +1,28 @@
// 定义api服务地址
// 定义api服务地址
const appUrl = 'https://www.aimzhu.com'
// const appUrl = 'http://121.36.71.250:58038'
const operatorUrl = appUrl + '/operator';
const operatorPlug = appUrl + '/operator-plugin'
const copyrightUrl = appUrl + '/copyright';
const uploadImgUrl = copyrightUrl + '/api/file/v2/upload-image'
const previewUrl = copyrightUrl + '/route/file/v2/download/true/'
const downloadFileUrl = '/route/file/download/true/'
const imgAssets = appUrl + '/miniapp-assets'
// const appUrl = 'http://121.36.71.250:58038'
const prewBaseUrl = ''
const operatorUrl = appUrl + '/operator'
const operatorPlug = appUrl + '/operator-plugin'
const copyrightUrl = appUrl + '/copyright'
const aiShopUrl = appUrl + '/aishop'
const uploadImgUrl = copyrightUrl + '/api/file/v2/upload-image'
const previewUrl = copyrightUrl + '/route/file/v2/download/true/'
const imgAssets = appUrl + '/miniapp-assets'
const sImgPrefix = aiShopUrl + '/route/file/download/true/'
const upShopImgUrl = aiShopUrl + '/api/file/v2/upload-image'
const upShopFileUrl = aiShopUrl + '/api/file/v2/upload-file'
export {
operatorUrl,
operatorPlug,
uploadImgUrl,
previewUrl,
copyrightUrl,
imgAssets,
appUrl,
downloadFileUrl
operatorUrl,
operatorPlug,
uploadImgUrl,
previewUrl,
copyrightUrl,
aiShopUrl,
imgAssets,
appUrl,
sImgPrefix,
upShopImgUrl,
upShopFileUrl
}

199
common/js/net/shop.js Normal file
View File

@ -0,0 +1,199 @@
import {
request
} from "./http.js";
// 公共API
// 0b00884a-f7a2-425f-93e5-599fbaad4bde 软著分类
// ce3ded65-68ed-4f42-89da-de1b813b8f7e 证件类型
const proName = 'aiShop'
const apiPath = {
fileList: '/api/file/list', //根据ID获取文件详情
indexList: "/api/goodsonline/listpage", //上架的软著商品列表 GET
saveGoods: "/api/goods/save", //新增软著商品 POST
goodsDetail: "/api/goods/get/{goodsId}", //商品详情 GET
delGoods: "/api/goods/remove/{ids}", //删除商品 DELETE
updateGoods: "/api/goods/update/{goodsId}", //修改商品 PUT
doCheck: "/api/goods/sub-check/{goodsId}", //提交审核 PUT
onGoods: "/api/goods/{publish}/{goodsId}", //上架商品 PUT publish
offGoods: "/api/goods/{publish}/{goodsId}", //下架商品 no-publish
saleGoods: '/api/goods/{publish}/{goodsId}', //上架或下架商品
goodsDics: "/api/data/listbyparentid/{dId}", //商品数据字典
goodsDicDetail: '/api/data/get/{dId}', //字典详情
areaList: "/api/area/listbyparentid/{pId}", //省市区树结构
areaDetail: '/api/area/get/{areaId}', //地区详情
saveOrder: '/api/order/save/{goodsId}', //新增订单
orderDetail: '/api/order/get/{orderId}', //订单详情
confirmOrder: '/api/order/confirm-pay/{orderId}', //确定付款
cancelOrder: '/api/order/save-cancel/{orderId}', //取消订单
mineBuyOrder: '/api/order/listpage-buy', //我购买的订单
mineSellOrder: '/api/order/listpage-sell', //我已经销售的
mineSellGoods: '/api/goods/listpage', //我售卖的软著
replenishList: '/api/correction/{kind}', //补充资料列表
replenishDetail: '/api/correction/get/{correctionId}', //补充资料详情
replenishSave: '/api/correction/save', //保存补充材料
saveBuyPersonInfo: '/api/order/save-input/{orderId}', //保存购买人信息
}
class Shop {
// 通用路径参数替换方法
static #replacePathParams(path, params) {
return Object.entries(params).reduce(
(acc, [key, value]) => acc.replace(`{${key}}`, value),
path
)
}
// 通用请求方法
static requestHandler(endpoint, method, data = null, pathParams = {}) {
const path = Object.keys(pathParams).length ?
this.#replacePathParams(endpoint, pathParams) :
endpoint
return request(path, method, data, proName)
}
//根据ids获取文件信息
static doGetFileInfos(data) {
return this.requestHandler(apiPath.fileList, "GET", data)
}
// 获取上架的软著列表
static doGetIndexList(data) {
return this.requestHandler(apiPath.indexList, "GET", data)
}
// 软著类型
static doGetGoodsDic(id) {
return this.requestHandler(apiPath.goodsDics, "GET", null, {
dId: id
})
}
//字典详情
static doGetDicDetail(id) {
return this.requestHandler(apiPath.goodsDicDetail, "GET", null, {
dId: id
})
}
// 新增软件商品
static doSaveGoods(data) {
return this.requestHandler(apiPath.saveGoods, "POST", data)
}
// 商品详情
static doGetGoodsDetail(id) {
return this.requestHandler(apiPath.goodsDetail, "GET", null, {
goodsId: id
})
}
// 删除商品
static doDelGoods(id) {
return this.requestHandler(apiPath.delGoods, "DELETE", null, {
ids: id
})
}
// 更新商品
static doUpdateGoods(id, data) {
return this.requestHandler(apiPath.updateGoods, "PUT", data, {
goodsId: id
})
}
// 提交审核
static doSubCheck(id) {
return this.requestHandler(apiPath.doCheck, "PUT", null, {
goodsId: id
})
}
// 上架商品
static doOnGoods(id) {
return this.requestHandler(apiPath.onGoods, "PUT", null, {
goodsId: id
})
}
// 下架商品
static doOffGoods(id) {
return this.requestHandler(apiPath.offGoods, "PUT", null, {
goodsId: id
})
}
//上架或下架商品
static doSaleGoods(status, id) {
return this.requestHandler(apiPath.saleGoods, "PUT", null, {
publish: status,
goodsId: id
})
}
//获取地区
static doGetAreaList(id) {
return this.requestHandler(apiPath.areaList, "GET", null, {
pId: id
})
}
//地区详情
static doGetAreaDetail(id) {
return this.requestHandler(apiPath.areaDetail, "GET", null, {
areaId: id
})
}
//新增订单
static doSaveOrder(id) {
return this.requestHandler(apiPath.saveOrder, "POST", null, {
goodsId: id
})
}
//订单详情
static doGetOrderDetail(id) {
return this.requestHandler(apiPath.orderDetail, "GET", null, {
orderId: id
})
}
//确定付款
static doConfirmOrder(oId) {
return this.requestHandler(apiPath.confirmOrder, "PUT", null, {
orderId: oId
})
}
//取消订单
static doCancelOrder(oId) {
return this.requestHandler(apiPath.cancelOrder, "PUT", null, {
orderId: oId
})
}
//我购买的
static doGetMineOrders(data) {
return this.requestHandler(apiPath.mineBuyOrder, "GET", data)
}
//我已售卖的
static doGetMineSellOrder(data) {
return this.requestHandler(apiPath.mineSellOrder, "GET", data)
}
//我售卖的商品
static doGetMineSellGoods(data) {
return this.requestHandler(apiPath.mineSellGoods, "GET", data)
}
//获取补充资料列表
static doGetReplenishList(type, data) {
const typeStr = 'listpage-' + type
return this.requestHandler(apiPath.replenishList, "GET", data, {
kind: typeStr
})
}
//获取补充资料详情
static doGetReplenishDetail(id) {
return this.requestHandler(apiPath.replenishDetail, "GET", null, {
correctionId: id
})
}
//保存补充材料
static doSaveReplenish(data) {
return this.requestHandler(apiPath.replenishSave, "POST", data)
}
//保存受让人信息
static doSaveBuyPersonInfo(orderId, data) {
return this.requestHandler(apiPath.saveBuyPersonInfo, "POST", data, {
orderId: orderId
})
}
}
export default Shop;

View File

@ -160,13 +160,47 @@
"style": {
"navigationBarTitleText": ""
}
},
{
"path" : "pages/mine/mineAccount/invoiceDetail/invoiceDetail",
"style" :
{
"navigationBarTitleText" : ""
}
},
{
"path": "pages/mine/mineAccount/invoiceDetail/invoiceDetail",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/shop/index/index",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": true
}
},
{
"path": "pages/shop/buyGoods/buyGoods",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": true
}
},
{
"path": "pages/shop/sellGoods/sellGoods",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": true
}
},
{
"path": "pages/shop/purchasedGoods/purchasedGoods",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": true
}
},
{
"path": "pages/shop/soldGoods/soldGoods",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": true
}
}
],
"globalStyle": {
@ -184,6 +218,12 @@
"iconPath": "static/images/ic_home_normal.png",
"selectedIconPath": "static/images/ic_home_select.png"
},
{
"pagePath": "pages/shop/index/index",
"text": "商城",
"iconPath": "static/images/ic_shop_normal.png",
"selectedIconPath": "static/images/ic_shop_select.png"
},
{
"pagePath": "pages/mine/mineIndex/mineIndex",
"text": "我的",

View File

@ -8,11 +8,11 @@
<view class="verify-box">
<input :value="verifyCode" type="number" @input="inputVerifyCode" placeholder="请输入验证码"
class="login-input-verifycode mr-10" />
<view :class="[isVerifyActive? 'verify-btn-disable' :'verify-btn']" @click="getVerifyCode">
{{verifyBtnTxt}}
<view :class="[isVerifyActive ? 'verify-btn-disable' : 'verify-btn']" @click="getVerifyCode">
{{ verifyBtnTxt }}
</view>
</view>
<checkbox-group class="mt-20" style="font-size: 24rpx;font-weight: bold;" @change="rememberPhone">
<checkbox-group class="mt-20" style="font-size: 24rpx; font-weight: bold" @change="rememberPhone">
<checkbox :checked="isRememberPhone">记住账号</checkbox>
</checkbox-group>
</view>
@ -25,7 +25,7 @@
<text></text>
<text class="link" @click="showPrivacyDeal">隐私条款</text>
</view>
<view @click="doLogin" :class="isActive?'btn-login-disable':'btn-login'">登录</view>
<view @click="doLogin" :class="isActive ? 'btn-login-disable' : 'btn-login'">登录</view>
</view>
<uni-popup ref="contactDialog" :is-mask-click="false" type="bottom" background-color="#fff"
border-radius="15rpx 15rpx 0rpx 0rpx">
@ -58,9 +58,9 @@
@input="inputContactCompany" />
</view>
<view class="download-notes mt-20">
<icon type="info" size="14" color="#3270FF" style="margin-top: 6rpx;"></icon>
<icon type="info" size="14" color="#3270FF" style="margin-top: 6rpx"></icon>
<view class="notes-content-box ml-10">
<text style="font-weight: bold;font-size: 28rpx;">提示</text>
<text style="font-weight: bold; font-size: 28rpx">提示</text>
<text class="mt-10">为了更精准地为您提供后续服务需要为您创建联系人联系人主要用于.</text>
<text class="mt-10">· 业务联系</text>
<text class="mt-10">· 信息通知</text>
@ -78,44 +78,44 @@
</template>
<script>
import UserApi from '@/common/js/net/UserApi'
import UserApi from "@/common/js/net/UserApi";
import {
set,
get
}
from '@/common/js/cache/storage.js'
} from "@/common/js/cache/storage.js";
import {
isMobilePhone
} from '@/common/js/validator.js'
} from "@/common/js/validator.js";
export default {
data() {
return {
isActive: true,
verifyBtnTxt: '获取验证码',
phoneNumber: '', //
verifyCode: '', //
msgType: 'error',
msgHint: '',
verifyBtnTxt: "获取验证码",
phoneNumber: "", //
verifyCode: "", //
msgType: "error",
msgHint: "",
countNumber: 120,
isVerifyActive: false,
timer: null,
isRememberPhone: false,
contactPhone: '',
contactName: '',
contactEmail: '',
contactCompany: '',
csaNo: ''
}
contactPhone: "",
contactName: "",
contactEmail: "",
contactCompany: "",
csaNo: "",
};
},
onLoad() {
onLoad() {
//
// set('token',
// 'WWZRMmsySWJib2hKQUZVVzdYdjFBS3RGRko5UzVVb1dWdm1SZUVxVnUycVhTeDFtN0Q2aHcyTXlwVFRXUTJZM2I5eWRjc2VXK0lLd2d2Z1pCSndydFZQYjZ6ejIyakd6czV4UVF2V3hSRUxsNWZlOStITjhTU1JWdXNWWExIeTloNHNsVkdPMWQ3Q0JGamNhSnpSNXhVVXN5Wnk1NmpnOGNsckxueHNiZFBVdlU3NGpkZDRHMTQrc1pYTGlyZ1c3MnprdFRvTUhWODhJR2M1THhObkN4NGpKZk9sUmVJcTJqYTBZalp0YkNxRU5aNjA3WklLQnRTMVdEdXg0NW1tMEV5V3RSSEEvV0M2ZmFoRWtzRGRoZkd0ZUcyZ2pKRFYwa3YxYThDZm53ZGE5bTBYKzgrVm8yV1h1aTdVU2FQbVAwbFZ6TnhobkxvNGswMWlsMGtiSVNBPT0='
// )
// set('userId', 'c2438eb8-2685-49a9-bf02-5111a5192d96')
// set('token',
// 'NjBIOFRORDcraDc4U1RsUTI4a3B5em50VVVzclp2QjdFWDV2dVJJc0VLL3Fhazd0bjZPaU9Tc3E1cHc2cmYyZTc0Y2FITTdRR0pMTk1xaVRHM0I1d0NiTnJ4b1BVSVNtUFl4SlFtR1g2M0tCQTc2TXM4L3d4ZVhwM09VREN0bDMrTXNoa0trWDR1eG5PdG84OXZ4UVE0dDhRUDdQRk1Qd2N0ZWVLSzJaZzBkZ0RhQS84M3B5WDN1aGlEdWQwR3BIZ24vWDBUWmhrNUZiQkJPUDJKQngyL002Rm5aOG5JZ01HTldoNmJnRGxqOFhjNDhjMmxvVnJDV3JSWlo4dHIydHBRU3FEN3htVjVHZlhueUFjRHlpSVZEd0JJZVJWa3NVMFNlVkNWR2dSZHg4RXFsSkttc05WTDhBN014R3dVRUdIclNZN0UwSm9zdUZ3T052MTRmWmhwRmZhWTJsbURCZ0RlTDFLeHZWWDQ0PQ=='
// )
// set('userId', '776864b2-f9d5-49eb-9ea9-db6c862ea10b')
set('token',
'NjBIOFRORDcraDc4U1RsUTI4a3B5em50VVVzclp2QjdFWDV2dVJJc0VLL3Fhazd0bjZPaU9Tc3E1cHc2cmYyZTc0Y2FITTdRR0pMTk1xaVRHM0I1d0NiTnJ4b1BVSVNtUFl4SlFtR1g2M0tCQTc2TXM4L3d4ZVhwM09VREN0bDMrTXNoa0trWDR1eG5PdG84OXZ4UVE0dDhRUDdQRk1Qd2N0ZWVLSzJaZzBkZ0RhQS84M3B5WDN1aGlEdWQwR3BIZ24vWDBUWmhrNUZiQkJPUDJKQngyL002Rm5aOG5JZ01HTldoNmJnRGxqOFhjNDhjMmxvVnJDV3JSWlo4dHIydHBRU3FEN3htVjVHZlhueUFjRHlpSVZEd0JJZVJWa3NVMFNlVkNWR2dSZHg4RXFsSkttc05WTDhBN014R3dVRUdIclNZN0UwSm9zdUZ3T052MTRmWmhwRmZhWTJsbURCZ0RlTDFLeHZWWDQ0PQ=='
)
set('userId', '776864b2-f9d5-49eb-9ea9-db6c862ea10b')
//156
// set('token','NjBIOFRORDcraDc4U1RsUTI4a3B5em50VVVzclp2QjdFWDV2dVJJc0VLL3Fhazd0bjZPaU9Tc3E1cHc2cmYyZTc0Y2FITTdRR0pMTk1xaVRHM0I1d0NiTnJ4b1BVSVNtUFl4SlFtR1g2M0tCQTc2TXM4L3d4ZVhwM09VREN0bDMrTXNoa0trWDR1eG5PdG84OXZ4UVE0dDhRUDdQRk1Qd2N0ZWVLSzJaZzBkRXRJMFE0NDZpVUp0azVyUHRkekJrWXU2SlJFNE1VWHJVNWozazJ2cHJtK241TDhhYWhnNHRkM1ZHR1g5MVd4aDFRMkgyS1BrSWo2RmlUZk5nQW1scm5Xd0NlNUs4S1cwZ2VjYURodEsraGEyYk8vSDlXYk0zRXkzTG5XYnBac1BrN0ZTTGdyR21XMkM2bUhEUzhBQ1RHVWh6YnFjVkJKNFlDcXpqZVM0THhHNG5hR3ZtWDQxY1dobnk1OWpVcEtzPQ==')
// set('userId','3e256f41-d838-40ac-acbc-ada0ef039cbd')
@ -124,294 +124,297 @@
// url: '/pages/index/home'
// })
// }, 1000)
this.isRememberPhone = get('isRemember', false)
this.phoneNumber = get('loginPhone', '')
this.isRememberPhone = get("isRemember", false);
this.phoneNumber = get("loginPhone", "");
},
onUnload() {
console.log('页面卸载');
console.log("页面卸载");
if (this.timer != null) {
clearInterval(this.timer)
clearInterval(this.timer);
}
},
methods: {
closeDialog() {
uni.showModal({
title: '警告',
content: '如不创建联系人,将无法使用本程序,您确定要关闭吗?',
success: res => {
title: "警告",
content: "如不创建联系人,将无法使用本程序,您确定要关闭吗?",
success: (res) => {
if (res.confirm) {
this.$refs.contactDialog.close()
this.$refs.contactDialog.close();
}
}
})
},
});
},
inputPhone(e) {
this.phoneNumber = e.detail.value
this.phoneNumber = e.detail.value;
if (this.timer != null) {
clearInterval(this.timer)
this.timer = null
this.verifyBtnTxt = '获取验证码'
this.isVerifyActive = false
this.countNumber = 120
clearInterval(this.timer);
this.timer = null;
this.verifyBtnTxt = "获取验证码";
this.isVerifyActive = false;
this.countNumber = 120;
}
},
inputVerifyCode(e) {
this.verifyCode = e.detail.value
this.verifyCode = e.detail.value;
},
inputContactName(e) {
this.contactName = e.detail.value
this.contactName = e.detail.value;
},
inputContactPhone(e) {
this.contactPhone = e.detail.value
this.contactPhone = e.detail.value;
},
inputContactCompany(e) {
this.contactCompany = e.detail.value
this.contactCompany = e.detail.value;
},
inputContactEmail(e) {
this.contactEmail = e.detail.value
this.contactEmail = e.detail.value;
},
rememberPhone(e) {
this.isRememberPhone = !this.isRememberPhone
this.isRememberPhone = !this.isRememberPhone;
},
//
changeAgree(e) {
this.isActive = !this.isActive
this.isActive = !this.isActive;
},
getVerifyCode() {
if (this.isVerifyActive) {
return
}
const _self = this
if (_self.phoneNumber == '' || !isMobilePhone(_self.phoneNumber)) {
_self.msgHint = '请输入有效的手机号码'
_self.msgType = 'error'
_self.$refs.msg.open()
return
}
uni.showLoading({
title: '获取中...'
})
UserApi.doGetVerifyCode(_self.phoneNumber)
.then(res => {
uni.hideLoading()
_self.msgHint = '获取成功'
_self.msgType = 'success'
_self.$refs.msg.open()
_self.timer = setInterval(_self.startCountDown, 1000)
console.log(res)
})
.catch(err => {
console.log(err)
uni.hideLoading()
_self.msgHint = err.msg ? err.msg : '获取验证码失败,请稍后重试'
_self.msgType = 'error'
_self.$refs.msg.open()
})
},
startCountDown() {
const _self = this
if (_self.countNumber <= 0) {
_self.verifyBtnTxt = '获取验证码'
_self.isVerifyActive = false
if (_self.timer != null) {
clearInterval(_self.timer)
_self.timer = null
}
_self.countNumber = 20
return;
}
_self.isVerifyActive = true
_self.verifyBtnTxt = `重新发送(${_self.countNumber}s)`
_self.countNumber = --_self.countNumber
const _self = this;
if (_self.phoneNumber == "" || !isMobilePhone(_self.phoneNumber)) {
_self.msgHint = "请输入有效的手机号码";
_self.msgType = "error";
_self.$refs.msg.open();
return;
}
uni.showLoading({
title: "获取中...",
});
UserApi.doGetVerifyCode(_self.phoneNumber)
.then((res) => {
uni.hideLoading();
_self.msgHint = "获取成功";
_self.msgType = "success";
_self.$refs.msg.open();
_self.timer = setInterval(_self.startCountDown, 1000);
console.log(res);
})
.catch((err) => {
console.log(err);
uni.hideLoading();
_self.msgHint = err.msg ? err.msg : "获取验证码失败,请稍后重试";
_self.msgType = "error";
_self.$refs.msg.open();
});
},
startCountDown() {
const _self = this;
if (_self.countNumber <= 0) {
_self.verifyBtnTxt = "获取验证码";
_self.isVerifyActive = false;
if (_self.timer != null) {
clearInterval(_self.timer);
_self.timer = null;
}
_self.countNumber = 20;
return;
}
_self.isVerifyActive = true;
_self.verifyBtnTxt = `重新发送(${_self.countNumber}s)`;
_self.countNumber = --_self.countNumber;
},
//
showServiceDeal() {
uni.navigateTo({
url: '/pages/common/rule/rule?id=68eee8f5-33d3-4246-aeee-a33956677101',
})
url: "/pages/common/rule/rule?id=68eee8f5-33d3-4246-aeee-a33956677101",
});
},
//
showPrivacyDeal() {
uni.navigateTo({
url: '/pages/common/rule/rule?id=93679af4-e264-4d1c-bd49-538028daa95d'
})
url: "/pages/common/rule/rule?id=93679af4-e264-4d1c-bd49-538028daa95d",
});
},
//
showCreateContactDialog() {
this.contactPhone = this.phoneNumber
this.$refs.contactDialog.open()
this.contactPhone = this.phoneNumber;
this.$refs.contactDialog.open();
},
doLogin() {
const _self = this
if (_self.phoneNumber == '' || !isMobilePhone(_self.phoneNumber)) {
_self.msgHint = '请输入正确的手机号码'
_self.msgType = 'error'
_self.$refs.msg.open()
return
uni.switchTab({
url: "/pages/index/home",
});
const _self = this;
if (_self.phoneNumber == "" || !isMobilePhone(_self.phoneNumber)) {
_self.msgHint = "请输入正确的手机号码";
_self.msgType = "error";
_self.$refs.msg.open();
return;
}
if (_self.verifyCode == '') {
_self.msgHint = '请输入验证码'
_self.msgType = 'error'
_self.$refs.msg.open()
return
if (_self.verifyCode == "") {
_self.msgHint = "请输入验证码";
_self.msgType = "error";
_self.$refs.msg.open();
return;
}
if (_self.isActive) {
_self.msgHint = '请勾选阅读与同意用户服务协议与隐私条款'
_self.msgType = 'error'
_self.$refs.msg.open()
return
_self.msgHint = "请勾选阅读与同意用户服务协议与隐私条款";
_self.msgType = "error";
_self.$refs.msg.open();
return;
}
uni.showLoading({
title: '登录中...'
})
title: "登录中...",
});
const data = {
phone: _self.phoneNumber,
verifyCode: _self.verifyCode
}
set('isRemember', this.isRememberPhone)
set('loginPhone', this.isRememberPhone ? this.phoneNumber : '')
verifyCode: _self.verifyCode,
};
set("isRemember", this.isRememberPhone);
set("loginPhone", this.isRememberPhone ? this.phoneNumber : "");
UserApi.doLoginVerifyCode(data)
.then(res => {
uni.hideLoading()
if (res.data && res.data != '') {
.then((res) => {
uni.hideLoading();
if (res.data && res.data != "") {
//
set('token', res.data)
set("token", res.data);
//
_self.doGetMineContactList()
_self.doGetMineContactList();
} else {
//
_self.msgHint = '登录失败,请稍后重试'
_self.msgType = 'error'
_self.$refs.msg.open()
_self.msgHint = "登录失败,请稍后重试";
_self.msgType = "error";
_self.$refs.msg.open();
}
})
.catch(err => {
uni.hideLoading()
console.log(err)
self.msgHint = err.msg ? err.msg : '登录失败,请稍后重试'
_self.msgType = 'error'
_self.$refs.msg.open()
})
.catch((err) => {
uni.hideLoading();
console.log(err);
self.msgHint = err.msg ? err.msg : "登录失败,请稍后重试";
_self.msgType = "error";
_self.$refs.msg.open();
});
},
//
doGetMineContactList() {
uni.showLoading({
title: '登录中...'
})
title: "登录中...",
});
const data = {
page: 1,
rows: 2
}
const _self = this
rows: 2,
};
const _self = this;
UserApi.doGetMineContactList(data)
.then(res => {
uni.hideLoading()
.then((res) => {
uni.hideLoading();
if (res.rows && res.rows.length <= 0) {
//
_self.doGetCsaNo()
_self.doGetCsaNo();
} else {
//
uni.switchTab({
url: '/pages/index/home'
})
url: "/pages/index/home",
});
}
})
.catch(err => {
uni.hideLoading()
_self.msgHint = '登录失败,请稍后重试'
_self.msgType = 'error'
_self.$refs.msg.open()
})
.catch((err) => {
uni.hideLoading();
_self.msgHint = "登录失败,请稍后重试";
_self.msgType = "error";
_self.$refs.msg.open();
});
},
//id
doGetCsaNo() {
const _self = this
const _self = this;
uni.showLoading({
title: '加载中...',
})
title: "加载中...",
});
UserApi.doGetCsaNo()
.then(res => {
uni.hideLoading()
if (res.csaNo && res.csaNo != '') {
_self.csaNo = res.csaNo
_self.showCreateContactDialog()
.then((res) => {
uni.hideLoading();
if (res.csaNo && res.csaNo != "") {
_self.csaNo = res.csaNo;
_self.showCreateContactDialog();
} else {
_self.msgHint = '登录失败,请稍后重试'
_self.msgType = 'error'
_self.$refs.msg.open()
_self.msgHint = "登录失败,请稍后重试";
_self.msgType = "error";
_self.$refs.msg.open();
}
})
.catch(err => {
uni.hideLoading()
_self.msgHint = '登录失败,请稍后重试'
_self.msgType = 'error'
_self.$refs.msg.open()
})
.catch((err) => {
uni.hideLoading();
_self.msgHint = "登录失败,请稍后重试";
_self.msgType = "error";
_self.$refs.msg.open();
});
},
checkParams() {
if (this.contactName == '') {
this.msgHint = '请输入联系人姓名'
this.msgType = 'error'
this.$refs.msg.open()
return false
if (this.contactName == "") {
this.msgHint = "请输入联系人姓名";
this.msgType = "error";
this.$refs.msg.open();
return false;
}
if (this.contactPhone == '' || !isMobilePhone(this.contactPhone)) {
this.msgHint = '请输入正确的联系电话'
this.msgType = 'error'
this.$refs.msg.open()
return false
if (this.contactPhone == "" || !isMobilePhone(this.contactPhone)) {
this.msgHint = "请输入正确的联系电话";
this.msgType = "error";
this.$refs.msg.open();
return false;
}
return true
return true;
},
//
doCreateContact() {
const isLegal = this.checkParams()
const isLegal = this.checkParams();
if (isLegal) {
uni.showLoading({
title: '创建中...'
})
const _self = this
title: "创建中...",
});
const _self = this;
//
//
const userInfo = {
userInfoName: _self.contactName != '' ? _self.contactName : '新用户',
userInfoName: _self.contactName != "" ? _self.contactName : "新用户",
contactPhone: _self.contactPhone,
idCardType: 'ID_CARD',
userInfoType: 'PERSONAL',
}
idCardType: "ID_CARD",
userInfoType: "PERSONAL",
};
const contactData = {
company: _self.contactCompany,
csaNo: _self.csaNo,
email: _self.contactEmail,
name: _self.contactName,
phone: _self.contactPhone
}
const user = UserApi.doUpdateUserInfo(userInfo)
const contact = UserApi.doCreateContact(contactData)
const list = [user, contact]
phone: _self.contactPhone,
};
const user = UserApi.doUpdateUserInfo(userInfo);
const contact = UserApi.doCreateContact(contactData);
const list = [user, contact];
Promise.all(list)
.then(res => {
uni.hideLoading()
_self.msgHint = '创建成功'
_self.msgType = 'success'
_self.$refs.msg.open()
.then((res) => {
uni.hideLoading();
_self.msgHint = "创建成功";
_self.msgType = "success";
_self.$refs.msg.open();
setTimeout(() => {
uni.switchTab({
url: '/pages/index/home'
})
}, 1500)
})
.catch(err => {
uni.hideLoading()
_self.msgHint = '创建失败,请稍后重试'
_self.msgType = 'error'
_self.$refs.msg.open()
url: "/pages/index/home",
});
}, 1500);
})
.catch((err) => {
uni.hideLoading();
_self.msgHint = "创建失败,请稍后重试";
_self.msgType = "error";
_self.$refs.msg.open();
});
}
}
}
}
},
},
};
</script>
<style lang="scss">
@ -512,7 +515,6 @@
border: none;
}
.login-input-content {
background-color: $bg-gray-input-light-color;
padding: 0rpx 20rpx;
@ -538,8 +540,8 @@
}
.login-input-verifycode::before {
content: '';
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ3ODA4NjYzNTc3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjExOTAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUyMi44NTQgMzMuODg0TDkwMi40NyAxNjQuNzMyYzE0LjEgNC44NSAyMy41NCAxOC4xMTMgMjMuNTQgMzMuMDExdjQwMi4yMThjLTEwLjcxNCAyMzguNDktMzg2LjE4IDM4My43MDMtNDAyLjExOCAzODkuNzY0QTM0LjkxIDM0LjkxIDAgMCAxIDUxMS41MDUgOTkyYy00LjIxNyAwLTguNDM5LTAuNzY3LTEyLjM4Ny0yLjI3NUM0ODMuMTQ3IDk4My42NjQgMTA3LjY0OCA4MzguNDUyIDk3IDYwMS41MDJWMTk3Ljc0M2MwLTE0Ljg5OCA5LjQ0Mi0yOC4xNiAyMy41MDMtMzMuMDExTDUwMC4xMjEgMzMuODg0YTM1LjI0IDM1LjI0IDAgMCAxIDIyLjczMyAweiBtMjQzLjk4NCAyOTkuODA0Yy0yOS4yOS0yOS4yOS03Ni43NzctMjkuMjktMTA2LjA2NiAwTDQ1OS4yNDYgNTM1LjIxM2wtOTUuNDYtOTUuNDZjLTI5LjI4OS0yOS4yODktNzYuNzc2LTI5LjI4OS0xMDYuMDY1IDAtMjkuMjkgMjkuMjktMjkuMjkgNzYuNzc3IDAgMTA2LjA2N2wxNDguNDkyIDE0OC40OTJjMTQuNjQ1IDE0LjY0NSAzMy44MzkgMjEuOTY3IDUzLjAzMyAyMS45NjdsMS4xNTItMC4wMDljMTguODA4LTAuMjg3IDM3LjUzLTcuNjA2IDUxLjg4MS0yMS45NThsMjU0LjU1OS0yNTQuNTU4YzI5LjI4OS0yOS4yOSAyOS4yODktNzYuNzc3IDAtMTA2LjA2NnoiIGZpbGw9IiM3MDcwNzAiIHAtaWQ9IjExOTEiPjwvcGF0aD48L3N2Zz4=');
content: "";
background-image: url("data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ3ODA4NjYzNTc3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjExOTAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUyMi44NTQgMzMuODg0TDkwMi40NyAxNjQuNzMyYzE0LjEgNC44NSAyMy41NCAxOC4xMTMgMjMuNTQgMzMuMDExdjQwMi4yMThjLTEwLjcxNCAyMzguNDktMzg2LjE4IDM4My43MDMtNDAyLjExOCAzODkuNzY0QTM0LjkxIDM0LjkxIDAgMCAxIDUxMS41MDUgOTkyYy00LjIxNyAwLTguNDM5LTAuNzY3LTEyLjM4Ny0yLjI3NUM0ODMuMTQ3IDk4My42NjQgMTA3LjY0OCA4MzguNDUyIDk3IDYwMS41MDJWMTk3Ljc0M2MwLTE0Ljg5OCA5LjQ0Mi0yOC4xNiAyMy41MDMtMzMuMDExTDUwMC4xMjEgMzMuODg0YTM1LjI0IDM1LjI0IDAgMCAxIDIyLjczMyAweiBtMjQzLjk4NCAyOTkuODA0Yy0yOS4yOS0yOS4yOS03Ni43NzctMjkuMjktMTA2LjA2NiAwTDQ1OS4yNDYgNTM1LjIxM2wtOTUuNDYtOTUuNDZjLTI5LjI4OS0yOS4yODktNzYuNzc2LTI5LjI4OS0xMDYuMDY1IDAtMjkuMjkgMjkuMjktMjkuMjkgNzYuNzc3IDAgMTA2LjA2N2wxNDguNDkyIDE0OC40OTJjMTQuNjQ1IDE0LjY0NSAzMy44MzkgMjEuOTY3IDUzLjAzMyAyMS45NjdsMS4xNTItMC4wMDljMTguODA4LTAuMjg3IDM3LjUzLTcuNjA2IDUxLjg4MS0yMS45NThsMjU0LjU1OS0yNTQuNTU4YzI5LjI4OS0yOS4yOSAyOS4yODktNzYuNzc3IDAtMTA2LjA2NnoiIGZpbGw9IiM3MDcwNzAiIHAtaWQ9IjExOTEiPjwvcGF0aD48L3N2Zz4=");
background-size: cover;
background-repeat: no-repeat;
width: 28rpx;
@ -548,8 +550,8 @@
}
.login-input-content::before {
content: '';
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ3ODA4NzUzNDg1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI0MjAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTYyMi4wMTMyMzcgNzEzLjcyNzljMS44NTczMTYtMS4xNTQ1NDggMjIuNDU1MTEzLTE0LjAzODYyOSAyOC40NjIxMDctMTcuNjUyODY1YTI3Ny42OTM3ODEgMjc3LjY5Mzc4MSAwIDAgMSAyOS41MTYyNTgtMTUuOTI5NDA5YzY0LjU3MDk5OS0yOS4zNjU2NjYgMTIxLjUxMTk0NS04LjYxNzI3NSAxOTYuODQxOTg5IDc5LjM5NjA1OCA0Ni42MDAyMTYgNTQuNDgxMjU4IDYwLjM3MTEyMyAxMDIuODIxNjYxIDQyLjM4MzYwNyAxNDUuODU3ODM5LTEzLjQwMjc5MSAzMi4xNjAwMDUtMzkuMjIxMTUxIDU0LjM0NzM5Ny04NS4xNjg3OTYgODEuNzg4ODE2LTIuOTc4Mzk4IDEuNzQwMTg4LTI5LjQ0OTMyOCAxNy4xMzQxNTUtMzYuMjI2MDIxIDIxLjM1MDc2NC0xMDYuOTU0NjA2IDY1Ljk5MzI2OC0zNTIuMTIwMjY1LTg1LjEwMTg2Ni01MjguNDY0ODUyLTM0My4yODU0NjdDOTIuNTc3ODk2IDQwNi40MzQxOTcgNDYuODMxMDQyIDEzMC40NjM4NzEgMTU1LjIyNDY0OSA2My40ODMzODJsMTQuMjg5NjE3LTkuMDY5MDU1IDE1LjUyNzgyOC0xMC4wNzMwMDlDMjM5Ljg0MTI3MSA4Ljg4NDk5NiAyNzQuOTI5NDc2LTUuMjg3NDkzIDMxNi41NDMzODUgMS43NTY5MmM0MS41MzAyNDYgNy4xMjgwNzYgNzYuODY5NDQgMzcuODY1ODEzIDEwNi43NzA1NDggOTMuODE5NTM3IDYzLjAxNDg3IDExOC40MTY0MTkgNDkuMDkzMzY5IDE3NC41ODc2NjYtMzEuOTc1OTQ3IDIyNS42Mzg3NDYtNS44Mzk2NjggMy43NDgwOTYtMjYuNTIxMTI4IDE2LjI0NzMyOC0yOC40Nzg4MzkgMTcuNDY4ODA2LTE5Ljg2MTU2NCAxMi4yOTg0NDEgMTMuNzg3NjQgOTQuNjcyODk4IDkyLjAyOTE1MSAyMDkuMTkwNjI3IDc5LjE3ODUzNSAxMTUuODIyODcgMTQ1LjM4OTMyNiAxNzkuMTcyMzkxIDE2Ny4wNTgwMDkgMTY1LjgzNjUzMWgwLjA2NjkzeiIgZmlsbD0iIzcwNzA3MCIgcC1pZD0iMjQyMSI+PC9wYXRoPjwvc3ZnPg==');
content: "";
background-image: url("data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ3ODA4NzUzNDg1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI0MjAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTYyMi4wMTMyMzcgNzEzLjcyNzljMS44NTczMTYtMS4xNTQ1NDggMjIuNDU1MTEzLTE0LjAzODYyOSAyOC40NjIxMDctMTcuNjUyODY1YTI3Ny42OTM3ODEgMjc3LjY5Mzc4MSAwIDAgMSAyOS41MTYyNTgtMTUuOTI5NDA5YzY0LjU3MDk5OS0yOS4zNjU2NjYgMTIxLjUxMTk0NS04LjYxNzI3NSAxOTYuODQxOTg5IDc5LjM5NjA1OCA0Ni42MDAyMTYgNTQuNDgxMjU4IDYwLjM3MTEyMyAxMDIuODIxNjYxIDQyLjM4MzYwNyAxNDUuODU3ODM5LTEzLjQwMjc5MSAzMi4xNjAwMDUtMzkuMjIxMTUxIDU0LjM0NzM5Ny04NS4xNjg3OTYgODEuNzg4ODE2LTIuOTc4Mzk4IDEuNzQwMTg4LTI5LjQ0OTMyOCAxNy4xMzQxNTUtMzYuMjI2MDIxIDIxLjM1MDc2NC0xMDYuOTU0NjA2IDY1Ljk5MzI2OC0zNTIuMTIwMjY1LTg1LjEwMTg2Ni01MjguNDY0ODUyLTM0My4yODU0NjdDOTIuNTc3ODk2IDQwNi40MzQxOTcgNDYuODMxMDQyIDEzMC40NjM4NzEgMTU1LjIyNDY0OSA2My40ODMzODJsMTQuMjg5NjE3LTkuMDY5MDU1IDE1LjUyNzgyOC0xMC4wNzMwMDlDMjM5Ljg0MTI3MSA4Ljg4NDk5NiAyNzQuOTI5NDc2LTUuMjg3NDkzIDMxNi41NDMzODUgMS43NTY5MmM0MS41MzAyNDYgNy4xMjgwNzYgNzYuODY5NDQgMzcuODY1ODEzIDEwNi43NzA1NDggOTMuODE5NTM3IDYzLjAxNDg3IDExOC40MTY0MTkgNDkuMDkzMzY5IDE3NC41ODc2NjYtMzEuOTc1OTQ3IDIyNS42Mzg3NDYtNS44Mzk2NjggMy43NDgwOTYtMjYuNTIxMTI4IDE2LjI0NzMyOC0yOC40Nzg4MzkgMTcuNDY4ODA2LTE5Ljg2MTU2NCAxMi4yOTg0NDEgMTMuNzg3NjQgOTQuNjcyODk4IDkyLjAyOTE1MSAyMDkuMTkwNjI3IDc5LjE3ODUzNSAxMTUuODIyODcgMTQ1LjM4OTMyNiAxNzkuMTcyMzkxIDE2Ny4wNTgwMDkgMTY1LjgzNjUzMWgwLjA2NjkzeiIgZmlsbD0iIzcwNzA3MCIgcC1pZD0iMjQyMSI+PC9wYXRoPjwvc3ZnPg==");
background-size: cover;
background-repeat: no-repeat;
width: 28rpx;
@ -607,16 +609,15 @@
}
.form-item-title {
flex: .3;
flex: 0.3;
font-size: 28rpx;
color: black;
font-weight: 500;
text-align: left;
}
.form-item-content {
flex: .7;
flex: 0.7;
text-align: right;
font-size: 28rpx;
border: 10rpx;

View File

@ -0,0 +1,583 @@
<!-- 我要买 -->
<template>
<view class="page-container">
<view class="page-title-box">
<view class="search-container-fixed">
<view class="search-box">
<icon class="mr-10" type="search" size="20"></icon>
<input type="text" @confirm="doSearch" class="search-input" @input="inputKeywords"
:value="pageData.keywords" placeholder="请输入软著名称" />
<view @click="doSearch">搜索</view>
</view>
</view>
<view class="condition-page-box">
<view class="condition-item">
<view class="condition-item-title">软著分类</view>
<scroll-view scroll-x style="width: 80vw;padding-left: 20rpx;white-space: nowrap;">
<view class="list-tabs">
<block v-for="(item,index) in typeList" :key="index">
<view :class="[includes(selType,item.dataId)? 'tab-select':'tab-normal','item-margin']"
@click="bindChooseType" :data-item="item">
{{item.dataName}}
</view>
</block>
</view>
</scroll-view>
</view>
<view class="condition-item mt-20">
<view class="condition-item-title">价格排序</view>
<scroll-view scroll-x style="flex:1;">
<view class="list-tabs ml-20">
<block v-for="(item,index) in ownerList" :key="index">
<view :class="[selOwner==item.dataId? 'tab-select':'tab-normal','item-margin']"
@click="bindChooseOwner" :data-item="item">
<text>{{item.dataName}}</text>
</view>
</block>
</view>
</scroll-view>
</view>
</view>
</view>
<view class="container-box">
<view style="display: flex;flex-direction: column;">
<view class="content-box">
<block v-for="(item,index) in goodsList" :key="index">
<view class="content-item" @click="doDetail" :data-value="item.goodsId">
<view class="content-item-img-box">
<image :src="item.preImg" class="content-item-img" mode="aspectFill"></image>
</view>
<view class="content-item-txt">{{item.goodsName}}</view>
<view class="content-item-bottom">
<rich-text class="content-item-price"
:nodes="moneyTxt(8,14,item.goodsOpenPrice)"></rich-text>
<view class="content-item-time">截止:{{item.goodsLastTime}}</view>
</view>
<view class="special-tag" v-if="includes(item.goodsFlag,'特价')">特价</view>
</view>
</block>
</view>
<uni-load-more :status="hasMore"></uni-load-more>
</view>
</view>
</view>
<uni-popup type="message" ref="msg">
<uni-popup-message :type="msgType" :message="msgHint" :duration="2000"></uni-popup-message>
</uni-popup>
</template>
<script>
import {
sImgPrefix
} from '@/common/js/net/mainUrl.js'
import {
moneyTxt,
includes
} from '@/common/js/conver';
import Shop from '@/common/js/net/shop.js'
import {
inject,
isRef
} from 'vue';
export default {
setup() {
const globalData = inject('globalData')
return {
globalData
}
},
data() {
return {
msgType: 'info',
msgHint: '',
pageData: {
page: 1,
rows: 12,
keywords: '',
priceRangeStart: '',
priceRangeEnd: '',
priceOrder: '',
goodsGetTime: '',
goodsDevelop: '',
goodsType: '', //
goodsFlag: '',
},
priceStart: '',
priceEnd: '',
isLoadMore: false,
hasMore: true,
listLoading: 'loading',
listRefreshTrig: false,
goodsList: [],
imgPrefix: sImgPrefix,
localAssets: this.globalData.localAssets,
imgAssets: this.globalData.imgAssetsUrl,
typeList: [],
selType: '',
ownerList: [{
dataName: '从高到低',
dataId: 'DESC'
}, {
dataName: '从低到高',
dataId: 'ASC'
}],
selOwner: '',
msgType: 'info',
msgHint: '',
msgShow: false
};
},
onLoad(options) {
uni.setNavigationBarTitle({
title: "我要买",
});
uni.setNavigationBarColor({
frontColor: "#000000",
backgroundColor: "#FFFFFF",
animation: {
duration: 500,
timingFunc: "easeIn",
},
});
this.doGetDic()
this.doRefreshList()
},
onPullDownRefresh() {
this.doRefreshList()
},
onReachBottom() {
this.doLoadMore()
},
methods: {
moneyTxt,
includes,
inputKeywords(e) {
this.pageData.keywords = e.detail.value
},
doSearch() {
this.doRefreshList()
},
bindChooseType(e) {
uni.pageScrollTo({
scrollTop: 0
})
setTimeout(() => {
const item = e.currentTarget.dataset.item;
let newSelType = this.selType;
const typeArr = newSelType ? newSelType.split(',') : [];
if (typeArr.includes(item.dataId)) {
const index = typeArr.indexOf(item.dataId);
typeArr.splice(index, 1);
} else {
typeArr.push(item.dataId);
}
newSelType = typeArr.join(',');
this.selType = newSelType
this.doRefreshList();
}, 500);
},
bindChooseOwner(e) {
const item = e.currentTarget.dataset.item
this.selOwner = this.selOwner == item.dataId ? '' : item.dataId
this.doRefreshList()
},
doGetDic() {
uni.showLoading({
title: '加载中...',
})
const that = this
Shop.doGetGoodsDic('0b00884a-f7a2-425f-93e5-599fbaad4bde')
.then(res => {
uni.hideLoading()
that.typeList = res
})
.catch(err => {
uni.hideLoading()
})
},
//
doRefreshList() {
this.goodsList = []
this.isLoadMore = false
this.hasMore = 'more'
this.listRefreshTrig = true
this.pageData.page = 1
this.pageData.priceOrder = this.selOwner
this.pageData.priceRangeStart = this.priceStart
this.pageData.priceRangeEnd = this.priceEnd
this.pageData.goodsType = this.selType
this.getIndexList(true)
},
//
doLoadMore() {
const _self = this
if (_self.isLoadMore || _self.hasMore == 'noMore') {
return
}
//
this.hasMore = 'loading'
this.isLoadMore = true
this.pageData.page = ++this.pageData.page
_self.getIndexList(false)
},
//
getIndexList(isRefresh) {
const _self = this
this.listLoading = isRefresh ? 'loading' : ''
Shop.doGetIndexList(_self.pageData)
.then(res => {
uni.stopPullDownRefresh()
console.log(res)
var status = 'success'
status = res.rows && res.rows.length > 0 ? 'success' : 'empty'
const list = _self.addPrefixToPreviewImgs(res.rows)
_self.listLoading = isRefresh ? status : ''
_self.goodsList = _self.goodsList.concat(list)
_self.listRefreshTrig = false
_self.isLoadMore = false
_self.hasMore = _self.goodsList.length < res.total ? 'more' : 'noMore'
})
.catch(err => {
uni.stopPullDownRefresh()
console.log(err)
_self.listLoading = 'error'
_self.listRefreshTrig = false
_self.isLoadMore = false
_self.hasMore = 'more'
})
},
//
addPrefixToPreviewImgs(data) {
const prefix = this.imgPrefix;
return data.map(item => {
if (item.goodsPhoto && item.goodsPhoto != '') {
item.preImg = prefix + item.goodsPhoto
}
return item;
});
},
//
doDetail(e) {
const id = e.currentTarget.dataset.value
uni.navigateTo({
url: '/pages/shop/goodsDetail/goodsDetail?id=' + id,
animation: 'fade'
})
}
},
};
</script>
<style lang="scss" scoped>
.page-title-box {
background-color: $white-color;
position: fixed;
top: 85rpx;
left: 0;
display: flex;
flex-direction: column;
z-index: 3;
width: 100%;
padding: 10rpx 30rpx;
box-sizing: border-box;
box-shadow: 0 2rpx 4rpx $bg-gray-input-color;
}
.search-container-fixed {
display: flex;
flex-direction: column;
box-sizing: border-box;
}
.search-box {
background-color: $bg-gray-color;
display: flex;
flex-direction: row;
align-items: center;
padding: 15rpx 20rpx;
border-radius: 60rpx;
font-size: 28rpx;
}
.search-input {
flex: 1;
}
.divider-20 {
background-color: $bg-gray-input-color;
min-height: 20rpx;
margin: 0rpx -30rpx;
}
.title-box {
position: relative;
margin-top: 60rpx;
padding: 30rpx;
}
.title-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 300rpx;
background-size: cover;
}
.title-container {
position: relative;
}
.title-hint-box {
display: flex;
flex-direction: row;
margin-top: 20rpx;
}
.title-hint-item {
display: flex;
flex-direction: row;
align-items: center;
}
.title-hint-item:nth-of-type(n+2) {
margin-left: 30rpx;
}
.title-hint-txt {
margin-left: 8rpx;
font-size: 24rpx;
color: $text-gray-desc-color;
}
.hook {
width: 32rpx;
height: 32rpx;
border-radius: 50%;
background: linear-gradient(0deg, #FFB540 0%, #FF4800 100%);
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
.hook::after {
content: "";
display: block;
width: 8rpx;
height: 15rpx;
border: solid white;
border-width: 0 2rpx 2rpx 0;
transform: rotate(45deg);
position: absolute;
top: 6rpx;
}
.title-func-box {
display: flex;
flex-direction: row;
justify-content: space-between;
margin-top: 30rpx;
}
.title-func-item {
display: flex;
flex-direction: column;
align-items: center;
}
/* .title-func-item:nth-of-type(n+2) {
margin-left: 40rpx;
} */
.func-img {
width: 120rpx;
height: 120rpx;
}
.func-txt {
font-size: 28rpx;
color: $text-color;
margin-top: 15rpx;
}
.container-box {
background-color: $white-color;
margin: 180rpx -30rpx 0rpx -30rpx;
padding: 30rpx;
min-height: 80vh;
}
.header {
transition: all 0.3s;
}
.header.sticky {
position: fixed;
background-color: $white-color;
box-sizing: border-box;
padding: 20rpx 30rpx 0rpx 30rpx;
top: 70rpx;
left: 0;
right: 0;
z-index: 100;
box-shadow: 0 2rpx 4rpx $bg-gray-input-color;
}
.condition-page-box {
display: flex;
flex-direction: column;
padding: 30rpx 0rpx 20rpx 0rpx;
}
.condition-item {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
.condition-item-title {
white-space: nowrap;
font-size: 24rpx;
}
.list-tabs {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
}
.tab-select {
white-space: nowrap;
line-height: 17px;
border-radius: 5rpx;
background-color: $btn-primary-color;
color: $text-primary-deep-color;
font-size: 24rpx;
text-align: center;
padding: 5rpx 15rpx;
}
.tab-normal {
background-color: $bg-gray-input-color;
color: $text-gray-hint-color;
white-space: nowrap;
line-height: 17px;
border-radius: 5rpx;
font-size: 24rpx;
text-align: center;
padding: 5rpx 15rpx;
}
.item-margin {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
white-space: nowrap;
flex-wrap: nowrap;
}
.item-margin:nth-of-type(n+2) {
margin-left: 20rpx;
}
.content-container {
display: flex;
flex-direction: column;
margin-bottom: 180rpx;
position: relative;
}
.loading-box {
position: absolute;
top: 50%;
left: 50%;
z-index: 99;
transform: translate(-50%, -50%);
}
.content-box {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
.content-item {
width: 48%;
margin-top: 20rpx;
position: relative;
}
.content-item:nth-of-type(even) {
margin-left: 20rpx;
}
.special-tag {
display: inline-block;
padding: 0rpx 20rpx;
background-color: $red-color;
color: $white-color;
font-size: 22rpx;
border-bottom-right-radius: 30rpx;
border-top-right-radius: 30rpx;
position: absolute;
top: 0rpx;
left: 0rpx;
}
.special-tag::before {
content: '';
position: absolute;
left: 0rpx;
bottom: -15rpx;
border-width: 18rpx 18rpx 0 0rpx;
border-style: solid;
border-color: $red-color transparent transparent transparent;
}
.content-item-img-box {
border-radius: 10rpx;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
padding: 20rpx;
background-color: $bg-gray-input-color;
}
.content-item-img {
width: 200rpx;
height: 260rpx;
}
.content-item-txt {
font-size: 28rpx;
margin-top: 15rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 100%;
}
.content-item-bottom {
display: flex;
flex-direction: row;
justify-content: space-between;
}
.content-item-time {
font-size: 24rpx;
color: $text-gray-hint-color;
}
.content-item-price {
color: red;
font-size: 28rpx;
font-weight: bold;
}
</style>

660
pages/shop/index/index.vue Normal file
View File

@ -0,0 +1,660 @@
<template>
<view class="page-container" style="background-color: white;">
<view class="search-container-fixed">
<view class="search-box">
<icon class="mr-10" type="search" size="20"></icon>
<input type="text" :value="keywords" @confirm="doSearch" class="search-input" @input="inputKeywords"
placeholder="请输入软著名称" />
<view @click="doSearch">搜索</view>
</view>
</view>
<view class="title-box">
<view :style="{'background-image': 'url('+imgAssets+'/bg_shop_title.png)'}" class="title-bg">
</view>
<view class="title-container">
<text>AI喵著 为您提供一站式服务</text>
<view class="title-hint-box">
<view class="title-hint-item">
<view class="hook"></view>
<text class="title-hint-txt">选的省心</text>
</view>
<view class="title-hint-item">
<view class="hook"></view>
<text class="title-hint-txt">买的放心</text>
</view>
<view class="title-hint-item">
<view class="hook"></view>
<text class="title-hint-txt">用的安心</text>
</view>
</view>
<view class="title-func-box">
<view class="title-func-item" @click="doBuy">
<image class="func-img" src="/static/images/icon_buy.png"></image>
<text class="func-txt">我要买</text>
</view>
<view class="title-func-item" @click="doPurchase">
<image class="func-img" src="/static/images/icon_purchase.png"></image>
<text class="func-txt">已购买</text>
</view>
<view class="title-func-item" @click="doSell">
<image class="func-img" src="/static/images/icon_sell.png"></image>
<text class="func-txt">我要卖</text>
</view>
<view class="title-func-item" @click="doBetray">
<image class="func-img" src="/static/images/icon_betray.png"></image>
<text class="func-txt">已销售</text>
</view>
</view>
</view>
</view>
<view class="container-box">
<view :class="['header', isSticky ? 'sticky': '']">
<view class="divider-20"></view>
<view class="condition-page-box">
<view class="condition-item">
<view class="condition-item-title">软著分类</view>
<scroll-view :scroll-x="true" class="scroll-view_H">
<view class="list-tabs">
<block v-for="(item,index) in typeList" :key="index">
<view
:class="[includes(selType,item.dataId)? 'tab-select':'tab-normal' ,'item-margin']"
@click="bindChooseType" :data-item="item">
{{item.dataName}}
</view>
</block>
</view>
</scroll-view>
</view>
<view class="condition-item mt-20">
<view class="condition-item-title">价格排序</view>
<scroll-view scroll-x style="flex:1;">
<view class="list-tabs ml-20">
<block v-for="(item,index) in ownerList" :key="index">
<view :class="[selOwner==item.dataId? 'tab-select':'tab-normal' ,'item-margin']"
@click="bindChooseOwner" :data-item="item">
<text>{{item.dataName}}</text>
</view>
</block>
</view>
</scroll-view>
</view>
</view>
</view>
<view class="content-container" style="min-height: 600rpx;">
<view class="loading-box">
<containerLoadingVue :loadingVisible="listLoading">
</containerLoadingVue>
</view>
<view class="content-box">
<block v-for="(item,index) in goodsList" :key="index">
<view class="content-item" @click="doDetail" :data-value="item.goodsId">
<view class="content-item-img-box">
<image :src="item.preImg" class="content-item-img" mode="aspectFill"></image>
</view>
<view class="content-item-txt">{{item.goodsName}}</view>
<view class="content-item-bottom">
<rich-text class="content-item-price"
:nodes="moneyTxt(8,14,item.goodsOpenPrice)"></rich-text>
<view class="content-item-time">{{item.goodsLastTime}}</view>
</view>
<view class="special-tag" v-if="includes(item.goodsFlag,'特价')">特价</view>
</view>
</block>
</view>
<uni-load-more :status="hasMore"></uni-load-more>
</view>
</view>
</view>
</template>
<script>
import containerLoadingVue from '../../../components/container-loading.vue'
import {
sImgPrefix
} from '@/common/js/net/mainUrl.js'
import {
moneyTxt,
includes
} from '@/common/js/conver';
import Shop from '@/common/js/net/shop.js'
import {
inject,
isRef
} from 'vue';
export default {
components: {
containerLoadingVue
},
setup() {
const globalData = inject('globalData')
return {
globalData
}
},
data() {
return {
pageData: {
page: 1,
rows: 10,
keywords: '',
priceRangeStart: '',
priceRangeEnd: '',
priceOrder: '',
goodsGetTime: '',
goodsDevelop: '',
goodsType: '', //
goodsFlag: '',
},
keywords: '',
priceStart: '',
priceEnd: '',
isLoadMore: false,
hasMore: 'more',
listLoading: 'loading',
listRefreshTrig: false,
goodsList: [],
imgPrefix: sImgPrefix,
localAssets: this.globalData.localAssets,
imgAssets: this.globalData.imgAssetsUrl,
typeList: [],
selType: '',
ownerList: [{
dataName: '从高到低',
dataId: 'DESC'
}, {
dataName: '从低到高',
dataId: 'ASC'
}],
selOwner: '',
isSticky: false,
msgType: 'info',
msgHint: '',
msgShow: false,
needRefresh: false
};
},
onLoad(options) {
uni.setNavigationBarTitle({
title: "商城",
});
uni.setNavigationBarColor({
frontColor: "#000000",
backgroundColor: "#FFFFFF",
animation: {
duration: 500,
timingFunc: "easeIn",
},
});
this.doGetDic()
this.doRefreshList()
},
onShow() {
if (this.needRefresh) {
this.needRefresh = false
this.doRefreshList()
}
},
onReachBottom() {
console.log('触底了')
this.doLoadMore()
},
onPageScroll(e) {
this.isSticky = e.scrollTop > 155
},
onPullDownRefresh() {
this.doRefreshList()
},
methods: {
moneyTxt,
includes,
inputKeywords(e) {
this.setData({
keywords: e.detail.value
})
},
doSearch() {
this.doRefreshList()
},
bindChooseType(e) {
uni.pageScrollTo({
scrollTop: 0
})
setTimeout(() => {
const item = e.currentTarget.dataset.item;
let newSelType = this.selType;
const typeArr = newSelType ? newSelType.split(',') : [];
if (typeArr.includes(item.dataId)) {
const index = typeArr.indexOf(item.dataId);
typeArr.splice(index, 1);
} else {
//
typeArr.push(item.dataId);
}
newSelType = typeArr.join(',');
this.selType = newSelType
this.doRefreshList();
}, 500);
},
bindChooseOwner(e) {
const item = e.currentTarget.dataset.item
this.selOwner = this.selOwner == item.dataId ? '' : item.dataId
this.doRefreshList()
},
doGetDic() {
uni.showLoading({
title: '加载中...'
})
const that = this
Shop.doGetGoodsDic('0b00884a-f7a2-425f-93e5-599fbaad4bde')
.then(res => {
uni.hideLoading()
that.typeList = res
})
.catch(err => {
uni.hideLoading()
})
},
//
doRefreshList() {
this.goodsList = []
this.isLoadMore = false
this.hasMore = 'more'
this.pageData.page = 1
this.pageData.keywords = this.keywords
this.pageData.priceOrder = this.selOwner
this.pageData.priceRangeStart = this.priceStart
this.pageData.priceRangeEnd = this.priceEnd
this.pageData.goodsType = this.selType
this.getIndexList(true)
},
//
doLoadMore() {
const _self = this
if (_self.isLoadMore || _self.hasMore == 'noMore') {
return
}
//
this.hasMore = 'loading'
this.isLoadMore = true
this.pageData.page = ++this.pageData.page
_self.getIndexList(false)
},
//
getIndexList(isRefresh) {
const _self = this
_self.listLoading = isRefresh ? 'loading' : ''
Shop.doGetIndexList(_self.pageData)
.then(res => {
uni.stopPullDownRefresh()
var status = 'success'
status = res.rows && res.rows.length > 0 ? 'success' : 'empty'
const list = _self.addPrefixToPreviewImgs(res.rows)
_self.listLoading = isRefresh ? status : ''
_self.goodsList = _self.goodsList.concat(list)
_self.listRefreshTrig = false
_self.isLoadMore = false
_self.hasMore = _self.goodsList.length < res.total ? 'more' : 'noMore'
})
.catch(err => {
uni.stopPullDownRefresh()
_self.listLoading = 'error'
_self.listRefreshTrig = false
_self.isLoadMore = false
_self.hasMore = 'more'
})
},
//
addPrefixToPreviewImgs(data) {
const prefix = this.imgPrefix;
return data.map(item => {
if (item.goodsPhoto && item.goodsPhoto != '') {
item.preImg = prefix + item.goodsPhoto
}
return item;
});
},
//
doBuy() {
uni.navigateTo({
url: '/pages/shop/buyGoods/buyGoods',
})
},
//
doPurchase() {
uni.navigateTo({
url: '/pages/shop/purchasedGoods/purchasedGoods',
})
},
//
doSell() {
uni.navigateTo({
url: '/pages/shop/sellGoods/sellGoods',
})
},
//
doBetray() {
uni.navigateTo({
url: '/pages/shop/soldGoods/soldGoods',
})
},
//
doDetail(e) {
const id = e.currentTarget.dataset.value
uni.navigateTo({
url: '/pages/shop/goodsDetail/goodsDetail?id=' + id,
animation: 'fade'
})
}
},
};
</script>
<style lang="scss" scoped>
.search-container-fixed {
position: fixed;
top: 88rpx;
left: 0;
display: flex;
flex-direction: column;
box-sizing: border-box;
width: 100%;
z-index: 99;
background-color: $white-color;
}
.search-box {
background-color: $bg-gray-color;
display: flex;
flex-direction: row;
align-items: center;
margin: 0rpx 30rpx 0rpx 30rpx;
padding: 15rpx 20rpx;
border-radius: 60rpx;
font-size: 28rpx;
}
.search-input {
flex: 1;
}
.divider-20 {
background-color: $bg-gray-input-color;
min-height: 20rpx;
margin: 0rpx -30rpx;
}
.title-box {
position: relative;
margin-top: 60rpx;
padding: 30rpx 0rpx;
}
.title-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 300rpx;
background-size: cover;
}
.title-container {
position: relative;
}
.title-hint-box {
display: flex;
flex-direction: row;
margin-top: 20rpx;
}
.title-hint-item {
display: flex;
flex-direction: row;
align-items: center;
}
.title-hint-item:nth-of-type(n+2) {
margin-left: 30rpx;
}
.title-hint-txt {
margin-left: 8rpx;
font-size: 24rpx;
color: $text-gray-desc-color;
}
.hook {
width: 32rpx;
height: 32rpx;
border-radius: 50%;
background: linear-gradient(0deg, #FFB540 0%, #FF4800 100%);
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
.hook::after {
content: "";
display: block;
width: 8rpx;
height: 15rpx;
border: solid white;
border-width: 0 2rpx 2rpx 0;
transform: rotate(45deg);
position: absolute;
top: 6rpx;
}
.title-func-box {
display: flex;
flex-direction: row;
justify-content: space-between;
margin-top: 30rpx;
}
.title-func-item {
display: flex;
flex-direction: column;
align-items: center;
}
/* .title-func-item:nth-of-type(n+2) {
margin-left: 40rpx;
} */
.func-img {
width: 120rpx;
height: 120rpx;
}
.func-txt {
font-size: 28rpx;
color: $text-color;
margin-top: 15rpx;
}
.container-box {
display: flex;
flex-direction: column;
}
.header {
transition: all 0.3s;
background-color: $white-color;
}
.sticky {
position: fixed;
background-color: $white-color;
box-sizing: border-box;
padding: 20rpx 30rpx 0rpx 30rpx;
top: 160rpx;
left: 0;
right: 0;
z-index: 100;
box-shadow: 0 2rpx 4rpx $bg-gray-input-color;
}
.condition-page-box {
display: flex;
flex-direction: column;
padding: 30rpx 0rpx;
}
.condition-item {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
.condition-item-title {
white-space: nowrap;
font-size: 24rpx;
}
.scroll-view_H {
width: 75vw;
padding-left: 20rpx;
white-space: nowrap;
}
.list-tabs {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
}
.tab-select {
white-space: nowrap;
line-height: 17px;
border-radius: 5rpx;
background-color: $btn-primary-color;
color: $text-primary-deep-color;
font-size: 24rpx;
text-align: center;
padding: 5rpx 15rpx;
flex-wrap: nowrap;
}
.tab-normal {
background-color: $bg-gray-input-color;
color: $text-gray-hint-color;
white-space: nowrap;
flex-wrap: nowrap;
line-height: 17px;
border-radius: 5rpx;
font-size: 24rpx;
text-align: center;
padding: 5rpx 15rpx;
}
.item-margin {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.item-margin:nth-of-type(n+2) {
margin-left: 20rpx;
}
.content-container {
display: flex;
flex-direction: column;
position: relative;
margin-bottom: 20rpx;
}
.loading-box {
position: absolute;
top: 50%;
left: 50%;
z-index: 99;
transform: translate(-50%, -50%);
}
.content-box {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
.content-item {
width: 48%;
margin-top: 20rpx;
position: relative;
}
.content-item:nth-of-type(even) {
margin-left: 20rpx;
}
.special-tag {
display: inline-block;
padding: 0rpx 20rpx;
background-color: $red-color;
color: $white-color;
font-size: 22rpx;
border-bottom-right-radius: 30rpx;
border-top-right-radius: 30rpx;
position: absolute;
top: 0rpx;
left: 0rpx;
}
.special-tag::before {
content: '';
position: absolute;
left: 0rpx;
bottom: -15rpx;
border-width: 18rpx 18rpx 0 0rpx;
border-style: solid;
border-color: $red-color transparent transparent transparent;
}
.content-item-img-box {
border-radius: 10rpx;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
padding: 20rpx;
background-color: $bg-gray-input-color;
}
.content-item-img {
width: 200rpx;
height: 260rpx;
}
.content-item-txt {
font-size: 28rpx;
margin-top: 15rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 100%;
}
.content-item-bottom {
display: flex;
flex-direction: row;
justify-content: space-between;
}
.content-item-time {
font-size: 24rpx;
color: $text-gray-hint-color;
}
.content-item-price {
color: red;
font-size: 28rpx;
}
</style>

View File

@ -0,0 +1,377 @@
<!-- 已购买 -->
<template>
<view class="page-container">
<view class="search-container-fixed" style="background-color: white;">
<view class="search-box">
<icon class="mr-10" type="search" size="20"></icon>
<input type="text" @confirm="doSearch" class="search-input" @input="inputKeywords"
:value="pageData.keywords" placeholder="请输入软著名称" />
<view @click="doSearch">搜索</view>
</view>
</view>
<view class="container-box">
<ContainerLoading :loadingVisible="loadingState" @refresh="doRefreshList">
</ContainerLoading>
<view style="display: flex;flex-direction: column;width: 100%;">
<view class="list-container">
<block v-for="(item,index) in goodsList" :key="index">
<view class="list-item" @click="goDetail" :data-value="item">
<view class="item-img-box">
<image :src="item.goodsDTO.preImg" mode="scaleToFill" class="item-img"></image>
<view v-if="item.waitCorrectionCount>0" class="count-tag">
{{item.waitCorrectionCount}}
</view>
</view>
<view class="item-container">
<view class="item-goods-name-box">
<view :class="['item-goods-status',goodsOrderColor(item.orderStatus)]">
{{goodsOrderStatus(item.orderStatus)}}
</view>
<view class="item-goods-name">{{item.goodsDTO.goodsName}}</view>
</view>
<view class="item-price-box">
<view class="item-price-title">订单价格</view>
<rich-text class="item-price-price"
:nodes="moneyTxt(12,16,item.payMoney)"></rich-text>
</view>
<view class="item-time-box">
<view class="item-time-item">
<view class="item-time-title">下单时间</view>
<view class="item-time-time">{{item.createTime}}</view>
</view>
<view class="item-time-item">
<view class="item-time-title">付款时间</view>
<view class="item-time-time">{{item.payTime==''? '未付款':item.payTime}}</view>
</view>
</view>
</view>
</view>
</block>
</view>
<uni-load-more :status="hasMore"></uni-load-more>
</view>
</view>
</view>
</template>
<script>
import Shop from '@/common/js/net/shop.js'
import {
sImgPrefix
}
from '@/common/js/net/mainUrl.js'
import ContainerLoading from '../../../components/container-loading.vue';
import {
goodsOrderColor,
goodsOrderStatus,
moneyTxt
} from '@/common/js/conver.js'
export default {
components: {
ContainerLoading
},
setup() {},
data() {
return {
pageData: {
page: 1,
rows: 10,
keywords: '',
startTime: '',
endTime: '',
orderStatus: ''
},
msgShow: false,
msgHint: '',
msgType: 'error',
loadingState: 'loading',
listRefreshTrig: false,
isLoadMore: false,
hasMore: 'more',
goodsList: []
};
},
onLoad(options) {
uni.setNavigationBarTitle({
title: "已购买",
});
uni.setNavigationBarColor({
frontColor: "#000000",
backgroundColor: "#FFFFFF",
animation: {
duration: 500,
timingFunc: "easeIn",
},
});
this.doRefreshList()
},
onPullDownRefresh() {
this.doRefreshList()
},
onReachBottom() {
this.doLoadMore()
},
methods: {
goodsOrderColor,
goodsOrderStatus,
moneyTxt,
inputKeywords(e) {
this.pageData.keywords = e.detail.value
},
doSearch() {
this.doRefreshList()
},
doRefreshList() {
this.listRefreshTrig = true
this.loadingState = 'loading'
this.hasMore = 'more'
this.isLoadMore = false
this.pageData.page = 1
this.doGetMineOrders(true)
},
doLoadMore() {
//
if (this.isLoadMore || this.hasMore == 'noMore') {
return
}
this.isLoadMore = true
this.pageData.page = ++this.pageData.page
this.doGetMineOrders(false)
},
//
doGetMineOrders(isRefresh) {
const _self = this
this.goodsList = isRefresh ? [] : this.goodsList
this.loadingState = isRefresh ? 'loading' : ''
Shop.doGetMineOrders(_self.pageData)
.then(res => {
console.log(res)
uni.stopPullDownRefresh()
var status = res.rows && res.rows.length > 0 ? 'success' : 'empty'
const list = _self.addPrefixToPreviewImgs(res.rows)
_self.loadingState = isRefresh ? status : ''
_self.goodsList = _self.goodsList.concat(list)
_self.listRefreshTrig = false
_self.isLoadMore = false
_self.hasMore = _self.goodsList.length < res.total ? 'more' : 'noMore'
})
.catch(err => {
console.log('错误', err)
uni.stopPullDownRefresh()
this.loadingState = 'error'
this.listRefreshTrig = false
this.isLoadMore = false
this.hasMore = 'more'
})
},
//
addPrefixToPreviewImgs(data) {
const prefix = sImgPrefix
return data.map(item => {
if (item.goodsDTO.goodsPhoto && item.goodsDTO.goodsPhoto != '') {
item.goodsDTO.preImg = prefix + item.goodsDTO.goodsPhoto
}
return item;
});
},
//
goDetail(e) {
const goods = e.currentTarget.dataset.value
uni.navigateTo({
url: '/pages/shop/betrayGoodsDetail/betrayGoodsDetail?orderId=' + goods.orderId + '&kind=buy',
})
}
},
};
</script>
<style lang="scss" scoped>
.search-container-fixed {
position: fixed;
top: 80rpx;
left: 0;
display: flex;
flex-direction: column;
box-sizing: border-box;
width: 100%;
z-index: 99;
padding: 30rpx 0rpx;
}
.search-box {
background-color: $bg-gray-color;
display: flex;
flex-direction: row;
align-items: center;
margin: 0rpx 30rpx 0rpx 30rpx;
padding: 15rpx 20rpx;
border-radius: 60rpx;
font-size: 28rpx;
}
.search-input {
flex: 1;
}
.list-container {
display: flex;
flex-direction: column;
}
.container-box {
background-color: $white-color;
margin: 110rpx -30rpx 0rpx -30rpx;
padding: 20rpx 30rpx;
display: flex;
flex-direction: column;
position: relative;
}
.list-item {
display: flex;
flex-direction: row;
}
.list-item:nth-of-type(n+1) {
margin: 15rpx 0rpx;
padding-bottom: 20rpx;
border-bottom: 1rpx solid $bg-gray-input-color;
}
.list-item:last-child {
border-bottom: none;
}
.item-img-box {
background-color: $divider-color;
flex: 0.4;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
padding: 10rpx;
border-radius: 8rpx;
position: relative;
}
.count-tag {
background-color: $red-color;
position: absolute;
color: $white-color;
top: -10rpx;
right: -8rpx;
border-radius: 50%;
font-size: 24rpx;
width: 40rpx;
text-align: center;
height: 40rpx;
}
.item-img {
width: 68%;
height: 180rpx;
}
.item-container {
display: flex;
flex-direction: column;
flex: 1;
padding: 0rpx 15rpx;
}
.item-goods-name-box {
display: flex;
flex-direction: row;
align-items: center;
}
.item-goods-status {
font-size: 22rpx;
text-align: center;
line-height: 32rpx;
height: 32rpx;
white-space: nowrap;
padding: 3rpx 10rpx;
border-radius: 5rpx;
margin-right: 15rpx;
}
.item-goods-name {
font-size: 28rpx;
color: $text-color;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
text-overflow: ellipsis;
}
.item-price-box {
display: flex;
flex-direction: row;
align-items: center;
margin-top: 20rpx;
}
.item-price-title {
font-size: 28rpx;
color: $text-gray-hint-color;
}
.item-price-price {
margin-left: 20rpx;
color: $red-color;
font-weight: bold;
}
.item-time-box {
display: flex;
flex-direction: column;
margin-top: 15rpx;
}
.item-time-item {
display: flex;
flex-direction: row;
}
.item-time-title {
font-size: 24rpx;
color: $text-gray-hint-color
}
.item-time-time {
font-size: 24rpx;
color: $text-gray-desc-color;
margin-left: 20rpx;
}
.col-gray {
background-color: $bg-gray-status-light-color;
color: $text-color;
}
.col-green {
background-color: $bg-green-status-light-color;
color: $text-color;
}
.col-primary {
background-color: $primary-color-light;
color: $text-color;
}
.col-red {
background-color: $bg-red-deep-color;
color: $white-color;
}
.container-loading {
position: relative;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
</style>

View File

@ -0,0 +1,29 @@
<!-- 我要卖 -->
<template>
<view class="page-container"></view>
</template>
<script>
export default {
setup() {},
data() {
return {};
},
onLoad(options) {
uni.setNavigationBarTitle({
title: "我要卖",
});
uni.setNavigationBarColor({
frontColor: "#000000",
backgroundColor: "#FFFFFF",
animation: {
duration: 500,
timingFunc: "easeIn",
},
});
},
methods: {},
};
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,29 @@
<!-- 已销售 -->
<template>
<view class="page-container"></view>
</template>
<script>
export default {
setup() {},
data() {
return {};
},
onLoad(options) {
uni.setNavigationBarTitle({
title: "已销售",
});
uni.setNavigationBarColor({
frontColor: "#000000",
backgroundColor: "#FFFFFF",
animation: {
duration: 500,
timingFunc: "easeIn",
},
});
},
methods: {},
};
</script>
<style lang="scss" scoped></style>

BIN
static/images/ic_shop_normal.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 B

BIN
static/images/ic_shop_select.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 B

BIN
static/images/icon_betray.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

BIN
static/images/icon_buy.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

BIN
static/images/icon_purchase.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
static/images/icon_sell.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -36,7 +36,8 @@ $text-brown-color: #42210B;
$text-gray-hint-color: #9A9A9A;
$text-gray-desc-color: #5c5c5c;
$text-blue-color: #3270FF;
$text-red-color:#FF0000;
$text-red-color:#FF0000;
$text-primary-deep-color: #FF6700;
/* 背景棕色 */
$bg-brown-color: #42210B;
$bg-gray-color: #FAFAFA;

View File

@ -214,11 +214,16 @@
}
.uni-no-more-dot {
width: 8rpx;
height: 8rpx;
border-radius: 50%;
background-color: #F0F0F0;
margin: 0 20rpx;
color: var(--text-gray-hint-color);
font-size: 24rpx;
margin: 0rpx 20rpx;
padding: 0rpx 10rpx;
width: 70rpx;
height: 25rpx;
white-space: nowrap;
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAgCAMAAADT9S0cAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAt9QTFRFAAAA8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwidWAvwAAAPV0Uk5TAApczBo4wENq+RzBcIUyCAMkbcSiBictEnP/IEbvUxi/28fxXo788JxMETuG3v3+pwSTmWUFipAVIdTzSU2dY370hz4Bfdp0FM34+jTf5iOM8s+f50iN6q5BmuD7X6hUxoFkJnq47Aev6KFgE24wM49rdimWo6XXnvXZfLlmOtVdQigeieIC5dYQziW1eVbLyGj2pj1EDpF1Gw2kgy60oD8dNw9ygNB4RVdZ2FEL4en3xe1A7tyEF7p/yixp08kvYsO7T60WqVs2Ryo5UhmCZ3sJPL6rm7FQsGyzi3esiDG3TrbrWNLjlG+SS7JhWpeVqjUiVQxiOrvyAAAG2ElEQVR4nLXWe1xMWRwA8N9phsX2ksaSlFT7IesxZaRNq5f3EHqo6EGflOnhVSErFG30EEtIlIytPNZj2fXIRNNKSSNry1RCRMxQ27s0tefemak7NXw++/ms+8c99/7OPed77znnd+9F8OkNdX+mkrKpIECdA5CE3i4LDMKBFlx+3aXSTHZE7FQRQv8oNtTEIST+XNcMRLZFtTAS91mji5FqAH0iiNphUBcuaa2DJbigkxcaEz2iUsozmJCRh/JzJu4QofvSk2kSOroHYCFFyvCllWDcRUPCcR8HojIlTz9BijSrNqmOQQ350uDcSmN8ZwIY3oOwiwHM8uqkJ4uKaKaXABy6HpAkKujtbjpvkA4uhBpg8QyXY+9+X4ULQxJxydMGPDRWqORJN8Meob/EqtN4QEFc8gwaxXan+iL21eV9kXqi8EK5LzxQKrgP7KiYiI6DDAHVwSJ8oNaOiSsAtoCNXsTv/d1F6NLipL7IEvQrOOJhPQOGpirPC1wl9JJsGMUCI4S44CGEcZJ3quoIFcgRsOWRPZDFlMomoCIzqrxOe55QGyJQgvhEKUw8QEQKZTq8r4jr/Pf1IAxdgQxhjJIavYhprW8aO0+0eodyZOcleF0beaVzxgGiOioL71yTwPc8mN5rggCuRziJLC7EO1WJBY9AtHVfuaEDVGQPSrRPjz3SuiFEGRIT03PfcW11DHfyKIkBC4boo1hQq/GBwl4EGodu2DLU9pHajGMNa85TES+dk5vW+hkmbl7brQRpzuxBzMX8UUqW8BYSmfaK2Lsm+E2s375wFuKA1iAq4pgP847D4Sgw5CtFtBvAQDisUec5RqKuSduIiBGfIs1wKxLZRa6bCH+cdf4pRMopIMkfDgTtqQevauFOX6VInQ/oHoh82H0BIwwVfEV0sVmiGJhOaBPZwV4KMvF6zwMqIOlZAmL1zjU/ZjvHQwGxWBJGIvuh5lhss/8IjOB6epengMyH7WRz5CbNk8yWipOfRn6ohI4BuIwPgX3LoG/GK85JdWyx2S6RwoyMKAZkFLMq1MSRGahWfp2vFJkeFtgT7xArIIPjAEoaMoEGg5uSgoyE5uJuF7zW8OvjcJysRag/gcwrSRK8Lf5uieD3doFSxG4kL5l8Xsjg7RdxqEgK8Z68mWl7G5gPPLk7IszFJku4JRNWtvsHqMt66o4hkBve5AlDK8jZuYq1eFZfRNO6ENLJgQFagi3btQehu+eyzuLohsy6VrjlsXGjXieeEwdJUS19fhHttQyZKyAQ3grK+Fk9KuuLHFULYbvZkNHb7rD7dLYc0dSx/XiURLR94WBj3PtJbtKJB4xkOst6tOb3Q8bx+g0XfxmceetIRodoQoC1pRyRbxsUklGGUPokkLFt0uEaZ3kc9HJl38eg3ow3ewMf2mTXh6cxtrj2R7SPkAeiNZ9E4g7NtNRTR5Iar6EGbvJ11IswtwVunmgjC+Okd7kj6IMUcGykS6mworb0OHFwatiPey/Kai3OrnAClFOdSKwq9cA0Bq0Y+iEawbD7rKMs7KMDOUKRytYPEzjwXzbp4gRGiwYcrvXrj/wvmwwJuSnqHawvhBy6+pBhUHP/iyJRaa2wTnM1zgTJ3x0zWQrI0JtTs1KvwQOHy7/lSGZF9DQUMP3WoMnE0frlBQHMxtq7Z2G2FUDR4yLeivDzjUSNsSVoOrH8SCTZYg4cNJqEM6ccnyXF8ymI+hWtrGWuWRPoniErrZiG0+VGGdr7OpZXtV94H0aX2gXv+Yq29Y+YZ3Gsp+Y/s5PD7iXrB1wvYi3Pt7ewO3f9BkaYZm08iHcDCFQ7SbRPm01B7B0jL+fmOK6cnqQx/nF68rsR5F+ldm3C1aP5+kVNEc4FwKaprAKH22E6AZz64BTXF8vf72vO1uOfsox5J3jW9BrCL2BE9yAHClDjqvz0zeRNGvxJQQJTy0XtEe5e6TlbVM871UyddYio+Sk1k3unIr2jLl7rl9E7OdaAhBpBBr6b3Mfc9ghkF9gciW554mhwcfgkjadzxyfOQJBzTfrT1vYh6hz5JfCOpiBDTBJMxpTqgduo4KstLJqlfLgc2hYvC218wweud+K5J5GJKev1vbmRRprJPtsXDt8Vb/Eyg7bp2SkbOPYSgueg6KW2OE1EBBLNMSHa449XL7LxUJCL0Yt6a5OKdYehFXXKkaBCTaco13z+uZmdyRmdD1Clvf3sPK0TYTEc0fzJGdvwRL9bSCyL0gxI/BadDpUaGIES1niR1ypjhdVVcithdS53RTb9sg+MbKP8lJuEH001bXBmewFba6N/Q+D8BaFLv+FrjLDiHinLxu32DyDe0XN4UOn5L6Le+7WOFFbIAAAAAElFTkSuQmCC');
background-size: 100% 100%;
background-repeat: no-repeat;
}
/* #ifndef APP-NVUE */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"assets.js","sources":["static/images/login_bg.png","static/images/bg_mine.png","static/images/banner_1.png","static/images/banner_2.png","static/images/load_err.png"],"sourcesContent":["export default \"__VITE_ASSET__f090357f__\"","export default \"__VITE_ASSET__74f29ff2__\"","export default \"__VITE_ASSET__351ff10d__\"","export default \"__VITE_ASSET__00a37132__\"","export default \"__VITE_ASSET__f6d54c8c__\""],"names":[],"mappings":";AAAA,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,aAAA;;;;;;"}

View File

@ -0,0 +1 @@
{"version":3,"file":"storage.js","sources":["common/js/cache/storage.js"],"sourcesContent":["/**\r\n * 存储管理工具\r\n */\r\n\r\nconst STORAGE_PREFIX = 'aimz_';\r\n\r\n// 获取完整的存储键名\r\nconst getFullKey = (key) => {\r\n\treturn `${STORAGE_PREFIX}${key}`;\r\n};\r\n\r\n// 设置存储\r\nexport const set = (key, data) => {\r\n\ttry {\r\n\t\tconst fullKey = getFullKey(key);\r\n\t\tuni.setStorageSync(fullKey, data);\r\n\t\treturn true;\r\n\t} catch (error) {\r\n\t\tconsole.error('Storage set error:', error);\r\n\t\treturn false;\r\n\t}\r\n};\r\n\r\n// 获取存储\r\nexport const get = (key, defaultValue = null) => {\r\n\ttry {\r\n\t\tconst fullKey = getFullKey(key);\r\n\t\tconst value = uni.getStorageSync(fullKey);\r\n\t\treturn value || defaultValue;\r\n\t} catch (error) {\r\n\t\tconsole.error('Storage get error:', error);\r\n\t\treturn defaultValue;\r\n\t}\r\n};\r\n\r\n// 移除存储\r\nexport const remove = (key) => {\r\n\ttry {\r\n\t\tconst fullKey = getFullKey(key);\r\n\t\tuni.removeStorageSync(fullKey);\r\n\t\treturn true;\r\n\t} catch (error) {\r\n\t\tconsole.error('Storage remove error:', error);\r\n\t\treturn false;\r\n\t}\r\n};\r\n\r\n// 清除所有存储\r\nexport const clear = () => {\r\n\ttry {\r\n\t\tuni.clearStorageSync();\r\n\t\treturn true;\r\n\t} catch (error) {\r\n\t\tconsole.error('Storage clear error:', error);\r\n\t\treturn false;\r\n\t}\r\n};\r\n\r\n// 获取存储信息\r\nexport const info = () => {\r\n\ttry {\r\n\t\treturn uni.getStorageInfoSync();\r\n\t} catch (error) {\r\n\t\tconsole.error('Storage info error:', error);\r\n\t\treturn null;\r\n\t}\r\n};"],"names":["uni"],"mappings":";;AAIA,MAAM,iBAAiB;AAGvB,MAAM,aAAa,CAAC,QAAQ;AAC3B,SAAO,GAAG,cAAc,GAAG,GAAG;AAC/B;AAGY,MAAC,MAAM,CAAC,KAAK,SAAS;AACjC,MAAI;AACH,UAAM,UAAU,WAAW,GAAG;AAC9BA,kBAAAA,MAAI,eAAe,SAAS,IAAI;AAChC,WAAO;AAAA,EACP,SAAQ,OAAO;AACfA,kBAAA,MAAA,MAAA,SAAA,oCAAc,sBAAsB,KAAK;AACzC,WAAO;AAAA,EACP;AACF;AAGY,MAAC,MAAM,CAAC,KAAK,eAAe,SAAS;AAChD,MAAI;AACH,UAAM,UAAU,WAAW,GAAG;AAC9B,UAAM,QAAQA,cAAAA,MAAI,eAAe,OAAO;AACxC,WAAO,SAAS;AAAA,EAChB,SAAQ,OAAO;AACfA,kBAAA,MAAA,MAAA,SAAA,oCAAc,sBAAsB,KAAK;AACzC,WAAO;AAAA,EACP;AACF;;;"}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"data.js","sources":["common/js/data.js"],"sourcesContent":["const kindList = [{\r\n\t\"value\": \"CODE\",\r\n\t\"title\": \"代码\"\r\n}, {\r\n\t\"title\": \"操作手册\",\r\n\t\"value\": \"MANUAL\"\r\n}, {\r\n\t\"title\": \"全部\",\r\n\t\"value\": \"ALL\"\r\n}]\r\nconst typeList = [{\r\n\t\"title\": \"一次补正\",\r\n\t\"value\": \"CORRECTION1\"\r\n}, {\r\n\t\"title\": \"二次补正\",\r\n\t\"value\": \"CORRECTION2\"\r\n}]\r\nconst stateList = [{\r\n\t\"title\": \"待审核\",\r\n\t\"value\": \"PENDING\"\r\n}, {\r\n\t\"title\": \"已通过\",\r\n\t\"value\": \"APPROVED\"\r\n}, {\r\n\t\"title\": \"未通过\",\r\n\t\"value\": \"REJECTED\"\r\n}, {\r\n\t\"title\": \"已取消\",\r\n\t\"value\": \"CANCELED\"\r\n}]\r\nconst homeTypeList = [{\r\n\t\tvalue: 'FREE',\r\n\t\tlabel: '免费试用'\r\n\t},\r\n\t{\r\n\t\tvalue: 'MATERIAL',\r\n\t\tlabel: '写材料'\r\n\t},\r\n\t{\r\n\t\tvalue: 'ALL',\r\n\t\tlabel: '全托管'\r\n\t}\r\n]\r\nconst expandList = [{\r\n\t\tvalue: 'PKG',\r\n\t\tlabel: '安装包'\r\n\t},\r\n\t{\r\n\t\tvalue: 'VIDEO_DEMO',\r\n\t\tlabel: '演示视频'\r\n\t},\r\n\t{\r\n\t\tvalue: 'URGENT',\r\n\t\tlabel: '加急'\r\n\t}\r\n]\r\nexport {\r\n\tstateList,\r\n\tkindList,\r\n\ttypeList,\r\n\thomeTypeList,\r\n\texpandList\r\n}"],"names":[],"mappings":";AAAK,MAAC,WAAW,CAAC;AAAA,EACjB,SAAS;AAAA,EACT,SAAS;AACV,GAAG;AAAA,EACF,SAAS;AAAA,EACT,SAAS;AACV,GAAG;AAAA,EACF,SAAS;AAAA,EACT,SAAS;AACV,CAAC;AACI,MAAC,WAAW,CAAC;AAAA,EACjB,SAAS;AAAA,EACT,SAAS;AACV,GAAG;AAAA,EACF,SAAS;AAAA,EACT,SAAS;AACV,CAAC;AACI,MAAC,YAAY,CAAC;AAAA,EAClB,SAAS;AAAA,EACT,SAAS;AACV,GAAG;AAAA,EACF,SAAS;AAAA,EACT,SAAS;AACV,GAAG;AAAA,EACF,SAAS;AAAA,EACT,SAAS;AACV,GAAG;AAAA,EACF,SAAS;AAAA,EACT,SAAS;AACV,CAAC;AACI,MAAC,eAAe;AAAA,EAAC;AAAA,IACpB,OAAO;AAAA,IACP,OAAO;AAAA,EACP;AAAA,EACD;AAAA,IACC,OAAO;AAAA,IACP,OAAO;AAAA,EACP;AAAA,EACD;AAAA,IACC,OAAO;AAAA,IACP,OAAO;AAAA,EACP;AACF;AACK,MAAC,aAAa;AAAA,EAAC;AAAA,IAClB,OAAO;AAAA,IACP,OAAO;AAAA,EACP;AAAA,EACD;AAAA,IACC,OAAO;AAAA,IACP,OAAO;AAAA,EACP;AAAA,EACD;AAAA,IACC,OAAO;AAAA,IACP,OAAO;AAAA,EACP;AACF;;;;;;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"http.js","sources":["common/js/net/http.js"],"sourcesContent":["import {\r\n\tset,\r\n\tget\r\n} from '../cache/storage.js';\r\nimport {\r\n\toperatorUrl,\r\n\toperatorPlug,\r\n\tuploadImgUrl,\r\n\tpreviewUrl,\r\n\tcopyrightUrl,\r\n\timgAssets,\r\n\tappUrl\r\n} from '../net/mainUrl'\r\n\r\n/**\r\n * 传入请求参数返回Promise支持链试调用\r\n * @param url 请求地址\r\n * @param method 请求方法类型,不传入默认是\"GET\"\r\n * @param data 请求体数据\r\n * @param params 请求参数\r\n */\r\nfunction request(url, method = \"GET\", data = {}, params = {}, project = \"copyright\", needToken = true) {\r\n\tconst header = {\r\n\t\t\"content-type\": \"application/json\"\r\n\t\t// 有其他content-type需求加点逻辑判断处理即可\r\n\t}\r\n\t//是否需要token\r\n\tif (needToken) {\r\n\t\tconst token = get('token')\r\n\t\tif (token) {\r\n\t\t\theader.Auth = `Bearer ${token}`;\r\n\t\t}\r\n\t}\r\n\t//判断项目\r\n\tvar baseUrl = operatorUrl\r\n\tif (project == 'operator') {\r\n\t\tbaseUrl = operatorUrl\r\n\t} else if (project == 'copyright') {\r\n\t\tbaseUrl = copyrightUrl\r\n\t} else if (project == 'plug') {\r\n\t\tbaseUrl = operatorPlug\r\n\t}\r\n\treturn new Promise(function(resolve, reject) {\r\n\t\tuni.request({\r\n\t\t\turl: baseUrl + url,\r\n\t\t\ttimeout: 8000,\r\n\t\t\tmethod,\r\n\t\t\tdata,\r\n\t\t\tdataType: \"json\", // 微信官方文档中介绍会对数据进行一次JSON.parse\r\n\t\t\theader,\r\n\t\t\tsuccess(res) {\r\n\t\t\t\tif (res.statusCode === 200) {\r\n\t\t\t\t\tresolve(res.data)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('错误success')\r\n\t\t\t\t\treject(res.data)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tfail(err) {\r\n\t\t\t\tconsole.log('错误')\r\n\t\t\t\tif (err.data) {\r\n\t\t\t\t\treject(err.data)\r\n\t\t\t\t} else {\r\n\t\t\t\t\treject(err)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t})\r\n}\r\n\r\n// 导出请求和服务地址\r\nexport {\r\n\trequest,\r\n\tuploadImgUrl,\r\n\tpreviewUrl,\r\n\tcopyrightUrl,\r\n\timgAssets,\r\n\tappUrl\r\n}"],"names":["get","operatorUrl","copyrightUrl","operatorPlug","uni"],"mappings":";;;;AAqBA,SAAS,QAAQ,KAAK,SAAS,OAAO,OAAO,CAAA,GAAI,SAAS,CAAE,GAAE,UAAU,aAAa,YAAY,MAAM;AACtG,QAAM,SAAS;AAAA,IACd,gBAAgB;AAAA;AAAA,EAEhB;AAED,MAAI,WAAW;AACd,UAAM,QAAQA,wBAAG,IAAC,OAAO;AACzB,QAAI,OAAO;AACV,aAAO,OAAO,UAAU,KAAK;AAAA,IAC7B;AAAA,EACD;AAED,MAAI,UAAUC,sBAAW;AACzB,MAAI,WAAW,YAAY;AAC1B,cAAUA,sBAAW;AAAA,EACvB,WAAY,WAAW,aAAa;AAClC,cAAUC,sBAAY;AAAA,EACxB,WAAY,WAAW,QAAQ;AAC7B,cAAUC,sBAAY;AAAA,EACtB;AACD,SAAO,IAAI,QAAQ,SAAS,SAAS,QAAQ;AAC5CC,kBAAAA,MAAI,QAAQ;AAAA,MACX,KAAK,UAAU;AAAA,MACf,SAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA,UAAU;AAAA;AAAA,MACV;AAAA,MACA,QAAQ,KAAK;AACZ,YAAI,IAAI,eAAe,KAAK;AAC3B,kBAAQ,IAAI,IAAI;AAAA,QACrB,OAAW;AACNA,wBAAAA,MAAA,MAAA,OAAA,+BAAY,WAAW;AACvB,iBAAO,IAAI,IAAI;AAAA,QACf;AAAA,MACD;AAAA,MACD,KAAK,KAAK;AACTA,sBAAAA,MAAA,MAAA,OAAA,+BAAY,IAAI;AAChB,YAAI,IAAI,MAAM;AACb,iBAAO,IAAI,IAAI;AAAA,QACpB,OAAW;AACN,iBAAO,GAAG;AAAA,QACV;AAAA,MACD;AAAA,IACJ,CAAG;AAAA,EACH,CAAE;AACF;;"}

View File

@ -0,0 +1 @@
{"version":3,"file":"mainUrl.js","sources":["common/js/net/mainUrl.js"],"sourcesContent":["// 定义api服务地址\r\nconst appUrl = 'https://www.aimzhu.com'\n// const appUrl = 'http://121.36.71.250:58038'\r\nconst operatorUrl = appUrl + '/operator';\r\nconst operatorPlug = appUrl + '/operator-plugin'\r\nconst copyrightUrl = appUrl + '/copyright';\r\nconst uploadImgUrl = copyrightUrl + '/api/file/v2/upload-image'\r\nconst previewUrl = copyrightUrl + '/route/file/v2/download/true/'\r\nconst downloadFileUrl = '/route/file/download/true/'\r\nconst imgAssets = appUrl + '/miniapp-assets'\r\n\r\nexport {\r\n\toperatorUrl,\r\n\toperatorPlug,\r\n\tuploadImgUrl,\r\n\tpreviewUrl,\r\n\tcopyrightUrl,\r\n\timgAssets,\r\n\tappUrl,\r\n\tdownloadFileUrl\r\n}"],"names":[],"mappings":";AACK,MAAC,SAAS;AAEV,MAAC,cAAc,SAAS;AACxB,MAAC,eAAe,SAAS;AACzB,MAAC,eAAe,SAAS;AACzB,MAAC,eAAe,eAAe;AAC/B,MAAC,aAAa,eAAe;AAC7B,MAAC,kBAAkB;AACnB,MAAC,YAAY,SAAS;;;;;;;;;"}

View File

@ -0,0 +1 @@
{"version":3,"file":"payApi.js","sources":["common/js/net/payApi.js"],"sourcesContent":["import {\r\n\trequest\r\n} from './http.js'\r\n// 公共API\r\nconst apiPath = {\r\n\tgetBuyPackageList: '/api/proj/servicepkg/packageinfo/listpage/${type}/self', //获取可以购买的套餐包列表\r\n\tgetPayOrder: '/api/pay/get-pay', //获取支付订单\r\n\tenterprisePay: '/api/pay/pay-account-recharge/${accountRechargeId}', //企业付款完成支付\r\n\tenterpriseAccountInfo: '/api/pay/get-pay-system-bank', //获取公司账户信息\r\n\twxPayParams: '/api/accountrecharge/save-wx-pay-prepay-id', //获取微信支付所需参数 rechargeMoney金额 packageInfoId套餐包ID\n\tbdPayParams:'/api/accountrecharge/save-bd-pay-order-info'\r\n}\r\nclass PayApi {\r\n\tstatic doGetBuyPackageList(type, data) {\r\n\t\tconst path = apiPath.getBuyPackageList.replace('${type}', type);\r\n\t\treturn request(path, \"GET\", data);\r\n\t}\r\n\t//对公转账完成\r\n\tstatic doCompleteEnterprisePay(url, data) {\r\n\t\tconst path = apiPath.enterprisePay.replace('${accountRechargeId}', url)\r\n\t\treturn request(path, \"POST\", data)\r\n\t}\r\n\t//获取账户信息\r\n\tstatic doGetEnterpriseAccountInfo() {\r\n\t\treturn request(apiPath.enterpriseAccountInfo, \"GET\")\r\n\t}\r\n\t//获取订单\r\n\tstatic doGetOrder(data) {\r\n\t\treturn request(apiPath.getPayOrder, \"POST\", data)\r\n\t}\r\n\t//获取微信支付参数\r\n\tstatic doGetWxPayParams(data) {\r\n\t\treturn request(apiPath.wxPayParams, \"POST\", data, null, \"operator\")\r\n\t}\n\t//获取百度支付参数\n\tstatic doGetBdPayParams(data){\n\t\treturn request(apiPath.bdPayParams,\"POST\",data,null,\"operator\")\n\t}\r\n}\r\n\r\nexport default PayApi;"],"names":["request"],"mappings":";;AAIA,MAAM,UAAU;AAAA,EACf,mBAAmB;AAAA;AAAA,EACnB,aAAa;AAAA;AAAA,EACb,eAAe;AAAA;AAAA,EACf,uBAAuB;AAAA;AAAA,EACvB,aAAa;AAAA;AAAA,EACb,aAAY;AACb;AACA,MAAM,OAAO;AAAA,EACZ,OAAO,oBAAoB,MAAM,MAAM;AACtC,UAAM,OAAO,QAAQ,kBAAkB,QAAQ,WAAW,IAAI;AAC9D,WAAOA,2BAAQ,MAAM,OAAO,IAAI;AAAA,EAChC;AAAA;AAAA,EAED,OAAO,wBAAwB,KAAK,MAAM;AACzC,UAAM,OAAO,QAAQ,cAAc,QAAQ,wBAAwB,GAAG;AACtE,WAAOA,2BAAQ,MAAM,QAAQ,IAAI;AAAA,EACjC;AAAA;AAAA,EAED,OAAO,6BAA6B;AACnC,WAAOA,2BAAQ,QAAQ,uBAAuB,KAAK;AAAA,EACnD;AAAA;AAAA,EAED,OAAO,WAAW,MAAM;AACvB,WAAOA,mBAAO,QAAC,QAAQ,aAAa,QAAQ,IAAI;AAAA,EAChD;AAAA;AAAA,EAED,OAAO,iBAAiB,MAAM;AAC7B,WAAOA,mBAAAA,QAAQ,QAAQ,aAAa,QAAQ,MAAM,MAAM,UAAU;AAAA,EAClE;AAAA;AAAA,EAED,OAAO,iBAAiB,MAAK;AAC5B,WAAOA,mBAAAA,QAAQ,QAAQ,aAAY,QAAO,MAAK,MAAK,UAAU;AAAA,EAC9D;AACF;;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"validator.js","sources":["common/js/validator.js"],"sourcesContent":["// 手机号验证\r\nconst isValidPhone = (phone) => {\r\n\t// 手机号码正则\r\n\tconst mobilePattern = /^1[3-9]\\d{9}$/;\r\n\t// 固定电话正则\r\n\tconst landlinePattern = /^(0\\d{2,3})[- ]?\\d{7,8}$/;\r\n\tif (mobilePattern.test(phone)) {\r\n\t\treturn true\r\n\t} else if (landlinePattern.test(phone)) {\r\n\t\treturn true\r\n\t} else {\r\n\t\treturn false\r\n\t}\r\n};\r\nconst isMobilePhone = (phone) => {\r\n\tconst mobilePattern = /^1[3-9]\\d{9}$/;\r\n\treturn mobilePattern.test(phone)\r\n}\r\n\r\n// 邮箱验证\r\nconst isValidEmail = (email) => {\r\n\treturn /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/.test(email);\r\n};\r\n\r\n// URL验证\r\nconst isValidUrl = (url) => {\r\n\ttry {\r\n\t\tnew URL(url);\r\n\t\treturn true;\r\n\t} catch {\r\n\t\treturn false;\r\n\t}\r\n};\r\n\r\n// 身份证号验证\r\nconst isValidIdCard = (idCard) => {\r\n\treturn /(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)/.test(idCard);\r\n};\r\n\r\n// 企业统一社会信用代码验证\r\nconst isValidCreditCode = (creditCode) => {\r\n\treturn /^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/.test(creditCode);\r\n};\r\n\r\n// 密码强度验证至少包含数字和字母长度8-20位\r\nconst isValidPassword = (password) => {\r\n\treturn /^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,20}$/.test(password);\r\n};\r\n\r\nexport {\r\n\tisValidPhone,\r\n\tisValidEmail,\r\n\tisValidUrl,\r\n\tisValidIdCard,\r\n\tisValidCreditCode,\r\n\tisValidPassword,\n\tisMobilePhone\r\n};"],"names":[],"mappings":";AACK,MAAC,eAAe,CAAC,UAAU;AAE/B,QAAM,gBAAgB;AAEtB,QAAM,kBAAkB;AACxB,MAAI,cAAc,KAAK,KAAK,GAAG;AAC9B,WAAO;AAAA,EACP,WAAU,gBAAgB,KAAK,KAAK,GAAG;AACvC,WAAO;AAAA,EACT,OAAQ;AACN,WAAO;AAAA,EACP;AACF;AACK,MAAC,gBAAgB,CAAC,UAAU;AAChC,QAAM,gBAAgB;AACtB,SAAO,cAAc,KAAK,KAAK;AAChC;AAGK,MAAC,eAAe,CAAC,UAAU;AAC/B,SAAO,mDAAmD,KAAK,KAAK;AACrE;;;;"}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"ad-popup.js","sources":["components/ad-popup.vue?type=page"],"sourcesContent":["import MiniProgramPage from '/Users/adam/Documents/mini_program/ts_aimz/components/ad-popup.vue'\ntt.createPage(MiniProgramPage)"],"names":["MiniProgramPage"],"mappings":";;AACA,GAAG,WAAWA,QAAe,eAAA;"}

View File

@ -0,0 +1 @@
{"version":3,"file":"ad-popup2.js","sources":["/Users/adam/Documents/mini_program/ts_aimz/components/ad-popup.vue?type=page"],"sourcesContent":["import MiniProgramPage from '/Users/adam/Documents/mini_program/ts_aimz/components/ad-popup.vue'\ntt.createPage(MiniProgramPage)"],"names":["MiniProgramPage"],"mappings":";;AACA,GAAG,WAAWA,QAAe,eAAA;"}

View File

@ -0,0 +1 @@
{"version":3,"file":"container-loading.js","sources":["components/container-loading.vue","/Users/adam/Documents/mini_program/ts_aimz/components/container-loading.vue?type=component"],"sourcesContent":["<template>\r\n\t<view class=\"container\">\r\n\t\t<view v-if=\"loadingVisible=='loading'\" class=\"loading\"></view>\r\n\t\t<view v-else-if=\"loadingVisible=='error'\" class=\"error-box\" @click=\"notifyParentToRefresh\">\r\n\t\t\t<image src=\"/static/images/load_err.png\" class=\"loading_err\"></image>\r\n\t\t\t<text style=\"align-self: center;margin-top: 10px;color: #cecece;font-size: 14px;\">加载失败</text>\r\n\t\t</view>\r\n\t\t<view v-else-if=\"loadingVisible=='empty'\" class=\"error-box\" @click=\"notifyParentToRefresh\">\r\n\t\t\t<image src=\"/static/images/load_err.png\" class=\"loading_err\"></image>\r\n\t\t\t<text style=\"align-self: center;margin-top: 10px;color: #cecece;font-size: 14px;\">暂无数据</text>\r\n\t\t</view>\r\n\t\t<block v-else=\"loadingVisible=='success'\">\r\n\t\t\t<slot></slot>\r\n\t\t</block>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tname: \"container-loading\",\r\n\t\tprops: {\r\n\t\t\tloadingVisible: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: 'loading'\r\n\t\t\t}\r\n\t\t},\r\n\t\tdata() {\r\n\t\t\treturn {};\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tnotifyParentToRefresh() {\r\n\t\t\t\tthis.$emit('doRefresh')\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style>\r\n\t.container {\r\n\t\t/* display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n min-height: 200rpx; */\r\n\r\n\t\twidth: 100%;\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t\tbox-sizing: border-box;\r\n\t\tbackground-color: transparent;\r\n\t}\r\n\r\n\t.loading {\r\n\t\tposition: relative;\r\n\t\twidth: 40px;\r\n\t\tborder-radius: 20px;\r\n\t\tperspective: 500px;\r\n\t\talign-self: center;\r\n\t\tmargin-top: 40%;\r\n\t}\r\n\r\n\t.loading:before,\r\n\t.loading:after {\r\n\t\tposition: absolute;\r\n\t\twidth: 15px;\r\n\t\theight: 15px;\r\n\t\tcontent: \"\";\r\n\t\tborder-radius: 20px;\r\n\t\tanimation: jumping 0.5s infinite alternate;\r\n\t\tbackground: rgba(0, 0, 0, 0);\r\n\t}\r\n\r\n\t.loading:before {\r\n\t\tleft: 0;\r\n\t}\r\n\r\n\t.loading:after {\r\n\t\tright: 0;\r\n\t\tanimation-delay: 0.15s;\r\n\t}\r\n\r\n\t.loading_err {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: row;\r\n\t\tjustify-content: center;\r\n\t\twidth: 150px;\r\n\t\talign-items: center;\r\n\t\theight: 100px;\r\n\t\talign-self: center;\r\n\t}\r\n\r\n\t@keyframes jumping {\r\n\r\n\t\t0% {\r\n\t\t\ttransform: scale(1) translateY(0px) rotateX(0deg);\r\n\t\t\tbox-shadow: 0 0 0 rgba(0, 0, 0, 0);\r\n\t\t}\r\n\r\n\t\t100% {\r\n\t\t\ttransform: scale(1.2) translateY(-25px) rotateX(45deg);\r\n\t\t\tbackground: #FE9944;\r\n\t\t\tbox-shadow: 0 25px 40px #FE9944;\r\n\t\t}\r\n\t}\r\n\r\n\t.error-box {\r\n\t\t/* display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: auto;\r\n margin-top: 20%; */\r\n\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t\talign-self: center;\r\n\t\tmin-height: 200px;\r\n\t}\r\n</style>","import Component from '/Users/adam/Documents/mini_program/ts_aimz/components/container-loading.vue'\ntt.createComponent(Component)"],"names":[],"mappings":";;;AAkBC,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EACN,OAAO;AAAA,IACN,gBAAgB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACA;AAAA,EACD,OAAO;AACN,WAAO;EACP;AAAA,EACD,SAAS;AAAA,IACR,wBAAwB;AACvB,WAAK,MAAM,WAAW;AAAA,IACvB;AAAA,EACD;AACD;;;;;;;;;;;;;;;;;ACjCD,GAAG,gBAAgB,SAAS;"}

View File

@ -0,0 +1 @@
{"version":3,"file":"download-progress.js","sources":["components/download-progress.vue","/Users/adam/Documents/mini_program/ts_aimz/components/download-progress.vue?type=component"],"sourcesContent":["<template>\r\n\t<view class=\"mask\" v-if=\"isShow\">\r\n\t\t<view class=\"download-popup-box\">\r\n\t\t\t<view class=\"hint-text\">{{hintText}}</view>\r\n\t\t\t<view class=\"loading\" style=\"margin-top: 10px;\"></view>\r\n\t\t\t<view class=\"progress\">{{progress}}%</view>\r\n\t\t</view>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tname: \"download-progress\",\r\n\t\tprops: {\r\n\t\t\tprogress: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t\tdefault: 0\r\n\t\t\t},\r\n\t\t\tisShow: {\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\tdefault: false\r\n\t\t\t},\r\n\t\t\thintText: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: '下载中...'\r\n\t\t\t}\r\n\t\t},\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\t\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style>\r\n\t.mask {\r\n\t\tposition: fixed;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\twidth: 100vw;\r\n\t\theight: 100vh;\r\n\t\tbackground-color: rgba(0, 0, 0, 0.2);\n\t\tz-index: 9999;\r\n\t}\r\n\r\n\t.download-popup-box {\r\n\t\tposition: fixed;\r\n\t\ttop: 50%;\r\n\t\tleft: 50%;\r\n\t\ttransform: translate(-50%, -50%);\r\n\t\tbackground-color: white;\r\n\t\twidth: 150px;\r\n\t\theight: 150px;\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t\tborder-radius: 10px;\r\n\t}\r\n\r\n\t.progress {\r\n\t\tmargin-top: 10px;\r\n\t\tcolor: #FE9944;\r\n\t}\r\n\r\n\t.hint-text {\r\n\t\tfont-size: 14px;\r\n\t\tcolor: black;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\r\n\t.loading {\r\n\t\tposition: relative;\r\n\t\twidth: 48px;\r\n\t\theight: 48px;\r\n\t\tanimation: satellite 3s infinite linear;\r\n\t\tborder: 1px solid #FE9944;\r\n\t\tborder-radius: 100%;\r\n\t}\r\n\r\n\t.loading:before,\r\n\t.loading:after {\r\n\t\tposition: absolute;\r\n\t\tleft: 1px;\r\n\t\ttop: 1px;\r\n\t\twidth: 12px;\r\n\t\theight: 12px;\r\n\t\tcontent: \"\";\r\n\t\tborder-radius: 100%;\r\n\t\tbackground-color: #FE9944;\r\n\t\tbox-shadow: 0 0 10px #FE9944;\r\n\t}\r\n\r\n\t.loading:after {\r\n\t\tright: 0;\r\n\t\twidth: 20px;\r\n\t\theight: 20px;\r\n\t\tmargin: 13px;\r\n\t}\r\n\r\n\t@keyframes satellite {\r\n\t\tfrom {\r\n\t\t\ttransform: rotate(0) translateZ(0);\r\n\t\t}\r\n\r\n\t\tto {\r\n\t\t\ttransform: rotate(360deg) translateZ(0);\r\n\t\t}\r\n\t}\r\n</style>","import Component from '/Users/adam/Documents/mini_program/ts_aimz/components/download-progress.vue'\ntt.createComponent(Component)"],"names":[],"mappings":";;AAWC,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EACN,OAAO;AAAA,IACN,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACA;AAAA,EACD,OAAO;AACN,WAAO;EAGR;AACD;;;;;;;;;;AC/BD,GAAG,gBAAgB,SAAS;"}

View File

@ -0,0 +1 @@
{"version":3,"file":"readTxt.js","sources":["pages/common/readTxt/readTxt.vue","pages/common/readTxt/readTxt.vue?type=page"],"sourcesContent":["<template>\r\n\t<view class=\"page-container\">\r\n\t\t<view class=\"hint\">温馨提示:如需编辑或分享文字,您可选中文字,一键复制至微信或文档内进行操作。</view>\r\n\t\t<view class=\"content\" v-if=\"txtParagraphs != null && txtParagraphs.length>0\">\r\n\t\t\t<view v-for=\"(item,index) in txtParagraphs\" :key=\"index\">\r\n\t\t\t\t<text selectable=\"true\">{{item}}</text>\r\n\t\t\t\t<view style=\"height: 10px;\"></view> <!-- 段落间隔 -->\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tfileUrl: '',\r\n\t\t\t\ttxtParagraphs: []\r\n\t\t\t}\r\n\t\t},\r\n\t\tonLoad(options) {\r\n\t\t\tthis.fileUrl = options.filePath\r\n\t\t\tuni.setNavigationBarTitle({\r\n\t\t\t\ttitle: '文档'\r\n\t\t\t})\r\n\t\t\tuni.setNavigationBarColor({\r\n\t\t\t\tfrontColor: '#000000', // 必写项,字体颜色仅支持#ffffff和#000000\r\n\t\t\t\tbackgroundColor: '#F0F0F0', // 传递的颜色值,仅支持十六进制颜色\r\n\t\t\t\tanimation: { // 可选项\r\n\t\t\t\t\tduration: 500,\r\n\t\t\t\t\ttimingFunc: 'easeIn'\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\tthis.readTxt()\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\treadTxt() {\r\n\t\t\t\tconst _self = this\r\n\t\t\t\tconst fs = uni.getFileSystemManager();\r\n\t\t\t\tfs.readFile({\r\n\t\t\t\t\tfilePath: _self.fileUrl,\r\n\t\t\t\t\tencoding: 'utf8',\r\n\t\t\t\t\tsuccess: (readRes) => {\r\n\t\t\t\t\t\tconst fileContent = readRes.data;\r\n\t\t\t\t\t\t// 简单示例:按空行拆分段落\r\n\t\t\t\t\t\tconst paragraphs = fileContent.split('\\n\\n').map((p) => p.trim()).filter((p) => p);\r\n\t\t\t\t\t\t// 将处理后的段落数据设置到页面数据中\r\n\t\t\t\t\t\t_self.txtParagraphs = paragraphs\r\n\t\t\t\t\t\tconsole.log(_self.txtParagraphs)\r\n\t\t\t\t\t},\r\n\t\t\t\t\tfail: (readErr) => {\r\n\t\t\t\t\t\tconsole.error('读取txt文件内容失败', readErr);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n\t/* pages/readTxt/readTxt.wxss */\r\n\tpage {\r\n\t\tbackground-color: white;\r\n\t}\r\n\r\n\t.hint {\r\n\t\tfont-size: 14px;\r\n\t\ttext-align: center;\r\n\t\tcolor: rgb(248, 185, 50);\r\n\t\tfont-weight: bold;\r\n\t}\r\n\r\n\t.content {\r\n\t\tpadding: 10px;\r\n\t\tborder: 1px solid #dfdddd;\r\n\t\tborder-radius: 5px;\r\n\t}\r\n</style>","import MiniProgramPage from '/Users/adam/Documents/mini_program/ts_aimz/pages/common/readTxt/readTxt.vue'\ntt.createPage(MiniProgramPage)"],"names":["uni"],"mappings":";;AAaC,MAAK,YAAU;AAAA,EACd,OAAO;AACN,WAAO;AAAA,MACN,SAAS;AAAA,MACT,eAAe,CAAC;AAAA,IACjB;AAAA,EACA;AAAA,EACD,OAAO,SAAS;AACf,SAAK,UAAU,QAAQ;AACvBA,kBAAAA,MAAI,sBAAsB;AAAA,MACzB,OAAO;AAAA,KACP;AACDA,kBAAAA,MAAI,sBAAsB;AAAA,MACzB,YAAY;AAAA;AAAA,MACZ,iBAAiB;AAAA;AAAA,MACjB,WAAW;AAAA;AAAA,QACV,UAAU;AAAA,QACV,YAAY;AAAA,MACb;AAAA,KACA;AACD,SAAK,QAAQ;AAAA,EACb;AAAA,EACD,SAAS;AAAA,IACR,UAAU;AACT,YAAM,QAAQ;AACd,YAAM,KAAKA,oBAAI;AACf,SAAG,SAAS;AAAA,QACX,UAAU,MAAM;AAAA,QAChB,UAAU;AAAA,QACV,SAAS,CAAC,YAAY;AACrB,gBAAM,cAAc,QAAQ;AAE5B,gBAAM,aAAa,YAAY,MAAM,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAM,CAAA,EAAE,OAAO,CAAC,MAAM,CAAC;AAEjF,gBAAM,gBAAgB;AACtBA,wBAAAA,MAAY,MAAA,OAAA,0CAAA,MAAM,aAAa;AAAA,QAC/B;AAAA,QACD,MAAM,CAAC,YAAY;AAClBA,wBAAA,MAAA,MAAA,SAAA,0CAAc,gBAAgB,OAAO;AAAA,QACtC;AAAA,MACD,CAAC;AAAA,IACF;AAAA,EACD;AACD;;;;;;;;;;;;;;ACvDD,GAAG,WAAW,eAAe;"}

View File

@ -0,0 +1 @@
{"version":3,"file":"rule.js","sources":["pages/common/rule/rule.vue","pages/common/rule/rule.vue?type=page"],"sourcesContent":["<template>\r\n\t<view class=\"rule-content-box\">\r\n\t\t<text class=\"rule-content-title\">{{title}}</text>\r\n\t\t<rich-text class=\"rule-content-body\" :nodes=\"content\"></rich-text>\r\n\t\t<uni-popup type=\"message\" ref=\"msg\">\r\n\t\t\t<uni-popup-message :type=\"msgType\" :message=\"msgTxt\" :duration=\"2000\"></uni-popup-message>\r\n\t\t</uni-popup>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\timport ProApi from '@/common/js/net/projectApi.js'\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tmsgType: 'info',\r\n\t\t\t\tmsgTxt: '',\r\n\t\t\t\tcontent: \"\",\r\n\t\t\t\ttitle: '',\r\n\t\t\t\tid: '',\r\n\t\t\t}\r\n\t\t},\r\n\t\tonLoad(options) {\r\n\t\t\tthis.id = options.id\r\n\t\t\tuni.setNavigationBarColor({\r\n\t\t\t\tfrontColor: '#000000', // 必写项,字体颜色仅支持#ffffff和#000000\r\n\t\t\t\tbackgroundColor: '#F0F0F0', // 传递的颜色值,仅支持十六进制颜色\r\n\t\t\t\tanimation: { // 可选项\r\n\t\t\t\t\tduration: 500,\r\n\t\t\t\t\ttimingFunc: 'easeIn'\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\tthis.getDeal()\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t//获取协议内容\r\n\t\t\tgetDeal() {\r\n\t\t\t\tvar _self = this\r\n\t\t\t\tuni.showLoading({\r\n\t\t\t\t\ttitle: '加载中...',\r\n\t\t\t\t})\r\n\t\t\t\tProApi.doGetRuleDate(_self.id)\r\n\t\t\t\t\t.then(res => {\r\n\t\t\t\t\t\tuni.hideLoading()\r\n\t\t\t\t\t\tif (res && res.content && res.content != '') {\r\n\t\t\t\t\t\t\tuni.setNavigationBarTitle({\r\n\t\t\t\t\t\t\t\ttitle: res.title\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t_self.title = res.title\r\n\t\t\t\t\t\t\t_self.content = res.content\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t_self.msgType = 'error'\r\n\t\t\t\t\t\t\t_self.msgTxt = '很遗憾,当前服务器返回的数据有误,辛苦您过会儿再尝试。'\r\n\t\t\t\t\t\t\t_self.$refs.msg.open()\r\n\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\tuni.navigateBack()\r\n\t\t\t\t\t\t\t}, 1500);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\tuni.hideLoading()\r\n\t\t\t\t\t\tconsole.log(err)\r\n\t\t\t\t\t\t_self.msgType = 'error'\r\n\t\t\t\t\t\t_self.msgTxt = '很遗憾,当前服务器返回的数据有误,辛苦您过会儿再尝试。'\r\n\t\t\t\t\t\t_self.$refs.msg.open()\r\n\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\tuni.navigateBack()\r\n\t\t\t\t\t\t}, 1500);\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style>\r\n\t.rule-content-box {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t\tpadding: 20rpx;\r\n\t}\r\n\r\n\t.rule-content-title {\r\n\t\tfont-size: 28rpx;\r\n\t\tfont-weight: 500;\r\n\t\tcolor: black;\r\n\t}\r\n\r\n\t.rule-content-body {\r\n\t\tfont-size: 24rpx;\r\n\t\tcolor: gray;\r\n\t\tmargin-top: 20rpx;\r\n\t\tpadding: 20rpx;\r\n\t}\r\n</style>","import MiniProgramPage from '/Users/adam/Documents/mini_program/ts_aimz/pages/common/rule/rule.vue'\ntt.createPage(MiniProgramPage)"],"names":["uni","ProApi"],"mappings":";;;AAYC,MAAK,YAAU;AAAA,EACd,OAAO;AACN,WAAO;AAAA,MACN,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,IAAI;AAAA,IACL;AAAA,EACA;AAAA,EACD,OAAO,SAAS;AACf,SAAK,KAAK,QAAQ;AAClBA,kBAAAA,MAAI,sBAAsB;AAAA,MACzB,YAAY;AAAA;AAAA,MACZ,iBAAiB;AAAA;AAAA,MACjB,WAAW;AAAA;AAAA,QACV,UAAU;AAAA,QACV,YAAY;AAAA,MACb;AAAA,KACA;AACD,SAAK,QAAQ;AAAA,EACb;AAAA,EACD,SAAS;AAAA;AAAA,IAER,UAAU;AACT,UAAI,QAAQ;AACZA,oBAAAA,MAAI,YAAY;AAAA,QACf,OAAO;AAAA,OACP;AACDC,sCAAO,cAAc,MAAM,EAAE,EAC3B,KAAK,SAAO;AACZD,sBAAAA,MAAI,YAAY;AAChB,YAAI,OAAO,IAAI,WAAW,IAAI,WAAW,IAAI;AAC5CA,wBAAAA,MAAI,sBAAsB;AAAA,YACzB,OAAO,IAAI;AAAA,WACX;AACD,gBAAM,QAAQ,IAAI;AAClB,gBAAM,UAAU,IAAI;AAAA,eACd;AACN,gBAAM,UAAU;AAChB,gBAAM,SAAS;AACf,gBAAM,MAAM,IAAI,KAAK;AACrB,qBAAW,MAAM;AAChBA,0BAAAA,MAAI,aAAa;AAAA,UACjB,GAAE,IAAI;AAAA,QACR;AAAA,OACA,EACA,MAAM,CAAC,QAAQ;AACfA,sBAAAA,MAAI,YAAY;AAChBA,sBAAAA,uDAAY,GAAG;AACf,cAAM,UAAU;AAChB,cAAM,SAAS;AACf,cAAM,MAAM,IAAI,KAAK;AACrB,mBAAW,MAAM;AAChBA,wBAAAA,MAAI,aAAa;AAAA,QACjB,GAAE,IAAI;AAAA,OACP;AAAA,IACH;AAAA,EACD;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtED,GAAG,WAAW,eAAe;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"payState.js","sources":["pages/pay/payState/payState.vue","pages/pay/payState/payState.vue?type=page"],"sourcesContent":["<template>\r\n\t<view class=\"page-container\">\r\n\t\t<view class=\"contaienr\">\r\n\t\t\t<view class=\"icon\" style=\"width: 96px;height: 96px;\"></view>\r\n\t\t\t<view class=\"title\">交易成功</view>\r\n\t\t\t<view class=\"hint\">{{hint}}</view>\r\n\t\t\t<view class=\"btn\" @click=\"doComplete\">完成</view>\r\n\t\t</view>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\thint: '支付成功!请前往\"我的\"页面进行查收.'\r\n\t\t\t}\r\n\t\t},\r\n\t\tonLoad(options) {\r\n\t\t\tconst type = options.type\r\n\t\t\tuni.setNavigationBarTitle({\r\n\t\t\t\ttitle: '交易成功',\r\n\t\t\t})\r\n\t\t\tif (type == 1) {\r\n\t\t\t\tthis.hint = '恭喜,支付成功!客服将即刻启动审核流程,待审核无误,您即可前往 “我的” 页面,进行查收。'\r\n\t\t\t} else {\r\n\t\t\t\tthis.hint = '支付成功!请前往\"我的\"页面进行查收.'\r\n\t\t\t}\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tdoComplete() {\r\n\t\t\t\tuni.navigateBack()\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n\tpage {\r\n\t\tbackground-color: white;\r\n\t}\r\n\r\n\t.icon {\r\n\t\tbackground-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQzNDg5NTM0MzA5IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI1OTIiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PHBhdGggZD0iTTUxMiAxMDI0QTUxMiA1MTIgMCAxIDEgNTEyIDBhNTEyIDUxMiAwIDAgMSAwIDEwMjR6IG0tNDkuNTkwODU3LTM3Ny4xOTc3MTRMMzE1Ljk3NzE0MyA0OTguNjE0ODU3IDIxOS40Mjg1NzEgNTkwLjg0OGM3MC4yMTcxNDMgMzcuODE0ODU3IDE2OC41OTQyODYgMTA2Ljc4ODU3MSAyNTIuODU0ODU4IDIxMy43MjM0MjlDNTMxLjgyMTcxNCA2OTIuNjYyODU3IDcxNS4zMzcxNDMgNDYzLjcyNTcxNCA4MDQuNTcxNDI5IDQ0My4yNDU3MTRjLTE0LjQwOTE0My01Ny43MDk3MTQtMjIuNTI4LTE2Ni4wMzQyODYgMC0yMjMuODE3MTQzLTE4My4wMDM0MjkgMTIwLjY4NTcxNC0zNDIuMTYyMjg2IDQyNy4zNzM3MTQtMzQyLjE2MjI4NiA0MjcuMzczNzE1eiIgZmlsbD0iIzAyOUIwMCIgcC1pZD0iMjU5MyI+PC9wYXRoPjwvc3ZnPg==');\r\n\t\tbackground-size: cover;\r\n\t\tbackground-repeat: no-repeat;\r\n\t}\r\n\r\n\t.contaienr {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t\tmargin-top: 40px;\r\n\t}\r\n\r\n\t.title {\r\n\t\tfont-size: 20px;\r\n\t\tmargin-top: 20px;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\r\n\t.hint {\r\n\t\tfont-size: 14px;\r\n\t\tmargin-top: 30px;\r\n\t\tcolor: gray;\r\n\t\twidth: 70vw;\r\n\t\ttext-align: center;\r\n\t}\r\n\r\n\t.btn {\r\n\t\tbackground-color: #37AD46;\r\n\t\tcolor: white;\r\n\t\ttext-align: center;\r\n\t\theight: 42px;\r\n\t\tmargin-top: 30px;\r\n\t\twidth: 50vw;\r\n\t\tline-height: 42px;\r\n\t\tborder-radius: 20rpx;\r\n\t\tmargin-bottom: 20px;\r\n\t}\r\n\r\n\t.btn:active {\r\n\t\tbackground-color: #4eaa5a;\r\n\t\tcolor: white;\r\n\t}\r\n</style>","import MiniProgramPage from '/Users/adam/Documents/mini_program/ts_aimz/pages/pay/payState/payState.vue'\ntt.createPage(MiniProgramPage)"],"names":["uni"],"mappings":";;AAYC,MAAK,YAAU;AAAA,EACd,OAAO;AACN,WAAO;AAAA,MACN,MAAM;AAAA,IACP;AAAA,EACA;AAAA,EACD,OAAO,SAAS;AACf,UAAM,OAAO,QAAQ;AACrBA,kBAAAA,MAAI,sBAAsB;AAAA,MACzB,OAAO;AAAA,KACP;AACD,QAAI,QAAQ,GAAG;AACd,WAAK,OAAO;AAAA,WACN;AACN,WAAK,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EACD,SAAS;AAAA,IACR,aAAa;AACZA,oBAAAA,MAAI,aAAa;AAAA,IAClB;AAAA,EACD;AACD;;;;;;;;ACjCD,GAAG,WAAW,eAAe;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":["uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js"],"sourcesContent":["import en from './en.json'\r\nimport zhHans from './zh-Hans.json'\r\nimport zhHant from './zh-Hant.json'\r\nexport default {\r\n\ten,\r\n\t'zh-Hans': zhHans,\r\n\t'zh-Hant': zhHant\r\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAe,eAAA;AAAA,EACd;AAAA,EACA,WAAW;AAAA,EACX,WAAW;AACZ;;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"utils.js","sources":["uni_modules/uni-file-picker/components/uni-file-picker/utils.js"],"sourcesContent":["/**\r\n * 获取文件名和后缀\r\n * @param {String} name\r\n */\r\nexport const get_file_ext = (name) => {\r\n\tconst last_len = name.lastIndexOf('.')\r\n\tconst len = name.length\r\n\treturn {\r\n\t\tname: name.substring(0, last_len),\r\n\t\text: name.substring(last_len + 1, len)\r\n\t}\r\n}\r\n\r\n/**\r\n * 获取扩展名\r\n * @param {Array} fileExtname\r\n */\r\nexport const get_extname = (fileExtname) => {\r\n\tif (!Array.isArray(fileExtname)) {\r\n\t\tlet extname = fileExtname.replace(/(\\[|\\])/g, '')\r\n\t\treturn extname.split(',')\r\n\t} else {\r\n\t\treturn fileExtname\r\n\t}\r\n\treturn []\r\n}\r\n\r\n/**\r\n * 获取文件和检测是否可选\r\n */\r\nexport const get_files_and_is_max = (res, _extname) => {\r\n\tlet filePaths = []\r\n\tlet files = []\r\n\tif(!_extname || _extname.length === 0){\r\n\t\treturn {\r\n\t\t\tfilePaths,\r\n\t\t\tfiles\r\n\t\t}\r\n\t}\r\n\tres.tempFiles.forEach(v => {\r\n\t\tlet fileFullName = get_file_ext(v.name)\r\n\t\tconst extname = fileFullName.ext.toLowerCase()\r\n\t\tif (_extname.indexOf(extname) !== -1) {\r\n\t\t\tfiles.push(v)\r\n\t\t\tfilePaths.push(v.path)\r\n\t\t}\r\n\t})\r\n\tif (files.length !== res.tempFiles.length) {\r\n\t\tuni.showToast({\r\n\t\t\ttitle: `当前选择了${res.tempFiles.length}个文件 ${res.tempFiles.length - files.length} 个文件格式不正确`,\r\n\t\t\ticon: 'none',\r\n\t\t\tduration: 5000\r\n\t\t})\r\n\t}\r\n\r\n\treturn {\r\n\t\tfilePaths,\r\n\t\tfiles\r\n\t}\r\n}\r\n\r\n\r\n/**\r\n * 获取图片信息\r\n * @param {Object} filepath\r\n */\r\nexport const get_file_info = (filepath) => {\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tuni.getImageInfo({\r\n\t\t\tsrc: filepath,\r\n\t\t\tsuccess(res) {\r\n\t\t\t\tresolve(res)\r\n\t\t\t},\r\n\t\t\tfail(err) {\r\n\t\t\t\treject(err)\r\n\t\t\t}\r\n\t\t})\r\n\t})\r\n}\r\n/**\r\n * 获取封装数据\r\n */\r\nexport const get_file_data = async (files, type = 'image') => {\r\n\t// 最终需要上传数据库的数据\r\n\tlet fileFullName = get_file_ext(files.name)\r\n\tconst extname = fileFullName.ext.toLowerCase()\r\n\tlet filedata = {\r\n\t\tname: files.name,\r\n\t\tuuid: files.uuid,\r\n\t\textname: extname || '',\r\n\t\tcloudPath: files.cloudPath,\r\n\t\tfileType: files.fileType,\n\t\tthumbTempFilePath: files.thumbTempFilePath,\r\n\t\turl: files.path || files.path,\r\n\t\tsize: files.size, //单位是字节\r\n\t\timage: {},\r\n\t\tpath: files.path,\r\n\t\tvideo: {}\r\n\t}\r\n\tif (type === 'image') {\r\n\t\tconst imageinfo = await get_file_info(files.path)\r\n\t\tdelete filedata.video\r\n\t\tfiledata.image.width = imageinfo.width\r\n\t\tfiledata.image.height = imageinfo.height\r\n\t\tfiledata.image.location = imageinfo.path\r\n\t} else {\r\n\t\tdelete filedata.image\r\n\t}\r\n\treturn filedata\r\n}\r\n"],"names":["uni"],"mappings":";;AAIO,MAAM,eAAe,CAAC,SAAS;AACrC,QAAM,WAAW,KAAK,YAAY,GAAG;AACrC,QAAM,MAAM,KAAK;AACjB,SAAO;AAAA,IACN,MAAM,KAAK,UAAU,GAAG,QAAQ;AAAA,IAChC,KAAK,KAAK,UAAU,WAAW,GAAG,GAAG;AAAA,EACrC;AACF;AAMY,MAAC,cAAc,CAAC,gBAAgB;AAC3C,MAAI,CAAC,MAAM,QAAQ,WAAW,GAAG;AAChC,QAAI,UAAU,YAAY,QAAQ,YAAY,EAAE;AAChD,WAAO,QAAQ,MAAM,GAAG;AAAA,EAC1B,OAAQ;AACN,WAAO;AAAA,EACP;AAEF;AAKY,MAAC,uBAAuB,CAAC,KAAK,aAAa;AACtD,MAAI,YAAY,CAAE;AAClB,MAAI,QAAQ,CAAE;AACd,MAAG,CAAC,YAAY,SAAS,WAAW,GAAE;AACrC,WAAO;AAAA,MACN;AAAA,MACA;AAAA,IACA;AAAA,EACD;AACD,MAAI,UAAU,QAAQ,OAAK;AAC1B,QAAI,eAAe,aAAa,EAAE,IAAI;AACtC,UAAM,UAAU,aAAa,IAAI,YAAa;AAC9C,QAAI,SAAS,QAAQ,OAAO,MAAM,IAAI;AACrC,YAAM,KAAK,CAAC;AACZ,gBAAU,KAAK,EAAE,IAAI;AAAA,IACrB;AAAA,EACH,CAAE;AACD,MAAI,MAAM,WAAW,IAAI,UAAU,QAAQ;AAC1CA,kBAAAA,MAAI,UAAU;AAAA,MACb,OAAO,QAAQ,IAAI,UAAU,MAAM,QAAQ,IAAI,UAAU,SAAS,MAAM,MAAM;AAAA,MAC9E,MAAM;AAAA,MACN,UAAU;AAAA,IACb,CAAG;AAAA,EACD;AAED,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EACA;AACF;AAOO,MAAM,gBAAgB,CAAC,aAAa;AAC1C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACvCA,kBAAAA,MAAI,aAAa;AAAA,MAChB,KAAK;AAAA,MACL,QAAQ,KAAK;AACZ,gBAAQ,GAAG;AAAA,MACX;AAAA,MACD,KAAK,KAAK;AACT,eAAO,GAAG;AAAA,MACV;AAAA,IACJ,CAAG;AAAA,EACH,CAAE;AACF;AAIY,MAAC,gBAAgB,OAAO,OAAO,OAAO,YAAY;AAE7D,MAAI,eAAe,aAAa,MAAM,IAAI;AAC1C,QAAM,UAAU,aAAa,IAAI,YAAa;AAC9C,MAAI,WAAW;AAAA,IACd,MAAM,MAAM;AAAA,IACZ,MAAM,MAAM;AAAA,IACZ,SAAS,WAAW;AAAA,IACpB,WAAW,MAAM;AAAA,IACjB,UAAU,MAAM;AAAA,IAChB,mBAAmB,MAAM;AAAA,IACzB,KAAK,MAAM,QAAQ,MAAM;AAAA,IACzB,MAAM,MAAM;AAAA;AAAA,IACZ,OAAO,CAAE;AAAA,IACT,MAAM,MAAM;AAAA,IACZ,OAAO,CAAE;AAAA,EACT;AACD,MAAI,SAAS,SAAS;AACrB,UAAM,YAAY,MAAM,cAAc,MAAM,IAAI;AAChD,WAAO,SAAS;AAChB,aAAS,MAAM,QAAQ,UAAU;AACjC,aAAS,MAAM,SAAS,UAAU;AAClC,aAAS,MAAM,WAAW,UAAU;AAAA,EACtC,OAAQ;AACN,WAAO,SAAS;AAAA,EAChB;AACD,SAAO;AACR;;;;"}

View File

@ -0,0 +1 @@
{"version":3,"file":"uni-icons.js","sources":["uni_modules/uni-icons/components/uni-icons/uni-icons.vue","/Users/adam/Documents/mini_program/ts_aimz/uni_modules/uni-icons/components/uni-icons/uni-icons.vue?type=component"],"sourcesContent":["<template>\r\n\t<!-- #ifdef APP-NVUE -->\r\n\t<text :style=\"styleObj\" class=\"uni-icons\" @click=\"_onClick\">{{unicode}}</text>\r\n\t<!-- #endif -->\r\n\t<!-- #ifndef APP-NVUE -->\r\n\t<text :style=\"styleObj\" class=\"uni-icons\" :class=\"['uniui-'+type,customPrefix,customPrefix?type:'']\" @click=\"_onClick\">\r\n\t\t<slot></slot>\r\n\t</text>\r\n\t<!-- #endif -->\r\n</template>\r\n\r\n<script>\r\n\timport { fontData } from './uniicons_file_vue.js';\r\n\r\n\tconst getVal = (val) => {\r\n\t\tconst reg = /^[0-9]*$/g\r\n\t\treturn (typeof val === 'number' || reg.test(val)) ? val + 'px' : val;\r\n\t}\r\n\r\n\t// #ifdef APP-NVUE\r\n\tvar domModule = weex.requireModule('dom');\r\n\timport iconUrl from './uniicons.ttf'\r\n\tdomModule.addRule('fontFace', {\r\n\t\t'fontFamily': \"uniicons\",\r\n\t\t'src': \"url('\" + iconUrl + \"')\"\r\n\t});\r\n\t// #endif\r\n\r\n\t/**\r\n\t * Icons 图标\r\n\t * @description 用于展示 icons 图标\r\n\t * @tutorial https://ext.dcloud.net.cn/plugin?id=28\r\n\t * @property {Number} size 图标大小\r\n\t * @property {String} type 图标图案,参考示例\r\n\t * @property {String} color 图标颜色\r\n\t * @property {String} customPrefix 自定义图标\r\n\t * @event {Function} click 点击 Icon 触发事件\r\n\t */\r\n\texport default {\r\n\t\tname: 'UniIcons',\r\n\t\temits: ['click'],\r\n\t\tprops: {\r\n\t\t\ttype: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: ''\r\n\t\t\t},\r\n\t\t\tcolor: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: '#333333'\r\n\t\t\t},\r\n\t\t\tsize: {\r\n\t\t\t\ttype: [Number, String],\r\n\t\t\t\tdefault: 16\r\n\t\t\t},\r\n\t\t\tcustomPrefix: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: ''\r\n\t\t\t},\r\n\t\t\tfontFamily: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: ''\r\n\t\t\t}\r\n\t\t},\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\ticons: fontData\r\n\t\t\t}\r\n\t\t},\r\n\t\tcomputed: {\r\n\t\t\tunicode() {\r\n\t\t\t\tlet code = this.icons.find(v => v.font_class === this.type)\r\n\t\t\t\tif (code) {\r\n\t\t\t\t\treturn code.unicode\r\n\t\t\t\t}\r\n\t\t\t\treturn ''\r\n\t\t\t},\r\n\t\t\ticonSize() {\r\n\t\t\t\treturn getVal(this.size)\r\n\t\t\t},\r\n\t\t\tstyleObj() {\r\n\t\t\t\tif (this.fontFamily !== '') {\r\n\t\t\t\t\treturn `color: ${this.color}; font-size: ${this.iconSize}; font-family: ${this.fontFamily};`\r\n\t\t\t\t}\r\n\t\t\t\treturn `color: ${this.color}; font-size: ${this.iconSize};`\r\n\t\t\t}\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t_onClick() {\r\n\t\t\t\tthis.$emit('click')\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n\t/* #ifndef APP-NVUE */\r\n\t@import './uniicons.css';\r\n\r\n\t@font-face {\r\n\t\tfont-family: uniicons;\r\n\t\tsrc: url('./uniicons.ttf');\r\n\t}\r\n\r\n\t/* #endif */\r\n\t.uni-icons {\r\n\t\tfont-family: uniicons;\r\n\t\ttext-decoration: none;\r\n\t\ttext-align: center;\r\n\t}\r\n</style>\n","import Component from '/Users/adam/Documents/mini_program/ts_aimz/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'\ntt.createComponent(Component)"],"names":["fontData"],"mappings":";;;AAcC,MAAM,SAAS,CAAC,QAAQ;AACvB,QAAM,MAAM;AACZ,SAAQ,OAAO,QAAQ,YAAY,IAAI,KAAK,GAAG,IAAK,MAAM,OAAO;AAClE;AAqBA,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EACN,OAAO,CAAC,OAAO;AAAA,EACf,OAAO;AAAA,IACN,MAAM;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,MAAM;AAAA,MACL,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACT;AAAA,IACD,cAAc;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,YAAY;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACA;AAAA,EACD,OAAO;AACN,WAAO;AAAA,MACN,OAAOA,2DAAO;AAAA,IACf;AAAA,EACA;AAAA,EACD,UAAU;AAAA,IACT,UAAU;AACT,UAAI,OAAO,KAAK,MAAM,KAAK,OAAK,EAAE,eAAe,KAAK,IAAI;AAC1D,UAAI,MAAM;AACT,eAAO,KAAK;AAAA,MACb;AACA,aAAO;AAAA,IACP;AAAA,IACD,WAAW;AACV,aAAO,OAAO,KAAK,IAAI;AAAA,IACvB;AAAA,IACD,WAAW;AACV,UAAI,KAAK,eAAe,IAAI;AAC3B,eAAO,UAAU,KAAK,KAAK,gBAAgB,KAAK,QAAQ,kBAAkB,KAAK,UAAU;AAAA,MAC1F;AACA,aAAO,UAAU,KAAK,KAAK,gBAAgB,KAAK,QAAQ;AAAA,IACzD;AAAA,EACA;AAAA,EACD,SAAS;AAAA,IACR,WAAW;AACV,WAAK,MAAM,OAAO;AAAA,IACnB;AAAA,EACD;AACD;;;;;;;;;;;AC1FD,GAAG,gBAAgB,SAAS;"}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":["uni_modules/uni-load-more/components/uni-load-more/i18n/index.js"],"sourcesContent":["import en from './en.json'\r\nimport zhHans from './zh-Hans.json'\r\nimport zhHant from './zh-Hant.json'\r\nexport default {\r\n\ten,\r\n\t'zh-Hans': zhHans,\r\n\t'zh-Hant': zhHant\r\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,MAAe,WAAA;AAAA,EACd;AAAA,EACA,WAAW;AAAA,EACX,WAAW;AACZ;;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"uni-popup-message.js","sources":["uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue","/Users/adam/Documents/mini_program/ts_aimz/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue?type=component"],"sourcesContent":["<template>\r\n\t<view class=\"uni-popup-message\" :style=\"isTop?'':'margin-top:30px;'\">\r\n\t\t<view class=\"uni-popup-message__box fixforpc-width\" :class=\"'uni-popup__'+type\">\r\n\t\t\t<slot>\r\n\t\t\t\t<text class=\"uni-popup-message-text\" :class=\"'uni-popup__'+type+'-text'\">{{message}}</text>\r\n\t\t\t</slot>\r\n\t\t</view>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\timport popup from '../uni-popup/popup.js'\r\n\t/**\r\n\t * PopUp 弹出层-消息提示\r\n\t * @description 弹出层-消息提示\r\n\t * @tutorial https://ext.dcloud.net.cn/plugin?id=329\r\n\t * @property {String} type = [success|warning|info|error] 主题样式\r\n\t * @value success 成功\r\n\t * \t@value warning 提示\r\n\t * \t@value info 消息\r\n\t * \t@value error 错误\r\n\t * @property {String} message 消息提示文字\r\n\t * @property {String} duration 显示时间,设置为 0 则不会自动关闭\r\n\t */\r\n\r\n\texport default {\r\n\t\tname: 'uniPopupMessage',\r\n\t\tmixins: [popup],\r\n\t\tprops: {\r\n\t\t\t/**\r\n\t\t\t * 主题 success/warning/info/error\t 默认 success\r\n\t\t\t */\r\n\t\t\ttype: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: 'success'\r\n\t\t\t},\r\n\t\t\tisTop: {\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\tdefault: true\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 消息文字\r\n\t\t\t */\r\n\t\t\tmessage: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: ''\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * 显示时间,设置为 0 则不会自动关闭\r\n\t\t\t */\r\n\t\t\tduration: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t\tdefault: 3000\r\n\t\t\t},\r\n\t\t\tmaskShow: {\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\tdefault: false\r\n\t\t\t}\r\n\t\t},\r\n\t\tdata() {\r\n\t\t\treturn {}\r\n\t\t},\r\n\t\tcreated() {\r\n\t\t\tthis.popup.maskShow = this.maskShow\r\n\t\t\tthis.popup.messageChild = this\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\ttimerClose() {\r\n\t\t\t\tif (this.duration === 0) return\r\n\t\t\t\tclearTimeout(this.timer)\r\n\t\t\t\tthis.timer = setTimeout(() => {\r\n\t\t\t\t\tthis.popup.close()\r\n\t\t\t\t}, this.duration)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n<style lang=\"scss\">\r\n\t.uni-popup-message {\r\n\t\t/* #ifndef APP-NVUE */\r\n\t\tdisplay: flex;\r\n\t\t/* #endif */\r\n\t\tflex-direction: row;\r\n\t\tjustify-content: center;\r\n\t}\r\n\r\n\t.uni-popup-message__box {\r\n\t\tbackground-color: #e1f3d8;\r\n\t\tpadding: 10px 15px;\r\n\t\tborder-color: #eee;\r\n\t\tborder-style: solid;\r\n\t\tborder-width: 1px;\r\n\t\tflex: 1;\r\n\t}\r\n\r\n\t@media screen and (min-width: 500px) {\r\n\t\t.fixforpc-width {\r\n\t\t\tmargin-top: 20px;\r\n\t\t\tborder-radius: 4px;\r\n\t\t\tflex: none;\r\n\t\t\tmin-width: 380px;\r\n\t\t\t/* #ifndef APP-NVUE */\r\n\t\t\tmax-width: 50%;\r\n\t\t\t/* #endif */\r\n\t\t\t/* #ifdef APP-NVUE */\r\n\t\t\tmax-width: 500px;\r\n\t\t\t/* #endif */\r\n\t\t}\r\n\t}\r\n\r\n\t.uni-popup-message-text {\r\n\t\tfont-size: 14px;\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t.uni-popup__success {\r\n\t\tbackground-color: #e1f3d8;\r\n\t}\r\n\r\n\t.uni-popup__success-text {\r\n\t\tcolor: #67C23A;\r\n\t}\r\n\r\n\t.uni-popup__warn {\r\n\t\tbackground-color: #faecd8;\r\n\t}\r\n\r\n\t.uni-popup__warn-text {\r\n\t\tcolor: #E6A23C;\r\n\t}\r\n\r\n\t.uni-popup__error {\r\n\t\tbackground-color: #fde2e2;\r\n\t}\r\n\r\n\t.uni-popup__error-text {\r\n\t\tcolor: #F56C6C;\r\n\t}\r\n\r\n\t.uni-popup__info {\r\n\t\tbackground-color: #F2F6FC;\r\n\t}\r\n\r\n\t.uni-popup__info-text {\r\n\t\tcolor: #909399;\r\n\t}\r\n</style>","import Component from '/Users/adam/Documents/mini_program/ts_aimz/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue'\ntt.createComponent(Component)"],"names":["popup"],"mappings":";;;AAyBC,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EACN,QAAQ,CAACA,+CAAAA,KAAK;AAAA,EACd,OAAO;AAAA;AAAA;AAAA;AAAA,IAIN,MAAM;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAID,SAAS;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAID,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACA;AAAA,EACD,OAAO;AACN,WAAO,CAAC;AAAA,EACR;AAAA,EACD,UAAU;AACT,SAAK,MAAM,WAAW,KAAK;AAC3B,SAAK,MAAM,eAAe;AAAA,EAC1B;AAAA,EACD,SAAS;AAAA,IACR,aAAa;AACZ,UAAI,KAAK,aAAa;AAAG;AACzB,mBAAa,KAAK,KAAK;AACvB,WAAK,QAAQ,WAAW,MAAM;AAC7B,aAAK,MAAM,MAAM;AAAA,MAClB,GAAG,KAAK,QAAQ;AAAA,IACjB;AAAA,EACD;AACD;;;;;;;;;;AC1ED,GAAG,gBAAgB,SAAS;"}

View File

@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":["uni_modules/uni-popup/components/uni-popup/i18n/index.js"],"sourcesContent":["import en from './en.json'\r\nimport zhHans from './zh-Hans.json'\r\nimport zhHant from './zh-Hant.json'\r\nexport default {\r\n\ten,\r\n\t'zh-Hans': zhHans,\r\n\t'zh-Hant': zhHant\r\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAGA,MAAe,WAAA;AAAA,EACd;AAAA,EACA,WAAW;AAAA,EACX,WAAW;AACZ;;"}

View File

@ -0,0 +1 @@
{"version":3,"file":"popup.js","sources":["uni_modules/uni-popup/components/uni-popup/popup.js"],"sourcesContent":["\nexport default {\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\t\r\n\t\t}\r\n\t},\n\tcreated(){\n\t\tthis.popup = this.getParent()\n\t},\n\tmethods:{\n\t\t/**\n\t\t * 获取父元素实例\n\t\t */\n\t\tgetParent(name = 'uniPopup') {\n\t\t\tlet parent = this.$parent;\n\t\t\tlet parentName = parent.$options.name;\n\t\t\twhile (parentName !== name) {\n\t\t\t\tparent = parent.$parent;\n\t\t\t\tif (!parent) return false\n\t\t\t\tparentName = parent.$options.name;\n\t\t\t}\n\t\t\treturn parent;\n\t\t},\n\t}\r\n}\r\n"],"names":[],"mappings":";AACA,MAAe,QAAA;AAAA,EACd,OAAO;AACN,WAAO,CAEN;AAAA,EACD;AAAA,EACD,UAAS;AACR,SAAK,QAAQ,KAAK,UAAW;AAAA,EAC7B;AAAA,EACD,SAAQ;AAAA;AAAA;AAAA;AAAA,IAIP,UAAU,OAAO,YAAY;AAC5B,UAAI,SAAS,KAAK;AAClB,UAAI,aAAa,OAAO,SAAS;AACjC,aAAO,eAAe,MAAM;AAC3B,iBAAS,OAAO;AAChB,YAAI,CAAC;AAAQ,iBAAO;AACpB,qBAAa,OAAO,SAAS;AAAA,MAC7B;AACD,aAAO;AAAA,IACP;AAAA,EACD;AACF;;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,110 @@
"use strict";
const common_vendor = require("./common/vendor.js");
const common_js_conver = require("./common/js/conver.js");
const _sfc_main = {
name: "ad-popup",
props: {
// 是否显示弹窗
visible: {
type: Boolean,
value: false
},
coupons: {
type: Object,
value: null
},
couponsList: {
type: Array,
value: null
}
},
data() {
return {
localVisible: this.visible,
checked: false,
initPosition: {
left: 50,
top: 50
},
// top: 35%;
// left: 8%;
content: {
left: 20,
top: 150
},
animation: {},
screenWidth: 0,
screenHeight: 0,
top: 590,
left: 80
};
},
mounted() {
},
methods: {
moneyTxt: common_js_conver.moneyTxt,
toggleCheck() {
common_vendor.index.__f__("log", "at components/ad-popup.vue:98", "点击了", this.checked);
this.checked = !this.checked;
common_vendor.index.__f__("log", "at components/ad-popup.vue:100", "点击后", this.checked);
},
// 关闭弹窗
onClose() {
this.$emit("ad-close", this.checked);
},
onFurl() {
this.startAnimation();
this.$emit("ad-furl", this.checked);
},
startAnimation() {
this.showBox = true;
this.animation = {};
setTimeout(() => {
const animation = common_vendor.index.createAnimation({
duration: 1e3,
timingFunction: "ease-in-out"
});
const initX = this.initPosition.left;
const initY = this.initPosition.top;
const targetX = initX + 120;
const targetY = initY + 400;
animation.translate(targetX - initX, targetY - initY).scale(0.03).rotate(180).skew(10, 10).opacity(0).step();
this.animation = animation.export();
setTimeout(() => {
this.$emit("ad-close", false);
this.initPosition = {
left: 50,
top: 50
};
this.animation = {};
}, 1e3);
}, 50);
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: $props.visible
}, $props.visible ? {
b: common_vendor.o((...args) => $options.onClose && $options.onClose(...args)),
c: common_vendor.f($props.couponsList, (item, index, i0) => {
return {
a: $options.moneyTxt(14, 20, item.amount / 100),
b: common_vendor.t(item.title),
c: common_vendor.t(item.useGmtStart),
d: common_vendor.t(item.useGmtEnd),
e: index
};
}),
d: $props.couponsList.length > 1 ? "600rpx" : "350rpx",
e: common_vendor.o((...args) => $options.toggleCheck && $options.toggleCheck(...args)),
f: common_vendor.o((...args) => $options.onFurl && $options.onFurl(...args)),
g: $props.couponsList.length > 1 ? "70vh" : "50vh",
h: $data.animation,
i: $data.initPosition.left,
j: $data.initPosition.top
} : {});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
exports.MiniProgramPage = MiniProgramPage;
//# sourceMappingURL=../.sourcemap/mp-toutiao/ad-popup.js.map

62
unpackage/dist/dev/mp-toutiao/app.js vendored Normal file
View File

@ -0,0 +1,62 @@
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const common_vendor = require("./common/vendor.js");
const common_js_net_mainUrl = require("./common/js/net/mainUrl.js");
if (!Math) {
"./pages/login/login.js";
"./pages/index/home.js";
"./pages/mine/mineIndex/mineIndex.js";
"./pages/common/readTxt/readTxt.js";
"./pages/mine/mineAccount/mineInfo/mineInfo.js";
"./pages/mine/mineAccount/mineOrder/mineOrder.js";
"./pages/mine/mineAccount/mineContact/mineContact.js";
"./pages/mine/mineAccount/mineCoupons/mineCoupons.js";
"./pages/pay/payment/payment.js";
"./pages/pay/publicPay/publicPay.js";
"./pages/pay/payState/payState.js";
"./pages/copyright/createBuy/createBuy.js";
"./pages/copyright/createProjectInfo/createProjectInfo.js";
"./pages/common/rule/rule.js";
"./components/ad-popup.js";
"./pages/mine/mineAccount/mineMsgNotice/mineMsgNotice.js";
"./pages/copyright/refund/refund.js";
"./pages/copyright/applyRefund/applyRefund.js";
"./pages/copyright/repair/repair.js";
"./pages/copyright/applyRepair/applyRepair.js";
"./pages/mine/mineAccount/invoiceInfo/invoiceInfo.js";
"./pages/mine/mineAccount/minePayRecord/minePayRecord.js";
"./pages/mine/mineAccount/mineInvoiceManage/mineInvoiceManage.js";
"./pages/mine/mineAccount/minePayOrder/minePayOrder.js";
"./pages/mine/mineAccount/mineMakeInvoice/mineMakeInvoice.js";
"./pages/mine/mineAccount/invoiceDetail/invoiceDetail.js";
}
const _sfc_main = {
onLaunch: function() {
common_vendor.index.__f__("log", "at App.vue:4", "App Launch");
},
onShow: function() {
common_vendor.index.__f__("log", "at App.vue:7", "App Show");
},
onHide: function() {
common_vendor.index.__f__("log", "at App.vue:10", "App Hide");
}
};
function createApp() {
const app = common_vendor.createSSRApp(_sfc_main);
app.provide("globalData", {
imgAssetsUrl: common_js_net_mainUrl.imgAssets,
locImg: "/static/images",
slideBtns: [],
appTitle: "AI喵著",
appUrl: common_js_net_mainUrl.appUrl,
onlyDelBtns: [],
cancelEditBtns: [],
primaryColor: "#FFA900"
});
return {
app
};
}
createApp().app.mount("#app");
exports.createApp = createApp;
//# sourceMappingURL=../.sourcemap/mp-toutiao/app.js.map

55
unpackage/dist/dev/mp-toutiao/app.json vendored Normal file
View File

@ -0,0 +1,55 @@
{
"pages": [
"pages/login/login",
"pages/index/home",
"pages/mine/mineIndex/mineIndex",
"pages/common/readTxt/readTxt",
"pages/mine/mineAccount/mineInfo/mineInfo",
"pages/mine/mineAccount/mineOrder/mineOrder",
"pages/mine/mineAccount/mineContact/mineContact",
"pages/mine/mineAccount/mineCoupons/mineCoupons",
"pages/pay/payment/payment",
"pages/pay/publicPay/publicPay",
"pages/pay/payState/payState",
"pages/copyright/createBuy/createBuy",
"pages/copyright/createProjectInfo/createProjectInfo",
"pages/common/rule/rule",
"components/ad-popup",
"pages/mine/mineAccount/mineMsgNotice/mineMsgNotice",
"pages/copyright/refund/refund",
"pages/copyright/applyRefund/applyRefund",
"pages/copyright/repair/repair",
"pages/copyright/applyRepair/applyRepair",
"pages/mine/mineAccount/invoiceInfo/invoiceInfo",
"pages/mine/mineAccount/minePayRecord/minePayRecord",
"pages/mine/mineAccount/mineInvoiceManage/mineInvoiceManage",
"pages/mine/mineAccount/minePayOrder/minePayOrder",
"pages/mine/mineAccount/mineMakeInvoice/mineMakeInvoice",
"pages/mine/mineAccount/invoiceDetail/invoiceDetail"
],
"window": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "AI喵著",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
},
"tabBar": {
"color": "#515151",
"selectedColor": "#FE9944",
"list": [
{
"pagePath": "pages/index/home",
"text": "首页",
"iconPath": "static/images/ic_home_normal.png",
"selectedIconPath": "static/images/ic_home_select.png"
},
{
"pagePath": "pages/mine/mineIndex/mineIndex",
"text": "我的",
"iconPath": "static/images/ic_mine_normal.png",
"selectedIconPath": "static/images/ic_mine_select.png"
}
]
},
"usingComponents": {}
}

547
unpackage/dist/dev/mp-toutiao/app.ttss vendored Normal file
View File

@ -0,0 +1,547 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 底部tabbar */
/* 我的页面账户信息背景 */
/* 主题色 */
/* 页面背景色 */
/* 文字颜色 */
/* 背景棕色 */
/* 按钮颜色 */
/*每个页面公共css */
:root {
--icon-wechat: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQyOTU5MzMxNTk5IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzIiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PHBhdGggZD0iTTEwMjQgNjE5LjUyYzAtMTQzLjM2LTEzOC4yNC0yNTYtMzA3LjItMjU2cy0zMDcuMiAxMTIuNjQtMzA3LjIgMjU2IDEzOC4yNCAyNTYgMzA3LjIgMjU2YzMwLjcyIDAgNjEuNDQtNS4xMiA5Mi4xNi0xMC4yNGw5Ny4yOCA1MS4yLTI1LjYtNzYuOGM4Ny4wNC01MS4yIDE0My4zNi0xMjggMTQzLjM2LTIyMC4xNnogbS00MTQuNzItNDAuOTZjLTMwLjcyIDAtNTEuMi0yMC40OC01MS4yLTUxLjJzMjAuNDgtNTEuMiA1MS4yLTUxLjIgNTEuMiAyMC40OCA1MS4yIDUxLjJjMCAyNS42LTI1LjYgNTEuMi01MS4yIDUxLjJ6IG0yMDkuOTIgMGMtMzAuNzIgMC01MS4yLTIwLjQ4LTUxLjItNTEuMnMyMC40OC01MS4yIDUxLjItNTEuMiA1MS4yIDIwLjQ4IDUxLjIgNTEuMmMwIDI1LjYtMjUuNiA1MS4yLTUxLjIgNTEuMnoiIGZpbGw9IiM0Q0JGMDAiIHAtaWQ9IjMwNzMiPjwvcGF0aD48cGF0aCBkPSJNMzU4LjQgNjA5LjI4YzAtMTU4LjcyIDE1My42LTI4Ni43MiAzNDguMTYtMjg2LjcyaDE1LjM2Yy00MC45Ni0xMzMuMTItMTc5LjItMjM1LjUyLTM1My4yOC0yMzUuNTItMjA0LjggMC0zNjguNjQgMTM4LjI0LTM2OC42NCAzMDcuMiAwIDEwNy41MiA2Ni41NiAyMDQuOCAxNjguOTYgMjU2bC0zMC43MiA5Mi4xNkwyNTYgNjg2LjA4YzM1Ljg0IDEwLjI0IDcxLjY4IDE1LjM2IDExMi42NCAxNS4zNmgxMC4yNGMtMTUuMzYtMzAuNzItMjAuNDgtNjEuNDQtMjAuNDgtOTIuMTZ6IG0xMzguMjQtNDE0LjcyYzM1Ljg0IDAgNjYuNTYgMzAuNzIgNjYuNTYgNjYuNTZzLTMwLjcyIDY2LjU2LTY2LjU2IDY2LjU2QzQ2MC44IDMyMi41NiA0MzAuMDggMjkxLjg0IDQzMC4wOCAyNTZTNDYwLjggMTk0LjU2IDQ5Ni42NCAxOTQuNTZ6TTI0NS43NiAzMjIuNTZjLTM1Ljg0IDAtNjEuNDQtMzAuNzItNjEuNDQtNjYuNTZzMzAuNzItNjYuNTYgNjYuNTYtNjYuNTYgNjEuNDQgMzAuNzIgNjEuNDQgNjYuNTYtMzAuNzIgNjYuNTYtNjYuNTYgNjYuNTZ6IiBmaWxsPSIjNENCRjAwIiBwLWlkPSIzMDc0Ij48L3BhdGg+PC9zdmc+')
}
.icon-wechat {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQyOTU5MzMxNTk5IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzIiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PHBhdGggZD0iTTEwMjQgNjE5LjUyYzAtMTQzLjM2LTEzOC4yNC0yNTYtMzA3LjItMjU2cy0zMDcuMiAxMTIuNjQtMzA3LjIgMjU2IDEzOC4yNCAyNTYgMzA3LjIgMjU2YzMwLjcyIDAgNjEuNDQtNS4xMiA5Mi4xNi0xMC4yNGw5Ny4yOCA1MS4yLTI1LjYtNzYuOGM4Ny4wNC01MS4yIDE0My4zNi0xMjggMTQzLjM2LTIyMC4xNnogbS00MTQuNzItNDAuOTZjLTMwLjcyIDAtNTEuMi0yMC40OC01MS4yLTUxLjJzMjAuNDgtNTEuMiA1MS4yLTUxLjIgNTEuMiAyMC40OCA1MS4yIDUxLjJjMCAyNS42LTI1LjYgNTEuMi01MS4yIDUxLjJ6IG0yMDkuOTIgMGMtMzAuNzIgMC01MS4yLTIwLjQ4LTUxLjItNTEuMnMyMC40OC01MS4yIDUxLjItNTEuMiA1MS4yIDIwLjQ4IDUxLjIgNTEuMmMwIDI1LjYtMjUuNiA1MS4yLTUxLjIgNTEuMnoiIGZpbGw9IiM0Q0JGMDAiIHAtaWQ9IjMwNzMiPjwvcGF0aD48cGF0aCBkPSJNMzU4LjQgNjA5LjI4YzAtMTU4LjcyIDE1My42LTI4Ni43MiAzNDguMTYtMjg2LjcyaDE1LjM2Yy00MC45Ni0xMzMuMTItMTc5LjItMjM1LjUyLTM1My4yOC0yMzUuNTItMjA0LjggMC0zNjguNjQgMTM4LjI0LTM2OC42NCAzMDcuMiAwIDEwNy41MiA2Ni41NiAyMDQuOCAxNjguOTYgMjU2bC0zMC43MiA5Mi4xNkwyNTYgNjg2LjA4YzM1Ljg0IDEwLjI0IDcxLjY4IDE1LjM2IDExMi42NCAxNS4zNmgxMC4yNGMtMTUuMzYtMzAuNzItMjAuNDgtNjEuNDQtMjAuNDgtOTIuMTZ6IG0xMzguMjQtNDE0LjcyYzM1Ljg0IDAgNjYuNTYgMzAuNzIgNjYuNTYgNjYuNTZzLTMwLjcyIDY2LjU2LTY2LjU2IDY2LjU2QzQ2MC44IDMyMi41NiA0MzAuMDggMjkxLjg0IDQzMC4wOCAyNTZTNDYwLjggMTk0LjU2IDQ5Ni42NCAxOTQuNTZ6TTI0NS43NiAzMjIuNTZjLTM1Ljg0IDAtNjEuNDQtMzAuNzItNjEuNDQtNjYuNTZzMzAuNzItNjYuNTYgNjYuNTYtNjYuNTYgNjEuNDQgMzAuNzIgNjEuNDQgNjYuNTYtMzAuNzIgNjYuNTYtNjYuNTYgNjYuNTZ6IiBmaWxsPSIjNENCRjAwIiBwLWlkPSIzMDc0Ij48L3BhdGg+PC9zdmc+');
background-size: contain;
background-repeat: no-repeat;
}
.icon-bd {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ4NTc1NDI0NzQ2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUxMTQiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTE4NC42ODIgNTM4Ljc1OWMxMTEuMTc3LTIzLjg3NCA5Ni4wMy0xNTYuNzM3IDkyLjcwMi0xODUuNzc2LTUuNDQ1LTQ0Ljc2OC01OC4xMDItMTIzLjAyLTEyOS42MDYtMTE2LjgzMS04OS45OCA4LjA3NC0xMDMuMTI2IDEzOC4wNTItMTAzLjEyNiAxMzguMDUyLTEyLjE3IDYwLjA4IDI5LjEzMiAxODguNDUyIDE0MC4wMyAxNjQuNTU1ek0zMDIuNzQ2IDc2OS44NmMtMy4yNTcgOS4zMzEtMTAuNTE3IDMzLjIyOC00LjIzNCA1NC4wMyAxMi40MDIgNDYuNjc3IDUyLjkxMiA0OC43NyA1Mi45MTIgNDguNzdoNTguMjE4di0xNDIuMzFoLTYyLjMzNmMtMjguMDE2IDguMzU0LTQxLjUzNSAzMC4xNTctNDQuNTYgMzkuNTF6IG04OC4yODEtNDUzLjg5OGM2MS40MDYgMCAxMTEuMDM3LTcwLjY2NyAxMTEuMDM3LTE1OC4wNEM1MDIuMDY0IDcwLjY0MyA0NTIuNDMzIDAgMzkxLjAyNyAwYy02MS4zMTIgMC0xMTEuMDYgNzAuNjQzLTExMS4wNiAxNTcuOTIzIDAgODcuMzczIDQ5Ljc3IDE1OC4wNCAxMTEuMDYgMTU4LjA0eiBtMjY0LjQ3IDEwLjQ0N2M4Mi4wNjggMTAuNjU3IDEzNC44NC03Ni45MjUgMTQ1LjMzNS0xNDMuMzEgMTAuNzAzLTY2LjI5Mi00Mi4yNTYtMTQzLjI4OC0xMDAuMzU3LTE1Ni41MjctNTguMjE4LTEzLjM1Ni0xMzAuOTA5IDc5LjkwNC0xMzcuNTQgMTQwLjcwNC03LjkxMiA3NC4zMiAxMC42MzMgMTQ4LjU5MyA5Mi41NjIgMTU5LjEzM3ogbTIwMS4wODYgMzkwLjIxM3MtMTI2Ljk3Ni05OC4yNC0yMDEuMTEtMjA0LjQxNEM1NTUgMzU1LjY2IDQxMi4yNzIgNDE5LjM3IDM2NC41MjUgNDk4Ljk5MyAzMTYuOTg3IDU3OC41OTQgMjQyLjkgNjI4Ljk0NyAyMzIuMzgyIDY0Mi4yOGMtMTAuNjggMTMuMTI0LTE1My4zODUgOTAuMTY2LTEyMS42OTQgMjMwLjg3IDMxLjY2OSAxNDAuNjEyIDE0Mi45MzkgMTM3LjkzNiAxNDIuOTM5IDEzNy45MzZzODEuOTk4IDguMDc0IDE3Ny4xMi0xMy4yMTdjOTUuMTY4LTIxLjEwNCAxNzcuMDk2IDUuMjYgMTc3LjA5NiA1LjI2czIyMi4yODQgNzQuNDM1IDI4My4xMDgtNjguODUyYzYwLjc1NC0xNDMuMzM0LTM0LjM2OC0yMTcuNjU0LTM0LjM2OC0yMTcuNjU0ek00NzYuMjYgOTI5Ljg4SDMzMS43MzljLTYyLjQwNi0xMi40NDktODcuMjU3LTU1LjAzLTkwLjM5OC02Mi4yOS0zLjA3Mi03LjM3Ni0yMC44MDItNDEuNjA0LTExLjQyNS05OS44NDUgMjYuOTY4LTg3LjI1NyAxMDMuODctOTMuNTE2IDEwMy44Ny05My41MTZoNzYuOTI2di05NC41NjNsNjUuNTI0IDFWOTI5Ljg4eiBtMjY5LjE0Ni0xaC0xNjYuM2MtNjQuNDUzLTE2LjYxNC02Ny40NTUtNjIuNDA3LTY3LjQ1NS02Mi40MDd2LTE4My44OWw2Ny40NTUtMS4wOTR2MTY1LjI3NmM0LjExOSAxNy42MzcgMjYuMDE1IDIwLjgyNSAyNi4wMTUgMjAuODI1aDY4LjUyNVY2ODIuNTgxaDcxLjc2djI0Ni4yOTd6IG0yMzUuNDA4LTQ5MC45OWMwLTMxLjc2LTI2LjM4Ny0xMjcuMzk0LTEyNC4yMy0xMjcuMzk0LTk4LjAwOCAwLTExMS4xMDggOTAuMjU4LTExMS4xMDggMTU0LjA2IDAgNjAuODk0IDUuMTQyIDE0NS44OTQgMTI2Ljg4MyAxNDMuMTk1IDEyMS43ODgtMi43IDEwOC40NTUtMTM3LjkzNiAxMDguNDU1LTE2OS44NnogbTAgMCIgZmlsbD0iIzAxMmZmZiIgcC1pZD0iNTExNSI+PC9wYXRoPjwvc3ZnPg==');
background-size: contain;
background-repeat: no-repeat;
}
.icon-card {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQyOTYwMTg2Nzk5IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9Ijc3MTEiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTc4MC4xNiAxMjhjMTA4LjU4NjY2NyAwIDE5Ny41NDY2NjcgODUuMDM0NjY3IDIwMS4wODggMTkyLjE3MDY2N2wwLjA4NTMzMyA2LjQ0MjY2NnYzNzAuNzczMzM0YzAgMTA3LjE3ODY2Ny04Ni4xNDQgMTk1LjAyOTMzMy0xOTQuNjQ1MzMzIDE5OC40ODUzMzNsLTYuNTI4IDAuMTI4SDI0My43NTQ2NjdDMTM1LjE2OCA4OTYgNDYuMjA4IDgxMC45NjUzMzMgNDIuNjY2NjY3IDcwMy44MjkzMzNsLTAuMDg1MzM0LTYuNDQyNjY2di0zNzAuNzczMzM0YzAtMTA3LjE3ODY2NyA4Ni4xNDQtMTk1LjAyOTMzMyAxOTQuNjQ1MzM0LTE5OC41MjhMMjQzLjc1NDY2NyAxMjhoNTM2LjQwNTMzM3ogbTEyMC43NDY2NjcgMzM0LjAzNzMzM0gxMjMuMDA4djIzNS4zNDkzMzRjMCA2My42MTYgNTAuNjAyNjY3IDExNi4wNTMzMzMgMTE0Ljk4NjY2NyAxMTkuMDRsNS43MTczMzMgMC4xMjhoNTM2LjQwNTMzM2M2NC40MjY2NjcgMCAxMTcuNTQ2NjY3LTUwLjAwNTMzMyAxMjAuNTc2LTExMy41Nzg2NjdsMC4xMjgtNS41ODkzMzN2LTIzNS4zNDkzMzR6IG0tMTIwLjc0NjY2NyAxODUuMzg2NjY3YzIxLjQ2MTMzMyAwIDM5LjEyNTMzMyAxNi42NCA0MC4xOTIgMzcuODAyNjY3YTM5Ljg5MzMzMyAzOS44OTMzMzMgMCAwIDEtMzYuMzA5MzMzIDQxLjQyOTMzM2wtMy44NCAwLjIxMzMzM2gtMTY4LjE0OTMzNGE0MC4wMjEzMzMgNDAuMDIxMzMzIDAgMCAxLTQwLjE5Mi0zNy44MDI2NjYgMzkuODkzMzMzIDM5Ljg5MzMzMyAwIDAgMSAzNi4yNjY2NjctNDEuNDcybDMuOTI1MzMzLTAuMTcwNjY3aDE2OC4xMDY2Njd6IG0wLTQzOS45Nzg2NjdIMjQzLjc1NDY2N2MtNjQuNDI2NjY3IDAtMTE3LjU0NjY2NyA1MC4wMDUzMzMtMTIwLjU3NiAxMTMuNTc4NjY3bC0wLjEyOCA1LjU4OTMzM3Y1NS45Nzg2NjdoNzc3LjgxMzMzM1YzMjYuNjEzMzMzYzAtNjMuNjE2LTUwLjY0NTMzMy0xMTYuMDUzMzMzLTExNC45ODY2NjctMTE5LjA0bC01LjcxNzMzMy0wLjEyOHoiIGZpbGw9IiNGRkE5MDAiIHAtaWQ9Ijc3MTIiPjwvcGF0aD48L3N2Zz4=');
background-size: contain;
background-repeat: no-repeat;
}
.icon-user-ind {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQyOTYwNTAxOTk3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEwNjgzIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik05MTQuMjg2IDgwMi44OXEwIDY4LjUzNC00MS42OTIgMTA4LjI1VDc2MS43MSA5NTAuODU4SDI2Mi4yOXEtNjkuMTIgMC0xMTAuODg0LTM5LjcxNlQxMDkuNzE0IDgwMi44OXEwLTMwLjI4MSAxLjk3NS01OS4xNzJ0Ny45NzMtNjIuMzE4IDE1LjE0LTYyLjAyNSAyNC41NzYtNTUuNzM1IDM1LjQwMS00Ni4zIDQ4Ljg2LTMwLjU3MyA2My43MDctMTEuNDFxNS4xMiAwIDIzLjk5MSAxMi4yODd0NDIuNTcgMjcuNDI5IDYxLjczMiAyNy40MjkgNzYuMjg4IDEyLjI4OCA3Ni4yODgtMTIuMjg4IDYxLjczMi0yNy40MjkgNDIuNTctMjcuNDI5IDIzLjk5LTEyLjI4OHEzNC44OSAwIDYzLjcwOCAxMS40MXQ0OC44NiAzMC41NzQgMzUuNCA0Ni4zIDI0LjU3NiA1NS43MzUgMTUuMTQxIDYyLjAyNSA3Ljk3MyA2Mi4zMTggMS45NzQgNTkuMTcyek03MzEuNDI5IDI5Mi41N3EwIDkwLjg0NC02NC4yOTMgMTU1LjEzNlQ1MTIgNTEydC0xNTUuMTM2LTY0LjI5My02NC4yOTMtMTU1LjEzNiA2NC4yOTMtMTU1LjEzNlQ1MTIgNzMuMTQzdDE1NS4xMzYgNjQuMjkyIDY0LjI5MyAxNTUuMTM2eiIgcC1pZD0iMTA2ODQiIGZpbGw9IiMxMDEwMTAiPjwvcGF0aD48L3N2Zz4=');
background-repeat: no-repeat;
background-size: contain;
}
.icon-check_fit {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQyOTYwNTU0MzY3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjExODIwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik01NDAuNTY5NiAxMDIuNGMtMjI1LjgzMjk2IDAtNDA5LjYgMTgzLjc0NjU2LTQwOS42IDQwOS42czE4My43NjcwNCA0MDkuNiA0MDkuNiA0MDkuNmMyMjUuODczOTIgMCA0MDkuNi0xODMuNzQ2NTYgNDA5LjYtNDA5LjZTNzY2LjQ0MzUyIDEwMi40IDU0MC41Njk2IDEwMi40ek03MjEuMTYyMjQgNDY4LjQ4bC0xNzUuMzcwMjQgMTc1LjM5MDcyYy0xMi4yMDYwOCAxMi4xODU2LTI4LjIwMDk2IDE4LjI4ODY0LTQ0LjE5NTg0IDE4LjI4ODY0LTE1Ljk1MzkyIDAtMzEuOTY5MjgtNi4xMDMwNC00NC4xNTQ4OC0xOC4yODg2NGwtOTcuNDQzODQtOTcuNDQzODRjLTI0LjM5MTY4LTI0LjM5MTY4LTI0LjM5MTY4LTYzLjkzODU2IDAtODguMzMwMjQgMjQuMzkxNjgtMjQuNDEyMTYgNjMuOTE4MDgtMjQuNDEyMTYgODguMzUwNzIgMGw1My4yNDggNTMuMjQ4IDEzMS4yMzU4NC0xMzEuMjE1MzZjMjQuMzUwNzItMjQuMzcxMiA2My45NTkwNC0yNC4zNzEyIDg4LjMzMDI0IDBDNzQ1LjU1MzkyIDQwNC41MjA5NiA3NDUuNTUzOTIgNDQ0LjA4ODMyIDcyMS4xNjIyNCA0NjguNDh6IiBwLWlkPSIxMTgyMSIgZmlsbD0iIzM3QUQ0NiI+PC9wYXRoPjwvc3ZnPg==');
background-size: contain;
background-repeat: no-repeat;
}
.icon-arrow-down-line {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQyOTY5NDE0MDYwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3ODg4IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik01MTIuMTk3NDk4IDc1Mi4yMzg1MjYgMTU4LjQ5OTg5NyAzOTguNTQwOTI1Yy0xOC43Mzc3Ni0xOC43Mzc3Ni0xOC43Mzc3Ni00OS4wOTIwOTIgMC02Ny44Mjg4MjhzNDkuMDkyMDkyLTE4LjczNzc2IDY3LjgyODgyOCAwbDI4NS44Njg3NzMgMjg1Ljg2ODc3MyAyODUuODY4NzczLTI4NS44Njg3NzNjMTguNzM3NzYtMTguNzM3NzYgNDkuMDkyMDkyLTE4LjczNzc2IDY3LjgyODgyOCAwczE4LjczNzc2IDQ5LjA5MjA5MiAwIDY3LjgyODgyOEw1MTIuMTk3NDk4IDc1Mi4yMzg1MjZ6IiBmaWxsPSIjMDQwMDAwIiBwLWlkPSIyNzg4OSI+PC9wYXRoPjwvc3ZnPg==');
background-repeat: no-repeat;
background-size: contain;
}
.icon-add-custom {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQyOTYwODU2NzU0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjIzMDUyIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik01ODguOCA0MzUuMmgzNTguNGE3Ni44IDc2LjggMCAxIDEgMCAxNTMuNmgtMzU4LjR2MzU4LjRhNzYuOCA3Ni44IDAgMSAxLTE1My42IDB2LTM1OC40aC0zNTguNGE3Ni44IDc2LjggMCAxIDEgMC0xNTMuNmgzNTguNHYtMzU4LjRhNzYuOCA3Ni44IDAgMSAxIDE1My42IDB2MzU4LjR6IiBmaWxsPSIjNTUwMTAxIiBwLWlkPSIyMzA1MyI+PC9wYXRoPjwvc3ZnPg==');
background-size: contain;
background-repeat: no-repeat;
}
.icon-horn-ind {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQyOTYwNzQxMTM4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjIxOTIzIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik04OTIuNTU2OCAxMjYuOTQ0YTM4LjQgMzguNCAwIDAgMSAzLjQ0MzIgMTUuODkxMnY3MzguMzI5NmEzOC40IDM4LjQgMCAwIDEtNTQuMjkxMiAzNC45NTY4bC0yNzIuMTQwOC0xMjMuNjkyOGMtMzcuMjYwOCA2Mi4wMTYtMTEyLjMyIDk0LjU4NTYtMTg1LjY4OTYgNzQuOTI0OC04MS42ODk2LTIxLjg4OC0xMzIuODEyOC0xMDAuOTA4OC0xMjEuOTEzNi0xODIuNTUzNkgxNjYuNGEzOC40IDM4LjQgMCAwIDEtMzguNC0zOC40VjM3Ny42YTM4LjQgMzguNCAwIDAgMSAzOC40LTM4LjRoMTY2LjRsNTA4LjkwODgtMjMxLjMyMTZhMzguNCAzOC40IDAgMCAxIDUwLjg0OCAxOS4wNzJ6TTQwMy43NTY4IDc5My4xNzEyYzM2LjQ3MzYgOS43NzI4IDczLjcxNTItNC40MjI0IDk1LjAwOC0zMi45MzQ0bC0xNTkuNDExMi03Mi40NjA4Yy0xMC4wMjI0IDQ2LjQgMTguMDQ4IDkyLjk3MjggNjQuNDAzMiAxMDUuMzk1MnoiIGZpbGw9IiM1NTAwMDAiIHAtaWQ9IjIxOTI0Ij48L3BhdGg+PC9zdmc+');
background-repeat: no-repeat;
background-size: contain;
}
.icon-calendar-ind {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQyOTcwMzQyMDA5IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9Ijc0ODIyIiBpZD0ibXhfbl8xNzQyOTcwMzQyMDA5IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik04MzIgMTAyNEgxOTJjLTEwNi4wNDggMC0xOTItODYuMDE2LTE5Mi0xOTJWMTkyQzAgMTA4LjU0NCA1My42MzIgMzguMjA4IDEyOCAxMS43NzZWOTZhOTYgOTYgMCAxIDAgMTkyIDBWMGgzODR2OTZhOTYgOTYgMCAxIDAgMTkyIDBWMTEuNzc2Qzk3MC4zNjggMzguMjA4IDEwMjQgMTA4LjU0NCAxMDI0IDE5MnY2NDBjMCAxMDUuOTg0LTg1Ljk1MiAxOTItMTkyIDE5MnogbTY0LTcwNEgxMjh2NTEyYzAgMzUuMzkyIDI4LjYwOCA2NCA2NCA2NGg2NDBjMzUuMzkyIDAgNjQtMjguNjA4IDY0LTY0VjMyMHpNNjQwIDY0MGgxMjh2MTI4aC0xMjh2LTEyOHogbTAtMTkyaDEyOHYxMjhoLTEyOHYtMTI4eiBtLTE5MiAxOTJoMTI4djEyOGgtMTI4di0xMjh6IG0wLTE5MmgxMjh2MTI4aC0xMjh2LTEyOHogbS0xOTIgMTkyaDEyOHYxMjhoLTEyOHYtMTI4eiBtMC0xOTJoMTI4djEyOGgtMTI4di0xMjh6TTgwMCAxMjhBMzIgMzIgMCAwIDEgNzY4IDk2VjBoNjR2OTZBMzIgMzIgMCAwIDEgODAwIDEyOHogbS01NzYgMEEzMiAzMiAwIDAgMSAxOTIgOTZWMGg2NHY5NkEzMiAzMiAwIDAgMSAyMjQgMTI4eiIgcC1pZD0iNzQ4MjMiIGZpbGw9IiMzNDdDQUYiPjwvcGF0aD48L3N2Zz4=');
background-size: contain;
background-repeat: no-repeat;
}
.icon-coupon-ind {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQyOTcwNzA0OTMxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjgwNjI4IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik05Ni43NjggNjE4LjYxNzkwNWM1Ny4yMjIwOTUgMCAxMDMuNjE5MDQ4LTQ2LjcxMzkwNSAxMDMuNjE5MDQ4LTEwNC4zMjYwOTUgMC01Ny4xMDAxOS00NS41OTIzODEtMTAzLjQ3Mjc2Mi0xMDIuMTA3NDI5LTEwNC4zMDE3MTVWMjQzLjgwOTUyNGE3My4xNDI4NTcgNzMuMTQyODU3IDAgMCAxIDczLjE0Mjg1Ny03My4xNDI4NTdoNjgyLjY2NjY2N2E3My4xNDI4NTcgNzMuMTQyODU3IDAgMCAxIDczLjE0Mjg1NyA3My4xNDI4NTd2MTY2LjIyOTMzM2wtMy40ODY0NzYgMC4wNzMxNDNjLTU0LjkwNTkwNSAyLjYzMzE0My05OC41OTY1NzEgNDguMjc0Mjg2LTk4LjU5NjU3MiAxMDQuMTc5ODEgMCA1Ny4xMDAxOSA0NS41NDM2MTkgMTAzLjQ5NzE0MyAxMDIuMDU4NjY3IDEwNC4zMjYwOTVMOTI3LjIzMiA3ODAuMTkwNDc2YTczLjE0Mjg1NyA3My4xNDI4NTcgMCAwIDEtNzMuMTQyODU3IDczLjE0Mjg1N2gtNjgyLjY2NjY2N2E3My4xNDI4NTcgNzMuMTQyODU3IDAgMCAxLTczLjE0Mjg1Ny03My4xNDI4NTd2LTE2MS41OTY5NTJsLTEuNTExNjE5IDAuMDI0Mzgxek0zNjYuNDQ1NzE0IDYwOS41MjM4MXY5Ny41MjM4MDloNzcuNzI2NDc2di05Ny41MjM4MDlIMzY2LjQ0NTcxNHogbTAtMTQ2LjI4NTcxNXY5Ny41MjM4MWg3Ny43MjY0NzZ2LTk3LjUyMzgxSDM2Ni40NDU3MTR6IG0wLTE0Ni4yODU3MTR2OTcuNTIzODA5aDc3LjcyNjQ3NnYtOTcuNTIzODA5SDM2Ni40NDU3MTR6IiBwLWlkPSI4MDYyOSIgZmlsbD0iIzVEMzkwMCI+PC9wYXRoPjwvc3ZnPg==');
background-size: contain;
background-repeat: no-repeat;
}
.icon-computer-ind {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQyOTczMTgzNTk0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDExMjkgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI1MTE0IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik04NjguOTUxNzc5MTggMjE1LjM0Njc4NDY4SDI3NC4xMTMxMjk5NGMtMTAuMjY3NDk2MjcgMC0xOS4wMDI3NzQ2NiAzLjYxNTE2MTgtMjYuMzA5NDM2NTMgMTAuODg5MTA3MzktNy4yMjQ4NzExMyA3LjIzMDMyNDMzLTEwLjg5NDU2MDU4IDE1Ljk3NjUwNzY4LTEwLjg5NDU2MDU5IDI2LjIwNTgzNTE1djM3MC43NTg1ODQ1M2MwIDEwLjI0MDIzMjQ1IDMuNjY5Njg5NDYgMTguOTUzNzAwMjIgMTAuODk0NTYwNTkgMjYuMjI3NjQ1NzkgNy4zMDY2NjI1OSA3LjIyNDg3MTEzIDE2LjA0MTk0MDk5IDEwLjg2MTg0NDI5IDI2LjMwOTQzNjUzIDEwLjg2MTg0NDI5aDU5NC44Mzg2NDkyNGMxMC4yODM4NTQ0MiAwIDE5LjA0MDk0NDE1LTMuNjM2OTczMTUgMjYuMjgyMTczNDQtMTAuODYxODQ0MjkgNy4zMDEyMDk0MS03LjI3Mzk0NTU4IDEwLjkyMTgyNDQtMTUuOTg3NDEzMzQgMTAuOTIxODI0MzktMjYuMjI3NjQ1NzlWMjUyLjQ0MTcyNzIyYzAtMTAuMjI5MzI3NS0zLjYyMDYxNTAxLTE4Ljk3NTUxMDgzLTEwLjkyNzI3Njg2LTI2LjIwNTgzNTE2LTcuMjM1Nzc2ODEtNy4yNzM5NDU1OC0xNS45OTI4NjU4Mi0xMC44ODkxMDgxLTI2LjI3NjcyMDk3LTEwLjg4OTEwNzM4TTI3NC4wOTEzMTkzMSAxNDEuMjExNDI1NzhoNTk0LjgzODY0OTI0YzMwLjc3NTIyNTcyIDAgNTcuMDczNzU2NTcgMTAuODY3Mjk2NzYgNzguODYyODc3NzMgMzIuNTk2NDM4NTMgMjEuNzg5MTIxMTYgMjEuNzQwMDQ2NzEgMzIuNjYxODcxMTIgNDcuOTE4NjE4MDYgMzIuNjYxODcxMTQgNzguNjI4NDEwNDV2MzcwLjc2NDAzNjk5YzAgMzAuNjg3OTgxNzYtMTAuODcyNzQ5OTYgNTYuOTE1NjI3NTYtMzIuNjYxODcxMTQgNzguNjMzODYyOTMtMjEuNzg5MTIxMTYgMjEuNzI5MTQxMDUtNDguMDg3NjUyNzQgMzIuNTk2NDM4NTMtNzguODYyODc3NzMgMzIuNTk2NDM4NTFINjA4LjY4NzM3Nzk2djc0LjE1NzE2OTUzaDExMS41NDY1NjAyYzEwLjI2MjA0Mzc5IDAgMTkuMDMwMDM4NDkgMy42MTUxNjE4IDI2LjI4MjE3MzQ0IDEwLjg4OTEwODEgNy4yOTAzMDQ0NSA3LjIyNDg3MTEzIDEwLjkxMDkxODc0IDE1Ljk3NjUwNzY4IDEwLjkxMDkxODcyIDI2LjIwNTgzNTE4IDAgMTAuMjQwMjMyNDUtMy42MjA2MTUwMSAxOC45ODY0MTY1MS0xMC45MTYzNzE5MiAyNi4yMDAzODE5NS03LjI1MjEzNDk2IDcuMjg0ODUxMjUtMTYuMDE0Njc3MTcgMTAuOTAwMDEzMDUtMjYuMjc2NzIwMjQgMTAuOTAwMDEzNzlINDIyLjgwMzcwNzg3Yy0xMC4yNzg0MDE5NSAwLTE5LjAxOTEzMjgtMy42MTUxNjE4LTI2LjMwOTQzNzI4LTEwLjkwMDAxMzc5LTcuMjUyMTM0OTYtNy4yMTM5NjYxOC0xMC44OTQ1NjA1OC0xNS45NjAxNDk1Mi0xMC44OTQ1NjA1Ni0yNi4yMDAzODE5NSAwLTEwLjIzNDc3OTk4IDMuNjQ3ODc4MS0xOC45NzU1MTA4MyAxMC44OTQ1NjA1Ni0yNi4yMDU4MzUxOCA3LjI5MDMwNDQ1LTcuMjczOTQ1NTggMTYuMDMxMDM1MzEtMTAuODg5MTA4MSAyNi4zMDk0MzcyOC0xMC44ODkxMDgxaDExMS41MzU2NTQ1MnYtNzQuMTU3MTY5NTNIMjc0LjA5MTMxOTMxYy0zMC43OTcwMzYzMyAwLTU3LjA5MDExNTQ0LTEwLjg2NzI5Njc2LTc4Ljg2Mjg3ODQ1LTMyLjU5NjQzODUxQzE3My40MzkzMTk2OCA2ODAuMTE1OTM5MzEgMTYyLjU0NDc1OTExIDY1My44ODgyOTM1MSAxNjIuNTQ0NzU5MTEgNjIzLjIwMDMxMTc1VjI1Mi40NDE3MjcyMkMxNjIuNTQ0NzU5MTEgMjIxLjcyNjQ4MjM2IDE3My40MzkzMTk2OCAxOTUuNTQ3OTExMDIgMTk1LjIyODQ0MDg2IDE3My44MDc4NjQzMSAyMTcuMDA2NjU3MDYgMTUyLjA3ODcyMjU0IDI0My4yOTQyODI5OCAxNDEuMjExNDI1NzggMjc0LjA5MTMxOTMxIDE0MS4yMTE0MjU3OCIgcC1pZD0iMjUxMTUiIGZpbGw9IiM1RDM5MDAiPjwvcGF0aD48L3N2Zz4=');
background-repeat: no-repeat;
background-size: contain;
}
.ic-pdf {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQzNjU5NzI1NDQxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2NDMwIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik02MTYuNzQ2NjY3IDg1LjMzMzMzM0w4OTYgMzQ3LjkwNFY4NTMuMzMzMzMzYTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDEtODUuMzMzMzMzIDg1LjMzMzMzNEgyMTMuMzMzMzMzYTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDEtODUuMzMzMzMzLTg1LjMzMzMzNFYxNzAuNjY2NjY3YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDEgODUuMzMzMzMzLTg1LjMzMzMzNGg0MDMuNDEzMzM0eiBtMjQ0LjM1MiAyOTUuMzgxMzM0TDU4MS44MDI2NjcgMTE4LjE4NjY2N3YxNzcuMjM3MzMzYTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDAgODUuMzMzMzMzIDg1LjMzMzMzM2gxOTMuOTYyNjY3ek0yMzIuNzQ2NjY3IDUxMnYyMjQuODEwNjY3aDI4LjA3NDY2NnYtMTAyLjU3MDY2N2gxNC4zNzg2NjdjMjcuNjQ4IDAgNDYuOTMzMzMzLTEuMTA5MzMzIDU3LjgxMzMzMy0zLjI0MjY2NyAxMC44OC0yLjEzMzMzMyAyMC4wNTMzMzMtNS44NDUzMzMgMjcuNjA1MzM0LTExLjA5MzMzMyA3LjUwOTMzMy01LjE2MjY2NyAxMy4yNjkzMzMtMTEuNzc2IDE3LjI4LTE5Ljc1NDY2NyA0LjA1MzMzMy03Ljk3ODY2NyA2LjA1ODY2Ny0xNy4wMjQgNi4wNTg2NjYtMjcuMDUwNjY2cy0yLjA0OC0xOS4wMjkzMzMtNi4xODY2NjYtMjcuMDA4YTU2LjY2MTMzMyA1Ni42NjEzMzMgMCAwIDAtMTcuMTUyLTE5Ljk2OCA2NS45NjI2NjcgNjUuOTYyNjY3IDAgMCAwLTI0LjAyMTMzNC0xMS4wNTA2NjdDMzI3Ljg5MzMzMyA1MTMuMDI0IDMwOS41ODkzMzMgNTEyIDI4MS43MjggNTEySDIzMi43NDY2Njd6IG0yOC4wNzQ2NjYgOTYuNzI1MzMzdi03MC45MTJoMzkuMjEwNjY3YzM2LjU2NTMzMyAwIDU0Ljg2OTMzMyAxMS42NDggNTQuODY5MzMzIDM0Ljk4NjY2N2EzMy4yOCAzMy4yOCAwIDAgMS0xMS45NDY2NjYgMjYuMTEyYy03LjkzNiA2Ljk1NDY2Ny0yMi45MTIgMTAuMjQtNDQuODg1MzM0IDkuODEzMzMzaC0zNy4yNDh6TTQyNi4xMTIgNTEydjIyNC44MTA2NjdoNzcuMDU2YzMyIDAgNTYuMzItNC43Nzg2NjcgNzMuMDAyNjY3LTE0LjI5MzMzNCAxNi42NC05LjUxNDY2NyAyOS41MjUzMzMtMjIuNzQxMzMzIDM4LjU3MDY2Ni0zOS42MzczMzMgOS4wMDI2NjctMTYuODUzMzMzIDEzLjUyNTMzMy0zNC44NTg2NjcgMTMuNTI1MzM0LTUzLjg4OCAwLTE5LjAyOTMzMy0zLjAyOTMzMy0zNS44NC05LjEzMDY2Ny01MC4zNDY2NjdhMTAwLjg2NCAxMDAuODY0IDAgMCAwLTI2LjI4MjY2Ny0zNi45OTIgMTA4LjMzMDY2NyAxMDguMzMwNjY3IDAgMCAwLTQwLjY2MTMzMy0yMi40NDI2NjZjLTE1LjcwMTMzMy00LjgyMTMzMy00MC43NDY2NjctNy4yMTA2NjctNzUuMTM2LTcuMjEwNjY3SDQyNi4xMTJ6IG0yNy4wOTMzMzMgMTk5LjU5NDY2N3YtMTczLjc4MTMzNGgxNC4zNzg2NjdjMjYuNzk0NjY3IDAgNDcuMzYgMS4yOCA2MS43Mzg2NjcgMy44NCAxNC4zNzg2NjcgMi41NiAyNi44OCA3LjY4IDM3LjU0NjY2NiAxNS4zNnMxOC45MDEzMzMgMTcuNTc4NjY3IDI0LjY2MTMzNCAyOS43ODEzMzRjNS43NiAxMi4xNiA4LjY2MTMzMyAyNS40MjkzMzMgOC42NjEzMzMgMzkuNzY1MzMzIDAgMTQuMzM2LTIuNDMyIDI2Ljk2NTMzMy03LjMzODY2NyAzNy45MzA2NjdhNzQuMjgyNjY3IDc0LjI4MjY2NyAwIDAgMS0yMS40MTg2NjYgMjcuNzMzMzMzYy05LjM4NjY2NyA3LjU5NDY2Ny0yMC4zNTIgMTIuNzE0NjY3LTMyLjk4MTMzNCAxNS4zNi0xMi42MjkzMzMgMi42ODgtMzIuNzY4IDQuMDEwNjY3LTYwLjQxNiA0LjAxMDY2N2gtMjQuODMyeiBtMzM4LjA0OC04Mi45MDEzMzR2LTI2LjExMmgtOTQuMDM3MzMzdi02NC40NjkzMzNoOTQuMDM3MzMzVjUxMmgtMTIyLjE1NDY2NnYyMjQuODEwNjY3aDI4LjExNzMzM3YtMTA4LjExNzMzNGg5NC4wMzczMzN6IiBmaWxsPSIjRUE1NDU0IiBwLWlkPSIyNjQzMSI+PC9wYXRoPjwvc3ZnPg==');
background-size: cover;
background-repeat: no-repeat;
}
.ic-txt {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQzNjU5NzY3NTYzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NDkzIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik04MzIuODcgMzE1LjYzYzEuMDMtMTcuNTUtNS4xNS0zNS40NC0xOC41Ni00OC44NUw3MDEuMzUgMTUzLjgyYy0xMS42Mi0xNS42Ny0zMC4yNi0yNS44My01MS4yNy0yNS44M0gyNTYuODNjLTI2LjUyIDAtNDkuMjUgMTYuMTgtNTguODggMzkuMjFhNjMuNTYgNjMuNTYgMCAwIDAtNS4wNSAyNC45MVY1NDVoLTI0Ljg4Yy0yMi4wOSAwLTQwIDE3LjkxLTQwIDQwdjE0Mi44YzAgMjIuMDkgMTcuOTEgNDAgNDAgNDBoMjQuODh2NzAuNDhoMC40NmMzLjI2IDMyLjE4IDMwLjQzIDU3LjI5IDYzLjQ3IDU3LjI5aDUxMi4zOXYwLjA2YzM1LjIzIDAgNjMuNzktMjguNTYgNjMuNzktNjMuNzlWMzE5Ljc1YzAuMDEtMS4zOS0wLjA1LTIuNzYtMC4xNC00LjEyek0yMjcuNTIgNjE2LjY3di0zMi41OWgxMDcuNnYzMi41OWgtMzUuODd2MTE2LjE0aC0zNS44N1Y2MTYuNjdoLTM1Ljg2eiBtNTQxLjcgMjE1LjExSDI1Ni43Vjc2Ny44aDQwNi42NGMyMi4wOSAwIDQwLTE3LjkxIDQwLTQwVjU4NWMwLTIyLjA5LTE3LjkxLTQwLTQwLTQwSDI1Ni43VjE5MS43OGgzMjcuNTF2MTIxLjQ1YzAgMzUuMjMgMjguNTYgNjMuNzkgNjMuNzkgNjMuNzloMTIxLjIydjQ1NC43NnogbS00MjUuMDgtMjQ3LjdoNDAuNzlsMjEuMzIgNDEuOTkgMjEuMzItNDEuOTloNDAuNzlsLTQyLjYzIDcyLjQ5IDQ1LjUgNzYuMjVoLTQwLjk5bC0yMy45OC00NS43NS0yMy45OCA0NS43NWgtNDAuOTlsNDUuNS03Ni4yNS00Mi42NS03Mi40OXogbTEzMy4yMiAzMi41OXYtMzIuNTloMTA3LjZ2MzIuNTlINTQ5LjF2MTE2LjE0aC0zNS44N1Y2MTYuNjdoLTM1Ljg3eiBtMjkxLjg2LTMwMy40NEg2NDhWMTkxLjc4aDEuMDlsMTIwLjEzIDEyMC4xM3YxLjMyeiIgZmlsbD0iIzI0QTBDNiIgcC1pZD0iMjc0OTQiPjwvcGF0aD48cGF0aCBkPSJNMzUxLjQ3IDMyMC4yMkg0NzkuMmMxNy43NSAwIDMyLjE0LTE0LjM5IDMyLjE0LTMyLjE0cy0xNC4zOS0zMi4xNC0zMi4xNC0zMi4xNEgzNTEuNDdjLTE3Ljc1IDAtMzIuMTQgMTQuMzktMzIuMTQgMzIuMTQgMCAxNy43NiAxNC4zOSAzMi4xNCAzMi4xNCAzMi4xNHpNNTQzLjk4IDM4NC4wNEgzNTEuNDdjLTE3Ljc1IDAtMzIuMTQgMTQuMzktMzIuMTQgMzIuMTRzMTQuMzkgMzIuMTQgMzIuMTQgMzIuMTRoMTkyLjUxYzE3Ljc1IDAgMzIuMTQtMTQuMzkgMzIuMTQtMzIuMTQtMC4wMS0xNy43NS0xNC40LTMyLjE0LTMyLjE0LTMyLjE0eiIgZmlsbD0iIzI0QTBDNiIgcC1pZD0iMjc0OTUiPjwvcGF0aD48L3N2Zz4=');
background-size: cover;
background-repeat: no-repeat;
}
.ic-doc {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQzNjU5ODM3NjIxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI5NDI3IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik0yMTkuNDI0IDE4LjMwNGg1MzAuMjcybDIwMS4xNTIgMjE5LjQyNHY3NjhIMjE5LjQyNFYxOC4zMDR6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyOTQyOCI+PC9wYXRoPjxwYXRoIGQ9Ik03MzMuNjk2IDI1My43MjhWNTAuMzA0SDI1MS40MjR2OTIzLjQyNGg2NjcuNDI0di03MjBoLTE4NS4xNTJ6IG0yMTcuMTUyLTE2djc2OEgyMTkuNDI0VjE4LjMwNGg1MzAuMjcybDIwMS4xNTIgMjE5LjQyNHogbS01OC4wOC0xNmwtMTI3LjA0LTEzOC42MjR2MTM4LjYyNGgxMjcuMDR6IiBmaWxsPSIjNDY1Rjc4IiBwLWlkPSIyOTQyOSI+PC9wYXRoPjxwYXRoIGQ9Ik03My4xNTIgMjg4YTMyIDMyIDAgMCAxIDMyLTMyaDQ0OGEzMiAzMiAwIDAgMSAzMiAzMnY0NDhhMzIgMzIgMCAwIDEtMzIgMzJoLTQ0OGEzMiAzMiAwIDAgMS0zMi0zMlYyODh6TTY0MCA0MTZoMjI0djM3LjM0NGgtMjI0VjQxNnpNNjQwIDUwOS4zNDRoMjI0djM3LjMxMmgtMjI0di0zNy4zMTJ6TTY0MCA2MDIuNjU2aDIyNFY2NDBoLTIyNHYtMzcuMzQ0eiIgZmlsbD0iIzMxN0JGRiIgcC1pZD0iMjk0MzAiPjwvcGF0aD48cGF0aCBkPSJNMjIxLjk1MiA2NDBsLTU2LjI1Ni0yMzUuNjE2SDIxNC40bDM1LjUyIDE2MS44NTYgNDMuMDcyLTE2MS44NTZoNTYuNTc2bDQxLjI4IDE2NC41NzYgMzYuMTYtMTY0LjU3Nmg0Ny45MDRMNDE3LjY5NiA2NDBoLTUwLjQ2NGwtNDYuOTEyLTE3Ni4xNkwyNzMuNTM2IDY0MEgyMjEuOTUyeiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMjk0MzEiPjwvcGF0aD48L3N2Zz4=');
background-size: cover;
background-repeat: no-repeat;
}
.icon-clear {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQzNjcyMjA2OTExIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMxNDUzIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik01MTIgMzJDMjQ2LjQgMzIgMzIgMjQ2LjQgMzIgNTEyczIxNC40IDQ4MCA0ODAgNDgwIDQ4MC0yMTQuNCA0ODAtNDgwUzc3Ny42IDMyIDUxMiAzMnogbTE0MC44IDU3OS4yYzEyLjggMTIuOCAxMi44IDMyIDAgNDEuNi0xMi44IDEyLjgtMzIgMTIuOC00MS42IDBMNTEyIDU1My42bC05OS4yIDk5LjJjLTEyLjggMTIuOC0zMiAxMi44LTQxLjYgMHMtMTIuOC0zMiAwLTQxLjZsOTkuMi05OS4yLTk5LjItOTkuMmMtMTIuOC0xMi44LTEyLjgtMzIgMC00MS42IDEyLjgtMTIuOCAzMi0xMi44IDQxLjYgMGw5OS4yIDk5LjIgOTkuMi05OS4yYzEyLjgtMTIuOCAzMi0xMi44IDQxLjYgMCAxMi44IDEyLjggMTIuOCAzMiAwIDQxLjZMNTUzLjYgNTEybDk5LjIgOTkuMnoiIHAtaWQ9IjMxNDU0IiBmaWxsPSIjY2RjZGNkIj48L3BhdGg+PC9zdmc+');
background-size: contain;
background-repeat: no-repeat;
}
.icon-close {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ0ODc0NTc3NTYwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ0MzYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTU3Mi4xNiA1MTJsMTgzLjQ2NjY2Ny0xODMuMDRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDEgMC02MC41ODY2NjctNjAuNTg2NjY3TDUxMiA0NTEuODRsLTE4My4wNC0xODMuNDY2NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAtNjAuNTg2NjY3IDYwLjU4NjY2N2wxODMuNDY2NjY3IDE4My4wNC0xODMuNDY2NjY3IDE4My4wNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAwIDAgNjAuNTg2NjY3IDQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgNjAuNTg2NjY3IDBsMTgzLjA0LTE4My40NjY2NjcgMTgzLjA0IDE4My40NjY2NjdhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMCA2MC41ODY2NjcgMCA0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAwIDAtNjAuNTg2NjY3eiIgcC1pZD0iNDQzNyIgZmlsbD0iIzhhOGE4YSI+PC9wYXRoPjwvc3ZnPg==');
background-size: contain;
background-repeat: no-repeat;
z-index: 2;
}
.icon-arrow-solid::after {
content: '';
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ1ODA2NDUxMTAzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0MDQ5IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik0xMDA0Ljk5MTg5NCAyNDIuOTkzNDRjLTEyLjY1ODA2MS0xMi42Njg1NjgtMjcuNjYyODAyLTE4Ljk5NzU5OS00NS4wMDAyMTItMTguOTk3NTk5SDY0LjAwNDgxNmMtMTcuMzQ0NDE1IDAtMzIuMzM4NjQ5IDYuMzI5MDMtNDUuMDA3MjE3IDE4Ljk5NzU5OUM2LjMyOTAzIDI1NS42NzYwMTggMCAyNzAuNjcwMjUxIDAgMjg4LjAwNDE1OWMwIDE3LjMzMDQwNSA2LjMyOTAzIDMyLjMyNDYzOSAxOC45OTc1OTkgNDQuOTk2NzFsNDQ3Ljk5NTE4NCA0NDcuOTk1MTg0YzEyLjY4MjU3OCAxMi42Njg1NjggMjcuNjc2ODEyIDE5LjAxMTYwOSA0NS4wMDcyMTcgMTkuMDExNjA5czMyLjMzODY0OS02LjM0MzA0IDQ0Ljk5NjcxLTE5LjAxMTYwOUwxMDA0Ljk5MTg5NCAzMzIuOTk3MzY2YzEyLjY1NDU1OC0xMi42Njg1NjggMTkuMDA4MTA2LTI3LjY2MjgwMiAxOS4wMDgxMDYtNDQuOTk2NzA5IDAtMTcuMzMwNDA1LTYuMzUzNTQ4LTMyLjMyNDYzOS0xOS4wMDgxMDYtNDUuMDA3MjE3eiIgcC1pZD0iMTQwNTAiIGZpbGw9IiNkYmRiZGIiPjwvcGF0aD48L3N2Zz4=');
display: block;
background-size: cover;
width: 20rpx;
height: 20rpx;
margin-left: 10rpx;
}
.icon-user-default-blue {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQzOTg4MzkwNjkwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM0MDkiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiAxMDI0QzIyOS4yMDUzMzMgMTAyNCAwIDc5NC43OTQ2NjcgMCA1MTJTMjI5LjIwNTMzMyAwIDUxMiAwczUxMiAyMjkuMjA1MzMzIDUxMiA1MTItMjI5LjIwNTMzMyA1MTItNTEyIDUxMnogbTAtNDk2LjQ2OTMzM2ExNzAuNjY2NjY3IDE3MC42NjY2NjcgMCAxIDAgMC0zNDEuMzMzMzM0IDE3MC42NjY2NjcgMTcwLjY2NjY2NyAwIDAgMCAwIDM0MS4zMzMzMzR6IG0yNjMuNzY1MzMzIDI2My43MjI2NjZhMjYzLjc2NTMzMyAyNjMuNzY1MzMzIDAgMSAwLTUyNy41MzA2NjYgMGg1MjcuNTMwNjY2eiIgcC1pZD0iMzQxMCIgZmlsbD0iIzEyOTZkYiI+PC9wYXRoPjwvc3ZnPg==');
background-size: cover;
background-repeat: no-repeat;
}
.icon-add-circle-blue {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ3MDM1NjY4ODU4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE2NDIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiA5MzYuOTE1NjE5Yy0yMzQuNjcyNzY0IDAtNDI0LjkxNTYxOS0xOTAuMjQzODc5LTQyNC45MTU2MTktNDI0LjkxNTYxOVMyNzcuMzI3MjM2IDg3LjA4MzM1NyA1MTIgODcuMDgzMzU3YzIzNC42NzY4NTcgMCA0MjQuOTE2NjQzIDE5MC4yNDM4NzkgNDI0LjkxNjY0MyA0MjQuOTE1NjE5Uzc0Ni42NzY4NTcgOTM2LjkxNTYxOSA1MTIgOTM2LjkxNTYxOXpNNzI0LjQ1NzgxIDQ2OS41MDQxNCA1NTQuNDkxNzY3IDQ2OS41MDQxNCA1NTQuNDkxNzY3IDI5OS41NDYyODRsLTg0Ljk4MzUzMyAwIDAgMTY5Ljk1Nzg1N0wyOTkuNTQyMTkgNDY5LjUwNDE0bDAgODQuOTkxNzIgMTY5Ljk2NjA0MyAwIDAgMTY5Ljk2NjA0MyA4NC45ODM1MzMgMEw1NTQuNDkxNzY3IDU1NC40OTU4NmwxNjkuOTY2MDQzIDBMNzI0LjQ1NzgxIDQ2OS41MDQxNHoiIHAtaWQ9IjE2NDMiIGZpbGw9IiMzMjcwRkYiPjwvcGF0aD48L3N2Zz4=');
background-size: cover;
background-repeat: no-repeat;
}
.icon-del-red {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ3Mjk4NjU3MTUxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjEiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTc2NS41MDU2OTEgMTkxLjk0MjU2NyA2MzkuNjI3NzcyIDE5MS45NDI1NjdjMC0zNS4zMjQ1My0yOC42MzYyMDEtNjMuOTYwNzMxLTYzLjk2MDczMS02My45NjA3MzFMNDQ3Ljc0NTU4IDEyNy45ODE4MzZjLTM1LjMyNDUzIDAtNjMuOTYwNzMxIDI4LjYzNjIwMS02My45NjA3MzEgNjMuOTYwNzMxTDI1Ny45MDU5MDggMTkxLjk0MjU2N2MtMzYuNDUyMjEzIDAtNjYuMDAzMjUgMjkuNTUxMDM2LTY2LjAwMzI1IDY2LjAwMzI1bDAgNTkuODc1NjkyYzAgMzYuNDUyMjEzIDI5LjU1MTAzNiA2Ni4wMDMyNSA2Ni4wMDMyNSA2Ni4wMDMyNWwtMi4wNDI1MTkgMCAwIDQ0NS42ODE1NzJjMCAzNi40NTIyMTMgMjkuNTUxMDM2IDY2LjAwMzI1IDY2LjAwMzI1IDY2LjAwMzI1bDYxLjkxODIxMSAwIDYzLjk2MDczMSAwIDEyNy45MjE0NjEgMCA2My45NjA3MzEgMCA2MS45MTgyMTEgMGMzNi40NTIyMTMgMCA2Ni4wMDMyNS0yOS41NTEwMzYgNjYuMDAzMjUtNjYuMDAzMjVMNzY3LjU0OTIzNCAzODMuODIzNzM2bC0yLjA0MjUxOSAwYzM2LjQ1MjIxMyAwIDY2LjAwMzI1LTI5LjU1MTAzNiA2Ni4wMDMyNS02Ni4wMDMyNWwwLTU5Ljg3NTY5MkM4MzEuNTA4OTQxIDIyMS40OTI1OCA4MDEuOTU4OTI4IDE5MS45NDI1NjcgNzY1LjUwNTY5MSAxOTEuOTQyNTY3ek03MDMuNTg3NDggODAzLjQxMzA0NmMtMC4xMDEzMDcgMy4xMjMxMzEtMS43NDM3MTQgMjcuODEzNDYyLTI3Ljk2MTg0MiAyOC4xMzQ3ODFsLTM1Ljk5ODg4OSAwLTYzLjk2MDczMSAwTDQ0Ny43NDU1OCA4MzEuNTQ3ODI3IDM4My43ODQ4NSA4MzEuNTQ3ODI3bC0zNS44NzkxNjIgMGMtMjcuOTg4NDQ4LTAuMzQzODMxLTI3Ljk2OTAwNS0yOC40NTkxNjktMjcuOTY5MDA1LTI4LjQ1OTE2OWwtMC4xMTI1NjQgMC4wMzE3MjJMMzE5LjgyNDExOSAzODMuODIzNzM2bDM4My43NjMzNiAwTDcwMy41ODc0OCA4MDMuNDEzMDQ2ek03MzUuNTY3ODQ1IDMxOS44NjMwMDUgMjg3Ljg0Mzc1NCAzMTkuODYzMDA1Yy0xNy42NjIyNjUgMC0zMS45ODAzNjUtMTQuMzE4MS0zMS45ODAzNjUtMzEuOTgwMzY1IDAtMTcuNjYyMjY1IDE0LjMxODEtMzEuOTgwMzY1IDMxLjk4MDM2NS0zMS45ODAzNjVsMTU5LjkwMTgyNyAwIDEyNy45MjE0NjEgMCAxNTkuOTAxODI3IDBjMTcuNjYyMjY1IDAgMzEuOTgwMzY1IDE0LjMxODEgMzEuOTgwMzY1IDMxLjk4MDM2NUM3NjcuNTQ4MjEgMzA1LjU0NDkwNSA3NTMuMjMwMTEgMzE5Ljg2MzAwNSA3MzUuNTY3ODQ1IDMxOS44NjMwMDV6IiBwLWlkPSIyNjIyIiBmaWxsPSIjZTQ3YzZlIj48L3BhdGg+PHBhdGggZD0iTTQ0Ny43NDU1OCA3NjcuNTg4MTE5YzE3LjY2MjI2NSAwIDMxLjk4MDM2NS0xNC4zMTgxIDMxLjk4MDM2NS0zMS45ODAzNjVMNDc5LjcyNTk0NiA0NzkuNzY0ODMxYzAtMTcuNjYyMjY1LTE0LjMxODEtMzEuOTgwMzY1LTMxLjk4MDM2NS0zMS45ODAzNjUtMTcuNjYyMjY1IDAtMzEuOTgwMzY1IDE0LjMxODEtMzEuOTgwMzY1IDMxLjk4MDM2NWwwIDI1NS44NDI5MjJDNDE1Ljc2NTIxNSA3NTMuMjcwMDE5IDQzMC4wODMzMTYgNzY3LjU4ODExOSA0NDcuNzQ1NTggNzY3LjU4ODExOXoiIHAtaWQ9IjI2MjMiIGZpbGw9IiNlNDdjNmUiPjwvcGF0aD48cGF0aCBkPSJNNTc1LjY2NzA0MiA3NjcuNTg4MTE5YzE3LjY2MjI2NSAwIDMxLjk4MDM2NS0xNC4zMTgxIDMxLjk4MDM2NS0zMS45ODAzNjVMNjA3LjY0NzQwNyA0NzkuNzY0ODMxYzAtMTcuNjYyMjY1LTE0LjMxODEtMzEuOTgwMzY1LTMxLjk4MDM2NS0zMS45ODAzNjUtMTcuNjYyMjY1IDAtMzEuOTgwMzY1IDE0LjMxODEtMzEuOTgwMzY1IDMxLjk4MDM2NWwwIDI1NS44NDI5MjJDNTQzLjY4NjY3NiA3NTMuMjcwMDE5IDU1OC4wMDQ3NzcgNzY3LjU4ODExOSA1NzUuNjY3MDQyIDc2Ny41ODgxMTl6IiBwLWlkPSIyNjI0IiBmaWxsPSIjZTQ3YzZlIj48L3BhdGg+PC9zdmc+');
background-size: cover;
background-repeat: no-repeat;
}
.icon-cancel-yellow {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ3MzAyNjYxODQ1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjU2MDMiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTQyNi42MjQgOTYuNTY4ODg5TDcxLjMxMDIyMiA0NTEuMzg0ODg5YTQ5LjEyMzU1NiA0OS4xMjM1NTYgMCAwIDAgMCA2OS41NDY2NjdsMzU1LjMxMzc3OCAzNTQuODQ0NDQ0YzcuMjUzMzMzIDcuMjY3NTU2IDE3LjA5NTExMSAxMS4zNjM1NTYgMjcuMzYzNTU2IDExLjM3Nzc3OGw0LjI2NjY2Ni0wLjIxMzMzNGEzOC42NTYgMzguNjU2IDAgMCAwIDM0LjQ3NDY2Ny0zOC40VjY0MS4wNTI0NDRsMTEuNzE5MTExIDAuNDU1MTEyYTUxMi44ODE3NzggNTEyLjg4MTc3OCAwIDAgMSAzOTUuMzc3Nzc4IDIxNS4xODIyMjJsNTIuMDUzMzMzIDc0LjA0MDg4OSAxMS42MDUzMzMtODkuNzg0ODg5YTQ3MS40NjY2NjcgNDcxLjQ2NjY2NyAwIDAgMCAzLjc1NDY2Ny01OS40MzQ2NjdsLTAuMDk5NTU1LTEwLjczNzc3OGMtNS42ODg4ODktMjUwLjMxMTExMS0yMTAuODU4NjY3LTQ1Mi4zNjYyMjItNDY2Ljc3MzMzNC00NjMuMzg4NDQ0bC03LjU2NjIyMi0wLjI0MTc3OFYxMjMuOTYwODg5YTM4LjY5ODY2NyAzOC42OTg2NjcgMCAwIDAtNjYuMDYyMjIyLTI3LjI5MjQ0NWwtMC4xMTM3NzgtMC4wOTk1NTV6IiBmaWxsPSIjRkU5OTQ0IiBwLWlkPSI1NjA0Ij48L3BhdGg+PC9zdmc+');
background-size: cover;
background-repeat: no-repeat;
}
.icon-location-yellow {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ1NzQzODkzOTMwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUxMzEiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUzNi4yMTcgOTAuNjljLTE2OC4wMjcgMC0zMDIuNTI0IDEzNC40OTctMzAyLjUyNCAzMDIuNTI0IDAgMTIwLjk2MSA4Ny4wNTYgMjE1LjA5NSAxODEuMTkxIDMzNi4wNTUgMzIuNzg2IDQ1Ljk0OSA1OC44NjYgOTEuOSA5Mi4wMjMgMTUwLjI2OCAxLjc0IDMuMTA1IDMuOTc0IDUuOTYxIDYuNTgyIDguMzIxIDUuNTg4IDUuMDkxIDEyLjA0NyA5LjQzOCAyMi43MjYgOS40Mzh2MGMxMS40MjUgMCAxOC4wMDctNC44NDQgMjMuODQ0LTEwLjQzMiAxLjk4Ni0xLjg2MiAzLjcyNi00LjA5OCA1LjIxNy02LjMzNCAzMy4xNTgtNTIuNDA5IDU5LjM2Mi05OC40ODEgOTIuMjczLTE0NC41NTYgOTQuMTM1LTEyNy42NjYgMTgxLjE5MS0yMjEuODAxIDE4MS4xOTEtMzQyLjc2MSAwLTE2OC4wMjctMTM0LjQ5Ny0zMDIuNTI0LTMwMi41MjQtMzAyLjUyNHYwek01MzYuMjE3IDQ5NC4wNTVjLTUzLjc3NCAwLTEwMC44NDItNDAuMzYyLTEwMC44NDItMTAwLjg0MnM0MC4zNjItMTAwLjg0MiAxMDAuODQyLTEwMC44NDJjNTMuNzc0IDAgMTAwLjg0MiA0MC4zNjIgMTAwLjg0MiAxMDAuODQyIDAgNTMuNzc0LTQwLjM2MiAxMDAuODQyLTEwMC44NDIgMTAwLjg0MnYweiIgcC1pZD0iNTEzMiIgZmlsbD0iI0ZFOTk0NCI+PC9wYXRoPjxwYXRoIGQ9Ik01MzYuMjE3IDc3MC42MjRjLTE0MC4zMzQgMC0yNTQuMDkxIDUzLjUyNS0yNTQuMDkxIDExOS40N3MxMTMuNzU3IDExOS40NyAyNTQuMDkxIDExOS40NyAyNTQuMDkxLTUzLjUyNSAyNTQuMDkxLTExOS40Ny0xMTMuNzU3LTExOS40Ny0yNTQuMDkxLTExOS40N3pNNTM2LjIxNyA5MzguNjUxYy0xMDUuNTYxIDAtMTkxLjAwMy0zNy41MDUtMTkxLjAwMy03OC43MzVzODUuNTY2LTc0Ljg4NiAxOTEuMDAzLTc0Ljg4NiAxOTEuMDAzIDMzLjUzMiAxOTEuMDAzIDc0Ljg4Ni04NS41NjYgNzguNzM1LTE5MS4wMDMgNzguNzM1eiIgcC1pZD0iNTEzMyIgZmlsbD0iI0ZFOTk0NCI+PC9wYXRoPjwvc3ZnPg==');
background-size: cover;
background-repeat: no-repeat;
}
.icon-edit-blue {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ3NjM4NDE1Nzg2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM3OTgiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTIxNy42IDc5My42aDU2My4yYzIwLjQ4IDAgMzguNCAxNy45MiAzOC40IDM4LjRzLTE3LjkyIDM4LjQtMzguNCAzOC40SDIxNy42Yy0yMC40OCAwLTM4LjQtMTUuMzYtMzguNC0zOC40IDAtMjAuNDggMTcuOTItMzguNCAzOC40LTM4LjR6IiBmaWxsPSIjQTNDQ0ZGIiBwLWlkPSIzNzk5Ij48L3BhdGg+PHBhdGggZD0iTTc5My42IDM0MC40OGwtNTguODggNjYuNTYtMTk5LjY4LTIwNC44IDYxLjQ0LTY0YzEyLjgtMTUuMzYgMzMuMjgtMTUuMzYgNDguNjQgMGwxNDguNDggMTUzLjZjMTIuOCAxMi44IDEyLjggMzMuMjggMCA0OC42NHpNMTk5LjY4IDU0Mi43MmwyOTEuODQtMzA0LjY0IDE5OS42OCAyMDQuOC0yOTEuODQgMzA0LjY0SDE5OS42OHYtMjA0Ljh6IiBmaWxsPSIjMjU4OUZGIiBwLWlkPSIzODAwIj48L3BhdGg+PC9zdmc+');
background-size: cover;
background-repeat: no-repeat;
}
.icon-hook-yellow {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ3NzIyOTUyNzgwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjQiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTgyMS43ODEgMjY5Ljk0NmMxNS44NjMtMTcuNDI2IDQyLjg0OC0xOC42OTMgNjAuMjc0LTIuODMxIDE3LjQyNSAxNS44NjIgMTguNjkzIDQyLjg0NyAyLjgzIDYwLjI3M0w0NDguNzYxIDgwNi41Yy0xNi41NSAxOC4xOC00NC45OTkgMTguNjUtNjIuMTQgMS4wMjZMMTQwLjA4IDU1NC4wMThjLTE2LjQzLTE2Ljg5My0xNi4wNTMtNDMuOTA2IDAuODQtNjAuMzM0IDE2Ljg5My0xNi40MyA0My45MDUtMTYuMDUzIDYwLjMzNCAwLjg0bDIxNC45MjcgMjIxIDQwNS42LTQ0NS41Nzh6IiBmaWxsPSIjRkU5OTQ0IiBwLWlkPSIyNjI1Ij48L3BhdGg+PC9zdmc+');
background-size: cover;
background-repeat: no-repeat;
}
.icon-phone-gray {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ3ODA4MDY2MDM2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2NDAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTI4OS4xMDM0NDQgNjcuMTE5Njc3YzE3LjE3NTE3MSAwLjA2NjUxNSAzMS44NDAxNzIgMS42MjA5MTcgNDEuNzY5MzEyIDguOTUwODU5IDEyLjY4Mzg4IDkuMzYzMjUyIDI3LjMyNTM0NSAzOC41OTI5NyA0MC41OTY2MDQgNzAuMzAyMTU5IDEzLjY1OTA5MSAzMi42MzYzMDUgMjUuODY3MTM0IDY3Ljg5ODQxMyAzMi45OTY1MDggODYuODMwNjAxIDUuMDU1MTMzIDEzLjQyNDc1NCAyMS45ODA2MTcgNTMuNjUxOTQ0IDE2LjkwNzA2NSA3Mi41OTk0ODItOS41NDMzNTQgMzUuNjMyNTQ1LTU3LjUwMTYyMiAzNS42ODY3OC03MS42MDQ4MjggNjUuNjM3OTI5LTEwLjgyMjQ4NiAyMi45ODQ0ODEgMTAuNjc3MTc3IDUwLjkyNTg1NiAxOS44OTAwMDMgNjUuNjM3OTI5IDE2LjU5MTg4NyAyNi40OTQ0MjEgMzUuNDk5NTE1IDUxLjA3MTE2NiA1NS4xNjc0NiA3NC45MjIzODcgMjQuNTMxNzE5IDI5Ljc0OTU1OCA1MC4yNDQzMzQgNTguMzcxNDMyIDc0LjExOTA5MSA4OC4xNzcyNzIgMjYuMTM0MjE3IDMyLjYyNzA5NSA1Ny45MDY4NTEgNzAuODI4MTM5IDk0LjQ3ODc5MSA5Mi40ODk0ODQgNDcuOTYwMzE1IDI4LjQwNjk4IDY5Ljg0NDc0MS02Ny45OTM1OCAxMjIuMDc2MzM2LTQ5Ljk3NDE4MiA1NS40NDU4IDE5LjEyODY2MyA1Ny4xMDE1MDkgMjAuMzk5NjA5IDEwMC45MDIwODQgNTIuNTkwNzc1IDYuMTc2Njc2IDQuNTM5Mzg2IDIyLjI5MTcwMiAxNC4xMTk1NzkgMzguMzE3NzAxIDI2LjQ4MjE0MSAyMy4xOTIyMTIgMTcuODkxNDg2IDQ4LjgwMDQ0OSA0MS40OTQwNDMgNTMuOTY1MDc2IDUxLjQ1Njk1MiAxMC4yNTM1MjggMTkuNzgzNTc5IDAuODk4NDYzIDQ2Ljk5MDIyMS02Ljk2MTU1MiA2Mi42NTM5NjktMjEuODg1NDUgNDMuNjEzMzEtNTQuMzc0Mzk4IDc5LjE3MzIwMS05NS40NzM0NDUgMTAzLjQyODYyNy01NC4wMTgyODggMzEuODgxMTA1LTExOC4xNTQwMDQgMTUuODU4MTc2LTE3NC4xOTUzNjgtMTIuMTI1MTU1LTQ0LjU5NzczMS0yMi4yNjkxODktODQuMDcwNzQ0LTUyLjExMTg2OC0xMDkuMjM5OTgzLTcxLjQxNDQ5My00MS4yOTc1NjgtMzEuNjcxMzI3LTc5LjEyMTAxMi02Ni45NjUxNTgtMTE0LjQ3NTIxOC0xMDQuNzA4NzgzLTI3Ljg1NDM5NS0yOS43MzcyNzgtNTQuMTc0ODUzLTYwLjk5NDE2Ni03OS40NTQ2MS05My4xOTg2MzUtMjguNjQ2NDM0LTM2LjQ5NDE2OS01Ny42Mjc0ODktNzIuMTE1NDU4LTg0Ljg4NTI5Ni0xMDkuNDk3ODU2LTMzLjE3NjYxLTQ1LjQ5OTI2My02My44MDAwNzItOTMuNjA3OTU4LTg4LjE1OTg3Ni0xNDkuMDc1MjQ3LTIyLjQzNzAxMi01MS4wODk1ODUtNjkuMTIxMjY0LTE2My42NDgxNTEtMjkuODM1NTE2LTIzMC43MjY4OTUgMjMuODAyMTAyLTQwLjY0MTYyOSA2Ny4yMjgxNDctNzEuNDMzOTM2IDExMy4zNzQxNC04OS41MDU1MjNDMjU0LjY0OTc0NyA3My4wNzIyNDkgMjcyLjYxNDkxMSA3My43NTE3MjQgMjg5LjEwMzQ0NCA2Ny4xMTk2Nzd6IiBwLWlkPSIyNjQxIiBmaWxsPSIjOGE4YThhIj48L3BhdGg+PC9zdmc+');
background-size: cover;
background-repeat: no-repeat;
}
.icon-verifycor-gray {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ3ODA4MTg0NzgyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEwNjUzIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik04MzUuMSAyMDAuOWMtNy43IDAuMy0xNS4zIDAuNC0yMi43IDAuNC0xOTQuOSAwLTI4MC45LTgyLjYtMjgxLjYtODMuM2wtMTkuNC0xOS43LTE5LjYgMTkuN2MtMC44IDAuOS04NSA4My4zLTI4MS41IDgzLjMtNy40IDAtMTUtMC4xLTIyLjctMC40bC0yNy40LTAuOXYzNzQuNGMwIDk4IDM1LjQgMjQxIDM0MS42IDM1MC40bDkuNiAzLjQgOS42LTMuNGMzMDYuMi0xMDkuNCAzNDEuNi0yNTIuNCAzNDEuNi0zNTAuNFYyMDBsLTI3LjUgMC45TTQ4MS4yIDY3MS4yTDMwNC44IDUxNy42bDQ2LjgtMzcuMyA5My44IDY4UzU3NC45IDQxNi42IDcwMCAzNTVsMTcuOSAxOS44UzU2MS42IDUwMi4yIDQ4MS4yIDY3MS4ybTAgMCIgcC1pZD0iMTA2NTQiIGZpbGw9IiM4YThhOGEiPjwvcGF0aD48L3N2Zz4=');
background-size: cover;
background-repeat: no-repeat;
}
.icon-link-yellow {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ4NDA0NDgxMDU0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEwMjc0IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik00MzEuOCAzNTBjMzYuOCAwIDcxLjUgNy45IDEwNC4zIDIzLjYgMjQuNiAxMS42IDQ2LjggMjcuNCA2Ni44IDQ3LjMgMTkuOSAxOS45IDM1LjcgNDIuMiA0Ny4zIDY2LjctMTUuOCAxNS44LTM0LjggMjMuNi01NyAyMy42LTcuOCAwLTE1LjYtMS4yLTIzLjYtMy41LTEzLjQtMjEuOC0zMS44LTQwLjEtNTMuNi01My42LTI1LjgtMTUuNy01My45LTIzLjYtODQuMS0yMy42LTIxIDAtNDEuNCA0LTYxLjEgMTItMTkuNyA4LTM3LjQgMTkuOC01Mi45IDM1LjNsLTEyMSAxMjFjLTE1LjUgMTUuNS0yNy4zIDMzLjItMzUuMyA1Mi45LTcuOSAxOS40LTEyIDQwLjEtMTIgNjEuMXM0IDQxLjQgMTIgNjEuMWM4IDE5LjggMTkuNyAzNy40IDM1LjMgNTIuOSAxNS42IDE1LjYgMzMuMiAyNy4zIDUyLjkgMzUuMyAxOS40IDcuOSA0MC4yIDEyIDYxLjIgMTJzNDEuNC00IDYxLjEtMTJjMTkuNy04IDM3LjQtMTkuOCA1Mi45LTM1LjNsODQuNy04NC43YzI2LjkgNy4zIDU0LjcgMTEgODMuNSAxMSA0LjYgMCAxMS4xLTAuMiAxOS41LTAuNi0zLjIgMy41LTYuNCA3LTkuNyAxMC40bC0xMjEgMTIxYy0yMy4zIDIzLjMtNDkuNyA0MC45LTc5LjMgNTIuOS0yOS4xIDExLjktNjAuMyAxOC05MS44IDE4cy02Mi4yLTYtOTEuOC0xOC4xYy0yOS43LTEyLjEtNTYuMS0yOS43LTc5LjMtNTIuOC0yMy4zLTIzLjMtNDAuOS00OS43LTUyLjktNzkuMi0xMS45LTI5LjEtMTgtNjAuMy0xOC05MS44czYuMS02Mi43IDE4LTkxLjhjMTItMjkuNSAyOS42LTU1LjkgNTIuOS03OS4ybDEyMS0xMjFjMi4zLTIuMyA1LjgtNS41IDEwLjQtOS44IDIyLjUtMjAgNDcuNi0zNS4xIDc1LjMtNDUuNSAyNy43LTEwLjMgNTYuMS0xNS41IDg1LjMtMTUuNnpNNzE0LjEgNjcuOGMzMS41IDAgNjIuNyA2LjEgOTEuOCAxOCAyOS41IDExLjkgNTUuOSAyOS42IDc5LjMgNTIuOSAyMy4zIDIzLjMgNDEgNDkuNyA1Mi45IDc5LjIgMTEuOSAyOS4yIDE4IDYwLjMgMTcuOSA5MS44IDAgMzEuNS02LjEgNjIuMS0xOC4xIDkxLjgtMTIuMSAyOS43LTI5LjcgNTYuMS01Mi44IDc5LjJsLTEyMSAxMjFjLTIuMyAyLjQtNS44IDUuNi0xMC40IDkuOC0yMi40IDIwLTQ3LjUgMzUuMS03NS4zIDQ1LjUtMjcuMyAxMC4zLTU2LjIgMTUuNi04NS40IDE1LjYtMzYuNyAwLTcxLjUtNy45LTEwNC4zLTIzLjYtMjQuNi0xMS42LTQ2LjgtMjcuNC02Ni44LTQ3LjMtMTkuOS0xOS45LTM1LjctNDIuMi00Ny4zLTY2LjcgMTUuNy0xNS44IDM0LjctMjMuNiA1Ny0yMy42IDcuOCAwIDE1LjcgMS4yIDIzLjYgMy41IDEzLjQgMjEuOCAzMS43IDQwLjEgNTMuNSA1My42IDI1LjkgMTUuNyA1My45IDIzLjYgODQuMSAyMy42IDIxIDAgNDEuNC00IDYxLjEtMTIgMTkuOC04IDM3LjQtMTkuOCA1Mi45LTM1LjNsMTIxLTEyMWMxNS42LTE1LjUgMjcuMy0zMy4yIDM1LjMtNTIuOSA3LjktMTkuNCAxMi00MC4xIDEyLTYxLjFzLTQtNDEuNC0xMi02MS4xYy04LTE5LjgtMTkuOC0zNy40LTM1LjMtNTIuOS0xNS42LTE1LjYtMzMuMi0yNy4zLTUyLjktMzUuMy0xOS40LTcuOS00MC4yLTEyLTYxLjEtMTItMjEgMC00MS40IDQtNjEuMSAxMi0xOS44IDgtMzcuNCAxOS44LTUyLjkgMzUuM0w1MTUgMjgwLjVjLTI2LjktNy4zLTU0LjctMTEtODMuNS0xMS00LjYgMC0xMS4xIDAuMi0xOS41IDAuNiAzLjItMy41IDYuNC03IDkuOC0xMC40bDEyMS0xMjFjMjMuMS0yMy4xIDQ5LjUtNDAuNyA3OS4yLTUyLjggMjkuOS0xMi4xIDYwLjUtMTguMiA5Mi4xLTE4LjF6IG0wIDAiIHAtaWQ9IjEwMjc1IiBmaWxsPSIjRkU5OTQ0Ij48L3BhdGg+PC9zdmc+');
background-size: cover;
background-repeat: no-repeat;
}
.icon-download-blue {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ4NDA1MzgwNDA3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEzMDcgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjExNDAxIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik02NTUuNDUwNTg0IDEwMjMuOTk5Nzg3YTYzLjc4NzM2MiA2My43ODczNjIgMCAwIDEtNDQuODk5MjE2LTE4LjMyMTE0OGwtMTM1LjMzNTUyLTEzMi44OTAzMzdhMzIuOTkyMjQxIDMyLjk5MjI0MSAwIDAgMS0zLjU0Mzc0Mi00NC4xMTk1OTMgMzEuODkzNjgxIDMxLjg5MzY4MSAwIDAgMSA0Ny4wMjU0NjEtMi41NTE0OTRsMTM2LjI5MjMzIDEzMy44MTE3MTFhMC4zMTg5MzcgMC4zMTg5MzcgMCAwIDAgMC40MjUyNDkgMGwxMTUuMDI5ODc3LTExNi41NTM2ODZhMzEuODkzNjgxIDMxLjg5MzY4MSAwIDAgMSA0Ny4wNjA4OTggMS43MzY0MzQgMzMuMDI3Njc5IDMzLjAyNzY3OSAwIDAgMS0yLjcyODY4MiA0NC4xOTA0NjdsLTExMy43MTg2OTEgMTE1LjU5Njg3NWE2My43ODczNjIgNjMuNzg3MzYyIDAgMCAxLTQ1LjYwNzk2NCAxOS4xMDA3NzF6IiBmaWxsPSIjMTI5NmRiIiBwLWlkPSIxMTQwMiI+PC9wYXRoPjxwYXRoIGQ9Ik02NTUuOTQ2NzA4IDEwMjAuNzM5NTQ0YTMxLjg5MzY4MSAzMS44OTM2ODEgMCAwIDEtMzEuODkzNjgxLTMxLjE4NDkzMmwtMTEuMDIxMDM5LTQ3Ny44MDI3OGEzMS45MDA3NjkgMzEuOTAwNzY5IDAgMSAxIDYzLjc4NzM2Mi0xLjQ1MjkzNWwxMS4wMjEwMzkgNDc3LjgwMjc4YTMxLjg5MzY4MSAzMS44OTM2ODEgMCAwIDEtMzEuMTQ5NDk1IDMyLjYwMjQzeiIgZmlsbD0iIzEyOTZkYiIgcC1pZD0iMTE0MDMiPjwvcGF0aD48cGF0aCBkPSJNOTgxLjk3MTAwMyA5ODkuMjM1Njc1YTMyNS41NjM2MDkgMzI1LjU2MzYwOSAwIDAgMS04OC41OTM1NTgtMTIuMjI1OTExYy0xNi4zMzY2NTItNC42NDIzMDItMjcuNTcwMzE1LTIwLjg3MjY0Mi0yNC4xNjgzMjMtMzcuNDkyNzk0YTMxLjg5MzY4MSAzMS44OTM2ODEgMCAwIDEgNDAuMTE1MTYzLTI0LjMxMDA3MyAyNjEuNTI4MTg1IDI2MS41MjgxODUgMCAxIDAgMjMuMzUzMjYyLTUwNy45OTU0NjQgMzEuODkzNjgxIDMxLjg5MzY4MSAwIDAgMS0zNy4zNTEwNDQtMzYuOTYxMjMzIDI2My44NjcwNTUgMjYzLjg2NzA1NSAwIDAgMCA0LjIxNzA1My00Ni41MjkzMzcgMjYwLjYwNjgxMiAyNjAuNjA2ODEyIDAgMCAwLTIzMi41NDAzNzItMjU5Ljg2MjYyNmgtMjYuNzkwNjkyYTI2MC42MDY4MTIgMjYwLjYwNjgxMiAwIDAgMC0yMzIuNTA0OTM1IDI1OS44NjI2MjYgMjYzLjg2NzA1NSAyNjMuODY3MDU1IDAgMCAwIDQuMjE3MDUzIDQ2LjUyOTMzNyAzMS44OTM2ODEgMzEuODkzNjgxIDAgMCAxLTM3LjM4NjQ4MiAzNi45NjEyMzMgMjYxLjQyMTg3MyAyNjEuNDIxODczIDAgMSAwIDIxLjk3MTIwMyA1MDguMzg1Mjc2IDMzLjA5ODU1MyAzMy4wOTg1NTMgMCAwIDEgMzkuOTAyNTM5IDE4LjQyNzQ2IDMxLjg5MzY4MSAzMS44OTM2ODEgMCAwIDEtMjAuODAxNzY4IDQyLjUyNDkwOCAzMjUuMjgwMTEgMzI1LjI4MDExIDAgMSAxLTkwLjMyOTk5Mi02MzcuODczNjIxaDMuMzMxMTE3YTE1LjA5NjM0MiAxNS4wOTYzNDIgMCAwIDAgMTUuMzA4OTY3LTE1LjAyNTQ2OEEzMjQuMjg3ODYyIDMyNC4yODc4NjIgMCAwIDEgNjM1LjI1MTI1MiAwLjE0MTc1aDM2LjcxMzE3MWEzMjQuMjg3ODYyIDMyNC4yODc4NjIgMCAwIDEgMjkxLjMzMTA1OCAzMjMuNTA4MjM4IDE0LjkxOTE1NSAxNC45MTkxNTUgMCAwIDAgMTUuMTMxNzggMTQuODgzNzE4aDMuNTQzNzQyYTMyNS4zNTA5ODQgMzI1LjM1MDk4NCAwIDAgMSAwIDY1MC43MDE5Njl6IiBmaWxsPSIjMTI5NmRiIiBwLWlkPSIxMTQwNCI+PC9wYXRoPjwvc3ZnPg==');
background-size: cover;
background-repeat: no-repeat;
}
.icon-table {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ4NDE0ODE1MDc2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjkwMDMiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTkyNi4wOCAxOTJMNDI1LjYgOTIuMTZsLTIzLjA0IDY0LTE1MS4wNCA0MTEuNTJhNDEuNiA0MS42IDAgMCAxLTMzLjkyIDMyIDM5LjA0IDM5LjA0IDAgMCAxLTM5LjY4LTU2LjMybDQ4LjY0LTEzMy4xMkwzNjEuNiA0MC45NmE0MC45NiA0MC45NiAwIDAgMSA1My43Ni0zMC4wOGw1NjIuNTYgMTExLjM2YTQwLjMyIDQwLjMyIDAgMCAxIDMzLjkyIDU2LjMyYy02NCAyMDYuNzItMTM1LjA0IDQxMy40NC0yMTUuMDQgNjE1LjA0YTY0MCA2NDAgMCAwIDEtNjQgMTI4IDIwNy4zNiAyMDcuMzYgMCAwIDEtMTY3LjA0IDkyLjhBMjM2LjE2IDIzNi4xNiAwIDAgMSA0NDggOTkwLjcyYy0xMDYuMjQtNDcuMzYtMjExLjItOTQuNzItMzE2LjgtMTQyLjA4YTIwOC42NCAyMDguNjQgMCAwIDEtNzkuMzYtNTUuMDQgMTkyIDE5MiAwIDAgMS00Mi4yNC0xNDEuNDRjMC0xNy4yOCA0LjQ4LTM1LjIgNy4wNC01NC40bDEwLjg4IDMuODRjMTQxLjQ0IDU2Ljk2IDI4Mi4yNCAxMTQuNTYgNDIzLjY4IDE3MC44OGExMy40NCAxMy40NCAwIDAgMSA5LjYgMTQuMDggMjAzLjUyIDIwMy41MiAwIDAgMCAxOC41NiA5OS4yIDkyLjggOTIuOCAwIDAgMCA5Ni42NCA0OS4yOCAxMzYuMzIgMTM2LjMyIDAgMCAwIDk4LjU2LTcyLjk2IDg1OC4yNCA4NTguMjQgMCAwIDAgNjQtMTQ1LjkyYzYwLjE2LTE1Ni44IDExMy45Mi0zMTYuMTYgMTY2LjQtNDc2LjE2IDUuNzYtMTYgMTAuODgtMzIgMTYtNDguNjR6IG0wIDAiIGZpbGw9IiMxNkEzNEEiIHAtaWQ9IjkwMDQiPjwvcGF0aD48cGF0aCBkPSJNNjQ1Ljc2IDY4OS45MmEzNy43NiAzNy43NiAwIDAgMS01MC41NiAzNS44NGwtMTYzLjg0LTU0LjRhMzkuNjggMzkuNjggMCAwIDEtMjYuMjQtNDAuMzIgMzcuNzYgMzcuNzYgMCAwIDEgMzMuMjgtMzMuMjggNTIuNDggNTIuNDggMCAwIDEgMTkuODQgMGwxNTguMDggNTIuNDhhMzcuNzYgMzcuNzYgMCAwIDEgMjkuNDQgMzcuNzZ6IG02NC0xNTUuNTJhMzUuODQgMzUuODQgMCAwIDEtMTAuMjQgMjYuODggMzYuNDggMzYuNDggMCAwIDEtMjYuODggMTAuODggNDQuMTYgNDQuMTYgMCAwIDEtMTYgMGwtMTU5LjM2LTU0LjRhMzguNCAzOC40IDAgMCAxLTI4LjE2LTQ3LjM2IDM2LjQ4IDM2LjQ4IDAgMCAxIDQyLjg4LTI3LjUyYzE5LjIgNS4xMiAzNy4xMiAxMi4xNiA1NS42OCAxNy45MmwxMDguOCAzNS44NGEzNy43NiAzNy43NiAwIDAgMSAzMC4wOCAzNy4xMnogbTY3Ljg0LTE2Ni40YTM2LjQ4IDM2LjQ4IDAgMCAxLTQwLjk2IDM3LjEyYy0yMy42OC00LjQ4LTQ2LjcyLTExLjUyLTY5Ljc2LTE3LjkybC0xMDIuNC0yNy41MmEzNy4xMiAzNy4xMiAwIDAgMS0zMC4wOC0zMy45MiAzNi40OCAzNi40OCAwIDAgMSAxOC41Ni0zNi40OCA0Mi4yNCA0Mi4yNCAwIDAgMSAzNS4yIDBMNzA0IDMyMGw0NC44IDEyLjE2YTM5LjA0IDM5LjA0IDAgMCAxIDI4LjggMzcuMTJ6IG0tMzgwLjE2IDM5LjA0YTQwLjk2IDQwLjk2IDAgMCAxIDQwLjk2IDQwLjk2IDM5LjY4IDM5LjY4IDAgMCAxLTM4LjQgMzguNCA0MC45NiA0MC45NiAwIDAgMS00Mi44OC0zOC40IDM4LjQgMzguNCAwIDAgMSAzOC40LTM4LjR6IG02NC04MS45MmE0MC4zMiA0MC4zMiAwIDAgMS00MS42LTM5LjA0IDM1Ljg0IDM1Ljg0IDAgMCAxIDExLjUyLTI2Ljg4IDM3Ljc2IDM3Ljc2IDAgMCAxIDI2Ljg4LTEwLjg4IDM5LjY4IDM5LjY4IDAgMCAxIDQyLjI0IDM5LjY4IDM1Ljg0IDM1Ljg0IDAgMCAxLTM5LjA0IDM2LjQ4ek0zMzYgNTU0Ljg4YTM5LjY4IDM5LjY4IDAgMCAxIDQxLjYgMzkuMDQgMzcuNzYgMzcuNzYgMCAwIDEtMTAuODggMjYuODggNDAuMzIgNDAuMzIgMCAwIDEtMjYuMjQgMTAuODggNDAuOTYgNDAuOTYgMCAwIDEtNDQuMTYtMzkuMDQgMzguNCAzOC40IDAgMCAxIDM5LjY4LTM3Ljc2eiBtMCAwIiBmaWxsPSIjMTZBMzRBIiBwLWlkPSI5MDA1Ij48L3BhdGg+PC9zdmc+');
background-size: cover;
background-repeat: no-repeat;
}
.icon-tool {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSI2NCA2NCA4OTYgODk2IiB3aWR0aD0iNTIiIGhlaWdodD0iNTIiIHN0eWxlPSIiIGZpbHRlcj0ibm9uZSI+CiAgICAKICAgIDxnPgogICAgPHBhdGggZD0iTTg4MCAxMTJIMTQ0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY3MzZjMCAxNy43IDE0LjMgMzIgMzIgMzJoNzM2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE0NGMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNTEzLjEgNTE4LjFsLTE5MiAxNjFjLTUuMiA0LjQtMTMuMS43LTEzLjEtNi4xdi02Mi43YzAtMi4zIDEuMS00LjYgMi45LTYuMUw0MjAuNyA1MTJsLTEwOS44LTkyLjJhNy42MyA3LjYzIDAgMCAxLTIuOS02LjFWMzUxYzAtNi44IDcuOS0xMC41IDEzLjEtNi4xbDE5MiAxNjAuOWMzLjkgMy4yIDMuOSA5LjEgMCAxMi4zek03MTYgNjczYzAgNC40LTMuNCA4LTcuNSA4aC0xODVjLTQuMSAwLTcuNS0zLjYtNy41LTh2LTQ4YzAtNC40IDMuNC04IDcuNS04aDE4NWM0LjEgMCA3LjUgMy42IDcuNSA4djQ4eiIgZmlsbD0icmdiYSg1MiwxMjQsMTc1LDEpIj48L3BhdGg+CiAgICA8L2c+CiAgPC9zdmc+');
background-size: cover;
background-repeat: no-repeat;
}
.icon-source {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSI2NCA2NCA4OTYgODk2IiB3aWR0aD0iNTIiIGhlaWdodD0iNTIiIHN0eWxlPSIiIGZpbHRlcj0ibm9uZSI+CiAgICAKICAgIDxnPgogICAgPHBhdGggZD0iTTkyOCAxNjFINjk5LjJjLTQ5LjEgMC05Ny4xIDE0LjEtMTM4LjQgNDAuN0w1MTIgMjMzbC00OC44LTMxLjNBMjU1LjIgMjU1LjIgMCAwIDAgMzI0LjggMTYxSDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY1NjhjMCAxNy43IDE0LjMgMzIgMzIgMzJoMjI4LjhjNDkuMSAwIDk3LjEgMTQuMSAxMzguNCA0MC43bDQ0LjQgMjguNmMxLjMuOCAyLjggMS4zIDQuMyAxLjNzMy0uNCA0LjMtMS4zbDQ0LjQtMjguNkM2MDIgODA3LjEgNjUwLjEgNzkzIDY5OS4yIDc5M0g5MjhjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTkzYzAtMTcuNy0xNC4zLTMyLTMyLTMyek00MDQgNTUzLjVjMCA0LjEtMy4yIDcuNS03LjEgNy41SDIxMS4xYy0zLjkgMC03LjEtMy40LTcuMS03LjV2LTQ1YzAtNC4xIDMuMi03LjUgNy4xLTcuNWgxODUuN2MzLjkgMCA3LjEgMy40IDcuMSA3LjV2NDV6bTAtMTQwYzAgNC4xLTMuMiA3LjUtNy4xIDcuNUgyMTEuMWMtMy45IDAtNy4xLTMuNC03LjEtNy41di00NWMwLTQuMSAzLjItNy41IDcuMS03LjVoMTg1LjdjMy45IDAgNy4xIDMuNCA3LjEgNy41djQ1em00MTYgMTQwYzAgNC4xLTMuMiA3LjUtNy4xIDcuNUg2MjcuMWMtMy45IDAtNy4xLTMuNC03LjEtNy41di00NWMwLTQuMSAzLjItNy41IDcuMS03LjVoMTg1LjdjMy45IDAgNy4xIDMuNCA3LjEgNy41djQ1em0wLTE0MGMwIDQuMS0zLjIgNy41LTcuMSA3LjVINjI3LjFjLTMuOSAwLTcuMS0zLjQtNy4xLTcuNXYtNDVjMC00LjEgMy4yLTcuNSA3LjEtNy41aDE4NS43YzMuOSAwIDcuMSAzLjQgNy4xIDcuNXY0NXoiIGZpbGw9InJnYmEoMTI5LDE3OSw1NSwxKSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPg==');
background-size: cover;
background-repeat: no-repeat;
}
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 底部tabbar */
/* 我的页面账户信息背景 */
/* 主题色 */
/* 页面背景色 */
/* 文字颜色 */
/* 背景棕色 */
/* 按钮颜色 */
page {
background: linear-gradient(to bottom, #F0F0F0, #FFFFFF);
min-height: 100vh;
background-attachment: fixed;
}
.page-container {
display: flex;
flex-direction: column;
padding: 30rpx;
}
::-webkit-scrollbar {
width: 0;
height: 0;
color: transparent;
}
/* 自定义导航栏容器 */
.custom-navbar {
display: flex;
align-items: center;
background-color: transparent;
}
/* 标题 */
.navbar-title {
font-size: 22px;
font-weight: bold;
}
/***End***/
.mt-10 {
margin-top: 10rpx;
}
.mt-20 {
margin-top: 20rpx;
}
.mr-10 {
margin-right: 10rpx;
}
.ml-5 {
margin-left: 5rpx;
}
.star::after {
content: "*";
color: #FF0000;
margin-left: 6rpx;
}
.gray-star::after {
content: "*";
color: #9A9A9A;
margin-left: 6rpx;
}
.bottom-footer {
position: fixed;
bottom: 0rpx;
left: 0rpx;
display: flex;
flex-direction: column;
background-color: white;
padding-bottom: 40rpx;
align-items: center;
width: 100%;
}
.bottom-fixed-footer {
position: fixed;
bottom: 0rpx;
left: 0rpx;
background-color: #FFFFFF;
display: flex;
flex-direction: column;
padding: 30rpx 30rpx 50rpx;
width: 100%;
box-sizing: border-box;
}
.bottom-btn-green {
background-color: #4EAF79;
color: white;
font-size: 28rpx;
height: 80rpx;
line-height: 80rpx;
border-radius: 5px;
text-align: center;
}
.bottom-btn-green:active {
background-color: #4EAF7979;
}
.bottom-btn-primary {
background-color: #FFA900;
color: white;
font-size: 28rpx;
height: 70rpx;
line-height: 70rpx;
border-radius: 5px;
text-align: center;
}
.bottom-btn-primary:active {
background-color: #ffaa008e;
}
.ml-10 {
margin-left: 10rpx;
}
.ml-20 {
margin-left: 20rpx;
}
.mb-10 {
margin-bottom: 10rpx;
}
.mb-20 {
margin-bottom: 20rpx;
}
.mt-40 {
margin-top: 40rpx;
}
.mt-160 {
margin-top: 160rpx !important;
}
.mt-60 {
margin-top: 60rpx;
}
.mr-20 {
margin-right: 20rpx;
}
.mr-40 {
margin-right: 40rpx;
}
.ml-40 {
margin-left: 40rpx;
}
.mb-40 {
margin-bottom: 40rpx;
}
.mg {
margin: 10rpx;
}
.pd {
padding: 10rpx;
}
.mg-20 {
margin: 20rpx;
}
.mg-40 {
margin: 40rpx;
}
.pd-20 {
padding: 20rpx;
}
.pd-40 {
padding: 40rpx;
}
.border-left {
border-top-left-radius: 5rpx;
border-bottom-left-radius: 5rpx;
}
.border-right {
border-top-right-radius: 5rpx;
border-bottom-right-radius: 5rpx;
}
.divider-v {
width: 95%;
height: 1rpx;
background-color: #F0F0F0;
align-self: center;
}
.divider-h {
width: 1px;
height: 10px;
background-color: #F0F0F0;
padding: 0px 1px;
margin-left: 10px;
align-self: center;
}
.divider-h-white {
width: 1rpx;
height: 20rpx;
background-color: #ffaa008e;
padding: 0rpx 1rpx;
align-self: center;
margin-left: 20rpx;
}
.divider-v-100 {
height: 1rpx;
background-color: #F0F0F0;
width: 100%;
}
.single-line {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.single-line-front {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
direction: rtl;
text-align: left;
}
.multiple-3-ellipsis {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
}
.multiple-2-ellipsis {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.size-16 {
height: 16rpx;
height: 16rpx;
}
.size-32 {
width: 32rpx;
height: 32rpx;
}
.size-48 {
width: 48rpx;
height: 48rpx;
}
.size-48-128 {
width: 128rpx;
height: 48rpx;
}
.size-64 {
width: 64rpx;
height: 64rpx;
}
.size-128 {
width: 128rpx;
height: 128rpx;
}
.icon-arrow-solid::after {
content: "";
background-image: url("data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ1ODA2NDUxMTAzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0MDQ5IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik0xMDA0Ljk5MTg5NCAyNDIuOTkzNDRjLTEyLjY1ODA2MS0xMi42Njg1NjgtMjcuNjYyODAyLTE4Ljk5NzU5OS00NS4wMDAyMTItMTguOTk3NTk5SDY0LjAwNDgxNmMtMTcuMzQ0NDE1IDAtMzIuMzM4NjQ5IDYuMzI5MDMtNDUuMDA3MjE3IDE4Ljk5NzU5OUM2LjMyOTAzIDI1NS42NzYwMTggMCAyNzAuNjcwMjUxIDAgMjg4LjAwNDE1OWMwIDE3LjMzMDQwNSA2LjMyOTAzIDMyLjMyNDYzOSAxOC45OTc1OTkgNDQuOTk2NzFsNDQ3Ljk5NTE4NCA0NDcuOTk1MTg0YzEyLjY4MjU3OCAxMi42Njg1NjggMjcuNjc2ODEyIDE5LjAxMTYwOSA0NS4wMDcyMTcgMTkuMDExNjA5czMyLjMzODY0OS02LjM0MzA0IDQ0Ljk5NjcxLTE5LjAxMTYwOUwxMDA0Ljk5MTg5NCAzMzIuOTk3MzY2YzEyLjY1NDU1OC0xMi42Njg1NjggMTkuMDA4MTA2LTI3LjY2MjgwMiAxOS4wMDgxMDYtNDQuOTk2NzA5IDAtMTcuMzMwNDA1LTYuMzUzNTQ4LTMyLjMyNDYzOS0xOS4wMDgxMDYtNDUuMDA3MjE3eiIgcC1pZD0iMTQwNTAiIGZpbGw9IiNkYmRiZGIiPjwvcGF0aD48L3N2Zz4=");
display: block;
background-size: cover;
width: 20rpx;
height: 20rpx;
margin-left: 10rpx;
}
.no-more {
display: flex;
align-items: center;
width: 80%;
margin: 40rpx 0rpx 0rpx 0rpx;
align-self: center;
}
.no-more::before,
.no-more::after {
content: "";
flex: 1;
height: 1px;
background-color: var(--divider-color);
}
.no-more-dot {
width: 8rpx;
height: 8rpx;
border-radius: 50%;
background-color: var(--divider-color);
margin: 0 20rpx;
}
.uni-popup-message__box {
text-align: center;
}
.uni-popup {
z-index: 9999;
}
.bottom-dialog-container {
display: flex;
flex-direction: column;
justify-content: center;
padding: 30rpx;
}
.dialog-title-box {
display: flex;
flex-direction: row;
align-items: center;
}
.dialog-title-txt {
align-self: center;
flex: 1;
text-align: center;
font-size: 32rpx;
font-weight: bold;
}
.has-icon {
margin-left: -48rpx;
}
.condition-box {
position: fixed;
left: 0;
display: flex;
flex-direction: column;
box-sizing: border-box;
width: 100%;
z-index: 99;
}
.condition-input-box {
display: flex;
flex-direction: row;
align-items: center;
padding: 20rpx 30rpx 0rpx 30rpx;
}
.condition-input-container {
display: flex;
flex-direction: row;
align-items: center;
background-color: white;
padding: 10rpx;
border-radius: 10rpx;
flex: 1;
}
.condition-option-btn {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
border-radius: 15rpx;
padding: 10rpx 15rpx;
font-size: 20rpx;
background-color: #F0F0F0;
}
.condition-option-btn:active {
background-color: #efefef79;
}
.condition-input-text {
font-size: 28rpx;
flex: 1;
text-align: center;
margin-right: 10rpx;
}
.condition-content {
margin-top: 5rpx;
max-height: 0vh;
background-color: #00000025;
overflow: hidden;
transition: max-height 0.5s ease;
}
.condition-content.visible {
max-height: 100vh;
}
.condition-mask {
background-color: #00000025;
height: 100vh;
}page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[bind-data-c-h="true"]{display: none !important;}

View File

@ -0,0 +1,12 @@
"use strict";
const _imports_0$3 = "/static/images/login_bg.png";
const _imports_0$2 = "/static/images/bg_mine.png";
const _imports_0$1 = "/static/images/banner_1.png";
const _imports_1 = "/static/images/banner_2.png";
const _imports_0 = "/static/images/load_err.png";
exports._imports_0 = _imports_0$3;
exports._imports_0$1 = _imports_0$2;
exports._imports_0$2 = _imports_0$1;
exports._imports_0$3 = _imports_0;
exports._imports_1 = _imports_1;
//# sourceMappingURL=../../.sourcemap/mp-toutiao/common/assets.js.map

View File

@ -0,0 +1,29 @@
"use strict";
const common_vendor = require("../../vendor.js");
const STORAGE_PREFIX = "aimz_";
const getFullKey = (key) => {
return `${STORAGE_PREFIX}${key}`;
};
const set = (key, data) => {
try {
const fullKey = getFullKey(key);
common_vendor.index.setStorageSync(fullKey, data);
return true;
} catch (error) {
common_vendor.index.__f__("error", "at common/js/cache/storage.js:19", "Storage set error:", error);
return false;
}
};
const get = (key, defaultValue = null) => {
try {
const fullKey = getFullKey(key);
const value = common_vendor.index.getStorageSync(fullKey);
return value || defaultValue;
} catch (error) {
common_vendor.index.__f__("error", "at common/js/cache/storage.js:31", "Storage get error:", error);
return defaultValue;
}
};
exports.get = get;
exports.set = set;
//# sourceMappingURL=../../../../.sourcemap/mp-toutiao/common/js/cache/storage.js.map

View File

@ -0,0 +1,334 @@
"use strict";
const isEmpty = function(obj) {
if (obj == null)
return true;
if (typeof obj !== "object")
return false;
return JSON.stringify(obj) === "{}";
};
const status = function(value, state) {
var status2 = "未生成";
if (state == "SUCCESS") {
switch (value) {
case "NONE":
status2 = "未生成";
break;
case "PENDING":
status2 = "等待";
break;
case "GENERATING":
status2 = "生成中...";
break;
case "SUCCESS":
status2 = "生成成功";
break;
case "FAILED":
status2 = "生成失败";
break;
}
} else {
switch (state) {
case "FAILED":
status2 = "生成失败";
break;
case "GENERATING":
status2 = "生成中...";
break;
case "NONE":
status2 = "未生成";
break;
}
}
return status2;
};
const orderStatus = function(value) {
var statusStr = "已完成";
switch (value) {
case "PENDING":
statusStr = "等待";
break;
case "COMPLETE":
statusStr = "已完成";
break;
case "FULL_REFUND":
statusStr = "全额退款";
break;
case "CORRECTION1_REFUND":
statusStr = "补正1次退款";
break;
case "CORRECTION2_REFUND":
statusStr = "补正2次退款";
break;
}
return statusStr;
};
const proType = function(value) {
var str = "项目创建";
switch (value) {
case "PROJ":
str = "项目创建";
break;
case "AGENT":
str = "代理";
break;
case "FULL_REFUND":
str = "全额退款";
break;
case "CORRECTION1_REFUND":
str = "补正1次退款";
break;
case "CORRECTION2_REFUND":
str = "补正2次退款";
break;
}
return str;
};
const boderStyle = function(value) {
var str = "tickets-yellow";
switch (value) {
case "1":
str = "tickets-yellow";
break;
case "2":
str = "tickets-gray";
break;
case "3":
str = "tickets-green";
break;
}
return str;
};
const fontColor = function(value) {
var str = "font-yellow";
switch (value) {
case "1":
str = "font-yellow";
break;
case "2":
str = "font-gray";
break;
case "3":
str = "font-green";
break;
}
return str;
};
const timeSplit = function(value) {
var regex = new RegExp("-", "g");
return value.replace(regex, ".");
};
const objIsEmpty = function(obj) {
if (obj === void 0) {
return true;
}
if (obj === null) {
return true;
}
return Object.keys(obj).length === 0;
};
var moneyTxt = function(size, fontSize, price) {
const formattedStr = '<span style="font-size:' + size + 'px;">¥</span><span style="font-size:' + fontSize + 'px;">' + price + "</span>";
return formattedStr;
};
var phoneNum = function(str, startLength, endLength, replaceStr) {
if (str == null || str == "")
return "";
if (str.length <= startLength + endLength) {
return str;
}
return str.slice(0, startLength) + replaceStr + str.slice(str.length - endLength);
};
var repairStatusColor = function(status2) {
var color = "repair-status-yellow";
switch (status2) {
case "PENDING":
color = "repair-status-yellow";
break;
case "APPROVED":
color = "repair-status-green";
break;
case "REJECTED":
color = "repair-status-red";
break;
case "CANCELED":
color = "repair-status-gray";
break;
}
return color;
};
var repairStatus = function(status2) {
var str = "待审核";
switch (status2) {
case "PENDING":
str = "待审核";
break;
case "APPROVED":
str = "已通过";
break;
case "REJECTED":
str = "未通过";
break;
case "CANCELED":
str = "已取消";
break;
}
return str;
};
var repairType = function(type) {
var str = "未知";
switch (type) {
case "CORRECTION1":
str = "一次补正";
break;
case "CORRECTION2":
str = "二次补正";
break;
}
return str;
};
var repairKind = function(kind) {
var str = "未知";
switch (kind) {
case "CODE":
str = "代码";
break;
case "MANUAL":
str = "操作手册";
break;
case "ALL":
str = "代码+操作手册";
break;
}
return str;
};
var payType = function(type) {
var typeStr = "支出";
switch (type) {
case 1:
typeStr = "充值";
break;
case 2:
typeStr = "支出";
break;
case 3:
typeStr = "提现";
break;
case 4:
typeStr = "系统\n扣款";
break;
case 5:
typeStr = "订单\n收入";
break;
case 6:
typeStr = "付款";
break;
}
return typeStr;
};
var payTypeColor = function(type) {
var typeColr = "type-g";
switch (type) {
case 1:
case 3:
case 5:
typeColr = "type-g";
break;
case 2:
case 4:
case 6:
typeColr = "type-z";
break;
}
return typeColr;
};
var payTypeSign = function(type) {
var typeStr = "-";
switch (type) {
case 1:
case 5:
typeStr = "+";
break;
case 2:
case 3:
case 4:
case 6:
typeStr = "-";
break;
}
return typeStr;
};
var invoiceStatusColor = function(status2) {
var str = "col-yellow";
switch (status2) {
case "-1":
str = "col-gray";
break;
case "0":
str = "col-red";
break;
case "1":
str = "col-yellow";
break;
case "2":
str = "col-green";
break;
}
return str;
};
var invoiceStatus = function(status2) {
var str = "待审核";
switch (status2) {
case "-1":
str = "已取消";
break;
case "0":
str = "未通过";
break;
case "1":
str = "待审核";
break;
case "2":
str = "完成";
break;
}
return str;
};
var payWay = function(way) {
var wayClass = "pay-wx";
switch (way) {
case "微信":
wayClass = "pay-wx";
break;
case "支付宝":
wayClass = "pay-alipay";
break;
case "对公转账":
wayClass = "pay-public";
break;
case "百度":
wayClass = "pay-bd";
break;
}
return wayClass;
};
exports.boderStyle = boderStyle;
exports.fontColor = fontColor;
exports.invoiceStatus = invoiceStatus;
exports.invoiceStatusColor = invoiceStatusColor;
exports.isEmpty = isEmpty;
exports.moneyTxt = moneyTxt;
exports.objIsEmpty = objIsEmpty;
exports.orderStatus = orderStatus;
exports.payType = payType;
exports.payTypeColor = payTypeColor;
exports.payTypeSign = payTypeSign;
exports.payWay = payWay;
exports.phoneNum = phoneNum;
exports.proType = proType;
exports.repairKind = repairKind;
exports.repairStatus = repairStatus;
exports.repairStatusColor = repairStatusColor;
exports.repairType = repairType;
exports.status = status;
exports.timeSplit = timeSplit;
//# sourceMappingURL=../../../.sourcemap/mp-toutiao/common/js/conver.js.map

View File

@ -0,0 +1,65 @@
"use strict";
const kindList = [{
"value": "CODE",
"title": "代码"
}, {
"title": "操作手册",
"value": "MANUAL"
}, {
"title": "全部",
"value": "ALL"
}];
const typeList = [{
"title": "一次补正",
"value": "CORRECTION1"
}, {
"title": "二次补正",
"value": "CORRECTION2"
}];
const stateList = [{
"title": "待审核",
"value": "PENDING"
}, {
"title": "已通过",
"value": "APPROVED"
}, {
"title": "未通过",
"value": "REJECTED"
}, {
"title": "已取消",
"value": "CANCELED"
}];
const homeTypeList = [
{
value: "FREE",
label: "免费试用"
},
{
value: "MATERIAL",
label: "写材料"
},
{
value: "ALL",
label: "全托管"
}
];
const expandList = [
{
value: "PKG",
label: "安装包"
},
{
value: "VIDEO_DEMO",
label: "演示视频"
},
{
value: "URGENT",
label: "加急"
}
];
exports.expandList = expandList;
exports.homeTypeList = homeTypeList;
exports.kindList = kindList;
exports.stateList = stateList;
exports.typeList = typeList;
//# sourceMappingURL=../../../.sourcemap/mp-toutiao/common/js/data.js.map

View File

@ -0,0 +1,83 @@
"use strict";
const common_js_net_http = require("./http.js");
const common_js_cache_storage = require("../cache/storage.js");
const apiPath = {
mineInvoiceOrderList: "/api/invoicerecharge/recharge-listpage/{userId}/{status}",
//可以开具发票的订单
mineInvoiceList: "/api/invoice-config/listpage/{userId}",
//我的开票信息
saveInvoiceInfo: "/api/invoice-config/save/{userId}",
//保存开票信息
updateInvoiceInfo: "/api/invoice-config/update/{invoiceId}",
//修改开票信息
deleteInvoiceInfo: "/api/invoice-config/remove/{ids}",
//删除开票信息
mineInvoiceRecordList: "/api/invoicerecharge/listpage/{userId}",
//我的开票记录
saveInvoiceRecord: "/api/invoicerecharge/save/{userId}",
// 保存开票申请
updateInvoiceRecord: "/api/invoicerecharge/update/{invoiceRechargeId}",
//修改开票申请
cancelInvoiceRecord: "/api/invoicerecharge/cancel/{invoiceRechargeId}",
//取消开票申请
dicByPId: "/api/data/listbyparentid/{pId}"
//数据字典
};
class InvoiceApi {
//获取可以开具发票的订单
static doGetMineInvoiceOrderList(data, status) {
const userId = common_js_cache_storage.get("userId");
const path = apiPath.mineInvoiceOrderList.replace("{userId}", userId).replace("{status}", status);
return common_js_net_http.request(path, "GET", data, null, "plug");
}
static doGetDicListByPId(id) {
const path = apiPath.dicByPId.replace("{pId}", id);
return common_js_net_http.request(path, "GET");
}
//我的开票信息
static doGetMineInvoiceList(data) {
const userId = common_js_cache_storage.get("userId");
const path = apiPath.mineInvoiceList.replace("{userId}", userId);
return common_js_net_http.request(path, "GET", data, null, "plug");
}
//保存我的开票信息
static doSaveMineInvoiceInfo(data) {
const userId = common_js_cache_storage.get("userId");
const path = apiPath.saveInvoiceInfo.replace("{userId}", userId);
return common_js_net_http.request(path, "POST", data, null, "plug");
}
//编辑开票信息
static doUpdateMineInvoiceInfo(id, data) {
const path = apiPath.updateInvoiceInfo.replace("{invoiceId}", id);
return common_js_net_http.request(path, "PUT", data, null, "plug");
}
//删除开票信息
static doDelMineInvoiceInfo(id) {
const path = apiPath.deleteInvoiceInfo.replace("{ids}", id);
return common_js_net_http.request(path, "DELETE", null, null, "plug");
}
//开票申请列表
static doGetInvoiceRecordList(data) {
const userId = common_js_cache_storage.get("userId");
const path = apiPath.mineInvoiceRecordList.replace("{userId}", userId);
return common_js_net_http.request(path, "GET", data, null, "plug");
}
//取消开票申请
static doCancelInvoiceRecord(id) {
const path = apiPath.cancelInvoiceRecord.replace("{invoiceRechargeId}", id);
return common_js_net_http.request(path, "PUT", null, null, "plug");
}
//提交开票申请
static doSaveInvoiceRecord(data) {
const userId = common_js_cache_storage.get("userId");
const path = apiPath.saveInvoiceRecord.replace("{userId}", userId);
return common_js_net_http.request(path, "POST", data, null, "plug");
}
//修改开票申请
static doUpdateInvoiceRecord(id, data) {
const path = apiPath.updateInvoiceRecord.replace("{invoiceRechargeId}", id);
return common_js_net_http.request(path, "PUT", data, null, "plug");
}
}
exports.InvoiceApi = InvoiceApi;
//# sourceMappingURL=../../../../.sourcemap/mp-toutiao/common/js/net/InvoiceApi.js.map

View File

@ -0,0 +1,133 @@
"use strict";
const common_js_net_http = require("./http.js");
const apiPath = {
//获取验证码 operator
verifyCode: "/api/verify/code/send/{phone}",
loginVerifyCode: "/api/quick/login/phone",
//验证吗登录
loginUrl: "/api/user-wx/login",
//登录
registerUrl: "/api/user-wx/register",
//注册,
unbindWx: "/api/user-wx/unlock-phone",
//解绑微信
updateUserInfo: "/api/user-info/update-self",
csaNo: "/api/csa/get",
//获取客服编号
createContact: "/api/proj-contact/save",
//创建联系人
mineAccount: "/api/user-info/get-user-self",
//获取我的账户余额
minePackageCount: "/api/proj/servicepkg/packageorder/count/self",
//我的套餐包剩余
uploadImg: "/api/file/v2/upload-image",
//上传图片
userInfo: "/api/user-info/get-self",
//获取我的个人信息
mineOrder: "/api/order/listpage/self",
//我的订单
mineContact: "/api/proj-contact/listpage/self",
//联系人列表
updateContact: "/api/proj-contact/update/{projContactId}",
//更新联系人
delContact: "/api/proj-contact/remove/{ids}",
//删除联系人
canClaimsCoupons: "/api/coupon/list-can-claim",
//获取可以申领的优惠卷
saveCoupons: "/api/coupon/user/save",
//领取优惠卷
minePayRecord: "/api/account/listpage-item/self",
mineMsgNotice: "/api/user-msg/listpage-simple/self",
//获取消息通知
readMsgNotice: "/api/user-msg/update-read/self",
//标记读取消息
deleteMsgNotice: "/api/user-msg/remove/self/{ids}"
//删除消息通知
};
class UserApi {
static doGetVerifyCode(phone) {
const path = apiPath.verifyCode.replace("{phone}", phone);
return common_js_net_http.request(path, "GET", null, null, "operator", false);
}
static doLoginVerifyCode(data) {
return common_js_net_http.request(apiPath.loginVerifyCode, "POST", data, null, "operator", false);
}
static doLogin(data) {
return common_js_net_http.request(apiPath.loginUrl, "POST", data, null, "operator", false);
}
static doRegister(data) {
return common_js_net_http.request(apiPath.registerUrl, "POST", data, null, "operator", false);
}
static doUnbindWx() {
return common_js_net_http.request(apiPath.unbindWx, "GET", null, null, "operator", true);
}
static doUpdateUserInfo(data) {
return common_js_net_http.request(apiPath.updateUserInfo, "PUT", data);
}
static doGetCsaNo() {
return common_js_net_http.request(apiPath.csaNo, "GET");
}
static doCreateContact(data) {
return common_js_net_http.request(apiPath.createContact, "POST", data);
}
static doGetMinePayRecord(data) {
return common_js_net_http.request(apiPath.minePayRecord, "GET", data);
}
//获取我的账户余额
static doGetMineAccount() {
return common_js_net_http.request(apiPath.mineAccount, "GET");
}
//获取我的套餐包
static doGetMinePackageCount() {
return common_js_net_http.request(apiPath.minePackageCount, "GET");
}
//上传图片
static doUploadImg(data) {
return common_js_net_http.request(apiPath.uploadImg, "POST", data);
}
//获取个人信息
static doGetUserInfo() {
return common_js_net_http.request(apiPath.userInfo, "GET");
}
//获取我的订单
static doGetMineOrder(data) {
return common_js_net_http.request(apiPath.mineOrder, "GET", data);
}
//获取项目联系人列表
static doGetMineContactList(data) {
return common_js_net_http.request(apiPath.mineContact, "GET", data);
}
//更新联系人
static doUpdateContactList(id, data) {
const path = apiPath.updateContact.replace("{projContactId}", id);
return common_js_net_http.request(path, "PUT", data);
}
//删除联系人
static doDelContact(id) {
const path = apiPath.delContact.replace("{ids}", id);
return common_js_net_http.request(path, "DELETE");
}
//获取可以申领的优惠卷
static doGetClaimsCouponsList() {
return common_js_net_http.request(apiPath.canClaimsCoupons, "GET");
}
//领取优惠卷
static doSaveCoupons(data) {
return common_js_net_http.request(apiPath.saveCoupons, "POST", data);
}
//获取消息通知
static doGetMineMsgNotice(data) {
return common_js_net_http.request(apiPath.mineMsgNotice, "GET", data);
}
//标记读取状态
static doReadMineMsgNotice(data) {
return common_js_net_http.request(apiPath.readMsgNotice, "PUT", data);
}
//删除消息通知
static doDeleteMineMsgNotice(id) {
const path = apiPath.deleteMsgNotice.replace("{ids}", id);
return common_js_net_http.request(path, "DELETE");
}
}
exports.UserApi = UserApi;
//# sourceMappingURL=../../../../.sourcemap/mp-toutiao/common/js/net/UserApi.js.map

View File

@ -0,0 +1,53 @@
"use strict";
const common_vendor = require("../../vendor.js");
const common_js_cache_storage = require("../cache/storage.js");
const common_js_net_mainUrl = require("./mainUrl.js");
function request(url, method = "GET", data = {}, params = {}, project = "copyright", needToken = true) {
const header = {
"content-type": "application/json"
// 有其他content-type需求加点逻辑判断处理即可
};
if (needToken) {
const token = common_js_cache_storage.get("token");
if (token) {
header.Auth = `Bearer ${token}`;
}
}
var baseUrl = common_js_net_mainUrl.operatorUrl;
if (project == "operator") {
baseUrl = common_js_net_mainUrl.operatorUrl;
} else if (project == "copyright") {
baseUrl = common_js_net_mainUrl.copyrightUrl;
} else if (project == "plug") {
baseUrl = common_js_net_mainUrl.operatorPlug;
}
return new Promise(function(resolve, reject) {
common_vendor.index.request({
url: baseUrl + url,
timeout: 8e3,
method,
data,
dataType: "json",
// 微信官方文档中介绍会对数据进行一次JSON.parse
header,
success(res) {
if (res.statusCode === 200) {
resolve(res.data);
} else {
common_vendor.index.__f__("log", "at common/js/net/http.js:55", "错误success");
reject(res.data);
}
},
fail(err) {
common_vendor.index.__f__("log", "at common/js/net/http.js:60", "错误");
if (err.data) {
reject(err.data);
} else {
reject(err);
}
}
});
});
}
exports.request = request;
//# sourceMappingURL=../../../../.sourcemap/mp-toutiao/common/js/net/http.js.map

View File

@ -0,0 +1,18 @@
"use strict";
const appUrl = "https://www.aimzhu.com";
const operatorUrl = appUrl + "/operator";
const operatorPlug = appUrl + "/operator-plugin";
const copyrightUrl = appUrl + "/copyright";
const uploadImgUrl = copyrightUrl + "/api/file/v2/upload-image";
const previewUrl = copyrightUrl + "/route/file/v2/download/true/";
const downloadFileUrl = "/route/file/download/true/";
const imgAssets = appUrl + "/miniapp-assets";
exports.appUrl = appUrl;
exports.copyrightUrl = copyrightUrl;
exports.downloadFileUrl = downloadFileUrl;
exports.imgAssets = imgAssets;
exports.operatorPlug = operatorPlug;
exports.operatorUrl = operatorUrl;
exports.previewUrl = previewUrl;
exports.uploadImgUrl = uploadImgUrl;
//# sourceMappingURL=../../../../.sourcemap/mp-toutiao/common/js/net/mainUrl.js.map

View File

@ -0,0 +1,44 @@
"use strict";
const common_js_net_http = require("./http.js");
const apiPath = {
getBuyPackageList: "/api/proj/servicepkg/packageinfo/listpage/${type}/self",
//获取可以购买的套餐包列表
getPayOrder: "/api/pay/get-pay",
//获取支付订单
enterprisePay: "/api/pay/pay-account-recharge/${accountRechargeId}",
//企业付款完成支付
enterpriseAccountInfo: "/api/pay/get-pay-system-bank",
//获取公司账户信息
wxPayParams: "/api/accountrecharge/save-wx-pay-prepay-id",
//获取微信支付所需参数 rechargeMoney金额 packageInfoId套餐包ID
bdPayParams: "/api/accountrecharge/save-bd-pay-order-info"
};
class PayApi {
static doGetBuyPackageList(type, data) {
const path = apiPath.getBuyPackageList.replace("${type}", type);
return common_js_net_http.request(path, "GET", data);
}
//对公转账完成
static doCompleteEnterprisePay(url, data) {
const path = apiPath.enterprisePay.replace("${accountRechargeId}", url);
return common_js_net_http.request(path, "POST", data);
}
//获取账户信息
static doGetEnterpriseAccountInfo() {
return common_js_net_http.request(apiPath.enterpriseAccountInfo, "GET");
}
//获取订单
static doGetOrder(data) {
return common_js_net_http.request(apiPath.getPayOrder, "POST", data);
}
//获取微信支付参数
static doGetWxPayParams(data) {
return common_js_net_http.request(apiPath.wxPayParams, "POST", data, null, "operator");
}
//获取百度支付参数
static doGetBdPayParams(data) {
return common_js_net_http.request(apiPath.bdPayParams, "POST", data, null, "operator");
}
}
exports.PayApi = PayApi;
//# sourceMappingURL=../../../../.sourcemap/mp-toutiao/common/js/net/payApi.js.map

View File

@ -0,0 +1,148 @@
"use strict";
const common_js_net_http = require("./http.js");
const apiPath = {
getSelfProjectList: "/api/proj/listpage/self",
//获取我的项目列表
getTagList: "/api/proj/tag/list-tag",
//获取标签
getNotice: "/api/env/custom/get-proj-create-notice",
//获取notice
getPrice: "/api/proj/charge/get",
//获取创建项目的单价
getContactList: "/api/proj-contact/list/self",
//获取产权联系人列表
getCouponsList: "/api/coupon/user/listpage/self",
//获取我可以使用的优惠卷
getPackageList: "/api/proj/servicepkg/packageorder/listpage/self",
//获取套餐包
getCommendProjectName: "/api/proj/recommend/list-proj-name/ai",
//推荐项目名称
createProject: "/api/proj/create-quick",
//快速创建项目
buildProject: "/api/proj/create-quick/proj-id/{projId}",
//生成项目
reCreate: "/api/proj/generate/proj-id/${projId}",
//重新生成
proLangList: "/api/env/custom/list-active-lang",
//项目语言
ruleData: "/app/agreementportal/getrelease/{id}",
//使用规则 project="operator"
investDetail: "/news-content/listpage?rows=1&page=1",
//投资优势
mainProCount: "/api/env/custom/get-proj-counts",
//首页介绍数量
repairProList: "/api/proj/correction/apply/listpage/self",
//我的补正
canProRepairList: "/api/proj/correction/apply/listpage-proj-unapply/self",
//可以补正的项目列表
cancelProPepair: "/api/proj/correction/apply/cancel/self/{projCorrectionApplyId}",
//取消补正
applyProRepair: "/api/proj/correction/apply/save",
//申请补正
refundProList: "/api/proj/refund/apply/listpage/self",
//我的退款项目
canRefundProList: "/api/proj/refund/apply/listpage-proj-unapply/self",
//可以退款的项目
applyRefundPro: "/api/proj/refund/apply/save",
//申请退款
cancelRefundPro: "/api/proj/refund/apply/cancel/self/{projRefundApplyId}"
//取消申请退款
};
class ProApi {
//首页介绍数量
static doGetMainProCount() {
return common_js_net_http.request(apiPath.mainProCount, "GET");
}
//项目列表
static doGetSelfProjectList(data) {
return common_js_net_http.request(apiPath.getSelfProjectList, "GET", data);
}
//获取标签
static doGetTagList() {
return common_js_net_http.request(apiPath.getTagList, "GET");
}
//获取通知
static doGetNotice() {
return common_js_net_http.request(apiPath.getNotice, "GET");
}
//获取价格
static doGetPrice() {
return common_js_net_http.request(apiPath.getPrice, "GET");
}
static doGetContactList() {
return common_js_net_http.request(apiPath.getContactList, "GET");
}
//获取套餐包
static doGetPackageList(data) {
return common_js_net_http.request(apiPath.getPackageList, "GET", data);
}
//优惠卷
static doGetCouponseList(data) {
return common_js_net_http.request(apiPath.getCouponsList, "GET", data);
}
//推荐项目名称
static doGetCommendProjectName(data) {
return common_js_net_http.request(apiPath.getCommendProjectName, "POST", data);
}
//创建项目
static doCreateProject(data) {
return common_js_net_http.request(apiPath.createProject, "POST", data);
}
//生成项目
static doBuildProject(id) {
const path = apiPath.buildProject.replace("{projId}", id);
return common_js_net_http.request(path, "GET");
}
//重新生成
static doReCreate(url) {
const path = apiPath.reCreate.replace("${projId}", url);
return common_js_net_http.request(path, "POST");
}
//获取项目可选语言
static doGetProLangList() {
return common_js_net_http.request(apiPath.proLangList, "GET");
}
//获取使用规则数据
static doGetRuleDate(id) {
const path = apiPath.ruleData.replace("{id}", id);
return common_js_net_http.request(path, "GET", null, null, "operator", false);
}
static doGetInvestDetail(data) {
return common_js_net_http.request(apiPath.investDetail, "GET", data);
}
//我的补正项目列表
static doGetMineRepairList(data) {
return common_js_net_http.request(apiPath.repairProList, "GET", data);
}
//撤销补正
static doCancelProrepair(id) {
const path = apiPath.cancelProPepair.replace("{projCorrectionApplyId}", id);
return common_js_net_http.request(path, "PUT");
}
//提交补正
static doApplyProRepair(data) {
return common_js_net_http.request(apiPath.applyProRepair, "POST", data);
}
//获取可以补正的项目列表
static doGetCanProRepairList(data) {
return common_js_net_http.request(apiPath.canProRepairList, "GET", data);
}
//退款项目列表
static doGetMineRefundProList(data) {
return common_js_net_http.request(apiPath.refundProList, "GET", data);
}
static doGetCanRefundProList(data) {
return common_js_net_http.request(apiPath.canRefundProList, "GET", data);
}
//取消申请退款
static doCancelRefundPro(id) {
const path = apiPath.cancelRefundPro.replace("{projRefundApplyId}", id);
return common_js_net_http.request(path, "PUT");
}
//提交申请退款
static doApplyRefundPro(data) {
return common_js_net_http.request(apiPath.applyRefundPro, "POST", data);
}
}
exports.ProApi = ProApi;
//# sourceMappingURL=../../../../.sourcemap/mp-toutiao/common/js/net/projectApi.js.map

Some files were not shown because too many files have changed in this diff Show More