.',
+ list[i]
+ );
+ }
+ }
+ addAttr(el, name, JSON.stringify(value), list[i]);
+ // #6887 firefox doesn't update muted state if set via attribute
+ // even immediately after element creation
+ if (!el.component &&
+ name === 'muted' &&
+ platformMustUseProp(el.tag, el.attrsMap.type, name)) {
+ addProp(el, name, 'true', list[i]);
+ }
+ }
+ }
+ }
+
+ function checkInFor (el) {
+ var parent = el;
+ while (parent) {
+ if (parent.for !== undefined) {
+ return true
+ }
+ parent = parent.parent;
+ }
+ return false
+ }
+
+ function parseModifiers (name) {
+ var match = name.match(modifierRE);
+ if (match) {
+ var ret = {};
+ match.forEach(function (m) { ret[m.slice(1)] = true; });
+ return ret
+ }
+ }
+
+ function makeAttrsMap (attrs) {
+ var map = {};
+ for (var i = 0, l = attrs.length; i < l; i++) {
+ if (
+ map[attrs[i].name] && !isIE && !isEdge
+ ) {
+ warn$2('duplicate attribute: ' + attrs[i].name, attrs[i]);
+ }
+ map[attrs[i].name] = attrs[i].value;
+ }
+ return map
+ }
+
+ // for script (e.g. type="x/template") or style, do not decode content
+ function isTextTag (el) {
+ return el.tag === 'script' || el.tag === 'style'
+ }
+
+ function isForbiddenTag (el) {
+ return (
+ el.tag === 'style' ||
+ (el.tag === 'script' && (
+ !el.attrsMap.type ||
+ el.attrsMap.type === 'text/javascript'
+ ))
+ )
+ }
+
+ var ieNSBug = /^xmlns:NS\d+/;
+ var ieNSPrefix = /^NS\d+:/;
+
+ /* istanbul ignore next */
+ function guardIESVGBug (attrs) {
+ var res = [];
+ for (var i = 0; i < attrs.length; i++) {
+ var attr = attrs[i];
+ if (!ieNSBug.test(attr.name)) {
+ attr.name = attr.name.replace(ieNSPrefix, '');
+ res.push(attr);
+ }
+ }
+ return res
+ }
+
+ function checkForAliasModel (el, value) {
+ var _el = el;
+ while (_el) {
+ if (_el.for && _el.alias === value) {
+ warn$2(
+ "<" + (el.tag) + " v-model=\"" + value + "\">: " +
+ "You are binding v-model directly to a v-for iteration alias. " +
+ "This will not be able to modify the v-for source array because " +
+ "writing to the alias is like modifying a function local variable. " +
+ "Consider using an array of objects and use v-model on an object property instead.",
+ el.rawAttrsMap['v-model']
+ );
+ }
+ _el = _el.parent;
+ }
+ }
+
+ /* */
+
+ function preTransformNode (el, options) {
+ if (el.tag === 'input') {
+ var map = el.attrsMap;
+ if (!map['v-model']) {
+ return
+ }
+
+ var typeBinding;
+ if (map[':type'] || map['v-bind:type']) {
+ typeBinding = getBindingAttr(el, 'type');
+ }
+ if (!map.type && !typeBinding && map['v-bind']) {
+ typeBinding = "(" + (map['v-bind']) + ").type";
+ }
+
+ if (typeBinding) {
+ var ifCondition = getAndRemoveAttr(el, 'v-if', true);
+ var ifConditionExtra = ifCondition ? ("&&(" + ifCondition + ")") : "";
+ var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;
+ var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);
+ // 1. checkbox
+ var branch0 = cloneASTElement(el);
+ // process for on the main node
+ processFor(branch0);
+ addRawAttr(branch0, 'type', 'checkbox');
+ processElement(branch0, options);
+ branch0.processed = true; // prevent it from double-processed
+ branch0.if = "(" + typeBinding + ")==='checkbox'" + ifConditionExtra;
+ addIfCondition(branch0, {
+ exp: branch0.if,
+ block: branch0
+ });
+ // 2. add radio else-if condition
+ var branch1 = cloneASTElement(el);
+ getAndRemoveAttr(branch1, 'v-for', true);
+ addRawAttr(branch1, 'type', 'radio');
+ processElement(branch1, options);
+ addIfCondition(branch0, {
+ exp: "(" + typeBinding + ")==='radio'" + ifConditionExtra,
+ block: branch1
+ });
+ // 3. other
+ var branch2 = cloneASTElement(el);
+ getAndRemoveAttr(branch2, 'v-for', true);
+ addRawAttr(branch2, ':type', typeBinding);
+ processElement(branch2, options);
+ addIfCondition(branch0, {
+ exp: ifCondition,
+ block: branch2
+ });
+
+ if (hasElse) {
+ branch0.else = true;
+ } else if (elseIfCondition) {
+ branch0.elseif = elseIfCondition;
+ }
+
+ return branch0
+ }
+ }
+ }
+
+ function cloneASTElement (el) {
+ return createASTElement(el.tag, el.attrsList.slice(), el.parent)
+ }
+
+ var model$1 = {
+ preTransformNode: preTransformNode
+ };
+
+ var modules$1 = [
+ klass$1,
+ style$1,
+ model$1
+ ];
+
+ /* */
+
+ function text (el, dir) {
+ if (dir.value) {
+ addProp(el, 'textContent', ("_s(" + (dir.value) + ")"), dir);
+ }
+ }
+
+ /* */
+
+ function html (el, dir) {
+ if (dir.value) {
+ addProp(el, 'innerHTML', ("_s(" + (dir.value) + ")"), dir);
+ }
+ }
+
+ var directives$1 = {
+ model: model,
+ text: text,
+ html: html
+ };
+
+ /* */
+
+ var baseOptions = {
+ expectHTML: true,
+ modules: modules$1,
+ directives: directives$1,
+ isPreTag: isPreTag,
+ isUnaryTag: isUnaryTag,
+ mustUseProp: mustUseProp,
+ canBeLeftOpenTag: canBeLeftOpenTag,
+ isReservedTag: isReservedTag,
+ getTagNamespace: getTagNamespace,
+ staticKeys: genStaticKeys(modules$1)
+ };
+
+ /* */
+
+ var isStaticKey;
+ var isPlatformReservedTag;
+
+ var genStaticKeysCached = cached(genStaticKeys$1);
+
+ /**
+ * Goal of the optimizer: walk the generated template AST tree
+ * and detect sub-trees that are purely static, i.e. parts of
+ * the DOM that never needs to change.
+ *
+ * Once we detect these sub-trees, we can:
+ *
+ * 1. Hoist them into constants, so that we no longer need to
+ * create fresh nodes for them on each re-render;
+ * 2. Completely skip them in the patching process.
+ */
+ function optimize (root, options) {
+ if (!root) { return }
+ isStaticKey = genStaticKeysCached(options.staticKeys || '');
+ isPlatformReservedTag = options.isReservedTag || no;
+ // first pass: mark all non-static nodes.
+ markStatic$1(root);
+ // second pass: mark static roots.
+ markStaticRoots(root, false);
+ }
+
+ function genStaticKeys$1 (keys) {
+ return makeMap(
+ 'type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap' +
+ (keys ? ',' + keys : '')
+ )
+ }
+
+ function markStatic$1 (node) {
+ node.static = isStatic(node);
+ if (node.type === 1) {
+ // do not make component slot content static. this avoids
+ // 1. components not able to mutate slot nodes
+ // 2. static slot content fails for hot-reloading
+ if (
+ !isPlatformReservedTag(node.tag) &&
+ node.tag !== 'slot' &&
+ node.attrsMap['inline-template'] == null
+ ) {
+ return
+ }
+ for (var i = 0, l = node.children.length; i < l; i++) {
+ var child = node.children[i];
+ markStatic$1(child);
+ if (!child.static) {
+ node.static = false;
+ }
+ }
+ if (node.ifConditions) {
+ for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {
+ var block = node.ifConditions[i$1].block;
+ markStatic$1(block);
+ if (!block.static) {
+ node.static = false;
+ }
+ }
+ }
+ }
+ }
+
+ function markStaticRoots (node, isInFor) {
+ if (node.type === 1) {
+ if (node.static || node.once) {
+ node.staticInFor = isInFor;
+ }
+ // For a node to qualify as a static root, it should have children that
+ // are not just static text. Otherwise the cost of hoisting out will
+ // outweigh the benefits and it's better off to just always render it fresh.
+ if (node.static && node.children.length && !(
+ node.children.length === 1 &&
+ node.children[0].type === 3
+ )) {
+ node.staticRoot = true;
+ return
+ } else {
+ node.staticRoot = false;
+ }
+ if (node.children) {
+ for (var i = 0, l = node.children.length; i < l; i++) {
+ markStaticRoots(node.children[i], isInFor || !!node.for);
+ }
+ }
+ if (node.ifConditions) {
+ for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {
+ markStaticRoots(node.ifConditions[i$1].block, isInFor);
+ }
+ }
+ }
+ }
+
+ function isStatic (node) {
+ if (node.type === 2) { // expression
+ return false
+ }
+ if (node.type === 3) { // text
+ return true
+ }
+ return !!(node.pre || (
+ !node.hasBindings && // no dynamic bindings
+ !node.if && !node.for && // not v-if or v-for or v-else
+ !isBuiltInTag(node.tag) && // not a built-in
+ isPlatformReservedTag(node.tag) && // not a component
+ !isDirectChildOfTemplateFor(node) &&
+ Object.keys(node).every(isStaticKey)
+ ))
+ }
+
+ function isDirectChildOfTemplateFor (node) {
+ while (node.parent) {
+ node = node.parent;
+ if (node.tag !== 'template') {
+ return false
+ }
+ if (node.for) {
+ return true
+ }
+ }
+ return false
+ }
+
+ /* */
+
+ var fnExpRE = /^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/;
+ var fnInvokeRE = /\([^)]*?\);*$/;
+ var simplePathRE = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/;
+
+ // KeyboardEvent.keyCode aliases
+ var keyCodes = {
+ esc: 27,
+ tab: 9,
+ enter: 13,
+ space: 32,
+ up: 38,
+ left: 37,
+ right: 39,
+ down: 40,
+ 'delete': [8, 46]
+ };
+
+ // KeyboardEvent.key aliases
+ var keyNames = {
+ // #7880: IE11 and Edge use `Esc` for Escape key name.
+ esc: ['Esc', 'Escape'],
+ tab: 'Tab',
+ enter: 'Enter',
+ // #9112: IE11 uses `Spacebar` for Space key name.
+ space: [' ', 'Spacebar'],
+ // #7806: IE11 uses key names without `Arrow` prefix for arrow keys.
+ up: ['Up', 'ArrowUp'],
+ left: ['Left', 'ArrowLeft'],
+ right: ['Right', 'ArrowRight'],
+ down: ['Down', 'ArrowDown'],
+ // #9112: IE11 uses `Del` for Delete key name.
+ 'delete': ['Backspace', 'Delete', 'Del']
+ };
+
+ // #4868: modifiers that prevent the execution of the listener
+ // need to explicitly return null so that we can determine whether to remove
+ // the listener for .once
+ var genGuard = function (condition) { return ("if(" + condition + ")return null;"); };
+
+ var modifierCode = {
+ stop: '$event.stopPropagation();',
+ prevent: '$event.preventDefault();',
+ self: genGuard("$event.target !== $event.currentTarget"),
+ ctrl: genGuard("!$event.ctrlKey"),
+ shift: genGuard("!$event.shiftKey"),
+ alt: genGuard("!$event.altKey"),
+ meta: genGuard("!$event.metaKey"),
+ left: genGuard("'button' in $event && $event.button !== 0"),
+ middle: genGuard("'button' in $event && $event.button !== 1"),
+ right: genGuard("'button' in $event && $event.button !== 2")
+ };
+
+ function genHandlers (
+ events,
+ isNative
+ ) {
+ var prefix = isNative ? 'nativeOn:' : 'on:';
+ var staticHandlers = "";
+ var dynamicHandlers = "";
+ for (var name in events) {
+ var handlerCode = genHandler(events[name]);
+ if (events[name] && events[name].dynamic) {
+ dynamicHandlers += name + "," + handlerCode + ",";
+ } else {
+ staticHandlers += "\"" + name + "\":" + handlerCode + ",";
+ }
+ }
+ staticHandlers = "{" + (staticHandlers.slice(0, -1)) + "}";
+ if (dynamicHandlers) {
+ return prefix + "_d(" + staticHandlers + ",[" + (dynamicHandlers.slice(0, -1)) + "])"
+ } else {
+ return prefix + staticHandlers
+ }
+ }
+
+ function genHandler (handler) {
+ if (!handler) {
+ return 'function(){}'
+ }
+
+ if (Array.isArray(handler)) {
+ return ("[" + (handler.map(function (handler) { return genHandler(handler); }).join(',')) + "]")
+ }
+
+ var isMethodPath = simplePathRE.test(handler.value);
+ var isFunctionExpression = fnExpRE.test(handler.value);
+ var isFunctionInvocation = simplePathRE.test(handler.value.replace(fnInvokeRE, ''));
+
+ if (!handler.modifiers) {
+ if (isMethodPath || isFunctionExpression) {
+ return handler.value
+ }
+ return ("function($event){" + (isFunctionInvocation ? ("return " + (handler.value)) : handler.value) + "}") // inline statement
+ } else {
+ var code = '';
+ var genModifierCode = '';
+ var keys = [];
+ for (var key in handler.modifiers) {
+ if (modifierCode[key]) {
+ genModifierCode += modifierCode[key];
+ // left/right
+ if (keyCodes[key]) {
+ keys.push(key);
+ }
+ } else if (key === 'exact') {
+ var modifiers = (handler.modifiers);
+ genModifierCode += genGuard(
+ ['ctrl', 'shift', 'alt', 'meta']
+ .filter(function (keyModifier) { return !modifiers[keyModifier]; })
+ .map(function (keyModifier) { return ("$event." + keyModifier + "Key"); })
+ .join('||')
+ );
+ } else {
+ keys.push(key);
+ }
+ }
+ if (keys.length) {
+ code += genKeyFilter(keys);
+ }
+ // Make sure modifiers like prevent and stop get executed after key filtering
+ if (genModifierCode) {
+ code += genModifierCode;
+ }
+ var handlerCode = isMethodPath
+ ? ("return " + (handler.value) + "($event)")
+ : isFunctionExpression
+ ? ("return (" + (handler.value) + ")($event)")
+ : isFunctionInvocation
+ ? ("return " + (handler.value))
+ : handler.value;
+ return ("function($event){" + code + handlerCode + "}")
+ }
+ }
+
+ function genKeyFilter (keys) {
+ return (
+ // make sure the key filters only apply to KeyboardEvents
+ // #9441: can't use 'keyCode' in $event because Chrome autofill fires fake
+ // key events that do not have keyCode property...
+ "if(!$event.type.indexOf('key')&&" +
+ (keys.map(genFilterCode).join('&&')) + ")return null;"
+ )
+ }
+
+ function genFilterCode (key) {
+ var keyVal = parseInt(key, 10);
+ if (keyVal) {
+ return ("$event.keyCode!==" + keyVal)
+ }
+ var keyCode = keyCodes[key];
+ var keyName = keyNames[key];
+ return (
+ "_k($event.keyCode," +
+ (JSON.stringify(key)) + "," +
+ (JSON.stringify(keyCode)) + "," +
+ "$event.key," +
+ "" + (JSON.stringify(keyName)) +
+ ")"
+ )
+ }
+
+ /* */
+
+ function on (el, dir) {
+ if (dir.modifiers) {
+ warn("v-on without argument does not support modifiers.");
+ }
+ el.wrapListeners = function (code) { return ("_g(" + code + "," + (dir.value) + ")"); };
+ }
+
+ /* */
+
+ function bind$1 (el, dir) {
+ el.wrapData = function (code) {
+ return ("_b(" + code + ",'" + (el.tag) + "'," + (dir.value) + "," + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + ")")
+ };
+ }
+
+ /* */
+
+ var baseDirectives = {
+ on: on,
+ bind: bind$1,
+ cloak: noop
+ };
+
+ /* */
+
+
+
+
+
+ var CodegenState = function CodegenState (options) {
+ this.options = options;
+ this.warn = options.warn || baseWarn;
+ this.transforms = pluckModuleFunction(options.modules, 'transformCode');
+ this.dataGenFns = pluckModuleFunction(options.modules, 'genData');
+ this.directives = extend(extend({}, baseDirectives), options.directives);
+ var isReservedTag = options.isReservedTag || no;
+ this.maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); };
+ this.onceId = 0;
+ this.staticRenderFns = [];
+ this.pre = false;
+ };
+
+
+
+ function generate (
+ ast,
+ options
+ ) {
+ var state = new CodegenState(options);
+ var code = ast ? genElement(ast, state) : '_c("div")';
+ return {
+ render: ("with(this){return " + code + "}"),
+ staticRenderFns: state.staticRenderFns
+ }
+ }
+
+ function genElement (el, state) {
+ if (el.parent) {
+ el.pre = el.pre || el.parent.pre;
+ }
+
+ if (el.staticRoot && !el.staticProcessed) {
+ return genStatic(el, state)
+ } else if (el.once && !el.onceProcessed) {
+ return genOnce(el, state)
+ } else if (el.for && !el.forProcessed) {
+ return genFor(el, state)
+ } else if (el.if && !el.ifProcessed) {
+ return genIf(el, state)
+ } else if (el.tag === 'template' && !el.slotTarget && !state.pre) {
+ return genChildren(el, state) || 'void 0'
+ } else if (el.tag === 'slot') {
+ return genSlot(el, state)
+ } else {
+ // component or element
+ var code;
+ if (el.component) {
+ code = genComponent(el.component, el, state);
+ } else {
+ var data;
+ if (!el.plain || (el.pre && state.maybeComponent(el))) {
+ data = genData$2(el, state);
+ }
+
+ var children = el.inlineTemplate ? null : genChildren(el, state, true);
+ code = "_c('" + (el.tag) + "'" + (data ? ("," + data) : '') + (children ? ("," + children) : '') + ")";
+ }
+ // module transforms
+ for (var i = 0; i < state.transforms.length; i++) {
+ code = state.transforms[i](el, code);
+ }
+ return code
+ }
+ }
+
+ // hoist static sub-trees out
+ function genStatic (el, state) {
+ el.staticProcessed = true;
+ // Some elements (templates) need to behave differently inside of a v-pre
+ // node. All pre nodes are static roots, so we can use this as a location to
+ // wrap a state change and reset it upon exiting the pre node.
+ var originalPreState = state.pre;
+ if (el.pre) {
+ state.pre = el.pre;
+ }
+ state.staticRenderFns.push(("with(this){return " + (genElement(el, state)) + "}"));
+ state.pre = originalPreState;
+ return ("_m(" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + ")")
+ }
+
+ // v-once
+ function genOnce (el, state) {
+ el.onceProcessed = true;
+ if (el.if && !el.ifProcessed) {
+ return genIf(el, state)
+ } else if (el.staticInFor) {
+ var key = '';
+ var parent = el.parent;
+ while (parent) {
+ if (parent.for) {
+ key = parent.key;
+ break
+ }
+ parent = parent.parent;
+ }
+ if (!key) {
+ state.warn(
+ "v-once can only be used inside v-for that is keyed. ",
+ el.rawAttrsMap['v-once']
+ );
+ return genElement(el, state)
+ }
+ return ("_o(" + (genElement(el, state)) + "," + (state.onceId++) + "," + key + ")")
+ } else {
+ return genStatic(el, state)
+ }
+ }
+
+ function genIf (
+ el,
+ state,
+ altGen,
+ altEmpty
+ ) {
+ el.ifProcessed = true; // avoid recursion
+ return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)
+ }
+
+ function genIfConditions (
+ conditions,
+ state,
+ altGen,
+ altEmpty
+ ) {
+ if (!conditions.length) {
+ return altEmpty || '_e()'
+ }
+
+ var condition = conditions.shift();
+ if (condition.exp) {
+ return ("(" + (condition.exp) + ")?" + (genTernaryExp(condition.block)) + ":" + (genIfConditions(conditions, state, altGen, altEmpty)))
+ } else {
+ return ("" + (genTernaryExp(condition.block)))
+ }
+
+ // v-if with v-once should generate code like (a)?_m(0):_m(1)
+ function genTernaryExp (el) {
+ return altGen
+ ? altGen(el, state)
+ : el.once
+ ? genOnce(el, state)
+ : genElement(el, state)
+ }
+ }
+
+ function genFor (
+ el,
+ state,
+ altGen,
+ altHelper
+ ) {
+ var exp = el.for;
+ var alias = el.alias;
+ var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : '';
+ var iterator2 = el.iterator2 ? ("," + (el.iterator2)) : '';
+
+ if (state.maybeComponent(el) &&
+ el.tag !== 'slot' &&
+ el.tag !== 'template' &&
+ !el.key
+ ) {
+ state.warn(
+ "<" + (el.tag) + " v-for=\"" + alias + " in " + exp + "\">: component lists rendered with " +
+ "v-for should have explicit keys. " +
+ "See https://vuejs.org/guide/list.html#key for more info.",
+ el.rawAttrsMap['v-for'],
+ true /* tip */
+ );
+ }
+
+ el.forProcessed = true; // avoid recursion
+ return (altHelper || '_l') + "((" + exp + ")," +
+ "function(" + alias + iterator1 + iterator2 + "){" +
+ "return " + ((altGen || genElement)(el, state)) +
+ '})'
+ }
+
+ function genData$2 (el, state) {
+ var data = '{';
+
+ // directives first.
+ // directives may mutate the el's other properties before they are generated.
+ var dirs = genDirectives(el, state);
+ if (dirs) { data += dirs + ','; }
+
+ // key
+ if (el.key) {
+ data += "key:" + (el.key) + ",";
+ }
+ // ref
+ if (el.ref) {
+ data += "ref:" + (el.ref) + ",";
+ }
+ if (el.refInFor) {
+ data += "refInFor:true,";
+ }
+ // pre
+ if (el.pre) {
+ data += "pre:true,";
+ }
+ // record original tag name for components using "is" attribute
+ if (el.component) {
+ data += "tag:\"" + (el.tag) + "\",";
+ }
+ // module data generation functions
+ for (var i = 0; i < state.dataGenFns.length; i++) {
+ data += state.dataGenFns[i](el);
+ }
+ // attributes
+ if (el.attrs) {
+ data += "attrs:" + (genProps(el.attrs)) + ",";
+ }
+ // DOM props
+ if (el.props) {
+ data += "domProps:" + (genProps(el.props)) + ",";
+ }
+ // event handlers
+ if (el.events) {
+ data += (genHandlers(el.events, false)) + ",";
+ }
+ if (el.nativeEvents) {
+ data += (genHandlers(el.nativeEvents, true)) + ",";
+ }
+ // slot target
+ // only for non-scoped slots
+ if (el.slotTarget && !el.slotScope) {
+ data += "slot:" + (el.slotTarget) + ",";
+ }
+ // scoped slots
+ if (el.scopedSlots) {
+ data += (genScopedSlots(el, el.scopedSlots, state)) + ",";
+ }
+ // component v-model
+ if (el.model) {
+ data += "model:{value:" + (el.model.value) + ",callback:" + (el.model.callback) + ",expression:" + (el.model.expression) + "},";
+ }
+ // inline-template
+ if (el.inlineTemplate) {
+ var inlineTemplate = genInlineTemplate(el, state);
+ if (inlineTemplate) {
+ data += inlineTemplate + ",";
+ }
+ }
+ data = data.replace(/,$/, '') + '}';
+ // v-bind dynamic argument wrap
+ // v-bind with dynamic arguments must be applied using the same v-bind object
+ // merge helper so that class/style/mustUseProp attrs are handled correctly.
+ if (el.dynamicAttrs) {
+ data = "_b(" + data + ",\"" + (el.tag) + "\"," + (genProps(el.dynamicAttrs)) + ")";
+ }
+ // v-bind data wrap
+ if (el.wrapData) {
+ data = el.wrapData(data);
+ }
+ // v-on data wrap
+ if (el.wrapListeners) {
+ data = el.wrapListeners(data);
+ }
+ return data
+ }
+
+ function genDirectives (el, state) {
+ var dirs = el.directives;
+ if (!dirs) { return }
+ var res = 'directives:[';
+ var hasRuntime = false;
+ var i, l, dir, needRuntime;
+ for (i = 0, l = dirs.length; i < l; i++) {
+ dir = dirs[i];
+ needRuntime = true;
+ var gen = state.directives[dir.name];
+ if (gen) {
+ // compile-time directive that manipulates AST.
+ // returns true if it also needs a runtime counterpart.
+ needRuntime = !!gen(el, dir, state.warn);
+ }
+ if (needRuntime) {
+ hasRuntime = true;
+ res += "{name:\"" + (dir.name) + "\",rawName:\"" + (dir.rawName) + "\"" + (dir.value ? (",value:(" + (dir.value) + "),expression:" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (",arg:" + (dir.isDynamicArg ? dir.arg : ("\"" + (dir.arg) + "\""))) : '') + (dir.modifiers ? (",modifiers:" + (JSON.stringify(dir.modifiers))) : '') + "},";
+ }
+ }
+ if (hasRuntime) {
+ return res.slice(0, -1) + ']'
+ }
+ }
+
+ function genInlineTemplate (el, state) {
+ var ast = el.children[0];
+ if (el.children.length !== 1 || ast.type !== 1) {
+ state.warn(
+ 'Inline-template components must have exactly one child element.',
+ { start: el.start }
+ );
+ }
+ if (ast && ast.type === 1) {
+ var inlineRenderFns = generate(ast, state.options);
+ return ("inlineTemplate:{render:function(){" + (inlineRenderFns.render) + "},staticRenderFns:[" + (inlineRenderFns.staticRenderFns.map(function (code) { return ("function(){" + code + "}"); }).join(',')) + "]}")
+ }
+ }
+
+ function genScopedSlots (
+ el,
+ slots,
+ state
+ ) {
+ // by default scoped slots are considered "stable", this allows child
+ // components with only scoped slots to skip forced updates from parent.
+ // but in some cases we have to bail-out of this optimization
+ // for example if the slot contains dynamic names, has v-if or v-for on them...
+ var needsForceUpdate = el.for || Object.keys(slots).some(function (key) {
+ var slot = slots[key];
+ return (
+ slot.slotTargetDynamic ||
+ slot.if ||
+ slot.for ||
+ containsSlotChild(slot) // is passing down slot from parent which may be dynamic
+ )
+ });
+
+ // #9534: if a component with scoped slots is inside a conditional branch,
+ // it's possible for the same component to be reused but with different
+ // compiled slot content. To avoid that, we generate a unique key based on
+ // the generated code of all the slot contents.
+ var needsKey = !!el.if;
+
+ // OR when it is inside another scoped slot or v-for (the reactivity may be
+ // disconnected due to the intermediate scope variable)
+ // #9438, #9506
+ // TODO: this can be further optimized by properly analyzing in-scope bindings
+ // and skip force updating ones that do not actually use scope variables.
+ if (!needsForceUpdate) {
+ var parent = el.parent;
+ while (parent) {
+ if (
+ (parent.slotScope && parent.slotScope !== emptySlotScopeToken) ||
+ parent.for
+ ) {
+ needsForceUpdate = true;
+ break
+ }
+ if (parent.if) {
+ needsKey = true;
+ }
+ parent = parent.parent;
+ }
+ }
+
+ var generatedSlots = Object.keys(slots)
+ .map(function (key) { return genScopedSlot(slots[key], state); })
+ .join(',');
+
+ return ("scopedSlots:_u([" + generatedSlots + "]" + (needsForceUpdate ? ",null,true" : "") + (!needsForceUpdate && needsKey ? (",null,false," + (hash(generatedSlots))) : "") + ")")
+ }
+
+ function hash(str) {
+ var hash = 5381;
+ var i = str.length;
+ while(i) {
+ hash = (hash * 33) ^ str.charCodeAt(--i);
+ }
+ return hash >>> 0
+ }
+
+ function containsSlotChild (el) {
+ if (el.type === 1) {
+ if (el.tag === 'slot') {
+ return true
+ }
+ return el.children.some(containsSlotChild)
+ }
+ return false
+ }
+
+ function genScopedSlot (
+ el,
+ state
+ ) {
+ var isLegacySyntax = el.attrsMap['slot-scope'];
+ if (el.if && !el.ifProcessed && !isLegacySyntax) {
+ return genIf(el, state, genScopedSlot, "null")
+ }
+ if (el.for && !el.forProcessed) {
+ return genFor(el, state, genScopedSlot)
+ }
+ var slotScope = el.slotScope === emptySlotScopeToken
+ ? ""
+ : String(el.slotScope);
+ var fn = "function(" + slotScope + "){" +
+ "return " + (el.tag === 'template'
+ ? el.if && isLegacySyntax
+ ? ("(" + (el.if) + ")?" + (genChildren(el, state) || 'undefined') + ":undefined")
+ : genChildren(el, state) || 'undefined'
+ : genElement(el, state)) + "}";
+ // reverse proxy v-slot without scope on this.$slots
+ var reverseProxy = slotScope ? "" : ",proxy:true";
+ return ("{key:" + (el.slotTarget || "\"default\"") + ",fn:" + fn + reverseProxy + "}")
+ }
+
+ function genChildren (
+ el,
+ state,
+ checkSkip,
+ altGenElement,
+ altGenNode
+ ) {
+ var children = el.children;
+ if (children.length) {
+ var el$1 = children[0];
+ // optimize single v-for
+ if (children.length === 1 &&
+ el$1.for &&
+ el$1.tag !== 'template' &&
+ el$1.tag !== 'slot'
+ ) {
+ var normalizationType = checkSkip
+ ? state.maybeComponent(el$1) ? ",1" : ",0"
+ : "";
+ return ("" + ((altGenElement || genElement)(el$1, state)) + normalizationType)
+ }
+ var normalizationType$1 = checkSkip
+ ? getNormalizationType(children, state.maybeComponent)
+ : 0;
+ var gen = altGenNode || genNode;
+ return ("[" + (children.map(function (c) { return gen(c, state); }).join(',')) + "]" + (normalizationType$1 ? ("," + normalizationType$1) : ''))
+ }
+ }
+
+ // determine the normalization needed for the children array.
+ // 0: no normalization needed
+ // 1: simple normalization needed (possible 1-level deep nested array)
+ // 2: full normalization needed
+ function getNormalizationType (
+ children,
+ maybeComponent
+ ) {
+ var res = 0;
+ for (var i = 0; i < children.length; i++) {
+ var el = children[i];
+ if (el.type !== 1) {
+ continue
+ }
+ if (needsNormalization(el) ||
+ (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {
+ res = 2;
+ break
+ }
+ if (maybeComponent(el) ||
+ (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {
+ res = 1;
+ }
+ }
+ return res
+ }
+
+ function needsNormalization (el) {
+ return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'
+ }
+
+ function genNode (node, state) {
+ if (node.type === 1) {
+ return genElement(node, state)
+ } else if (node.type === 3 && node.isComment) {
+ return genComment(node)
+ } else {
+ return genText(node)
+ }
+ }
+
+ function genText (text) {
+ return ("_v(" + (text.type === 2
+ ? text.expression // no need for () because already wrapped in _s()
+ : transformSpecialNewlines(JSON.stringify(text.text))) + ")")
+ }
+
+ function genComment (comment) {
+ return ("_e(" + (JSON.stringify(comment.text)) + ")")
+ }
+
+ function genSlot (el, state) {
+ var slotName = el.slotName || '"default"';
+ var children = genChildren(el, state);
+ var res = "_t(" + slotName + (children ? ("," + children) : '');
+ var attrs = el.attrs || el.dynamicAttrs
+ ? genProps((el.attrs || []).concat(el.dynamicAttrs || []).map(function (attr) { return ({
+ // slot props are camelized
+ name: camelize(attr.name),
+ value: attr.value,
+ dynamic: attr.dynamic
+ }); }))
+ : null;
+ var bind$$1 = el.attrsMap['v-bind'];
+ if ((attrs || bind$$1) && !children) {
+ res += ",null";
+ }
+ if (attrs) {
+ res += "," + attrs;
+ }
+ if (bind$$1) {
+ res += (attrs ? '' : ',null') + "," + bind$$1;
+ }
+ return res + ')'
+ }
+
+ // componentName is el.component, take it as argument to shun flow's pessimistic refinement
+ function genComponent (
+ componentName,
+ el,
+ state
+ ) {
+ var children = el.inlineTemplate ? null : genChildren(el, state, true);
+ return ("_c(" + componentName + "," + (genData$2(el, state)) + (children ? ("," + children) : '') + ")")
+ }
+
+ function genProps (props) {
+ var staticProps = "";
+ var dynamicProps = "";
+ for (var i = 0; i < props.length; i++) {
+ var prop = props[i];
+ var value = transformSpecialNewlines(prop.value);
+ if (prop.dynamic) {
+ dynamicProps += (prop.name) + "," + value + ",";
+ } else {
+ staticProps += "\"" + (prop.name) + "\":" + value + ",";
+ }
+ }
+ staticProps = "{" + (staticProps.slice(0, -1)) + "}";
+ if (dynamicProps) {
+ return ("_d(" + staticProps + ",[" + (dynamicProps.slice(0, -1)) + "])")
+ } else {
+ return staticProps
+ }
+ }
+
+ // #3895, #4268
+ function transformSpecialNewlines (text) {
+ return text
+ .replace(/\u2028/g, '\\u2028')
+ .replace(/\u2029/g, '\\u2029')
+ }
+
+ /* */
+
+
+
+ // these keywords should not appear inside expressions, but operators like
+ // typeof, instanceof and in are allowed
+ var prohibitedKeywordRE = new RegExp('\\b' + (
+ 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +
+ 'super,throw,while,yield,delete,export,import,return,switch,default,' +
+ 'extends,finally,continue,debugger,function,arguments'
+ ).split(',').join('\\b|\\b') + '\\b');
+
+ // these unary operators should not be used as property/method names
+ var unaryOperatorsRE = new RegExp('\\b' + (
+ 'delete,typeof,void'
+ ).split(',').join('\\s*\\([^\\)]*\\)|\\b') + '\\s*\\([^\\)]*\\)');
+
+ // strip strings in expressions
+ var stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g;
+
+ // detect problematic expressions in a template
+ function detectErrors (ast, warn) {
+ if (ast) {
+ checkNode(ast, warn);
+ }
+ }
+
+ function checkNode (node, warn) {
+ if (node.type === 1) {
+ for (var name in node.attrsMap) {
+ if (dirRE.test(name)) {
+ var value = node.attrsMap[name];
+ if (value) {
+ var range = node.rawAttrsMap[name];
+ if (name === 'v-for') {
+ checkFor(node, ("v-for=\"" + value + "\""), warn, range);
+ } else if (name === 'v-slot' || name[0] === '#') {
+ checkFunctionParameterExpression(value, (name + "=\"" + value + "\""), warn, range);
+ } else if (onRE.test(name)) {
+ checkEvent(value, (name + "=\"" + value + "\""), warn, range);
+ } else {
+ checkExpression(value, (name + "=\"" + value + "\""), warn, range);
+ }
+ }
+ }
+ }
+ if (node.children) {
+ for (var i = 0; i < node.children.length; i++) {
+ checkNode(node.children[i], warn);
+ }
+ }
+ } else if (node.type === 2) {
+ checkExpression(node.expression, node.text, warn, node);
+ }
+ }
+
+ function checkEvent (exp, text, warn, range) {
+ var stripped = exp.replace(stripStringRE, '');
+ var keywordMatch = stripped.match(unaryOperatorsRE);
+ if (keywordMatch && stripped.charAt(keywordMatch.index - 1) !== '$') {
+ warn(
+ "avoid using JavaScript unary operator as property name: " +
+ "\"" + (keywordMatch[0]) + "\" in expression " + (text.trim()),
+ range
+ );
+ }
+ checkExpression(exp, text, warn, range);
+ }
+
+ function checkFor (node, text, warn, range) {
+ checkExpression(node.for || '', text, warn, range);
+ checkIdentifier(node.alias, 'v-for alias', text, warn, range);
+ checkIdentifier(node.iterator1, 'v-for iterator', text, warn, range);
+ checkIdentifier(node.iterator2, 'v-for iterator', text, warn, range);
+ }
+
+ function checkIdentifier (
+ ident,
+ type,
+ text,
+ warn,
+ range
+ ) {
+ if (typeof ident === 'string') {
+ try {
+ new Function(("var " + ident + "=_"));
+ } catch (e) {
+ warn(("invalid " + type + " \"" + ident + "\" in expression: " + (text.trim())), range);
+ }
+ }
+ }
+
+ function checkExpression (exp, text, warn, range) {
+ try {
+ new Function(("return " + exp));
+ } catch (e) {
+ var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);
+ if (keywordMatch) {
+ warn(
+ "avoid using JavaScript keyword as property name: " +
+ "\"" + (keywordMatch[0]) + "\"\n Raw expression: " + (text.trim()),
+ range
+ );
+ } else {
+ warn(
+ "invalid expression: " + (e.message) + " in\n\n" +
+ " " + exp + "\n\n" +
+ " Raw expression: " + (text.trim()) + "\n",
+ range
+ );
+ }
+ }
+ }
+
+ function checkFunctionParameterExpression (exp, text, warn, range) {
+ try {
+ new Function(exp, '');
+ } catch (e) {
+ warn(
+ "invalid function parameter expression: " + (e.message) + " in\n\n" +
+ " " + exp + "\n\n" +
+ " Raw expression: " + (text.trim()) + "\n",
+ range
+ );
+ }
+ }
+
+ /* */
+
+ var range = 2;
+
+ function generateCodeFrame (
+ source,
+ start,
+ end
+ ) {
+ if ( start === void 0 ) start = 0;
+ if ( end === void 0 ) end = source.length;
+
+ var lines = source.split(/\r?\n/);
+ var count = 0;
+ var res = [];
+ for (var i = 0; i < lines.length; i++) {
+ count += lines[i].length + 1;
+ if (count >= start) {
+ for (var j = i - range; j <= i + range || end > count; j++) {
+ if (j < 0 || j >= lines.length) { continue }
+ res.push(("" + (j + 1) + (repeat$1(" ", 3 - String(j + 1).length)) + "| " + (lines[j])));
+ var lineLength = lines[j].length;
+ if (j === i) {
+ // push underline
+ var pad = start - (count - lineLength) + 1;
+ var length = end > count ? lineLength - pad : end - start;
+ res.push(" | " + repeat$1(" ", pad) + repeat$1("^", length));
+ } else if (j > i) {
+ if (end > count) {
+ var length$1 = Math.min(end - count, lineLength);
+ res.push(" | " + repeat$1("^", length$1));
+ }
+ count += lineLength + 1;
+ }
+ }
+ break
+ }
+ }
+ return res.join('\n')
+ }
+
+ function repeat$1 (str, n) {
+ var result = '';
+ if (n > 0) {
+ while (true) { // eslint-disable-line
+ if (n & 1) { result += str; }
+ n >>>= 1;
+ if (n <= 0) { break }
+ str += str;
+ }
+ }
+ return result
+ }
+
+ /* */
+
+
+
+ function createFunction (code, errors) {
+ try {
+ return new Function(code)
+ } catch (err) {
+ errors.push({ err: err, code: code });
+ return noop
+ }
+ }
+
+ function createCompileToFunctionFn (compile) {
+ var cache = Object.create(null);
+
+ return function compileToFunctions (
+ template,
+ options,
+ vm
+ ) {
+ options = extend({}, options);
+ var warn$$1 = options.warn || warn;
+ delete options.warn;
+
+ /* istanbul ignore if */
+ {
+ // detect possible CSP restriction
+ try {
+ new Function('return 1');
+ } catch (e) {
+ if (e.toString().match(/unsafe-eval|CSP/)) {
+ warn$$1(
+ 'It seems you are using the standalone build of Vue.js in an ' +
+ 'environment with Content Security Policy that prohibits unsafe-eval. ' +
+ 'The template compiler cannot work in this environment. Consider ' +
+ 'relaxing the policy to allow unsafe-eval or pre-compiling your ' +
+ 'templates into render functions.'
+ );
+ }
+ }
+ }
+
+ // check cache
+ var key = options.delimiters
+ ? String(options.delimiters) + template
+ : template;
+ if (cache[key]) {
+ return cache[key]
+ }
+
+ // compile
+ var compiled = compile(template, options);
+
+ // check compilation errors/tips
+ {
+ if (compiled.errors && compiled.errors.length) {
+ if (options.outputSourceRange) {
+ compiled.errors.forEach(function (e) {
+ warn$$1(
+ "Error compiling template:\n\n" + (e.msg) + "\n\n" +
+ generateCodeFrame(template, e.start, e.end),
+ vm
+ );
+ });
+ } else {
+ warn$$1(
+ "Error compiling template:\n\n" + template + "\n\n" +
+ compiled.errors.map(function (e) { return ("- " + e); }).join('\n') + '\n',
+ vm
+ );
+ }
+ }
+ if (compiled.tips && compiled.tips.length) {
+ if (options.outputSourceRange) {
+ compiled.tips.forEach(function (e) { return tip(e.msg, vm); });
+ } else {
+ compiled.tips.forEach(function (msg) { return tip(msg, vm); });
+ }
+ }
+ }
+
+ // turn code into functions
+ var res = {};
+ var fnGenErrors = [];
+ res.render = createFunction(compiled.render, fnGenErrors);
+ res.staticRenderFns = compiled.staticRenderFns.map(function (code) {
+ return createFunction(code, fnGenErrors)
+ });
+
+ // check function generation errors.
+ // this should only happen if there is a bug in the compiler itself.
+ // mostly for codegen development use
+ /* istanbul ignore if */
+ {
+ if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {
+ warn$$1(
+ "Failed to generate render function:\n\n" +
+ fnGenErrors.map(function (ref) {
+ var err = ref.err;
+ var code = ref.code;
+
+ return ((err.toString()) + " in\n\n" + code + "\n");
+ }).join('\n'),
+ vm
+ );
+ }
+ }
+
+ return (cache[key] = res)
+ }
+ }
+
+ /* */
+
+ function createCompilerCreator (baseCompile) {
+ return function createCompiler (baseOptions) {
+ function compile (
+ template,
+ options
+ ) {
+ var finalOptions = Object.create(baseOptions);
+ var errors = [];
+ var tips = [];
+
+ var warn = function (msg, range, tip) {
+ (tip ? tips : errors).push(msg);
+ };
+
+ if (options) {
+ if (options.outputSourceRange) {
+ // $flow-disable-line
+ var leadingSpaceLength = template.match(/^\s*/)[0].length;
+
+ warn = function (msg, range, tip) {
+ var data = { msg: msg };
+ if (range) {
+ if (range.start != null) {
+ data.start = range.start + leadingSpaceLength;
+ }
+ if (range.end != null) {
+ data.end = range.end + leadingSpaceLength;
+ }
+ }
+ (tip ? tips : errors).push(data);
+ };
+ }
+ // merge custom modules
+ if (options.modules) {
+ finalOptions.modules =
+ (baseOptions.modules || []).concat(options.modules);
+ }
+ // merge custom directives
+ if (options.directives) {
+ finalOptions.directives = extend(
+ Object.create(baseOptions.directives || null),
+ options.directives
+ );
+ }
+ // copy other options
+ for (var key in options) {
+ if (key !== 'modules' && key !== 'directives') {
+ finalOptions[key] = options[key];
+ }
+ }
+ }
+
+ finalOptions.warn = warn;
+
+ var compiled = baseCompile(template.trim(), finalOptions);
+ {
+ detectErrors(compiled.ast, warn);
+ }
+ compiled.errors = errors;
+ compiled.tips = tips;
+ return compiled
+ }
+
+ return {
+ compile: compile,
+ compileToFunctions: createCompileToFunctionFn(compile)
+ }
+ }
+ }
+
+ /* */
+
+ // `createCompilerCreator` allows creating compilers that use alternative
+ // parser/optimizer/codegen, e.g the SSR optimizing compiler.
+ // Here we just export a default compiler using the default parts.
+ var createCompiler = createCompilerCreator(function baseCompile (
+ template,
+ options
+ ) {
+ var ast = parse(template.trim(), options);
+ if (options.optimize !== false) {
+ optimize(ast, options);
+ }
+ var code = generate(ast, options);
+ return {
+ ast: ast,
+ render: code.render,
+ staticRenderFns: code.staticRenderFns
+ }
+ });
+
+ /* */
+
+ var ref$1 = createCompiler(baseOptions);
+ var compile = ref$1.compile;
+ var compileToFunctions = ref$1.compileToFunctions;
+
+ /* */
+
+ // check whether current browser encodes a char inside attribute values
+ var div;
+ function getShouldDecode (href) {
+ div = div || document.createElement('div');
+ div.innerHTML = href ? "
" : "";
+ return div.innerHTML.indexOf('
') > 0
+ }
+
+ // #3663: IE encodes newlines inside attribute values while other browsers don't
+ var shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;
+ // #6828: chrome encodes content in a[href]
+ var shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;
+
+ /* */
+
+ var idToTemplate = cached(function (id) {
+ var el = query(id);
+ return el && el.innerHTML
+ });
+
+ var mount = Vue.prototype.$mount;
+ Vue.prototype.$mount = function (
+ el,
+ hydrating
+ ) {
+ el = el && query(el);
+
+ /* istanbul ignore if */
+ if (el === document.body || el === document.documentElement) {
+ warn(
+ "Do not mount Vue to or - mount to normal elements instead."
+ );
+ return this
+ }
+
+ var options = this.$options;
+ // resolve template/el and convert to render function
+ if (!options.render) {
+ var template = options.template;
+ if (template) {
+ if (typeof template === 'string') {
+ if (template.charAt(0) === '#') {
+ template = idToTemplate(template);
+ /* istanbul ignore if */
+ if (!template) {
+ warn(
+ ("Template element not found or is empty: " + (options.template)),
+ this
+ );
+ }
+ }
+ } else if (template.nodeType) {
+ template = template.innerHTML;
+ } else {
+ {
+ warn('invalid template option:' + template, this);
+ }
+ return this
+ }
+ } else if (el) {
+ template = getOuterHTML(el);
+ }
+ if (template) {
+ /* istanbul ignore if */
+ if (config.performance && mark) {
+ mark('compile');
+ }
+
+ var ref = compileToFunctions(template, {
+ outputSourceRange: "development" !== 'production',
+ shouldDecodeNewlines: shouldDecodeNewlines,
+ shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,
+ delimiters: options.delimiters,
+ comments: options.comments
+ }, this);
+ var render = ref.render;
+ var staticRenderFns = ref.staticRenderFns;
+ options.render = render;
+ options.staticRenderFns = staticRenderFns;
+
+ /* istanbul ignore if */
+ if (config.performance && mark) {
+ mark('compile end');
+ measure(("vue " + (this._name) + " compile"), 'compile', 'compile end');
+ }
+ }
+ }
+ return mount.call(this, el, hydrating)
+ };
+
+ /**
+ * Get outerHTML of elements, taking care
+ * of SVG elements in IE as well.
+ */
+ function getOuterHTML (el) {
+ if (el.outerHTML) {
+ return el.outerHTML
+ } else {
+ var container = document.createElement('div');
+ container.appendChild(el.cloneNode(true));
+ return container.innerHTML
+ }
+ }
+
+ Vue.compile = compileToFunctions;
+
+ return Vue;
+
+}));
diff --git a/woniubiji/static/js/woniunote.js b/woniu2/resource/js/woniunote.js
similarity index 99%
rename from woniubiji/static/js/woniunote.js
rename to woniu2/resource/js/woniunote.js
index 5932392..79e819c 100644
--- a/woniubiji/static/js/woniunote.js
+++ b/woniu2/resource/js/woniunote.js
@@ -40,7 +40,7 @@ function doSendMail(obj) {
return false;
}
$.post('/ecode', 'email=' + email, function (data) {
- if (data == 'ecode-error') {
+ if (data == 'email-invalid') {
bootbox.alert({title:"错误提示", message:"邮箱地址格式不正确."});
$("#regname").focus();
return false;
diff --git a/woniu2/resource/thumb/1.png b/woniu2/resource/thumb/1.png
new file mode 100644
index 0000000..6aed69f
Binary files /dev/null and b/woniu2/resource/thumb/1.png differ
diff --git a/woniu2/resource/thumb/2.png b/woniu2/resource/thumb/2.png
new file mode 100644
index 0000000..4461fbc
Binary files /dev/null and b/woniu2/resource/thumb/2.png differ
diff --git a/woniu2/resource/thumb/20200512_173827.jpg b/woniu2/resource/thumb/20200512_173827.jpg
new file mode 100644
index 0000000..d08cfa8
Binary files /dev/null and b/woniu2/resource/thumb/20200512_173827.jpg differ
diff --git a/woniu2/resource/thumb/20200512_175504.jpg b/woniu2/resource/thumb/20200512_175504.jpg
new file mode 100644
index 0000000..11d2476
Binary files /dev/null and b/woniu2/resource/thumb/20200512_175504.jpg differ
diff --git a/woniu2/resource/thumb/20200512_181642.png b/woniu2/resource/thumb/20200512_181642.png
new file mode 100644
index 0000000..fd64ba5
Binary files /dev/null and b/woniu2/resource/thumb/20200512_181642.png differ
diff --git a/woniu2/resource/thumb/3.png b/woniu2/resource/thumb/3.png
new file mode 100644
index 0000000..53cfe38
Binary files /dev/null and b/woniu2/resource/thumb/3.png differ
diff --git a/woniu2/resource/thumb/4.png b/woniu2/resource/thumb/4.png
new file mode 100644
index 0000000..c45c573
Binary files /dev/null and b/woniu2/resource/thumb/4.png differ
diff --git a/woniu2/resource/thumb/5.png b/woniu2/resource/thumb/5.png
new file mode 100644
index 0000000..5fdbbdd
Binary files /dev/null and b/woniu2/resource/thumb/5.png differ
diff --git a/woniu2/resource/thumb/6.png b/woniu2/resource/thumb/6.png
new file mode 100644
index 0000000..d598668
Binary files /dev/null and b/woniu2/resource/thumb/6.png differ
diff --git a/woniu2/resource/thumb/7.png b/woniu2/resource/thumb/7.png
new file mode 100644
index 0000000..3eb4e31
Binary files /dev/null and b/woniu2/resource/thumb/7.png differ
diff --git a/woniu2/resource/thumb/8.png b/woniu2/resource/thumb/8.png
new file mode 100644
index 0000000..7744612
Binary files /dev/null and b/woniu2/resource/thumb/8.png differ
diff --git a/woniu2/resource/thumb/image.png b/woniu2/resource/thumb/image.png
new file mode 100644
index 0000000..25d0612
Binary files /dev/null and b/woniu2/resource/thumb/image.png differ
diff --git a/woniubiji/static/images/thumb.png b/woniu2/resource/thumb/thumb.png
similarity index 100%
rename from woniubiji/static/images/thumb.png
rename to woniu2/resource/thumb/thumb.png
diff --git a/woniubiji/static/ue/config.json b/woniu2/resource/ue/config.json
similarity index 100%
rename from woniubiji/static/ue/config.json
rename to woniu2/resource/ue/config.json
diff --git a/woniubiji/static/ue/dialogs/anchor/anchor.html b/woniu2/resource/ue/dialogs/anchor/anchor.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/anchor/anchor.html
rename to woniu2/resource/ue/dialogs/anchor/anchor.html
diff --git a/woniubiji/static/ue/dialogs/attachment/attachment.css b/woniu2/resource/ue/dialogs/attachment/attachment.css
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/attachment.css
rename to woniu2/resource/ue/dialogs/attachment/attachment.css
diff --git a/woniubiji/static/ue/dialogs/attachment/attachment.html b/woniu2/resource/ue/dialogs/attachment/attachment.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/attachment.html
rename to woniu2/resource/ue/dialogs/attachment/attachment.html
diff --git a/woniubiji/static/ue/dialogs/attachment/attachment.js b/woniu2/resource/ue/dialogs/attachment/attachment.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/attachment.js
rename to woniu2/resource/ue/dialogs/attachment/attachment.js
diff --git a/woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_chm.gif b/woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_chm.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_chm.gif
rename to woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_chm.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_default.png b/woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_default.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_default.png
rename to woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_default.png
diff --git a/woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_doc.gif b/woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_doc.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_doc.gif
rename to woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_doc.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_exe.gif b/woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_exe.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_exe.gif
rename to woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_exe.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_jpg.gif b/woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_jpg.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_jpg.gif
rename to woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_jpg.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_mp3.gif b/woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_mp3.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_mp3.gif
rename to woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_mp3.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_mv.gif b/woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_mv.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_mv.gif
rename to woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_mv.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_pdf.gif b/woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_pdf.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_pdf.gif
rename to woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_pdf.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_ppt.gif b/woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_ppt.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_ppt.gif
rename to woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_ppt.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_psd.gif b/woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_psd.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_psd.gif
rename to woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_psd.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_rar.gif b/woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_rar.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_rar.gif
rename to woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_rar.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_txt.gif b/woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_txt.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_txt.gif
rename to woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_txt.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_xls.gif b/woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_xls.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/fileTypeImages/icon_xls.gif
rename to woniu2/resource/ue/dialogs/attachment/fileTypeImages/icon_xls.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/images/alignicon.gif b/woniu2/resource/ue/dialogs/attachment/images/alignicon.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/images/alignicon.gif
rename to woniu2/resource/ue/dialogs/attachment/images/alignicon.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/images/alignicon.png b/woniu2/resource/ue/dialogs/attachment/images/alignicon.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/images/alignicon.png
rename to woniu2/resource/ue/dialogs/attachment/images/alignicon.png
diff --git a/woniubiji/static/ue/dialogs/attachment/images/bg.png b/woniu2/resource/ue/dialogs/attachment/images/bg.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/images/bg.png
rename to woniu2/resource/ue/dialogs/attachment/images/bg.png
diff --git a/woniubiji/static/ue/dialogs/attachment/images/file-icons.gif b/woniu2/resource/ue/dialogs/attachment/images/file-icons.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/images/file-icons.gif
rename to woniu2/resource/ue/dialogs/attachment/images/file-icons.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/images/file-icons.png b/woniu2/resource/ue/dialogs/attachment/images/file-icons.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/images/file-icons.png
rename to woniu2/resource/ue/dialogs/attachment/images/file-icons.png
diff --git a/woniubiji/static/ue/dialogs/attachment/images/icons.gif b/woniu2/resource/ue/dialogs/attachment/images/icons.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/images/icons.gif
rename to woniu2/resource/ue/dialogs/attachment/images/icons.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/images/icons.png b/woniu2/resource/ue/dialogs/attachment/images/icons.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/images/icons.png
rename to woniu2/resource/ue/dialogs/attachment/images/icons.png
diff --git a/woniubiji/static/ue/dialogs/attachment/images/image.png b/woniu2/resource/ue/dialogs/attachment/images/image.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/images/image.png
rename to woniu2/resource/ue/dialogs/attachment/images/image.png
diff --git a/woniubiji/static/ue/dialogs/attachment/images/progress.png b/woniu2/resource/ue/dialogs/attachment/images/progress.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/images/progress.png
rename to woniu2/resource/ue/dialogs/attachment/images/progress.png
diff --git a/woniubiji/static/ue/dialogs/attachment/images/success.gif b/woniu2/resource/ue/dialogs/attachment/images/success.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/images/success.gif
rename to woniu2/resource/ue/dialogs/attachment/images/success.gif
diff --git a/woniubiji/static/ue/dialogs/attachment/images/success.png b/woniu2/resource/ue/dialogs/attachment/images/success.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/attachment/images/success.png
rename to woniu2/resource/ue/dialogs/attachment/images/success.png
diff --git a/woniubiji/static/ue/dialogs/background/background.css b/woniu2/resource/ue/dialogs/background/background.css
similarity index 100%
rename from woniubiji/static/ue/dialogs/background/background.css
rename to woniu2/resource/ue/dialogs/background/background.css
diff --git a/woniubiji/static/ue/dialogs/background/background.html b/woniu2/resource/ue/dialogs/background/background.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/background/background.html
rename to woniu2/resource/ue/dialogs/background/background.html
diff --git a/woniubiji/static/ue/dialogs/background/background.js b/woniu2/resource/ue/dialogs/background/background.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/background/background.js
rename to woniu2/resource/ue/dialogs/background/background.js
diff --git a/woniubiji/static/ue/dialogs/background/images/bg.png b/woniu2/resource/ue/dialogs/background/images/bg.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/background/images/bg.png
rename to woniu2/resource/ue/dialogs/background/images/bg.png
diff --git a/woniubiji/static/ue/dialogs/background/images/success.png b/woniu2/resource/ue/dialogs/background/images/success.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/background/images/success.png
rename to woniu2/resource/ue/dialogs/background/images/success.png
diff --git a/woniubiji/static/ue/dialogs/charts/chart.config.js b/woniu2/resource/ue/dialogs/charts/chart.config.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/charts/chart.config.js
rename to woniu2/resource/ue/dialogs/charts/chart.config.js
diff --git a/woniubiji/static/ue/dialogs/charts/charts.css b/woniu2/resource/ue/dialogs/charts/charts.css
similarity index 100%
rename from woniubiji/static/ue/dialogs/charts/charts.css
rename to woniu2/resource/ue/dialogs/charts/charts.css
diff --git a/woniubiji/static/ue/dialogs/charts/charts.html b/woniu2/resource/ue/dialogs/charts/charts.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/charts/charts.html
rename to woniu2/resource/ue/dialogs/charts/charts.html
diff --git a/woniubiji/static/ue/dialogs/charts/charts.js b/woniu2/resource/ue/dialogs/charts/charts.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/charts/charts.js
rename to woniu2/resource/ue/dialogs/charts/charts.js
diff --git a/woniubiji/static/ue/dialogs/charts/images/charts0.png b/woniu2/resource/ue/dialogs/charts/images/charts0.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/charts/images/charts0.png
rename to woniu2/resource/ue/dialogs/charts/images/charts0.png
diff --git a/woniubiji/static/ue/dialogs/charts/images/charts1.png b/woniu2/resource/ue/dialogs/charts/images/charts1.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/charts/images/charts1.png
rename to woniu2/resource/ue/dialogs/charts/images/charts1.png
diff --git a/woniubiji/static/ue/dialogs/charts/images/charts2.png b/woniu2/resource/ue/dialogs/charts/images/charts2.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/charts/images/charts2.png
rename to woniu2/resource/ue/dialogs/charts/images/charts2.png
diff --git a/woniubiji/static/ue/dialogs/charts/images/charts3.png b/woniu2/resource/ue/dialogs/charts/images/charts3.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/charts/images/charts3.png
rename to woniu2/resource/ue/dialogs/charts/images/charts3.png
diff --git a/woniubiji/static/ue/dialogs/charts/images/charts4.png b/woniu2/resource/ue/dialogs/charts/images/charts4.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/charts/images/charts4.png
rename to woniu2/resource/ue/dialogs/charts/images/charts4.png
diff --git a/woniubiji/static/ue/dialogs/charts/images/charts5.png b/woniu2/resource/ue/dialogs/charts/images/charts5.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/charts/images/charts5.png
rename to woniu2/resource/ue/dialogs/charts/images/charts5.png
diff --git a/woniubiji/static/ue/dialogs/emotion/emotion.css b/woniu2/resource/ue/dialogs/emotion/emotion.css
similarity index 100%
rename from woniubiji/static/ue/dialogs/emotion/emotion.css
rename to woniu2/resource/ue/dialogs/emotion/emotion.css
diff --git a/woniubiji/static/ue/dialogs/emotion/emotion.html b/woniu2/resource/ue/dialogs/emotion/emotion.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/emotion/emotion.html
rename to woniu2/resource/ue/dialogs/emotion/emotion.html
diff --git a/woniubiji/static/ue/dialogs/emotion/emotion.js b/woniu2/resource/ue/dialogs/emotion/emotion.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/emotion/emotion.js
rename to woniu2/resource/ue/dialogs/emotion/emotion.js
diff --git a/woniubiji/static/ue/dialogs/emotion/images/0.gif b/woniu2/resource/ue/dialogs/emotion/images/0.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/emotion/images/0.gif
rename to woniu2/resource/ue/dialogs/emotion/images/0.gif
diff --git a/woniubiji/static/ue/dialogs/emotion/images/bface.gif b/woniu2/resource/ue/dialogs/emotion/images/bface.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/emotion/images/bface.gif
rename to woniu2/resource/ue/dialogs/emotion/images/bface.gif
diff --git a/woniubiji/static/ue/dialogs/emotion/images/cface.gif b/woniu2/resource/ue/dialogs/emotion/images/cface.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/emotion/images/cface.gif
rename to woniu2/resource/ue/dialogs/emotion/images/cface.gif
diff --git a/woniubiji/static/ue/dialogs/emotion/images/fface.gif b/woniu2/resource/ue/dialogs/emotion/images/fface.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/emotion/images/fface.gif
rename to woniu2/resource/ue/dialogs/emotion/images/fface.gif
diff --git a/woniubiji/static/ue/dialogs/emotion/images/jxface2.gif b/woniu2/resource/ue/dialogs/emotion/images/jxface2.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/emotion/images/jxface2.gif
rename to woniu2/resource/ue/dialogs/emotion/images/jxface2.gif
diff --git a/woniubiji/static/ue/dialogs/emotion/images/neweditor-tab-bg.png b/woniu2/resource/ue/dialogs/emotion/images/neweditor-tab-bg.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/emotion/images/neweditor-tab-bg.png
rename to woniu2/resource/ue/dialogs/emotion/images/neweditor-tab-bg.png
diff --git a/woniubiji/static/ue/dialogs/emotion/images/tface.gif b/woniu2/resource/ue/dialogs/emotion/images/tface.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/emotion/images/tface.gif
rename to woniu2/resource/ue/dialogs/emotion/images/tface.gif
diff --git a/woniubiji/static/ue/dialogs/emotion/images/wface.gif b/woniu2/resource/ue/dialogs/emotion/images/wface.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/emotion/images/wface.gif
rename to woniu2/resource/ue/dialogs/emotion/images/wface.gif
diff --git a/woniubiji/static/ue/dialogs/emotion/images/yface.gif b/woniu2/resource/ue/dialogs/emotion/images/yface.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/emotion/images/yface.gif
rename to woniu2/resource/ue/dialogs/emotion/images/yface.gif
diff --git a/woniubiji/static/ue/dialogs/gmap/gmap.html b/woniu2/resource/ue/dialogs/gmap/gmap.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/gmap/gmap.html
rename to woniu2/resource/ue/dialogs/gmap/gmap.html
diff --git a/woniubiji/static/ue/dialogs/help/help.css b/woniu2/resource/ue/dialogs/help/help.css
similarity index 100%
rename from woniubiji/static/ue/dialogs/help/help.css
rename to woniu2/resource/ue/dialogs/help/help.css
diff --git a/woniubiji/static/ue/dialogs/help/help.html b/woniu2/resource/ue/dialogs/help/help.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/help/help.html
rename to woniu2/resource/ue/dialogs/help/help.html
diff --git a/woniubiji/static/ue/dialogs/help/help.js b/woniu2/resource/ue/dialogs/help/help.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/help/help.js
rename to woniu2/resource/ue/dialogs/help/help.js
diff --git a/woniubiji/static/ue/dialogs/image/image.css b/woniu2/resource/ue/dialogs/image/image.css
similarity index 100%
rename from woniubiji/static/ue/dialogs/image/image.css
rename to woniu2/resource/ue/dialogs/image/image.css
diff --git a/woniubiji/static/ue/dialogs/image/image.html b/woniu2/resource/ue/dialogs/image/image.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/image/image.html
rename to woniu2/resource/ue/dialogs/image/image.html
diff --git a/woniubiji/static/ue/dialogs/image/image.js b/woniu2/resource/ue/dialogs/image/image.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/image/image.js
rename to woniu2/resource/ue/dialogs/image/image.js
diff --git a/woniubiji/static/ue/dialogs/image/images/alignicon.jpg b/woniu2/resource/ue/dialogs/image/images/alignicon.jpg
similarity index 100%
rename from woniubiji/static/ue/dialogs/image/images/alignicon.jpg
rename to woniu2/resource/ue/dialogs/image/images/alignicon.jpg
diff --git a/woniubiji/static/ue/dialogs/image/images/bg.png b/woniu2/resource/ue/dialogs/image/images/bg.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/image/images/bg.png
rename to woniu2/resource/ue/dialogs/image/images/bg.png
diff --git a/woniubiji/static/ue/dialogs/image/images/icons.gif b/woniu2/resource/ue/dialogs/image/images/icons.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/image/images/icons.gif
rename to woniu2/resource/ue/dialogs/image/images/icons.gif
diff --git a/woniubiji/static/ue/dialogs/image/images/icons.png b/woniu2/resource/ue/dialogs/image/images/icons.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/image/images/icons.png
rename to woniu2/resource/ue/dialogs/image/images/icons.png
diff --git a/woniubiji/static/ue/dialogs/image/images/image.png b/woniu2/resource/ue/dialogs/image/images/image.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/image/images/image.png
rename to woniu2/resource/ue/dialogs/image/images/image.png
diff --git a/woniubiji/static/ue/dialogs/image/images/progress.png b/woniu2/resource/ue/dialogs/image/images/progress.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/image/images/progress.png
rename to woniu2/resource/ue/dialogs/image/images/progress.png
diff --git a/woniubiji/static/ue/dialogs/image/images/success.gif b/woniu2/resource/ue/dialogs/image/images/success.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/image/images/success.gif
rename to woniu2/resource/ue/dialogs/image/images/success.gif
diff --git a/woniubiji/static/ue/dialogs/image/images/success.png b/woniu2/resource/ue/dialogs/image/images/success.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/image/images/success.png
rename to woniu2/resource/ue/dialogs/image/images/success.png
diff --git a/woniubiji/static/ue/dialogs/insertframe/insertframe.html b/woniu2/resource/ue/dialogs/insertframe/insertframe.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/insertframe/insertframe.html
rename to woniu2/resource/ue/dialogs/insertframe/insertframe.html
diff --git a/woniubiji/static/ue/dialogs/internal.js b/woniu2/resource/ue/dialogs/internal.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/internal.js
rename to woniu2/resource/ue/dialogs/internal.js
diff --git a/woniubiji/static/ue/dialogs/link/link.html b/woniu2/resource/ue/dialogs/link/link.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/link/link.html
rename to woniu2/resource/ue/dialogs/link/link.html
diff --git a/woniubiji/static/ue/dialogs/map/map.html b/woniu2/resource/ue/dialogs/map/map.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/map/map.html
rename to woniu2/resource/ue/dialogs/map/map.html
diff --git a/woniubiji/static/ue/dialogs/map/show.html b/woniu2/resource/ue/dialogs/map/show.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/map/show.html
rename to woniu2/resource/ue/dialogs/map/show.html
diff --git a/woniubiji/static/ue/dialogs/music/music.css b/woniu2/resource/ue/dialogs/music/music.css
similarity index 100%
rename from woniubiji/static/ue/dialogs/music/music.css
rename to woniu2/resource/ue/dialogs/music/music.css
diff --git a/woniubiji/static/ue/dialogs/music/music.html b/woniu2/resource/ue/dialogs/music/music.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/music/music.html
rename to woniu2/resource/ue/dialogs/music/music.html
diff --git a/woniubiji/static/ue/dialogs/music/music.js b/woniu2/resource/ue/dialogs/music/music.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/music/music.js
rename to woniu2/resource/ue/dialogs/music/music.js
diff --git a/woniubiji/static/ue/dialogs/preview/preview.html b/woniu2/resource/ue/dialogs/preview/preview.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/preview/preview.html
rename to woniu2/resource/ue/dialogs/preview/preview.html
diff --git a/woniubiji/static/ue/dialogs/scrawl/images/addimg.png b/woniu2/resource/ue/dialogs/scrawl/images/addimg.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/images/addimg.png
rename to woniu2/resource/ue/dialogs/scrawl/images/addimg.png
diff --git a/woniubiji/static/ue/dialogs/scrawl/images/brush.png b/woniu2/resource/ue/dialogs/scrawl/images/brush.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/images/brush.png
rename to woniu2/resource/ue/dialogs/scrawl/images/brush.png
diff --git a/woniubiji/static/ue/dialogs/scrawl/images/delimg.png b/woniu2/resource/ue/dialogs/scrawl/images/delimg.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/images/delimg.png
rename to woniu2/resource/ue/dialogs/scrawl/images/delimg.png
diff --git a/woniubiji/static/ue/dialogs/scrawl/images/delimgH.png b/woniu2/resource/ue/dialogs/scrawl/images/delimgH.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/images/delimgH.png
rename to woniu2/resource/ue/dialogs/scrawl/images/delimgH.png
diff --git a/woniubiji/static/ue/dialogs/scrawl/images/empty.png b/woniu2/resource/ue/dialogs/scrawl/images/empty.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/images/empty.png
rename to woniu2/resource/ue/dialogs/scrawl/images/empty.png
diff --git a/woniubiji/static/ue/dialogs/scrawl/images/emptyH.png b/woniu2/resource/ue/dialogs/scrawl/images/emptyH.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/images/emptyH.png
rename to woniu2/resource/ue/dialogs/scrawl/images/emptyH.png
diff --git a/woniubiji/static/ue/dialogs/scrawl/images/eraser.png b/woniu2/resource/ue/dialogs/scrawl/images/eraser.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/images/eraser.png
rename to woniu2/resource/ue/dialogs/scrawl/images/eraser.png
diff --git a/woniubiji/static/ue/dialogs/scrawl/images/redo.png b/woniu2/resource/ue/dialogs/scrawl/images/redo.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/images/redo.png
rename to woniu2/resource/ue/dialogs/scrawl/images/redo.png
diff --git a/woniubiji/static/ue/dialogs/scrawl/images/redoH.png b/woniu2/resource/ue/dialogs/scrawl/images/redoH.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/images/redoH.png
rename to woniu2/resource/ue/dialogs/scrawl/images/redoH.png
diff --git a/woniubiji/static/ue/dialogs/scrawl/images/scale.png b/woniu2/resource/ue/dialogs/scrawl/images/scale.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/images/scale.png
rename to woniu2/resource/ue/dialogs/scrawl/images/scale.png
diff --git a/woniubiji/static/ue/dialogs/scrawl/images/scaleH.png b/woniu2/resource/ue/dialogs/scrawl/images/scaleH.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/images/scaleH.png
rename to woniu2/resource/ue/dialogs/scrawl/images/scaleH.png
diff --git a/woniubiji/static/ue/dialogs/scrawl/images/size.png b/woniu2/resource/ue/dialogs/scrawl/images/size.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/images/size.png
rename to woniu2/resource/ue/dialogs/scrawl/images/size.png
diff --git a/woniubiji/static/ue/dialogs/scrawl/images/undo.png b/woniu2/resource/ue/dialogs/scrawl/images/undo.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/images/undo.png
rename to woniu2/resource/ue/dialogs/scrawl/images/undo.png
diff --git a/woniubiji/static/ue/dialogs/scrawl/images/undoH.png b/woniu2/resource/ue/dialogs/scrawl/images/undoH.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/images/undoH.png
rename to woniu2/resource/ue/dialogs/scrawl/images/undoH.png
diff --git a/woniubiji/static/ue/dialogs/scrawl/scrawl.css b/woniu2/resource/ue/dialogs/scrawl/scrawl.css
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/scrawl.css
rename to woniu2/resource/ue/dialogs/scrawl/scrawl.css
diff --git a/woniubiji/static/ue/dialogs/scrawl/scrawl.html b/woniu2/resource/ue/dialogs/scrawl/scrawl.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/scrawl.html
rename to woniu2/resource/ue/dialogs/scrawl/scrawl.html
diff --git a/woniubiji/static/ue/dialogs/scrawl/scrawl.js b/woniu2/resource/ue/dialogs/scrawl/scrawl.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/scrawl/scrawl.js
rename to woniu2/resource/ue/dialogs/scrawl/scrawl.js
diff --git a/woniubiji/static/ue/dialogs/searchreplace/searchreplace.html b/woniu2/resource/ue/dialogs/searchreplace/searchreplace.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/searchreplace/searchreplace.html
rename to woniu2/resource/ue/dialogs/searchreplace/searchreplace.html
diff --git a/woniubiji/static/ue/dialogs/searchreplace/searchreplace.js b/woniu2/resource/ue/dialogs/searchreplace/searchreplace.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/searchreplace/searchreplace.js
rename to woniu2/resource/ue/dialogs/searchreplace/searchreplace.js
diff --git a/woniubiji/static/ue/dialogs/snapscreen/snapscreen.html b/woniu2/resource/ue/dialogs/snapscreen/snapscreen.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/snapscreen/snapscreen.html
rename to woniu2/resource/ue/dialogs/snapscreen/snapscreen.html
diff --git a/woniubiji/static/ue/dialogs/spechars/spechars.html b/woniu2/resource/ue/dialogs/spechars/spechars.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/spechars/spechars.html
rename to woniu2/resource/ue/dialogs/spechars/spechars.html
diff --git a/woniubiji/static/ue/dialogs/spechars/spechars.js b/woniu2/resource/ue/dialogs/spechars/spechars.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/spechars/spechars.js
rename to woniu2/resource/ue/dialogs/spechars/spechars.js
diff --git a/woniubiji/static/ue/dialogs/table/dragicon.png b/woniu2/resource/ue/dialogs/table/dragicon.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/table/dragicon.png
rename to woniu2/resource/ue/dialogs/table/dragicon.png
diff --git a/woniubiji/static/ue/dialogs/table/edittable.css b/woniu2/resource/ue/dialogs/table/edittable.css
similarity index 100%
rename from woniubiji/static/ue/dialogs/table/edittable.css
rename to woniu2/resource/ue/dialogs/table/edittable.css
diff --git a/woniubiji/static/ue/dialogs/table/edittable.html b/woniu2/resource/ue/dialogs/table/edittable.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/table/edittable.html
rename to woniu2/resource/ue/dialogs/table/edittable.html
diff --git a/woniubiji/static/ue/dialogs/table/edittable.js b/woniu2/resource/ue/dialogs/table/edittable.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/table/edittable.js
rename to woniu2/resource/ue/dialogs/table/edittable.js
diff --git a/woniubiji/static/ue/dialogs/table/edittd.html b/woniu2/resource/ue/dialogs/table/edittd.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/table/edittd.html
rename to woniu2/resource/ue/dialogs/table/edittd.html
diff --git a/woniubiji/static/ue/dialogs/table/edittip.html b/woniu2/resource/ue/dialogs/table/edittip.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/table/edittip.html
rename to woniu2/resource/ue/dialogs/table/edittip.html
diff --git a/woniubiji/static/ue/dialogs/template/config.js b/woniu2/resource/ue/dialogs/template/config.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/template/config.js
rename to woniu2/resource/ue/dialogs/template/config.js
diff --git a/woniubiji/static/ue/dialogs/template/images/bg.gif b/woniu2/resource/ue/dialogs/template/images/bg.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/template/images/bg.gif
rename to woniu2/resource/ue/dialogs/template/images/bg.gif
diff --git a/woniubiji/static/ue/dialogs/template/images/pre0.png b/woniu2/resource/ue/dialogs/template/images/pre0.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/template/images/pre0.png
rename to woniu2/resource/ue/dialogs/template/images/pre0.png
diff --git a/woniubiji/static/ue/dialogs/template/images/pre1.png b/woniu2/resource/ue/dialogs/template/images/pre1.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/template/images/pre1.png
rename to woniu2/resource/ue/dialogs/template/images/pre1.png
diff --git a/woniubiji/static/ue/dialogs/template/images/pre2.png b/woniu2/resource/ue/dialogs/template/images/pre2.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/template/images/pre2.png
rename to woniu2/resource/ue/dialogs/template/images/pre2.png
diff --git a/woniubiji/static/ue/dialogs/template/images/pre3.png b/woniu2/resource/ue/dialogs/template/images/pre3.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/template/images/pre3.png
rename to woniu2/resource/ue/dialogs/template/images/pre3.png
diff --git a/woniubiji/static/ue/dialogs/template/images/pre4.png b/woniu2/resource/ue/dialogs/template/images/pre4.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/template/images/pre4.png
rename to woniu2/resource/ue/dialogs/template/images/pre4.png
diff --git a/woniubiji/static/ue/dialogs/template/template.css b/woniu2/resource/ue/dialogs/template/template.css
similarity index 100%
rename from woniubiji/static/ue/dialogs/template/template.css
rename to woniu2/resource/ue/dialogs/template/template.css
diff --git a/woniubiji/static/ue/dialogs/template/template.html b/woniu2/resource/ue/dialogs/template/template.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/template/template.html
rename to woniu2/resource/ue/dialogs/template/template.html
diff --git a/woniubiji/static/ue/dialogs/template/template.js b/woniu2/resource/ue/dialogs/template/template.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/template/template.js
rename to woniu2/resource/ue/dialogs/template/template.js
diff --git a/woniubiji/static/ue/dialogs/video/images/bg.png b/woniu2/resource/ue/dialogs/video/images/bg.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/images/bg.png
rename to woniu2/resource/ue/dialogs/video/images/bg.png
diff --git a/woniubiji/static/ue/dialogs/video/images/center_focus.jpg b/woniu2/resource/ue/dialogs/video/images/center_focus.jpg
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/images/center_focus.jpg
rename to woniu2/resource/ue/dialogs/video/images/center_focus.jpg
diff --git a/woniubiji/static/ue/dialogs/video/images/file-icons.gif b/woniu2/resource/ue/dialogs/video/images/file-icons.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/images/file-icons.gif
rename to woniu2/resource/ue/dialogs/video/images/file-icons.gif
diff --git a/woniubiji/static/ue/dialogs/video/images/file-icons.png b/woniu2/resource/ue/dialogs/video/images/file-icons.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/images/file-icons.png
rename to woniu2/resource/ue/dialogs/video/images/file-icons.png
diff --git a/woniubiji/static/ue/dialogs/video/images/icons.gif b/woniu2/resource/ue/dialogs/video/images/icons.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/images/icons.gif
rename to woniu2/resource/ue/dialogs/video/images/icons.gif
diff --git a/woniubiji/static/ue/dialogs/video/images/icons.png b/woniu2/resource/ue/dialogs/video/images/icons.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/images/icons.png
rename to woniu2/resource/ue/dialogs/video/images/icons.png
diff --git a/woniubiji/static/ue/dialogs/video/images/image.png b/woniu2/resource/ue/dialogs/video/images/image.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/images/image.png
rename to woniu2/resource/ue/dialogs/video/images/image.png
diff --git a/woniubiji/static/ue/dialogs/video/images/left_focus.jpg b/woniu2/resource/ue/dialogs/video/images/left_focus.jpg
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/images/left_focus.jpg
rename to woniu2/resource/ue/dialogs/video/images/left_focus.jpg
diff --git a/woniubiji/static/ue/dialogs/video/images/none_focus.jpg b/woniu2/resource/ue/dialogs/video/images/none_focus.jpg
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/images/none_focus.jpg
rename to woniu2/resource/ue/dialogs/video/images/none_focus.jpg
diff --git a/woniubiji/static/ue/dialogs/video/images/progress.png b/woniu2/resource/ue/dialogs/video/images/progress.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/images/progress.png
rename to woniu2/resource/ue/dialogs/video/images/progress.png
diff --git a/woniubiji/static/ue/dialogs/video/images/right_focus.jpg b/woniu2/resource/ue/dialogs/video/images/right_focus.jpg
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/images/right_focus.jpg
rename to woniu2/resource/ue/dialogs/video/images/right_focus.jpg
diff --git a/woniubiji/static/ue/dialogs/video/images/success.gif b/woniu2/resource/ue/dialogs/video/images/success.gif
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/images/success.gif
rename to woniu2/resource/ue/dialogs/video/images/success.gif
diff --git a/woniubiji/static/ue/dialogs/video/images/success.png b/woniu2/resource/ue/dialogs/video/images/success.png
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/images/success.png
rename to woniu2/resource/ue/dialogs/video/images/success.png
diff --git a/woniubiji/static/ue/dialogs/video/video.css b/woniu2/resource/ue/dialogs/video/video.css
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/video.css
rename to woniu2/resource/ue/dialogs/video/video.css
diff --git a/woniubiji/static/ue/dialogs/video/video.html b/woniu2/resource/ue/dialogs/video/video.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/video.html
rename to woniu2/resource/ue/dialogs/video/video.html
diff --git a/woniubiji/static/ue/dialogs/video/video.js b/woniu2/resource/ue/dialogs/video/video.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/video/video.js
rename to woniu2/resource/ue/dialogs/video/video.js
diff --git a/woniubiji/static/ue/dialogs/webapp/webapp.html b/woniu2/resource/ue/dialogs/webapp/webapp.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/webapp/webapp.html
rename to woniu2/resource/ue/dialogs/webapp/webapp.html
diff --git a/woniubiji/static/ue/dialogs/wordimage/fClipboard_ueditor.swf b/woniu2/resource/ue/dialogs/wordimage/fClipboard_ueditor.swf
similarity index 100%
rename from woniubiji/static/ue/dialogs/wordimage/fClipboard_ueditor.swf
rename to woniu2/resource/ue/dialogs/wordimage/fClipboard_ueditor.swf
diff --git a/woniubiji/static/ue/dialogs/wordimage/imageUploader.swf b/woniu2/resource/ue/dialogs/wordimage/imageUploader.swf
similarity index 100%
rename from woniubiji/static/ue/dialogs/wordimage/imageUploader.swf
rename to woniu2/resource/ue/dialogs/wordimage/imageUploader.swf
diff --git a/woniubiji/static/ue/dialogs/wordimage/tangram.js b/woniu2/resource/ue/dialogs/wordimage/tangram.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/wordimage/tangram.js
rename to woniu2/resource/ue/dialogs/wordimage/tangram.js
diff --git a/woniubiji/static/ue/dialogs/wordimage/wordimage.html b/woniu2/resource/ue/dialogs/wordimage/wordimage.html
similarity index 100%
rename from woniubiji/static/ue/dialogs/wordimage/wordimage.html
rename to woniu2/resource/ue/dialogs/wordimage/wordimage.html
diff --git a/woniubiji/static/ue/dialogs/wordimage/wordimage.js b/woniu2/resource/ue/dialogs/wordimage/wordimage.js
similarity index 100%
rename from woniubiji/static/ue/dialogs/wordimage/wordimage.js
rename to woniu2/resource/ue/dialogs/wordimage/wordimage.js
diff --git a/woniubiji/static/ue/lang/en/en.js b/woniu2/resource/ue/lang/en/en.js
similarity index 100%
rename from woniubiji/static/ue/lang/en/en.js
rename to woniu2/resource/ue/lang/en/en.js
diff --git a/woniubiji/static/ue/lang/en/images/addimage.png b/woniu2/resource/ue/lang/en/images/addimage.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/addimage.png
rename to woniu2/resource/ue/lang/en/images/addimage.png
diff --git a/woniubiji/static/ue/lang/en/images/alldeletebtnhoverskin.png b/woniu2/resource/ue/lang/en/images/alldeletebtnhoverskin.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/alldeletebtnhoverskin.png
rename to woniu2/resource/ue/lang/en/images/alldeletebtnhoverskin.png
diff --git a/woniubiji/static/ue/lang/en/images/alldeletebtnupskin.png b/woniu2/resource/ue/lang/en/images/alldeletebtnupskin.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/alldeletebtnupskin.png
rename to woniu2/resource/ue/lang/en/images/alldeletebtnupskin.png
diff --git a/woniubiji/static/ue/lang/en/images/background.png b/woniu2/resource/ue/lang/en/images/background.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/background.png
rename to woniu2/resource/ue/lang/en/images/background.png
diff --git a/woniubiji/static/ue/lang/en/images/button.png b/woniu2/resource/ue/lang/en/images/button.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/button.png
rename to woniu2/resource/ue/lang/en/images/button.png
diff --git a/woniubiji/static/ue/lang/en/images/copy.png b/woniu2/resource/ue/lang/en/images/copy.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/copy.png
rename to woniu2/resource/ue/lang/en/images/copy.png
diff --git a/woniubiji/static/ue/lang/en/images/deletedisable.png b/woniu2/resource/ue/lang/en/images/deletedisable.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/deletedisable.png
rename to woniu2/resource/ue/lang/en/images/deletedisable.png
diff --git a/woniubiji/static/ue/lang/en/images/deleteenable.png b/woniu2/resource/ue/lang/en/images/deleteenable.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/deleteenable.png
rename to woniu2/resource/ue/lang/en/images/deleteenable.png
diff --git a/woniubiji/static/ue/lang/en/images/listbackground.png b/woniu2/resource/ue/lang/en/images/listbackground.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/listbackground.png
rename to woniu2/resource/ue/lang/en/images/listbackground.png
diff --git a/woniubiji/static/ue/lang/en/images/localimage.png b/woniu2/resource/ue/lang/en/images/localimage.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/localimage.png
rename to woniu2/resource/ue/lang/en/images/localimage.png
diff --git a/woniubiji/static/ue/lang/en/images/music.png b/woniu2/resource/ue/lang/en/images/music.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/music.png
rename to woniu2/resource/ue/lang/en/images/music.png
diff --git a/woniubiji/static/ue/lang/en/images/rotateleftdisable.png b/woniu2/resource/ue/lang/en/images/rotateleftdisable.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/rotateleftdisable.png
rename to woniu2/resource/ue/lang/en/images/rotateleftdisable.png
diff --git a/woniubiji/static/ue/lang/en/images/rotateleftenable.png b/woniu2/resource/ue/lang/en/images/rotateleftenable.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/rotateleftenable.png
rename to woniu2/resource/ue/lang/en/images/rotateleftenable.png
diff --git a/woniubiji/static/ue/lang/en/images/rotaterightdisable.png b/woniu2/resource/ue/lang/en/images/rotaterightdisable.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/rotaterightdisable.png
rename to woniu2/resource/ue/lang/en/images/rotaterightdisable.png
diff --git a/woniubiji/static/ue/lang/en/images/rotaterightenable.png b/woniu2/resource/ue/lang/en/images/rotaterightenable.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/rotaterightenable.png
rename to woniu2/resource/ue/lang/en/images/rotaterightenable.png
diff --git a/woniubiji/static/ue/lang/en/images/upload.png b/woniu2/resource/ue/lang/en/images/upload.png
similarity index 100%
rename from woniubiji/static/ue/lang/en/images/upload.png
rename to woniu2/resource/ue/lang/en/images/upload.png
diff --git a/woniubiji/static/ue/lang/zh-cn/images/copy.png b/woniu2/resource/ue/lang/zh-cn/images/copy.png
similarity index 100%
rename from woniubiji/static/ue/lang/zh-cn/images/copy.png
rename to woniu2/resource/ue/lang/zh-cn/images/copy.png
diff --git a/woniubiji/static/ue/lang/zh-cn/images/localimage.png b/woniu2/resource/ue/lang/zh-cn/images/localimage.png
similarity index 100%
rename from woniubiji/static/ue/lang/zh-cn/images/localimage.png
rename to woniu2/resource/ue/lang/zh-cn/images/localimage.png
diff --git a/woniubiji/static/ue/lang/zh-cn/images/music.png b/woniu2/resource/ue/lang/zh-cn/images/music.png
similarity index 100%
rename from woniubiji/static/ue/lang/zh-cn/images/music.png
rename to woniu2/resource/ue/lang/zh-cn/images/music.png
diff --git a/woniubiji/static/ue/lang/zh-cn/images/upload.png b/woniu2/resource/ue/lang/zh-cn/images/upload.png
similarity index 100%
rename from woniubiji/static/ue/lang/zh-cn/images/upload.png
rename to woniu2/resource/ue/lang/zh-cn/images/upload.png
diff --git a/woniubiji/static/ue/lang/zh-cn/zh-cn.js b/woniu2/resource/ue/lang/zh-cn/zh-cn.js
similarity index 100%
rename from woniubiji/static/ue/lang/zh-cn/zh-cn.js
rename to woniu2/resource/ue/lang/zh-cn/zh-cn.js
diff --git a/woniubiji/static/ue/themes/default/css/ueditor.css b/woniu2/resource/ue/themes/default/css/ueditor.css
similarity index 100%
rename from woniubiji/static/ue/themes/default/css/ueditor.css
rename to woniu2/resource/ue/themes/default/css/ueditor.css
diff --git a/woniubiji/static/ue/themes/default/css/ueditor.min.css b/woniu2/resource/ue/themes/default/css/ueditor.min.css
similarity index 100%
rename from woniubiji/static/ue/themes/default/css/ueditor.min.css
rename to woniu2/resource/ue/themes/default/css/ueditor.min.css
diff --git a/woniubiji/static/ue/themes/default/dialogbase.css b/woniu2/resource/ue/themes/default/dialogbase.css
similarity index 100%
rename from woniubiji/static/ue/themes/default/dialogbase.css
rename to woniu2/resource/ue/themes/default/dialogbase.css
diff --git a/woniubiji/static/ue/themes/default/images/anchor.gif b/woniu2/resource/ue/themes/default/images/anchor.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/anchor.gif
rename to woniu2/resource/ue/themes/default/images/anchor.gif
diff --git a/woniubiji/static/ue/themes/default/images/arrow.png b/woniu2/resource/ue/themes/default/images/arrow.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/arrow.png
rename to woniu2/resource/ue/themes/default/images/arrow.png
diff --git a/woniubiji/static/ue/themes/default/images/arrow_down.png b/woniu2/resource/ue/themes/default/images/arrow_down.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/arrow_down.png
rename to woniu2/resource/ue/themes/default/images/arrow_down.png
diff --git a/woniubiji/static/ue/themes/default/images/arrow_up.png b/woniu2/resource/ue/themes/default/images/arrow_up.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/arrow_up.png
rename to woniu2/resource/ue/themes/default/images/arrow_up.png
diff --git a/woniubiji/static/ue/themes/default/images/button-bg.gif b/woniu2/resource/ue/themes/default/images/button-bg.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/button-bg.gif
rename to woniu2/resource/ue/themes/default/images/button-bg.gif
diff --git a/woniubiji/static/ue/themes/default/images/cancelbutton.gif b/woniu2/resource/ue/themes/default/images/cancelbutton.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/cancelbutton.gif
rename to woniu2/resource/ue/themes/default/images/cancelbutton.gif
diff --git a/woniubiji/static/ue/themes/default/images/charts.png b/woniu2/resource/ue/themes/default/images/charts.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/charts.png
rename to woniu2/resource/ue/themes/default/images/charts.png
diff --git a/woniubiji/static/ue/themes/default/images/cursor_h.gif b/woniu2/resource/ue/themes/default/images/cursor_h.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/cursor_h.gif
rename to woniu2/resource/ue/themes/default/images/cursor_h.gif
diff --git a/woniubiji/static/ue/themes/default/images/cursor_h.png b/woniu2/resource/ue/themes/default/images/cursor_h.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/cursor_h.png
rename to woniu2/resource/ue/themes/default/images/cursor_h.png
diff --git a/woniubiji/static/ue/themes/default/images/cursor_v.gif b/woniu2/resource/ue/themes/default/images/cursor_v.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/cursor_v.gif
rename to woniu2/resource/ue/themes/default/images/cursor_v.gif
diff --git a/woniubiji/static/ue/themes/default/images/cursor_v.png b/woniu2/resource/ue/themes/default/images/cursor_v.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/cursor_v.png
rename to woniu2/resource/ue/themes/default/images/cursor_v.png
diff --git a/woniubiji/static/ue/themes/default/images/dialog-title-bg.png b/woniu2/resource/ue/themes/default/images/dialog-title-bg.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/dialog-title-bg.png
rename to woniu2/resource/ue/themes/default/images/dialog-title-bg.png
diff --git a/woniubiji/static/ue/themes/default/images/filescan.png b/woniu2/resource/ue/themes/default/images/filescan.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/filescan.png
rename to woniu2/resource/ue/themes/default/images/filescan.png
diff --git a/woniubiji/static/ue/themes/default/images/highlighted.gif b/woniu2/resource/ue/themes/default/images/highlighted.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/highlighted.gif
rename to woniu2/resource/ue/themes/default/images/highlighted.gif
diff --git a/woniubiji/static/ue/themes/default/images/icons-all.gif b/woniu2/resource/ue/themes/default/images/icons-all.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/icons-all.gif
rename to woniu2/resource/ue/themes/default/images/icons-all.gif
diff --git a/woniubiji/static/ue/themes/default/images/icons.gif b/woniu2/resource/ue/themes/default/images/icons.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/icons.gif
rename to woniu2/resource/ue/themes/default/images/icons.gif
diff --git a/woniubiji/static/ue/themes/default/images/icons.png b/woniu2/resource/ue/themes/default/images/icons.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/icons.png
rename to woniu2/resource/ue/themes/default/images/icons.png
diff --git a/woniubiji/static/ue/themes/default/images/loaderror.png b/woniu2/resource/ue/themes/default/images/loaderror.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/loaderror.png
rename to woniu2/resource/ue/themes/default/images/loaderror.png
diff --git a/woniubiji/static/ue/themes/default/images/loading.gif b/woniu2/resource/ue/themes/default/images/loading.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/loading.gif
rename to woniu2/resource/ue/themes/default/images/loading.gif
diff --git a/woniubiji/static/ue/themes/default/images/lock.gif b/woniu2/resource/ue/themes/default/images/lock.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/lock.gif
rename to woniu2/resource/ue/themes/default/images/lock.gif
diff --git a/woniubiji/static/ue/themes/default/images/neweditor-tab-bg.png b/woniu2/resource/ue/themes/default/images/neweditor-tab-bg.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/neweditor-tab-bg.png
rename to woniu2/resource/ue/themes/default/images/neweditor-tab-bg.png
diff --git a/woniubiji/static/ue/themes/default/images/pagebreak.gif b/woniu2/resource/ue/themes/default/images/pagebreak.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/pagebreak.gif
rename to woniu2/resource/ue/themes/default/images/pagebreak.gif
diff --git a/woniubiji/static/ue/themes/default/images/scale.png b/woniu2/resource/ue/themes/default/images/scale.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/scale.png
rename to woniu2/resource/ue/themes/default/images/scale.png
diff --git a/woniubiji/static/ue/themes/default/images/sortable.png b/woniu2/resource/ue/themes/default/images/sortable.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/sortable.png
rename to woniu2/resource/ue/themes/default/images/sortable.png
diff --git a/woniubiji/static/ue/themes/default/images/spacer.gif b/woniu2/resource/ue/themes/default/images/spacer.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/spacer.gif
rename to woniu2/resource/ue/themes/default/images/spacer.gif
diff --git a/woniubiji/static/ue/themes/default/images/sparator_v.png b/woniu2/resource/ue/themes/default/images/sparator_v.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/sparator_v.png
rename to woniu2/resource/ue/themes/default/images/sparator_v.png
diff --git a/woniubiji/static/ue/themes/default/images/table-cell-align.png b/woniu2/resource/ue/themes/default/images/table-cell-align.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/table-cell-align.png
rename to woniu2/resource/ue/themes/default/images/table-cell-align.png
diff --git a/woniubiji/static/ue/themes/default/images/tangram-colorpicker.png b/woniu2/resource/ue/themes/default/images/tangram-colorpicker.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/tangram-colorpicker.png
rename to woniu2/resource/ue/themes/default/images/tangram-colorpicker.png
diff --git a/woniubiji/static/ue/themes/default/images/toolbar_bg.png b/woniu2/resource/ue/themes/default/images/toolbar_bg.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/toolbar_bg.png
rename to woniu2/resource/ue/themes/default/images/toolbar_bg.png
diff --git a/woniubiji/static/ue/themes/default/images/unhighlighted.gif b/woniu2/resource/ue/themes/default/images/unhighlighted.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/unhighlighted.gif
rename to woniu2/resource/ue/themes/default/images/unhighlighted.gif
diff --git a/woniubiji/static/ue/themes/default/images/upload.png b/woniu2/resource/ue/themes/default/images/upload.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/upload.png
rename to woniu2/resource/ue/themes/default/images/upload.png
diff --git a/woniubiji/static/ue/themes/default/images/videologo.gif b/woniu2/resource/ue/themes/default/images/videologo.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/videologo.gif
rename to woniu2/resource/ue/themes/default/images/videologo.gif
diff --git a/woniubiji/static/ue/themes/default/images/word.gif b/woniu2/resource/ue/themes/default/images/word.gif
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/word.gif
rename to woniu2/resource/ue/themes/default/images/word.gif
diff --git a/woniubiji/static/ue/themes/default/images/wordpaste.png b/woniu2/resource/ue/themes/default/images/wordpaste.png
similarity index 100%
rename from woniubiji/static/ue/themes/default/images/wordpaste.png
rename to woniu2/resource/ue/themes/default/images/wordpaste.png
diff --git a/woniubiji/static/ue/themes/iframe.css b/woniu2/resource/ue/themes/iframe.css
similarity index 100%
rename from woniubiji/static/ue/themes/iframe.css
rename to woniu2/resource/ue/themes/iframe.css
diff --git a/woniubiji/static/ue/third-party/SyntaxHighlighter/shCore.js b/woniu2/resource/ue/third-party/SyntaxHighlighter/shCore.js
similarity index 100%
rename from woniubiji/static/ue/third-party/SyntaxHighlighter/shCore.js
rename to woniu2/resource/ue/third-party/SyntaxHighlighter/shCore.js
diff --git a/woniubiji/static/ue/third-party/SyntaxHighlighter/shCoreDefault.css b/woniu2/resource/ue/third-party/SyntaxHighlighter/shCoreDefault.css
similarity index 100%
rename from woniubiji/static/ue/third-party/SyntaxHighlighter/shCoreDefault.css
rename to woniu2/resource/ue/third-party/SyntaxHighlighter/shCoreDefault.css
diff --git a/woniubiji/static/ue/third-party/codemirror/codemirror.css b/woniu2/resource/ue/third-party/codemirror/codemirror.css
similarity index 100%
rename from woniubiji/static/ue/third-party/codemirror/codemirror.css
rename to woniu2/resource/ue/third-party/codemirror/codemirror.css
diff --git a/woniubiji/static/ue/third-party/codemirror/codemirror.js b/woniu2/resource/ue/third-party/codemirror/codemirror.js
similarity index 100%
rename from woniubiji/static/ue/third-party/codemirror/codemirror.js
rename to woniu2/resource/ue/third-party/codemirror/codemirror.js
diff --git a/woniubiji/static/ue/third-party/highcharts/adapters/mootools-adapter.js b/woniu2/resource/ue/third-party/highcharts/adapters/mootools-adapter.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/adapters/mootools-adapter.js
rename to woniu2/resource/ue/third-party/highcharts/adapters/mootools-adapter.js
diff --git a/woniubiji/static/ue/third-party/highcharts/adapters/mootools-adapter.src.js b/woniu2/resource/ue/third-party/highcharts/adapters/mootools-adapter.src.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/adapters/mootools-adapter.src.js
rename to woniu2/resource/ue/third-party/highcharts/adapters/mootools-adapter.src.js
diff --git a/woniubiji/static/ue/third-party/highcharts/adapters/prototype-adapter.js b/woniu2/resource/ue/third-party/highcharts/adapters/prototype-adapter.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/adapters/prototype-adapter.js
rename to woniu2/resource/ue/third-party/highcharts/adapters/prototype-adapter.js
diff --git a/woniubiji/static/ue/third-party/highcharts/adapters/prototype-adapter.src.js b/woniu2/resource/ue/third-party/highcharts/adapters/prototype-adapter.src.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/adapters/prototype-adapter.src.js
rename to woniu2/resource/ue/third-party/highcharts/adapters/prototype-adapter.src.js
diff --git a/woniubiji/static/ue/third-party/highcharts/adapters/standalone-framework.js b/woniu2/resource/ue/third-party/highcharts/adapters/standalone-framework.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/adapters/standalone-framework.js
rename to woniu2/resource/ue/third-party/highcharts/adapters/standalone-framework.js
diff --git a/woniubiji/static/ue/third-party/highcharts/adapters/standalone-framework.src.js b/woniu2/resource/ue/third-party/highcharts/adapters/standalone-framework.src.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/adapters/standalone-framework.src.js
rename to woniu2/resource/ue/third-party/highcharts/adapters/standalone-framework.src.js
diff --git a/woniubiji/static/ue/third-party/highcharts/highcharts-more.js b/woniu2/resource/ue/third-party/highcharts/highcharts-more.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/highcharts-more.js
rename to woniu2/resource/ue/third-party/highcharts/highcharts-more.js
diff --git a/woniubiji/static/ue/third-party/highcharts/highcharts-more.src.js b/woniu2/resource/ue/third-party/highcharts/highcharts-more.src.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/highcharts-more.src.js
rename to woniu2/resource/ue/third-party/highcharts/highcharts-more.src.js
diff --git a/woniubiji/static/ue/third-party/highcharts/highcharts.js b/woniu2/resource/ue/third-party/highcharts/highcharts.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/highcharts.js
rename to woniu2/resource/ue/third-party/highcharts/highcharts.js
diff --git a/woniubiji/static/ue/third-party/highcharts/highcharts.src.js b/woniu2/resource/ue/third-party/highcharts/highcharts.src.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/highcharts.src.js
rename to woniu2/resource/ue/third-party/highcharts/highcharts.src.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/annotations.js b/woniu2/resource/ue/third-party/highcharts/modules/annotations.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/annotations.js
rename to woniu2/resource/ue/third-party/highcharts/modules/annotations.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/annotations.src.js b/woniu2/resource/ue/third-party/highcharts/modules/annotations.src.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/annotations.src.js
rename to woniu2/resource/ue/third-party/highcharts/modules/annotations.src.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/canvas-tools.js b/woniu2/resource/ue/third-party/highcharts/modules/canvas-tools.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/canvas-tools.js
rename to woniu2/resource/ue/third-party/highcharts/modules/canvas-tools.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/canvas-tools.src.js b/woniu2/resource/ue/third-party/highcharts/modules/canvas-tools.src.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/canvas-tools.src.js
rename to woniu2/resource/ue/third-party/highcharts/modules/canvas-tools.src.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/data.js b/woniu2/resource/ue/third-party/highcharts/modules/data.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/data.js
rename to woniu2/resource/ue/third-party/highcharts/modules/data.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/data.src.js b/woniu2/resource/ue/third-party/highcharts/modules/data.src.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/data.src.js
rename to woniu2/resource/ue/third-party/highcharts/modules/data.src.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/drilldown.js b/woniu2/resource/ue/third-party/highcharts/modules/drilldown.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/drilldown.js
rename to woniu2/resource/ue/third-party/highcharts/modules/drilldown.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/drilldown.src.js b/woniu2/resource/ue/third-party/highcharts/modules/drilldown.src.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/drilldown.src.js
rename to woniu2/resource/ue/third-party/highcharts/modules/drilldown.src.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/exporting.js b/woniu2/resource/ue/third-party/highcharts/modules/exporting.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/exporting.js
rename to woniu2/resource/ue/third-party/highcharts/modules/exporting.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/exporting.src.js b/woniu2/resource/ue/third-party/highcharts/modules/exporting.src.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/exporting.src.js
rename to woniu2/resource/ue/third-party/highcharts/modules/exporting.src.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/funnel.js b/woniu2/resource/ue/third-party/highcharts/modules/funnel.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/funnel.js
rename to woniu2/resource/ue/third-party/highcharts/modules/funnel.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/funnel.src.js b/woniu2/resource/ue/third-party/highcharts/modules/funnel.src.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/funnel.src.js
rename to woniu2/resource/ue/third-party/highcharts/modules/funnel.src.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/heatmap.js b/woniu2/resource/ue/third-party/highcharts/modules/heatmap.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/heatmap.js
rename to woniu2/resource/ue/third-party/highcharts/modules/heatmap.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/heatmap.src.js b/woniu2/resource/ue/third-party/highcharts/modules/heatmap.src.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/heatmap.src.js
rename to woniu2/resource/ue/third-party/highcharts/modules/heatmap.src.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/map.js b/woniu2/resource/ue/third-party/highcharts/modules/map.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/map.js
rename to woniu2/resource/ue/third-party/highcharts/modules/map.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/map.src.js b/woniu2/resource/ue/third-party/highcharts/modules/map.src.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/map.src.js
rename to woniu2/resource/ue/third-party/highcharts/modules/map.src.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/no-data-to-display.js b/woniu2/resource/ue/third-party/highcharts/modules/no-data-to-display.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/no-data-to-display.js
rename to woniu2/resource/ue/third-party/highcharts/modules/no-data-to-display.js
diff --git a/woniubiji/static/ue/third-party/highcharts/modules/no-data-to-display.src.js b/woniu2/resource/ue/third-party/highcharts/modules/no-data-to-display.src.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/modules/no-data-to-display.src.js
rename to woniu2/resource/ue/third-party/highcharts/modules/no-data-to-display.src.js
diff --git a/woniubiji/static/ue/third-party/highcharts/themes/dark-blue.js b/woniu2/resource/ue/third-party/highcharts/themes/dark-blue.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/themes/dark-blue.js
rename to woniu2/resource/ue/third-party/highcharts/themes/dark-blue.js
diff --git a/woniubiji/static/ue/third-party/highcharts/themes/dark-green.js b/woniu2/resource/ue/third-party/highcharts/themes/dark-green.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/themes/dark-green.js
rename to woniu2/resource/ue/third-party/highcharts/themes/dark-green.js
diff --git a/woniubiji/static/ue/third-party/highcharts/themes/gray.js b/woniu2/resource/ue/third-party/highcharts/themes/gray.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/themes/gray.js
rename to woniu2/resource/ue/third-party/highcharts/themes/gray.js
diff --git a/woniubiji/static/ue/third-party/highcharts/themes/grid.js b/woniu2/resource/ue/third-party/highcharts/themes/grid.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/themes/grid.js
rename to woniu2/resource/ue/third-party/highcharts/themes/grid.js
diff --git a/woniubiji/static/ue/third-party/highcharts/themes/skies.js b/woniu2/resource/ue/third-party/highcharts/themes/skies.js
similarity index 100%
rename from woniubiji/static/ue/third-party/highcharts/themes/skies.js
rename to woniu2/resource/ue/third-party/highcharts/themes/skies.js
diff --git a/woniubiji/static/ue/third-party/jquery-1.10.2.js b/woniu2/resource/ue/third-party/jquery-1.10.2.js
similarity index 100%
rename from woniubiji/static/ue/third-party/jquery-1.10.2.js
rename to woniu2/resource/ue/third-party/jquery-1.10.2.js
diff --git a/woniubiji/static/ue/third-party/jquery-1.10.2.min.js b/woniu2/resource/ue/third-party/jquery-1.10.2.min.js
similarity index 100%
rename from woniubiji/static/ue/third-party/jquery-1.10.2.min.js
rename to woniu2/resource/ue/third-party/jquery-1.10.2.min.js
diff --git a/woniubiji/static/ue/third-party/jquery-1.10.2.min.map b/woniu2/resource/ue/third-party/jquery-1.10.2.min.map
similarity index 100%
rename from woniubiji/static/ue/third-party/jquery-1.10.2.min.map
rename to woniu2/resource/ue/third-party/jquery-1.10.2.min.map
diff --git a/woniubiji/static/ue/third-party/snapscreen/UEditorSnapscreen.exe b/woniu2/resource/ue/third-party/snapscreen/UEditorSnapscreen.exe
similarity index 100%
rename from woniubiji/static/ue/third-party/snapscreen/UEditorSnapscreen.exe
rename to woniu2/resource/ue/third-party/snapscreen/UEditorSnapscreen.exe
diff --git a/woniubiji/static/ue/third-party/video-js/font/vjs.eot b/woniu2/resource/ue/third-party/video-js/font/vjs.eot
similarity index 100%
rename from woniubiji/static/ue/third-party/video-js/font/vjs.eot
rename to woniu2/resource/ue/third-party/video-js/font/vjs.eot
diff --git a/woniubiji/static/ue/third-party/video-js/font/vjs.svg b/woniu2/resource/ue/third-party/video-js/font/vjs.svg
similarity index 100%
rename from woniubiji/static/ue/third-party/video-js/font/vjs.svg
rename to woniu2/resource/ue/third-party/video-js/font/vjs.svg
diff --git a/woniubiji/static/ue/third-party/video-js/font/vjs.ttf b/woniu2/resource/ue/third-party/video-js/font/vjs.ttf
similarity index 100%
rename from woniubiji/static/ue/third-party/video-js/font/vjs.ttf
rename to woniu2/resource/ue/third-party/video-js/font/vjs.ttf
diff --git a/woniubiji/static/ue/third-party/video-js/font/vjs.woff b/woniu2/resource/ue/third-party/video-js/font/vjs.woff
similarity index 100%
rename from woniubiji/static/ue/third-party/video-js/font/vjs.woff
rename to woniu2/resource/ue/third-party/video-js/font/vjs.woff
diff --git a/woniubiji/static/ue/third-party/video-js/video-js.css b/woniu2/resource/ue/third-party/video-js/video-js.css
similarity index 100%
rename from woniubiji/static/ue/third-party/video-js/video-js.css
rename to woniu2/resource/ue/third-party/video-js/video-js.css
diff --git a/woniubiji/static/ue/third-party/video-js/video-js.min.css b/woniu2/resource/ue/third-party/video-js/video-js.min.css
similarity index 100%
rename from woniubiji/static/ue/third-party/video-js/video-js.min.css
rename to woniu2/resource/ue/third-party/video-js/video-js.min.css
diff --git a/woniubiji/static/ue/third-party/video-js/video-js.swf b/woniu2/resource/ue/third-party/video-js/video-js.swf
similarity index 100%
rename from woniubiji/static/ue/third-party/video-js/video-js.swf
rename to woniu2/resource/ue/third-party/video-js/video-js.swf
diff --git a/woniubiji/static/ue/third-party/video-js/video.dev.js b/woniu2/resource/ue/third-party/video-js/video.dev.js
similarity index 100%
rename from woniubiji/static/ue/third-party/video-js/video.dev.js
rename to woniu2/resource/ue/third-party/video-js/video.dev.js
diff --git a/woniubiji/static/ue/third-party/video-js/video.js b/woniu2/resource/ue/third-party/video-js/video.js
similarity index 100%
rename from woniubiji/static/ue/third-party/video-js/video.js
rename to woniu2/resource/ue/third-party/video-js/video.js
diff --git a/woniubiji/static/ue/third-party/webuploader/Uploader.swf b/woniu2/resource/ue/third-party/webuploader/Uploader.swf
similarity index 100%
rename from woniubiji/static/ue/third-party/webuploader/Uploader.swf
rename to woniu2/resource/ue/third-party/webuploader/Uploader.swf
diff --git a/woniubiji/static/ue/third-party/webuploader/webuploader.css b/woniu2/resource/ue/third-party/webuploader/webuploader.css
similarity index 100%
rename from woniubiji/static/ue/third-party/webuploader/webuploader.css
rename to woniu2/resource/ue/third-party/webuploader/webuploader.css
diff --git a/woniubiji/static/ue/third-party/webuploader/webuploader.custom.js b/woniu2/resource/ue/third-party/webuploader/webuploader.custom.js
similarity index 100%
rename from woniubiji/static/ue/third-party/webuploader/webuploader.custom.js
rename to woniu2/resource/ue/third-party/webuploader/webuploader.custom.js
diff --git a/woniubiji/static/ue/third-party/webuploader/webuploader.custom.min.js b/woniu2/resource/ue/third-party/webuploader/webuploader.custom.min.js
similarity index 100%
rename from woniubiji/static/ue/third-party/webuploader/webuploader.custom.min.js
rename to woniu2/resource/ue/third-party/webuploader/webuploader.custom.min.js
diff --git a/woniubiji/static/ue/third-party/webuploader/webuploader.flashonly.js b/woniu2/resource/ue/third-party/webuploader/webuploader.flashonly.js
similarity index 100%
rename from woniubiji/static/ue/third-party/webuploader/webuploader.flashonly.js
rename to woniu2/resource/ue/third-party/webuploader/webuploader.flashonly.js
diff --git a/woniubiji/static/ue/third-party/webuploader/webuploader.flashonly.min.js b/woniu2/resource/ue/third-party/webuploader/webuploader.flashonly.min.js
similarity index 100%
rename from woniubiji/static/ue/third-party/webuploader/webuploader.flashonly.min.js
rename to woniu2/resource/ue/third-party/webuploader/webuploader.flashonly.min.js
diff --git a/woniubiji/static/ue/third-party/webuploader/webuploader.html5only.js b/woniu2/resource/ue/third-party/webuploader/webuploader.html5only.js
similarity index 100%
rename from woniubiji/static/ue/third-party/webuploader/webuploader.html5only.js
rename to woniu2/resource/ue/third-party/webuploader/webuploader.html5only.js
diff --git a/woniubiji/static/ue/third-party/webuploader/webuploader.html5only.min.js b/woniu2/resource/ue/third-party/webuploader/webuploader.html5only.min.js
similarity index 100%
rename from woniubiji/static/ue/third-party/webuploader/webuploader.html5only.min.js
rename to woniu2/resource/ue/third-party/webuploader/webuploader.html5only.min.js
diff --git a/woniubiji/static/ue/third-party/webuploader/webuploader.js b/woniu2/resource/ue/third-party/webuploader/webuploader.js
similarity index 100%
rename from woniubiji/static/ue/third-party/webuploader/webuploader.js
rename to woniu2/resource/ue/third-party/webuploader/webuploader.js
diff --git a/woniubiji/static/ue/third-party/webuploader/webuploader.min.js b/woniu2/resource/ue/third-party/webuploader/webuploader.min.js
similarity index 100%
rename from woniubiji/static/ue/third-party/webuploader/webuploader.min.js
rename to woniu2/resource/ue/third-party/webuploader/webuploader.min.js
diff --git a/woniubiji/static/ue/third-party/webuploader/webuploader.withoutimage.js b/woniu2/resource/ue/third-party/webuploader/webuploader.withoutimage.js
similarity index 100%
rename from woniubiji/static/ue/third-party/webuploader/webuploader.withoutimage.js
rename to woniu2/resource/ue/third-party/webuploader/webuploader.withoutimage.js
diff --git a/woniubiji/static/ue/third-party/webuploader/webuploader.withoutimage.min.js b/woniu2/resource/ue/third-party/webuploader/webuploader.withoutimage.min.js
similarity index 100%
rename from woniubiji/static/ue/third-party/webuploader/webuploader.withoutimage.min.js
rename to woniu2/resource/ue/third-party/webuploader/webuploader.withoutimage.min.js
diff --git a/woniubiji/static/ue/third-party/xss.min.js b/woniu2/resource/ue/third-party/xss.min.js
similarity index 100%
rename from woniubiji/static/ue/third-party/xss.min.js
rename to woniu2/resource/ue/third-party/xss.min.js
diff --git a/woniubiji/static/ue/third-party/zeroclipboard/ZeroClipboard.js b/woniu2/resource/ue/third-party/zeroclipboard/ZeroClipboard.js
similarity index 100%
rename from woniubiji/static/ue/third-party/zeroclipboard/ZeroClipboard.js
rename to woniu2/resource/ue/third-party/zeroclipboard/ZeroClipboard.js
diff --git a/woniubiji/static/ue/third-party/zeroclipboard/ZeroClipboard.min.js b/woniu2/resource/ue/third-party/zeroclipboard/ZeroClipboard.min.js
similarity index 100%
rename from woniubiji/static/ue/third-party/zeroclipboard/ZeroClipboard.min.js
rename to woniu2/resource/ue/third-party/zeroclipboard/ZeroClipboard.min.js
diff --git a/woniubiji/static/ue/third-party/zeroclipboard/ZeroClipboard.swf b/woniu2/resource/ue/third-party/zeroclipboard/ZeroClipboard.swf
similarity index 100%
rename from woniubiji/static/ue/third-party/zeroclipboard/ZeroClipboard.swf
rename to woniu2/resource/ue/third-party/zeroclipboard/ZeroClipboard.swf
diff --git a/woniubiji/static/ue/ueditor.all.js b/woniu2/resource/ue/ueditor.all.js
similarity index 100%
rename from woniubiji/static/ue/ueditor.all.js
rename to woniu2/resource/ue/ueditor.all.js
diff --git a/woniubiji/static/ue/ueditor.all.min.js b/woniu2/resource/ue/ueditor.all.min.js
similarity index 100%
rename from woniubiji/static/ue/ueditor.all.min.js
rename to woniu2/resource/ue/ueditor.all.min.js
diff --git a/woniubiji/static/ue/ueditor.config.js b/woniu2/resource/ue/ueditor.config.js
similarity index 100%
rename from woniubiji/static/ue/ueditor.config.js
rename to woniu2/resource/ue/ueditor.config.js
diff --git a/woniubiji/static/ue/ueditor.parse.js b/woniu2/resource/ue/ueditor.parse.js
similarity index 100%
rename from woniubiji/static/ue/ueditor.parse.js
rename to woniu2/resource/ue/ueditor.parse.js
diff --git a/woniubiji/static/ue/ueditor.parse.min.js b/woniu2/resource/ue/ueditor.parse.min.js
similarity index 100%
rename from woniubiji/static/ue/ueditor.parse.min.js
rename to woniu2/resource/ue/ueditor.parse.min.js
diff --git a/woniu2/resource/upload/1111.png b/woniu2/resource/upload/1111.png
new file mode 100644
index 0000000..c518313
Binary files /dev/null and b/woniu2/resource/upload/1111.png differ
diff --git a/woniu2/resource/upload/20200512_175504.jpg b/woniu2/resource/upload/20200512_175504.jpg
new file mode 100644
index 0000000..201ad72
Binary files /dev/null and b/woniu2/resource/upload/20200512_175504.jpg differ
diff --git a/woniu2/resource/upload/20200512_175540.jpg b/woniu2/resource/upload/20200512_175540.jpg
new file mode 100644
index 0000000..201ad72
Binary files /dev/null and b/woniu2/resource/upload/20200512_175540.jpg differ
diff --git a/woniu2/resource/upload/20200512_175642.jpg b/woniu2/resource/upload/20200512_175642.jpg
new file mode 100644
index 0000000..201ad72
Binary files /dev/null and b/woniu2/resource/upload/20200512_175642.jpg differ
diff --git a/woniu2/resource/upload/20200512_180903.jpg b/woniu2/resource/upload/20200512_180903.jpg
new file mode 100644
index 0000000..939b26e
Binary files /dev/null and b/woniu2/resource/upload/20200512_180903.jpg differ
diff --git a/woniu2/resource/upload/20200512_181642.png b/woniu2/resource/upload/20200512_181642.png
new file mode 100644
index 0000000..040b654
Binary files /dev/null and b/woniu2/resource/upload/20200512_181642.png differ
diff --git a/woniu2/resource/upload/image.png b/woniu2/resource/upload/image.png
new file mode 100644
index 0000000..6fca132
Binary files /dev/null and b/woniu2/resource/upload/image.png differ
diff --git a/woniu2/resource/upload/timg (4).jpg b/woniu2/resource/upload/timg (4).jpg
new file mode 100644
index 0000000..c37aecd
Binary files /dev/null and b/woniu2/resource/upload/timg (4).jpg differ
diff --git a/woniu2/resource/upload/u=3213225374,3645721146&fm=26&gp=0.jpg b/woniu2/resource/upload/u=3213225374,3645721146&fm=26&gp=0.jpg
new file mode 100644
index 0000000..2a456e2
Binary files /dev/null and b/woniu2/resource/upload/u=3213225374,3645721146&fm=26&gp=0.jpg differ
diff --git a/woniu2/resource/upload/微信图片_20191204170344.jpg b/woniu2/resource/upload/微信图片_20191204170344.jpg
new file mode 100644
index 0000000..da3ed86
Binary files /dev/null and b/woniu2/resource/upload/微信图片_20191204170344.jpg differ
diff --git a/woniubiji/common/database.py b/woniu2/template/__init__.py
similarity index 100%
rename from woniubiji/common/database.py
rename to woniu2/template/__init__.py
diff --git a/woniu2/template/article-user.html b/woniu2/template/article-user.html
new file mode 100644
index 0000000..76e3845
--- /dev/null
+++ b/woniu2/template/article-user.html
@@ -0,0 +1,334 @@
+{% extends 'base.html' %}
+{% block content %}
+
+
+
+ {{result.headline}}
+
+
+
+
+
+ {% if is_favorited == True %}
+
+
+ {% else %}
+
+ {% endif %}
+
+
+
+ 作者:{{result.user.username}} 类别:{{article_type[result.type | string]}}
+ 日期:{{result.updatetime}}
+ 阅读:{{result.readcount}} 次 消耗积分:{{result.credit}} 分
+
+
+ {# 如果消耗过积分,显示result.content全部内容 #}
+ {# 如果没有消耗过积分,显示result_content经过过滤的内容 #}
+ {% if payed %}
+
+ {{result.content | safe}}
+
+ {% else %}
+
+ {{result_content | safe}}
+ {{payed}}
+
+ {% endif %}
+
+ {# 这是一个注释,用于说明下面的代码块 #}
+ {% if result.credit > 0 and not payed %}
+
+ {# 存放islogin的应该是一个布尔值,如果内容存在,返回内容,内容不存在,返回定义的False #}
+ {% if session.get('islogin') == 'true' %}
+
+ {% else %}
+
+ {% endif %}
+
+ {% endif %}
+
+
+
+
+
版权所有,转载本站文章请注明出处:蜗牛笔记, http://www.woniunote.com/article/1
+
+
+
+
+
+
+
+
+
+
+ {% if session.get('islogin') == 'true' %}
+
+
+ {% else %}
+
+ {% endif %}
+
+
+
+
+
+ {% for article in comment %}
+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% if result.userid == article.userid %}
+
+
+ {% endif %}
+
+
+
+
+ {{article.content | striptags | truncate(80) }}
+
+
+
+ {% endfor %}
+
+
+
+{% include 'side.html' %}
+
+
+
+{% endblock %} {# 定义插入内容结束 #}
\ No newline at end of file
diff --git a/woniubiji/template/base.html b/woniu2/template/base.html
similarity index 74%
rename from woniubiji/template/base.html
rename to woniu2/template/base.html
index ea3f80e..a520238 100644
--- a/woniubiji/template/base.html
+++ b/woniu2/template/base.html
@@ -2,56 +2,43 @@
-
-
-
-
-
-
-
-
-
-
+
暮雨秋凉
+
+
+
+
+
+
+
+
-
-
Title
-
+
+
+
-
\ No newline at end of file
diff --git a/woniu2/template/error-404.html b/woniu2/template/error-404.html
new file mode 100644
index 0000000..381fa38
--- /dev/null
+++ b/woniu2/template/error-404.html
@@ -0,0 +1,14 @@
+{% extends 'base.html' %} {# 将当前页面继承至base.html母版 #}
+{% block content %}
+
+
+

+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/woniu2/template/error-500.html b/woniu2/template/error-500.html
new file mode 100644
index 0000000..8d1e008
--- /dev/null
+++ b/woniu2/template/error-500.html
@@ -0,0 +1,14 @@
+{% extends 'base.html' %}
+{% block content %}
+
+
+

+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/woniubiji/template/search.html b/woniu2/template/index.html
similarity index 63%
rename from woniubiji/template/search.html
rename to woniu2/template/index.html
index d62d454..c464bf2 100644
--- a/woniubiji/template/search.html
+++ b/woniu2/template/index.html
@@ -3,80 +3,79 @@
-
+
-
-
-
+
{% for article in result %}
-

+
-
作者:{{ article.user.nickname }} 类别:{{ article_type[article.type | string] }}
- 日期:{{ article.createtime }} 阅读:{{ article.readcount }} 次 消耗积分:{{ article.credit }} 分
+
作者:{{ article.user.nickname }} 类别:{{ article_type[article.type |
+ string] }}
+ 日期:{{ article.createtime }} 阅读:{{ article.readcount }} 次 消耗积分:{{
+ article.credit }} 分
{{article.content | striptags | truncate(80) }}
-
{% endfor %}
-
+
+
{% if page == 1 %}
-
上一页
+
上一页
{% else %}
-
上一页
+
上一页
{% endif %}
{% for i in range(1,total+1) %}
-
{{i}}  
- {% endfor %}
+
{{ i }}
+ {% endfor %}
{% if page == total %}
-
下一页
+
下一页
{% else %}
-
下一页
+
下一页
{% endif %}
-
-
{# 按需引入side.html,首页需要 #}
{% include 'side.html' %}
diff --git a/woniubiji/template/index.html b/woniu2/template/search.html
similarity index 64%
rename from woniubiji/template/index.html
rename to woniu2/template/search.html
index 52724cc..24c5e7f 100644
--- a/woniubiji/template/index.html
+++ b/woniu2/template/search.html
@@ -3,80 +3,77 @@
-
+
-
-
-
+
{% for article in result %}
-

+
-
作者:{{ article.user.nickname }} 类别:{{ article_type[article.type | string] }}
- 日期:{{ article.createtime }} 阅读:{{ article.readcount }} 次 消耗积分:{{ article.credit }} 分
+
作者:{{ article.user.nickname }} 类别:{{ article_type[article.type |
+ string] }}
+ 日期:{{ article.createtime }} 阅读:{{ article.readcount }} 次 消耗积分:{{
+ article.credit }} 分
{{article.content | striptags | truncate(80) }}
-
{% endfor %}
-
-
+
{% if page == 1 %}
-
上一页
+
上一页
{% else %}
-
上一页
+
上一页
{% endif %}
{% for i in range(1,total+1) %}
-
{{i}}  
+
{{i}}  
{% endfor %}
{% if page == total %}
-
下一页
+
下一页
{% else %}
-
下一页
+
下一页
{% endif %}
-
-
{# 按需引入side.html,首页需要 #}
{% include 'side.html' %}
diff --git a/woniu2/template/side.html b/woniu2/template/side.html
new file mode 100644
index 0000000..47b9512
--- /dev/null
+++ b/woniu2/template/side.html
@@ -0,0 +1,96 @@
+
+
+
+
\ No newline at end of file
diff --git a/woniu2/template/system-admin-user.html b/woniu2/template/system-admin-user.html
new file mode 100644
index 0000000..2394efd
--- /dev/null
+++ b/woniu2/template/system-admin-user.html
@@ -0,0 +1,150 @@
+{% extends 'base.html' %}
+
+{% block content %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% if page == 1 %}
+ 上一页
+ {% else %}
+ 上一页
+ {% endif %}
+
+ {% for i in range(total) %}
+ {{ i + 1 }}
+ {% endfor %}
+
+ {% if page == total %}
+ 下一页
+ {% else %}
+ 下一页
+ {% endif %}
+ |
+
+
+
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/woniu2/template/system-admin.html b/woniu2/template/system-admin.html
new file mode 100644
index 0000000..948579a
--- /dev/null
+++ b/woniu2/template/system-admin.html
@@ -0,0 +1,184 @@
+{% extends 'base.html' %}
+
+{% block content %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% if page == 1 %}
+ 上一页
+ {% else %}
+ 上一页
+ {% endif %}
+
+ {% for i in range(total) %}
+ {{i + 1}}
+ {% endfor %}
+
+ {% if page == total %}
+ 下一页
+ {% else %}
+ 下一页
+ {% endif %}
+ |
+
+
+
+
+
+
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/woniubiji/template/type.html b/woniu2/template/type.html
similarity index 74%
rename from woniubiji/template/type.html
rename to woniu2/template/type.html
index 965c23f..d7db88a 100644
--- a/woniubiji/template/type.html
+++ b/woniu2/template/type.html
@@ -3,60 +3,59 @@
-
+
-
-
-
+
{% for article in result %}
-

+
-
作者:{{ article.user.nickname }} 类别:{{ article_type[article.type | string] }}
- 日期:{{ article.createtime }} 阅读:{{ article.readcount }} 次 消耗积分:{{ article.credit }} 分
+
作者:{{ article.user.nickname }} 类别:{{ article_type[article.type |
+ string] }}
+ 日期:{{ article.createtime }} 阅读:{{ article.readcount }} 次 消耗积分:{{
+ article.credit }} 分
{{article.content | striptags | truncate(80) }}
-
{% endfor %}
-
-
+
{% if page == 1 %}
上一页
{% else %}
@@ -75,8 +74,6 @@
-
-
{# 按需引入side.html,首页需要 #}
{% include 'side.html' %}
diff --git a/woniubiji/.idea/encodings.xml b/woniubiji/.idea/encodings.xml
deleted file mode 100644
index 985d5ab..0000000
--- a/woniubiji/.idea/encodings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/woniubiji/.idea/other.xml b/woniubiji/.idea/other.xml
deleted file mode 100644
index 640fd80..0000000
--- a/woniubiji/.idea/other.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/woniubiji/__pycache__/main.cpython-312.pyc b/woniubiji/__pycache__/main.cpython-312.pyc
deleted file mode 100644
index 29126db..0000000
Binary files a/woniubiji/__pycache__/main.cpython-312.pyc and /dev/null differ
diff --git a/woniubiji/app.py b/woniubiji/app.py
deleted file mode 100644
index d38a686..0000000
--- a/woniubiji/app.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# app.py
-from main import app
-from controller.index import index as index_blueprint
-from controller.user import user as user_blueprint
-from controller.article import article as article_blueprint
-
-app.register_blueprint(index_blueprint)
-app.register_blueprint(user_blueprint)
-app.register_blueprint(article_blueprint)
-
-if __name__ == '__main__':
- app.run(debug=True)
\ No newline at end of file
diff --git a/woniubiji/common/__pycache__/__init__.cpython-312.pyc b/woniubiji/common/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 916a26e..0000000
Binary files a/woniubiji/common/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/woniubiji/common/__pycache__/database.cpython-312.pyc b/woniubiji/common/__pycache__/database.cpython-312.pyc
deleted file mode 100644
index b418d28..0000000
Binary files a/woniubiji/common/__pycache__/database.cpython-312.pyc and /dev/null differ
diff --git a/woniubiji/common/__pycache__/redisdb.cpython-312.pyc b/woniubiji/common/__pycache__/redisdb.cpython-312.pyc
deleted file mode 100644
index 4c13c86..0000000
Binary files a/woniubiji/common/__pycache__/redisdb.cpython-312.pyc and /dev/null differ
diff --git a/woniubiji/common/redisdb.py b/woniubiji/common/redisdb.py
deleted file mode 100644
index ec55dab..0000000
--- a/woniubiji/common/redisdb.py
+++ /dev/null
@@ -1,93 +0,0 @@
-from datetime import datetime
-import re
-import redis
-from common.utility import model_list
-from module.article import Article
-from module.user import Users
-
-def redis_connect():
- pool = redis.ConnectionPool(host='127.0.0.1', port=6379, decode_responses=True, db=0)
- red = redis.Redis(connection_pool=pool)
- return red
-
-# def redis_mysql_string():
-# from common.database import dbconnect
-#
-# red = redis_connect() # 连接到Redis服务器
-#
-# # 获取数据库连接信息
-# dbsession, md, DBase = dbconnect()
-#
-# # 查询users表的所有数据,并将其转换为JSON
-# result = dbsession.query(Users).all()
-# json = model_list(result)
-#
-# red.set('users', str(json)) # 将整张表的数据保存成JSON字符串
-
-
-def redis_mysql_string():
-
-
- red = redis_connect() # 连接到Redis服务器
-
- # 查询users表的所有数据,并将其转换为JSON
- result = db.session.query(Users).all()
- user_list = model_list(result)
- for user in user_list:
- red.set(user['username'], user['password'])
-
-
-def redis_mysql_hash():
- from common.database import dbconnect
-
- red = redis_connect() # 连接到Redis服务器
-
- # 获取数据库连接信息
- dbsession, md, DBase = dbconnect()
-
- # 查询users表的所有数据,并将其转换为JSON
- result = dbsession.query(Users).all()
- user_list = model_list(result)
- for user in user_list:
- red.hset('users_hash', user['username'], str(user))
-
-
-def redis_article_zsort():
-
- dbsession, md, DBase = dbconnect()
- result = dbsession.query(Article, Users.nickname).join(Users, Users.userid == Article.userid).all()
- # result的数据格式为:[ (<__main__.Article object at 0x113F9150>, '强哥'),() ]
- # 对result进行遍历处理,最终生成一个标准的JSON数据结构
-
- list = []
- for article, nickname in result:
- dict = {}
- for k, v in article.__dict__.items():
- if not k.startswith('_sa_instance_state'): # 跳过内置字段
- # 如果某个字段的值是datetime类型,则将其格式为字符串
- if isinstance(v, datetime):
- v = v.strftime('%Y-%m-%d %H:%M:%S')
- # 将文章内容的HTML和不可见字符删除,再截取前面80个字符
- elif k == 'content':
- pattern = re.compile(r'<[^>]+>')
- temp = pattern.sub('', v)
- temp = temp.replace(' ', '')
- temp = temp.replace('\r', '')
- temp = temp.replace('\n', '')
- temp = temp.replace('\t', '')
- v = temp.strip()[0:80]
- dict[k] = v
- dict['nickname'] = nickname
- list.append(dict) # 最终构建一个标准的列表+字典的数据结构
-
- # 将数据缓存到有序集合中
- red = redis_connect()
- for row in list:
- # zadd的命令参数为:(键名,{值:排序依据})
- # 此处将文章表中的每一行数据作为值,文章编号作为排序依据
- red.zadd('article', {str(row): row['articleid']})
-
-
-if __name__ == '__main__':
- # redis_mysql_hash()
- redis_article_zsort()
\ No newline at end of file
diff --git a/woniubiji/controller/__pycache__/__init__.cpython-312.pyc b/woniubiji/controller/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 6cbafd4..0000000
Binary files a/woniubiji/controller/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/woniubiji/controller/__pycache__/article.cpython-312.pyc b/woniubiji/controller/__pycache__/article.cpython-312.pyc
deleted file mode 100644
index 92d629b..0000000
Binary files a/woniubiji/controller/__pycache__/article.cpython-312.pyc and /dev/null differ
diff --git a/woniubiji/controller/__pycache__/index.cpython-312.pyc b/woniubiji/controller/__pycache__/index.cpython-312.pyc
deleted file mode 100644
index a7fba48..0000000
Binary files a/woniubiji/controller/__pycache__/index.cpython-312.pyc and /dev/null differ
diff --git a/woniubiji/controller/__pycache__/user.cpython-312.pyc b/woniubiji/controller/__pycache__/user.cpython-312.pyc
deleted file mode 100644
index 079fee6..0000000
Binary files a/woniubiji/controller/__pycache__/user.cpython-312.pyc and /dev/null differ
diff --git a/woniubiji/controller/index.py b/woniubiji/controller/index.py
deleted file mode 100644
index 3a69653..0000000
--- a/woniubiji/controller/index.py
+++ /dev/null
@@ -1,57 +0,0 @@
-import math
-
-from flask import Blueprint, render_template, jsonify, abort
-
-from module.article import Article
-from module.user import Users
-
-index = Blueprint("index",__name__)
-
-@index.route('/')
-def home():
- article = Article()
- result = article.find_limit_with_user(0,10)
- #
- side_new,side_recommend,side_most = article.side_method()
- return render_template('index.html',result=result,total=10,page=10,side_new=side_new,side_most=side_most,side_recommend=side_recommend)
-
-@index.route('/page/
')
-def paginate(page):
- start=(page-1)*5
- article = Article()
- result = article.find_limit_with_user(start,10)
- # 总页数
- total = math.ceil(article.get_comment_count() / 10)
-
- return render_template('index.html',result=result,total=total,page=page)
-
-# 这里为什么会有type.html,因为在index.html中的分页total是所有的内容,而type中的total是默认显示类型1的分类total
-@index.route('/type/-')
-def classify(type,page):
- start = (page - 1) * 5
- article=Article()
- result=article.get_by_type(type,start,5)
- total = math.ceil(article.get_by_type_count(type) / 5)
- return render_template('type.html',result=result,total=total,page=page,type=type)
-
-# 搜索模糊查询
-@index.route('/search/-')
-def searchlike(search,page):
- search=search.strip()
- if search is None or len(search) > 10 or '%' in search:
- abort(404)
- start = (page-1)*5
- article = Article()
- result = article.get_comment_by_likeSerch(start,5,search)
- total = math.ceil(article.get_count_by_likeSerch(search))
- return render_template('search.html',result=result,total=total,page=page,search=search)
-
-
-
-
-# def model_list(result):
-# user_list = []
-# for user in result:
-# user_dict = {col: getattr(user, col) for col in user.__table__.columns.keys() if not col.startswith('_')}
-# user_list.append(user_dict)
-# return user_list
\ No newline at end of file
diff --git a/woniubiji/controller/user.py b/woniubiji/controller/user.py
deleted file mode 100644
index aa7d6b8..0000000
--- a/woniubiji/controller/user.py
+++ /dev/null
@@ -1,227 +0,0 @@
-import hashlib
-
-from flask import Blueprint, make_response, session, request, jsonify, url_for
-from common.utility import ImageCode,gen_email_code,send_email
-import re
-
-from module.credit import Credit
-from module.user import Users
-
-user = Blueprint("user",__name__)
-
-@user.route('/vcode')
-def vcode():
- code, bstring = ImageCode().get_code()
- # 使用Flask的make_response函数创建一个响应对象,将图片数据的字节串作为响应体
- response = make_response(bstring)
- # 设置响应的Content-Type头部为'image/jpeg',告诉浏览器这个响应是一个JPEG格式的图片
- response.headers['Content-Type'] = 'image/jpeg'
- # 调用session把code里面的内容转换为小写,并且保存在session里面的键值对里面
- session['vcode'] = code.lower()
- return response
-
-@user.route('/ecode',methods=['POST'])
-def ecode():
- email = request.form.get('email')
- # 正则表达式
- if not re.match('.+@.+\..+', email):
- return 'email-invalid'
-
- ecode = gen_email_code()
- try:
- send_email(email,ecode)
- session['ecode'] = ecode # 将邮箱验证码保存在Session中
- print("发送前的ecode",ecode)
- return 'send-pass'
- except:
- return 'ecode-error'
-
-@user.route('/user', methods=['POST'])
-def register():
- user = Users()
- username = request.form.get('username').strip()
- password = request.form.get('password').strip()
- ecode = request.form.get('ecode').strip()
-
- # 校验邮箱验证码是否正确
- if ecode != session.get('ecode'):
- return 'ecode-error'
-
- # 验证邮箱地址的正确性和密码的有效性
- elif not re.match('.+@.+\..+', username) or len(password) < 5:
- return 'up-invalid'
-
- # 验证用户是否已经注册
- elif len(user.find_by_username(username)) > 0:
- return 'user-repeated'
-
- else:
- # 实现注册功能
- password = hashlib.md5(password.encode()).hexdigest()
- result = user.do_register(username, password)
- session['islogin'] = 'true'
- session['userid'] = result.userid
- session['username'] = username
- session['nickname'] = result.nickname
- session['role'] = result.role
- # 更新积分详情表
- Credit().insert_detail('2',0,50)
- return 'reg-pass'
-
-
-@user.route('/login', methods=['POST'])
-def login():
- user = Users()
- username = request.form.get('username').strip()
- password = request.form.get('password').strip()
- vcode = request.form.get('vcode').lower().strip()
-
- # 校验图形验证码是否正确
- if vcode != session.get('vcode') and vcode != '0000':
- return 'vcode-error'
-
- else:
- # 实现登录功能
- password = hashlib.md5(password.encode()).hexdigest()
- result = user.find_by_username(username)
- if len(result) == 1 and result.password==password:
- session['islogin'] = 'true'
- session['userid'] = result.userid
- session['username'] = username
- session['nickname'] = result.nickname
- session['role'] = result.role
- # 更新积分详情表
- Credit().insert_detail('3',0,1)
- user.update_credit(1)
- # 将Cookie写入浏览器
- response = make_response('login-pass')
- response.set_cookie('username', username, max_age=30*24*3600)
- response.set_cookie('password', password, max_age=30*24*3600)
- return response
- else:
- return 'login-fail'
-
-
-
-@user.route('/loginfo')
-def loginfo():
- # 没有登录,则直接响应一个空JSON给前端,用于前端判断
- if session.get('islogin') is None:
- return jsonify(None)
- else:
- dict = {}
- dict['islogin'] = session.get('islogin')
- dict['userid'] = session.get('userid')
- dict['username'] = session.get('username')
- dict['nickname'] = session.get('nickname')
- dict['role'] = session.get('role')
- return jsonify(dict)
-
-
-
-@user.route('/logout')
-def logout():
- # 清空Session,页面跳转
- session.clear()
-
- response = make_response('注销并进行重定向', 302)
- response.headers['Location'] = url_for('index.home')
- response.delete_cookie('username')
- response.set_cookie('password', '', max_age=0)
-
- return response
-
-#
-# from common.redisdb import redis_connect
-#
-# # 用户注册时生成邮箱验证码并保存到缓存中
-# @user.route('/redis/code', methods=['POST'])
-# def redis_code():
-# username = request.form.get('username').strip()
-# code = gen_email_code()
-# red = redis_connect() # 连接到Redis服务器
-# red.set(username, code)
-# red.expire(username, 30) # 设置username变量的有效期为30秒
-# # 设置好缓存变量的过期时间后,发送邮件完成处理,此处代码略
-# return 'done'
-
-
-# # 根据用户的注册邮箱去缓存中查找验证码进行验证
-# @user.route('/redis/reg', methods=['POST'])
-# def redis_reg():
-# username = request.form.get('username').strip()
-# password = request.form.get('password').strip()
-# ecode = request.form.get('ecode').lower().strip()
-# try:
-# red = redis_connect() # 连接到Redis服务器
-# code = red.get(username).lower()
-# if code == ecode:
-# return '验证码正确.'
-# # 开始进行注册,此处代码略
-# else:
-# return '验证码错误.'
-# except:
-# return '验证码已经失效.'
-
-
-# @user.route('/redis/login', methods=['POST'])
-# def redis_login():
-# red = redis_connect()
-# # 通过取值判断用户名的key是否存在
-# username = request.form.get('username').strip()
-# password = request.form.get('password').strip()
-# password = hashlib.md5(password.encode()).hexdigest()
-#
-# result = red.get('users')
-#
-# # 'updatetime': datetime.datetime(2020, 2, 12, 11, 45, 57),
-# # 'updatetime':'2020-02-12 11:45:57'
-# list = eval(result)
-#
-# for row in list:
-# if row['username'] == username:
-# if row['password'] == password:
-# return '用户密码正确,登录成功'
-#
-# return '登录失败'
-
-
-# @user.route('/redis/login', methods=['POST'])
-# def redis_login():
-# red = redis_connect()
-# # 通过取值判断用户名的key是否存在
-# username = request.form.get('username').strip()
-# password = request.form.get('password').strip()
-# password = hashlib.md5(password.encode()).hexdigest()
-#
-# try:
-# result = red.get(username)
-# # user = eval(result)
-# # if password == user['password']:
-# result = red.get(username)
-# if password == result:
-# return '登录成功'
-# else:
-# return '密码错误'
-# except:
-# return '用户名不存在'
-
-
-# @user.route('/redis/login', methods=['POST'])
-# def redis_login():
-# red = redis_connect()
-# # 通过取值判断用户名的key是否存在
-# username = request.form.get('username').strip()
-# password = request.form.get('password').strip()
-# password = hashlib.md5(password.encode()).hexdigest()
-#
-# try:
-# result = red.hget('users_hash', username)
-# user = eval(result)
-# if password == user['password']:
-# return '登录成功'
-# else:
-# return '密码错误'
-# except:
-# return '用户名不存在'
-
diff --git a/woniubiji/main.py b/woniubiji/main.py
deleted file mode 100644
index a8623e8..0000000
--- a/woniubiji/main.py
+++ /dev/null
@@ -1,80 +0,0 @@
-import os
-
-from flask import Flask, render_template, request, session
-from flask_sqlalchemy import SQLAlchemy
-
-
-
-app = Flask(__name__, template_folder='template', static_url_path='/static', static_folder='static')
-# app = Flask(__name__)
-app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:220113@localhost:3306/woniu?charset=utf8'
-app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
-app.config['SECRET_KEY'] = os.urandom(24)
-
-db = SQLAlchemy(app)
-
-# 定义404错误页面
-@app.errorhandler(404)
-def page_not_found(e):
- return render_template('error-404.html')
-
-# 定义500错误页面
-@app.errorhandler(500)
-def server_error(e):
- return render_template('error-500.html')
-
-
-# 定义全局拦截器,实现自动登录
-@app.before_request
-def before():
- from module.user import Users
- url = request.path
-
- pass_list = ['/user', '/login', '/logout']
- if url in pass_list or url.endswith('.js') or url.endswith('.jpg'):
- pass
-
- elif session.get('islogin') is None:
- username = request.cookies.get('username')
- password = request.cookies.get('password')
- if username != None and password != None:
- user = Users()
- result = user.find_by_username(username)
- if len(result) == 1 and result[0].password == password:
- session['islogin'] = 'true'
- session['userid'] = result[0].userid
- session['username'] = username
- session['nickname'] = result[0].nickname
- session['role'] = result[0].role
-
-
-
-# 全文可以直接使用article_type
-@app.context_processor
-def gettype():
- type={
- '1':'情感',
- '2':'JAVA开发',
- '3':'Python开发',
- '4':'Web前端',
- '5':'测试开发',
- '6':'数据科学',
- '7':'网络安全',
- '8':'蜗牛杂谈',
- }
- return dict(article_type=type)
-
-
-# # 自定义过滤器
-# @app.template_filter('str_to_int')
-# def str_to_int_filter(s):
-# return int(s) if s.isdigit() else s
-#
-#
-# # 将过滤器添加到 Jinja2 环境
-# app.jinja_env.filters['str_to_int'] = str_to_int_filter
-
-
-# 确保在应用上下文中调用,例如在命令行脚本或测试中
-with app.app_context():
- db.create_all() # 创建所有数据库表
\ No newline at end of file
diff --git a/woniubiji/module/__pycache__/__init__.cpython-312.pyc b/woniubiji/module/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 3d0329e..0000000
Binary files a/woniubiji/module/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/woniubiji/module/__pycache__/article.cpython-312.pyc b/woniubiji/module/__pycache__/article.cpython-312.pyc
deleted file mode 100644
index fbe5b25..0000000
Binary files a/woniubiji/module/__pycache__/article.cpython-312.pyc and /dev/null differ
diff --git a/woniubiji/module/__pycache__/user.cpython-312.pyc b/woniubiji/module/__pycache__/user.cpython-312.pyc
deleted file mode 100644
index d4d850e..0000000
Binary files a/woniubiji/module/__pycache__/user.cpython-312.pyc and /dev/null differ
diff --git a/woniubiji/module/article.py b/woniubiji/module/article.py
deleted file mode 100644
index 069dfa1..0000000
--- a/woniubiji/module/article.py
+++ /dev/null
@@ -1,106 +0,0 @@
-from sqlalchemy import func
-
-from main import db
-
-
-class Article(db.Model):
- __tablename__ = 'article'
- articleid = db.Column(db.String(64), primary_key=True)
- userid = db.Column(db.String(64), db.ForeignKey('user.userid'))
- headline = db.Column(db.String(255), nullable=False)
- content = db.Column(db.String(255), nullable=False)
- type = db.Column(db.Integer, nullable=False) # 通常使用 db.Integer 而不是 db.int(255)
- readcount = db.Column(db.Integer, nullable=False)
- credit = db.Column(db.Integer, nullable=False)
- hidden = db.Column(db.Integer, nullable=False)
- drafted = db.Column(db.Integer, nullable=False)
- checked = db.Column(db.Integer, nullable=False)
- createtime = db.Column(db.DateTime, nullable=False) # 使用 DateTime 类型,并设置默认值为当前 UTC 时间
- updatetime = db.Column(db.DateTime, nullable=False)
-
- # 可以添加其他字段,如 title, content 等
-
- # 关联 Users 表
- user = db.relationship('Users', backref=db.backref('articles', lazy=True))
- # 创建了一个名为 articles 的属性,该属性将附加到 Users 模型的实例上
- # article.user可以直接用
-
- # 查询所有文章
- @classmethod
- def find_all(cls):
- return cls.query.all()
-
- # 根据 articleid 查询文章
- @classmethod
- def find_by_id(cls, articleid):
- options = db.joinedload(cls.user)
- return cls.query.options(options).get(articleid)
-
- # 分页查询文章,并关联用户信息
- @classmethod
- def find_limit_with_user(cls, offset, limit):
- # 使用 joinedload 加载关联的用户信息
- options = db.joinedload(cls.user)
- result = cls.query.options(options).filter(Article.drafted==0).order_by(Article.articleid.desc()).limit(limit).offset(offset).all()
- return result
-
- # 统计当前文章的数量
- @classmethod
- def get_comment_count(cls):
- # count = cls.query.filter(Article.hidden==0,Article.drafted==0,Article.checked==1).count()
- count = cls.query.filter(Article.drafted==0).count()
- return count
-
- # 根据文章类型获取文章
- @classmethod
- def get_by_type(cls,type,offset, limit):
- result = cls.query.filter(Article.hidden==0,Article.drafted==0,Article.checked==1,Article.type==type).order_by(Article.articleid.desc()).limit(limit).offset(offset).all()
- return result
-
- # 根据文章类型获取文章总数量
- @classmethod
- def get_by_type_count(cls,type):
- count = cls.query.filter(Article.hidden == 0, Article.drafted == 0, Article.checked == 1,Article.type==type).count()
- return count
-
- # 模糊查询获取总数量
- @classmethod
- def get_count_by_likeSerch(cls,headline):
- count = cls.query.filter(Article.hidden == 0,Article.headline.like('%' + headline + '%')).count()
- return count
- # 模糊查询获取文章
- @classmethod
- def get_comment_by_likeSerch(cls,offset,limit,headline):
- result = cls.query.filter(Article.hidden == 0,Article.headline.like('%' + headline + '%')).order_by(Article.articleid.desc()).limit(limit).offset(offset).all()
- return result
-
- # 最新文章
- @classmethod
- def side_new(cls):
- result = cls.query.filter(Article.hidden == 0).order_by(Article.articleid.desc()).limit(9).all()
- return result
-
-
- # 特别推荐
- @classmethod
- def side_recommend(cls):
- result = cls.query.filter(Article.hidden == 0,Article.readcount==1).order_by(func.rand()).limit(9).all()
- return result
-
- # 最多阅读
- @classmethod
- def side_most(cls):
- result = cls.query.filter(Article.hidden == 0).order_by(Article.readcount.desc()).limit(9).all()
- return result
-
- # 一次性返回三个数据
- @classmethod
- def side_method(cls):
- return cls.side_new(),cls.side_recommend(),cls.side_most()
-
- # 每阅读一次,阅读次数加一
- @classmethod
- def update_readcount(cls, articleid):
- # 使用SQLAlchemy的update方法直接在数据库层面更新,避免竞态条件
- cls.query.filter_by(articleid=articleid).update({cls.readcount: cls.readcount + 1})
- db.session.commit()
\ No newline at end of file
diff --git a/woniubiji/module/comment.py b/woniubiji/module/comment.py
deleted file mode 100644
index e69de29..0000000
diff --git a/woniubiji/module/favorite.py b/woniubiji/module/favorite.py
deleted file mode 100644
index e69de29..0000000
diff --git a/woniubiji/static/images/banner-1.jpg b/woniubiji/static/images/banner-1.jpg
deleted file mode 100644
index f40e14a..0000000
Binary files a/woniubiji/static/images/banner-1.jpg and /dev/null differ
diff --git a/woniubiji/static/images/banner-3.jpg b/woniubiji/static/images/banner-3.jpg
deleted file mode 100644
index 120e12c..0000000
Binary files a/woniubiji/static/images/banner-3.jpg and /dev/null differ
diff --git a/woniubiji/static/images/banner-4.jpg b/woniubiji/static/images/banner-4.jpg
deleted file mode 100644
index 5963bd7..0000000
Binary files a/woniubiji/static/images/banner-4.jpg and /dev/null differ
diff --git a/woniubiji/static/images/logo.png b/woniubiji/static/images/logo.png
deleted file mode 100644
index 7fb78f3..0000000
Binary files a/woniubiji/static/images/logo.png and /dev/null differ
diff --git a/woniubiji/template/article-user.html b/woniubiji/template/article-user.html
deleted file mode 100644
index 0af8994..0000000
--- a/woniubiji/template/article-user.html
+++ /dev/null
@@ -1,95 +0,0 @@
-{% extends 'base.html' %}
-{% block content %}
-
-
-
- {{result.headline}}
-
-
-
-
-
- 作者:{{result.user.username}} 类别:{{article_type[result.type | string]}}
- 日期:{{result.updatetime}}
- 阅读:{{result.readcount}} 次 消耗积分:{{result.credit}} 分
-
-
- {# 如果消耗过积分,显示result.content全部内容 #}
- {# 如果没有消耗过积分,显示result_content经过过滤的内容 #}
- {% if payed %}
-
- {{result.content | safe}}
-
- {% else %}
-
- {{result_content | safe}}
-
- {% endif %}
-
- {# 这是一个注释,用于说明下面的代码块 #}
- {% if result.credit > 0 and not payed %}
-
- {# 存放islogin的应该是一个布尔值,如果内容存在,返回内容,内容不存在,返回定义的False #}
- {% if session.get('islogin', False) %}
-
- {% else %}
-
- {% endif %}
-
- {% endif %}
-
-
-
-
-
版权所有,转载本站文章请注明出处:蜗牛笔记, http://www.woniunote.com/article/1
-
-
-
-
-
-
-
-{% include 'side.html' %}
-
-
-
-{% endblock %} {# 定义插入内容结束 #}
\ No newline at end of file
diff --git a/woniubiji/template/error-404.html b/woniubiji/template/error-404.html
deleted file mode 100644
index df2d411..0000000
--- a/woniubiji/template/error-404.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
- Title
-
-
-hello
-
-
\ No newline at end of file
diff --git a/woniubiji/template/side.html b/woniubiji/template/side.html
deleted file mode 100644
index f6adcba..0000000
--- a/woniubiji/template/side.html
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/woniubiji/测试.py b/woniubiji/测试.py
deleted file mode 100644
index 5a4b41f..0000000
--- a/woniubiji/测试.py
+++ /dev/null
@@ -1 +0,0 @@
-print(type('sada.png'))
\ No newline at end of file