Skip to content

Commit b2180c2

Browse files
committed
feat: modstart upgrade
1 parent 3744e73 commit b2180c2

File tree

175 files changed

+6892
-4898
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

175 files changed

+6892
-4898
lines changed

module/Vendor/Asset/entry-chunk-0-bfa6c5e3.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

module/Vendor/Asset/entry-chunk-0-c2682fd6.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

module/Vendor/Asset/entry/all.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

module/Vendor/Asset/entry/quickRunCustomFieldEdit.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?php
2+
3+
4+
namespace Module\Vendor\QuickRun\Verify\Field;
5+
6+
7+
use ModStart\Core\Util\IdUtil;
8+
use ModStart\Layout\LayoutHtml;
9+
10+
11+
class LayoutHtmlVerifyFoot extends LayoutHtml
12+
{
13+
protected $isLayoutField = true;
14+
15+
public function __construct()
16+
{
17+
parent::__construct(null);
18+
}
19+
20+
public function render()
21+
{
22+
$id = IdUtil::generate('LayoutHtmlVerifyFoot');
23+
$this->label = <<<HTML_FOOT
24+
<script type="text/html" id="{$id}Content">
25+
<button type="button" class="btn btn-primary" data-verify-pass>审核通过</button>
26+
<button type="button" class="btn btn-danger" data-verify-reject>审核拒绝</button>
27+
<input class="form" placeholder="输入拒绝理由" data-verify-rejct-remark />
28+
</script>
29+
<script>
30+
$(function(){
31+
$(".panel-dialog-foot").css('text-align','left').html($('#{$id}Content').html());
32+
var search = null;
33+
try {
34+
search = window.parent.__grids.get(0).lister.getParam().search;
35+
} catch(e) { }
36+
var request = function(data){
37+
MS.dialog.loadingOn();
38+
var formData = $('form').serializeJson();
39+
MS.api.post(window.location.href,Object.assign(data,{search:search},formData), function(res){
40+
MS.dialog.loadingOff();
41+
MS.api.defaultCallback(res);
42+
});
43+
};
44+
$(document).on('click','[data-verify-pass]',function(){
45+
request({verify:true});
46+
});
47+
$(document).on('click','[data-verify-reject]',function(){
48+
request({verify:false,remark:$('[data-verify-rejct-remark]').val()});
49+
});
50+
});
51+
</script>
52+
HTML_FOOT;
53+
return parent::render();
54+
}
55+
56+
57+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
3+
4+
namespace Module\Vendor\QuickRun\Verify;
5+
6+
use ModStart\Support\Manager\FieldManager;
7+
use Module\Vendor\QuickRun\Verify\Field\LayoutHtmlVerifyFoot;
8+
9+
class VerifyFieldUtil
10+
{
11+
public static function register()
12+
{
13+
FieldManager::extend('layoutHtmlVerifyFoot', LayoutHtmlVerifyFoot::class);
14+
}
15+
16+
}

module/Vendor/Tecmz/Tecmz.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ private function request($gate, $param = [])
7575
}
7676
return CurlUtil::postJSONBody($url, $param, [
7777
'timeout' => 60 * 10,
78+
'userAgent' => 'TecmzApi ModStart/' . modstart_version() . ' PHP/' . PHP_VERSION . ' OS/' . PHP_OS,
7879
]);
7980
}
8081

