|
@@ -1,945 +0,0 @@
|
|
|
-/* ================================================================================
|
|
|
- * dever.js v1.0
|
|
|
- * http://git.shemic.com/dever/script
|
|
|
- * ================================================================================
|
|
|
- * Copyright 2017-2018 Dever(dever.cc)
|
|
|
- *
|
|
|
- * Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
- * you may not use this file except in compliance with the License.
|
|
|
- * You may obtain a copy of the License at
|
|
|
- *
|
|
|
- * http://www.apache.org/licenses/LICENSE-2.0
|
|
|
- *
|
|
|
- * Unless required by applicable law or agreed to in writing, software
|
|
|
- * distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
- * See the License for the specific language governing permissions and
|
|
|
- * limitations under the License.
|
|
|
- * ================================================================================
|
|
|
- */
|
|
|
-
|
|
|
- //<filter><script src="../js/lib/jquery.min.js"></script><script src="../js/dever.js"></script></filter>
|
|
|
-
|
|
|
-$(function()
|
|
|
-{
|
|
|
- Dever.Init();
|
|
|
-});
|
|
|
-
|
|
|
-//公共类库
|
|
|
-var Dever =
|
|
|
-{
|
|
|
- Init : function()
|
|
|
- {
|
|
|
- this.Import();
|
|
|
- this.Page().Init();
|
|
|
- this.User().Init();
|
|
|
- this.Editor().Init();
|
|
|
- this.Change();
|
|
|
- this.Upload();
|
|
|
- this.LoadPage();
|
|
|
- this.Extend();
|
|
|
- //this.Target();
|
|
|
- //this.Pjax();
|
|
|
- }
|
|
|
-
|
|
|
- ,Pjax : function()
|
|
|
- {
|
|
|
- $(document).pjax('a', '.container');
|
|
|
- //$.pjax.reload('.container');
|
|
|
- }
|
|
|
-
|
|
|
- ,Page : function()
|
|
|
- {
|
|
|
- return _Dever_Page;
|
|
|
- }
|
|
|
-
|
|
|
- ,Share : function()
|
|
|
- {
|
|
|
- return _Dever_Share;
|
|
|
- }
|
|
|
-
|
|
|
- ,Template : function()
|
|
|
- {
|
|
|
- return _Dever_Template;
|
|
|
- }
|
|
|
-
|
|
|
- ,Editor : function()
|
|
|
- {
|
|
|
- return _Dever_Editor;
|
|
|
- }
|
|
|
-
|
|
|
- ,User : function()
|
|
|
- {
|
|
|
- return _Dever_User;
|
|
|
- }
|
|
|
-
|
|
|
- ,Modal : function()
|
|
|
- {
|
|
|
- return _Dever_Modal;
|
|
|
- }
|
|
|
-
|
|
|
- ,Proxy : function(uri)
|
|
|
- {
|
|
|
- return config.proxy + 'proxy_method=' + encodeURIComponent(uri);
|
|
|
- }
|
|
|
-
|
|
|
- ,Jump : function(url)
|
|
|
- {
|
|
|
- location.href = url;
|
|
|
- }
|
|
|
-
|
|
|
- ,BackRun : function(url)
|
|
|
- {
|
|
|
- $.post(url);
|
|
|
- }
|
|
|
-
|
|
|
- ,Reload : function(e)
|
|
|
- {
|
|
|
- e.attr('src', e.attr('src'));
|
|
|
- }
|
|
|
-
|
|
|
- ,Target : function()
|
|
|
- {
|
|
|
- var link = config.host;
|
|
|
- $("a").each(function() {
|
|
|
- if (!$(this).attr('onclick')) {
|
|
|
- var url = $(this).attr('href');
|
|
|
-
|
|
|
- if (url && url.indexOf(link) == -1) {
|
|
|
- //$(this).attr('target', '_blank');
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- ,Import : function()
|
|
|
- {
|
|
|
- var self = this;
|
|
|
- var include = $("include");
|
|
|
- var count = include.length-1;
|
|
|
- if (include.length) {
|
|
|
- include.each(function(i){
|
|
|
- var dom = $(this);
|
|
|
- var system = dom.attr('system');
|
|
|
- var path = dom.attr('path');
|
|
|
- var name = dom.attr('file');
|
|
|
-
|
|
|
- var file = '';
|
|
|
- if(path) file = path;
|
|
|
- if(system) file = file + '/' + system;
|
|
|
-
|
|
|
- file += name + '.html';
|
|
|
- dom.load(file, function(){
|
|
|
- $("html").find("include").eq(i).get(0).outerHTML = dom.html();
|
|
|
-
|
|
|
- if (i == count) {
|
|
|
- self.Template().Init();
|
|
|
- }
|
|
|
- });
|
|
|
- })
|
|
|
- } else {
|
|
|
- self.Template().Init();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,LoadPage : function()
|
|
|
- {
|
|
|
- if ($('.dever-loadpage').length) {
|
|
|
- $('.dever-loadpage').each(function() {
|
|
|
- var url = $(this).attr('dever-url');
|
|
|
- var self = $(this);
|
|
|
- $.getJSON(Dever.CallUrl(url), function(t) {
|
|
|
- self.html(t.msg);
|
|
|
- _Dever_Page.Ajax(self);
|
|
|
- });
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,CallUrl : function(url)
|
|
|
- {
|
|
|
- if (url.indexOf('callback') == -1) {
|
|
|
- if (url.indexOf('=') != -1) {
|
|
|
- url += '&json=1&callback=?';
|
|
|
- } else {
|
|
|
- url += '?json=1&callback=?';
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return url;
|
|
|
- }
|
|
|
-
|
|
|
- ,Change : function()
|
|
|
- {
|
|
|
- if ($('.dever-change').length) {
|
|
|
- $('.dever-change').change(function() {
|
|
|
- Dever.Jump($(this).attr('dever-change')+$(this).val());
|
|
|
- });
|
|
|
-
|
|
|
- //$('.dever-change').val($('.dever-change').attr('dever-value'));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,Host : function(host, uri)
|
|
|
- {
|
|
|
- var result = '';
|
|
|
-
|
|
|
- uri = uri ? uri : '';
|
|
|
-
|
|
|
- result = config.host.replace('www', host);
|
|
|
- result = result.replace('main', host);
|
|
|
-
|
|
|
- result = result + config.type;
|
|
|
-
|
|
|
- result = result.replace('??', '?');
|
|
|
-
|
|
|
- if (config.proxy) {
|
|
|
- return this.Proxy(host + '/' + uri);
|
|
|
- }
|
|
|
-
|
|
|
- return result + uri;
|
|
|
- }
|
|
|
-
|
|
|
- // 输出数据,提示框
|
|
|
- ,Out : function(content, callback, ele, title)
|
|
|
- {
|
|
|
- if (content && content.indexOf('登录') != -1 && $("#login_url").length) {
|
|
|
- var href = $("#login_url").val();
|
|
|
- location.href = href;
|
|
|
- return;
|
|
|
- } else {
|
|
|
- alert(content);
|
|
|
-
|
|
|
- if (ele && callback) {
|
|
|
- ele.unbind('click').bind('click', callback);
|
|
|
- } else if (callback) {
|
|
|
- callback();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 将数据解析,并进行下一步操作
|
|
|
- ,Msg : function(result, error_callback, success_callback)
|
|
|
- {
|
|
|
- if (result.status == 2) {
|
|
|
- if (error_callback) {
|
|
|
- return error_callback(result.msg);
|
|
|
- }
|
|
|
- this.Out(result.msg);
|
|
|
- } else {
|
|
|
- if (success_callback) {
|
|
|
- return success_callback(result.msg);
|
|
|
- }
|
|
|
- if (result.msg.indexOf('http://') != -1) {
|
|
|
- this.Jump(result.msg);
|
|
|
- } else if (parseInt(result.msg) > 0) {
|
|
|
- this.Out('操作成功', function() {
|
|
|
- location.reload();
|
|
|
- });
|
|
|
- } else {
|
|
|
- this.Out(result.msg);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,Confirm : function(callback)
|
|
|
- {
|
|
|
- if (confirm('确定进行此项操作吗?')) {
|
|
|
- callback();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //上传组件加载
|
|
|
- ,Upload : function()
|
|
|
- {
|
|
|
- if ($(".dever-upload-drag").length) {
|
|
|
- $(".dever-upload-drag").each(function() {
|
|
|
- var key = $(this).attr('key');
|
|
|
-
|
|
|
- if (config.proxy) {
|
|
|
- var url = Dever.Proxy('upload/save.drag') + '&key=' + key;
|
|
|
- } else {
|
|
|
- var url = config.upload + '.drag?key='+ key;
|
|
|
- }
|
|
|
- $(this).inlineattachment({
|
|
|
- uploadUrl: url,
|
|
|
- progressText: '![文件上传中...]()',
|
|
|
- urlText: "\n",
|
|
|
- errorText: '上传失败'
|
|
|
- });
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- if ($(".dever-upload").length) {
|
|
|
- $(".dever-upload").each(function(i) {
|
|
|
- loadUpload(i,$(this),$(this).attr('key'),config.upload + '.start', config.assets + 'image/');//三个参数说明1:第几个上传框2:文件对象3:图片的基本配置标题
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,Load : function(filename,filetype)
|
|
|
- {
|
|
|
- if (filetype == "js") {
|
|
|
- var fileref = document.createElement('script');
|
|
|
- fileref.setAttribute("type","text/javascript");
|
|
|
- fileref.setAttribute("src",filename + '.' + filetype);
|
|
|
- } else if (filetype == "css") {
|
|
|
- var fileref = document.createElement('link');
|
|
|
- fileref.setAttribute("rel","stylesheet");
|
|
|
- fileref.setAttribute("type","text/css");
|
|
|
- fileref.setAttribute("href",filename + '.' + filetype);
|
|
|
- }
|
|
|
- if (typeof fileref != "undefined") {
|
|
|
- document.getElementsByTagName("head")[0].appendChild(fileref);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,Extend : function()
|
|
|
- {
|
|
|
- Array.prototype.indexIn = function(val) {
|
|
|
- for (var i = 0; i < this.length; i++) {
|
|
|
- if (this[i] == val) return i;
|
|
|
- }
|
|
|
- return -1;
|
|
|
- };
|
|
|
- Array.prototype.remove = function(val) {
|
|
|
- var index = this.indexIn(val);
|
|
|
- if (index > -1) {
|
|
|
- this.splice(index, 1);
|
|
|
- }
|
|
|
- };
|
|
|
-
|
|
|
- $("select option").each(function() {
|
|
|
- if ($(this).attr('select') && $(this).attr('select') == 'true') {
|
|
|
- $(this).attr('selected', 'true');
|
|
|
- } else {
|
|
|
- $(this).removeAttr('selected');
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- ,Ucfirst : function(str)
|
|
|
- {
|
|
|
- var str = str.toLowerCase();
|
|
|
- var strarr = str.split(' ');
|
|
|
- var result = '';
|
|
|
- for (var i in strarr){
|
|
|
- result += strarr[i].substring(0,1).toUpperCase()+strarr[i].substring(1)+' ';
|
|
|
- }
|
|
|
- return result;
|
|
|
- }
|
|
|
-};
|
|
|
-
|
|
|
-//瀑布流分页
|
|
|
-var _Dever_Page =
|
|
|
-{
|
|
|
- name : '',
|
|
|
- Init : function()
|
|
|
- {
|
|
|
- if ($(this.name).length) {
|
|
|
- var self = this;
|
|
|
- $(window).scroll(function() {
|
|
|
- if ($(window).scrollTop() >= $(document).height() - $(window).height()) {
|
|
|
- self.Start(self.name);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,Start : function(page)
|
|
|
- {
|
|
|
- page = page ? page : this.name;
|
|
|
- if ($(page).length) {
|
|
|
- $(page).hide();
|
|
|
- var url = $(page).attr('link');
|
|
|
- if (url) {
|
|
|
- var key = $(page).attr('dever-list');
|
|
|
- $.get(url, function(t) {
|
|
|
- t = '<div>' + t + '</div>';
|
|
|
- var c = $(t).find(key).html();
|
|
|
- if (c) {
|
|
|
- $(key).append(c);
|
|
|
-
|
|
|
- var l = $(t).find(page).attr('link');
|
|
|
- $(page).attr('link', l);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,Ajax : function(e)
|
|
|
- {
|
|
|
- var self = this;
|
|
|
- e.find('a').each(function() {
|
|
|
- var url = $(this).attr('href');
|
|
|
-
|
|
|
- $(this).attr('href', 'javascript:;');
|
|
|
-
|
|
|
- $(this).unbind('click').bind('click', function() {
|
|
|
- $.get(url.replace('callback', ''), function(t) {
|
|
|
- e.html(t);
|
|
|
- self.Ajax(e);
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-//模态框
|
|
|
-var _Dever_Modal =
|
|
|
-{
|
|
|
- state : false,
|
|
|
- html : '',
|
|
|
- box : '',
|
|
|
- title : '',
|
|
|
- content : '',
|
|
|
- yes : '',
|
|
|
- no : '',
|
|
|
- setting : '',
|
|
|
- confirm : '',
|
|
|
-
|
|
|
- Init : function()
|
|
|
- {
|
|
|
- this.state = false;
|
|
|
- if (this.html) {
|
|
|
- $('body').append(this.html);
|
|
|
- if(this.box) this.box = $(this.box);
|
|
|
- if(this.title) this.title = $(this.title);
|
|
|
- if(this.content) this.content = $(this.content);
|
|
|
- if(this.yes) this.yes = $(this.yes);
|
|
|
- if(this.no) this.no = $(this.no);
|
|
|
- if(this.setting) this.setting = $(this.setting);
|
|
|
- if(this.confirm) this.confirm = $(this.confirm);
|
|
|
-
|
|
|
- this.state = true;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,Alert : function(content, callback)
|
|
|
- {
|
|
|
- if (this.state == false) {
|
|
|
- alert(content);
|
|
|
- return;
|
|
|
- } else {
|
|
|
- if (this.setting.length && this.setting.html()) {
|
|
|
- this.confirm.hide();
|
|
|
- this.setting.show();
|
|
|
- } else {
|
|
|
- this.setting.hide();
|
|
|
- this.confirm.show();
|
|
|
- }
|
|
|
- this.title.html(content);
|
|
|
- this.box.show();
|
|
|
- if (callback) {
|
|
|
- this.Bind(callback);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,Confirm : function(content, callback)
|
|
|
- {
|
|
|
- if (this.state == false) {
|
|
|
- alert(content);
|
|
|
- return;
|
|
|
- } else {
|
|
|
- this.confirm.show();
|
|
|
- this.setting.hide();
|
|
|
-
|
|
|
- this.title.html(content);
|
|
|
- this.box.show();
|
|
|
- if(callback)
|
|
|
- {
|
|
|
- this.Bind(callback);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,Bind : function(callback)
|
|
|
- {
|
|
|
- if (this.yes.length && callback.yes) {
|
|
|
- this.yes.unbind('click').bind('click', callback.yes);
|
|
|
- }
|
|
|
-
|
|
|
- if (this.no.length) {
|
|
|
- if (callback.no) {
|
|
|
- this.no.unbind('click').bind('click', callback.no);
|
|
|
- } else {
|
|
|
- var self = this;
|
|
|
- this.no.unbind('click').bind('click', function()
|
|
|
- {
|
|
|
- self.Close();
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,Close : function()
|
|
|
- {
|
|
|
- this.box.hide();
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-//用户相关
|
|
|
-var _Dever_User =
|
|
|
-{
|
|
|
- config : [],
|
|
|
- uid : -1,
|
|
|
- name : '匿名用户',
|
|
|
-
|
|
|
- Init : function()
|
|
|
- {
|
|
|
- var self = this;
|
|
|
- if (this.config.click) {
|
|
|
- for (var i in this.config.click) {
|
|
|
- var e = self.config.click[i];
|
|
|
- var c = 1;
|
|
|
- if (e.indexOf('|') != -1) {
|
|
|
- var t = e.split('|');
|
|
|
- e = t[0];
|
|
|
- c = 2;
|
|
|
- }
|
|
|
- if ($(e).length) {
|
|
|
- $(e).attr('data-i', i);
|
|
|
- $(e).attr('data-c', c);
|
|
|
-
|
|
|
- $(e).unbind('click').bind('click', function() {
|
|
|
- if ($(this).attr('data-c') == 2) {
|
|
|
- var t1 = $(this);
|
|
|
- Dever.Confirm(function() {
|
|
|
- self.Save($(this).attr('data-i'), t1, config);
|
|
|
- });
|
|
|
- } else {
|
|
|
- self.Save($(this).attr('data-i'), $(this), config);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //通用的保存数据功能
|
|
|
- ,Save : function(key, e, setting)
|
|
|
- {
|
|
|
- var self = this;
|
|
|
- var config = self.config[key];
|
|
|
- if (config.start) {
|
|
|
- config.start.call();
|
|
|
- }
|
|
|
- var send = {};
|
|
|
- var callback = function(msg,state) {
|
|
|
- if (config.status && $(config.status).length) {
|
|
|
- //$(config.status).html(msg).css('visibility','initial');
|
|
|
- state ? $(config.status).html(msg).hide() : $(config.status).html(msg).show();
|
|
|
- } else if(!state) {
|
|
|
- Dever.Out(msg);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (typeof(config.input) != 'undefined') {
|
|
|
- if (typeof(config.input) == 'string' && config.input == 'parent') {
|
|
|
- if (e.attr('dever-send')) {
|
|
|
- send[e.attr('dever-send')] = e.attr('dever-' + e.attr('dever-send'));
|
|
|
- }
|
|
|
- send.id = e.attr('dever-id');
|
|
|
- send.value = e.parent().find('input').val();
|
|
|
-
|
|
|
- if (!send.id || !send.value) {
|
|
|
- callback(config.error);
|
|
|
- return;
|
|
|
- }
|
|
|
- } else if (typeof(config.input) == 'string' && config.input == 'click') {
|
|
|
- if (e.attr('dever-send')) {
|
|
|
- var a = e.attr('dever-send').split('&');
|
|
|
- for (var i in a) {
|
|
|
- if (typeof(a[i]) == 'string') {
|
|
|
- var b = a[i].split('=');
|
|
|
- send[b[0]] = b[1];
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } else if (typeof(config.input) == 'object') {
|
|
|
- for (var i in config.input) {
|
|
|
- var option = false;
|
|
|
- var input = config.input[i];
|
|
|
- if (input.indexOf('|') != -1) {
|
|
|
- var t = input.split('|');
|
|
|
- input = t[0];
|
|
|
- option = true;
|
|
|
- }
|
|
|
- var m = true;
|
|
|
- var el = $(input);
|
|
|
- //e.get(0).tagName == 'TEXTAREA'
|
|
|
- send[i] = el.val();
|
|
|
-
|
|
|
- if (option == false) {
|
|
|
- if (send[i] && el.attr('dever-match')) {
|
|
|
- var r = new RegExp(el.attr('dever-match'));
|
|
|
- m = r.test(send[i]);
|
|
|
- }
|
|
|
-
|
|
|
- if (send[i] && el.attr('dever-value')) {
|
|
|
- m = $(el.attr('dever-value')).val() == send[i];
|
|
|
- }
|
|
|
-
|
|
|
- if (!send[i] || m != true) {
|
|
|
- var error = el.attr('dever-error') ? el.attr('dever-error') : config.error;
|
|
|
- callback(error);
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (!send) {
|
|
|
- callback(config.error);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- if (!config.url) {
|
|
|
- config.url = e.attr('dever-send');
|
|
|
- }
|
|
|
-
|
|
|
- callback(1,1);
|
|
|
-
|
|
|
- config.url = Dever.CallUrl(config.url);
|
|
|
-
|
|
|
- if (setting.proxy) {
|
|
|
- $.post(config.url, send, function(t) {
|
|
|
- t = eval('(' + t + ')');
|
|
|
- Dever.Msg(t, callback, (config.callback ? function(msg){config.callback(e,msg,t)} : false));
|
|
|
- });
|
|
|
- } else {
|
|
|
- $.getJSON(config.url, send, function(t) {
|
|
|
- Dever.Msg(t, callback, (config.callback ? function(msg){config.callback(e,msg,t)} : false));
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-};
|
|
|
-
|
|
|
-//编辑器相关
|
|
|
-var _Dever_Editor =
|
|
|
-{
|
|
|
- state : false,
|
|
|
- editors : [],
|
|
|
- Init : function()
|
|
|
- {
|
|
|
- if (typeof marked == 'function') {
|
|
|
- this.state = true;
|
|
|
- } else {
|
|
|
- this.state = false;
|
|
|
- }
|
|
|
- this.SetMark();
|
|
|
- var self = this;
|
|
|
-
|
|
|
- if ($('.dever-note').length) {
|
|
|
- $('.dever-note').each(function() {
|
|
|
- self.InitEditor($(this));
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,InitEditor : function(e)
|
|
|
- {
|
|
|
- var id = e.attr('id');
|
|
|
- var key = e.attr('key');
|
|
|
- if (config.uid && config.uid > 0) {
|
|
|
- var toolbar = [
|
|
|
- 'title'
|
|
|
- ,'bold'
|
|
|
- ,'italic'
|
|
|
- ,'underline'
|
|
|
- ,'strikethrough'
|
|
|
- ,'fontScale'
|
|
|
- ,'color'
|
|
|
- ,'ol'
|
|
|
- ,'ul'
|
|
|
- ,'blockquote'
|
|
|
- ,'code'
|
|
|
- ,'table'
|
|
|
- ,'link'
|
|
|
- ,'image'
|
|
|
- ,'hr'
|
|
|
- ,'indent'
|
|
|
- ,'outdent'
|
|
|
- ,'alignment'
|
|
|
- //,'emoji'
|
|
|
- ];
|
|
|
- } else {
|
|
|
- var toolbar = [
|
|
|
- 'title'
|
|
|
- ,'bold'
|
|
|
- ,'fontScale'
|
|
|
- ,'color'
|
|
|
- ,'ol'
|
|
|
- ,'ul'
|
|
|
- ,'blockquote'
|
|
|
- ,'indent'
|
|
|
- ,'outdent'
|
|
|
- ,'alignment'
|
|
|
- ];
|
|
|
- }
|
|
|
-
|
|
|
- if (typeof(this.editors[id]) == "undefined") {
|
|
|
- this.editors[id] = new Simditor({
|
|
|
- textarea: e,
|
|
|
- upload:
|
|
|
- {
|
|
|
- url: config.upload + '.simditor',
|
|
|
- params: {key:key},
|
|
|
- fileKey: 'file',
|
|
|
- connectionCount: 10,
|
|
|
- leaveConfirm: 'Uploading is in progress, are you sure to leave this page?'
|
|
|
- },
|
|
|
- toolbar : toolbar
|
|
|
- /*
|
|
|
- ,emoji:
|
|
|
- {
|
|
|
- imagePath: config.lib + 'simditor/plugins/emoji/images/emoji/'
|
|
|
- }
|
|
|
- */
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,SetMark : function()
|
|
|
- {
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- ,GetMark : function(content)
|
|
|
- {
|
|
|
- if (this.state == true) {
|
|
|
- return marked(content);
|
|
|
- }
|
|
|
-
|
|
|
- return content;
|
|
|
- }
|
|
|
-};
|
|
|
-
|
|
|
-//模板
|
|
|
-var _Dever_Template =
|
|
|
-{
|
|
|
- state : false,
|
|
|
- method : '',
|
|
|
- element : '',
|
|
|
- data : '',
|
|
|
- param : '',
|
|
|
- attr : '',
|
|
|
- Init : function()
|
|
|
- {
|
|
|
- if (this.Check()) {
|
|
|
- var url = config.proxyTemplateUrl;
|
|
|
- var send = {};
|
|
|
- var parsing = [];
|
|
|
- $("dever").each(function(){
|
|
|
- parsing.push($(this).html());
|
|
|
- $(this).remove();
|
|
|
- });
|
|
|
- send.url = location.href;
|
|
|
- send.parsing = parsing.join('');
|
|
|
- send.html = $("html").html();
|
|
|
- //$("html").html('dever template loading...');
|
|
|
- $.ajax({
|
|
|
- type: "POST",
|
|
|
- url: url,
|
|
|
- data: send,
|
|
|
- dataType: "json",
|
|
|
- success: function(result){
|
|
|
- $("html").html(result.data);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,Check : function()
|
|
|
- {
|
|
|
- if ($("dever").length) {
|
|
|
- this.state = true;
|
|
|
- } else {
|
|
|
- this.state = false;
|
|
|
- }
|
|
|
- return this.state;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-//分享 暂时只支持手机版微信分享 请同时安装wechat组件
|
|
|
-var _Dever_Share =
|
|
|
-{
|
|
|
- wechat : false,
|
|
|
- url : '',
|
|
|
- project : '',
|
|
|
- uid : '-1',
|
|
|
- param : {
|
|
|
- title : '',
|
|
|
- img : '',
|
|
|
- desc : '',
|
|
|
- url : '',
|
|
|
- timelineCallback: function() {},
|
|
|
- sendMessageCallback: function() {},
|
|
|
- shareQQCallback: function() {}
|
|
|
- },
|
|
|
- Init : function(uid, project, url, param, button)
|
|
|
- {
|
|
|
- var self = this;
|
|
|
- self.wechat = self.CheckWechat();
|
|
|
- self.project = project;
|
|
|
- self.url = url;
|
|
|
- self.uid = uid;
|
|
|
- //self.param = param;
|
|
|
- $.extend(true, self.param, param)
|
|
|
-
|
|
|
- if (button) {
|
|
|
- $(button).on('click', function() {
|
|
|
- if (self.wechat == 1) {
|
|
|
- self.WechatGuide();
|
|
|
- } else {
|
|
|
- self.WeiboShare($(this));
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- if (self.wechat == 1) {
|
|
|
- self.WechatInit();
|
|
|
- }
|
|
|
- self.Reflux();
|
|
|
- }
|
|
|
-
|
|
|
- ,CheckWechat : function()
|
|
|
- {
|
|
|
- var state = navigator.userAgent.toLowerCase().indexOf("micromessenger") > -1;
|
|
|
- if (state) {
|
|
|
- return 1;
|
|
|
- } else {
|
|
|
- return 2;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,WechatGuide : function()
|
|
|
- {
|
|
|
- var param = this.param;
|
|
|
- var tpl = '<div id="weixin_guide" style="position: fixed;background:url(../img/background.png) repeat;left:0;top:0;right:0;bottom:0;z-index:1000;"><img src="../img/weixin-guide.png" style="position: absolute;z-index:100;" width="295" height="273"/></div>';
|
|
|
- $('#weixin_guide').remove();
|
|
|
- $(tpl).attr('id', 'weixin_guide').appendTo($('body'));
|
|
|
-
|
|
|
- $('#weixin_guide img').css(weixinCfg.style || {})
|
|
|
- setTimeout(function() {
|
|
|
- $('#weixin_guide').click(function() {
|
|
|
- $(this).remove();
|
|
|
- })
|
|
|
- }, 300)
|
|
|
- }
|
|
|
-
|
|
|
- ,WechatInit: function()
|
|
|
- {
|
|
|
- var self = this;
|
|
|
- var url = this.url + 'init?callback=?';
|
|
|
- var param = this.param;
|
|
|
- var project = this.project;
|
|
|
- $.ajax({
|
|
|
- type:'post',
|
|
|
- dataType:'jsonp',
|
|
|
- jsonp: 'jsonp_cb',
|
|
|
- url: url,
|
|
|
- data: {
|
|
|
- 'project' : project,
|
|
|
- 'url' : location.href.split('#')[0]
|
|
|
- },
|
|
|
- success:function(result) {
|
|
|
- var data = result.data;
|
|
|
- wx.config({
|
|
|
- //debug:true,
|
|
|
- appId: data.appId,
|
|
|
- timestamp: data.timestamp,
|
|
|
- nonceStr: data.nonceStr,
|
|
|
- signature: data.signature,
|
|
|
- jsApiList: [
|
|
|
- 'onMenuShareTimeline',
|
|
|
- 'onMenuShareAppMessage',
|
|
|
- 'onMenuShareQQ'
|
|
|
- ]
|
|
|
- });
|
|
|
-
|
|
|
- wx.ready(function() {
|
|
|
- wx.onMenuShareAppMessage({
|
|
|
- title: param.title,
|
|
|
- desc: param.desc,
|
|
|
- link: param.url,
|
|
|
- imgUrl: param.img,
|
|
|
- success: function(res) {
|
|
|
- param.sendMessageCallback('success', res)
|
|
|
- self.ShareLog(1, 1);
|
|
|
- },
|
|
|
- cancel: function(res) {
|
|
|
- param.sendMessageCallback('cancel', res)
|
|
|
- self.ShareLog(1, 2);
|
|
|
- },
|
|
|
- fail: function(res) {
|
|
|
- param.sendMessageCallback('fail', res)
|
|
|
- self.ShareLog(1, 3);
|
|
|
- }
|
|
|
- });
|
|
|
- wx.onMenuShareTimeline({
|
|
|
- title: param.title,
|
|
|
- link: param.url,
|
|
|
- imgUrl: param.img,
|
|
|
- success: function(res) {
|
|
|
- param.timelineCallback('success', res)
|
|
|
- self.ShareLog(2, 1);
|
|
|
- },
|
|
|
- cancel: function(res) {
|
|
|
- param.timelineCallback('cancel', res)
|
|
|
- self.ShareLog(2, 2);
|
|
|
- },
|
|
|
- fail: function(res) {
|
|
|
- param.timelineCallback('fail', res)
|
|
|
- self.ShareLog(2, 3);
|
|
|
- }
|
|
|
- });
|
|
|
- wx.onMenuShareQQ({
|
|
|
- title: param.title,
|
|
|
- link: param.url,
|
|
|
- imgUrl: param.img,
|
|
|
- success: function(res) {
|
|
|
- param.shareQQCallback('success', res)
|
|
|
- self.ShareLog(3, 1);
|
|
|
- },
|
|
|
- cancel: function(res) {
|
|
|
- param.shareQQCallback('cancel', res)
|
|
|
- self.ShareLog(3, 2);
|
|
|
- },
|
|
|
- fail: function(res) {
|
|
|
- param.shareQQCallback('fail', res)
|
|
|
- self.ShareLog(3, 3);
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- async:'true',
|
|
|
- timeout: 3000
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- ,Reflux: function() {
|
|
|
- var refer = document.referrer,
|
|
|
- url = encodeURIComponent(document.location.href),
|
|
|
- param = location.search.substr(1),
|
|
|
- ua = encodeURIComponent(navigator.userAgent),
|
|
|
- project = this.project,
|
|
|
- uid = this.uid,
|
|
|
- wechat = this.wechat;
|
|
|
-
|
|
|
- if (param.indexOf("tsina-") > -1 || param.indexOf("timeline") > -1 || param.indexOf("singlemessage") > -1 || param.indexOf("groupmessage") > -1) {
|
|
|
- $.getJSON(this.url + 'reflux?callback=?' + '&project='+project+'&url=' + url + '&ua=' + ua + '¶m=' + encodeURIComponent(param) + '&uid=' + uid + '&type=' + wechat);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- ,ShareLog: function(actType, actResult) {
|
|
|
- var project = this.project;
|
|
|
- var uid = this.uid;
|
|
|
- var wechat = this.wechat;
|
|
|
- var ua = encodeURIComponent(navigator.userAgent);
|
|
|
- var url = encodeURIComponent(document.location.href);
|
|
|
- $.getJSON(this.url + 'collect?callback=?' + '&project='+project+'&url=' + url + '&actType=' + actType + '&actResult=' + actResult + '&ua=' + ua + '&uid=' + uid + '&type=' + wechat);
|
|
|
- }
|
|
|
-}
|