Commit 55191b1c authored by wangqinghua's avatar wangqinghua

ionic3

parent 24d66b84
...@@ -61,3 +61,7 @@ pages/ app的页面 ...@@ -61,3 +61,7 @@ pages/ app的页面
******appid的问题****** ******appid的问题******
io.ionic.smart19.starter.test 内部测试的版本id io.ionic.smart19.starter.test 内部测试的版本id
io.ionic.smart19.starter 正式环境的版本id io.ionic.smart19.starter 正式环境的版本id
io.ionic.partyCloud.starter.test 部机关党建云(测试)
io.ionic.partyCloud.starter.test 部机关党建云
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release-key.keystore app-release-unsigned.apk 部机关党建云
\ No newline at end of file
No preview for this file type
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<div class="search-content"> <div class="search-content">
<ng-container *ngFor="let item of newList"> <ng-container *ngFor="let item of newList">
<div class="search-item"> <div class="search-item" (click)="goToDetail(item)">
<p class="item-info"> <p class="item-info">
<span>{{item.source}}</span> <span>{{item.source}}</span>
<span>{{item.publishTime | date:'yyyy-MM-dd'}}</span> <span>{{item.publishTime | date:'yyyy-MM-dd'}}</span>
......
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular'; import { IonicPage, NavController, NavParams } from 'ionic-angular';
import {TabsService} from "../../tabs/tabs.service"; import {TabsService} from "../../tabs/tabs.service";
import {StuffDetailPage} from "../stuff-detail/stuff-detail";
@IonicPage() @IonicPage()
...@@ -44,4 +45,9 @@ export class SearchNewPage { ...@@ -44,4 +45,9 @@ export class SearchNewPage {
) )
} }
//查看详情
goToDetail(item){
this.navCtrl.push(StuffDetailPage,{id:item.id});
}
} }
...@@ -14,7 +14,27 @@ ...@@ -14,7 +14,27 @@
<span class="info-time">{{stuffObj?.publishTime | date:'yyyy-MM-dd'}}</span> <span class="info-time">{{stuffObj?.publishTime | date:'yyyy-MM-dd'}}</span>
</div> </div>
<div class="stuff-content"> <div class="stuff-content">
{{stuffObj?.content}} <p [innerHTML]="stuffObj?.content"></p>
</div>
<div class="stuff-comment">
<p class="comment-title">评论</p>
<div *ngFor="let comment of stuffObj?.commentInfos" class="comment-item">
<ion-row>
<ion-col col-2>头像</ion-col>
<ion-col col-10>
<div class="comment-info">
发布
</div>
<div class="commnet-content">
{{comment.content}}
</div>
<div class="comment-time">
{{comment.createTime | date:'yyyy-MM-dd'}}
</div>
</ion-col>
</ion-row>
</div>
</div> </div>
</div> </div>
</ion-content> </ion-content>
......
...@@ -37,7 +37,7 @@ page-stuff-detail { ...@@ -37,7 +37,7 @@ page-stuff-detail {
text-align: center; text-align: center;
line-height: 3rem; line-height: 3rem;
border-top: 1px solid #eeeeee; border-top: 1px solid #eeeeee;
z-index: 99999;
[col-2] { [col-2] {
line-height: 4rem; line-height: 4rem;
} }
...@@ -73,35 +73,41 @@ page-stuff-detail { ...@@ -73,35 +73,41 @@ page-stuff-detail {
color: #666666; color: #666666;
} }
} }
.error-text{
.error-text {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
height: 100%; height: 100%;
width: 100%; width: 100%;
background-color: rgba(0,0,0,.2); background-color: rgba(0, 0, 0, .2);
z-index: 9; z-index: 9;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
.error-flex{
.error-flex {
text-align: center; text-align: center;
width: 80%; width: 80%;
background-color: #fff; background-color: #fff;
.error-title{
.error-title {
background-color: #5579bb; background-color: #5579bb;
color: #ffffff; color: #ffffff;
padding: 1rem 0; padding: 1rem 0;
} }
.content-textarea { .content-textarea {
padding: 10px; padding: 10px;
min-height: 100px; min-height: 100px;
width: 100%; width: 100%;
border: 1px solid #ddd; border: 1px solid #ddd;
} }
.error-footer{
.error-footer {
height: 4rem; height: 4rem;
.sure,.cancel{
.sure, .cancel {
color: #ffffff; color: #ffffff;
background-color: #fd5151; background-color: #fd5151;
width: 50%; width: 50%;
...@@ -113,4 +119,28 @@ page-stuff-detail { ...@@ -113,4 +119,28 @@ page-stuff-detail {
} }
} }
} }
.stuff-comment {
margin-top: 2rem;
.comment-title {
border-bottom: 1px solid #dddddd;
font-weight: 500;
padding-bottom: .8rem;
margin-bottom: .8rem;
}
.comment-item {
.comment-info {
color: #d88f27;
}
.commnet-content{
padding: .5rem 0;
}
}
.comment-item + .comment-item{
border-top: 1px solid #eee;
margin-top: .5rem;
}
}
} }
...@@ -3,6 +3,7 @@ import {IonicPage, NavController, NavParams} from 'ionic-angular'; ...@@ -3,6 +3,7 @@ import {IonicPage, NavController, NavParams} from 'ionic-angular';
import {TabsService} from "../../tabs/tabs.service"; import {TabsService} from "../../tabs/tabs.service";
import {Storage} from "@ionic/storage"; import {Storage} from "@ionic/storage";
import {CommonService} from "../../../provide/common.service"; import {CommonService} from "../../../provide/common.service";
import {DomSanitizer} from "@angular/platform-browser";
@IonicPage() @IonicPage()
@Component({ @Component({
...@@ -19,7 +20,7 @@ export class StuffDetailPage { ...@@ -19,7 +20,7 @@ export class StuffDetailPage {
footerView: boolean; footerView: boolean;
comment: boolean = false; comment: boolean = false;
constructor(public navCtrl: NavController, public navParams: NavParams, constructor(public navCtrl: NavController, public navParams: NavParams,public sanitizer: DomSanitizer,
public tabSer: TabsService, public storage: Storage, public commonSer: CommonService) { public tabSer: TabsService, public storage: Storage, public commonSer: CommonService) {
} }
...@@ -28,11 +29,11 @@ export class StuffDetailPage { ...@@ -28,11 +29,11 @@ export class StuffDetailPage {
this.storage.get('userLoginInfo').then((value) => { this.storage.get('userLoginInfo').then((value) => {
console.log(value); console.log(value);
this.userId = value.userid; this.userId = value.userid;
this.updateNum(1, 1);
}) })
this.stuffId = this.navParams.get('id'); this.stuffId = this.navParams.get('id');
this.getStuff(); this.getStuff();
//增加浏览量 //增加浏览量
this.updateNum(1, 1);
} }
//获取文章信息 //获取文章信息
...@@ -40,6 +41,8 @@ export class StuffDetailPage { ...@@ -40,6 +41,8 @@ export class StuffDetailPage {
this.tabSer.stuffInfo(this.stuffId).subscribe( this.tabSer.stuffInfo(this.stuffId).subscribe(
(res) => { (res) => {
this.stuffObj = res.data; this.stuffObj = res.data;
let con = this.stuffObj.content.replace(/\r?\n/g, "<br />");
this.stuffObj.content = this.sanitizer.bypassSecurityTrustHtml(con);
} }
) )
} }
...@@ -57,7 +60,7 @@ export class StuffDetailPage { ...@@ -57,7 +60,7 @@ export class StuffDetailPage {
const data = { const data = {
id: this.stuffId, id: this.stuffId,
type: type, type: type,
num: num, num: ~~num,
userid: this.userId, userid: this.userId,
content: this.content, content: this.content,
} }
...@@ -76,11 +79,14 @@ export class StuffDetailPage { ...@@ -76,11 +79,14 @@ export class StuffDetailPage {
userid: this.userId, userid: this.userId,
content: this.content, content: this.content,
id: this.stuffId, id: this.stuffId,
num:1,
type:4,
} }
this.tabSer.updateNumByType(data).subscribe( this.tabSer.updateNumByType(data).subscribe(
(res) => { (res) => {
if (res.errcode == '1000') { if (res.errcode == '1000') {
this.getStuff(); this.getStuff();
this.comment = false;
this.commonSer.toast('发布成功'); this.commonSer.toast('发布成功');
} }
} }
......
<ion-header> <ion-header>
<ion-navbar> <ion-navbar>
<ion-title text-center>智汇19号</ion-title> <ion-buttons start>
<button ion-button icon-only>
<img class="toolbar-img" src="./assets/imgs/logo.png">
</button>
</ion-buttons>
<ion-buttons end>
<button ion-button icon-only class="toolbar-icon">
<ion-icon name="mail"></ion-icon>
<span class="num">2</span>
</button>
</ion-buttons>
</ion-navbar> </ion-navbar>
</ion-header> </ion-header>
<ion-content> <ion-content>
......
page-serve { page-serve {
ion-slides{ ion-slides {
width: 100%; width: 100%;
height: 160px; height: 160px;
} }
.slide-image{
.slide-image {
width: 100%; width: 100%;
height: 160px; height: 160px;
} }
.swiper-container{
.swiper-container {
height: 160px; height: 160px;
width: 100%; width: 100%;
} }
.item2,.item3,.item4,.item5{ .item2, .item3, .item4, .item5 {
background-color: #f1f1f1; background-color: #f1f1f1;
padding: 5px 0px; padding: 5px 0px;
} }
.item2-1,.item3-1,.item4-1,.item5-1{ .item2-1, .item3-1, .item4-1, .item5-1 {
font-size: 10px; font-size: 10px;
background-color: #ffffff; background-color: #ffffff;
padding-top: 15px; padding-top: 15px;
} }
.icon2{ .icon2 {
color: aqua; color: aqua;
margin-left: 6px; margin-left: 6px;
font-size: 16px; font-size: 16px;
} }
.common_applications{
.common_applications {
color: #666666; color: #666666;
font-size: 16px; font-size: 16px;
} }
.item2-2,.item3-2,.item4-2,.item5-2{ .item2-2, .item3-2, .item4-2, .item5-2 {
background-color: #ffffff; background-color: #ffffff;
//box-shadow:0px 5px 5px #b5cef7; //box-shadow:0px 5px 5px #b5cef7;
padding-bottom: 8px; padding-bottom: 8px;
} }
.item2-2,.item3-2{ .item2-2, .item3-2 {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
flex-wrap:wrap; flex-wrap: wrap;
align-content: space-between; align-content: space-between;
justify-content: left; justify-content: left;
box-sizing: border-box; box-sizing: border-box;
} }
.card3-item{
.card3-item {
margin: 3px 0; margin: 3px 0;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
width:100%; width: 100%;
} }
.card{
.card {
height: 100%; height: 100%;
width: 20%; width: 20%;
display: inline-flex; display: inline-flex;
...@@ -64,22 +69,24 @@ page-serve { ...@@ -64,22 +69,24 @@ page-serve {
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
box-sizing: border-box; box-sizing: border-box;
margin:2.5%; margin: 2.5%;
position: relative; position: relative;
} }
.card img:first-child{
.card img:first-child {
width: 50%; width: 50%;
} }
.icon2-2{
.icon2-2 {
color: #488afe; color: #488afe;
font-size: 40px; font-size: 40px;
} }
.label2-2{ .label2-2 {
color: #666666 color: #666666
} }
.new-logo{ .new-logo {
position: absolute; position: absolute;
width: 25px; width: 25px;
height: 12px; height: 12px;
...@@ -87,38 +94,39 @@ page-serve { ...@@ -87,38 +94,39 @@ page-serve {
right: -1px; right: -1px;
} }
.icon3{ .icon3 {
color: #f3a035; color: #f3a035;
margin-left: 6px; margin-left: 6px;
font-size: 16px; font-size: 16px;
} }
.daily_reminder{ .daily_reminder {
color: #666666; color: #666666;
font-size: 16px; font-size: 16px;
} }
.more{ .more {
float: right; float: right;
color: #666666; color: #666666;
margin-right: 10px; margin-right: 10px;
} }
.item3-2{ .item3-2 {
padding-top: 8px; padding-top: 8px;
} }
.card3{ .card3 {
display: inline-flex; display: inline-flex;
flex-direction: column; flex-direction: column;
align-items: flex-start; align-items: flex-start;
justify-content: center; justify-content: center;
box-sizing: border-box; box-sizing: border-box;
padding:3px; padding: 3px;
position: relative; position: relative;
font-size: 1.2rem; font-size: 1.2rem;
} }
.img-tips{
.img-tips {
position: absolute; position: absolute;
padding: 4px; padding: 4px;
background-color: red; background-color: red;
...@@ -126,14 +134,17 @@ page-serve { ...@@ -126,14 +134,17 @@ page-serve {
right: 10px; right: 10px;
top: 12px; top: 12px;
} }
.label3-1{
.label3-1 {
font-size: 20px; font-size: 20px;
color: #f26d3a; color: #f26d3a;
} }
.color-996{
.color-996 {
color: #fb9662; color: #fb9662;
} }
.tips{
.tips {
display: inline-block; display: inline-block;
padding: 2px; padding: 2px;
background-color: #fb9662; background-color: #fb9662;
...@@ -142,27 +153,27 @@ page-serve { ...@@ -142,27 +153,27 @@ page-serve {
margin-right: 5px; margin-right: 5px;
} }
.label3-2{ .label3-2 {
font-size: 12px; font-size: 12px;
color: #666666; color: #666666;
} }
.duty_arrangements{ .duty_arrangements {
color: #666666; color: #666666;
font-size: 16px; font-size: 16px;
} }
.icon4{ .icon4 {
color: #46b553; color: #46b553;
margin-left: 6px; margin-left: 6px;
font-size: 16px; font-size: 16px;
} }
.item4-title{ .item4-title {
text-align: center; text-align: center;
} }
.group{ .group {
text-align: center; text-align: center;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
...@@ -171,7 +182,7 @@ page-serve { ...@@ -171,7 +182,7 @@ page-serve {
box-sizing: border-box; box-sizing: border-box;
} }
.card4{ .card4 {
height: 100%; height: 100%;
// width: 66px; // width: 66px;
display: inline-flex; display: inline-flex;
...@@ -185,56 +196,56 @@ page-serve { ...@@ -185,56 +196,56 @@ page-serve {
padding: 8px 3px; padding: 8px 3px;
} }
.card4-2{ .card4-2 {
line-height: 20px; line-height: 20px;
width: 20px; width: 20px;
height: 20px; height: 20px;
border-radius: 20px; border-radius: 20px;
} }
.selected{ .selected {
background-color: #5c91ed; background-color: #5c91ed;
} }
.operation_record{ .operation_record {
color: #666666; color: #666666;
font-size: 16px; font-size: 16px;
} }
.icon5{ .icon5 {
color: #f57746; color: #f57746;
margin-left: 6px; margin-left: 6px;
font-size: 16px; font-size: 16px;
} }
.card5-1{ .card5-1 {
font-size: 13px; font-size: 13px;
margin-left: 10px; margin-left: 10px;
} }
.card5-1-1{ .card5-1-1 {
color: #5c91ed; color: #5c91ed;
} }
.time{ .time {
font-size: 8px; font-size: 8px;
color: #666666; color: #666666;
float: right; float: right;
margin-right: 10px; margin-right: 10px;
} }
.header-img{ .header-img {
width: 100%; width: 100%;
height: 25%; height: 25%;
} }
//tej //tej
.common-menu{ .common-menu {
background-color:#6299fa; background-color: #6299fa;
width: 55px; width: 55px;
height: 55px; height: 55px;
border-radius:5px; border-radius: 5px;
margin-bottom:5px; margin-bottom: 5px;
text-align: center; text-align: center;
color: #fff; color: #fff;
font-weight: bolder; font-weight: bolder;
...@@ -249,21 +260,22 @@ page-serve { ...@@ -249,21 +260,22 @@ page-serve {
box-sizing: border-box; box-sizing: border-box;
} }
.common-menu-count{ .common-menu-count {
font-size: 13px; font-size: 13px;
color:#fff; color: #fff;
background-color: #f36b35; background-color: #f36b35;
width: 24px; width: 24px;
height: 24px; height: 24px;
border-radius:50%; border-radius: 50%;
position: absolute; position: absolute;
text-align: center; text-align: center;
line-height:24px; line-height: 24px;
left:43px; left: 43px;
top:-6px; top: -6px;
} }
// //
.cover{ .cover {
position: relative; position: relative;
width: 100%; width: 100%;
height: 100%; height: 100%;
...@@ -271,89 +283,104 @@ page-serve { ...@@ -271,89 +283,104 @@ page-serve {
z-index: 100; z-index: 100;
} }
.wait{ .wait {
width: 80%; width: 80%;
margin: 100px 10% 0 10%; margin: 100px 10% 0 10%;
} }
.time_home{ .time_home {
font-size: 10px; font-size: 10px;
color: #666666; color: #666666;
float: right; float: right;
margin-right: 10px; margin-right: 10px;
} }
.slides-title{
.slides-title {
position: absolute; position: absolute;
bottom: 0; bottom: 0;
left: 0; left: 0;
font-size: 1.5rem; font-size: 1.5rem;
color: #fff; color: #fff;
width: 100%; width: 100%;
background-color: rgba(153,153,153,0.5); background-color: rgba(153, 153, 153, 0.5);
text-align: left; text-align: left;
padding: 3px 15px; padding: 3px 15px;
} }
.calen-tab{
.calen-tab {
margin: 16px 16px 0px 16px; margin: 16px 16px 0px 16px;
padding-bottom: 10px; padding-bottom: 10px;
border-bottom: 1px solid #dddddd; border-bottom: 1px solid #dddddd;
font-size: 1.3rem; font-size: 1.3rem;
} }
.calen1, .calen1,
.calen2, .calen2,
.calen3, .calen3,
.calen4{ .calen4 {
position: relative; position: relative;
margin-left:1.8rem; margin-left: 1.8rem;
} }
.calen1::after, .calen1::after,
.calen2::after, .calen2::after,
.calen3::after, .calen3::after,
.calen4::after{ .calen4::after {
content: ''; content: '';
position: absolute; position: absolute;
top: 23%; top: 23%;
left: -13px; left: -13px;
width:8px; width: 8px;
height:8px; height: 8px;
border-radius:50%; border-radius: 50%;
} }
.calen1::after{
border:1px solid #ddd; .calen1::after {
border: 1px solid #ddd;
} }
.calen2::after{
.calen2::after {
background-color: #41afef; background-color: #41afef;
} }
.calen3::after{
.calen3::after {
background-color: #f53d3d; background-color: #f53d3d;
} }
.calen4::after{
.calen4::after {
background-color: #f7ce53; background-color: #f7ce53;
} }
ion-calendar-month button.days-btn.dayOff1{
ion-calendar-month button.days-btn.dayOff1 {
border: 1px solid #dddddd; border: 1px solid #dddddd;
} }
ion-calendar-month button.days-btn.dayOff2{
ion-calendar-month button.days-btn.dayOff2 {
background-color: #41afef; background-color: #41afef;
border: 1px solid #41afef; border: 1px solid #41afef;
} }
ion-calendar-month button.days-btn.dayOff3{
ion-calendar-month button.days-btn.dayOff3 {
background-color: #f53d3d; background-color: #f53d3d;
border: 1px solid #f53d3d; border: 1px solid #f53d3d;
} }
ion-calendar-month button.days-btn.dayOff4{
ion-calendar-month button.days-btn.dayOff4 {
background-color: #f7ce53; background-color: #f7ce53;
border: 1px solid #f7ce53; border: 1px solid #f7ce53;
} }
ion-calendar-month .primary .days .dayOff2 p, ion-calendar-month .primary .days .dayOff2 p,
ion-calendar-month .primary .days .dayOff3 p, ion-calendar-month .primary .days .dayOff3 p,
ion-calendar-month .primary .days .dayOff4 p{ ion-calendar-month .primary .days .dayOff4 p {
color: white; color: white;
} }
ion-calendar-month .primary .dayOff1.today p{
ion-calendar-month .primary .dayOff1.today p {
color: #333333; color: #333333;
} }
button[disabled]{
button[disabled] {
opacity: 1; opacity: 1;
} }
......
...@@ -19,11 +19,10 @@ import {TabsService} from "../tabs.service"; ...@@ -19,11 +19,10 @@ import {TabsService} from "../tabs.service";
import {TextToSpeech} from "@ionic-native/text-to-speech"; import {TextToSpeech} from "@ionic-native/text-to-speech";
import {CommonService} from "../../../provide/common.service"; import {CommonService} from "../../../provide/common.service";
declare var Swiper;
@IonicPage() @IonicPage()
@Component({ @Component({
selector: 'page-home', selector: 'page-serve',
templateUrl: 'serve.html' templateUrl: 'serve.html'
}) })
......
...@@ -13,6 +13,21 @@ export class TabsService{ ...@@ -13,6 +13,21 @@ export class TabsService{
private https:Http, //该请求不转json private https:Http, //该请求不转json
){} ){}
//登录
loginpost(data): Observable<any>{
return this.http.post(AppGlobal.domain+'/wisdomgroup/app/loginpost?'+this.commonSer.toQuery(data),null)
}
//消息提示
findAllActivityForAppWithXQ(): Observable<any>{
return this.http.get(AppGlobal.domain+'/wisdomgroup/modules/message/findAllActivityForAppWithXQ')
}
//获取轮播图
getBanner(): Observable<any>{
return this.http.get(AppGlobal.domain+'/wisdomgroup/modules/common/file/getBanner')
}
//获取权限 //获取权限
getRoles(): Observable<any>{ getRoles(): Observable<any>{
return this.http.get(AppGlobal.domain +'/wisdomgroup/app/getRoles', ); return this.http.get(AppGlobal.domain +'/wisdomgroup/app/getRoles', );
...@@ -78,4 +93,33 @@ export class TabsService{ ...@@ -78,4 +93,33 @@ export class TabsService{
return this.http.get(AppGlobal.domain +'/wisdomgroup/modules/common/file/download/'+data,{responseType: 'blob'}); return this.http.get(AppGlobal.domain +'/wisdomgroup/modules/common/file/download/'+data,{responseType: 'blob'});
} }
//新闻列表
stuffPage(data): Observable<any>{
return this.http.post(AppGlobal.domain +'/wisdomgroup/modules/stuff/page',data);
}
//签到
sign(): Observable<any>{
return this.http.get(AppGlobal.domain +'/wisdomgroup/modules/twissign/sign');
}
//查询积分
getUserIntegral(): Observable<any>{
return this.http.get(AppGlobal.domain +'/wisdomgroup/modules/integral/getUserIntegral');
}
//查看文章详情
stuffInfo(params): Observable<any>{
return this.http.get(AppGlobal.domain +'/wisdomgroup/modules/stuff/info/'+params);
}
//查看文章详情
updateNumByType(data): Observable<any>{
return this.http.post(AppGlobal.domain +'/wisdomgroup/modules/stuff/updateNumByType',data);
}
//
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment