├── .gitignore ├── plugins └── jiangqie-ow-free │ ├── languages │ └── jiangqie-ow-free.pot │ ├── index.php │ ├── admin │ ├── index.php │ ├── codestar-framework │ │ ├── index.php │ │ ├── fields │ │ │ ├── index.php │ │ │ ├── heading │ │ │ │ └── heading.php │ │ │ ├── subheading │ │ │ │ └── subheading.php │ │ │ ├── content │ │ │ │ └── content.php │ │ │ ├── submessage │ │ │ │ └── submessage.php │ │ │ ├── notice │ │ │ │ └── notice.php │ │ │ ├── callback │ │ │ │ └── callback.php │ │ │ ├── text │ │ │ │ └── text.php │ │ │ ├── fieldset │ │ │ │ └── fieldset.php │ │ │ ├── color_group │ │ │ │ └── color_group.php │ │ │ ├── textarea │ │ │ │ └── textarea.php │ │ │ ├── upload │ │ │ │ └── upload.php │ │ │ ├── palette │ │ │ │ └── palette.php │ │ │ ├── switcher │ │ │ │ └── switcher.php │ │ │ ├── backup │ │ │ │ └── backup.php │ │ │ ├── gallery │ │ │ │ └── gallery.php │ │ │ ├── color │ │ │ │ └── color.php │ │ │ ├── accordion │ │ │ │ └── accordion.php │ │ │ ├── tabbed │ │ │ │ └── tabbed.php │ │ │ ├── date │ │ │ │ └── date.php │ │ │ ├── number │ │ │ │ └── number.php │ │ │ ├── code_editor │ │ │ │ └── code_editor.php │ │ │ ├── button_set │ │ │ │ └── button_set.php │ │ │ ├── spinner │ │ │ │ └── spinner.php │ │ │ ├── sortable │ │ │ │ └── sortable.php │ │ │ ├── image_select │ │ │ │ └── image_select.php │ │ │ ├── sorter │ │ │ │ └── sorter.php │ │ │ ├── slider │ │ │ │ └── slider.php │ │ │ ├── icon │ │ │ │ └── icon.php │ │ │ ├── link │ │ │ │ └── link.php │ │ │ ├── wp_editor │ │ │ │ └── wp_editor.php │ │ │ ├── radio │ │ │ │ └── radio.php │ │ │ ├── link_color │ │ │ │ └── link_color.php │ │ │ ├── checkbox │ │ │ │ └── checkbox.php │ │ │ ├── map │ │ │ │ └── map.php │ │ │ ├── media │ │ │ │ └── media.php │ │ │ └── repeater │ │ │ │ └── repeater.php │ │ ├── views │ │ │ ├── footer.php │ │ │ ├── documentation.php │ │ │ ├── support.php │ │ │ ├── quickstart.php │ │ │ ├── header.php │ │ │ └── free-vs-premium.php │ │ ├── languages │ │ │ └── zh_CN.mo │ │ ├── assets │ │ │ ├── images │ │ │ │ ├── checkerboard.png │ │ │ │ ├── wp-plugin-logo.svg │ │ │ │ └── wp-logo.svg │ │ │ └── fontawesome-free │ │ │ │ └── webfonts │ │ │ │ ├── fa-brands-400.ttf │ │ │ │ ├── fa-solid-900.ttf │ │ │ │ ├── fa-brands-400.woff2 │ │ │ │ ├── fa-regular-400.ttf │ │ │ │ ├── fa-solid-900.woff2 │ │ │ │ ├── fa-regular-400.woff2 │ │ │ │ ├── fa-v4compatibility.ttf │ │ │ │ └── fa-v4compatibility.woff2 │ │ ├── functions │ │ │ ├── sanitize.php │ │ │ ├── walker.php │ │ │ ├── helpers.php │ │ │ └── validate.php │ │ └── codestar-framework.php │ ├── images │ │ ├── list_big.png │ │ ├── list_mix.png │ │ └── list_left.png │ ├── js │ │ ├── jiangqie-ow-free-admin.js │ │ └── layer │ │ │ └── theme │ │ │ ├── default │ │ │ ├── icon.png │ │ │ ├── icon-ext.png │ │ │ ├── loading-0.gif │ │ │ ├── loading-1.gif │ │ │ └── loading-2.gif │ │ │ └── moon │ │ │ ├── default.png │ │ │ └── style.css │ ├── css │ │ └── jiangqie-ow-free-admin.css │ ├── partials │ │ ├── jiangqie-ow-free-admin-display.php │ │ ├── news.php │ │ ├── feedback.php │ │ ├── detail.php │ │ ├── overview.php │ │ ├── other.php │ │ └── global.php │ └── class-jiangqie-ow-free-admin.php │ ├── public │ ├── index.php │ ├── images │ │ ├── bdacode.jpg │ │ ├── qqacode.jpg │ │ ├── wxacode.jpg │ │ ├── default_avatar.jpg │ │ └── default_thumb.png │ ├── js │ │ └── jiangqie-ow-free-public.js │ ├── css │ │ └── jiangqie-ow-free-public.css │ ├── partials │ │ └── jiangqie-ow-free-public-display.php │ ├── rest │ │ └── class-jiangqie-ow-free-user-controller.php │ └── class-jiangqie-ow-free-public.php │ ├── includes │ ├── index.php │ ├── class-jiangqie-ow-free-deactivator.php │ ├── class-jiangqie-ow-free-i18n.php │ ├── jiangqie-ow-free-dashboard.php │ ├── class-jiangqie-ow-free-activator.php │ ├── class-jiangqie-ow-free-loader.php │ ├── class-jiangqie-ow-free-ajax.php │ ├── zhuige-market.php │ └── jiangqie-ow-free-feedback.php │ ├── uninstall.php │ ├── jiangqie-ow-free.php │ └── README.txt ├── screenshot ├── photo.png ├── banner.png ├── common.png ├── machine.png └── jiangqie.png ├── client ├── static │ ├── contact.png │ ├── share.png │ └── tabbar │ │ ├── index.png │ │ ├── mine.png │ │ ├── index_p.png │ │ ├── mine_p.png │ │ ├── discover.png │ │ └── discover_p.png ├── uni_modules │ ├── uni-load-more │ │ ├── changelog.md │ │ ├── readme.md │ │ └── package.json │ ├── mp-html │ │ ├── static │ │ │ └── app-plus │ │ │ │ └── mp-html │ │ │ │ ├── local.html │ │ │ │ └── js │ │ │ │ ├── handler.js │ │ │ │ └── uni.webview.min.js │ │ └── package.json │ └── lime-painter │ │ ├── components │ │ ├── l-painter-image │ │ │ └── l-painter-image.vue │ │ ├── l-painter-qrcode │ │ │ └── l-painter-qrcode.vue │ │ ├── l-painter-view │ │ │ └── l-painter-view.vue │ │ ├── l-painter-text │ │ │ └── l-painter-text.vue │ │ ├── l-painter │ │ │ └── props.js │ │ └── common │ │ │ └── relation.js │ │ ├── package.json │ │ └── hybrid │ │ └── html │ │ └── index.html ├── uni.promisify.adaptor.js ├── utils │ ├── config.js │ ├── alert.js │ ├── constants.js │ ├── rest.js │ └── api.js ├── main.js ├── pages.json ├── pages │ ├── webview │ │ └── webview.vue │ └── list │ │ └── list.vue ├── App.vue ├── package.json ├── uni.scss ├── components │ ├── uni-icons │ │ └── icons.js │ ├── zhuige-privacy.vue │ └── tabbar │ │ └── discovery.vue └── changelog.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .hbuilderx 2 | unpackage 3 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/languages/jiangqie-ow-free.pot: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/index.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/images/list_big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/images/list_big.png -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/images/list_mix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/images/list_mix.png -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/js/jiangqie-ow-free-admin.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | 'use strict'; 3 | 4 | $(function () { 5 | 6 | }); 7 | 8 | })(jQuery); 9 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/public/images/bdacode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/public/images/bdacode.jpg -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/public/images/qqacode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/public/images/qqacode.jpg -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/public/images/wxacode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/public/images/wxacode.jpg -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/images/list_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/images/list_left.png -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/public/js/jiangqie-ow-free-public.js: -------------------------------------------------------------------------------- 1 | (function( $ ) { 2 | 'use strict'; 3 | 4 | $(function () { 5 | 6 | }); 7 | 8 | })( jQuery ); 9 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/css/jiangqie-ow-free-admin.css: -------------------------------------------------------------------------------- 1 | /** 2 | * All of the CSS for your admin-specific functionality should be 3 | * included in this file. 4 | */ -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/public/css/jiangqie-ow-free-public.css: -------------------------------------------------------------------------------- 1 | /** 2 | * All of the CSS for your public-facing functionality should be 3 | * included in this file. 4 | */ -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/public/images/default_avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/public/images/default_avatar.jpg -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/public/images/default_thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/public/images/default_thumb.png -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/partials/jiangqie-ow-free-admin-display.php: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /client/uni_modules/uni-load-more/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.1.7(2021-03-30) 2 | - 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug 3 | ## 1.1.6(2021-02-05) 4 | - 调整为uni_modules目录规范 5 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/js/layer/theme/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/js/layer/theme/default/icon.png -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/js/layer/theme/moon/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/js/layer/theme/moon/default.png -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/js/layer/theme/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/js/layer/theme/default/icon-ext.png -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/js/layer/theme/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/js/layer/theme/default/loading-0.gif -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/js/layer/theme/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/js/layer/theme/default/loading-1.gif -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/js/layer/theme/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/js/layer/theme/default/loading-2.gif -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/languages/zh_CN.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/codestar-framework/languages/zh_CN.mo -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/assets/images/checkerboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/codestar-framework/assets/images/checkerboard.png -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-v4compatibility.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-v4compatibility.ttf -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-v4compatibility.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuige-com/jiangqie_ow_free/HEAD/plugins/jiangqie-ow-free/admin/codestar-framework/assets/fontawesome-free/webfonts/fa-v4compatibility.woff2 -------------------------------------------------------------------------------- /client/uni.promisify.adaptor.js: -------------------------------------------------------------------------------- 1 | uni.addInterceptor({ 2 | returnValue (res) { 3 | if (!(!!res && (typeof res === "object" || typeof res === "function") && typeof res.then === "function")) { 4 | return res; 5 | } 6 | return new Promise((resolve, reject) => { 7 | res.then((res) => res[0] ? reject(res[0]) : resolve(res[1])); 8 | }); 9 | }, 10 | }); -------------------------------------------------------------------------------- /client/utils/config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 不熟悉uniapp和WordPress的新朋友,请仔细阅读文档 3 | * 99%的安装部署问题都可以在文档中找到答案 4 | * 5 | * 文档:https://www.zhuige.com/docs/gwfree.html 6 | * 7 | * 隐私保护指引可参考: 8 | * ===================== 9 | * 收集你的昵称、头像 10 | * 使用你的相册(仅写入)权限 11 | * 读取你的剪切板 12 | * ===================== 13 | */ 14 | export default { 15 | //你的域名 16 | JQ_DOMAIN: 'ow.jiangqie.com' 17 | }; -------------------------------------------------------------------------------- /client/utils/alert.js: -------------------------------------------------------------------------------- 1 | function toast(msg) { 2 | uni.showToast({ 3 | icon: 'none', 4 | title: msg 5 | }); 6 | } 7 | 8 | function error(msg) { 9 | uni.showToast({ 10 | icon: 'none', 11 | title: msg 12 | }); 13 | } 14 | 15 | function success(msg) { 16 | uni.showToast({ 17 | icon: 'success', 18 | title: msg 19 | }); 20 | } 21 | 22 | export default { 23 | toast, 24 | error, 25 | success 26 | }; -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/views/documentation.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |

If you are new to Codestar Framework, here is a step-by-step plan for getting started.

4 | 5 |

Online Documentation

6 | -------------------------------------------------------------------------------- /client/utils/constants.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 追格企业官网Free 3 | * 作者: 追格 4 | * 文档: https://www.zhuige.com/docs/gwfree.html 5 | * github: https://github.com/zhuige-com/jiangqie_ow_free 6 | * gitee: https://gitee.com/zhuige_com/jiangqie_ow_free 7 | * License:GPL-2.0 8 | * Copyright © 2021-2024 www.zhuige.com All rights reserved. 9 | */ 10 | export default { 11 | // 首页弹窗广告 上次时间 12 | ZHUIGE_INDEX_MAXAD_LAST_TIME: 'zhuige_index_maxad_last_time', 13 | }; -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/public/partials/jiangqie-ow-free-public-display.php: -------------------------------------------------------------------------------- 1 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/includes/class-jiangqie-ow-free-deactivator.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /client/uni_modules/mp-html/static/app-plus/mp-html/local.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /client/uni_modules/lime-painter/components/l-painter-image/l-painter-image.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 26 | 27 | 29 | -------------------------------------------------------------------------------- /client/uni_modules/lime-painter/components/l-painter-qrcode/l-painter-qrcode.vue: -------------------------------------------------------------------------------- 1 | 3 | 4 | 25 | 26 | 28 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/views/support.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |

We are provide support forum for premium version users. You can join to support forum for submit any question after purchasing. Free version users support is limited on github.

4 | 5 |

Support Forum -(or)- Github

