diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json
new file mode 100644
index 0000000..c9abd4b
--- /dev/null
+++ b/.hbuilderx/launch.json
@@ -0,0 +1,11 @@
+{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
+ // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
+ "version": "0.0",
+ "configurations": [{
+ "type": "uniCloud",
+ "default": {
+ "launchtype": "local"
+ }
+ }
+ ]
+}
diff --git a/App.vue b/App.vue
index f22c7d6..ed014bd 100644
--- a/App.vue
+++ b/App.vue
@@ -1,11 +1,59 @@
diff --git a/api/add.js b/api/add.js
new file mode 100644
index 0000000..ae1d1eb
--- /dev/null
+++ b/api/add.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 绑定企业基本信息
+export const add = params => http.post(`${proxyUrl}/enterprise/add`, params);
diff --git a/api/additional.js b/api/additional.js
new file mode 100644
index 0000000..50d81e2
--- /dev/null
+++ b/api/additional.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 完善企业信息
+export const additional = params => http.post(`${proxyUrl}/enterprise/additional`, params);
diff --git a/api/additionalDetail.js b/api/additionalDetail.js
new file mode 100644
index 0000000..a07a41b
--- /dev/null
+++ b/api/additionalDetail.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 企业完善信息详情
+export const additionalDetail = params => http.post(`${proxyUrl}/enterprise/additionalDetail`, params);
diff --git a/api/area.js b/api/area.js
new file mode 100644
index 0000000..d3e0390
--- /dev/null
+++ b/api/area.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 地区查询
+export const areaquery = params => http.post(`${proxyUrl}/area/query`, params);
diff --git a/api/base.js b/api/base.js
index a6f79b9..509e9f9 100644
--- a/api/base.js
+++ b/api/base.js
@@ -1,5 +1,5 @@
// api基础地质
-export const BASE_URL = 'https://www.tall.wiki/gateway';
+export const BASE_URL = 'https://www.sxwikionline.com/gateway';
// 错误码
export const ERR_CODE = 200;
diff --git a/api/bindMsg.js b/api/bindMsg.js
new file mode 100644
index 0000000..a710030
--- /dev/null
+++ b/api/bindMsg.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 用户绑定查询
+export const bindMsg = params => http.post(`${proxyUrl}/my/bindMsg`, params);
diff --git a/api/candidate.js b/api/candidate.js
new file mode 100644
index 0000000..5dfb19d
--- /dev/null
+++ b/api/candidate.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 揭榜请求
+export const candidate = params => http.post(`${proxyUrl}/demand/candidate`, params);
diff --git a/api/candidateQuery.js b/api/candidateQuery.js
new file mode 100644
index 0000000..92fd2d3
--- /dev/null
+++ b/api/candidateQuery.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 查询是否揭榜
+export const candidateQuery = params => http.post(`${proxyUrl}/demand/candidateQuery`, params);
diff --git a/api/collectAdd.js b/api/collectAdd.js
new file mode 100644
index 0000000..18b18b2
--- /dev/null
+++ b/api/collectAdd.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 收藏政策
+export const collectAdd = params => http.post(`${proxyUrl}/collect/add`, params);
diff --git a/api/detail.js b/api/detail.js
new file mode 100644
index 0000000..3c6894b
--- /dev/null
+++ b/api/detail.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 查询企业基本信息
+export const detail = params => http.post(`${proxyUrl}/enterprise/detail`, params);
diff --git a/api/evaluate.js b/api/evaluate.js
new file mode 100644
index 0000000..6db83c6
--- /dev/null
+++ b/api/evaluate.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 企业评定
+export const evaluate = params => http.post(`${proxyUrl}/enterprise/evaluate`, params);
diff --git a/api/fileLocationQuery.js b/api/fileLocationQuery.js
new file mode 100644
index 0000000..1d01054
--- /dev/null
+++ b/api/fileLocationQuery.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 查询文件路径
+export const fileLocationQuery = params => http.post(`${proxyUrl}/file/fileLocationQuery`, params);
diff --git a/api/history.js b/api/history.js
new file mode 100644
index 0000000..12c3edc
--- /dev/null
+++ b/api/history.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 往期需求列表
+export const history = params => http.post(`${proxyUrl}/demand/history`, params);
diff --git a/api/incubator.js b/api/incubator.js
new file mode 100644
index 0000000..fd56084
--- /dev/null
+++ b/api/incubator.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 孵化器查询
+export const incubator = params => http.post(`${proxyUrl}/incubator/query`, params);
diff --git a/api/listDetails.js b/api/listDetails.js
new file mode 100644
index 0000000..e40bc6a
--- /dev/null
+++ b/api/listDetails.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 发榜详情查询
+export const listDetails = params => http.post(`${proxyUrl}/demand/query`, params);
diff --git a/api/policy.js b/api/policy.js
new file mode 100644
index 0000000..f130c82
--- /dev/null
+++ b/api/policy.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 地区查询
+export const policy = params => http.post(`${proxyUrl}/policy/area/query`, params);
diff --git a/api/policyDetails.js b/api/policyDetails.js
new file mode 100644
index 0000000..b8d8e83
--- /dev/null
+++ b/api/policyDetails.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 政策详情
+export const policyDetails = params => http.post(`${proxyUrl}/policy/detail`, params);
diff --git a/api/publish.js b/api/publish.js
new file mode 100644
index 0000000..400116c
--- /dev/null
+++ b/api/publish.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 需求发布
+export const publish = params => http.post(`${proxyUrl}/demand/publish`, params);
diff --git a/api/queryByFuzzyName.js b/api/queryByFuzzyName.js
new file mode 100644
index 0000000..64228df
--- /dev/null
+++ b/api/queryByFuzzyName.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 根据企业名称模糊查询企业信息
+export const queryByFuzzyName = params => http.post(`${proxyUrl}/enterpriseDetail/queryByFuzzyName`, params);
diff --git a/api/queryFile.js b/api/queryFile.js
new file mode 100644
index 0000000..9478878
--- /dev/null
+++ b/api/queryFile.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 需求附件下载查询
+export const queryFile = params => http.post(`${proxyUrl}/demand/queryFile`, params);
diff --git a/api/queryMsg.js b/api/queryMsg.js
new file mode 100644
index 0000000..7315b42
--- /dev/null
+++ b/api/queryMsg.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 系统消息查询
+export const queryMsg = params => http.post(`${proxyUrl}/message/queryMsg`, params);
diff --git a/api/queryMsgDetail.js b/api/queryMsgDetail.js
new file mode 100644
index 0000000..e6eddee
--- /dev/null
+++ b/api/queryMsgDetail.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 系统消息详情查询
+export const queryMsgDetail = params => http.post(`${proxyUrl}/message/queryMsgDetail`, params);
diff --git a/api/querySelf.js b/api/querySelf.js
new file mode 100644
index 0000000..4e8bb14
--- /dev/null
+++ b/api/querySelf.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 收藏查询
+export const querySelf = params => http.post(`${proxyUrl}/collect/querySelf`, params);
diff --git a/api/rotation.js b/api/rotation.js
new file mode 100644
index 0000000..0fe2f8a
--- /dev/null
+++ b/api/rotation.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 轮播图
+export const rotation = params => http.post(`${proxyUrl}/carousel/query`, params);
diff --git a/api/search.js b/api/search.js
new file mode 100644
index 0000000..c922675
--- /dev/null
+++ b/api/search.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 地区查询
+export const search = params => http.post(`${proxyUrl}/policy/search`, params);
diff --git a/api/trainApply.js b/api/trainApply.js
new file mode 100644
index 0000000..49b0aa0
--- /dev/null
+++ b/api/trainApply.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 培训报名
+export const trainApply = params => http.post(`${proxyUrl}/trainApply/add`, params);
diff --git a/api/trainApplyquery.js b/api/trainApplyquery.js
new file mode 100644
index 0000000..1ccf6ba
--- /dev/null
+++ b/api/trainApplyquery.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 查询培训报名
+export const trainApplyquery = params => http.post(`${proxyUrl}/trainApply/query`, params);
diff --git a/api/trainInform.js b/api/trainInform.js
new file mode 100644
index 0000000..a8995c2
--- /dev/null
+++ b/api/trainInform.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 培训通知
+export const trainInform = params => http.post(`${proxyUrl}/trainInform/queryTrainInformById`, params);
diff --git a/api/type.js b/api/type.js
new file mode 100644
index 0000000..3d71100
--- /dev/null
+++ b/api/type.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 类型选择
+export const typeSelection = params => http.post(`${proxyUrl}/category/query`, params);
diff --git a/api/upLoad.js b/api/upLoad.js
new file mode 100644
index 0000000..3d90b92
--- /dev/null
+++ b/api/upLoad.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 上传文件
+export const upLoad = params => http.post(`${proxyUrl}/file/upload`, params);
diff --git a/api/update.js b/api/update.js
new file mode 100644
index 0000000..d432fd4
--- /dev/null
+++ b/api/update.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 修改企业基本信息
+export const update = params => http.post(`${proxyUrl}/enterprise/update`, params);
diff --git a/api/updateAllSta.js b/api/updateAllSta.js
new file mode 100644
index 0000000..3406d96
--- /dev/null
+++ b/api/updateAllSta.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 系统消息全部修改
+export const updateAllSta = params => http.post(`${proxyUrl}/message/updateAllSta`, params);
diff --git a/api/updateStatus.js b/api/updateStatus.js
new file mode 100644
index 0000000..1501032
--- /dev/null
+++ b/api/updateStatus.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/enterprise';
+import { http } from 'plugins/request/index';
+
+// 系统消息读取状态改变
+export const updateStatus = params => http.post(`${proxyUrl}/message/updateStatus`, params);
diff --git a/api/user.js b/api/user.js
index 0959abc..b58523f 100644
--- a/api/user.js
+++ b/api/user.js
@@ -1,5 +1,5 @@
const proxyUrl = '/tall/v1.0';
import { http } from 'plugins/request/index';
-// 请求统一使用如下格式
-// export const signin = params => http.post('/api/xxx', params);
+// 登录
+export const signin = params => http.post(`${proxyUrl}/users/signin`, params);
diff --git a/api/userInfo.js b/api/userInfo.js
new file mode 100644
index 0000000..b3c61c9
--- /dev/null
+++ b/api/userInfo.js
@@ -0,0 +1,5 @@
+const proxyUrl = '/tall/v1.0';
+import { http } from 'plugins/request/index';
+
+// 给后台传递微信数据
+export const userInfo = params => http.post(`${proxyUrl}/users/userInfo`, params);
diff --git a/colorui/main.scss b/colorui/main.scss
index ce6040d..ef97634 100644
--- a/colorui/main.scss
+++ b/colorui/main.scss
@@ -3988,3 +3988,38 @@ scroll-view.cu-steps .cu-item {
.lines-white {
color: $white !important;
}
+.policy-box{
+ position: relative;
+ height: 140px;
+ padding: 20px;
+ border-bottom: 1px solid #eee;
+ background-color: $white;
+}
+.policy-box > image{
+ height: 100px;
+ width: 100px;
+ background-image: url(static/image.png);
+}
+.policy-title{
+ position: absolute;
+ top: 20px;
+ font-weight: 500;
+ font-size: 14px;
+ color: $black;
+ margin-left: 110px;
+ padding-right: 10px;
+ overflow: hidden;
+ word-break: break-all; /* break-all(允许在单词内换行。) */
+ text-overflow: ellipsis; /* 超出部分省略号 */
+ display: -webkit-box; /** 对象作为伸缩盒子模型显示 **/
+ -webkit-box-orient: vertical; /** 设置或检索伸缩盒对象的子元素的排列方式 **/
+ -webkit-line-clamp: 2; /** 显示的行数 **/
+}
+.policy-time{
+ position: absolute;
+ // margin-left: 10px;
+ right: 20px;
+ bottom: 20px;
+ font-size: 10px;
+ color: $gray;
+}
\ No newline at end of file
diff --git a/components/Demand/Demand.vue b/components/Demand/Demand.vue
new file mode 100644
index 0000000..b63af80
--- /dev/null
+++ b/components/Demand/Demand.vue
@@ -0,0 +1,234 @@
+
+
+
+
+ 时间:
+ {{item.createdAt}}
+
+
+ 联系人:
+ {{item.contacts}}
+
+
+ 联系电话:
+ {{item.contactPhone}}
+
+
+ 内容:
+ {{item.content}}
+
+
+ 附件:
+ 点击此处浏览下载
+
+
+
+
+
+
+
diff --git a/components/HomeNav/HomeNav.vue b/components/HomeNav/HomeNav.vue
new file mode 100644
index 0000000..0d12c04
--- /dev/null
+++ b/components/HomeNav/HomeNav.vue
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/HomeRotation/HomeRotation.vue b/components/HomeRotation/HomeRotation.vue
new file mode 100644
index 0000000..8c6197f
--- /dev/null
+++ b/components/HomeRotation/HomeRotation.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/HomeTab/HomeTab.vue b/components/HomeTab/HomeTab.vue
new file mode 100644
index 0000000..910893a
--- /dev/null
+++ b/components/HomeTab/HomeTab.vue
@@ -0,0 +1,46 @@
+
+
+
+ 部委政策
+ 省政策
+ 市政策
+ 区政策
+
+
+
+
+
+
+
+
diff --git a/components/Linkage/Linkage.vue b/components/Linkage/Linkage.vue
new file mode 100644
index 0000000..0939762
--- /dev/null
+++ b/components/Linkage/Linkage.vue
@@ -0,0 +1,223 @@
+
+
+
+ {{ value2.join('-') }}
+
+
+
+
+
+
+
diff --git a/components/Policy/Policy.vue b/components/Policy/Policy.vue
new file mode 100644
index 0000000..206f068
--- /dev/null
+++ b/components/Policy/Policy.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+ {{item.title}}
+ {{item.publishTime}}
+
+
+
+ 暂时没有对应政策
+
+
+
+
+
+
+
diff --git a/components/lb-picker/README.md b/components/lb-picker/README.md
new file mode 100644
index 0000000..5366935
--- /dev/null
+++ b/components/lb-picker/README.md
@@ -0,0 +1,434 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+插件市场里面的 picker 选择器不满足自己的需求,所以自己写了一个简单的 picker 选择器,可扩展、可自定义,一般满足日常需要。
+Github:[uni-lb-picker](https://github.com/liub1934/uni-lb-picker)
+插件市场:[uni-lb-picker](https://ext.dcloud.net.cn/plugin?id=1111)
+
+> 如果问题最好去 github 反馈,插件市场评论区留下五星好评即可,[点我去反馈](https://github.com/liub1934/uni-lb-picker/issues/new)
+
+> **由于之前`cancel`拼写失误,写成了`cancle`,`v1.08`现已修正,如果之前版本有使用`cancel`事件的,更新后请及时修正。**
+
+## 兼容性
+
+App + H5 + 各平台小程序(快应用及 360 未测试,nvue 待支持)
+
+## 功能
+
+1、单选
+2、多级联动,非多级联动,理论支持任意级数
+3、省市区选择,基于多级联动
+4、自定义选择器头部确定取消按钮颜色及插槽支持
+5、选择器可视区自定义滚动个数
+6、自定义数据字段,满足不同人的需求
+7、自定义选择器样式
+8、单选及非联动选择支持扁平化的简单数据,如下形式:
+
+```javascript
+// 单选列表
+list1: ['选项1', '选项2', '选项2'],
+// 非联动选择列表
+list2: [
+ ['选项1', '选项2', '选项3'],
+ ['选项11', '选项22', '选项33'],
+ ['选项111', '选项222', '选项333']
+]
+```
+
+## 引入插件
+
+单独引入,在需要使用的页面上 import 引入即可
+
+```html
+
+
+
+
+
+
+
+```
+
+全局引入,`main.js`中 import 引入并注册即可全局使用
+
+```jsvascript
+import LbPicker from '@/components/lb-picker'
+Vue.component("lb-picker", LbPicker)
+```
+
+easycom 引入
+
+`pages.json`加上如下配置:
+
+```json
+"easycom": {
+ "autoscan": true,
+ "custom": {
+ "lb-picker": "@/components/lb-picker/index.vue"
+ }
+}
+```
+
+npm 安装引入:
+
+```shell
+npm install uni-lb-picker
+```
+
+```jsvascript
+import LbPicker from 'uni-lb-picker'
+```
+
+## 选择器数据格式
+
+### 单选
+
+常规数据
+
+```javascript
+list: [
+ {
+ label: '选项1',
+ value: '1'
+ },
+ {
+ label: '选项2',
+ value: '2'
+ }
+]
+```
+
+扁平化简单数据
+
+```javascript
+list: ['选项1', '选项2']
+```
+
+### 多级联动
+
+```javascript
+list: [
+ {
+ label: '选项1',
+ value: '1',
+ children: [
+ {
+ label: '选项1-1',
+ value: '1-1',
+ children: [
+ {
+ label: '选项1-1-1',
+ value: '1-1-1'
+ }
+ ]
+ }
+ ]
+ }
+]
+```
+
+### 非联动选择
+
+常规数据
+
+```javascript
+list: [
+ [
+ { label: '选项1', value: '1' },
+ { label: '选项2', value: '2' },
+ { label: '选项3', value: '3' }
+ ],
+ [
+ { label: '选项11', value: '11' },
+ { label: '选项22', value: '22' },
+ { label: '选项33', value: '33' }
+ ],
+ [
+ { label: '选项111', value: '111' },
+ { label: '选项222', value: '222' },
+ { label: '选项333', value: '333' }
+ ]
+]
+```
+
+扁平化简单数据
+
+```javascript
+list: [
+ ['选项1', '选项2', '选项3'],
+ ['选项11', '选项22', '选项33'],
+ ['选项111', '选项222', '选项333']
+]
+```
+
+## 调用显示选择器
+
+通过`ref`形式手动调用`show`方法显示,隐藏同理调用`hide`
+
+```text
+
+
+this.$refs.picker.show() // 显示
+this.$refs.picker.hide() // 隐藏
+```
+
+## 绑定值及设置默认值
+
+支持 vue 中`v-model`写法绑定值,无需自己维护选中值的索引。
+
+```javascript
+
+
+
+data () {
+ return {
+ value1: '' // 单选
+ value2: [] // 多列联动选择
+ }
+}
+```
+
+## 多个选择器
+
+通过设置不同的`ref`,然后调用即可
+
+```javascript
+
+
+
+this.$refs.picker1.show() // picker1显示
+this.$refs.picker2.show() // picker2显示
+```
+
+## 省市区选择
+
+省市区选择是基于多列联动选择,数据来源:[https://github.com/modood/Administrative-divisions-of-China](https://github.com/modood/Administrative-divisions-of-China),
+省市区文件位于`/pages/demos/area-data-min.js`,自行引入即可,可参考`demo3省市区选择`,
+也可使用自己已有的省市区数据,如果数据字段不一样,也可以自定义,参考下方自定义数据字段。
+
+## 自定义数据字段
+
+为了满足不同人的需求,插件支持自定义数据字段名称, 插件默认的数据字段如下形式:
+
+```javascript
+list: [
+ {
+ label: '选择1',
+ value: 1,
+ children: []
+ },
+ {
+ label: '选择1',
+ value: 1,
+ children: []
+ }
+]
+```
+
+如果你的数据字段和上面不一样,如下形式:
+
+```javascript
+list: [
+ {
+ text: '选择1',
+ id: 1,
+ child: []
+ },
+ {
+ text: '选择1',
+ id: 1,
+ child: []
+ }
+]
+```
+
+通过设置参数中的`props`即可,如下所示:
+
+```javascript
+
+
+data () {
+ return {
+ myProps: {
+ label: 'text',
+ value: 'id',
+ children: 'child'
+ }
+ }
+}
+```
+
+## 插槽使用
+
+选择器支持一些可自定义化的插槽,如选择器的取消和确定文字按钮,如果需要对其自定义处理的话,比如加个 icon 图标之类的,可使用插槽,使用方法如下:
+
+```html
+
+ 我是自定义取消
+ 我是自定义确定
+
+```
+
+其他插槽见下。
+
+## 参数及事件
+
+### Props
+
+| 参数 | 说明 | 类型 | 可选值 | 默认值 |
+| :---------------------- | :--------------------------------------------------------------------------------------------------------------------------------- | :------------------ | :--------------------------------------------------------------- | :------------------------------------------------ |
+| value/v-model | 绑定值,联动选择为 Array 类型 | String/Number/Array | - | - |
+| mode | 选择器类型,支持单列,多列联动 | String | selector 单选/multiSelector 多级联动/unlinkedSelector 多级非联动 | selector |
+| list | 选择器数据(v1.0.7 单选及非联动多选支持扁平数据:['选项 1', '选项 2']) | Array | - | - |
+| level | 多列联动层级,仅 mode 为 multiSelector 有效 | Number | - | 2 |
+| props | 自定义数据字段 | Object | - | {label:'label',value:'value',children:'children'} |
+| cancel-text | 取消文字 | String | - | 取消 |
+| cancel-color | 取消文字颜色 | String | - | #999 |
+| confirm-text | 确定文字 | String | - | 确定 |
+| confirm-color | 确定文字颜色 | String | - | #007aff |
+| empty-text | (v1.0.7 新增)选择器列表为空的时候显示的文字 | String | - | 暂无数据 |
+| empty-color | (v1.0.7 新增)暂无数据文字颜色 | String | - | #999 |
+| column-num | 可视滚动区域内滚动个数,最好设置奇数值 | Number | - | 5 |
+| radius | 选择器顶部圆角,支持 rpx,如 radius="10rpx" | String | - | - |
+| ~~column-style~~ | ~~选择器默认样式(已弃用,见下方自定义样式说明)~~ | Object | - | - |
+| ~~active-column-style~~ | ~~选择器选中样式(已弃用,见下方自定义样式说明)~~ | Object | - | - |
+| loading | 选择器是否显示加载中,可使用 loading 插槽自定义加载效果 | Boolean | - | - |
+| mask-color | 遮罩层颜色 | String | - | rgba(0, 0, 0, 0.4) |
+| close-on-click-mask | 点击遮罩层是否关闭选择器 | Boolean | true/false | true |
+| ~~change-on-init~~ | ~~(v1.0.7 已弃用)初始化时是否触发 change 事件~~ | Boolean | true/false | - |
+| dataset | (v1.0.7 新增)可以向组件中传递任意的自定义的数据(对象形式数据),如`:dataset="{name:'test'}"`,在`confirm`或`change`事件中可以取到 | Object | - | - |
+| show-header | (v1.0.8 新增)是否显示选择器头部 | Boolean | - | true |
+| inline | (v1.0.8 新增)inline 模式,开启后默认显示选择器,无需点击弹出,可以配合`show-header`一起使用 | Boolean | - | - |
+| z-index | (v1.0.9 新增)选择器层级,遮罩层默认-1 | Number | - | 999 |
+
+### 方法
+
+| 方法名 | 说明 | 参数 | 返回值 |
+| :------------- | :------------------------------------- | :-------------- | :----------------------------------------------------------------------------------------------------------- |
+| show | 打开选择器 | - | |
+| hide | 关闭选择器 | - | |
+| getColumnsInfo | (v1.1.0 新增)根据 value 获取选择器信息 | 绑定值的`value` | 同`change` `confirm`回调参数,如果传入的`value`获取不到信息则只返回一个含有`dataset`的对象,具体自行打印查看 |
+
+### Events
+
+| 事件名称 | 说明 | 回调参数 |
+| :------- | :--------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| show | 选择器打开时触发 | - |
+| hide | 选择器隐藏时触发 | - |
+| change | 选择器滚动时触发,此时不会改变绑定的值 | `{ index, item, value, change }` `index`触发滚动后新的索引,单选时是具体的索引值,多列联动选择时为数组。`item`触发滚动后新的的完整内容,包括`label`、`value`等,单选时为对象,多列选择时为数组对象。`value`触发滚动后新的 value 值,单列选择时为具体值,多列联动选择时为数组。`change`触发事件的类型,详情参考下面的 change 事件备注 |
+| confirm | 点击选择器确定时触发,此时会改变绑定的值 | 同上`change`事件说明 |
+| cancel | 点击选择器取消时触发 | 同上`change`事件说明 |
+
+### `change` 事件备注
+
+如果绑定的值是空的,`change`触发后里面的内容都是列表的第一项。
+`change`事件会在以下情况触发:
+
+- 初始化
+- 绑定值 value 变化
+- 选择器 list 列表变化
+- 滚动选择器
+
+以上情况会在回调函数中都可以取到`change`变化的类型,对应上面的情况包括以下:
+
+- `init`
+- `value`
+- `list`
+- `scroll`
+
+根据这些类型大家可以在`change`的时候按需处理自己的业务逻辑,`init`现在指挥在调用选择器弹出的时候触发。
+下面的说明情况已失效,如需要在页面显示的时候根据`value`的值显示相应的中文,调用`v1.10`新增的方法`getColumnsInfo`,传入绑定的值即可获取到你想要的所有信息。
+~~比如一种常见的情况,有默认值的时候需要显示默认值的文字,此时可以`change`事件中判断`change`的类型是否是`init`,如果是的话可以取事件回调中的`item`进行显示绑定值对应的文字信息。~~
+
+```javascript
+handleChange (e) {
+ if (e.change === 'init') {
+ console.log(e.item.label) // 单选 选项1
+ console.log(e.item.map(item => item.label).join('-')) // 多选 选项1-选项11
+ }
+}
+```
+
+### 插槽
+
+| 插槽名 | 说明 |
+| :------------ | :------------------ |
+| cancel-text | 选择器取消文字插槽 |
+| action-center | 选择器顶部中间插槽 |
+| confirm-text | 选择器确定文字插槽 |
+| loading | 选择器 loading 插槽 |
+| empty | 选择器 空数据 插槽 |
+
+### 选择器自定义样式
+
+原先的`column-style`和`active-column-style`已弃用,如需修改默认样式及选中样式参考`demo9`
+
+```css
+
+```
+
+### 获取选中值的文字
+
+`@confirm`事件中可以拿到:
+
+单选:
+
+```javascript
+handleConfirm (e) {
+ console.log(e.item.label) // 选项1
+}
+```
+
+联动选择:
+
+```javascript
+handleConfirm (e) {
+ console.log(e.item.map(item => item.label).join('-')) // 选项1-选项11
+}
+```
+
+## Tips
+
+微信小程序端,滚动时在 iOS 自带振动反馈,可在系统设置 -> 声音与触感 -> 系统触感反馈中关闭
+
+## 其他
+
+其他功能参考示例 Demo 代码。
diff --git a/components/lb-picker/index.vue b/components/lb-picker/index.vue
new file mode 100644
index 0000000..c844a4c
--- /dev/null
+++ b/components/lb-picker/index.vue
@@ -0,0 +1,313 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ emptyText }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/lb-picker/mixins/index.js b/components/lb-picker/mixins/index.js
new file mode 100644
index 0000000..505d74f
--- /dev/null
+++ b/components/lb-picker/mixins/index.js
@@ -0,0 +1,45 @@
+import { getColumns } from '../utils'
+export const commonMixin = {
+ data () {
+ return {
+ indicatorStyle: `height: 34px`
+ }
+ },
+ created () {
+ this.init('init')
+ },
+ methods: {
+ init (changeType) {
+ if (this.list && this.list.length) {
+ const column = getColumns({
+ value: this.value,
+ list: this.list,
+ mode: this.mode,
+ props: this.props,
+ level: this.level
+ })
+ const { columns, value, item, index } = column
+ this.selectValue = value
+ this.selectItem = item
+ this.pickerColumns = columns
+ this.pickerValue = index
+ this.$emit('change', {
+ value: this.selectValue,
+ item: this.selectItem,
+ index: this.pickerValue,
+ change: changeType
+ })
+ }
+ }
+ },
+ watch: {
+ value () {
+ if (!this.isConfirmChange) {
+ this.init('value')
+ }
+ },
+ list () {
+ this.init('list')
+ }
+ }
+}
diff --git a/components/lb-picker/pickers/multi-selector-picker.vue b/components/lb-picker/pickers/multi-selector-picker.vue
new file mode 100644
index 0000000..87ac229
--- /dev/null
+++ b/components/lb-picker/pickers/multi-selector-picker.vue
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+ {{ item[props.label] || item }}
+
+
+
+
+
+
+
+
+
+
diff --git a/components/lb-picker/pickers/selector-picker.vue b/components/lb-picker/pickers/selector-picker.vue
new file mode 100644
index 0000000..b9dbfa2
--- /dev/null
+++ b/components/lb-picker/pickers/selector-picker.vue
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+ {{ item[props.label] || item }}
+
+
+
+
+
+
+
+
+
+
diff --git a/components/lb-picker/pickers/unlinked-selector-picker.vue b/components/lb-picker/pickers/unlinked-selector-picker.vue
new file mode 100644
index 0000000..8081382
--- /dev/null
+++ b/components/lb-picker/pickers/unlinked-selector-picker.vue
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+ {{ item[props.label] || item }}
+
+
+
+
+
+
+
+
+
+
diff --git a/components/lb-picker/style/picker-item.scss b/components/lb-picker/style/picker-item.scss
new file mode 100644
index 0000000..fc497d1
--- /dev/null
+++ b/components/lb-picker/style/picker-item.scss
@@ -0,0 +1,23 @@
+.lb-picker-column {
+ height: 34px;
+ /* #ifndef APP-NVUE */
+ display: flex;
+ box-sizing: border-box;
+ white-space: nowrap;
+ overflow: hidden;
+ /* #endif */
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+}
+
+.lb-picker-column-label {
+ font-size: 16px;
+ text-align: center;
+ text-overflow: ellipsis;
+ transition-property: color;
+ transition-duration: 0.3s;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
\ No newline at end of file
diff --git a/components/lb-picker/style/picker.scss b/components/lb-picker/style/picker.scss
new file mode 100644
index 0000000..73720b0
--- /dev/null
+++ b/components/lb-picker/style/picker.scss
@@ -0,0 +1,151 @@
+.lb-picker {
+ position: relative;
+}
+
+.lb-picker-mask {
+ background-color: rgba(0, 0, 0, 0.0);
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ bottom: 0;
+}
+
+.lb-picker-mask-animation {
+ transition-property: background-color;
+ transition-duration: 0.3s;
+}
+
+.lb-picker-container {
+ position: relative;
+}
+
+.lb-picker-container-fixed {
+ position: fixed;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ transform: translateY(100%);
+ /* #ifndef APP-PLUS */
+ overflow: hidden;
+ /* #endif */
+}
+
+.lb-picker-container-animation {
+ transition-property: transform;
+ transition-duration: 0.3s;
+}
+
+.lb-picker-container-show {
+ transform: translateY(0);
+}
+
+.lb-picker-header {
+ position: relative;
+ height: 45px;
+ background-color: #fff;
+ /* #ifdef APP-NVUE */
+ border-width: 1px;
+ border-style: solid;
+ border-color: #e5e5e5;
+ /* #endif */
+ /* #ifndef APP-NVUE */
+ box-sizing: border-box;
+ display: flex;
+ /* #endif */
+ flex-direction: row;
+ justify-content: space-between;
+ flex-wrap: nowrap;
+}
+
+/* #ifndef APP-PLUS */
+.lb-picker-header::after {
+ content: "";
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ height: 1px;
+ clear: both;
+ border-bottom: 1px solid #e5e5e5;
+ color: #e5e5e5;
+ transform-origin: 0 100%;
+ -webkit-transform: scaleY(0.5);
+ transform: scaleY(0.5);
+}
+
+/* #endif */
+
+.lb-picker-action {
+ padding-left: 14px;
+ padding-right: 14px;
+ /* #ifndef APP-NVUE */
+ display: flex;
+ /* #endif */
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+}
+
+.lb-picker-action-cancel {
+ text-align: center;
+}
+
+.lb-picker-action-cancel-text {
+ font-size: 16px;
+ color: #999;
+}
+
+.lb-picker-action-confirm {
+ text-align: center;
+}
+
+.lb-picker-action-confirm-text {
+ font-size: 16px;
+ color: #007aff;
+}
+
+.lb-picker-content {
+ position: relative;
+ background-color: #fff;
+ /* #ifndef APP-NVUE */
+ display: flex;
+ /* #endif */
+ justify-content: center;
+ flex-direction: column;
+}
+
+.lb-picker-loading,
+.lb-picker-empty {
+ /* #ifndef APP-NVUE */
+ display: flex;
+ /* #endif */
+ justify-content: center;
+ align-items: center;
+}
+
+.lb-picker-empty-text {
+ color: #999;
+ font-size: 16px;
+}
+
+.lb-picker-loading-img {
+ width: 25px;
+ height: 25px;
+ /* #ifndef APP-NVUE */
+ animation: rotating 2s linear infinite;
+ /* #endif */
+}
+
+/* #ifndef APP-NVUE */
+@keyframes rotating {
+ 0% {
+ transform: rotate(0deg)
+ }
+
+ to {
+ transform: rotate(1turn)
+ }
+}
+
+/* #endif */
\ No newline at end of file
diff --git a/components/lb-picker/utils.js b/components/lb-picker/utils.js
new file mode 100644
index 0000000..5330d9b
--- /dev/null
+++ b/components/lb-picker/utils.js
@@ -0,0 +1,110 @@
+/**
+ * 判断是否是对象
+ *
+ * @export
+ * @param {*} val
+ * @returns true/false
+ */
+export function isObject (val) {
+ return Object.prototype.toString.call(val) === '[object Object]'
+}
+
+/**
+ * 根据value获取columns信息
+ *
+ * @export
+ * @param {*} { value, list, mode, props, level }
+ * @param {number} [type=2] 查询不到value数据返回数据类型 1空值null 2默认第一个选项
+ * @returns
+ */
+export function getColumns ({ value, list, mode, props, level }, type = 2) {
+ let pickerValue = []
+ let pickerColumns = []
+ let selectValue = []
+ let selectItem = []
+ let columnsInfo = null
+ switch (mode) {
+ case 'selector':
+ let index = list.findIndex(item => {
+ return isObject(item) ? item[props.value] === value : item === value
+ })
+ if (index === -1 && type === 1) {
+ columnsInfo = null
+ } else {
+ index = index > -1 ? index : 0
+ selectItem = list[index]
+ selectValue = isObject(selectItem)
+ ? selectItem[props.value]
+ : selectItem
+ pickerColumns = list
+ pickerValue = [index]
+ columnsInfo = {
+ index: pickerValue,
+ value: selectValue,
+ item: selectItem,
+ columns: pickerColumns
+ }
+ }
+ break
+ case 'multiSelector':
+ const setPickerItems = (data = [], index = 0) => {
+ if (!data.length) return
+ const defaultValue = value || []
+ if (index < level) {
+ const value = defaultValue[index] || ''
+ let i = data.findIndex(item => item[props.value] === value)
+ if (i === -1 && type === 1) return
+ i = i > -1 ? i : 0
+ pickerValue[index] = i
+ pickerColumns[index] = data
+ if (data[i]) {
+ selectValue[index] = data[i][props.value]
+ selectItem[index] = data[i]
+ setPickerItems(data[i][props.children] || [], index + 1)
+ }
+ }
+ }
+ setPickerItems(list)
+ if (!selectValue.length && type === 1) {
+ columnsInfo = null
+ } else {
+ columnsInfo = {
+ index: pickerValue,
+ value: selectValue,
+ item: selectItem,
+ columns: pickerColumns
+ }
+ }
+ break
+ case 'unlinkedSelector':
+ list.forEach((item, i) => {
+ let index = item.findIndex(item => {
+ return isObject(item)
+ ? item[props.value] === value[i]
+ : item === value[i]
+ })
+ if (index === -1 && type === 1) return
+ index = index > -1 ? index : 0
+ const columnItem = list[i][index]
+ const valueItem = isObject(columnItem)
+ ? columnItem[props.value]
+ : columnItem
+ pickerValue[i] = index
+ selectValue[i] = valueItem
+ selectItem[i] = columnItem
+ })
+ pickerColumns = list
+ if (!selectValue.length && type === 1) {
+ columnsInfo = null
+ } else {
+ columnsInfo = {
+ index: pickerValue,
+ value: selectValue,
+ item: selectItem,
+ columns: pickerColumns
+ }
+ }
+ break
+ }
+ return columnsInfo
+}
diff --git a/components/test/test.vue b/components/test/test.vue
deleted file mode 100644
index 39b6903..0000000
--- a/components/test/test.vue
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
- test组件
-
-
-
-
-
-
diff --git a/components/uni-collapse-item/uni-collapse-item.vue b/components/uni-collapse-item/uni-collapse-item.vue
new file mode 100644
index 0000000..6a04f04
--- /dev/null
+++ b/components/uni-collapse-item/uni-collapse-item.vue
@@ -0,0 +1,217 @@
+
+
+
+
+ {{ title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/uni-collapse/uni-collapse.vue b/components/uni-collapse/uni-collapse.vue
new file mode 100644
index 0000000..cf2f4be
--- /dev/null
+++ b/components/uni-collapse/uni-collapse.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
diff --git a/components/uni-icons/icons.js b/components/uni-icons/icons.js
new file mode 100644
index 0000000..1f5a778
--- /dev/null
+++ b/components/uni-icons/icons.js
@@ -0,0 +1,96 @@
+export default {
+ 'contact': '\ue100',
+ 'person': '\ue101',
+ 'personadd': '\ue102',
+ 'contact-filled': '\ue130',
+ 'person-filled': '\ue131',
+ 'personadd-filled': '\ue132',
+ 'phone': '\ue200',
+ 'email': '\ue201',
+ 'chatbubble': '\ue202',
+ 'chatboxes': '\ue203',
+ 'phone-filled': '\ue230',
+ 'email-filled': '\ue231',
+ 'chatbubble-filled': '\ue232',
+ 'chatboxes-filled': '\ue233',
+ 'weibo': '\ue260',
+ 'weixin': '\ue261',
+ 'pengyouquan': '\ue262',
+ 'chat': '\ue263',
+ 'qq': '\ue264',
+ 'videocam': '\ue300',
+ 'camera': '\ue301',
+ 'mic': '\ue302',
+ 'location': '\ue303',
+ 'mic-filled': '\ue332',
+ 'speech': '\ue332',
+ 'location-filled': '\ue333',
+ 'micoff': '\ue360',
+ 'image': '\ue363',
+ 'map': '\ue364',
+ 'compose': '\ue400',
+ 'trash': '\ue401',
+ 'upload': '\ue402',
+ 'download': '\ue403',
+ 'close': '\ue404',
+ 'redo': '\ue405',
+ 'undo': '\ue406',
+ 'refresh': '\ue407',
+ 'star': '\ue408',
+ 'plus': '\ue409',
+ 'minus': '\ue410',
+ 'circle': '\ue411',
+ 'checkbox': '\ue411',
+ 'close-filled': '\ue434',
+ 'clear': '\ue434',
+ 'refresh-filled': '\ue437',
+ 'star-filled': '\ue438',
+ 'plus-filled': '\ue439',
+ 'minus-filled': '\ue440',
+ 'circle-filled': '\ue441',
+ 'checkbox-filled': '\ue442',
+ 'closeempty': '\ue460',
+ 'refreshempty': '\ue461',
+ 'reload': '\ue462',
+ 'starhalf': '\ue463',
+ 'spinner': '\ue464',
+ 'spinner-cycle': '\ue465',
+ 'search': '\ue466',
+ 'plusempty': '\ue468',
+ 'forward': '\ue470',
+ 'back': '\ue471',
+ 'left-nav': '\ue471',
+ 'checkmarkempty': '\ue472',
+ 'home': '\ue500',
+ 'navigate': '\ue501',
+ 'gear': '\ue502',
+ 'paperplane': '\ue503',
+ 'info': '\ue504',
+ 'help': '\ue505',
+ 'locked': '\ue506',
+ 'more': '\ue507',
+ 'flag': '\ue508',
+ 'home-filled': '\ue530',
+ 'gear-filled': '\ue532',
+ 'info-filled': '\ue534',
+ 'help-filled': '\ue535',
+ 'more-filled': '\ue537',
+ 'settings': '\ue560',
+ 'list': '\ue562',
+ 'bars': '\ue563',
+ 'loop': '\ue565',
+ 'paperclip': '\ue567',
+ 'eye': '\ue568',
+ 'arrowup': '\ue580',
+ 'arrowdown': '\ue581',
+ 'arrowleft': '\ue582',
+ 'arrowright': '\ue583',
+ 'arrowthinup': '\ue584',
+ 'arrowthindown': '\ue585',
+ 'arrowthinleft': '\ue586',
+ 'arrowthinright': '\ue587',
+ 'pulldown': '\ue588',
+ 'closefill': '\ue589',
+ 'sound': '\ue590',
+ 'scan': '\ue612'
+}
diff --git a/components/uni-icons/uni-icons.vue b/components/uni-icons/uni-icons.vue
new file mode 100644
index 0000000..85b4180
--- /dev/null
+++ b/components/uni-icons/uni-icons.vue
@@ -0,0 +1,57 @@
+
+ {{icons[type]}}
+
+
+
+
+
diff --git a/config/config.user.js b/config/user.js
similarity index 100%
rename from config/config.user.js
rename to config/user.js
diff --git a/main.js b/main.js
index f6b4950..b8a9b19 100644
--- a/main.js
+++ b/main.js
@@ -3,7 +3,9 @@ import moment from 'moment';
import { http } from 'plugins/request/index';
import App from './App';
import store from './store';
-
+import 'static/iconfont.css';
+import LbPicker from '@/components/lb-picker'
+Vue.component("lb-picker", LbPicker)
// 白名单页面
const whitePathList = [
'basic-info',
diff --git a/manifest.json b/manifest.json
index d35ad5c..87e1aaf 100644
--- a/manifest.json
+++ b/manifest.json
@@ -57,20 +57,20 @@
"quickapp" : {},
/* 小程序特有相关 */
"mp-weixin" : {
- "appid" : "wx2f9ef33e08053bbf",
+ "appid" : "wx808fa75921bd8f22",
"setting" : {
"urlCheck" : false,
"es6" : true,
"postcss" : true,
"minified" : true
},
- "permission": {
- "scope.userLocation": {
- "desc": "你的位置信息将用于获取地理位置及地图展示"
+ "permission" : {
+ "scope.userLocation" : {
+ "desc" : "你的位置信息将用于获取地理位置及地图展示"
}
},
"usingComponents" : true,
- "navigateToMiniProgramAppIdList": ["wx5b97b0686831c076"]
+ "navigateToMiniProgramAppIdList" : [ "wx5b97b0686831c076" ]
},
"mp-alipay" : {
"usingComponents" : true
diff --git a/package-lock.json b/package-lock.json
index a45eec5..bc5a0f5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,13 +1,48 @@
{
- "name": "healthycode",
+ "name": "uniTemplete",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+ "axios": {
+ "version": "0.19.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
+ "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
+ "requires": {
+ "follow-redirects": "1.5.10"
+ }
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "follow-redirects": {
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
+ "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
+ "requires": {
+ "debug": "=3.1.0"
+ }
+ },
+ "jquery": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
+ "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==",
+ "dev": true
+ },
"moment": {
- "version": "2.24.0",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
- "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
+ "version": "2.27.0",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz",
+ "integrity": "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ=="
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}
}
}
diff --git a/package.json b/package.json
index 0b2c43d..41d17a0 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
"uni-app": {
"scripts": {
"mp-dingtalk": {
- "title": "钉钉小程序",
+ "title": "推策服务平台",
"env": {
"UNI_PLATFORM": "mp-alipay"
},
@@ -26,6 +26,10 @@
"author": "wally",
"license": "ISC",
"dependencies": {
- "moment": "^2.24.0"
+ "axios": "^0.19.2",
+ "moment": "^2.27.0"
+ },
+ "devDependencies": {
+ "jquery": "^3.5.1"
}
}
diff --git a/pages.json b/pages.json
index 354b42c..b7985aa 100644
--- a/pages.json
+++ b/pages.json
@@ -1,19 +1,139 @@
{
- "pages": [
- {
- "path": "pages/index/index",
- "style": {
- "navigationBarTitleText": "模板"
- }
- }
- ],
- "globalStyle": {
- "navigationBarTextStyle": "black",
- "navigationBarTitleText": "模板项目",
- "navigationBarBackgroundColor": "#F8F8F8",
- "backgroundColor": "#F8F8F8"
- },
- "easycom": {
- "autoscan": true
- }
-}
+ "pages": [{
+ "path": "pages/tabBar/HomePage",
+ "style": {
+ "navigationBarTitleText": "首页"
+ }
+ }, {
+ "path": "pages/tabBar/Recommend",
+ "style": {
+ "navigationBarTitleText": "推荐政策"
+ }
+ }, {
+ "path": "pages/tabBar/Enterprise",
+ "style": {
+ "navigationBarTitleText": "企业服务"
+ }
+ }, {
+ "path": "pages/tabBar/My",
+ "style": {
+ "navigationBarTitleText": "我的"
+ }
+ }, {
+ "path": "pages/HomePages/ListDetails",
+ "style": {
+ "navigationBarTitleText": "发榜详情"
+ }
+ }, {
+ "path": "pages/HomePages/SearchPage",
+ "style": {
+ "navigationBarTitleText": "搜索"
+ }
+ }, {
+ "path": "pages/Policy/PolicyDetails",
+ "style": {
+ "navigationBarTitleText": "政策详情"
+ }
+ }, {
+ "path": "pages/Binding/Binding",
+ "style": {
+ "navigationBarTitleText": "完善企业信息"
+ }
+ }, {
+ "path": "pages/TestScore/TestScore",
+ "style": {
+ "navigationBarTitleText": "评分"
+ }
+ }, {
+ "path": "pages/RequirementRelease/RequirementRelease",
+ "style": {
+ "navigationBarTitleText": "需求发布"
+ }
+ }, {
+ "path": "pages/MyPages/CollectionPage",
+ "style": {
+ "navigationBarTitleText": "我的收藏"
+ }
+ }, {
+ "path": "pages/MyPages/MessagePage",
+ "style": {
+ "navigationBarTitleText": "系统消息"
+ }
+ }, {
+ "path": "pages/About/About",
+ "style": {
+ "navigationBarTitleText": "关于"
+ }
+ }, {
+ "path": "pages/Edit/Edit",
+ "style": {
+ "navigationBarTitleText": "企业基本信息"
+ }
+ }, {
+ "path": "pages/MessagePage/MessagePage",
+ "style": {
+ "navigationBarTitleText": "消息详情"
+ }
+ },
+ {
+ "path": "pages/HomePages/peixun",
+ "style": {
+ "navigationBarTitleText": "双创活动"
+ }
+ }
+ ,{
+ "path" : "pages/RequirementRelease/upload",
+ "style": {
+ "navigationBarTitleText": "上传文件"
+ }
+ }
+ ,{
+ "path" : "pages/DownFile/DownFile",
+ "style" : {
+ "navigationBarTitleText": "下载文件"
+ }
+ }
+ ,{
+ "path" : "pages/outH5/outH5",
+ "style" : {
+ "navigationBarTitleText": "中小企业智慧服务云平台"
+ }
+ }
+ ],
+ "globalStyle": {
+ "navigationBarTextStyle": "white",
+ "navigationBarTitleText": "智慧服务平台",
+ "navigationBarBackgroundColor": "#e54d42",
+ "backgroundColor": "#e54d42"
+ },
+ "easycom": {
+ "autoscan": true
+ },
+ "tabBar": {
+ "color": "#7A7E83",
+ "selectedColor": "#e54d42",
+ "borderStyle": "black",
+ "backgroundColor": "#F8F8F8",
+ "list": [{
+ "pagePath": "pages/tabBar/HomePage",
+ "text": "首页",
+ "iconPath": "static/shouye.png",
+ "selectedIconPath": "static/shouye-copy.png"
+ }, {
+ "pagePath": "pages/tabBar/Recommend",
+ "text": "推荐政策",
+ "iconPath": "static/bookmark-3-line.png",
+ "selectedIconPath": "static/bookmark-3-line-copy.png"
+ }, {
+ "pagePath": "pages/tabBar/Enterprise",
+ "text": "企业服务",
+ "iconPath": "static/icon_danwei.png",
+ "selectedIconPath": "static/icon_danwei-copy.png"
+ }, {
+ "pagePath": "pages/tabBar/My",
+ "text": "我的",
+ "iconPath": "static/wode.png",
+ "selectedIconPath": "static/wode-copy.png"
+ }]
+ }
+}
diff --git a/pages/About/About.vue b/pages/About/About.vue
new file mode 100644
index 0000000..cf0884d
--- /dev/null
+++ b/pages/About/About.vue
@@ -0,0 +1,53 @@
+
+
+
+ 关于我们
+
+ “创时代新一代信息技术孵化器”由山西创时代企业孵化器有限公司于2019年初开始建设运营,2019年5月在综改区备案,位于山西转型综改示范区太原学府院区中心北街以南山西环保科技园中绿大厦2-5层,总面积4000平方米,规划开放式办公空间1685平米,独立办公室22间1001平米,共享会议室6个333平米,自用办公场地132平米以及休闲配套设施,购置电脑、打印机、复印机、档案柜、整理桌、办公桌椅办公用设备80多台(套),并组建经验丰富的管理服务团队14人,聘请10名导师组建孵化导师团队,与9家第三方专业机构达成长期合作协议,共同开展孵化器的运营建设。已引进入驻企业31家,创业团队(创客)5个。
+
+
+
+
+
+
+
+
diff --git a/pages/Binding/Binding.vue b/pages/Binding/Binding.vue
new file mode 100644
index 0000000..8201f97
--- /dev/null
+++ b/pages/Binding/Binding.vue
@@ -0,0 +1,496 @@
+
+
+ 完善企业信息
+
+
+ {{list[0]}}:
+
+
+
+
+ {{list[1]}}:
+
+
+
+
+ {{list[2]}}:
+
+
+
+ {{item}}
+
+
+
+
+
+
+ {{list[3]}}:
+
+
+
+
+ {{list[4]}}:
+
+
+
+
+ {{list[5]}}:
+
+
+
+
+ {{list[6]}}:
+
+
+
+
+ {{list[7]}}:
+
+
+
+
+ {{list[8]}}:
+
+
+
+
+ {{list[9]}}:
+
+
+
+
+ {{list[10]}}:
+
+
+
+
+ {{list[11]}}:
+
+
+
+
+ {{list[12]}}:
+
+
+
+
+ {{list[13]}}:
+
+
+
+
+ {{list[14]}}:
+
+
+
+
+ {{list[15]}}:
+
+
+
+
+ {{list[16]}}:
+
+
+
+
+
+
+ {{list[17]}}:
+
+
+
+
+
+
+ {{list[18]}}:
+
+
+
+
+
+
+ {{list[19]}}:
+
+
+
+
+
+
+ {{list[20]}}:
+
+
+
+
+
+
+ {{list[21]}}:
+
+
+
+
+
+
+ {{list[22]}}:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/DownFile/DownFile.vue b/pages/DownFile/DownFile.vue
new file mode 100644
index 0000000..bee7965
--- /dev/null
+++ b/pages/DownFile/DownFile.vue
@@ -0,0 +1,163 @@
+
+
+
+ 附件列表:
+
+
+
+ {{item.fileName}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/Edit/Edit.vue b/pages/Edit/Edit.vue
new file mode 100644
index 0000000..bb4fadb
--- /dev/null
+++ b/pages/Edit/Edit.vue
@@ -0,0 +1,596 @@
+
+
+ 编辑企业信息
+
+
+ {{information[0]}}:
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+ {{information[1]}}:
+
+
+ {{information[2]}}:
+
+
+ {{information[3]}}:
+
+
+
+
+ {{information[4]}}:
+
+
+
+ {{item.name}}
+
+
+
+ {{information[5]}}:
+
+
+ {{information[6]}}:
+
+
+
+
+
+
+ {{information[7]}}:
+
+
+ {{information[8]}}:
+
+
+
+
+ {{information[9]}}:
+
+ {{typeList[0]}}
+ {{typeList[1]}}
+ {{typeList[2]}}
+ {{typeList[3]}}
+ {{typeList[4]}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/HomePages/ListDetails.vue b/pages/HomePages/ListDetails.vue
new file mode 100644
index 0000000..244d22b
--- /dev/null
+++ b/pages/HomePages/ListDetails.vue
@@ -0,0 +1,286 @@
+
+
+
+ 孵化器名称 :
+
+
+
+ 需求内容 :
+ 已揭榜
+
+
+ {{ listDetail.content }}
+
+
+
+
+ 揭榜 :
+
+
+ 电话 :
+
+
+ 称呼 :
+
+
+ 企业名称 :
+
+
+ 揭榜理由 :
+
+
+
+
+
+
+
+
+
diff --git a/pages/HomePages/SearchPage.vue b/pages/HomePages/SearchPage.vue
new file mode 100644
index 0000000..aac40e3
--- /dev/null
+++ b/pages/HomePages/SearchPage.vue
@@ -0,0 +1,367 @@
+
+
+
+
+
+
+
+
+ 搜 索
+
+
+
+
+ {{defaultCity.areaName}}
+ {{item.areaName}}
+
+
+
+
+ 项目类型选择
+
+
+
+
+ 产业类别选择
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/HomePages/peixun.vue b/pages/HomePages/peixun.vue
new file mode 100644
index 0000000..f5f1cc3
--- /dev/null
+++ b/pages/HomePages/peixun.vue
@@ -0,0 +1,298 @@
+
+
+
+
+ 培训标题 :
+
+
+ {{listDetail.trainTitle}}
+
+
+
+
+ 活动内容 :
+ 已报名
+
+
+ {{listDetail.trainContent}}
+ 培训讲师:{{listDetail.trainTeacher}}
+ 培训标题:{{listDetail.trainTitle}}
+ 培训时间:{{listDetail.trainTime}}
+ 培训地点:{{listDetail.trainPlace}}
+
+
+
+
+ 现在报名 :
+
+
+ 电话 :
+
+
+ 人数 :
+
+
+ 联系人 :
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/MessagePage/MessagePage.vue b/pages/MessagePage/MessagePage.vue
new file mode 100644
index 0000000..0fa5606
--- /dev/null
+++ b/pages/MessagePage/MessagePage.vue
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/MyPages/CollectionPage.vue b/pages/MyPages/CollectionPage.vue
new file mode 100644
index 0000000..450b2f5
--- /dev/null
+++ b/pages/MyPages/CollectionPage.vue
@@ -0,0 +1,117 @@
+
+
+
+
+ {{item.title}}
+
+
+
+ 暂时没有收藏过政策
+
+
+
+
+
+
+
diff --git a/pages/MyPages/MessagePage.vue b/pages/MyPages/MessagePage.vue
new file mode 100644
index 0000000..476ece1
--- /dev/null
+++ b/pages/MyPages/MessagePage.vue
@@ -0,0 +1,163 @@
+
+
+
+
+ 全部消息
+
+
+
+ {{item.content}}
+ {{item.createdAt}}
+ 已读
+ 未读
+
+
+
+ 暂时没有系统消息
+
+
+
+
+
+
+
+
diff --git a/pages/Policy/PolicyDetails.vue b/pages/Policy/PolicyDetails.vue
new file mode 100644
index 0000000..1d9b608
--- /dev/null
+++ b/pages/Policy/PolicyDetails.vue
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
diff --git a/pages/RequirementRelease/RequirementRelease.vue b/pages/RequirementRelease/RequirementRelease.vue
new file mode 100644
index 0000000..895abdd
--- /dev/null
+++ b/pages/RequirementRelease/RequirementRelease.vue
@@ -0,0 +1,251 @@
+
+
+
+
+ 企业名称:
+
+
+
+ 联系人:
+
+
+
+ 联系方式:
+
+
+
+ 需求类型:
+
+ {{publishingData}}
+
+
+
+ {{item}}
+
+
+
+ 需求内容:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/RequirementRelease/upload.vue b/pages/RequirementRelease/upload.vue
new file mode 100644
index 0000000..b2be616
--- /dev/null
+++ b/pages/RequirementRelease/upload.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
diff --git a/pages/TestScore/TestScore.vue b/pages/TestScore/TestScore.vue
new file mode 100644
index 0000000..9144a88
--- /dev/null
+++ b/pages/TestScore/TestScore.vue
@@ -0,0 +1,164 @@
+
+
+
+ 测评类型:
+
+
+ {{publishingData}}
+
+
+
+ {{item}}
+
+
+
+
+
+
+
+
+
+ 测评通过
+
+
+
+ 测评未通过
+
+
+ {{resultList.reason}}
+
+
+
+
+
+
+
+
diff --git a/pages/outH5/outH5.vue b/pages/outH5/outH5.vue
new file mode 100644
index 0000000..ba7d709
--- /dev/null
+++ b/pages/outH5/outH5.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
diff --git a/pages/tabBar/Enterprise.vue b/pages/tabBar/Enterprise.vue
new file mode 100644
index 0000000..47a5b43
--- /dev/null
+++ b/pages/tabBar/Enterprise.vue
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+
+
+
+
+ 往期发布需求及结果
+
+ {{publishingData}}
+
+
+
+
+ {{publishingTime}}
+
+
+
+
+
+ {{item}}
+
+
+
+ {{item}}
+
+
+
+
+
+
+
+ 提示
+
+
+ 您当前为游客状态,请先绑定企业基本信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/tabBar/HomePage.vue b/pages/tabBar/HomePage.vue
new file mode 100644
index 0000000..903a4cd
--- /dev/null
+++ b/pages/tabBar/HomePage.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/tabBar/My.vue b/pages/tabBar/My.vue
new file mode 100644
index 0000000..f3b9fc9
--- /dev/null
+++ b/pages/tabBar/My.vue
@@ -0,0 +1,269 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 企业名称:{{sub.content.name}}
+ 联系人:{{sub.content.contacts}}
+ 联系电话:{{sub.content.contactPhone}}
+ 孵化器类型:实体孵化器虚拟孵化器
+ 孵化器名称:{{sub.content.incubator}}
+ 注册地址:{{sub.content.cities[0]}}-{{sub.content.cities[1]}}-{{sub.content.cities[2]}}
+ 详细地址:{{sub.content.registrationPlace}}
+ 注册时间:{{sub.content.registrationDate}}
+ 税务号:{{sub.content.theTaxNo}}
+ 企业类型:{{item}}
+
+
+
+
+
+
+
+
+
+
+
+ 关于我们
+
+
+
+
+
+
+
diff --git a/pages/tabBar/Recommend.vue b/pages/tabBar/Recommend.vue
new file mode 100644
index 0000000..77a0257
--- /dev/null
+++ b/pages/tabBar/Recommend.vue
@@ -0,0 +1,184 @@
+
+
+
+ 这是根据您的信息,为您推荐的政策...
+
+ 1
+
+
+
+
+ 提示
+
+
+ 您当前为游客状态,请先绑定企业基本信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/rest/user.http b/rest/user.http
new file mode 100644
index 0000000..83dbfd7
--- /dev/null
+++ b/rest/user.http
@@ -0,0 +1,5 @@
+@tall = 'https://49.232.6.143/gateway/tall/v1.0'
+
+### login
+
+GET {{tall}}/debug
diff --git a/static/bookmark-3-line-copy.png b/static/bookmark-3-line-copy.png
new file mode 100644
index 0000000..93fbb29
Binary files /dev/null and b/static/bookmark-3-line-copy.png differ
diff --git a/static/bookmark-3-line.png b/static/bookmark-3-line.png
new file mode 100644
index 0000000..706c683
Binary files /dev/null and b/static/bookmark-3-line.png differ
diff --git a/static/icon_danwei-copy.png b/static/icon_danwei-copy.png
new file mode 100644
index 0000000..966f779
Binary files /dev/null and b/static/icon_danwei-copy.png differ
diff --git a/static/icon_danwei.png b/static/icon_danwei.png
new file mode 100644
index 0000000..b5ae7cc
Binary files /dev/null and b/static/icon_danwei.png differ
diff --git a/static/iconfont.css b/static/iconfont.css
new file mode 100644
index 0000000..363787e
--- /dev/null
+++ b/static/iconfont.css
@@ -0,0 +1,60 @@
+@font-face {font-family: "iconfont";
+ src:url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAZUAAsAAAAAD3QAAAYEAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCEQgqPUIxTATYCJAM0CxwABCAFhG0HgUkbEA1RlFBOBNmPw9g9UoKBfORLa+M70SZX7LmKh6e1sve7aqh7JkAs44AVg0IWZm0UkArbsDCJMICOZG/g7hzB1VzuF1lV3fiEXZEV2oY2QJvZ3AXGF5yrUhWyFa7zn5v+YB6qaiTUxCYWNgeqCsxEQ8XefXat/7Vfq6fxsNBcYmEoaZe/J293P8OiltyaSoWk0xlCOrfp90lXMmSttAQXKiBSm5cyE9wKM3uy5ARKE2gmK68enmFBZtNgzfEs8WGh0CF35IZ2a7MhaBYXNbSL88UL4EL09vGDE20KjcT2uuHgZQQndfTfT33/99kTqJDz9WERioR5QCbuNQ7ckBKYF7GyaXN2Ghhiw/reoo66WVf1uHp2va6+3n////+p6i7vZF8PQ5xAu0AhyRq6ymet09LWUfnnNQnrcuROobMOTyh2vImQ4BVCho9DaMBnI43j6xBK+GWEgF+BOhe/itCCX0Now69TRYf++9tUoBcEGQMsAMUegDSHLW+JyifZQFmbNmShEF2amdYdEXnx8HF/M+DDZIa7W22LVkXxYliA46hSKfz1C/n5M1tAEON8cjjehkoPKERqiKR3Hus4oD6ojaMqHJADBjlu+jU1h5+5ce+8aD6BEgIcb+JIpRo6QzrKEKVS9At5hgxoaUnEqkAF8HMoDCrsTVazQTclAjb5lUxQ1kymExhEAacBFMzA5EMaJQqRVZFkYH5avViKqRaK6zi3v+sThxQiGSD0Spjcvj6IeKAQmxZh+Gu6RKZGEKsyRH0QdEDKYGDXxt15DEy60KIBk0MQw4/+gILJvPVID/TPd3BnZIDSO62enyuehai8pyYyh1QACYSoUIggAqQrkz3ZL/h8acoQFpUghQWJaEBacolfx/Rra1Qwj30/YCNE5Qd+iKwQoeLXt1+WAkQyotl/ccVylrj6hTTriNVVf4K09pk4i5W1tdlPGPHuXSJmUIBlgnjvLgETJHZ4KlZX5Qr9ZoP78xQUGwLfcTpZRzWNG2ke4pImL2+jR8KZtSA+0tva0qEMCAtECuIzaqPgdrq83DnNPJQXEWUKu15L3Ex8XnkeBO9IDYGCIbCPsom0YBBCvGtGb45fpPP44ZxAHUfBfNa2i0JbOpzAcD5P+8E4CHTEk30AxDYMxE8Dn+5LAiVPPSknAgL8xWMBIFDA/h7cLNk9IpmXpqfAsghu5T64NiKLlfkTD7it/z+Q48JwScv9nTeVtaHUTIBOLYYzKS3kysBmSiZcbIKCzFbodNt/hGtPyU0guBB/V6vVQrla/k7GWwLJlWjPQ4CHH1wMi8WAcRgVbwUSg2KMGzZy3jG+O8tmKm/EiXrKhuXOP3ZuV4bKrA+f6QzSEBXli1T8uw0K2oryCwerzaBv4q/9KgoE3USRoqKSEhR9/AjsfdjH8b1Z8v5U1yPg6kiVlbusLNvjsQOxjyJ4NMdsW1l+HyOyL6uqMfzyIY37x8k/4P/n6WFaRP6V9Dqtyx/J0v6m11JfmmtqMmlsb6Rn8RukDVN3ZnY3HUgxAXLm87On93LWD35tM/+Tbn1cPDKLHP7fm6U+tBVtg8HkhiiP5L3J7uzl7cF50hkKe/ZanyxQOleY2IwM8XcdebiaTN3k4VlxoWU8pCb9NMjo5xU3VOZDE/2S4tJc16ErQ7FpkTuY453iMMh3cWGA55DQ/0BG/1vcMMK/pYkhUnFpW2xHWZkRR5bOGX2JkQhGkYVUx263XIrXPmKiSp/FNHP3itxmVAvbsI5z11gjn8NH2yWOlLGImSpxZbxgWZJomHIMpZEy2+yZZrzyaYRUwZIVGPLJoHxECIyNMyFSi2+Wliqv/wgllJKPO3bcNX6FWCt7vmAzWAr1NatVO97L5lYn4ZDSFxPeJCNVIl9Zfah0ponQNDvKoZBkSEdMNvaYclKsZcb15eo3fwQl++V6UUSKHI1oRiva0YkyquhGLwZoniPVKprpKcLlr/LT3iK/7jGba1NSI64HREXlc6G7epnVuFN8Ug+pGTfGSFu+PFDK6OJZSUNCeebXkpQ+ZP68pDpJFC0NEz0X2gEAAAAA') format('woff2');
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-sousuo:before {
+ content: "\e692";
+}
+
+.icon-wode:before {
+ content: "\e601";
+}
+
+.icon-icon_danwei:before {
+ content: "\e606";
+}
+
+.icon-shouye:before {
+ content: "\e60b";
+}
+
+.icon-bookmark-3-line:before {
+ content: "\e61c";
+}
+
+.icon-bookmark-3-line-copy:before {
+ content: "\e693";
+}
+
+.icon-icon_danwei-copy:before {
+ content: "\e694";
+}
+
+.icon-shouye-copy:before {
+ content: "\e695";
+}
+
+.icon-wode-copy:before {
+ content: "\e696";
+}
+
+.icon-jiantou-xia:before {
+ content: "\e64e";
+}
+
+.icon-tongguo:before {
+ content: "\e7ab";
+}
+
+.icon-icon_wrong:before {
+ content: "\e629";
+}
+
diff --git a/static/image.png b/static/image.png
new file mode 100644
index 0000000..3eaf8fa
Binary files /dev/null and b/static/image.png differ
diff --git a/static/shouye-copy.png b/static/shouye-copy.png
new file mode 100644
index 0000000..f871e4e
Binary files /dev/null and b/static/shouye-copy.png differ
diff --git a/static/shouye.png b/static/shouye.png
new file mode 100644
index 0000000..83f2cfa
Binary files /dev/null and b/static/shouye.png differ
diff --git a/static/sousuo.png b/static/sousuo.png
new file mode 100644
index 0000000..95ae011
Binary files /dev/null and b/static/sousuo.png differ
diff --git a/static/wode-copy.png b/static/wode-copy.png
new file mode 100644
index 0000000..8658e00
Binary files /dev/null and b/static/wode-copy.png differ
diff --git a/static/wode.png b/static/wode.png
new file mode 100644
index 0000000..e37968c
Binary files /dev/null and b/static/wode.png differ
diff --git a/store/index.js b/store/index.js
index 4bf954d..ad1d69f 100644
--- a/store/index.js
+++ b/store/index.js
@@ -1,11 +1,12 @@
import Vue from 'vue';
import Vuex from 'vuex';
import user from './modules/user/index';
+import policy from './modules/policy/index';
Vue.use(Vuex);
const store = new Vuex.Store({
- modules: { user },
+ modules: { user,policy },
});
export default store;
diff --git a/store/modules/policy/actions.js b/store/modules/policy/actions.js
new file mode 100644
index 0000000..cd5e1a0
--- /dev/null
+++ b/store/modules/policy/actions.js
@@ -0,0 +1,7 @@
+import { http } from 'plugins/request/index';
+
+const actions = {
+
+};
+
+export default actions;
diff --git a/store/modules/policy/index.js b/store/modules/policy/index.js
new file mode 100644
index 0000000..e67cdeb
--- /dev/null
+++ b/store/modules/policy/index.js
@@ -0,0 +1,5 @@
+import state from './state';
+import mutations from './mutations';
+import actions from './actions.js';
+
+export default { namespaced: true, state, actions, mutations };
diff --git a/store/modules/policy/mutations.js b/store/modules/policy/mutations.js
new file mode 100644
index 0000000..290319e
--- /dev/null
+++ b/store/modules/policy/mutations.js
@@ -0,0 +1,5 @@
+const mutations = {
+
+};
+
+export default mutations;
diff --git a/store/modules/policy/state.js b/store/modules/policy/state.js
new file mode 100644
index 0000000..97f121a
--- /dev/null
+++ b/store/modules/policy/state.js
@@ -0,0 +1,6 @@
+const state = {
+ pagenum: 1,
+ release: 0
+};
+
+export default state;
diff --git a/store/modules/user/mutations.js b/store/modules/user/mutations.js
index cf63281..205b766 100644
--- a/store/modules/user/mutations.js
+++ b/store/modules/user/mutations.js
@@ -21,6 +21,38 @@ const mutations = {
uni.setStorageSync('user', JSON.stringify(user));
},
+ /**
+ * 设置存储cityId
+ * @param {object} state
+ * @param {string} cityId
+ */
+ setCity(state, cityId) {
+ if (!cityId) return;
+ state.cityId = cityId;
+ uni.setStorageSync('cityId', cityId);
+ },
+
+ /**
+ * 设置存储bindMsg
+ * @param {object} state
+ * @param {object} bindMsg
+ */
+ setBindMsg(state, bindMsg) {
+ if (!bindMsg) return;
+ state.bindMsg = { ...bindMsg };
+ uni.setStorageSync('bindMsg', JSON.stringify(bindMsg));
+ },
+
+ /**
+ * 设置存储cityList
+ * @param {object} state
+ * @param {string} cityList
+ */
+ setCityList(state, cityList) {
+ if (!cityList) return;
+ state.cityList = cityList;
+ uni.setStorageSync('cityList', cityList);
+ },
};
export default mutations;
diff --git a/store/modules/user/state.js b/store/modules/user/state.js
index 82c9f22..b83f3a0 100644
--- a/store/modules/user/state.js
+++ b/store/modules/user/state.js
@@ -1,6 +1,51 @@
const state = {
token: '',
user: null,
+ cityId:140100,
+ bindMsg:{},
+ ischange:0,
+ cityList:[{
+ areaName: "小店区",
+ city: null,
+ id: 140105,
+ },{
+ areaName: "迎泽区",
+ city: null,
+ id: 140106,
+ },{
+ areaName: "杏花岭区",
+ city: null,
+ id: 140107,
+ },{
+ areaName: "尖草坪区",
+ city: null,
+ id: 140108,
+ },{
+ areaName: "万柏林区",
+ city: null,
+ id: 140109,
+ },{
+ areaName: "晋源区",
+ city: null,
+ id: 140110,
+ },{
+ areaName: "清徐县",
+ city: null,
+ id: 140121,
+ },{
+ areaName: "阳曲县",
+ city: null,
+ id: 140122,
+ },{
+ areaName: "娄烦县",
+ city: null,
+ id: 140123,
+ },{
+ areaName: "古交市",
+ city: null,
+ id: 140181,
+ },
+ ]
};
export default state;
diff --git a/utils/user.js b/utils/user.js
index fc80b87..dec2bbd 100644
--- a/utils/user.js
+++ b/utils/user.js
@@ -1,7 +1,7 @@
import { SIGN_IN } from 'api/user';
import { ERR_CODE } from 'config/config.default';
import { http as axios } from 'plugins/request/index';
-import { SIGN_IN_CLIENTS, SIGN_IN_TYPES } from 'config/config.user';
+import { SIGN_IN_CLIENTS, SIGN_IN_TYPES } from 'config/user';
/**
* 保存token