Bladeren bron

Merge branch 'dev' of http://git.wswin.cn/lqq/LxtalkUIView into dev

dgf 8 jaren geleden
bovenliggende
commit
a98026c8c9

+ 2 - 1
.gitignore

@@ -7,4 +7,5 @@ dist/settingview
 dist/smsChart
 dist/talkview
 dist/userview
-temp
+temp
+templates.js

+ 98 - 0
peer/Gulpfile.js

@@ -0,0 +1,98 @@
+var gulp = require('gulp');
+// var sass = require('gulp-sass');
+var less = require('gulp-less');
+var del = require('del');
+var concat = require('gulp-concat');
+var rev = require('gulp-rev');
+var revCollector = require('gulp-rev-collector');
+var minifycss = require('gulp-minify-css');
+var minifyhtml = require('gulp-minify-html');
+var minifyjs = require('gulp-uglify');
+var autoprefixer = require('gulp-autoprefixer');
+// var imagemin = require('gulp-imagemin');
+// var pngquant = require('imagemin-pngquant');
+var templateCache = require('gulp-angular-templatecache');
+
+// Paths to your asset files
+var paths = {
+    frontend: {
+        scripts: [
+            '../common/*.js',
+            'src/js/**/*.js'
+        ],
+        styles: [
+            'temp/css/*'
+        ],
+        less: [
+            // '../common/*.less',
+            'src/less/*.less'
+        ],
+        imgs: [
+            'src/imgs/*'
+        ],
+        template: [
+            'src/templates/*.html'
+        ]
+    }
+}
+
+var distpath = '../dist/userview';
+
+gulp.task('app-css', function() {
+    del([distpath + '/app-*.css'], { cwd: process.cwd(), force: true });
+    return gulp.src(paths.frontend.less)
+        .pipe(less())
+        .pipe(concat('app.css'))
+        .pipe(minifycss())
+        .pipe(rev())
+        .pipe(gulp.dest(distpath))
+        .pipe(rev.manifest('app-css-manifest.json'))
+        .pipe(gulp.dest('temp/manifest'));
+});
+
+gulp.task('rev', ['app-css', 'js'], function() {
+    return gulp.src(['temp/manifest/*.json', 'src/html/index.html'])
+        .pipe(revCollector())
+        .pipe(gulp.dest(distpath));
+});
+
+gulp.task('template', function() {
+    return gulp.src(paths.frontend.template)
+        .pipe(templateCache('templates.js', { module: 'templatescache', standalone: true, root: 'templates/' }))
+        .pipe(gulp.dest('src/js'));
+});
+
+gulp.task('js', ['template'], function() {
+    // Cleanup old assets
+    del([distpath + '/app-*.js'], { cwd: process.cwd(), force: true });
+
+    return gulp.src(paths.frontend.scripts)
+        .pipe(concat('app.js'))
+        .pipe(minifyjs())
+        .pipe(rev())
+        .pipe(gulp.dest(distpath))
+        .pipe(rev.manifest('app-js-manifest.json'))
+        .pipe(gulp.dest('temp/manifest'));
+});
+
+// gulp.task('imgs', function () {
+//     return gulp.src(paths.frontend.imgs)
+//         .pipe(imagemin({
+//             progressive: true,
+//             svgoPlugins: [{removeViewBox: false}],
+//             use: [pngquant()]
+//         }))
+//         .pipe(gulp.dest('dest/assets/imgs'));
+// });
+
+gulp.task('build', ['app-css', 'template', 'js', 'rev']);
+
+gulp.task('watch', function() {
+    gulp.watch('src/less/*.less', ['app-css', 'rev']);
+    gulp.watch('src/html/**/*.html', ['rev']);
+    gulp.watch('src/templates/**/*.html', ['template', 'js', 'rev']);
+    gulp.watch('src/js/**/*.js', ['js', 'rev']);
+});
+
+// The default task (called when you run `gulp` from cli)
+gulp.task('default', ['build', 'watch']);

+ 24 - 0
peer/src/html/index.html

@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <title>chat view</title>
+    <meta charset="utf-8" />
+    <!-- 新 Bootstrap 核心 CSS 文件 -->
+    <link rel="stylesheet" href="../bower_components/bootstrap/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="../bower_components/animate.css/animate.min.css">
+    <link rel="stylesheet" href="app.css">
+</head>
+
+<body ng-app="app" ng-controller="UserController" class="full-client" onselectstart="return false">
+    <ui-view></ui-view>
+    <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
+    <script src="../bower_components/jquery/dist/jquery.min.js"></script>
+    <script src="../bower_components/jquery-qrcode/jquery.qrcode.min.js"></script>
+    <script src="../bower_components/angular/angular.min.js"></script>
+    <script src="../bower_components/angular-ui-router/release/angular-ui-router.min.js"></script>
+    <script src="../bower_components/angular-animate/angular-animate.min.js"></script>
+    <script src="app.js"></script>
+</body>
+
+</html>

+ 7 - 0
peer/src/js/app.js