6 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/includes/class-jiangqie-ow-free-i18n.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 32 | 33 | 35 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/heading/heading.php: -------------------------------------------------------------------------------- 1 | field['content'] ) ) ? $this->field['content'] : ''; 20 | 21 | } 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /client/uni_modules/lime-painter/components/l-painter-text/l-painter-text.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 31 | 32 | 34 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/subheading/subheading.php: -------------------------------------------------------------------------------- 1 | field['content'] ) ) ? $this->field['content'] : ''; 20 | 21 | } 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/functions/sanitize.php: -------------------------------------------------------------------------------- 1 | field['content'] ) ) { 20 | 21 | echo $this->field['content']; 22 | 23 | } 24 | 25 | } 26 | 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /client/main.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 追格企业官网Free 3 | * 作者: 追格 4 | * 文档: https://www.zhuige.com/docs/gwfree.html 5 | * github: https://github.com/zhuige-com/jiangqie_ow_free 6 | * gitee: https://gitee.com/zhuige_com/jiangqie_ow_free 7 | * License:GPL-2.0 8 | * Copyright © 2021-2024 www.zhuige.com All rights reserved. 9 | */ 10 | 11 | import App from './App' 12 | 13 | // #ifndef VUE3 14 | import Vue from 'vue' 15 | import './uni.promisify.adaptor' 16 | Vue.config.productionTip = false 17 | App.mpType = 'app' 18 | const app = new Vue({ 19 | ...App 20 | }) 21 | app.$mount() 22 | // #endif 23 | 24 | // #ifdef VUE3 25 | import { createSSRApp } from 'vue' 26 | export function createApp() { 27 | const app = createSSRApp(App) 28 | return { 29 | app 30 | } 31 | } 32 | // #endif 33 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/codestar-framework.php: -------------------------------------------------------------------------------- 1 | 6 | * @link http://codestarframework.com 7 | * @copyright 2015-2021 Codestar 8 | * 9 | * 10 | * Plugin Name: Codestar Framework 11 | * Plugin URI: http://codestarframework.com/ 12 | * Author: Codestar 13 | * Author URI: http://codestarthemes.com/ 14 | * Version: 2.2.3 15 | * Description: A Simple and Lightweight WordPress Option Framework for Themes and Plugins 16 | * Text Domain: csf 17 | * Domain Path: /languages 18 | * 19 | */ 20 | require_once plugin_dir_path( __FILE__ ) .'classes/setup.class.php'; 21 | -------------------------------------------------------------------------------- /client/pages.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages 3 | { 4 | "path": "pages/index/index", 5 | "style": { 6 | "navigationBarTitleText": "首页" 7 | } 8 | }, 9 | { 10 | "path": "pages/list/list", 11 | "style": { 12 | "navigationBarTitleText": "最新动态" 13 | } 14 | }, 15 | { 16 | "path": "pages/detail/detail", 17 | "style": { 18 | "navigationBarTitleText": "详情" 19 | } 20 | }, { 21 | "path": "pages/webview/webview", 22 | "style": { 23 | "navigationBarTitleText": "", 24 | "enablePullDownRefresh": false 25 | } 26 | } 27 | ], 28 | "globalStyle": { 29 | "navigationBarTextStyle": "black", 30 | "navigationBarTitleText": "", 31 | "navigationBarBackgroundColor": "#F8F8F8", 32 | "backgroundColor": "#FFFFFF" 33 | } 34 | } -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/submessage/submessage.php: -------------------------------------------------------------------------------- 1 | field['style'] ) ) ? $this->field['style'] : 'normal'; 20 | 21 | echo '
'. $this->field['content'] .'
'; 22 | 23 | } 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/notice/notice.php: -------------------------------------------------------------------------------- 1 | field['style'] ) ) ? $this->field['style'] : 'normal'; 20 | 21 | echo ( ! empty( $this->field['content'] ) ) ? '
'. $this->field['content'] .'
' : ''; 22 | 23 | } 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/callback/callback.php: -------------------------------------------------------------------------------- 1 | field['function'] ) && is_callable( $this->field['function'] ) ) { 20 | 21 | $args = ( isset( $this->field['args'] ) ) ? $this->field['args'] : null; 22 | 23 | call_user_func( $this->field['function'], $args ); 24 | 25 | } 26 | 27 | } 28 | 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/functions/walker.php: -------------------------------------------------------------------------------- 1 | ID, $item, $depth, $args ); 21 | $custom_fields = ob_get_clean(); 22 | 23 | $output .= preg_replace( '/(?=<(fieldset|p)[^>]+class="[^"]*field-move)/', $custom_fields, $html ); 24 | 25 | } 26 | 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/partials/news.php: -------------------------------------------------------------------------------- 1 | 'news', 16 | 'title' => '动态设置', 17 | 'icon' => 'far fa-newspaper', 18 | 'fields' => array( 19 | 20 | array( 21 | 'id' => 'news_top_cat', 22 | 'type' => 'select', 23 | 'title' => '顶部分类', 24 | 'placeholder' => '选择分类', 25 | 'options' => 'categories', 26 | 'chosen' => true, 27 | 'multiple' => true, 28 | 'sortable' => true, 29 | ), 30 | 31 | ) 32 | )); 33 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/assets/images/wp-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/text/text.php: -------------------------------------------------------------------------------- 1 | field['attributes']['type'] ) ) ? $this->field['attributes']['type'] : 'text'; 20 | 21 | echo $this->field_before(); 22 | 23 | echo 'field_attributes() .' />'; 24 | 25 | echo $this->field_after(); 26 | 27 | } 28 | 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/partials/feedback.php: -------------------------------------------------------------------------------- 1 | 'other', 16 | 'title' => '意见反馈', 17 | 'icon' => 'fab fa-rocketchat', 18 | 'fields' => array( 19 | 20 | array( 21 | 'id' => 'feedback_background', 22 | 'type' => 'media', 23 | 'title' => '背景', 24 | 'library' => 'image', 25 | ), 26 | 27 | array( 28 | 'id' => 'feedback_link', 29 | 'type' => 'text', 30 | 'title' => '链接', 31 | 'default' => 'https://www.zhuige.com', 32 | ), 33 | ) 34 | )); 35 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/partials/detail.php: -------------------------------------------------------------------------------- 1 | 'detail', 16 | 'title' => '详情设置', 17 | 'icon' => 'fas fa-file-alt', 18 | 'fields' => array( 19 | 20 | array( 21 | 'id' => 'post_poster_switch', 22 | 'type' => 'switcher', 23 | 'title' => '分享海报是否显示', 24 | 'subtitle' => '停用/启用', 25 | 'default' => '1' 26 | ), 27 | 28 | array( 29 | 'id' => 'post_contact_switch', 30 | 'type' => 'switcher', 31 | 'title' => '在线客服是否显示', 32 | 'subtitle' => '停用/启用', 33 | 'default' => '1' 34 | ), 35 | 36 | ) 37 | )); 38 | -------------------------------------------------------------------------------- /client/pages/webview/webview.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 48 | 49 | -------------------------------------------------------------------------------- /client/utils/rest.js: -------------------------------------------------------------------------------- 1 | /** 2 | * request封装 3 | */ 4 | function request(url, data = {}, method = "GET") { 5 | return new Promise(function(resolve, reject) { 6 | uni.showLoading({ 7 | title: '加载中' 8 | }); 9 | 10 | if (method == "GET") { 11 | data.t = new Date().getTime(); 12 | data.r = Math.floor(Math.random() * 10000); 13 | } 14 | 15 | // #ifdef MP-WEIXIN 16 | data.os = 'wx'; 17 | // #endif 18 | 19 | // #ifdef MP-BAIDU 20 | data.os = 'bd'; 21 | // #endif 22 | 23 | uni.request({ 24 | url: url, 25 | data: data, 26 | method: method, 27 | success: function(res) { 28 | if (res.statusCode != 200) { 29 | reject(res.errMsg); 30 | return; 31 | } 32 | 33 | resolve(res.data); 34 | }, 35 | fail: function(err) { 36 | reject(err); 37 | }, 38 | complete: () => { 39 | uni.hideLoading(); 40 | } 41 | }); 42 | }); 43 | } 44 | 45 | /** 46 | * get请求 47 | */ 48 | function get(url, data = {}) { 49 | return request(url, data, 'GET'); 50 | } 51 | 52 | /** 53 | * post请求 54 | */ 55 | function post(url, data = {}) { 56 | return request(url, data, 'POST'); 57 | } 58 | 59 | export default { 60 | get, 61 | post, 62 | }; -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/includes/jiangqie-ow-free-dashboard.php: -------------------------------------------------------------------------------- 1 |
微信客服:jianbing2011 (加开源群、问题咨询、项目定制、购买咨询)

更多免费产品'; 16 | $res = wp_remote_get("https://www.zhuige.com/api/ad/wordpress?id=jq_xcx_ow_free", ['timeout' => 1]); 17 | if (!is_wp_error($res) && $res['response']['code'] == 200) { 18 | $data = json_decode($res['body'], TRUE); 19 | if ($data['code'] == 1) { 20 | $content = $data['data']; 21 | } 22 | } 23 | 24 | echo $content; 25 | } 26 | 27 | function jiangqie_ow_free_add_dashboard_widgets() 28 | { 29 | wp_add_dashboard_widget('jiangqie_ow_free_dashboard_widget', '追格企业官网Free', 'jiangqie_ow_free_custom_dashboard'); 30 | } 31 | 32 | add_action('wp_dashboard_setup', 'jiangqie_ow_free_add_dashboard_widgets'); 33 | -------------------------------------------------------------------------------- /client/utils/api.js: -------------------------------------------------------------------------------- 1 | import Config from "@/utils/config"; 2 | 3 | function makeURL(module, action) { 4 | return `https://${Config.JQ_DOMAIN}/wp-json/jq-ow-free/${module}/${action}`; 5 | } 6 | 7 | export default { 8 | 9 | // ---------- 资讯 ---------- 10 | 11 | /** 12 | * 获取最新文章列表 13 | */ 14 | JQ_OW_FREE_POSTS_LAST: makeURL('posts', 'last'), 15 | 16 | /** 17 | * 获取文章详情 18 | */ 19 | JQ_OW_FREE_POST_DETAIL: makeURL('posts', 'detail'), 20 | 21 | /** 22 | * 获取微信二维码 23 | */ 24 | JQ_OW_FREE_POST_WX_ACODE: makeURL('posts', 'wxacode'), 25 | 26 | /** 27 | * 获取百度二维码 28 | */ 29 | JQ_OW_FREE_POST_BD_ACODE: makeURL('posts', 'bdacode'), 30 | 31 | // ---------- 配置 ---------- 32 | 33 | /** 34 | * 获取首页配置 35 | */ 36 | JQ_OW_FREE_SETTING_HOME: makeURL('setting', 'home'), 37 | 38 | /** 39 | * 获取详情配置 40 | */ 41 | JQ_OW_FREE_SETTING_DETAIL: makeURL('setting', 'detail'), 42 | 43 | /** 44 | * 留言反馈 45 | */ 46 | JQ_OW_FREE_SETTING_FEEDBACK: makeURL('setting', 'feedback'), 47 | 48 | /** 49 | * 新闻动态 50 | */ 51 | JQ_OW_FREE_SETTING_NEWS: makeURL('setting', 'news'), 52 | 53 | // ---------- 用户 ---------- 54 | 55 | /** 56 | * 留言反馈 57 | */ 58 | JQ_OW_FREE_USER_FEEDBACK: makeURL('user', 'feedback'), 59 | 60 | }; -------------------------------------------------------------------------------- /client/uni_modules/lime-painter/components/l-painter/props.js: -------------------------------------------------------------------------------- 1 | export default { 2 | props: { 3 | board: Object, 4 | pathType: String, // 'base64'、'url' 5 | fileType: { 6 | type: String, 7 | default: 'png' 8 | }, 9 | hidden: Boolean, 10 | quality: { 11 | type: Number, 12 | default: 1 13 | }, 14 | css: [String, Object], 15 | // styles: [String, Object], 16 | width: [Number, String], 17 | height: [Number, String], 18 | pixelRatio: Number, 19 | customStyle: String, 20 | isCanvasToTempFilePath: Boolean, 21 | // useCanvasToTempFilePath: Boolean, 22 | sleep: { 23 | type: Number, 24 | default: 1000 / 30 25 | }, 26 | beforeDelay: { 27 | type: Number, 28 | default: 100 29 | }, 30 | afterDelay: { 31 | type: Number, 32 | default: 100 33 | }, 34 | performance: Boolean, 35 | // #ifdef MP-WEIXIN || MP-TOUTIAO || MP-ALIPAY 36 | type: { 37 | type: String, 38 | default: '2d' 39 | }, 40 | // #endif 41 | // #ifdef APP-NVUE 42 | hybrid: Boolean, 43 | timeout: { 44 | type: Number, 45 | default: 2000 46 | }, 47 | // #endif 48 | // #ifdef H5 || APP-PLUS 49 | useCORS: Boolean, 50 | hidpi: { 51 | type: Boolean, 52 | default: true 53 | } 54 | // #endif 55 | } 56 | } -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/partials/overview.php: -------------------------------------------------------------------------------- 1 |
微信客服:jianbing2011 (加开源群、问题咨询、项目定制、购买咨询)

更多免费产品'; 14 | if (stripos($_SERVER["REQUEST_URI"], 'jiangqie-ow-free')) { 15 | $res = wp_remote_get("https://www.zhuige.com/api/ad/wordpress?id=jq_xcx_ow_free", ['timeout' => 1]); 16 | if (!is_wp_error($res) && $res['response']['code'] == 200) { 17 | $data = json_decode($res['body'], TRUE); 18 | if ($data['code'] == 1) { 19 | $content = $data['data']; 20 | } 21 | } 22 | } 23 | 24 | // 概要 25 | CSF::createSection($prefix, array( 26 | 'title' => '概要', 27 | 'icon' => 'fas fa-rocket', 28 | 'fields' => array( 29 | 30 | array( 31 | 'type' => 'content', 32 | 'content' => $content, 33 | ), 34 | 35 | ) 36 | )); 37 | -------------------------------------------------------------------------------- /client/App.vue: -------------------------------------------------------------------------------- 1 | 58 | 59 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/functions/helpers.php: -------------------------------------------------------------------------------- 1 | =' ); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/fieldset/fieldset.php: -------------------------------------------------------------------------------- 1 | field_before(); 20 | 21 | echo '
'; 22 | 23 | foreach ( $this->field['fields'] as $field ) { 24 | 25 | $field_id = ( isset( $field['id'] ) ) ? $field['id'] : ''; 26 | $field_default = ( isset( $field['default'] ) ) ? $field['default'] : ''; 27 | $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default; 28 | $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id']; 29 | 30 | CSF::field( $field, $field_value, $unique_id, 'field/fieldset' ); 31 | 32 | } 33 | 34 | echo '
'; 35 | 36 | echo $this->field_after(); 37 | 38 | } 39 | 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/partials/other.php: -------------------------------------------------------------------------------- 1 | 'other', 16 | 'title' => '其他设置', 17 | 'icon' => 'fas fa-mouse', 18 | 'fields' => array( 19 | array( 20 | 'id' => 'other_phone_number', 21 | 'type' => 'text', 22 | 'title' => '右侧电话', 23 | 'placeholder' => '右侧电话' 24 | ), 25 | 26 | array( 27 | 'id' => 'other_phone_switch', 28 | 'type' => 'switcher', 29 | 'title' => '开启/停用', 30 | 'label' => '右侧电话', 31 | 'default' => '1' 32 | ), 33 | 34 | array( 35 | 'id' => 'other_contact_switch', 36 | 'type' => 'switcher', 37 | 'title' => '开启/停用', 38 | 'label' => '右侧客服', 39 | 'default' => '1' 40 | ), 41 | 42 | array( 43 | 'id' => 'other_feedback_switch', 44 | 'type' => 'switcher', 45 | 'title' => '开启/停用', 46 | 'label' => '右侧反馈', 47 | 'default' => '1' 48 | ), 49 | ) 50 | )); 51 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/includes/class-jiangqie-ow-free-activator.php: -------------------------------------------------------------------------------- 1 | charset)) { 21 | $charset_collate = "DEFAULT CHARACTER SET {$wpdb->charset}"; 22 | } 23 | 24 | if (!empty($wpdb->collate)) { 25 | $charset_collate .= " COLLATE {$wpdb->collate}"; 26 | } 27 | 28 | require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); 29 | 30 | //官网 反馈 31 | $table_ow_feedback = $wpdb->prefix . 'jiangqie_ow_feedback'; 32 | $sql = "CREATE TABLE IF NOT EXISTS `$table_ow_feedback` ( 33 | `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', 34 | `username` varchar(100) NOT NULL COMMENT '用户名', 35 | `phone` varchar(100) NOT NULL COMMENT '电话', 36 | `email` varchar(100) NOT NULL COMMENT 'E-mail', 37 | `content` text NOT NULL COMMENT '内容', 38 | `createtime` int(11) NOT NULL COMMENT '创建事件', 39 | PRIMARY KEY (`id`) 40 | ) $charset_collate;"; 41 | dbDelta($sql); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/color_group/color_group.php: -------------------------------------------------------------------------------- 1 | field['options'] ) ) ? $this->field['options'] : array(); 20 | 21 | echo $this->field_before(); 22 | 23 | if ( ! empty( $options ) ) { 24 | foreach ( $options as $key => $option ) { 25 | 26 | $color_value = ( ! empty( $this->value[$key] ) ) ? $this->value[$key] : ''; 27 | $default_attr = ( ! empty( $this->field['default'][$key] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'][$key] ) .'"' : ''; 28 | 29 | echo '
'; 30 | echo '
'. $option .'
'; 31 | echo 'field_attributes() .'/>'; 32 | echo '
'; 33 | 34 | } 35 | } 36 | 37 | echo $this->field_after(); 38 | 39 | } 40 | 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/textarea/textarea.php: -------------------------------------------------------------------------------- 1 | field_before(); 20 | echo $this->shortcoder(); 21 | echo ''; 22 | echo $this->field_after(); 23 | 24 | } 25 | 26 | public function shortcoder() { 27 | 28 | if ( ! empty( $this->field['shortcoder'] ) ) { 29 | 30 | $instances = ( is_array( $this->field['shortcoder'] ) ) ? $this->field['shortcoder'] : array_filter( (array) $this->field['shortcoder'] ); 31 | 32 | foreach ( $instances as $instance_key ) { 33 | 34 | if ( isset( CSF::$shortcode_instances[$instance_key] ) ) { 35 | 36 | $button_title = CSF::$shortcode_instances[$instance_key]['button_title']; 37 | 38 | echo ''. $button_title .''; 39 | 40 | } 41 | 42 | } 43 | 44 | } 45 | 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/upload/upload.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'library' => array(), 21 | 'button_title' => esc_html__( 'Upload', 'csf' ), 22 | 'remove_title' => esc_html__( 'Remove', 'csf' ), 23 | ) ); 24 | 25 | echo $this->field_before(); 26 | 27 | $library = ( is_array( $args['library'] ) ) ? $args['library'] : array_filter( (array) $args['library'] ); 28 | $library = ( ! empty( $library ) ) ? implode(',', $library ) : ''; 29 | $hidden = ( empty( $this->value ) ) ? ' hidden' : ''; 30 | 31 | echo '
'; 32 | echo 'field_attributes() .'/>'; 33 | echo ''. $args['button_title'] .''; 34 | echo ''. $args['remove_title'] .''; 35 | echo '
'; 36 | 37 | echo $this->field_after(); 38 | 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /client/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "jiangqie-ow-free", 3 | "name": "追格企业官网Free(含后端)-WordPress新闻资讯博客多端小程序", 4 | "version": "1.8.2", 5 | "description": "追格企业官网小程序,追格专为中小企业开发的轻量级企业建站小程序", 6 | "keywords": [ 7 | "官网", 8 | "企业站", 9 | "WordPress", 10 | "资讯", 11 | "留言" 12 | ], 13 | "displayName": "追格企业官网Free(含后端)-WordPress新闻资讯博客多端小程序", 14 | "repository": "https://gitee.com/zhuige_com/jiangqie_ow_free", 15 | "engines": { 16 | "HBuilderX": "^3.91" 17 | }, 18 | "dcloudext": { 19 | "sale": { 20 | "regular": { 21 | "price": "0.00" 22 | }, 23 | "sourcecode": { 24 | "price": "0.00" 25 | } 26 | }, 27 | "contact": { 28 | "qq": "" 29 | }, 30 | "declaration": { 31 | "ads": "无", 32 | "data": "无", 33 | "permissions": "无" 34 | }, 35 | "npmurl": "", 36 | "type": "uniapp-template-project" 37 | }, 38 | "uni_modules": { 39 | "platforms": { 40 | "cloud": { 41 | "tcb": "y", 42 | "aliyun": "y", 43 | "alipay": "n" 44 | }, 45 | "client": { 46 | "App": { 47 | "app-vue": "u", 48 | "app-nvue": "u" 49 | }, 50 | "H5-mobile": { 51 | "Safari": "y", 52 | "Android Browser": "y", 53 | "微信浏览器(Android)": "y", 54 | "QQ浏览器(Android)": "y" 55 | }, 56 | "H5-pc": { 57 | "Chrome": "u", 58 | "IE": "u", 59 | "Edge": "u", 60 | "Firefox": "u", 61 | "Safari": "u" 62 | }, 63 | "小程序": { 64 | "微信": "y", 65 | "阿里": "u", 66 | "百度": "y", 67 | "字节跳动": "y", 68 | "QQ": "y" 69 | }, 70 | "快应用": { 71 | "华为": "u", 72 | "联盟": "u" 73 | }, 74 | "Vue": { 75 | "vue2": "y", 76 | "vue3": "u" 77 | } 78 | } 79 | } 80 | } 81 | } -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/palette/palette.php: -------------------------------------------------------------------------------- 1 | field['options'] ) ) ? $this->field['options'] : array(); 20 | 21 | echo $this->field_before(); 22 | 23 | if ( ! empty( $palette ) ) { 24 | 25 | echo '
'; 26 | 27 | foreach ( $palette as $key => $colors ) { 28 | 29 | $active = ( $key === $this->value ) ? ' csf--active' : ''; 30 | $checked = ( $key === $this->value ) ? ' checked' : ''; 31 | 32 | echo '
'; 33 | 34 | if ( ! empty( $colors ) ) { 35 | 36 | foreach ( $colors as $color ) { 37 | 38 | echo ''; 39 | 40 | } 41 | 42 | } 43 | 44 | echo 'field_attributes() . esc_attr( $checked ) .'/>'; 45 | echo '
'; 46 | 47 | } 48 | 49 | echo '
'; 50 | 51 | } 52 | 53 | echo $this->field_after(); 54 | 55 | } 56 | 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /client/uni_modules/uni-load-more/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ### LoadMore 加载更多 4 | > **组件名:uni-load-more** 5 | > 代码块: `uLoadMore` 6 | 7 | 8 | 用于列表中,做滚动加载使用,展示 loading 的各种状态。 9 | 10 | ### 安装方式 11 | 12 | 本组件符合[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)规范,`HBuilderX 2.5.5`起,只需将本组件导入项目,在页面`template`中即可直接使用,无需在页面中`import`和注册`components`。 13 | 14 | 如需通过`npm`方式使用`uni-ui`组件,另见文档:[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55) 15 | 16 | ### 使用方式 17 | 18 | 在 ``template`` 中使用组件 19 | 20 | ```html 21 | 22 | ``` 23 | 24 | ## API 25 | 26 | ### LoadMore Props 27 | 28 | |属性名 |类型 | 可选值 |默认值 |说明 | 29 | |:-: |:-: |:-: |:-: |:-: | 30 | |iconSize |Number |- |24 |指定图标大小 | 31 | |status |String |more/loading/noMore |more |loading 的状态 | 32 | |showIcon |Boolean|- |true |是否显示 loading 图标 | 33 | |iconType |String |snow/circle/auto |auto |指定图标样式| 34 | |color |String |- |#777777 |图标和文字颜色 | 35 | |contentText|Object|- |{contentdown: "上拉显示更多",contentrefresh: "正在加载...",contentnomore: "没有更多数据了"}|各状态文字说明 | 36 | 37 | 38 | #### Status Options 39 | |参数名称 |说明 | 40 | |:-: |:-: | 41 | |more |loading前 | 42 | |loading|loading前中 | 43 | |more |没有更多数据 | 44 | 45 | #### IconType Options 46 | |参数名称 |说明 | 47 | |:-: |:-: | 48 | |snow |ios雪花加载样式 | 49 | |circle |安卓环形加载样式 | 50 | |auto |根据平台自动选择加载样式 | 51 | 52 | 53 | 54 | 55 | > **说明** 56 | > `iconType`为`snow`时,在`APP-NVUE`平台不可设置大小,在非`APP-NVUE`平台不可设置颜色 57 | 58 | 59 | 60 | ### 事件说明 61 | 62 | |事件名 |说明 |返回值 | 63 | |:-: |:-: |:-: | 64 | |clickLoadMore |点击加载更多时触发 |e.detail={status:'loading'}| 65 | 66 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/switcher/switcher.php: -------------------------------------------------------------------------------- 1 | value ) ) ? ' csf--active' : ''; 20 | $text_on = ( ! empty( $this->field['text_on'] ) ) ? $this->field['text_on'] : esc_html__( 'On', 'csf' ); 21 | $text_off = ( ! empty( $this->field['text_off'] ) ) ? $this->field['text_off'] : esc_html__( 'Off', 'csf' ); 22 | $text_width = ( ! empty( $this->field['text_width'] ) ) ? ' style="width: '. esc_attr( $this->field['text_width'] ) .'px;"': ''; 23 | 24 | echo $this->field_before(); 25 | 26 | echo '
'; 27 | echo ''. esc_attr( $text_on ) .''; 28 | echo ''. esc_attr( $text_off ) .''; 29 | echo ''; 30 | echo 'field_attributes() .' />'; 31 | echo '
'; 32 | 33 | echo ( ! empty( $this->field['label'] ) ) ? ''. esc_attr( $this->field['label'] ) . '' : ''; 34 | 35 | echo $this->field_after(); 36 | 37 | } 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/public/rest/class-jiangqie-ow-free-user-controller.php: -------------------------------------------------------------------------------- 1 | module = 'user'; 19 | $this->routes = [ 20 | 'feedback' => 'feedback', 21 | ]; 22 | } 23 | 24 | /** 25 | * 留言反馈 26 | */ 27 | public function feedback($request) 28 | { 29 | $username = $this->param_value($request, 'username', ''); 30 | if (empty($username)) { 31 | return $this->make_error('姓名不可为空'); 32 | } 33 | 34 | $phone = $this->param_value($request, 'phone', ''); 35 | if (empty($phone)) { 36 | return $this->make_error('电话不可为空'); 37 | } 38 | 39 | $email = $this->param_value($request, 'email', ''); 40 | // if (empty($email)) { 41 | // return $this->make_error('邮箱不可为空'); 42 | // } 43 | 44 | $content = $this->param_value($request, 'content', ''); 45 | if (empty($content)) { 46 | return $this->make_error('内容不可为空'); 47 | } 48 | 49 | if (!$this->msg_sec_check($username . $phone . $email . $content)) { 50 | return $this->make_error('请勿发布敏感信息'); 51 | } 52 | 53 | global $wpdb; 54 | $table_ow_feedback = $wpdb->prefix . 'jiangqie_ow_feedback'; 55 | $wpdb->insert($table_ow_feedback, [ 56 | 'username' => $username, 'phone' => $phone, 'email' => $email, 'content' => $content, 'createtime' => time() 57 | ]); 58 | 59 | return $this->make_success(''); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/includes/class-jiangqie-ow-free-loader.php: -------------------------------------------------------------------------------- 1 | actions = array(); 22 | $this->filters = array(); 23 | } 24 | 25 | public function add_action($hook, $component, $callback, $priority = 10, $accepted_args = 1) 26 | { 27 | $this->actions = $this->add($this->actions, $hook, $component, $callback, $priority, $accepted_args); 28 | } 29 | 30 | public function add_filter($hook, $component, $callback, $priority = 10, $accepted_args = 1) 31 | { 32 | $this->filters = $this->add($this->filters, $hook, $component, $callback, $priority, $accepted_args); 33 | } 34 | 35 | private function add($hooks, $hook, $component, $callback, $priority, $accepted_args) 36 | { 37 | $hooks[] = array( 38 | 'hook' => $hook, 39 | 'component' => $component, 40 | 'callback' => $callback, 41 | 'priority' => $priority, 42 | 'accepted_args' => $accepted_args 43 | ); 44 | 45 | return $hooks; 46 | } 47 | 48 | public function run() 49 | { 50 | foreach ($this->filters as $hook) { 51 | add_filter($hook['hook'], array($hook['component'], $hook['callback']), $hook['priority'], $hook['accepted_args']); 52 | } 53 | 54 | foreach ($this->actions as $hook) { 55 | add_action($hook['hook'], array($hook['component'], $hook['callback']), $hook['priority'], $hook['accepted_args']); 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/backup/backup.php: -------------------------------------------------------------------------------- 1 | unique; 20 | $nonce = wp_create_nonce( 'csf_backup_nonce' ); 21 | $export = add_query_arg( array( 'action' => 'csf-export', 'unique' => $unique, 'nonce' => $nonce ), admin_url( 'admin-ajax.php' ) ); 22 | 23 | echo $this->field_before(); 24 | 25 | echo ''; 26 | echo ''; 27 | echo '
'; 28 | echo ''; 29 | echo ''. esc_html__( 'Export & Download', 'csf' ) .''; 30 | echo '
'; 31 | echo ''; 32 | 33 | echo $this->field_after(); 34 | 35 | } 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /client/uni_modules/uni-load-more/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-load-more", 3 | "displayName": "LoadMore 加载更多", 4 | "version": "1.1.7", 5 | "description": "LoadMore 组件,常用在列表里面,做滚动加载使用。", 6 | "keywords": [ 7 | "loadmore", 8 | "uni-ui", 9 | "加载更多", 10 | "load-more" 11 | ], 12 | "repository": "https://github.com/dcloudio/uni-ui", 13 | "engines": { 14 | "HBuilderX": "" 15 | }, 16 | "directories": { 17 | "example": "../../temps/example_temps" 18 | }, 19 | "dcloudext": { 20 | "category": [ 21 | "前端组件", 22 | "通用组件" 23 | ], 24 | "sale": { 25 | "regular": { 26 | "price": "0.00" 27 | }, 28 | "sourcecode": { 29 | "price": "0.00" 30 | } 31 | }, 32 | "contact": { 33 | "qq": "" 34 | }, 35 | "declaration": { 36 | "ads": "无", 37 | "data": "无", 38 | "permissions": "无" 39 | }, 40 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" 41 | }, 42 | "uni_modules": { 43 | "dependencies": [], 44 | "encrypt": [], 45 | "platforms": { 46 | "cloud": { 47 | "tcb": "y", 48 | "aliyun": "y" 49 | }, 50 | "client": { 51 | "App": { 52 | "app-vue": "y", 53 | "app-nvue": "y" 54 | }, 55 | "H5-mobile": { 56 | "Safari": "y", 57 | "Android Browser": "y", 58 | "微信浏览器(Android)": "y", 59 | "QQ浏览器(Android)": "y" 60 | }, 61 | "H5-pc": { 62 | "Chrome": "y", 63 | "IE": "y", 64 | "Edge": "y", 65 | "Firefox": "y", 66 | "Safari": "y" 67 | }, 68 | "小程序": { 69 | "微信": "y", 70 | "阿里": "y", 71 | "百度": "y", 72 | "字节跳动": "y", 73 | "QQ": "y" 74 | }, 75 | "快应用": { 76 | "华为": "u", 77 | "联盟": "u" 78 | } 79 | } 80 | } 81 | } 82 | } -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/gallery/gallery.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'add_title' => esc_html__( 'Add Gallery', 'csf' ), 21 | 'edit_title' => esc_html__( 'Edit Gallery', 'csf' ), 22 | 'clear_title' => esc_html__( 'Clear', 'csf' ), 23 | ) ); 24 | 25 | $hidden = ( empty( $this->value ) ) ? ' hidden' : ''; 26 | 27 | echo $this->field_before(); 28 | 29 | echo ''; 41 | 42 | echo ''. $args['add_title'] .''; 43 | echo ''. $args['edit_title'] .''; 44 | echo ''. $args['clear_title'] .''; 45 | echo 'field_attributes() .'/>'; 46 | 47 | echo $this->field_after(); 48 | 49 | } 50 | 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /client/uni.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * 这里是uni-app内置的常用样式变量 3 | * 4 | * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 5 | * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App 6 | * 7 | */ 8 | 9 | /** 10 | * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 11 | * 12 | * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 13 | */ 14 | 15 | /* 颜色变量 */ 16 | 17 | /* 行为相关颜色 */ 18 | $uni-color-primary: #007aff; 19 | $uni-color-success: #4cd964; 20 | $uni-color-warning: #f0ad4e; 21 | $uni-color-error: #dd524d; 22 | 23 | /* 文字基本颜色 */ 24 | $uni-text-color:#333;//基本色 25 | $uni-text-color-inverse:#fff;//反色 26 | $uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 27 | $uni-text-color-placeholder: #808080; 28 | $uni-text-color-disable:#c0c0c0; 29 | 30 | /* 背景颜色 */ 31 | $uni-bg-color:#ffffff; 32 | $uni-bg-color-grey:#f8f8f8; 33 | $uni-bg-color-hover:#f1f1f1;//点击状态颜色 34 | $uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 35 | 36 | /* 边框颜色 */ 37 | $uni-border-color:#c8c7cc; 38 | 39 | /* 尺寸变量 */ 40 | 41 | /* 文字尺寸 */ 42 | $uni-font-size-sm:12px; 43 | $uni-font-size-base:14px; 44 | $uni-font-size-lg:16px; 45 | 46 | /* 图片尺寸 */ 47 | $uni-img-size-sm:20px; 48 | $uni-img-size-base:26px; 49 | $uni-img-size-lg:40px; 50 | 51 | /* Border Radius */ 52 | $uni-border-radius-sm: 2px; 53 | $uni-border-radius-base: 3px; 54 | $uni-border-radius-lg: 6px; 55 | $uni-border-radius-circle: 50%; 56 | 57 | /* 水平间距 */ 58 | $uni-spacing-row-sm: 5px; 59 | $uni-spacing-row-base: 10px; 60 | $uni-spacing-row-lg: 15px; 61 | 62 | /* 垂直间距 */ 63 | $uni-spacing-col-sm: 4px; 64 | $uni-spacing-col-base: 8px; 65 | $uni-spacing-col-lg: 12px; 66 | 67 | /* 透明度 */ 68 | $uni-opacity-disabled: 0.3; // 组件禁用态的透明度 69 | 70 | /* 文章场景相关 */ 71 | $uni-color-title: #2C405A; // 文章标题颜色 72 | $uni-font-size-title:20px; 73 | $uni-color-subtitle: #555555; // 二级标题颜色 74 | $uni-font-size-subtitle:26px; 75 | $uni-color-paragraph: #3F536E; // 文章段落颜色 76 | $uni-font-size-paragraph:15px; 77 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/views/quickstart.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |

