消息
BIN
HSLink-app/__MACOSX/._components
Normal file
BIN
HSLink-app/__MACOSX/components/._zz-prompt
Normal file
BIN
HSLink-app/components/.DS_Store
vendored
Normal file
115
HSLink-app/components/jx-imgText-edit.vue
Normal file
@ -0,0 +1,115 @@
|
||||
<template>
|
||||
<!-- jx-imgText-edit -->
|
||||
<view class="jx-imgText-edit">
|
||||
<view class="content">
|
||||
<block v-for="(item,index) in editData" :key="index">
|
||||
<textarea class="textarea_com" :placeholder="editData.length == 1 ? placeText : ''"
|
||||
:maxlength="maxlength" :auto-height="true"
|
||||
:data-index="index"
|
||||
v-if="item.type=='textarea'"
|
||||
value="" v-model="item.value">
|
||||
</textarea>
|
||||
<view class="view_com" v-else-if="item.type=='img'" >
|
||||
<image class="img_com" :src="item.value" mode="widthFix"/>
|
||||
<view class="mask" :style="{opacity:'0.5'}"></view>
|
||||
<image class="del" src="@/static/shanchu.png" mode="widthFix" @click="delImg(index)"/>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
maxlength: {
|
||||
type: Number,
|
||||
default: -1
|
||||
},
|
||||
|
||||
placeText:{
|
||||
//文本框默认的文字
|
||||
type: String,
|
||||
default: '写点什么吧...'
|
||||
},
|
||||
|
||||
editData: {
|
||||
type: Array,
|
||||
default () {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
//提交数据
|
||||
submit () {
|
||||
return this.editData;
|
||||
},
|
||||
//删除图片
|
||||
delImg (index) {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '确定要删除该图片吗? ',
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
console.log('用户点击确定');
|
||||
this.$emit("delImg",index);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
page{
|
||||
background: #fff;
|
||||
}
|
||||
.jx-imgText-edit {
|
||||
width: 100%;
|
||||
padding: 0 30rpx 0rpx 30rpx;
|
||||
box-sizing: border-box;
|
||||
padding-top: 10rpx;
|
||||
background: #fff;
|
||||
.content {
|
||||
.textarea_com {
|
||||
// padding:20rpx 0;
|
||||
width: 100%;
|
||||
font-size: 32upx;
|
||||
background: #fff;
|
||||
line-height: 1.5;
|
||||
min-height: 64rpx!important;
|
||||
}
|
||||
.view_com {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
.img_com {
|
||||
width: 100%;
|
||||
}
|
||||
.mask {
|
||||
background: rgba(0,0,0,0.5);
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.del {
|
||||
width: 60upx;
|
||||
height: 60upx;
|
||||
position: absolute;
|
||||
bottom: 30upx;
|
||||
right: 20upx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
37
HSLink-app/components/prompt/README.md
Normal file
@ -0,0 +1,37 @@
|
||||
# Prompt
|
||||
|
||||
## 说明
|
||||
|
||||
一个可以输入内容并返回的prompt组件, 支持一个默认slot放入中间.
|
||||
|
||||
## 用法
|
||||
|
||||
**父组件**
|
||||
|
||||
template中
|
||||
```html
|
||||
<prompt :visible.sync="promptVisible" :placeholder="输入店号" :defaultValue="123" @confirm="clickPromptConfirm" mainColor="#e74a39">
|
||||
<!-- 这里放入slot内容-->
|
||||
</prompt>
|
||||
```
|
||||
|
||||
```js
|
||||
import Prompt from '@/components/prompt/index.vue'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
// 控制弹框输入框显示
|
||||
promptVisible: false,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 点击弹出输入框确定
|
||||
*/
|
||||
clickPromptConfirm(val) {
|
||||
console.log(val)
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
157
HSLink-app/components/prompt/index.vue
Normal file
@ -0,0 +1,157 @@
|
||||
<template>
|
||||
<view class="prompt-box" v-if="visible" @touchmove="true">
|
||||
<view class="prompt">
|
||||
<view class="prompt-top">
|
||||
<text class="prompt-title">{{title}}</text>
|
||||
<input v-if="!isMutipleLine" class="prompt-input" :style="inputStyle" type="text" :placeholder="placeholder" v-model="value">
|
||||
<textarea v-else class="prompt-input" :style="inputStyle" type="text" :placeholder="placeholder" v-model="value"></textarea>
|
||||
</view>
|
||||
<slot></slot>
|
||||
<view class="prompt-buttons">
|
||||
<button class="prompt-cancle" :style="'color:' + mainColor" @click="close">取消</button>
|
||||
<button class="prompt-confirm" :style="'background:' + mainColor" @click="confirm">确定</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
visible: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
required: true,
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: '提示',
|
||||
},
|
||||
placeholder: {
|
||||
type: String,
|
||||
default: '请输入内容',
|
||||
},
|
||||
mainColor: {
|
||||
type: String,
|
||||
default: '#e74a39',
|
||||
},
|
||||
defaultValue: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
inputStyle: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
// 是否多行输入的textarea
|
||||
isMutipleLine: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
value: '',
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
visible(val) {
|
||||
if(val) {
|
||||
this.value = this.defaultValue
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.value = this.defaultValue === 'true' ? '' : this.defaultValue
|
||||
},
|
||||
methods: {
|
||||
close() {
|
||||
this.$emit('update:visible', false)
|
||||
},
|
||||
confirm() {
|
||||
this.$emit('confirm', this.value)
|
||||
this.value = ''
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
view,
|
||||
button,
|
||||
input {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.prompt-box {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background: rgba(0, 0, 0, .2);
|
||||
transition: opacity .2s linear;
|
||||
}
|
||||
|
||||
.prompt {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
width: 600upx;
|
||||
min-height: 300upx;
|
||||
background: white;
|
||||
border-radius: 20upx;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.prompt-top {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.prompt-title {
|
||||
margin: 20upx 0;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.prompt-input {
|
||||
width: 520upx;
|
||||
min-height: 72upx;
|
||||
padding: 8upx 16upx;
|
||||
border: 2upx solid #ddd;
|
||||
border-radius: 8upx;
|
||||
font-size: 28upx;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.prompt-buttons {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
box-shadow: 0 0 2upx 2upx #eee;
|
||||
}
|
||||
|
||||
.prompt-buttons button:after {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
button {
|
||||
width: 50%;
|
||||
background: white;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.prompt-cancle {
|
||||
background: white;
|
||||
}
|
||||
|
||||
.prompt-confirm {
|
||||
color: white;
|
||||
}
|
||||
</style>
|
155
HSLink-app/pages/notice-edit/notice-edit.vue
Normal file
@ -0,0 +1,155 @@
|
||||
<template>
|
||||
<view class="page">
|
||||
<view class="cu-item height">
|
||||
<view class="action">
|
||||
<text class="text-black">文章名称:</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cu-item title">
|
||||
<textarea placeholder="请输入文章名称"
|
||||
v-model="noticeInfo.title"
|
||||
maxlength=50
|
||||
></textarea>
|
||||
</view>
|
||||
<view class="cu-item height">
|
||||
<view class="action">
|
||||
<text class="text-black">文章标签:</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cu-item label">
|
||||
<textarea placeholder="请输入文章标签"
|
||||
v-model="noticeInfo.label"
|
||||
maxlength=4
|
||||
></textarea>
|
||||
</view>
|
||||
<view class="cu-item">
|
||||
<view class="action">
|
||||
<text class="text-black">文章内容:</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cu-item content">
|
||||
<textarea placeholder="请输入文章内容"
|
||||
v-model="noticeInfo.content"
|
||||
auto-height="true"
|
||||
maxlength=2000
|
||||
></textarea>
|
||||
</view>
|
||||
<view class="button">
|
||||
<button type="default" @tap="preservation">保存</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import request from '@/util/request.js';
|
||||
export default {
|
||||
components: {
|
||||
},
|
||||
data() {
|
||||
let noticeInfo = uni.getStorageSync('notice');
|
||||
noticeInfo.fabulous = true;
|
||||
noticeInfo.messageFabulous = true;
|
||||
return {
|
||||
//文章信息
|
||||
noticeInfo: noticeInfo,
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
},
|
||||
/**
|
||||
* 删除
|
||||
* @param {Object} e
|
||||
*/
|
||||
onNavigationBarButtonTap(e) {
|
||||
let _this = this;
|
||||
uni.showModal({
|
||||
title: '删除',
|
||||
content: '确认删除这篇文章?',
|
||||
success(res) {
|
||||
if (res.confirm) {
|
||||
request.post('/hs/deleteOne',{
|
||||
id: _this.noticeInfo.id
|
||||
}).then(res => {
|
||||
console.log("删除这篇文章",res);
|
||||
if (res.data === 1) {
|
||||
uni.showToast({
|
||||
icon: 'loading',
|
||||
title: '删除成功'
|
||||
});
|
||||
setTimeout(() => {
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
},1000)
|
||||
}
|
||||
},err=>{
|
||||
console.log("err",err);
|
||||
})
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
preservation() {
|
||||
request.post('/hs/updateOneContent',{
|
||||
id: this.noticeInfo.id,
|
||||
label: this.noticeInfo.label,
|
||||
title: this.noticeInfo.title,
|
||||
content: this.noticeInfo.content
|
||||
}).then(res => {
|
||||
console.log("保存文章",res);
|
||||
if (res.data === 1) {
|
||||
uni.showToast({
|
||||
icon: 'loading',
|
||||
title: '保存成功'
|
||||
});
|
||||
setTimeout(() => {
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
},1000)
|
||||
}
|
||||
},err=>{
|
||||
console.log("err",err);
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.button{
|
||||
padding: 40rpx 100rpx;
|
||||
}
|
||||
.cu-item{
|
||||
padding: 20rpx;
|
||||
}
|
||||
.title{
|
||||
padding-top: 0;
|
||||
}
|
||||
.title textarea, .label textarea, .content textarea{
|
||||
background-color: #F1F1F1;
|
||||
padding: 20rpx;
|
||||
width: 100%;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
.title textarea{
|
||||
height: 128rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
.label textarea{
|
||||
height: 80rpx;
|
||||
}
|
||||
.content textarea{
|
||||
text-indent: 40rpx;
|
||||
}
|
||||
|
||||
</style>
|
146
HSLink-app/pages/tabbar/message/chat-page.vue
Normal file
@ -0,0 +1,146 @@
|
||||
<template>
|
||||
<view class="pages">
|
||||
<view class="cu-chat" id="chart-page">
|
||||
<view class="cu-item" :class="isMy(item,'self')" v-for="(item,index) in letterList" :key="index">
|
||||
<view class="header-photo cu-avatar radius" v-if="item.send_id !== userInfo.user_id">
|
||||
{{messageInfo.userInfo.real_name.slice(0,1)}}
|
||||
</view>
|
||||
<view class="main">
|
||||
<view class="content shadow" :class="isMy(item,'bg-green')">
|
||||
<text>{{item.content}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="header-photo cu-avatar radius" v-if="item.send_id === userInfo.user_id">
|
||||
{{messageInfo.userInfo.real_name.slice(0,1)}}
|
||||
</view>
|
||||
<view class="date">{{item.letter_create_time}}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="cu-bar foot input" :style="[{bottom:InputBottom+'px'}]">
|
||||
<view class="action">
|
||||
<text class="cuIcon-sound text-grey"></text>
|
||||
</view>
|
||||
<input class="solid-bottom" :adjust-position="false" :focus="false" maxlength="300" cursor-spacing="10"
|
||||
@focus="InputFocus" @blur="InputBlur" v-model="messageContent"></input>
|
||||
<view class="action">
|
||||
<text class="cuIcon-emojifill text-grey"></text>
|
||||
</view>
|
||||
<button class="cu-btn bg-green shadow" @tap="sendMessage">发送</button>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import request from '@/util/request.js';
|
||||
import $ from '@/static/js/jquery-1.12.2.js';
|
||||
export default {
|
||||
|
||||
data() {
|
||||
return {
|
||||
messageInfo: uni.getStorageSync("messageInfo"),
|
||||
userInfo: uni.getStorageSync('userInfo'),
|
||||
InputBottom: 0,
|
||||
//消息内容
|
||||
messageContent: '',
|
||||
//私信列表
|
||||
letterList: []
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
this.updateRead();
|
||||
this.getTwoLetterApp();
|
||||
},
|
||||
onLoad() {
|
||||
uni.setNavigationBarTitle({
|
||||
title: this.messageInfo.userInfo.real_name
|
||||
});
|
||||
},
|
||||
watch: {
|
||||
letterList() {
|
||||
console.log("messageList change");
|
||||
this.$nextTick(() => {
|
||||
uni.pageScrollTo({scrollTop: 99999, duration: 0});
|
||||
})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 获取两个人的私信
|
||||
*/
|
||||
getTwoLetterApp() {
|
||||
request.post('/hs/getTwoLetterApp',{
|
||||
userId: uni.getStorageSync("userInfo").user_id,
|
||||
otherId: this.messageInfo.userInfo.user_id,
|
||||
}).then(res => {
|
||||
console.log("获取两个人的私信",res);
|
||||
if (res.data !== null) {
|
||||
this.letterList = res.data;
|
||||
} else {
|
||||
|
||||
}
|
||||
},err=>{
|
||||
console.log("err",err);
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 发送消息
|
||||
*/
|
||||
sendMessage() {
|
||||
request.post('/hs/sendLetter',{
|
||||
sendId: uni.getStorageSync("userInfo").user_id,
|
||||
receiveId: this.messageInfo.userInfo.user_id,
|
||||
content: this.messageContent
|
||||
}).then(res => {
|
||||
console.log("发送消息",res);
|
||||
if (res.data === 1) {
|
||||
this.getTwoLetterApp();
|
||||
this.messageContent = '';
|
||||
}
|
||||
},err=>{
|
||||
console.log("err",err);
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 改为已读
|
||||
*/
|
||||
updateRead() {
|
||||
request.post('/hs/updateReadApp',{
|
||||
userId: uni.getStorageSync("userInfo").user_id,
|
||||
otherId: this.messageInfo.userInfo.user_id
|
||||
}).then(res => {
|
||||
console.log("改为已读",res);
|
||||
},err=>{
|
||||
console.log("err",err);
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 判断是否是发送人
|
||||
* @param {Object} item
|
||||
*/
|
||||
isMy(item,classText) {
|
||||
return item.send_id === uni.getStorageSync("userInfo").user_id ? classText : ''
|
||||
},
|
||||
InputFocus(e) {
|
||||
this.InputBottom = e.detail.height
|
||||
},
|
||||
InputBlur(e) {
|
||||
this.InputBottom = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.header-photo{
|
||||
text-align: center;
|
||||
background-color: #1296DB;
|
||||
color: #FFFFFF;
|
||||
font-size: 40rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
.cu-chat{
|
||||
margin-bottom: 100rpx;
|
||||
}
|
||||
</style>
|
137
HSLink-app/pages/tabbar/my/my-article/my-article.vue
Normal file
@ -0,0 +1,137 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<m-search
|
||||
:show="false"
|
||||
placeholder="搜索"
|
||||
button="none"
|
||||
backgroundColor="#efecec"
|
||||
v-model="searchStr"
|
||||
></m-search>
|
||||
<view class="noData" v-if="noData === true">
|
||||
<noData :custom="true"><view class="title" @tap="update()">暂无数据,点击重新加载</view></noData>
|
||||
</view>
|
||||
<view class="list cu-card article dynamic" v-else-if="noData === false">
|
||||
<view class="cu-item" style="padding:0" v-for="(item,index) in noticeListQuery" :key="index">
|
||||
<view class="cu-list menu solid-bottom" @click="goToDetails(item)">
|
||||
<view class="cu-item arrow" style="min-height: 90rpx;padding-top: 10rpx;">
|
||||
<view class="action">
|
||||
<view class="action">
|
||||
<view class='cu-tag radius bg-orange light margin-right-xs' v-if="item.type === '校园通知'">{{item.type}}</view>
|
||||
<view class='cu-tag radius bg-blue light margin-right-xs' v-if="item.type === '家长意见'">{{item.type}}</view>
|
||||
<view class='cu-tag radius bg-green light margin-right-xs' v-if="item.type === '学生想法'">{{item.type}}</view>
|
||||
<text class="text-black text-lg">{{item.title}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="text-content" style="margin:10rpx 0 0 0;">
|
||||
<text class="text-gray">文章标签:</text>
|
||||
<text class="">{{item.label}}</text>
|
||||
</view>
|
||||
<view class="text-content" style="margin:10rpx 0 0 0;">
|
||||
<text class="text-gray">发表人:</text>
|
||||
<text class="">{{item.real_name}}</text>
|
||||
</view>
|
||||
<view class="text-content" style="margin:10rpx 0 0 0;">
|
||||
<text class="text-gray">发表时间:</text>
|
||||
<text class="">{{item.release_time}}</text>
|
||||
</view>
|
||||
<view class="cu-item flex flex-direction bg-white solid-top">
|
||||
<button class="cu-btn bg-white text-orange lg" style="color:#1296DB;font-weight: 400;"
|
||||
@click.stop="edit(item)">
|
||||
编辑
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import request from '@/util/request.js';
|
||||
import mSearch from '@/components/mehaotian-search/mehaotian-search.vue';
|
||||
import noData from '@/components/noData/noData.vue';
|
||||
import { sortBy } from '@/static/js/public.js';
|
||||
export default {
|
||||
components: {
|
||||
mSearch,
|
||||
noData
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
//无数据
|
||||
noData: false,
|
||||
//搜索关键字
|
||||
searchStr: '',
|
||||
//首页数据
|
||||
noticeList: [],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
// 模糊查询
|
||||
noticeListQuery(){
|
||||
return this.noticeList.filter(notice => {
|
||||
return notice.title.indexOf(this.searchStr) != -1 || notice.type.indexOf(this.searchStr) != -1
|
||||
|| notice.real_name.indexOf(this.searchStr) != -1
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
},
|
||||
onShow() {
|
||||
this.getAllData();
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 编辑页面
|
||||
* @param {Object} item
|
||||
*/
|
||||
edit(item) {
|
||||
uni.setStorageSync("notice",item);
|
||||
uni.navigateTo({
|
||||
url: `/pages/notice-edit/notice-edit?noticeId=${item.id}`
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 跳转详情页面
|
||||
* @param {Object} item
|
||||
*/
|
||||
goToDetails(item) {
|
||||
uni.setStorageSync("notice",item);
|
||||
uni.navigateTo({
|
||||
url: '/pages/tabbar/homepage/data-details'
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取我的文章
|
||||
*/
|
||||
getAllData() {
|
||||
request.post('/hs/getListByAttribute',{
|
||||
text: '',
|
||||
releaseId: uni.getStorageSync("userInfo").user_id
|
||||
}).then(res=>{
|
||||
console.log("我的文章",res);
|
||||
this.noticeList = res.data;
|
||||
this.noData = this.noticeList.length === 0 ? true : false;
|
||||
},err=>{
|
||||
console.log("err",err);
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.content {
|
||||
min-height: 85vh;
|
||||
}
|
||||
.text-gray{
|
||||
display: inline-block;
|
||||
width: 4rem;
|
||||
}
|
||||
.cu-card>.cu-item{
|
||||
margin: 20rpx!important;
|
||||
}
|
||||
</style>
|
BIN
HSLink-app/static/img/logo.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
11022
HSLink-app/static/js/jquery-1.12.2.js
vendored
Normal file
BIN
HSLink-app/static/shanchu.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
0
HSLink-app/unpackage/dist/dev/.automator/app-plus/.automator.json
vendored
Normal file
1
HSLink-app/unpackage/dist/dev/app-plus/__uniappchooselocation.js
vendored
Normal file
1
HSLink-app/unpackage/dist/dev/app-plus/__uniappes6.js
vendored
Normal file
1
HSLink-app/unpackage/dist/dev/app-plus/__uniappopenlocation.js
vendored
Normal file
1
HSLink-app/unpackage/dist/dev/app-plus/__uniapppicker.js
vendored
Normal file
8
HSLink-app/unpackage/dist/dev/app-plus/__uniappquill.js
vendored
Normal file
1
HSLink-app/unpackage/dist/dev/app-plus/__uniappquillimageresize.js
vendored
Normal file
1
HSLink-app/unpackage/dist/dev/app-plus/__uniappscan.js
vendored
Normal file
BIN
HSLink-app/unpackage/dist/dev/app-plus/__uniappsuccess.png
vendored
Normal file
After Width: | Height: | Size: 2.0 KiB |
28
HSLink-app/unpackage/dist/dev/app-plus/__uniappview.html
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<script>
|
||||
var __UniViewStartTime__ = Date.now();
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
document.documentElement.style.fontSize = document.documentElement.clientWidth / 20 + 'px'
|
||||
})
|
||||
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>View</title>
|
||||
<link rel="stylesheet" href="view.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script src="__uniappes6.js"></script>
|
||||
<script src="view.umd.min.js"></script>
|
||||
<script src="app-view.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
8
HSLink-app/unpackage/dist/dev/app-plus/app-config-service.js
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
var isReady=false;var onReadyCallbacks=[];
|
||||
var isServiceReady=false;var onServiceReadyCallbacks=[];
|
||||
var __uniConfig = {"pages":["pages/login/login","pages/tabbar/homepage/homepage","pages/tabbar/homepage/data-details","pages/tabbar/follow/follow","pages/tabbar/release/release","pages/tabbar/message/message","pages/tabbar/my/my","pages/release-detial/release-release/release-release","pages/release-detial/release-video/release-video","pages/release-detial/release-qa/release-qa"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"uni-app","navigationBarBackgroundColor":"#F8F8F8","backgroundColor":"#F8F8F8"},"tabBar":{"borderStyle":"black","backgroundColor":"#333","color":"#FFFFFF","selectedColor":"#f33e54","list":[{"pagePath":"pages/tabbar/homepage/homepage","iconPath":"static/img/tabbar/home.png","selectedIconPath":"static/img/tabbar/homeactive.png","text":"首页"},{"pagePath":"pages/tabbar/follow/follow","iconPath":"static/img/tabbar/guanzhu.png","selectedIconPath":"static/img/tabbar/guanzhuactive.png","text":"关注"},{"pagePath":"pages/tabbar/release/release","iconPath":"static/img/tabbar/add.png","selectedIconPath":"static/img/tabbar/addactive.png"},{"pagePath":"pages/tabbar/message/message","iconPath":"static/img/tabbar/news.png","selectedIconPath":"static/img/tabbar/newsactive.png","text":"消息"},{"pagePath":"pages/tabbar/my/my","iconPath":"static/img/tabbar/me.png","selectedIconPath":"static/img/tabbar/meactive.png","text":"我"}]},"nvueCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"peinikanxue","compilerVersion":"2.8.8","entryPagePath":"pages/login/login","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
|
||||
var __uniRoutes = [{"path":"/pages/login/login","meta":{"isQuit":true},"window":{"enablePullDownRefresh":true,"navigationBarTitleText":"登录","navigationBarBackgroundColor":"#333","navigationBarTextStyle":"white"}},{"path":"/pages/tabbar/homepage/homepage","meta":{"isQuit":true,"isTabBar":true},"window":{"enablePullDownRefresh":true,"navigationBarTitleText":"首页","navigationBarBackgroundColor":"#333","navigationBarTextStyle":"white"}},{"path":"/pages/tabbar/homepage/data-details","meta":{},"window":{"enablePullDownRefresh":true,"navigationBarTitleText":"文章内容","navigationBarBackgroundColor":"#333","navigationBarTextStyle":"white"}},{"path":"/pages/tabbar/follow/follow","meta":{"isQuit":true,"isTabBar":true},"window":{"enablePullDownRefresh":true,"navigationBarTitleText":"关注","navigationBarBackgroundColor":"#333","navigationBarTextStyle":"white"}},{"path":"/pages/tabbar/release/release","meta":{"isQuit":true,"isTabBar":true},"window":{"enablePullDownRefresh":true,"navigationBarTitleText":"发布","navigationBarBackgroundColor":"#333","navigationBarTextStyle":"white"}},{"path":"/pages/tabbar/message/message","meta":{"isQuit":true,"isTabBar":true},"window":{"enablePullDownRefresh":true,"navigationBarTitleText":"消息","navigationBarBackgroundColor":"#333","navigationBarTextStyle":"white"}},{"path":"/pages/tabbar/my/my","meta":{"isQuit":true,"isTabBar":true},"window":{"enablePullDownRefresh":true,"navigationBarTitleText":"我","navigationBarBackgroundColor":"#333","navigationBarTextStyle":"white"}},{"path":"/pages/release-detial/release-release/release-release","meta":{},"window":{"enablePullDownRefresh":true,"navigationBarTitleText":"发图文","navigationBarBackgroundColor":"#333","navigationBarTextStyle":"white"}},{"path":"/pages/release-detial/release-video/release-video","meta":{},"window":{"enablePullDownRefresh":true,"navigationBarTitleText":"发视频","navigationBarBackgroundColor":"#333","navigationBarTextStyle":"white"}},{"path":"/pages/release-detial/release-qa/release-qa","meta":{},"window":{"enablePullDownRefresh":true,"navigationBarTitleText":"提问","navigationBarBackgroundColor":"#333","navigationBarTextStyle":"white"}}];
|
||||
__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
|
||||
__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
|
||||
service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:Math.round(f/20)})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:void 0,window:void 0,document:void 0,frames:void 0,self:void 0,location:void 0,navigator:void 0,localStorage:void 0,history:void 0,Caches:void 0,screen:void 0,alert:void 0,confirm:void 0,prompt:void 0,fetch:void 0,XMLHttpRequest:void 0,WebSocket:void 0,webkit:void 0,print:void 0}}}});
|
153
HSLink-app/unpackage/dist/dev/app-plus/app-config.js
vendored
Normal file
@ -0,0 +1,153 @@
|
||||
/******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // install a JSONP callback for chunk loading
|
||||
/******/ function webpackJsonpCallback(data) {
|
||||
/******/ var chunkIds = data[0];
|
||||
/******/ var moreModules = data[1];
|
||||
/******/ var executeModules = data[2];
|
||||
/******/
|
||||
/******/ // add "moreModules" to the modules object,
|
||||
/******/ // then flag all "chunkIds" as loaded and fire callback
|
||||
/******/ var moduleId, chunkId, i = 0, resolves = [];
|
||||
/******/ for(;i < chunkIds.length; i++) {
|
||||
/******/ chunkId = chunkIds[i];
|
||||
/******/ if(installedChunks[chunkId]) {
|
||||
/******/ resolves.push(installedChunks[chunkId][0]);
|
||||
/******/ }
|
||||
/******/ installedChunks[chunkId] = 0;
|
||||
/******/ }
|
||||
/******/ for(moduleId in moreModules) {
|
||||
/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
|
||||
/******/ modules[moduleId] = moreModules[moduleId];
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ if(parentJsonpFunction) parentJsonpFunction(data);
|
||||
/******/
|
||||
/******/ while(resolves.length) {
|
||||
/******/ resolves.shift()();
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ // add entry modules from loaded chunk to deferred list
|
||||
/******/ deferredModules.push.apply(deferredModules, executeModules || []);
|
||||
/******/
|
||||
/******/ // run deferred modules when all chunks ready
|
||||
/******/ return checkDeferredModules();
|
||||
/******/ };
|
||||
/******/ function checkDeferredModules() {
|
||||
/******/ var result;
|
||||
/******/ for(var i = 0; i < deferredModules.length; i++) {
|
||||
/******/ var deferredModule = deferredModules[i];
|
||||
/******/ var fulfilled = true;
|
||||
/******/ for(var j = 1; j < deferredModule.length; j++) {
|
||||
/******/ var depId = deferredModule[j];
|
||||
/******/ if(installedChunks[depId] !== 0) fulfilled = false;
|
||||
/******/ }
|
||||
/******/ if(fulfilled) {
|
||||
/******/ deferredModules.splice(i--, 1);
|
||||
/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ return result;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // object to store loaded and loading chunks
|
||||
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
|
||||
/******/ // Promise = chunk loading, 0 = chunk loaded
|
||||
/******/ var installedChunks = {
|
||||
/******/ "app-config": 0
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ var deferredModules = [];
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId]) {
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ i: moduleId,
|
||||
/******/ l: false,
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.l = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // define getter function for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = function(exports) {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // create a fake namespace object
|
||||
/******/ // mode & 1: value is a module id, require it
|
||||
/******/ // mode & 2: merge all properties of value into the ns
|
||||
/******/ // mode & 4: return value when already ns object
|
||||
/******/ // mode & 8|1: behave like require
|
||||
/******/ __webpack_require__.t = function(value, mode) {
|
||||
/******/ if(mode & 1) value = __webpack_require__(value);
|
||||
/******/ if(mode & 8) return value;
|
||||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
||||
/******/ var ns = Object.create(null);
|
||||
/******/ __webpack_require__.r(ns);
|
||||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
||||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
||||
/******/ return ns;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = function(module) {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ function getDefault() { return module['default']; } :
|
||||
/******/ function getModuleExports() { return module; };
|
||||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Object.prototype.hasOwnProperty.call
|
||||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "/";
|
||||
/******/
|
||||
/******/ var jsonpArray = this["webpackJsonp"] = this["webpackJsonp"] || [];
|
||||
/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
|
||||
/******/ jsonpArray.push = webpackJsonpCallback;
|
||||
/******/ jsonpArray = jsonpArray.slice();
|
||||
/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
|
||||
/******/ var parentJsonpFunction = oldJsonpFunction;
|
||||
/******/
|
||||
/******/
|
||||
/******/ // run deferred modules from other chunks
|
||||
/******/ checkDeferredModules();
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ([]);
|
3176
HSLink-app/unpackage/dist/dev/app-plus/app-service.js
vendored
Normal file
3631
HSLink-app/unpackage/dist/dev/app-plus/app-view.js
vendored
Normal file
1
HSLink-app/unpackage/dist/dev/app-plus/manifest.json
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__7C9492E","name":"peinikanxue","version":{"name":"1.0.0","code":"100"},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#F8F8F8"},"usingComponents":true,"compilerVersion":3,"distribute":{"google":{"permissions":["\u003cuses-permission android:name\u003d\"android.permission.CHANGE_NETWORK_STATE\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.READ_CONTACTS\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.VIBRATE\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.READ_LOGS\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.ACCESS_WIFI_STATE\"/\u003e","\u003cuses-feature android:name\u003d\"android.hardware.camera.autofocus\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.WRITE_CONTACTS\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.ACCESS_NETWORK_STATE\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.CAMERA\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.RECORD_AUDIO\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.GET_ACCOUNTS\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.MODIFY_AUDIO_SETTINGS\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.READ_PHONE_STATE\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.CHANGE_WIFI_STATE\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.WAKE_LOCK\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.CALL_PHONE\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.FLASHLIGHT\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.ACCESS_COARSE_LOCATION\"/\u003e","\u003cuses-feature android:name\u003d\"android.hardware.camera\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.ACCESS_FINE_LOCATION\"/\u003e","\u003cuses-permission android:name\u003d\"android.permission.WRITE_SETTINGS\"/\u003e"]},"apple":{},"plugins":{"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"allowsInlineMediaPlayback":true,"safearea":{"background":"#333","bottom":{"offset":"auto"}},"uni-app":{"compilerVersion":"2.8.8","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"tabBar":{"borderStyle":"rgba(0,0,0,0.4)","backgroundColor":"#333","color":"#FFFFFF","selectedColor":"#f33e54","list":[{"pagePath":"pages/tabbar/homepage/homepage","iconPath":"static/img/tabbar/home.png","selectedIconPath":"static/img/tabbar/homeactive.png","text":"首页"},{"pagePath":"pages/tabbar/follow/follow","iconPath":"static/img/tabbar/guanzhu.png","selectedIconPath":"static/img/tabbar/guanzhuactive.png","text":"关注"},{"pagePath":"pages/tabbar/release/release","iconPath":"static/img/tabbar/add.png","selectedIconPath":"static/img/tabbar/addactive.png"},{"pagePath":"pages/tabbar/message/message","iconPath":"static/img/tabbar/news.png","selectedIconPath":"static/img/tabbar/newsactive.png","text":"消息"},{"pagePath":"pages/tabbar/my/my","iconPath":"static/img/tabbar/me.png","selectedIconPath":"static/img/tabbar/meactive.png","text":"我"}],"height":"50px"},"launch_path":"__uniappview.html","arguments":"{\"pathName\":\"pages/login/login\",\"query\":\"\"}"}}
|
125
HSLink-app/unpackage/dist/dev/app-plus/static/css/main.css
vendored
Normal file
@ -0,0 +1,125 @@
|
||||
.login {
|
||||
height: auto;
|
||||
width: auto;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content:center;
|
||||
/* margin-top: 128upx; */
|
||||
}
|
||||
.content {
|
||||
height: auto;
|
||||
width: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content:center;
|
||||
/* margin-top: 128upx; */
|
||||
}
|
||||
|
||||
/* 头部 logo */
|
||||
.header {
|
||||
/* width:400upx;
|
||||
height:200upx; */
|
||||
/* box-shadow:0upx 0upx 60upx 0upx rgba(0,0,0,0.1); */
|
||||
border-radius:50%;
|
||||
/* background-color: #000000;
|
||||
*/ margin-top: 30upx;
|
||||
/* margin-bottom: 30upx; */
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
||||
|
||||
|
||||
}
|
||||
.header image{
|
||||
width:200upx;
|
||||
height:200upx;
|
||||
border-radius:50%;
|
||||
text-align:center;
|
||||
|
||||
}
|
||||
.title{
|
||||
text-align:center;
|
||||
/* margin-bottom: 70upx; */
|
||||
font-weight:900;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
/* 主体 */
|
||||
.main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding-left: 90upx;
|
||||
padding-right: 90upx;
|
||||
}
|
||||
.tips {
|
||||
color: #999999;
|
||||
font-size: 28upx;
|
||||
margin-top: 64upx;
|
||||
margin-left: 48upx;
|
||||
/* margin-bottom:30px; */
|
||||
}
|
||||
|
||||
/* 其他登录方式 */
|
||||
.other_login{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-top: 256upx;
|
||||
text-align: center;
|
||||
}
|
||||
.login_icon{
|
||||
border: none;
|
||||
font-size: 128upx;
|
||||
margin: 0 64upx 0 64upx;
|
||||
color: rgba(0,0,0,0.7)
|
||||
}
|
||||
.wechat_color{
|
||||
color: #83DC42;
|
||||
}
|
||||
.weibo_color{
|
||||
color: #F9221D;
|
||||
}
|
||||
.github_color{
|
||||
color: #24292E;
|
||||
}
|
||||
|
||||
/* 底部 */
|
||||
.footer{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 28upx;
|
||||
margin-top: 64upx;
|
||||
color: rgba(0,0,0,0.7);
|
||||
text-align: center;
|
||||
height: 40upx;
|
||||
line-height: 40upx;
|
||||
}
|
||||
.footer text{
|
||||
font-size: 24upx;
|
||||
margin-left: 15upx;
|
||||
margin-right: 15upx;
|
||||
}
|
||||
/*
|
||||
2019-10-28 ljl 登录输入框样式
|
||||
*/
|
||||
.ljl_title{
|
||||
background: #f3f3f3;
|
||||
font-size:10px;
|
||||
text-indent: 10px;
|
||||
padding-top:5px;
|
||||
color:#cccdd1;
|
||||
height: 100upx;
|
||||
border-radius: 30upx;
|
||||
width: 90%;
|
||||
margin: auto;
|
||||
}
|
||||
.main-list,.ljl_top{
|
||||
margin-top: -24upx !important;
|
||||
}
|
||||
.ljl_tt{
|
||||
margin-top: 25upx;
|
||||
border-bottom: 1upx solid #cdcdcd;
|
||||
}
|
75
HSLink-app/unpackage/dist/dev/app-plus/static/css/public.css
vendored
Normal file
@ -0,0 +1,75 @@
|
||||
|
||||
.uni-list-item__content-title{
|
||||
/* padding-bottom: 20rpx; */
|
||||
/* border-bottom: 1rpx solid #F6F6F6; */
|
||||
font-size: 30rpx!important;
|
||||
}
|
||||
.uni-list-item__content-note{
|
||||
font-size: 30rpx!important;
|
||||
}
|
||||
.uni-list-item__container:after{
|
||||
background-color: rgba(0,0,0,0)!important;
|
||||
}
|
||||
.uni-btn-icon{
|
||||
color: #FFFFFF!important;
|
||||
}
|
||||
uni-page-body .content{
|
||||
padding: 0!important;
|
||||
}
|
||||
uni-page-body .content .list{
|
||||
background-color: #F1F1F1!important;
|
||||
padding-top: 1rpx;
|
||||
}
|
||||
uni-page-body .content .list .one{
|
||||
margin: 20rpx;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
.uni-list-item{
|
||||
padding: 20rpx!important;
|
||||
margin: 20rpx!important;
|
||||
background: #FFFFFF!important;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
.uni-list{
|
||||
background-color: #F1F1F1!important;
|
||||
}
|
||||
.content-top{
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
.green-button{
|
||||
background-color: #1D9081!important;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.uni-radio-input-checked{
|
||||
background-color: rgb(113,217,177)!important;
|
||||
border-color: rgb(113,217,177)!important;
|
||||
}
|
||||
.uni-checkbox-input{
|
||||
border-color: rgb(165, 165, 165)!important;
|
||||
}
|
||||
uni-checkbox.checked .uni-checkbox-input{
|
||||
background-color: rgb(113,217,177)!important;
|
||||
border-color: rgb(113,217,177)!important;
|
||||
}
|
||||
.search{
|
||||
z-index: 999;
|
||||
padding: 20rpx 20rpx 68rpx 20rpx!important;
|
||||
border-bottom: 0!important;
}
|
||||
.search .content{
|
||||
padding-bottom: 0;
|
||||
position: fixed;
|
||||
z-index: 999;
|
||||
width: 96%!important;
|
||||
}
|
||||
.uni-picker-container .uni-picker-action.uni-picker-action-confirm{
|
||||
color: #1D9081;
|
||||
}
|
||||
|
||||
.cu-list .cu-item .text-black{
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
width: 450rpx!important;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
322
HSLink-app/unpackage/dist/dev/app-plus/static/css/style.css
vendored
Normal file
@ -0,0 +1,322 @@
|
||||
/* 公共样式表css */
|
||||
html,body {
|
||||
background-color: red;
|
||||
color: #333;
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
font-family: "Myriad Set Pro","Helvetica Neue",Helvetica,Arial,Verdana,sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
* {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
a, label, button, input, select {
|
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
background: #f4f4f4;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
html, body, div, dl, dt, dd, ol, ul, li, h1, h2, h3, h4, h5, h6, p, blockquote, pre, button, fieldset, form, input, legend, textarea, th, td {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: #08acee;
|
||||
}
|
||||
|
||||
button {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
button,input,optgroup,select,textarea {
|
||||
margin: 0;
|
||||
font: inherit;
|
||||
color: inherit;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
li {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.clearfix::after {
|
||||
clear: both;
|
||||
content: ".";
|
||||
display: block;
|
||||
height: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.clearfix {
|
||||
}
|
||||
|
||||
/* 必要布局样式css */
|
||||
.aui-flexView {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0 auto;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-webkit-flex-direction: column;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.aui-scrollView {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
-webkit-box-flex: 1;
|
||||
-webkit-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
position: relative;
|
||||
/* margin-top: -44px; */
|
||||
}
|
||||
|
||||
.aui-navBar {
|
||||
height: 44px;
|
||||
position: relative;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
z-index: 1002;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.aui-navBar:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
border-bottom: 1px solid #ffffff;
|
||||
-webkit-transform: scaleY(0.5);
|
||||
transform: scaleY(0.5);
|
||||
-webkit-transform-origin: 0 100%;
|
||||
transform-origin: 0 100%;
|
||||
}
|
||||
|
||||
.aui-navBar-item {
|
||||
height: 44px;
|
||||
min-width: 25%;
|
||||
-webkit-box-flex: 0;
|
||||
-webkit-flex: 0 0 25%;
|
||||
-ms-flex: 0 0 25%;
|
||||
flex: 0 0 25%;
|
||||
padding: 0 0.9rem;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
font-size: 0.7rem;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
color: #a0a0a0;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.aui-navBar-item:first-child {
|
||||
-webkit-box-ordinal-group: 2;
|
||||
-webkit-order: 1;
|
||||
-ms-flex-order: 1;
|
||||
order: 1;
|
||||
margin-right: -25%;
|
||||
font-size: 0.9rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.aui-navBar-item:last-child {
|
||||
-webkit-box-ordinal-group: 4;
|
||||
-webkit-order: 3;
|
||||
-ms-flex-order: 3;
|
||||
order: 3;
|
||||
-webkit-box-pack: end;
|
||||
-webkit-justify-content: flex-end;
|
||||
-ms-flex-pack: end;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.aui-center {
|
||||
-webkit-box-ordinal-group: 3;
|
||||
-webkit-order: 2;
|
||||
-ms-flex-order: 2;
|
||||
order: 2;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: center;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
height: 44px;
|
||||
width: 50%;
|
||||
margin-left: 25%;
|
||||
}
|
||||
|
||||
.aui-center-title {
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
text-overflow: ellipsis;
|
||||
font-size: 0.95rem;
|
||||
color: #3c3c3c;
|
||||
}
|
||||
|
||||
.icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
display: block;
|
||||
border: none;
|
||||
float: left;
|
||||
background-size: 20px;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.icon-return {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAACh0lEQVRoQ+3ZMW8TMRQH8PcOsTBQISExVCIRCwgWFvZ+hZYBpIrEcTYkBsTGlI2VDamL3YEBpWJoR1BJaOlXYEzyDYp0bMRGRjnJoDuWs/1e3EbKeHf55b33vzsb4YJ98IJ54RKce8XZV1gIcQ8AviDiD2vtC631pzZFYQ2WUt611p4CwM0VcqqU2soSXIN1ztdKqTfZgRuw75RSz9tg3bHsWjomlh04NpYVOAWWDbjf7z8oimLipbH7bUopJdvO7L/Hk8+wwyLiCSLe8H6cww4BwGYFTo0lbWkKLBmYCksCrsNaa99rrZ/FmFnS0GrCdrvd3mg0MqEDqu58yVKaAzZZSwshHgLAsX/rcW2csrJVtaNXeIWdIuL16qJU2OgVrsMCwEGn03mSamaThVYTtizLp+PxeJkioJKFFldslJbmjA0O5o4NCm7AHpZluUM5s1FCSwjxCAA++7ceADiczWaPJ5PJL6qAihJaUspdY8w+Il7xLsASG6SlhRA/EfGa91BxNJ/Pd7hVNtiT1mAwOAeADXdCa637Hi0Wi3zBUsptY8wHRLzqwIh/nlbzbWmna0roLEOrmo11QQd9W1oHdFDwOrR3cLCH/uuFn0uQRQE7dMPKJHl6RwNzRUcF/w9N9VIRHVyhazbLDihWP5KAHbphOzQ5OhmYCzopmAM6OZgaTQL20FMAuOUtHESfaTLwCn3HWnuWEk0KpkCTg1OjWYArtDHmKyJu+jMdeh+KDdghh8NhZ7lcfvPRoXcaWYFToNmBY6NZgj20m+nb3pr3W631yzY7GWzBDtXr9TaLojjz0N+VUvezBXvoPQBw0Fda649Zg9vg6o5l3dKhse58l+AY/yqnc/4GvNDoTFOq8FwAAAAASUVORK5CYII=");
|
||||
}
|
||||
|
||||
.icon-sys {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAHxklEQVRoQ+1afYxcVRX/nffefqjAuug/gAhNjJQSkKKtoYK0wa/Nuu/duzBEQ6CgVTS0/AGKGPUfLUbSoFEMEOWjCiTWwbl33tIuUonVRKGRtWIBPyixWBG1CltttLMz7x1zhrubYTofu53OzIbO/Wcy79577vmde+49v3vuJRxjhY4xvOgBfq3PeG+Gj3SGtdYbmfm8QqGwdnJycv+Ryqnup7W+B8BxpVLpqomJif+2KveozPDIyMjA4ODgIVGGmTdaa7/UqmLSX2t9JoBnnKyrjDHfa1XuUQEchuHxvu//W5RJ03RTPp+/sVXFpH8Yhst93/+1M+Q11trvtCq3B/hILPianGGl1BsBXAHgTdVGYeYBz/Nuci79SyLafiSGq+6TpulJvu9/0rn0QwCmKtsw8wyA3TMzM4/Pd6Ns6tKZTKa/VCrdDOBaAK9rBoSZQdRUbDMx5foFyvoZgPXGmKcaCW+mmaeUepSIVs9Lw4Ur2VDsAgGLrINJkrwnjuPf1hPcELDW+gsANrrOTzHzDYVCQdynvCPPlm6t4dWrVwdDQ0NnEtEmIvqg84o9+/btWzY1NVWsBbouYHHlYrH4EhG9AcALQRAszWazB2sJ6RbgCl08rfUWAJc60FdbazcvCLBS6mIi+okTcJ219rZ6btIu4hFF0TLP85524zYkHs7o0wA8AD8wxnx0QYC11h8DcLfrtMoY81ijBae1vo6Zx9I0XR/H8R/mu+abtdNaf42Zz06SZO3ExMQ/G7VXSj1NRMuY+TFr7aqFApZd+duu09nNdr9mineiXim1k4hWMvMua+15PcBA/QSA1ro8wxIaANwB4B+dmKVWxmDmdUR0CoCWZ7gVPTre92i4dMeVbmXAlgAfqy7d26Vbcbl29e2FpRqWrculZ8NSj3hUWC0Mw3M8z9sEYCURHWLm7UmSfKpedjGKolM9z/s6gAuYeRCAJAuuNsbUjPGZTMYvlUqfZeYriGgJM+8hoq8YY7K1lkVbXdplFH8DoL9q8CeDIDg/m83+r/J7JpM5sVQqPQvgxKr2LxDRilwu92I1CKXUbUS0vvp7mqbX5vP522u0bx+1VEo9SESXMPN/AFxJRO8C8Hl3WrnZGPPFSoWUUl8lIqlPAXyCmU8A8GUiOh7Ag8aYTGV75w1/lm/MbJn5HiK6iYjkUJAWCoVTtm3b9reqMdoHWGu9F8BpAG4xxpTzWUopQ0SKmR+x1pYP5LNFa/0IgPeL8tZa7drfQkSS0n3eGHN6VfsIgJVvRHSyeMDY2NhbgyB4Xr6laTqaz+e3dQywUmoXEZ0L4KdBEHwIgF8sFp8hotOZ+X5rrST85opSagsRXcbMYqjl1toDWutHAawB8CtjzMrK9mEYvtf3fclTCbiP5PP5LVEUXep5Xnn9JkmyIo7jJzoJ+FYiut653N8BTBPRGU6BEWPMw1Uueo3neXe6bweZ+VkiWu7+32iMkc1vroyMjJwwMDCwl4iG3RhTTv5xzPzc9PT00h07dpQ6BthlOSbETWcH5Vd46CZr7ecqFalw6+8CWFdVJ9mJy93aflVVFEUXEtGkSzOV65j5r2maRtWz65ZI+9awDODCxvXMvIqI/pQkyeZGGUPpE0XROs/zLmbmQ2ma3hvH8c9rGWf229jY2FLf9zcQ0VsAPFQqlR6oF/baGpYaKdmtuh7gGpY/KtRyfHz8pCRJhg8cOPDH6o2k1myPjo4O9/f3S4j5XTableuSZsUbHx8/1/f9vdls9qV6jds+w2EYnuF53rdk46JX7ldeTJJkNI7jXbWUcmTim3ITKmGMmV8mIm2MKYef6lJBLW8goje7TeuOvr6+DdlsNqlu31bA4+PjpzHz7wEIJ64sB9M0fXc+n5+9yC7XNaCWxSRJ1sRx/IsaAGpSSwBZY8xlHQWslLqbiCR3LYeGtQDeTkRy8y/c+vvGGPk2VxpRy1rMrAm1lPD0Nmvtc1VjtC8saa2fBHAOgDuNMZ+WgZVSm4loLTM/Ya1dUaXMj4noA3Wo5V+MMadWttdaN6OWYT6fFx5QadT2AVZKbSei9wktDILgov379xeHh4eF6r2DmSestbJO54rW+n4Al8+XWmqtz5fjowhYFNRSay2nmx+6jeRfRCQnl7Pc/yuttfdVAg7DcI3v+3JXJXc/Tamlu5eW46c8bBEX7i61FCXkPgnANxyIMj5mvt1aK0n8w4rWWiikPEOqPEPXpZZhGJ7s+76cssqGdPK7Ry3dupUT04UAhMjLJZbMSt0iVNHzvIuIaNDzvJ25XO7xJu1fHwTBKDMvIaI9pVLp4R61dBZraxxuNCvdqmsJcBRFc+dXInpnLpcrPxBbzKUiKXFYQmFW70Zc+sMAynFOsobWWgkri7nIswd5/tgHIG+MUbWUbfTGY6hYLArXJWbeXSgUVkxOThYWK2Kl1MeJ6C43QZ+x1t66IMBuBy4zJydkZ7FYHNm6devLiw204wSSTRliZnnnscRaK7+HlYbPloTwF4vF3ZI1dD1nmFneUbzq2VIXDSAnrrNm815Oj0uMMbl6OjV7mAY5FaVp+iPZuLoIrOnQkh8nog3Nnhg3BTw7kqRNiegCz/Mk4V59e9BUoTY2SJk57uvru6veO7LKsecNuI0Kd1R0D3BHzd2FwXoz3AWjd3TI/wNWHEOIr++U0gAAAABJRU5ErkJggg==");
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.icon-fre {
|
||||
background-image: url("data:image/png;base64,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");
|
||||
}
|
||||
|
||||
.aui-news-box {
|
||||
margin-top: 8px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.aui-news-item {
|
||||
padding: 15px;
|
||||
position: relative;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.aui-news-item-hd {
|
||||
margin-right: .8em;
|
||||
width: 55px;
|
||||
height: 55px;
|
||||
line-height: 55px;
|
||||
text-align: center;
|
||||
background: #fff;
|
||||
border-radius: 15px;
|
||||
}
|
||||
|
||||
.aui-news-item-hd img {
|
||||
width: 100%;
|
||||
max-height: 100%;
|
||||
vertical-align: top
|
||||
}
|
||||
|
||||
.aui-news-item-bd {
|
||||
-webkit-box-flex: 1;
|
||||
-webkit-flex: 1;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.aui-news-item-bd h4 {
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
width: auto;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
word-wrap: normal;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
padding-bottom: 10px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.aui-news-item-bd p {
|
||||
color: #848689;
|
||||
font-size: 13px;
|
||||
line-height: 1.2;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 1;
|
||||
}
|
||||
|
||||
.aui-news-item:before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
border-bottom: 1px solid #d8d8d8;
|
||||
-webkit-transform: scaleY(0.5);
|
||||
transform: scaleY(0.5);
|
||||
-webkit-transform-origin: 0 100%;
|
||||
transform-origin: 0 100%;
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
.aui-news-item-fr {
|
||||
text-align: right;
|
||||
font-size: 13px;
|
||||
color: #8c8c8c;
|
||||
margin-top: -25px;
|
||||
}
|
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/ic-QQ@2x.png
vendored
Normal file
After Width: | Height: | Size: 7.8 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/ic-weixin@2x.png
vendored
Normal file
After Width: | Height: | Size: 8.8 KiB |
157
HSLink-app/unpackage/dist/dev/app-plus/static/iconfont.css
vendored
Normal file
@ -0,0 +1,157 @@
|
||||
@font-face {font-family: "iconfont";
|
||||
src:
|
||||
url('./static/iconfont.ttf') format('truetype')
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
font-family: "iconfont" !important;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon-search:before {
|
||||
content: "\e614";
|
||||
}
|
||||
|
||||
.icon-haoyou:before {
|
||||
content: "\e62e";
|
||||
}
|
||||
|
||||
.icon-play:before {
|
||||
content: "\e630";
|
||||
}
|
||||
|
||||
.icon-stop:before {
|
||||
content: "\e635";
|
||||
}
|
||||
|
||||
.icon-address:before {
|
||||
content: "\e62c";
|
||||
}
|
||||
|
||||
.icon-more:before {
|
||||
content: "\e840";
|
||||
}
|
||||
|
||||
.icon-addre:before {
|
||||
content: "\e700";
|
||||
}
|
||||
|
||||
.icon-right:before {
|
||||
content: "\e61c";
|
||||
}
|
||||
|
||||
.icon-message:before {
|
||||
content: "\e671";
|
||||
}
|
||||
|
||||
.icon-history:before {
|
||||
content: "\e8bd";
|
||||
}
|
||||
|
||||
.icon-left:before {
|
||||
content: "\e602";
|
||||
}
|
||||
|
||||
.icon-share:before {
|
||||
content: "\e694";
|
||||
}
|
||||
|
||||
.icon-yanzhengma:before {
|
||||
content: "\e7a1";
|
||||
}
|
||||
|
||||
.icon-zhiwei:before {
|
||||
content: "\e63e";
|
||||
}
|
||||
|
||||
.icon-shoucang2:before {
|
||||
content: "\e605";
|
||||
}
|
||||
|
||||
.icon-time:before {
|
||||
content: "\e600";
|
||||
}
|
||||
|
||||
.icon-fatie:before {
|
||||
content: "\e629";
|
||||
}
|
||||
|
||||
.icon-CombinedShape:before {
|
||||
content: "\e638";
|
||||
}
|
||||
|
||||
.icon-fenxiang:before {
|
||||
content: "\e667";
|
||||
}
|
||||
|
||||
.icon-E607:before {
|
||||
content: "\e647";
|
||||
}
|
||||
|
||||
.icon-guangchang:before {
|
||||
content: "\e601";
|
||||
}
|
||||
|
||||
.icon-vnums:before {
|
||||
content: "\e615";
|
||||
}
|
||||
|
||||
.icon-set:before {
|
||||
content: "\eb40";
|
||||
}
|
||||
|
||||
.icon-tongxunlu:before {
|
||||
content: "\e604";
|
||||
}
|
||||
|
||||
.icon-xuexijilu:before {
|
||||
content: "\e6a3";
|
||||
}
|
||||
|
||||
.icon-daoshi:before {
|
||||
content: "\e6d7";
|
||||
}
|
||||
|
||||
.icon-aixin:before {
|
||||
content: "\e83f";
|
||||
}
|
||||
|
||||
.icon-aixin1:before {
|
||||
content: "\e85c";
|
||||
}
|
||||
|
||||
.icon-collect:before {
|
||||
content: "\e603";
|
||||
}
|
||||
|
||||
.icon-xuanze:before {
|
||||
content: "\e60b";
|
||||
}
|
||||
|
||||
.icon-shoujihao:before {
|
||||
content: "\e67d";
|
||||
}
|
||||
|
||||
.icon-xuanze1:before {
|
||||
content: "\e6cb";
|
||||
}
|
||||
|
||||
.icon-shuaxin:before {
|
||||
content: "\e87e";
|
||||
}
|
||||
|
||||
.icon-shezhi:before {
|
||||
content: "\e611";
|
||||
}
|
||||
|
||||
.icon-down-copy:before {
|
||||
content: "\e85d";
|
||||
}
|
||||
|
||||
.icon-up-copy:before {
|
||||
content: "\e85e";
|
||||
}
|
||||
|
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/iconfont.ttf
vendored
Normal file
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/fabulous.png
vendored
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/fabuloused.png
vendored
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/logo.png
vendored
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/noData.png
vendored
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/qa.png
vendored
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/release.png
vendored
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/tabbar/add.png
vendored
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/tabbar/addactive.png
vendored
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/tabbar/guanzhu.png
vendored
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/tabbar/guanzhuactive.png
vendored
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/tabbar/home.png
vendored
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/tabbar/homeactive.png
vendored
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/tabbar/me.png
vendored
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/tabbar/meactive.png
vendored
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/tabbar/news.png
vendored
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/tabbar/newsactive.png
vendored
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/img/video.png
vendored
Normal file
After Width: | Height: | Size: 20 KiB |
64
HSLink-app/unpackage/dist/dev/app-plus/static/js/public.js
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
/* 一些公共方法 */
|
||||
|
||||
import request from '@/util/request.js';
|
||||
|
||||
//获取当前时间
|
||||
const getNowDate = function() {
|
||||
const myDate = new Date();
|
||||
let year = myDate.getFullYear();
|
||||
let month = myDate.getMonth()+1 < 10 ? '0'+(myDate.getMonth()+1) : myDate.getMonth()+1;
|
||||
let date = myDate.getDate() < 10 ? '0'+myDate.getDate() : myDate.getDate();
|
||||
return year+"-"+month+"-"+date
|
||||
};
|
||||
export { getNowDate }
|
||||
|
||||
//格式化时间方法
|
||||
const dateFormat = function (fmt, date) {
|
||||
let ret;
|
||||
const opt = {
|
||||
"Y+": date.getFullYear().toString(), // 年
|
||||
"m+": (date.getMonth() + 1).toString(), // 月
|
||||
"d+": date.getDate().toString(), // 日
|
||||
"H+": date.getHours().toString(), // 时
|
||||
"M+": date.getMinutes().toString(), // 分
|
||||
"S+": date.getSeconds().toString() // 秒
|
||||
// 有其他格式化字符需求可以继续添加,必须转化成字符串
|
||||
};
|
||||
for (let k in opt) {
|
||||
ret = new RegExp("(" + k + ")").exec(fmt);
|
||||
if (ret) {
|
||||
fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
|
||||
};
|
||||
};
|
||||
return fmt;
|
||||
};
|
||||
export { dateFormat }
|
||||
|
||||
//排序方法
|
||||
const sortBy = function(attr,rev){
|
||||
//第二个参数没有传递 默认升序排列
|
||||
if(rev === undefined){
|
||||
rev = 1;
|
||||
}else{
|
||||
rev = (rev) ? 1 : -1;
|
||||
}
|
||||
return function(a,b){
|
||||
a = a[attr];
|
||||
b = b[attr];
|
||||
if(a < b){
|
||||
return rev * -1;
|
||||
}
|
||||
if(a > b){
|
||||
return rev * 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
export { sortBy }
|
||||
|
||||
//获取专业列表
|
||||
const getMajorList = function() {
|
||||
let majorList = request.get('/rest/v2/services/saftyedutrain_AppOnlineQAService/getMajor')
|
||||
return majorList;
|
||||
};
|
||||
export { getMajorList }
|
62
HSLink-app/unpackage/dist/dev/app-plus/static/js/settings.js
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
/**
|
||||
* 打开设置页面
|
||||
* @param {String} setting 设置页面标识
|
||||
* 参考Android原生android.provider.Settings类中定义的常量
|
||||
*/
|
||||
function openSetting(setting) {
|
||||
try {
|
||||
var os = plus.os.name;
|
||||
if ('Android' == os) {
|
||||
var main = plus.android.runtimeMainActivity();
|
||||
var intent = plus.android.newObject('android.content.Intent', setting);
|
||||
main.startActivity(intent);
|
||||
} else {
|
||||
//unsupport, nothing to do.
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('error @openSettings!!');
|
||||
}
|
||||
}
|
||||
|
||||
function openAppSetting() {
|
||||
try {
|
||||
var os = plus.os.name;
|
||||
if ('Android' == os) {
|
||||
var main = plus.android.runtimeMainActivity();
|
||||
var intent = plus.android.newObject('android.content.Intent', 'android.settings.APPLICATION_DETAILS_SETTINGS');
|
||||
var uri = plus.android.invoke('android.net.Uri', 'fromParts', 'package', main.getPackageName(), null);
|
||||
plus.android.invoke(intent, 'setData', uri);
|
||||
main.startActivity(intent);
|
||||
} else {
|
||||
//unsupport, nothing to do.
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('error @openAppSetting!!');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module.exports = {
|
||||
SETTINGS: 'android.settings.SETTINGS',
|
||||
APN_SETTINGS: 'android.settings.APN_SETTINGS',
|
||||
LOCATION_SOURCE_SETTINGS: 'android.settings.LOCATION_SOURCE_SETTINGS',
|
||||
USER_SETTINGS: 'android.settings.USER_SETTINGS',
|
||||
WIRELESS_SETTINGS: 'android.settings.WIRELESS_SETTINGS',
|
||||
SECURITY_SETTINGS: 'android.settings.SECURITY_SETTINGS',
|
||||
PRIVACY_SETTINGS: 'android.settings.PRIVACY_SETTINGS',
|
||||
WIFI_SETTINGS: 'android.settings.WIFI_SETTINGS',
|
||||
WIFI_IP_SETTINGS: 'android.settings.WIFI_IP_SETTINGS',
|
||||
BLUETOOTH_SETTINGS: 'android.settings.BLUETOOTH_SETTINGS',
|
||||
CAST_SETTINGS: 'android.settings.CAST_SETTINGS',
|
||||
DATE_SETTINGS: 'android.settings.DATE_SETTINGS',
|
||||
SOUND_SETTINGS: 'android.settings.SOUND_SETTINGS',
|
||||
DISPLAY_SETTINGS: 'android.settings.DISPLAY_SETTINGS',
|
||||
LOCALE_SETTINGS: 'android.settings.LOCALE_SETTINGS',
|
||||
VOICE_INPUT_SETTINGS: 'android.settings.VOICE_INPUT_SETTINGS',
|
||||
INPUT_METHOD_SETTINGS: 'android.settings.INPUT_METHOD_SETTINGS',
|
||||
MANAGE_APPLICATIONS_SETTINGS: 'android.settings.MANAGE_APPLICATIONS_SETTINGS',
|
||||
DEVICE_INFO_SETTINGS: 'android.settings.DEVICE_INFO_SETTINGS',
|
||||
NOTIFICATION_SETTINGS: 'android.settings.NOTIFICATION_SETTINGS',
|
||||
open: openSetting,
|
||||
openAppSetting: openAppSetting
|
||||
}
|
1
HSLink-app/unpackage/dist/dev/app-plus/static/js/uni.webview.1.5.2.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e=e||self).uni=n()}(this,(function(){"use strict";try{var e={};Object.defineProperty(e,"passive",{get:function(){!0}}),window.addEventListener("test-passive",null,e)}catch(e){}var n=Object.prototype.hasOwnProperty;function t(e,t){return n.call(e,t)}var i=[],a=function(e,n){var t={options:{timestamp:+new Date},name:e,arg:n};if(window.__dcloud_weex_postMessage||window.__dcloud_weex_){if("postMessage"===e){var a={data:[n]};return window.__dcloud_weex_postMessage?window.__dcloud_weex_postMessage(a):window.__dcloud_weex_.postMessage(JSON.stringify(a))}var o={type:"WEB_INVOKE_APPSERVICE",args:{data:t,webviewIds:i}};window.__dcloud_weex_postMessage?window.__dcloud_weex_postMessageToService(o):window.__dcloud_weex_.postMessageToService(JSON.stringify(o))}if(!window.plus)return window.parent.postMessage({type:"WEB_INVOKE_APPSERVICE",data:t,pageId:""},"*");if(0===i.length){var r=plus.webview.currentWebview();if(!r)throw new Error("plus.webview.currentWebview() is undefined");var d=r.parent(),s="";s=d?d.id:r.id,i.push(s)}if(plus.webview.getWebviewById("__uniapp__service"))plus.webview.postMessageToUniNView({type:"WEB_INVOKE_APPSERVICE",args:{data:t,webviewIds:i}},"__uniapp__service");else{var w=JSON.stringify(t);plus.webview.getLaunchWebview().evalJS('UniPlusBridge.subscribeHandler("'.concat("WEB_INVOKE_APPSERVICE",'",').concat(w,",").concat(JSON.stringify(i),");"))}},o={navigateTo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("navigateTo",{url:encodeURI(n)})},navigateBack:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.delta;a("navigateBack",{delta:parseInt(n)||1})},switchTab:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("switchTab",{url:encodeURI(n)})},reLaunch:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("reLaunch",{url:encodeURI(n)})},redirectTo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("redirectTo",{url:encodeURI(n)})},getEnv:function(e){window.plus?e({plus:!0}):e({h5:!0})},postMessage:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a("postMessage",e.data||{})}},r=/uni-app/i.test(navigator.userAgent),d=/Html5Plus/i.test(navigator.userAgent),s=/complete|loaded|interactive/;var w=window.my&&navigator.userAgent.indexOf("AlipayClient")>-1;var u=window.swan&&window.swan.webView&&/swan/i.test(navigator.userAgent);var c=window.qq&&window.qq.miniProgram&&/QQ/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var g=window.tt&&window.tt.miniProgram&&/toutiaomicroapp/i.test(navigator.userAgent);var v=window.wx&&window.wx.miniProgram&&/micromessenger/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var p=window.qa&&/quickapp/i.test(navigator.userAgent);for(var l,_=function(){window.UniAppJSBridge=!0,document.dispatchEvent(new CustomEvent("UniAppJSBridgeReady",{bubbles:!0,cancelable:!0}))},f=[function(e){if(r||d)return window.__dcloud_weex_postMessage||window.__dcloud_weex_?document.addEventListener("DOMContentLoaded",e):window.plus&&s.test(document.readyState)?setTimeout(e,0):document.addEventListener("plusready",e),o},function(e){if(v)return window.WeixinJSBridge&&window.WeixinJSBridge.invoke?setTimeout(e,0):document.addEventListener("WeixinJSBridgeReady",e),window.wx.miniProgram},function(e){if(c)return window.QQJSBridge&&window.QQJSBridge.invoke?setTimeout(e,0):document.addEventListener("QQJSBridgeReady",e),window.qq.miniProgram},function(e){if(w){document.addEventListener("DOMContentLoaded",e);var n=window.my;return{navigateTo:n.navigateTo,navigateBack:n.navigateBack,switchTab:n.switchTab,reLaunch:n.reLaunch,redirectTo:n.redirectTo,postMessage:n.postMessage,getEnv:n.getEnv}}},function(e){if(u)return document.addEventListener("DOMContentLoaded",e),window.swan.webView},function(e){if(g)return document.addEventListener("DOMContentLoaded",e),window.tt.miniProgram},function(e){if(p){window.QaJSBridge&&window.QaJSBridge.invoke?setTimeout(e,0):document.addEventListener("QaJSBridgeReady",e);var n=window.qa;return{navigateTo:n.navigateTo,navigateBack:n.navigateBack,switchTab:n.switchTab,reLaunch:n.reLaunch,redirectTo:n.redirectTo,postMessage:n.postMessage,getEnv:n.getEnv}}},function(e){return document.addEventListener("DOMContentLoaded",e),o}],m=0;m<f.length&&!(l=f[m](_));m++);l||(l={});var E="undefined"!=typeof uni?uni:{};if(!E.navigateTo)for(var b in l)t(l,b)&&(E[b]=l[b]);return E.webView=l,E}));
|
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/logo.png
vendored
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
HSLink-app/unpackage/dist/dev/app-plus/static/yticon.ttf
vendored
Normal file
1
HSLink-app/unpackage/dist/dev/app-plus/view.css
vendored
Normal file
6
HSLink-app/unpackage/dist/dev/app-plus/view.umd.min.js
vendored
Normal file
@ -173,6 +173,34 @@ public class HSController {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**app获取个人私信*/
|
||||
@RequestMapping(value = "/getPersonalPrivateLetterApp", method = {RequestMethod.POST,RequestMethod.GET})
|
||||
@ResponseBody
|
||||
public Map<String,Object> getPersonalPrivateLetterApp(@RequestBody Map<String,Object> param) {
|
||||
Map<String,Object> result = hsService.getPersonalPrivateLetterApp(param);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**app获取两个人的私信*/
|
||||
@RequestMapping(value = "/getTwoLetterApp", method = {RequestMethod.POST,RequestMethod.GET})
|
||||
@ResponseBody
|
||||
public Map<String,Object> getTwoLetterApp(@RequestBody Map<String,Object> param) {
|
||||
Map<String,Object> result = hsService.getTwoLetterApp(param);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 私信改为已读
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/updateReadApp", method = {RequestMethod.POST,RequestMethod.GET})
|
||||
@ResponseBody
|
||||
public Map<String,Object> updateReadApp(@RequestBody Map<String,Object> param) {
|
||||
Map<String,Object> result = hsService.updateReadApp(param);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**阅读私信*/
|
||||
@RequestMapping(value = "/readPrivateLetter", method = {RequestMethod.POST,RequestMethod.GET})
|
||||
@ResponseBody
|
||||
|
@ -40,7 +40,7 @@ public interface HSLinkMapper {
|
||||
Map<String,Object> getOneContent(Map<String,Object> param);
|
||||
|
||||
/**
|
||||
* 获取一条数据具体内容
|
||||
* 获取一条数据具体内容(留言)
|
||||
*/
|
||||
List<Map<String,Object>> getOneLeaveMessage(Map<String,Object> param);
|
||||
|
||||
@ -169,4 +169,25 @@ public interface HSLinkMapper {
|
||||
* @return
|
||||
*/
|
||||
List<Map<String,Object>> getRotationPhotoList();
|
||||
|
||||
/**
|
||||
* 获取私信其他人信息
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<Map<String,Object>> getLetterOtherInfo(Map<String,Object> param);
|
||||
|
||||
/**
|
||||
* 获取两个人交流的私信
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<Map<String,Object>> getCommunicationLetter(Map<String,Object> param);
|
||||
|
||||
/**
|
||||
* 私信改为已读
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
int updateReadApp(Map<String, Object> param);
|
||||
}
|
||||
|
@ -156,14 +156,14 @@
|
||||
|
||||
<!--新增留言-->
|
||||
<insert id="addMessage" parameterType="map">
|
||||
insert into hs_leave_message(id,notice_id,messager_id,content,create_time) VALUES (uuid(),#{noticeId},#{userId},#{content},#{createTime})
|
||||
insert into hs_leave_message(id,notice_id,messager_id,content,create_time) VALUES (uuid(),#{noticeId},#{userId},#{content},now())
|
||||
</insert>
|
||||
|
||||
<!--新增一篇文章-->
|
||||
<insert id="addArticle" parameterType="map">
|
||||
insert into hs_notice (id,label,title,content,release_id,release_time,type)
|
||||
values
|
||||
(uuid(),#{label},#{title},#{content},#{release_id},#{release_time},#{type})
|
||||
(uuid(),#{label},#{title},#{content},#{release_id},now(),#{type})
|
||||
</insert>
|
||||
|
||||
<!--新增一条班级通知-->
|
||||
@ -213,12 +213,12 @@
|
||||
|
||||
<!--新增班级公告-->
|
||||
<insert id="addBulletin" parameterType="map">
|
||||
insert into hs_class_bulletin (id,class_id,class_name,title,content,release_time) VALUES (uuid(),#{classId},#{className},#{title},#{content},#{releaseTime})
|
||||
insert into hs_class_bulletin (id,class_id,class_name,title,content,release_time) VALUES (uuid(),#{classId},#{className},#{title},#{content},now())
|
||||
</insert>
|
||||
|
||||
<!--修改班级公告-->
|
||||
<update id="updateBulletin" parameterType="map">
|
||||
update hs_class_bulletin set class_id = #{classId},class_name=#{className},title=#{title},content=#{content},release_time=#{releaseTime} where id = #{id}
|
||||
update hs_class_bulletin set class_id = #{classId},class_name=#{className},title=#{title},content=#{content},release_time=now() where id = #{id}
|
||||
</update>
|
||||
|
||||
<!--修改密码-->
|
||||
@ -228,7 +228,8 @@
|
||||
|
||||
<!--修改一条数据具体内容-->
|
||||
<update id="updateOneContent" parameterType="map">
|
||||
update hs_notice set label = #{label},title = #{title},content = #{content} where id = #{id}
|
||||
update hs_notice set label = #{label},title = #{title},content = #{content}, release_time = now() where id =
|
||||
#{id}
|
||||
</update>
|
||||
|
||||
<!--删除一条数据-->
|
||||
@ -273,7 +274,7 @@
|
||||
<!--发送私信-->
|
||||
<insert id="sendLetter" parameterType="map">
|
||||
insert into hs_private_letter (id,send_id,receive_id,content,letter_create_time) values
|
||||
(uuid(),#{sendId},#{receiveId},#{content},#{time})
|
||||
(uuid(),#{sendId},#{receiveId},#{content},now())
|
||||
</insert>
|
||||
|
||||
<!--删除一条私信-->
|
||||
@ -281,6 +282,14 @@
|
||||
update hs_private_letter set receive_status = "0" where id = #{id}
|
||||
</update>
|
||||
|
||||
<!--私信改为已读-->
|
||||
<update id="updateReadApp" parameterType="map">
|
||||
UPDATE hs_private_letter
|
||||
SET already_read = '1'
|
||||
WHERE
|
||||
send_id = #{otherId} and receive_id = #{userId}
|
||||
</update>
|
||||
|
||||
<!--删除一条已读私信-->
|
||||
<delete id="deleteSentLetter" parameterType="map">
|
||||
update hs_private_letter set send_status = "0" where id = #{id}
|
||||
@ -345,4 +354,38 @@
|
||||
ORDER BY i.create_time
|
||||
</select>
|
||||
|
||||
<!--获取私信其他人信息-->
|
||||
<select id="getLetterOtherInfo" resultType="map" parameterType="map">
|
||||
select * from hs_user where user_id in (SELECT
|
||||
DISTINCT
|
||||
receive_id id
|
||||
FROM
|
||||
hs_private_letter
|
||||
WHERE
|
||||
send_id = #{userId}
|
||||
OR receive_id = #{userId} )
|
||||
or user_id in
|
||||
(SELECT
|
||||
DISTINCT
|
||||
send_id id
|
||||
FROM
|
||||
hs_private_letter
|
||||
WHERE
|
||||
send_id = #{userId}
|
||||
OR receive_id = #{userId} )
|
||||
</select>
|
||||
|
||||
<!--获取两个人交流的私信-->
|
||||
<select id="getCommunicationLetter" resultType="map" parameterType="map">
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
hs_private_letter
|
||||
WHERE
|
||||
( send_id = #{userId} AND receive_id = #{otherId} )
|
||||
OR ( receive_id = #{userId} AND send_id = #{otherId} )
|
||||
ORDER BY
|
||||
letter_create_time
|
||||
</select>
|
||||
|
||||
</mapper>
|
@ -94,7 +94,7 @@ public interface HSService {
|
||||
Map<String,Object> getPersonalInfo(Map<String,Object> param);
|
||||
|
||||
/**
|
||||
* 获取个人信息
|
||||
* 获取个人私信
|
||||
*/
|
||||
Map<String,Object> getPersonalPrivateLetter(Map<String,Object> param);
|
||||
|
||||
@ -138,4 +138,21 @@ public interface HSService {
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getRotationPhotoList();
|
||||
|
||||
/**
|
||||
* 获取个人私信
|
||||
*/
|
||||
Map<String, Object> getPersonalPrivateLetterApp(Map<String, Object> param);
|
||||
|
||||
/**
|
||||
* 获取两个人的私信
|
||||
*/
|
||||
Map<String, Object> getTwoLetterApp(Map<String, Object> param);
|
||||
|
||||
/**
|
||||
* 私信改为已读
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> updateReadApp(Map<String, Object> param);
|
||||
}
|
@ -8,6 +8,7 @@ import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
|
||||
@ -465,6 +466,54 @@ public class HSServiceImpl implements HSService {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取个人私信
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public Map<String, Object> getPersonalPrivateLetterApp(Map<String, Object> param) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
List<Map<String, Object>> resultList = new ArrayList<>();
|
||||
List<Map<String, Object>> list = hsLinkMapper.getLetterOtherInfo(param);
|
||||
for (Map<String, Object> item : list) {
|
||||
Map<String, Object> res = new HashMap<>();
|
||||
res.put("userInfo",item);
|
||||
param.put("otherId",item.get("user_id"));
|
||||
List<Map<String, Object>> letterList = hsLinkMapper.getCommunicationLetter(param);
|
||||
res.put("letterList",letterList);
|
||||
resultList.add(res);
|
||||
}
|
||||
result.put("data",resultList);
|
||||
result.put("success",true);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getTwoLetterApp(Map<String, Object> param) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
List<Map<String, Object>> res = hsLinkMapper.getCommunicationLetter(param);
|
||||
result.put("data",res);
|
||||
result.put("success",true);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> updateReadApp(Map<String, Object> param) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
int res = 0;
|
||||
try {
|
||||
res = hsLinkMapper.updateReadApp(param);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
res = 0;
|
||||
}
|
||||
result.put("data",res);
|
||||
result.put("success",true);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回参数
|
||||
* @param flag
|
||||
|
@ -228,7 +228,6 @@
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
debugger
|
||||
this.$ajax.post("/hs/deleteLetter",{id:id,type:type},r=>{
|
||||
if (r === 1) {
|
||||
let userInfo = JSON.parse(sessionStorage.getItem("userInfo"));
|
||||
|