Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
jcy2004x
ShopXO
提交
6a6d7718
ShopXO
项目概览
jcy2004x
/
ShopXO
与 Fork 源项目一致
Fork自
纵之格 / ShopXO
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6a6d7718
编写于
1月 06, 2021
作者:
D
Devil
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
api接口新增插件配置、发票功能优化
上级
76878f30
变更
12
显示空白变更内容
内联
并排
Showing
12 changed file
with
173 addition
and
103 deletion
+173
-103
application/admin/view/default/appmini/module/operate.html
application/admin/view/default/appmini/module/operate.html
+6
-4
application/api/controller/Base.php
application/api/controller/Base.php
+1
-2
application/service/BaseService.php
application/service/BaseService.php
+4
-0
application/service/PluginsAdminService.php
application/service/PluginsAdminService.php
+2
-2
application/service/PluginsService.php
application/service/PluginsService.php
+80
-33
application/tags.php
application/tags.php
+63
-51
changelog.txt
changelog.txt
+7
-1
sourcecode/alipay/default/pages/plugins/invoice/invoice/invoice.axml
...alipay/default/pages/plugins/invoice/invoice/invoice.axml
+2
-2
sourcecode/baidu/default/pages/plugins/invoice/invoice/invoice.swan
.../baidu/default/pages/plugins/invoice/invoice/invoice.swan
+2
-2
sourcecode/qq/default/pages/plugins/invoice/invoice/invoice.qml
...code/qq/default/pages/plugins/invoice/invoice/invoice.qml
+2
-2
sourcecode/toutiao/default/pages/plugins/invoice/invoice/invoice.ttml
...outiao/default/pages/plugins/invoice/invoice/invoice.ttml
+2
-2
sourcecode/weixin/default/pages/plugins/invoice/invoice/invoice.wxml
...weixin/default/pages/plugins/invoice/invoice/invoice.wxml
+2
-2
未找到文件。
application/admin/view/default/appmini/module/operate.html
浏览文件 @
6a6d7718
<!-- 操作栏 -->
<a
class=
"am-btn am-btn-success am-btn-xs am-radius am-btn-block"
href=
"{{$module_data.url}}"
>
{{if !empty($module_data['url'])}}
<a
class=
"am-btn am-btn-success am-btn-xs am-radius am-btn-block"
href=
"{{$module_data.url}}"
>
<i
class=
"am-icon-download"
></i>
<span>
下载
</span>
</a>
</a>
{{/if}}
<button
type=
"button"
class=
"am-btn am-btn-danger am-btn-xs am-radius am-btn-block submit-delete"
data-url=
"{{:MyUrl('admin/appmini/delete', ['nav_type'=>$nav_type])}}"
data-id=
"{{$module_data.name}}"
data-key=
"ids"
>
<i
class=
"am-icon-trash-o"
></i>
<span>
删除
</span>
...
...
application/api/controller/Base.php
浏览文件 @
6a6d7718
...
...
@@ -35,8 +35,7 @@ class Base extends Common
// 参数
$params
=
$this
->
data_post
;
$params
[
'user'
]
=
$this
->
user
;
$data
=
BaseService
::
Common
(
$params
);
return
DataReturn
(
'success'
,
0
,
$data
);
return
DataReturn
(
'success'
,
0
,
BaseService
::
Common
(
$params
));
}
}
?>
\ No newline at end of file
application/service/BaseService.php
浏览文件 @
6a6d7718
...
...
@@ -14,6 +14,7 @@ use think\Db;
use
think\facade\Hook
;
use
app\service\ResourcesService
;
use
app\service\QuickNavService
;
use
app\service\PluginsService
;
/**
* 基础公共信息服务层
...
...
@@ -93,6 +94,9 @@ class BaseService
// 快捷入口信息
'quick_nav'
=>
QuickNavService
::
QuickNav
(),
// 插件配置信息
'plugins_base'
=>
PluginsService
::
PluginsBaseList
(),
];
// 公共配置信息钩子
...
...
application/service/PluginsAdminService.php
浏览文件 @
6a6d7718
...
...
@@ -28,10 +28,10 @@ class PluginsAdminService
public
static
$plugins_exclude_verification
=
[
'view'
,
'shopxo'
,
'www'
];
// 排除的文件后缀
p
rivate
static
$exclude_ext
=
[
'php'
];
p
ublic
static
$exclude_ext
=
[
'php'
];
// 读取插件排序方式(自定义排序 -> 最早安装)
p
rivate
static
$plugins_order_by
=
'sort asc,id asc'
;
p
ublic
static
$plugins_order_by
=
'sort asc,id asc'
;
/**
* 列表
...
...
application/service/PluginsService.php
浏览文件 @
6a6d7718
...
...
@@ -12,6 +12,7 @@ namespace app\service;
use
think\Db
;
use
app\service\ResourcesService
;
use
app\service\PluginsAdminService
;
/**
* 应用服务层
...
...
@@ -45,7 +46,34 @@ class PluginsService
$ret
=
self
::
PluginsField
(
$plugins
,
'data'
);
if
(
!
empty
(
$ret
[
'data'
]))
{
$data
=
json_decode
(
$ret
[
'data'
],
true
);
// 数据处理
$data
=
self
::
PluginsDataHandle
(
$ret
[
'data'
],
$attachment_field
);
// 存储缓存
self
::
PluginsCacheStorage
(
$plugins
,
$data
);
}
}
return
DataReturn
(
'处理成功'
,
0
,
$data
);
}
/**
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-01-06
* @desc description
* @param [array|json] $data [应用配置数据]
* @param [array] $attachment_field [附件字段]
*/
public
static
function
PluginsDataHandle
(
$data
,
$attachment_field
=
[])
{
// 有数据并且非数组则解析json
if
(
!
empty
(
$data
)
&&
!
is_array
(
$data
))
{
$data
=
json_decode
(
$data
,
true
);
}
// 处理配置数据
if
(
!
empty
(
$data
)
&&
is_array
(
$data
))
{
// 是否有自定义附件需要处理
...
...
@@ -84,12 +112,7 @@ class PluginsService
}
}
}
// 存储缓存
self
::
PluginsCacheStorage
(
$plugins
,
$data
);
}
}
return
DataReturn
(
'处理成功'
,
0
,
$data
);
return
empty
(
$data
)
?
null
:
$data
;
}
/**
...
...
@@ -261,7 +284,7 @@ class PluginsService
* @param [string] $group [应用组(admin, index, api)]
* @param [array] $params [输入参数]
*/
public
static
function
PluginsControlCall
(
$plugins
,
$control
,
$action
,
$group
=
'index'
,
$params
=
[]
,
$is_return_data
=
0
)
public
static
function
PluginsControlCall
(
$plugins
,
$control
,
$action
,
$group
=
'index'
,
$params
=
[])
{
// 应用校验
$ret
=
self
::
PluginsCheck
(
$plugins
);
...
...
@@ -293,5 +316,29 @@ class PluginsService
}
return
DataReturn
(
'调用成功'
,
0
,
$obj
->
$action
(
$params
));
}
/**
* 所有有效插件配置列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-01-06
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
PluginsBaseList
(
$params
=
[])
{
$data
=
Db
::
name
(
'Plugins'
)
->
where
([
'is_enable'
=>
1
])
->
order
(
PluginsAdminService
::
$plugins_order_by
)
->
field
(
'id,plugins,data'
)
->
select
();
if
(
!
empty
(
$data
))
{
foreach
(
$data
as
&
$v
)
{
$v
[
'data'
]
=
self
::
PluginsDataHandle
(
$v
[
'data'
]);
}
}
else
{
$data
=
null
;
}
return
$data
;
}
}
?>
\ No newline at end of file
application/tags.php
浏览文件 @
6a6d7718
...
...
@@ -32,23 +32,75 @@ return array (
'log_write'
=>
array
(
),
'plugins_service_quick_navigation_pc'
=>
array
(
0
=>
'app\\plugins\\invoice\\Hook'
,
1
=>
'app\\plugins\\signin\\Hook'
,
2
=>
'app\\plugins\\exchangerate\\Hook'
,
3
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_quick_navigation_h5'
=>
array
(
0
=>
'app\\plugins\\invoice\\Hook'
,
1
=>
'app\\plugins\\signin\\Hook'
,
2
=>
'app\\plugins\\exchangerate\\Hook'
,
3
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_quick_navigation_weixin'
=>
array
(
0
=>
'app\\plugins\\invoice\\Hook'
,
1
=>
'app\\plugins\\signin\\Hook'
,
2
=>
'app\\plugins\\exchangerate\\Hook'
,
3
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_quick_navigation_alipay'
=>
array
(
0
=>
'app\\plugins\\invoice\\Hook'
,
1
=>
'app\\plugins\\signin\\Hook'
,
2
=>
'app\\plugins\\exchangerate\\Hook'
,
3
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_quick_navigation_baidu'
=>
array
(
0
=>
'app\\plugins\\invoice\\Hook'
,
1
=>
'app\\plugins\\signin\\Hook'
,
2
=>
'app\\plugins\\exchangerate\\Hook'
,
3
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_quick_navigation_qq'
=>
array
(
0
=>
'app\\plugins\\invoice\\Hook'
,
1
=>
'app\\plugins\\signin\\Hook'
,
2
=>
'app\\plugins\\exchangerate\\Hook'
,
3
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_quick_navigation_toutiao'
=>
array
(
0
=>
'app\\plugins\\invoice\\Hook'
,
1
=>
'app\\plugins\\signin\\Hook'
,
2
=>
'app\\plugins\\exchangerate\\Hook'
,
3
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_users_center_left_menu_handle'
=>
array
(
0
=>
'app\\plugins\\distribution\\Hook'
,
1
=>
'app\\plugins\\membershiplevelvip\\Hook'
,
2
=>
'app\\plugins\\signin\\Hook'
,
0
=>
'app\\plugins\\invoice\\Hook'
,
1
=>
'app\\plugins\\distribution\\Hook'
,
2
=>
'app\\plugins\\membershiplevelvip\\Hook'
,
3
=>
'app\\plugins\\signin\\Hook'
,
),
'plugins_service_header_navigation_top_right_handle'
=>
array
(
0
=>
'app\\plugins\\distribution\\Hook'
,
1
=>
'app\\plugins\\membershiplevelvip\\Hook'
,
2
=>
'app\\plugins\\signin\\Hook'
,
3
=>
'app\\plugins\\exchangerate\\Hook'
,
0
=>
'app\\plugins\\invoice\\Hook'
,
1
=>
'app\\plugins\\distribution\\Hook'
,
2
=>
'app\\plugins\\membershiplevelvip\\Hook'
,
3
=>
'app\\plugins\\signin\\Hook'
,
4
=>
'app\\plugins\\exchangerate\\Hook'
,
),
'plugins_service_order_status_change_history_success_handle'
=>
array
(
0
=>
'app\\plugins\\distribution\\Hook'
,
1
=>
'app\\plugins\\points\\Hook'
,
0
=>
'app\\plugins\\invoice\\Hook'
,
1
=>
'app\\plugins\\distribution\\Hook'
,
2
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_order_aftersale_audit_handle_end'
=>
array
(
...
...
@@ -99,10 +151,12 @@ return array (
'plugins_module_form_admin_user_index'
=>
array
(
0
=>
'app\\plugins\\distribution\\Hook'
,
1
=>
'app\\plugins\\membershiplevelvip\\Hook'
,
),
'plugins_module_form_admin_user_detail'
=>
array
(
0
=>
'app\\plugins\\distribution\\Hook'
,
1
=>
'app\\plugins\\membershiplevelvip\\Hook'
,
),
'plugins_css'
=>
array
(
...
...
@@ -160,48 +214,6 @@ return array (
array
(
0
=>
'app\\plugins\\membershiplevelvip\\Hook'
,
),
'plugins_service_quick_navigation_pc'
=>
array
(
0
=>
'app\\plugins\\signin\\Hook'
,
1
=>
'app\\plugins\\exchangerate\\Hook'
,
2
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_quick_navigation_h5'
=>
array
(
0
=>
'app\\plugins\\signin\\Hook'
,
1
=>
'app\\plugins\\exchangerate\\Hook'
,
2
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_quick_navigation_weixin'
=>
array
(
0
=>
'app\\plugins\\signin\\Hook'
,
1
=>
'app\\plugins\\exchangerate\\Hook'
,
2
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_quick_navigation_alipay'
=>
array
(
0
=>
'app\\plugins\\signin\\Hook'
,
1
=>
'app\\plugins\\exchangerate\\Hook'
,
2
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_quick_navigation_baidu'
=>
array
(
0
=>
'app\\plugins\\signin\\Hook'
,
1
=>
'app\\plugins\\exchangerate\\Hook'
,
2
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_quick_navigation_qq'
=>
array
(
0
=>
'app\\plugins\\signin\\Hook'
,
1
=>
'app\\plugins\\exchangerate\\Hook'
,
2
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_quick_navigation_toutiao'
=>
array
(
0
=>
'app\\plugins\\signin\\Hook'
,
1
=>
'app\\plugins\\exchangerate\\Hook'
,
2
=>
'app\\plugins\\points\\Hook'
,
),
'plugins_service_currency_data'
=>
array
(
0
=>
'app\\plugins\\exchangerate\\Hook'
,
...
...
changelog.txt
浏览文件 @
6a6d7718
...
...
@@ -17,8 +17,9 @@ web端
3. 插件缓存数据优化、重新安装保留配置信息
4. 友情链接新增手机端显隐控制
5. 公共动态数据表单参数优化
6. 动态数据列表组件条件新增气泡式弹出层
6. 动态数据列表组件条件新增气泡式弹出层
、模块引入参数优化
7. 后台插件管理新增排序功能、自定义显示顺序+插件调用顺序
8. 公共接口新增插件配置返回
小程序
...
...
@@ -26,6 +27,11 @@ web端
2. 微信小程序登录授权循环bug修复
插件
1. 新增签到插件
2. 新增积分商城插件
3. 分销插件取货点与向上返佣支持同步进行、可控制,用户列表新增分销等级展示
4. 会员等级插件优化用户列表新增会员等级展示
5. 发票插件支持下单开票
...
...
sourcecode/alipay/default/pages/plugins/invoice/invoice/invoice.axml
浏览文件 @
6a6d7718
...
...
@@ -38,8 +38,8 @@
</view>
</view>
</navigator>
<view a:if="{{item.status == 0 || item.status == 3}}" class="operation tr br-t-dashed">
<button class="cr-666 br" type="default" size="mini" onTap="edit_event" data-value="{{item.id}}" hover-class="none">编辑</button>
<view a:if="{{item.status == 0 || item.status == 3
|| item.status == 4
}}" class="operation tr br-t-dashed">
<button
a:if="{{item.status == 0 || item.status == 3}}"
class="cr-666 br" type="default" size="mini" onTap="edit_event" data-value="{{item.id}}" hover-class="none">编辑</button>
<button class="submit-delete" type="default" size="mini" onTap="delete_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">删除</button>
</view>
</view>
...
...
sourcecode/baidu/default/pages/plugins/invoice/invoice/invoice.swan
浏览文件 @
6a6d7718
...
...
@@ -38,8 +38,8 @@
</view>
</view>
</navigator>
<view s-if="item.status == 0 || item.status == 3" class="operation tr br-t-dashed">
<button class="cr-666 br" type="default" size="mini" bindtap="edit_event" data-value="{{item.id}}" hover-class="none">编辑</button>
<view s-if="item.status == 0 || item.status == 3
|| item.status == 4
" class="operation tr br-t-dashed">
<button
s-if="item.status == 0 || item.status == 3"
class="cr-666 br" type="default" size="mini" bindtap="edit_event" data-value="{{item.id}}" hover-class="none">编辑</button>
<button class="submit-delete" type="default" size="mini" bindtap="delete_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">删除</button>
</view>
</view>
...
...
sourcecode/qq/default/pages/plugins/invoice/invoice/invoice.qml
浏览文件 @
6a6d7718
...
...
@@ -38,8 +38,8 @@
<
/view
>
<
/view
>
<
/navigator
>
<
view
qq
:
if
=
"
{{item.status == 0 || item.status == 3}}
"
class
=
"
operation tr br-t-dashed
"
>
<
button
class
=
"
cr-666 br
"
type
=
"
default
"
size
=
"
mini
"
bindtap
=
"
edit_event
"
data
-
value
=
"
{{item.id}}
"
hover
-
class
=
"
none
"
>
编辑
<
/button
>
<
view
qq
:
if
=
"
{{item.status == 0 || item.status == 3
|| item.status == 4
}}
"
class
=
"
operation tr br-t-dashed
"
>
<
button
qq
:
if
=
"
{{item.status == 0 || item.status == 3}}
"
class
=
"
cr-666 br
"
type
=
"
default
"
size
=
"
mini
"
bindtap
=
"
edit_event
"
data
-
value
=
"
{{item.id}}
"
hover
-
class
=
"
none
"
>
编辑
<
/button
>
<
button
class
=
"
submit-delete
"
type
=
"
default
"
size
=
"
mini
"
bindtap
=
"
delete_event
"
data
-
value
=
"
{{item.id}}
"
data
-
index
=
"
{{index}}
"
hover
-
class
=
"
none
"
>
删除
<
/button
>
<
/view
>
<
/view
>
...
...
sourcecode/toutiao/default/pages/plugins/invoice/invoice/invoice.ttml
浏览文件 @
6a6d7718
...
...
@@ -38,8 +38,8 @@
</view>
</view>
</navigator>
<view tt:if="{{item.status == 0 || item.status == 3}}" class="operation tr br-t-dashed">
<button class="cr-666 br" type="default" size="mini" bindtap="edit_event" data-value="{{item.id}}" hover-class="none">编辑</button>
<view tt:if="{{item.status == 0 || item.status == 3
|| item.status == 4
}}" class="operation tr br-t-dashed">
<button
tt:if="{{item.status == 0 || item.status == 3}}"
class="cr-666 br" type="default" size="mini" bindtap="edit_event" data-value="{{item.id}}" hover-class="none">编辑</button>
<button class="submit-delete" type="default" size="mini" bindtap="delete_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">删除</button>
</view>
</view>
...
...
sourcecode/weixin/default/pages/plugins/invoice/invoice/invoice.wxml
浏览文件 @
6a6d7718
...
...
@@ -38,8 +38,8 @@
</view>
</view>
</navigator>
<view wx:if="{{item.status == 0 || item.status == 3}}" class="operation tr br-t-dashed">
<button class="cr-666 br" type="default" size="mini" bindtap="edit_event" data-value="{{item.id}}" hover-class="none">编辑</button>
<view wx:if="{{item.status == 0 || item.status == 3
|| item.status == 4
}}" class="operation tr br-t-dashed">
<button
wx:if="{{item.status == 0 || item.status == 3}}"
class="cr-666 br" type="default" size="mini" bindtap="edit_event" data-value="{{item.id}}" hover-class="none">编辑</button>
<button class="submit-delete" type="default" size="mini" bindtap="delete_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">删除</button>
</view>
</view>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录