初始化

This commit is contained in:
leiking
2026-06-29 10:54:33 +08:00
parent 761cee968e
commit 4983006317
156 changed files with 25687 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
<script>
export default {
onLaunch() {
try {
const req = typeof wx !== 'undefined' ? wx.__webpack_require_UNI_MP_PLUGIN__ : null
if (req) {
const m = req(8)
const V = m && (m.default || m)
if (V && V.prototype) {
if (!V.prototype.$mp) V.prototype.$mp = {}
if (!V.prototype.$mp.query) V.prototype.$mp.query = {}
}
}
} catch (e) {}
},
onShow() {},
onHide() {}
}
</script>
<style lang="scss">
@import "@/styles/global.scss";
</style>
+94
View File
@@ -0,0 +1,94 @@
import { projects, technicians } from './mockData'
const runtimeProjects = Array.isArray(projects) && projects.length ? projects : []
function normalize(s) {
return (s || '').toLowerCase().replace(/\s+/g, '')
}
function findProjectByText(text) {
const t = normalize(text)
return runtimeProjects.find((p) => normalize(p.name).includes(t) || t.includes(normalize(p.name))) || null
}
function pickPopularProject() {
return runtimeProjects[0] || null
}
export function aiReply(userText) {
const t = normalize(userText)
if (!t) {
return {
text: '你想预约哪个项目?也可以告诉我“预算/时长/肤质需求”,我给你推荐。',
action: null
}
}
if (t.includes('你好') || t.includes('在吗') || t.includes('哈哈') || t.includes('天气') || t.includes('闲聊')) {
return {
text: '我在的~我可以帮你查项目价格、匹配适合人群/禁忌,并一键发起预约。你想做“补水/清洁/舒缓/肩颈放松”哪一类?',
action: null
}
}
if (t.includes('档期') || t.includes('时间') || t.includes('几点') || t.includes('有空')) {
return {
text: '可选时段(示例):今天 14:30 / 16:00 / 19:00;明天 10:00 / 11:30 / 17:30。你想预约哪个日期和时段?',
action: null
}
}
if (t.includes('价格') || t.includes('多少钱') || t.includes('价位')) {
const top = runtimeProjects.slice(0, 4).map((p) => `${p.name}」¥${p.price}${p.durationMin} 分钟)`).join('')
return {
text: `参考价格(示例):${top}。你想预约哪一个?我可以直接帮你打开预约页面。`,
action: null
}
}
if (t.includes('禁忌') || t.includes('不能做') || t.includes('适合吗')) {
return {
text: '可以的。你现在的肤质/是否敏感、近期是否做过医美项目?我会按禁忌与适配人群给你建议。',
action: null
}
}
if (t.includes('推荐') || t.includes('爆款') || t.includes('适合')) {
const p = pickPopularProject()
return {
text: p
? `推荐你先做「${p.name}」,${p.durationMin} 分钟,¥${p.price}。要我直接帮你发起预约吗?`
: '我可以按需求给你推荐。你更关注补水、清洁还是舒缓?',
action: p ? { type: 'suggest_project', projectId: p.id } : null
}
}
if (t.includes('预约') || t.includes('下单') || t.includes('买') || t.includes('购买')) {
const p = findProjectByText(userText) || pickPopularProject()
if (p) {
return {
text: `好的,我先为你打开「${p.name}」的预约页面。你可以选择日期、时段和技师。`,
action: { type: 'go_booking', projectId: p.id }
}
}
return {
text: '好的。你想预约哪个项目?把项目名称发我即可。',
action: null
}
}
if (t.includes('技师') || t.includes('老师')) {
const names = technicians.map((x) => x.name).join('、')
return {
text: `我们目前可选技师:${names}。你有偏好哪位?也可以选择系统自动分配。`,
action: null
}
}
return {
text: '我明白了。你更想做“清洁/补水/舒缓/肩颈放松”哪一类?我可以直接给你项目并发起预约。',
action: null
}
}
+82
View File
@@ -0,0 +1,82 @@
export const demoOrders = [
{
id: 'ord_demo_booking_001',
createdAt: Date.now() - 2 * 24 * 60 * 60 * 1000,
status: '待核销',
amount: 99,
projectId: 'p1',
projectName: '水氧净透体验',
durationMin: 60,
orderType: 'booking',
appointmentDate: '2026-06-22',
appointmentSlot: '14:30',
technicianName: '系统分配',
note: '敏感肌,想要补水修护',
verifyCode: 'VC20260622001'
},
{
id: 'ord_demo_coupon_001',
createdAt: Date.now() - 5 * 24 * 60 * 60 * 1000,
status: '待核销',
amount: 899,
projectId: 'p5',
projectName: '皮肤管理次卡 5 次',
durationMin: 60,
orderType: 'coupon',
couponTitle: '皮肤管理次卡 5 次',
couponPlanKey: 'times5',
couponPlanLabel: '次卡 5 次',
validText: '有效期 180 天',
remainingTimes: 5,
verifyCode: 'VC20260622002'
},
{
id: 'ord_demo_booking_002',
createdAt: Date.now() - 12 * 24 * 60 * 60 * 1000,
status: '已完成',
amount: 188,
projectId: 'p4',
projectName: '肩颈舒缓筋膜放松',
durationMin: 60,
orderType: 'booking',
appointmentDate: '2026-06-10',
appointmentSlot: '19:00',
technicianName: '周晴',
note: '',
verifyCode: 'VC20260622003',
verifiedAt: Date.now() - 12 * 24 * 60 * 60 * 1000 + 2 * 60 * 60 * 1000
},
{
id: 'ord_demo_coupon_002',
createdAt: Date.now() - 20 * 24 * 60 * 60 * 1000,
status: '已完成',
amount: 299,
projectId: 'p9',
projectName: '新客体验套餐 · 3 次',
durationMin: 60,
orderType: 'coupon',
couponTitle: '新客体验套餐 · 3 次',
couponPlanKey: 'package',
couponPlanLabel: '套餐',
validText: '有效期 90 天',
remainingTimes: 0,
verifyCode: 'VC20260622004'
},
{
id: 'ord_demo_unpaid_001',
createdAt: Date.now() - 1 * 60 * 60 * 1000,
status: '待付款',
amount: 168,
projectId: 'p2',
projectName: '深层清洁黑头管理',
durationMin: 75,
orderType: 'coupon',
couponTitle: '深层清洁黑头管理',
couponPlanKey: 'single',
couponPlanLabel: '单次券',
validText: '有效期 30 天',
remainingTimes: 1,
verifyCode: 'VC20260622005'
}
]
+157
View File
@@ -0,0 +1,157 @@
export const storeProfile = {
tenantId: 'tenant_demo_001',
storeId: 'store_demo_001',
name: '智约美服 · 旗舰店',
logo:
'https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=minimal%20luxury%20logo%20mark%2C%20letters%20ZY%2C%20black%20and%20deep%20blue%20gradient%2C%20clean%20vector%20style%2C%20centered%2C%20white%20background%2C%20high%20resolution&image_size=square',
latitude: 31.230416,
longitude: 121.473701,
address: '上海市静安区南京西路 88 号',
phone: '021-00000000',
openHours: '10:00-22:00',
restDay: '每周一'
}
export const technicians = [
{ id: 't1', name: '林安', title: '高级美容师', tags: ['敏感肌', '深层清洁'] },
{ id: 't2', name: '许言', title: '皮肤管理师', tags: ['补水', '焕肤'] },
{ id: 't3', name: '周晴', title: '美体塑形师', tags: ['肩颈', '淋巴'] }
]
export const categories = [
{ id: 'c1', name: '体验爆款' },
{ id: 'c2', name: '面部护理' },
{ id: 'c3', name: '身体养生' },
{ id: 'c4', name: '美甲美睫' },
{ id: 'c5', name: '特惠套餐' }
]
export const projects = [
{
id: 'p1',
categoryId: 'c1',
name: '水氧净透体验',
price: 99,
originPrice: 199,
durationMin: 60,
fitFor: '初次体验、暗沉、出油',
taboo: '近期激光/微针术后 7 天内不建议',
cover:
'https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=high-end%20beauty%20spa%20facial%20treatment%2C%20minimal%20modern%20interior%2C%20soft%20blue%20lighting%2C%20photorealistic%2C%2035mm%2C%20shallow%20depth%20of%20field%2C%20ultra%20detail&image_size=landscape_16_9',
desc:
'轻盈水氧 + 净透护理,适合快速提升肤感与通透度。'
},
{
id: 'p2',
categoryId: 'c2',
name: '深层清洁黑头管理',
price: 168,
originPrice: 268,
durationMin: 75,
fitFor: 'T 区油脂旺盛、黑头粉刺',
taboo: '炎症爆痘期需评估后进行',
cover:
'https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=professional%20esthetician%20performing%20deep%20cleansing%20facial%2C%20clean%20modern%20spa%2C%20soft%20neutral%20lighting%2C%20photorealistic%2C%20high%20detail%2C%2035mm&image_size=landscape_16_9',
desc:
'清洁、舒缓、收敛三步走,减少反复出油与毛孔困扰。'
},
{
id: 'p3',
categoryId: 'c2',
name: '补水修护屏障护理',
price: 238,
originPrice: 368,
durationMin: 80,
fitFor: '敏感泛红、干燥紧绷',
taboo: '过敏急性期请先咨询',
cover:
'https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=hydrating%20facial%20mask%20treatment%20in%20luxury%20spa%2C%20serene%20atmosphere%2C%20soft%20light%2C%20photorealistic%2C%20ultra%20detail%2C%2035mm&image_size=landscape_16_9',
desc:
'修护屏障与舒缓敏感,适合换季与长期干燥人群。'
},
{
id: 'p4',
categoryId: 'c3',
name: '肩颈舒缓筋膜放松',
price: 188,
originPrice: 288,
durationMin: 60,
fitFor: '久坐办公、肩颈僵硬',
taboo: '急性损伤与发热期不建议',
cover:
'https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=neck%20and%20shoulder%20massage%20in%20wellness%20spa%2C%20warm%20soft%20lighting%2C%20minimal%20luxury%20interior%2C%20photorealistic%2C%20high%20detail&image_size=landscape_16_9',
desc:
'深度放松肌群与筋膜,改善紧绷与酸胀。'
},
{
id: 'p5',
categoryId: 'c5',
name: '皮肤管理次卡 5 次',
price: 899,
originPrice: 1199,
durationMin: 60,
fitFor: '长期管理、复购人群',
taboo: '具体项目以到店评估为准',
cover:
'https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=premium%20skincare%20membership%20card%20concept%2C%20minimal%20luxury%2C%20black%20and%20blue%20gradient%2C%20studio%20lighting%2C%20photorealistic%2C%20high%20detail&image_size=landscape_16_9',
desc:
'灵活使用,随时预约,到店核销自动扣次。'
},
{
id: 'p6',
categoryId: 'c4',
name: '轻奢美甲 · 单色',
price: 168,
originPrice: 238,
durationMin: 75,
fitFor: '通勤、日常、显白',
taboo: '甲面破损/感染需先处理',
cover:
'https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=minimal%20luxury%20nail%20salon%2C%20single%20color%20manicure%2C%20clean%20hands%2C%20modern%20interior%2C%20photorealistic%2C%20high%20detail&image_size=landscape_16_9',
desc:
'干净利落的通勤单色,显白耐看,可按肤色搭配色卡。'
},
{
id: 'p7',
categoryId: 'c4',
name: '自然单根美睫 · 清透款',
price: 198,
originPrice: 298,
durationMin: 90,
fitFor: '自然放大双眼、日常耐看',
taboo: '眼部炎症/过敏期不建议',
cover:
'https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=natural%20eyelash%20extensions%20beauty%20studio%2C%20minimal%20luxury%2C%20soft%20lighting%2C%20photorealistic%2C%20high%20detail&image_size=landscape_16_9',
desc:
'清透自然的单根嫁接,整体更轻盈,适合新手与通勤。'
},
{
id: 'p8',
categoryId: 'c3',
name: '全身精油舒压 · 90 分钟',
price: 298,
originPrice: 398,
durationMin: 90,
fitFor: '压力大、睡眠欠佳、疲劳',
taboo: '孕期/发热/急性炎症期不建议',
cover:
'https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=full%20body%20aromatherapy%20massage%20in%20luxury%20spa%2C%20warm%20lighting%2C%20minimal%20interior%2C%20photorealistic%2C%20high%20detail&image_size=landscape_16_9',
desc:
'精油舒压与深度放松结合,帮助缓解疲劳与紧绷。'
},
{
id: 'p9',
categoryId: 'c5',
name: '新客体验套餐 · 3 次',
price: 299,
originPrice: 499,
durationMin: 60,
fitFor: '初次体验、想要快速改善肤感',
taboo: '具体项目以到店评估为准',
cover:
'https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=premium%20beauty%20spa%20package%20promotion%2C%20minimal%20luxury%2C%20black%20blue%20gradient%2C%20photorealistic%2C%20high%20detail&image_size=landscape_16_9',
desc:
'高性价比新客套餐,适合建立基础皮肤管理节奏。'
}
]
+47
View File
@@ -0,0 +1,47 @@
const STORAGE_KEY = 'zy_orders_v1'
function readAll() {
return uni.getStorageSync(STORAGE_KEY) || []
}
function writeAll(list) {
uni.setStorageSync(STORAGE_KEY, list)
}
export function listOrders() {
return readAll().sort((a, b) => (b.createdAt || 0) - (a.createdAt || 0))
}
export function getOrderById(id) {
return readAll().find((x) => x.id === id) || null
}
export function upsertOrder(order) {
const list = readAll()
const idx = list.findIndex((x) => x.id === order.id)
if (idx >= 0) list[idx] = order
else list.unshift(order)
writeAll(list)
return order
}
export function patchOrder(id, patch) {
const list = readAll()
const idx = list.findIndex((x) => x.id === id)
if (idx < 0) return null
list[idx] = { ...list[idx], ...patch }
writeAll(list)
return list[idx]
}
export function ensureSeedOrders() {
const list = readAll()
if (list.length) return
writeAll([])
}
export function createId(prefix) {
const s = `${Date.now()}${Math.floor(Math.random() * 1000)}`
return `${prefix}_${s}`
}
+51
View File
@@ -0,0 +1,51 @@
<template>
<view class="ai-float" @tap="go">
<view class="dot"></view>
<view class="t">AI</view>
</view>
</template>
<script>
export default {
name: 'AiFloat',
methods: {
go() {
uni.navigateTo({ url: '/pages/ai/chat' })
}
}
}
</script>
<style lang="scss" scoped>
.ai-float {
position: fixed;
right: 24rpx;
bottom: 170rpx;
width: 112rpx;
height: 112rpx;
border-radius: 999rpx;
background: linear-gradient(135deg, #111827 0%, #3b82f6 100%);
box-shadow: 0 16rpx 40rpx rgba(17, 24, 39, 0.18);
display: flex;
align-items: center;
justify-content: center;
z-index: 99;
}
.t {
color: #fff;
font-size: 32rpx;
font-weight: 800;
letter-spacing: 2rpx;
}
.dot {
position: absolute;
top: 14rpx;
right: 14rpx;
width: 16rpx;
height: 16rpx;
border-radius: 999rpx;
background: #10b981;
border: 4rpx solid rgba(255, 255, 255, 0.8);
}
</style>
+96
View File
@@ -0,0 +1,96 @@
<template>
<view class="card item">
<image v-if="project.cover" class="cover" :src="project.cover" mode="aspectFill" @tap="open" />
<view class="row between">
<view class="name" @tap="open">{{ project.name }}</view>
<view class="price">
<text class="yen">¥</text>
<text class="num">{{ project.price }}</text>
<text class="ori muted" v-if="project.originPrice">¥{{ project.originPrice }}</text>
</view>
</view>
<view class="muted meta">服务时长{{ project.durationMin }} 分钟</view>
<view class="muted meta">适合人群{{ project.fitFor }}</view>
<view class="muted meta">简介{{ project.desc }}</view>
<view class="muted meta">禁忌提醒{{ project.taboo }}</view>
<view class="row between ops">
<view class="btn btn-ghost a" @tap="book">立即预约</view>
<view class="btn btn-primary b" @tap="buy">立即购买</view>
</view>
</view>
</template>
<script>
export default {
name: 'ProjectCard',
props: {
project: {
type: Object,
required: true
}
},
methods: {
open() {
uni.navigateTo({ url: `/pages/projects/detail?id=${this.project.id}` })
},
book() {
this.open()
},
buy() {
uni.navigateTo({ url: `/pages/order/confirm?type=coupon&projectId=${this.project.id}` })
}
}
}
</script>
<style lang="scss" scoped>
.item {
padding: 22rpx;
}
.cover {
width: 100%;
height: 260rpx;
border-radius: 18rpx;
margin-bottom: 16rpx;
}
.name {
font-weight: 950;
font-size: 34rpx;
max-width: 520rpx;
}
.price {
display: flex;
align-items: baseline;
color: #111827;
}
.yen {
font-size: 24rpx;
opacity: 0.8;
}
.num {
font-size: 40rpx;
font-weight: 950;
}
.ori {
margin-left: 10rpx;
font-size: 24rpx;
text-decoration: line-through;
}
.meta {
margin-top: 10rpx;
font-size: 26rpx;
}
.ops {
margin-top: 18rpx;
gap: 16rpx;
}
.a {
flex: 1;
height: 80rpx;
}
.b {
flex: 1;
height: 80rpx;
}
</style>
+87
View File
@@ -0,0 +1,87 @@
<template>
<view class="card item" @tap="open">
<image v-if="project.cover" class="cover" :src="project.cover" mode="aspectFill" />
<view class="name">{{ project.name }}</view>
<view class="muted meta">{{ project.durationMin }} 分钟</view>
<view class="row between bottom">
<view class="price">
<text class="yen">¥</text>
<text class="num">{{ project.price }}</text>
<text class="ori muted" v-if="project.originPrice">¥{{ project.originPrice }}</text>
</view>
<view class="go">查看</view>
</view>
</view>
</template>
<script>
export default {
name: 'ProjectGridCard',
props: {
project: {
type: Object,
required: true
}
},
methods: {
open() {
uni.navigateTo({ url: `/pages/projects/detail?id=${this.project.id}` })
}
}
}
</script>
<style lang="scss" scoped>
.item {
padding: 20rpx;
height: 360rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.cover {
width: 100%;
height: 180rpx;
border-radius: 18rpx;
}
.name {
font-size: 30rpx;
font-weight: 950;
line-height: 1.2;
max-height: 72rpx;
overflow: hidden;
}
.meta {
margin-top: 8rpx;
font-size: 24rpx;
}
.bottom {
margin-top: 8rpx;
}
.price {
display: flex;
align-items: baseline;
}
.yen {
font-size: 22rpx;
opacity: 0.8;
}
.num {
font-size: 36rpx;
font-weight: 950;
}
.ori {
margin-left: 8rpx;
font-size: 22rpx;
text-decoration: line-through;
}
.go {
padding: 10rpx 14rpx;
border-radius: 999rpx;
background: rgba(59, 130, 246, 0.14);
color: #1d4ed8;
font-size: 24rpx;
font-weight: 900;
}
</style>
+22
View File
@@ -0,0 +1,22 @@
import Vue from 'vue'
import App from './App.vue'
export function createApp() {
Vue.config.productionTip = false
App.mpType = 'app'
if (!Vue.prototype.$mp) Vue.prototype.$mp = {}
if (!Vue.prototype.$mp.query) Vue.prototype.$mp.query = {}
Vue.mixin({
beforeCreate() {
if (!this.$mp) this.$mp = {}
if (!this.$mp.query) this.$mp.query = {}
}
})
const app = new Vue({
...App
})
return {
app
}
}
+24
View File
@@ -0,0 +1,24 @@
{
"name": "智约美服-用户端原型",
"appid": "",
"description": "美业微信 AI 预约 & 项目购买小程序(用户端原型)",
"versionName": "0.1.0",
"versionCode": "0100",
"transformPx": false,
"mp-weixin": {
"appid": "",
"setting": {
"urlCheck": false,
"es6": true,
"postcss": true,
"minified": true
},
"usingComponents": true,
"permission": {
"scope.userLocation": {
"desc": "用于展示附近门店与距离"
}
}
}
}
+165
View File
@@ -0,0 +1,165 @@
{
"pages": [
{
"path": "pages/auth/login",
"style": {
"navigationBarTitleText": "智约美服",
"navigationStyle": "default"
}
},
{
"path": "pages/home/index",
"style": {
"navigationBarTitleText": "智约美服",
"navigationStyle": "default"
}
},
{
"path": "pages/projects/list",
"style": {
"navigationBarTitleText": "全部项目",
"navigationStyle": "default"
}
},
{
"path": "pages/projects/detail",
"style": {
"navigationBarTitleText": "项目详情",
"navigationStyle": "default"
}
},
{
"path": "pages/booking/create",
"style": {
"navigationBarTitleText": "预约服务",
"navigationStyle": "default"
}
},
{
"path": "pages/order/confirm",
"style": {
"navigationBarTitleText": "确认订单",
"navigationStyle": "default"
}
},
{
"path": "pages/orders/list",
"style": {
"navigationBarTitleText": "订单",
"navigationStyle": "default"
}
},
{
"path": "pages/orders/detail",
"style": {
"navigationBarTitleText": "订单详情",
"navigationStyle": "default"
}
},
{
"path": "pages/verify/code",
"style": {
"navigationBarTitleText": "我的核销码",
"navigationStyle": "default"
}
},
{
"path": "pages/member/index",
"style": {
"navigationBarTitleText": "我的",
"navigationStyle": "default"
}
},
{
"path": "pages/appointments/list",
"style": {
"navigationBarTitleText": "我的预约",
"navigationStyle": "default"
}
},
{
"path": "pages/coupons/list",
"style": {
"navigationBarTitleText": "我的卡券",
"navigationStyle": "default"
}
},
{
"path": "pages/records/list",
"style": {
"navigationBarTitleText": "消费记录",
"navigationStyle": "default"
}
},
{
"path": "pages/store/detail",
"style": {
"navigationBarTitleText": "门店信息",
"navigationStyle": "default"
}
},
{
"path": "pages/profile/skin",
"style": {
"navigationBarTitleText": "肤质档案",
"navigationStyle": "default"
}
},
{
"path": "pages/messages/settings",
"style": {
"navigationBarTitleText": "消息提醒",
"navigationStyle": "default"
}
},
{
"path": "pages/ai/chat",
"style": {
"navigationBarTitleText": "AI 智能客服",
"navigationStyle": "default"
}
},
{
"path": "pages/legal/privacy",
"style": {
"navigationBarTitleText": "用户隐私协议",
"navigationStyle": "default"
}
},
{
"path": "pages/legal/terms",
"style": {
"navigationBarTitleText": "服务协议",
"navigationStyle": "default"
}
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "智约美服",
"navigationBarBackgroundColor": "#FFFFFF",
"backgroundColor": "#F6F7FB",
"backgroundTextStyle": "light"
},
"tabBar": {
"color": "#6B7280",
"selectedColor": "#111827",
"backgroundColor": "#FFFFFF",
"borderStyle": "black",
"list": [
{
"pagePath": "pages/home/index",
"text": "首页"
},
{
"pagePath": "pages/projects/list",
"text": "项目"
},
{
"pagePath": "pages/member/index",
"text": "我的"
}
]
}
}
+190
View File
@@ -0,0 +1,190 @@
<template>
<view class="page">
<scroll-view class="msgs" scroll-y :scroll-top="scrollTop">
<view class="container">
<view v-for="m in messages" :key="m.id" class="m" :class="{ me: m.role === 'user' }">
<view class="bubble" :class="{ bme: m.role === 'user' }">
<text class="txt">{{ m.text }}</text>
</view>
</view>
<view class="chips" v-if="showChips">
<view class="chip" @tap="send('推荐爆款项目')">推荐爆款项目</view>
<view class="chip" @tap="send('我想预约今天')">我想预约今天</view>
<view class="chip" @tap="send('敏感肌适合做什么')">敏感肌适合做什么</view>
</view>
</view>
</scroll-view>
<view class="quick row">
<view class="q" @tap="send('查档期')">查档期</view>
<view class="q" @tap="send('看价格')">看价格</view>
<view class="q" @tap="send('我要预约')">我要预约</view>
</view>
<view class="bar">
<view class="voice" @tap="mockVoice">按住说话</view>
<input class="ipt" v-model="text" confirm-type="send" @confirm="send(text)" placeholder="说出你的需求,例如:想做补水/我想预约今天 14:30" />
<view class="send" @tap="send(text)">发送</view>
</view>
</view>
</template>
<script>
import { aiReply } from '@/common/aiRules'
import { projects } from '@/common/mockData'
function mid() {
return `${Date.now()}_${Math.floor(Math.random() * 10000)}`
}
export default {
data() {
return {
projectId: '',
messages: [],
text: '',
scrollTop: 0
}
},
computed: {
showChips() {
return this.messages.length < 4
}
},
onLoad(query) {
this.projectId = query.projectId || ''
const base =
'我是 AI 预约助手。你可以直接说“预约 + 时间 + 项目/需求”,我会把你带到预约/购买流程。'
const ctx = this.projectId ? projects.find((x) => x.id === this.projectId) : null
const intro = ctx ? `当前项目:${ctx.name}。你想预约哪个日期和时段?` : base
this.messages = [
{ id: mid(), role: 'assistant', text: intro }
]
this.bump()
},
methods: {
bump() {
this.$nextTick(() => {
this.scrollTop = this.scrollTop + 99999
})
},
send(raw) {
const v = (raw || '').trim()
if (!v) return
this.messages.push({ id: mid(), role: 'user', text: v })
this.text = ''
const r = aiReply(v)
this.messages.push({ id: mid(), role: 'assistant', text: r.text })
this.bump()
if (r.action?.type === 'go_booking') {
setTimeout(() => {
uni.navigateTo({ url: `/pages/booking/create?projectId=${r.action.projectId}` })
}, 450)
}
},
mockVoice() {
uni.showToast({ title: '语音输入(原型演示)', icon: 'none' })
}
}
}
</script>
<style lang="scss" scoped>
.page {
height: 100vh;
display: flex;
flex-direction: column;
}
.msgs {
flex: 1;
}
.m {
display: flex;
margin: 14rpx 0;
}
.me {
justify-content: flex-end;
}
.bubble {
max-width: 620rpx;
padding: 18rpx 18rpx;
border-radius: 22rpx;
background: #fff;
border: 1rpx solid rgba(17, 24, 39, 0.08);
box-shadow: 0 10rpx 28rpx rgba(17, 24, 39, 0.06);
}
.bme {
background: rgba(59, 130, 246, 0.12);
border-color: rgba(59, 130, 246, 0.22);
}
.txt {
font-size: 28rpx;
line-height: 1.5;
}
.quick {
padding: 12rpx 18rpx 6rpx;
background: #fff;
border-top: 1rpx solid rgba(17, 24, 39, 0.08);
gap: 12rpx;
}
.q {
padding: 12rpx 16rpx;
border-radius: 999rpx;
background: rgba(17, 24, 39, 0.06);
font-size: 26rpx;
font-weight: 800;
}
.bar {
padding: 18rpx;
background: #fff;
display: flex;
gap: 12rpx;
}
.voice {
width: 160rpx;
height: 82rpx;
border-radius: 18rpx;
background: rgba(17, 24, 39, 0.06);
font-size: 24rpx;
font-weight: 900;
color: rgba(17, 24, 39, 0.78);
display: flex;
align-items: center;
justify-content: center;
}
.ipt {
flex: 1;
height: 82rpx;
padding: 0 16rpx;
border-radius: 18rpx;
background: rgba(17, 24, 39, 0.05);
font-size: 28rpx;
}
.send {
width: 140rpx;
height: 82rpx;
border-radius: 18rpx;
background: linear-gradient(135deg, #111827 0%, #3b82f6 100%);
color: #fff;
font-weight: 900;
display: flex;
align-items: center;
justify-content: center;
}
.chips {
display: flex;
flex-wrap: wrap;
gap: 12rpx;
margin: 8rpx 0 12rpx;
}
.chip {
padding: 12rpx 16rpx;
border-radius: 999rpx;
background: rgba(17, 24, 39, 0.06);
font-size: 26rpx;
font-weight: 700;
}
</style>
+320
View File
@@ -0,0 +1,320 @@
<template>
<view class="container">
<view class="card filters">
<view class="row sc">
<view
v-for="s in tabs"
:key="s.value"
class="chip"
:class="{ on: s.value === active }"
hover-class="none"
@tap="setActive(s.value)"
>
{{ s.label }}
</view>
</view>
</view>
<view class="list">
<view v-for="o in viewList" :key="o.id" class="card item" @tap="open(o.id)">
<view class="row between">
<view class="n">{{ o.projectName }}</view>
<view
class="st"
:class="{
w: o.uiStatus === '待到店',
g: o.uiStatus === '已完成',
d: o.uiStatus === '已取消',
x: o.uiStatus === '已过期'
}"
>
{{ o.uiStatus }}
</view>
</view>
<view class="muted meta">{{ o.appointmentDate }} {{ o.appointmentSlot }} · {{ o.technicianName }}</view>
<view class="ops row" v-if="o.uiStatus === '待到店'">
<view class="op" @tap.stop="reschedule(o)">改约</view>
<view class="op danger" @tap.stop="cancel(o)">取消预约</view>
</view>
</view>
</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
export default {
components: { AiFloat },
data() {
const rows = [
{
id: 'apt_demo_pending_001',
createdAt: Date.now() - 2 * 60 * 60 * 1000,
status: '待核销',
uiStatus: '待到店',
group: 'pending',
amount: 238,
projectId: 'p3',
projectName: '补水修护屏障护理',
durationMin: 80,
orderType: 'booking',
appointmentDate: '2026-06-22',
appointmentSlot: '10:30',
technicianName: '许言',
note: '想要舒缓泛红',
verifyCode: 'VCAP20260621001'
},
{
id: 'apt_demo_pending_002',
createdAt: Date.now() - 6 * 60 * 60 * 1000,
status: '待核销',
uiStatus: '待到店',
group: 'pending',
amount: 188,
projectId: 'p4',
projectName: '肩颈舒缓筋膜放松',
durationMin: 60,
orderType: 'booking',
appointmentDate: '2026-06-24',
appointmentSlot: '19:00',
technicianName: '周晴',
note: '',
verifyCode: 'VCAP20260621002'
},
{
id: 'apt_demo_done_001',
createdAt: Date.now() - 9 * 24 * 60 * 60 * 1000,
status: '已完成',
uiStatus: '已完成',
group: 'done',
amount: 168,
projectId: 'p2',
projectName: '深层清洁黑头管理',
durationMin: 75,
orderType: 'booking',
appointmentDate: '2026-06-12',
appointmentSlot: '15:00',
technicianName: '林安',
note: 'T区出油严重',
verifyCode: 'VCAP20260621003'
},
{
id: 'apt_demo_done_002',
createdAt: Date.now() - 15 * 24 * 60 * 60 * 1000,
status: '已完成',
uiStatus: '已完成',
group: 'done',
amount: 99,
projectId: 'p1',
projectName: '水氧净透体验',
durationMin: 60,
orderType: 'booking',
appointmentDate: '2026-06-06',
appointmentSlot: '11:30',
technicianName: '系统分配',
note: '',
verifyCode: 'VCAP20260621004'
},
{
id: 'apt_demo_canceled_001',
createdAt: Date.now() - 3 * 24 * 60 * 60 * 1000,
status: '已取消',
uiStatus: '已取消',
group: 'canceled',
amount: 238,
projectId: 'p3',
projectName: '补水修护屏障护理',
durationMin: 80,
orderType: 'booking',
appointmentDate: '2026-06-23',
appointmentSlot: '16:00',
technicianName: '许言',
note: '',
verifyCode: 'VCAP20260621005'
},
{
id: 'apt_demo_canceled_002',
createdAt: Date.now() - 7 * 24 * 60 * 60 * 1000,
status: '已取消',
uiStatus: '已取消',
group: 'canceled',
amount: 188,
projectId: 'p4',
projectName: '肩颈舒缓筋膜放松',
durationMin: 60,
orderType: 'booking',
appointmentDate: '2026-06-17',
appointmentSlot: '13:30',
technicianName: '周晴',
note: '',
verifyCode: 'VCAP20260621008'
},
{
id: 'apt_demo_expired_001',
createdAt: Date.now() - 26 * 60 * 60 * 1000,
status: '待核销',
uiStatus: '已过期',
group: 'expired',
amount: 188,
projectId: 'p4',
projectName: '肩颈舒缓筋膜放松',
durationMin: 60,
orderType: 'booking',
appointmentDate: '2026-06-20',
appointmentSlot: '13:30',
technicianName: '周晴',
note: '',
verifyCode: 'VCAP20260621006'
},
{
id: 'apt_demo_expired_002',
createdAt: Date.now() - 4 * 24 * 60 * 60 * 1000,
status: '待核销',
uiStatus: '已过期',
group: 'expired',
amount: 99,
projectId: 'p1',
projectName: '水氧净透体验',
durationMin: 60,
orderType: 'booking',
appointmentDate: '2026-06-19',
appointmentSlot: '18:00',
technicianName: '系统分配',
note: '',
verifyCode: 'VCAP20260621007'
}
]
return {
tabs: [
{ value: 'pending', label: '待到店' },
{ value: 'done', label: '已完成' },
{ value: 'canceled', label: '已取消' },
{ value: 'expired', label: '已过期' }
],
active: 'pending',
rows,
viewList: rows.filter((x) => x.group === 'pending')
}
},
onLoad() {
this.apply()
},
onShow() {
this.apply()
},
methods: {
apply() {
const v = this.rows.filter((x) => x.group === this.active)
this.viewList = v && v.length ? v : this.rows.slice(0, 3)
},
setActive(v) {
if (!v || v === this.active) return
this.active = v
this.apply()
},
open(id) {
const o = this.rows.find((x) => x.id === id) || this.rows[0]
const payload = encodeURIComponent(JSON.stringify(o))
uni.navigateTo({ url: `/pages/orders/detail?payload=${payload}` })
},
goProjects() {
uni.switchTab({ url: '/pages/projects/list' })
},
reschedule(o) {
uni.navigateTo({ url: `/pages/booking/create?projectId=${o.projectId}` })
},
cancel(o) {
uni.showModal({
title: '确认取消',
content: '取消后该预约将变更为已取消(原型演示)。',
success: (res) => {
if (!res.confirm) return
this.rows = this.rows.map((x) => (x.id === o.id ? { ...x, status: '已取消', uiStatus: '已取消', group: 'canceled' } : x))
this.apply()
}
})
}
}
}
</script>
<style lang="scss" scoped>
.filters {
padding: 16rpx;
}
.sc {
white-space: nowrap;
}
.chip {
padding: 14rpx 18rpx;
margin-right: 12rpx;
border-radius: 999rpx;
font-size: 26rpx;
background: rgba(17, 24, 39, 0.06);
color: #111827;
flex: 0 0 auto;
}
.on {
background: rgba(59, 130, 246, 0.14);
color: #1d4ed8;
}
.list {
margin-top: 18rpx;
}
.item {
padding: 22rpx;
margin-bottom: 18rpx;
}
.n {
font-size: 32rpx;
font-weight: 950;
max-width: 520rpx;
}
.st {
padding: 10rpx 14rpx;
border-radius: 999rpx;
font-size: 24rpx;
font-weight: 900;
}
.w {
background: rgba(59, 130, 246, 0.16);
color: #1d4ed8;
}
.g {
background: rgba(16, 185, 129, 0.16);
color: #047857;
}
.d {
background: rgba(239, 68, 68, 0.12);
color: #b91c1c;
}
.x {
background: rgba(17, 24, 39, 0.12);
color: #111827;
}
.meta {
margin-top: 12rpx;
font-size: 26rpx;
}
.ops {
margin-top: 16rpx;
gap: 12rpx;
}
.op {
padding: 12rpx 16rpx;
border-radius: 18rpx;
background: rgba(17, 24, 39, 0.06);
font-size: 26rpx;
font-weight: 800;
}
.danger {
background: rgba(239, 68, 68, 0.12);
color: #b91c1c;
}
</style>
+108
View File
@@ -0,0 +1,108 @@
<template>
<view class="container">
<view class="card hero">
<view class="brand">智约美服</view>
<view class="slogan muted">AI 一键预约24 小时接单</view>
</view>
<view class="card box">
<view class="wx row">
<view class="wx-icon">W</view>
<view class="wx-text">
<view class="t1">微信一键登录</view>
<view class="t2 muted">用于同步订单卡券与会员档案</view>
</view>
</view>
<view class="btn btn-primary login" @tap="doLogin">同意授权并登录</view>
</view>
<view class="foot muted">
<text @tap="goPrivacy">用户隐私协议</text>
<text class="dot"> · </text>
<text @tap="goTerms">服务协议</text>
</view>
</view>
</template>
<script>
const KEY = 'zy_authed_v1'
export default {
onShow() {
const ok = !!uni.getStorageSync(KEY)
if (ok) {
uni.switchTab({ url: '/pages/home/index' })
}
},
methods: {
doLogin() {
uni.setStorageSync(KEY, 1)
uni.switchTab({ url: '/pages/home/index' })
},
goPrivacy() {
uni.navigateTo({ url: '/pages/legal/privacy' })
},
goTerms() {
uni.navigateTo({ url: '/pages/legal/terms' })
}
}
}
</script>
<style lang="scss" scoped>
.hero {
padding: 40rpx 28rpx;
background: linear-gradient(135deg, rgba(17, 24, 39, 1) 0%, rgba(59, 130, 246, 1) 100%);
border: 0;
color: #fff;
}
.brand {
font-size: 54rpx;
font-weight: 950;
letter-spacing: 2rpx;
}
.slogan {
margin-top: 14rpx;
color: rgba(255, 255, 255, 0.82);
font-size: 28rpx;
}
.box {
margin-top: 22rpx;
padding: 26rpx;
}
.wx {
align-items: flex-start;
}
.wx-icon {
width: 84rpx;
height: 84rpx;
border-radius: 22rpx;
background: rgba(16, 185, 129, 0.14);
color: #059669;
font-weight: 950;
display: flex;
align-items: center;
justify-content: center;
margin-right: 18rpx;
}
.t1 {
font-size: 36rpx;
font-weight: 950;
}
.t2 {
margin-top: 10rpx;
font-size: 26rpx;
}
.login {
margin-top: 22rpx;
}
.foot {
margin-top: 24rpx;
text-align: center;
font-size: 26rpx;
}
.dot {
opacity: 0.6;
}
</style>
+425
View File
@@ -0,0 +1,425 @@
<template>
<view class="container">
<view class="card block">
<view class="row between">
<view class="title">预约服务</view>
<view class="muted">{{ project ? '已选择' : '请选择' }}</view>
</view>
<picker mode="selector" :range="projectNames" :value="projectIndex" @change="onPickProject">
<view class="pick2">
<view class="pname">{{ project ? project.name : '选择项目/套餐' }}</view>
<view class="muted psub" v-if="project">{{ project.durationMin }} 分钟 · ¥{{ project.price }}</view>
</view>
</picker>
<view class="muted meta" v-if="project">适合人群{{ project.fitFor }}</view>
<view class="muted meta" v-if="project">禁忌提醒{{ project.taboo }}</view>
</view>
<view v-if="project">
<view class="card block">
<view class="title">选择日期</view>
<scroll-view class="sc" scroll-x>
<view class="row">
<view
v-for="d in dates"
:key="d.value"
class="date"
:class="{ on: d.value === form.date }"
@tap="selectDate(d.value)"
>
<view class="d1">{{ d.label1 }}</view>
<view class="d2 muted">{{ d.label2 }}</view>
</view>
</view>
</scroll-view>
<picker mode="date" :value="form.date" @change="onPickDate">
<view class="pick">自定义日期{{ form.date }}</view>
</picker>
</view>
<view class="card block">
<view class="title">选择时段</view>
<view class="grid">
<view
v-for="s in slotRows"
:key="s.value"
class="slot"
:class="{ on: s.value === form.slot, off: s.disabled }"
@tap="pickSlot(s)"
>
{{ s.value }}
</view>
</view>
<view class="hint muted">满档逻辑在商用版由实时档期接口返回这里为原型演示</view>
</view>
<view class="card block">
<view class="title">选择技师</view>
<view class="techs">
<view class="tech" :class="{ on: form.techId === 'auto' }" @tap="form.techId = 'auto'">
<view class="row between">
<view class="t-name">系统自动分配</view>
<view class="tag">推荐</view>
</view>
<view class="muted t-sub">根据项目与档期匹配最合适的技师</view>
</view>
<view
v-for="t in techs"
:key="t.id"
class="tech"
:class="{ on: form.techId === t.id }"
@tap="form.techId = t.id"
>
<view class="row between">
<view>
<view class="t-name">{{ t.name }}</view>
<view class="muted t-sub">{{ t.title }}</view>
</view>
<view class="tags">
<text class="tag" v-for="tg in t.tags" :key="tg">{{ tg }}</text>
</view>
</view>
</view>
</view>
</view>
<view class="card block">
<view class="title">备注需求</view>
<textarea
class="ta"
placeholder="例如:敏感肌、易过敏、想做补水修护…"
v-model="form.note"
maxlength="120"
/>
</view>
<view class="space"></view>
<view class="fixbar">
<view class="btn btn-primary submit" @tap="submit">提交预约</view>
</view>
</view>
<view v-else class="card empty">
<view class="e1">请选择项目后继续</view>
<view class="muted e2">你也可以在项目详情里直接点击立即预约</view>
</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
import { projects, technicians } from '@/common/mockData'
const fallbackProjects = [
{
id: 'fp1',
name: '水氧净透体验',
price: 99,
durationMin: 60,
fitFor: '初次体验、暗沉、出油',
taboo: '近期医美术后需评估',
desc: '轻盈水氧 + 净透护理,快速提升肤感与通透度。'
},
{
id: 'fp2',
name: '补水修护屏障护理',
price: 238,
durationMin: 80,
fitFor: '敏感泛红、干燥紧绷',
taboo: '过敏急性期请先咨询',
desc: '修护屏障与舒缓敏感,适合换季与长期干燥人群。'
},
{
id: 'fp3',
name: '肩颈舒缓筋膜放松',
price: 188,
durationMin: 60,
fitFor: '久坐办公、肩颈僵硬',
taboo: '急性损伤与发热期不建议',
desc: '深度放松肌群与筋膜,改善紧绷与酸胀。'
}
]
const runtimeProjects = Array.isArray(projects) && projects.length ? projects : fallbackProjects
function pad2(n) {
return n < 10 ? `0${n}` : `${n}`
}
function dayLabel(d) {
const m = d.getMonth() + 1
const dd = d.getDate()
const w = ['日', '一', '二', '三', '四', '五', '六'][d.getDay()]
return { label1: `${m}/${dd}`, label2: `${w}` }
}
function isoDate(d) {
const y = d.getFullYear()
const m = pad2(d.getMonth() + 1)
const dd = pad2(d.getDate())
return `${y}-${m}-${dd}`
}
export default {
components: { AiFloat },
data() {
return {
projectId: '',
project: runtimeProjects[0] || null,
allProjects: runtimeProjects,
projectNames: runtimeProjects.length ? runtimeProjects.map((x) => x.name) : ['暂无项目'],
projectIndex: 0,
dates: [],
slotRows: [],
techs: technicians,
form: {
date: '',
slot: '14:30',
techId: 'auto',
note: ''
}
}
},
onLoad(query) {
this.projectId = query.projectId || ''
this.allProjects = runtimeProjects
this.projectNames = this.allProjects.length ? this.allProjects.map((x) => x.name) : ['暂无项目']
this.project = this.allProjects.find((x) => x.id === this.projectId) || this.allProjects[0] || null
this.projectIndex = Math.max(
0,
this.allProjects.findIndex((x) => x.id === (this.project ? this.project.id : ''))
)
const today = new Date()
const ds = []
for (let i = 0; i < 7; i++) {
const d = new Date(today.getTime() + i * 24 * 60 * 60 * 1000)
const l = dayLabel(d)
ds.push({
value: isoDate(d),
label1: i === 0 ? '今天' : l.label1,
label2: i === 0 ? l.label1 : l.label2
})
}
this.dates = ds
if (!this.form.date) this.form.date = ds[0]?.value || ''
this.buildSlots()
},
methods: {
onPickProject(e) {
const idx = Number(e.detail.value || 0)
this.projectIndex = idx
this.project = this.allProjects[idx] || null
},
selectDate(v) {
this.form.date = v
this.buildSlots()
},
onPickDate(e) {
const v = e.detail.value
if (!v) return
this.form.date = v
this.buildSlots()
},
buildSlots() {
const base = ['10:00', '11:30', '13:00', '14:30', '16:00', '17:30', '19:00', '20:30']
const today = this.dates[0]?.value || ''
const disabledSet = new Set()
if (this.form.date === today) {
disabledSet.add('10:00')
disabledSet.add('11:30')
}
this.slotRows = base.map((x) => ({ value: x, disabled: disabledSet.has(x) }))
if (disabledSet.has(this.form.slot)) this.form.slot = '14:30'
},
pickSlot(s) {
if (s.disabled) return
this.form.slot = s.value
},
submit() {
if (!this.project) {
uni.showToast({ title: '请选择项目', icon: 'none' })
return
}
if (!this.form.date || !this.form.slot) {
uni.showToast({ title: '请选择日期和时段', icon: 'none' })
return
}
const tech =
this.form.techId === 'auto' ? null : this.techs.find((x) => x.id === this.form.techId) || null
const payload = encodeURIComponent(
JSON.stringify({
type: 'booking',
projectId: this.project.id,
date: this.form.date,
slot: this.form.slot,
techId: this.form.techId,
techName: tech?.name || '系统分配',
note: this.form.note || ''
})
)
uni.navigateTo({ url: `/pages/order/confirm?payload=${payload}` })
}
}
}
</script>
<style lang="scss" scoped>
.block {
padding: 22rpx;
margin-bottom: 18rpx;
}
.pick2 {
margin-top: 14rpx;
padding: 18rpx;
border-radius: 20rpx;
border: 1rpx solid rgba(17, 24, 39, 0.08);
background: #fff;
}
.pname {
font-size: 32rpx;
font-weight: 950;
}
.psub {
margin-top: 8rpx;
font-size: 24rpx;
}
.empty {
margin-top: 18rpx;
padding: 34rpx 26rpx;
text-align: center;
}
.e1 {
font-size: 34rpx;
font-weight: 950;
}
.e2 {
margin-top: 12rpx;
font-size: 26rpx;
}
.name {
font-size: 34rpx;
font-weight: 900;
}
.price {
font-size: 32rpx;
font-weight: 900;
}
.meta {
margin-top: 10rpx;
font-size: 26rpx;
}
.title {
font-weight: 900;
font-size: 30rpx;
margin-bottom: 14rpx;
}
.sc {
white-space: nowrap;
}
.pick {
margin-top: 14rpx;
padding: 16rpx 18rpx;
border-radius: 18rpx;
background: rgba(17, 24, 39, 0.05);
font-size: 26rpx;
font-weight: 900;
}
.date {
width: 150rpx;
padding: 16rpx;
margin-right: 12rpx;
border-radius: 18rpx;
border: 1rpx solid rgba(17, 24, 39, 0.08);
background: rgba(17, 24, 39, 0.03);
flex: 0 0 auto;
}
.on {
background: rgba(59, 130, 246, 0.12);
border-color: rgba(59, 130, 246, 0.35);
}
.d1 {
font-weight: 900;
font-size: 30rpx;
}
.d2 {
margin-top: 8rpx;
font-size: 24rpx;
}
.grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12rpx;
}
.slot {
height: 70rpx;
border-radius: 18rpx;
border: 1rpx solid rgba(17, 24, 39, 0.08);
background: #fff;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 26rpx;
}
.off {
background: rgba(17, 24, 39, 0.05);
color: rgba(17, 24, 39, 0.35);
}
.hint {
margin-top: 14rpx;
font-size: 24rpx;
}
.techs {
display: flex;
flex-direction: column;
gap: 12rpx;
}
.tech {
padding: 16rpx;
border-radius: 20rpx;
border: 1rpx solid rgba(17, 24, 39, 0.08);
background: #fff;
}
.t-name {
font-weight: 900;
font-size: 30rpx;
}
.t-sub {
margin-top: 6rpx;
font-size: 24rpx;
}
.tags {
display: flex;
gap: 8rpx;
flex-wrap: wrap;
justify-content: flex-end;
max-width: 280rpx;
}
.ta {
width: 100%;
min-height: 160rpx;
padding: 16rpx;
border-radius: 18rpx;
border: 1rpx solid rgba(17, 24, 39, 0.08);
background: #fff;
font-size: 28rpx;
box-sizing: border-box;
}
.space {
height: 160rpx;
}
.fixbar {
position: fixed;
left: 0;
right: 0;
bottom: 0;
padding: 18rpx 24rpx 24rpx;
background: linear-gradient(180deg, rgba(246, 247, 251, 0) 0%, rgba(246, 247, 251, 1) 46%);
}
.submit {
height: 92rpx;
}
</style>
+233
View File
@@ -0,0 +1,233 @@
<template>
<view class="container">
<view class="card filters">
<view class="row sc">
<view v-for="s in tabs" :key="s.value" class="chip" :class="{ on: s.value === active }" hover-class="none" @tap="setActive(s.value)">
{{ s.label }}
</view>
</view>
</view>
<view class="list">
<view v-for="c in viewList" :key="c.id" class="card item" @tap="open(c.id)">
<view class="row between">
<view class="n">{{ c.projectName }}</view>
<view class="tag">剩余 {{ c.remainingTimes }}</view>
</view>
<view class="muted meta">核销码{{ c.verifyCode }}</view>
<view class="muted meta" v-if="c.validText">有效期{{ c.validText }}</view>
<view class="row between meta2">
<view class="muted">状态{{ c.uiStatus }}</view>
<view class="amt">¥{{ c.amount }}</view>
</view>
<view class="row between ops" v-if="c.uiStatus === '未使用'">
<view class="btn btn-ghost ob" @tap.stop="book(c)">去使用预约</view>
<view class="btn btn-primary ob" @tap.stop="openCode(c)">核销码</view>
</view>
</view>
</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
import { demoOrders } from '@/common/demoOrders'
function buildCoupons() {
const now = Date.now()
const extra = [
{
id: 'cp_demo_unused_001',
createdAt: now - 2 * 24 * 60 * 60 * 1000,
status: '待核销',
amount: 299,
projectId: 'p9',
projectName: '新客体验套餐 · 3 次',
durationMin: 60,
orderType: 'coupon',
couponTitle: '新客体验套餐 · 3 次',
couponPlanKey: 'package',
couponPlanLabel: '套餐',
validText: '有效期 90 天',
remainingTimes: 3,
verifyCode: 'VCCP20260621001'
},
{
id: 'cp_demo_pending_001',
createdAt: now - 6 * 24 * 60 * 60 * 1000,
status: '待付款',
amount: 168,
projectId: 'p2',
projectName: '深层清洁黑头管理',
durationMin: 75,
orderType: 'coupon',
couponTitle: '深层清洁黑头管理',
couponPlanKey: 'single',
couponPlanLabel: '单次券',
validText: '有效期 30 天',
remainingTimes: 1,
verifyCode: 'VCCP20260621002'
},
{
id: 'cp_demo_used_001',
createdAt: now - 18 * 24 * 60 * 60 * 1000,
status: '已完成',
amount: 899,
projectId: 'p5',
projectName: '皮肤管理次卡 5 次',
durationMin: 60,
orderType: 'coupon',
couponTitle: '皮肤管理次卡 5 次',
couponPlanKey: 'times5',
couponPlanLabel: '次卡 5 次',
validText: '有效期 180 天',
remainingTimes: 0,
verifyCode: 'VCCP20260621003'
},
{
id: 'cp_demo_expired_001',
createdAt: now - 65 * 24 * 60 * 60 * 1000,
status: '已过期',
amount: 99,
projectId: 'p1',
projectName: '水氧净透体验',
durationMin: 60,
orderType: 'coupon',
couponTitle: '水氧净透体验',
couponPlanKey: 'single',
couponPlanLabel: '单次券',
validText: '已过期(原型演示)',
remainingTimes: 1,
verifyCode: 'VCCP20260621004'
}
]
const all = [...demoOrders.filter((x) => x.orderType === 'coupon'), ...extra]
return all.map((x) => {
const uiStatus = x.status === '待核销' ? '未使用' : x.status === '已完成' ? '已核销' : x.status === '待付款' ? '待付款' : '已过期'
const group = uiStatus === '已核销' ? 'used' : uiStatus === '待付款' ? 'pending' : uiStatus === '已过期' ? 'expired' : 'unused'
return { ...x, uiStatus, group }
})
}
export default {
components: { AiFloat },
data() {
const coupons = buildCoupons()
const init = coupons.filter((x) => x.group === 'unused')
return {
tabs: [
{ value: 'unused', label: '未使用' },
{ value: 'used', label: '已核销' },
{ value: 'pending', label: '待付款' },
{ value: 'expired', label: '已过期' }
],
active: 'unused',
coupons,
viewList: init && init.length ? init : coupons.slice(0, 3)
}
},
onLoad() {
this.apply()
},
onShow() {
this.coupons = buildCoupons()
this.apply()
},
methods: {
apply() {
const v = this.coupons.filter((x) => x.group === this.active)
this.viewList = v && v.length ? v : this.coupons.slice(0, 3)
},
setActive(v) {
if (!v || v === this.active) return
this.active = v
this.apply()
},
open(id) {
const c = this.coupons.find((x) => x.id === id) || this.coupons[0]
const payload = encodeURIComponent(JSON.stringify(c))
uni.navigateTo({ url: `/pages/orders/detail?payload=${payload}` })
},
book(c) {
uni.navigateTo({ url: `/pages/booking/create?projectId=${c.projectId}` })
},
openCode(c) {
const payload = encodeURIComponent(JSON.stringify(c))
uni.navigateTo({ url: `/pages/verify/code?payload=${payload}` })
},
goProjects() {
uni.switchTab({ url: '/pages/projects/list' })
}
}
}
</script>
<style lang="scss" scoped>
.filters {
padding: 16rpx;
}
.sc {
white-space: nowrap;
}
.chip {
padding: 14rpx 18rpx;
margin-right: 12rpx;
border-radius: 999rpx;
font-size: 26rpx;
background: rgba(17, 24, 39, 0.06);
color: #111827;
flex: 0 0 auto;
}
.on {
background: rgba(59, 130, 246, 0.14);
color: #1d4ed8;
}
.empty {
margin-top: 18rpx;
padding: 26rpx;
}
.e1 {
font-size: 36rpx;
font-weight: 950;
}
.e2 {
margin-top: 10rpx;
font-size: 26rpx;
}
.ebtn {
margin-top: 18rpx;
}
.list {
margin-top: 18rpx;
}
.item {
padding: 22rpx;
margin-bottom: 18rpx;
}
.n {
font-size: 32rpx;
font-weight: 950;
max-width: 520rpx;
}
.meta {
margin-top: 12rpx;
font-size: 26rpx;
}
.meta2 {
margin-top: 10rpx;
}
.ops {
margin-top: 16rpx;
gap: 14rpx;
}
.ob {
flex: 1;
height: 80rpx;
}
.amt {
font-weight: 950;
}
</style>
+341
View File
@@ -0,0 +1,341 @@
<template>
<view class="container">
<view class="card hero" @tap="goStore">
<view class="row between">
<view>
<view class="trow">
<image v-if="store.logo" class="logo" :src="store.logo" mode="aspectFill" />
<view class="title">{{ store.name }}</view>
</view>
<view class="sub muted">{{ store.openHours }} · {{ store.address }}</view>
</view>
<view class="pill" @tap.stop="callStore">
<text class="p-t">电话</text>
</view>
</view>
<view class="locrow row between">
<view class="loc muted">{{ locText }} · {{ distText }}</view>
<view class="nav" @tap.stop="navToStore">导航</view>
</view>
</view>
<view class="card banner">
<swiper class="sw" circular autoplay interval="3500" duration="500">
<swiper-item>
<view class="b b1">
<view class="b-t">新客体验</view>
<view class="b-s">水氧净透 ¥99</view>
</view>
</swiper-item>
<swiper-item>
<view class="b b2">
<view class="b-t">皮肤管理</view>
<view class="b-s">补水修护 ¥238</view>
</view>
</swiper-item>
<swiper-item>
<view class="b b3">
<view class="b-t">次卡特惠</view>
<view class="b-s">5 ¥899</view>
</view>
</swiper-item>
</swiper>
</view>
<view class="grid4">
<view class="card q" @tap="goBooking">
<view class="q-t">立即预约</view>
<view class="q-s muted">选时间/技师</view>
</view>
<view class="card q" @tap="goProjects">
<view class="q-t">全部项目</view>
<view class="q-s muted">价格/时长</view>
</view>
<view class="card q" @tap="goCoupons">
<view class="q-t">我的次卡</view>
<view class="q-s muted">剩余次数</view>
</view>
<view class="card q" @tap="goMember">
<view class="q-t">会员中心</view>
<view class="q-s muted">积分/储值</view>
</view>
</view>
<view class="section row between">
<view class="h">人气推荐项目</view>
<view class="more" @tap="goProjects">全部</view>
</view>
<view class="grid2">
<ProjectGridCard v-for="p in hotProjects" :key="p.id" :project="p" />
</view>
<view class="card store">
<view class="row between">
<view class="sh">门店信息</view>
<view class="more" @tap="goStore">查看</view>
</view>
<view class="muted sline">营业时间{{ store.openHours }}休息{{ store.restDay }}</view>
<view class="muted sline">地址{{ store.address }}</view>
<view class="muted sline">电话{{ store.phone }}</view>
<view class="row between sline">
<view class="muted">技师团队点击查看</view>
<view class="rt">
<view class="star"> {{ teamRating }}</view>
<view class="like" @tap.stop="likeTeam"> {{ likeCount }}</view>
</view>
</view>
</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
import ProjectGridCard from '@/components/ProjectGridCard.vue'
import { storeProfile, projects } from '@/common/mockData'
export default {
components: { AiFloat, ProjectGridCard },
data() {
return {
store: storeProfile,
hotProjects: projects.slice(0, 4),
locText: '定位:获取中…',
distText: '距离:计算中…',
teamRating: 4.9,
likeCount: 128
}
},
onShow() {
this.locText = '定位:获取中…'
this.distText = '距离:计算中…'
uni.getLocation({
type: 'gcj02',
success: (res) => {
this.locText = '定位:上海市 静安区(示例)'
const d = this.calcDistanceMeter(res.latitude, res.longitude, this.store.latitude, this.store.longitude)
this.distText = `距离:${this.formatDistance(d)}`
},
fail: () => {
this.locText = '定位:未开启(可在“我的”页授权定位)'
this.distText = '距离:--'
}
})
},
methods: {
goProjects() {
uni.switchTab({ url: '/pages/projects/list' })
},
goBooking() {
const p = Array.isArray(projects) && projects.length ? projects[0] : null
if (!p) {
this.goProjects()
return
}
uni.navigateTo({ url: `/pages/booking/create?projectId=${p.id}` })
},
goCoupons() {
uni.navigateTo({ url: '/pages/coupons/list' })
},
goMember() {
uni.switchTab({ url: '/pages/member/index' })
},
goStore() {
uni.navigateTo({ url: '/pages/store/detail' })
},
callStore() {
uni.makePhoneCall({ phoneNumber: this.store.phone })
},
navToStore() {
const lat = this.store.latitude
const lng = this.store.longitude
if (typeof lat !== 'number' || typeof lng !== 'number') {
uni.showToast({ title: '门店坐标未配置', icon: 'none' })
return
}
uni.openLocation({
latitude: lat,
longitude: lng,
name: this.store.name,
address: this.store.address
})
},
calcDistanceMeter(lat1, lng1, lat2, lng2) {
if ([lat1, lng1, lat2, lng2].some((x) => typeof x !== 'number')) return NaN
const toRad = (v) => (v * Math.PI) / 180
const R = 6371000
const dLat = toRad(lat2 - lat1)
const dLng = toRad(lng2 - lng1)
const a =
Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(toRad(lat1)) * Math.cos(toRad(lat2)) * Math.sin(dLng / 2) * Math.sin(dLng / 2)
return 2 * R * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a))
},
formatDistance(m) {
if (!Number.isFinite(m)) return '--'
if (m < 1000) return `${Math.max(1, Math.round(m))}m`
const km = m / 1000
if (km < 10) return `${km.toFixed(1)}km`
return `${Math.round(km)}km`
},
likeTeam() {
this.likeCount += 1
uni.showToast({ title: '已点赞', icon: 'none' })
}
}
}
</script>
<style lang="scss" scoped>
.hero {
padding: 26rpx;
}
.trow {
display: flex;
align-items: center;
gap: 14rpx;
}
.logo {
width: 56rpx;
height: 56rpx;
border-radius: 16rpx;
}
.title {
font-size: 40rpx;
font-weight: 950;
}
.sub {
margin-top: 8rpx;
font-size: 26rpx;
}
.loc {
font-size: 24rpx;
}
.locrow {
margin-top: 14rpx;
}
.nav {
padding: 12rpx 16rpx;
border-radius: 999rpx;
background: rgba(59, 130, 246, 0.14);
color: #1d4ed8;
font-size: 24rpx;
font-weight: 900;
}
.pill {
padding: 14rpx 18rpx;
border-radius: 999rpx;
background: rgba(17, 24, 39, 0.06);
}
.p-t {
font-weight: 700;
font-size: 26rpx;
}
.banner {
margin-top: 18rpx;
padding: 0;
overflow: hidden;
}
.sw {
height: 220rpx;
}
.b {
height: 220rpx;
padding: 26rpx;
display: flex;
flex-direction: column;
justify-content: flex-end;
}
.b1 {
background: linear-gradient(135deg, rgba(17, 24, 39, 1) 0%, rgba(59, 130, 246, 1) 100%);
}
.b2 {
background: linear-gradient(135deg, rgba(3, 105, 161, 1) 0%, rgba(16, 185, 129, 1) 100%);
}
.b3 {
background: linear-gradient(135deg, rgba(124, 58, 237, 1) 0%, rgba(59, 130, 246, 1) 100%);
}
.b-t {
color: #fff;
font-weight: 950;
font-size: 42rpx;
}
.b-s {
margin-top: 10rpx;
color: rgba(255, 255, 255, 0.84);
font-size: 28rpx;
font-weight: 700;
}
.grid4 {
margin-top: 18rpx;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 18rpx;
}
.q {
padding: 18rpx;
}
.q-t {
font-weight: 950;
font-size: 30rpx;
}
.q-s {
margin-top: 8rpx;
font-size: 24rpx;
}
.section {
margin-top: 28rpx;
padding: 6rpx 2rpx;
}
.h {
font-size: 32rpx;
font-weight: 950;
}
.more {
color: #3b82f6;
font-weight: 700;
font-size: 28rpx;
}
.grid2 {
margin-top: 14rpx;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 18rpx;
}
.store {
margin-top: 18rpx;
padding: 22rpx;
}
.rt {
display: flex;
align-items: center;
gap: 14rpx;
}
.star {
padding: 10rpx 14rpx;
border-radius: 999rpx;
font-size: 24rpx;
font-weight: 900;
background: rgba(245, 158, 11, 0.14);
color: #b45309;
}
.like {
padding: 10rpx 14rpx;
border-radius: 999rpx;
font-size: 24rpx;
font-weight: 900;
background: rgba(17, 24, 39, 0.06);
color: rgba(17, 24, 39, 0.86);
}
.sh {
font-size: 32rpx;
font-weight: 950;
}
.sline {
margin-top: 12rpx;
font-size: 26rpx;
}
</style>
+37
View File
@@ -0,0 +1,37 @@
<template>
<view class="container">
<view class="card block">
<view class="t">用户隐私协议示例</view>
<view class="p muted">本页面用于原型演示正式商用请替换为合规隐私政策全文</view>
<view class="p muted">1. 我们可能会收集昵称/头像授权后订单与预约信息</view>
<view class="p muted">2. 定位权限仅用于展示附近门店与距离可在系统设置中关闭</view>
<view class="p muted">3. 我们不会向无关第三方出售你的个人信息</view>
<view class="p muted">4. 你可申请查询更正删除个人信息</view>
</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
export default {
components: { AiFloat }
}
</script>
<style lang="scss" scoped>
.block {
padding: 22rpx;
}
.t {
font-size: 36rpx;
font-weight: 950;
}
.p {
margin-top: 14rpx;
font-size: 28rpx;
line-height: 1.7;
}
</style>
+37
View File
@@ -0,0 +1,37 @@
<template>
<view class="container">
<view class="card block">
<view class="t">服务协议示例</view>
<view class="p muted">本页面用于原型演示正式商用请替换为合规服务条款全文</view>
<view class="p muted">1. 用户可通过本小程序进行预约与购买具体服务以门店实际确认为准</view>
<view class="p muted">2. 预约改期与取消规则以订单页展示为准</view>
<view class="p muted">3. 卡券核销后视为完成服务相关售后按门店规则执行</view>
<view class="p muted">4. 平台将尽力保障服务可用性但不对不可抗力导致的中断负责</view>
</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
export default {
components: { AiFloat }
}
</script>
<style lang="scss" scoped>
.block {
padding: 22rpx;
}
.t {
font-size: 36rpx;
font-weight: 950;
}
.p {
margin-top: 14rpx;
font-size: 28rpx;
line-height: 1.7;
}
</style>
+256
View File
@@ -0,0 +1,256 @@
<template>
<view class="container">
<view class="card profile">
<view class="row between">
<view class="row">
<image class="avatar" :src="avatarUrl" mode="aspectFill" />
<view class="uinfo">
<view class="u">微信用户</view>
<view class="muted s">会员档案 · {{ tag }}</view>
</view>
</view>
<view class="badge">VIP</view>
</view>
<view class="stats row">
<view class="st">
<view class="v">{{ points }}</view>
<view class="muted l">积分</view>
</view>
<view class="sep"></view>
<view class="st">
<view class="v">¥{{ balance }}</view>
<view class="muted l">储值</view>
</view>
<view class="sep"></view>
<view class="st">
<view class="v">{{ visitCount }}</view>
<view class="muted l">到店</view>
</view>
</view>
</view>
<view class="card menu">
<view class="cell row between" @tap="goAppointments">
<view class="c-l">
<view class="c-t">我的预约</view>
<view class="muted c-s">待到店 / 改约 / 取消</view>
</view>
<view class="arr"></view>
</view>
<view class="cell row between" @tap="goCoupons">
<view class="c-l">
<view class="c-t">我的卡券 / 次卡</view>
<view class="muted c-s">剩余次数 / 去使用</view>
</view>
<view class="arr"></view>
</view>
<view class="cell row between" @tap="goRecords">
<view class="c-l">
<view class="c-t">消费记录</view>
<view class="muted c-s"> 7 / 30 </view>
</view>
<view class="arr"></view>
</view>
<view class="cell row between" @tap="goSkin">
<view class="c-l">
<view class="c-t">我的肤质档案</view>
<view class="muted c-s">肤质 / 需求 / 建议</view>
</view>
<view class="arr"></view>
</view>
<view class="cell row between" @tap="goMsg">
<view class="c-l">
<view class="c-t">消息提醒</view>
<view class="muted c-s">预约成功 / 到店提醒</view>
</view>
<view class="arr"></view>
</view>
<view class="cell row between" @tap="goStore">
<view class="c-l">
<view class="c-t">门店设置</view>
<view class="muted c-s">地址 / 电话 / 技师团队</view>
</view>
<view class="arr"></view>
</view>
</view>
<view class="card block">
<view class="title">定位与附近流量</view>
<view class="muted line">用于附近门店匹配与推荐展示</view>
<view class="btn btn-ghost loc" @tap="getLoc">获取定位</view>
<view class="muted line" v-if="locText">{{ locText }}</view>
</view>
<view class="card foot">
<view class="row between">
<view class="muted">版本 {{ version }}</view>
<view class="kefu" @tap="call">联系客服</view>
</view>
</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
import { storeProfile } from '@/common/mockData'
export default {
components: { AiFloat },
data() {
return {
avatarUrl:
'https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=photorealistic%20portrait%20avatar%2C%20friendly%20woman%2C%20clean%20background%2C%20soft%20studio%20lighting%2C%20high-end%20beauty%20brand%20style%2C%2035mm%2C%20ultra%20detail&image_size=square',
points: 1260,
balance: 200,
visitCount: 12,
tag: '敏感肌 · 高复购',
locText: '',
version: '1.0.0',
store: storeProfile
}
},
methods: {
goAppointments() {
uni.navigateTo({ url: '/pages/appointments/list' })
},
goCoupons() {
uni.navigateTo({ url: '/pages/coupons/list' })
},
goRecords() {
uni.navigateTo({ url: '/pages/records/list' })
},
goSkin() {
uni.navigateTo({ url: '/pages/profile/skin' })
},
goMsg() {
uni.navigateTo({ url: '/pages/messages/settings' })
},
goStore() {
uni.navigateTo({ url: '/pages/store/detail' })
},
getLoc() {
uni.getLocation({
type: 'gcj02',
success: (res) => {
this.locText = `已获取:${res.latitude.toFixed(6)}, ${res.longitude.toFixed(6)}`
},
fail: () => {
uni.showToast({ title: '未授权定位', icon: 'none' })
}
})
},
call() {
uni.makePhoneCall({ phoneNumber: this.store.phone })
}
}
}
</script>
<style lang="scss" scoped>
.profile {
padding: 26rpx;
}
.avatar {
width: 88rpx;
height: 88rpx;
border-radius: 999rpx;
background: rgba(17, 24, 39, 0.06);
border: 1rpx solid rgba(17, 24, 39, 0.08);
}
.uinfo {
margin-left: 18rpx;
}
.u {
font-size: 38rpx;
font-weight: 950;
}
.s {
margin-top: 10rpx;
font-size: 26rpx;
}
.badge {
padding: 12rpx 16rpx;
border-radius: 999rpx;
background: rgba(59, 130, 246, 0.14);
color: #1d4ed8;
font-size: 24rpx;
font-weight: 950;
}
.stats {
margin-top: 22rpx;
padding: 18rpx;
border-radius: 18rpx;
background: rgba(17, 24, 39, 0.04);
}
.st {
flex: 1;
}
.v {
font-size: 32rpx;
font-weight: 950;
}
.l {
margin-top: 6rpx;
font-size: 24rpx;
}
.sep {
width: 1rpx;
height: 48rpx;
background: rgba(17, 24, 39, 0.08);
}
.menu {
margin-top: 18rpx;
padding: 10rpx 22rpx;
}
.cell {
padding: 18rpx 0;
border-top: 1rpx solid rgba(17, 24, 39, 0.08);
}
.cell:first-of-type {
border-top: 0;
}
.c-t {
font-size: 30rpx;
font-weight: 950;
}
.c-s {
margin-top: 8rpx;
font-size: 24rpx;
}
.arr {
font-size: 40rpx;
color: rgba(17, 24, 39, 0.4);
margin-left: 16rpx;
}
.block {
padding: 22rpx;
margin-top: 18rpx;
}
.title {
font-weight: 950;
font-size: 30rpx;
margin-bottom: 10rpx;
}
.line {
padding: 8rpx 0;
font-size: 26rpx;
}
.loc {
margin-top: 10rpx;
}
.foot {
margin-top: 18rpx;
padding: 18rpx 22rpx;
}
.kefu {
padding: 12rpx 16rpx;
border-radius: 999rpx;
background: rgba(17, 24, 39, 0.06);
font-size: 26rpx;
font-weight: 900;
}
</style>
+79
View File
@@ -0,0 +1,79 @@
<template>
<view class="container">
<view class="card block">
<view class="t">消息提醒</view>
<view class="muted p">用于接收预约成功到店提醒过期提醒等通知</view>
<view class="row between line">
<view>预约成功提醒</view>
<switch :checked="on1" @change="toggle1" color="#3b82f6" />
</view>
<view class="row between line">
<view>到店提醒</view>
<switch :checked="on2" @change="toggle2" color="#3b82f6" />
</view>
<view class="row between line">
<view>卡券过期提醒</view>
<switch :checked="on3" @change="toggle3" color="#3b82f6" />
</view>
</view>
<view class="card block">
<view class="t">订阅消息</view>
<view class="muted p">商用版可在此引导用户订阅微信消息模板本原型仅展示</view>
<view class="btn btn-primary" @tap="mockSub">一键订阅演示</view>
</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
export default {
components: { AiFloat },
data() {
return {
on1: true,
on2: true,
on3: true
}
},
methods: {
toggle1(e) {
this.on1 = !!e.detail.value
},
toggle2(e) {
this.on2 = !!e.detail.value
},
toggle3(e) {
this.on3 = !!e.detail.value
},
mockSub() {
uni.showToast({ title: '已订阅(演示)', icon: 'none' })
}
}
}
</script>
<style lang="scss" scoped>
.block {
padding: 22rpx;
margin-bottom: 18rpx;
}
.t {
font-size: 32rpx;
font-weight: 950;
}
.p {
margin-top: 14rpx;
font-size: 26rpx;
line-height: 1.7;
}
.line {
padding: 18rpx 0;
border-top: 1rpx solid rgba(17, 24, 39, 0.08);
}
.line:first-of-type {
border-top: 0;
}
</style>
+339
View File
@@ -0,0 +1,339 @@
<template>
<view class="container">
<view class="card block">
<view class="row between">
<view class="name">{{ vm.project.name }}</view>
<view class="price">¥{{ vm.amount }}</view>
</view>
<view class="muted meta" v-if="vm.type === 'booking'">
{{ vm.date }} {{ vm.slot }} · {{ vm.techName }}
</view>
<view class="muted meta" v-else>{{ vm.planLabel }} · {{ vm.validText }}</view>
</view>
<view class="card block">
<view class="title">订单信息</view>
<view class="line row between">
<view class="muted">类型</view>
<view>{{ vm.type === 'booking' ? '预约订单' : '购买卡券' }}</view>
</view>
<view class="line row between">
<view class="muted">单价</view>
<view>¥{{ vm.amount }}</view>
</view>
<view class="line row between">
<view class="muted">数量</view>
<view>1</view>
</view>
<view class="line row between">
<view class="muted">合计</view>
<view class="sum">¥{{ vm.amount }}</view>
</view>
<view class="line row between" v-if="vm.note">
<view class="muted">备注</view>
<view class="note">{{ vm.note }}</view>
</view>
</view>
<view class="card block">
<view class="title">规则摘要</view>
<view class="muted rline" v-if="vm.type === 'booking'">改约可在我的预约中发起改约原型演示</view>
<view class="muted rline" v-if="vm.type === 'booking'">取消支持取消预约取消后订单状态变为已取消</view>
<view class="muted rline" v-if="vm.type === 'booking'">爽约商用版可按门店策略收取爽约金此处占位</view>
<view class="muted rline" v-if="vm.type !== 'booking'">有效期以卡券类型展示为准过期后不可核销原型演示</view>
<view class="muted rline" v-if="vm.type !== 'booking'">核销到店出示核销码核销后自动扣次</view>
</view>
<view class="card block" v-if="vm.type !== 'booking'">
<view class="title">订单类型</view>
<view class="plans">
<view
v-for="p in plans"
:key="p.key"
class="plan"
:class="{ on: p.key === vm.planKey }"
@tap="selectPlan(p.key)"
>
<view class="p1">{{ p.label }}</view>
<view class="muted p2">{{ p.validText }}</view>
</view>
</view>
<view class="muted hint">购买后可在我的卡券/次卡里查看预约后到店核销</view>
</view>
<view class="card block">
<view class="title">支付方式</view>
<view class="pay row between">
<view class="row">
<view class="p-icon">W</view>
<view class="p-text">微信支付原型模拟</view>
</view>
<view class="tag">默认</view>
</view>
</view>
<view class="btn btn-primary submit" @tap="mockPay">去支付</view>
<view class="btn btn-ghost submit2" @tap="saveUnpaid">先保存为待付款</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
import { projects } from '@/common/mockData'
const fallbackProjects = [
{
id: 'p1',
categoryId: 'c1',
name: '水氧净透体验',
price: 99,
originPrice: 199,
durationMin: 60,
fitFor: '初次体验、暗沉、出油',
taboo: '近期激光/微针术后 7 天内不建议',
cover: '',
desc: '轻盈水氧 + 净透护理,适合快速提升肤感与通透度。'
}
]
function safeJsonParse(s) {
try {
return JSON.parse(s)
} catch (e) {
return null
}
}
export default {
components: { AiFloat },
data() {
const safeProjects = Array.isArray(projects) && projects.length ? projects : fallbackProjects
const initProject = safeProjects[0]
const initPlan = { key: 'single', label: '单次券', validText: '有效期 30 天', times: 1, mul: 1 }
return {
safeProjects,
vm: {
type: 'coupon',
project: initProject,
note: '',
planKey: initPlan.key,
planLabel: initPlan.label,
validText: initPlan.validText,
times: initPlan.times,
amount: initProject ? Math.round(initProject.price * initPlan.mul) : 99
},
plans: [
{ key: 'single', label: '单次券', validText: '有效期 30 天', times: 1, mul: 1 },
{ key: 'times5', label: '次卡 5 次', validText: '有效期 180 天', times: 5, mul: 4.2 },
{ key: 'package', label: '套餐', validText: '有效期 90 天', times: 3, mul: 2.6 }
]
}
},
onLoad(query) {
try {
const payload = query.payload ? safeJsonParse(decodeURIComponent(query.payload)) : null
const safeProjects = Array.isArray(this.safeProjects) && this.safeProjects.length ? this.safeProjects : fallbackProjects
if (payload && payload.type === 'booking') {
const p = safeProjects.find((x) => x.id === payload.projectId) || safeProjects[0]
const amount = p ? p.price : 99
this.vm = {
type: 'booking',
project: p || fallbackProjects[0],
amount,
planKey: '',
planLabel: '预约订单',
validText: '',
times: 0,
date: payload.date || '',
slot: payload.slot || '',
techId: payload.techId || '',
techName: payload.techName || '自动分配',
note: payload.note || ''
}
return
}
const projectId = query.projectId || ''
const p = safeProjects.find((x) => x.id === projectId) || safeProjects.find((x) => x.categoryId === 'c5') || safeProjects[0]
const basePlanKey = p && p.categoryId === 'c5' ? 'times5' : 'single'
const plan = this.plans.find((x) => x.key === basePlanKey) || this.plans[0]
const price = p ? p.price : 99
const amount = Math.round(price * plan.mul)
this.vm = {
type: 'coupon',
project: p || fallbackProjects[0],
note: '',
planKey: plan.key,
planLabel: plan.label,
validText: plan.validText,
times: plan.times,
amount
}
} catch (e) {
const p = (Array.isArray(this.safeProjects) && this.safeProjects[0]) || fallbackProjects[0]
const plan = this.plans[0]
this.vm = {
type: 'coupon',
project: p,
note: '',
planKey: plan.key,
planLabel: plan.label,
validText: plan.validText,
times: plan.times,
amount: Math.round((p ? p.price : 99) * plan.mul)
}
}
},
methods: {
selectPlan(key) {
const p = this.plans.find((x) => x.key === key) || this.plans[0]
const amount = Math.round(this.vm.project.price * p.mul)
this.vm = {
...this.vm,
planKey: p.key,
planLabel: p.label,
validText: p.validText,
times: p.times,
amount
}
},
buildOrder(status) {
const now = Date.now()
const id = `ord_demo_${now}`
const base = {
id,
createdAt: now,
status,
amount: this.vm.amount,
projectId: this.vm.project.id,
projectName: this.vm.project.name,
durationMin: this.vm.project.durationMin
}
if (this.vm.type === 'booking') {
return {
...base,
orderType: 'booking',
appointmentDate: this.vm.date,
appointmentSlot: this.vm.slot,
technicianName: this.vm.techName,
note: this.vm.note || '',
verifyCode: `VC${now}`
}
}
return {
...base,
orderType: 'coupon',
couponTitle: this.vm.project.name,
couponPlanKey: this.vm.planKey,
couponPlanLabel: this.vm.planLabel,
validText: this.vm.validText,
remainingTimes: this.vm.times || 1,
verifyCode: `VC${now}`
}
},
mockPay() {
const order = this.buildOrder('待核销')
const payload = encodeURIComponent(JSON.stringify(order))
uni.redirectTo({ url: `/pages/verify/code?payload=${payload}` })
},
saveUnpaid() {
const order = this.buildOrder('待付款')
const payload = encodeURIComponent(JSON.stringify(order))
uni.redirectTo({ url: `/pages/orders/detail?payload=${payload}` })
}
}
}
</script>
<style lang="scss" scoped>
.block {
padding: 22rpx;
margin-bottom: 18rpx;
}
.name {
font-size: 34rpx;
font-weight: 950;
max-width: 520rpx;
}
.price {
font-size: 32rpx;
font-weight: 950;
}
.meta {
margin-top: 10rpx;
font-size: 26rpx;
}
.title {
font-weight: 950;
font-size: 30rpx;
margin-bottom: 14rpx;
}
.line {
padding: 12rpx 0;
}
.sum {
font-weight: 950;
}
.note {
max-width: 520rpx;
text-align: right;
}
.plans {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12rpx;
}
.plan {
padding: 14rpx 12rpx;
border-radius: 18rpx;
border: 1rpx solid rgba(17, 24, 39, 0.08);
background: rgba(17, 24, 39, 0.03);
}
.on {
background: rgba(59, 130, 246, 0.12);
border-color: rgba(59, 130, 246, 0.35);
}
.p1 {
font-size: 26rpx;
font-weight: 950;
}
.p2 {
margin-top: 8rpx;
font-size: 22rpx;
}
.hint {
margin-top: 14rpx;
font-size: 24rpx;
}
.rline {
margin-top: 10rpx;
font-size: 24rpx;
}
.pay {
padding: 14rpx 0;
}
.p-icon {
width: 56rpx;
height: 56rpx;
border-radius: 16rpx;
background: rgba(16, 185, 129, 0.16);
color: #059669;
display: flex;
align-items: center;
justify-content: center;
font-weight: 900;
margin-right: 12rpx;
}
.p-text {
font-weight: 800;
}
.submit {
margin-top: 10rpx;
}
.submit2 {
margin-top: 16rpx;
}
</style>
+255
View File
@@ -0,0 +1,255 @@
<template>
<view class="container">
<view class="card head">
<view class="row between">
<view
class="st"
:class="{
w: o.status === '待付款',
g: o.status === '已完成',
d: o.status === '已取消',
p: o.status !== '待付款' && o.status !== '已完成' && o.status !== '已取消'
}"
>
{{ o.status }}
</view>
<view class="muted">订单号 {{ o.id }}</view>
</view>
<view class="name">{{ o.projectName }}</view>
<view class="muted meta">{{ typeLabel(o.orderType) }} · ¥{{ o.amount }}</view>
<view class="muted meta" v-if="o.orderType === 'booking'">
{{ o.appointmentDate }} {{ o.appointmentSlot }} · {{ o.technicianName }}
</view>
<view class="muted meta" v-else>剩余次数{{ o.remainingTimes }}</view>
</view>
<view class="card block">
<view class="title">核销码</view>
<view class="code row between">
<view class="c">{{ o.verifyCode }}</view>
<view class="tag" @tap="copy(o.verifyCode)">复制</view>
</view>
<view class="muted hint">到店出示核销码由门店扫码/输码核销此处为原型演示</view>
<view class="btn btn-ghost more" @tap="openCode">查看大码</view>
</view>
<view class="card block" v-if="o.note">
<view class="title">备注</view>
<view class="muted">{{ o.note }}</view>
</view>
<view class="actions">
<view v-if="o.status === '待付款'" class="btn btn-primary" @tap="pay">模拟支付</view>
<view v-if="o.status === '待核销'" class="btn btn-primary" @tap="verify">模拟核销</view>
<view v-if="o.orderType === 'booking' && o.status === '待核销'" class="btn btn-ghost" @tap="reschedule">改约</view>
<view v-if="o.status !== '已取消' && o.status !== '已完成'" class="btn btn-ghost" @tap="cancel">取消订单</view>
</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
import { demoOrders } from '@/common/demoOrders'
function safeJsonParse(s) {
try {
return JSON.parse(s)
} catch (e) {
return null
}
}
const __DBG_URL = 'http://127.0.0.1:7777/event'
export default {
components: { AiFloat },
data() {
return {
order: null
}
},
onLoad(query) {
//#region debug-point orders-detail-load
try {
uni.request({
url: __DBG_URL,
method: 'POST',
timeout: 2000,
data: {
sessionId: 'orders-detail-blank',
runId: 'pre-fix',
hypothesisId: 'H2',
msg: 'orders/detail onLoad',
queryKeys: query ? Object.keys(query) : [],
payloadLen: query && query.payload ? String(query.payload).length : 0
}
})
} catch (e) {}
//#endregion debug-point orders-detail-load
const raw = query.payload ? safeJsonParse(decodeURIComponent(query.payload)) : null
if (raw) this.order = raw
},
computed: {
o() {
return this.order || demoOrders[0] || {}
}
},
onReady() {
//#region debug-point orders-detail-ready
try {
uni.request({
url: __DBG_URL,
method: 'POST',
timeout: 2000,
data: {
sessionId: 'orders-detail-blank',
runId: 'pre-fix',
hypothesisId: 'H2',
msg: 'orders/detail onReady',
hasOrder: !!this.order,
oKeys: this.o ? Object.keys(this.o) : []
}
})
} catch (e) {}
//#endregion debug-point orders-detail-ready
},
onError(err) {
//#region debug-point orders-detail-error
try {
uni.request({
url: __DBG_URL,
method: 'POST',
timeout: 2000,
data: {
sessionId: 'orders-detail-blank',
runId: 'pre-fix',
hypothesisId: 'H2',
msg: 'orders/detail onError',
err: String(err || '')
}
})
} catch (e) {}
//#endregion debug-point orders-detail-error
},
methods: {
typeLabel(t) {
return t === 'booking' ? '预约订单' : '购买卡券'
},
openCode() {
const payload = encodeURIComponent(JSON.stringify(this.o))
uni.navigateTo({ url: `/pages/verify/code?payload=${payload}` })
},
copy(text) {
uni.setClipboardData({ data: text })
},
pay() {
this.order = { ...this.o, status: '待核销', paidAt: Date.now() }
uni.showToast({ title: '支付成功(模拟)', icon: 'none' })
setTimeout(() => {
const payload = encodeURIComponent(JSON.stringify(this.o))
uni.navigateTo({ url: `/pages/verify/code?payload=${payload}` })
}, 200)
},
verify() {
if (this.o.orderType === 'coupon') {
const left = Math.max(0, (this.o.remainingTimes || 0) - 1)
this.order = { ...this.o, remainingTimes: left, status: left === 0 ? '已完成' : '待核销' }
uni.showToast({ title: left === 0 ? '已核销完成' : '核销成功,已扣次', icon: 'none' })
return
}
this.order = { ...this.o, status: '已完成', verifiedAt: Date.now() }
uni.showToast({ title: '已核销完成(模拟)', icon: 'none' })
},
reschedule() {
uni.navigateTo({ url: `/pages/booking/create?projectId=${this.o.projectId}` })
},
cancel() {
uni.showModal({
title: '确认取消',
content: '原型演示:取消后订单状态将变为已取消。',
success: (res) => {
if (!res.confirm) return
this.order = { ...this.o, status: '已取消', canceledAt: Date.now() }
}
})
},
goMember() {
uni.switchTab({ url: '/pages/member/index' })
}
}
}
</script>
<style lang="scss" scoped>
.head {
padding: 24rpx;
}
.st {
padding: 10rpx 14rpx;
border-radius: 999rpx;
font-size: 24rpx;
font-weight: 900;
}
.w {
background: rgba(245, 158, 11, 0.16);
color: #b45309;
}
.p {
background: rgba(59, 130, 246, 0.16);
color: #1d4ed8;
}
.g {
background: rgba(16, 185, 129, 0.16);
color: #047857;
}
.d {
background: rgba(239, 68, 68, 0.12);
color: #b91c1c;
}
.name {
margin-top: 14rpx;
font-size: 38rpx;
font-weight: 950;
}
.meta {
margin-top: 10rpx;
font-size: 26rpx;
}
.block {
padding: 22rpx;
margin-top: 18rpx;
}
.title {
font-weight: 950;
font-size: 30rpx;
margin-bottom: 14rpx;
}
.code {
padding: 16rpx;
border-radius: 18rpx;
background: rgba(17, 24, 39, 0.04);
border: 1rpx dashed rgba(17, 24, 39, 0.18);
}
.c {
font-size: 36rpx;
font-weight: 900;
letter-spacing: 1rpx;
}
.hint {
margin-top: 12rpx;
font-size: 24rpx;
}
.more {
margin-top: 16rpx;
}
.actions {
margin-top: 24rpx;
display: flex;
flex-direction: column;
gap: 16rpx;
}
</style>
+176
View File
@@ -0,0 +1,176 @@
<template>
<view class="container">
<view class="card filters">
<scroll-view class="sc" scroll-x>
<view class="row">
<view
v-for="s in statuses"
:key="s.value"
class="chip"
:class="{ on: s.value === activeStatus }"
@tap="activeStatus = s.value"
>
{{ s.label }}
</view>
</view>
</scroll-view>
</view>
<view v-if="list.length === 0" class="card empty">
<view class="e1">暂无订单</view>
<view class="e2 muted">从项目页预约或购买后会在这里展示</view>
<view class="btn btn-primary ebtn" @tap="goProjects">去看看项目</view>
</view>
<view v-else class="list">
<view v-for="o in list" :key="o.id" class="card item" @tap="open(o.id)">
<view class="row between">
<view class="n">{{ o.projectName }}</view>
<view
class="st"
:class="{
w: o.status === '待付款',
g: o.status === '已完成',
d: o.status === '已取消',
p: o.status !== '待付款' && o.status !== '已完成' && o.status !== '已取消'
}"
>
{{ o.status }}
</view>
</view>
<view class="row between meta">
<view class="muted">{{ typeLabel(o.orderType) }}</view>
<view class="amt">¥{{ o.amount }}</view>
</view>
<view class="muted meta2" v-if="o.orderType === 'booking'">
{{ o.appointmentDate }} {{ o.appointmentSlot }} · {{ o.technicianName }}
</view>
<view class="muted meta2" v-else>核销码{{ o.verifyCode }}</view>
</view>
</view>
</view>
</template>
<script>
import { demoOrders } from '@/common/demoOrders'
export default {
data() {
return {
statuses: [
{ value: 'all', label: '全部' },
{ value: '待付款', label: '待付款' },
{ value: '待核销', label: '待核销' },
{ value: '已完成', label: '已完成' },
{ value: '已取消', label: '已取消' }
],
activeStatus: 'all',
orders: []
}
},
computed: {
list() {
if (this.activeStatus === 'all') return this.orders
return this.orders.filter((x) => x.status === this.activeStatus)
}
},
onShow() {
this.orders = demoOrders
},
methods: {
open(id) {
const o = this.orders.find((x) => x.id === id) || this.orders[0]
const payload = encodeURIComponent(JSON.stringify(o))
uni.navigateTo({ url: `/pages/orders/detail?payload=${payload}` })
},
goProjects() {
uni.switchTab({ url: '/pages/projects/list' })
},
typeLabel(t) {
return t === 'booking' ? '预约订单' : '购买卡券'
}
}
}
</script>
<style lang="scss" scoped>
.filters {
padding: 16rpx;
}
.sc {
white-space: nowrap;
}
.chip {
padding: 14rpx 18rpx;
margin-right: 12rpx;
border-radius: 999rpx;
font-size: 26rpx;
background: rgba(17, 24, 39, 0.06);
color: #111827;
flex: 0 0 auto;
}
.on {
background: rgba(59, 130, 246, 0.14);
color: #1d4ed8;
}
.empty {
margin-top: 18rpx;
padding: 26rpx;
}
.e1 {
font-size: 36rpx;
font-weight: 900;
}
.e2 {
margin-top: 10rpx;
font-size: 26rpx;
}
.ebtn {
margin-top: 18rpx;
}
.list {
margin-top: 18rpx;
}
.item {
padding: 22rpx;
margin-bottom: 18rpx;
}
.n {
font-size: 32rpx;
font-weight: 900;
max-width: 520rpx;
}
.st {
padding: 10rpx 14rpx;
border-radius: 999rpx;
font-size: 24rpx;
font-weight: 800;
}
.w {
background: rgba(245, 158, 11, 0.16);
color: #b45309;
}
.p {
background: rgba(59, 130, 246, 0.16);
color: #1d4ed8;
}
.g {
background: rgba(16, 185, 129, 0.16);
color: #047857;
}
.d {
background: rgba(239, 68, 68, 0.12);
color: #b91c1c;
}
.meta {
margin-top: 10rpx;
}
.amt {
font-weight: 900;
}
.meta2 {
margin-top: 10rpx;
font-size: 26rpx;
}
</style>
+42
View File
@@ -0,0 +1,42 @@
<template>
<view class="container">
<view class="card block">
<view class="t">我的肤质档案</view>
<view class="muted p">肤质敏感偏干</view>
<view class="muted p">关注补水修护减少泛红</view>
<view class="muted p">过敏史示例</view>
<view class="muted p">备注本页为原型演示商用版可由门店持续更新</view>
</view>
<view class="card block">
<view class="t">建议</view>
<view class="muted p">优先选择补水修护舒缓敏感类项目</view>
<view class="muted p">避免爆痘炎症期的强刺激清洁项目</view>
</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
export default {
components: { AiFloat }
}
</script>
<style lang="scss" scoped>
.block {
padding: 22rpx;
margin-bottom: 18rpx;
}
.t {
font-size: 32rpx;
font-weight: 950;
}
.p {
margin-top: 14rpx;
font-size: 26rpx;
line-height: 1.7;
}
</style>
+428
View File
@@ -0,0 +1,428 @@
<template>
<view class="container">
<view>
<view class="card head">
<image v-if="p.cover" class="cover" :src="p.cover" mode="aspectFill" />
<view class="name">{{ p.name }}</view>
<view class="row between meta">
<view class="muted">服务时长{{ p.durationMin }} 分钟</view>
<view class="price">
<text class="yen">¥</text>
<text class="num">{{ p.price }}</text>
<text class="ori muted" v-if="p.originPrice">¥{{ p.originPrice }}</text>
</view>
</view>
<view class="row between meta2">
<view class="tag2">{{ categoryName }}</view>
<view class="muted">评分 {{ rating }} / 5.0</view>
</view>
<view class="tags row">
<view class="tag">{{ p.fitFor }}</view>
<view class="tag warn">禁忌{{ p.taboo }}</view>
</view>
</view>
<view class="card block">
<view class="b-t">服务介绍</view>
<view class="b-v muted">{{ p.desc }}</view>
</view>
<view class="card block">
<view class="b-t">功效说明</view>
<view class="b-v muted" v-for="x in effects" :key="x">· {{ x }}</view>
</view>
<view class="card block">
<view class="b-t">服务流程</view>
<view class="b-v muted" v-for="x in steps" :key="x">· {{ x }}</view>
</view>
<view class="card block">
<view class="b-t">适合人群</view>
<view class="b-v muted">{{ p.fitFor }}</view>
</view>
<view class="card block">
<view class="b-t">禁忌说明</view>
<view class="b-v muted">{{ p.taboo }}</view>
</view>
<view class="card block">
<view class="b-t">用户评价</view>
<view class="review">
<view class="r1 row between">
<view class="rn">顾客 A</view>
<view class="muted">5.0</view>
</view>
<view class="muted rt">做完肤感很通透过程舒服推荐</view>
</view>
<view class="review">
<view class="r1 row between">
<view class="rn">顾客 B</view>
<view class="muted">4.8</view>
</view>
<view class="muted rt">店里环境很干净技师很专业</view>
</view>
</view>
<view class="space"></view>
<view class="fixbar">
<view class="bar card">
<view class="btn btn-ghost a" @tap="book">立即预约</view>
<view class="btn btn-primary b" @tap="buy">立即购买</view>
</view>
</view>
</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
import { categories, projects } from '@/common/mockData'
const fallbackCategories = [
{ id: 'c1', name: '体验爆款' },
{ id: 'c2', name: '面部护理' },
{ id: 'c3', name: '身体养生' },
{ id: 'c4', name: '美甲美睫' },
{ id: 'c5', name: '特惠套餐' }
]
const fallbackProjects = [
{
id: 'p1',
categoryId: 'c1',
name: '水氧净透体验',
price: 99,
originPrice: 199,
durationMin: 60,
fitFor: '初次体验、暗沉、出油',
taboo: '近期激光/微针术后 7 天内不建议',
cover: '',
desc: '轻盈水氧 + 净透护理,适合快速提升肤感与通透度。'
},
{
id: 'p2',
categoryId: 'c2',
name: '深层清洁黑头管理',
price: 168,
originPrice: 268,
durationMin: 75,
fitFor: 'T 区油脂旺盛、黑头粉刺',
taboo: '炎症爆痘期需评估后进行',
cover: '',
desc: '清洁、舒缓、收敛三步走,减少反复出油与毛孔困扰。'
},
{
id: 'p3',
categoryId: 'c2',
name: '补水修护屏障护理',
price: 238,
originPrice: 368,
durationMin: 80,
fitFor: '敏感泛红、干燥紧绷',
taboo: '过敏急性期请先咨询',
cover: '',
desc: '修护屏障与舒缓敏感,适合换季与长期干燥人群。'
},
{
id: 'p4',
categoryId: 'c3',
name: '肩颈舒缓筋膜放松',
price: 188,
originPrice: 288,
durationMin: 60,
fitFor: '久坐办公、肩颈僵硬',
taboo: '急性损伤与发热期不建议',
cover: '',
desc: '深度放松肌群与筋膜,改善紧绷与酸胀。'
},
{
id: 'p5',
categoryId: 'c5',
name: '皮肤管理次卡 5 次',
price: 899,
originPrice: 1199,
durationMin: 60,
fitFor: '长期管理、复购人群',
taboo: '具体项目以到店评估为准',
cover: '',
desc: '灵活使用,随时预约,到店核销自动扣次。'
},
{
id: 'p6',
categoryId: 'c4',
name: '轻奢美甲 · 单色',
price: 168,
originPrice: 238,
durationMin: 75,
fitFor: '通勤、日常、显白',
taboo: '甲面破损/感染需先处理',
cover: '',
desc: '干净利落的通勤单色,显白耐看,可按肤色搭配色卡。'
},
{
id: 'p7',
categoryId: 'c4',
name: '自然单根美睫 · 清透款',
price: 198,
originPrice: 298,
durationMin: 90,
fitFor: '自然放大双眼、日常耐看',
taboo: '眼部炎症/过敏期不建议',
cover: '',
desc: '清透自然的单根嫁接,整体更轻盈,适合新手与通勤。'
},
{
id: 'p8',
categoryId: 'c3',
name: '全身精油舒压 · 90 分钟',
price: 298,
originPrice: 398,
durationMin: 90,
fitFor: '压力大、睡眠欠佳、疲劳',
taboo: '孕期/发热/急性炎症期不建议',
cover: '',
desc: '精油舒压与深度放松结合,帮助缓解疲劳与紧绷。'
},
{
id: 'p9',
categoryId: 'c5',
name: '新客体验套餐 · 3 次',
price: 299,
originPrice: 499,
durationMin: 60,
fitFor: '初次体验、想要快速改善肤感',
taboo: '具体项目以到店评估为准',
cover: '',
desc: '高性价比新客套餐,适合建立基础皮肤管理节奏。'
}
]
const runtimeProjects = Array.isArray(projects) && projects.length ? projects : fallbackProjects
const runtimeCategories = Array.isArray(categories) && categories.length ? categories : fallbackCategories
const detailPreset = {
p1: {
rating: 5.0,
effects: ['净透提亮肤感', '补水保湿', '舒缓修护'],
steps: ['洁面清洁', '水氧净透护理', '精华导入', '舒缓收尾与防护']
},
p2: {
rating: 4.8,
effects: ['减少黑头粉刺困扰', '清理油脂与角质', '舒缓收敛毛孔观感'],
steps: ['皮肤评估与卸妆', '深层清洁与导出', '舒缓镇定', '收尾修护']
},
p3: {
rating: 4.9,
effects: ['补水修护屏障', '舒缓敏感泛红', '改善干燥紧绷'],
steps: ['温和清洁', '舒缓修护导入', '补水面膜', '收尾锁水防护']
},
p4: {
rating: 4.8,
effects: ['放松肩颈肌群', '改善紧绷酸胀', '提升舒适度与精神状态'],
steps: ['热敷放松', '筋膜松解', '肩颈重点放松', '收尾舒缓']
},
p5: {
rating: 4.9,
effects: ['长期皮肤管理更划算', '支持随时预约使用', '到店核销自动扣次'],
steps: ['购买次卡', '在线预约', '到店出示核销码', '门店核销扣次']
}
}
export default {
components: { AiFloat },
data() {
return {
id: '',
project: runtimeProjects[0] || null,
rating: 4.9,
effects: ['效果以到店评估为准', '体验舒适、过程规范', '可按肤质做个性化调整'],
steps: ['到店评估', '护理服务', '舒缓收尾', '给出居家建议'],
categoryName: runtimeCategories[0]?.name || '项目'
}
},
computed: {
p() {
return (
this.project ||
runtimeProjects[0] ||
fallbackProjects[0] || {
id: 'p1',
categoryId: 'c1',
name: '水氧净透体验',
price: 99,
originPrice: 199,
durationMin: 60,
fitFor: '初次体验、暗沉、出油',
taboo: '近期激光/微针术后 7 天内不建议',
cover: '',
desc: '轻盈水氧 + 净透护理,适合快速提升肤感与通透度。'
}
)
},
displayProject() {
return this.project || runtimeProjects[0] || null
}
},
onLoad(query) {
this.id = query.id || query.projectId || ''
if (!this.id && runtimeProjects.length) this.id = runtimeProjects[0].id
this.project = runtimeProjects.find((x) => x.id === this.id) || runtimeProjects[0] || null
const cat = this.p ? runtimeCategories.find((c) => c.id === this.p.categoryId) : null
this.categoryName = cat ? cat.name : '项目'
const p = detailPreset[this.id] || null
this.rating = p ? p.rating : 4.9
this.effects = p ? p.effects : ['效果以到店评估为准', '体验舒适、过程规范', '可按肤质做个性化调整']
this.steps = p ? p.steps : ['到店评估', '护理服务', '舒缓收尾', '给出居家建议']
},
methods: {
book() {
uni.navigateTo({ url: `/pages/booking/create?projectId=${this.p.id}` })
},
buy() {
uni.navigateTo({ url: `/pages/order/confirm?type=coupon&projectId=${this.p.id}` })
},
goList() {
uni.switchTab({ url: '/pages/projects/list' })
}
}
}
</script>
<style lang="scss" scoped>
.head {
padding: 26rpx;
}
.cover {
width: 100%;
height: 320rpx;
border-radius: 18rpx;
margin-bottom: 18rpx;
}
.name {
font-size: 42rpx;
font-weight: 950;
}
.meta {
margin-top: 14rpx;
}
.meta2 {
margin-top: 12rpx;
}
.price {
display: flex;
align-items: baseline;
}
.yen {
font-size: 24rpx;
opacity: 0.8;
}
.num {
font-size: 46rpx;
font-weight: 950;
}
.ori {
margin-left: 10rpx;
font-size: 24rpx;
text-decoration: line-through;
}
.tag2 {
padding: 10rpx 14rpx;
border-radius: 999rpx;
font-size: 24rpx;
background: rgba(17, 24, 39, 0.06);
font-weight: 900;
}
.tags {
margin-top: 18rpx;
gap: 12rpx;
flex-wrap: wrap;
}
.tag {
padding: 10rpx 14rpx;
border-radius: 999rpx;
font-size: 24rpx;
background: rgba(17, 24, 39, 0.06);
color: #111827;
}
.warn {
background: rgba(245, 158, 11, 0.14);
color: #b45309;
}
.block {
margin-top: 18rpx;
padding: 22rpx;
}
.b-t {
font-weight: 950;
font-size: 30rpx;
}
.b-v {
margin-top: 12rpx;
font-size: 26rpx;
}
.review {
margin-top: 16rpx;
padding-top: 16rpx;
border-top: 1rpx solid rgba(17, 24, 39, 0.08);
}
.review:first-of-type {
border-top: 0;
padding-top: 0;
}
.r1 {
margin-bottom: 8rpx;
}
.rn {
font-size: 28rpx;
font-weight: 900;
}
.rt {
font-size: 26rpx;
}
.space {
height: 150rpx;
}
.empty {
margin-top: 18rpx;
padding: 34rpx 26rpx;
text-align: center;
}
.en {
font-size: 36rpx;
font-weight: 950;
}
.et {
margin-top: 12rpx;
font-size: 26rpx;
}
.eb {
margin-top: 20rpx;
}
.fixbar {
position: fixed;
left: 0;
right: 0;
bottom: 0;
padding: 18rpx 24rpx 24rpx;
background: linear-gradient(180deg, rgba(246, 247, 251, 0) 0%, rgba(246, 247, 251, 1) 46%);
}
.bar {
padding: 18rpx;
display: flex;
gap: 14rpx;
}
.a {
flex: 1;
height: 82rpx;
}
.b {
flex: 1;
height: 82rpx;
}
</style>
+111
View File
@@ -0,0 +1,111 @@
<template>
<view class="container">
<view class="card search">
<view class="row between">
<input class="ipt" v-model="kw" placeholder="搜索项目:补水/清洁/肩颈…" confirm-type="search" />
<view class="sbtn" @tap="kw = ''">清空</view>
</view>
</view>
<view class="card filters">
<scroll-view class="sc" scroll-x>
<view class="row">
<view
v-for="c in allCategories"
:key="c.id"
class="chip"
:class="{ on: c.id === activeCategoryId }"
@tap="setCategory(c.id)"
>
{{ c.name }}
</view>
</view>
</scroll-view>
</view>
<view class="list">
<ProjectCard v-for="p in filteredProjects" :key="p.id" :project="p" class="mb" />
</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
import ProjectCard from '@/components/ProjectCard.vue'
import { categories, projects } from '@/common/mockData'
export default {
components: { ProjectCard, AiFloat },
data() {
return {
allCategories: [{ id: 'all', name: '全部' }, ...categories],
activeCategoryId: 'all',
kw: ''
}
},
computed: {
filteredProjects() {
const kw = (this.kw || '').trim()
const list = this.activeCategoryId === 'all' ? projects : projects.filter((p) => p.categoryId === this.activeCategoryId)
if (!kw) return list
return list.filter((p) => `${p.name}${p.fitFor}${p.desc}`.includes(kw))
}
},
methods: {
setCategory(id) {
this.activeCategoryId = id
}
}
}
</script>
<style lang="scss" scoped>
.search {
padding: 16rpx;
}
.ipt {
flex: 1;
height: 76rpx;
padding: 0 16rpx;
border-radius: 18rpx;
background: rgba(17, 24, 39, 0.05);
font-size: 28rpx;
}
.sbtn {
margin-left: 12rpx;
padding: 18rpx 14rpx;
border-radius: 18rpx;
background: rgba(17, 24, 39, 0.06);
font-size: 26rpx;
font-weight: 800;
}
.filters {
margin-top: 16rpx;
padding: 16rpx;
}
.sc {
white-space: nowrap;
}
.chip {
padding: 14rpx 18rpx;
margin-right: 12rpx;
border-radius: 999rpx;
font-size: 26rpx;
background: rgba(17, 24, 39, 0.06);
color: #111827;
flex: 0 0 auto;
}
.on {
background: rgba(59, 130, 246, 0.14);
color: #1d4ed8;
}
.list {
margin-top: 18rpx;
}
.mb {
margin-bottom: 18rpx;
}
</style>
+286
View File
@@ -0,0 +1,286 @@
<template>
<view class="container">
<view class="card filters">
<view class="row between">
<view class="title">消费记录</view>
<view class="row">
<view class="chip2" :class="{ on: range === 7 }" @tap="setRange(7)">近7天</view>
<view class="chip2" :class="{ on: range === 30 }" @tap="setRange(30)">近30天</view>
<view class="chip2" :class="{ on: range === 0 }" @tap="setRange(0)">全部</view>
</view>
</view>
</view>
<view v-if="!viewList || !viewList.length" class="card empty">
<view class="btn btn-primary ebtn" @tap="goProjects">去看看项目</view>
</view>
<view v-else class="list">
<view v-for="o in viewList" :key="o.id" class="card item" @tap="open(o.id)">
<view class="row between">
<view class="n">{{ o.projectName }}</view>
<view
class="st"
:class="{
w: o.status === '待付款',
g: o.status === '已完成',
d: o.status === '已取消',
p: o.status !== '待付款' && o.status !== '已完成' && o.status !== '已取消'
}"
>
{{ o.status }}
</view>
</view>
<view class="row between meta">
<view class="muted">{{ o.orderType === 'booking' ? '预约' : '购买' }}</view>
<view class="amt">¥{{ o.amount }}</view>
</view>
<view class="muted meta2">{{ fmt(o.createdAt) }}</view>
</view>
</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
import { demoOrders } from '@/common/demoOrders'
function tsToText(ts) {
const d = new Date(ts)
const y = d.getFullYear()
const m = `${d.getMonth() + 1}`.padStart(2, '0')
const dd = `${d.getDate()}`.padStart(2, '0')
const hh = `${d.getHours()}`.padStart(2, '0')
const mm = `${d.getMinutes()}`.padStart(2, '0')
return `${y}-${m}-${dd} ${hh}:${mm}`
}
function buildOrders() {
const now = Date.now()
const extra = [
{
id: 'rc_demo_001',
createdAt: now - 2 * 60 * 60 * 1000,
status: '已完成',
amount: 99,
projectId: 'p1',
projectName: '水氧净透体验',
durationMin: 60,
orderType: 'booking',
appointmentDate: '2026-06-21',
appointmentSlot: '12:30',
technicianName: '系统分配',
note: '',
verifyCode: 'VCRC20260621001'
},
{
id: 'rc_demo_002',
createdAt: now - 20 * 60 * 60 * 1000,
status: '已完成',
amount: 168,
projectId: 'p2',
projectName: '深层清洁黑头管理',
durationMin: 75,
orderType: 'coupon',
couponTitle: '深层清洁黑头管理',
couponPlanKey: 'single',
couponPlanLabel: '单次券',
validText: '有效期 30 天',
remainingTimes: 0,
verifyCode: 'VCRC20260621002'
},
{
id: 'rc_demo_003',
createdAt: now - 5 * 24 * 60 * 60 * 1000,
status: '已取消',
amount: 238,
projectId: 'p3',
projectName: '补水修护屏障护理',
durationMin: 80,
orderType: 'booking',
appointmentDate: '2026-06-18',
appointmentSlot: '15:00',
technicianName: '许言',
note: '',
verifyCode: 'VCRC20260621003'
},
{
id: 'rc_demo_004',
createdAt: now - 12 * 24 * 60 * 60 * 1000,
status: '已完成',
amount: 899,
projectId: 'p5',
projectName: '皮肤管理次卡 5 次',
durationMin: 60,
orderType: 'coupon',
couponTitle: '皮肤管理次卡 5 次',
couponPlanKey: 'times5',
couponPlanLabel: '次卡 5 次',
validText: '有效期 180 天',
remainingTimes: 4,
verifyCode: 'VCRC20260621004'
},
{
id: 'rc_demo_005',
createdAt: now - 35 * 24 * 60 * 60 * 1000,
status: '已完成',
amount: 188,
projectId: 'p4',
projectName: '肩颈舒缓筋膜放松',
durationMin: 60,
orderType: 'booking',
appointmentDate: '2026-05-17',
appointmentSlot: '19:00',
technicianName: '周晴',
note: '',
verifyCode: 'VCRC20260621005'
},
{
id: 'rc_demo_006',
createdAt: now - 62 * 24 * 60 * 60 * 1000,
status: '已完成',
amount: 299,
projectId: 'p9',
projectName: '新客体验套餐 · 3 次',
durationMin: 60,
orderType: 'coupon',
couponTitle: '新客体验套餐 · 3 次',
couponPlanKey: 'package',
couponPlanLabel: '套餐',
validText: '有效期 90 天',
remainingTimes: 2,
verifyCode: 'VCRC20260621006'
}
]
return [...demoOrders, ...extra].slice().sort((a, b) => (b.createdAt || 0) - (a.createdAt || 0))
}
export default {
components: { AiFloat },
data() {
return {
range: 30,
orders: buildOrders(),
viewList: []
}
},
onLoad() {
this.apply()
},
onShow() {
this.orders = buildOrders()
this.apply()
},
methods: {
apply() {
if (this.range === 0) {
this.viewList = this.orders && this.orders.length ? this.orders : []
return
}
const from = Date.now() - this.range * 24 * 60 * 60 * 1000
this.viewList = this.orders.filter((x) => (x.createdAt || 0) >= from)
if (!this.viewList || !this.viewList.length) this.viewList = this.orders.slice(0, 6)
},
setRange(n) {
this.range = n
this.apply()
},
open(id) {
const o = this.orders.find((x) => x.id === id) || this.orders[0]
const payload = encodeURIComponent(JSON.stringify(o))
uni.navigateTo({ url: `/pages/orders/detail?payload=${payload}` })
},
goProjects() {
uni.switchTab({ url: '/pages/projects/list' })
},
fmt(ts) {
return ts ? tsToText(ts) : ''
}
}
}
</script>
<style lang="scss" scoped>
.filters {
padding: 18rpx;
}
.title {
font-size: 32rpx;
font-weight: 950;
}
.chip2 {
padding: 10rpx 14rpx;
margin-left: 10rpx;
border-radius: 999rpx;
font-size: 24rpx;
background: rgba(17, 24, 39, 0.06);
color: #111827;
}
.on {
background: rgba(59, 130, 246, 0.14);
color: #1d4ed8;
}
.empty {
margin-top: 18rpx;
padding: 26rpx;
}
.e1 {
font-size: 36rpx;
font-weight: 950;
}
.e2 {
margin-top: 10rpx;
font-size: 26rpx;
}
.ebtn {
margin-top: 18rpx;
}
.list {
margin-top: 18rpx;
}
.item {
padding: 22rpx;
margin-bottom: 18rpx;
}
.n {
font-size: 32rpx;
font-weight: 950;
max-width: 520rpx;
}
.st {
padding: 10rpx 14rpx;
border-radius: 999rpx;
font-size: 24rpx;
font-weight: 900;
}
.w {
background: rgba(245, 158, 11, 0.16);
color: #b45309;
}
.p {
background: rgba(59, 130, 246, 0.16);
color: #1d4ed8;
}
.g {
background: rgba(16, 185, 129, 0.16);
color: #047857;
}
.d {
background: rgba(239, 68, 68, 0.12);
color: #b91c1c;
}
.meta {
margin-top: 10rpx;
}
.amt {
font-weight: 950;
}
.meta2 {
margin-top: 10rpx;
font-size: 26rpx;
}
</style>
+135
View File
@@ -0,0 +1,135 @@
<template>
<view class="container">
<view class="card hero">
<view class="name">{{ store.name }}</view>
<view class="muted sub">{{ store.address }}</view>
<view class="row between meta">
<view class="tag">营业 {{ store.openHours }}</view>
<view class="tag" @tap="call">电话</view>
</view>
</view>
<view class="card block">
<view class="title">门店信息</view>
<view class="line row between">
<view class="muted">地址</view>
<view class="val" @tap="copy(store.address)">复制</view>
</view>
<view class="muted tip">{{ store.address }}</view>
<view class="line row between">
<view class="muted">电话</view>
<view class="val" @tap="call">{{ store.phone }}</view>
</view>
<view class="line row between">
<view class="muted">营业时间</view>
<view class="val">{{ store.openHours }}</view>
</view>
</view>
<view class="card block">
<view class="title">技师团队</view>
<view class="tech" v-for="t in techs" :key="t.id">
<view class="row between">
<view>
<view class="tname">{{ t.name }}</view>
<view class="muted tsub">{{ t.title }}</view>
</view>
<view class="tags">
<text class="tag2" v-for="g in t.tags" :key="g">{{ g }}</text>
</view>
</view>
</view>
</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
import { storeProfile, technicians } from '@/common/mockData'
export default {
components: { AiFloat },
data() {
return {
store: storeProfile,
techs: technicians
}
},
methods: {
call() {
uni.makePhoneCall({ phoneNumber: this.store.phone })
},
copy(text) {
uni.setClipboardData({ data: text })
}
}
}
</script>
<style lang="scss" scoped>
.hero {
padding: 26rpx;
}
.name {
font-size: 42rpx;
font-weight: 950;
}
.sub {
margin-top: 12rpx;
font-size: 26rpx;
}
.meta {
margin-top: 18rpx;
}
.block {
margin-top: 18rpx;
padding: 22rpx;
}
.title {
font-weight: 950;
font-size: 30rpx;
margin-bottom: 14rpx;
}
.line {
padding: 12rpx 0;
}
.val {
color: #1d4ed8;
font-weight: 900;
}
.tip {
font-size: 26rpx;
line-height: 1.6;
}
.tech {
padding: 16rpx 0;
border-top: 1rpx solid rgba(17, 24, 39, 0.08);
}
.tech:first-of-type {
border-top: 0;
}
.tname {
font-size: 30rpx;
font-weight: 950;
}
.tsub {
margin-top: 6rpx;
font-size: 24rpx;
}
.tags {
display: flex;
gap: 8rpx;
flex-wrap: wrap;
justify-content: flex-end;
max-width: 280rpx;
}
.tag2 {
padding: 10rpx 14rpx;
border-radius: 999rpx;
font-size: 24rpx;
background: rgba(17, 24, 39, 0.06);
}
</style>
+208
View File
@@ -0,0 +1,208 @@
<template>
<view class="container">
<view class="card hero">
<view class="t1">支付成功</view>
<view class="t2 muted">已为你生成订单支持随时预约/到店核销</view>
<view class="code">{{ o.verifyCode }}</view>
<view class="row between info">
<view class="muted">{{ o.projectName }}</view>
<view class="amt">¥{{ o.amount }}</view>
</view>
<view class="muted info2" v-if="o.orderType === 'coupon'">
{{ o.couponPlanLabel || '卡券' }} · {{ o.validText || '有效期以到店确认' }} · 剩余次数{{ o.remainingTimes }}
</view>
<view class="muted info2" v-else>预约{{ o.appointmentDate }} {{ o.appointmentSlot }}</view>
</view>
<view class="card block">
<view class="line row between">
<view class="muted">订单状态</view>
<view class="tag">{{ o.status }}</view>
</view>
<view class="line row between">
<view class="muted">核销方式</view>
<view>门店扫码 / 手动输码</view>
</view>
<view class="line row between" v-if="o.validText && o.orderType === 'coupon'">
<view class="muted">有效期</view>
<view>{{ o.validText }}</view>
</view>
<view class="line row between" v-if="o.orderType === 'booking'">
<view class="muted">技师</view>
<view>{{ o.technicianName }}</view>
</view>
</view>
<view class="btn btn-primary" @tap="goBooking">去预约</view>
<view class="btn btn-ghost" @tap="goOrders">查看订单</view>
<view class="btn btn-ghost" @tap="goMember">返回个人中心</view>
<AiFloat />
</view>
</template>
<script>
import AiFloat from '@/components/AiFloat.vue'
import { demoOrders } from '@/common/demoOrders'
function safeJsonParse(s) {
try {
return JSON.parse(s)
} catch (e) {
return null
}
}
const __DBG_URL = 'http://127.0.0.1:7777/event'
export default {
components: { AiFloat },
data() {
return {
order: null
}
},
onLoad(query) {
//#region debug-point verify-code-load
try {
uni.request({
url: __DBG_URL,
method: 'POST',
timeout: 2000,
data: {
sessionId: 'orders-detail-blank',
runId: 'pre-fix',
hypothesisId: 'H2',
msg: 'verify/code onLoad',
queryKeys: query ? Object.keys(query) : [],
payloadLen: query && query.payload ? String(query.payload).length : 0
}
})
} catch (e) {}
//#endregion debug-point verify-code-load
const raw = query.payload ? safeJsonParse(decodeURIComponent(query.payload)) : null
if (raw) this.order = raw
},
computed: {
o() {
const defaultCoupon = Array.isArray(demoOrders) ? demoOrders.find((x) => x && x.orderType === 'coupon') : null
return (
this.order ||
defaultCoupon ||
demoOrders[0] || {
id: 'ord_demo_fallback',
status: '待核销',
amount: 99,
projectId: 'p1',
projectName: '水氧净透体验',
durationMin: 60,
orderType: 'coupon',
couponPlanLabel: '单次券',
validText: '有效期以到店确认',
remainingTimes: 1,
verifyCode: 'VC20260622000'
}
)
}
},
methods: {
goBooking() {
const o = this.o
//#region debug-point verify-code-goBooking
try {
uni.request({
url: __DBG_URL,
method: 'POST',
timeout: 2000,
data: {
sessionId: 'orders-detail-blank',
runId: 'pre-fix',
hypothesisId: 'H2',
msg: 'verify/code goBooking',
projectId: o && o.projectId ? String(o.projectId) : ''
}
})
} catch (e) {}
//#endregion debug-point verify-code-goBooking
uni.navigateTo({ url: `/pages/booking/create?projectId=${o.projectId}` })
},
goOrders() {
//#region debug-point verify-code-goOrders
try {
uni.request({
url: __DBG_URL,
method: 'POST',
timeout: 2000,
data: {
sessionId: 'orders-detail-blank',
runId: 'pre-fix',
hypothesisId: 'H2',
msg: 'verify/code goOrders',
orderId: this.o && this.o.id ? String(this.o.id) : ''
}
})
} catch (e) {}
//#endregion debug-point verify-code-goOrders
const payload = encodeURIComponent(JSON.stringify(this.o))
uni.navigateTo({ url: `/pages/orders/detail?payload=${payload}` })
},
goMember() {
uni.switchTab({ url: '/pages/member/index' })
}
}
}
</script>
<style lang="scss" scoped>
.hero {
padding: 28rpx;
background: linear-gradient(135deg, rgba(17, 24, 39, 1) 0%, rgba(59, 130, 246, 1) 100%);
border: 0;
color: #fff;
}
.t1 {
font-size: 42rpx;
font-weight: 950;
}
.t2 {
margin-top: 10rpx;
color: rgba(255, 255, 255, 0.82);
font-size: 26rpx;
}
.code {
margin-top: 22rpx;
padding: 22rpx;
border-radius: 22rpx;
background: rgba(255, 255, 255, 0.12);
border: 1rpx dashed rgba(255, 255, 255, 0.42);
font-size: 50rpx;
font-weight: 950;
letter-spacing: 2rpx;
text-align: center;
}
.info {
margin-top: 18rpx;
}
.amt {
font-weight: 950;
}
.info2 {
margin-top: 10rpx;
color: rgba(255, 255, 255, 0.82);
font-size: 26rpx;
}
.block {
margin-top: 18rpx;
padding: 22rpx;
}
.line {
padding: 14rpx 0;
}
.tag {
padding: 10rpx 14rpx;
border-radius: 999rpx;
background: rgba(255, 255, 255, 0.14);
}
</style>
+35
View File
@@ -0,0 +1,35 @@
const fs = require('fs')
const path = require('path')
const vendorPath = path.join(__dirname, '..', 'unpackage', 'dist', 'dev', 'mp-weixin', 'common', 'vendor.js')
function patchMpWeixinVendor() {
if (!fs.existsSync(vendorPath)) {
return { ok: false, patched: false, reason: 'vendor.js not found' }
}
const s = fs.readFileSync(vendorPath, 'utf8')
const from = 'this.$vm.$mp.query = query; // 兼容 mpvue'
const toLegacy = 'if (this.$vm) {\\n if (!this.$vm.$mp) this.$vm.$mp = {};\\n this.$vm.$mp.query = query;\\n }'
const to = 'if (this.$vm) { if (!this.$vm.$mp) this.$vm.$mp = {}; this.$vm.$mp.query = query; }'
if (s.includes(to)) {
return { ok: true, patched: false, reason: 'already patched' }
}
if (s.includes(toLegacy)) {
fs.writeFileSync(vendorPath, s.replace(toLegacy, to), 'utf8')
return { ok: true, patched: true }
}
if (!s.includes(from)) {
return { ok: false, patched: false, reason: 'target snippet not found' }
}
fs.writeFileSync(vendorPath, s.replace(from, to), 'utf8')
return { ok: true, patched: true }
}
module.exports = patchMpWeixinVendor
if (require.main === module) {
patchMpWeixinVendor()
}
+60
View File
@@ -0,0 +1,60 @@
@import "@/uni.scss";
page {
background: $bg;
color: $text;
font-size: 30rpx;
line-height: 1.4;
}
.container {
padding: 24rpx;
}
.card {
background: $card;
border: 1rpx solid $border;
border-radius: 24rpx;
box-shadow: 0 8rpx 28rpx rgba(17, 24, 39, 0.06);
}
.row {
display: flex;
align-items: center;
}
.between {
justify-content: space-between;
}
.muted {
color: $muted;
}
.btn {
height: 88rpx;
border-radius: 20rpx;
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
font-size: 30rpx;
}
.btn-primary {
background: linear-gradient(135deg, $primary 0%, $primary2 100%);
color: #fff;
}
.btn-ghost {
background: rgba(17, 24, 39, 0.06);
color: $text;
}
.tag {
padding: 10rpx 16rpx;
border-radius: 999rpx;
font-size: 24rpx;
background: rgba(17, 24, 39, 0.06);
color: $text;
}
+11
View File
@@ -0,0 +1,11 @@
$bg: #f6f7fb;
$card: #ffffff;
$text: #111827;
$muted: #6b7280;
$border: rgba(17, 24, 39, 0.08);
$primary: #111827;
$primary2: #3b82f6;
$success: #10b981;
$warning: #f59e0b;
$danger: #ef4444;
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
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
+4
View File
@@ -0,0 +1,4 @@
require('./common/runtime.js')
require('./common/vendor.js')
require('./common/main.js')
+57
View File
@@ -0,0 +1,57 @@
{
"pages": [
"pages/auth/login",
"pages/home/index",
"pages/projects/list",
"pages/projects/detail",
"pages/booking/create",
"pages/order/confirm",
"pages/orders/list",
"pages/orders/detail",
"pages/verify/code",
"pages/member/index",
"pages/appointments/list",
"pages/coupons/list",
"pages/records/list",
"pages/store/detail",
"pages/profile/skin",
"pages/messages/settings",
"pages/ai/chat",
"pages/legal/privacy",
"pages/legal/terms"
],
"subPackages": [],
"window": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "智约美服",
"navigationBarBackgroundColor": "#FFFFFF",
"backgroundColor": "#F6F7FB",
"backgroundTextStyle": "light"
},
"tabBar": {
"color": "#6B7280",
"selectedColor": "#111827",
"backgroundColor": "#FFFFFF",
"borderStyle": "black",
"list": [
{
"pagePath": "pages/home/index",
"text": "首页"
},
{
"pagePath": "pages/projects/list",
"text": "项目"
},
{
"pagePath": "pages/member/index",
"text": "我的"
}
]
},
"permission": {
"scope.userLocation": {
"desc": "用于展示附近门店与距离"
}
},
"usingComponents": {}
}
+3
View File
@@ -0,0 +1,3 @@
@import './common/main.wxss';
[data-custom-hidden="true"],[bind-data-custom-hidden="true"]{display: none !important;}
+174
View File
@@ -0,0 +1,174 @@
(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["common/main"],[
/* 0 */
/*!*********************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/main.js ***!
\*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(wx) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createApp = createApp;
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 3));
__webpack_require__(/*! uni-pages */ 7);
var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 8));
var _App = _interopRequireDefault(__webpack_require__(/*! ./App.vue */ 14));
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
// @ts-ignore
wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;
function createApp() {
_vue.default.config.productionTip = false;
_App.default.mpType = 'app';
if (!_vue.default.prototype.$mp) _vue.default.prototype.$mp = {};
if (!_vue.default.prototype.$mp.query) _vue.default.prototype.$mp.query = {};
_vue.default.mixin({
beforeCreate: function beforeCreate() {
if (!this.$mp) this.$mp = {};
if (!this.$mp.query) this.$mp.query = {};
}
});
var app = new _vue.default(_objectSpread({}, _App.default));
return {
app: app
};
}
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"]))
/***/ }),
/* 1 */,
/* 2 */,
/* 3 */,
/* 4 */,
/* 5 */,
/* 6 */,
/* 7 */,
/* 8 */,
/* 9 */,
/* 10 */,
/* 11 */,
/* 12 */,
/* 13 */,
/* 14 */
/*!*********************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/App.vue ***!
\*********************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ 15);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue?vue&type=style&index=0&lang=scss& */ 17);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 19);
var render, staticRenderFns, recyclableRender, components
var renderjs
/* normalize component */
var component = Object(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"],
render,
staticRenderFns,
false,
null,
null,
null,
false,
components,
renderjs
)
component.options.__file = "App.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/* 15 */
/*!**********************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/App.vue?vue&type=script&lang=js& ***!
\**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js& */ 16);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/* 16 */
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/App.vue?vue&type=script&lang=js& ***!
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(wx) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
onLaunch: function onLaunch() {
try {
var req = typeof wx !== 'undefined' ? wx.__webpack_require_UNI_MP_PLUGIN__ : null;
if (req) {
var m = req(8);
var V = m && (m.default || m);
if (V && V.prototype) {
if (!V.prototype.$mp) V.prototype.$mp = {};
if (!V.prototype.$mp.query) V.prototype.$mp.query = {};
}
}
} catch (e) {}
},
onShow: function onShow() {},
onHide: function onHide() {}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"]))
/***/ }),
/* 17 */
/*!*******************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/App.vue?vue&type=style&index=0&lang=scss& ***!
\*******************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=scss& */ 18);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/* 18 */
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/App.vue?vue&type=style&index=0&lang=scss& ***!
\***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
if(false) { var cssReload; }
/***/ })
],[[0,"common/runtime","common/vendor"]]]);
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/main.js.map
+49
View File
@@ -0,0 +1,49 @@
page {
background: #f6f7fb;
color: #111827;
font-size: 30rpx;
line-height: 1.4;
}
.container {
padding: 24rpx;
}
.card {
background: #ffffff;
border: 1rpx solid rgba(17, 24, 39, 0.08);
border-radius: 24rpx;
box-shadow: 0 8rpx 28rpx rgba(17, 24, 39, 0.06);
}
.row {
display: flex;
align-items: center;
}
.between {
justify-content: space-between;
}
.muted {
color: #6b7280;
}
.btn {
height: 88rpx;
border-radius: 20rpx;
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
font-size: 30rpx;
}
.btn-primary {
background: linear-gradient(135deg, #111827 0%, #3b82f6 100%);
color: #fff;
}
.btn-ghost {
background: rgba(17, 24, 39, 0.06);
color: #111827;
}
.tag {
padding: 10rpx 16rpx;
border-radius: 999rpx;
font-size: 24rpx;
background: rgba(17, 24, 39, 0.06);
color: #111827;
}
+234
View File
@@ -0,0 +1,234 @@
!function(){try{var a=Function("return this")();a&&!a.Math&&(Object.assign(a,{isFinite:isFinite,Array:Array,Date:Date,Error:Error,Function:Function,Math:Math,Object:Object,RegExp:RegExp,String:String,TypeError:TypeError,setTimeout:setTimeout,clearTimeout:clearTimeout,setInterval:setInterval,clearInterval:clearInterval}),"undefined"!=typeof Reflect&&(a.Reflect=Reflect))}catch(a){}}();
/******/ (function(modules) { // webpackBootstrap
/******/ // install a JSONP callback for chunk loading
/******/ function webpackJsonpCallback(data) {
/******/ var chunkIds = data[0];
/******/ var moreModules = data[1];
/******/ var executeModules = data[2];
/******/
/******/ // add "moreModules" to the modules object,
/******/ // then flag all "chunkIds" as loaded and fire callback
/******/ var moduleId, chunkId, i = 0, resolves = [];
/******/ for(;i < chunkIds.length; i++) {
/******/ chunkId = chunkIds[i];
/******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
/******/ resolves.push(installedChunks[chunkId][0]);
/******/ }
/******/ installedChunks[chunkId] = 0;
/******/ }
/******/ for(moduleId in moreModules) {
/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
/******/ modules[moduleId] = moreModules[moduleId];
/******/ }
/******/ }
/******/ if(parentJsonpFunction) parentJsonpFunction(data);
/******/
/******/ while(resolves.length) {
/******/ resolves.shift()();
/******/ }
/******/
/******/ // add entry modules from loaded chunk to deferred list
/******/ deferredModules.push.apply(deferredModules, executeModules || []);
/******/
/******/ // run deferred modules when all chunks ready
/******/ return checkDeferredModules();
/******/ };
/******/ function checkDeferredModules() {
/******/ var result;
/******/ for(var i = 0; i < deferredModules.length; i++) {
/******/ var deferredModule = deferredModules[i];
/******/ var fulfilled = true;
/******/ for(var j = 1; j < deferredModule.length; j++) {
/******/ var depId = deferredModule[j];
/******/ if(installedChunks[depId] !== 0) fulfilled = false;
/******/ }
/******/ if(fulfilled) {
/******/ deferredModules.splice(i--, 1);
/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
/******/ }
/******/ }
/******/
/******/ return result;
/******/ }
/******/
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // object to store loaded CSS chunks
/******/ var installedCssChunks = {
/******/ "common/runtime": 0
/******/ }
/******/
/******/ // object to store loaded and loading chunks
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ // Promise = chunk loading, 0 = chunk loaded
/******/ var installedChunks = {
/******/ "common/runtime": 0
/******/ };
/******/
/******/ var deferredModules = [];
/******/
/******/ // script path function
/******/ function jsonpScriptSrc(chunkId) {
/******/ return __webpack_require__.p + "" + chunkId + ".js"
/******/ }
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/ // This file contains only the entry chunk.
/******/ // The chunk loading function for additional chunks
/******/ __webpack_require__.e = function requireEnsure(chunkId) {
/******/ var promises = [];
/******/
/******/
/******/
/******/
/******/ // JSONP chunk loading for javascript
/******/
/******/ var installedChunkData = installedChunks[chunkId];
/******/ if(installedChunkData !== 0) { // 0 means "already installed".
/******/
/******/ // a Promise means "currently loading".
/******/ if(installedChunkData) {
/******/ promises.push(installedChunkData[2]);
/******/ } else {
/******/ // setup Promise in chunk cache
/******/ var promise = new Promise(function(resolve, reject) {
/******/ installedChunkData = installedChunks[chunkId] = [resolve, reject];
/******/ });
/******/ promises.push(installedChunkData[2] = promise);
/******/
/******/ // start chunk loading
/******/ var script = document.createElement('script');
/******/ var onScriptComplete;
/******/
/******/ script.charset = 'utf-8';
/******/ script.timeout = 120;
/******/ if (__webpack_require__.nc) {
/******/ script.setAttribute("nonce", __webpack_require__.nc);
/******/ }
/******/ script.src = jsonpScriptSrc(chunkId);
/******/
/******/ // create error before stack unwound to get useful stacktrace later
/******/ var error = new Error();
/******/ onScriptComplete = function (event) {
/******/ // avoid mem leaks in IE.
/******/ script.onerror = script.onload = null;
/******/ clearTimeout(timeout);
/******/ var chunk = installedChunks[chunkId];
/******/ if(chunk !== 0) {
/******/ if(chunk) {
/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
/******/ var realSrc = event && event.target && event.target.src;
/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
/******/ error.name = 'ChunkLoadError';
/******/ error.type = errorType;
/******/ error.request = realSrc;
/******/ chunk[1](error);
/******/ }
/******/ installedChunks[chunkId] = undefined;
/******/ }
/******/ };
/******/ var timeout = setTimeout(function(){
/******/ onScriptComplete({ type: 'timeout', target: script });
/******/ }, 120000);
/******/ script.onerror = script.onload = onScriptComplete;
/******/ document.head.appendChild(script);
/******/ }
/******/ }
/******/ return Promise.all(promises);
/******/ };
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/";
/******/
/******/ // on error function for async loading
/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; };
/******/
/******/ var jsonpArray = global["webpackJsonp"] = global["webpackJsonp"] || [];
/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
/******/ jsonpArray.push = webpackJsonpCallback;
/******/ jsonpArray = jsonpArray.slice();
/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
/******/ var parentJsonpFunction = oldJsonpFunction;
/******/
/******/
/******/ // run deferred modules from other chunks
/******/ checkDeferredModules();
/******/ })
/************************************************************************/
/******/ ([]);
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/runtime.js.map
File diff suppressed because it is too large Load Diff
+184
View File
@@ -0,0 +1,184 @@
(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["components/AiFloat"],{
/***/ 192:
/*!************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/AiFloat.vue ***!
\************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _AiFloat_vue_vue_type_template_id_e972a4ee_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AiFloat.vue?vue&type=template&id=e972a4ee&scoped=true& */ 193);
/* harmony import */ var _AiFloat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AiFloat.vue?vue&type=script&lang=js& */ 195);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _AiFloat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _AiFloat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _AiFloat_vue_vue_type_style_index_0_id_e972a4ee_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AiFloat.vue?vue&type=style&index=0&id=e972a4ee&lang=scss&scoped=true& */ 197);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 19);
var renderjs
/* normalize component */
var component = Object(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
_AiFloat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_AiFloat_vue_vue_type_template_id_e972a4ee_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
_AiFloat_vue_vue_type_template_id_e972a4ee_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
"e972a4ee",
null,
false,
_AiFloat_vue_vue_type_template_id_e972a4ee_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
renderjs
)
component.options.__file = "components/AiFloat.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ 193:
/*!*******************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/AiFloat.vue?vue&type=template&id=e972a4ee&scoped=true& ***!
\*******************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_template_id_e972a4ee_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./AiFloat.vue?vue&type=template&id=e972a4ee&scoped=true& */ 194);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_template_id_e972a4ee_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_template_id_e972a4ee_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_template_id_e972a4ee_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_template_id_e972a4ee_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/***/ 194:
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/AiFloat.vue?vue&type=template&id=e972a4ee&scoped=true& ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ 195:
/*!*************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/AiFloat.vue?vue&type=script&lang=js& ***!
\*************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./AiFloat.vue?vue&type=script&lang=js& */ 196);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 196:
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/AiFloat.vue?vue&type=script&lang=js& ***!
\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
//
//
//
//
//
//
//
var _default = {
name: 'AiFloat',
methods: {
go: function go() {
uni.navigateTo({
url: '/pages/ai/chat'
});
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["default"]))
/***/ }),
/***/ 197:
/*!**********************************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/AiFloat.vue?vue&type=style&index=0&id=e972a4ee&lang=scss&scoped=true& ***!
\**********************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_style_index_0_id_e972a4ee_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./AiFloat.vue?vue&type=style&index=0&id=e972a4ee&lang=scss&scoped=true& */ 198);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_style_index_0_id_e972a4ee_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_style_index_0_id_e972a4ee_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_style_index_0_id_e972a4ee_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_style_index_0_id_e972a4ee_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_AiFloat_vue_vue_type_style_index_0_id_e972a4ee_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 198:
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/AiFloat.vue?vue&type=style&index=0&id=e972a4ee&lang=scss&scoped=true& ***!
\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
if(false) { var cssReload; }
/***/ })
}]);
//# sourceMappingURL=../../.sourcemap/mp-weixin/components/AiFloat.js.map
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
'components/AiFloat-create-component',
{
'components/AiFloat-create-component':(function(module, exports, __webpack_require__){
__webpack_require__('21')['createComponent'](__webpack_require__(192))
})
},
[['components/AiFloat-create-component']]
]);
+4
View File
@@ -0,0 +1,4 @@
{
"usingComponents": {},
"component": true
}
+1
View File
@@ -0,0 +1 @@
<view data-event-opts="{{[['tap',[['go',['$event']]]]]}}" class="ai-float data-v-e972a4ee" bindtap="__e"><view class="dot data-v-e972a4ee"></view><view class="t data-v-e972a4ee">AI</view></view>
+30
View File
@@ -0,0 +1,30 @@
.ai-float.data-v-e972a4ee {
position: fixed;
right: 24rpx;
bottom: 170rpx;
width: 112rpx;
height: 112rpx;
border-radius: 999rpx;
background: linear-gradient(135deg, #111827 0%, #3b82f6 100%);
box-shadow: 0 16rpx 40rpx rgba(17, 24, 39, 0.18);
display: flex;
align-items: center;
justify-content: center;
z-index: 99;
}
.t.data-v-e972a4ee {
color: #fff;
font-size: 32rpx;
font-weight: 800;
letter-spacing: 2rpx;
}
.dot.data-v-e972a4ee {
position: absolute;
top: 14rpx;
right: 14rpx;
width: 16rpx;
height: 16rpx;
border-radius: 999rpx;
background: #10b981;
border: 4rpx solid rgba(255, 255, 255, 0.8);
}
+213
View File
@@ -0,0 +1,213 @@
(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["components/ProjectCard"],{
/***/ 206:
/*!****************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/ProjectCard.vue ***!
\****************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ProjectCard_vue_vue_type_template_id_c1d2c984_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ProjectCard.vue?vue&type=template&id=c1d2c984&scoped=true& */ 207);
/* harmony import */ var _ProjectCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ProjectCard.vue?vue&type=script&lang=js& */ 209);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ProjectCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ProjectCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _ProjectCard_vue_vue_type_style_index_0_id_c1d2c984_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ProjectCard.vue?vue&type=style&index=0&id=c1d2c984&lang=scss&scoped=true& */ 211);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 19);
var renderjs
/* normalize component */
var component = Object(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
_ProjectCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_ProjectCard_vue_vue_type_template_id_c1d2c984_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
_ProjectCard_vue_vue_type_template_id_c1d2c984_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
"c1d2c984",
null,
false,
_ProjectCard_vue_vue_type_template_id_c1d2c984_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
renderjs
)
component.options.__file = "components/ProjectCard.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ 207:
/*!***********************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/ProjectCard.vue?vue&type=template&id=c1d2c984&scoped=true& ***!
\***********************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_template_id_c1d2c984_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./ProjectCard.vue?vue&type=template&id=c1d2c984&scoped=true& */ 208);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_template_id_c1d2c984_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_template_id_c1d2c984_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_template_id_c1d2c984_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_template_id_c1d2c984_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/***/ 208:
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/ProjectCard.vue?vue&type=template&id=c1d2c984&scoped=true& ***!
\***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ 209:
/*!*****************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/ProjectCard.vue?vue&type=script&lang=js& ***!
\*****************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./ProjectCard.vue?vue&type=script&lang=js& */ 210);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 210:
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/ProjectCard.vue?vue&type=script&lang=js& ***!
\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
var _default = {
name: 'ProjectCard',
props: {
project: {
type: Object,
required: true
}
},
methods: {
open: function open() {
uni.navigateTo({
url: "/pages/projects/detail?id=".concat(this.project.id)
});
},
book: function book() {
this.open();
},
buy: function buy() {
uni.navigateTo({
url: "/pages/order/confirm?type=coupon&projectId=".concat(this.project.id)
});
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["default"]))
/***/ }),
/***/ 211:
/*!**************************************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/ProjectCard.vue?vue&type=style&index=0&id=c1d2c984&lang=scss&scoped=true& ***!
\**************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_style_index_0_id_c1d2c984_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./ProjectCard.vue?vue&type=style&index=0&id=c1d2c984&lang=scss&scoped=true& */ 212);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_style_index_0_id_c1d2c984_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_style_index_0_id_c1d2c984_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_style_index_0_id_c1d2c984_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_style_index_0_id_c1d2c984_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectCard_vue_vue_type_style_index_0_id_c1d2c984_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 212:
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/ProjectCard.vue?vue&type=style&index=0&id=c1d2c984&lang=scss&scoped=true& ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
if(false) { var cssReload; }
/***/ })
}]);
//# sourceMappingURL=../../.sourcemap/mp-weixin/components/ProjectCard.js.map
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
'components/ProjectCard-create-component',
{
'components/ProjectCard-create-component':(function(module, exports, __webpack_require__){
__webpack_require__('21')['createComponent'](__webpack_require__(206))
})
},
[['components/ProjectCard-create-component']]
]);
@@ -0,0 +1,4 @@
{
"usingComponents": {},
"component": true
}
@@ -0,0 +1 @@
<view class="card item data-v-c1d2c984"><block wx:if="{{project.cover}}"><image class="cover data-v-c1d2c984" src="{{project.cover}}" mode="aspectFill" data-event-opts="{{[['tap',[['open',['$event']]]]]}}" bindtap="__e"></image></block><view class="row between data-v-c1d2c984"><view data-event-opts="{{[['tap',[['open',['$event']]]]]}}" class="name data-v-c1d2c984" bindtap="__e">{{project.name}}</view><view class="price data-v-c1d2c984"><text class="yen data-v-c1d2c984">¥</text><text class="num data-v-c1d2c984">{{project.price}}</text><block wx:if="{{project.originPrice}}"><text class="ori muted data-v-c1d2c984">{{"¥"+project.originPrice}}</text></block></view></view><view class="muted meta data-v-c1d2c984">{{"服务时长:"+project.durationMin+" 分钟"}}</view><view class="muted meta data-v-c1d2c984">{{"适合人群:"+project.fitFor}}</view><view class="muted meta data-v-c1d2c984">{{"简介:"+project.desc}}</view><view class="muted meta data-v-c1d2c984">{{"禁忌提醒:"+project.taboo}}</view><view class="row between ops data-v-c1d2c984"><view data-event-opts="{{[['tap',[['book',['$event']]]]]}}" class="btn btn-ghost a data-v-c1d2c984" bindtap="__e">立即预约</view><view data-event-opts="{{[['tap',[['buy',['$event']]]]]}}" class="btn btn-primary b data-v-c1d2c984" bindtap="__e">立即购买</view></view></view>
@@ -0,0 +1,48 @@
.item.data-v-c1d2c984 {
padding: 22rpx;
}
.cover.data-v-c1d2c984 {
width: 100%;
height: 260rpx;
border-radius: 18rpx;
margin-bottom: 16rpx;
}
.name.data-v-c1d2c984 {
font-weight: 950;
font-size: 34rpx;
max-width: 520rpx;
}
.price.data-v-c1d2c984 {
display: flex;
align-items: baseline;
color: #111827;
}
.yen.data-v-c1d2c984 {
font-size: 24rpx;
opacity: 0.8;
}
.num.data-v-c1d2c984 {
font-size: 40rpx;
font-weight: 950;
}
.ori.data-v-c1d2c984 {
margin-left: 10rpx;
font-size: 24rpx;
text-decoration: line-through;
}
.meta.data-v-c1d2c984 {
margin-top: 10rpx;
font-size: 26rpx;
}
.ops.data-v-c1d2c984 {
margin-top: 18rpx;
gap: 16rpx;
}
.a.data-v-c1d2c984 {
flex: 1;
height: 80rpx;
}
.b.data-v-c1d2c984 {
flex: 1;
height: 80rpx;
}
@@ -0,0 +1,199 @@
(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["components/ProjectGridCard"],{
/***/ 199:
/*!********************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/ProjectGridCard.vue ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ProjectGridCard_vue_vue_type_template_id_449c29a4_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ProjectGridCard.vue?vue&type=template&id=449c29a4&scoped=true& */ 200);
/* harmony import */ var _ProjectGridCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ProjectGridCard.vue?vue&type=script&lang=js& */ 202);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ProjectGridCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ProjectGridCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _ProjectGridCard_vue_vue_type_style_index_0_id_449c29a4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ProjectGridCard.vue?vue&type=style&index=0&id=449c29a4&lang=scss&scoped=true& */ 204);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 19);
var renderjs
/* normalize component */
var component = Object(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
_ProjectGridCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_ProjectGridCard_vue_vue_type_template_id_449c29a4_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
_ProjectGridCard_vue_vue_type_template_id_449c29a4_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
"449c29a4",
null,
false,
_ProjectGridCard_vue_vue_type_template_id_449c29a4_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
renderjs
)
component.options.__file = "components/ProjectGridCard.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ 200:
/*!***************************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/ProjectGridCard.vue?vue&type=template&id=449c29a4&scoped=true& ***!
\***************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_template_id_449c29a4_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./ProjectGridCard.vue?vue&type=template&id=449c29a4&scoped=true& */ 201);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_template_id_449c29a4_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_template_id_449c29a4_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_template_id_449c29a4_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_template_id_449c29a4_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/***/ 201:
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/ProjectGridCard.vue?vue&type=template&id=449c29a4&scoped=true& ***!
\***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ 202:
/*!*********************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/ProjectGridCard.vue?vue&type=script&lang=js& ***!
\*********************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./ProjectGridCard.vue?vue&type=script&lang=js& */ 203);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 203:
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/ProjectGridCard.vue?vue&type=script&lang=js& ***!
\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
var _default = {
name: 'ProjectGridCard',
props: {
project: {
type: Object,
required: true
}
},
methods: {
open: function open() {
uni.navigateTo({
url: "/pages/projects/detail?id=".concat(this.project.id)
});
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["default"]))
/***/ }),
/***/ 204:
/*!******************************************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/ProjectGridCard.vue?vue&type=style&index=0&id=449c29a4&lang=scss&scoped=true& ***!
\******************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_style_index_0_id_449c29a4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./ProjectGridCard.vue?vue&type=style&index=0&id=449c29a4&lang=scss&scoped=true& */ 205);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_style_index_0_id_449c29a4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_style_index_0_id_449c29a4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_style_index_0_id_449c29a4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_style_index_0_id_449c29a4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ProjectGridCard_vue_vue_type_style_index_0_id_449c29a4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 205:
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/components/ProjectGridCard.vue?vue&type=style&index=0&id=449c29a4&lang=scss&scoped=true& ***!
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
if(false) { var cssReload; }
/***/ })
}]);
//# sourceMappingURL=../../.sourcemap/mp-weixin/components/ProjectGridCard.js.map
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
'components/ProjectGridCard-create-component',
{
'components/ProjectGridCard-create-component':(function(module, exports, __webpack_require__){
__webpack_require__('21')['createComponent'](__webpack_require__(199))
})
},
[['components/ProjectGridCard-create-component']]
]);
@@ -0,0 +1,4 @@
{
"usingComponents": {},
"component": true
}
@@ -0,0 +1 @@
<view data-event-opts="{{[['tap',[['open',['$event']]]]]}}" class="card item data-v-449c29a4" bindtap="__e"><block wx:if="{{project.cover}}"><image class="cover data-v-449c29a4" src="{{project.cover}}" mode="aspectFill"></image></block><view class="name data-v-449c29a4">{{project.name}}</view><view class="muted meta data-v-449c29a4">{{project.durationMin+" 分钟"}}</view><view class="row between bottom data-v-449c29a4"><view class="price data-v-449c29a4"><text class="yen data-v-449c29a4">¥</text><text class="num data-v-449c29a4">{{project.price}}</text><block wx:if="{{project.originPrice}}"><text class="ori muted data-v-449c29a4">{{"¥"+project.originPrice}}</text></block></view><view class="go data-v-449c29a4">查看</view></view></view>
@@ -0,0 +1,51 @@
.item.data-v-449c29a4 {
padding: 20rpx;
height: 360rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.cover.data-v-449c29a4 {
width: 100%;
height: 180rpx;
border-radius: 18rpx;
}
.name.data-v-449c29a4 {
font-size: 30rpx;
font-weight: 950;
line-height: 1.2;
max-height: 72rpx;
overflow: hidden;
}
.meta.data-v-449c29a4 {
margin-top: 8rpx;
font-size: 24rpx;
}
.bottom.data-v-449c29a4 {
margin-top: 8rpx;
}
.price.data-v-449c29a4 {
display: flex;
align-items: baseline;
}
.yen.data-v-449c29a4 {
font-size: 22rpx;
opacity: 0.8;
}
.num.data-v-449c29a4 {
font-size: 36rpx;
font-weight: 950;
}
.ori.data-v-449c29a4 {
margin-left: 8rpx;
font-size: 22rpx;
text-decoration: line-through;
}
.go.data-v-449c29a4 {
padding: 10rpx 14rpx;
border-radius: 999rpx;
background: rgba(59, 130, 246, 0.14);
color: #1d4ed8;
font-size: 24rpx;
font-weight: 900;
}
+285
View File
@@ -0,0 +1,285 @@
(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/ai/chat"],{
/***/ 167:
/*!**************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/main.js?{"page":"pages%2Fai%2Fchat"} ***!
\**************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(wx, createPage) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);
__webpack_require__(/*! uni-pages */ 7);
var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 8));
var _chat = _interopRequireDefault(__webpack_require__(/*! ./pages/ai/chat.vue */ 168));
// @ts-ignore
wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;
createPage(_chat.default);
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["createPage"]))
/***/ }),
/***/ 168:
/*!*******************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/ai/chat.vue ***!
\*******************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _chat_vue_vue_type_template_id_1edb40f6_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chat.vue?vue&type=template&id=1edb40f6&scoped=true& */ 169);
/* harmony import */ var _chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chat.vue?vue&type=script&lang=js& */ 171);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _chat_vue_vue_type_style_index_0_id_1edb40f6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./chat.vue?vue&type=style&index=0&id=1edb40f6&lang=scss&scoped=true& */ 174);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 19);
var renderjs
/* normalize component */
var component = Object(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
_chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_chat_vue_vue_type_template_id_1edb40f6_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
_chat_vue_vue_type_template_id_1edb40f6_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
"1edb40f6",
null,
false,
_chat_vue_vue_type_template_id_1edb40f6_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
renderjs
)
component.options.__file = "pages/ai/chat.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ 169:
/*!**************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/ai/chat.vue?vue&type=template&id=1edb40f6&scoped=true& ***!
\**************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_template_id_1edb40f6_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./chat.vue?vue&type=template&id=1edb40f6&scoped=true& */ 170);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_template_id_1edb40f6_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_template_id_1edb40f6_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_template_id_1edb40f6_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_template_id_1edb40f6_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/***/ 170:
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/ai/chat.vue?vue&type=template&id=1edb40f6&scoped=true& ***!
\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ 171:
/*!********************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/ai/chat.vue?vue&type=script&lang=js& ***!
\********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./chat.vue?vue&type=script&lang=js& */ 172);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 172:
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/ai/chat.vue?vue&type=script&lang=js& ***!
\***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _aiRules = __webpack_require__(/*! @/common/aiRules */ 173);
var _mockData = __webpack_require__(/*! @/common/mockData */ 51);
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
function mid() {
return "".concat(Date.now(), "_").concat(Math.floor(Math.random() * 10000));
}
var _default = {
data: function data() {
return {
projectId: '',
messages: [],
text: '',
scrollTop: 0
};
},
computed: {
showChips: function showChips() {
return this.messages.length < 4;
}
},
onLoad: function onLoad(query) {
var _this = this;
this.projectId = query.projectId || '';
var base = '我是 AI 预约助手。你可以直接说“预约 + 时间 + 项目/需求”,我会把你带到预约/购买流程。';
var ctx = this.projectId ? _mockData.projects.find(function (x) {
return x.id === _this.projectId;
}) : null;
var intro = ctx ? "\u5F53\u524D\u9879\u76EE\uFF1A".concat(ctx.name, "\u3002\u4F60\u60F3\u9884\u7EA6\u54EA\u4E2A\u65E5\u671F\u548C\u65F6\u6BB5\uFF1F") : base;
this.messages = [{
id: mid(),
role: 'assistant',
text: intro
}];
this.bump();
},
methods: {
bump: function bump() {
var _this2 = this;
this.$nextTick(function () {
_this2.scrollTop = _this2.scrollTop + 99999;
});
},
send: function send(raw) {
var _r$action;
var v = (raw || '').trim();
if (!v) return;
this.messages.push({
id: mid(),
role: 'user',
text: v
});
this.text = '';
var r = (0, _aiRules.aiReply)(v);
this.messages.push({
id: mid(),
role: 'assistant',
text: r.text
});
this.bump();
if (((_r$action = r.action) === null || _r$action === void 0 ? void 0 : _r$action.type) === 'go_booking') {
setTimeout(function () {
uni.navigateTo({
url: "/pages/booking/create?projectId=".concat(r.action.projectId)
});
}, 450);
}
},
mockVoice: function mockVoice() {
uni.showToast({
title: '语音输入(原型演示)',
icon: 'none'
});
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["default"]))
/***/ }),
/***/ 174:
/*!*****************************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/ai/chat.vue?vue&type=style&index=0&id=1edb40f6&lang=scss&scoped=true& ***!
\*****************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_style_index_0_id_1edb40f6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./chat.vue?vue&type=style&index=0&id=1edb40f6&lang=scss&scoped=true& */ 175);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_style_index_0_id_1edb40f6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_style_index_0_id_1edb40f6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_style_index_0_id_1edb40f6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_style_index_0_id_1edb40f6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_chat_vue_vue_type_style_index_0_id_1edb40f6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 175:
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/ai/chat.vue?vue&type=style&index=0&id=1edb40f6&lang=scss&scoped=true& ***!
\*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
if(false) { var cssReload; }
/***/ })
},[[167,"common/runtime","common/vendor"]]]);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/ai/chat.js.map
+5
View File
@@ -0,0 +1,5 @@
{
"navigationBarTitleText": "AI 智能客服",
"navigationStyle": "default",
"usingComponents": {}
}
+1
View File
@@ -0,0 +1 @@
<view class="page data-v-1edb40f6"><scroll-view class="msgs data-v-1edb40f6" scroll-y="{{true}}" scroll-top="{{scrollTop}}"><view class="container data-v-1edb40f6"><block wx:for="{{messages}}" wx:for-item="m" wx:for-index="__i0__" wx:key="id"><view class="{{['m','data-v-1edb40f6',(m.role==='user')?'me':'']}}"><view class="{{['bubble','data-v-1edb40f6',(m.role==='user')?'bme':'']}}"><text class="txt data-v-1edb40f6">{{m.text}}</text></view></view></block><block wx:if="{{showChips}}"><view class="chips data-v-1edb40f6"><view data-event-opts="{{[['tap',[['send',['推荐爆款项目']]]]]}}" class="chip data-v-1edb40f6" bindtap="__e">推荐爆款项目</view><view data-event-opts="{{[['tap',[['send',['我想预约今天']]]]]}}" class="chip data-v-1edb40f6" bindtap="__e">我想预约今天</view><view data-event-opts="{{[['tap',[['send',['敏感肌适合做什么']]]]]}}" class="chip data-v-1edb40f6" bindtap="__e">敏感肌适合做什么</view></view></block></view></scroll-view><view class="quick row data-v-1edb40f6"><view data-event-opts="{{[['tap',[['send',['查档期']]]]]}}" class="q data-v-1edb40f6" bindtap="__e">查档期</view><view data-event-opts="{{[['tap',[['send',['看价格']]]]]}}" class="q data-v-1edb40f6" bindtap="__e">看价格</view><view data-event-opts="{{[['tap',[['send',['我要预约']]]]]}}" class="q data-v-1edb40f6" bindtap="__e">我要预约</view></view><view class="bar data-v-1edb40f6"><view data-event-opts="{{[['tap',[['mockVoice',['$event']]]]]}}" class="voice data-v-1edb40f6" bindtap="__e">按住说话</view><input class="ipt data-v-1edb40f6" confirm-type="send" placeholder="说出你的需求,例如:想做补水/我想预约今天 14:30" data-event-opts="{{[['confirm',[['send',['$0'],['text']]]],['input',[['__set_model',['','text','$event',[]]]]]]}}" value="{{text}}" bindconfirm="__e" bindinput="__e"/><view data-event-opts="{{[['tap',[['send',['$0'],['text']]]]]}}" class="send data-v-1edb40f6" bindtap="__e">发送</view></view></view>
+94
View File
@@ -0,0 +1,94 @@
.page.data-v-1edb40f6 {
height: 100vh;
display: flex;
flex-direction: column;
}
.msgs.data-v-1edb40f6 {
flex: 1;
}
.m.data-v-1edb40f6 {
display: flex;
margin: 14rpx 0;
}
.me.data-v-1edb40f6 {
justify-content: flex-end;
}
.bubble.data-v-1edb40f6 {
max-width: 620rpx;
padding: 18rpx 18rpx;
border-radius: 22rpx;
background: #fff;
border: 1rpx solid rgba(17, 24, 39, 0.08);
box-shadow: 0 10rpx 28rpx rgba(17, 24, 39, 0.06);
}
.bme.data-v-1edb40f6 {
background: rgba(59, 130, 246, 0.12);
border-color: rgba(59, 130, 246, 0.22);
}
.txt.data-v-1edb40f6 {
font-size: 28rpx;
line-height: 1.5;
}
.quick.data-v-1edb40f6 {
padding: 12rpx 18rpx 6rpx;
background: #fff;
border-top: 1rpx solid rgba(17, 24, 39, 0.08);
gap: 12rpx;
}
.q.data-v-1edb40f6 {
padding: 12rpx 16rpx;
border-radius: 999rpx;
background: rgba(17, 24, 39, 0.06);
font-size: 26rpx;
font-weight: 800;
}
.bar.data-v-1edb40f6 {
padding: 18rpx;
background: #fff;
display: flex;
gap: 12rpx;
}
.voice.data-v-1edb40f6 {
width: 160rpx;
height: 82rpx;
border-radius: 18rpx;
background: rgba(17, 24, 39, 0.06);
font-size: 24rpx;
font-weight: 900;
color: rgba(17, 24, 39, 0.78);
display: flex;
align-items: center;
justify-content: center;
}
.ipt.data-v-1edb40f6 {
flex: 1;
height: 82rpx;
padding: 0 16rpx;
border-radius: 18rpx;
background: rgba(17, 24, 39, 0.05);
font-size: 28rpx;
}
.send.data-v-1edb40f6 {
width: 140rpx;
height: 82rpx;
border-radius: 18rpx;
background: linear-gradient(135deg, #111827 0%, #3b82f6 100%);
color: #fff;
font-weight: 900;
display: flex;
align-items: center;
justify-content: center;
}
.chips.data-v-1edb40f6 {
display: flex;
flex-wrap: wrap;
gap: 12rpx;
margin: 8rpx 0 12rpx;
}
.chip.data-v-1edb40f6 {
padding: 12rpx 16rpx;
border-radius: 999rpx;
background: rgba(17, 24, 39, 0.06);
font-size: 26rpx;
font-weight: 700;
}
+401
View File
@@ -0,0 +1,401 @@
(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/appointments/list"],{
/***/ 119:
/*!************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/main.js?{"page":"pages%2Fappointments%2Flist"} ***!
\************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(wx, createPage) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);
__webpack_require__(/*! uni-pages */ 7);
var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 8));
var _list = _interopRequireDefault(__webpack_require__(/*! ./pages/appointments/list.vue */ 120));
// @ts-ignore
wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;
createPage(_list.default);
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["createPage"]))
/***/ }),
/***/ 120:
/*!*****************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/appointments/list.vue ***!
\*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _list_vue_vue_type_template_id_4974ad20_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./list.vue?vue&type=template&id=4974ad20&scoped=true& */ 121);
/* harmony import */ var _list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./list.vue?vue&type=script&lang=js& */ 123);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _list_vue_vue_type_style_index_0_id_4974ad20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./list.vue?vue&type=style&index=0&id=4974ad20&lang=scss&scoped=true& */ 125);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 19);
var renderjs
/* normalize component */
var component = Object(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_list_vue_vue_type_template_id_4974ad20_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
_list_vue_vue_type_template_id_4974ad20_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
"4974ad20",
null,
false,
_list_vue_vue_type_template_id_4974ad20_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
renderjs
)
component.options.__file = "pages/appointments/list.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ 121:
/*!************************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/appointments/list.vue?vue&type=template&id=4974ad20&scoped=true& ***!
\************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_template_id_4974ad20_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./list.vue?vue&type=template&id=4974ad20&scoped=true& */ 122);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_template_id_4974ad20_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_template_id_4974ad20_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_template_id_4974ad20_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_template_id_4974ad20_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/***/ 122:
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/appointments/list.vue?vue&type=template&id=4974ad20&scoped=true& ***!
\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ 123:
/*!******************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/appointments/list.vue?vue&type=script&lang=js& ***!
\******************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./list.vue?vue&type=script&lang=js& */ 124);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 124:
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/appointments/list.vue?vue&type=script&lang=js& ***!
\*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 3));
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
var AiFloat = function AiFloat() {
__webpack_require__.e(/*! require.ensure | components/AiFloat */ "components/AiFloat").then((function () {
return resolve(__webpack_require__(/*! @/components/AiFloat.vue */ 192));
}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
};
var _default = {
components: {
AiFloat: AiFloat
},
data: function data() {
var rows = [{
id: 'apt_demo_pending_001',
createdAt: Date.now() - 2 * 60 * 60 * 1000,
status: '待核销',
uiStatus: '待到店',
group: 'pending',
amount: 238,
projectId: 'p3',
projectName: '补水修护屏障护理',
durationMin: 80,
orderType: 'booking',
appointmentDate: '2026-06-22',
appointmentSlot: '10:30',
technicianName: '许言',
note: '想要舒缓泛红',
verifyCode: 'VCAP20260621001'
}, {
id: 'apt_demo_pending_002',
createdAt: Date.now() - 6 * 60 * 60 * 1000,
status: '待核销',
uiStatus: '待到店',
group: 'pending',
amount: 188,
projectId: 'p4',
projectName: '肩颈舒缓筋膜放松',
durationMin: 60,
orderType: 'booking',
appointmentDate: '2026-06-24',
appointmentSlot: '19:00',
technicianName: '周晴',
note: '',
verifyCode: 'VCAP20260621002'
}, {
id: 'apt_demo_done_001',
createdAt: Date.now() - 9 * 24 * 60 * 60 * 1000,
status: '已完成',
uiStatus: '已完成',
group: 'done',
amount: 168,
projectId: 'p2',
projectName: '深层清洁黑头管理',
durationMin: 75,
orderType: 'booking',
appointmentDate: '2026-06-12',
appointmentSlot: '15:00',
technicianName: '林安',
note: 'T区出油严重',
verifyCode: 'VCAP20260621003'
}, {
id: 'apt_demo_done_002',
createdAt: Date.now() - 15 * 24 * 60 * 60 * 1000,
status: '已完成',
uiStatus: '已完成',
group: 'done',
amount: 99,
projectId: 'p1',
projectName: '水氧净透体验',
durationMin: 60,
orderType: 'booking',
appointmentDate: '2026-06-06',
appointmentSlot: '11:30',
technicianName: '系统分配',
note: '',
verifyCode: 'VCAP20260621004'
}, {
id: 'apt_demo_canceled_001',
createdAt: Date.now() - 3 * 24 * 60 * 60 * 1000,
status: '已取消',
uiStatus: '已取消',
group: 'canceled',
amount: 238,
projectId: 'p3',
projectName: '补水修护屏障护理',
durationMin: 80,
orderType: 'booking',
appointmentDate: '2026-06-23',
appointmentSlot: '16:00',
technicianName: '许言',
note: '',
verifyCode: 'VCAP20260621005'
}, {
id: 'apt_demo_canceled_002',
createdAt: Date.now() - 7 * 24 * 60 * 60 * 1000,
status: '已取消',
uiStatus: '已取消',
group: 'canceled',
amount: 188,
projectId: 'p4',
projectName: '肩颈舒缓筋膜放松',
durationMin: 60,
orderType: 'booking',
appointmentDate: '2026-06-17',
appointmentSlot: '13:30',
technicianName: '周晴',
note: '',
verifyCode: 'VCAP20260621008'
}, {
id: 'apt_demo_expired_001',
createdAt: Date.now() - 26 * 60 * 60 * 1000,
status: '待核销',
uiStatus: '已过期',
group: 'expired',
amount: 188,
projectId: 'p4',
projectName: '肩颈舒缓筋膜放松',
durationMin: 60,
orderType: 'booking',
appointmentDate: '2026-06-20',
appointmentSlot: '13:30',
technicianName: '周晴',
note: '',
verifyCode: 'VCAP20260621006'
}, {
id: 'apt_demo_expired_002',
createdAt: Date.now() - 4 * 24 * 60 * 60 * 1000,
status: '待核销',
uiStatus: '已过期',
group: 'expired',
amount: 99,
projectId: 'p1',
projectName: '水氧净透体验',
durationMin: 60,
orderType: 'booking',
appointmentDate: '2026-06-19',
appointmentSlot: '18:00',
technicianName: '系统分配',
note: '',
verifyCode: 'VCAP20260621007'
}];
return {
tabs: [{
value: 'pending',
label: '待到店'
}, {
value: 'done',
label: '已完成'
}, {
value: 'canceled',
label: '已取消'
}, {
value: 'expired',
label: '已过期'
}],
active: 'pending',
rows: rows,
viewList: rows.filter(function (x) {
return x.group === 'pending';
})
};
},
onLoad: function onLoad() {
this.apply();
},
onShow: function onShow() {
this.apply();
},
methods: {
apply: function apply() {
var _this = this;
var v = this.rows.filter(function (x) {
return x.group === _this.active;
});
this.viewList = v && v.length ? v : this.rows.slice(0, 3);
},
setActive: function setActive(v) {
if (!v || v === this.active) return;
this.active = v;
this.apply();
},
open: function open(id) {
var o = this.rows.find(function (x) {
return x.id === id;
}) || this.rows[0];
var payload = encodeURIComponent(JSON.stringify(o));
uni.navigateTo({
url: "/pages/orders/detail?payload=".concat(payload)
});
},
goProjects: function goProjects() {
uni.switchTab({
url: '/pages/projects/list'
});
},
reschedule: function reschedule(o) {
uni.navigateTo({
url: "/pages/booking/create?projectId=".concat(o.projectId)
});
},
cancel: function cancel(o) {
var _this2 = this;
uni.showModal({
title: '确认取消',
content: '取消后该预约将变更为已取消(原型演示)。',
success: function success(res) {
if (!res.confirm) return;
_this2.rows = _this2.rows.map(function (x) {
return x.id === o.id ? _objectSpread(_objectSpread({}, x), {}, {
status: '已取消',
uiStatus: '已取消',
group: 'canceled'
}) : x;
});
_this2.apply();
}
});
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["default"]))
/***/ }),
/***/ 125:
/*!***************************************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/appointments/list.vue?vue&type=style&index=0&id=4974ad20&lang=scss&scoped=true& ***!
\***************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_style_index_0_id_4974ad20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./list.vue?vue&type=style&index=0&id=4974ad20&lang=scss&scoped=true& */ 126);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_style_index_0_id_4974ad20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_style_index_0_id_4974ad20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_style_index_0_id_4974ad20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_style_index_0_id_4974ad20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_style_index_0_id_4974ad20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 126:
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/appointments/list.vue?vue&type=style&index=0&id=4974ad20&lang=scss&scoped=true& ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
if(false) { var cssReload; }
/***/ })
},[[119,"common/runtime","common/vendor"]]]);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/appointments/list.js.map
@@ -0,0 +1,7 @@
{
"navigationBarTitleText": "我的预约",
"navigationStyle": "default",
"usingComponents": {
"ai-float": "/components/AiFloat"
}
}
@@ -0,0 +1 @@
<view class="container data-v-4974ad20"><view class="card filters data-v-4974ad20"><view class="row sc data-v-4974ad20"><block wx:for="{{tabs}}" wx:for-item="s" wx:for-index="__i0__" wx:key="value"><view class="{{['chip','data-v-4974ad20',(s.value===active)?'on':'']}}" hover-class="none" data-event-opts="{{[['tap',[['setActive',['$0'],[[['tabs','value',s.value,'value']]]]]]]}}" bindtap="__e">{{''+s.label+''}}</view></block></view></view><view class="list data-v-4974ad20"><block wx:for="{{viewList}}" wx:for-item="o" wx:for-index="__i1__" wx:key="id"><view data-event-opts="{{[['tap',[['open',['$0'],[[['viewList','id',o.id,'id']]]]]]]}}" class="card item data-v-4974ad20" bindtap="__e"><view class="row between data-v-4974ad20"><view class="n data-v-4974ad20">{{o.projectName}}</view><view class="{{['st','data-v-4974ad20',(o.uiStatus==='待到店')?'w':'',(o.uiStatus==='已完成')?'g':'',(o.uiStatus==='已取消')?'d':'',(o.uiStatus==='已过期')?'x':'']}}">{{''+o.uiStatus+''}}</view></view><view class="muted meta data-v-4974ad20">{{o.appointmentDate+" "+o.appointmentSlot+" · "+o.technicianName}}</view><block wx:if="{{o.uiStatus==='待到店'}}"><view class="ops row data-v-4974ad20"><view data-event-opts="{{[['tap',[['reschedule',['$0'],[[['viewList','id',o.id]]]]]]]}}" class="op data-v-4974ad20" catchtap="__e">改约</view><view data-event-opts="{{[['tap',[['cancel',['$0'],[[['viewList','id',o.id]]]]]]]}}" class="op danger data-v-4974ad20" catchtap="__e">取消预约</view></view></block></view></block></view><ai-float vue-id="e51ff4d4-1" class="data-v-4974ad20" bind:__l="__l"></ai-float></view>
@@ -0,0 +1,72 @@
.filters.data-v-4974ad20 {
padding: 16rpx;
}
.sc.data-v-4974ad20 {
white-space: nowrap;
}
.chip.data-v-4974ad20 {
padding: 14rpx 18rpx;
margin-right: 12rpx;
border-radius: 999rpx;
font-size: 26rpx;
background: rgba(17, 24, 39, 0.06);
color: #111827;
flex: 0 0 auto;
}
.on.data-v-4974ad20 {
background: rgba(59, 130, 246, 0.14);
color: #1d4ed8;
}
.list.data-v-4974ad20 {
margin-top: 18rpx;
}
.item.data-v-4974ad20 {
padding: 22rpx;
margin-bottom: 18rpx;
}
.n.data-v-4974ad20 {
font-size: 32rpx;
font-weight: 950;
max-width: 520rpx;
}
.st.data-v-4974ad20 {
padding: 10rpx 14rpx;
border-radius: 999rpx;
font-size: 24rpx;
font-weight: 900;
}
.w.data-v-4974ad20 {
background: rgba(59, 130, 246, 0.16);
color: #1d4ed8;
}
.g.data-v-4974ad20 {
background: rgba(16, 185, 129, 0.16);
color: #047857;
}
.d.data-v-4974ad20 {
background: rgba(239, 68, 68, 0.12);
color: #b91c1c;
}
.x.data-v-4974ad20 {
background: rgba(17, 24, 39, 0.12);
color: #111827;
}
.meta.data-v-4974ad20 {
margin-top: 12rpx;
font-size: 26rpx;
}
.ops.data-v-4974ad20 {
margin-top: 16rpx;
gap: 12rpx;
}
.op.data-v-4974ad20 {
padding: 12rpx 16rpx;
border-radius: 18rpx;
background: rgba(17, 24, 39, 0.06);
font-size: 26rpx;
font-weight: 800;
}
.danger.data-v-4974ad20 {
background: rgba(239, 68, 68, 0.12);
color: #b91c1c;
}
+235
View File
@@ -0,0 +1,235 @@
(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/auth/login"],{
/***/ 20:
/*!*****************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/main.js?{"page":"pages%2Fauth%2Flogin"} ***!
\*****************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(wx, createPage) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);
__webpack_require__(/*! uni-pages */ 7);
var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 8));
var _login = _interopRequireDefault(__webpack_require__(/*! ./pages/auth/login.vue */ 38));
// @ts-ignore
wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;
createPage(_login.default);
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["createPage"]))
/***/ }),
/***/ 38:
/*!**********************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/auth/login.vue ***!
\**********************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _login_vue_vue_type_template_id_cbd6070a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./login.vue?vue&type=template&id=cbd6070a&scoped=true& */ 39);
/* harmony import */ var _login_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./login.vue?vue&type=script&lang=js& */ 41);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _login_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _login_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _login_vue_vue_type_style_index_0_id_cbd6070a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./login.vue?vue&type=style&index=0&id=cbd6070a&lang=scss&scoped=true& */ 43);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 19);
var renderjs
/* normalize component */
var component = Object(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
_login_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_login_vue_vue_type_template_id_cbd6070a_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
_login_vue_vue_type_template_id_cbd6070a_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
"cbd6070a",
null,
false,
_login_vue_vue_type_template_id_cbd6070a_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
renderjs
)
component.options.__file = "pages/auth/login.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ 39:
/*!*****************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/auth/login.vue?vue&type=template&id=cbd6070a&scoped=true& ***!
\*****************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_template_id_cbd6070a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./login.vue?vue&type=template&id=cbd6070a&scoped=true& */ 40);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_template_id_cbd6070a_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_template_id_cbd6070a_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_template_id_cbd6070a_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_template_id_cbd6070a_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/***/ 40:
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/auth/login.vue?vue&type=template&id=cbd6070a&scoped=true& ***!
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ 41:
/*!***********************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/auth/login.vue?vue&type=script&lang=js& ***!
\***********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./login.vue?vue&type=script&lang=js& */ 42);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 42:
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/auth/login.vue?vue&type=script&lang=js& ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
var KEY = 'zy_authed_v1';
var _default = {
onShow: function onShow() {
var ok = !!uni.getStorageSync(KEY);
if (ok) {
uni.switchTab({
url: '/pages/home/index'
});
}
},
methods: {
doLogin: function doLogin() {
uni.setStorageSync(KEY, 1);
uni.switchTab({
url: '/pages/home/index'
});
},
goPrivacy: function goPrivacy() {
uni.navigateTo({
url: '/pages/legal/privacy'
});
},
goTerms: function goTerms() {
uni.navigateTo({
url: '/pages/legal/terms'
});
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["default"]))
/***/ }),
/***/ 43:
/*!********************************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/auth/login.vue?vue&type=style&index=0&id=cbd6070a&lang=scss&scoped=true& ***!
\********************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_style_index_0_id_cbd6070a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./login.vue?vue&type=style&index=0&id=cbd6070a&lang=scss&scoped=true& */ 44);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_style_index_0_id_cbd6070a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_style_index_0_id_cbd6070a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_style_index_0_id_cbd6070a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_style_index_0_id_cbd6070a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_login_vue_vue_type_style_index_0_id_cbd6070a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 44:
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/auth/login.vue?vue&type=style&index=0&id=cbd6070a&lang=scss&scoped=true& ***!
\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
if(false) { var cssReload; }
/***/ })
},[[20,"common/runtime","common/vendor"]]]);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/auth/login.js.map
+5
View File
@@ -0,0 +1,5 @@
{
"navigationBarTitleText": "智约美服",
"navigationStyle": "default",
"usingComponents": {}
}
+1
View File
@@ -0,0 +1 @@
<view class="container data-v-cbd6070a"><view class="card hero data-v-cbd6070a"><view class="brand data-v-cbd6070a">智约美服</view><view class="slogan muted data-v-cbd6070a">AI 一键预约,24 小时接单</view></view><view class="card box data-v-cbd6070a"><view class="wx row data-v-cbd6070a"><view class="wx-icon data-v-cbd6070a">W</view><view class="wx-text data-v-cbd6070a"><view class="t1 data-v-cbd6070a">微信一键登录</view><view class="t2 muted data-v-cbd6070a">用于同步订单、卡券与会员档案</view></view></view><view data-event-opts="{{[['tap',[['doLogin',['$event']]]]]}}" class="btn btn-primary login data-v-cbd6070a" bindtap="__e">同意授权并登录</view></view><view class="foot muted data-v-cbd6070a"><text data-event-opts="{{[['tap',[['goPrivacy',['$event']]]]]}}" bindtap="__e" class="data-v-cbd6070a">《用户隐私协议》</text><text class="dot data-v-cbd6070a"> · </text><text data-event-opts="{{[['tap',[['goTerms',['$event']]]]]}}" bindtap="__e" class="data-v-cbd6070a">《服务协议》</text></view></view>
+54
View File
@@ -0,0 +1,54 @@
.hero.data-v-cbd6070a {
padding: 40rpx 28rpx;
background: linear-gradient(135deg, #111827 0%, #3b82f6 100%);
border: 0;
color: #fff;
}
.brand.data-v-cbd6070a {
font-size: 54rpx;
font-weight: 950;
letter-spacing: 2rpx;
}
.slogan.data-v-cbd6070a {
margin-top: 14rpx;
color: rgba(255, 255, 255, 0.82);
font-size: 28rpx;
}
.box.data-v-cbd6070a {
margin-top: 22rpx;
padding: 26rpx;
}
.wx.data-v-cbd6070a {
align-items: flex-start;
}
.wx-icon.data-v-cbd6070a {
width: 84rpx;
height: 84rpx;
border-radius: 22rpx;
background: rgba(16, 185, 129, 0.14);
color: #059669;
font-weight: 950;
display: flex;
align-items: center;
justify-content: center;
margin-right: 18rpx;
}
.t1.data-v-cbd6070a {
font-size: 36rpx;
font-weight: 950;
}
.t2.data-v-cbd6070a {
margin-top: 10rpx;
font-size: 26rpx;
}
.login.data-v-cbd6070a {
margin-top: 22rpx;
}
.foot.data-v-cbd6070a {
margin-top: 24rpx;
text-align: center;
font-size: 26rpx;
}
.dot.data-v-cbd6070a {
opacity: 0.6;
}
+365
View File
@@ -0,0 +1,365 @@
(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/booking/create"],{
/***/ 70:
/*!*********************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/main.js?{"page":"pages%2Fbooking%2Fcreate"} ***!
\*********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(wx, createPage) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);
__webpack_require__(/*! uni-pages */ 7);
var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 8));
var _create = _interopRequireDefault(__webpack_require__(/*! ./pages/booking/create.vue */ 71));
// @ts-ignore
wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;
createPage(_create.default);
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["createPage"]))
/***/ }),
/***/ 71:
/*!**************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/booking/create.vue ***!
\**************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _create_vue_vue_type_template_id_b393e9aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create.vue?vue&type=template&id=b393e9aa&scoped=true& */ 72);
/* harmony import */ var _create_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./create.vue?vue&type=script&lang=js& */ 74);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _create_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _create_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _create_vue_vue_type_style_index_0_id_b393e9aa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./create.vue?vue&type=style&index=0&id=b393e9aa&lang=scss&scoped=true& */ 76);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 19);
var renderjs
/* normalize component */
var component = Object(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
_create_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_create_vue_vue_type_template_id_b393e9aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
_create_vue_vue_type_template_id_b393e9aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
"b393e9aa",
null,
false,
_create_vue_vue_type_template_id_b393e9aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
renderjs
)
component.options.__file = "pages/booking/create.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ 72:
/*!*********************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/booking/create.vue?vue&type=template&id=b393e9aa&scoped=true& ***!
\*********************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_template_id_b393e9aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./create.vue?vue&type=template&id=b393e9aa&scoped=true& */ 73);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_template_id_b393e9aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_template_id_b393e9aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_template_id_b393e9aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_template_id_b393e9aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/***/ 73:
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/booking/create.vue?vue&type=template&id=b393e9aa&scoped=true& ***!
\*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
if (!_vm._isMounted) {
_vm.e0 = function ($event) {
_vm.form.techId = "auto"
}
_vm.e1 = function ($event, t) {
var _temp = arguments[arguments.length - 1].currentTarget.dataset,
_temp2 = _temp.eventParams || _temp["event-params"],
t = _temp2.t
var _temp, _temp2
_vm.form.techId = t.id
}
}
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ 74:
/*!***************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/booking/create.vue?vue&type=script&lang=js& ***!
\***************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./create.vue?vue&type=script&lang=js& */ 75);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 75:
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/booking/create.vue?vue&type=script&lang=js& ***!
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _mockData = __webpack_require__(/*! @/common/mockData */ 51);
var AiFloat = function AiFloat() {
__webpack_require__.e(/*! require.ensure | components/AiFloat */ "components/AiFloat").then((function () {
return resolve(__webpack_require__(/*! @/components/AiFloat.vue */ 192));
}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
};
var fallbackProjects = [{
id: 'fp1',
name: '水氧净透体验',
price: 99,
durationMin: 60,
fitFor: '初次体验、暗沉、出油',
taboo: '近期医美术后需评估',
desc: '轻盈水氧 + 净透护理,快速提升肤感与通透度。'
}, {
id: 'fp2',
name: '补水修护屏障护理',
price: 238,
durationMin: 80,
fitFor: '敏感泛红、干燥紧绷',
taboo: '过敏急性期请先咨询',
desc: '修护屏障与舒缓敏感,适合换季与长期干燥人群。'
}, {
id: 'fp3',
name: '肩颈舒缓筋膜放松',
price: 188,
durationMin: 60,
fitFor: '久坐办公、肩颈僵硬',
taboo: '急性损伤与发热期不建议',
desc: '深度放松肌群与筋膜,改善紧绷与酸胀。'
}];
var runtimeProjects = Array.isArray(_mockData.projects) && _mockData.projects.length ? _mockData.projects : fallbackProjects;
function pad2(n) {
return n < 10 ? "0".concat(n) : "".concat(n);
}
function dayLabel(d) {
var m = d.getMonth() + 1;
var dd = d.getDate();
var w = ['日', '一', '二', '三', '四', '五', '六'][d.getDay()];
return {
label1: "".concat(m, "/").concat(dd),
label2: "\u5468".concat(w)
};
}
function isoDate(d) {
var y = d.getFullYear();
var m = pad2(d.getMonth() + 1);
var dd = pad2(d.getDate());
return "".concat(y, "-").concat(m, "-").concat(dd);
}
var _default = {
components: {
AiFloat: AiFloat
},
data: function data() {
return {
projectId: '',
project: runtimeProjects[0] || null,
allProjects: runtimeProjects,
projectNames: runtimeProjects.length ? runtimeProjects.map(function (x) {
return x.name;
}) : ['暂无项目'],
projectIndex: 0,
dates: [],
slotRows: [],
techs: _mockData.technicians,
form: {
date: '',
slot: '14:30',
techId: 'auto',
note: ''
}
};
},
onLoad: function onLoad(query) {
var _this = this,
_ds$;
this.projectId = query.projectId || '';
this.allProjects = runtimeProjects;
this.projectNames = this.allProjects.length ? this.allProjects.map(function (x) {
return x.name;
}) : ['暂无项目'];
this.project = this.allProjects.find(function (x) {
return x.id === _this.projectId;
}) || this.allProjects[0] || null;
this.projectIndex = Math.max(0, this.allProjects.findIndex(function (x) {
return x.id === (_this.project ? _this.project.id : '');
}));
var today = new Date();
var ds = [];
for (var i = 0; i < 7; i++) {
var d = new Date(today.getTime() + i * 24 * 60 * 60 * 1000);
var l = dayLabel(d);
ds.push({
value: isoDate(d),
label1: i === 0 ? '今天' : l.label1,
label2: i === 0 ? l.label1 : l.label2
});
}
this.dates = ds;
if (!this.form.date) this.form.date = ((_ds$ = ds[0]) === null || _ds$ === void 0 ? void 0 : _ds$.value) || '';
this.buildSlots();
},
methods: {
onPickProject: function onPickProject(e) {
var idx = Number(e.detail.value || 0);
this.projectIndex = idx;
this.project = this.allProjects[idx] || null;
},
selectDate: function selectDate(v) {
this.form.date = v;
this.buildSlots();
},
onPickDate: function onPickDate(e) {
var v = e.detail.value;
if (!v) return;
this.form.date = v;
this.buildSlots();
},
buildSlots: function buildSlots() {
var _this$dates$;
var base = ['10:00', '11:30', '13:00', '14:30', '16:00', '17:30', '19:00', '20:30'];
var today = ((_this$dates$ = this.dates[0]) === null || _this$dates$ === void 0 ? void 0 : _this$dates$.value) || '';
var disabledSet = new Set();
if (this.form.date === today) {
disabledSet.add('10:00');
disabledSet.add('11:30');
}
this.slotRows = base.map(function (x) {
return {
value: x,
disabled: disabledSet.has(x)
};
});
if (disabledSet.has(this.form.slot)) this.form.slot = '14:30';
},
pickSlot: function pickSlot(s) {
if (s.disabled) return;
this.form.slot = s.value;
},
submit: function submit() {
var _this2 = this;
if (!this.project) {
uni.showToast({
title: '请选择项目',
icon: 'none'
});
return;
}
if (!this.form.date || !this.form.slot) {
uni.showToast({
title: '请选择日期和时段',
icon: 'none'
});
return;
}
var tech = this.form.techId === 'auto' ? null : this.techs.find(function (x) {
return x.id === _this2.form.techId;
}) || null;
var payload = encodeURIComponent(JSON.stringify({
type: 'booking',
projectId: this.project.id,
date: this.form.date,
slot: this.form.slot,
techId: this.form.techId,
techName: (tech === null || tech === void 0 ? void 0 : tech.name) || '系统分配',
note: this.form.note || ''
}));
uni.navigateTo({
url: "/pages/order/confirm?payload=".concat(payload)
});
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["default"]))
/***/ }),
/***/ 76:
/*!************************************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/booking/create.vue?vue&type=style&index=0&id=b393e9aa&lang=scss&scoped=true& ***!
\************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_style_index_0_id_b393e9aa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./create.vue?vue&type=style&index=0&id=b393e9aa&lang=scss&scoped=true& */ 77);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_style_index_0_id_b393e9aa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_style_index_0_id_b393e9aa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_style_index_0_id_b393e9aa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_style_index_0_id_b393e9aa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_create_vue_vue_type_style_index_0_id_b393e9aa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 77:
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/booking/create.vue?vue&type=style&index=0&id=b393e9aa&lang=scss&scoped=true& ***!
\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
if(false) { var cssReload; }
/***/ })
},[[70,"common/runtime","common/vendor"]]]);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/booking/create.js.map
@@ -0,0 +1,7 @@
{
"navigationBarTitleText": "预约服务",
"navigationStyle": "default",
"usingComponents": {
"ai-float": "/components/AiFloat"
}
}
@@ -0,0 +1 @@
<view class="container data-v-b393e9aa"><view class="card block data-v-b393e9aa"><view class="row between data-v-b393e9aa"><view class="title data-v-b393e9aa">预约服务</view><view class="muted data-v-b393e9aa">{{project?'已选择':'请选择'}}</view></view><picker mode="selector" range="{{projectNames}}" value="{{projectIndex}}" data-event-opts="{{[['change',[['onPickProject',['$event']]]]]}}" bindchange="__e" class="data-v-b393e9aa"><view class="pick2 data-v-b393e9aa"><view class="pname data-v-b393e9aa">{{project?project.name:'选择项目/套餐'}}</view><block wx:if="{{project}}"><view class="muted psub data-v-b393e9aa">{{project.durationMin+" 分钟 · ¥"+project.price}}</view></block></view></picker><block wx:if="{{project}}"><view class="muted meta data-v-b393e9aa">{{"适合人群:"+project.fitFor}}</view></block><block wx:if="{{project}}"><view class="muted meta data-v-b393e9aa">{{"禁忌提醒:"+project.taboo}}</view></block></view><block wx:if="{{project}}"><view class="data-v-b393e9aa"><view class="card block data-v-b393e9aa"><view class="title data-v-b393e9aa">选择日期</view><scroll-view class="sc data-v-b393e9aa" scroll-x="{{true}}"><view class="row data-v-b393e9aa"><block wx:for="{{dates}}" wx:for-item="d" wx:for-index="__i0__" wx:key="value"><view data-event-opts="{{[['tap',[['selectDate',['$0'],[[['dates','value',d.value,'value']]]]]]]}}" class="{{['date','data-v-b393e9aa',(d.value===form.date)?'on':'']}}" bindtap="__e"><view class="d1 data-v-b393e9aa">{{d.label1}}</view><view class="d2 muted data-v-b393e9aa">{{d.label2}}</view></view></block></view></scroll-view><picker mode="date" value="{{form.date}}" data-event-opts="{{[['change',[['onPickDate',['$event']]]]]}}" bindchange="__e" class="data-v-b393e9aa"><view class="pick data-v-b393e9aa">{{"自定义日期:"+form.date}}</view></picker></view><view class="card block data-v-b393e9aa"><view class="title data-v-b393e9aa">选择时段</view><view class="grid data-v-b393e9aa"><block wx:for="{{slotRows}}" wx:for-item="s" wx:for-index="__i1__" wx:key="value"><view data-event-opts="{{[['tap',[['pickSlot',['$0'],[[['slotRows','value',s.value]]]]]]]}}" class="{{['slot','data-v-b393e9aa',(s.value===form.slot)?'on':'',(s.disabled)?'off':'']}}" bindtap="__e">{{''+s.value+''}}</view></block></view><view class="hint muted data-v-b393e9aa">满档逻辑在商用版由实时档期接口返回,这里为原型演示。</view></view><view class="card block data-v-b393e9aa"><view class="title data-v-b393e9aa">选择技师</view><view class="techs data-v-b393e9aa"><view data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" class="{{['tech','data-v-b393e9aa',(form.techId==='auto')?'on':'']}}" bindtap="__e"><view class="row between data-v-b393e9aa"><view class="t-name data-v-b393e9aa">系统自动分配</view><view class="tag data-v-b393e9aa">推荐</view></view><view class="muted t-sub data-v-b393e9aa">根据项目与档期匹配最合适的技师</view></view><block wx:for="{{techs}}" wx:for-item="t" wx:for-index="__i2__" wx:key="id"><view data-event-opts="{{[['tap',[['e1',['$event']]]]]}}" data-event-params="{{({t})}}" class="{{['tech','data-v-b393e9aa',(form.techId===t.id)?'on':'']}}" bindtap="__e"><view class="row between data-v-b393e9aa"><view class="data-v-b393e9aa"><view class="t-name data-v-b393e9aa">{{t.name}}</view><view class="muted t-sub data-v-b393e9aa">{{t.title}}</view></view><view class="tags data-v-b393e9aa"><block wx:for="{{t.tags}}" wx:for-item="tg" wx:for-index="__i3__" wx:key="*this"><text class="tag data-v-b393e9aa">{{tg}}</text></block></view></view></view></block></view></view><view class="card block data-v-b393e9aa"><view class="title data-v-b393e9aa">备注需求</view><textarea class="ta data-v-b393e9aa" placeholder="例如:敏感肌、易过敏、想做补水修护…" maxlength="120" data-event-opts="{{[['input',[['__set_model',['$0','note','$event',[]],['form']]]]]}}" value="{{form.note}}" bindinput="__e"></textarea></view><view class="space data-v-b393e9aa"></view><view class="fixbar data-v-b393e9aa"><view data-event-opts="{{[['tap',[['submit',['$event']]]]]}}" class="btn btn-primary submit data-v-b393e9aa" bindtap="__e">提交预约</view></view></view></block><block wx:else><view class="card empty data-v-b393e9aa"><view class="e1 data-v-b393e9aa">请选择项目后继续</view><view class="muted e2 data-v-b393e9aa">你也可以在“项目详情”里直接点击“立即预约”。</view></view></block><ai-float vue-id="208bdb3b-1" class="data-v-b393e9aa" bind:__l="__l"></ai-float></view>
+155
View File
@@ -0,0 +1,155 @@
.block.data-v-b393e9aa {
padding: 22rpx;
margin-bottom: 18rpx;
}
.pick2.data-v-b393e9aa {
margin-top: 14rpx;
padding: 18rpx;
border-radius: 20rpx;
border: 1rpx solid rgba(17, 24, 39, 0.08);
background: #fff;
}
.pname.data-v-b393e9aa {
font-size: 32rpx;
font-weight: 950;
}
.psub.data-v-b393e9aa {
margin-top: 8rpx;
font-size: 24rpx;
}
.empty.data-v-b393e9aa {
margin-top: 18rpx;
padding: 34rpx 26rpx;
text-align: center;
}
.e1.data-v-b393e9aa {
font-size: 34rpx;
font-weight: 950;
}
.e2.data-v-b393e9aa {
margin-top: 12rpx;
font-size: 26rpx;
}
.name.data-v-b393e9aa {
font-size: 34rpx;
font-weight: 900;
}
.price.data-v-b393e9aa {
font-size: 32rpx;
font-weight: 900;
}
.meta.data-v-b393e9aa {
margin-top: 10rpx;
font-size: 26rpx;
}
.title.data-v-b393e9aa {
font-weight: 900;
font-size: 30rpx;
margin-bottom: 14rpx;
}
.sc.data-v-b393e9aa {
white-space: nowrap;
}
.pick.data-v-b393e9aa {
margin-top: 14rpx;
padding: 16rpx 18rpx;
border-radius: 18rpx;
background: rgba(17, 24, 39, 0.05);
font-size: 26rpx;
font-weight: 900;
}
.date.data-v-b393e9aa {
width: 150rpx;
padding: 16rpx;
margin-right: 12rpx;
border-radius: 18rpx;
border: 1rpx solid rgba(17, 24, 39, 0.08);
background: rgba(17, 24, 39, 0.03);
flex: 0 0 auto;
}
.on.data-v-b393e9aa {
background: rgba(59, 130, 246, 0.12);
border-color: rgba(59, 130, 246, 0.35);
}
.d1.data-v-b393e9aa {
font-weight: 900;
font-size: 30rpx;
}
.d2.data-v-b393e9aa {
margin-top: 8rpx;
font-size: 24rpx;
}
.grid.data-v-b393e9aa {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12rpx;
}
.slot.data-v-b393e9aa {
height: 70rpx;
border-radius: 18rpx;
border: 1rpx solid rgba(17, 24, 39, 0.08);
background: #fff;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 26rpx;
}
.off.data-v-b393e9aa {
background: rgba(17, 24, 39, 0.05);
color: rgba(17, 24, 39, 0.35);
}
.hint.data-v-b393e9aa {
margin-top: 14rpx;
font-size: 24rpx;
}
.techs.data-v-b393e9aa {
display: flex;
flex-direction: column;
gap: 12rpx;
}
.tech.data-v-b393e9aa {
padding: 16rpx;
border-radius: 20rpx;
border: 1rpx solid rgba(17, 24, 39, 0.08);
background: #fff;
}
.t-name.data-v-b393e9aa {
font-weight: 900;
font-size: 30rpx;
}
.t-sub.data-v-b393e9aa {
margin-top: 6rpx;
font-size: 24rpx;
}
.tags.data-v-b393e9aa {
display: flex;
gap: 8rpx;
flex-wrap: wrap;
justify-content: flex-end;
max-width: 280rpx;
}
.ta.data-v-b393e9aa {
width: 100%;
min-height: 160rpx;
padding: 16rpx;
border-radius: 18rpx;
border: 1rpx solid rgba(17, 24, 39, 0.08);
background: #fff;
font-size: 28rpx;
box-sizing: border-box;
}
.space.data-v-b393e9aa {
height: 160rpx;
}
.fixbar.data-v-b393e9aa {
position: fixed;
left: 0;
right: 0;
bottom: 0;
padding: 18rpx 24rpx 24rpx;
background: linear-gradient(180deg, rgba(246, 247, 251, 0) 0%, #f6f7fb 46%);
}
.submit.data-v-b393e9aa {
height: 92rpx;
}
+340
View File
@@ -0,0 +1,340 @@
(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/coupons/list"],{
/***/ 127:
/*!*******************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/main.js?{"page":"pages%2Fcoupons%2Flist"} ***!
\*******************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(wx, createPage) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);
__webpack_require__(/*! uni-pages */ 7);
var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 8));
var _list = _interopRequireDefault(__webpack_require__(/*! ./pages/coupons/list.vue */ 128));
// @ts-ignore
wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;
createPage(_list.default);
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["createPage"]))
/***/ }),
/***/ 128:
/*!************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/coupons/list.vue ***!
\************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _list_vue_vue_type_template_id_f8784d4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./list.vue?vue&type=template&id=f8784d4e&scoped=true& */ 129);
/* harmony import */ var _list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./list.vue?vue&type=script&lang=js& */ 131);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _list_vue_vue_type_style_index_0_id_f8784d4e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./list.vue?vue&type=style&index=0&id=f8784d4e&lang=scss&scoped=true& */ 133);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 19);
var renderjs
/* normalize component */
var component = Object(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_list_vue_vue_type_template_id_f8784d4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
_list_vue_vue_type_template_id_f8784d4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
"f8784d4e",
null,
false,
_list_vue_vue_type_template_id_f8784d4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
renderjs
)
component.options.__file = "pages/coupons/list.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ 129:
/*!*******************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/coupons/list.vue?vue&type=template&id=f8784d4e&scoped=true& ***!
\*******************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_template_id_f8784d4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./list.vue?vue&type=template&id=f8784d4e&scoped=true& */ 130);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_template_id_f8784d4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_template_id_f8784d4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_template_id_f8784d4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_template_id_f8784d4e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/***/ 130:
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/coupons/list.vue?vue&type=template&id=f8784d4e&scoped=true& ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ 131:
/*!*************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/coupons/list.vue?vue&type=script&lang=js& ***!
\*************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./list.vue?vue&type=script&lang=js& */ 132);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 132:
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/coupons/list.vue?vue&type=script&lang=js& ***!
\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 3));
var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 31));
var _demoOrders = __webpack_require__(/*! @/common/demoOrders */ 92);
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
var AiFloat = function AiFloat() {
__webpack_require__.e(/*! require.ensure | components/AiFloat */ "components/AiFloat").then((function () {
return resolve(__webpack_require__(/*! @/components/AiFloat.vue */ 192));
}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
};
function buildCoupons() {
var now = Date.now();
var extra = [{
id: 'cp_demo_unused_001',
createdAt: now - 2 * 24 * 60 * 60 * 1000,
status: '待核销',
amount: 299,
projectId: 'p9',
projectName: '新客体验套餐 · 3 次',
durationMin: 60,
orderType: 'coupon',
couponTitle: '新客体验套餐 · 3 次',
couponPlanKey: 'package',
couponPlanLabel: '套餐',
validText: '有效期 90 天',
remainingTimes: 3,
verifyCode: 'VCCP20260621001'
}, {
id: 'cp_demo_pending_001',
createdAt: now - 6 * 24 * 60 * 60 * 1000,
status: '待付款',
amount: 168,
projectId: 'p2',
projectName: '深层清洁黑头管理',
durationMin: 75,
orderType: 'coupon',
couponTitle: '深层清洁黑头管理',
couponPlanKey: 'single',
couponPlanLabel: '单次券',
validText: '有效期 30 天',
remainingTimes: 1,
verifyCode: 'VCCP20260621002'
}, {
id: 'cp_demo_used_001',
createdAt: now - 18 * 24 * 60 * 60 * 1000,
status: '已完成',
amount: 899,
projectId: 'p5',
projectName: '皮肤管理次卡 5 次',
durationMin: 60,
orderType: 'coupon',
couponTitle: '皮肤管理次卡 5 次',
couponPlanKey: 'times5',
couponPlanLabel: '次卡 5 次',
validText: '有效期 180 天',
remainingTimes: 0,
verifyCode: 'VCCP20260621003'
}, {
id: 'cp_demo_expired_001',
createdAt: now - 65 * 24 * 60 * 60 * 1000,
status: '已过期',
amount: 99,
projectId: 'p1',
projectName: '水氧净透体验',
durationMin: 60,
orderType: 'coupon',
couponTitle: '水氧净透体验',
couponPlanKey: 'single',
couponPlanLabel: '单次券',
validText: '已过期(原型演示)',
remainingTimes: 1,
verifyCode: 'VCCP20260621004'
}];
var all = [].concat((0, _toConsumableArray2.default)(_demoOrders.demoOrders.filter(function (x) {
return x.orderType === 'coupon';
})), extra);
return all.map(function (x) {
var uiStatus = x.status === '待核销' ? '未使用' : x.status === '已完成' ? '已核销' : x.status === '待付款' ? '待付款' : '已过期';
var group = uiStatus === '已核销' ? 'used' : uiStatus === '待付款' ? 'pending' : uiStatus === '已过期' ? 'expired' : 'unused';
return _objectSpread(_objectSpread({}, x), {}, {
uiStatus: uiStatus,
group: group
});
});
}
var _default = {
components: {
AiFloat: AiFloat
},
data: function data() {
var coupons = buildCoupons();
var init = coupons.filter(function (x) {
return x.group === 'unused';
});
return {
tabs: [{
value: 'unused',
label: '未使用'
}, {
value: 'used',
label: '已核销'
}, {
value: 'pending',
label: '待付款'
}, {
value: 'expired',
label: '已过期'
}],
active: 'unused',
coupons: coupons,
viewList: init && init.length ? init : coupons.slice(0, 3)
};
},
onLoad: function onLoad() {
this.apply();
},
onShow: function onShow() {
this.coupons = buildCoupons();
this.apply();
},
methods: {
apply: function apply() {
var _this = this;
var v = this.coupons.filter(function (x) {
return x.group === _this.active;
});
this.viewList = v && v.length ? v : this.coupons.slice(0, 3);
},
setActive: function setActive(v) {
if (!v || v === this.active) return;
this.active = v;
this.apply();
},
open: function open(id) {
var c = this.coupons.find(function (x) {
return x.id === id;
}) || this.coupons[0];
var payload = encodeURIComponent(JSON.stringify(c));
uni.navigateTo({
url: "/pages/orders/detail?payload=".concat(payload)
});
},
book: function book(c) {
uni.navigateTo({
url: "/pages/booking/create?projectId=".concat(c.projectId)
});
},
openCode: function openCode(c) {
var payload = encodeURIComponent(JSON.stringify(c));
uni.navigateTo({
url: "/pages/verify/code?payload=".concat(payload)
});
},
goProjects: function goProjects() {
uni.switchTab({
url: '/pages/projects/list'
});
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["default"]))
/***/ }),
/***/ 133:
/*!**********************************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/coupons/list.vue?vue&type=style&index=0&id=f8784d4e&lang=scss&scoped=true& ***!
\**********************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_style_index_0_id_f8784d4e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./list.vue?vue&type=style&index=0&id=f8784d4e&lang=scss&scoped=true& */ 134);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_style_index_0_id_f8784d4e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_style_index_0_id_f8784d4e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_style_index_0_id_f8784d4e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_style_index_0_id_f8784d4e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_list_vue_vue_type_style_index_0_id_f8784d4e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 134:
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/coupons/list.vue?vue&type=style&index=0&id=f8784d4e&lang=scss&scoped=true& ***!
\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
if(false) { var cssReload; }
/***/ })
},[[127,"common/runtime","common/vendor"]]]);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/coupons/list.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"navigationBarTitleText": "我的卡券",
"navigationStyle": "default",
"usingComponents": {
"ai-float": "/components/AiFloat"
}
}
+1
View File
@@ -0,0 +1 @@
<view class="container data-v-f8784d4e"><view class="card filters data-v-f8784d4e"><view class="row sc data-v-f8784d4e"><block wx:for="{{tabs}}" wx:for-item="s" wx:for-index="__i0__" wx:key="value"><view class="{{['chip','data-v-f8784d4e',(s.value===active)?'on':'']}}" hover-class="none" data-event-opts="{{[['tap',[['setActive',['$0'],[[['tabs','value',s.value,'value']]]]]]]}}" bindtap="__e">{{''+s.label+''}}</view></block></view></view><view class="list data-v-f8784d4e"><block wx:for="{{viewList}}" wx:for-item="c" wx:for-index="__i1__" wx:key="id"><view data-event-opts="{{[['tap',[['open',['$0'],[[['viewList','id',c.id,'id']]]]]]]}}" class="card item data-v-f8784d4e" bindtap="__e"><view class="row between data-v-f8784d4e"><view class="n data-v-f8784d4e">{{c.projectName}}</view><view class="tag data-v-f8784d4e">{{"剩余 "+c.remainingTimes}}</view></view><view class="muted meta data-v-f8784d4e">{{"核销码:"+c.verifyCode}}</view><block wx:if="{{c.validText}}"><view class="muted meta data-v-f8784d4e">{{"有效期:"+c.validText}}</view></block><view class="row between meta2 data-v-f8784d4e"><view class="muted data-v-f8784d4e">{{"状态:"+c.uiStatus}}</view><view class="amt data-v-f8784d4e">{{"¥"+c.amount}}</view></view><block wx:if="{{c.uiStatus==='未使用'}}"><view class="row between ops data-v-f8784d4e"><view data-event-opts="{{[['tap',[['book',['$0'],[[['viewList','id',c.id]]]]]]]}}" class="btn btn-ghost ob data-v-f8784d4e" catchtap="__e">去使用(预约)</view><view data-event-opts="{{[['tap',[['openCode',['$0'],[[['viewList','id',c.id]]]]]]]}}" class="btn btn-primary ob data-v-f8784d4e" catchtap="__e">核销码</view></view></block></view></block></view><ai-float vue-id="16905a66-1" class="data-v-f8784d4e" bind:__l="__l"></ai-float></view>
+64
View File
@@ -0,0 +1,64 @@
.filters.data-v-f8784d4e {
padding: 16rpx;
}
.sc.data-v-f8784d4e {
white-space: nowrap;
}
.chip.data-v-f8784d4e {
padding: 14rpx 18rpx;
margin-right: 12rpx;
border-radius: 999rpx;
font-size: 26rpx;
background: rgba(17, 24, 39, 0.06);
color: #111827;
flex: 0 0 auto;
}
.on.data-v-f8784d4e {
background: rgba(59, 130, 246, 0.14);
color: #1d4ed8;
}
.empty.data-v-f8784d4e {
margin-top: 18rpx;
padding: 26rpx;
}
.e1.data-v-f8784d4e {
font-size: 36rpx;
font-weight: 950;
}
.e2.data-v-f8784d4e {
margin-top: 10rpx;
font-size: 26rpx;
}
.ebtn.data-v-f8784d4e {
margin-top: 18rpx;
}
.list.data-v-f8784d4e {
margin-top: 18rpx;
}
.item.data-v-f8784d4e {
padding: 22rpx;
margin-bottom: 18rpx;
}
.n.data-v-f8784d4e {
font-size: 32rpx;
font-weight: 950;
max-width: 520rpx;
}
.meta.data-v-f8784d4e {
margin-top: 12rpx;
font-size: 26rpx;
}
.meta2.data-v-f8784d4e {
margin-top: 10rpx;
}
.ops.data-v-f8784d4e {
margin-top: 16rpx;
gap: 14rpx;
}
.ob.data-v-f8784d4e {
flex: 1;
height: 80rpx;
}
.amt.data-v-f8784d4e {
font-weight: 950;
}
+304
View File
@@ -0,0 +1,304 @@
(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/home/index"],{
/***/ 45:
/*!*****************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/main.js?{"page":"pages%2Fhome%2Findex"} ***!
\*****************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(wx, createPage) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);
__webpack_require__(/*! uni-pages */ 7);
var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 8));
var _index = _interopRequireDefault(__webpack_require__(/*! ./pages/home/index.vue */ 46));
// @ts-ignore
wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;
createPage(_index.default);
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["createPage"]))
/***/ }),
/***/ 46:
/*!**********************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/home/index.vue ***!
\**********************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _index_vue_vue_type_template_id_71e217db_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=71e217db&scoped=true& */ 47);
/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ 49);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _index_vue_vue_type_style_index_0_id_71e217db_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=71e217db&lang=scss&scoped=true& */ 52);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 19);
var renderjs
/* normalize component */
var component = Object(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_index_vue_vue_type_template_id_71e217db_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
_index_vue_vue_type_template_id_71e217db_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
"71e217db",
null,
false,
_index_vue_vue_type_template_id_71e217db_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
renderjs
)
component.options.__file = "pages/home/index.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ 47:
/*!*****************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/home/index.vue?vue&type=template&id=71e217db&scoped=true& ***!
\*****************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_71e217db_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=template&id=71e217db&scoped=true& */ 48);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_71e217db_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_71e217db_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_71e217db_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_71e217db_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/***/ 48:
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/home/index.vue?vue&type=template&id=71e217db&scoped=true& ***!
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ 49:
/*!***********************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/home/index.vue?vue&type=script&lang=js& ***!
\***********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=script&lang=js& */ 50);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 50:
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/home/index.vue?vue&type=script&lang=js& ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _mockData = __webpack_require__(/*! @/common/mockData */ 51);
var AiFloat = function AiFloat() {
__webpack_require__.e(/*! require.ensure | components/AiFloat */ "components/AiFloat").then((function () {
return resolve(__webpack_require__(/*! @/components/AiFloat.vue */ 192));
}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
};
var ProjectGridCard = function ProjectGridCard() {
__webpack_require__.e(/*! require.ensure | components/ProjectGridCard */ "components/ProjectGridCard").then((function () {
return resolve(__webpack_require__(/*! @/components/ProjectGridCard.vue */ 199));
}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
};
var _default = {
components: {
AiFloat: AiFloat,
ProjectGridCard: ProjectGridCard
},
data: function data() {
return {
store: _mockData.storeProfile,
hotProjects: _mockData.projects.slice(0, 4),
locText: '定位:获取中…',
distText: '距离:计算中…',
teamRating: 4.9,
likeCount: 128
};
},
onShow: function onShow() {
var _this = this;
this.locText = '定位:获取中…';
this.distText = '距离:计算中…';
uni.getLocation({
type: 'gcj02',
success: function success(res) {
_this.locText = '定位:上海市 静安区(示例)';
var d = _this.calcDistanceMeter(res.latitude, res.longitude, _this.store.latitude, _this.store.longitude);
_this.distText = "\u8DDD\u79BB\uFF1A".concat(_this.formatDistance(d));
},
fail: function fail() {
_this.locText = '定位:未开启(可在“我的”页授权定位)';
_this.distText = '距离:--';
}
});
},
methods: {
goProjects: function goProjects() {
uni.switchTab({
url: '/pages/projects/list'
});
},
goBooking: function goBooking() {
var p = Array.isArray(_mockData.projects) && _mockData.projects.length ? _mockData.projects[0] : null;
if (!p) {
this.goProjects();
return;
}
uni.navigateTo({
url: "/pages/booking/create?projectId=".concat(p.id)
});
},
goCoupons: function goCoupons() {
uni.navigateTo({
url: '/pages/coupons/list'
});
},
goMember: function goMember() {
uni.switchTab({
url: '/pages/member/index'
});
},
goStore: function goStore() {
uni.navigateTo({
url: '/pages/store/detail'
});
},
callStore: function callStore() {
uni.makePhoneCall({
phoneNumber: this.store.phone
});
},
navToStore: function navToStore() {
var lat = this.store.latitude;
var lng = this.store.longitude;
if (typeof lat !== 'number' || typeof lng !== 'number') {
uni.showToast({
title: '门店坐标未配置',
icon: 'none'
});
return;
}
uni.openLocation({
latitude: lat,
longitude: lng,
name: this.store.name,
address: this.store.address
});
},
calcDistanceMeter: function calcDistanceMeter(lat1, lng1, lat2, lng2) {
if ([lat1, lng1, lat2, lng2].some(function (x) {
return typeof x !== 'number';
})) return NaN;
var toRad = function toRad(v) {
return v * Math.PI / 180;
};
var R = 6371000;
var dLat = toRad(lat2 - lat1);
var dLng = toRad(lng2 - lng1);
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(toRad(lat1)) * Math.cos(toRad(lat2)) * Math.sin(dLng / 2) * Math.sin(dLng / 2);
return 2 * R * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
},
formatDistance: function formatDistance(m) {
if (!Number.isFinite(m)) return '--';
if (m < 1000) return "".concat(Math.max(1, Math.round(m)), "m");
var km = m / 1000;
if (km < 10) return "".concat(km.toFixed(1), "km");
return "".concat(Math.round(km), "km");
},
likeTeam: function likeTeam() {
this.likeCount += 1;
uni.showToast({
title: '已点赞',
icon: 'none'
});
}
}
};
exports.default = _default;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 21)["default"]))
/***/ }),
/***/ 52:
/*!********************************************************************************************************************************************!*\
!*** D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/home/index.vue?vue&type=style&index=0&id=71e217db&lang=scss&scoped=true& ***!
\********************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_id_71e217db_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=style&index=0&id=71e217db&lang=scss&scoped=true& */ 53);
/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_id_71e217db_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_id_71e217db_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_id_71e217db_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_id_71e217db_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_id_71e217db_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 53:
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/java-ersonal/project/litchi-cat/beauty-miniapp-uni/pages/home/index.vue?vue&type=style&index=0&id=71e217db&lang=scss&scoped=true& ***!
\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
if(false) { var cssReload; }
/***/ })
},[[45,"common/runtime","common/vendor"]]]);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/home/index.js.map
+8
View File
@@ -0,0 +1,8 @@
{
"navigationBarTitleText": "智约美服",
"navigationStyle": "default",
"usingComponents": {
"ai-float": "/components/AiFloat",
"project-grid-card": "/components/ProjectGridCard"
}
}

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