Commit bfd6cf86 authored by wangqinghua's avatar wangqinghua

图片 视频上传

parent ba03f72b
......@@ -95,7 +95,7 @@
<plugin name="phonegap-plugin-mobile-accessibility" spec="~1.0.5-dev" />
<plugin name="cordova-plugin-camera" spec="~4.0.3" />
<engine name="ios" spec="4.5.5" />
<engine name="browser" spec="5.0.4" />
<engine name="android" spec="7.0.0" />
<plugin name="cordova-plugin-file-transfer" spec="~1.7.1" />
<engine name="browser" spec="~5.0.4" />
</widget>
......@@ -7,7 +7,7 @@
"proxies": [
{
"path": "/wisdomgroup",
"proxyUrl": "http://47.103.35.216:8080/wisdomgroup"
"proxyUrl": "http://192.168.2.235:8080/wisdomgroup"
}
]
}
\ No newline at end of file
......@@ -10450,6 +10450,11 @@
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
},
"vconsole": {
"version": "3.3.0",
"resolved": "http://r.cnpmjs.org/vconsole/download/vconsole-3.3.0.tgz",
"integrity": "sha1-QmKcB/s7anJzPSu8QX7j6Esrx24="
},
"verror": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
......
......@@ -59,6 +59,7 @@
"moment": "^2.22.2",
"rxjs": "5.5.2",
"sw-toolbox": "3.6.0",
"vconsole": "^3.3.0",
"zone.js": "0.8.18"
},
"devDependencies": {
......
cordova.define('cordova/plugin_list', function(require, exports, module) {
module.exports = [
{
"file": "plugins/cordova-hot-code-push-plugin/www/chcp.js",
"id": "cordova-hot-code-push-plugin.chcp",
"pluginId": "cordova-hot-code-push-plugin",
"clobbers": [
"chcp"
]
},
{
"file": "plugins/cordova-plugin-app-version/www/AppVersionPlugin.js",
"id": "cordova-plugin-app-version.AppVersionPlugin",
"pluginId": "cordova-plugin-app-version",
......@@ -31,6 +39,36 @@ module.exports = [
"runs": true
},
{
"file": "plugins/cordova-plugin-camera/www/CameraConstants.js",
"id": "cordova-plugin-camera.Camera",
"pluginId": "cordova-plugin-camera",
"clobbers": [
"Camera"
]
},
{
"file": "plugins/cordova-plugin-camera/www/CameraPopoverOptions.js",
"id": "cordova-plugin-camera.CameraPopoverOptions",
"pluginId": "cordova-plugin-camera",
"clobbers": [
"CameraPopoverOptions"
]
},
{
"file": "plugins/cordova-plugin-camera/www/Camera.js",
"id": "cordova-plugin-camera.camera",
"pluginId": "cordova-plugin-camera",
"clobbers": [
"navigator.camera"
]
},
{
"file": "plugins/cordova-plugin-camera/src/browser/CameraProxy.js",
"id": "cordova-plugin-camera.CameraProxy",
"pluginId": "cordova-plugin-camera",
"runs": true
},
{
"file": "plugins/cordova-plugin-device/www/device.js",
"id": "cordova-plugin-device.device",
"pluginId": "cordova-plugin-device",
......@@ -224,20 +262,6 @@ module.exports = [
]
},
{
"file": "plugins/cordova-plugin-splashscreen/www/splashscreen.js",
"id": "cordova-plugin-splashscreen.SplashScreen",
"pluginId": "cordova-plugin-splashscreen",
"clobbers": [
"navigator.splashscreen"
]
},
{
"file": "plugins/cordova-plugin-splashscreen/src/browser/SplashScreenProxy.js",
"id": "cordova-plugin-splashscreen.SplashScreenProxy",
"pluginId": "cordova-plugin-splashscreen",
"runs": true
},
{
"file": "plugins/cordova-plugin-file-opener2/www/plugins.FileOpener2.js",
"id": "cordova-plugin-file-opener2.FileOpener2",
"pluginId": "cordova-plugin-file-opener2",
......@@ -246,41 +270,27 @@ module.exports = [
]
},
{
"file": "plugins/cordova-hot-code-push-plugin/www/chcp.js",
"id": "cordova-hot-code-push-plugin.chcp",
"pluginId": "cordova-hot-code-push-plugin",
"clobbers": [
"chcp"
]
},
{
"file": "plugins/cordova-plugin-statusbar/www/statusbar.js",
"id": "cordova-plugin-statusbar.statusbar",
"pluginId": "cordova-plugin-statusbar",
"file": "plugins/cordova-plugin-file-transfer/www/FileTransferError.js",
"id": "cordova-plugin-file-transfer.FileTransferError",
"pluginId": "cordova-plugin-file-transfer",
"clobbers": [
"window.StatusBar"
"window.FileTransferError"
]
},
{
"file": "plugins/cordova-plugin-statusbar/src/browser/StatusBarProxy.js",
"id": "cordova-plugin-statusbar.StatusBarProxy",
"pluginId": "cordova-plugin-statusbar",
"runs": true
},
{
"file": "plugins/cordova-plugin-tts/www/tts.js",
"id": "cordova-plugin-tts.tts",
"pluginId": "cordova-plugin-tts",
"file": "plugins/cordova-plugin-file-transfer/www/FileTransfer.js",
"id": "cordova-plugin-file-transfer.FileTransfer",
"pluginId": "cordova-plugin-file-transfer",
"clobbers": [
"TTS"
"window.FileTransfer"
]
},
{
"file": "plugins/integrator-cordova-plugin-downloader/www/Downloader.js",
"id": "integrator-cordova-plugin-downloader.Downloader",
"pluginId": "integrator-cordova-plugin-downloader",
"file": "plugins/cordova-plugin-file-transfer/www/browser/FileTransfer.js",
"id": "cordova-plugin-file-transfer.BrowserFileTransfer",
"pluginId": "cordova-plugin-file-transfer",
"clobbers": [
"cordova.plugins.Downloader"
"window.FileTransfer"
]
},
{
......@@ -307,98 +317,98 @@ module.exports = [
"runs": true
},
{
"file": "plugins/phonegap-plugin-mobile-accessibility/www/mobile-accessibility.js",
"id": "phonegap-plugin-mobile-accessibility.mobile-accessibility",
"pluginId": "phonegap-plugin-mobile-accessibility",
"file": "plugins/cordova-plugin-splashscreen/www/splashscreen.js",
"id": "cordova-plugin-splashscreen.SplashScreen",
"pluginId": "cordova-plugin-splashscreen",
"clobbers": [
"window.MobileAccessibility"
"navigator.splashscreen"
]
},
{
"file": "plugins/phonegap-plugin-mobile-accessibility/www/MobileAccessibilityNotifications.js",
"id": "phonegap-plugin-mobile-accessibility.MobileAccessibilityNotifications",
"pluginId": "phonegap-plugin-mobile-accessibility",
"clobbers": [
"MobileAccessibilityNotifications"
]
"file": "plugins/cordova-plugin-splashscreen/src/browser/SplashScreenProxy.js",
"id": "cordova-plugin-splashscreen.SplashScreenProxy",
"pluginId": "cordova-plugin-splashscreen",
"runs": true
},
{
"file": "plugins/cordova-plugin-camera/www/CameraConstants.js",
"id": "cordova-plugin-camera.Camera",
"pluginId": "cordova-plugin-camera",
"file": "plugins/cordova-plugin-statusbar/www/statusbar.js",
"id": "cordova-plugin-statusbar.statusbar",
"pluginId": "cordova-plugin-statusbar",
"clobbers": [
"Camera"
"window.StatusBar"
]
},
{
"file": "plugins/cordova-plugin-camera/www/CameraPopoverOptions.js",
"id": "cordova-plugin-camera.CameraPopoverOptions",
"pluginId": "cordova-plugin-camera",
"clobbers": [
"CameraPopoverOptions"
]
"file": "plugins/cordova-plugin-statusbar/src/browser/StatusBarProxy.js",
"id": "cordova-plugin-statusbar.StatusBarProxy",
"pluginId": "cordova-plugin-statusbar",
"runs": true
},
{
"file": "plugins/cordova-plugin-camera/www/Camera.js",
"id": "cordova-plugin-camera.camera",
"pluginId": "cordova-plugin-camera",
"file": "plugins/cordova-plugin-tts/www/tts.js",
"id": "cordova-plugin-tts.tts",
"pluginId": "cordova-plugin-tts",
"clobbers": [
"navigator.camera"
"TTS"
]
},
{
"file": "plugins/cordova-plugin-camera/src/browser/CameraProxy.js",
"id": "cordova-plugin-camera.CameraProxy",
"pluginId": "cordova-plugin-camera",
"runs": true
"file": "plugins/integrator-cordova-plugin-downloader/www/Downloader.js",
"id": "integrator-cordova-plugin-downloader.Downloader",
"pluginId": "integrator-cordova-plugin-downloader",
"clobbers": [
"cordova.plugins.Downloader"
]
},
{
"file": "plugins/cordova-plugin-file-transfer/www/FileTransferError.js",
"id": "cordova-plugin-file-transfer.FileTransferError",
"pluginId": "cordova-plugin-file-transfer",
"file": "plugins/ionic-plugin-keyboard/www/browser/keyboard.js",
"id": "ionic-plugin-keyboard.keyboard",
"pluginId": "ionic-plugin-keyboard",
"clobbers": [
"window.FileTransferError"
]
"cordova.plugins.Keyboard"
],
"runs": true
},
{
"file": "plugins/cordova-plugin-file-transfer/www/FileTransfer.js",
"id": "cordova-plugin-file-transfer.FileTransfer",
"pluginId": "cordova-plugin-file-transfer",
"file": "plugins/phonegap-plugin-mobile-accessibility/www/mobile-accessibility.js",
"id": "phonegap-plugin-mobile-accessibility.mobile-accessibility",
"pluginId": "phonegap-plugin-mobile-accessibility",
"clobbers": [
"window.FileTransfer"
"window.MobileAccessibility"
]
},
{
"file": "plugins/cordova-plugin-file-transfer/www/browser/FileTransfer.js",
"id": "cordova-plugin-file-transfer.BrowserFileTransfer",
"pluginId": "cordova-plugin-file-transfer",
"file": "plugins/phonegap-plugin-mobile-accessibility/www/MobileAccessibilityNotifications.js",
"id": "phonegap-plugin-mobile-accessibility.MobileAccessibilityNotifications",
"pluginId": "phonegap-plugin-mobile-accessibility",
"clobbers": [
"window.FileTransfer"
"MobileAccessibilityNotifications"
]
}
];
module.exports.metadata =
// TOP OF METADATA
{
"cordova-hot-code-push-plugin": "1.5.3",
"cordova-plugin-app-version": "0.1.9",
"cordova-plugin-badge": "0.8.7",
"cordova-plugin-camera": "4.0.3",
"cordova-plugin-device": "2.0.1",
"cordova-plugin-file": "6.0.1",
"cordova-plugin-ionic-webview": "1.1.16",
"cordova-plugin-splashscreen": "5.0.2",
"cordova-plugin-whitelist": "1.3.3",
"cordova-plugin-geolocation": "4.0.1",
"cordova-plugin-file-opener2": "2.0.19",
"cordova-plugin-file-transfer": "1.7.1",
"cordova-plugin-geolocation": "4.0.1",
"cordova-plugin-ionic-keyboard": "2.1.3",
"cordova-hot-code-push-plugin": "1.5.3",
"cordova-plugin-ionic-webview": "1.1.16",
"cordova-plugin-network-information": "2.0.2-dev",
"cordova-plugin-splashscreen": "5.0.2",
"cordova-plugin-statusbar": "2.4.2",
"cordova.plugins.diagnostic": "2.0.0",
"cordova-plugin-tts": "0.2.3",
"cordova-plugin-whitelist": "1.3.3",
"cordova.plugins.diagnostic": "2.0.0",
"integrator-cordova-plugin-downloader": "0.0.1",
"cordova-plugin-network-information": "2.0.2-dev",
"phonegap-plugin-mobile-accessibility": "1.0.5-dev",
"cordova-plugin-camera": "4.0.3",
"cordova-plugin-file-transfer": "1.7.1"
"ionic-plugin-keyboard": "2.2.1",
"phonegap-plugin-mobile-accessibility": "1.0.5-dev"
}
// BOTTOM OF METADATA
});
\ No newline at end of file
......@@ -25,8 +25,14 @@
</ion-select>
</ion-item>
<ion-item>
<ion-input [(ngModel)]="obj.title" placeholder="请输入内容标题"></ion-input>
</ion-item>
<ion-item>
<textarea [(ngModel)]="obj.content" class="content-textarea" placeholder="请在此输入发布内容"></textarea>
</ion-item>
<ion-item *ngIf="type == 'image'">
<ion-row>
<ion-col class="imgList" col-4 *ngFor="let img of imgList">
<ion-col class="imgList" col-4 *ngFor="let img of fileList">
<img [src]="pictrue + img.filePath" alt="标题图片">
</ion-col>
<ion-col col-4>
......@@ -37,8 +43,11 @@
</ion-col>
</ion-row>
</ion-item>
<ion-item>
<ion-item *ngIf="type == 'video'">
<ion-row>
<ion-col class="imgList" col-4 *ngFor="let video of fileList">
<video [src]="pictrue + video.filePath"></video>
</ion-col>
<ion-col col-4>
<div class="selectDiv" (click)="selectVideo()">
<div class="height"></div>
......@@ -47,11 +56,4 @@
</ion-col>
</ion-row>
</ion-item>
<ion-item>
<ion-input [(ngModel)]="obj.title" placeholder="请输入内容标题"></ion-input>
</ion-item>
<ion-item>
<textarea [(ngModel)]="obj.content" class="content-textarea" placeholder="请在此输入发布内容"></textarea>
</ion-item>
<!-- <span (click)="selectPicture()">选择文件</span>-->
</ion-content>
......@@ -52,8 +52,11 @@ page-publish {
border-radius: 2px;
}
}
.imgList img{
width: 100%;
max-height: 100px;
.imgList{
video,img{
width: 100%;
max-height: 100px;
}
}
}
......@@ -35,21 +35,23 @@ export class PublishPage {
content: '',
publishRange: '',
};
imgList = []; //图片数组
videoList = []; //视频数组
fileList = []; //文件数组
group; //用户组
userid; //当前登录人的id
file; // 文件
pictrue = AppGlobal.domain;
pictrue = AppGlobal.domain + '/wisdomgroup';
type; //视频文章or图片文章
constructor(public navCtrl: NavController, public navParams: NavParams, public storage: Storage,
public camera: Camera, public actionSheetCtrl: ActionSheetController,
public loadingCtrl: LoadingController,public transfer:FileTransfer,
public loadingCtrl: LoadingController, public transfer: FileTransfer,
public commonSer: CommonService, public tabSer: TabsService) {
}
ionViewDidLoad() {
this.type = this.navParams.get('type');
this.storage.get("userLoginInfo").then((value) => {
this.userid = value.userid;
})
......@@ -96,17 +98,25 @@ export class PublishPage {
selectPicture(srcType) {
const options: CameraOptions = {
quality: 100,
destinationType: this.camera.DestinationType.DATA_URL,
encodingType: this.camera.EncodingType.JPEG,
destinationType: this.camera.DestinationType.FILE_URI,
encodingType: this.camera.EncodingType.PNG,
mediaType: this.camera.MediaType.PICTURE,
sourceType: srcType,
saveToPhotoAlbum: false
};
const option : FileUploadOptions = {
}
const option: FileUploadOptions = {
httpMethod: 'POST',
headers: {
'Accept': 'application/json', //不加入 发生错误!!
},
fileName:'image.png'
};
this.camera.getPicture(options).then((imagedata) => {
this.upload(imagedata,option);
if(imagedata.indexOf('?') !== -1){ //获取文件名
imagedata = imagedata.split('?')[0];
}
let arr = imagedata.split('/');
this.upload(arr[arr.length -1], option);
})
}
......@@ -118,13 +128,21 @@ export class PublishPage {
mediaType: this.camera.MediaType.VIDEO,
sourceType: 0,
};
const option :FileUploadOptions = {
fileKey: "file",
fileName: 'test',
mimeType:'vedio/mp4',
const option: FileUploadOptions = {
httpMethod: 'POST',
headers: {
'Accept': 'application/json', //不加入 发生错误!!
},
fileName:'video.mp4',
mimeType:'mp4'
};
this.camera.getPicture(options).then((videoData) => {
this.upload(videoData,option);
if(videoData.indexOf('?') !== -1){ //获取文件名
videoData = videoData.split('?')[0];
}
let arr = videoData.split('/');
this.upload(arr[arr.length -1], option);
this.upload(videoData, option);
})
}
......@@ -144,22 +162,29 @@ export class PublishPage {
// } ],
// "error" : [ ]
// }
upload(file,options){
upload(file, options) {
this.commonSer.log(file);
const uploadLoading = this.loadingCtrl.create({
content: '上传中...'
content: '上传中...',
dismissOnPageChange:true,
enableBackdropDismiss:true,
});
alert(file);
uploadLoading.present();
const fileTransfer: FileTransferObject = this.transfer.create();
fileTransfer.upload(file, '/wisdomgroup/modules/common/file/upload1',options).then(
fileTransfer.upload(file, AppGlobal.domain + '/wisdomgroup/modules/common/file/upload1', options).then(
(res) => {
uploadLoading.dismiss();
this.commonSer.toast('上传成功');
const data = JSON.parse(res.response);
this.imgList.push(data.data[0]);
},err=>{
const obj = {
resourceType: 1,
path: data.data[0].filePath,
name: data.data[0].showName,
};
this.commonSer.log(data);
this.fileList.push(obj);
}, err => {
uploadLoading.dismiss();
console.log(err)
this.commonSer.toast('上传错误');
});
}
......@@ -175,9 +200,7 @@ export class PublishPage {
publishRange: this.obj.publishRange,
submitter: this.userid,
stuffType: 1,
attachments:[
{resourceType:1,path:'',name:''}
]
attachments: this.fileList,
};
this.commonSer.alert('确定提交审核当前内容?', () => {
this.tabSer.stuffSave(data).subscribe(
......@@ -188,7 +211,6 @@ export class PublishPage {
}, 800)
}
)
})
}
......
......@@ -7,7 +7,7 @@
</button>
</ion-buttons>
<ion-buttons end>
<button ion-button icon-only (click)="goToPublish()" class="toolbar-signUp">
<button ion-button icon-only (click)="isPublish = true" class="toolbar-signUp">
<ion-icon class="icon-fabu iconfont"></ion-icon>
<span class="signUp-span" >发布</span>
</button>
......@@ -116,3 +116,10 @@
<p class="noData" *ngIf="!loadMore">你已经看到我的底线了</p>
</ion-content>
<div class="publishMisk" *ngIf="isPublish" (click)="close()">
<div class="content" (click)="stop($event)">
<div class="image" (click)="goToPublish('image')">发图文</div>
<div class="video" (click)="goToPublish('video')">发视频</div>
</div>
</div>
......@@ -183,4 +183,25 @@ page-discover {
.swiper-container{
overflow: auto;
}
.publishMisk{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,.4);
z-index: 99999;
.content{
position: absolute;
top: 44px;
right: 10px;
background-color: #fff;
width: 25%;
border-radius: 4px;
padding: 8px;
div{
margin-top: 5px;
}
}
}
}
......@@ -177,6 +177,7 @@ export class DiscoverPage {
totalNum;
pageNum = 1;
isPublish = false;
constructor(public navCtrl: NavController, public navParams: NavParams,
public commonSer: CommonService,public renderer:Renderer2,
......@@ -342,8 +343,9 @@ export class DiscoverPage {
}
//前往发布页面
goToPublish() {
this.navCtrl.push(PublishPage);
goToPublish(type) {
this.navCtrl.push(PublishPage,{type:type});
this.isPublish = false;
}
//消息提醒页面
......@@ -357,4 +359,12 @@ export class DiscoverPage {
if (index == this.tabsList.length + 1) index = 1;
this.changeParent(this.tabsList[index])
}
close(){
this.isPublish = false;
}
stop(e) {
e.stopPropagation();
}
}
......@@ -3,6 +3,9 @@ import {AlertController, LoadingController, ToastController} from "ionic-angular
import {AppGlobal} from "../service/http.service";
import {File} from "@ionic-native/file";
import {FileOpener} from "@ionic-native/file-opener";
import VConsole from 'vconsole';
var vconsole = new VConsole();
@Injectable()
......@@ -218,14 +221,16 @@ export class CommonService{
return mimeType;
}
/**
* vConsole 移动端调试工具
* 定义全局的log日志 开发模式 打印log 生产环境 关闭
* @param message 日志信息
* @param message 信息
*/
log(message){
if(AppGlobal.domain === ""){ //开发环境时
// if(AppGlobal.domain === ""){ //开发环境时
console.log(message);
}
// }
}
}
\ No newline at end of file
......@@ -13,10 +13,10 @@ export class AppGlobal {
};
//接口基地址
// static domain = "http://101.89.112.92:80"; //正式环境
// static domain = "http://180.168.156.212:2931"; //测试环境
static domain = "http://47.103.35.216:8080"; //阿里云地址
// static domain = ""; //本地环境
// static domain = "http://101.89.112.92:80"; //正式环境
// static domain = "http://192.168.2.235:8080"; //测试环境
// static domain = "http://47.103.35.216:8080"; //阿里云地址
static domain = ""; //本地环境
//图片地址
// static picture = AppGlobal.domain + "/wisdomgroup/manager/getIcon/"; //正式地址
......
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