flat: init
16
.hbuilderx/launch.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ // 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": [{
|
||||||
|
"default" :
|
||||||
|
{
|
||||||
|
"launchtype" : "local"
|
||||||
|
},
|
||||||
|
"mp-weixin" :
|
||||||
|
{
|
||||||
|
"launchtype" : "local"
|
||||||
|
},
|
||||||
|
"type" : "uniCloud"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
26
App.vue
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<script setup>
|
||||||
|
import useUserStore from './stores/useUserStore';
|
||||||
|
import { onLaunch, onShow, onHide } from '@dcloudio/uni-app';
|
||||||
|
const userStore = useUserStore();
|
||||||
|
onLaunch(() => {
|
||||||
|
console.log('App Launch');
|
||||||
|
let openId = uni.getStorageSync('openId') || ''; // 同步获取 缓存信息
|
||||||
|
|
||||||
|
if (openId) {
|
||||||
|
console.log('有openid');
|
||||||
|
} else {
|
||||||
|
console.log('没有openid');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
onShow(() => {
|
||||||
|
console.log('App Show');
|
||||||
|
});
|
||||||
|
onHide(() => {
|
||||||
|
console.log('App Hide');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
/*每个页面公共css */
|
||||||
|
@import '@/common/common.css';
|
||||||
|
</style>
|
309
common/common.css
Normal file
@@ -0,0 +1,309 @@
|
|||||||
|
/* 公共样式表 */
|
||||||
|
page {
|
||||||
|
height: 100%;
|
||||||
|
min-height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
|
||||||
|
font-size: 28rpx;
|
||||||
|
background-color: #f4f4f4;
|
||||||
|
/* line-height: 1.8; */
|
||||||
|
color: #333333;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-body {
|
||||||
|
height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
|
||||||
|
}
|
||||||
|
|
||||||
|
body,
|
||||||
|
html {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 布局调整 */
|
||||||
|
|
||||||
|
|
||||||
|
/* 控制hover */
|
||||||
|
.opctiy_8 {
|
||||||
|
opacity: 0.8 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.opctiy_7 {
|
||||||
|
opacity: 0.7 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.opctiy_6 {
|
||||||
|
opacity: 0.6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.opctiy_5 {
|
||||||
|
opacity: 0.5 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.opctiy_4 {
|
||||||
|
opacity: 0.4 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.opctiy_3 {
|
||||||
|
opacity: 0.3 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.opctiy_2 {
|
||||||
|
opacity: 0.2 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.opctiy_1 {
|
||||||
|
opacity: 0.1 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 控制文字大小 */
|
||||||
|
.fs_10 {
|
||||||
|
font-size: 20rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs_12 {
|
||||||
|
font-size: 24rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs_14 {
|
||||||
|
font-size: 28rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs_16 {
|
||||||
|
font-size: 32rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs_18 {
|
||||||
|
font-size: 36rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs_20 {
|
||||||
|
font-size: 40rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs_22 {
|
||||||
|
font-size: 44rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs_24 {
|
||||||
|
font-size: 48rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs_26 {
|
||||||
|
font-size: 52rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs_28 {
|
||||||
|
font-size: 56rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs_30 {
|
||||||
|
font-size: 60rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs_32 {
|
||||||
|
font-size: 64rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 控制字体粗细 */
|
||||||
|
.fw_blod {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 控制字体颜色 */
|
||||||
|
.color_D16B3F {
|
||||||
|
color: #D16B3F !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_C7331D {
|
||||||
|
color: #C7331D !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_666666 {
|
||||||
|
color: #666666 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_F8A52F {
|
||||||
|
color: #F8A52F !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_999999 {
|
||||||
|
color: #999999 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_C7331D {
|
||||||
|
color: #C7331D !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_333333 {
|
||||||
|
color: #333333 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_FFFFFF {
|
||||||
|
color: #FFFFFF !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_E7612E {
|
||||||
|
color: #E7612E !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_EF4B37 {
|
||||||
|
color: #EF4B37 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_5F5F5F {
|
||||||
|
color: #5F5F5F !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_FB7307 {
|
||||||
|
color: #FB7307 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_4873D9 {
|
||||||
|
color: #4873D9 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_4E8ADE {
|
||||||
|
color: #4E8ADE !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color_D9D9D9 {
|
||||||
|
color: #D9D9D9 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 控制左右距离 */
|
||||||
|
.mar_le30 {
|
||||||
|
margin-left: 60rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_le25 {
|
||||||
|
margin-left: 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_le20 {
|
||||||
|
margin-left: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_le15 {
|
||||||
|
margin-left: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_le10 {
|
||||||
|
margin-left: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_le5 {
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_ri5 {
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_ri10 {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_ri15 {
|
||||||
|
margin-right: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_ri20 {
|
||||||
|
margin-right: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_ri25 {
|
||||||
|
margin-right: 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_top5 {
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_top10 {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_top15 {
|
||||||
|
margin-top: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_top20 {
|
||||||
|
margin-top: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar_top25 {
|
||||||
|
margin-top: 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 控制字体粗细 */
|
||||||
|
.fw_blod {
|
||||||
|
font-weight: bold !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 控制背景色 */
|
||||||
|
.bg_e8 {
|
||||||
|
background-color: #e8e8e8 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 控制背景色 */
|
||||||
|
.bg_cc {
|
||||||
|
background-color: #CCCCCC !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 控制背景色 */
|
||||||
|
.bg_ff {
|
||||||
|
background-color: #ffffff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* 弹性布局 */
|
||||||
|
.fl_box {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fl_deri {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fl_row {
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fl_justmiddle {
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fl_juststart {
|
||||||
|
justify-content: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fl_justbet {
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fl_justround {
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fl_justend {
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fl_almiddle {
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fl_alstart {
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fl_alend {
|
||||||
|
align-items: flex-end;
|
||||||
|
}
|
76
common/globalFunction.js
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
import useUserStore from "../stores/useUserStore";
|
||||||
|
|
||||||
|
const msg = (title, duration = 1500, mask = false, icon = 'none', image) => {
|
||||||
|
if (Boolean(title) === false) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
uni.showToast({
|
||||||
|
title,
|
||||||
|
duration,
|
||||||
|
mask,
|
||||||
|
icon,
|
||||||
|
image
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const prePage = () => {
|
||||||
|
let pages = getCurrentPages();
|
||||||
|
let prePage = pages[pages.length - 2];
|
||||||
|
return prePage.$vm;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const navTo = function(url, needLogin) {
|
||||||
|
if (needLogin && useUserStore().hasLogin) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/login/login'
|
||||||
|
});
|
||||||
|
return
|
||||||
|
}
|
||||||
|
uni.navigateTo({
|
||||||
|
url
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getdeviceInfo() {
|
||||||
|
const globalData = {
|
||||||
|
statusBarHeight: 0, // 状态导航栏高度
|
||||||
|
topHeight: 0, // 距离顶部高度
|
||||||
|
navHeight: 0, // 总体高度
|
||||||
|
windowHeight: 0, // 可使用窗口高度
|
||||||
|
tabBarHight: 0, //底部导航栏高度
|
||||||
|
};
|
||||||
|
let systemInfo = uni.getSystemInfoSync()
|
||||||
|
globalData.windowHeight = systemInfo.screenHeight
|
||||||
|
// 底部导航栏
|
||||||
|
globalData.tabBarHight = systemInfo.screenHeight - systemInfo.safeArea.bottom
|
||||||
|
// 状态栏高度
|
||||||
|
globalData.statusBarHeight = systemInfo.statusBarHeight
|
||||||
|
// #ifdef MP-MP-WEIXIN
|
||||||
|
let menuButtonInfo = uni.getMenuButtonBoundingClientRect()
|
||||||
|
// 胶囊距离顶部高度
|
||||||
|
globalData.topHeight = menuButtonInfo.top
|
||||||
|
// 胶囊高度
|
||||||
|
globalData.navHeight = menuButtonInfo.height
|
||||||
|
// #endif
|
||||||
|
return {
|
||||||
|
...globalData
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function sleep(time) {
|
||||||
|
return new Promise((resolve) => setTimeout(resolve, time))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export default {
|
||||||
|
'$api': {
|
||||||
|
msg,
|
||||||
|
prePage,
|
||||||
|
sleep
|
||||||
|
},
|
||||||
|
navTo,
|
||||||
|
getdeviceInfo
|
||||||
|
}
|
24
config.js
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
export default {
|
||||||
|
baseUrl: '', // 测试
|
||||||
|
// 应用信息
|
||||||
|
appInfo: {
|
||||||
|
// 应用名称
|
||||||
|
name: "青岛市就业服务",
|
||||||
|
// 应用版本
|
||||||
|
version: "1.0.0",
|
||||||
|
// 应用logo
|
||||||
|
logo: "",
|
||||||
|
// 官方网站
|
||||||
|
site_url: "",
|
||||||
|
// 政策协议
|
||||||
|
agreements: [{
|
||||||
|
title: "隐私政策",
|
||||||
|
url: ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "用户服务协议",
|
||||||
|
url: ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
20
index.html
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<script>
|
||||||
|
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
|
||||||
|
CSS.supports('top: constant(a)'))
|
||||||
|
document.write(
|
||||||
|
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
|
||||||
|
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
|
||||||
|
</script>
|
||||||
|
<title></title>
|
||||||
|
<!--preload-links-->
|
||||||
|
<!--app-context-->
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"><!--app-html--></div>
|
||||||
|
<script type="module" src="/main.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
18
main.js
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
import App from './App'
|
||||||
|
import * as Pinia from 'pinia'
|
||||||
|
import globalFunction from './common/globalFunction'
|
||||||
|
import request from './utils/request'
|
||||||
|
import {
|
||||||
|
createSSRApp
|
||||||
|
} from 'vue'
|
||||||
|
|
||||||
|
export function createApp() {
|
||||||
|
const app = createSSRApp(App)
|
||||||
|
app.use(Pinia.createPinia());
|
||||||
|
app.provide('globalFunction', globalFunction);
|
||||||
|
app.provide('deviceInfo', globalFunction.getdeviceInfo());
|
||||||
|
return {
|
||||||
|
app,
|
||||||
|
Pinia
|
||||||
|
}
|
||||||
|
}
|
81
manifest.json
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
{
|
||||||
|
"name": "qingdao-employment-service",
|
||||||
|
"appid": "__UNI__C939371",
|
||||||
|
"description": "",
|
||||||
|
"versionName": "1.0.0",
|
||||||
|
"versionCode": "100",
|
||||||
|
"transformPx": false,
|
||||||
|
/* 5+App特有相关 */
|
||||||
|
"app-plus": {
|
||||||
|
"usingComponents": true,
|
||||||
|
"nvueStyleCompiler": "uni-app",
|
||||||
|
"compilerVersion": 3,
|
||||||
|
"splashscreen": {
|
||||||
|
"alwaysShowBeforeRender": true,
|
||||||
|
"waiting": true,
|
||||||
|
"autoclose": true,
|
||||||
|
"delay": 0
|
||||||
|
},
|
||||||
|
/* 模块配置 */
|
||||||
|
"modules": {},
|
||||||
|
/* 应用发布信息 */
|
||||||
|
"distribute": {
|
||||||
|
/* android打包配置 */
|
||||||
|
"android": {
|
||||||
|
"permissions": [
|
||||||
|
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
||||||
|
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
||||||
|
"<uses-feature android:name=\"android.hardware.camera\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
/* ios打包配置 */
|
||||||
|
"ios": {},
|
||||||
|
/* SDK配置 */
|
||||||
|
"sdkConfigs": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/* 快应用特有相关 */
|
||||||
|
"quickapp": {},
|
||||||
|
/* 小程序特有相关 */
|
||||||
|
"mp-weixin": {
|
||||||
|
"appid": "",
|
||||||
|
"setting": {
|
||||||
|
"urlCheck": false,
|
||||||
|
"es6": true,
|
||||||
|
"postcss": true,
|
||||||
|
"minified": true
|
||||||
|
},
|
||||||
|
"usingComponents": true,
|
||||||
|
"permission": {
|
||||||
|
"scope.userLocation": {
|
||||||
|
"desc": "用于用户选择地图查看位置"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mp-alipay": {
|
||||||
|
"usingComponents": true
|
||||||
|
},
|
||||||
|
"mp-baidu": {
|
||||||
|
"usingComponents": true
|
||||||
|
},
|
||||||
|
"mp-toutiao": {
|
||||||
|
"usingComponents": true
|
||||||
|
},
|
||||||
|
"uniStatistics": {
|
||||||
|
"enable": false
|
||||||
|
},
|
||||||
|
"vueVersion": "3",
|
||||||
|
"locale": "zh-Hans"
|
||||||
|
}
|
73
pages.json
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
{
|
||||||
|
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
|
||||||
|
{
|
||||||
|
"path": "pages/index/index",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "uni-app"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/mine",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/msglog/msglog",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/careerfair/careerfair",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/login/login",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "登录",
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tabBar": {
|
||||||
|
"color": "#7A7E83",
|
||||||
|
"selectedColor": "#3cc51f",
|
||||||
|
"borderStyle": "black",
|
||||||
|
"backgroundColor": "#ffffff",
|
||||||
|
"list": [{
|
||||||
|
"pagePath": "pages/index/index",
|
||||||
|
"iconPath": "static/tabbar/post.png",
|
||||||
|
"selectedIconPath": "static/tabbar/posted.png",
|
||||||
|
"text": "职位"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pagePath": "pages/careerfair/careerfair",
|
||||||
|
"iconPath": "static/tabbar/calendar.png",
|
||||||
|
"selectedIconPath": "static/tabbar/calendared.png",
|
||||||
|
"text": "招聘会"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pagePath": "pages/msglog/msglog",
|
||||||
|
"iconPath": "static/tabbar/chat4.png",
|
||||||
|
"selectedIconPath": "static/tabbar/chat4.png",
|
||||||
|
"text": "消息"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pagePath": "pages/mine/mine",
|
||||||
|
"iconPath": "static/tabbar/mine.png",
|
||||||
|
"selectedIconPath": "static/tabbar/mine.png",
|
||||||
|
"text": "我的"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"globalStyle": {
|
||||||
|
"navigationBarTextStyle": "black",
|
||||||
|
"navigationBarTitleText": "uni-app",
|
||||||
|
"navigationBarBackgroundColor": "#F8F8F8",
|
||||||
|
"backgroundColor": "#F8F8F8"
|
||||||
|
},
|
||||||
|
"uniIdRouter": {}
|
||||||
|
}
|
22
pages/careerfair/careerfair.vue
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
|
||||||
|
</style>
|
35
pages/index/index.vue
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content"></view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { reactive, inject, watch } from 'vue';
|
||||||
|
import { onLoad, onShow } from '@dcloudio/uni-app';
|
||||||
|
import useUserStore from '../../stores/useUserStore';
|
||||||
|
const { $api, navTo } = inject('globalFunction');
|
||||||
|
const userStore = useUserStore();
|
||||||
|
const state = reactive({
|
||||||
|
title: '123123123房贷首付打的手机家里好玩的很浓厚第卡后sdhiwohdijasnbdhoui1很努力',
|
||||||
|
});
|
||||||
|
onShow(() => {
|
||||||
|
console.log('onShow');
|
||||||
|
});
|
||||||
|
onLoad(() => {
|
||||||
|
console.log('onLoad');
|
||||||
|
$api.sleep(2000).then(() => {
|
||||||
|
navTo('/pages/login/login');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => state.title,
|
||||||
|
(newValue, oldValue) => {},
|
||||||
|
{ deep: true }
|
||||||
|
);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus" scoped>
|
||||||
|
.logo
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
</style>
|
71
pages/login/components/tabcontrol.vue
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
<template>
|
||||||
|
<view class="tab-container">
|
||||||
|
<view class="uni-margin-wrap">
|
||||||
|
<swiper
|
||||||
|
class="swiper"
|
||||||
|
:current="current"
|
||||||
|
:circular="false"
|
||||||
|
:indicator-dots="false"
|
||||||
|
:autoplay="false"
|
||||||
|
:duration="500"
|
||||||
|
>
|
||||||
|
<swiper-item @touchmove.stop="false">
|
||||||
|
<slot name="tab0"></slot>
|
||||||
|
</swiper-item>
|
||||||
|
<swiper-item @touchmove.stop="false">
|
||||||
|
<slot name="tab1"></slot>
|
||||||
|
</swiper-item>
|
||||||
|
<swiper-item @touchmove.stop="false">
|
||||||
|
<slot name="tab2"></slot>
|
||||||
|
</swiper-item>
|
||||||
|
<swiper-item @touchmove.stop="false">
|
||||||
|
<slot name="tab3"></slot>
|
||||||
|
</swiper-item>
|
||||||
|
<swiper-item @touchmove.stop="false">
|
||||||
|
<slot name="tab4"></slot>
|
||||||
|
</swiper-item>
|
||||||
|
<swiper-item @touchmove.stop="false">
|
||||||
|
<slot name="tab5"></slot>
|
||||||
|
</swiper-item>
|
||||||
|
<swiper-item @touchmove.stop="false">
|
||||||
|
<slot name="tab6"></slot>
|
||||||
|
</swiper-item>
|
||||||
|
</swiper>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'tab',
|
||||||
|
data() {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
current: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus">
|
||||||
|
.tab-container
|
||||||
|
width: 100%
|
||||||
|
height: 100%
|
||||||
|
display: flex
|
||||||
|
align-items: center
|
||||||
|
justify-content: center
|
||||||
|
flex-direction: row
|
||||||
|
.uni-margin-wrap
|
||||||
|
width: 100%
|
||||||
|
height: 100%
|
||||||
|
.swiper
|
||||||
|
width: 100%
|
||||||
|
height: 100%
|
||||||
|
.swiper-item
|
||||||
|
display: block;
|
||||||
|
width: 100%
|
||||||
|
height: 100%
|
||||||
|
</style>
|
316
pages/login/login.vue
Normal file
@@ -0,0 +1,316 @@
|
|||||||
|
<template>
|
||||||
|
<view class="container">
|
||||||
|
<view :style="{ height: statusBarHeight + 'px' }"></view>
|
||||||
|
<tabcontrolVue :current="tabCurrent">
|
||||||
|
<!-- tab0 -->
|
||||||
|
<template v-slot:tab0>
|
||||||
|
<view class="login-content">
|
||||||
|
<image class="logo" src="../../static/logo.png"></image>
|
||||||
|
<view class="logo-title">就业</view>
|
||||||
|
</view>
|
||||||
|
<view class="btns">
|
||||||
|
<button open-type="getUserInfo" @getuserinfo="getuserinfo" class="wxlogin">微信登录</button>
|
||||||
|
<view class="wxaddress">青岛市公共就业和人才服务中心</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<!-- tab1 -->
|
||||||
|
<template v-slot:tab1>
|
||||||
|
<view class="tabtwo">
|
||||||
|
<view class="tabtwo-top">
|
||||||
|
<view class="color_FFFFFF fs_30">选择您的性别1/6</view>
|
||||||
|
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||||
|
</view>
|
||||||
|
<view class="fl_box fl_justmiddle">
|
||||||
|
<view class="tabtwo-sex">
|
||||||
|
<image class="sex-img" src="../../static/icon/woman.png"></image>
|
||||||
|
<view class="mar_top5">女</view>
|
||||||
|
<view class="dot"></view>
|
||||||
|
</view>
|
||||||
|
<view class="tabtwo-sex">
|
||||||
|
<image class="sex-img" src="../../static/icon/man.png"></image>
|
||||||
|
<view class="mar_top5">男</view>
|
||||||
|
<view class="dot doted"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="nextstep" @tap="nextStep">下一步</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<!-- tab2 -->
|
||||||
|
<template v-slot:tab2>
|
||||||
|
<view class="tabtwo">
|
||||||
|
<view class="tabtwo-top">
|
||||||
|
<view class="color_FFFFFF fs_30">选择您的年龄断段2/6</view>
|
||||||
|
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||||
|
</view>
|
||||||
|
<view class="fl_box fl_deri fl_almiddle">
|
||||||
|
<view class="agebtn agebtned">30岁以下</view>
|
||||||
|
<view class="agebtn">31-40岁</view>
|
||||||
|
<view class="agebtn">41-50岁</view>
|
||||||
|
<view class="agebtn">51岁以上</view>
|
||||||
|
</view>
|
||||||
|
<view class="fl_box fl_justmiddle"></view>
|
||||||
|
<view class="nextstep" @tap="nextStep">下一步</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<!-- tab3 -->
|
||||||
|
<template v-slot:tab3>
|
||||||
|
<view class="tabtwo">
|
||||||
|
<view class="tabtwo-top">
|
||||||
|
<view class="color_FFFFFF fs_30">选择您的学历3/6</view>
|
||||||
|
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||||
|
</view>
|
||||||
|
<view class="eduction-content">
|
||||||
|
<view class="eductionbtn eductionbtned">初中及以下</view>
|
||||||
|
<view class="eductionbtn">中专/中技</view>
|
||||||
|
<view class="eductionbtn">高中</view>
|
||||||
|
<view class="eductionbtn">大专</view>
|
||||||
|
<view class="eductionbtn">本科</view>
|
||||||
|
<view class="eductionbtn">硕士</view>
|
||||||
|
<view class="eductionbtn">博士</view>
|
||||||
|
<view class="eductionbtn">MBA/EMBA</view>
|
||||||
|
<view class="eductionbtn">留学-学士</view>
|
||||||
|
<view class="eductionbtn">留学-硕士</view>
|
||||||
|
<view class="eductionbtn">留学-博士</view>
|
||||||
|
</view>
|
||||||
|
<view class="fl_box fl_justmiddle"></view>
|
||||||
|
<view class="nextstep" @tap="nextStep">下一步</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<!-- tab4 -->
|
||||||
|
<template v-slot:tab4>
|
||||||
|
<view class="tabtwo">
|
||||||
|
<view class="tabtwo-top">
|
||||||
|
<view class="color_FFFFFF fs_30">您期望的薪资范围4/6</view>
|
||||||
|
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||||
|
</view>
|
||||||
|
<view class="salary">
|
||||||
|
<scroll-view class="salary-content" :show-scrollbar="false" :scroll-y="true">
|
||||||
|
<view class="salary-content-item">不限</view>
|
||||||
|
<view class="salary-content-item">2k</view>
|
||||||
|
<view class="salary-content-item">5k</view>
|
||||||
|
<view class="salary-content-item">10k</view>
|
||||||
|
<view class="salary-content-item">15k</view>
|
||||||
|
</scroll-view>
|
||||||
|
<view class="center-text">至</view>
|
||||||
|
<scroll-view class="salary-content" :show-scrollbar="false" :scroll-y="true">
|
||||||
|
<view class="salary-content-item">不限</view>
|
||||||
|
<view class="salary-content-item">2k</view>
|
||||||
|
<view class="salary-content-item">5k</view>
|
||||||
|
<view class="salary-content-item">10k</view>
|
||||||
|
<view class="salary-content-item">15k</view>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
<view class="fl_box fl_justmiddle"></view>
|
||||||
|
<view class="nextstep" @tap="nextStep">下一步</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<!-- tab5 -->
|
||||||
|
<template v-slot:tab5>
|
||||||
|
<view class="tabtwo">
|
||||||
|
<view class="tabtwo-top">
|
||||||
|
<view class="color_FFFFFF fs_30">您期望的求职区域5/6</view>
|
||||||
|
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||||
|
</view>
|
||||||
|
<view class="fl_box fl_justmiddle"></view>
|
||||||
|
<view class="nextstep" @tap="nextStep">下一步</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<!-- tab6 -->
|
||||||
|
<template v-slot:tab6>
|
||||||
|
<view class="tabtwo">
|
||||||
|
<view class="tabtwo-top">
|
||||||
|
<view class="color_FFFFFF fs_30">您的期望岗位6/6</view>
|
||||||
|
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||||
|
</view>
|
||||||
|
<view class="fl_box fl_justmiddle"></view>
|
||||||
|
<!-- <view class="nextstep" @tap="complate">完成</view> -->
|
||||||
|
<navigator url="/pages/index/index" open-type="reLaunch" hover-class="other-navigator-hover">
|
||||||
|
<button class="nextstep" @tap="complate">完成</button>
|
||||||
|
</navigator>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
</tabcontrolVue>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import tabcontrolVue from './components/tabcontrol.vue';
|
||||||
|
import { reactive, inject, watch, ref } from 'vue';
|
||||||
|
const { statusBarHeight } = inject('deviceInfo');
|
||||||
|
const { $api, navTo } = inject('globalFunction');
|
||||||
|
const tabCurrent = ref(4);
|
||||||
|
const state = reactive({
|
||||||
|
sex: 1,
|
||||||
|
});
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
console.log('gg');
|
||||||
|
}, 4000);
|
||||||
|
const getuserinfo = (e) => {
|
||||||
|
console.log(e);
|
||||||
|
};
|
||||||
|
|
||||||
|
function nextStep() {
|
||||||
|
tabCurrent.value += 1;
|
||||||
|
}
|
||||||
|
function handleScroll(event) {
|
||||||
|
console.log('滚动条滚动', event.detail.scrollTop);
|
||||||
|
console.log(Math.round(event.detail.scrollTop / 75));
|
||||||
|
// this.activeIndex = Math.round(event.detail.scrollTop / 75);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus">
|
||||||
|
.container
|
||||||
|
width: 100%;
|
||||||
|
height: 100%
|
||||||
|
background: linear-gradient(#4778EC, #002979);
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.login-content
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 40%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-end;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
.logo
|
||||||
|
width: 266rpx;
|
||||||
|
height: 182rpx;
|
||||||
|
.logo-title
|
||||||
|
font-size: 88rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
width: 180rpx;
|
||||||
|
.btns
|
||||||
|
position: absolute;
|
||||||
|
top: 70%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, 0)
|
||||||
|
.wxlogin
|
||||||
|
width: 562rpx;
|
||||||
|
height: 140rpx;
|
||||||
|
border-radius: 70rpx;
|
||||||
|
background-color: #13C57C;
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 140rpx;
|
||||||
|
font-size: 70rpx;
|
||||||
|
.wxaddress
|
||||||
|
color: #BBBBBB;
|
||||||
|
margin-top: 70rpx;
|
||||||
|
text-align: center;
|
||||||
|
// 2
|
||||||
|
.tabtwo
|
||||||
|
padding: 40rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
.tabtwo-top
|
||||||
|
margin: 222rpx 0 0 0;
|
||||||
|
width: 100%;
|
||||||
|
.tabtwo-sex
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-size: 40rpx;
|
||||||
|
margin: 200rpx 60rpx 0 60rpx;
|
||||||
|
.sex-img
|
||||||
|
width: 184rpx;
|
||||||
|
height: 184rpx;
|
||||||
|
.dot
|
||||||
|
width: 68rpx;
|
||||||
|
height: 68rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #d1d1d6;
|
||||||
|
position: relative;
|
||||||
|
.dot:before
|
||||||
|
content: '';
|
||||||
|
width: 44rpx;
|
||||||
|
height: 44rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #1e4baa;
|
||||||
|
.doted
|
||||||
|
background: #13C57C;
|
||||||
|
.doted:after{
|
||||||
|
content: '';
|
||||||
|
width: 34rpx;
|
||||||
|
height: 34rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
border-radius: 50%
|
||||||
|
background: #13C57C;
|
||||||
|
}
|
||||||
|
.agebtn
|
||||||
|
width: 630rpx;
|
||||||
|
height: 108rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
background: #d9d9d9;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 108rpx;
|
||||||
|
font-size: 40rpx;
|
||||||
|
margin-top: 50rpx;
|
||||||
|
color: #606060;
|
||||||
|
.agebtned
|
||||||
|
background: #13C57C;
|
||||||
|
color: #FFFFFF;
|
||||||
|
.nextstep
|
||||||
|
position: absolute;
|
||||||
|
top: 80%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, 0)
|
||||||
|
width: 630rpx;
|
||||||
|
height: 98rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
background: #13C57C;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 98rpx;
|
||||||
|
font-size: 36rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
.eduction-content
|
||||||
|
width: fit-content;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 300rpx 300rpx;
|
||||||
|
grid-gap: 20rpx;
|
||||||
|
margin-top: 50rpx;
|
||||||
|
.eductionbtn
|
||||||
|
width: 300rpx;
|
||||||
|
height: 108rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
background: #d9d9d9;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 108rpx;
|
||||||
|
font-size: 36rpx;
|
||||||
|
color: #606060;
|
||||||
|
.eductionbtned
|
||||||
|
background: #13C57C;
|
||||||
|
color: #FFFFFF;
|
||||||
|
.salary
|
||||||
|
width: fit-content;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 300rpx auto 300rpx;
|
||||||
|
// grid-gap: 20rpx;
|
||||||
|
margin-top: 50rpx;
|
||||||
|
.center-text
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 400rpx;
|
||||||
|
.salary-content
|
||||||
|
width: 300rpx;
|
||||||
|
height: 380rpx;
|
||||||
|
.salary-content-item
|
||||||
|
height: 104rpx;
|
||||||
|
line-height: 104rpx;
|
||||||
|
margin: 20rpx 10rpx 20rpx 10rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
background: #d9d9d9;
|
||||||
|
text-align: center;
|
||||||
|
</style>
|
19
pages/mine/mine.vue
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus">
|
||||||
|
|
||||||
|
</style>
|
19
pages/msglog/msglog.vue
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus">
|
||||||
|
|
||||||
|
</style>
|
BIN
static/icon/man.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
static/icon/woman.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
static/logo.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
static/logo2.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
static/tabbar/calendar.png
Normal file
After Width: | Height: | Size: 412 B |
BIN
static/tabbar/calendared.png
Normal file
After Width: | Height: | Size: 341 B |
BIN
static/tabbar/chat4.png
Normal file
After Width: | Height: | Size: 662 B |
BIN
static/tabbar/mine.png
Normal file
After Width: | Height: | Size: 677 B |
BIN
static/tabbar/post.png
Normal file
After Width: | Height: | Size: 509 B |
BIN
static/tabbar/posted.png
Normal file
After Width: | Height: | Size: 456 B |
41
stores/useUserStore.js
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import {
|
||||||
|
defineStore
|
||||||
|
} from 'pinia';
|
||||||
|
import {
|
||||||
|
ref
|
||||||
|
} from 'vue'
|
||||||
|
|
||||||
|
const useUserStore = defineStore("user", () => {
|
||||||
|
// 定义状态
|
||||||
|
const hasLogin = ref(false)
|
||||||
|
const openId = ref('')
|
||||||
|
const userInfo = ref({});
|
||||||
|
const token = ref('测试token')
|
||||||
|
|
||||||
|
const login = (value) => {
|
||||||
|
hasLogin.value = true;
|
||||||
|
userInfo.value = value;
|
||||||
|
openId.value = value.wxOpenId;
|
||||||
|
token.value = value.token
|
||||||
|
uni.setStorage({
|
||||||
|
key: 'token',
|
||||||
|
data: value.token
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const logOut = () => {
|
||||||
|
hasLogin = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导入
|
||||||
|
return {
|
||||||
|
hasLogin,
|
||||||
|
openId,
|
||||||
|
userInfo,
|
||||||
|
token,
|
||||||
|
login,
|
||||||
|
logOut
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
export default useUserStore;
|
13
uni.promisify.adaptor.js
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
uni.addInterceptor({
|
||||||
|
returnValue (res) {
|
||||||
|
if (!(!!res && (typeof res === "object" || typeof res === "function") && typeof res.then === "function")) {
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
res.then((res) => {
|
||||||
|
if (!res) return resolve(res)
|
||||||
|
return res[0] ? reject(res[0]) : resolve(res[1])
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
76
uni.scss
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
/**
|
||||||
|
* 这里是uni-app内置的常用样式变量
|
||||||
|
*
|
||||||
|
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||||
|
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||||
|
*
|
||||||
|
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* 颜色变量 */
|
||||||
|
|
||||||
|
/* 行为相关颜色 */
|
||||||
|
$uni-color-primary: #007aff;
|
||||||
|
$uni-color-success: #4cd964;
|
||||||
|
$uni-color-warning: #f0ad4e;
|
||||||
|
$uni-color-error: #dd524d;
|
||||||
|
|
||||||
|
/* 文字基本颜色 */
|
||||||
|
$uni-text-color: #333; //基本色
|
||||||
|
$uni-text-color-inverse: #fff; //反色
|
||||||
|
$uni-text-color-grey: #999; //辅助灰色,如加载更多的提示信息
|
||||||
|
$uni-text-color-placeholder: #808080;
|
||||||
|
$uni-text-color-disable: #c0c0c0;
|
||||||
|
|
||||||
|
/* 背景颜色 */
|
||||||
|
$uni-bg-color: #ffffff;
|
||||||
|
$uni-bg-color-grey: #f8f8f8;
|
||||||
|
$uni-bg-color-hover: #f1f1f1; //点击状态颜色
|
||||||
|
$uni-bg-color-mask: rgba(0, 0, 0, 0.4); //遮罩颜色
|
||||||
|
|
||||||
|
/* 边框颜色 */
|
||||||
|
$uni-border-color: #c8c7cc;
|
||||||
|
|
||||||
|
/* 尺寸变量 */
|
||||||
|
|
||||||
|
/* 文字尺寸 */
|
||||||
|
$uni-font-size-sm: 12px;
|
||||||
|
$uni-font-size-base: 14px;
|
||||||
|
$uni-font-size-lg: 16px;
|
||||||
|
|
||||||
|
/* 图片尺寸 */
|
||||||
|
$uni-img-size-sm: 20px;
|
||||||
|
$uni-img-size-base: 26px;
|
||||||
|
$uni-img-size-lg: 40px;
|
||||||
|
|
||||||
|
/* Border Radius */
|
||||||
|
$uni-border-radius-sm: 2px;
|
||||||
|
$uni-border-radius-base: 3px;
|
||||||
|
$uni-border-radius-lg: 6px;
|
||||||
|
$uni-border-radius-circle: 50%;
|
||||||
|
|
||||||
|
/* 水平间距 */
|
||||||
|
$uni-spacing-row-sm: 5px;
|
||||||
|
$uni-spacing-row-base: 10px;
|
||||||
|
$uni-spacing-row-lg: 15px;
|
||||||
|
|
||||||
|
/* 垂直间距 */
|
||||||
|
$uni-spacing-col-sm: 4px;
|
||||||
|
$uni-spacing-col-base: 8px;
|
||||||
|
$uni-spacing-col-lg: 12px;
|
||||||
|
|
||||||
|
/* 透明度 */
|
||||||
|
$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
|
||||||
|
|
||||||
|
/* 文章场景相关 */
|
||||||
|
$uni-color-title: #2c405a; // 文章标题颜色
|
||||||
|
$uni-font-size-title: 20px;
|
||||||
|
$uni-color-subtitle: #555555; // 二级标题颜色
|
||||||
|
$uni-font-size-subtitle: 26px;
|
||||||
|
$uni-color-paragraph: #3f536e; // 文章段落颜色
|
||||||
|
$uni-font-size-paragraph: 15px;
|
8
unpackage/dist/cache/.vite/deps/_metadata.json
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"hash": "6f4322a0",
|
||||||
|
"configHash": "f1ef1766",
|
||||||
|
"lockfileHash": "5d26acb0",
|
||||||
|
"browserHash": "9757e8c9",
|
||||||
|
"optimized": {},
|
||||||
|
"chunks": {}
|
||||||
|
}
|
3
unpackage/dist/cache/.vite/deps/package.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"type": "module"
|
||||||
|
}
|
47
unpackage/dist/dev/mp-weixin/app.js
vendored
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
const common_vendor = require("./common/vendor.js");
|
||||||
|
const stores_useUserStore = require("./stores/useUserStore.js");
|
||||||
|
const common_globalFunction = require("./common/globalFunction.js");
|
||||||
|
if (!Math) {
|
||||||
|
"./pages/index/index.js";
|
||||||
|
"./pages/mine/mine.js";
|
||||||
|
"./pages/msglog/msglog.js";
|
||||||
|
"./pages/careerfair/careerfair.js";
|
||||||
|
"./pages/login/login.js";
|
||||||
|
}
|
||||||
|
const _sfc_main = {
|
||||||
|
__name: "App",
|
||||||
|
setup(__props) {
|
||||||
|
stores_useUserStore.useUserStore();
|
||||||
|
common_vendor.onLaunch(() => {
|
||||||
|
console.log("App Launch");
|
||||||
|
let openId = common_vendor.index.getStorageSync("openId") || "";
|
||||||
|
if (openId) {
|
||||||
|
console.log("有openid");
|
||||||
|
} else {
|
||||||
|
console.log("没有openid");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
common_vendor.onShow(() => {
|
||||||
|
console.log("App Show");
|
||||||
|
});
|
||||||
|
common_vendor.onHide(() => {
|
||||||
|
console.log("App Hide");
|
||||||
|
});
|
||||||
|
return () => {
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function createApp() {
|
||||||
|
const app = common_vendor.createSSRApp(_sfc_main);
|
||||||
|
app.use(common_vendor.createPinia());
|
||||||
|
app.provide("globalFunction", common_globalFunction.globalFunction);
|
||||||
|
app.provide("deviceInfo", common_globalFunction.globalFunction.getdeviceInfo());
|
||||||
|
return {
|
||||||
|
app,
|
||||||
|
Pinia: common_vendor.Pinia
|
||||||
|
};
|
||||||
|
}
|
||||||
|
createApp().app.mount("#app");
|
||||||
|
exports.createApp = createApp;
|
53
unpackage/dist/dev/mp-weixin/app.json
vendored
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
{
|
||||||
|
"pages": [
|
||||||
|
"pages/index/index",
|
||||||
|
"pages/mine/mine",
|
||||||
|
"pages/msglog/msglog",
|
||||||
|
"pages/careerfair/careerfair",
|
||||||
|
"pages/login/login"
|
||||||
|
],
|
||||||
|
"window": {
|
||||||
|
"navigationBarTextStyle": "black",
|
||||||
|
"navigationBarTitleText": "uni-app",
|
||||||
|
"navigationBarBackgroundColor": "#F8F8F8",
|
||||||
|
"backgroundColor": "#F8F8F8"
|
||||||
|
},
|
||||||
|
"tabBar": {
|
||||||
|
"color": "#7A7E83",
|
||||||
|
"selectedColor": "#3cc51f",
|
||||||
|
"borderStyle": "black",
|
||||||
|
"backgroundColor": "#ffffff",
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"pagePath": "pages/index/index",
|
||||||
|
"iconPath": "static/tabbar/post.png",
|
||||||
|
"selectedIconPath": "static/tabbar/posted.png",
|
||||||
|
"text": "职位"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pagePath": "pages/careerfair/careerfair",
|
||||||
|
"iconPath": "static/tabbar/calendar.png",
|
||||||
|
"selectedIconPath": "static/tabbar/calendared.png",
|
||||||
|
"text": "招聘会"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pagePath": "pages/msglog/msglog",
|
||||||
|
"iconPath": "static/tabbar/chat4.png",
|
||||||
|
"selectedIconPath": "static/tabbar/chat4.png",
|
||||||
|
"text": "消息"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pagePath": "pages/mine/mine",
|
||||||
|
"iconPath": "static/tabbar/mine.png",
|
||||||
|
"selectedIconPath": "static/tabbar/mine.png",
|
||||||
|
"text": "我的"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"permission": {
|
||||||
|
"scope.userLocation": {
|
||||||
|
"desc": "用于用户选择地图查看位置"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"usingComponents": {}
|
||||||
|
}
|
238
unpackage/dist/dev/mp-weixin/app.wxss
vendored
Normal file
@@ -0,0 +1,238 @@
|
|||||||
|
|
||||||
|
/*每个页面公共css */
|
||||||
|
/* 公共样式表 */
|
||||||
|
page {
|
||||||
|
height: 100%;
|
||||||
|
min-height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
|
||||||
|
font-size: 28rpx;
|
||||||
|
background-color: #f4f4f4;
|
||||||
|
/* line-height: 1.8; */
|
||||||
|
color: #333333;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.page-body {
|
||||||
|
height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
|
||||||
|
}
|
||||||
|
body,
|
||||||
|
html {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
/* 布局调整 */
|
||||||
|
/* 控制hover */
|
||||||
|
.opctiy_8 {
|
||||||
|
opacity: 0.8 !important;
|
||||||
|
}
|
||||||
|
.opctiy_7 {
|
||||||
|
opacity: 0.7 !important;
|
||||||
|
}
|
||||||
|
.opctiy_6 {
|
||||||
|
opacity: 0.6 !important;
|
||||||
|
}
|
||||||
|
.opctiy_5 {
|
||||||
|
opacity: 0.5 !important;
|
||||||
|
}
|
||||||
|
.opctiy_4 {
|
||||||
|
opacity: 0.4 !important;
|
||||||
|
}
|
||||||
|
.opctiy_3 {
|
||||||
|
opacity: 0.3 !important;
|
||||||
|
}
|
||||||
|
.opctiy_2 {
|
||||||
|
opacity: 0.2 !important;
|
||||||
|
}
|
||||||
|
.opctiy_1 {
|
||||||
|
opacity: 0.1 !important;
|
||||||
|
}
|
||||||
|
/* 控制文字大小 */
|
||||||
|
.fs_10 {
|
||||||
|
font-size: 20rpx !important;
|
||||||
|
}
|
||||||
|
.fs_12 {
|
||||||
|
font-size: 24rpx !important;
|
||||||
|
}
|
||||||
|
.fs_14 {
|
||||||
|
font-size: 28rpx !important;
|
||||||
|
}
|
||||||
|
.fs_16 {
|
||||||
|
font-size: 32rpx !important;
|
||||||
|
}
|
||||||
|
.fs_18 {
|
||||||
|
font-size: 36rpx !important;
|
||||||
|
}
|
||||||
|
.fs_20 {
|
||||||
|
font-size: 40rpx !important;
|
||||||
|
}
|
||||||
|
.fs_22 {
|
||||||
|
font-size: 44rpx !important;
|
||||||
|
}
|
||||||
|
.fs_24 {
|
||||||
|
font-size: 48rpx !important;
|
||||||
|
}
|
||||||
|
.fs_26 {
|
||||||
|
font-size: 52rpx !important;
|
||||||
|
}
|
||||||
|
.fs_28 {
|
||||||
|
font-size: 56rpx !important;
|
||||||
|
}
|
||||||
|
.fs_30 {
|
||||||
|
font-size: 60rpx !important;
|
||||||
|
}
|
||||||
|
.fs_32 {
|
||||||
|
font-size: 64rpx !important;
|
||||||
|
}
|
||||||
|
/* 控制字体粗细 */
|
||||||
|
.fw_blod {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
/* 控制字体颜色 */
|
||||||
|
.color_D16B3F {
|
||||||
|
color: #D16B3F !important;
|
||||||
|
}
|
||||||
|
.color_C7331D {
|
||||||
|
color: #C7331D !important;
|
||||||
|
}
|
||||||
|
.color_666666 {
|
||||||
|
color: #666666 !important;
|
||||||
|
}
|
||||||
|
.color_F8A52F {
|
||||||
|
color: #F8A52F !important;
|
||||||
|
}
|
||||||
|
.color_999999 {
|
||||||
|
color: #999999 !important;
|
||||||
|
}
|
||||||
|
.color_C7331D {
|
||||||
|
color: #C7331D !important;
|
||||||
|
}
|
||||||
|
.color_333333 {
|
||||||
|
color: #333333 !important;
|
||||||
|
}
|
||||||
|
.color_FFFFFF {
|
||||||
|
color: #FFFFFF !important;
|
||||||
|
}
|
||||||
|
.color_E7612E {
|
||||||
|
color: #E7612E !important;
|
||||||
|
}
|
||||||
|
.color_EF4B37 {
|
||||||
|
color: #EF4B37 !important;
|
||||||
|
}
|
||||||
|
.color_5F5F5F {
|
||||||
|
color: #5F5F5F !important;
|
||||||
|
}
|
||||||
|
.color_FB7307 {
|
||||||
|
color: #FB7307 !important;
|
||||||
|
}
|
||||||
|
.color_4873D9 {
|
||||||
|
color: #4873D9 !important;
|
||||||
|
}
|
||||||
|
.color_4E8ADE {
|
||||||
|
color: #4E8ADE !important;
|
||||||
|
}
|
||||||
|
.color_D9D9D9 {
|
||||||
|
color: #D9D9D9 !important;
|
||||||
|
}
|
||||||
|
/* 控制左右距离 */
|
||||||
|
.mar_le30 {
|
||||||
|
margin-left: 60rpx;
|
||||||
|
}
|
||||||
|
.mar_le25 {
|
||||||
|
margin-left: 50rpx;
|
||||||
|
}
|
||||||
|
.mar_le20 {
|
||||||
|
margin-left: 40rpx;
|
||||||
|
}
|
||||||
|
.mar_le15 {
|
||||||
|
margin-left: 30rpx;
|
||||||
|
}
|
||||||
|
.mar_le10 {
|
||||||
|
margin-left: 20rpx;
|
||||||
|
}
|
||||||
|
.mar_le5 {
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
.mar_ri5 {
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
.mar_ri10 {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
.mar_ri15 {
|
||||||
|
margin-right: 30rpx;
|
||||||
|
}
|
||||||
|
.mar_ri20 {
|
||||||
|
margin-right: 40rpx;
|
||||||
|
}
|
||||||
|
.mar_ri25 {
|
||||||
|
margin-right: 50rpx;
|
||||||
|
}
|
||||||
|
.mar_top5 {
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
.mar_top10 {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
}
|
||||||
|
.mar_top15 {
|
||||||
|
margin-top: 30rpx;
|
||||||
|
}
|
||||||
|
.mar_top20 {
|
||||||
|
margin-top: 40rpx;
|
||||||
|
}
|
||||||
|
.mar_top25 {
|
||||||
|
margin-top: 50rpx;
|
||||||
|
}
|
||||||
|
/* 控制字体粗细 */
|
||||||
|
.fw_blod {
|
||||||
|
font-weight: bold !important;
|
||||||
|
}
|
||||||
|
/* 控制背景色 */
|
||||||
|
.bg_e8 {
|
||||||
|
background-color: #e8e8e8 !important;
|
||||||
|
}
|
||||||
|
/* 控制背景色 */
|
||||||
|
.bg_cc {
|
||||||
|
background-color: #CCCCCC !important;
|
||||||
|
}
|
||||||
|
/* 控制背景色 */
|
||||||
|
.bg_ff {
|
||||||
|
background-color: #ffffff !important;
|
||||||
|
}
|
||||||
|
/* 弹性布局 */
|
||||||
|
.fl_box {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
.fl_deri {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.fl_row {
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
.fl_justmiddle {
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
.fl_juststart {
|
||||||
|
justify-content: flex-start;
|
||||||
|
}
|
||||||
|
.fl_justbet {
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
.fl_justround {
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
.fl_justend {
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
.fl_almiddle {
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.fl_alstart {
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
.fl_alend {
|
||||||
|
align-items: flex-end;
|
||||||
|
}
|
||||||
|
page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;}
|
7
unpackage/dist/dev/mp-weixin/common/assets.js
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
"use strict";
|
||||||
|
const _imports_0 = "/static/logo.png";
|
||||||
|
const _imports_1 = "/static/icon/woman.png";
|
||||||
|
const _imports_2 = "/static/icon/man.png";
|
||||||
|
exports._imports_0 = _imports_0;
|
||||||
|
exports._imports_1 = _imports_1;
|
||||||
|
exports._imports_2 = _imports_2;
|
61
unpackage/dist/dev/mp-weixin/common/globalFunction.js
vendored
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
"use strict";
|
||||||
|
const common_vendor = require("./vendor.js");
|
||||||
|
const stores_useUserStore = require("../stores/useUserStore.js");
|
||||||
|
const msg = (title, duration = 1500, mask = false, icon = "none", image) => {
|
||||||
|
if (Boolean(title) === false) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
common_vendor.index.showToast({
|
||||||
|
title,
|
||||||
|
duration,
|
||||||
|
mask,
|
||||||
|
icon,
|
||||||
|
image
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const prePage = () => {
|
||||||
|
let pages = getCurrentPages();
|
||||||
|
let prePage2 = pages[pages.length - 2];
|
||||||
|
return prePage2.$vm;
|
||||||
|
};
|
||||||
|
const navTo = function(url, needLogin) {
|
||||||
|
if (needLogin && stores_useUserStore.useUserStore().hasLogin) {
|
||||||
|
common_vendor.index.navigateTo({
|
||||||
|
url: "/pages/login/login"
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
common_vendor.index.navigateTo({
|
||||||
|
url
|
||||||
|
});
|
||||||
|
};
|
||||||
|
function getdeviceInfo() {
|
||||||
|
const globalData = {
|
||||||
|
statusBarHeight: 0,
|
||||||
|
// 状态导航栏高度
|
||||||
|
topHeight: 0,
|
||||||
|
// 距离顶部高度
|
||||||
|
navHeight: 0,
|
||||||
|
// 总体高度
|
||||||
|
windowHeight: 0,
|
||||||
|
// 可使用窗口高度
|
||||||
|
tabBarHight: 0
|
||||||
|
//底部导航栏高度
|
||||||
|
};
|
||||||
|
let systemInfo = common_vendor.index.getSystemInfoSync();
|
||||||
|
globalData.windowHeight = systemInfo.screenHeight;
|
||||||
|
globalData.tabBarHight = systemInfo.screenHeight - systemInfo.safeArea.bottom;
|
||||||
|
globalData.statusBarHeight = systemInfo.statusBarHeight;
|
||||||
|
return {
|
||||||
|
...globalData
|
||||||
|
};
|
||||||
|
}
|
||||||
|
const globalFunction = {
|
||||||
|
"$api": {
|
||||||
|
msg,
|
||||||
|
prePage
|
||||||
|
},
|
||||||
|
navTo,
|
||||||
|
getdeviceInfo
|
||||||
|
};
|
||||||
|
exports.globalFunction = globalFunction;
|
8339
unpackage/dist/dev/mp-weixin/common/vendor.js
vendored
Normal file
29
unpackage/dist/dev/mp-weixin/components/tabcontrol.js
vendored
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
"use strict";
|
||||||
|
const common_vendor = require("../common/vendor.js");
|
||||||
|
const _sfc_main = {
|
||||||
|
name: "tab",
|
||||||
|
data() {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
current: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
|
return {
|
||||||
|
a: common_vendor.o(($event) => false),
|
||||||
|
b: common_vendor.o(($event) => false),
|
||||||
|
c: common_vendor.o(($event) => false),
|
||||||
|
d: common_vendor.o(($event) => false),
|
||||||
|
e: common_vendor.o(($event) => false),
|
||||||
|
f: common_vendor.o(($event) => false),
|
||||||
|
g: common_vendor.o(($event) => false),
|
||||||
|
h: common_vendor.o(($event) => false),
|
||||||
|
i: $props.current
|
||||||
|
};
|
||||||
|
}
|
||||||
|
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||||
|
wx.createComponent(Component);
|
4
unpackage/dist/dev/mp-weixin/components/tabcontrol.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"component": true,
|
||||||
|
"usingComponents": {}
|
||||||
|
}
|
1
unpackage/dist/dev/mp-weixin/components/tabcontrol.wxml
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<view class="tab-container"><view class="uni-margin-wrap"><swiper class="swiper" current="{{i}}" circular="{{false}}" indicator-dots="{{true}}" autoplay="{{false}}" interval="{{200}}" duration="{{2000}}"><swiper-item catchtouchmove="{{a}}"><slot name="tab0"></slot></swiper-item><swiper-item catchtouchmove="{{b}}"><slot name="tab1"></slot></swiper-item><swiper-item catchtouchmove="{{c}}"><slot name="tab2"></slot></swiper-item><swiper-item catchtouchmove="{{d}}"><slot name="tab3"></slot></swiper-item><swiper-item catchtouchmove="{{e}}"><slot name="tab4"></slot></swiper-item><swiper-item catchtouchmove="{{f}}"><slot name="tab5"></slot></swiper-item><swiper-item catchtouchmove="{{g}}"><slot name="tab6"></slot></swiper-item><swiper-item catchtouchmove="{{h}}"><slot name="tab7"></slot></swiper-item></swiper></view></view>
|
21
unpackage/dist/dev/mp-weixin/components/tabcontrol.wxss
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
.tab-container {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
.uni-margin-wrap {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.swiper {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.swiper-item {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
1
unpackage/dist/dev/mp-weixin/config.js
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
"use strict";
|
13
unpackage/dist/dev/mp-weixin/pages/careerfair/careerfair.js
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
"use strict";
|
||||||
|
const common_vendor = require("../../common/vendor.js");
|
||||||
|
const _sfc_main = {
|
||||||
|
data() {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
methods: {}
|
||||||
|
};
|
||||||
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||||
|
wx.createPage(MiniProgramPage);
|
4
unpackage/dist/dev/mp-weixin/pages/careerfair/careerfair.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"navigationBarTitleText": "",
|
||||||
|
"usingComponents": {}
|
||||||
|
}
|
1
unpackage/dist/dev/mp-weixin/pages/careerfair/careerfair.wxml
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<view></view>
|
0
unpackage/dist/dev/mp-weixin/pages/careerfair/careerfair.wxss
vendored
Normal file
31
unpackage/dist/dev/mp-weixin/pages/index/index.js
vendored
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
"use strict";
|
||||||
|
const common_vendor = require("../../common/vendor.js");
|
||||||
|
const stores_useUserStore = require("../../stores/useUserStore.js");
|
||||||
|
const _sfc_main = {
|
||||||
|
__name: "index",
|
||||||
|
setup(__props) {
|
||||||
|
const { $api, navTo } = common_vendor.inject("globalFunction");
|
||||||
|
stores_useUserStore.useUserStore();
|
||||||
|
const state = common_vendor.reactive({
|
||||||
|
title: "123123123房贷首付打的手机家里好玩的很浓厚第卡后sdhiwohdijasnbdhoui1很努力"
|
||||||
|
});
|
||||||
|
common_vendor.onShow(() => {
|
||||||
|
console.log("onShow");
|
||||||
|
});
|
||||||
|
common_vendor.onLoad(() => {
|
||||||
|
console.log("onLoad");
|
||||||
|
navTo("/pages/login/login");
|
||||||
|
});
|
||||||
|
common_vendor.watch(
|
||||||
|
() => state.title,
|
||||||
|
(newValue, oldValue) => {
|
||||||
|
},
|
||||||
|
{ deep: true }
|
||||||
|
);
|
||||||
|
return (_ctx, _cache) => {
|
||||||
|
return {};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-1cf27b2a"]]);
|
||||||
|
wx.createPage(MiniProgramPage);
|
4
unpackage/dist/dev/mp-weixin/pages/index/index.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"navigationBarTitleText": "uni-app",
|
||||||
|
"usingComponents": {}
|
||||||
|
}
|
1
unpackage/dist/dev/mp-weixin/pages/index/index.wxml
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<view class="content data-v-1cf27b2a"></view>
|
4
unpackage/dist/dev/mp-weixin/pages/index/index.wxss
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
.logo.data-v-1cf27b2a {
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
}
|
29
unpackage/dist/dev/mp-weixin/pages/login/components/tabcontrol.js
vendored
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
"use strict";
|
||||||
|
const common_vendor = require("../../../common/vendor.js");
|
||||||
|
const _sfc_main = {
|
||||||
|
name: "tab",
|
||||||
|
data() {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
current: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
|
return {
|
||||||
|
a: common_vendor.o(($event) => false),
|
||||||
|
b: common_vendor.o(($event) => false),
|
||||||
|
c: common_vendor.o(($event) => false),
|
||||||
|
d: common_vendor.o(($event) => false),
|
||||||
|
e: common_vendor.o(($event) => false),
|
||||||
|
f: common_vendor.o(($event) => false),
|
||||||
|
g: common_vendor.o(($event) => false),
|
||||||
|
h: common_vendor.o(($event) => false),
|
||||||
|
i: $props.current
|
||||||
|
};
|
||||||
|
}
|
||||||
|
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||||
|
wx.createComponent(Component);
|
4
unpackage/dist/dev/mp-weixin/pages/login/components/tabcontrol.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"component": true,
|
||||||
|
"usingComponents": {}
|
||||||
|
}
|
1
unpackage/dist/dev/mp-weixin/pages/login/components/tabcontrol.wxml
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<view class="tab-container"><view class="uni-margin-wrap"><swiper class="swiper" current="{{i}}" circular="{{false}}" indicator-dots="{{false}}" autoplay="{{false}}" duration="{{500}}"><swiper-item catchtouchmove="{{a}}"><slot name="tab0"></slot></swiper-item><swiper-item catchtouchmove="{{b}}"><slot name="tab1"></slot></swiper-item><swiper-item catchtouchmove="{{c}}"><slot name="tab2"></slot></swiper-item><swiper-item catchtouchmove="{{d}}"><slot name="tab3"></slot></swiper-item><swiper-item catchtouchmove="{{e}}"><slot name="tab4"></slot></swiper-item><swiper-item catchtouchmove="{{f}}"><slot name="tab5"></slot></swiper-item><swiper-item catchtouchmove="{{g}}"><slot name="tab6"></slot></swiper-item><swiper-item catchtouchmove="{{h}}"><slot name="tab7"></slot></swiper-item></swiper></view></view>
|
21
unpackage/dist/dev/mp-weixin/pages/login/components/tabcontrol.wxss
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
.tab-container {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
.uni-margin-wrap {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.swiper {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.swiper-item {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
42
unpackage/dist/dev/mp-weixin/pages/login/login.js
vendored
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
"use strict";
|
||||||
|
const common_vendor = require("../../common/vendor.js");
|
||||||
|
const common_assets = require("../../common/assets.js");
|
||||||
|
if (!Math) {
|
||||||
|
tabcontrolVue();
|
||||||
|
}
|
||||||
|
const tabcontrolVue = () => "./components/tabcontrol.js";
|
||||||
|
const _sfc_main = {
|
||||||
|
__name: "login",
|
||||||
|
setup(__props) {
|
||||||
|
const { statusBarHeight } = common_vendor.inject("deviceInfo");
|
||||||
|
const tabCurrent = common_vendor.ref(1);
|
||||||
|
common_vendor.reactive({
|
||||||
|
sex: 1
|
||||||
|
});
|
||||||
|
setTimeout(() => {
|
||||||
|
console.log("gg");
|
||||||
|
}, 4e3);
|
||||||
|
const getuserinfo = (e) => {
|
||||||
|
console.log(e);
|
||||||
|
};
|
||||||
|
function nextStep() {
|
||||||
|
tabCurrent.value += 1;
|
||||||
|
}
|
||||||
|
return (_ctx, _cache) => {
|
||||||
|
return {
|
||||||
|
a: common_vendor.unref(statusBarHeight) + "px",
|
||||||
|
b: common_assets._imports_0,
|
||||||
|
c: common_vendor.o(getuserinfo),
|
||||||
|
d: common_assets._imports_1,
|
||||||
|
e: common_assets._imports_2,
|
||||||
|
f: common_vendor.o(nextStep),
|
||||||
|
g: common_vendor.o(nextStep),
|
||||||
|
h: common_vendor.o(nextStep),
|
||||||
|
i: common_vendor.p({
|
||||||
|
current: tabCurrent.value
|
||||||
|
})
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
wx.createPage(_sfc_main);
|
7
unpackage/dist/dev/mp-weixin/pages/login/login.json
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"navigationBarTitleText": "登录",
|
||||||
|
"navigationStyle": "custom",
|
||||||
|
"usingComponents": {
|
||||||
|
"tabcontrol-vue": "./components/tabcontrol"
|
||||||
|
}
|
||||||
|
}
|
1
unpackage/dist/dev/mp-weixin/pages/login/login.wxml
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<view class="container"><view style="{{'height:' + a}}"></view><tabcontrol-vue wx:if="{{i}}" u-s="{{['tab0','tab1','tab2','tab3']}}" u-i="665c1f0a-0" bind:__l="__l" u-p="{{i}}"><view slot="tab0"><view class="login-content"><image class="logo" src="{{b}}"></image><view class="logo-title">就业</view></view><view class="btns"><button open-type="getUserInfo" bindgetuserinfo="{{c}}" class="wxlogin">微信登录</button><view class="wxaddress">青岛市公共就业和人才服务中心</view></view></view><view class="tabtwo" slot="tab1"><view class="tabtwo-top"><view class="color_FFFFFF fs_30">选择您的性别1/6</view><view class="color_D9D9D9">个人信息仅用于推送优质内容</view></view><view class="fl_box fl_justmiddle"><view class="tabtwo-sex"><image class="sex-img" src="{{d}}"></image><view class="mar_top5">女</view><view class="dot"></view></view><view class="tabtwo-sex"><image class="sex-img" src="{{e}}"></image><view class="mar_top5">男</view><view class="dot doted"></view></view></view><view class="nextstep" bindtap="{{f}}">下一步</view></view><view class="tabtwo" slot="tab2"><view class="tabtwo-top"><view class="color_FFFFFF fs_30">选择您的年龄断段2/6</view><view class="color_D9D9D9">个人信息仅用于推送优质内容</view></view><view class="fl_box fl_deri"><view class="agebtn agebtned">30岁以下</view><view class="agebtn">31-40岁</view><view class="agebtn">41-50岁</view><view class="agebtn">51岁以上</view></view><view class="fl_box fl_justmiddle"></view><view class="nextstep" bindtap="{{g}}">下一步</view></view><view class="tabtwo" slot="tab3"><view class="tabtwo-top"><view class="color_FFFFFF fs_30">选择您的学历3/6</view><view class="color_D9D9D9">个人信息仅用于推送优质内容</view></view><view class="eduction-content"><view class="eductionbtn eductionbtned">30岁以下</view><view class="eductionbtn">31-40岁</view><view class="eductionbtn">41-50岁</view><view class="eductionbtn">51岁以上</view></view><view class="fl_box fl_justmiddle"></view><view class="nextstep" bindtap="{{h}}">下一步</view></view></tabcontrol-vue></view>
|
128
unpackage/dist/dev/mp-weixin/pages/login/login.wxss
vendored
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
.container {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: linear-gradient(#4778ec, #002979);
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.login-content {
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 40%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-end;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
}
|
||||||
|
.login-content .logo {
|
||||||
|
width: 266rpx;
|
||||||
|
height: 182rpx;
|
||||||
|
}
|
||||||
|
.login-content .logo-title {
|
||||||
|
font-size: 88rpx;
|
||||||
|
color: #fff;
|
||||||
|
width: 180rpx;
|
||||||
|
}
|
||||||
|
.btns {
|
||||||
|
position: absolute;
|
||||||
|
top: 70%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, 0);
|
||||||
|
}
|
||||||
|
.btns .wxlogin {
|
||||||
|
width: 562rpx;
|
||||||
|
height: 140rpx;
|
||||||
|
border-radius: 70rpx;
|
||||||
|
background-color: #13c57c;
|
||||||
|
color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 140rpx;
|
||||||
|
font-size: 70rpx;
|
||||||
|
}
|
||||||
|
.btns .wxaddress {
|
||||||
|
color: #bbb;
|
||||||
|
margin-top: 70rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.tabtwo {
|
||||||
|
padding: 40rpx;
|
||||||
|
}
|
||||||
|
.tabtwo-top {
|
||||||
|
margin: 222rpx 0 0 0;
|
||||||
|
}
|
||||||
|
.tabtwo-sex {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 40rpx;
|
||||||
|
margin: 200rpx 60rpx 0 60rpx;
|
||||||
|
}
|
||||||
|
.tabtwo-sex .sex-img {
|
||||||
|
width: 184rpx;
|
||||||
|
height: 184rpx;
|
||||||
|
}
|
||||||
|
.dot {
|
||||||
|
width: 68rpx;
|
||||||
|
height: 68rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #d1d1d6;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.dot:before {
|
||||||
|
content: '';
|
||||||
|
width: 44rpx;
|
||||||
|
height: 44rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #1e4baa;
|
||||||
|
}
|
||||||
|
.doted {
|
||||||
|
background: #13c57c;
|
||||||
|
}
|
||||||
|
.doted:after {
|
||||||
|
content: '';
|
||||||
|
width: 34rpx;
|
||||||
|
height: 34rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #13c57c;
|
||||||
|
}
|
||||||
|
.agebtn {
|
||||||
|
width: 630rpx;
|
||||||
|
height: 108rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
background: #d9d9d9;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 108rpx;
|
||||||
|
font-size: 40rpx;
|
||||||
|
margin-top: 50rpx;
|
||||||
|
color: #606060;
|
||||||
|
}
|
||||||
|
.agebtned {
|
||||||
|
background: #13c57c;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.nextstep {
|
||||||
|
position: absolute;
|
||||||
|
top: 80%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, 0);
|
||||||
|
width: 630rpx;
|
||||||
|
height: 98rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
background: #13c57c;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 98rpx;
|
||||||
|
font-size: 40rpx;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.eduction-content {
|
||||||
|
display: grid;
|
||||||
|
}
|
12
unpackage/dist/dev/mp-weixin/pages/mine/mine.js
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
"use strict";
|
||||||
|
const common_vendor = require("../../common/vendor.js");
|
||||||
|
const _sfc_main = {
|
||||||
|
data() {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||||
|
wx.createPage(MiniProgramPage);
|
4
unpackage/dist/dev/mp-weixin/pages/mine/mine.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"navigationBarTitleText": "",
|
||||||
|
"usingComponents": {}
|
||||||
|
}
|
1
unpackage/dist/dev/mp-weixin/pages/mine/mine.wxml
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<view></view>
|
0
unpackage/dist/dev/mp-weixin/pages/mine/mine.wxss
vendored
Normal file
12
unpackage/dist/dev/mp-weixin/pages/msglog/msglog.js
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
"use strict";
|
||||||
|
const common_vendor = require("../../common/vendor.js");
|
||||||
|
const _sfc_main = {
|
||||||
|
data() {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||||
|
wx.createPage(MiniProgramPage);
|
4
unpackage/dist/dev/mp-weixin/pages/msglog/msglog.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"navigationBarTitleText": "",
|
||||||
|
"usingComponents": {}
|
||||||
|
}
|
1
unpackage/dist/dev/mp-weixin/pages/msglog/msglog.wxml
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<view></view>
|
0
unpackage/dist/dev/mp-weixin/pages/msglog/msglog.wxss
vendored
Normal file
30
unpackage/dist/dev/mp-weixin/project.config.json
vendored
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"description": "项目配置文件。",
|
||||||
|
"packOptions": {
|
||||||
|
"ignore": [],
|
||||||
|
"include": []
|
||||||
|
},
|
||||||
|
"setting": {
|
||||||
|
"urlCheck": false,
|
||||||
|
"es6": true,
|
||||||
|
"postcss": true,
|
||||||
|
"minified": true,
|
||||||
|
"newFeature": true,
|
||||||
|
"bigPackageSizeSupport": true,
|
||||||
|
"babelSetting": {
|
||||||
|
"ignore": [],
|
||||||
|
"disablePlugins": [],
|
||||||
|
"outputPath": ""
|
||||||
|
},
|
||||||
|
"condition": true
|
||||||
|
},
|
||||||
|
"compileType": "miniprogram",
|
||||||
|
"libVersion": "3.6.3",
|
||||||
|
"appid": "touristappid",
|
||||||
|
"projectname": "qingdao-employment-service",
|
||||||
|
"condition": {},
|
||||||
|
"editorSetting": {
|
||||||
|
"tabIndent": "insertSpaces",
|
||||||
|
"tabSize": 2
|
||||||
|
}
|
||||||
|
}
|
8
unpackage/dist/dev/mp-weixin/project.private.config.json
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
|
||||||
|
"projectname": "qingdao-employment-service",
|
||||||
|
"setting": {
|
||||||
|
"compileHotReLoad": true,
|
||||||
|
"autoAudits": false
|
||||||
|
}
|
||||||
|
}
|
BIN
unpackage/dist/dev/mp-weixin/static/icon/man.png
vendored
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
unpackage/dist/dev/mp-weixin/static/icon/woman.png
vendored
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
unpackage/dist/dev/mp-weixin/static/logo.png
vendored
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
unpackage/dist/dev/mp-weixin/static/logo2.png
vendored
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
unpackage/dist/dev/mp-weixin/static/tabbar/calendar.png
vendored
Normal file
After Width: | Height: | Size: 412 B |
BIN
unpackage/dist/dev/mp-weixin/static/tabbar/calendared.png
vendored
Normal file
After Width: | Height: | Size: 341 B |
BIN
unpackage/dist/dev/mp-weixin/static/tabbar/chat4.png
vendored
Normal file
After Width: | Height: | Size: 662 B |
BIN
unpackage/dist/dev/mp-weixin/static/tabbar/mine.png
vendored
Normal file
After Width: | Height: | Size: 677 B |
BIN
unpackage/dist/dev/mp-weixin/static/tabbar/post.png
vendored
Normal file
After Width: | Height: | Size: 509 B |
BIN
unpackage/dist/dev/mp-weixin/static/tabbar/posted.png
vendored
Normal file
After Width: | Height: | Size: 456 B |
30
unpackage/dist/dev/mp-weixin/stores/useUserStore.js
vendored
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
"use strict";
|
||||||
|
const common_vendor = require("../common/vendor.js");
|
||||||
|
const useUserStore = common_vendor.defineStore("user", () => {
|
||||||
|
const hasLogin = common_vendor.ref(false);
|
||||||
|
const openId = common_vendor.ref("");
|
||||||
|
const userInfo = common_vendor.ref({});
|
||||||
|
const token = common_vendor.ref("测试token");
|
||||||
|
const login = (value) => {
|
||||||
|
hasLogin.value = true;
|
||||||
|
userInfo.value = value;
|
||||||
|
openId.value = value.wxOpenId;
|
||||||
|
token.value = value.token;
|
||||||
|
common_vendor.index.setStorage({
|
||||||
|
key: "token",
|
||||||
|
data: value.token
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const logOut = () => {
|
||||||
|
hasLogin = false;
|
||||||
|
};
|
||||||
|
return {
|
||||||
|
hasLogin,
|
||||||
|
openId,
|
||||||
|
userInfo,
|
||||||
|
token,
|
||||||
|
login,
|
||||||
|
logOut
|
||||||
|
};
|
||||||
|
});
|
||||||
|
exports.useUserStore = useUserStore;
|
3
unpackage/dist/dev/mp-weixin/utils/request.js
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
"use strict";
|
||||||
|
require("../common/vendor.js");
|
||||||
|
require("../stores/useUserStore.js");
|
66
utils/request.js
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
import config from "@/config.js"
|
||||||
|
import useUserStore from '@/stores/useUserStore';
|
||||||
|
const request = ({
|
||||||
|
url,
|
||||||
|
method = 'GET',
|
||||||
|
data = {},
|
||||||
|
load = false,
|
||||||
|
header = {}
|
||||||
|
} = {}) => {
|
||||||
|
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
if (load) {
|
||||||
|
uni.showLoading({
|
||||||
|
title: '请稍候',
|
||||||
|
mask: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
console.log(useUserStore())
|
||||||
|
let Authorization = ''
|
||||||
|
if (useUserStore().token) {
|
||||||
|
Authorization = `${useUserStore().userInfo.token}${useUserStore().token}`
|
||||||
|
}
|
||||||
|
uni.request({
|
||||||
|
url: config.baseUrl + url,
|
||||||
|
method,
|
||||||
|
data: data,
|
||||||
|
header: {
|
||||||
|
'Authorization': Authorization || '',
|
||||||
|
...header
|
||||||
|
},
|
||||||
|
success: resData => {
|
||||||
|
// 响应拦截
|
||||||
|
if (resData.statusCode === 200) {
|
||||||
|
const {
|
||||||
|
code,
|
||||||
|
data,
|
||||||
|
message
|
||||||
|
} = resData.data
|
||||||
|
if (code === 200) {
|
||||||
|
resolve(data)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
uni.showToast({
|
||||||
|
title: message,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (resData.data?.code === 401 || resData.data?.code === 402) {
|
||||||
|
store.commit('logout')
|
||||||
|
uni.clearStorageSync('userInfo')
|
||||||
|
}
|
||||||
|
const err = new Error('请求出现异常,请联系工作人员')
|
||||||
|
err.error = resData
|
||||||
|
reject(err)
|
||||||
|
},
|
||||||
|
fail: err => reject(err),
|
||||||
|
complete() {
|
||||||
|
if (load) {
|
||||||
|
uni.hideLoading();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export default request
|