版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】微信開(kāi)發(fā)用戶分組管理的示例分析
/upload/information/20201208/260/11902.jpg
///
<summary>
///
微信分組類(lèi)
///
</summary>
public
class
WxGroupsInfo
{
public
string
Group_ID
{
get;
set;
}//分組編號(hào)
public
string
Group_Name
{
get;
set;
}//分組名稱(chēng)
public
string
Group_Count
{
get;
set;
}//分組人數(shù)
}前臺(tái)代碼:<!DOCTYPE
html>
<html
xmlns="/1999/xhtml">
<head
runat="server">
<meta
http-equiv="Content-Type"
content="text/html;
charset=utf-8"/>
<title></title>
<link
href="css/style.css"
rel="Stylesheet"
type="text/css"
/>
<style
type="text/css">
.inputstyle
{
height:35px;
line-height:35px;
text-indent:5px;
width:350px;background-image:url('images/inputbg.gif');
background-repeat:repeat-x;border-top:solid
1px
#a7b5bc;
border-left:solid
1px
#a7b5bc;
border-right:solid
1px
#ced9df;
border-bottom:solid
1px
#ced9df;margin:15px
auto
15px
auto;
}
a:hover
{
cursor:pointer;
}
.g_title
{
width:100%;
border-bottom:2px
solid
#ced9df;font-size:20px;
font-weight:bold;
text-align:left;
text-indent:5px;
height:40px;
line-height:40px;
}
th
{
height:35px;background-image:url('images/th.gif');
background-repeat:repeat-x;
}
tr
{
height:30px;
}
#shownewgroup
{
width:300px;
height:200px;
background-color:white;z-index:9999;
border:2px
solid
#DDD;
top:40%;
left:40%;
background-color:#fff;
position:fixed;margin:-100px
auto
auto
-100px;
display:none;
}
#shownewgroupzhezhaoceng
{
height:200%;
width:200%;
left:0px;
top:0px;position:fixed;
z-index:9998;
background:rgb(50,50,50);background:rgba(0,0,0,0.5);
display:none;
}
.closeLogin
{
height:30px;
border-bottom:2px
solid
#31bb34;
text-align:right;
line-height:30px;
font-size:14px;
font-weight:bold;
}
a:hover
{
cursor:pointer;
}
.inputstyle22
{
height:35px;
line-height:35px;
text-indent:5px;
width:280px;background-image:url('images/inputbg.gif');
background-repeat:repeat-x;border-top:solid
1px
#a7b5bc;
border-left:solid
1px
#a7b5bc;
border-right:solid
1px
#ced9df;
border-bottom:solid
1px
#ced9df;
float:left;
margin:auto
5px
auto
5px;
}
</style>
<script
src="../js/jquery-1.7.1.min.js"
type="text/javascript"></script>
<script
type="text/javascript">
//修改分組名稱(chēng)調(diào)用的函數(shù)
function
EditRoster(PayNo,name)
{
//alert(PayNo+":"+name);
var
url
=
'****.aspx?id='
+
PayNo+"&name="+name;//轉(zhuǎn)向網(wǎng)頁(yè)的地址;
var
name
=
'add';
//網(wǎng)頁(yè)名稱(chēng),可為空;
var
iWidth
=
600;
//彈出窗口的寬度;
var
iHeight
=
300;
//彈出窗口的高度;
//獲得窗口的垂直位置
var
iTop
=
(window.screen.availHeight
-
30
-
iHeight)
/
2;
//獲得窗口的水平位置
var
iLeft
=
(window.screen.availWidth
-
10
-
iWidth)
/
2;
window.open(url,
name,
'height='
+
iHeight
+
',innerHeight='
+
iHeight
+
',width='
+
iWidth
+
',innerWidth='
+
iWidth
+
',top='
+
iTop
+
',left='
+
iLeft
+
',status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=0,titlebar=no');
}
$(document).ready(function
()
{
$(".newGroups").click(function
()
{
$("#shownewgroupzhezhaoceng").show();
$("#shownewgroup").show();
}),
$('.closeloginpage').click(function
()
{
$("#shownewgroupzhezhaoceng").hide();
$("#shownewgroup").hide();
})
})
</script>
</head>
<body>
<form
id="form1"
runat="server">
<p
class="place">
<span>位置:</span>
<ul
class="placeul">
<li><a
href="WelCome.aspx"
target="rightFrame">首頁(yè)</a></li>
<li>微信管理</li>
<li>德橋員工服務(wù)中心分組管理</li>
</ul>
</p>
<p
class="g_title">分組管理</p>
<p
id="shownewgroup">
<p
class="closeLogin"><a
class="closeloginpage"><span
style="float:left;
color:#08a5e0;
font-size:18px;
text-indent:5px;">新建分組</span>關(guān)閉</a>
</p>
<p
style="font-size:12px;
height:40px;
color:red;
line-height:40px;">
30字符以?xún)?nèi)</p>
<input
type="text"
id="txtgroupsName"
name="txtgroupsName"
class="inputstyle22"
maxlength="30"
runat="server"
value="分組名稱(chēng)"
onfocus="if(value==defaultValue){value='';this.style.color='#000'}"
onblur="if(!value){value=defaultValue;this.style.color='#999'}"
style="color:#999"/>
<asp:LinkButton
ID="LinkBtnCreateGroup"
runat="server"
OnClick="LinkBtnCreateGroup_Click"><p
style="background-image:url('images/buttonbg.png');
width:111px;
height:35px;
line-height:35px;
font-weight:bold;float:left;
margin-top:20px;
margin-left:5px;
text-align:center;color:#fff;">
確定創(chuàng)建</p></asp:LinkButton>
</p>
<p
id="shownewgroupzhezhaoceng"></p>
<table
style="width:1124px;
margin:10px
auto
10px
auto;
border:1px
solid
#ecd9df;text-align:center;">
<asp:Repeater
ID="RepeaterGroupList"
runat="server"
OnItemCommand="RepeaterGroupList_ItemCommand"
OnItemDataBound="RepeaterGroupList_ItemDataBound">
<HeaderTemplate>
<tr>
<th>序號(hào)</th>
<th>ID編號(hào)</th>
<th>分組名稱(chēng)</th>
<th>分組人數(shù)</th>
<th>操作</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr
style='background-color:
<%#(Container.ItemIndex%2==0)?"#fff":"#ced9ff"%>'>
<td><asp:Label
ID="lbXuHao"
runat="server"
Text=""></asp:Label></td>
<td><%#
Eval("Group_ID")
%></td>
<td><%#
Eval("Group_Name")
%></td>
<td><%#
Eval("Group_Count")
%></td>
<td>
<a
onclick="EditRoster('<%#
Eval("Group_ID")
%>','<%#
Eval("Group_Name")
%>');">修改分組名稱(chēng)</a>
<asp:LinkButton
ID="LinkBtnDeleteGroup"
runat="server"
CommandName="DeleteGroups"
CommandArgument='<%#
Eval("Group_ID")
%>'
>刪除分組</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
<a
class="newGroups"><p
style="background-image:url('images/buttonbg.png');
width:111px;
height:35px;
line-height:35px;
margin:10px
auto
10px
28px;
font-weight:bold;float:left;
text-align:center;color:#fff;">
┼
新建分組</p></a>
</form>
</body>
</html>protected
void
Page_Load(object
sender,
EventArgs
e)
{
if(!Page.IsPostBack)
{
BindGroupList();
this.DataBind();
}
}
private
void
BindGroupList()
{
WeiXinServer
wxs
=
new
WeiXinServer();
///從緩存讀取accesstoken
string
Access_token
=
Cache["Access_token"]
as
string;
if
(Access_token
==
null)
{
//如果為空,重新獲取
Access_token
=
wxs.GetAccessToken();
//設(shè)置緩存的數(shù)據(jù)7000秒后過(guò)期
Cache.Insert("Access_token",
Access_token,
null,
DateTime.Now.AddSeconds(7000),
System.Web.Caching.Cache.NoSlidingExpiration);
}
string
Access_tokento
=
Access_token.Substring(17,
Access_token.Length
-
37);
string
jsonres
=
"";
string
content
=
Cache["AllGroups_content"]
as
string;
if
(content
==
null)
{
jsonres
=
"/cgi-bin/groups/get?access_token="
+
Access_tokento;
HttpWebRequest
myRequest
=
(HttpWebRequest)WebRequest.Create(jsonres);
myRequest.Method
=
"GET";
HttpWebResponse
myResponse
=
(HttpWebResponse)myRequest.GetResponse();
StreamReader
reader
=
new
StreamReader(myResponse.GetResponseStream(),
Encoding.UTF8);
content
=
reader.ReadToEnd();
reader.Close();
//設(shè)置緩存的數(shù)據(jù)7000秒后過(guò)期
Cache.Insert("AllGroups_content",
content,
null,
DateTime.Now.AddSeconds(7000),
System.Web.Caching.Cache.NoSlidingExpiration);
}
//使用前需要引用Newtonsoft.json.dll文件
JObject
jsonObj
=
JObject.Parse(content);
int
groupsnum
=
jsonObj["groups"].Count();
List<WxGroupsInfo>
wxgrouplist
=
new
List<WxGroupsInfo>();
for
(int
i
=
0;
i
<
groupsnum;
i++)
{
WxGroupsInfo
wginfo
=
new
WxGroupsInfo();
wginfo.Group_ID
=
jsonObj["groups"][i]["id"].ToString();
wginfo.Group_Name
=
jsonObj["groups"][i]["name"].ToString();
wginfo.Group_Count
=
jsonObj["groups"][i]["count"].ToString();
wxgrouplist.Add(wginfo);
}
this.RepeaterGroupList.DataSource
=
wxgrouplist;
this.RepeaterGroupList.DataBind();
}
///
<summary>
///
綁定事件
///
</summary>
///
<param
name="sender"></param>
///
<param
name="e"></param>
protected
void
RepeaterGroupList_ItemDataBound(object
sender,
RepeaterItemEventArgs
e)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
Label
lbXuHao
=
e.Item.FindControl("lbXuHao")
as
Label;
int
num
=
1;
lbXuHao.Text
=
num.ToString();
for
(int
i
=
0;
i
<
this.RepeaterGroupList.Items.Count;i++
)
{
num
+=
1;
lbXuHao.Text
=
num.ToString();
}
LinkButton
LinkBtnDeleteGroup
=
e.Item.FindControl("LinkBtnDeleteGroup")
as
LinkButton;
LinkBtnDeleteGroup.Attributes.Add("OnClick",
"return
confirm('您確定要?jiǎng)h除該分組?刪除后該分組內(nèi)的人員即將恢復(fù)到默認(rèn)分組!')");
}
}
///
<summary>
///
執(zhí)行事件
///
</summary>
///
<param
name="source"></param>
///
<param
name="e"></param>
protected
void
RepeaterGroupList_ItemCommand(object
source,
RepeaterCommandEventArgs
e)
{
//ScriptManager.RegisterClientScriptBlock(this.Page,
this.GetType(),
"",
"alert('刪除接口已關(guān)閉!');location='WxGroupManageList.aspx';",
true);
if
(e.CommandName
==
"DeleteGroups")
{
WeiXinServer
wxs
=
new
WeiXinServer();
string
res
=
"";
///從緩存讀取accesstoken
string
Access_token
=
Cache["Access_token"]
as
string;
if
(Access_token
==
null)
{
//如果為空,重新獲取
Access_token
=
wxs.GetAccessToken();
//設(shè)置緩存的數(shù)據(jù)7000秒后過(guò)期
Cache.Insert("Access_token",
Access_token,
null,
DateTime.Now.AddSeconds(7000),
System.Web.Caching.Cache.NoSlidingExpiration);
}
string
Access_tokento
=
Access_token.Substring(17,
Access_token.Length
-
37);
string
posturl
=
"/cgi-bin/groups/delete?access_token="
+
Access_tokento;
//POST數(shù)據(jù)例子:
POST數(shù)據(jù)例子:{"group":{"id":108}}
string
groupid
=
e.CommandArgument.ToString();
string
postData
=
"{\"group\":{\"id\":\""
+
groupid.ToString()
+
"\"}}";
res
=
wxs.GetPage(posturl,
postData);
ScriptManager.RegisterClientScriptBlock(this.Page,
this.GetType(),
"",
"alert('刪除成功!由于緩存問(wèn)題,您可能需要重新登錄才能看到效果!');location='WxGroupManageList.aspx';",
true);
}
}
///
<summary>
///
創(chuàng)建分組
///
</summary>
///
<param
name="sender"></param>
///
<param
name="e"></param>
protected
void
LinkBtnCreateGroup_Click(object
sender,
EventArgs
e)
{
if
(this.txtgroupsName.Value.ToString().Equals("分組名稱(chēng)"))
{
////
ScriptManager.RegisterClientScriptBlock(this.Page,
this.GetType(),
"",
"alert('不能為空!')",
true);
this.txtgroupsName.Focus();
return;
}
WeiXinServer
wxs
=
new
WeiXinServer();
string
res
=
"";
///從緩存讀取accesstoken
string
Access_token
=
Cache["Access_token"]
as
string;
if
(Access_token
==
null)
{
//如果為空,重新獲取
Access_token
=
wxs.GetAccessToken();
//設(shè)置緩存的數(shù)據(jù)7000秒后過(guò)期
Cache.Insert("Access_token",
Access_token,
null,
DateTime.Now.AddSeconds(7000),
System.Web.Caching.Cache.NoSlidingExpiration);
}
string
Access_tokento
=
Access_token.Substring(17,
Access_token.Length
-
37);
string
posturl
=
"/cgi-bin/groups/create?access_token="
+
Access_tokento;
string
postData
=
"{\"group\":{\"name\":\""
+
this.txtgroupsName.Value.ToString().Trim()
+
"\"}}";
res
=
wxs.GetPage(posturl,
postData);
ScriptManager.RegisterClientScriptBlock(this.Page,
this.GetType(),
"",
"alert('創(chuàng)建成功!如未顯示,請(qǐng)退出重新登錄即可!');location='WxGroupManageList.aspx';",
true);
}修改分組名稱(chēng)的頁(yè)面/upload/information/20201208/260/11903.jpg前臺(tái)代碼:<!DOCTYPE
html>
<html
xmlns="/1999/xhtml">
<head
runat="server">
<meta
http-equiv="Content-Type"
content="text/html;
charset=utf-8"/>
<title></title>
<style
type="text/css">
.inputstyle
{
height:35px;
line-height:35px;
text-indent:5px;
width:280px;background-image:url('images/inputbg.gif');
background-repeat:repeat-x;border-top:solid
1px
#a7b5bc;
border-left:solid
1px
#a7b5bc;
border-right:solid
1px
#ced9df;
border-bottom:solid
1px
#ced9df;
float:left;
margin:auto
5px
auto
5px;
}
</style>
</head>
<body>
<form
id="form1"
runat="server">
<table
border="1"
style="
width:500px;
border-collapse:collapse;
margin:20px
auto
20px
auto;
line-height:40px;">
<tr>
<td
style="text-align:right;">分組編號(hào):</td>
<td>
<asp:TextBox
ID="txtGroupId"
CssClass="inputstyle"
Enabled="false"
runat="server"></asp:TextBox></td>
</tr>
<tr>
<td
style="text-align:right;">分組名稱(chēng):</td>
<td>
<asp:TextBox
ID="txtGroupName"
CssClass="inputstyle"
runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td></td>
<td>
<asp:LinkButton
ID="LinkBtnSet"
runat="server"
OnClick="LinkBtnSet_Click"
><p
style="background-image:url('images/buttonbg.png');
width:111px;
height:35px;
line-height:35px;
float:left;
font-weight:bold;text-align:center;color:#fff;">
設(shè)
置</p></asp:LinkButton></td>
</tr>
</table>
</form>
</body>
</html>后臺(tái)代碼:
protected
void
Page_Load(object
sender,
EventArgs
e)
{
if(!Page.IsPostBack)
{
if
(Request.QueryString["id"]
!=
null)
{
string
group_id
=
Request.QueryString["id"].ToString();
string
group_name
=
Request.QueryString["name"].ToString();
this.txtGroupId.Text
=
group_id.ToString();
this.txtGroupName.Text
=
group_name.ToString();
this.txtGroupName.Focus();
}
}
}
///
<summary>
///
設(shè)置
///
</summary>
///
<param
name="sender"></param>
///
<param
name="e"></param>
protected
void
LinkBtnSet_Click(object
sender,
EventArgs
e)
{
if(String.IsNullOrWhiteSpace(this.txtGroupName.Text.ToString().Trim()))
{
ScriptManager.RegisterClientScriptBlock(this.Page,
this.GetType(),
"",
"alert('不能為空!');",
true);
this.txtGroupName.Focus();
return;
}
if
(this.txtGroupName.Text.ToString().Trim().Length>30)
{
ScriptManager.RegisterClientScriptBlock(this.Page,
this.GetType(),
"",
"alert('組名稱(chēng)應(yīng)在30個(gè)字符之內(nèi)!');",
true);
this.txtGroupName.Focus();
return;
}
WeiXinServer
wxs
=
new
WeiXinServer();
st
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年健康管理與養(yǎng)老服務(wù)體系合作協(xié)議模板2025版3篇
- 裝修建筑垃圾清運(yùn)合同
- 二零二五年度2人合作成立設(shè)計(jì)工作室的合伙協(xié)議范本3篇
- 網(wǎng)站代運(yùn)營(yíng)合同模板
- 二零二五年度二手房買(mǎi)賣(mài)合同違約責(zé)任委托協(xié)議3篇
- 2025年度POS機(jī)租賃與移動(dòng)支付安全防護(hù)體系合同2篇
- 2025年度特種貨物搬運(yùn)與運(yùn)輸保障合同3篇
- 磚基礎(chǔ)施工組織課程設(shè)計(jì)
- 熱處理加熱爐課程設(shè)計(jì)
- 托班思維探究課程設(shè)計(jì)
- 感恩節(jié)英文課件
- 慈溪市2024-2025學(xué)年四上數(shù)學(xué)期末教學(xué)質(zhì)量檢測(cè)模擬試題含解析
- T-CECS120-2021套接緊定式鋼導(dǎo)管施工及驗(yàn)收規(guī)程
- 2024年浙江省單獨(dú)考試招生文化課考試數(shù)學(xué)試卷真題(含答案詳解)
- 2025年高考化學(xué)二、三輪復(fù)習(xí)策略講座
- 2022年高考數(shù)學(xué)試卷(上海)(秋考)(空白卷)
- 山東省濟(jì)南市語(yǔ)文小升初2024年模擬試題與參考答案
- 裝配式建筑復(fù)習(xí)試題及答案
- 空氣動(dòng)力學(xué)仿真技術(shù):湍流模型:k-ε湍流模型原理與應(yīng)用
- 高中期末考試考風(fēng)考紀(jì)及誠(chéng)信教育
- 2025屆廣東省深圳市深圳外國(guó)語(yǔ)九年級(jí)物理第一學(xué)期期末經(jīng)典試題含解析
評(píng)論
0/150
提交評(píng)論