- 提供一个不错的免费日历控件
hzleihuan
asp.net(vb)日历calendarbuttonusercontrolstextboxserver
此次控件是在作者:biojaye制作的控件基础上修正了。1、一个如果在编辑模式下字段为空的情况下,控件为出现错误后2、选择完成后日历自动收缩3、在字段为空的情况,TEXT里显示的为当前值再进行发布的。C#版本(为原如版本,请熟悉C#函数的人更改一下,我用的是VB.net,呵呵):GridView中的日期字段输入,实在是一个麻烦的事情,因为对一般的用户来讲,不知道输入日期的那种格式,如果日期的输入不
- html,css,javascript学习笔记
m0_54000719
学习html5前端
学习内容:记录一下自己学习中的问题与习题(结课考试需要)学习时间:有时间就会学习的学习产出:表单解析:本题考察新增input类型的样式图中给的是可选择年数、月份的日历控件,所以选择date属性;month只能选择年、周的日历控件;date提供年月日的选择或自行输入;time显示一个时间控件,,提供时间的择或自行输入。(做这道题时候我也不是很懂,其实是根本就没见过,作为一个知识点还可以,实际做项目应
- 推荐一款第三方的日历框架------CalendarView
夜未央ぴ陌上花开丶
android第三方框架
简介Android上一个优雅、高度自定义、性能高效的日历控件,完美支持周视图,支持标记、自定义颜色、农历等,任意控制月视图显示、任意日期拦截条件、自定义周起始等。Canvas绘制,极速性能、占用内存低,支持简单定制即可实现任意自定义布局、自定义UI,支持收缩展开、性能非常高效,这个控件内存和效率优势相当明显,而且真正做到收缩+展开,适配多种场景,支持同时多种颜色标记日历事务,支持多点触控,你真的想
- poium测试库之JavaScript API封装原理
测试界媛姐
自动化测试软件测试技术分享javascript开发语言ecmascript
为什么要封装JavaScript的API?因为有些场景下Selenium提供的API并不能满足我们需求。比如,滑动浏览滚动条,控制元素的显示/隐藏,日历控件的操作等,都可以通过JavaScrip实现,而且Selenium为我们提供了execute_script()方法可以用来运行JavaScrip脚本。旧的设计思路先看旧的设计代码和调用。#=====封装代码======classPage(obje
- 【转】WPF自定义控件与样式(5)-Calendar/DatePicker日期控件自定义样式及扩展
weixin_30273501
一.前言申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等。本文主要内容:日历控件Calendar自定义样式;日期控件DatePicker自定义样式,及Label标签、水印、清除日期功能扩展;二.Calendar自定义样式先看看效果:从上面图可以看出,日历的显示其实有三种状态,如下面的分解图:"日"部分的显示;"月"部分的显示;"年"部分的显示;因
- WPF系列教程(十九):日期控件——Calendar、DatePicker日历控件
小菜的成长之路
WPF教程c语言c#wpf
项目源码Calendar控件DisplayMode="Month"属性:显示日历时最高的一级,以十年、年、月来显示,一般用Month。DisplayDateStart="2021-5-1"DisplayDateEnd="2021-11-29"属性:日历的开始和结束日期。FirstDayOfWeek="Monday"属性用于将某一天作为日历第一列的第一天。当选择的日期发生改变时,可以用触发事件Sel
- WPF自定义控件与样式(5)-Calendar/DatePicker日期控件自定义样式及扩展
问·道
wpf
一.前言申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接。本文主要内容:日历控件Calendar自定义样式;日期控件DatePicker自定义样式,及Label标签、水印、清除日期功能扩展;二.Calendar自定义样式先看看效果:从上面图可以看出,日历的显示其实有三种状态,如下面的
- 记一次Android第三方日历控件CalendarView的使用
yann02
AndroidCalendarView日历控件android日历控件
一、文章背景用过两个日历控件的库,有用viewpager实现的,也有用canvas实现的。在实际使用过程中,发现使用canvas实现的calendarView切换下一月和下一年这种操作时切换更流畅。我这里主要记录上一年和下一年的使用,其他功能大家可以参考第三方库的使用Github二、日历控件的使用2.1、实现MonthViewpackagecom.wyy.usecalendarviewimport
- WPF 关于日历控件左右点不动的解决方案
Will_板凳
工作笔记privatestaticChildItemFindVisualChildItem(DependencyObjectobj,stringname)whereChildItem:FrameworkElement{if(null!=obj){for(inti=0;i(child,name);if(childOfChild!=null&&(childOfChildasChildItem).Nam
- python tkinter 日历控件
super豆芽
tkinterpython开发语言pycharm
关于日期选择的控件(简陋版)importtkinterastkimporttkinter.ttkasttkimportdatetimeimportcalendartoday_date=datetime.date.today()today_date_year=int(today_date.year)today_date_month=int(today_date.month)today_date_we
- Android MaterialCalendarView 日历使用 每日签到
风就那么大
MaterialCalendarView项目开源地址:https://github.com/prolificinteractive/material-calendarview集成清单1.添加compile'com.prolificinteractive:material-calendarview:1.4.2'2.添加日历控件到布局中//设置周的文本calendarView.setWeekDayLa
- 【工具+源码】Python 编程实例,Python 实现简单下拉日历控件源码分享!
二爷记
想要提升编码能力,没有其他捷径,只有不断的敲代码及学习了,虽然本渣渣学习能力比较菜,优秀的案例,或者说不懂如何实现的案例,对于渣渣而言,比较有借鉴和学习意义。一个比较难得的TK实例,应用Pythontkinter制作下拉日历控件,顾名思义,用子窗体实现了下拉的界面及选择效果,故分享参考及学习。感兴趣可以自行尝试编写及后期修改代码尝试一下哈!资源获取方式关注本公众号:eryeji后台回复"日历"即可
- PyQt6 QCalendarWidget日历控件
java1234_小锋
PythonQCalendarWidgetPyQt6PyQtpython
锋哥原创的PyQt6视频教程:2024版PyQt6Python桌面开发视频教程(无废话版)玩命更新中~_哔哩哔哩_bilibili2024版PyQt6Python桌面开发视频教程(无废话版)玩命更新中~共计39条视频,包括:2024版PyQt6Python桌面开发视频教程(无废话版)玩命更新中~、第2讲PyQt6库和工具库QTDesigner安装与配置、第3讲PyQt6第一个程序HelloWorl
- python3+selenium自动化测试-JS日历控件14
C1R2
(14)JS处理日历控件日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题。基本思路:先用js去掉readonly属性,然后直接输入日期文本内容查看日历输入框的属性:readonly="readonly",如下:浏览器想修改时,需要手动删掉元素的readonly属性,然后就可
- 用 Python 爬取网页 PDF 和文档
mycsdn5698
Python应用python
目录1爬取网页PDF1.1在日历控件中输入时间1.2下载PDF文件1.3selenium访问网站被反爬限制封锁1.4完整代码2爬取网页文档2.1遇到的问题2.2完整代码3一些资源推荐1爬取网页PDF以https://reader.jojokanbao.cn/rmrb上PDF的下载为例1.1在日历控件中输入时间参考博客:selenium+Python(Js处理日历控件)网页的日期框中可以直接输入日期
- [QCalendar]记录日历控件的一些参数设置
徐炜他哥
c++qt
一、获取日历的对象树运行代码获得部分对象数如下:可以从中获取需要的控件的名称二、通过对象名修改日历控件这里根据对象名,获取月份按钮对象,就可以编辑各个月份的名称,其它控件类似,基本都可以修改名称。三、设置中文四、利用样式表修改日历控件这里是修改了月份按钮、年份按钮、左右移按钮的尺寸。从这里才了解到看源码很重要,比如说qt自带的虚拟键盘,这个目前没找到能够直接修改尺寸的方法,只有看懂源码,在源码的s
- 55-输入和显示-日期时间类及控件-日期时间控件QDateTimeEdit
士别三日,当挖目相待
#pyside6PythonGUIuijava开发语言pythonqt
日期时间控件QDateTimeEdit日期时间控件包括QDateTimeEdit,QDateEdit和QTimeEdit三个控件。这三个控件可以显示日期时间,但更多的是用于输入日期时间,QDateTimeEdit可以输入日期和时间,QDateTimeEdit是有下拉列表的日历控件用于选择日期QDateEdit只能输入日期QTimeEdit只能输人时间用QDateTimeEdit、QDateEdit
- C++ qt 自带的日历控件设置属性让年份变为下拉表
睡不着睡不着睡不着
qtc++开发语言QT
QCalendarWidget*calendar=newQCalendarWidget();calendar->setGridVisible(true);calendar->setHorizontalHeaderFormat(QCalendarWidget::LongDayNames);calendar->setProperty("yearRange",QVariant(QString("1900
- 基于Qt的图片背景日历控件
CodeVectorMap
qt开发语言QT
基于Qt的图片背景日历控件在这篇文章中,我将向您介绍如何使用Qt创建一个图片背景日历控件。日历控件是应用程序中常见的功能之一,而添加自定义背景图片可以增加用户体验和界面美观度。首先,我们需要确保您已经安装了Qt开发环境并熟悉Qt的基本概念和编程语言。接下来,我们将逐步进行以下步骤:创建Qt项目:打开QtCreator,创建一个新的QtWidgets应用程序项目。为项目选择一个适当的名称和存储位置,
- js 日历控件
击败不可能
js时间日期javascript前端开发语言
效果可以切换月份//初始化当月initDate:function(){letthat=this;letcurrentDate=newDate();letyear=currentDate.getFullYear();letmonth=currentDate.getMonth()+1;$('#yearTxt').text(year+'年'+(month)+'月');letmonthFirst=year
- Element UI disableddate设置动态时间,时间段,或者当前之前不可选,当天之后不可选
兮颜_Queen
日期控件elementvuetime
在项目中使用ElementUI日历控件,本人遇到的场景是某个时间到当天时间可选,其他不可选,代码如下:dom:下面用到计算属性,动态获取时间并刷新日历computed:{pickerOptions1(){var_this=this;return{disabledDate(time){vartime1=_this.startTime;//动态起始时间,这个时间是已经得到的时间戳returntime.
- Qt之日历组件QCalendarWidget及日期、时间控件
~我在北京~
qt开发语言
二、主要源码2.1日历控件(calendarWidget)//窗口尺寸this->resize(600,500);calendar_label=newQLabel(this);calendar_label->setText("选择日期");//标签以及编辑框位置calendar_label->setGeometry(QRect(100,70,100,25));calendar_Edit=newQL
- element-ui calendar 日历控件实现编辑假期功能以及样式修改
张小邪。。
vue
效果图:1.日历控件html创建-->查询清空-1?'lar-is-selected':'lar-no-selected'"@click="holidayUpdate(data,date)">-1)&&(calendarNeirong[data.day].holidayType==3)"style="color:#67C23A">班-1)&&(calendarNeirong[data.day].h
- JAVA Swing Datepicker(日历控件)
一洽客服系统
J2SEjava日历控件swing日历控件javadatepickerdatepicker
此日历控件在www.eltima.com上给的Swinglibrary4.0的jar包里提出出来并重新封装在DatePicker类中将必要的函数由私有状态提升为公开状态或将混淆过的代码重新命名.下载地址:https://download.csdn.net/download/a276202460/1023826源码地址:https://download.csdn.net/download/a2762
- Android自定义实现按周签到打卡功能
龙旋之谷
之前实现过《Android可签到的日历控件》的功能,跟这篇一样都是实现签到打卡功能,这篇实现的是按月进行打卡做标识,本篇内容实现的按周进行签到打卡。实现签到规则如下:1、连续签到7天,即可获得额外积分奖励。2、连续签到记录在第8天开始时将清零重新计算。3、如果中断签到,连续签到记录也将清零。实现步骤:1.效果图2.自定义签到打卡View3.主程序逻辑处理4.主界面5.签到bean6.总结实现过程:
- CSS+Javascript+Html日历控件
相信神话2021
cssJavaScriptcssjavascripthtml
最近,因需要用HTML+JAVASCRIPT+CSS实现了一个日历控件,效果如下:单击上月、下月进行日历切换。当前日期在日历中变颜色标注显示。还是老老套路、老方法,分HML+CSS+JAVASCRIPT三部分代码。一、html代码学习计划下月>10月2023年星期一星期二星期三星期四星期五星期六星期日这段代码主要包含三个部分,一是头部显示年月,上月、下月切换按钮;二是显示星期一到日;三是日期容器,
- python日历下拉框_selenium+Python(Js处理日历控件)
weixin_39766109
python日历下拉框
日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题。基本思路:先用js去掉readonly属性,然后直接输入日期文本内容一、日历控件1.打开12306的车票查询界面,在出发日期输入框无法直接输入时间2.常规思路是点开日历控件弹出框,从日历控件上点日期,这样操作比较烦躁,并且我
- uView日历控件(u-calendar)优化
D_lunar
uniappjavascriptvue
1问题u-calendar日历控件存在的问题:不能设置默认选中值,打开弹窗选择起始日期,然后点击取消按钮或蒙版关闭弹窗时,日历弹窗中的选中值发生改变(再次打开日历弹窗时,就可以看到选中值的错误)。2修改思路针对以上两点,对于mode="range"的u-calendar做了如下修改来解决上述问题。因为是npm引入的uView组件,不能在node_modules目录下修改组件内容。所以只能将u-ca
- WdatePicker 日历控件使用支持6种日期类型(年份、月份、季度、周、日、小时)
ougexingfuba
javascriptWdatePicker
1年份HTML代码:年:2季度
- poium测试库之JavaScript API封装原理
测试界的世清
技术分享软件测试javascript开发语言ecmascript
为什么要封装JavaScript的API?因为有些场景下Selenium提供的API并不能满足我们需求。比如,滑动浏览滚动条,控制元素的显示/隐藏,日历控件的操作等,都可以通过JavaScrip实现,而且Selenium为我们提供了execute_script()方法可以用来运行JavaScrip脚本。旧的设计思路先看旧的设计代码和调用。#=====封装代码======classPage(obje
- Algorithm
香水浓
javaAlgorithm
冒泡排序
public static void sort(Integer[] param) {
for (int i = param.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
int current = param[j];
int next = param[j + 1];
- mongoDB 复杂查询表达式
开窍的石头
mongodb
1:count
Pg: db.user.find().count();
统计多少条数据
2:不等于$ne
Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});
查询id不等于3的数据。
3:大于$gt $gte(大于等于)
&n
- Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space
0624chenhong
jvmjboss
转自
http://blog.csdn.net/zou274/article/details/5552630
解决办法:
window->preferences->java->installed jres->edit jre
把default vm arguments 的参数设为-Xms64m -Xmx512m
----------------
- 文件上传 下载 解析 相对路径
不懂事的小屁孩
文件上传
有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。
下面总结一下遇到的问题:
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。
在上传图片,或者文件时,使用form表单来操作。
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下:
<form action=&
- 怎么实现qq空间批量点赞
换个号韩国红果果
qq
纯粹为了好玩!!
逻辑很简单
1 打开浏览器console;输入以下代码。
先上添加赞的代码
var tools={};
//添加所有赞
function init(){
document.body.scrollTop=10000;
setTimeout(function(){document.body.scrollTop=0;},2000);//加
- 判断是否为中文
灵静志远
中文
方法一:
public class Zhidao {
public static void main(String args[]) {
String s = "sdf灭礌 kjl d{';\fdsjlk是";
int n=0;
for(int i=0; i<s.length(); i++) {
n = (int)s.charAt(i);
if((
- 一个电话面试后总结
a-john
面试
今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。
然后对list和map分别举几个类型:
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了
- MSSQL中Escape转义的使用
aijuans
MSSQL
IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC
create table #ABC
(
PATHNAME NVARCHAR(50)
)
insert into #ABC
SELECT N'/ABCDEFGHI'
UNION ALL SELECT N'/ABCDGAFGASASSDFA'
UNION ALL
- 一个简单的存储过程
asialee
mysql存储过程构造数据批量插入
今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:
DELIMITER $$
DROP PROCEDURE IF EXISTS inse
- annot convert from HomeFragment_1 to Fragment
百合不是茶
android导包错误
创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;
创建类时引入包是:import android.app.Fragment;
创建队列和对象时使用的包是:import android.support.v4.ap
- Weblogic10两种修改端口的方法
bijian1013
weblogic端口号配置管理config.xml
一.进入控制台进行修改 1.进入控制台: http://127.0.0.1:7001/console 2.展开左边树菜单 域结构->环境->服务器-->点击AdminServer(管理) &
- mysql 操作指令
征客丶
mysql
一、连接mysql
进入 mysql 的安装目录;
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p
输入密码,回车,接连;
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效]
1、赋权
mys
- 【Hive一】Hive入门
bit1129
hive
Hive安装与配置
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。
Hive安装和配置的步骤
1. 从如下地址下载Hive0.14.0
http://mirror.bit.edu.cn/apache/hive/
2.解压hive,在系统变
- ajax 三种提交请求的方法
BlueSkator
Ajaxjqery
1、ajax 提交请求
$.ajax({
type:"post",
url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
dataType : "json",
success : function(result) {
try {
for(v
- mongodb开发环境下的搭建入门
braveCS
运维
linux下安装mongodb
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz
2)linux 解压
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz;
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-
- 编程之美-最短摘要的生成
bylijinnan
java数据结构算法编程之美
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ShortestAbstract {
/**
* 编程之美 最短摘要的生成
* 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran
- json数据解析及typeof
chengxuyuancsdn
jstypeofjson解析
// json格式
var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
+' {"firstName": "CCC&
- 流程系统设计的层次和目标
comsci
设计模式数据结构sql框架脚本
流程系统设计的层次和目标
 
- RMAN List和report 命令
daizj
oraclelistreportrman
LIST 命令
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的
信息。使用此命令可列出:
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本
• 可用的且可以用于还原操作的数据文件备份和副本
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份
• 包含指定名称或范围的所有归档日志备份的备份集和副本
• 由标记、完成时间、可
- 二叉树:红黑树
dieslrae
二叉树
红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.
红黑树必须遵循红黑规则,规则如下
1、每个节点不是红就是黑。 2、根总是黑的 &
- C语言homework3,7个小题目的代码
dcj3sjt126com
c
1、打印100以内的所有奇数。
# include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=100; i++)
{
if (i%2 != 0)
printf("%d ", i);
}
return 0;
}
2、从键盘上输入10个整数,
- 自定义按钮, 图片在上, 文字在下, 居中显示
dcj3sjt126com
自定义
#import <UIKit/UIKit.h>
@interface MyButton : UIButton
-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa
- MySQL查询语句练习题,测试足够用了
flyvszhb
sqlmysql
http://blog.sina.com.cn/s/blog_767d65530101861c.html
1.创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR
- 转:MyBatis Generator 详解
happyqing
mybatis
MyBatis Generator 详解
http://blog.csdn.net/isea533/article/details/42102297
MyBatis Generator详解
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.
- 让程序员少走弯路的14个忠告
jingjing0907
工作计划学习
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助
1.不要害怕在工作中学习。
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放
- nginx和NetScaler区别
流浪鱼
nginx
NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。
3.策略灵活度方
- 第11章 动画效果(下)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- FAQ - SAP BW BO roadmap
blueoxygen
BOBW
http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq
Besides, I care that how to integrate tightly.
By the way, for BW consultants, please just focus on Query Designer which i
- 关于java堆内存溢出的几种情况
tomcat_oracle
javajvmjdkthread
【情况一】:
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx
- Manifest.permission_group权限组
阿尔萨斯
Permission
结构
继承关系
public static final class Manifest.permission_group extends Object
java.lang.Object
android. Manifest.permission_group 常量
ACCOUNTS 直接通过统计管理器访问管理的统计
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限
D