Let's quick start it.

4 |

Open your current theme functions.php file and paste this code.

5 | 6 |
7 |
 8 | // Control core classes for avoid errors
 9 | if ( class_exists( 'CSF' ) ) {
10 | 
11 |   //
12 |   // Set a unique slug-like ID
13 |   $prefix = 'my_framework';
14 | 
15 |   //
16 |   // Create options
17 |   CSF::createOptions( $prefix, array(
18 |     'menu_title' => 'My Framework',
19 |     'menu_slug'  => 'my-framework',
20 |   ) );
21 | 
22 |   //
23 |   // Create a section
24 |   CSF::createSection( $prefix, array(
25 |     'title'  => 'Tab Title 1',
26 |     'fields' => array(
27 | 
28 |       //
29 |       // A text field
30 |       array(
31 |         'id'    => 'opt-text',
32 |         'type'  => 'text',
33 |         'title' => 'Simple Text',
34 |       ),
35 | 
36 |     )
37 |   ) );
38 | 
39 |   CSF::createSection( $prefix, array(
40 |     'title'  => 'Tab Title 2',
41 |     'fields' => array(
42 | 
43 |       array(
44 |         'id'    => 'opt-textarea',
45 |         'type'  => 'textarea',
46 |         'title' => 'Simple Textarea',
47 |       ),
48 | 
49 |     )
50 |   ) );
51 | 
52 | }
53 | 
54 |
55 | 56 |

How to get option value ?

57 | 58 |
59 |
60 | $options = get_option( 'my_framework' ); // // unique id of the framework
61 | 
62 | echo $options['opt-text']; // id of field
63 | echo $options['opt-textarea']; // id of field
64 | 
65 |
66 | 67 |

Online Documentation