@@ -221,7 +222,7 @@ public function imageCompress($format, $imageData = null, $imageUrl = null, $nam
221222
$post['name'] = $name;
222223
$post['param'] = json_encode($param, JSON_UNESCAPED_UNICODE);
223224
$server = $ret['data']['server'];
224-
$ret = CurlUtil::postJSONBody($server, $post);
225+
$ret = CurlUtil::postJSONBody($server, $post);
225226
if (Response::isError($ret)) {
226227
return $ret;
227228
}

module/Vendor/resources/asset/src/components/all.js

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,41 @@
11
import ImagesSelector from "@ModStartAsset/svue/components/ImagesSelector.vue"
22
import ImageSelector from "@ModStartAsset/svue/components/ImageSelector.vue"
33
import VideoSelector from "@ModStartAsset/svue/components/VideoSelector.vue"
4+
import AudioSelector from "@ModStartAsset/svue/components/AudioSelector.vue"
45
import FileSelector from "@ModStartAsset/svue/components/FileSelector.vue"
56
import FilesSelector from "@ModStartAsset/svue/components/FilesSelector.vue"
67

7-
const AudioSelector = Object.assign({}, FileSelector)
8-
AudioSelector.props = Object.assign({}, FileSelector.props)
9-
AudioSelector.props.doSelectCustom = Object.assign({}, FileSelector.props.doSelectCustom)
10-
AudioSelector.props.selectText = Object.assign({}, FileSelector.props.selectText)
8+
const setProp = (com, key, value) => {
9+
if (com.props && (key in com.props)) {
10+
com.props[key].default = value
11+
} else {
12+
for (const c of com.mixins) {
13+
setProp(c, key, value)
14+
}
15+
}
16+
}
1117

12-
const buildSelectorDialog = (type) => {
18+
const buildFileSelectorDialog = (type) => {
1319
return (cb) => {
1420
if (!('__selectorDialogServer' in window)) {
1521
alert('请先配置 window.__selectorDialogServer')
1622
}
1723
window.__selectorDialog = new window.api.selectorDialog({
1824
server: window.__selectorDialogServer + '/' + type,
1925
callback: (items) => {
20-
if (items.length > 0) cb(items[0].path)
26+
if (items.length > 0) {
27+
cb(items[0].path)
28+
}
2129
}
2230
}).show()
2331
};
2432
}
2533

2634
const buildFilesSelectorDialog = (type) => {
2735
return (cb) => {
36+
if (!('__selectorDialogServer' in window)) {
37+
alert('请先配置 window.__selectorDialogServer')
38+
}
2839
window.__selectorDialog = new window.api.selectorDialog({
2940
server: window.__selectorDialogServer + '/' + type,
3041
callback: (items) => {
@@ -34,13 +45,12 @@ const buildFilesSelectorDialog = (type) => {
3445
};
3546
}
3647

37-
ImageSelector.props.doSelectCustom.default = buildSelectorDialog('image')
38-
FileSelector.props.doSelectCustom.default = buildSelectorDialog('file')
39-
VideoSelector.props.doSelectCustom.default = buildSelectorDialog('video')
40-
AudioSelector.props.doSelectCustom.default = buildSelectorDialog('audio')
41-
AudioSelector.props.selectText.default = '选择音频'
48+
ImageSelector.props.doSelectCustom.default = buildFileSelectorDialog('image')
4249
ImagesSelector.props.doSelectCustom.default = buildFilesSelectorDialog('image')
50+
FileSelector.props.doSelectCustom.default = buildFileSelectorDialog('file')
4351
FilesSelector.props.doSelectCustom.default = buildFilesSelectorDialog('file')
52+
setProp(VideoSelector, 'doSelectCustom', buildFileSelectorDialog('video'))
53+
setProp(AudioSelector, 'doSelectCustom', buildFileSelectorDialog('audio'))
4454

4555
if (window.__selectorDialogServer) {
4656
ImageSelector.props.imageDialogUrl.default = window.__selectorDialogServer
@@ -53,14 +63,14 @@ export default (Vue) => {
5363
Vue.component("files-selector", FilesSelector)
5464
Vue.component("video-selector", VideoSelector)
5565
Vue.component("audio-selector", AudioSelector)
66+
Vue.component("json-editor", () => import("@ModStartAsset/svue/components/JsonEditor.vue"))
5667
Vue.component('rich-editor', () => import('./RichEditor'))
5768
Vue.component('name-value-list-editor', () => import('./NameValueListEditor'))
5869
Vue.component("smart-link", () => import('@ModStartAsset/svue/components/SmartLink'))
5970
Vue.component("smart-captcha", () => import('@ModStartAsset/svue/components/SmartCaptcha'))
6071
Vue.component("smart-verify", () => import('@ModStartAsset/svue/components/SmartVerify'))
6172
}
6273

63-
6474
// VueManager.Vue.component('icon-selector', require('./../components/IconSelector').default)
6575
// VueManager.Vue.component('image-link-editor', require('./../components/ImageLinkEditor').default)
6676
// VueManager.Vue.component('text-link-editor', require('./../components/TextLinkEditor').default)

0 commit comments

Comments
 (0)