@@ -0,0 +1,7 @@
+'use strict';
+
+var app = angular.module('app', [
+    'ui.router',
+    'templatescache',
+    'ngAnimate'
+    ]);

+ 65 - 0
peer/src/js/controller/peerController.js

@@ -0,0 +1,65 @@
+'use strict';
+
+angular.module('app').controller('PeerController', ['$scope', '$state', function($scope, $state) {
+
+    // lxtalkClient.Invoke('{FB60F992-A0FD-47B3-AAA7-E80DF209C5A4}', '_Register', '', $scope);
+
+    // $scope.user = {
+    //     name: '陆趣趣',
+    //     l: '0578+0-lslqq',
+    //     shotL: 'lslqq',
+    //     comp: '浙江万赛软件科技有限公司',
+    //     branch: '运维部',
+    //     sex: '0',
+    //     mob: '15215756180',
+    //     sMob: '666666',
+    //     tel: '2189026',
+    //     duty: '运维部经理',
+    //     officeID: '运维室001',
+    //     email: 'lqq@wswin.cn',
+    //     shortL: 'lszhangzhangzhang'
+    // };
+
+    $scope.getSex = function(sex) {
+        if ($scope.user === undefined)
+            return '保密';
+        if ($scope.user.sex == 0)
+            return '男';
+        else if ($scope.user.sex == 1)
+            return '女';
+        else
+            return '保密';
+    }
+
+    $scope.isActive = $state.$current.name == 'details-new.info' ? true : false;
+    $scope.$on('$stateChangeStart',
+        function(event, toState, toParams, fromState, fromParams, options) {
+            $scope.isActive = toState.name == 'details-new.info' ? true : false;
+        });
+
+    $scope.update = function(userJson) {
+        userJson = userJson.replace(/ /g, " ");
+        userJson = userJson.replace(/\t/g, "\\t");
+        var user = JSON.parse(userJson);
+        $scope.user = user;
+        var reg = /-([\W\w]*)/;
+        var group = reg.exec($scope.user.l);
+        $scope.user.shortL = group == null ? $scope.user.l : group[1];
+
+        //宁夏企税通企业版使用
+        // if ($state.current.name == 'simple-enterprise' || $state.current.name == 'simple') {
+        //   // alert($state.current.name);
+        //   if ($scope.user.l.length >= 15 && $state.current.name !== 'simple-enterprise')
+        //     $state.go('simple-enterprise');
+        //   else if ($scope.user.l.length < 15 && $state.current.name !== 'simple')
+        //     $state.go('simple');
+        // }
+        // else if ($state.current.name == 'details-enterprise' || $state.current.name == 'details')
+        // {
+        //   if ($scope.user.l.length >= 15 && $state.current.name !== 'details-enterprise')
+        //     $state.go('details-enterprise');
+        //   else if ($scope.user.l.length < 15 && $state.current.name !== 'details')
+        //     $state.go('details');
+        // }
+    }
+}]);

+ 15 - 0
peer/src/js/router.js

@@ -0,0 +1,15 @@
+angular.module('app').run(['$rootScope', '$state', '$stateParams',
+    function($rootScope, $state, $stateParams) {
+        $rootScope.$state = $state;
+        $rootScope.$stateParams = $stateParams;
+    }
+]).config(['$stateProvider', '$urlRouterProvider',
+    function($stateProvider, $urlRouterProvider) {
+        $urlRouterProvider.otherwise('/peer'); //
+        $stateProvider.state('peer', {
+                url: '/peer',
+                templateUrl: 'templates/peer.html',
+                controller: 'PeerController'
+            });
+    }
+])

+ 3 - 0
peer/src/less/app.less

@@ -0,0 +1,3 @@
+// Core variables and mixins
+@import "../../../common/app.utilities.less";
+@import "app.main.less";

+ 0 - 0
peer/src/less/app.main.less


+ 18 - 0
peer/src/templates/peer.html

@@ -0,0 +1,18 @@
+<div style="margin:5px">
+    <div class="pull-left">
+        <img src="../img/DefaultHeadImage_48.png">
+    </div>
+    <div class="pull-left p-l-sm simple-user">
+        <p class="displayName"><input class="CopyText" type="text" readonly="readonly" value="{{user.name}}"></p>
+        <p style="font-size:12px; padding-bottom:0.5em; border-bottom:solid 1px; margin-bottom:0.5em;">
+            处室:<input class="CopyText" type="text" readonly="readonly" value="{{user.branch}}">
+            <br> 职务:<input class="CopyText" type="text" readonly="readonly" value="{{user.duty}}">
+        </p>
+        <p>
+            电话:<input class="CopyText" type="text" readonly="readonly" value="{{user.tel}}">
+            <br> 手机:<input class="CopyText" type="text" readonly="readonly" value="{{user.mob}}">
+            <br> 邮箱:<input class="CopyText" type="text" readonly="readonly" value="{{user.email}}">
+        </p>
+    </div>
+    <div style="clear:both"></div>
+</div>