68 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/public/class-jiangqie-ow-free-public.php: -------------------------------------------------------------------------------- 1 | jiangqie_ow_free = $jiangqie_ow_free; 23 | $this->version = $version; 24 | } 25 | 26 | public function plugin_init() 27 | { 28 | $token = ''; 29 | if (isset($_GET['token'])) { 30 | $token = sanitize_text_field(wp_unslash($_GET['token'])); 31 | } else if (isset($_POST['token'])) { 32 | $token = sanitize_text_field(wp_unslash($_POST['token'])); 33 | } else { 34 | $json = json_decode(file_get_contents('php://input'), TRUE); 35 | if ($json && isset($json['token'])) { 36 | $token = $json['token']; 37 | } 38 | } 39 | 40 | if (empty($token) || $token == 'false') { 41 | return; 42 | } 43 | 44 | global $wpdb; 45 | $table_usermeta = $wpdb->prefix . 'usermeta'; 46 | $user_id = $wpdb->get_var( 47 | $wpdb->prepare( 48 | "SELECT user_id FROM `$table_usermeta` WHERE meta_key='jiangqie_token' AND meta_value='%s'", 49 | $token 50 | ) 51 | ); 52 | 53 | if ($user_id) { 54 | wp_set_current_user($user_id); 55 | } 56 | } 57 | 58 | public function enqueue_styles() 59 | { 60 | wp_enqueue_style($this->jiangqie_ow_free, JIANGQIE_OW_FREE_BASE_URL . 'public/css/jiangqie-ow-free-public.css', array(), $this->version, 'all'); 61 | } 62 | 63 | public function enqueue_scripts() 64 | { 65 | wp_enqueue_script($this->jiangqie_ow_free, JIANGQIE_OW_FREE_BASE_URL . 'public/js/jiangqie-ow-free-public.js', array('jquery'), $this->version, false); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/color/color.php: -------------------------------------------------------------------------------- 1 | field['default'] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'] ) .'"' : ''; 20 | 21 | echo $this->field_before(); 22 | echo 'field_attributes() .'/>'; 23 | echo $this->field_after(); 24 | 25 | } 26 | 27 | public function output() { 28 | 29 | $output = ''; 30 | $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] ); 31 | $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : ''; 32 | $mode = ( ! empty( $this->field['output_mode'] ) ) ? $this->field['output_mode'] : 'color'; 33 | 34 | if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) { 35 | foreach ( $elements as $key_property => $element ) { 36 | if ( is_numeric( $key_property ) ) { 37 | $output = implode( ',', $elements ) .'{'. $mode .':'. $this->value . $important .';}'; 38 | break; 39 | } else { 40 | $output .= $element .'{'. $key_property .':'. $this->value . $important .'}'; 41 | } 42 | } 43 | } 44 | 45 | $this->parent->output_css .= $output; 46 | 47 | return $output; 48 | 49 | } 50 | 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/jiangqie-ow-free.php: -------------------------------------------------------------------------------- 1 | 设置'; 42 | $actions[] = '技术支持'; 43 | return $actions; 44 | } 45 | add_filter('plugin_action_links_' . JIANGQIE_OW_FREE_BASE_NAME, 'jiangqie_ow_free_action_links'); 46 | 47 | require JIANGQIE_OW_FREE_BASE_DIR . 'includes/class-jiangqie-ow-free.php'; 48 | require JIANGQIE_OW_FREE_BASE_DIR . 'includes/zhuige-market.php'; 49 | require JIANGQIE_OW_FREE_BASE_DIR . 'includes/jiangqie-function.php'; 50 | require JIANGQIE_OW_FREE_BASE_DIR . 'includes/jiangqie-ow-free-dashboard.php'; 51 | require JIANGQIE_OW_FREE_BASE_DIR . 'includes/jiangqie-ow-free-feedback.php'; 52 | 53 | function run_jiangqie_ow_free() 54 | { 55 | $plugin = new Jiangqie_Ow_Free(); 56 | $plugin->run(); 57 | } 58 | run_jiangqie_ow_free(); 59 | -------------------------------------------------------------------------------- /client/uni_modules/lime-painter/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "lime-painter", 3 | "displayName": "海报画板", 4 | "version": "1.9.6.5", 5 | "description": "一款canvas海报组件,更优雅的海报生成方案,有限的支持富文本", 6 | "keywords": [ 7 | "海报", 8 | "富文本", 9 | "生成海报", 10 | "生成二维码", 11 | "JSON" 12 | ], 13 | "repository": "https://gitee.com/liangei/lime-painter", 14 | "engines": { 15 | "HBuilderX": "^3.4.14" 16 | }, 17 | "dcloudext": { 18 | "sale": { 19 | "regular": { 20 | "price": "0.00" 21 | }, 22 | "sourcecode": { 23 | "price": "0.00" 24 | } 25 | }, 26 | "contact": { 27 | "qq": "305716444" 28 | }, 29 | "declaration": { 30 | "ads": "无", 31 | "data": "无", 32 | "permissions": "无" 33 | }, 34 | "npmurl": "", 35 | "type": "component-vue" 36 | }, 37 | "uni_modules": { 38 | "dependencies": [], 39 | "encrypt": [], 40 | "platforms": { 41 | "cloud": { 42 | "tcb": "y", 43 | "aliyun": "y", 44 | "alipay": "n" 45 | }, 46 | "client": { 47 | "App": { 48 | "app-vue": "y", 49 | "app-nvue": "y" 50 | }, 51 | "H5-mobile": { 52 | "Safari": "y", 53 | "Android Browser": "y", 54 | "微信浏览器(Android)": "y", 55 | "QQ浏览器(Android)": "y" 56 | }, 57 | "H5-pc": { 58 | "Chrome": "y", 59 | "IE": "u", 60 | "Edge": "u", 61 | "Firefox": "u", 62 | "Safari": "y" 63 | }, 64 | "小程序": { 65 | "微信": "y", 66 | "阿里": "y", 67 | "百度": "y", 68 | "字节跳动": "y", 69 | "QQ": "y", 70 | "钉钉": "u", 71 | "快手": "u", 72 | "飞书": "u", 73 | "京东": "u" 74 | }, 75 | "快应用": { 76 | "华为": "u", 77 | "联盟": "u" 78 | }, 79 | "Vue": { 80 | "vue2": "y", 81 | "vue3": "y" 82 | } 83 | } 84 | } 85 | }, 86 | "name": "lime-painter", 87 | "main": "index.js", 88 | "scripts": { 89 | "test": "echo \"Error: no test specified\" && exit 1" 90 | }, 91 | "author": "", 92 | "license": "ISC" 93 | } 94 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/accordion/accordion.php: -------------------------------------------------------------------------------- 1 | field_before(); 22 | 23 | echo '
'; 24 | 25 | foreach ( $this->field['accordions'] as $key => $accordion ) { 26 | 27 | echo '
'; 28 | 29 | $icon = ( ! empty( $accordion['icon'] ) ) ? 'csf--icon '. $accordion['icon'] : 'csf-accordion-icon fas fa-angle-right'; 30 | 31 | echo '

'; 32 | echo ''; 33 | echo esc_html( $accordion['title'] ); 34 | echo '

'; 35 | 36 | echo '
'; 37 | 38 | foreach ( $accordion['fields'] as $field ) { 39 | 40 | if ( in_array( $field['type'], $unallows ) ) { $field['_notice'] = true; } 41 | 42 | $field_id = ( isset( $field['id'] ) ) ? $field['id'] : ''; 43 | $field_default = ( isset( $field['default'] ) ) ? $field['default'] : ''; 44 | $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default; 45 | $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id']; 46 | 47 | CSF::field( $field, $field_value, $unique_id, 'field/accordion' ); 48 | 49 | } 50 | 51 | echo '
'; 52 | 53 | echo '
'; 54 | 55 | } 56 | 57 | echo '
'; 58 | 59 | echo $this->field_after(); 60 | 61 | } 62 | 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/views/header.php: -------------------------------------------------------------------------------- 1 | 'About', 10 | 'quickstart' => 'Quick Start', 11 | 'documentation' => 'Documentation', 12 | 'free-vs-premium' => 'Free vs Premium', 13 | 'support' => 'Support', 14 | 'relnotes' => 'Release Notes', 15 | ); 16 | 17 | ?> 18 |
19 | 20 |

Welcome to Codestar Framework v

21 | 22 |

A Simple and Lightweight WordPress Option Framework for Themes and Plugins

23 | 24 |

Demo

