明树Git Lab
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
J
jt_backend
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zengfanpei
jt_backend
Commits
e8a5c0f3
Commit
e8a5c0f3
authored
May 22, 2026
by
zfp1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
92a3120b
Pipeline
#111751
passed with stage
in 5 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
5 additions
and
86 deletions
+5
-86
cc.md
cc.md
+0
-82
project.js
db/model/jt/project.js
+4
-3
server.js
server.js
+1
-1
No files found.
cc.md
deleted
100644 → 0
View file @
92a3120b
# 「好停车」小程序功能设计方案
## 一、核心功能架构
```
好停车小程序(极简版)
├── 核心功能:快速找到最近距离的最便宜停车场
└── 辅助功能:停车导航、订单管理
```
## 二、详细页面设计(极简版)
### 1. **首页(唯一核心页面)**
-
**当前位置自动获取**
-
首次打开申请位置权限
-
自动显示"您在这里"
-
**极简地图展示**
-
只显示周边3km内停车场
-
停车场标记用颜色区分:
-
🟢 最近+最便宜(主推)
-
🟡 次优选择
-
🔴 其他选择
-
**智能排序算法**
-
综合排序 = 距离权重(70%) + 价格权重(30%)
-
自动推荐最佳选择,无需手动筛选
---
### 2. **停车场卡片(点击地图标记弹出)**
-
**只显示核心信息**
```
名称:XX停车场
距离:500米(步行5分钟)
价格:4元/小时
剩余:23/120个车位
```
-
**两个核心按钮**
-
🚀 导航去这里(调起高德/百度地图)
-
✅ 我要停这里(记录选择,可选)
---
### 3. **我(用户中心)**
-
**极简菜单**
-
常用车牌(1-3个)
-
停车记录(最近10条)
-
关于
---
### ❌ 已删除的复杂功能(非核心)
-
❌ 预约车位功能(增加决策成本,停车场有空位即可)
-
❌ 用户评价系统(停车是刚需,评价参考价值低)
-
❌ 积分会员体系(过度设计)
-
❌ 收藏停车场(智能推荐即可)
-
❌ 实时停车计时/费用计算(由停车场系统完成)
-
❌ 在线支付(由停车场出入口收费完成)
-
❌ 充值/优惠券/月卡(简化流程)
---
## 三、关键交互流程(3步完成)
### 找停车场流程
1.
打开小程序 → 自动定位 + 加载地图(1秒)
2.
查看地图 → 绿色标记是最佳选择(已智能排序)
3.
点击导航 → 调起高德/百度地图出发
完成!
---
## 四、技术建议(最小化实现)
-
**地图服务**
:高德地图SDK(定位+显示+导航跳转)
-
**数据接口**
:
-
获取周边停车场列表(按距离+价格排序)
-
停车场实时车位数据
-
**本地存储**
:缓存常用车牌号
-
**无需**
:支付系统、订单系统、实时推送
\ No newline at end of file
db/model/jt/project.js
View file @
e8a5c0f3
...
@@ -75,10 +75,10 @@ const Project = sequelize.define('Project', {
...
@@ -75,10 +75,10 @@ const Project = sequelize.define('Project', {
* 立项字段
* 立项字段
*/
*/
//项目基本信息
//项目基本信息
projectName
:
{
type
:
DataTypes
.
STRING
,
allowNull
:
true
,
comment
:
"项目名称"
,
_mark
:
"lixiang"
},
projectName
:
{
type
:
DataTypes
.
STRING
(
50
)
,
allowNull
:
true
,
comment
:
"项目名称"
,
_mark
:
"lixiang"
},
projectCode
:
{
type
:
DataTypes
.
STRING
,
allowNull
:
true
,
comment
:
"项目编号"
,
_mark
:
"lixiang"
},
projectCode
:
{
type
:
DataTypes
.
STRING
(
50
)
,
allowNull
:
true
,
comment
:
"项目编号"
,
_mark
:
"lixiang"
},
sfzjc
:
{
type
:
DataTypes
.
STRING
(
10
),
allowNull
:
true
,
comment
:
"是否再决策"
,
zjType
:
'danxuan'
,
zjKey
:
'sf'
,
_mark
:
"lixiang"
},
// 1是 2 否
sfzjc
:
{
type
:
DataTypes
.
STRING
(
10
),
allowNull
:
true
,
comment
:
"是否再决策"
,
zjType
:
'danxuan'
,
zjKey
:
'sf'
,
_mark
:
"lixiang"
},
// 1是 2 否
projectForeignName
:
{
type
:
DataTypes
.
STRING
,
allowNull
:
true
,
comment
:
"项目外文名称"
,
_mark
:
"lixiang"
},
projectForeignName
:
{
type
:
DataTypes
.
STRING
(
50
)
,
allowNull
:
true
,
comment
:
"项目外文名称"
,
_mark
:
"lixiang"
},
sfnjlhtxm
:
{
type
:
DataTypes
.
STRING
(
10
),
allowNull
:
true
,
comment
:
"是否能建联合体项目"
,
zjType
:
'danxuan'
,
zjKey
:
'sf'
,
_mark
:
"lixiang"
},
// 1是 2 否
sfnjlhtxm
:
{
type
:
DataTypes
.
STRING
(
10
),
allowNull
:
true
,
comment
:
"是否能建联合体项目"
,
zjType
:
'danxuan'
,
zjKey
:
'sf'
,
_mark
:
"lixiang"
},
// 1是 2 否
tzzt
:
{
type
:
DataTypes
.
STRING
(
20
),
allowNull
:
true
,
comment
:
"投资主体"
,
zjType
:
'danxuan'
,
_mark
:
"lixiang"
},
tzzt
:
{
type
:
DataTypes
.
STRING
(
20
),
allowNull
:
true
,
comment
:
"投资主体"
,
zjType
:
'danxuan'
,
_mark
:
"lixiang"
},
zyfzy
:
{
type
:
DataTypes
.
STRING
(
10
),
allowNull
:
true
,
comment
:
"主业/非主业"
,
zjType
:
'danxuan'
,
_mark
:
"lixiang"
},
zyfzy
:
{
type
:
DataTypes
.
STRING
(
10
),
allowNull
:
true
,
comment
:
"主业/非主业"
,
zjType
:
'danxuan'
,
_mark
:
"lixiang"
},
...
@@ -88,6 +88,7 @@ const Project = sequelize.define('Project', {
...
@@ -88,6 +88,7 @@ const Project = sequelize.define('Project', {
cwbblx
:
{
type
:
DataTypes
.
STRING
(
10
),
allowNull
:
true
,
comment
:
"财务报表类型"
,
zjType
:
'danxuan'
,
_mark
:
"lixiang"
},
cwbblx
:
{
type
:
DataTypes
.
STRING
(
10
),
allowNull
:
true
,
comment
:
"财务报表类型"
,
zjType
:
'danxuan'
,
_mark
:
"lixiang"
},
zfsphzbajb
:
{
type
:
DataTypes
.
STRING
(
10
),
allowNull
:
true
,
comment
:
"政府审批(核准、备案)级别"
,
zjType
:
'danxuan'
,
_mark
:
"lixiang"
},
zfsphzbajb
:
{
type
:
DataTypes
.
STRING
(
10
),
allowNull
:
true
,
comment
:
"政府审批(核准、备案)级别"
,
zjType
:
'danxuan'
,
_mark
:
"lixiang"
},
sflxbqyscx
:
{
type
:
DataTypes
.
STRING
(
10
),
allowNull
:
true
,
comment
:
"是否履行标前预审程序"
,
zjType
:
'danxuan'
,
zjKey
:
'sf'
,
_mark
:
"lixiang"
},
sflxbqyscx
:
{
type
:
DataTypes
.
STRING
(
10
),
allowNull
:
true
,
comment
:
"是否履行标前预审程序"
,
zjType
:
'danxuan'
,
zjKey
:
'sf'
,
_mark
:
"lixiang"
},
lxspdw
:
{
type
:
DataTypes
.
STRING
(
50
),
allowNull
:
true
,
comment
:
"立项审批单位"
,
_mark
:
'lixiang'
,
},
//项目所在地
//项目所在地
jnw
:
{
type
:
DataTypes
.
STRING
(
10
),
allowNull
:
true
,
comment
:
"境内/外"
,
zjType
:
'danxuan'
,
_mark
:
"lixiang"
},
jnw
:
{
type
:
DataTypes
.
STRING
(
10
),
allowNull
:
true
,
comment
:
"境内/外"
,
zjType
:
'danxuan'
,
_mark
:
"lixiang"
},
...
...
server.js
View file @
e8a5c0f3
...
@@ -72,6 +72,6 @@ app.use(function (err, req, res, next) {
...
@@ -72,6 +72,6 @@ app.use(function (err, req, res, next) {
const
server
=
require
(
'http'
).
createServer
(
app
);
const
server
=
require
(
'http'
).
createServer
(
app
);
server
.
listen
(
process
.
env
.
PORT
||
300
0
,
function
()
{
server
.
listen
(
process
.
env
.
PORT
||
300
9
,
function
()
{
console
.
log
(
`****** server is listening :
${
process
.
env
.
PORT
}
|| 3000`
);
console
.
log
(
`****** server is listening :
${
process
.
env
.
PORT
}
|| 3000`
);
});
});
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment