提交 c6f1d43d authored 作者: 劳广强's avatar 劳广强

Init

上级
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
package-lock.*
package.*
.npmrc
node_modules
.DS_Store
dist
unpackage
dist-ssr
coverage
*.local
/cypress/videos/
/cypress/screenshots/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
{
"arrowParens": "always",
"embeddedLanguageFormatting": "auto",
"enable": true,
"endOfLine": "lf",
"bracketSameLine": false,
"bracketSpacing": true,
"htmlWhitespaceSensitivity": "css",
"jsxSingleQuote": false,
"printWidth": 180,
"proseWrap": "preserve",
"quoteProps": "consistent",
"semi": true,
"singleAttributePerLine": false,
"singleQuote": true,
"tabWidth": 2,
"trailingComma": "es5",
"useTabs": false,
"vueIndentScriptAndStyle": false,
"withNodeModules": false,
"useEditorConfig": false,
"resolveGlobalModules": false,
"requirePragma": false,
"enableDebugLogs": false
}
<script>
export default {
onLaunch: function () {
console.log('App Launch');
},
onShow: function () {
console.log('App Show');
},
onHide: function () {
console.log('App Hide');
},
};
</script>
<style>
/*每个页面公共css */
</style>
<style lang="scss">
@import '@/uni_modules/uview-ui/index.scss';
</style>
<template>
<view>
<view class="task_content_list">
<view class="task_list_left">
<image v-if="taskData.icon" mode="aspectFill" class="left" src="@/static/img_renwu2@2x.png" />
<image v-else mode="aspectFill" class="left" src="@/static/img_renwu@2x.png" />
<view class="right">
<view :class="['task_title', taskData.titleStatus ? 'task_title_active' : '']">{{ taskData.title }}</view>
<template v-if="taskData.tagStatus">
<text v-for="(item, index) in taskData.tagList" :key="item.id" :class="['received', item.active ? 'received_acitve' : '']">{{ item.name }}</text>
</template>
<view class="task_date_box">
<image mode="aspectFill" class="thing_icon" src="@/static/ic_renwushijian@2x.png" />
<view class="task_date">{{ taskData.startDate }} —— {{ taskData.endDate }}</view>
</view>
</view>
</view>
<view v-if="taskData.pointsStatus === 0" class="task_list_right">
<view class="notice_right_number task_number">{{ taskData.pointsCount }}</view>
<image class="notice_right_icon" src="@/static/ic_jifen_zuo@2x.png" />
</view>
<view v-if="taskData.pointsStatus === 1" @click.stop="articleFollow(taskData.id)" class="task_list_right task_list_right_sc">
<image class="notice_right_sc_icon" src="@/static/ic_sc_rw@2x.png" />
</view>
<view v-if="taskData.pointsStatus === 2" class="task_list_right"> </view>
</view>
</view>
</template>
<script>
import { request } from '@/utils/util';
export default {
name: 'TaskItem',
props: {
/**
* 组件的属性列表
*/
taskData: {
type: Object,
value: {
id: 0,
title: '',
titleStatus: true,
tagStatus: false,
tagList: [
{
id: 0,
active: false,
name: '',
},
],
startDate: '',
endDate: '',
icon: false,
pointsStatus: 0,
pointsCount: 0,
},
},
},
data() {
return {
taskDetail: '',
};
},
methods: {
// 关注 取消关注
async articleFollow(id) {
uni.showModal({
title: '取消关注',
content: '确定要取消关注吗?',
success: async (res) => {
if (!res.confirm) return;
let token = uni.getStorageSync('token');
await request.post(`/api/task_follow/create?token=${token}`, { task_id: id });
this.$emit('ArticleFollow');
},
});
},
},
};
</script>
<style scoped>
.task_content_list {
width: 100%;
padding: 34rpx 0;
border-bottom: 2rpx solid #f6f6f6;
display: flex;
justify-content: space-between;
align-items: center;
}
.task_list_left {
flex: 4;
display: flex;
justify-content: flex-start;
/* align-items: center; */
}
.task_list_left .left {
min-width: 91rpx;
max-width: 92rpx;
height: 92rpx;
}
.task_list_left .right {
margin-left: 27rpx;
}
.task_title {
font-size: 28rpx;
font-weight: 500;
color: #333333;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
word-break: break-all;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
.task_title_active {
color: #999999;
}
.received {
width: 70%;
padding: 0 8rpx;
border-radius: 10rpx;
border: 2rpx solid #8171fc;
color: #8171fc;
font-weight: 500;
font-size: 22rpx;
margin-left: 5rpx;
margin-right: 20rpx;
margin-bottom: 18rpx;
}
.received_acitve {
border: 2rpx solid #fe9731;
color: #fe9731;
}
.task_date_box {
margin-top: 18rpx;
display: flex;
justify-content: flex-start;
align-items: center;
}
.task_date {
font-size: 24rpx;
font-weight: 500;
color: #999999;
margin-left: 14rpx;
}
.thing_icon {
width: 26rpx;
height: 28rpx;
}
.task_list_right {
flex: 1;
height: 100%;
display: flex;
justify-content: flex-end;
align-items: center;
align-self: flex-start;
}
.task_list_right_sc {
justify-content: center;
align-items: center;
align-self: center;
}
.notice_right_sc_icon {
width: 30rpx;
height: 30rpx;
}
.task_list_right_none {
/* width: 50rpx; */
}
.task_number {
font-size: 28rpx;
font-weight: 700;
color: #8171fc;
margin-right: 12rpx;
}
.notice_right_icon {
width: 40rpx;
height: 40rpx;
}
</style>
<!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>
import App from './App';
// #ifndef VUE3
import Vue from 'vue';
import uView from '@/uni_modules/uview-ui';
Vue.use(uView);
Vue.config.productionTip = false;
App.mpType = 'app';
const app = new Vue({
...App,
});
app.$mount();
// #endif
// #ifdef VUE3
import { createSSRApp } from 'vue';
export function createApp() {
const app = createSSRApp(App);
return {
app,
};
}
// #endif
{
"name" : "荣县随手拍",
"appid" : "__UNI__BD3107B",
"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
},
"usingComponents" : true
},
"mp-alipay" : {
"usingComponents" : true
},
"mp-baidu" : {
"usingComponents" : true
},
"mp-toutiao" : {
"usingComponents" : true
},
"uniStatistics" : {
"enable" : false
},
"vueVersion" : "2",
"h5" : {
"devServer": {
"proxy": {
"/api": {
"target": "https://csssptest.yuhuofei.cn",
"pathRewrite": { "^/api": "" }
}
}
}
}
}
{
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
{
"path": "pages/index/index",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "uni-app"
}
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
},
"uniIdRouter": {}
}
<template>
<uni-card>
<text>这是一个基础卡片示例,内容较少,此示例展示了一个没有任何属性不带阴影的卡片。</text>
</uni-card>
</template>
<script>
export default {
data() {
return {};
},
onLoad(query) {},
methods: {},
};
</script>
<style lang="scss"></style>
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论