25 | 26 | 35 | 36 | 51 | -------------------------------------------------------------------------------- /client/uni_modules/mp-html/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "mp-html", 3 | "displayName": "mp-html 富文本组件【全端支持,支持编辑、latex等扩展】", 4 | "version": "v2.5.0", 5 | "description": "一个强大的富文本组件,高效轻量,功能丰富", 6 | "keywords": [ 7 | "富文本", 8 | "编辑器", 9 | "html", 10 | "rich-text", 11 | "editor" 12 | ], 13 | "repository": "https://github.com/jin-yufeng/mp-html", 14 | "dcloudext": { 15 | "sale": { 16 | "regular": { 17 | "price": "0.00" 18 | }, 19 | "sourcecode": { 20 | "price": "0.00" 21 | } 22 | }, 23 | "contact": { 24 | "qq": "" 25 | }, 26 | "declaration": { 27 | "ads": "无", 28 | "data": "无", 29 | "permissions": "无" 30 | }, 31 | "npmurl": "https://www.npmjs.com/package/mp-html", 32 | "type": "component-vue" 33 | }, 34 | "uni_modules": { 35 | "platforms": { 36 | "cloud": { 37 | "tcb": "y", 38 | "aliyun": "y" 39 | }, 40 | "client": { 41 | "App": { 42 | "app-vue": "y", 43 | "app-nvue": "y" 44 | }, 45 | "H5-mobile": { 46 | "Safari": "y", 47 | "Android Browser": "y", 48 | "微信浏览器(Android)": "y", 49 | "QQ浏览器(Android)": "y" 50 | }, 51 | "H5-pc": { 52 | "Chrome": "y", 53 | "IE": "u", 54 | "Edge": "y", 55 | "Firefox": "y", 56 | "Safari": "y" 57 | }, 58 | "小程序": { 59 | "微信": "y", 60 | "阿里": "y", 61 | "百度": "y", 62 | "字节跳动": "y", 63 | "QQ": "y" 64 | }, 65 | "快应用": { 66 | "华为": "y", 67 | "联盟": "y" 68 | }, 69 | "Vue": { 70 | "vue2": "y", 71 | "vue3": "y" 72 | } 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/tabbed/tabbed.php: -------------------------------------------------------------------------------- 1 | field_before(); 22 | 23 | echo '
'; 24 | foreach ( $this->field['tabs'] as $key => $tab ) { 25 | 26 | $tabbed_icon = ( ! empty( $tab['icon'] ) ) ? '' : ''; 27 | $tabbed_active = ( empty( $key ) ) ? 'csf-tabbed-active' : ''; 28 | 29 | echo ''. $tabbed_icon . esc_attr( $tab['title'] ) .''; 30 | 31 | } 32 | echo '
'; 33 | 34 | echo '
'; 35 | foreach ( $this->field['tabs'] as $key => $tab ) { 36 | 37 | $tabbed_hidden = ( ! empty( $key ) ) ? ' hidden' : ''; 38 | 39 | echo '
'; 40 | 41 | foreach ( $tab['fields'] as $field ) { 42 | 43 | if ( in_array( $field['type'], $unallows ) ) { $field['_notice'] = true; } 44 | 45 | $field_id = ( isset( $field['id'] ) ) ? $field['id'] : ''; 46 | $field_default = ( isset( $field['default'] ) ) ? $field['default'] : ''; 47 | $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default; 48 | $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id']; 49 | 50 | CSF::field( $field, $field_value, $unique_id, 'field/tabbed' ); 51 | 52 | } 53 | 54 | echo '
'; 55 | 56 | } 57 | echo '
'; 58 | 59 | echo $this->field_after(); 60 | 61 | } 62 | 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/date/date.php: -------------------------------------------------------------------------------- 1 | 'mm/dd/yy', 21 | ); 22 | 23 | $settings = ( ! empty( $this->field['settings'] ) ) ? $this->field['settings'] : array(); 24 | $settings = wp_parse_args( $settings, $default_settings ); 25 | 26 | echo $this->field_before(); 27 | 28 | if ( ! empty( $this->field['from_to'] ) ) { 29 | 30 | $args = wp_parse_args( $this->field, array( 31 | 'text_from' => esc_html__( 'From', 'csf' ), 32 | 'text_to' => esc_html__( 'To', 'csf' ), 33 | ) ); 34 | 35 | $value = wp_parse_args( $this->value, array( 36 | 'from' => '', 37 | 'to' => '', 38 | ) ); 39 | 40 | echo ''; 41 | echo ''; 42 | 43 | } else { 44 | 45 | echo 'field_attributes() .'/>'; 46 | 47 | } 48 | 49 | echo '
'; 50 | 51 | echo $this->field_after(); 52 | 53 | } 54 | 55 | public function enqueue() { 56 | 57 | if ( ! wp_script_is( 'jquery-ui-datepicker' ) ) { 58 | wp_enqueue_script( 'jquery-ui-datepicker' ); 59 | } 60 | 61 | } 62 | 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/number/number.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'unit' => '', 21 | ) ); 22 | 23 | echo $this->field_before(); 24 | echo '
'; 25 | echo 'field_attributes( array( 'class' => 'csf-input-number' ) ) .' step="any" />'; 26 | echo ( ! empty( $args['unit'] ) ) ? ''. esc_attr( $args['unit'] ) .'' : ''; 27 | echo '
'; 28 | echo $this->field_after(); 29 | 30 | } 31 | 32 | public function output() { 33 | 34 | $output = ''; 35 | $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] ); 36 | $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : ''; 37 | $mode = ( ! empty( $this->field['output_mode'] ) ) ? $this->field['output_mode'] : 'width'; 38 | $unit = ( ! empty( $this->field['unit'] ) ) ? $this->field['unit'] : 'px'; 39 | 40 | if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) { 41 | foreach ( $elements as $key_property => $element ) { 42 | if ( is_numeric( $key_property ) ) { 43 | if ( $mode ) { 44 | $output = implode( ',', $elements ) .'{'. $mode .':'. $this->value . $unit . $important .';}'; 45 | } 46 | break; 47 | } else { 48 | $output .= $element .'{'. $key_property .':'. $this->value . $unit . $important .'}'; 49 | } 50 | } 51 | } 52 | 53 | $this->parent->output_css .= $output; 54 | 55 | return $output; 56 | 57 | } 58 | 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/code_editor/code_editor.php: -------------------------------------------------------------------------------- 1 | 2, 24 | 'lineNumbers' => true, 25 | 'theme' => 'default', 26 | 'mode' => 'htmlmixed', 27 | 'cdnURL' => $this->cdn_url . $this->version, 28 | ); 29 | 30 | $settings = ( ! empty( $this->field['settings'] ) ) ? $this->field['settings'] : array(); 31 | $settings = wp_parse_args( $settings, $default_settings ); 32 | 33 | echo $this->field_before(); 34 | echo ''; 35 | echo $this->field_after(); 36 | 37 | } 38 | 39 | public function enqueue() { 40 | 41 | $page = ( ! empty( $_GET[ 'page' ] ) ) ? sanitize_text_field( wp_unslash( $_GET[ 'page' ] ) ) : ''; 42 | 43 | // Do not loads CodeMirror in revslider page. 44 | if ( in_array( $page, array( 'revslider' ) ) ) { return; } 45 | 46 | return; 47 | 48 | if ( ! wp_script_is( 'csf-codemirror' ) ) { 49 | wp_enqueue_script( 'csf-codemirror', esc_url( $this->cdn_url . $this->version .'/lib/codemirror.min.js' ), array( 'csf' ), $this->version, true ); 50 | wp_enqueue_script( 'csf-codemirror-loadmode', esc_url( $this->cdn_url . $this->version .'/addon/mode/loadmode.min.js' ), array( 'csf-codemirror' ), $this->version, true ); 51 | } 52 | 53 | if ( ! wp_style_is( 'csf-codemirror' ) ) { 54 | wp_enqueue_style( 'csf-codemirror', esc_url( $this->cdn_url . $this->version .'/lib/codemirror.min.css' ), array(), $this->version ); 55 | } 56 | 57 | } 58 | 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/button_set/button_set.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'multiple' => false, 21 | 'options' => array(), 22 | 'query_args' => array(), 23 | ) ); 24 | 25 | $value = ( is_array( $this->value ) ) ? $this->value : array_filter( (array) $this->value ); 26 | 27 | echo $this->field_before(); 28 | 29 | if ( isset( $this->field['options'] ) ) { 30 | 31 | $options = $this->field['options']; 32 | $options = ( is_array( $options ) ) ? $options : array_filter( $this->field_data( $options, false, $args['query_args'] ) ); 33 | 34 | if ( is_array( $options ) && ! empty( $options ) ) { 35 | 36 | echo '
'; 37 | 38 | foreach ( $options as $key => $option ) { 39 | 40 | $type = ( $args['multiple'] ) ? 'checkbox' : 'radio'; 41 | $extra = ( $args['multiple'] ) ? '[]' : ''; 42 | $active = ( in_array( $key, $value ) || ( empty( $value ) && empty( $key ) ) ) ? ' csf--active' : ''; 43 | $checked = ( in_array( $key, $value ) || ( empty( $value ) && empty( $key ) ) ) ? ' checked' : ''; 44 | 45 | echo '
'; 46 | echo 'field_attributes() . esc_attr( $checked ) .'/>'; 47 | echo $option; 48 | echo '
'; 49 | 50 | } 51 | 52 | echo '
'; 53 | 54 | } else { 55 | 56 | echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data available.', 'csf' ); 57 | 58 | } 59 | 60 | } 61 | 62 | echo $this->field_after(); 63 | 64 | } 65 | 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/includes/class-jiangqie-ow-free-ajax.php: -------------------------------------------------------------------------------- 1 | 'POST', 57 | 'body' => $params 58 | )); 59 | 60 | if (is_wp_error($response) || $response['response']['code'] != 200) { 61 | wp_send_json_error(); 62 | } 63 | 64 | $data = json_decode($response['body'], TRUE); 65 | $datadata = $data['data']; 66 | 67 | if ($data['code'] == 1) { 68 | wp_send_json_success($datadata); 69 | } else { 70 | wp_send_json_error(); 71 | } 72 | } 73 | 74 | die; 75 | } 76 | } 77 | 78 | Jiangqie_Ow_Free_AJAX::get_instance(); 79 | -------------------------------------------------------------------------------- /client/components/uni-icons/icons.js: -------------------------------------------------------------------------------- 1 | export default { 2 | 'contact': '\ue100', 3 | 'person': '\ue101', 4 | 'personadd': '\ue102', 5 | 'contact-filled': '\ue130', 6 | 'person-filled': '\ue131', 7 | 'personadd-filled': '\ue132', 8 | 'phone': '\ue200', 9 | 'email': '\ue201', 10 | 'chatbubble': '\ue202', 11 | 'chatboxes': '\ue203', 12 | 'phone-filled': '\ue230', 13 | 'email-filled': '\ue231', 14 | 'chatbubble-filled': '\ue232', 15 | 'chatboxes-filled': '\ue233', 16 | 'weibo': '\ue260', 17 | 'weixin': '\ue261', 18 | 'pengyouquan': '\ue262', 19 | 'chat': '\ue263', 20 | 'qq': '\ue264', 21 | 'videocam': '\ue300', 22 | 'camera': '\ue301', 23 | 'mic': '\ue302', 24 | 'location': '\ue303', 25 | 'mic-filled': '\ue332', 26 | 'speech': '\ue332', 27 | 'location-filled': '\ue333', 28 | 'micoff': '\ue360', 29 | 'image': '\ue363', 30 | 'map': '\ue364', 31 | 'compose': '\ue400', 32 | 'trash': '\ue401', 33 | 'upload': '\ue402', 34 | 'download': '\ue403', 35 | 'close': '\ue404', 36 | 'redo': '\ue405', 37 | 'undo': '\ue406', 38 | 'refresh': '\ue407', 39 | 'star': '\ue408', 40 | 'plus': '\ue409', 41 | 'minus': '\ue410', 42 | 'circle': '\ue411', 43 | 'checkbox': '\ue411', 44 | 'close-filled': '\ue434', 45 | 'clear': '\ue434', 46 | 'refresh-filled': '\ue437', 47 | 'star-filled': '\ue438', 48 | 'plus-filled': '\ue439', 49 | 'minus-filled': '\ue440', 50 | 'circle-filled': '\ue441', 51 | 'checkbox-filled': '\ue442', 52 | 'closeempty': '\ue460', 53 | 'refreshempty': '\ue461', 54 | 'reload': '\ue462', 55 | 'starhalf': '\ue463', 56 | 'spinner': '\ue464', 57 | 'spinner-cycle': '\ue465', 58 | 'search': '\ue466', 59 | 'plusempty': '\ue468', 60 | 'forward': '\ue470', 61 | 'back': '\ue471', 62 | 'left-nav': '\ue471', 63 | 'checkmarkempty': '\ue472', 64 | 'home': '\ue500', 65 | 'navigate': '\ue501', 66 | 'gear': '\ue502', 67 | 'paperplane': '\ue503', 68 | 'info': '\ue504', 69 | 'help': '\ue505', 70 | 'locked': '\ue506', 71 | 'more': '\ue507', 72 | 'flag': '\ue508', 73 | 'home-filled': '\ue530', 74 | 'gear-filled': '\ue532', 75 | 'info-filled': '\ue534', 76 | 'help-filled': '\ue535', 77 | 'more-filled': '\ue537', 78 | 'settings': '\ue560', 79 | 'list': '\ue562', 80 | 'bars': '\ue563', 81 | 'loop': '\ue565', 82 | 'paperclip': '\ue567', 83 | 'eye': '\ue568', 84 | 'arrowup': '\ue580', 85 | 'arrowdown': '\ue581', 86 | 'arrowleft': '\ue582', 87 | 'arrowright': '\ue583', 88 | 'arrowthinup': '\ue584', 89 | 'arrowthindown': '\ue585', 90 | 'arrowthinleft': '\ue586', 91 | 'arrowthinright': '\ue587', 92 | 'pulldown': '\ue588', 93 | 'closefill': '\ue589', 94 | 'sound': '\ue590', 95 | 'scan': '\ue612' 96 | } 97 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/spinner/spinner.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'max' => 100, 21 | 'min' => 0, 22 | 'step' => 1, 23 | 'unit' => '', 24 | ) ); 25 | 26 | echo $this->field_before(); 27 | 28 | echo '
field_attributes( array( 'class' => 'csf-input-number' ) ) .' data-min="'. esc_attr( $args['min'] ) .'" data-max="'. esc_attr( $args['max'] ) .'" data-step="'. esc_attr( $args['step'] ) .'" data-unit="'. esc_attr( $args['unit'] ) .'" step="any" />
'; 29 | 30 | echo $this->field_after(); 31 | 32 | } 33 | 34 | public function enqueue() { 35 | 36 | if ( ! wp_script_is( 'jquery-ui-spinner' ) ) { 37 | wp_enqueue_script( 'jquery-ui-spinner' ); 38 | } 39 | 40 | } 41 | 42 | public function output() { 43 | 44 | $output = ''; 45 | $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] ); 46 | $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : ''; 47 | $mode = ( ! empty( $this->field['output_mode'] ) ) ? $this->field['output_mode'] : 'width'; 48 | $unit = ( ! empty( $this->field['unit'] ) ) ? $this->field['unit'] : 'px'; 49 | 50 | if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) { 51 | foreach ( $elements as $key_property => $element ) { 52 | if ( is_numeric( $key_property ) ) { 53 | if ( $mode ) { 54 | $output = implode( ',', $elements ) .'{'. $mode .':'. $this->value . $unit . $important .';}'; 55 | } 56 | break; 57 | } else { 58 | $output .= $element .'{'. $key_property .':'. $this->value . $unit . $important .'}'; 59 | } 60 | } 61 | } 62 | 63 | $this->parent->output_css .= $output; 64 | 65 | return $output; 66 | 67 | } 68 | 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/sortable/sortable.php: -------------------------------------------------------------------------------- 1 | field_before(); 20 | 21 | echo '
'; 22 | 23 | $pre_sortby = array(); 24 | $pre_fields = array(); 25 | 26 | // Add array-keys to defined fields for sort by 27 | foreach ( $this->field['fields'] as $key => $field ) { 28 | $pre_fields[$field['id']] = $field; 29 | } 30 | 31 | // Set sort by by saved-value or default-value 32 | if ( ! empty( $this->value ) ) { 33 | 34 | foreach ( $this->value as $key => $value ) { 35 | $pre_sortby[$key] = $pre_fields[$key]; 36 | } 37 | 38 | $diff = array_diff_key( $pre_fields, $this->value ); 39 | 40 | if( ! empty( $diff ) ) { 41 | $pre_sortby = array_merge( $pre_sortby, $diff ); 42 | } 43 | 44 | } else { 45 | 46 | foreach ( $pre_fields as $key => $value ) { 47 | $pre_sortby[$key] = $value; 48 | } 49 | 50 | } 51 | 52 | foreach ( $pre_sortby as $key => $field ) { 53 | 54 | echo '
'; 55 | 56 | echo '
'; 57 | 58 | $field_default = ( isset( $this->field['default'][$key] ) ) ? $this->field['default'][$key] : ''; 59 | $field_value = ( isset( $this->value[$key] ) ) ? $this->value[$key] : $field_default; 60 | $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id']; 61 | 62 | CSF::field( $field, $field_value, $unique_id, 'field/sortable' ); 63 | 64 | echo '
'; 65 | 66 | echo '
'; 67 | 68 | echo '
'; 69 | 70 | } 71 | 72 | echo '
'; 73 | 74 | echo $this->field_after(); 75 | 76 | } 77 | 78 | public function enqueue() { 79 | 80 | if ( ! wp_script_is( 'jquery-ui-sortable' ) ) { 81 | wp_enqueue_script( 'jquery-ui-sortable' ); 82 | } 83 | 84 | } 85 | 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /client/uni_modules/mp-html/static/app-plus/mp-html/js/handler.js: -------------------------------------------------------------------------------- 1 | "use strict";function t(t){for(var e=Object.create(null),n=t.attributes.length;n--;)e[t.attributes[n].name]=t.attributes[n].value;return e}function e(){a[1]&&(this.src=a[1],this.onerror=null),this.onclick=null,this.ontouchstart=null,uni.postMessage({data:{action:"onError",source:"img",attrs:t(this)}})}function n(){window.unloadimgs-=1,0===window.unloadimgs&&uni.postMessage({data:{action:"onReady"}})}function o(r,s,c){for(var d=0;dfield, array( 20 | 'multiple' => false, 21 | 'inline' => false, 22 | 'options' => array(), 23 | ) ); 24 | 25 | $inline = ( $args['inline'] ) ? ' csf--inline-list' : ''; 26 | 27 | $value = ( is_array( $this->value ) ) ? $this->value : array_filter( (array) $this->value ); 28 | 29 | echo $this->field_before(); 30 | 31 | if ( ! empty( $args['options'] ) ) { 32 | 33 | echo '
'; 34 | 35 | $num = 1; 36 | 37 | foreach ( $args['options'] as $key => $option ) { 38 | 39 | $type = ( $args['multiple'] ) ? 'checkbox' : 'radio'; 40 | $extra = ( $args['multiple'] ) ? '[]' : ''; 41 | $active = ( in_array( $key, $value ) ) ? ' csf--active' : ''; 42 | $checked = ( in_array( $key, $value ) ) ? ' checked' : ''; 43 | 44 | echo '
'; 45 | echo '
'; 46 | echo 'img-'. esc_attr( $num++ ) .''; 47 | echo 'field_attributes() . esc_attr( $checked ) .'/>'; 48 | echo '
'; 49 | echo '
'; 50 | 51 | } 52 | 53 | echo '
'; 54 | 55 | } 56 | 57 | echo $this->field_after(); 58 | 59 | } 60 | 61 | public function output() { 62 | 63 | $output = ''; 64 | $bg_image = array(); 65 | $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : ''; 66 | $elements = ( is_array( $this->field['output'] ) ) ? join( ',', $this->field['output'] ) : $this->field['output']; 67 | 68 | if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) { 69 | $output = $elements .'{background-image:url('. $this->value .')'. $important .';}'; 70 | } 71 | 72 | $this->parent->output_css .= $output; 73 | 74 | return $output; 75 | 76 | } 77 | 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/sorter/sorter.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'disabled' => true, 21 | 'enabled_title' => esc_html__( 'Enabled', 'csf' ), 22 | 'disabled_title' => esc_html__( 'Disabled', 'csf' ), 23 | ) ); 24 | 25 | echo $this->field_before(); 26 | 27 | $this->value = ( ! empty( $this->value ) ) ? $this->value : $this->field['default']; 28 | $enabled_options = ( ! empty( $this->value['enabled'] ) ) ? $this->value['enabled'] : array(); 29 | $disabled_options = ( ! empty( $this->value['disabled'] ) ) ? $this->value['disabled'] : array(); 30 | 31 | echo '
'; 32 | 33 | echo ( $args['disabled'] ) ? '
' : ''; 34 | 35 | echo ( ! empty( $args['enabled_title'] ) ) ? '
'. esc_attr( $args['enabled_title'] ) .'
' : ''; 36 | echo '
    '; 37 | if ( ! empty( $enabled_options ) ) { 38 | foreach ( $enabled_options as $key => $value ) { 39 | echo '
  • '; 40 | } 41 | } 42 | echo '
'; 43 | 44 | // Check for hide/show disabled section 45 | if ( $args['disabled'] ) { 46 | 47 | echo '
'; 48 | 49 | echo '
'; 50 | echo ( ! empty( $args['disabled_title'] ) ) ? '
'. esc_attr( $args['disabled_title'] ) .'
' : ''; 51 | echo '
    '; 52 | if ( ! empty( $disabled_options ) ) { 53 | foreach ( $disabled_options as $key => $value ) { 54 | echo '
  • '; 55 | } 56 | } 57 | echo '
'; 58 | echo '
'; 59 | 60 | } 61 | 62 | 63 | echo $this->field_after(); 64 | 65 | } 66 | 67 | public function enqueue() { 68 | 69 | if ( ! wp_script_is( 'jquery-ui-sortable' ) ) { 70 | wp_enqueue_script( 'jquery-ui-sortable' ); 71 | } 72 | 73 | } 74 | 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/slider/slider.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'max' => 100, 21 | 'min' => 0, 22 | 'step' => 1, 23 | 'unit' => '', 24 | ) ); 25 | 26 | $is_unit = ( ! empty( $args['unit'] ) ) ? ' csf--is-unit' : ''; 27 | 28 | echo $this->field_before(); 29 | 30 | echo '
'; 31 | echo '
'; 32 | echo '
'; 33 | echo 'field_attributes( array( 'class' => 'csf-input-number'. esc_attr( $is_unit ) ) ) .' data-min="'. esc_attr( $args['min'] ) .'" data-max="'. esc_attr( $args['max'] ) .'" data-step="'. esc_attr( $args['step'] ) .'" step="any" />'; 34 | echo ( ! empty( $args['unit'] ) ) ? ''. esc_attr( $args['unit'] ) .'' : ''; 35 | echo '
'; 36 | echo '
'; 37 | 38 | echo $this->field_after(); 39 | 40 | } 41 | 42 | public function enqueue() { 43 | 44 | if ( ! wp_script_is( 'jquery-ui-slider' ) ) { 45 | wp_enqueue_script( 'jquery-ui-slider' ); 46 | } 47 | 48 | } 49 | 50 | public function output() { 51 | 52 | $output = ''; 53 | $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] ); 54 | $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : ''; 55 | $mode = ( ! empty( $this->field['output_mode'] ) ) ? $this->field['output_mode'] : 'width'; 56 | $unit = ( ! empty( $this->field['unit'] ) ) ? $this->field['unit'] : 'px'; 57 | 58 | if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) { 59 | foreach ( $elements as $key_property => $element ) { 60 | if ( is_numeric( $key_property ) ) { 61 | if ( $mode ) { 62 | $output = implode( ',', $elements ) .'{'. $mode .':'. $this->value . $unit . $important .';}'; 63 | } 64 | break; 65 | } else { 66 | $output .= $element .'{'. $key_property .':'. $this->value . $unit . $important .'}'; 67 | } 68 | } 69 | } 70 | 71 | $this->parent->output_css .= $output; 72 | 73 | return $output; 74 | 75 | } 76 | 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/icon/icon.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'button_title' => esc_html__( 'Add Icon', 'csf' ), 21 | 'remove_title' => esc_html__( 'Remove Icon', 'csf' ), 22 | ) ); 23 | 24 | echo $this->field_before(); 25 | 26 | $nonce = wp_create_nonce( 'csf_icon_nonce' ); 27 | $hidden = ( empty( $this->value ) ) ? ' hidden' : ''; 28 | 29 | echo '
'; 30 | echo ''; 31 | echo ''. $args['button_title'] .''; 32 | echo ''. $args['remove_title'] .''; 33 | echo 'field_attributes() .' />'; 34 | echo '
'; 35 | 36 | echo $this->field_after(); 37 | 38 | } 39 | 40 | public function enqueue() { 41 | add_action( 'admin_footer', array( &$this, 'add_footer_modal_icon' ) ); 42 | add_action( 'customize_controls_print_footer_scripts', array( &$this, 'add_footer_modal_icon' ) ); 43 | } 44 | 45 | public function add_footer_modal_icon() { 46 | ?> 47 | 67 | field, array( 20 | 'add_title' => esc_html__( 'Add Link', 'csf' ), 21 | 'edit_title' => esc_html__( 'Edit Link', 'csf' ), 22 | 'remove_title' => esc_html__( 'Remove Link', 'csf' ), 23 | ) ); 24 | 25 | $default_values = array( 26 | 'url' => '', 27 | 'text' => '', 28 | 'target' => '', 29 | ); 30 | 31 | $value = wp_parse_args( $this->value, $default_values ); 32 | 33 | $hidden = ( ! empty( $value['url'] ) || ! empty( $value['url'] ) || ! empty( $value['url'] ) ) ? ' hidden' : ''; 34 | 35 | $maybe_hidden = ( empty( $hidden ) ) ? ' hidden' : ''; 36 | 37 | echo $this->field_before(); 38 | 39 | echo ''; 40 | 41 | echo '
'. sprintf( '{url:"%s", text:"%s", target:"%s"}', $value['url'], $value['text'], $value['target'] ) .'
'; 42 | 43 | echo 'field_attributes( array( 'class' => 'csf--url hidden' ) ) .' />'; 44 | echo ''; 45 | echo ''; 46 | 47 | echo ''. $args['add_title'] .' '; 48 | echo ''. $args['edit_title'] .' '; 49 | echo ''. $args['remove_title'] .''; 50 | 51 | echo $this->field_after(); 52 | 53 | } 54 | 55 | public function enqueue() { 56 | 57 | if ( ! wp_script_is( 'wplink' ) ) { 58 | wp_enqueue_script( 'wplink' ); 59 | } 60 | 61 | if ( ! wp_script_is( 'jquery-ui-autocomplete' ) ) { 62 | wp_enqueue_script( 'jquery-ui-autocomplete' ); 63 | } 64 | 65 | add_action( 'admin_print_footer_scripts', array( &$this, 'add_wp_link_dialog' ) ); 66 | 67 | } 68 | 69 | public function add_wp_link_dialog() { 70 | 71 | if ( ! class_exists( '_WP_Editors' ) ) { 72 | require_once ABSPATH . WPINC .'/class-wp-editor.php'; 73 | } 74 | 75 | wp_print_styles( 'editor-buttons' ); 76 | 77 | _WP_Editors::wp_link_dialog(); 78 | 79 | } 80 | 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /client/uni_modules/lime-painter/hybrid/html/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/wp_editor/wp_editor.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'tinymce' => true, 21 | 'quicktags' => true, 22 | 'media_buttons' => true, 23 | 'wpautop' => false, 24 | 'height' => '', 25 | ) ); 26 | 27 | $attributes = array( 28 | 'rows' => 10, 29 | 'class' => 'wp-editor-area', 30 | 'autocomplete' => 'off', 31 | ); 32 | 33 | $editor_height = ( ! empty( $args['height'] ) ) ? ' style="height:'. esc_attr( $args['height'] ) .';"' : ''; 34 | 35 | $editor_settings = array( 36 | 'tinymce' => $args['tinymce'], 37 | 'quicktags' => $args['quicktags'], 38 | 'media_buttons' => $args['media_buttons'], 39 | 'wpautop' => $args['wpautop'], 40 | ); 41 | 42 | echo $this->field_before(); 43 | 44 | echo ( csf_wp_editor_api() ) ? '
' : ''; 45 | 46 | echo ''; 47 | 48 | echo ( csf_wp_editor_api() ) ? '
' : ''; 49 | 50 | echo $this->field_after(); 51 | 52 | } 53 | 54 | public function enqueue() { 55 | 56 | if ( csf_wp_editor_api() && function_exists( 'wp_enqueue_editor' ) ) { 57 | 58 | wp_enqueue_editor(); 59 | 60 | $this->setup_wp_editor_settings(); 61 | 62 | add_action( 'print_default_editor_scripts', array( &$this, 'setup_wp_editor_media_buttons' ) ); 63 | 64 | } 65 | 66 | } 67 | 68 | // Setup wp editor media buttons 69 | public function setup_wp_editor_media_buttons() { 70 | 71 | ob_start(); 72 | echo '
'; 73 | do_action( 'media_buttons' ); 74 | echo '
'; 75 | $media_buttons = ob_get_clean(); 76 | 77 | echo ''; 80 | 81 | } 82 | 83 | // Setup wp editor settings 84 | public function setup_wp_editor_settings() { 85 | 86 | if ( csf_wp_editor_api() && class_exists( '_WP_Editors') ) { 87 | 88 | $defaults = apply_filters( 'csf_wp_editor', array( 89 | 'tinymce' => array( 90 | 'wp_skip_init' => true 91 | ), 92 | ) ); 93 | 94 | $setup = _WP_Editors::parse_settings( 'csf_wp_editor', $defaults ); 95 | 96 | _WP_Editors::editor_settings( 'csf_wp_editor', $setup ); 97 | 98 | } 99 | 100 | } 101 | 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | ![酱茄企业官网Free](https://www.zhuige.com/uploads/20211104/b33e64d2fa76e0a46a6d7ae444f5ff7c.png) 3 | 4 | ### 小程序介绍 5 | 6 | 追格企业官网小程序Free(又称酱茄企业官网free)www.zhuige.com,专为中小企业开发的轻量级企业建站小程序(基于uni-app+WordPress),后台操作简单,维护方便,无需过多配置就能搭建一个企业小程序。 7 | 8 | ### 微信:**jianbing2011**(加微信,进微信群交流) 9 | 10 | 扫码加微信/关注公众号 11 | 12 | 13 | 14 | ### 追格(酱茄)开源产品: 15 | 16 | 1. 追格资讯小程序Free:[https://www.zhuige.com/product/zxfree.html](https://www.zhuige.com/product/zxfree.html) 17 | 18 | 2. 酱茄主题Free:[https://www.zhuige.com/product/ztfree.html](https://www.zhuige.com/product/ztfree.html) 19 | 20 | 3. 追格企业官网小程序Free:[https://www.zhuige.com/product/gwfree.html](https://www.zhuige.com/product/gwfree.html) 21 | 22 | 4. 追格企业官网主题:[https://www.zhuige.com/product/gwztfree.html](https://www.zhuige.com/product/gwztfree.html) 23 | 24 | 5. 追格积分商城小程序:[https://www.zhuige.com/product/jf.html](https://www.zhuige.com/product/jf.html) 25 | 26 | 6. 追格商城小程序:[https://www.zhuige.com/product/sc.html](https://www.zhuige.com/product/sc.html) 27 | 28 | 29 | ### 功能与特点 30 | 31 | 特点:多端(微信、QQ、百度、H5)、免费开源、功能后台配置 32 | 33 | 模块:留言反馈、产品服务、新闻动态、合作伙伴、关于我们等 34 | 35 | 更多功能和特性,欢迎使用专业版 36 | 37 | 38 | ### 专业版 39 | 40 | 1、企业官网小程序专业版-IT软件:[https://www.zhuige.com/product/it.html](https://www.zhuige.com/product/it.html) 41 | 42 | ![企业官网小程序专业版-通用行业](https://www.zhuige.com/uploads/20220404/db14cc6a4aedd27efa4da628e1dbd473.jpg) 43 | 44 | 45 | 2、企业官网小程序专业版-通用行业:[https://www.zhuige.com/product/gw.html](https://www.zhuige.com/product/gw.html) 46 | 47 | ![企业官网小程序专业版-通用行业](https://www.zhuige.com/uploads/20210923/1df6256e09edb7fbaf43e7817e1d2146.png) 48 | 49 | 50 | 3、企业官网小程序专业版-婚纱摄影:[https://www.zhuige.com/news/13.html](https://www.zhuige.com/news/13.html) 51 | 52 | ![企业官网小程序专业版-婚纱摄影](https://www.zhuige.com/uploads/20211104/9cbcfd2f1a41f2ef4b96a9c301d8987a.png) 53 | 54 | 55 | 4、企业官网小程序专业版-机械工业:[https://www.zhuige.com/news/29.html](https://www.zhuige.com/news/29.html) 56 | 57 | ![企业官网小程序专业版-机械工业](https://www.zhuige.com/uploads/20211104/8c7c859a7240f0190dca657ab46495b9.png) 58 | 59 | 60 | ### 源码下载 61 | 62 | PS:下载包中含前后端源代码! 63 | 64 | (client为uniapp开发的前端;jiangqie-ow-free为后端,是一个wordpress插件) 65 | 66 | 67 | 官网下载:https://www.zhuige.com/product/gwfree.html 68 | 69 | gitee下载:https://gitee.com/zhuige_com/jiangqie_ow_free 70 | 71 | github下载:https://github.com/zhuige-com/jiangqie_ow_free 72 | 73 | 74 | 75 | ### 安装文档/常见问题 76 | 77 | 安装文档/常见问题:[www.zhuige.com/docs/gwfree.html](https://www.zhuige.com/docs/gwfree.html) 78 | 79 | 80 | ### 更新日志 81 | 82 | [https://www.zhuige.com/bbs/76.html](https://www.zhuige.com/bbs/76.html) 83 | 84 | 85 | ### 开源协议 86 | 87 | 遵循GPL V2.0开源协议发布(协议连接 [www.gnu.org/licenses/gpl-2.0.html](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)) 88 | 89 | 90 | ### 免责声明 91 | 92 | 用户在接受酱茄或追格服务之前,请务必仔细阅读本条款(https://www.zhuige.com/about/5.html)并同意本声明 93 | 94 | 95 | ### 特别声明 96 | 97 | 黑灰产请绕行! 98 | 99 | 如果发现有人使用本程序从事违法活动,将即可向公安机关举报,并协助破案! 100 | 101 | 102 | ### 特别鸣谢 103 | 104 | 我们借助了开源的力量,才得以快速构建出酱茄企业官网小程序,在此特别感谢他们(排名不分先后): 105 | 106 | 1. https://cn.wordpress.org 107 | 108 | 2. https://github.com/DevinVinson/WordPress-Plugin-Boilerplate 109 | 110 | 3. https://github.com/Codestar/codestar-framework 111 | 112 | 4. https://github.com/jin-yufeng/mp-html 113 | 114 | 5. https://gitee.com/liangei/lime-painter -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/radio/radio.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'inline' => false, 21 | 'query_args' => array(), 22 | ) ); 23 | 24 | $inline_class = ( $args['inline'] ) ? ' class="csf--inline-list"' : ''; 25 | 26 | echo $this->field_before(); 27 | 28 | if ( isset( $this->field['options'] ) ) { 29 | 30 | $options = $this->field['options']; 31 | $options = ( is_array( $options ) ) ? $options : array_filter( $this->field_data( $options, false, $args['query_args'] ) ); 32 | 33 | if ( is_array( $options ) && ! empty( $options ) ) { 34 | 35 | echo ''; 36 | 37 | foreach ( $options as $option_key => $option_value ) { 38 | 39 | if ( is_array( $option_value ) && ! empty( $option_value ) ) { 40 | 41 | echo '
  • '; 42 | echo '
      '; 43 | echo '
    • '. esc_attr( $option_key ) .'
    • '; 44 | foreach ( $option_value as $sub_key => $sub_value ) { 45 | $checked = ( $sub_key == $this->value ) ? ' checked' : ''; 46 | echo '
    • '; 47 | echo ''; 51 | echo '
    • '; 52 | } 53 | echo '
    '; 54 | echo '
  • '; 55 | 56 | } else { 57 | 58 | $checked = ( $option_key == $this->value ) ? ' checked' : ''; 59 | 60 | echo '
  • '; 61 | echo ''; 65 | echo '
  • '; 66 | 67 | } 68 | 69 | } 70 | 71 | echo ''; 72 | 73 | } else { 74 | 75 | echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data available.', 'csf' ); 76 | 77 | } 78 | 79 | } else { 80 | 81 | $label = ( isset( $this->field['label'] ) ) ? $this->field['label'] : ''; 82 | echo ''; 85 | 86 | } 87 | 88 | echo $this->field_after(); 89 | 90 | } 91 | 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/functions/validate.php: -------------------------------------------------------------------------------- 1 | add( 'required', esc_html__( 'Please enter a valid email address.', 'csf' ) ); 87 | } 88 | 89 | return $validity; 90 | 91 | } 92 | } 93 | 94 | /** 95 | * 96 | * Numeric validate for Customizer 97 | * 98 | * @since 1.0.0 99 | * @version 1.0.0 100 | * 101 | */ 102 | if ( ! function_exists( 'csf_customize_validate_numeric' ) ) { 103 | function csf_customize_validate_numeric( $validity, $value, $wp_customize ) { 104 | 105 | if ( ! is_numeric( $value ) ) { 106 | $validity->add( 'required', esc_html__( 'Please enter a valid number.', 'csf' ) ); 107 | } 108 | 109 | return $validity; 110 | 111 | } 112 | } 113 | 114 | /** 115 | * 116 | * Required validate for Customizer 117 | * 118 | * @since 1.0.0 119 | * @version 1.0.0 120 | * 121 | */ 122 | if ( ! function_exists( 'csf_customize_validate_required' ) ) { 123 | function csf_customize_validate_required( $validity, $value, $wp_customize ) { 124 | 125 | if ( empty( $value ) ) { 126 | $validity->add( 'required', esc_html__( 'This field is required.', 'csf' ) ); 127 | } 128 | 129 | return $validity; 130 | 131 | } 132 | } 133 | 134 | /** 135 | * 136 | * URL validate for Customizer 137 | * 138 | * @since 1.0.0 139 | * @version 1.0.0 140 | * 141 | */ 142 | if ( ! function_exists( 'csf_customize_validate_url' ) ) { 143 | function csf_customize_validate_url( $validity, $value, $wp_customize ) { 144 | 145 | if ( ! filter_var( $value, FILTER_VALIDATE_URL ) ) { 146 | $validity->add( 'required', esc_html__( 'Please enter a valid URL.', 'csf' ) ); 147 | } 148 | 149 | return $validity; 150 | 151 | } 152 | } 153 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/includes/zhuige-market.php: -------------------------------------------------------------------------------- 1 | 23 |
    24 |
    25 |

    追格应用市场

    26 | 27 | 41 |
    42 | 43 |
    44 | 45 |
    46 |
      47 |
    • 48 | 产品分类 49 |
    • 50 |
    • 51 | 全部 52 |
    • 53 |
    54 |
      55 |
    • 56 | 排序方式 57 |
    • 58 |
    • 59 | 全部 60 |
    • 61 |
    • 62 | 付费 63 |
    • 64 |
    • 65 | 免费 66 |
    • 67 |
    68 |
    69 | 70 | 76 | 77 |
    78 | 79 |
    80 |
    81 |
    82 | field, array( 20 | 'color' => true, 21 | 'hover' => true, 22 | 'active' => false, 23 | 'visited' => false, 24 | 'focus' => false, 25 | ) ); 26 | 27 | $default_values = array( 28 | 'color' => '', 29 | 'hover' => '', 30 | 'active' => '', 31 | 'visited' => '', 32 | 'focus' => '', 33 | ); 34 | 35 | $color_props = array( 36 | 'color' => esc_html__( 'Normal', 'csf' ), 37 | 'hover' => esc_html__( 'Hover', 'csf' ), 38 | 'active' => esc_html__( 'Active', 'csf' ), 39 | 'visited' => esc_html__( 'Visited', 'csf' ), 40 | 'focus' => esc_html__( 'Focus', 'csf' ) 41 | ); 42 | 43 | $value = wp_parse_args( $this->value, $default_values ); 44 | 45 | echo $this->field_before(); 46 | 47 | foreach ( $color_props as $color_prop_key => $color_prop_value ) { 48 | 49 | if ( ! empty( $args[$color_prop_key] ) ) { 50 | 51 | $default_attr = ( ! empty( $this->field['default'][$color_prop_key] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'][$color_prop_key] ) .'"' : ''; 52 | 53 | echo '
    '; 54 | echo '
    '. esc_attr( $color_prop_value ) .'
    '; 55 | echo 'field_attributes() .'/>'; 56 | echo '
    '; 57 | 58 | } 59 | 60 | } 61 | 62 | echo $this->field_after(); 63 | 64 | } 65 | 66 | public function output() { 67 | 68 | $output = ''; 69 | $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] ); 70 | $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : ''; 71 | 72 | if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) { 73 | foreach ( $elements as $element ) { 74 | 75 | if ( isset( $this->value['color'] ) && $this->value['color'] !== '' ) { $output .= $element .'{color:'. $this->value['color'] . $important .';}'; } 76 | if ( isset( $this->value['hover'] ) && $this->value['hover'] !== '' ) { $output .= $element .':hover{color:'. $this->value['hover'] . $important .';}'; } 77 | if ( isset( $this->value['active'] ) && $this->value['active'] !== '' ) { $output .= $element .':active{color:'. $this->value['active'] . $important .';}'; } 78 | if ( isset( $this->value['visited'] ) && $this->value['visited'] !== '' ) { $output .= $element .':visited{color:'. $this->value['visited'] . $important .';}'; } 79 | if ( isset( $this->value['focus'] ) && $this->value['focus'] !== '' ) { $output .= $element .':focus{color:'. $this->value['focus'] . $important .';}'; } 80 | 81 | } 82 | } 83 | 84 | $this->parent->output_css .= $output; 85 | 86 | return $output; 87 | 88 | } 89 | 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/views/free-vs-premium.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 |
    FeaturesFree VersionPremium Version
    Admin Option Framework
    Customize Option Framework
    Metabox Option Framework
    Nav Menu Option Framework
    Taxonomy Option Framework
    Profile Option Framework
    Widget Option Framework
    Comment Option Framework
    Shortcode Option Framework
    All Option Fields
    Developer Packages
    Unminfy Library
    New Requests
    Autoremove Advertisements
    Life-time access/updates
    Support Forum
    Download Free VersionUpgrade Premium Version
    101 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/checkbox/checkbox.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'inline' => false, 21 | 'query_args' => array(), 22 | ) ); 23 | 24 | $inline_class = ( $args['inline'] ) ? ' class="csf--inline-list"' : ''; 25 | 26 | echo $this->field_before(); 27 | 28 | if ( isset( $this->field['options'] ) ) { 29 | 30 | $value = ( is_array( $this->value ) ) ? $this->value : array_filter( (array) $this->value ); 31 | $options = $this->field['options']; 32 | $options = ( is_array( $options ) ) ? $options : array_filter( $this->field_data( $options, false, $args['query_args'] ) ); 33 | 34 | if ( is_array( $options ) && ! empty( $options ) ) { 35 | 36 | echo ''; 37 | 38 | foreach ( $options as $option_key => $option_value ) { 39 | 40 | if ( is_array( $option_value ) && ! empty( $option_value ) ) { 41 | 42 | echo '
  • '; 43 | echo '
      '; 44 | echo '
    • '. esc_attr( $option_key ) .'
    • '; 45 | foreach ( $option_value as $sub_key => $sub_value ) { 46 | $checked = ( in_array( $sub_key, $value ) ) ? ' checked' : ''; 47 | echo '
    • '; 48 | echo ''; 52 | echo '
    • '; 53 | } 54 | echo '
    '; 55 | echo '
  • '; 56 | 57 | } else { 58 | 59 | $checked = ( in_array( $option_key, $value ) ) ? ' checked' : ''; 60 | 61 | echo '
  • '; 62 | echo ''; 66 | echo '
  • '; 67 | 68 | } 69 | 70 | } 71 | 72 | echo ''; 73 | 74 | } else { 75 | 76 | echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data available.', 'csf' ); 77 | 78 | } 79 | 80 | } else { 81 | 82 | echo ''; 87 | 88 | } 89 | 90 | echo $this->field_after(); 91 | 92 | } 93 | 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/includes/jiangqie-ow-free-feedback.php: -------------------------------------------------------------------------------- 1 | get_row( 49 | $wpdb->prepare( 50 | "SELECT * FROM {$wpdb->prefix}jiangqie_ow_feedback WHERE id=%d", 51 | $feedback_id 52 | ), 53 | ARRAY_A 54 | ); 55 | ?> 56 |

    留言信息

    57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 |
    83 | delete($wpdb->prefix . 'jiangqie_ow_feedback', ['id' => $feedback_id], ['%d']); 93 | } 94 | } 95 | $owFeedbackList = new JiangQieOwFreeFeedbackList(); 96 | 97 | $search = (isset($_GET['s'])) ? sanitize_text_field(wp_unslash($_GET['s'])) : ''; 98 | 99 | $owFeedbackList->prepare_items($search); 100 | ?> 101 |
    102 |

    103 | 104 |
    105 | 106 | search_box('搜索', 'search_id'); ?> 107 |
    108 | 109 |
    110 | 111 | display() ?> 112 |
    113 |
    114 | 2 | 3 | 4 | 5 | 隐私保护指引 6 | 7 | 在继续使用本小程序之前,请查看 8 | {{privacyContractName}}。 9 | 如果同意,请点击【同意】继续使用 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 105 | 106 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/partials/global.php: -------------------------------------------------------------------------------- 1 | 'basic', 16 | 'title' => '基础设置', 17 | 'icon' => 'fas fa-cubes', 18 | 'fields' => array( 19 | 20 | array( 21 | 'id' => 'basic_title', 22 | 'type' => 'text', 23 | 'title' => '标题', 24 | 'placeholder' => '标题' 25 | ), 26 | 27 | array( 28 | 'id' => 'basic_keywords', 29 | 'type' => 'text', 30 | 'title' => '关键字', 31 | 'subtitle' => '仅百度小程序使用', 32 | 'placeholder' => '关键字' 33 | ), 34 | 35 | array( 36 | 'id' => 'basic_desc', 37 | 'type' => 'text', 38 | 'title' => '描述', 39 | 'placeholder' => '描述' 40 | ), 41 | 42 | array( 43 | 'id' => 'basic_wechat', 44 | 'type' => 'fieldset', 45 | 'title' => '微信小程序', 46 | 'fields' => array( 47 | array( 48 | 'id' => 'appid', 49 | 'type' => 'text', 50 | 'title' => 'App ID', 51 | ), 52 | array( 53 | 'id' => 'secret', 54 | 'type' => 'text', 55 | 'title' => 'App Secret', 56 | ), 57 | ), 58 | ), 59 | 60 | array( 61 | 'id' => 'basic_baidu', 62 | 'type' => 'fieldset', 63 | 'title' => '百度小程序', 64 | 'fields' => array( 65 | array( 66 | 'id' => 'appid', 67 | 'type' => 'text', 68 | 'title' => 'App Key', 69 | ), 70 | array( 71 | 'id' => 'secret', 72 | 'type' => 'text', 73 | 'title' => 'App Secret', 74 | ), 75 | ), 76 | ), 77 | 78 | array( 79 | 'id' => 'home_title', 80 | 'type' => 'text', 81 | 'title' => '首页分享标题', 82 | ), 83 | 84 | array( 85 | 'id' => 'home_thumb', 86 | 'type' => 'media', 87 | 'title' => '首页分享图', 88 | 'library' => 'image', 89 | ), 90 | 91 | array( 92 | 'id' => 'jiangqie_xcx_img2attachment', 93 | 'type' => 'switcher', 94 | 'title' => '小程序码导入媒体库', 95 | 'subtitle' => '使用七牛/阿里/腾讯OSS的需要开启', 96 | 'default' => '' 97 | ), 98 | 99 | array( 100 | 'id' => 'beian_icp', 101 | 'type' => 'fieldset', 102 | 'title' => 'ICP备案', 103 | 'fields' => array( 104 | array( 105 | 'id' => 'sn', 106 | 'type' => 'text', 107 | 'title' => '备案号', 108 | ), 109 | array( 110 | 'id' => 'link', 111 | 'type' => 'text', 112 | 'title' => '链接', 113 | ), 114 | array( 115 | 'id' => 'switch', 116 | 'type' => 'switcher', 117 | 'title' => '是否显示', 118 | 'default' => '' 119 | ), 120 | ), 121 | ), 122 | ) 123 | )); 124 | -------------------------------------------------------------------------------- /client/uni_modules/lime-painter/components/common/relation.js: -------------------------------------------------------------------------------- 1 | const styles = (v ='') => v.split(';').filter(v => v && !/^[\n\s]+$/.test(v)).map(v => { 2 | const key = v.slice(0, v.indexOf(':')) 3 | const value = v.slice(v.indexOf(':')+1) 4 | return { 5 | [key 6 | .replace(/-([a-z])/g, function() { return arguments[1].toUpperCase()}) 7 | .replace(/\s+/g, '') 8 | ]: value.replace(/^\s+/, '').replace(/\s+$/, '') || '' 9 | } 10 | }) 11 | export function parent(parent) { 12 | return { 13 | provide() { 14 | return { 15 | [parent]: this 16 | } 17 | }, 18 | data() { 19 | return { 20 | el: { 21 | id: null, 22 | css: {}, 23 | views: [] 24 | }, 25 | } 26 | }, 27 | watch: { 28 | css: { 29 | handler(v) { 30 | if(this.canvasId) { 31 | this.el.css = (typeof v == 'object' ? v : v && Object.assign(...styles(v))) || {} 32 | this.canvasWidth = this.el.css && this.el.css.width || this.canvasWidth 33 | this.canvasHeight = this.el.css && this.el.css.height || this.canvasHeight 34 | } 35 | }, 36 | immediate: true 37 | } 38 | } 39 | } 40 | } 41 | export function children(parent, options = {}) { 42 | const indexKey = options.indexKey || 'index' 43 | return { 44 | inject: { 45 | [parent]: { 46 | default: null 47 | } 48 | }, 49 | watch: { 50 | el: { 51 | handler(v, o) { 52 | if(JSON.stringify(v) != JSON.stringify(o)) 53 | this.bindRelation() 54 | }, 55 | deep: true, 56 | immediate: true 57 | }, 58 | src: { 59 | handler(v, o) { 60 | if(v != o) 61 | this.bindRelation() 62 | }, 63 | immediate: true 64 | }, 65 | text: { 66 | handler(v, o) { 67 | if(v != o) this.bindRelation() 68 | }, 69 | immediate: true 70 | }, 71 | css: { 72 | handler(v, o) { 73 | if(v != o) 74 | this.el.css = (typeof v == 'object' ? v : v && Object.assign(...styles(v))) || {} 75 | }, 76 | immediate: true 77 | }, 78 | replace: { 79 | handler(v, o) { 80 | if(JSON.stringify(v) != JSON.stringify(o)) 81 | this.bindRelation() 82 | }, 83 | deep: true, 84 | immediate: true 85 | } 86 | }, 87 | created() { 88 | if(!this._uid) { 89 | this._uid = this._.uid 90 | } 91 | Object.defineProperty(this, 'parent', { 92 | get: () => this[parent] || [], 93 | }) 94 | Object.defineProperty(this, 'index', { 95 | get: () => { 96 | this.bindRelation(); 97 | const {parent: {el: {views=[]}={}}={}} = this 98 | return views.indexOf(this.el) 99 | }, 100 | }); 101 | this.el.type = this.type 102 | if(this.uid) { 103 | this.el.uid = this.uid 104 | } 105 | this.bindRelation() 106 | }, 107 | // #ifdef VUE3 108 | beforeUnmount() { 109 | this.removeEl() 110 | }, 111 | // #endif 112 | // #ifdef VUE2 113 | beforeDestroy() { 114 | this.removeEl() 115 | }, 116 | // #endif 117 | methods: { 118 | removeEl() { 119 | if (this.parent) { 120 | this.parent.el.views = this.parent.el.views.filter( 121 | (item) => item._uid !== this._uid 122 | ); 123 | } 124 | }, 125 | bindRelation() { 126 | if(!this.el._uid) { 127 | this.el._uid = this._uid 128 | } 129 | if(['text','qrcode'].includes(this.type)) { 130 | this.el.text = this.$slots && this.$slots.default && this.$slots.default[0].text || `${this.text || ''}`.replace(/\\n/g, '\n') 131 | } 132 | if(this.type == 'image') { 133 | this.el.src = this.src 134 | } 135 | if (!this.parent) { 136 | return; 137 | } 138 | let views = this.parent.el.views || []; 139 | if(views.indexOf(this.el) !== -1) { 140 | this.parent.el.views = views.map(v => v._uid == this._uid ? this.el : v) 141 | } else { 142 | this.parent.el.views = [...views, this.el]; 143 | } 144 | } 145 | }, 146 | mounted() { 147 | // this.bindRelation() 148 | }, 149 | } 150 | } -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/map/map.php: -------------------------------------------------------------------------------- 1 | field, array( 23 | 'placeholder' => esc_html__( 'Search...', 'csf' ), 24 | 'latitude_text' => esc_html__( 'Latitude', 'csf' ), 25 | 'longitude_text' => esc_html__( 'Longitude', 'csf' ), 26 | 'address_field' => '', 27 | 'height' => '', 28 | ) ); 29 | 30 | $value = wp_parse_args( $this->value, array( 31 | 'address' => '', 32 | 'latitude' => '20', 33 | 'longitude' => '0', 34 | 'zoom' => '2', 35 | ) ); 36 | 37 | $default_settings = array( 38 | 'center' => array( $value['latitude'], $value['longitude'] ), 39 | 'zoom' => $value['zoom'], 40 | 'scrollWheelZoom' => false, 41 | ); 42 | 43 | $settings = ( ! empty( $this->field['settings'] ) ) ? $this->field['settings'] : array(); 44 | $settings = wp_parse_args( $settings, $default_settings ); 45 | 46 | $style_attr = ( ! empty( $args['height'] ) ) ? ' style="min-height:'. esc_attr( $args['height'] ) .';"' : ''; 47 | $placeholder = ( ! empty( $args['placeholder'] ) ) ? array( 'placeholder' => $args['placeholder'] ) : ''; 48 | 49 | echo $this->field_before(); 50 | 51 | if ( empty( $args['address_field'] ) ) { 52 | echo ''; 55 | } else { 56 | echo '
    '; 57 | } 58 | 59 | echo '
    '; 60 | 61 | echo '
    '; 62 | 63 | echo '
    '; 64 | echo ''; 65 | echo ''; 66 | echo '
    '; 67 | 68 | echo '
    '; 69 | echo ''; 70 | echo ''; 71 | echo '
    '; 72 | 73 | echo '
    '; 74 | 75 | echo ''; 76 | 77 | echo $this->field_after(); 78 | 79 | } 80 | 81 | public function enqueue() { 82 | 83 | if ( ! wp_script_is( 'csf-leaflet' ) ) { 84 | wp_enqueue_script( 'csf-leaflet', esc_url( $this->cdn_url . $this->version .'/dist/leaflet.js' ), array( 'csf' ), $this->version, true ); 85 | } 86 | 87 | if ( ! wp_style_is( 'csf-leaflet' ) ) { 88 | wp_enqueue_style( 'csf-leaflet', esc_url( $this->cdn_url . $this->version .'/dist/leaflet.css' ), array(), $this->version ); 89 | } 90 | 91 | if ( ! wp_script_is( 'jquery-ui-autocomplete' ) ) { 92 | wp_enqueue_script( 'jquery-ui-autocomplete' ); 93 | } 94 | 95 | } 96 | 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/README.txt: -------------------------------------------------------------------------------- 1 | === ZhuiGe Official Website Mini Program === 2 | Contributors: zhuige 3 | Donate link: https://www.zhuige.com/ 4 | Tags: 追格,官网,小程序,H5,微信,百度 5 | Requires at least: 5.6 6 | Tested up to: 6.5 7 | Stable tag: 1.8.2 8 | Requires PHP: 7.4 9 | License: GPLv2 or later 10 | License URI: https://www.gnu.org/licenses/gpl-2.0.html 11 | 12 | 追格企业官网Free小程序,专为中小企业开发的轻量级企业建站小程序(前端基于uni-app开发),后台操作简单,维护方便,无需过多配置就能搭建一个企业小程序。 13 | 14 | == Description == 15 | 16 | ## 功能与特点 17 | 18 | 特点:多端(微信、百度、H5)、免费开源、功能后台配置 19 | 20 | 模块:留言反馈、产品服务、新闻动态、合作伙伴、关于我们等 21 | 22 | 微信:**jianbing2011**(加微信可微信群交流) 23 | 24 | == Installation == 25 | 26 | 1. 把jiangqie-ow-free文件夹上传到/wp-content/plugins/目录下 27 | 28 | 2. 在后台插件列表中启用"追格企业官网Free" 29 | 30 | 3. 设置微信/百度小程序的appid,及其他配置信息 31 | 32 | == Frequently Asked Questions == 33 | 34 | = 前端代码从哪里获取 = 35 | 36 | 官网下载:https://www.zhuige.com/product/gwfree.html 37 | 38 | gitee下载:https://gitee.com/zhuige_com/jiangqie_ow_free 39 | 40 | github下载:https://github.com/zhuige-com/jiangqie_ow_free 41 | 42 | 使用文档:https://www.zhuige.com/docs/gwfree.html 43 | 44 | == Screenshots == 45 | 46 | 1. screenshot-1.png 47 | 2. screenshot-2.png 48 | 49 | == Changelog == 50 | 51 | ## 1.8.2(2024-07-16) 52 | 1. 从酱茄迁移到追格 53 | 2. 修复了已知的问题 54 | 55 | ## 1.8.1(2024-05-21) 56 | 1. 支持 vue3 57 | 58 | ## 1.7.3(2024-04-22) 59 | 1. 代码整理 60 | 61 | ## 1.7.2(2024-03-29) 62 | 1. 优化评价打分功能 63 | 64 | ## 1.7.1(2024-03-15) 65 | 1. 支持PHP8 66 | 2. 修复了已知的bug 67 | 68 | ## 1.7.0(2024-02-19) 69 | 1. 修复了已知的bug 70 | 71 | ## 1.6.9(2024-01-09) 72 | 1. 不再支持QQ小程序 73 | 2. 一路前行,感恩有你! 74 | 75 | ## 1.6.8(2023-12-29) 76 | 1. 默认关闭评价打分功能,如有需要请自行开启 77 | 2. 修复了已知的bug 78 | 79 | ## 1.6.7(2023-12-20) 80 | 1. 新增海报生成提示 81 | 82 | ## 1.6.6(2023-12-07) 83 | 1. 新增更新功能 84 | 85 | ## 1.6.5(2023-11-27) 86 | 1. 新增评价打分功能 87 | 88 | ## 1.6.4(2023-11-03) 89 | 1. 新增首页弹框功能 90 | 2. 追格11.11折上折 91 | 92 | ## 1.6.3(2023-10-24) 93 | 1. 删除自定义隐私弹框,改用官方隐私弹框 94 | 95 | ## 1.6.2(2023-09-14) 96 | 1. 新增:隐私保护指引 97 | 98 | ## 1.6.1(2023-09-08) 99 | 1. 优化意见反馈 100 | 101 | ## 1.6.0(2023-08-25) 102 | 1. 首页/动态/留言/动态详情 底部增加:备案号信息 103 | 2. 动态页面,顶部标题改成:公司动态 104 | 3. 留言页面,顶部标题改成:留言反馈 105 | 106 | ## 1.5.8(2023-08-12) 107 | 1. 详情页新增在线客服 108 | 109 | ## 1.5.7(2023-07-31) 110 | 1. 完善意见反馈 111 | 112 | ## 1.5.6(2023-07-08) 113 | 1. 代码整理优化 114 | 2. 天气炎热,注意避暑 115 | 116 | ## 1.5.5(2023-06-20) 117 | 1. 优化联系我们 118 | 119 | ## 1.5.4(2023-06-07) 120 | 1. 清理无用代码 121 | 122 | ## 1.5.3(2023-05-14) 123 | 1. 新增首页分享标题自定义 124 | 2. UI细节调整 125 | 126 | ## 1.5.2(2023-04-27) 127 | 1. 修复iOS上webview兼容性问题 128 | 129 | ## 1.5.1(2023-04-08) 130 | 1. 增加小程序是否导入媒体库的配置 131 | 2. 修复跳转小程序提示的问题 132 | 133 | ## 1.5.0(2023-03-25) 134 | 1. 解决微信开发工具中白屏问题 135 | 2. 增加文章详情推荐模块 136 | 137 | ## 1.4.5(2023-03-11) 138 | 1. 常规维护更新 139 | 140 | ## 1.4.4(2023-02-02) 141 | 1. 细节优化 142 | 143 | ## 1.4.3(2023-01-03) 144 | 1. 新年快乐 145 | 2. 细节优化 146 | 147 | ## 1.4.2(2022-12-11) 148 | 1. 清理无用代码 149 | 150 | ## 1.4.1(2022-11-03) 151 | 1. 优化:压缩图片 152 | 2. 修复:页面分享问题 153 | 154 | ## 1.4.0(2022-08-25) 155 | 1. 优化:幻灯片高度问题; 156 | 2. 优化:首页新闻动态日期显示错乱问题; 157 | 3. 优化:首页产品服务标题信息高度异常; 158 | 4. 优化:底部菜单样式调整; 159 | 5. 优化:其他已知细节优化。 160 | 161 | ## 1.3.7(2022-08-04) 162 | 1. 资讯列表页支持传入文章分类ID 163 | 164 | ## 1.3.6(2022-07-19) 165 | 1. 首页样式调整 166 | 167 | ## 1.3.5(2022-06-19) 168 | 1. 减少不必要的数据绑定 169 | 170 | ## 1.3.3(2022-05-27) 171 | 1. 更新帮助文档 172 | 2. 适配字节小程序 173 | 174 | ## 1.3.2(2022-04-27) 175 | 1. 代码整理,UI细节调整 176 | 177 | = 1.3.1 = 178 | 1. 新增:客户端支持打开视频号; 179 | 2. 修复:过滤文章未考虑文章状态; 180 | 181 | = 1.3.0 = 182 | 1. 优化:底部菜单样式问题; 183 | 2. 优化:参数查询和数据效验(安全)问题; 184 | 3. 优化:避免恶意测试时生成了一些垃圾图片; 185 | 4. 优化:百度端产品服务显示不全的问题; 186 | 187 | = 1.2.1 = 188 | * 新增:资讯分类功能 189 | * 优化:后台管理图标 190 | 191 | = 1.2.0 = 192 | * 优化:支持百度小程序TDK 193 | * 优化:删除冗余二级菜单 194 | 195 | = 1.1.6 = 196 | * 优化:汉化后面配置页面 197 | 198 | = 1.1.5 = 199 | * 优化:避免重复调用同功能函数 200 | 201 | = 1.1.2 = 202 | * 修复:非法词安全检查 203 | 204 | = 1.1.1 = 205 | * 修复:安全问题 206 | 207 | = 1.1.0 = 208 | * 新增:动态新增loading样式 209 | * 优化:后端代码规范性调整 210 | * 优化:完善微信/百度海报长按保存问题 211 | * 优化:后台留言反馈的时间问题 212 | * 优化:留言反馈字段和代码优化 213 | * 优化:后端设置提示改中文 214 | * 优化:微缩图问题优化 215 | * 优化:代码优化,响应速度更快 216 | * 修复:百度端产品服务内容显示不全的问题 217 | 218 | = 1.0.5 = 219 | * 修复了已知的bug 220 | 221 | = 1.0 = 222 | * 第一版 223 | 224 | == Upgrade Notice == 225 | * 暂无 -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/class-jiangqie-ow-free-admin.php: -------------------------------------------------------------------------------- 1 | jiangqie_ow_free = $jiangqie_ow_free; 22 | $this->version = $version; 23 | } 24 | 25 | public function enqueue_styles() 26 | { 27 | wp_enqueue_style($this->jiangqie_ow_free, JIANGQIE_OW_FREE_BASE_URL . 'admin/css/jiangqie-ow-free-admin.css', array(), $this->version, 'all'); 28 | } 29 | 30 | public function enqueue_scripts() 31 | { 32 | wp_enqueue_script($this->jiangqie_ow_free, JIANGQIE_OW_FREE_BASE_URL . 'admin/js/jiangqie-ow-free-admin.js', array('jquery'), $this->version, false); 33 | } 34 | 35 | public function create_menu() 36 | { 37 | $prefix = 'jiangqie-ow-free'; 38 | 39 | CSF::createOptions($prefix, array( 40 | 'framework_title' => '追格企业官网Free by www.zhuige.com', 41 | 'menu_title' => '追格企业官网Free', 42 | 'menu_slug' => 'jiangqie-ow-free', 43 | 'menu_position' => 2, 44 | 'show_bar_menu' => false, 45 | 'show_sub_menu' => false, 46 | 'footer_credit' => 'Thank you for creating with 追格', 47 | 'menu_icon' => 'dashicons-layout', 48 | )); 49 | 50 | $base_dir = plugin_dir_path(__FILE__); 51 | $base_url = plugin_dir_url(__FILE__); 52 | require_once $base_dir . 'partials/overview.php'; 53 | require_once $base_dir . 'partials/global.php'; 54 | require_once $base_dir . 'partials/home.php'; 55 | require_once $base_dir . 'partials/news.php'; 56 | require_once $base_dir . 'partials/feedback.php'; 57 | require_once $base_dir . 'partials/detail.php'; 58 | require_once $base_dir . 'partials/other.php'; 59 | 60 | // 61 | // 备份 62 | // 63 | CSF::createSection($prefix, array( 64 | 'title' => '备份', 65 | 'icon' => 'fas fa-shield-alt', 66 | 'fields' => array( 67 | array( 68 | 'type' => 'backup', 69 | ), 70 | ) 71 | )); 72 | 73 | //过滤ID - 修复多选情况下 ID丢失造成的bug 74 | function jiangqie_ow_free_sanitize_ids($ids, $type='') { 75 | if (!is_array($ids)) { 76 | return $ids; 77 | } 78 | 79 | $ids_n = []; 80 | foreach ($ids as $id) { 81 | if (($type=='cat' && get_category($id))) { 82 | $ids_n[] = $id; 83 | } else if ($type=='post' || $type=='page') { 84 | $post = get_post($id); 85 | if ($post && $post->post_status == 'publish') { 86 | $ids_n[] = $id; 87 | } 88 | } 89 | } 90 | return $ids_n; 91 | } 92 | 93 | function jiangqie_ow_free_save_before( &$data, $option ) { 94 | $data['news_top_cat'] = jiangqie_ow_free_sanitize_ids($data['news_top_cat'], 'cat'); 95 | return $data; 96 | } 97 | add_filter( 'csf_jiangqie-ow-free_save', 'jiangqie_ow_free_save_before', 10, 2 ); 98 | } 99 | 100 | public function admin_init() 101 | { 102 | $this->handle_external_redirects(); 103 | } 104 | 105 | public function admin_menu() 106 | { 107 | add_submenu_page('jiangqie-ow-free', '', '安装文档', 'manage_options', 'jiangqie_ow_free_setup', array(&$this, 'handle_external_redirects')); 108 | add_submenu_page('jiangqie-ow-free', '', '新版下载', 'manage_options', 'jiangqie_ow_free_upgrade', array(&$this, 'handle_external_redirects')); 109 | } 110 | 111 | public function handle_external_redirects() 112 | { 113 | if (empty($_GET['page'])) { 114 | return; 115 | } 116 | 117 | if ('jiangqie_ow_free_setup' === $_GET['page']) { 118 | wp_redirect('https://www.zhuige.com/docs/gwfree.html'); 119 | die; 120 | } 121 | 122 | if ('jiangqie_ow_free_upgrade' === $_GET['page']) { 123 | wp_redirect('https://www.zhuige.com/product/gwfree.html'); 124 | die; 125 | } 126 | } 127 | } 128 | -------------------------------------------------------------------------------- /client/components/tabbar/discovery.vue: -------------------------------------------------------------------------------- 1 | 40 | 41 | 159 | 160 | -------------------------------------------------------------------------------- /client/uni_modules/mp-html/static/app-plus/mp-html/js/uni.webview.min.js: -------------------------------------------------------------------------------- 1 | !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e=e||self).uni=n()}(this,(function(){"use strict";try{var e={};Object.defineProperty(e,"passive",{get:function(){!0}}),window.addEventListener("test-passive",null,e)}catch(e){}var n=Object.prototype.hasOwnProperty;function t(e,t){return n.call(e,t)}var i=[],a=function(e,n){var t={options:{timestamp:+new Date},name:e,arg:n};if(window.__dcloud_weex_postMessage||window.__dcloud_weex_){if("postMessage"===e){var a={data:[n]};return window.__dcloud_weex_postMessage?window.__dcloud_weex_postMessage(a):window.__dcloud_weex_.postMessage(JSON.stringify(a))}var o={type:"WEB_INVOKE_APPSERVICE",args:{data:t,webviewIds:i}};window.__dcloud_weex_postMessage?window.__dcloud_weex_postMessageToService(o):window.__dcloud_weex_.postMessageToService(JSON.stringify(o))}if(!window.plus)return window.parent.postMessage({type:"WEB_INVOKE_APPSERVICE",data:t,pageId:""},"*");if(0===i.length){var r=plus.webview.currentWebview();if(!r)throw new Error("plus.webview.currentWebview() is undefined");var d=r.parent(),s="";s=d?d.id:r.id,i.push(s)}if(plus.webview.getWebviewById("__uniapp__service"))plus.webview.postMessageToUniNView({type:"WEB_INVOKE_APPSERVICE",args:{data:t,webviewIds:i}},"__uniapp__service");else{var w=JSON.stringify(t);plus.webview.getLaunchWebview().evalJS('UniPlusBridge.subscribeHandler("'.concat("WEB_INVOKE_APPSERVICE",'",').concat(w,",").concat(JSON.stringify(i),");"))}},o={navigateTo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("navigateTo",{url:encodeURI(n)})},navigateBack:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.delta;a("navigateBack",{delta:parseInt(n)||1})},switchTab:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("switchTab",{url:encodeURI(n)})},reLaunch:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("reLaunch",{url:encodeURI(n)})},redirectTo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("redirectTo",{url:encodeURI(n)})},getEnv:function(e){window.plus?e({plus:!0}):e({h5:!0})},postMessage:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a("postMessage",e.data||{})}},r=/uni-app/i.test(navigator.userAgent),d=/Html5Plus/i.test(navigator.userAgent),s=/complete|loaded|interactive/;var w=window.my&&navigator.userAgent.indexOf("AlipayClient")>-1;var u=window.swan&&window.swan.webView&&/swan/i.test(navigator.userAgent);var c=window.qq&&window.qq.miniProgram&&/QQ/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var g=window.tt&&window.tt.miniProgram&&/toutiaomicroapp/i.test(navigator.userAgent);var v=window.wx&&window.wx.miniProgram&&/micromessenger/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var p=window.qa&&/quickapp/i.test(navigator.userAgent);for(var l,_=function(){window.UniAppJSBridge=!0,document.dispatchEvent(new CustomEvent("UniAppJSBridgeReady",{bubbles:!0,cancelable:!0}))},f=[function(e){if(r||d)return window.__dcloud_weex_postMessage||window.__dcloud_weex_?document.addEventListener("DOMContentLoaded",e):window.plus&&s.test(document.readyState)?setTimeout(e,0):document.addEventListener("plusready",e),o},function(e){if(v)return window.WeixinJSBridge&&window.WeixinJSBridge.invoke?setTimeout(e,0):document.addEventListener("WeixinJSBridgeReady",e),window.wx.miniProgram},function(e){if(c)return window.QQJSBridge&&window.QQJSBridge.invoke?setTimeout(e,0):document.addEventListener("QQJSBridgeReady",e),window.qq.miniProgram},function(e){if(w){document.addEventListener("DOMContentLoaded",e);var n=window.my;return{navigateTo:n.navigateTo,navigateBack:n.navigateBack,switchTab:n.switchTab,reLaunch:n.reLaunch,redirectTo:n.redirectTo,postMessage:n.postMessage,getEnv:n.getEnv}}},function(e){if(u)return document.addEventListener("DOMContentLoaded",e),window.swan.webView},function(e){if(g)return document.addEventListener("DOMContentLoaded",e),window.tt.miniProgram},function(e){if(p){window.QaJSBridge&&window.QaJSBridge.invoke?setTimeout(e,0):document.addEventListener("QaJSBridgeReady",e);var n=window.qa;return{navigateTo:n.navigateTo,navigateBack:n.navigateBack,switchTab:n.switchTab,reLaunch:n.reLaunch,redirectTo:n.redirectTo,postMessage:n.postMessage,getEnv:n.getEnv}}},function(e){return document.addEventListener("DOMContentLoaded",e),o}],m=0;mfield, array( 20 | 'url' => true, 21 | 'preview' => true, 22 | 'library' => array(), 23 | 'button_title' => esc_html__( 'Upload', 'csf' ), 24 | 'remove_title' => esc_html__( 'Remove', 'csf' ), 25 | 'preview_size' => 'thumbnail', 26 | ) ); 27 | 28 | $default_values = array( 29 | 'url' => '', 30 | 'id' => '', 31 | 'width' => '', 32 | 'height' => '', 33 | 'thumbnail' => '', 34 | 'alt' => '', 35 | 'title' => '', 36 | 'description' => '' 37 | ); 38 | 39 | // fallback 40 | if ( is_numeric( $this->value ) ) { 41 | 42 | $this->value = array( 43 | 'id' => $this->value, 44 | 'url' => wp_get_attachment_url( $this->value ), 45 | 'thumbnail' => wp_get_attachment_image_src( $this->value, 'thumbnail', true )[0], 46 | ); 47 | 48 | } 49 | 50 | $this->value = wp_parse_args( $this->value, $default_values ); 51 | 52 | $library = ( is_array( $args['library'] ) ) ? $args['library'] : array_filter( (array) $args['library'] ); 53 | $library = ( ! empty( $library ) ) ? implode(',', $library ) : ''; 54 | $preview_src = ( $args['preview_size'] !== 'thumbnail' ) ? $this->value['url'] : $this->value['thumbnail']; 55 | $hidden_url = ( empty( $args['url'] ) ) ? ' hidden' : ''; 56 | $hidden_auto = ( empty( $this->value['url'] ) ) ? ' hidden' : ''; 57 | $placeholder = ( empty( $this->field['placeholder'] ) ) ? ' placeholder="'. esc_html__( 'Not selected', 'csf' ) .'"' : ''; 58 | 59 | echo $this->field_before(); 60 | 61 | if ( ! empty( $args['preview'] ) ) { 62 | echo '
    '; 63 | echo '
    '; 64 | echo '
    '; 65 | } 66 | 67 | echo '
    '; 68 | echo 'field_attributes() . $placeholder .' />'; 69 | echo ''. $args['button_title'] .''; 70 | echo ( empty( $args['preview'] ) ) ? ''. $args['remove_title'] .'' : ''; 71 | echo '
    '; 72 | 73 | echo ''; 74 | echo ''; 75 | echo ''; 76 | echo ''; 77 | echo ''; 78 | echo ''; 79 | echo ''; 80 | 81 | echo $this->field_after(); 82 | 83 | } 84 | 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /plugins/jiangqie-ow-free/admin/codestar-framework/fields/repeater/repeater.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'max' => 0, 21 | 'min' => 0, 22 | 'button_title' => '', 23 | ) ); 24 | 25 | if ( preg_match( '/'. preg_quote( '['. $this->field['id'] .']' ) .'/', $this->unique ) ) { 26 | 27 | echo '
    '. esc_html__( 'Error: Field ID conflict.', 'csf' ) .'
    '; 28 | 29 | } else { 30 | 31 | echo $this->field_before(); 32 | 33 | echo '
    '; 34 | echo '
    '; 35 | foreach ( $this->field['fields'] as $field ) { 36 | 37 | $field_default = ( isset( $field['default'] ) ) ? $field['default'] : ''; 38 | $field_unique = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .'][0]' : $this->field['id'] .'[0]'; 39 | 40 | CSF::field( $field, $field_default, '___'. $field_unique, 'field/repeater' ); 41 | 42 | } 43 | echo '
    '; 44 | echo '
    '; 45 | echo '
    '; 46 | echo ''; 47 | echo ''; 48 | echo ''; 49 | echo '
    '; 50 | echo '
    '; 51 | echo '
    '; 52 | 53 | echo '
    '; 54 | 55 | if ( ! empty( $this->value ) && is_array( $this->value ) ) { 56 | 57 | $num = 0; 58 | 59 | foreach ( $this->value as $key => $value ) { 60 | 61 | echo '
    '; 62 | echo '
    '; 63 | foreach ( $this->field['fields'] as $field ) { 64 | 65 | $field_unique = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']['. $num .']' : $this->field['id'] .'['. $num .']'; 66 | $field_value = ( isset( $field['id'] ) && isset( $this->value[$key][$field['id']] ) ) ? $this->value[$key][$field['id']] : ''; 67 | 68 | CSF::field( $field, $field_value, $field_unique, 'field/repeater' ); 69 | 70 | } 71 | echo '
    '; 72 | echo '
    '; 73 | echo '
    '; 74 | echo ''; 75 | echo ''; 76 | echo ''; 77 | echo '
    '; 78 | echo '
    '; 79 | echo '
    '; 80 | 81 | $num++; 82 | 83 | } 84 | 85 | } 86 | 87 | echo '
    '; 88 | 89 | echo '
    '. esc_html__( 'You cannot add more.', 'csf' ) .'
    '; 90 | echo '
    '. esc_html__( 'You cannot remove more.', 'csf' ) .'
    '; 91 | echo ''. $args['button_title'] .''; 92 | 93 | echo $this->field_after(); 94 | 95 | } 96 | 97 | } 98 | 99 | public function enqueue() { 100 | 101 | if ( ! wp_script_is( 'jquery-ui-sortable' ) ) { 102 | wp_enqueue_script( 'jquery-ui-sortable' ); 103 | } 104 | 105 | } 106 | 107 | } 108 | } 109 | -------------------------------------------------------------------------------- /client/pages/list/list.vue: -------------------------------------------------------------------------------- 1 | 34 | 35 | 171 | 172 | --------------------------------------------------------------------------------